summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xbin/syncqt2
-rw-r--r--config.tests/unix/opengles1/opengles1.pro6
-rw-r--r--config.tests/unix/opengles1cl/opengles1cl.pro6
-rw-r--r--config.tests/unix/opengles2/opengles2.pro6
-rwxr-xr-xconfigure83
-rwxr-xr-xconfigure.exebin2170880 -> 1173504 bytes
-rw-r--r--demos/boxes/scene.cpp36
-rw-r--r--demos/boxes/trackball.cpp4
-rw-r--r--demos/embedded/anomaly/src/images/edit-find.pngbin1636 -> 1495 bytes
-rw-r--r--demos/embedded/anomaly/src/images/go-next.pngbin1219 -> 1150 bytes
-rw-r--r--demos/embedded/anomaly/src/images/go-previous.pngbin1200 -> 1135 bytes
-rw-r--r--demos/embedded/desktopservices/data/designer.pngbin4205 -> 2529 bytes
-rw-r--r--demos/embedded/desktopservices/data/sax.mp3bin417844 -> 104104 bytes
-rw-r--r--demos/embedded/desktopservices/resources/browser.pngbin2739 -> 2525 bytes
-rw-r--r--demos/embedded/desktopservices/resources/message.pngbin2234 -> 1989 bytes
-rw-r--r--demos/embedded/desktopservices/resources/music.pngbin2322 -> 2123 bytes
-rw-r--r--demos/embedded/desktopservices/resources/photo.pngbin2430 -> 2233 bytes
-rw-r--r--demos/embedded/flightinfo/aircraft.pngbin28713 -> 20200 bytes
-rw-r--r--demos/embedded/fluidlauncher/screenshots/context2d_s60.pngbin39405 -> 39185 bytes
-rw-r--r--demos/embedded/fluidlauncher/screenshots/desktopservices_s60.pngbin31757 -> 31504 bytes
-rw-r--r--demos/embedded/fluidlauncher/screenshots/digiflip.pngbin3508 -> 2039 bytes
-rw-r--r--demos/embedded/fluidlauncher/screenshots/flickable.pngbin21107 -> 14141 bytes
-rw-r--r--demos/embedded/fluidlauncher/screenshots/flightinfo_s60.pngbin24473 -> 20482 bytes
-rw-r--r--demos/embedded/fluidlauncher/screenshots/lightmaps.pngbin114178 -> 79501 bytes
-rw-r--r--demos/embedded/fluidlauncher/screenshots/mediaplayer.pngbin98092 -> 80411 bytes
-rw-r--r--demos/embedded/fluidlauncher/screenshots/raycasting.pngbin43006 -> 11984 bytes
-rw-r--r--demos/embedded/fluidlauncher/screenshots/weatherinfo.pngbin38521 -> 34472 bytes
-rw-r--r--demos/embedded/fluidlauncher/slides/demo_1.pngbin23539 -> 20560 bytes
-rw-r--r--demos/embedded/fluidlauncher/slides/demo_2.pngbin11745 -> 5209 bytes
-rw-r--r--demos/embedded/fluidlauncher/slides/demo_5.pngbin15890 -> 6130 bytes
-rw-r--r--demos/embedded/fluidlauncher/slides/demo_6.pngbin14992 -> 5826 bytes
-rw-r--r--demos/embedded/raycasting/textures.pngbin42319 -> 17669 bytes
-rw-r--r--demos/embedded/weatherinfo/icons/weather-few-clouds.svg791
-rw-r--r--demos/embedded/weatherinfo/icons/weather-fog.svg1643
-rw-r--r--demos/embedded/weatherinfo/icons/weather-haze.svg1231
-rw-r--r--demos/embedded/weatherinfo/icons/weather-icy.svg278
-rw-r--r--demos/embedded/weatherinfo/icons/weather-overcast.svg3131
-rw-r--r--demos/embedded/weatherinfo/icons/weather-showers.svg4850
-rw-r--r--demos/embedded/weatherinfo/icons/weather-sleet.svg5332
-rw-r--r--demos/embedded/weatherinfo/icons/weather-snow.svg2076
-rw-r--r--demos/embedded/weatherinfo/icons/weather-storm.svg4420
-rw-r--r--demos/embedded/weatherinfo/icons/weather-sunny-very-few-clouds.svg626
-rw-r--r--demos/embedded/weatherinfo/icons/weather-sunny.svg1328
-rw-r--r--demos/embedded/weatherinfo/icons/weather-thundershower.svg4725
-rw-r--r--demos/qmediaplayer/mediaplayer.h2
-rw-r--r--dist/changes-4.6.0326
-rw-r--r--doc/src/development/qmake-manual.qdoc44
-rw-r--r--doc/src/examples/ftp.qdoc12
-rw-r--r--doc/src/examples/imagegestures.qdoc116
-rw-r--r--doc/src/examples/stickman.qdoc9
-rw-r--r--doc/src/frameworks-technologies/eventsandfilters.qdoc2
-rw-r--r--doc/src/frameworks-technologies/gestures.qdoc18
-rw-r--r--doc/src/frameworks-technologies/statemachine.qdoc115
-rw-r--r--doc/src/getting-started/examples.qdoc2
-rw-r--r--doc/src/getting-started/installation.qdoc41
-rw-r--r--doc/src/howtos/guibooks.qdoc6
-rw-r--r--doc/src/images/platformHWAcc.pngbin0 -> 11068 bytes
-rw-r--r--doc/src/images/simpleanchorlayout-example.pngbin0 -> 13463 bytes
-rw-r--r--doc/src/internationalization/i18n.qdoc282
-rw-r--r--doc/src/internationalization/linguist-manual.qdoc368
-rw-r--r--doc/src/modules.qdoc10
-rw-r--r--doc/src/network-programming/qtnetwork.qdoc4
-rw-r--r--doc/src/platforms/emb-HwAcc-LinuxEmbedded.qdoc71
-rw-r--r--doc/src/platforms/emb-HwAcc-WinCE.qdoc69
-rw-r--r--doc/src/platforms/emb-directfb-EmbLinux.qdoc340
-rw-r--r--doc/src/platforms/emb-hardwareacceleration.qdocinc129
-rw-r--r--doc/src/platforms/emb-opengl-EmbLinux.qdoc (renamed from doc/src/platforms/emb-opengl.qdoc)112
-rw-r--r--doc/src/platforms/emb-opengl.qdocinc85
-rw-r--r--doc/src/platforms/emb-openvg-EmbLinux.qdoc (renamed from tests/auto/qstringbuilder1/stringbuilder.h)20
-rw-r--r--doc/src/platforms/emb-openvg.qdocinc288
-rw-r--r--doc/src/platforms/qt-embedded-linux.qdoc2
-rw-r--r--doc/src/platforms/qt-embedded.qdoc9
-rw-r--r--doc/src/platforms/s60-introduction.qdoc10
-rw-r--r--doc/src/platforms/wince-introduction.qdoc2
-rw-r--r--doc/src/platforms/wince-opengl.qdoc70
-rw-r--r--doc/src/platforms/wince-openvg.qdoc65
-rw-r--r--doc/src/platforms/winsystem.qdoc12
-rw-r--r--doc/src/qt-webpages.qdoc2
-rw-r--r--doc/src/snippets/code/doc_src_i18n.qdoc2
-rw-r--r--doc/src/snippets/code/src_corelib_kernel_qobject.cpp3
-rw-r--r--doc/src/snippets/code/src_opengl_qglshaderprogram.cpp15
-rw-r--r--doc/src/snippets/statemachine/main2.cpp11
-rw-r--r--doc/src/snippets/statemachine/main5.cpp44
-rw-r--r--doc/src/sql-programming/sql-programming.qdoc4
-rw-r--r--examples/animation/stickman/lifecycle.cpp4
-rw-r--r--examples/gestures/imagegestures/imagegestures.pro6
-rw-r--r--examples/gestures/imagegestures/imagewidget.cpp56
-rw-r--r--examples/gestures/imagegestures/imagewidget.h1
-rw-r--r--examples/graphicsview/anchorlayout/anchorlayout.pro10
-rw-r--r--examples/graphicsview/simpleanchorlayout/main.cpp134
-rw-r--r--examples/graphicsview/simpleanchorlayout/simpleanchorlayout.pro9
-rw-r--r--examples/mainwindows/mdi/mainwindow.cpp2
-rw-r--r--examples/mainwindows/sdi/mainwindow.h2
-rw-r--r--examples/multimedia/videographicsitem/videoitem.cpp4
-rw-r--r--examples/multimedia/videographicsitem/videoplayer.cpp3
-rw-r--r--examples/multimedia/videowidget/videoplayer.cpp3
-rw-r--r--examples/multimedia/videowidget/videowidget.cpp2
-rw-r--r--examples/multimedia/videowidget/videowidgetsurface.cpp4
-rw-r--r--examples/network/qftp/sym_iap_util.h4
-rw-r--r--examples/opengl/hellogl_es/hellogl_es.pro9
-rw-r--r--examples/opengl/hellogl_es2/glwidget.cpp30
-rw-r--r--examples/opengl/hellogl_es2/hellogl_es2.pro6
-rw-r--r--examples/opengl/textures/glwidget.cpp12
-rw-r--r--examples/painting/svggenerator/svggenerator.pro5
-rw-r--r--examples/script/customclass/bytearrayclass.cpp17
-rw-r--r--examples/xmlpatterns/filetree/filetree.pro5
-rw-r--r--examples/xmlpatterns/qobjectxmlmodel/qobjectxmlmodel.pro5
-rw-r--r--examples/xmlpatterns/recipes/recipes.pro5
-rw-r--r--examples/xmlpatterns/schema/schema.pro5
-rw-r--r--examples/xmlpatterns/trafficinfo/trafficinfo.pro5
-rw-r--r--mkspecs/aix-g++-64/qplatformdefs.h2
-rw-r--r--mkspecs/aix-g++/qplatformdefs.h2
-rw-r--r--mkspecs/aix-xlc-64/qplatformdefs.h2
-rw-r--r--mkspecs/aix-xlc/qplatformdefs.h2
-rw-r--r--mkspecs/common/linux.conf9
-rw-r--r--mkspecs/common/symbian/qplatformdefs.h3
-rw-r--r--mkspecs/common/symbian/symbian.conf21
-rw-r--r--mkspecs/common/wince/qmake.conf5
-rw-r--r--mkspecs/common/wince/qplatformdefs.h2
-rw-r--r--mkspecs/cygwin-g++/qplatformdefs.h1
-rw-r--r--mkspecs/darwin-g++/qplatformdefs.h1
-rw-r--r--mkspecs/features/egl.prf32
-rw-r--r--mkspecs/features/qt.prf3
-rw-r--r--mkspecs/features/qt_functions.prf4
-rw-r--r--mkspecs/features/unix/opengl.prf26
-rw-r--r--mkspecs/features/win32/opengl.prf12
-rw-r--r--mkspecs/freebsd-g++/qplatformdefs.h1
-rw-r--r--mkspecs/hpux-acc-64/qplatformdefs.h2
-rw-r--r--mkspecs/hpux-acc-o64/qplatformdefs.h2
-rw-r--r--mkspecs/hpux-acc/qplatformdefs.h2
-rw-r--r--mkspecs/hpux-g++-64/qplatformdefs.h2
-rw-r--r--mkspecs/hpux-g++/qplatformdefs.h2
-rw-r--r--mkspecs/hpuxi-acc-32/qplatformdefs.h2
-rw-r--r--mkspecs/hpuxi-acc-64/qplatformdefs.h2
-rw-r--r--mkspecs/hpuxi-g++-64/qplatformdefs.h2
-rw-r--r--mkspecs/hurd-g++/qplatformdefs.h1
-rw-r--r--mkspecs/irix-cc-64/qplatformdefs.h2
-rw-r--r--mkspecs/irix-cc/qplatformdefs.h2
-rw-r--r--mkspecs/irix-g++/qplatformdefs.h2
-rw-r--r--mkspecs/linux-cxx/qplatformdefs.h2
-rw-r--r--mkspecs/linux-ecc-64/qplatformdefs.h2
-rw-r--r--mkspecs/linux-g++-gles2-experimental/qplatformdefs.h2
-rw-r--r--mkspecs/linux-g++/qplatformdefs.h2
-rw-r--r--mkspecs/linux-kcc/qplatformdefs.h2
-rw-r--r--mkspecs/linux-llvm/qplatformdefs.h2
-rw-r--r--mkspecs/linux-lsb-g++/qplatformdefs.h2
-rw-r--r--mkspecs/linux-pgcc/qplatformdefs.h2
-rw-r--r--mkspecs/lynxos-g++/qplatformdefs.h1
-rw-r--r--mkspecs/macx-g++/qplatformdefs.h1
-rw-r--r--mkspecs/macx-g++40/qplatformdefs.h1
-rw-r--r--mkspecs/macx-g++42/qplatformdefs.h1
-rw-r--r--mkspecs/macx-llvm/qplatformdefs.h1
-rw-r--r--mkspecs/macx-pbuilder/qplatformdefs.h1
-rw-r--r--mkspecs/macx-xcode/qplatformdefs.h1
-rw-r--r--mkspecs/macx-xlc/qplatformdefs.h1
-rw-r--r--mkspecs/netbsd-g++/qplatformdefs.h1
-rw-r--r--mkspecs/openbsd-g++/qplatformdefs.h1
-rw-r--r--mkspecs/sco-cc/qplatformdefs.h1
-rw-r--r--mkspecs/sco-g++/qplatformdefs.h1
-rw-r--r--mkspecs/solaris-cc-64/qplatformdefs.h2
-rw-r--r--mkspecs/solaris-cc/qplatformdefs.h2
-rw-r--r--mkspecs/solaris-g++-64/qplatformdefs.h2
-rw-r--r--mkspecs/solaris-g++/qplatformdefs.h2
-rw-r--r--mkspecs/tru64-cxx/qplatformdefs.h1
-rw-r--r--mkspecs/tru64-g++/qplatformdefs.h1
-rw-r--r--mkspecs/unixware-cc/qplatformdefs.h1
-rw-r--r--mkspecs/unixware-g++/qplatformdefs.h1
-rw-r--r--mkspecs/unsupported/qnx-g++/qplatformdefs.h4
-rw-r--r--mkspecs/unsupported/qws/qnx-i386-g++/qmake.conf4
-rw-r--r--mkspecs/unsupported/vxworks-simpentium-g++/qplatformdefs.h2
-rw-r--r--mkspecs/win32-msvc.net/qplatformdefs.h4
-rw-r--r--qmake/generators/symbian/symmake.cpp44
-rw-r--r--src/3rdparty/harfbuzz/src/harfbuzz-arabic.c62
-rw-r--r--src/3rdparty/harfbuzz/src/harfbuzz-gpos.c6
-rw-r--r--src/3rdparty/harfbuzz/src/harfbuzz-hebrew.c3
-rw-r--r--src/3rdparty/harfbuzz/src/harfbuzz-indic.cpp127
-rw-r--r--src/3rdparty/harfbuzz/src/harfbuzz-open.c2
-rw-r--r--src/3rdparty/harfbuzz/src/harfbuzz-shape.h2
-rw-r--r--src/3rdparty/harfbuzz/src/harfbuzz-shaper.cpp8
-rw-r--r--src/3rdparty/harfbuzz/src/harfbuzz-shaper.h43
-rw-r--r--src/3rdparty/harfbuzz/tests/shaping/main.cpp125
-rw-r--r--src/3rdparty/phonon/ds9/iodevicereader.cpp11
-rw-r--r--src/3rdparty/phonon/gstreamer/abstractrenderer.cpp3
-rw-r--r--src/3rdparty/phonon/gstreamer/abstractrenderer.h3
-rw-r--r--src/3rdparty/phonon/gstreamer/artssink.cpp3
-rw-r--r--src/3rdparty/phonon/gstreamer/audioeffect.cpp3
-rw-r--r--src/3rdparty/phonon/gstreamer/audioeffect.h4
-rw-r--r--src/3rdparty/phonon/gstreamer/backend.cpp11
-rw-r--r--src/3rdparty/phonon/gstreamer/devicemanager.cpp9
-rw-r--r--src/3rdparty/phonon/gstreamer/effect.cpp4
-rw-r--r--src/3rdparty/phonon/gstreamer/effect.h4
-rw-r--r--src/3rdparty/phonon/gstreamer/mediaobject.cpp13
-rw-r--r--src/3rdparty/phonon/gstreamer/phononsrc.cpp28
-rw-r--r--src/3rdparty/phonon/gstreamer/phononsrc.h2
-rw-r--r--src/3rdparty/phonon/gstreamer/streamreader.cpp3
-rw-r--r--src/3rdparty/phonon/gstreamer/streamreader.h4
-rw-r--r--src/3rdparty/phonon/gstreamer/videowidget.cpp2
-rw-r--r--src/3rdparty/phonon/gstreamer/videowidget.h3
-rw-r--r--src/3rdparty/phonon/gstreamer/volumefadereffect.cpp4
-rw-r--r--src/3rdparty/phonon/gstreamer/volumefadereffect.h4
-rw-r--r--src/3rdparty/phonon/gstreamer/widgetrenderer.cpp2
-rw-r--r--src/3rdparty/phonon/gstreamer/widgetrenderer.h3
-rw-r--r--src/3rdparty/phonon/mmf/abstractmediaplayer.cpp58
-rw-r--r--src/3rdparty/phonon/mmf/abstractmediaplayer.h10
-rw-r--r--src/3rdparty/phonon/mmf/abstractplayer.cpp32
-rw-r--r--src/3rdparty/phonon/mmf/abstractplayer.h12
-rw-r--r--src/3rdparty/phonon/mmf/ancestormovemonitor.cpp175
-rw-r--r--src/3rdparty/phonon/mmf/ancestormovemonitor.h95
-rw-r--r--src/3rdparty/phonon/mmf/audioplayer.cpp21
-rw-r--r--src/3rdparty/phonon/mmf/audioplayer.h4
-rw-r--r--src/3rdparty/phonon/mmf/backend.cpp7
-rw-r--r--src/3rdparty/phonon/mmf/backend.h7
-rw-r--r--src/3rdparty/phonon/mmf/dummyplayer.cpp9
-rw-r--r--src/3rdparty/phonon/mmf/dummyplayer.h4
-rw-r--r--src/3rdparty/phonon/mmf/effectfactory.cpp4
-rw-r--r--src/3rdparty/phonon/mmf/mediaobject.cpp15
-rw-r--r--src/3rdparty/phonon/mmf/mmf_videoplayer.cpp16
-rw-r--r--src/3rdparty/phonon/mmf/mmf_videoplayer.h4
-rw-r--r--src/3rdparty/phonon/mmf/videooutput.cpp30
-rw-r--r--src/3rdparty/phonon/mmf/videooutput.h15
-rw-r--r--src/3rdparty/phonon/mmf/videowidget.cpp5
-rw-r--r--src/3rdparty/phonon/mmf/videowidget.h3
-rw-r--r--src/3rdparty/phonon/phonon/factory.cpp16
-rw-r--r--src/3rdparty/phonon/phonon/globalconfig.cpp14
-rw-r--r--src/3rdparty/phonon/phonon/globalconfig_p.h4
-rw-r--r--src/3rdparty/phonon/phonon/qsettingsgroup_p.h3
-rw-r--r--src/3rdparty/webkit/ChangeLog42
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/ChangeLog524
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/JavaScriptCore.gypi1
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/JavaScriptCore.pri2
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/assembler/ARMv7Assembler.h168
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/assembler/MacroAssemblerARM.h9
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/assembler/MacroAssemblerARMv7.h8
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/bytecode/CodeBlock.cpp21
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/bytecode/Opcode.h1
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/bytecompiler/BytecodeGenerator.cpp13
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/bytecompiler/BytecodeGenerator.h19
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/interpreter/Interpreter.cpp27
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/jit/ExecutableAllocator.h16
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/jit/JIT.cpp2
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/jit/JIT.h31
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/jit/JITCall.cpp2
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/jit/JITInlineMethods.h9
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/jit/JITOpcodes.cpp7
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/jit/JITPropertyAccess.cpp148
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/jit/JITStubs.cpp78
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/jit/JITStubs.h6
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/parser/Nodes.cpp9
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/runtime/Collector.cpp4
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/runtime/DateConstructor.cpp4
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/runtime/DateInstance.cpp84
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/runtime/DateInstance.h23
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/runtime/DateInstanceCache.h89
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/runtime/DatePrototype.cpp235
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/runtime/DatePrototype.h2
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/runtime/JSCell.h1
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/runtime/JSFunction.h8
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/runtime/JSGlobalData.h4
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/runtime/JSObject.h4
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/runtime/JSPropertyNameIterator.cpp7
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/runtime/JSPropertyNameIterator.h18
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/runtime/Structure.cpp9
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/runtime/Structure.h11
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/wtf/CurrentTime.cpp4
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/wtf/DateMath.cpp11
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/wtf/FastMalloc.h14
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/wtf/MessageQueue.h17
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/wtf/Platform.h13
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/wtf/StdLibExtras.h2
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/wtf/Threading.cpp2
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/wtf/Threading.h4
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/wtf/ThreadingPthreads.cpp4
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/yarr/RegexInterpreter.cpp8
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/yarr/RegexJIT.cpp5
-rw-r--r--src/3rdparty/webkit/VERSION4
-rw-r--r--src/3rdparty/webkit/WebCore/ChangeLog4366
-rw-r--r--src/3rdparty/webkit/WebCore/DerivedSources.cpp1
-rw-r--r--src/3rdparty/webkit/WebCore/ForwardingHeaders/wtf/DateInstanceCache.h4
-rw-r--r--src/3rdparty/webkit/WebCore/LICENSE-APPLE33
-rw-r--r--src/3rdparty/webkit/WebCore/WebCore.gypi35
-rw-r--r--src/3rdparty/webkit/WebCore/WebCore.pro49
-rwxr-xr-xsrc/3rdparty/webkit/WebCore/accessibility/AccessibilityAllInOne.cpp44
-rw-r--r--src/3rdparty/webkit/WebCore/accessibility/AccessibilityListBoxOption.h1
-rw-r--r--src/3rdparty/webkit/WebCore/accessibility/AccessibilityObject.h14
-rw-r--r--src/3rdparty/webkit/WebCore/accessibility/AccessibilityRenderObject.cpp42
-rw-r--r--src/3rdparty/webkit/WebCore/accessibility/AccessibilityRenderObject.h1
-rw-r--r--src/3rdparty/webkit/WebCore/accessibility/qt/AccessibilityObjectQt.cpp5
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/ScriptControllerBase.cpp4
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSAbstractWorkerCustom.cpp4
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSBindingsAllInOne.cpp150
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSCallbackData.cpp9
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSCallbackData.h3
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSCustomXPathNSResolver.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSDOMApplicationCacheCustom.cpp4
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSDOMBinding.cpp356
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSDOMBinding.h110
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSDOMGlobalObject.cpp29
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSDOMGlobalObject.h8
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSDOMWindowBase.cpp32
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSDOMWindowBase.h5
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSDOMWindowCustom.cpp15
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSDOMWindowShell.cpp8
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSDOMWindowShell.h2
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSDesktopNotificationsCustom.cpp4
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSEventListener.cpp20
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSEventListener.h7
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSEventSourceCustom.cpp4
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSEventTarget.cpp4
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSExceptionBase.cpp128
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSExceptionBase.h86
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSHTMLAllCollectionCustom.cpp135
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSHTMLCollectionCustom.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSHTMLDocumentCustom.cpp5
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSHTMLFrameSetElementCustom.cpp4
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSInspectorBackendCustom.cpp7
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSLazyEventListener.cpp6
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSLazyEventListener.h6
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSMessageChannelCustom.cpp14
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSMessagePortCustom.cpp11
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSNodeCustom.cpp10
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSNodeFilterCondition.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSQuarantinedObjectWrapper.cpp8
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSSVGElementInstanceCustom.cpp4
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSSharedWorkerCustom.cpp7
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSWebSocketCustom.cpp4
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSWorkerContextCustom.cpp8
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSXMLHttpRequestCustom.cpp11
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSXMLHttpRequestUploadCustom.cpp11
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/ScheduledAction.cpp15
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/ScheduledAction.h9
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/ScriptCachedFrameData.cpp13
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/ScriptController.cpp193
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/ScriptController.h43
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/ScriptControllerMac.mm2
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/ScriptEventListener.cpp4
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/ScriptFunctionCall.cpp6
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/ScriptObjectQuarantine.cpp6
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/ScriptSourceCode.h8
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/ScriptState.cpp5
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/ScriptState.h1
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/WorkerScriptController.cpp3
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/WorkerScriptController.h3
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/scripts/CodeGeneratorJS.pm40
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/scripts/CodeGeneratorV8.pm67
-rw-r--r--src/3rdparty/webkit/WebCore/bridge/NP_jsobject.cpp9
-rw-r--r--src/3rdparty/webkit/WebCore/bridge/jni/jni_jsobject.mm5
-rw-r--r--src/3rdparty/webkit/WebCore/bridge/npapi.h25
-rw-r--r--src/3rdparty/webkit/WebCore/bridge/qt/qt_runtime.cpp6
-rw-r--r--src/3rdparty/webkit/WebCore/css/CSSComputedStyleDeclaration.cpp49
-rw-r--r--src/3rdparty/webkit/WebCore/css/CSSComputedStyleDeclaration.h3
-rw-r--r--src/3rdparty/webkit/WebCore/css/CSSParser.cpp48
-rw-r--r--src/3rdparty/webkit/WebCore/css/CSSParser.h2
-rw-r--r--src/3rdparty/webkit/WebCore/css/CSSParserValues.h2
-rw-r--r--src/3rdparty/webkit/WebCore/css/CSSPrimitiveValueMappings.h5
-rw-r--r--src/3rdparty/webkit/WebCore/css/CSSProperty.h2
-rw-r--r--src/3rdparty/webkit/WebCore/css/CSSPropertyNames.in4
-rw-r--r--src/3rdparty/webkit/WebCore/css/CSSStyleSelector.cpp1
-rw-r--r--src/3rdparty/webkit/WebCore/css/SVGCSSComputedStyleDeclaration.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/css/SVGCSSParser.cpp5
-rw-r--r--src/3rdparty/webkit/WebCore/css/SVGCSSPropertyNames.in2
-rw-r--r--src/3rdparty/webkit/WebCore/css/SVGCSSStyleSelector.cpp30
-rw-r--r--src/3rdparty/webkit/WebCore/dom/Document.cpp19
-rw-r--r--src/3rdparty/webkit/WebCore/dom/Document.h17
-rw-r--r--src/3rdparty/webkit/WebCore/dom/Element.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/dom/EventTarget.cpp35
-rw-r--r--src/3rdparty/webkit/WebCore/dom/EventTarget.h20
-rw-r--r--src/3rdparty/webkit/WebCore/dom/ScriptExecutionContext.cpp20
-rw-r--r--src/3rdparty/webkit/WebCore/dom/ScriptExecutionContext.h4
-rw-r--r--src/3rdparty/webkit/WebCore/dom/SelectElement.cpp22
-rw-r--r--src/3rdparty/webkit/WebCore/dom/XMLTokenizer.cpp49
-rw-r--r--src/3rdparty/webkit/WebCore/dom/XMLTokenizer.h7
-rw-r--r--src/3rdparty/webkit/WebCore/dom/XMLTokenizerLibxml2.cpp26
-rw-r--r--src/3rdparty/webkit/WebCore/dom/XMLTokenizerQt.cpp25
-rw-r--r--src/3rdparty/webkit/WebCore/editing/ApplyStyleCommand.cpp36
-rw-r--r--src/3rdparty/webkit/WebCore/editing/CompositeEditCommand.cpp177
-rw-r--r--src/3rdparty/webkit/WebCore/editing/CompositeEditCommand.h3
-rw-r--r--src/3rdparty/webkit/WebCore/editing/EditorCommand.cpp4
-rw-r--r--src/3rdparty/webkit/WebCore/editing/IndentOutdentCommand.cpp63
-rw-r--r--src/3rdparty/webkit/WebCore/editing/IndentOutdentCommand.h1
-rw-r--r--src/3rdparty/webkit/WebCore/editing/ReplaceNodeWithSpanCommand.cpp4
-rw-r--r--src/3rdparty/webkit/WebCore/editing/SelectionController.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/CSSPropertyNames.cpp428
-rw-r--r--src/3rdparty/webkit/WebCore/generated/CSSPropertyNames.h256
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSAbstractWorker.cpp4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSBarInfo.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSCSSRule.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSCSSRuleList.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSCSSStyleDeclaration.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSCSSValue.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSCSSVariablesDeclaration.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSCanvasArray.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSCanvasArrayBuffer.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSCanvasGradient.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSCanvasPattern.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSCanvasRenderingContext.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSClientRect.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSClientRectList.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSClipboard.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSConsole.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSCoordinates.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSCounter.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSDOMApplicationCache.cpp18
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSDOMCoreException.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSDOMImplementation.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSDOMParser.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSDOMSelection.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSDOMWindow.cpp21
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSDOMWindow.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSDataGridColumn.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSDataGridColumnList.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSDatabase.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSDocument.cpp80
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSElement.cpp78
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSEvent.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSEventException.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSEventSource.cpp8
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSFile.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSFileList.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSGeolocation.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSGeoposition.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLAllCollection.cpp292
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLAllCollection.h104
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLBodyElement.cpp16
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLCollection.cpp24
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLCollection.h1
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLFrameSetElement.cpp16
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHistory.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSImageData.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSInspectorBackend.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSJavaScriptCallFrame.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSLocation.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSMedia.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSMediaError.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSMediaList.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSMessageChannel.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSMessagePort.cpp4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSMimeType.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSMimeTypeArray.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSNamedNodeMap.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSNavigator.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSNode.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSNodeFilter.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSNodeIterator.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSNodeList.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSPlugin.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSPluginArray.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSPositionError.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSRGBColor.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSRange.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSRangeException.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSRect.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSQLError.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSQLResultSet.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSQLResultSetRowList.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSQLTransaction.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGAngle.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedAngle.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedBoolean.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedEnumeration.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedInteger.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedLength.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedLengthList.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedNumber.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedNumberList.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedPreserveAspectRatio.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedRect.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedString.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedTransformList.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGElementInstance.cpp82
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGElementInstanceList.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGException.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGLength.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGLengthList.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGMatrix.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGNumber.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGNumberList.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPathSeg.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPathSegList.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPoint.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPointList.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPreserveAspectRatio.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGRect.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGRenderingIntent.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGStringList.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGTransform.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGTransformList.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGUnitTypes.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSScreen.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSStorage.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSStyleSheet.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSStyleSheetList.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSTextMetrics.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSTimeRanges.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSTreeWalker.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSValidityState.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSVoidCallback.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSWebKitCSSMatrix.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSWebKitPoint.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSWebSocket.cpp8
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSWorker.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSWorkerContext.cpp1
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSWorkerLocation.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSWorkerNavigator.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSXMLHttpRequest.cpp14
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSXMLHttpRequestException.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSXMLHttpRequestUpload.cpp12
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSXMLSerializer.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSXPathEvaluator.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSXPathException.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSXPathExpression.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSXPathNSResolver.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSXPathResult.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSXSLTProcessor.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/WebKitVersion.h2
-rw-r--r--src/3rdparty/webkit/WebCore/history/qt/HistoryItemQt.cpp17
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLAllCollection.cpp47
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLAllCollection.h (renamed from src/3rdparty/webkit/WebCore/bindings/js/JSHTMLAllCollection.h)42
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLAllCollection.idl43
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLCanvasElement.cpp9
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLCollection.h3
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLCollection.idl3
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLDocument.idl2
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLInputElement.cpp26
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLInputElement.h2
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLMediaElement.cpp11
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLMediaElement.h1
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLOptionsCollection.idl7
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLTokenizer.cpp21
-rw-r--r--src/3rdparty/webkit/WebCore/html/canvas/CanvasRenderingContext.h3
-rw-r--r--src/3rdparty/webkit/WebCore/html/canvas/CanvasRenderingContext2D.cpp80
-rw-r--r--src/3rdparty/webkit/WebCore/html/canvas/CanvasRenderingContext3D.cpp359
-rw-r--r--src/3rdparty/webkit/WebCore/html/canvas/CanvasRenderingContext3D.h13
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/ConsoleMessage.cpp7
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/ConsoleMessage.h1
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/DOMDispatchTimelineItem.cpp58
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/DOMDispatchTimelineItem.h58
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/InspectorController.cpp47
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/InspectorController.h3
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/InspectorDOMAgent.h5
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/InspectorFrontend.cpp17
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/InspectorFrontend.h5
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/InspectorResource.cpp20
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/InspectorResource.h2
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/InspectorTimelineAgent.cpp126
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/InspectorTimelineAgent.h70
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/JavaScriptCallFrame.cpp3
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/TimelineItem.cpp81
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/TimelineItem.h88
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/TimelineRecordFactory.cpp116
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/TimelineRecordFactory.h (renamed from src/3rdparty/webkit/WebCore/dom/HTMLAllCollection.idl)39
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/AbstractTimelinePanel.js548
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/BottomUpProfileDataGridTree.js214
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Color.js8
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/ConsoleView.js183
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/DatabaseQueryView.js7
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/ElementsPanel.js7
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/ElementsTreeOutline.js26
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/EventListenersSidebarPane.js11
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/timelineBarBlue.pngbin0 -> 419 bytes
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/timelineBarGray.pngbin0 -> 378 bytes
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/timelineBarGreen.pngbin0 -> 414 bytes
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/timelineBarOrange.pngbin0 -> 394 bytes
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/timelineBarPurple.pngbin0 -> 420 bytes
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/timelineBarRed.pngbin0 -> 408 bytes
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/timelineBarYellow.pngbin0 -> 400 bytes
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/timelineCheckmarks.pngbin0 -> 3528 bytes
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/timelineDots.pngbin0 -> 2436 bytes
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/timelineIcon.pngbin0 -> 4419 bytes
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/InjectedScript.js60
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/InspectorControllerStub.js291
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Panel.js99
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/ProfileDataGridTree.js36
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/ProfileView.js23
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/ProfilesPanel.js91
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/ResourceCategory.js11
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/ResourceView.js2
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/ResourcesPanel.js647
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/SourceFrame.js459
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/StoragePanel.js68
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/StylesSidebarPane.js15
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/SummaryBar.js3
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/TestController.js10
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/TimelineAgent.js29
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/TimelinePanel.js362
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/TopDownProfileDataGridTree.js9
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/WebKit.qrc13
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/inspector.css224
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/inspector.html7
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/inspector.js96
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/utilities.js5
-rw-r--r--src/3rdparty/webkit/WebCore/loader/Cache.cpp6
-rw-r--r--src/3rdparty/webkit/WebCore/loader/CachedResource.cpp6
-rw-r--r--src/3rdparty/webkit/WebCore/loader/FrameLoader.cpp52
-rw-r--r--src/3rdparty/webkit/WebCore/loader/FrameLoader.h5
-rw-r--r--src/3rdparty/webkit/WebCore/loader/ProgressTracker.cpp14
-rw-r--r--src/3rdparty/webkit/WebCore/loader/RedirectScheduler.cpp13
-rw-r--r--src/3rdparty/webkit/WebCore/loader/ResourceLoadNotifier.h7
-rw-r--r--src/3rdparty/webkit/WebCore/loader/icon/IconDatabase.cpp4
-rw-r--r--src/3rdparty/webkit/WebCore/notifications/NotificationCenter.cpp14
-rw-r--r--src/3rdparty/webkit/WebCore/notifications/NotificationCenter.h6
-rw-r--r--src/3rdparty/webkit/WebCore/page/Console.cpp4
-rw-r--r--src/3rdparty/webkit/WebCore/page/Console.h3
-rw-r--r--src/3rdparty/webkit/WebCore/page/DOMTimer.cpp27
-rw-r--r--src/3rdparty/webkit/WebCore/page/DOMTimer.h1
-rw-r--r--src/3rdparty/webkit/WebCore/page/DOMWindow.idl9
-rw-r--r--src/3rdparty/webkit/WebCore/page/Geolocation.cpp128
-rw-r--r--src/3rdparty/webkit/WebCore/page/Geolocation.h25
-rw-r--r--src/3rdparty/webkit/WebCore/page/SecurityOrigin.h5
-rw-r--r--src/3rdparty/webkit/WebCore/page/android/EventHandlerAndroid.cpp8
-rw-r--r--src/3rdparty/webkit/WebCore/page/animation/AnimationBase.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/platform/FileSystem.h64
-rw-r--r--src/3rdparty/webkit/WebCore/platform/KURL.cpp4
-rw-r--r--src/3rdparty/webkit/WebCore/platform/SSLKeyGenerator.h9
-rw-r--r--src/3rdparty/webkit/WebCore/platform/android/ClipboardAndroid.h44
-rw-r--r--src/3rdparty/webkit/WebCore/platform/android/CursorAndroid.cpp7
-rw-r--r--src/3rdparty/webkit/WebCore/platform/android/FileChooserAndroid.cpp5
-rw-r--r--src/3rdparty/webkit/WebCore/platform/android/FileSystemAndroid.cpp10
-rw-r--r--src/3rdparty/webkit/WebCore/platform/android/KeyEventAndroid.cpp288
-rw-r--r--src/3rdparty/webkit/WebCore/platform/android/ScreenAndroid.cpp32
-rw-r--r--src/3rdparty/webkit/WebCore/platform/android/TemporaryLinkStubs.cpp33
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/BitmapImage.h4
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/GraphicsContext3D.h8
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/GraphicsLayer.cpp6
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/GraphicsLayer.h8
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/filters/FEColorMatrix.cpp5
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/filters/FEComponentTransfer.cpp10
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/filters/FEGaussianBlur.cpp9
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/qt/ImageDecoderQt.cpp10
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/qt/ImageQt.cpp39
-rw-r--r--src/3rdparty/webkit/WebCore/platform/network/Credential.cpp3
-rw-r--r--src/3rdparty/webkit/WebCore/platform/network/Credential.h2
-rw-r--r--src/3rdparty/webkit/WebCore/platform/network/FormDataBuilder.cpp38
-rw-r--r--src/3rdparty/webkit/WebCore/platform/network/ResourceRequestBase.cpp22
-rw-r--r--src/3rdparty/webkit/WebCore/platform/network/ResourceRequestBase.h4
-rw-r--r--src/3rdparty/webkit/WebCore/platform/network/qt/QNetworkReplyHandler.cpp22
-rw-r--r--src/3rdparty/webkit/WebCore/platform/network/qt/ResourceRequest.h3
-rw-r--r--src/3rdparty/webkit/WebCore/platform/network/qt/ResourceRequestQt.cpp5
-rw-r--r--src/3rdparty/webkit/WebCore/platform/qt/CursorQt.cpp18
-rw-r--r--src/3rdparty/webkit/WebCore/platform/qt/RenderThemeQt.cpp10
-rw-r--r--src/3rdparty/webkit/WebCore/platform/qt/WheelEventQt.cpp4
-rw-r--r--src/3rdparty/webkit/WebCore/platform/text/String.cpp4
-rw-r--r--src/3rdparty/webkit/WebCore/platform/win/BitmapInfo.cpp66
-rw-r--r--src/3rdparty/webkit/WebCore/platform/win/BitmapInfo.h (renamed from src/3rdparty/webkit/WebCore/bindings/js/JSHTMLAllCollection.cpp)22
-rw-r--r--src/3rdparty/webkit/WebCore/plugins/PluginDatabase.cpp4
-rw-r--r--src/3rdparty/webkit/WebCore/plugins/PluginPackage.cpp11
-rw-r--r--src/3rdparty/webkit/WebCore/plugins/PluginView.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/plugins/PluginView.h8
-rw-r--r--src/3rdparty/webkit/WebCore/plugins/qt/PluginViewQt.cpp33
-rw-r--r--src/3rdparty/webkit/WebCore/plugins/win/PluginPackageWin.cpp11
-rw-r--r--src/3rdparty/webkit/WebCore/plugins/win/PluginViewWin.cpp128
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/HitTestResult.cpp13
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/HitTestResult.h1
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/MediaControlElements.cpp9
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/MediaControlElements.h1
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderBox.h2
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderInline.cpp87
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderInline.h5
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderMedia.cpp1
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderMediaControlsChromium.cpp23
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderThemeChromiumWin.cpp51
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderTreeAsText.cpp28
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderTreeAsText.h17
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/SVGRenderSupport.cpp3
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/style/SVGRenderStyle.cpp5
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/style/SVGRenderStyle.h4
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/style/SVGRenderStyleDefs.cpp19
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/style/SVGRenderStyleDefs.h28
-rw-r--r--src/3rdparty/webkit/WebCore/storage/Database.cpp57
-rw-r--r--src/3rdparty/webkit/WebCore/storage/Database.h15
-rw-r--r--src/3rdparty/webkit/WebCore/storage/DatabaseThread.cpp22
-rw-r--r--src/3rdparty/webkit/WebCore/storage/DatabaseTracker.cpp23
-rw-r--r--src/3rdparty/webkit/WebCore/storage/DatabaseTracker.h2
-rw-r--r--src/3rdparty/webkit/WebCore/storage/OriginQuotaManager.cpp3
-rw-r--r--src/3rdparty/webkit/WebCore/storage/SQLTransaction.cpp1
-rw-r--r--src/3rdparty/webkit/WebCore/storage/SQLTransactionClient.cpp8
-rw-r--r--src/3rdparty/webkit/WebCore/storage/StorageEventDispatcher.cpp4
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGStyledElement.cpp15
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SynchronizablePropertyController.cpp128
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SynchronizablePropertyController.h68
-rw-r--r--src/3rdparty/webkit/WebCore/websockets/WebSocket.cpp10
-rw-r--r--src/3rdparty/webkit/WebCore/websockets/WebSocketChannel.cpp31
-rw-r--r--src/3rdparty/webkit/WebCore/websockets/WebSocketChannel.h4
-rw-r--r--src/3rdparty/webkit/WebCore/workers/WorkerContext.cpp1
-rw-r--r--src/3rdparty/webkit/WebCore/workers/WorkerContext.idl2
-rw-r--r--src/3rdparty/webkit/WebCore/xml/XMLHttpRequest.cpp33
-rw-r--r--src/3rdparty/webkit/WebCore/xml/XMLHttpRequest.h2
-rw-r--r--src/3rdparty/webkit/WebCore/xml/XPathFunctions.cpp9
-rw-r--r--src/3rdparty/webkit/WebKit.pri4
-rw-r--r--src/3rdparty/webkit/WebKit/ChangeLog16
-rw-r--r--src/3rdparty/webkit/WebKit/LICENSE22
-rw-r--r--src/3rdparty/webkit/WebKit/mac/Configurations/Version.xcconfig3
-rw-r--r--src/3rdparty/webkit/WebKit/qt/Api/headers.pri1
-rw-r--r--src/3rdparty/webkit/WebKit/qt/Api/qgraphicswebview.cpp122
-rw-r--r--src/3rdparty/webkit/WebKit/qt/Api/qgraphicswebview.h1
-rw-r--r--src/3rdparty/webkit/WebKit/qt/Api/qwebelement.cpp414
-rw-r--r--src/3rdparty/webkit/WebKit/qt/Api/qwebelement.h76
-rw-r--r--src/3rdparty/webkit/WebKit/qt/Api/qwebframe.cpp124
-rw-r--r--src/3rdparty/webkit/WebKit/qt/Api/qwebframe.h19
-rw-r--r--src/3rdparty/webkit/WebKit/qt/Api/qwebframe_p.h4
-rw-r--r--src/3rdparty/webkit/WebKit/qt/Api/qwebhistory.cpp149
-rw-r--r--src/3rdparty/webkit/WebKit/qt/Api/qwebhistory.h15
-rw-r--r--src/3rdparty/webkit/WebKit/qt/Api/qwebinspector.cpp6
-rw-r--r--src/3rdparty/webkit/WebKit/qt/Api/qwebinspector.h3
-rw-r--r--src/3rdparty/webkit/WebKit/qt/Api/qwebpage.cpp170
-rw-r--r--src/3rdparty/webkit/WebKit/qt/Api/qwebpage.h2
-rw-r--r--src/3rdparty/webkit/WebKit/qt/Api/qwebpage_p.h5
-rw-r--r--src/3rdparty/webkit/WebKit/qt/Api/qwebplugindatabase.cpp5
-rw-r--r--src/3rdparty/webkit/WebKit/qt/Api/qwebplugindatabase_p.h (renamed from src/3rdparty/webkit/WebKit/qt/Api/qwebplugindatabase.h)0
-rw-r--r--src/3rdparty/webkit/WebKit/qt/Api/qwebsecurityorigin.cpp28
-rw-r--r--src/3rdparty/webkit/WebKit/qt/Api/qwebsecurityorigin.h2
-rw-r--r--src/3rdparty/webkit/WebKit/qt/Api/qwebsettings.cpp5
-rw-r--r--src/3rdparty/webkit/WebKit/qt/Api/qwebsettings.h2
-rw-r--r--src/3rdparty/webkit/WebKit/qt/Api/qwebview.cpp194
-rw-r--r--src/3rdparty/webkit/WebKit/qt/Api/qwebview.h5
-rw-r--r--src/3rdparty/webkit/WebKit/qt/ChangeLog610
-rw-r--r--src/3rdparty/webkit/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp6
-rw-r--r--src/3rdparty/webkit/WebKit/qt/WebCoreSupport/InspectorClientQt.cpp1
-rw-r--r--src/3rdparty/webkit/WebKit/qt/tests/benchmarks/loading/tst_loading.pro5
-rw-r--r--src/3rdparty/webkit/WebKit/qt/tests/benchmarks/painting/tst_painting.pro5
-rw-r--r--src/3rdparty/webkit/WebKit/qt/tests/qgraphicswebview/qgraphicswebview.pro4
-rw-r--r--src/3rdparty/webkit/WebKit/qt/tests/qwebelement/qwebelement.pro5
-rw-r--r--src/3rdparty/webkit/WebKit/qt/tests/qwebelement/tst_qwebelement.cpp91
-rw-r--r--src/3rdparty/webkit/WebKit/qt/tests/qwebframe/qwebframe.pro7
-rw-r--r--src/3rdparty/webkit/WebKit/qt/tests/qwebframe/resources/image2.pngbin0 -> 14743 bytes
-rw-r--r--src/3rdparty/webkit/WebKit/qt/tests/qwebframe/tst_qwebframe.cpp28
-rw-r--r--src/3rdparty/webkit/WebKit/qt/tests/qwebhistory/qwebhistory.pro5
-rw-r--r--src/3rdparty/webkit/WebKit/qt/tests/qwebhistory/tst_qwebhistory.cpp80
-rw-r--r--src/3rdparty/webkit/WebKit/qt/tests/qwebhistoryinterface/qwebhistoryinterface.pro5
-rw-r--r--src/3rdparty/webkit/WebKit/qt/tests/qwebpage/qwebpage.pro7
-rw-r--r--src/3rdparty/webkit/WebKit/qt/tests/qwebpage/tst_qwebpage.cpp34
-rw-r--r--src/3rdparty/webkit/WebKit/qt/tests/qwebplugindatabase/qwebplugindatabase.pro5
-rw-r--r--src/3rdparty/webkit/WebKit/qt/tests/qwebview/data/frame_a.html2
-rw-r--r--src/3rdparty/webkit/WebKit/qt/tests/qwebview/data/index.html4
-rw-r--r--src/3rdparty/webkit/WebKit/qt/tests/qwebview/qwebview.pro6
-rw-r--r--src/3rdparty/webkit/WebKit/qt/tests/qwebview/tst_qwebview.cpp107
-rw-r--r--src/3rdparty/webkit/WebKit/qt/tests/qwebview/tst_qwebview.qrc7
-rw-r--r--src/3rdparty/webkit/WebKit/qt/tests/tests.pro2
-rw-r--r--src/corelib/animation/qabstractanimation.cpp31
-rw-r--r--src/corelib/animation/qabstractanimation.h2
-rw-r--r--src/corelib/animation/qabstractanimation_p.h2
-rw-r--r--src/corelib/arch/qatomic_symbian.h12
-rw-r--r--src/corelib/corelib.pro2
-rw-r--r--src/corelib/eval.pri4
-rw-r--r--src/corelib/global/qconfig-minimal.h6
-rw-r--r--src/corelib/global/qfeatures.h256
-rw-r--r--src/corelib/global/qfeatures.txt106
-rw-r--r--src/corelib/global/qglobal.cpp93
-rw-r--r--src/corelib/global/qglobal.h35
-rw-r--r--src/corelib/global/qlibraryinfo.cpp19
-rw-r--r--src/corelib/global/qlibraryinfo.h2
-rw-r--r--src/corelib/global/qmalloc.cpp58
-rw-r--r--src/corelib/global/qnamespace.h113
-rw-r--r--src/corelib/global/qnamespace.qdoc142
-rw-r--r--src/corelib/io/qfile.cpp29
-rw-r--r--src/corelib/io/qfsfileengine.cpp45
-rw-r--r--src/corelib/io/qfsfileengine_p.h10
-rw-r--r--src/corelib/io/qfsfileengine_unix.cpp37
-rw-r--r--src/corelib/io/qfsfileengine_win.cpp153
-rw-r--r--src/corelib/io/qprocess_unix.cpp18
-rw-r--r--src/corelib/io/qurl.cpp176
-rw-r--r--src/corelib/kernel/qeventdispatcher_win.cpp191
-rw-r--r--src/corelib/kernel/qmetaobject.cpp9
-rw-r--r--src/corelib/kernel/qobject.cpp153
-rw-r--r--src/corelib/kernel/qsharedmemory_unix.cpp3
-rw-r--r--src/corelib/kernel/qtcore_eval.cpp569
-rw-r--r--src/corelib/kernel/qvariant.h41
-rw-r--r--src/corelib/plugin/qlibrary.cpp3
-rw-r--r--src/corelib/statemachine/qabstractstate.cpp15
-rw-r--r--src/corelib/statemachine/qabstractstate_p.h14
-rw-r--r--src/corelib/statemachine/qfinalstate.cpp1
-rw-r--r--src/corelib/statemachine/qhistorystate.cpp3
-rw-r--r--src/corelib/statemachine/qstate.cpp76
-rw-r--r--src/corelib/statemachine/qstate.h4
-rw-r--r--src/corelib/statemachine/qstate_p.h6
-rw-r--r--src/corelib/statemachine/qstatemachine.cpp194
-rw-r--r--src/corelib/statemachine/qstatemachine.h8
-rw-r--r--src/corelib/statemachine/qstatemachine_p.h20
-rw-r--r--src/corelib/tools/qalgorithms.h42
-rw-r--r--src/corelib/tools/qcontiguouscache.cpp10
-rw-r--r--src/corelib/tools/qcontiguouscache.h147
-rw-r--r--src/corelib/tools/qdatetime.cpp6
-rw-r--r--src/corelib/tools/qhash.cpp28
-rw-r--r--src/corelib/tools/qhash.h37
-rw-r--r--src/corelib/tools/qlocale_symbian.cpp4
-rw-r--r--src/corelib/tools/qmap.cpp32
-rw-r--r--src/corelib/tools/qmap.h21
-rw-r--r--src/corelib/tools/qstring.cpp6
-rw-r--r--src/corelib/tools/qunicodetables_p.h4
-rw-r--r--src/corelib/tools/qvector.cpp29
-rw-r--r--src/corelib/tools/qvector.h22
-rw-r--r--src/corelib/xml/qxmlstream.g4
-rw-r--r--src/corelib/xml/qxmlstream_p.h3
-rw-r--r--src/dbus/dbus.pro148
-rw-r--r--src/dbus/qdbusabstractinterface.cpp39
-rw-r--r--src/dbus/qdbusconnection.cpp149
-rw-r--r--src/dbus/qdbusconnection.h12
-rw-r--r--src/dbus/qdbusconnection_p.h9
-rw-r--r--src/dbus/qdbusconnectioninterface.cpp8
-rw-r--r--src/dbus/qdbusintegrator.cpp127
-rw-r--r--src/dbus/qdbusservicewatcher.cpp374
-rw-r--r--src/dbus/qdbusservicewatcher.h103
-rw-r--r--src/gui/accessible/qaccessible.h7
-rw-r--r--src/gui/accessible/qaccessible2.cpp12
-rw-r--r--src/gui/accessible/qaccessible2.h13
-rw-r--r--src/gui/accessible/qaccessible_mac.mm5
-rw-r--r--src/gui/dialogs/qcolordialog_mac.mm30
-rw-r--r--src/gui/dialogs/qfiledialog.cpp22
-rw-r--r--src/gui/dialogs/qfiledialog_mac.mm16
-rw-r--r--src/gui/dialogs/qfiledialog_p.h4
-rw-r--r--src/gui/dialogs/qfscompleter_p.h4
-rw-r--r--src/gui/dialogs/qprintdialog_unix.cpp2
-rw-r--r--src/gui/dialogs/qprintdialog_win.cpp2
-rw-r--r--src/gui/dialogs/qwizard.cpp2
-rw-r--r--src/gui/dialogs/qwizard_win.cpp2
-rw-r--r--src/gui/effects/qgraphicseffect.cpp672
-rw-r--r--src/gui/effects/qgraphicseffect.h130
-rw-r--r--src/gui/effects/qgraphicseffect_p.h56
-rw-r--r--src/gui/egl/egl.pri12
-rw-r--r--src/gui/egl/qeglproperties.cpp4
-rw-r--r--src/gui/embedded/qdecorationdefault_qws.cpp2
-rw-r--r--src/gui/embedded/qdecorationwindows_qws.cpp2
-rw-r--r--src/gui/graphicsview/qgraphicsanchorlayout.cpp132
-rw-r--r--src/gui/graphicsview/qgraphicsanchorlayout_p.cpp392
-rw-r--r--src/gui/graphicsview/qgraphicsanchorlayout_p.h53
-rw-r--r--src/gui/graphicsview/qgraphicsitem.cpp121
-rw-r--r--src/gui/graphicsview/qgraphicsitem.h3
-rw-r--r--src/gui/graphicsview/qgraphicsitem_p.h15
-rw-r--r--src/gui/graphicsview/qgraphicslayout_p.h51
-rw-r--r--src/gui/graphicsview/qgraphicslinearlayout.cpp13
-rw-r--r--src/gui/graphicsview/qgraphicslinearlayout.h2
-rw-r--r--src/gui/graphicsview/qgraphicsproxywidget.cpp2
-rw-r--r--src/gui/graphicsview/qgraphicsscene.cpp127
-rw-r--r--src/gui/graphicsview/qgraphicsscene_p.h1
-rw-r--r--src/gui/graphicsview/qgraphicstransform.cpp10
-rw-r--r--src/gui/graphicsview/qgraphicstransform.h2
-rw-r--r--src/gui/graphicsview/qgraphicstransform_p.h3
-rw-r--r--src/gui/graphicsview/qgraphicsview.cpp16
-rw-r--r--src/gui/graphicsview/qgraphicswidget.cpp2
-rw-r--r--src/gui/graphicsview/qgridlayoutengine_p.h25
-rw-r--r--src/gui/graphicsview/qsimplex_p.cpp111
-rw-r--r--src/gui/graphicsview/qsimplex_p.h38
-rw-r--r--src/gui/image/qbitmap.cpp2
-rw-r--r--src/gui/image/qicon.cpp2
-rw-r--r--src/gui/image/qicon_p.h3
-rw-r--r--src/gui/image/qiconloader.cpp10
-rw-r--r--src/gui/image/qiconloader_p.h3
-rw-r--r--src/gui/image/qimage.cpp3
-rw-r--r--src/gui/image/qimagepixmapcleanuphooks.cpp18
-rw-r--r--src/gui/image/qimagepixmapcleanuphooks_p.h4
-rw-r--r--src/gui/image/qnativeimage.cpp10
-rw-r--r--src/gui/image/qpixmap.cpp71
-rw-r--r--src/gui/image/qpixmap_mac.cpp15
-rw-r--r--src/gui/image/qpixmap_qws.cpp8
-rw-r--r--src/gui/image/qpixmap_s60.cpp57
-rw-r--r--src/gui/image/qpixmap_win.cpp3
-rw-r--r--src/gui/image/qpixmap_x11.cpp11
-rw-r--r--src/gui/image/qpixmapdata.cpp13
-rw-r--r--src/gui/image/qpixmapdata_p.h5
-rw-r--r--src/gui/image/qpixmapfilter.cpp54
-rw-r--r--src/gui/image/qpixmapfilter_p.h15
-rw-r--r--src/gui/inputmethod/qcoefepinputcontext_p.h9
-rw-r--r--src/gui/inputmethod/qcoefepinputcontext_s60.cpp67
-rw-r--r--src/gui/inputmethod/qwininputcontext_win.cpp25
-rw-r--r--src/gui/itemviews/qabstractitemview.cpp6
-rw-r--r--src/gui/itemviews/qabstractitemview.h3
-rw-r--r--src/gui/itemviews/qabstractitemview_p.h4
-rw-r--r--src/gui/itemviews/qdirmodel.cpp2
-rw-r--r--src/gui/itemviews/qfileiconprovider.cpp24
-rw-r--r--src/gui/itemviews/qheaderview.cpp4
-rw-r--r--src/gui/itemviews/qitemdelegate.cpp2
-rw-r--r--src/gui/itemviews/qitemselectionmodel.cpp5
-rw-r--r--src/gui/itemviews/qlistview.cpp115
-rw-r--r--src/gui/itemviews/qlistview_p.h12
-rw-r--r--src/gui/itemviews/qlistwidget.cpp31
-rw-r--r--src/gui/itemviews/qlistwidget_p.h3
-rw-r--r--src/gui/itemviews/qstyleditemdelegate.cpp2
-rw-r--r--src/gui/itemviews/qtableview.cpp47
-rw-r--r--src/gui/itemviews/qtableview_p.h6
-rw-r--r--src/gui/itemviews/qtreeview.cpp91
-rw-r--r--src/gui/itemviews/qtreeview_p.h7
-rw-r--r--src/gui/kernel/qactiongroup.cpp14
-rw-r--r--src/gui/kernel/qapplication.cpp68
-rw-r--r--src/gui/kernel/qapplication.h4
-rw-r--r--src/gui/kernel/qapplication_mac.mm63
-rw-r--r--src/gui/kernel/qapplication_p.h8
-rw-r--r--src/gui/kernel/qapplication_s60.cpp54
-rw-r--r--src/gui/kernel/qapplication_win.cpp40
-rw-r--r--src/gui/kernel/qapplication_x11.cpp24
-rw-r--r--src/gui/kernel/qclipboard.cpp4
-rw-r--r--src/gui/kernel/qclipboard_mac.cpp2
-rw-r--r--src/gui/kernel/qclipboard_win.cpp4
-rw-r--r--src/gui/kernel/qclipboard_x11.cpp9
-rw-r--r--src/gui/kernel/qcocoaapplicationdelegate_mac.mm11
-rw-r--r--src/gui/kernel/qcocoaapplicationdelegate_mac_p.h1
-rw-r--r--src/gui/kernel/qcocoaview_mac.mm31
-rw-r--r--src/gui/kernel/qcocoawindowdelegate_mac.mm35
-rw-r--r--src/gui/kernel/qcocoawindowdelegate_mac_p.h3
-rw-r--r--src/gui/kernel/qdesktopwidget.cpp5
-rw-r--r--src/gui/kernel/qdesktopwidget_mac.mm13
-rw-r--r--src/gui/kernel/qdesktopwidget_x11.cpp9
-rw-r--r--src/gui/kernel/qevent.cpp144
-rw-r--r--src/gui/kernel/qevent.h13
-rw-r--r--src/gui/kernel/qevent_p.h13
-rw-r--r--src/gui/kernel/qgesture.cpp201
-rw-r--r--src/gui/kernel/qgesture.h66
-rw-r--r--src/gui/kernel/qgesture_p.h58
-rw-r--r--src/gui/kernel/qgesturemanager.cpp350
-rw-r--r--src/gui/kernel/qgesturemanager_p.h38
-rw-r--r--src/gui/kernel/qgesturerecognizer.cpp92
-rw-r--r--src/gui/kernel/qgesturerecognizer.h29
-rw-r--r--src/gui/kernel/qguiplatformplugin.cpp10
-rw-r--r--src/gui/kernel/qkeymapper_x11.cpp286
-rw-r--r--src/gui/kernel/qkeysequence.cpp174
-rw-r--r--src/gui/kernel/qmacgesturerecognizer_mac.mm59
-rw-r--r--src/gui/kernel/qmacgesturerecognizer_mac_p.h13
-rw-r--r--src/gui/kernel/qsoftkeymanager.cpp19
-rw-r--r--src/gui/kernel/qsoftkeymanager_p.h3
-rw-r--r--src/gui/kernel/qsound_s60.cpp94
-rw-r--r--src/gui/kernel/qstandardgestures.cpp521
-rw-r--r--src/gui/kernel/qstandardgestures_p.h43
-rw-r--r--src/gui/kernel/qt_cocoa_helpers_mac.mm19
-rw-r--r--src/gui/kernel/qt_cocoa_helpers_mac_p.h4
-rw-r--r--src/gui/kernel/qt_s60_p.h25
-rw-r--r--src/gui/kernel/qt_x11_p.h1
-rw-r--r--src/gui/kernel/qwidget.cpp141
-rw-r--r--src/gui/kernel/qwidget.h5
-rw-r--r--src/gui/kernel/qwidget_mac.mm40
-rw-r--r--src/gui/kernel/qwidget_p.h12
-rw-r--r--src/gui/kernel/qwidget_qws.cpp3
-rw-r--r--src/gui/kernel/qwidget_s60.cpp85
-rw-r--r--src/gui/kernel/qwidget_win.cpp22
-rw-r--r--src/gui/kernel/qwinnativepangesturerecognizer_win.cpp29
-rw-r--r--src/gui/kernel/qwinnativepangesturerecognizer_win_p.h5
-rw-r--r--src/gui/math3d/qgenericmatrix.cpp106
-rw-r--r--src/gui/math3d/qgenericmatrix.h37
-rw-r--r--src/gui/math3d/qmatrix4x4.cpp355
-rw-r--r--src/gui/math3d/qmatrix4x4.h56
-rw-r--r--src/gui/math3d/qquaternion.cpp4
-rw-r--r--src/gui/math3d/qquaternion.h2
-rw-r--r--src/gui/painting/qbackingstore.cpp24
-rw-r--r--src/gui/painting/qbackingstore_p.h2
-rw-r--r--src/gui/painting/qblendfunctions.cpp40
-rw-r--r--src/gui/painting/qbrush.cpp24
-rw-r--r--src/gui/painting/qdrawhelper.cpp32
-rw-r--r--src/gui/painting/qpaintbuffer.cpp95
-rw-r--r--src/gui/painting/qpaintbuffer_p.h5
-rw-r--r--src/gui/painting/qpaintengine_raster.cpp8
-rw-r--r--src/gui/painting/qpaintengine_x11.cpp2
-rw-r--r--src/gui/painting/qpaintengineex.cpp34
-rw-r--r--src/gui/painting/qpaintengineex_p.h6
-rw-r--r--src/gui/painting/qpainter.cpp34
-rw-r--r--src/gui/painting/qpainterpath.cpp35
-rw-r--r--src/gui/painting/qpainterpath_p.h34
-rw-r--r--src/gui/painting/qpen.cpp33
-rw-r--r--src/gui/painting/qprinterinfo_unix.cpp2
-rw-r--r--src/gui/painting/qstroker.cpp23
-rw-r--r--src/gui/painting/qtransform.cpp9
-rw-r--r--src/gui/painting/qvectorpath_p.h72
-rw-r--r--src/gui/painting/qwindowsurface_qws.cpp2
-rw-r--r--src/gui/painting/qwindowsurface_raster.cpp6
-rw-r--r--src/gui/painting/qwindowsurface_x11.cpp6
-rw-r--r--src/gui/s60framework/qs60mainappui.cpp2
-rw-r--r--src/gui/s60framework/s60framework.pri11
-rw-r--r--src/gui/s60framework/s60main.rss (renamed from src/s60main/s60main.rss)0
-rw-r--r--src/gui/statemachine/qbasickeyeventtransition.cpp24
-rw-r--r--src/gui/statemachine/qbasickeyeventtransition_p.h6
-rw-r--r--src/gui/statemachine/qbasicmouseeventtransition.cpp24
-rw-r--r--src/gui/statemachine/qbasicmouseeventtransition_p.h8
-rw-r--r--src/gui/statemachine/qkeyeventtransition.cpp18
-rw-r--r--src/gui/statemachine/qkeyeventtransition.h6
-rw-r--r--src/gui/statemachine/qmouseeventtransition.cpp30
-rw-r--r--src/gui/statemachine/qmouseeventtransition.h10
-rw-r--r--src/gui/styles/gtksymbols.cpp1005
-rw-r--r--src/gui/styles/qcleanlooksstyle.cpp4
-rw-r--r--src/gui/styles/qcommonstyle.cpp194
-rw-r--r--src/gui/styles/qcommonstyle_p.h19
-rw-r--r--src/gui/styles/qgtkpainter.cpp72
-rw-r--r--src/gui/styles/qgtkpainter_p.h2
-rw-r--r--src/gui/styles/qgtkstyle.cpp554
-rw-r--r--src/gui/styles/qgtkstyle.h8
-rw-r--r--src/gui/styles/qgtkstyle_p.cpp1069
-rw-r--r--src/gui/styles/qgtkstyle_p.h (renamed from src/gui/styles/gtksymbols_p.h)108
-rw-r--r--src/gui/styles/qmacstyle_mac.mm19
-rw-r--r--src/gui/styles/qmotifstyle.cpp4
-rw-r--r--src/gui/styles/qplastiquestyle.cpp11
-rw-r--r--src/gui/styles/qs60style.cpp394
-rw-r--r--src/gui/styles/qs60style_p.h7
-rw-r--r--src/gui/styles/qs60style_s60.cpp89
-rw-r--r--src/gui/styles/qs60style_simulated.cpp6
-rw-r--r--src/gui/styles/qstyle.cpp4
-rw-r--r--src/gui/styles/qstyle.h2
-rw-r--r--src/gui/styles/qstyleoption.cpp124
-rw-r--r--src/gui/styles/qstyleoption.h22
-rw-r--r--src/gui/styles/qstylesheetstyle.cpp4
-rw-r--r--src/gui/styles/qwindowsmobilestyle.cpp31
-rw-r--r--src/gui/styles/qwindowsstyle.cpp3
-rw-r--r--src/gui/styles/qwindowsvistastyle.cpp55
-rw-r--r--src/gui/styles/qwindowsvistastyle_p.h24
-rw-r--r--src/gui/styles/qwindowsxpstyle.cpp53
-rw-r--r--src/gui/styles/styles.pri4
-rw-r--r--src/gui/symbian/qsymbianevent.cpp4
-rw-r--r--src/gui/text/qfont.cpp14
-rw-r--r--src/gui/text/qfont_p.h2
-rw-r--r--src/gui/text/qfontdatabase.cpp27
-rw-r--r--src/gui/text/qfontdatabase.h1
-rw-r--r--src/gui/text/qfontdatabase_win.cpp12
-rw-r--r--src/gui/text/qfontdatabase_x11.cpp107
-rw-r--r--src/gui/text/qfontengine_ft.cpp10
-rw-r--r--src/gui/text/qfontengine_mac.mm2
-rw-r--r--src/gui/text/qfontengine_qpf.cpp2
-rw-r--r--src/gui/text/qfontengine_win.cpp12
-rw-r--r--src/gui/text/qfontinfo.h3
-rw-r--r--src/gui/text/qfontmetrics.cpp49
-rw-r--r--src/gui/text/qfontmetrics.h5
-rw-r--r--src/gui/text/qtextcontrol.cpp5
-rw-r--r--src/gui/text/qtextdocument.cpp45
-rw-r--r--src/gui/text/qtextdocument.h3
-rw-r--r--src/gui/text/qtextdocument_p.h3
-rw-r--r--src/gui/text/qtextdocumentlayout.cpp5
-rw-r--r--src/gui/text/qtextengine.cpp22
-rw-r--r--src/gui/text/qtextengine_mac.cpp75
-rw-r--r--src/gui/text/qtextengine_p.h17
-rw-r--r--src/gui/text/qtextlayout.cpp76
-rw-r--r--src/gui/text/qtextlayout.h4
-rw-r--r--src/gui/text/text.pri1
-rw-r--r--src/gui/util/qdesktopservices.cpp11
-rw-r--r--src/gui/util/qdesktopservices_mac.cpp9
-rw-r--r--src/gui/widgets/qabstractscrollarea.cpp55
-rw-r--r--src/gui/widgets/qabstractslider.cpp44
-rw-r--r--src/gui/widgets/qcombobox.cpp73
-rw-r--r--src/gui/widgets/qcombobox.h4
-rw-r--r--src/gui/widgets/qcombobox_p.h4
-rw-r--r--src/gui/widgets/qdockarealayout.cpp31
-rw-r--r--src/gui/widgets/qdockarealayout_p.h9
-rw-r--r--src/gui/widgets/qdockwidget.cpp12
-rw-r--r--src/gui/widgets/qfontcombobox.cpp2
-rw-r--r--src/gui/widgets/qlinecontrol.cpp6
-rw-r--r--src/gui/widgets/qlinecontrol_p.h6
-rw-r--r--src/gui/widgets/qlineedit.cpp2
-rw-r--r--src/gui/widgets/qmenu.cpp4
-rw-r--r--src/gui/widgets/qmenubar.cpp29
-rw-r--r--src/gui/widgets/qplaintextedit.cpp60
-rw-r--r--src/gui/widgets/qsplitter.cpp17
-rw-r--r--src/gui/widgets/qtabbar.cpp19
-rw-r--r--src/gui/widgets/qtabbar_p.h10
-rw-r--r--src/gui/widgets/qtabwidget.cpp16
-rw-r--r--src/gui/widgets/qtextedit.cpp8
-rw-r--r--src/gui/widgets/qtoolbar.cpp16
-rw-r--r--src/gui/widgets/qtoolbar.h1
-rw-r--r--src/gui/widgets/qwidgetanimator.cpp2
-rw-r--r--src/multimedia/video/qabstractvideosurface.cpp60
-rw-r--r--src/multimedia/video/qabstractvideosurface.h8
-rw-r--r--src/multimedia/video/qabstractvideosurface_p.h5
-rw-r--r--src/multimedia/video/qvideoframe.cpp34
-rw-r--r--src/multimedia/video/qvideoframe.h6
-rw-r--r--src/multimedia/video/qvideosurfaceformat.cpp68
-rw-r--r--src/multimedia/video/qvideosurfaceformat.h18
-rw-r--r--src/network/access/qnetworkaccessdebugpipebackend.cpp4
-rw-r--r--src/network/socket/qabstractsocket.cpp57
-rw-r--r--src/network/socket/qabstractsocket.h1
-rw-r--r--src/network/socket/qabstractsocket_p.h2
-rw-r--r--src/network/socket/qabstractsocketengine_p.h2
-rw-r--r--src/network/socket/qhttpsocketengine.cpp10
-rw-r--r--src/network/socket/qhttpsocketengine_p.h2
-rw-r--r--src/network/socket/qlocalserver_unix.cpp22
-rw-r--r--src/network/socket/qnativesocketengine.cpp58
-rw-r--r--src/network/socket/qnativesocketengine_p.h2
-rw-r--r--src/network/socket/qsocks5socketengine.cpp14
-rw-r--r--src/network/socket/qsocks5socketengine_p.h2
-rw-r--r--src/network/ssl/qsslerror.cpp57
-rw-r--r--src/network/ssl/qsslsocket.cpp14
-rw-r--r--src/network/ssl/qsslsocket_openssl.cpp2
-rw-r--r--src/opengl/gl2paintengineex/qglcustomshaderstage.cpp21
-rw-r--r--src/opengl/gl2paintengineex/qglcustomshaderstage_p.h3
-rw-r--r--src/opengl/gl2paintengineex/qglengineshadermanager.cpp426
-rw-r--r--src/opengl/gl2paintengineex/qglengineshadermanager_p.h131
-rw-r--r--src/opengl/gl2paintengineex/qglengineshadersource_p.h16
-rw-r--r--src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp39
-rw-r--r--src/opengl/gl2paintengineex/qpaintengineex_opengl2_p.h2
-rw-r--r--src/opengl/gl2paintengineex/qtriangulatingstroker.cpp10
-rw-r--r--src/opengl/gl2paintengineex/qtriangulatingstroker_p.h15
-rw-r--r--src/opengl/opengl.pro29
-rw-r--r--src/opengl/qgl.cpp52
-rw-r--r--src/opengl/qgl.h1
-rw-r--r--src/opengl/qgl_wince.cpp6
-rw-r--r--src/opengl/qgl_x11.cpp3
-rw-r--r--src/opengl/qgl_x11egl.cpp4
-rw-r--r--src/opengl/qglframebufferobject.cpp86
-rw-r--r--src/opengl/qglframebufferobject_p.h7
-rw-r--r--src/opengl/qglpixmapfilter.cpp779
-rw-r--r--src/opengl/qglshaderprogram.cpp895
-rw-r--r--src/opengl/qglshaderprogram.h74
-rw-r--r--src/opengl/qpixmapdata_gl.cpp34
-rw-r--r--src/opengl/qpixmapdata_gl_p.h2
-rw-r--r--src/opengl/qwindowsurface_gl.cpp9
-rw-r--r--src/opengl/qwindowsurface_x11gl.cpp3
-rw-r--r--src/opengl/util/composition_mode_softlight.glsl24
-rw-r--r--src/opengl/util/fragmentprograms_p.h676
-rw-r--r--src/openvg/qpaintengine_vg.cpp175
-rw-r--r--src/openvg/qpixmapdata_vg.cpp2
-rw-r--r--src/openvg/qpixmapfilter_vg.cpp12
-rw-r--r--src/openvg/qpixmapfilter_vg_p.h8
-rw-r--r--src/openvg/qvgcompositionhelper_p.h1
-rw-r--r--src/openvg/qwindowsurface_vg.cpp4
-rw-r--r--src/openvg/qwindowsurface_vgegl.cpp66
-rw-r--r--src/openvg/qwindowsurface_vgegl_p.h19
-rw-r--r--src/plugins/accessible/widgets/simplewidgets.cpp38
-rw-r--r--src/plugins/accessible/widgets/simplewidgets.h7
-rw-r--r--src/plugins/gfxdrivers/directfb/qdirectfbpaintengine.cpp82
-rw-r--r--src/plugins/gfxdrivers/qvfb/main.cpp2
-rw-r--r--src/plugins/gfxdrivers/transformed/main.cpp8
-rw-r--r--src/plugins/gfxdrivers/vnc/main.cpp8
-rw-r--r--src/plugins/graphicssystems/graphicssystems.pro2
-rw-r--r--src/plugins/graphicssystems/openvg/openvg.pro2
-rw-r--r--src/plugins/phonon/mmf/plugin/plugin.pro13
-rw-r--r--src/plugins/s60/src/qlocale_3_1.cpp96
-rw-r--r--src/plugins/sqldrivers/sqlite_symbian/sqlite_symbian.pro6
-rw-r--r--src/qt3support/widgets/q3dockarea.cpp1
-rw-r--r--src/qt3support/widgets/q3dockwindow.cpp2
-rw-r--r--src/s60installs/bwins/QtCoreu.def4383
-rw-r--r--src/s60installs/bwins/QtGuiu.def12585
-rw-r--r--src/s60installs/bwins/QtMultimediau.def273
-rw-r--r--src/s60installs/bwins/QtNetworku.def977
-rw-r--r--src/s60installs/bwins/QtOpenVGu.def199
-rw-r--r--src/s60installs/bwins/QtScriptu.def346
-rw-r--r--src/s60installs/bwins/QtSqlu.def464
-rw-r--r--src/s60installs/bwins/QtSvgu.def149
-rw-r--r--src/s60installs/bwins/QtTestu.def79
-rw-r--r--src/s60installs/bwins/QtXmlPatternsu.def280
-rw-r--r--src/s60installs/bwins/QtXmlu.def410
-rw-r--r--src/s60installs/bwins/phononu.def521
-rw-r--r--src/s60installs/eabi/QtCoreu.def25
-rw-r--r--src/s60installs/eabi/QtGuiu.def355
-rw-r--r--src/s60installs/eabi/QtOpenVGu.def232
-rw-r--r--src/s60installs/eabi/QtScriptu.def17
-rw-r--r--src/s60installs/eabi/QtXmlPatternsu.def253
-rw-r--r--src/s60installs/s60installs.pro34
-rw-r--r--src/s60main/qts60main_mcrt0.cpp8
-rw-r--r--src/s60main/s60main.pro20
-rw-r--r--src/script/api/api.pri3
-rw-r--r--src/script/api/qscriptengine.cpp263
-rw-r--r--src/script/api/qscriptengine.h3
-rw-r--r--src/script/api/qscriptengine_p.h96
-rw-r--r--src/script/api/qscriptprogram.cpp225
-rw-r--r--src/script/api/qscriptprogram.h86
-rw-r--r--src/script/api/qscriptprogram_p.h95
-rw-r--r--src/script/api/qscriptstring.cpp32
-rw-r--r--src/script/api/qscriptstring.h2
-rw-r--r--src/script/api/qscriptstring_p.h7
-rw-r--r--src/script/api/qscriptvalue.cpp105
-rw-r--r--src/script/api/qscriptvalue_p.h17
-rw-r--r--src/script/bridge/qscriptclassobject.cpp11
-rw-r--r--src/script/bridge/qscriptclassobject_p.h15
-rw-r--r--src/script/bridge/qscriptobject.cpp30
-rw-r--r--src/script/bridge/qscriptobject_p.h38
-rw-r--r--src/script/bridge/qscriptqobject.cpp16
-rw-r--r--src/sql/drivers/oci/qsql_oci.cpp11
-rw-r--r--src/sql/drivers/psql/qsql_psql.cpp4
-rw-r--r--src/sql/drivers/sqlite/qsql_sqlite.cpp6
-rw-r--r--src/sql/drivers/tds/qsql_tds.cpp21
-rw-r--r--src/sql/models/qsqlquerymodel.cpp2
-rw-r--r--src/sql/models/qsqltablemodel.cpp2
-rw-r--r--src/src.pro5
-rw-r--r--src/xmlpatterns/acceltree/qacceltree_p.h2
-rw-r--r--src/xmlpatterns/acceltree/qcompressedwhitespace_p.h2
-rw-r--r--src/xmlpatterns/api/qxmlquery.h2
-rw-r--r--src/xmlpatterns/expr/qncnameconstructor_p.h2
-rw-r--r--src/xmlpatterns/parser/qquerytransformparser.cpp18
-rw-r--r--src/xmlpatterns/schema/qxsdschemahelper.cpp2
-rw-r--r--src/xmlpatterns/schema/qxsdschemaparser.cpp2
-rw-r--r--src/xmlpatterns/schema/qxsdstatemachine.cpp64
-rw-r--r--src/xmlpatterns/schema/qxsdstatemachine_p.h69
-rw-r--r--src/xmlpatterns/schema/qxsdvalidatinginstancereader.cpp4
-rw-r--r--src/xmlpatterns/xmlpatterns.pro2
-rw-r--r--tests/arthur/common/paintcommands.cpp4
-rw-r--r--tests/auto/auto.pro2
-rw-r--r--tests/auto/checkxmlfiles/checkxmlfiles.pro2
-rw-r--r--tests/auto/collections/tst_collections.cpp109
-rw-r--r--tests/auto/gestures/tst_gestures.cpp463
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/parsecpp/main.cpp19
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/parsecpp/project.ts.result8
-rw-r--r--tests/auto/networkselftest/tst_networkselftest.cpp5
-rw-r--r--tests/auto/q3filedialog/tst_q3filedialog.cpp4
-rw-r--r--tests/auto/qabstractslider/tst_qabstractslider.cpp16
-rw-r--r--tests/auto/qabstractvideosurface/tst_qabstractvideosurface.cpp38
-rw-r--r--tests/auto/qaccessibility/tst_qaccessibility.cpp21
-rw-r--r--tests/auto/qactiongroup/tst_qactiongroup.cpp21
-rw-r--r--tests/auto/qalgorithms/tst_qalgorithms.cpp17
-rw-r--r--tests/auto/qapplication/tst_qapplication.cpp85
-rw-r--r--tests/auto/qboxlayout/tst_qboxlayout.cpp1
-rw-r--r--tests/auto/qclipboard/test/test.pro15
-rw-r--r--tests/auto/qcombobox/tst_qcombobox.cpp85
-rw-r--r--tests/auto/qcompleter/tst_qcompleter.cpp2
-rw-r--r--tests/auto/qdatastream/tst_qdatastream.cpp81
-rw-r--r--tests/auto/qdatawidgetmapper/tst_qdatawidgetmapper.cpp2
-rw-r--r--tests/auto/qdatetime/tst_qdatetime.cpp8
-rw-r--r--tests/auto/qdbusabstractinterface/tst_qdbusabstractinterface.cpp59
-rw-r--r--tests/auto/qdbusinterface/tst_qdbusinterface.cpp34
-rw-r--r--tests/auto/qdbusservicewatcher/qdbusservicewatcher.pro8
-rw-r--r--tests/auto/qdbusservicewatcher/tst_qdbusservicewatcher.cpp273
-rw-r--r--tests/auto/qdockwidget/tst_qdockwidget.cpp19
-rw-r--r--tests/auto/qdom/tst_qdom.cpp1
-rw-r--r--tests/auto/qfile/largefile/largefile.pro4
-rw-r--r--tests/auto/qfile/largefile/tst_largefile.cpp502
-rw-r--r--tests/auto/qfile/qfile.pro2
-rw-r--r--tests/auto/qfile/tst_qfile.cpp118
-rw-r--r--tests/auto/qfontmetrics/tst_qfontmetrics.cpp14
-rw-r--r--tests/auto/qgl/tst_qgl.cpp127
-rw-r--r--tests/auto/qgraphicsanchorlayout/tst_qgraphicsanchorlayout.cpp259
-rw-r--r--tests/auto/qgraphicseffect/tst_qgraphicseffect.cpp3
-rw-r--r--tests/auto/qgraphicseffectsource/tst_qgraphicseffectsource.cpp99
-rw-r--r--tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp195
-rw-r--r--tests/auto/qgraphicsobject/tst_qgraphicsobject.cpp42
-rw-r--r--tests/auto/qgraphicspixmapitem/tst_qgraphicspixmapitem.cpp2
-rw-r--r--tests/auto/qgraphicssceneindex/tst_qgraphicssceneindex.cpp62
-rw-r--r--tests/auto/qgraphicstransform/tst_qgraphicstransform.cpp71
-rw-r--r--tests/auto/qgraphicsview/tst_qgraphicsview.cpp55
-rw-r--r--tests/auto/qgridlayout/tst_qgridlayout.cpp4
-rw-r--r--tests/auto/qlistview/tst_qlistview.cpp47
-rw-r--r--tests/auto/qlistwidget/tst_qlistwidget.cpp59
-rw-r--r--tests/auto/qlocalsocket/tst_qlocalsocket.cpp2
-rw-r--r--tests/auto/qmatrixnxn/tst_qmatrixnxn.cpp168
-rw-r--r--tests/auto/qmenubar/tst_qmenubar.cpp29
-rw-r--r--tests/auto/qpainter/tst_qpainter.cpp45
-rw-r--r--tests/auto/qparallelanimationgroup/tst_qparallelanimationgroup.cpp17
-rw-r--r--tests/auto/qpauseanimation/tst_qpauseanimation.cpp53
-rw-r--r--tests/auto/qpixmap/tst_qpixmap.cpp23
-rw-r--r--tests/auto/qpixmapfilter/tst_qpixmapfilter.cpp2
-rw-r--r--tests/auto/qpropertyanimation/tst_qpropertyanimation.cpp14
-rw-r--r--tests/auto/qscriptengine/tst_qscriptengine.cpp149
-rw-r--r--tests/auto/qscriptengineagent/tst_qscriptengineagent.cpp86
-rw-r--r--tests/auto/qscriptstring/tst_qscriptstring.cpp37
-rw-r--r--tests/auto/qsequentialanimationgroup/tst_qsequentialanimationgroup.cpp13
-rw-r--r--tests/auto/qsoftkeymanager/tst_qsoftkeymanager.cpp25
-rw-r--r--tests/auto/qsound/tst_qsound.cpp26
-rw-r--r--tests/auto/qsplitter/tst_qsplitter.cpp34
-rw-r--r--tests/auto/qsqldatabase/tst_qsqldatabase.cpp1
-rw-r--r--tests/auto/qsqlquery/tst_qsqlquery.cpp90
-rw-r--r--tests/auto/qsqlquerymodel/tst_qsqlquerymodel.cpp18
-rw-r--r--tests/auto/qsqlrelationaltablemodel/tst_qsqlrelationaltablemodel.cpp36
-rw-r--r--tests/auto/qsslsocket/tst_qsslsocket.cpp4
-rw-r--r--tests/auto/qstatemachine/tst_qstatemachine.cpp199
-rw-r--r--tests/auto/qstring/tst_qstring.cpp9
-rw-r--r--tests/auto/qstringbuilder1/qstringbuilder1.pro3
-rw-r--r--tests/auto/qstringbuilder1/stringbuilder.cpp56
-rw-r--r--tests/auto/qstringbuilder1/tst_qstringbuilder1.cpp33
-rw-r--r--tests/auto/qstringbuilder2/qstringbuilder2.pro3
-rw-r--r--tests/auto/qstringbuilder2/tst_qstringbuilder2.cpp32
-rw-r--r--tests/auto/qstringbuilder3/qstringbuilder3.pro3
-rw-r--r--tests/auto/qstringbuilder3/tst_qstringbuilder3.cpp31
-rw-r--r--tests/auto/qstringbuilder4/qstringbuilder4.pro3
-rw-r--r--tests/auto/qstringbuilder4/tst_qstringbuilder4.cpp34
-rw-r--r--tests/auto/qtableview/tst_qtableview.cpp70
-rw-r--r--tests/auto/qtcpsocket/tst_qtcpsocket.cpp14
-rw-r--r--tests/auto/qtextdocument/qtextdocument.pro1
-rw-r--r--tests/auto/qtextdocument/tst_qtextdocument.cpp56
-rw-r--r--tests/auto/qtextedit/fullWidthSelection/centered-fully-selected.pngbin1232 -> 1232 bytes
-rw-r--r--tests/auto/qtextedit/fullWidthSelection/centered-partly-selected.pngbin1231 -> 1231 bytes
-rw-r--r--tests/auto/qtextedit/fullWidthSelection/last-char-on-line.pngbin1220 -> 1226 bytes
-rw-r--r--tests/auto/qtextedit/fullWidthSelection/last-char-on-parag.pngbin1222 -> 1223 bytes
-rw-r--r--tests/auto/qtextedit/fullWidthSelection/multiple-full-width-lines.pngbin1236 -> 1236 bytes
-rw-r--r--tests/auto/qtextedit/fullWidthSelection/nowrap_long.pngbin1199 -> 1199 bytes
-rw-r--r--tests/auto/qtextedit/fullWidthSelection/single-full-width-line.pngbin1235 -> 1225 bytes
-rw-r--r--tests/auto/qtextedit/tst_qtextedit.cpp4
-rw-r--r--tests/auto/qtextlayout/tst_qtextlayout.cpp13
-rw-r--r--tests/auto/qtextscriptengine/generate/generate.pro1
-rw-r--r--tests/auto/qtextscriptengine/generate/main.cpp4
-rw-r--r--tests/auto/qtextscriptengine/tst_qtextscriptengine.cpp87
-rw-r--r--tests/auto/qtreeview/tst_qtreeview.cpp171
-rw-r--r--tests/auto/qudpsocket/tst_qudpsocket.cpp10
-rw-r--r--tests/auto/qurl/tst_qurl.cpp47
-rw-r--r--tests/auto/qvariant/tst_qvariant.cpp263
-rw-r--r--tests/auto/qvideoframe/tst_qvideoframe.cpp18
-rw-r--r--tests/auto/qvideosurfaceformat/tst_qvideosurfaceformat.cpp77
-rw-r--r--tests/auto/qwidget/tst_qwidget.cpp52
-rw-r--r--tests/auto/qxmlnodemodelindex/tst_qxmlnodemodelindex.cpp2
-rw-r--r--tests/auto/qxmlquery/tst_qxmlquery.cpp14
-rw-r--r--tests/auto/qxmlschema/tst_qxmlschema.cpp4
-rw-r--r--tests/auto/qxmlschemavalidator/tst_qxmlschemavalidator.cpp12
-rw-r--r--tests/auto/qxmlserializer/tst_qxmlserializer.cpp4
-rw-r--r--tests/auto/xmlpatterns.pri5
-rw-r--r--tests/auto/xmlpatterns/tst_xmlpatterns.cpp10
-rw-r--r--tests/auto/xmlpatterns/xmlpatterns.pro6
-rw-r--r--tests/auto/xmlpatternsdiagnosticsts/test/test.pro4
-rw-r--r--tests/auto/xmlpatternsschemats/xmlpatternsschemats.pro5
-rw-r--r--tests/auto/xmlpatternsxqts/lib/Global.h2
-rw-r--r--tests/auto/xmlpatternsxqts/lib/lib.pro6
-rw-r--r--tests/auto/xmlpatternsxqts/test/test.pro2
-rw-r--r--tests/auto/xmlpatternsxqts/xmlpatternsxqts.pro2
-rw-r--r--tests/benchmarks/qapplication/main.cpp30
-rw-r--r--tests/benchmarks/qmatrix4x4/tst_qmatrix4x4.cpp4
-rw-r--r--tests/benchmarks/qscriptengine/tst_qscriptengine.cpp19
-rw-r--r--tests/manual/gestures/graphicsview/gestures.cpp24
-rw-r--r--tests/manual/gestures/graphicsview/gestures.h8
-rw-r--r--tests/manual/gestures/graphicsview/main.cpp10
-rw-r--r--tests/manual/gestures/graphicsview/mousepangesturerecognizer.cpp25
-rw-r--r--tests/manual/gestures/graphicsview/mousepangesturerecognizer.h4
-rw-r--r--tests/manual/gestures/scrollarea/main.cpp50
-rw-r--r--tests/manual/gestures/scrollarea/mousepangesturerecognizer.cpp37
-rw-r--r--tests/manual/gestures/scrollarea/mousepangesturerecognizer.h4
-rw-r--r--tests/manual/textrendering/glyphshaping/glyphshaping.pro5
-rw-r--r--tests/manual/textrendering/glyphshaping/glyphshaping_data.xml251
-rw-r--r--tests/manual/textrendering/glyphshaping/main.cpp269
-rw-r--r--tests/manual/textrendering/textperformance/main.cpp231
-rw-r--r--tests/manual/textrendering/textperformance/textperformance.pro1
-rw-r--r--tools/assistant/tools/assistant/assistant.qchbin368640 -> 364544 bytes
-rw-r--r--tools/assistant/tools/assistant/centralwidget.cpp3
-rw-r--r--tools/assistant/translations/translations.pro1
-rw-r--r--tools/configure/configureapp.cpp68
-rw-r--r--tools/designer/src/lib/shared/qdesigner_tabwidget.cpp3
-rw-r--r--tools/linguist/linguist/mainwindow.cpp1
-rw-r--r--tools/linguist/lupdate/cpp.cpp22
-rw-r--r--tools/linguist/phrasebooks/french.qph20
-rw-r--r--tools/qdoc3/config.h4
-rw-r--r--tools/qdoc3/cppcodemarker.cpp58
-rw-r--r--tools/qdoc3/cppcodeparser.cpp42
-rw-r--r--tools/qdoc3/doc.cpp4
-rw-r--r--tools/qdoc3/helpprojectwriter.cpp12
-rw-r--r--tools/qdoc3/htmlgenerator.cpp19
-rw-r--r--tools/qdoc3/node.cpp16
-rw-r--r--tools/qdoc3/node.h29
-rw-r--r--tools/qdoc3/pagegenerator.cpp19
-rw-r--r--tools/qdoc3/test/classic.css7
-rw-r--r--tools/qdoc3/test/qt-build-docs.qdocconf2
-rw-r--r--tools/qdoc3/test/qt-cpp-ignore.qdocconf1
-rw-r--r--tools/qdoc3/test/qt-html-templates.qdocconf4
-rw-r--r--tools/qdoc3/test/qt-inc.qdocconf149
-rw-r--r--tools/qvfb/config.ui9
-rw-r--r--tools/qvfb/qvfb.cpp3
-rw-r--r--tools/tools.pro1
-rw-r--r--tools/xmlpatterns/xmlpatterns.pro3
-rw-r--r--tools/xmlpatternsvalidator/xmlpatternsvalidator.pro2
-rw-r--r--translations/assistant_fr.ts1080
-rw-r--r--translations/designer_pl.ts4
-rw-r--r--translations/linguist_pl.ts2
-rw-r--r--translations/qt_help_pl.ts58
-rw-r--r--translations/qt_pl.ts102
-rw-r--r--translations/qt_sl.ts1781
-rw-r--r--util/s60pixelmetrics/pixel_metrics.cpp6
-rw-r--r--util/s60pixelmetrics/pm_mapper.mmp2
-rw-r--r--util/s60pixelmetrics/pm_mapperapp.cpp2
-rwxr-xr-xutil/scripts/make_qfeatures_dot_h1
-rwxr-xr-xutil/webkit/mkdist-webkit4
1343 files changed, 62926 insertions, 45025 deletions
diff --git a/bin/syncqt b/bin/syncqt
index 6605bfa..a14a82d 100755
--- a/bin/syncqt
+++ b/bin/syncqt
@@ -31,6 +31,7 @@ my %modules = ( # path to module name map
"QtSql" => "$basedir/src/sql",
"QtNetwork" => "$basedir/src/network",
"QtSvg" => "$basedir/src/svg",
+ "QtDeclarative" => "$basedir/src/declarative",
"QtScript" => "$basedir/src/script",
"QtScriptTools" => "$basedir/src/scripttools",
"Qt3Support" => "$basedir/src/qt3support",
@@ -682,6 +683,7 @@ foreach (@modules_to_sync) {
$master_contents .= "#include <QtGui/QtGui>\n" if("$_" eq "gui");
$master_contents .= "#include <QtNetwork/QtNetwork>\n" if("$_" eq "network");
$master_contents .= "#include <QtSvg/QtSvg>\n" if("$_" eq "svg");
+ $master_contents .= "#include <QtDeclarative/QtDeclarative>\n" if("$_" eq "declarative");
$master_contents .= "#include <QtScript/QtScript>\n" if("$_" eq "script");
$master_contents .= "#include <QtScriptTools/QtScriptTools>\n" if("$_" eq "scripttools");
$master_contents .= "#include <Qt3Support/Qt3Support>\n" if("$_" eq "qt3support");
diff --git a/config.tests/unix/opengles1/opengles1.pro b/config.tests/unix/opengles1/opengles1.pro
index ad8dd31..1469aa9 100644
--- a/config.tests/unix/opengles1/opengles1.pro
+++ b/config.tests/unix/opengles1/opengles1.pro
@@ -1,9 +1,9 @@
SOURCES = opengles1.cpp
-INCLUDEPATH += $$QMAKE_INCDIR_OPENGL
+INCLUDEPATH += $$QMAKE_INCDIR_OPENGL_ES1
-for(p, QMAKE_LIBDIR_OPENGL) {
+for(p, QMAKE_LIBDIR_OPENGL_ES1) {
exists($$p):LIBS += -L$$p
}
CONFIG -= qt
-LIBS += $$QMAKE_LIBS_OPENGL_QT
+LIBS += $$QMAKE_LIBS_OPENGL_ES1
diff --git a/config.tests/unix/opengles1cl/opengles1cl.pro b/config.tests/unix/opengles1cl/opengles1cl.pro
index 415cdbb..c4c069e 100644
--- a/config.tests/unix/opengles1cl/opengles1cl.pro
+++ b/config.tests/unix/opengles1cl/opengles1cl.pro
@@ -1,9 +1,9 @@
SOURCES = opengles1cl.cpp
-INCLUDEPATH += $$QMAKE_INCDIR_OPENGL
+INCLUDEPATH += $$QMAKE_INCDIR_OPENGL_ES1CL
-for(p, QMAKE_LIBDIR_OPENGL) {
+for(p, QMAKE_LIBDIR_OPENGL_ES1CL) {
exists($$p):LIBS += -L$$p
}
CONFIG -= qt
-LIBS += $$QMAKE_LIBS_OPENGL_QT
+LIBS += $$QMAKE_LIBS_OPENGL_ES1CL
diff --git a/config.tests/unix/opengles2/opengles2.pro b/config.tests/unix/opengles2/opengles2.pro
index 0dfae42..c383fd0 100644
--- a/config.tests/unix/opengles2/opengles2.pro
+++ b/config.tests/unix/opengles2/opengles2.pro
@@ -1,9 +1,9 @@
SOURCES = opengles2.cpp
-INCLUDEPATH += $$QMAKE_INCDIR_OPENGL
+INCLUDEPATH += $$QMAKE_INCDIR_OPENGL_ES2
-for(p, QMAKE_LIBDIR_OPENGL) {
+for(p, QMAKE_LIBDIR_OPENGL_ES2) {
exists($$p):LIBS += -L$$p
}
CONFIG -= qt
-LIBS += $$QMAKE_LIBS_OPENGL_QT
+LIBS += $$QMAKE_LIBS_OPENGL_ES2
diff --git a/configure b/configure
index a9c4d0a..f3f371a 100755
--- a/configure
+++ b/configure
@@ -431,6 +431,7 @@ elif [ $COMMERCIAL_USER = "yes" ]; then
;;
Z4M|R4M|Q4M)
LicenseType="Evaluation"
+ QMakeVar add DEFINES QT_EVAL
case $ProductCode in
B)
Edition="Evaluation"
@@ -672,6 +673,7 @@ CFG_PHONON=auto
CFG_PHONON_BACKEND=yes
CFG_MULTIMEDIA=yes
CFG_SVG=yes
+CFG_DECLARATIVE=auto
CFG_WEBKIT=auto # (yes|no|auto)
CFG_JAVASCRIPTCORE_JIT=auto
@@ -912,7 +914,7 @@ while [ "$#" -gt 0 ]; do
VAL=no
;;
#Qt style yes options
- -incremental|-qvfb|-profile|-shared|-static|-sm|-xinerama|-xshape|-xinput|-reduce-exports|-pch|-separate-debug-info|-stl|-freetype|-xcursor|-xfixes|-xrandr|-xrender|-mitshm|-fontconfig|-xkb|-nis|-qdbus|-dbus|-dbus-linked|-glib|-gstreamer|-gtkstyle|-cups|-iconv|-largefile|-h|-help|-v|-verbose|-debug|-release|-fast|-accessibility|-confirm-license|-gnumake|-framework|-qt3support|-debug-and-release|-exceptions|-cocoa|-universal|-prefix-install|-silent|-armfpa|-optimized-qmake|-dwarf2|-reduce-relocations|-sse|-openssl|-openssl-linked|-ptmalloc|-xmlpatterns|-phonon|-phonon-backend|-multimedia|-svg|-webkit|-javascript-jit|-script|-scripttools|-rpath|-force-pkg-config)
+ -incremental|-qvfb|-profile|-shared|-static|-sm|-xinerama|-xshape|-xinput|-reduce-exports|-pch|-separate-debug-info|-stl|-freetype|-xcursor|-xfixes|-xrandr|-xrender|-mitshm|-fontconfig|-xkb|-nis|-qdbus|-dbus|-dbus-linked|-glib|-gstreamer|-gtkstyle|-cups|-iconv|-largefile|-h|-help|-v|-verbose|-debug|-release|-fast|-accessibility|-confirm-license|-gnumake|-framework|-qt3support|-debug-and-release|-exceptions|-cocoa|-universal|-prefix-install|-silent|-armfpa|-optimized-qmake|-dwarf2|-reduce-relocations|-sse|-openssl|-openssl-linked|-ptmalloc|-xmlpatterns|-phonon|-phonon-backend|-multimedia|-svg|-declarative|-webkit|-javascript-jit|-script|-scripttools|-rpath|-force-pkg-config)
VAR=`echo $1 | sed "s,^-\(.*\),\1,"`
VAL=yes
;;
@@ -1839,6 +1841,17 @@ while [ "$#" -gt 0 ]; do
UNKNOWN_OPT=yes
fi
fi
+ ;;
+ declarative)
+ if [ "$VAL" = "yes" ]; then
+ CFG_DECLARATIVE="yes"
+ else
+ if [ "$VAL" = "no" ]; then
+ CFG_DECLARATIVE="no"
+ else
+ UNKNOWN_OPT=yes
+ fi
+ fi
;;
webkit)
if [ "$VAL" = "yes" ] || [ "$VAL" = "auto" ]; then
@@ -2136,7 +2149,7 @@ if [ "$OPT_SHADOW" = "maybe" ]; then
fi
fi
if [ "$OPT_SHADOW" = "yes" ]; then
- if [ -f "$relpath/.qmake.cache" -o -f "$relpath/src/corelib/global/qconfig.h" ]; then
+ if [ -f "$relpath/.qmake.cache" -o -f "$relpath/src/corelib/global/qconfig.h" -o -f "$relpath/src/corelib/global/qconfig.cpp" ]; then
echo >&2 "You cannot make a shadow build from a source tree containing a previous build."
echo >&2 "Cannot proceed."
exit 1
@@ -2837,6 +2850,11 @@ if [ "$QT_CROSS_COMPILE" = "yes" ]; then
echo >&2 ""
fi
else
+ echo >&2 ""
+ echo >&2 "You have not explicitly asked to use pkg-config and are cross-compiling."
+ echo >&2 "pkg-config will not be used to automatically query cflag/lib parameters for"
+ echo >&2 "dependencies"
+ echo >&2 ""
PKG_CONFIG=""
fi
fi
@@ -3004,6 +3022,18 @@ else
CFG_FRAMEWORK=no
fi
+# Print a warning if configure was called with the 10.4u SDK option on Snow Leopard
+# with the default mkspec. The 10.4u SDK does not support gcc 4.2.
+if [ "$PLATFORM_MAC" = "yes" ] && [ '!' -z "$CFG_SDK" ]; then
+ # get the darwin version. 10.0.0 and up means snow leopard.
+ VERSION=`uname -r | tr '.' ' ' | awk '{print $1}'`
+ if [ "$VERSION" -gt 9 ] && [ "$CFG_SDK" == "/Developer/SDKs/MacOSX10.4u.sdk/" ] && [ "$PLATFORM" == "macx-g++" ]; then
+ echo
+ echo "WARNING: The 10.4u SDK does not support gcc 4.2. Configure with -platform macx-g++40. "
+ echo
+ fi
+fi
+
# x11 tests are done after qmake is built
@@ -3218,7 +3248,7 @@ Usage: $relconf [-h] [-prefix <dir>] [-prefix-install] [-bindir <dir>] [-libdir
[-qt-zlib] [-system-zlib] [-no-gif] [-qt-gif] [-no-libtiff] [-qt-libtiff] [-system-libtiff]
[-no-libpng] [-qt-libpng] [-system-libpng] [-no-libmng] [-qt-libmng]
[-system-libmng] [-no-libjpeg] [-qt-libjpeg] [-system-libjpeg] [-make <part>]
- [-no-make <part>] [-R <string>] [-l <string>] [-no-rpath] [-rpath] [-continue]
+ [-nomake <part>] [-R <string>] [-l <string>] [-no-rpath] [-rpath] [-continue]
[-verbose] [-v] [-silent] [-no-nis] [-nis] [-no-cups] [-cups] [-no-iconv]
[-iconv] [-no-pch] [-pch] [-no-dbus] [-dbus] [-dbus-linked]
[-no-separate-debug-info] [-no-mmx] [-no-3dnow] [-no-sse] [-no-sse2]
@@ -3227,7 +3257,7 @@ Usage: $relconf [-h] [-prefix <dir>] [-prefix-install] [-bindir <dir>] [-libdir
[-no-multimedia] [-multimedia] [-no-phonon] [-phonon] [-no-phonon-backend] [-phonon-backend]
[-no-openssl] [-openssl] [-openssl-linked]
[-no-gtkstyle] [-gtkstyle] [-no-svg] [-svg] [-no-webkit] [-webkit] [-no-javascript-jit] [-javascript-jit]
- [-no-script] [-script] [-no-scripttools] [-scripttools]
+ [-no-script] [-script] [-no-scripttools] [-scripttools] [-no-declarative] [-declarative]
[additional platform specific options (see below)]
@@ -3385,6 +3415,9 @@ fi
-no-scripttools .... Do not build the QtScriptTools module.
+ -scripttools ....... Build the QtScriptTools module.
+ + -no-declarative .....Do not build the declarative module.
+ -declarative ....... Build the declarative module.
+
-platform target ... The operating system and compiler you are building
on ($PLATFORM).
@@ -4063,12 +4096,17 @@ SETTINGS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_stngpath=$QT_I
EXAMPLES_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_xmplpath=$QT_INSTALL_EXAMPLES"`
DEMOS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_demopath=$QT_INSTALL_DEMOS"`
+TODAY=`date +%Y-%m-%d`
cat > "$outpath/src/corelib/global/qconfig.cpp.new" <<EOF
/* License Info */
static const char qt_configure_licensee_str [256 + 12] = "$LICENSE_USER_STR";
static const char qt_configure_licensed_products_str [256 + 12] = "$LICENSE_PRODUCTS_STR";
+
+/* Installation date */
+static const char qt_configure_installation [12+11] = "qt_instdate=$TODAY";
EOF
+
if [ ! -z "$QT_HOST_PREFIX" ]; then
HOSTPREFIX_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_prfxpath=$QT_HOST_PREFIX"`
HOSTDOCUMENTATION_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_docspath=$QT_HOST_PREFIX/doc"`
@@ -4150,6 +4188,23 @@ else
fi
# -----------------------------------------------------------------------------
+if [ "$LicenseType" = "Evaluation" ]; then
+ EVALKEY=`"$relpath/config.tests/unix/padstring" 524 "qt_qevalkey=$LicenseKeyExt"`
+elif echo "$D_FLAGS" | grep QT_EVAL >/dev/null 2>&1; then
+ EVALKEY=`"$relpath/config.tests/unix/padstring" 524 "qt_qevalkey="`
+fi
+
+if [ -n "$EVALKEY" ]; then
+ rm -f "$outpath/src/corelib/global/qconfig_eval.cpp"
+ cat > "$outpath/src/corelib/global/qconfig_eval.cpp" <<EOF
+/* Evaluation license key */
+static const char qt_eval_key_data [512 + 12] = "$EVALKEY";
+EOF
+ chmod -w "$outpath/src/corelib/global/qconfig_eval.cpp"
+fi
+
+
+# -----------------------------------------------------------------------------
# build qmake
# -----------------------------------------------------------------------------
@@ -5761,6 +5816,19 @@ if [ "$CFG_ALSA" = "auto" ]; then
fi
fi
+if [ -f "$relpath/src/declarative/declarative.pro" ]; then
+ if [ "$CFG_DECLARATIVE" = "auto" ]; then
+ CFG_DECLARATIVE=yes
+ fi
+else
+ if [ "$CFG_DECLARATIVE" = "auto" ] || [ "$CFG_DECLARATIVE" = "no" ]; then
+ CFG_DECLARATIVE=no
+ else
+ echo "Error: Unable to locate the qt-declarative package. Refer to the documentation on how to build the package."
+ exit 1
+ fi
+fi
+
if [ "$CFG_JAVASCRIPTCORE_JIT" = "yes" ] || [ "$CFG_JAVASCRIPTCORE_JIT" = "auto" ]; then
if [ "$CFG_ARCH" = "arm" ] || [ "$CFG_ARCH" = "armv6" ]; then
"$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/javascriptcore-jit "javascriptcore-jit" $L_FLAGS $I_FLAGS $l_FLAGS
@@ -6378,6 +6446,12 @@ else
QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_SVG"
fi
+if [ "$CFG_DECLARATIVE" = "yes" ]; then
+ QT_CONFIG="$QT_CONFIG declarative"
+else
+ QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_DECLARATIVE"
+fi
+
if [ "$CFG_WEBKIT" = "auto" ]; then
CFG_WEBKIT="$canBuildWebKit"
fi
@@ -7298,6 +7372,7 @@ if [ "$CFG_WEBKIT" = "yes" ]; then
echo "JavaScriptCore JIT .. $CFG_JAVASCRIPTCORE_JIT"
fi
fi
+echo "Declarative module .. $CFG_DECLARATIVE"
echo "STL support ......... $CFG_STL"
echo "PCH support ......... $CFG_PRECOMPILE"
echo "MMX/3DNOW/SSE/SSE2.. ${CFG_MMX}/${CFG_3DNOW}/${CFG_SSE}/${CFG_SSE2}"
diff --git a/configure.exe b/configure.exe
index dabf10c..7fe4a93 100755
--- a/configure.exe
+++ b/configure.exe
Binary files differ
diff --git a/demos/boxes/scene.cpp b/demos/boxes/scene.cpp
index 2b75f19..06dc0f9 100644
--- a/demos/boxes/scene.cpp
+++ b/demos/boxes/scene.cpp
@@ -552,14 +552,15 @@ void Scene::initGL()
{
m_box = new GLRoundedBox(0.25f, 1.0f, 10);
- m_vertexShader = new QGLShader(":/res/boxes/basic.vsh", QGLShader::VertexShader);
+ m_vertexShader = new QGLShader(QGLShader::Vertex);
+ m_vertexShader->compileSourceFile(QLatin1String(":/res/boxes/basic.vsh"));
QStringList list;
list << ":/res/boxes/cubemap_posx.jpg" << ":/res/boxes/cubemap_negx.jpg" << ":/res/boxes/cubemap_posy.jpg"
<< ":/res/boxes/cubemap_negy.jpg" << ":/res/boxes/cubemap_posz.jpg" << ":/res/boxes/cubemap_negz.jpg";
m_environment = new GLTextureCube(list, qMin(1024, m_maxTextureSize));
- m_environmentShader = new QGLShader(QGLShader::FragmentShader);
- m_environmentShader->compile(environmentShaderText);
+ m_environmentShader = new QGLShader(QGLShader::Fragment);
+ m_environmentShader->compileSourceCode(environmentShaderText);
m_environmentProgram = new QGLShaderProgram;
m_environmentProgram->addShader(m_vertexShader);
m_environmentProgram->addShader(m_environmentShader);
@@ -616,7 +617,8 @@ void Scene::initGL()
files = QDir(":/res/boxes/").entryInfoList(filter, QDir::Files | QDir::Readable);
foreach (QFileInfo file, files) {
QGLShaderProgram *program = new QGLShaderProgram;
- QGLShader* shader = new QGLShader(file.absoluteFilePath(), QGLShader::FragmentShader);
+ QGLShader* shader = new QGLShader(QGLShader::Fragment);
+ shader->compileSourceFile(file.absoluteFilePath());
// The program does not take ownership over the shaders, so store them in a vector so they can be deleted afterwards.
program->addShader(m_vertexShader);
program->addShader(shader);
@@ -638,9 +640,9 @@ void Scene::initGL()
m_programs << program;
m_renderOptions->addShader(file.baseName());
- program->enable();
+ program->bind();
m_cubemaps << ((program->uniformLocation("env") != -1) ? new GLRenderTargetCube(qMin(256, m_maxTextureSize)) : 0);
- program->disable();
+ program->release();
}
if (m_programs.size() == 0)
@@ -697,12 +699,12 @@ void Scene::renderBoxes(const QMatrix4x4 &view, int excludeBox)
// Don't render the environment if the environment texture can't be set for the correct sampler.
if (glActiveTexture) {
m_environment->bind();
- m_environmentProgram->enable();
+ m_environmentProgram->bind();
m_environmentProgram->setUniformValue("tex", GLint(0));
m_environmentProgram->setUniformValue("env", GLint(1));
m_environmentProgram->setUniformValue("noise", GLint(2));
m_box->draw();
- m_environmentProgram->disable();
+ m_environmentProgram->release();
m_environment->unbind();
}
@@ -730,14 +732,14 @@ void Scene::renderBoxes(const QMatrix4x4 &view, int excludeBox)
else
m_environment->bind();
}
- m_programs[i]->enable();
+ m_programs[i]->bind();
m_programs[i]->setUniformValue("tex", GLint(0));
m_programs[i]->setUniformValue("env", GLint(1));
m_programs[i]->setUniformValue("noise", GLint(2));
m_programs[i]->setUniformValue("view", view);
m_programs[i]->setUniformValue("invView", invView);
m_box->draw();
- m_programs[i]->disable();
+ m_programs[i]->release();
if (glActiveTexture) {
if (m_dynamicCubemap && m_cubemaps[i])
@@ -760,14 +762,14 @@ void Scene::renderBoxes(const QMatrix4x4 &view, int excludeBox)
m_environment->bind();
}
- m_programs[m_currentShader]->enable();
+ m_programs[m_currentShader]->bind();
m_programs[m_currentShader]->setUniformValue("tex", GLint(0));
m_programs[m_currentShader]->setUniformValue("env", GLint(1));
m_programs[m_currentShader]->setUniformValue("noise", GLint(2));
m_programs[m_currentShader]->setUniformValue("view", view);
m_programs[m_currentShader]->setUniformValue("invView", invView);
m_box->draw();
- m_programs[m_currentShader]->disable();
+ m_programs[m_currentShader]->release();
if (glActiveTexture) {
if (m_dynamicCubemap)
@@ -870,7 +872,7 @@ void Scene::renderCubemaps()
float angle = 2.0f * PI * i / m_cubemaps.size();
- center = m_trackBalls[1].rotation().rotateVector(QVector3D(cos(angle), sin(angle), 0.0f));
+ center = m_trackBalls[1].rotation().rotatedVector(QVector3D(cos(angle), sin(angle), 0.0f));
for (int face = 0; face < 6; ++face) {
m_cubemaps[i]->begin(face);
@@ -1046,9 +1048,9 @@ void Scene::setColorParameter(const QString &name, QRgb color)
{
// set the color in all programs
foreach (QGLShaderProgram *program, m_programs) {
- program->enable();
+ program->bind();
program->setUniformValue(program->uniformLocation(name), QColor(color));
- program->disable();
+ program->release();
}
}
@@ -1056,9 +1058,9 @@ void Scene::setFloatParameter(const QString &name, float value)
{
// set the color in all programs
foreach (QGLShaderProgram *program, m_programs) {
- program->enable();
+ program->bind();
program->setUniformValue(program->uniformLocation(name), value);
- program->disable();
+ program->release();
}
}
diff --git a/demos/boxes/trackball.cpp b/demos/boxes/trackball.cpp
index 2b1b2e4..76324e6 100644
--- a/demos/boxes/trackball.cpp
+++ b/demos/boxes/trackball.cpp
@@ -93,7 +93,7 @@ void TrackBall::move(const QPointF& p, const QQuaternion &transformation)
QLineF delta(m_lastPos, p);
m_angularVelocity = 180*delta.length() / (PI*msecs);
m_axis = QVector3D(-delta.dy(), delta.dx(), 0.0f).normalized();
- m_axis = transformation.rotateVector(m_axis);
+ m_axis = transformation.rotatedVector(m_axis);
m_rotation = QQuaternion::fromAxisAndAngle(m_axis, 180 / PI * delta.length()) * m_rotation;
}
break;
@@ -118,7 +118,7 @@ void TrackBall::move(const QPointF& p, const QQuaternion &transformation)
m_angularVelocity = angle / msecs;
m_axis.normalize();
- m_axis = transformation.rotateVector(m_axis);
+ m_axis = transformation.rotatedVector(m_axis);
m_rotation = QQuaternion::fromAxisAndAngle(m_axis, angle) * m_rotation;
}
break;
diff --git a/demos/embedded/anomaly/src/images/edit-find.png b/demos/embedded/anomaly/src/images/edit-find.png
index 5594785..b84b1e2 100644
--- a/demos/embedded/anomaly/src/images/edit-find.png
+++ b/demos/embedded/anomaly/src/images/edit-find.png
Binary files differ
diff --git a/demos/embedded/anomaly/src/images/go-next.png b/demos/embedded/anomaly/src/images/go-next.png
index a68e2db..ed89a36 100644
--- a/demos/embedded/anomaly/src/images/go-next.png
+++ b/demos/embedded/anomaly/src/images/go-next.png
Binary files differ
diff --git a/demos/embedded/anomaly/src/images/go-previous.png b/demos/embedded/anomaly/src/images/go-previous.png
index c37bc04..44e803d 100644
--- a/demos/embedded/anomaly/src/images/go-previous.png
+++ b/demos/embedded/anomaly/src/images/go-previous.png
Binary files differ
diff --git a/demos/embedded/desktopservices/data/designer.png b/demos/embedded/desktopservices/data/designer.png
index 0988fce..1485efa 100644
--- a/demos/embedded/desktopservices/data/designer.png
+++ b/demos/embedded/desktopservices/data/designer.png
Binary files differ
diff --git a/demos/embedded/desktopservices/data/sax.mp3 b/demos/embedded/desktopservices/data/sax.mp3
index 0a078b1..d77c817 100644
--- a/demos/embedded/desktopservices/data/sax.mp3
+++ b/demos/embedded/desktopservices/data/sax.mp3
Binary files differ
diff --git a/demos/embedded/desktopservices/resources/browser.png b/demos/embedded/desktopservices/resources/browser.png
index 28561e1..9ecda6b 100644
--- a/demos/embedded/desktopservices/resources/browser.png
+++ b/demos/embedded/desktopservices/resources/browser.png
Binary files differ
diff --git a/demos/embedded/desktopservices/resources/message.png b/demos/embedded/desktopservices/resources/message.png
index e30052b..78917c7 100644
--- a/demos/embedded/desktopservices/resources/message.png
+++ b/demos/embedded/desktopservices/resources/message.png
Binary files differ
diff --git a/demos/embedded/desktopservices/resources/music.png b/demos/embedded/desktopservices/resources/music.png
index 11a57bb..cc569cb 100644
--- a/demos/embedded/desktopservices/resources/music.png
+++ b/demos/embedded/desktopservices/resources/music.png
Binary files differ
diff --git a/demos/embedded/desktopservices/resources/photo.png b/demos/embedded/desktopservices/resources/photo.png
index 5ba15c1..ac81cf3 100644
--- a/demos/embedded/desktopservices/resources/photo.png
+++ b/demos/embedded/desktopservices/resources/photo.png
Binary files differ
diff --git a/demos/embedded/flightinfo/aircraft.png b/demos/embedded/flightinfo/aircraft.png
index 0845cb4..2312bcc 100644
--- a/demos/embedded/flightinfo/aircraft.png
+++ b/demos/embedded/flightinfo/aircraft.png
Binary files differ
diff --git a/demos/embedded/fluidlauncher/screenshots/context2d_s60.png b/demos/embedded/fluidlauncher/screenshots/context2d_s60.png
index c7225c7..9c288c9 100644
--- a/demos/embedded/fluidlauncher/screenshots/context2d_s60.png
+++ b/demos/embedded/fluidlauncher/screenshots/context2d_s60.png
Binary files differ
diff --git a/demos/embedded/fluidlauncher/screenshots/desktopservices_s60.png b/demos/embedded/fluidlauncher/screenshots/desktopservices_s60.png
index a429be3..64018f4 100644
--- a/demos/embedded/fluidlauncher/screenshots/desktopservices_s60.png
+++ b/demos/embedded/fluidlauncher/screenshots/desktopservices_s60.png
Binary files differ
diff --git a/demos/embedded/fluidlauncher/screenshots/digiflip.png b/demos/embedded/fluidlauncher/screenshots/digiflip.png
index 117b61b..c31a6f8 100644
--- a/demos/embedded/fluidlauncher/screenshots/digiflip.png
+++ b/demos/embedded/fluidlauncher/screenshots/digiflip.png
Binary files differ
diff --git a/demos/embedded/fluidlauncher/screenshots/flickable.png b/demos/embedded/fluidlauncher/screenshots/flickable.png
index 7080fc1..bad14bf 100644
--- a/demos/embedded/fluidlauncher/screenshots/flickable.png
+++ b/demos/embedded/fluidlauncher/screenshots/flickable.png
Binary files differ
diff --git a/demos/embedded/fluidlauncher/screenshots/flightinfo_s60.png b/demos/embedded/fluidlauncher/screenshots/flightinfo_s60.png
index 8a304eb..8e74d77 100644
--- a/demos/embedded/fluidlauncher/screenshots/flightinfo_s60.png
+++ b/demos/embedded/fluidlauncher/screenshots/flightinfo_s60.png
Binary files differ
diff --git a/demos/embedded/fluidlauncher/screenshots/lightmaps.png b/demos/embedded/fluidlauncher/screenshots/lightmaps.png
index 7cbe2e4..18aa74d 100644
--- a/demos/embedded/fluidlauncher/screenshots/lightmaps.png
+++ b/demos/embedded/fluidlauncher/screenshots/lightmaps.png
Binary files differ
diff --git a/demos/embedded/fluidlauncher/screenshots/mediaplayer.png b/demos/embedded/fluidlauncher/screenshots/mediaplayer.png
index 2d8a637..c9fd43c 100644
--- a/demos/embedded/fluidlauncher/screenshots/mediaplayer.png
+++ b/demos/embedded/fluidlauncher/screenshots/mediaplayer.png
Binary files differ
diff --git a/demos/embedded/fluidlauncher/screenshots/raycasting.png b/demos/embedded/fluidlauncher/screenshots/raycasting.png
index d3c86e9..b6b738a 100644
--- a/demos/embedded/fluidlauncher/screenshots/raycasting.png
+++ b/demos/embedded/fluidlauncher/screenshots/raycasting.png
Binary files differ
diff --git a/demos/embedded/fluidlauncher/screenshots/weatherinfo.png b/demos/embedded/fluidlauncher/screenshots/weatherinfo.png
index b18608d..7e23891 100644
--- a/demos/embedded/fluidlauncher/screenshots/weatherinfo.png
+++ b/demos/embedded/fluidlauncher/screenshots/weatherinfo.png
Binary files differ
diff --git a/demos/embedded/fluidlauncher/slides/demo_1.png b/demos/embedded/fluidlauncher/slides/demo_1.png
index d2952e5..d53d19d 100644
--- a/demos/embedded/fluidlauncher/slides/demo_1.png
+++ b/demos/embedded/fluidlauncher/slides/demo_1.png
Binary files differ
diff --git a/demos/embedded/fluidlauncher/slides/demo_2.png b/demos/embedded/fluidlauncher/slides/demo_2.png
index 1899825..f137de0 100644
--- a/demos/embedded/fluidlauncher/slides/demo_2.png
+++ b/demos/embedded/fluidlauncher/slides/demo_2.png
Binary files differ
diff --git a/demos/embedded/fluidlauncher/slides/demo_5.png b/demos/embedded/fluidlauncher/slides/demo_5.png
index 239f08a..0bb1781 100644
--- a/demos/embedded/fluidlauncher/slides/demo_5.png
+++ b/demos/embedded/fluidlauncher/slides/demo_5.png
Binary files differ
diff --git a/demos/embedded/fluidlauncher/slides/demo_6.png b/demos/embedded/fluidlauncher/slides/demo_6.png
index 0addf37..9daba67 100644
--- a/demos/embedded/fluidlauncher/slides/demo_6.png
+++ b/demos/embedded/fluidlauncher/slides/demo_6.png
Binary files differ
diff --git a/demos/embedded/raycasting/textures.png b/demos/embedded/raycasting/textures.png
index 839488b..2eb1ba7 100644
--- a/demos/embedded/raycasting/textures.png
+++ b/demos/embedded/raycasting/textures.png
Binary files differ
diff --git a/demos/embedded/weatherinfo/icons/weather-few-clouds.svg b/demos/embedded/weatherinfo/icons/weather-few-clouds.svg
index 57d45e9..a53e3d6 100644
--- a/demos/embedded/weatherinfo/icons/weather-few-clouds.svg
+++ b/demos/embedded/weatherinfo/icons/weather-few-clouds.svg
@@ -1,337 +1,70 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!-- Created with Inkscape (http://www.inkscape.org/) -->
-<svg
- xmlns:dc="http://purl.org/dc/elements/1.1/"
- xmlns:cc="http://creativecommons.org/ns#"
- xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns:svg="http://www.w3.org/2000/svg"
- xmlns="http://www.w3.org/2000/svg"
- xmlns:xlink="http://www.w3.org/1999/xlink"
- xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
- xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
- width="48px"
- height="48px"
- id="svg1306"
- sodipodi:version="0.32"
- inkscape:version="0.46"
- sodipodi:docbase="/home/garrett/Source/tango-icon-theme/scalable/status"
- sodipodi:docname="weather-few-clouds.svg"
- inkscape:output_extension="org.inkscape.output.svg.inkscape">
- <defs
- id="defs1308">
- <inkscape:perspective
- sodipodi:type="inkscape:persp3d"
- inkscape:vp_x="0 : 24 : 1"
- inkscape:vp_y="0 : 1000 : 0"
- inkscape:vp_z="48 : 24 : 1"
- inkscape:persp3d-origin="24 : 16 : 1"
- id="perspective108" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6538"
- id="linearGradient6724"
- gradientUnits="userSpaceOnUse"
- x1="284.80219"
- y1="-441.23294"
- x2="288.89954"
- y2="-436.83109" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6549"
- id="linearGradient6722"
- gradientUnits="userSpaceOnUse"
- x1="286.66589"
- y1="-439.48358"
- x2="289.76562"
- y2="-436.70703" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6527"
- id="linearGradient6720"
- gradientUnits="userSpaceOnUse"
- x1="275.94193"
- y1="-437.10501"
- x2="279.97546"
- y2="-431.91833" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6538"
- id="linearGradient6718"
- gradientUnits="userSpaceOnUse"
- x1="285.94086"
- y1="-439.93900"
- x2="289.39124"
- y2="-436.44290" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6513"
- id="linearGradient6716"
- gradientUnits="userSpaceOnUse"
- x1="286.51172"
- y1="-441.29074"
- x2="289.85379"
- y2="-436.14453" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6497"
- id="linearGradient6714"
- gradientUnits="userSpaceOnUse"
- x1="287.51730"
- y1="-439.75281"
- x2="289.67633"
- y2="-436.32199" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6470"
- id="linearGradient6712"
- gradientUnits="userSpaceOnUse"
- x1="271.02170"
- y1="-441.05182"
- x2="285.02859"
- y2="-431.96991" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6538"
- id="linearGradient6839"
- gradientUnits="userSpaceOnUse"
- x1="284.80219"
- y1="-441.23294"
- x2="288.89954"
- y2="-436.83109" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient6549">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop6551" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop6553" />
+<svg xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="48px" height="48px" id="svg1306">
+ <defs id="defs1308">
+ <linearGradient xlink:href="#linearGradient6538" id="linearGradient6724" gradientUnits="userSpaceOnUse" x1="284.80219" y1="-441.23294" x2="288.89954" y2="-436.83109"/>
+ <linearGradient xlink:href="#linearGradient6549" id="linearGradient6722" gradientUnits="userSpaceOnUse" x1="286.66589" y1="-439.48358" x2="289.76562" y2="-436.70703"/>
+ <linearGradient xlink:href="#linearGradient6527" id="linearGradient6720" gradientUnits="userSpaceOnUse" x1="275.94193" y1="-437.10501" x2="279.97546" y2="-431.91833"/>
+ <linearGradient xlink:href="#linearGradient6538" id="linearGradient6718" gradientUnits="userSpaceOnUse" x1="285.94086" y1="-439.93900" x2="289.39124" y2="-436.44290"/>
+ <linearGradient xlink:href="#linearGradient6513" id="linearGradient6716" gradientUnits="userSpaceOnUse" x1="286.51172" y1="-441.29074" x2="289.85379" y2="-436.14453"/>
+ <linearGradient xlink:href="#linearGradient6497" id="linearGradient6714" gradientUnits="userSpaceOnUse" x1="287.51730" y1="-439.75281" x2="289.67633" y2="-436.32199"/>
+ <linearGradient xlink:href="#linearGradient6470" id="linearGradient6712" gradientUnits="userSpaceOnUse" x1="271.02170" y1="-441.05182" x2="285.02859" y2="-431.96991"/>
+ <linearGradient xlink:href="#linearGradient6538" id="linearGradient6839" gradientUnits="userSpaceOnUse" x1="284.80219" y1="-441.23294" x2="288.89954" y2="-436.83109"/>
+ <linearGradient id="linearGradient6549">
+ <stop offset="0" id="stop6551" stop-color="#ffffff" stop-opacity="1"/>
+ <stop offset="1" id="stop6553" stop-color="#ffffff" stop-opacity="0"/>
</linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6549"
- id="linearGradient6837"
- gradientUnits="userSpaceOnUse"
- x1="286.66589"
- y1="-439.48358"
- x2="289.76562"
- y2="-436.70703" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient6527">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop6530" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop6532" />
+ <linearGradient xlink:href="#linearGradient6549" id="linearGradient6837" gradientUnits="userSpaceOnUse" x1="286.66589" y1="-439.48358" x2="289.76562" y2="-436.70703"/>
+ <linearGradient id="linearGradient6527">
+ <stop offset="0" id="stop6530" stop-color="#ffffff" stop-opacity="1"/>
+ <stop offset="1" id="stop6532" stop-color="#ffffff" stop-opacity="0"/>
</linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6527"
- id="linearGradient6835"
- gradientUnits="userSpaceOnUse"
- x1="275.94193"
- y1="-437.10501"
- x2="279.97546"
- y2="-431.91833" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient6538">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop6540" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop6542" />
+ <linearGradient xlink:href="#linearGradient6527" id="linearGradient6835" gradientUnits="userSpaceOnUse" x1="275.94193" y1="-437.10501" x2="279.97546" y2="-431.91833"/>
+ <linearGradient id="linearGradient6538">
+ <stop offset="0" id="stop6540" stop-color="#ffffff" stop-opacity="1"/>
+ <stop offset="1" id="stop6542" stop-color="#ffffff" stop-opacity="0"/>
</linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6538"
- id="linearGradient6833"
- gradientUnits="userSpaceOnUse"
- x1="285.94086"
- y1="-439.93900"
- x2="289.39124"
- y2="-436.44290" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient6513">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop6515" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop6517" />
+ <linearGradient xlink:href="#linearGradient6538" id="linearGradient6833" gradientUnits="userSpaceOnUse" x1="285.94086" y1="-439.93900" x2="289.39124" y2="-436.44290"/>
+ <linearGradient id="linearGradient6513">
+ <stop offset="0" id="stop6515" stop-color="#ffffff" stop-opacity="1"/>
+ <stop offset="1" id="stop6517" stop-color="#ffffff" stop-opacity="0"/>
</linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6513"
- id="linearGradient6831"
- gradientUnits="userSpaceOnUse"
- x1="286.51172"
- y1="-441.29074"
- x2="289.85379"
- y2="-436.14453" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient6497">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop6499" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop6501" />
+ <linearGradient xlink:href="#linearGradient6513" id="linearGradient6831" gradientUnits="userSpaceOnUse" x1="286.51172" y1="-441.29074" x2="289.85379" y2="-436.14453"/>
+ <linearGradient id="linearGradient6497">
+ <stop offset="0" id="stop6499" stop-color="#ffffff" stop-opacity="1"/>
+ <stop offset="1" id="stop6501" stop-color="#ffffff" stop-opacity="0"/>
</linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6497"
- id="linearGradient6829"
- gradientUnits="userSpaceOnUse"
- x1="287.51730"
- y1="-439.75281"
- x2="289.67633"
- y2="-436.32199" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient6470">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop6472" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop6474" />
+ <linearGradient xlink:href="#linearGradient6497" id="linearGradient6829" gradientUnits="userSpaceOnUse" x1="287.51730" y1="-439.75281" x2="289.67633" y2="-436.32199"/>
+ <linearGradient id="linearGradient6470">
+ <stop offset="0" id="stop6472" stop-color="#ffffff" stop-opacity="1"/>
+ <stop offset="1" id="stop6474" stop-color="#ffffff" stop-opacity="0"/>
</linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6470"
- id="linearGradient6827"
- gradientUnits="userSpaceOnUse"
- x1="271.02170"
- y1="-441.05182"
- x2="285.02859"
- y2="-431.96991" />
- <linearGradient
- id="linearGradient4083">
- <stop
- id="stop4085"
- offset="0"
- style="stop-color:#ffffff;stop-opacity:0;" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="0.75"
- id="stop4089" />
- <stop
- id="stop4087"
- offset="1"
- style="stop-color:#ffffff;stop-opacity:1;" />
+ <linearGradient xlink:href="#linearGradient6470" id="linearGradient6827" gradientUnits="userSpaceOnUse" x1="271.02170" y1="-441.05182" x2="285.02859" y2="-431.96991"/>
+ <linearGradient id="linearGradient4083">
+ <stop id="stop4085" offset="0" stop-color="#ffffff" stop-opacity="0"/>
+ <stop offset="0.75" id="stop4089" stop-color="#ffffff" stop-opacity="0"/>
+ <stop id="stop4087" offset="1" stop-color="#ffffff" stop-opacity="1"/>
</linearGradient>
- <linearGradient
- id="linearGradient4032">
- <stop
- id="stop4034"
- offset="0"
- style="stop-color:#fff7c2;stop-opacity:0.63829786" />
- <stop
- style="stop-color:#fcaf3e;stop-opacity:0.18348624;"
- offset="0.59394139"
- id="stop4036" />
- <stop
- id="stop4038"
- offset="0.83850551"
- style="stop-color:#fcaf3e;stop-opacity:0.50458717;" />
- <stop
- id="stop4040"
- offset="1"
- style="stop-color:#fcaf3e;stop-opacity:1;" />
+ <linearGradient id="linearGradient4032">
+ <stop id="stop4034" offset="0" stop-color="#fff7c2" stop-opacity="0.63829786"/>
+ <stop offset="0.59394139" id="stop4036" stop-color="#fcaf3e" stop-opacity="0.18348624"/>
+ <stop id="stop4038" offset="0.83850551" stop-color="#fcaf3e" stop-opacity="0.50458717"/>
+ <stop id="stop4040" offset="1" stop-color="#fcaf3e" stop-opacity="1"/>
</linearGradient>
- <linearGradient
- id="linearGradient4026">
- <stop
- id="stop4028"
- offset="0"
- style="stop-color:#fff9c6;stop-opacity:1" />
- <stop
- style="stop-color:#fff28c;stop-opacity:1;"
- offset="0.54166669"
- id="stop4042" />
- <stop
- id="stop4030"
- offset="1"
- style="stop-color:#ffea85;stop-opacity:1;" />
+ <linearGradient id="linearGradient4026">
+ <stop id="stop4028" offset="0" stop-color="#fff9c6" stop-opacity="1"/>
+ <stop offset="0.54166669" id="stop4042" stop-color="#fff28c" stop-opacity="1"/>
+ <stop id="stop4030" offset="1" stop-color="#ffea85" stop-opacity="1"/>
</linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient4026"
- id="linearGradient3168"
- gradientUnits="userSpaceOnUse"
- x1="-28.968945"
- y1="-25.326815"
- x2="-37.19698"
- y2="-9.5590506" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient4032"
- id="radialGradient4020"
- cx="-33.519073"
- cy="-22.113297"
- fx="-33.519073"
- fy="-22.113297"
- r="9.5"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.487739,1.292402,-1.10267,0.497242,-41.77393,32.41492)" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient4083"
- id="radialGradient4081"
- cx="23.99999"
- cy="23.381506"
- fx="23.99999"
- fy="23.381506"
- r="19.141981"
- gradientTransform="matrix(1.006701,2.235326e-16,-2.23715e-16,1.007522,-0.160816,0.426981)"
- gradientUnits="userSpaceOnUse" />
+ <linearGradient xlink:href="#linearGradient4026" id="linearGradient3168" gradientUnits="userSpaceOnUse" x1="-28.968945" y1="-25.326815" x2="-37.19698" y2="-9.5590506"/>
+ <radialGradient xlink:href="#linearGradient4032" id="radialGradient4020" cx="-33.519073" cy="-22.113297" fx="-33.519073" fy="-22.113297" r="9.5" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.487739,1.292402,-1.10267,0.497242,-41.77393,32.41492)"/>
+ <radialGradient xlink:href="#linearGradient4083" id="radialGradient4081" cx="23.99999" cy="23.381506" fx="23.99999" fy="23.381506" r="19.141981" gradientTransform="matrix(1.006701,2.235326e-16,-2.23715e-16,1.007522,-0.160816,0.426981)" gradientUnits="userSpaceOnUse"/>
</defs>
- <sodipodi:namedview
- id="base"
- pagecolor="#ffffff"
- bordercolor="#666666"
- borderopacity="1.0"
- inkscape:pageopacity="0.0"
- inkscape:pageshadow="2"
- inkscape:zoom="10.54135"
- inkscape:cx="8.0181254"
- inkscape:cy="24.950603"
- inkscape:current-layer="layer1"
- showgrid="true"
- inkscape:grid-bbox="true"
- inkscape:document-units="px"
- inkscape:window-width="859"
- inkscape:window-height="818"
- inkscape:window-x="0"
- inkscape:window-y="30"
- inkscape:showpageshadow="false" />
- <metadata
- id="metadata1311">
+
+ <metadata id="metadata1311">
<rdf:RDF>
- <cc:Work
- rdf:about="">
+ <cc:Work rdf:about="">
<dc:format>image/svg+xml</dc:format>
- <dc:type
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
<dc:title>weather-clear</dc:title>
<dc:date>January 2006</dc:date>
<dc:creator>
@@ -352,386 +85,88 @@
<rdf:li>notification</rdf:li>
</rdf:Bag>
</dc:subject>
- <cc:license
- rdf:resource="http://creativecommons.org/licenses/publicdomain/" />
+ <cc:license rdf:resource="http://creativecommons.org/licenses/publicdomain/"/>
<dc:contributor>
<cc:Agent>
<dc:title>Garrett LeSage</dc:title>
</cc:Agent>
</dc:contributor>
</cc:Work>
- <cc:License
- rdf:about="http://creativecommons.org/licenses/publicdomain/">
- <cc:permits
- rdf:resource="http://creativecommons.org/ns#Reproduction" />
- <cc:permits
- rdf:resource="http://creativecommons.org/ns#Distribution" />
- <cc:permits
- rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
+ <cc:License rdf:about="http://creativecommons.org/licenses/publicdomain/">
+ <cc:permits rdf:resource="http://creativecommons.org/ns#Reproduction"/>
+ <cc:permits rdf:resource="http://creativecommons.org/ns#Distribution"/>
+ <cc:permits rdf:resource="http://creativecommons.org/ns#DerivativeWorks"/>
</cc:License>
</rdf:RDF>
</metadata>
- <g
- id="layer1"
- inkscape:label="Layer 1"
- inkscape:groupmode="layer">
- <g
- id="g6783"
- transform="translate(-263.99,459.9855)">
- <path
- sodipodi:nodetypes="ccsscsssscsscc"
- id="path6785"
- d="M 280.50000,-445.50000 C 278.22917,-445.50000 276.39009,-443.94972 275.78125,-441.87500 C 275.08802,-442.23883 274.33674,-442.50000 273.50000,-442.50000 C 270.74000,-442.50000 268.49999,-440.26001 268.50000,-437.50000 C 268.50000,-436.92107 268.66252,-436.39230 268.84375,-435.87500 C 267.47028,-435.10426 266.50000,-433.68600 266.50000,-432.00000 C 266.50000,-429.51600 268.51600,-427.49999 271.00000,-427.50000 C 271.17713,-427.50000 289.82287,-427.50000 290.00000,-427.50000 C 292.48399,-427.50000 294.50000,-429.51600 294.50000,-432.00000 C 294.50000,-433.68600 293.52972,-435.10426 292.15625,-435.87500 C 292.33749,-436.39229 292.50000,-436.92108 292.50000,-437.50000 C 292.50000,-440.26000 290.26000,-442.49999 287.50000,-442.50000 C 286.66326,-442.50000 285.91198,-442.23883 285.21875,-441.87500 C 284.60991,-443.94972 282.77083,-445.50000 280.50000,-445.50000 z "
- style="fill:#c4c5c2;fill-opacity:1.0000000;stroke:#888a85;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000" />
- <path
- sodipodi:nodetypes="ccsscsssscsscc"
- id="path6787"
- d="M 280.50000,-445.00000 C 278.31028,-445.00000 276.77640,-443.66423 276.10445,-441.15648 C 275.43599,-441.50010 274.55686,-441.98983 273.75000,-441.98983 C 271.03349,-441.98983 268.99486,-440.05101 268.99487,-437.44429 C 268.99487,-436.89752 269.26208,-436.11085 269.43683,-435.62228 C 268.11240,-434.89433 267.00000,-433.73178 267.00000,-432.24973 C 267.00000,-429.90368 268.54617,-427.99964 271.33928,-427.99964 C 271.51009,-427.99964 289.48992,-427.99964 289.66072,-427.99964 C 292.43173,-427.99964 294.00000,-429.90368 294.00000,-432.24973 C 294.00000,-433.84210 292.88760,-434.91642 291.56317,-435.64437 C 291.73793,-436.13293 292.02724,-436.89753 292.02724,-437.44429 C 292.02724,-440.05100 289.91143,-442.01192 287.25001,-442.01193 C 286.44314,-442.01193 285.60820,-441.52219 284.93974,-441.17857 C 284.29089,-443.60011 282.68973,-445.00000 280.50000,-445.00000 z "
- style="opacity:1.0000000;fill:url(#linearGradient6827);fill-opacity:1.0000000;stroke:none;stroke-width:0.99999958;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000" />
- <g
- id="g6789">
- <path
- sodipodi:type="arc"
- style="opacity:1.0000000;fill:#c4c5c2;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- id="path6791"
- sodipodi:cx="288.37500"
- sodipodi:cy="-437.59375"
- sodipodi:rx="3.3125000"
- sodipodi:ry="3.3125000"
- d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z"
- transform="matrix(1.056604,0.000000,0.000000,1.056604,-24.19818,21.86331)" />
- <path
- sodipodi:type="arc"
- style="opacity:1.0000000;fill:url(#linearGradient6829);fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- id="path6793"
- sodipodi:cx="288.37500"
- sodipodi:cy="-437.59375"
- sodipodi:rx="3.3125000"
- sodipodi:ry="3.3125000"
- d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z"
- transform="matrix(1.056604,0.000000,0.000000,1.056604,-24.19818,21.86331)" />
+ <g id="layer1">
+ <g transform="translate(-263.99,459.9855)">
+ <path d="M 280.50000,-445.50000 C 278.22917,-445.50000 276.39009,-443.94972 275.78125,-441.87500 C 275.08802,-442.23883 274.33674,-442.50000 273.50000,-442.50000 C 270.74000,-442.50000 268.49999,-440.26001 268.50000,-437.50000 C 268.50000,-436.92107 268.66252,-436.39230 268.84375,-435.87500 C 267.47028,-435.10426 266.50000,-433.68600 266.50000,-432.00000 C 266.50000,-429.51600 268.51600,-427.49999 271.00000,-427.50000 C 271.17713,-427.50000 289.82287,-427.50000 290.00000,-427.50000 C 292.48399,-427.50000 294.50000,-429.51600 294.50000,-432.00000 C 294.50000,-433.68600 293.52972,-435.10426 292.15625,-435.87500 C 292.33749,-436.39229 292.50000,-436.92108 292.50000,-437.50000 C 292.50000,-440.26000 290.26000,-442.49999 287.50000,-442.50000 C 286.66326,-442.50000 285.91198,-442.23883 285.21875,-441.87500 C 284.60991,-443.94972 282.77083,-445.50000 280.50000,-445.50000 z " fill="#c4c5c2" fill-opacity="1.0000000" stroke="#888a85" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path d="M 280.50000,-445.00000 C 278.31028,-445.00000 276.77640,-443.66423 276.10445,-441.15648 C 275.43599,-441.50010 274.55686,-441.98983 273.75000,-441.98983 C 271.03349,-441.98983 268.99486,-440.05101 268.99487,-437.44429 C 268.99487,-436.89752 269.26208,-436.11085 269.43683,-435.62228 C 268.11240,-434.89433 267.00000,-433.73178 267.00000,-432.24973 C 267.00000,-429.90368 268.54617,-427.99964 271.33928,-427.99964 C 271.51009,-427.99964 289.48992,-427.99964 289.66072,-427.99964 C 292.43173,-427.99964 294.00000,-429.90368 294.00000,-432.24973 C 294.00000,-433.84210 292.88760,-434.91642 291.56317,-435.64437 C 291.73793,-436.13293 292.02724,-436.89753 292.02724,-437.44429 C 292.02724,-440.05100 289.91143,-442.01192 287.25001,-442.01193 C 286.44314,-442.01193 285.60820,-441.52219 284.93974,-441.17857 C 284.29089,-443.60011 282.68973,-445.00000 280.50000,-445.00000 z " opacity="1.0000000" fill="url(#linearGradient6827)" fill-opacity="1.0000000" stroke="none" stroke-width="0.99999958" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <g>
+ <path d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z" transform="matrix(1.056604,0.000000,0.000000,1.056604,-24.19818,21.86331)" opacity="1.0000000" fill="#c4c5c2" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z" transform="matrix(1.056604,0.000000,0.000000,1.056604,-24.19818,21.86331)" opacity="1.0000000" fill="url(#linearGradient6829)" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
</g>
- <rect
- y="-438.00000"
- x="271.00000"
- height="9.0000000"
- width="20.000000"
- id="rect6795"
- style="opacity:1.0000000;fill:#c4c5c2;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000" />
- <path
- transform="matrix(0.905660,0.000000,0.000000,0.905660,9.830195,-35.68869)"
- d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z"
- sodipodi:ry="3.3125000"
- sodipodi:rx="3.3125000"
- sodipodi:cy="-437.59375"
- sodipodi:cx="288.37500"
- id="path6797"
- style="opacity:1.0000000;fill:#c4c5c2;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- sodipodi:type="arc" />
- <g
- id="g6799">
- <path
- sodipodi:type="arc"
- style="opacity:1.0000000;fill:#c4c5c2;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- id="path6801"
- sodipodi:cx="288.37500"
- sodipodi:cy="-437.59375"
- sodipodi:rx="3.3125000"
- sodipodi:ry="3.3125000"
- d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z"
- transform="matrix(1.056604,0.000000,0.000000,1.056604,-17.19811,24.86321)" />
- <path
- sodipodi:type="arc"
- style="opacity:1.0000000;fill:url(#linearGradient6831);fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- id="path6803"
- sodipodi:cx="288.37500"
- sodipodi:cy="-437.59375"
- sodipodi:rx="3.3125000"
- sodipodi:ry="3.3125000"
- d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z"
- transform="matrix(1.056604,0.000000,0.000000,1.056604,-17.19818,24.86331)" />
+ <rect y="-438.00000" x="271.00000" height="9.0000000" width="20.000000" opacity="1.0000000" fill="#c4c5c2" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path transform="matrix(0.905660,0.000000,0.000000,0.905660,9.830195,-35.68869)" d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z" opacity="1.0000000" fill="#c4c5c2" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <g>
+ <path d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z" transform="matrix(1.056604,0.000000,0.000000,1.056604,-17.19811,24.86321)" opacity="1.0000000" fill="#c4c5c2" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z" transform="matrix(1.056604,0.000000,0.000000,1.056604,-17.19818,24.86331)" opacity="1.0000000" fill="url(#linearGradient6831)" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
</g>
- <g
- id="g6805">
- <path
- sodipodi:type="arc"
- style="opacity:1.0000000;fill:#c4c5c2;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- id="path6807"
- sodipodi:cx="288.37500"
- sodipodi:cy="-437.59375"
- sodipodi:rx="3.3125000"
- sodipodi:ry="3.3125000"
- d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z"
- transform="matrix(1.056604,0.000000,0.000000,1.056604,-31.19818,24.86331)" />
- <path
- sodipodi:type="arc"
- style="opacity:1.0000000;fill:url(#linearGradient6833);fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- id="path6809"
- sodipodi:cx="288.37500"
- sodipodi:cy="-437.59375"
- sodipodi:rx="3.3125000"
- sodipodi:ry="3.3125000"
- d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z"
- transform="matrix(1.056604,0.000000,0.000000,1.056604,-31.19818,24.86331)" />
+ <g>
+ <path d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z" transform="matrix(1.056604,0.000000,0.000000,1.056604,-31.19818,24.86331)" opacity="1.0000000" fill="#c4c5c2" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z" transform="matrix(1.056604,0.000000,0.000000,1.056604,-31.19818,24.86331)" opacity="1.0000000" fill="url(#linearGradient6833)" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
</g>
- <g
- transform="translate(-1.000000,0.000000)"
- id="g6811">
- <path
- style="opacity:1.0000000;fill:#c4c5c2;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- d="M 280.46875,-440.96875 C 276.88937,-440.96875 274.00000,-438.04812 274.00000,-434.46875 C 274.00000,-432.09807 275.34943,-430.13096 277.25000,-429.00000 L 283.71875,-429.00000 C 285.61932,-430.13096 286.96875,-432.12931 286.96875,-434.50000 C 286.96875,-438.07938 284.04812,-440.96875 280.46875,-440.96875 z "
- id="path6813" />
- <path
- style="opacity:1.0000000;fill:url(#linearGradient6835);fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- d="M 280.50000,-441.00000 C 276.91200,-441.00000 274.00000,-438.08799 274.00000,-434.50000 C 274.00000,-432.12360 275.34485,-430.13368 277.25000,-429.00000 L 283.75000,-429.00000 C 285.65515,-430.13368 287.00000,-432.12360 287.00000,-434.50000 C 287.00000,-438.08800 284.08800,-440.99999 280.50000,-441.00000 z "
- id="path6815" />
+ <g transform="translate(-1.000000,0.000000)">
+ <path d="M 280.46875,-440.96875 C 276.88937,-440.96875 274.00000,-438.04812 274.00000,-434.46875 C 274.00000,-432.09807 275.34943,-430.13096 277.25000,-429.00000 L 283.71875,-429.00000 C 285.61932,-430.13096 286.96875,-432.12931 286.96875,-434.50000 C 286.96875,-438.07938 284.04812,-440.96875 280.46875,-440.96875 z " opacity="1.0000000" fill="#c4c5c2" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path d="M 280.50000,-441.00000 C 276.91200,-441.00000 274.00000,-438.08799 274.00000,-434.50000 C 274.00000,-432.12360 275.34485,-430.13368 277.25000,-429.00000 L 283.75000,-429.00000 C 285.65515,-430.13368 287.00000,-432.12360 287.00000,-434.50000 C 287.00000,-438.08800 284.08800,-440.99999 280.50000,-441.00000 z " opacity="1.0000000" fill="url(#linearGradient6835)" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
</g>
- <path
- transform="matrix(0.905660,0.000000,0.000000,0.905660,9.830296,-35.68884)"
- d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z"
- sodipodi:ry="3.3125000"
- sodipodi:rx="3.3125000"
- sodipodi:cy="-437.59375"
- sodipodi:cx="288.37500"
- id="path6817"
- style="opacity:1.0000000;fill:url(#linearGradient6837);fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- sodipodi:type="arc" />
- <path
- sodipodi:nodetypes="ccss"
- id="path6819"
- d="M 292.95640,-437.33396 C 292.95487,-434.64940 289.68714,-433.62001 289.68714,-433.62001 C 289.68714,-433.62001 292.03588,-435.24596 292.02399,-437.32502 C 292.02399,-437.32502 292.95640,-437.33396 292.95640,-437.33396 z "
- style="fill:#888a85;fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000" />
- <g
- transform="matrix(1.142857,0.000000,0.000000,1.142857,-28.57139,67.00008)"
- id="g6821">
- <path
- sodipodi:type="arc"
- style="opacity:1.0000000;fill:#c4c5c2;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- id="path6823"
- sodipodi:cx="288.37500"
- sodipodi:cy="-437.59375"
- sodipodi:rx="3.3125000"
- sodipodi:ry="3.3125000"
- d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z"
- transform="matrix(1.056604,0.000000,0.000000,1.056604,-31.19818,24.86331)" />
- <path
- sodipodi:type="arc"
- style="opacity:1.0000000;fill:url(#linearGradient6839);fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- id="path6825"
- sodipodi:cx="288.37500"
- sodipodi:cy="-437.59375"
- sodipodi:rx="3.3125000"
- sodipodi:ry="3.3125000"
- d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z"
- transform="matrix(1.056604,0.000000,0.000000,1.056604,-31.19818,24.86331)" />
+ <path transform="matrix(0.905660,0.000000,0.000000,0.905660,9.830296,-35.68884)" d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z" opacity="1.0000000" fill="url(#linearGradient6837)" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path d="M 292.95640,-437.33396 C 292.95487,-434.64940 289.68714,-433.62001 289.68714,-433.62001 C 289.68714,-433.62001 292.03588,-435.24596 292.02399,-437.32502 C 292.02399,-437.32502 292.95640,-437.33396 292.95640,-437.33396 z " fill="#888a85" fill-opacity="1.0000000" fill-rule="evenodd" stroke="none" stroke-width="1.0000000px" stroke-linecap="butt" stroke-linejoin="miter" stroke-opacity="1.0000000"/>
+ <g transform="matrix(1.142857,0.000000,0.000000,1.142857,-28.57139,67.00008)">
+ <path d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z" transform="matrix(1.056604,0.000000,0.000000,1.056604,-31.19818,24.86331)" opacity="1.0000000" fill="#c4c5c2" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z" transform="matrix(1.056604,0.000000,0.000000,1.056604,-31.19818,24.86331)" opacity="1.0000000" fill="url(#linearGradient6839)" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
</g>
</g>
- <g
- id="g3936">
- <g
- style="opacity:0.7"
- id="g4091">
- <path
- style="fill:#fce94f;fill-opacity:1;stroke:#fcaf3e;stroke-width:0.73732895;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
- d="M 24 2.5 L 21.625 9.1875 C 22.399034 9.0641318 23.191406 9 24 9 C 24.808594 9 25.600966 9.0641317 26.375 9.1875 L 24 2.5 z M 8.8125 8.78125 L 11.84375 15.21875 C 12.779034 13.928569 13.928569 12.779034 15.21875 11.84375 L 8.8125 8.78125 z M 39.21875 8.78125 L 32.78125 11.84375 C 34.071431 12.779034 35.220966 13.928569 36.15625 15.21875 L 39.21875 8.78125 z M 9.1875 21.59375 L 2.5 23.96875 L 9.1875 26.34375 C 9.0673373 25.57952 9 24.797813 9 24 C 9 23.180625 9.0608858 22.377571 9.1875 21.59375 z M 38.8125 21.625 C 38.935868 22.399034 39 23.191406 39 24 C 39 24.808594 38.935868 25.600966 38.8125 26.375 L 45.5 24 L 38.8125 21.625 z M 11.84375 32.78125 L 8.8125 39.1875 L 15.21875 36.15625 C 13.928569 35.220966 12.779034 34.071431 11.84375 32.78125 z M 36.15625 32.78125 C 35.229789 34.05926 34.087617 35.194799 32.8125 36.125 L 39.21875 39.1875 L 36.15625 32.78125 z M 21.625 38.8125 L 24 45.5 L 26.375 38.8125 C 25.600966 38.935868 24.808594 39 24 39 C 23.191406 39 22.399034 38.935868 21.625 38.8125 z "
- id="path7492" />
- <path
- style="fill:none;fill-opacity:1;stroke:url(#radialGradient4081);stroke-width:0.84646249;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
- d="M 24 5.25 L 22.65625 9.0625 C 23.098888 9.0231486 23.547187 9 24 9 C 24.452813 9 24.901112 9.0231486 25.34375 9.0625 L 24 5.25 z M 10.78125 10.75 L 12.5 14.375 C 13.071538 13.694089 13.724004 13.038745 14.40625 12.46875 L 10.78125 10.75 z M 37.25 10.75 L 33.625 12.46875 C 34.304675 13.038189 34.961811 13.695325 35.53125 14.375 L 37.25 10.75 z M 9.0625 22.625 L 5.28125 23.96875 L 9.0625 25.3125 C 9.024981 24.880146 9 24.442031 9 24 C 9 23.536406 9.0212735 23.077908 9.0625 22.625 z M 38.9375 22.65625 C 38.976851 23.098888 39 23.547187 39 24 C 39 24.452813 38.976851 24.901112 38.9375 25.34375 L 42.71875 24 L 38.9375 22.65625 z M 35.53125 33.59375 C 34.958293 34.27954 34.309985 34.957363 33.625 35.53125 L 37.25 37.25 L 35.53125 33.59375 z M 12.5 33.625 L 10.78125 37.21875 L 14.375 35.5 C 13.702932 34.935884 13.064116 34.297068 12.5 33.625 z M 22.65625 38.9375 L 24 42.71875 L 25.34375 38.9375 C 24.901112 38.976851 24.452813 39 24 39 C 23.547187 39 23.098888 38.976851 22.65625 38.9375 z "
- id="path7494" />
+ <g>
+ <g opacity="0.7">
+ <path d="M 24 2.5 L 21.625 9.1875 C 22.399034 9.0641318 23.191406 9 24 9 C 24.808594 9 25.600966 9.0641317 26.375 9.1875 L 24 2.5 z M 8.8125 8.78125 L 11.84375 15.21875 C 12.779034 13.928569 13.928569 12.779034 15.21875 11.84375 L 8.8125 8.78125 z M 39.21875 8.78125 L 32.78125 11.84375 C 34.071431 12.779034 35.220966 13.928569 36.15625 15.21875 L 39.21875 8.78125 z M 9.1875 21.59375 L 2.5 23.96875 L 9.1875 26.34375 C 9.0673373 25.57952 9 24.797813 9 24 C 9 23.180625 9.0608858 22.377571 9.1875 21.59375 z M 38.8125 21.625 C 38.935868 22.399034 39 23.191406 39 24 C 39 24.808594 38.935868 25.600966 38.8125 26.375 L 45.5 24 L 38.8125 21.625 z M 11.84375 32.78125 L 8.8125 39.1875 L 15.21875 36.15625 C 13.928569 35.220966 12.779034 34.071431 11.84375 32.78125 z M 36.15625 32.78125 C 35.229789 34.05926 34.087617 35.194799 32.8125 36.125 L 39.21875 39.1875 L 36.15625 32.78125 z M 21.625 38.8125 L 24 45.5 L 26.375 38.8125 C 25.600966 38.935868 24.808594 39 24 39 C 23.191406 39 22.399034 38.935868 21.625 38.8125 z " fill="#fce94f" fill-opacity="1" stroke="#fcaf3e" stroke-width="0.73732895" stroke-linecap="square" stroke-linejoin="miter" stroke-miterlimit="4" stroke-dasharray="none" stroke-opacity="1"/>
+ <path d="M 24 5.25 L 22.65625 9.0625 C 23.098888 9.0231486 23.547187 9 24 9 C 24.452813 9 24.901112 9.0231486 25.34375 9.0625 L 24 5.25 z M 10.78125 10.75 L 12.5 14.375 C 13.071538 13.694089 13.724004 13.038745 14.40625 12.46875 L 10.78125 10.75 z M 37.25 10.75 L 33.625 12.46875 C 34.304675 13.038189 34.961811 13.695325 35.53125 14.375 L 37.25 10.75 z M 9.0625 22.625 L 5.28125 23.96875 L 9.0625 25.3125 C 9.024981 24.880146 9 24.442031 9 24 C 9 23.536406 9.0212735 23.077908 9.0625 22.625 z M 38.9375 22.65625 C 38.976851 23.098888 39 23.547187 39 24 C 39 24.452813 38.976851 24.901112 38.9375 25.34375 L 42.71875 24 L 38.9375 22.65625 z M 35.53125 33.59375 C 34.958293 34.27954 34.309985 34.957363 33.625 35.53125 L 37.25 37.25 L 35.53125 33.59375 z M 12.5 33.625 L 10.78125 37.21875 L 14.375 35.5 C 13.702932 34.935884 13.064116 34.297068 12.5 33.625 z M 22.65625 38.9375 L 24 42.71875 L 25.34375 38.9375 C 24.901112 38.976851 24.452813 39 24 39 C 23.547187 39 23.098888 38.976851 22.65625 38.9375 z " fill="none" fill-opacity="1" stroke="url(#radialGradient4081)" stroke-width="0.84646249" stroke-linecap="square" stroke-linejoin="miter" stroke-miterlimit="4" stroke-dasharray="none" stroke-opacity="1"/>
</g>
- <g
- id="g4046">
- <g
- id="g3931">
- <path
- inkscape:r_cy="true"
- inkscape:r_cx="true"
- transform="matrix(0.778062,-1.061285,1.061287,0.778062,67.47952,3.641324)"
- d="M -22.5 -17.5 A 9.5 9.5 0 1 1 -41.5,-17.5 A 9.5 9.5 0 1 1 -22.5 -17.5 z"
- sodipodi:ry="9.5"
- sodipodi:rx="9.5"
- sodipodi:cy="-17.5"
- sodipodi:cx="-32"
- id="path7498"
- style="fill:#ffee54;fill-opacity:1;stroke:#fcaf3e;stroke-width:0.75991178;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
- sodipodi:type="arc" />
- <path
- inkscape:r_cy="true"
- inkscape:r_cx="true"
- transform="matrix(1.244257,-0.167707,0.216642,1.251844,67.61648,40.527)"
- d="M -22.5 -17.5 A 9.5 9.5 0 1 1 -41.5,-17.5 A 9.5 9.5 0 1 1 -22.5 -17.5 z"
- sodipodi:ry="9.5"
- sodipodi:rx="9.5"
- sodipodi:cy="-17.5"
- sodipodi:cx="-32"
- id="path7500"
- style="fill:url(#radialGradient4020);fill-opacity:1;stroke:none;stroke-width:1.01737845;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
- sodipodi:type="arc" />
- <path
- inkscape:r_cy="true"
- inkscape:r_cx="true"
- transform="matrix(0.715791,-0.976349,0.97635,0.715792,64.00044,5.269544)"
- d="M -22.5 -17.5 A 9.5 9.5 0 1 1 -41.5,-17.5 A 9.5 9.5 0 1 1 -22.5 -17.5 z"
- sodipodi:ry="9.5"
- sodipodi:rx="9.5"
- sodipodi:cy="-17.5"
- sodipodi:cx="-32"
- id="path7502"
- style="fill:none;fill-opacity:1;stroke:url(#linearGradient3168);stroke-width:0.82601947;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
- sodipodi:type="arc" />
+ <g>
+ <g>
+ <path transform="matrix(0.778062,-1.061285,1.061287,0.778062,67.47952,3.641324)" d="M -22.5 -17.5 A 9.5 9.5 0 1 1 -41.5,-17.5 A 9.5 9.5 0 1 1 -22.5 -17.5 z" fill="#ffee54" fill-opacity="1" stroke="#fcaf3e" stroke-width="0.75991178" stroke-linecap="square" stroke-linejoin="miter" stroke-miterlimit="4" stroke-dasharray="none" stroke-opacity="1"/>
+ <path transform="matrix(1.244257,-0.167707,0.216642,1.251844,67.61648,40.527)" d="M -22.5 -17.5 A 9.5 9.5 0 1 1 -41.5,-17.5 A 9.5 9.5 0 1 1 -22.5 -17.5 z" fill="url(#radialGradient4020)" fill-opacity="1" stroke="none" stroke-width="1.01737845" stroke-linecap="square" stroke-linejoin="miter" stroke-miterlimit="4" stroke-dasharray="none" stroke-opacity="1"/>
+ <path transform="matrix(0.715791,-0.976349,0.97635,0.715792,64.00044,5.269544)" d="M -22.5 -17.5 A 9.5 9.5 0 1 1 -41.5,-17.5 A 9.5 9.5 0 1 1 -22.5 -17.5 z" fill="none" fill-opacity="1" stroke="url(#linearGradient3168)" stroke-width="0.82601947" stroke-linecap="square" stroke-linejoin="miter" stroke-miterlimit="4" stroke-dasharray="none" stroke-opacity="1"/>
</g>
</g>
</g>
- <g
- id="g6668"
- transform="translate(-248.99,467.9855)">
- <path
- sodipodi:nodetypes="ccsscsssscsscc"
- id="path6670"
- d="M 280.50000,-445.50000 C 278.22917,-445.50000 276.39009,-443.94972 275.78125,-441.87500 C 275.08802,-442.23883 274.33674,-442.50000 273.50000,-442.50000 C 270.74000,-442.50000 268.49999,-440.26001 268.50000,-437.50000 C 268.50000,-436.92107 268.66252,-436.39230 268.84375,-435.87500 C 267.47028,-435.10426 266.50000,-433.68600 266.50000,-432.00000 C 266.50000,-429.51600 268.51600,-427.49999 271.00000,-427.50000 C 271.17713,-427.50000 289.82287,-427.50000 290.00000,-427.50000 C 292.48399,-427.50000 294.50000,-429.51600 294.50000,-432.00000 C 294.50000,-433.68600 293.52972,-435.10426 292.15625,-435.87500 C 292.33749,-436.39229 292.50000,-436.92108 292.50000,-437.50000 C 292.50000,-440.26000 290.26000,-442.49999 287.50000,-442.50000 C 286.66326,-442.50000 285.91198,-442.23883 285.21875,-441.87500 C 284.60991,-443.94972 282.77083,-445.50000 280.50000,-445.50000 z "
- style="fill:#c4c5c2;fill-opacity:1.0000000;stroke:#888a85;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000" />
- <path
- sodipodi:nodetypes="ccsscsssscsscc"
- id="path6672"
- d="M 280.50000,-445.00000 C 278.31028,-445.00000 276.77640,-443.66423 276.10445,-441.15648 C 275.43599,-441.50010 274.55686,-441.98983 273.75000,-441.98983 C 271.03349,-441.98983 268.99486,-440.05101 268.99487,-437.44429 C 268.99487,-436.89752 269.26208,-436.11085 269.43683,-435.62228 C 268.11240,-434.89433 267.00000,-433.73178 267.00000,-432.24973 C 267.00000,-429.90368 268.54617,-427.99964 271.33928,-427.99964 C 271.51009,-427.99964 289.48992,-427.99964 289.66072,-427.99964 C 292.43173,-427.99964 294.00000,-429.90368 294.00000,-432.24973 C 294.00000,-433.84210 292.88760,-434.91642 291.56317,-435.64437 C 291.73793,-436.13293 292.02724,-436.89753 292.02724,-437.44429 C 292.02724,-440.05100 289.91143,-442.01192 287.25001,-442.01193 C 286.44314,-442.01193 285.60820,-441.52219 284.93974,-441.17857 C 284.29089,-443.60011 282.68973,-445.00000 280.50000,-445.00000 z "
- style="opacity:1.0000000;fill:url(#linearGradient6712);fill-opacity:1.0000000;stroke:none;stroke-width:0.99999958;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000" />
- <g
- id="g6674">
- <path
- sodipodi:type="arc"
- style="opacity:1.0000000;fill:#c4c5c2;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- id="path6676"
- sodipodi:cx="288.37500"
- sodipodi:cy="-437.59375"
- sodipodi:rx="3.3125000"
- sodipodi:ry="3.3125000"
- d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z"
- transform="matrix(1.056604,0.000000,0.000000,1.056604,-24.19818,21.86331)" />
- <path
- sodipodi:type="arc"
- style="opacity:1.0000000;fill:url(#linearGradient6714);fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- id="path6678"
- sodipodi:cx="288.37500"
- sodipodi:cy="-437.59375"
- sodipodi:rx="3.3125000"
- sodipodi:ry="3.3125000"
- d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z"
- transform="matrix(1.056604,0.000000,0.000000,1.056604,-24.19818,21.86331)" />
+ <g transform="translate(-248.99,467.9855)">
+ <path d="M 280.50000,-445.50000 C 278.22917,-445.50000 276.39009,-443.94972 275.78125,-441.87500 C 275.08802,-442.23883 274.33674,-442.50000 273.50000,-442.50000 C 270.74000,-442.50000 268.49999,-440.26001 268.50000,-437.50000 C 268.50000,-436.92107 268.66252,-436.39230 268.84375,-435.87500 C 267.47028,-435.10426 266.50000,-433.68600 266.50000,-432.00000 C 266.50000,-429.51600 268.51600,-427.49999 271.00000,-427.50000 C 271.17713,-427.50000 289.82287,-427.50000 290.00000,-427.50000 C 292.48399,-427.50000 294.50000,-429.51600 294.50000,-432.00000 C 294.50000,-433.68600 293.52972,-435.10426 292.15625,-435.87500 C 292.33749,-436.39229 292.50000,-436.92108 292.50000,-437.50000 C 292.50000,-440.26000 290.26000,-442.49999 287.50000,-442.50000 C 286.66326,-442.50000 285.91198,-442.23883 285.21875,-441.87500 C 284.60991,-443.94972 282.77083,-445.50000 280.50000,-445.50000 z " fill="#c4c5c2" fill-opacity="1.0000000" stroke="#888a85" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path d="M 280.50000,-445.00000 C 278.31028,-445.00000 276.77640,-443.66423 276.10445,-441.15648 C 275.43599,-441.50010 274.55686,-441.98983 273.75000,-441.98983 C 271.03349,-441.98983 268.99486,-440.05101 268.99487,-437.44429 C 268.99487,-436.89752 269.26208,-436.11085 269.43683,-435.62228 C 268.11240,-434.89433 267.00000,-433.73178 267.00000,-432.24973 C 267.00000,-429.90368 268.54617,-427.99964 271.33928,-427.99964 C 271.51009,-427.99964 289.48992,-427.99964 289.66072,-427.99964 C 292.43173,-427.99964 294.00000,-429.90368 294.00000,-432.24973 C 294.00000,-433.84210 292.88760,-434.91642 291.56317,-435.64437 C 291.73793,-436.13293 292.02724,-436.89753 292.02724,-437.44429 C 292.02724,-440.05100 289.91143,-442.01192 287.25001,-442.01193 C 286.44314,-442.01193 285.60820,-441.52219 284.93974,-441.17857 C 284.29089,-443.60011 282.68973,-445.00000 280.50000,-445.00000 z " opacity="1.0000000" fill="url(#linearGradient6712)" fill-opacity="1.0000000" stroke="none" stroke-width="0.99999958" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <g>
+ <path d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z" transform="matrix(1.056604,0.000000,0.000000,1.056604,-24.19818,21.86331)" opacity="1.0000000" fill="#c4c5c2" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z" transform="matrix(1.056604,0.000000,0.000000,1.056604,-24.19818,21.86331)" opacity="1.0000000" fill="url(#linearGradient6714)" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
</g>
- <rect
- y="-438.00000"
- x="271.00000"
- height="9.0000000"
- width="20.000000"
- id="rect6680"
- style="opacity:1.0000000;fill:#c4c5c2;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000" />
- <path
- transform="matrix(0.905660,0.000000,0.000000,0.905660,9.830195,-35.68869)"
- d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z"
- sodipodi:ry="3.3125000"
- sodipodi:rx="3.3125000"
- sodipodi:cy="-437.59375"
- sodipodi:cx="288.37500"
- id="path6682"
- style="opacity:1.0000000;fill:#c4c5c2;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- sodipodi:type="arc" />
- <g
- id="g6684">
- <path
- sodipodi:type="arc"
- style="opacity:1.0000000;fill:#c4c5c2;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- id="path6686"
- sodipodi:cx="288.37500"
- sodipodi:cy="-437.59375"
- sodipodi:rx="3.3125000"
- sodipodi:ry="3.3125000"
- d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z"
- transform="matrix(1.056604,0.000000,0.000000,1.056604,-17.19811,24.86321)" />
- <path
- sodipodi:type="arc"
- style="opacity:1.0000000;fill:url(#linearGradient6716);fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- id="path6688"
- sodipodi:cx="288.37500"
- sodipodi:cy="-437.59375"
- sodipodi:rx="3.3125000"
- sodipodi:ry="3.3125000"
- d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z"
- transform="matrix(1.056604,0.000000,0.000000,1.056604,-17.19818,24.86331)" />
+ <rect y="-438.00000" x="271.00000" height="9.0000000" width="20.000000" opacity="1.0000000" fill="#c4c5c2" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path transform="matrix(0.905660,0.000000,0.000000,0.905660,9.830195,-35.68869)" d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z" opacity="1.0000000" fill="#c4c5c2" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <g>
+ <path d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z" transform="matrix(1.056604,0.000000,0.000000,1.056604,-17.19811,24.86321)" opacity="1.0000000" fill="#c4c5c2" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z" transform="matrix(1.056604,0.000000,0.000000,1.056604,-17.19818,24.86331)" opacity="1.0000000" fill="url(#linearGradient6716)" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
</g>
- <g
- id="g6690">
- <path
- sodipodi:type="arc"
- style="opacity:1.0000000;fill:#c4c5c2;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- id="path6692"
- sodipodi:cx="288.37500"
- sodipodi:cy="-437.59375"
- sodipodi:rx="3.3125000"
- sodipodi:ry="3.3125000"
- d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z"
- transform="matrix(1.056604,0.000000,0.000000,1.056604,-31.19818,24.86331)" />
- <path
- sodipodi:type="arc"
- style="opacity:1.0000000;fill:url(#linearGradient6718);fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- id="path6694"
- sodipodi:cx="288.37500"
- sodipodi:cy="-437.59375"
- sodipodi:rx="3.3125000"
- sodipodi:ry="3.3125000"
- d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z"
- transform="matrix(1.056604,0.000000,0.000000,1.056604,-31.19818,24.86331)" />
+ <g>
+ <path d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z" transform="matrix(1.056604,0.000000,0.000000,1.056604,-31.19818,24.86331)" opacity="1.0000000" fill="#c4c5c2" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z" transform="matrix(1.056604,0.000000,0.000000,1.056604,-31.19818,24.86331)" opacity="1.0000000" fill="url(#linearGradient6718)" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
</g>
- <g
- transform="translate(-1.000000,0.000000)"
- id="g6696">
- <path
- style="opacity:1.0000000;fill:#c4c5c2;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- d="M 280.46875,-440.96875 C 276.88937,-440.96875 274.00000,-438.04812 274.00000,-434.46875 C 274.00000,-432.09807 275.34943,-430.13096 277.25000,-429.00000 L 283.71875,-429.00000 C 285.61932,-430.13096 286.96875,-432.12931 286.96875,-434.50000 C 286.96875,-438.07938 284.04812,-440.96875 280.46875,-440.96875 z "
- id="path6698" />
- <path
- style="opacity:1.0000000;fill:url(#linearGradient6720);fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- d="M 280.50000,-441.00000 C 276.91200,-441.00000 274.00000,-438.08799 274.00000,-434.50000 C 274.00000,-432.12360 275.34485,-430.13368 277.25000,-429.00000 L 283.75000,-429.00000 C 285.65515,-430.13368 287.00000,-432.12360 287.00000,-434.50000 C 287.00000,-438.08800 284.08800,-440.99999 280.50000,-441.00000 z "
- id="path6700" />
+ <g transform="translate(-1.000000,0.000000)">
+ <path d="M 280.46875,-440.96875 C 276.88937,-440.96875 274.00000,-438.04812 274.00000,-434.46875 C 274.00000,-432.09807 275.34943,-430.13096 277.25000,-429.00000 L 283.71875,-429.00000 C 285.61932,-430.13096 286.96875,-432.12931 286.96875,-434.50000 C 286.96875,-438.07938 284.04812,-440.96875 280.46875,-440.96875 z " opacity="1.0000000" fill="#c4c5c2" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path d="M 280.50000,-441.00000 C 276.91200,-441.00000 274.00000,-438.08799 274.00000,-434.50000 C 274.00000,-432.12360 275.34485,-430.13368 277.25000,-429.00000 L 283.75000,-429.00000 C 285.65515,-430.13368 287.00000,-432.12360 287.00000,-434.50000 C 287.00000,-438.08800 284.08800,-440.99999 280.50000,-441.00000 z " opacity="1.0000000" fill="url(#linearGradient6720)" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
</g>
- <path
- transform="matrix(0.905660,0.000000,0.000000,0.905660,9.830296,-35.68884)"
- d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z"
- sodipodi:ry="3.3125000"
- sodipodi:rx="3.3125000"
- sodipodi:cy="-437.59375"
- sodipodi:cx="288.37500"
- id="path6702"
- style="opacity:1.0000000;fill:url(#linearGradient6722);fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- sodipodi:type="arc" />
- <path
- sodipodi:nodetypes="ccss"
- id="path6704"
- d="M 292.95640,-437.33396 C 292.95487,-434.64940 289.68714,-433.62001 289.68714,-433.62001 C 289.68714,-433.62001 292.03588,-435.24596 292.02399,-437.32502 C 292.02399,-437.32502 292.95640,-437.33396 292.95640,-437.33396 z "
- style="fill:#888a85;fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000" />
- <g
- transform="matrix(1.142857,0.000000,0.000000,1.142857,-28.57139,67.00008)"
- id="g6706">
- <path
- sodipodi:type="arc"
- style="opacity:1.0000000;fill:#c4c5c2;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- id="path6708"
- sodipodi:cx="288.37500"
- sodipodi:cy="-437.59375"
- sodipodi:rx="3.3125000"
- sodipodi:ry="3.3125000"
- d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z"
- transform="matrix(1.056604,0.000000,0.000000,1.056604,-31.19818,24.86331)" />
- <path
- sodipodi:type="arc"
- style="opacity:1.0000000;fill:url(#linearGradient6724);fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- id="path6710"
- sodipodi:cx="288.37500"
- sodipodi:cy="-437.59375"
- sodipodi:rx="3.3125000"
- sodipodi:ry="3.3125000"
- d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z"
- transform="matrix(1.056604,0.000000,0.000000,1.056604,-31.19818,24.86331)" />
+ <path transform="matrix(0.905660,0.000000,0.000000,0.905660,9.830296,-35.68884)" d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z" opacity="1.0000000" fill="url(#linearGradient6722)" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path d="M 292.95640,-437.33396 C 292.95487,-434.64940 289.68714,-433.62001 289.68714,-433.62001 C 289.68714,-433.62001 292.03588,-435.24596 292.02399,-437.32502 C 292.02399,-437.32502 292.95640,-437.33396 292.95640,-437.33396 z " fill="#888a85" fill-opacity="1.0000000" fill-rule="evenodd" stroke="none" stroke-width="1.0000000px" stroke-linecap="butt" stroke-linejoin="miter" stroke-opacity="1.0000000"/>
+ <g transform="matrix(1.142857,0.000000,0.000000,1.142857,-28.57139,67.00008)">
+ <path d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z" transform="matrix(1.056604,0.000000,0.000000,1.056604,-31.19818,24.86331)" opacity="1.0000000" fill="#c4c5c2" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z" transform="matrix(1.056604,0.000000,0.000000,1.056604,-31.19818,24.86331)" opacity="1.0000000" fill="url(#linearGradient6724)" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
</g>
</g>
</g>
diff --git a/demos/embedded/weatherinfo/icons/weather-fog.svg b/demos/embedded/weatherinfo/icons/weather-fog.svg
index a9a4ca8..56a2444 100644
--- a/demos/embedded/weatherinfo/icons/weather-fog.svg
+++ b/demos/embedded/weatherinfo/icons/weather-fog.svg
@@ -1,1585 +1,114 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!-- Created with Inkscape (http://www.inkscape.org/) -->
-<svg
- xmlns:dc="http://purl.org/dc/elements/1.1/"
- xmlns:cc="http://creativecommons.org/ns#"
- xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns:svg="http://www.w3.org/2000/svg"
- xmlns="http://www.w3.org/2000/svg"
- xmlns:xlink="http://www.w3.org/1999/xlink"
- xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
- xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
- width="48"
- height="48"
- id="svg2670"
- sodipodi:version="0.32"
- inkscape:version="0.46"
- version="1.0"
- sodipodi:docname="weather-fog.svg"
- inkscape:output_extension="org.inkscape.output.svg.inkscape">
- <defs
- id="defs2672">
- <linearGradient
- inkscape:collect="always"
- id="linearGradient6549">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop6551" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop6553" />
+<svg xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="48" height="48" id="svg2670" version="1.0">
+ <defs id="defs2672">
+ <linearGradient id="linearGradient6549">
+ <stop offset="0" id="stop6551" stop-color="#ffffff" stop-opacity="1"/>
+ <stop offset="1" id="stop6553" stop-color="#ffffff" stop-opacity="0"/>
</linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient6527">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop6530" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop6532" />
+ <linearGradient id="linearGradient6527">
+ <stop offset="0" id="stop6530" stop-color="#ffffff" stop-opacity="1"/>
+ <stop offset="1" id="stop6532" stop-color="#ffffff" stop-opacity="0"/>
</linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient6538">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop6540" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop6542" />
+ <linearGradient id="linearGradient6538">
+ <stop offset="0" id="stop6540" stop-color="#ffffff" stop-opacity="1"/>
+ <stop offset="1" id="stop6542" stop-color="#ffffff" stop-opacity="0"/>
</linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient6513">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop6515" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop6517" />
+ <linearGradient id="linearGradient6513">
+ <stop offset="0" id="stop6515" stop-color="#ffffff" stop-opacity="1"/>
+ <stop offset="1" id="stop6517" stop-color="#ffffff" stop-opacity="0"/>
</linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient6497">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop6499" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop6501" />
+ <linearGradient id="linearGradient6497">
+ <stop offset="0" id="stop6499" stop-color="#ffffff" stop-opacity="1"/>
+ <stop offset="1" id="stop6501" stop-color="#ffffff" stop-opacity="0"/>
</linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient6470">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop6472" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop6474" />
+ <linearGradient id="linearGradient6470">
+ <stop offset="0" id="stop6472" stop-color="#ffffff" stop-opacity="1"/>
+ <stop offset="1" id="stop6474" stop-color="#ffffff" stop-opacity="0"/>
</linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient7834">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop7836" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop7838" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient8397">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop8400" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop8402" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient8315">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop8317" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop8319" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient8381">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop8383" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop8385" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient8331">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop8333" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop8335" />
- </linearGradient>
- <linearGradient
- id="linearGradient8302">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop8304" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop8306" />
- </linearGradient>
- <inkscape:perspective
- sodipodi:type="inkscape:persp3d"
- inkscape:vp_x="0 : 526.18109 : 1"
- inkscape:vp_y="0 : 1000 : 0"
- inkscape:vp_z="744.09448 : 526.18109 : 1"
- inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
- id="perspective2678" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient8302"
- id="linearGradient4844"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(69.00259,102)"
- x1="228.50261"
- y1="-392.30591"
- x2="278.91510"
- y2="-375.37952" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient8331"
- id="linearGradient4846"
- gradientUnits="userSpaceOnUse"
- x1="240.07379"
- y1="-393.40720"
- x2="245.82706"
- y2="-388.55029" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient8381"
- id="linearGradient4848"
- gradientUnits="userSpaceOnUse"
- x1="246.74042"
- y1="-391.31381"
- x2="252.69785"
- y2="-385.35165" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient8315"
- id="linearGradient4850"
- gradientUnits="userSpaceOnUse"
- x1="230.87598"
- y1="-390.43951"
- x2="235.25652"
- y2="-386.95901" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient8397"
- id="linearGradient4852"
- gradientUnits="userSpaceOnUse"
- x1="238.00478"
- y1="-388.47476"
- x2="245.65462"
- y2="-382.64539" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient7834"
- id="linearGradient4854"
- gradientUnits="userSpaceOnUse"
- x1="-156.29044"
- y1="-100.53421"
- x2="-153.09810"
- y2="-96.544556" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6470"
- id="linearGradient4856"
- gradientUnits="userSpaceOnUse"
- x1="271.02170"
- y1="-441.05182"
- x2="285.02859"
- y2="-431.96991" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6497"
- id="linearGradient4858"
- gradientUnits="userSpaceOnUse"
- x1="287.51730"
- y1="-439.75281"
- x2="289.67633"
- y2="-436.32199" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6513"
- id="linearGradient4860"
- gradientUnits="userSpaceOnUse"
- x1="286.51172"
- y1="-441.29074"
- x2="289.85379"
- y2="-436.14453" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6538"
- id="linearGradient4862"
- gradientUnits="userSpaceOnUse"
- x1="285.94086"
- y1="-439.93900"
- x2="289.39124"
- y2="-436.44290" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6527"
- id="linearGradient4864"
- gradientUnits="userSpaceOnUse"
- x1="275.94193"
- y1="-437.10501"
- x2="279.97546"
- y2="-431.91833" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6549"
- id="linearGradient4866"
- gradientUnits="userSpaceOnUse"
- x1="286.66589"
- y1="-439.48358"
- x2="289.76562"
- y2="-436.70703" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6538"
- id="linearGradient4868"
- gradientUnits="userSpaceOnUse"
- x1="284.80219"
- y1="-441.23294"
- x2="288.89954"
- y2="-436.83109" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6470"
- id="linearGradient4870"
- gradientUnits="userSpaceOnUse"
- x1="271.02170"
- y1="-441.05182"
- x2="285.02859"
- y2="-431.96991" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6497"
- id="linearGradient4872"
- gradientUnits="userSpaceOnUse"
- x1="287.51730"
- y1="-439.75281"
- x2="289.67633"
- y2="-436.32199" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6513"
- id="linearGradient4874"
- gradientUnits="userSpaceOnUse"
- x1="286.51172"
- y1="-441.29074"
- x2="289.85379"
- y2="-436.14453" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6538"
- id="linearGradient4876"
- gradientUnits="userSpaceOnUse"
- x1="285.94086"
- y1="-439.93900"
- x2="289.39124"
- y2="-436.44290" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6527"
- id="linearGradient4878"
- gradientUnits="userSpaceOnUse"
- x1="275.94193"
- y1="-437.10501"
- x2="279.97546"
- y2="-431.91833" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6549"
- id="linearGradient4880"
- gradientUnits="userSpaceOnUse"
- x1="286.66589"
- y1="-439.48358"
- x2="289.76562"
- y2="-436.70703" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6538"
- id="linearGradient4882"
- gradientUnits="userSpaceOnUse"
- x1="284.80219"
- y1="-441.23294"
- x2="288.89954"
- y2="-436.83109" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient8302"
- id="linearGradient5018"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(69.00259,102)"
- x1="228.50261"
- y1="-392.30591"
- x2="278.91510"
- y2="-375.37952" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient8331"
- id="linearGradient5020"
- gradientUnits="userSpaceOnUse"
- x1="240.07379"
- y1="-393.40720"
- x2="245.82706"
- y2="-388.55029" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient8381"
- id="linearGradient5022"
- gradientUnits="userSpaceOnUse"
- x1="246.74042"
- y1="-391.31381"
- x2="252.69785"
- y2="-385.35165" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient8315"
- id="linearGradient5024"
- gradientUnits="userSpaceOnUse"
- x1="230.87598"
- y1="-390.43951"
- x2="235.25652"
- y2="-386.95901" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient8397"
- id="linearGradient5026"
- gradientUnits="userSpaceOnUse"
- x1="238.00478"
- y1="-388.47476"
- x2="245.65462"
- y2="-382.64539" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient7834"
- id="linearGradient5028"
- gradientUnits="userSpaceOnUse"
- x1="-156.29044"
- y1="-100.53421"
- x2="-153.09810"
- y2="-96.544556" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6470"
- id="linearGradient5030"
- gradientUnits="userSpaceOnUse"
- x1="271.02170"
- y1="-441.05182"
- x2="285.02859"
- y2="-431.96991" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6497"
- id="linearGradient5032"
- gradientUnits="userSpaceOnUse"
- x1="287.51730"
- y1="-439.75281"
- x2="289.67633"
- y2="-436.32199" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6513"
- id="linearGradient5034"
- gradientUnits="userSpaceOnUse"
- x1="286.51172"
- y1="-441.29074"
- x2="289.85379"
- y2="-436.14453" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6538"
- id="linearGradient5036"
- gradientUnits="userSpaceOnUse"
- x1="285.94086"
- y1="-439.93900"
- x2="289.39124"
- y2="-436.44290" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6527"
- id="linearGradient5038"
- gradientUnits="userSpaceOnUse"
- x1="275.94193"
- y1="-437.10501"
- x2="279.97546"
- y2="-431.91833" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6549"
- id="linearGradient5040"
- gradientUnits="userSpaceOnUse"
- x1="286.66589"
- y1="-439.48358"
- x2="289.76562"
- y2="-436.70703" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6538"
- id="linearGradient5042"
- gradientUnits="userSpaceOnUse"
- x1="284.80219"
- y1="-441.23294"
- x2="288.89954"
- y2="-436.83109" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6470"
- id="linearGradient5044"
- gradientUnits="userSpaceOnUse"
- x1="271.02170"
- y1="-441.05182"
- x2="285.02859"
- y2="-431.96991" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6497"
- id="linearGradient5046"
- gradientUnits="userSpaceOnUse"
- x1="287.51730"
- y1="-439.75281"
- x2="289.67633"
- y2="-436.32199" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6513"
- id="linearGradient5048"
- gradientUnits="userSpaceOnUse"
- x1="286.51172"
- y1="-441.29074"
- x2="289.85379"
- y2="-436.14453" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6538"
- id="linearGradient5050"
- gradientUnits="userSpaceOnUse"
- x1="285.94086"
- y1="-439.93900"
- x2="289.39124"
- y2="-436.44290" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6527"
- id="linearGradient5052"
- gradientUnits="userSpaceOnUse"
- x1="275.94193"
- y1="-437.10501"
- x2="279.97546"
- y2="-431.91833" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6549"
- id="linearGradient5054"
- gradientUnits="userSpaceOnUse"
- x1="286.66589"
- y1="-439.48358"
- x2="289.76562"
- y2="-436.70703" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6538"
- id="linearGradient5056"
- gradientUnits="userSpaceOnUse"
- x1="284.80219"
- y1="-441.23294"
- x2="288.89954"
- y2="-436.83109" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient8302"
- id="linearGradient5119"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-245.83994,432.62036)"
- x1="228.50261"
- y1="-392.30591"
- x2="278.91510"
- y2="-375.37952" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6470"
- id="linearGradient5122"
- gradientUnits="userSpaceOnUse"
- x1="271.02170"
- y1="-441.05182"
- x2="285.02859"
- y2="-431.96991" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6497"
- id="linearGradient5124"
- gradientUnits="userSpaceOnUse"
- x1="287.51730"
- y1="-439.75281"
- x2="289.67633"
- y2="-436.32199" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6513"
- id="linearGradient5126"
- gradientUnits="userSpaceOnUse"
- x1="286.51172"
- y1="-441.29074"
- x2="289.85379"
- y2="-436.14453" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6538"
- id="linearGradient5128"
- gradientUnits="userSpaceOnUse"
- x1="285.94086"
- y1="-439.93900"
- x2="289.39124"
- y2="-436.44290" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6527"
- id="linearGradient5130"
- gradientUnits="userSpaceOnUse"
- x1="275.94193"
- y1="-437.10501"
- x2="279.97546"
- y2="-431.91833" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6549"
- id="linearGradient5132"
- gradientUnits="userSpaceOnUse"
- x1="286.66589"
- y1="-439.48358"
- x2="289.76562"
- y2="-436.70703" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6538"
- id="linearGradient5134"
- gradientUnits="userSpaceOnUse"
- x1="284.80219"
- y1="-441.23294"
- x2="288.89954"
- y2="-436.83109" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6470"
- id="linearGradient5156"
- gradientUnits="userSpaceOnUse"
- x1="271.02170"
- y1="-441.05182"
- x2="285.02859"
- y2="-431.96991"
- gradientTransform="translate(-276.83994,492.62036)" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6470"
- id="linearGradient5159"
- gradientUnits="userSpaceOnUse"
- x1="271.02170"
- y1="-441.05182"
- x2="285.02859"
- y2="-431.96991" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6497"
- id="linearGradient5161"
- gradientUnits="userSpaceOnUse"
- x1="287.51730"
- y1="-439.75281"
- x2="289.67633"
- y2="-436.32199" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6513"
- id="linearGradient5163"
- gradientUnits="userSpaceOnUse"
- x1="286.51172"
- y1="-441.29074"
- x2="289.85379"
- y2="-436.14453" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6538"
- id="linearGradient5165"
- gradientUnits="userSpaceOnUse"
- x1="285.94086"
- y1="-439.93900"
- x2="289.39124"
- y2="-436.44290" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6527"
- id="linearGradient5167"
- gradientUnits="userSpaceOnUse"
- x1="275.94193"
- y1="-437.10501"
- x2="279.97546"
- y2="-431.91833" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6549"
- id="linearGradient5169"
- gradientUnits="userSpaceOnUse"
- x1="286.66589"
- y1="-439.48358"
- x2="289.76562"
- y2="-436.70703" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6538"
- id="linearGradient5171"
- gradientUnits="userSpaceOnUse"
- x1="284.80219"
- y1="-441.23294"
- x2="288.89954"
- y2="-436.83109" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6470"
- id="linearGradient5193"
- gradientUnits="userSpaceOnUse"
- x1="271.02170"
- y1="-441.05182"
- x2="285.02859"
- y2="-431.96991"
- gradientTransform="translate(-291.84253,488.62036)" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6470"
- id="linearGradient5221"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-291.84253,488.62036)"
- x1="271.02170"
- y1="-441.05182"
- x2="285.02859"
- y2="-431.96991" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient8302"
- id="linearGradient5298"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(69.00259,102)"
- x1="228.50261"
- y1="-392.30591"
- x2="278.91510"
- y2="-375.37952" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient8331"
- id="linearGradient5300"
- gradientUnits="userSpaceOnUse"
- x1="240.07379"
- y1="-393.40720"
- x2="245.82706"
- y2="-388.55029" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient8381"
- id="linearGradient5302"
- gradientUnits="userSpaceOnUse"
- x1="246.74042"
- y1="-391.31381"
- x2="252.69785"
- y2="-385.35165" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient8315"
- id="linearGradient5304"
- gradientUnits="userSpaceOnUse"
- x1="230.87598"
- y1="-390.43951"
- x2="235.25652"
- y2="-386.95901" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient8397"
- id="linearGradient5306"
- gradientUnits="userSpaceOnUse"
- x1="238.00478"
- y1="-388.47476"
- x2="245.65462"
- y2="-382.64539" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient7834"
- id="linearGradient5308"
- gradientUnits="userSpaceOnUse"
- x1="-156.29044"
- y1="-100.53421"
- x2="-153.09810"
- y2="-96.544556" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6470"
- id="linearGradient5310"
- gradientUnits="userSpaceOnUse"
- x1="271.02170"
- y1="-441.05182"
- x2="285.02859"
- y2="-431.96991" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6497"
- id="linearGradient5312"
- gradientUnits="userSpaceOnUse"
- x1="287.51730"
- y1="-439.75281"
- x2="289.67633"
- y2="-436.32199" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6513"
- id="linearGradient5314"
- gradientUnits="userSpaceOnUse"
- x1="286.51172"
- y1="-441.29074"
- x2="289.85379"
- y2="-436.14453" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6538"
- id="linearGradient5316"
- gradientUnits="userSpaceOnUse"
- x1="285.94086"
- y1="-439.93900"
- x2="289.39124"
- y2="-436.44290" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6527"
- id="linearGradient5318"
- gradientUnits="userSpaceOnUse"
- x1="275.94193"
- y1="-437.10501"
- x2="279.97546"
- y2="-431.91833" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6549"
- id="linearGradient5320"
- gradientUnits="userSpaceOnUse"
- x1="286.66589"
- y1="-439.48358"
- x2="289.76562"
- y2="-436.70703" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6538"
- id="linearGradient5322"
- gradientUnits="userSpaceOnUse"
- x1="284.80219"
- y1="-441.23294"
- x2="288.89954"
- y2="-436.83109" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6470"
- id="linearGradient5324"
- gradientUnits="userSpaceOnUse"
- x1="271.02170"
- y1="-441.05182"
- x2="285.02859"
- y2="-431.96991" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6497"
- id="linearGradient5326"
- gradientUnits="userSpaceOnUse"
- x1="287.51730"
- y1="-439.75281"
- x2="289.67633"
- y2="-436.32199" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6513"
- id="linearGradient5328"
- gradientUnits="userSpaceOnUse"
- x1="286.51172"
- y1="-441.29074"
- x2="289.85379"
- y2="-436.14453" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6538"
- id="linearGradient5330"
- gradientUnits="userSpaceOnUse"
- x1="285.94086"
- y1="-439.93900"
- x2="289.39124"
- y2="-436.44290" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6527"
- id="linearGradient5332"
- gradientUnits="userSpaceOnUse"
- x1="275.94193"
- y1="-437.10501"
- x2="279.97546"
- y2="-431.91833" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6549"
- id="linearGradient5334"
- gradientUnits="userSpaceOnUse"
- x1="286.66589"
- y1="-439.48358"
- x2="289.76562"
- y2="-436.70703" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6538"
- id="linearGradient5336"
- gradientUnits="userSpaceOnUse"
- x1="284.80219"
- y1="-441.23294"
- x2="288.89954"
- y2="-436.83109" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient8302"
- id="linearGradient5399"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-217.99871,406.5)"
- x1="228.50261"
- y1="-392.30591"
- x2="278.91510"
- y2="-375.37952" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient8302"
- id="linearGradient5432"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-245.83994,432.62036)"
- x1="228.50261"
- y1="-392.30591"
- x2="278.91510"
- y2="-375.37952" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6470"
- id="linearGradient5434"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-276.83994,492.62036)"
- x1="271.02170"
- y1="-441.05182"
- x2="285.02859"
- y2="-431.96991" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6470"
- id="linearGradient5436"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-291.84253,488.62036)"
- x1="271.02170"
- y1="-441.05182"
- x2="285.02859"
- y2="-431.96991" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient8302"
- id="linearGradient5515"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-217.99871,406.5)"
- x1="228.50261"
- y1="-392.30591"
- x2="278.91510"
- y2="-375.37952" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient8331"
- id="linearGradient5517"
- gradientUnits="userSpaceOnUse"
- x1="240.07379"
- y1="-393.40720"
- x2="245.82706"
- y2="-388.55029" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient8381"
- id="linearGradient5519"
- gradientUnits="userSpaceOnUse"
- x1="246.74042"
- y1="-391.31381"
- x2="252.69785"
- y2="-385.35165" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient8315"
- id="linearGradient5521"
- gradientUnits="userSpaceOnUse"
- x1="230.87598"
- y1="-390.43951"
- x2="235.25652"
- y2="-386.95901" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient8397"
- id="linearGradient5523"
- gradientUnits="userSpaceOnUse"
- x1="238.00478"
- y1="-388.47476"
- x2="245.65462"
- y2="-382.64539" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient7834"
- id="linearGradient5525"
- gradientUnits="userSpaceOnUse"
- x1="-156.29044"
- y1="-100.53421"
- x2="-153.09810"
- y2="-96.544556" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6470"
- id="linearGradient5527"
- gradientUnits="userSpaceOnUse"
- x1="271.02170"
- y1="-441.05182"
- x2="285.02859"
- y2="-431.96991" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6497"
- id="linearGradient5529"
- gradientUnits="userSpaceOnUse"
- x1="287.51730"
- y1="-439.75281"
- x2="289.67633"
- y2="-436.32199" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6513"
- id="linearGradient5531"
- gradientUnits="userSpaceOnUse"
- x1="286.51172"
- y1="-441.29074"
- x2="289.85379"
- y2="-436.14453" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6538"
- id="linearGradient5533"
- gradientUnits="userSpaceOnUse"
- x1="285.94086"
- y1="-439.93900"
- x2="289.39124"
- y2="-436.44290" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6527"
- id="linearGradient5535"
- gradientUnits="userSpaceOnUse"
- x1="275.94193"
- y1="-437.10501"
- x2="279.97546"
- y2="-431.91833" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6549"
- id="linearGradient5537"
- gradientUnits="userSpaceOnUse"
- x1="286.66589"
- y1="-439.48358"
- x2="289.76562"
- y2="-436.70703" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6538"
- id="linearGradient5539"
- gradientUnits="userSpaceOnUse"
- x1="284.80219"
- y1="-441.23294"
- x2="288.89954"
- y2="-436.83109" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6470"
- id="linearGradient5541"
- gradientUnits="userSpaceOnUse"
- x1="271.02170"
- y1="-441.05182"
- x2="285.02859"
- y2="-431.96991" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6497"
- id="linearGradient5543"
- gradientUnits="userSpaceOnUse"
- x1="287.51730"
- y1="-439.75281"
- x2="289.67633"
- y2="-436.32199" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6513"
- id="linearGradient5545"
- gradientUnits="userSpaceOnUse"
- x1="286.51172"
- y1="-441.29074"
- x2="289.85379"
- y2="-436.14453" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6538"
- id="linearGradient5547"
- gradientUnits="userSpaceOnUse"
- x1="285.94086"
- y1="-439.93900"
- x2="289.39124"
- y2="-436.44290" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6527"
- id="linearGradient5549"
- gradientUnits="userSpaceOnUse"
- x1="275.94193"
- y1="-437.10501"
- x2="279.97546"
- y2="-431.91833" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6549"
- id="linearGradient5551"
- gradientUnits="userSpaceOnUse"
- x1="286.66589"
- y1="-439.48358"
- x2="289.76562"
- y2="-436.70703" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6538"
- id="linearGradient5553"
- gradientUnits="userSpaceOnUse"
- x1="284.80219"
- y1="-441.23294"
- x2="288.89954"
- y2="-436.83109" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6470"
- id="linearGradient5689"
- gradientUnits="userSpaceOnUse"
- x1="271.02170"
- y1="-441.05182"
- x2="285.02859"
- y2="-431.96991" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6497"
- id="linearGradient5691"
- gradientUnits="userSpaceOnUse"
- x1="287.51730"
- y1="-439.75281"
- x2="289.67633"
- y2="-436.32199" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6513"
- id="linearGradient5693"
- gradientUnits="userSpaceOnUse"
- x1="286.51172"
- y1="-441.29074"
- x2="289.85379"
- y2="-436.14453" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6538"
- id="linearGradient5695"
- gradientUnits="userSpaceOnUse"
- x1="285.94086"
- y1="-439.93900"
- x2="289.39124"
- y2="-436.44290" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6527"
- id="linearGradient5697"
- gradientUnits="userSpaceOnUse"
- x1="275.94193"
- y1="-437.10501"
- x2="279.97546"
- y2="-431.91833" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6549"
- id="linearGradient5699"
- gradientUnits="userSpaceOnUse"
- x1="286.66589"
- y1="-439.48358"
- x2="289.76562"
- y2="-436.70703" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6538"
- id="linearGradient5701"
- gradientUnits="userSpaceOnUse"
- x1="284.80219"
- y1="-441.23294"
- x2="288.89954"
- y2="-436.83109" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6470"
- id="linearGradient5703"
- gradientUnits="userSpaceOnUse"
- x1="271.02170"
- y1="-441.05182"
- x2="285.02859"
- y2="-431.96991" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6497"
- id="linearGradient5705"
- gradientUnits="userSpaceOnUse"
- x1="287.51730"
- y1="-439.75281"
- x2="289.67633"
- y2="-436.32199" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6513"
- id="linearGradient5707"
- gradientUnits="userSpaceOnUse"
- x1="286.51172"
- y1="-441.29074"
- x2="289.85379"
- y2="-436.14453" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6538"
- id="linearGradient5709"
- gradientUnits="userSpaceOnUse"
- x1="285.94086"
- y1="-439.93900"
- x2="289.39124"
- y2="-436.44290" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6527"
- id="linearGradient5711"
- gradientUnits="userSpaceOnUse"
- x1="275.94193"
- y1="-437.10501"
- x2="279.97546"
- y2="-431.91833" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6549"
- id="linearGradient5713"
- gradientUnits="userSpaceOnUse"
- x1="286.66589"
- y1="-439.48358"
- x2="289.76562"
- y2="-436.70703" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6538"
- id="linearGradient5715"
- gradientUnits="userSpaceOnUse"
- x1="284.80219"
- y1="-441.23294"
- x2="288.89954"
- y2="-436.83109" />
+ <linearGradient xlink:href="#linearGradient6470" id="linearGradient5689" gradientUnits="userSpaceOnUse" x1="271.02170" y1="-441.05182" x2="285.02859" y2="-431.96991"/>
+ <linearGradient xlink:href="#linearGradient6497" id="linearGradient5691" gradientUnits="userSpaceOnUse" x1="287.51730" y1="-439.75281" x2="289.67633" y2="-436.32199"/>
+ <linearGradient xlink:href="#linearGradient6513" id="linearGradient5693" gradientUnits="userSpaceOnUse" x1="286.51172" y1="-441.29074" x2="289.85379" y2="-436.14453"/>
+ <linearGradient xlink:href="#linearGradient6538" id="linearGradient5695" gradientUnits="userSpaceOnUse" x1="285.94086" y1="-439.93900" x2="289.39124" y2="-436.44290"/>
+ <linearGradient xlink:href="#linearGradient6527" id="linearGradient5697" gradientUnits="userSpaceOnUse" x1="275.94193" y1="-437.10501" x2="279.97546" y2="-431.91833"/>
+ <linearGradient xlink:href="#linearGradient6549" id="linearGradient5699" gradientUnits="userSpaceOnUse" x1="286.66589" y1="-439.48358" x2="289.76562" y2="-436.70703"/>
+ <linearGradient xlink:href="#linearGradient6538" id="linearGradient5701" gradientUnits="userSpaceOnUse" x1="284.80219" y1="-441.23294" x2="288.89954" y2="-436.83109"/>
+ <linearGradient xlink:href="#linearGradient6470" id="linearGradient5703" gradientUnits="userSpaceOnUse" x1="271.02170" y1="-441.05182" x2="285.02859" y2="-431.96991"/>
+ <linearGradient xlink:href="#linearGradient6497" id="linearGradient5705" gradientUnits="userSpaceOnUse" x1="287.51730" y1="-439.75281" x2="289.67633" y2="-436.32199"/>
+ <linearGradient xlink:href="#linearGradient6513" id="linearGradient5707" gradientUnits="userSpaceOnUse" x1="286.51172" y1="-441.29074" x2="289.85379" y2="-436.14453"/>
+ <linearGradient xlink:href="#linearGradient6538" id="linearGradient5709" gradientUnits="userSpaceOnUse" x1="285.94086" y1="-439.93900" x2="289.39124" y2="-436.44290"/>
+ <linearGradient xlink:href="#linearGradient6527" id="linearGradient5711" gradientUnits="userSpaceOnUse" x1="275.94193" y1="-437.10501" x2="279.97546" y2="-431.91833"/>
+ <linearGradient xlink:href="#linearGradient6549" id="linearGradient5713" gradientUnits="userSpaceOnUse" x1="286.66589" y1="-439.48358" x2="289.76562" y2="-436.70703"/>
+ <linearGradient xlink:href="#linearGradient6538" id="linearGradient5715" gradientUnits="userSpaceOnUse" x1="284.80219" y1="-441.23294" x2="288.89954" y2="-436.83109"/>
</defs>
- <sodipodi:namedview
- id="base"
- pagecolor="#ffffff"
- bordercolor="#666666"
- borderopacity="1.0"
- gridtolerance="10000"
- guidetolerance="10"
- objecttolerance="10"
- inkscape:pageopacity="0.0"
- inkscape:pageshadow="2"
- inkscape:zoom="16.270833"
- inkscape:cx="12.725406"
- inkscape:cy="24"
- inkscape:document-units="px"
- inkscape:current-layer="layer1"
- showgrid="false"
- showguides="true"
- inkscape:guide-bbox="true"
- inkscape:window-width="1272"
- inkscape:window-height="965"
- inkscape:window-x="0"
- inkscape:window-y="0" />
- <metadata
- id="metadata2675">
+
+ <metadata id="metadata2675">
<rdf:RDF>
- <cc:Work
- rdf:about="">
+ <cc:Work rdf:about="">
<dc:format>image/svg+xml</dc:format>
- <dc:type
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
</cc:Work>
</rdf:RDF>
</metadata>
- <g
- inkscape:label="Layer 1"
- inkscape:groupmode="layer"
- id="layer1">
- <g
- id="g5641"
- transform="translate(5e-6,-4)">
- <g
- style="opacity:0.45"
- transform="translate(-248.99871,466.5)"
- id="g7794">
- <path
- style="fill:#c4c5c2;fill-opacity:1;stroke:#888a85;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
- d="M 280.5,-445.5 C 278.22917,-445.5 276.39009,-443.94972 275.78125,-441.875 C 275.08802,-442.23883 274.33674,-442.5 273.5,-442.5 C 270.74,-442.5 268.49999,-440.26001 268.5,-437.5 C 268.5,-436.92107 268.66252,-436.3923 268.84375,-435.875 C 267.47028,-435.10426 266.5,-433.686 266.5,-432 C 266.5,-429.516 268.516,-427.49999 271,-427.5 C 271.17713,-427.5 289.82287,-427.5 290,-427.5 C 292.48399,-427.5 294.5,-429.516 294.5,-432 C 294.5,-433.686 293.52972,-435.10426 292.15625,-435.875 C 292.33749,-436.39229 292.5,-436.92108 292.5,-437.5 C 292.5,-440.26 290.26,-442.49999 287.5,-442.5 C 286.66326,-442.5 285.91198,-442.23883 285.21875,-441.875 C 284.60991,-443.94972 282.77083,-445.5 280.5,-445.5 z"
- id="path7796"
- sodipodi:nodetypes="ccsscsssscsscc" />
- <path
- style="opacity:1;fill:url(#linearGradient5689);fill-opacity:1;stroke:none;stroke-width:0.99999958;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
- d="M 280.5,-445 C 278.31028,-445 276.7764,-443.66423 276.10445,-441.15648 C 275.43599,-441.5001 274.55686,-441.98983 273.75,-441.98983 C 271.03349,-441.98983 268.99486,-440.05101 268.99487,-437.44429 C 268.99487,-436.89752 269.26208,-436.11085 269.43683,-435.62228 C 268.1124,-434.89433 267,-433.73178 267,-432.24973 C 267,-429.90368 268.54617,-427.99964 271.33928,-427.99964 C 271.51009,-427.99964 289.48992,-427.99964 289.66072,-427.99964 C 292.43173,-427.99964 294,-429.90368 294,-432.24973 C 294,-433.8421 292.8876,-434.91642 291.56317,-435.64437 C 291.73793,-436.13293 292.02724,-436.89753 292.02724,-437.44429 C 292.02724,-440.051 289.91143,-442.01192 287.25001,-442.01193 C 286.44314,-442.01193 285.6082,-441.52219 284.93974,-441.17857 C 284.29089,-443.60011 282.68973,-445 280.5,-445 z"
- id="path7798"
- sodipodi:nodetypes="ccsscsssscsscc" />
- <g
- id="g7800">
- <path
- transform="matrix(1.056604,0,0,1.056604,-24.19818,21.86331)"
- d="M 291.6875,-437.59375 A 3.3125,3.3125 0 1 1 285.0625,-437.59375 A 3.3125,3.3125 0 1 1 291.6875,-437.59375 z"
- sodipodi:ry="3.3125"
- sodipodi:rx="3.3125"
- sodipodi:cy="-437.59375"
- sodipodi:cx="288.375"
- id="path7802"
- style="opacity:1;fill:#c4c5c2;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
- sodipodi:type="arc" />
- <path
- transform="matrix(1.056604,0,0,1.056604,-24.19818,21.86331)"
- d="M 291.6875,-437.59375 A 3.3125,3.3125 0 1 1 285.0625,-437.59375 A 3.3125,3.3125 0 1 1 291.6875,-437.59375 z"
- sodipodi:ry="3.3125"
- sodipodi:rx="3.3125"
- sodipodi:cy="-437.59375"
- sodipodi:cx="288.375"
- id="path7804"
- style="opacity:1;fill:url(#linearGradient5691);fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
- sodipodi:type="arc" />
+ <g id="layer1">
+ <g transform="translate(5e-6,-4)">
+ <g transform="translate(-248.99871,466.5)" opacity="0.45">
+ <path d="M 280.5,-445.5 C 278.22917,-445.5 276.39009,-443.94972 275.78125,-441.875 C 275.08802,-442.23883 274.33674,-442.5 273.5,-442.5 C 270.74,-442.5 268.49999,-440.26001 268.5,-437.5 C 268.5,-436.92107 268.66252,-436.3923 268.84375,-435.875 C 267.47028,-435.10426 266.5,-433.686 266.5,-432 C 266.5,-429.516 268.516,-427.49999 271,-427.5 C 271.17713,-427.5 289.82287,-427.5 290,-427.5 C 292.48399,-427.5 294.5,-429.516 294.5,-432 C 294.5,-433.686 293.52972,-435.10426 292.15625,-435.875 C 292.33749,-436.39229 292.5,-436.92108 292.5,-437.5 C 292.5,-440.26 290.26,-442.49999 287.5,-442.5 C 286.66326,-442.5 285.91198,-442.23883 285.21875,-441.875 C 284.60991,-443.94972 282.77083,-445.5 280.5,-445.5 z" fill="#c4c5c2" fill-opacity="1" stroke="#888a85" stroke-width="1" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2" stroke-dasharray="none" stroke-dashoffset="0" stroke-opacity="1"/>
+ <path d="M 280.5,-445 C 278.31028,-445 276.7764,-443.66423 276.10445,-441.15648 C 275.43599,-441.5001 274.55686,-441.98983 273.75,-441.98983 C 271.03349,-441.98983 268.99486,-440.05101 268.99487,-437.44429 C 268.99487,-436.89752 269.26208,-436.11085 269.43683,-435.62228 C 268.1124,-434.89433 267,-433.73178 267,-432.24973 C 267,-429.90368 268.54617,-427.99964 271.33928,-427.99964 C 271.51009,-427.99964 289.48992,-427.99964 289.66072,-427.99964 C 292.43173,-427.99964 294,-429.90368 294,-432.24973 C 294,-433.8421 292.8876,-434.91642 291.56317,-435.64437 C 291.73793,-436.13293 292.02724,-436.89753 292.02724,-437.44429 C 292.02724,-440.051 289.91143,-442.01192 287.25001,-442.01193 C 286.44314,-442.01193 285.6082,-441.52219 284.93974,-441.17857 C 284.29089,-443.60011 282.68973,-445 280.5,-445 z" opacity="1" fill="url(#linearGradient5689)" fill-opacity="1" stroke="none" stroke-width="0.99999958" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2" stroke-dasharray="none" stroke-dashoffset="0" stroke-opacity="1"/>
+ <g>
+ <path transform="matrix(1.056604,0,0,1.056604,-24.19818,21.86331)" d="M 291.6875,-437.59375 A 3.3125,3.3125 0 1 1 285.0625,-437.59375 A 3.3125,3.3125 0 1 1 291.6875,-437.59375 z" opacity="1" fill="#c4c5c2" fill-opacity="1" stroke="none" stroke-width="1" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2" stroke-dasharray="none" stroke-dashoffset="0" stroke-opacity="1"/>
+ <path transform="matrix(1.056604,0,0,1.056604,-24.19818,21.86331)" d="M 291.6875,-437.59375 A 3.3125,3.3125 0 1 1 285.0625,-437.59375 A 3.3125,3.3125 0 1 1 291.6875,-437.59375 z" opacity="1" fill="url(#linearGradient5691)" fill-opacity="1" stroke="none" stroke-width="1" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2" stroke-dasharray="none" stroke-dashoffset="0" stroke-opacity="1"/>
</g>
- <rect
- style="opacity:1;fill:#c4c5c2;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
- id="rect7806"
- width="20"
- height="9"
- x="271"
- y="-438" />
- <path
- sodipodi:type="arc"
- style="opacity:1;fill:#c4c5c2;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
- id="path7808"
- sodipodi:cx="288.375"
- sodipodi:cy="-437.59375"
- sodipodi:rx="3.3125"
- sodipodi:ry="3.3125"
- d="M 291.6875,-437.59375 A 3.3125,3.3125 0 1 1 285.0625,-437.59375 A 3.3125,3.3125 0 1 1 291.6875,-437.59375 z"
- transform="matrix(0.90566,0,0,0.90566,9.830195,-35.68869)" />
- <g
- id="g7810">
- <path
- transform="matrix(1.056604,0,0,1.056604,-17.19811,24.86321)"
- d="M 291.6875,-437.59375 A 3.3125,3.3125 0 1 1 285.0625,-437.59375 A 3.3125,3.3125 0 1 1 291.6875,-437.59375 z"
- sodipodi:ry="3.3125"
- sodipodi:rx="3.3125"
- sodipodi:cy="-437.59375"
- sodipodi:cx="288.375"
- id="path7812"
- style="opacity:1;fill:#c4c5c2;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
- sodipodi:type="arc" />
- <path
- transform="matrix(1.056604,0,0,1.056604,-17.19818,24.86331)"
- d="M 291.6875,-437.59375 A 3.3125,3.3125 0 1 1 285.0625,-437.59375 A 3.3125,3.3125 0 1 1 291.6875,-437.59375 z"
- sodipodi:ry="3.3125"
- sodipodi:rx="3.3125"
- sodipodi:cy="-437.59375"
- sodipodi:cx="288.375"
- id="path7814"
- style="opacity:1;fill:url(#linearGradient5693);fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
- sodipodi:type="arc" />
+ <rect width="20" height="9" x="271" y="-438" opacity="1" fill="#c4c5c2" fill-opacity="1" stroke="none" stroke-width="1" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2" stroke-dasharray="none" stroke-dashoffset="0" stroke-opacity="1"/>
+ <path d="M 291.6875,-437.59375 A 3.3125,3.3125 0 1 1 285.0625,-437.59375 A 3.3125,3.3125 0 1 1 291.6875,-437.59375 z" transform="matrix(0.90566,0,0,0.90566,9.830195,-35.68869)" opacity="1" fill="#c4c5c2" fill-opacity="1" stroke="none" stroke-width="1" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2" stroke-dasharray="none" stroke-dashoffset="0" stroke-opacity="1"/>
+ <g>
+ <path transform="matrix(1.056604,0,0,1.056604,-17.19811,24.86321)" d="M 291.6875,-437.59375 A 3.3125,3.3125 0 1 1 285.0625,-437.59375 A 3.3125,3.3125 0 1 1 291.6875,-437.59375 z" opacity="1" fill="#c4c5c2" fill-opacity="1" stroke="none" stroke-width="1" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2" stroke-dasharray="none" stroke-dashoffset="0" stroke-opacity="1"/>
+ <path transform="matrix(1.056604,0,0,1.056604,-17.19818,24.86331)" d="M 291.6875,-437.59375 A 3.3125,3.3125 0 1 1 285.0625,-437.59375 A 3.3125,3.3125 0 1 1 291.6875,-437.59375 z" opacity="1" fill="url(#linearGradient5693)" fill-opacity="1" stroke="none" stroke-width="1" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2" stroke-dasharray="none" stroke-dashoffset="0" stroke-opacity="1"/>
</g>
- <g
- id="g7816">
- <path
- transform="matrix(1.056604,0,0,1.056604,-31.19818,24.86331)"
- d="M 291.6875,-437.59375 A 3.3125,3.3125 0 1 1 285.0625,-437.59375 A 3.3125,3.3125 0 1 1 291.6875,-437.59375 z"
- sodipodi:ry="3.3125"
- sodipodi:rx="3.3125"
- sodipodi:cy="-437.59375"
- sodipodi:cx="288.375"
- id="path7818"
- style="opacity:1;fill:#c4c5c2;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
- sodipodi:type="arc" />
- <path
- transform="matrix(1.056604,0,0,1.056604,-31.19818,24.86331)"
- d="M 291.6875,-437.59375 A 3.3125,3.3125 0 1 1 285.0625,-437.59375 A 3.3125,3.3125 0 1 1 291.6875,-437.59375 z"
- sodipodi:ry="3.3125"
- sodipodi:rx="3.3125"
- sodipodi:cy="-437.59375"
- sodipodi:cx="288.375"
- id="path7820"
- style="opacity:1;fill:url(#linearGradient5695);fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
- sodipodi:type="arc" />
+ <g>
+ <path transform="matrix(1.056604,0,0,1.056604,-31.19818,24.86331)" d="M 291.6875,-437.59375 A 3.3125,3.3125 0 1 1 285.0625,-437.59375 A 3.3125,3.3125 0 1 1 291.6875,-437.59375 z" opacity="1" fill="#c4c5c2" fill-opacity="1" stroke="none" stroke-width="1" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2" stroke-dasharray="none" stroke-dashoffset="0" stroke-opacity="1"/>
+ <path transform="matrix(1.056604,0,0,1.056604,-31.19818,24.86331)" d="M 291.6875,-437.59375 A 3.3125,3.3125 0 1 1 285.0625,-437.59375 A 3.3125,3.3125 0 1 1 291.6875,-437.59375 z" opacity="1" fill="url(#linearGradient5695)" fill-opacity="1" stroke="none" stroke-width="1" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2" stroke-dasharray="none" stroke-dashoffset="0" stroke-opacity="1"/>
</g>
- <g
- id="g7822"
- transform="translate(-1,0)">
- <path
- id="path7824"
- d="M 280.46875,-440.96875 C 276.88937,-440.96875 274,-438.04812 274,-434.46875 C 274,-432.09807 275.34943,-430.13096 277.25,-429 L 283.71875,-429 C 285.61932,-430.13096 286.96875,-432.12931 286.96875,-434.5 C 286.96875,-438.07938 284.04812,-440.96875 280.46875,-440.96875 z"
- style="opacity:1;fill:#c4c5c2;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
- <path
- id="path7826"
- d="M 280.5,-441 C 276.912,-441 274,-438.08799 274,-434.5 C 274,-432.1236 275.34485,-430.13368 277.25,-429 L 283.75,-429 C 285.65515,-430.13368 287,-432.1236 287,-434.5 C 287,-438.088 284.088,-440.99999 280.5,-441 z"
- style="opacity:1;fill:url(#linearGradient5697);fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+ <g transform="translate(-1,0)">
+ <path d="M 280.46875,-440.96875 C 276.88937,-440.96875 274,-438.04812 274,-434.46875 C 274,-432.09807 275.34943,-430.13096 277.25,-429 L 283.71875,-429 C 285.61932,-430.13096 286.96875,-432.12931 286.96875,-434.5 C 286.96875,-438.07938 284.04812,-440.96875 280.46875,-440.96875 z" opacity="1" fill="#c4c5c2" fill-opacity="1" stroke="none" stroke-width="1" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2" stroke-dasharray="none" stroke-dashoffset="0" stroke-opacity="1"/>
+ <path d="M 280.5,-441 C 276.912,-441 274,-438.08799 274,-434.5 C 274,-432.1236 275.34485,-430.13368 277.25,-429 L 283.75,-429 C 285.65515,-430.13368 287,-432.1236 287,-434.5 C 287,-438.088 284.088,-440.99999 280.5,-441 z" opacity="1" fill="url(#linearGradient5697)" fill-opacity="1" stroke="none" stroke-width="1" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2" stroke-dasharray="none" stroke-dashoffset="0" stroke-opacity="1"/>
</g>
- <path
- sodipodi:type="arc"
- style="opacity:1;fill:url(#linearGradient5699);fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
- id="path7828"
- sodipodi:cx="288.375"
- sodipodi:cy="-437.59375"
- sodipodi:rx="3.3125"
- sodipodi:ry="3.3125"
- d="M 291.6875,-437.59375 A 3.3125,3.3125 0 1 1 285.0625,-437.59375 A 3.3125,3.3125 0 1 1 291.6875,-437.59375 z"
- transform="matrix(0.90566,0,0,0.90566,9.830296,-35.68884)" />
- <path
- style="fill:#888a85;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
- d="M 292.9564,-437.33396 C 292.95487,-434.6494 289.68714,-433.62001 289.68714,-433.62001 C 289.68714,-433.62001 292.03588,-435.24596 292.02399,-437.32502 C 292.02399,-437.32502 292.9564,-437.33396 292.9564,-437.33396 z"
- id="path7830"
- sodipodi:nodetypes="ccss" />
- <g
- id="g7832"
- transform="matrix(1.142857,0,0,1.142857,-28.57139,67.00008)">
- <path
- transform="matrix(1.056604,0,0,1.056604,-31.19818,24.86331)"
- d="M 291.6875,-437.59375 A 3.3125,3.3125 0 1 1 285.0625,-437.59375 A 3.3125,3.3125 0 1 1 291.6875,-437.59375 z"
- sodipodi:ry="3.3125"
- sodipodi:rx="3.3125"
- sodipodi:cy="-437.59375"
- sodipodi:cx="288.375"
- id="path7834"
- style="opacity:1;fill:#c4c5c2;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
- sodipodi:type="arc" />
- <path
- transform="matrix(1.056604,0,0,1.056604,-31.19818,24.86331)"
- d="M 291.6875,-437.59375 A 3.3125,3.3125 0 1 1 285.0625,-437.59375 A 3.3125,3.3125 0 1 1 291.6875,-437.59375 z"
- sodipodi:ry="3.3125"
- sodipodi:rx="3.3125"
- sodipodi:cy="-437.59375"
- sodipodi:cx="288.375"
- id="path7836"
- style="opacity:1;fill:url(#linearGradient5701);fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
- sodipodi:type="arc" />
+ <path d="M 291.6875,-437.59375 A 3.3125,3.3125 0 1 1 285.0625,-437.59375 A 3.3125,3.3125 0 1 1 291.6875,-437.59375 z" transform="matrix(0.90566,0,0,0.90566,9.830296,-35.68884)" opacity="1" fill="url(#linearGradient5699)" fill-opacity="1" stroke="none" stroke-width="1" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2" stroke-dasharray="none" stroke-dashoffset="0" stroke-opacity="1"/>
+ <path d="M 292.9564,-437.33396 C 292.95487,-434.6494 289.68714,-433.62001 289.68714,-433.62001 C 289.68714,-433.62001 292.03588,-435.24596 292.02399,-437.32502 C 292.02399,-437.32502 292.9564,-437.33396 292.9564,-437.33396 z" fill="#888a85" fill-opacity="1" fill-rule="evenodd" stroke="none" stroke-width="1px" stroke-linecap="butt" stroke-linejoin="miter" stroke-opacity="1"/>
+ <g transform="matrix(1.142857,0,0,1.142857,-28.57139,67.00008)">
+ <path transform="matrix(1.056604,0,0,1.056604,-31.19818,24.86331)" d="M 291.6875,-437.59375 A 3.3125,3.3125 0 1 1 285.0625,-437.59375 A 3.3125,3.3125 0 1 1 291.6875,-437.59375 z" opacity="1" fill="#c4c5c2" fill-opacity="1" stroke="none" stroke-width="1" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2" stroke-dasharray="none" stroke-dashoffset="0" stroke-opacity="1"/>
+ <path transform="matrix(1.056604,0,0,1.056604,-31.19818,24.86331)" d="M 291.6875,-437.59375 A 3.3125,3.3125 0 1 1 285.0625,-437.59375 A 3.3125,3.3125 0 1 1 291.6875,-437.59375 z" opacity="1" fill="url(#linearGradient5701)" fill-opacity="1" stroke="none" stroke-width="1" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2" stroke-dasharray="none" stroke-dashoffset="0" stroke-opacity="1"/>
</g>
</g>
- <path
- sodipodi:nodetypes="ccsscsssscsscc"
- id="path4934"
- d="M 31.501294,21.49982 C 29.311574,21.49982 27.777694,22.83559 27.105744,25.34334 C 26.437284,24.99972 25.558154,24.50999 24.751294,24.50999 C 22.034784,24.50999 19.996154,26.44881 19.996164,29.05553 C 19.996164,29.6023 20.263374,30.38897 20.438124,30.87754 C 19.113694,31.60549 18.001294,32.76804 18.001294,34.25009 C 18.001294,36.59614 19.547464,38.50018 22.340574,38.50018 C 22.511384,38.50018 40.491214,38.50018 40.662014,38.50018 C 43.433024,38.50018 45.001294,36.59614 45.001294,34.25009 C 45.001294,32.65772 43.888894,31.5834 42.564464,30.85545 C 42.739224,30.36689 43.028534,29.60229 43.028534,29.05553 C 43.028534,26.44882 40.912724,24.4879 38.251304,24.48789 C 37.444434,24.48789 36.609494,24.97763 35.941034,25.32125 C 35.292184,22.89971 33.691024,21.49982 31.501294,21.49982 z"
- style="opacity:0.45;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.99999958;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
- <g
- style="opacity:0.45"
- transform="translate(-264.0013,462.5)"
- id="g7852">
- <path
- style="fill:#c4c5c2;fill-opacity:1;stroke:#888a85;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
- d="M 280.5,-445.5 C 278.22917,-445.5 276.39009,-443.94972 275.78125,-441.875 C 275.08802,-442.23883 274.33674,-442.5 273.5,-442.5 C 270.74,-442.5 268.49999,-440.26001 268.5,-437.5 C 268.5,-436.92107 268.66252,-436.3923 268.84375,-435.875 C 267.47028,-435.10426 266.5,-433.686 266.5,-432 C 266.5,-429.516 268.516,-427.49999 271,-427.5 C 271.17713,-427.5 289.82287,-427.5 290,-427.5 C 292.48399,-427.5 294.5,-429.516 294.5,-432 C 294.5,-433.686 293.52972,-435.10426 292.15625,-435.875 C 292.33749,-436.39229 292.5,-436.92108 292.5,-437.5 C 292.5,-440.26 290.26,-442.49999 287.5,-442.5 C 286.66326,-442.5 285.91198,-442.23883 285.21875,-441.875 C 284.60991,-443.94972 282.77083,-445.5 280.5,-445.5 z"
- id="path7854"
- sodipodi:nodetypes="ccsscsssscsscc" />
- <path
- style="opacity:1;fill:url(#linearGradient5703);fill-opacity:1;stroke:none;stroke-width:0.99999958;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
- d="M 280.5,-445 C 278.31028,-445 276.7764,-443.66423 276.10445,-441.15648 C 275.43599,-441.5001 274.55686,-441.98983 273.75,-441.98983 C 271.03349,-441.98983 268.99486,-440.05101 268.99487,-437.44429 C 268.99487,-436.89752 269.26208,-436.11085 269.43683,-435.62228 C 268.1124,-434.89433 267,-433.73178 267,-432.24973 C 267,-429.90368 268.54617,-427.99964 271.33928,-427.99964 C 271.51009,-427.99964 289.48992,-427.99964 289.66072,-427.99964 C 292.43173,-427.99964 294,-429.90368 294,-432.24973 C 294,-433.8421 292.8876,-434.91642 291.56317,-435.64437 C 291.73793,-436.13293 292.02724,-436.89753 292.02724,-437.44429 C 292.02724,-440.051 289.91143,-442.01192 287.25001,-442.01193 C 286.44314,-442.01193 285.6082,-441.52219 284.93974,-441.17857 C 284.29089,-443.60011 282.68973,-445 280.5,-445 z"
- id="path7856"
- sodipodi:nodetypes="ccsscsssscsscc" />
- <g
- id="g7858">
- <path
- transform="matrix(1.056604,0,0,1.056604,-24.19818,21.86331)"
- d="M 291.6875,-437.59375 A 3.3125,3.3125 0 1 1 285.0625,-437.59375 A 3.3125,3.3125 0 1 1 291.6875,-437.59375 z"
- sodipodi:ry="3.3125"
- sodipodi:rx="3.3125"
- sodipodi:cy="-437.59375"
- sodipodi:cx="288.375"
- id="path7860"
- style="opacity:1;fill:#c4c5c2;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
- sodipodi:type="arc" />
- <path
- transform="matrix(1.056604,0,0,1.056604,-24.19818,21.86331)"
- d="M 291.6875,-437.59375 A 3.3125,3.3125 0 1 1 285.0625,-437.59375 A 3.3125,3.3125 0 1 1 291.6875,-437.59375 z"
- sodipodi:ry="3.3125"
- sodipodi:rx="3.3125"
- sodipodi:cy="-437.59375"
- sodipodi:cx="288.375"
- id="path7862"
- style="opacity:1;fill:url(#linearGradient5705);fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
- sodipodi:type="arc" />
+ <path d="M 31.501294,21.49982 C 29.311574,21.49982 27.777694,22.83559 27.105744,25.34334 C 26.437284,24.99972 25.558154,24.50999 24.751294,24.50999 C 22.034784,24.50999 19.996154,26.44881 19.996164,29.05553 C 19.996164,29.6023 20.263374,30.38897 20.438124,30.87754 C 19.113694,31.60549 18.001294,32.76804 18.001294,34.25009 C 18.001294,36.59614 19.547464,38.50018 22.340574,38.50018 C 22.511384,38.50018 40.491214,38.50018 40.662014,38.50018 C 43.433024,38.50018 45.001294,36.59614 45.001294,34.25009 C 45.001294,32.65772 43.888894,31.5834 42.564464,30.85545 C 42.739224,30.36689 43.028534,29.60229 43.028534,29.05553 C 43.028534,26.44882 40.912724,24.4879 38.251304,24.48789 C 37.444434,24.48789 36.609494,24.97763 35.941034,25.32125 C 35.292184,22.89971 33.691024,21.49982 31.501294,21.49982 z" opacity="0.45" fill="#ffffff" fill-opacity="1" stroke="none" stroke-width="0.99999958" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2" stroke-dasharray="none" stroke-dashoffset="0" stroke-opacity="1"/>
+ <g transform="translate(-264.0013,462.5)" opacity="0.45">
+ <path d="M 280.5,-445.5 C 278.22917,-445.5 276.39009,-443.94972 275.78125,-441.875 C 275.08802,-442.23883 274.33674,-442.5 273.5,-442.5 C 270.74,-442.5 268.49999,-440.26001 268.5,-437.5 C 268.5,-436.92107 268.66252,-436.3923 268.84375,-435.875 C 267.47028,-435.10426 266.5,-433.686 266.5,-432 C 266.5,-429.516 268.516,-427.49999 271,-427.5 C 271.17713,-427.5 289.82287,-427.5 290,-427.5 C 292.48399,-427.5 294.5,-429.516 294.5,-432 C 294.5,-433.686 293.52972,-435.10426 292.15625,-435.875 C 292.33749,-436.39229 292.5,-436.92108 292.5,-437.5 C 292.5,-440.26 290.26,-442.49999 287.5,-442.5 C 286.66326,-442.5 285.91198,-442.23883 285.21875,-441.875 C 284.60991,-443.94972 282.77083,-445.5 280.5,-445.5 z" fill="#c4c5c2" fill-opacity="1" stroke="#888a85" stroke-width="1" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2" stroke-dasharray="none" stroke-dashoffset="0" stroke-opacity="1"/>
+ <path d="M 280.5,-445 C 278.31028,-445 276.7764,-443.66423 276.10445,-441.15648 C 275.43599,-441.5001 274.55686,-441.98983 273.75,-441.98983 C 271.03349,-441.98983 268.99486,-440.05101 268.99487,-437.44429 C 268.99487,-436.89752 269.26208,-436.11085 269.43683,-435.62228 C 268.1124,-434.89433 267,-433.73178 267,-432.24973 C 267,-429.90368 268.54617,-427.99964 271.33928,-427.99964 C 271.51009,-427.99964 289.48992,-427.99964 289.66072,-427.99964 C 292.43173,-427.99964 294,-429.90368 294,-432.24973 C 294,-433.8421 292.8876,-434.91642 291.56317,-435.64437 C 291.73793,-436.13293 292.02724,-436.89753 292.02724,-437.44429 C 292.02724,-440.051 289.91143,-442.01192 287.25001,-442.01193 C 286.44314,-442.01193 285.6082,-441.52219 284.93974,-441.17857 C 284.29089,-443.60011 282.68973,-445 280.5,-445 z" opacity="1" fill="url(#linearGradient5703)" fill-opacity="1" stroke="none" stroke-width="0.99999958" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2" stroke-dasharray="none" stroke-dashoffset="0" stroke-opacity="1"/>
+ <g>
+ <path transform="matrix(1.056604,0,0,1.056604,-24.19818,21.86331)" d="M 291.6875,-437.59375 A 3.3125,3.3125 0 1 1 285.0625,-437.59375 A 3.3125,3.3125 0 1 1 291.6875,-437.59375 z" opacity="1" fill="#c4c5c2" fill-opacity="1" stroke="none" stroke-width="1" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2" stroke-dasharray="none" stroke-dashoffset="0" stroke-opacity="1"/>
+ <path transform="matrix(1.056604,0,0,1.056604,-24.19818,21.86331)" d="M 291.6875,-437.59375 A 3.3125,3.3125 0 1 1 285.0625,-437.59375 A 3.3125,3.3125 0 1 1 291.6875,-437.59375 z" opacity="1" fill="url(#linearGradient5705)" fill-opacity="1" stroke="none" stroke-width="1" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2" stroke-dasharray="none" stroke-dashoffset="0" stroke-opacity="1"/>
</g>
- <rect
- style="opacity:1;fill:#c4c5c2;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
- id="rect7864"
- width="20"
- height="9"
- x="271"
- y="-438" />
- <path
- sodipodi:type="arc"
- style="opacity:1;fill:#c4c5c2;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
- id="path7866"
- sodipodi:cx="288.375"
- sodipodi:cy="-437.59375"
- sodipodi:rx="3.3125"
- sodipodi:ry="3.3125"
- d="M 291.6875,-437.59375 A 3.3125,3.3125 0 1 1 285.0625,-437.59375 A 3.3125,3.3125 0 1 1 291.6875,-437.59375 z"
- transform="matrix(0.90566,0,0,0.90566,9.830195,-35.68869)" />
- <g
- id="g7868">
- <path
- transform="matrix(1.056604,0,0,1.056604,-17.19811,24.86321)"
- d="M 291.6875,-437.59375 A 3.3125,3.3125 0 1 1 285.0625,-437.59375 A 3.3125,3.3125 0 1 1 291.6875,-437.59375 z"
- sodipodi:ry="3.3125"
- sodipodi:rx="3.3125"
- sodipodi:cy="-437.59375"
- sodipodi:cx="288.375"
- id="path7870"
- style="opacity:1;fill:#c4c5c2;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
- sodipodi:type="arc" />
- <path
- transform="matrix(1.056604,0,0,1.056604,-17.19818,24.86331)"
- d="M 291.6875,-437.59375 A 3.3125,3.3125 0 1 1 285.0625,-437.59375 A 3.3125,3.3125 0 1 1 291.6875,-437.59375 z"
- sodipodi:ry="3.3125"
- sodipodi:rx="3.3125"
- sodipodi:cy="-437.59375"
- sodipodi:cx="288.375"
- id="path7872"
- style="opacity:1;fill:url(#linearGradient5707);fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
- sodipodi:type="arc" />
+ <rect width="20" height="9" x="271" y="-438" opacity="1" fill="#c4c5c2" fill-opacity="1" stroke="none" stroke-width="1" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2" stroke-dasharray="none" stroke-dashoffset="0" stroke-opacity="1"/>
+ <path d="M 291.6875,-437.59375 A 3.3125,3.3125 0 1 1 285.0625,-437.59375 A 3.3125,3.3125 0 1 1 291.6875,-437.59375 z" transform="matrix(0.90566,0,0,0.90566,9.830195,-35.68869)" opacity="1" fill="#c4c5c2" fill-opacity="1" stroke="none" stroke-width="1" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2" stroke-dasharray="none" stroke-dashoffset="0" stroke-opacity="1"/>
+ <g>
+ <path transform="matrix(1.056604,0,0,1.056604,-17.19811,24.86321)" d="M 291.6875,-437.59375 A 3.3125,3.3125 0 1 1 285.0625,-437.59375 A 3.3125,3.3125 0 1 1 291.6875,-437.59375 z" opacity="1" fill="#c4c5c2" fill-opacity="1" stroke="none" stroke-width="1" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2" stroke-dasharray="none" stroke-dashoffset="0" stroke-opacity="1"/>
+ <path transform="matrix(1.056604,0,0,1.056604,-17.19818,24.86331)" d="M 291.6875,-437.59375 A 3.3125,3.3125 0 1 1 285.0625,-437.59375 A 3.3125,3.3125 0 1 1 291.6875,-437.59375 z" opacity="1" fill="url(#linearGradient5707)" fill-opacity="1" stroke="none" stroke-width="1" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2" stroke-dasharray="none" stroke-dashoffset="0" stroke-opacity="1"/>
</g>
- <g
- id="g7874">
- <path
- transform="matrix(1.056604,0,0,1.056604,-31.19818,24.86331)"
- d="M 291.6875,-437.59375 A 3.3125,3.3125 0 1 1 285.0625,-437.59375 A 3.3125,3.3125 0 1 1 291.6875,-437.59375 z"
- sodipodi:ry="3.3125"
- sodipodi:rx="3.3125"
- sodipodi:cy="-437.59375"
- sodipodi:cx="288.375"
- id="path7876"
- style="opacity:1;fill:#c4c5c2;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
- sodipodi:type="arc" />
- <path
- transform="matrix(1.056604,0,0,1.056604,-31.19818,24.86331)"
- d="M 291.6875,-437.59375 A 3.3125,3.3125 0 1 1 285.0625,-437.59375 A 3.3125,3.3125 0 1 1 291.6875,-437.59375 z"
- sodipodi:ry="3.3125"
- sodipodi:rx="3.3125"
- sodipodi:cy="-437.59375"
- sodipodi:cx="288.375"
- id="path7878"
- style="opacity:1;fill:url(#linearGradient5709);fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
- sodipodi:type="arc" />
+ <g>
+ <path transform="matrix(1.056604,0,0,1.056604,-31.19818,24.86331)" d="M 291.6875,-437.59375 A 3.3125,3.3125 0 1 1 285.0625,-437.59375 A 3.3125,3.3125 0 1 1 291.6875,-437.59375 z" opacity="1" fill="#c4c5c2" fill-opacity="1" stroke="none" stroke-width="1" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2" stroke-dasharray="none" stroke-dashoffset="0" stroke-opacity="1"/>
+ <path transform="matrix(1.056604,0,0,1.056604,-31.19818,24.86331)" d="M 291.6875,-437.59375 A 3.3125,3.3125 0 1 1 285.0625,-437.59375 A 3.3125,3.3125 0 1 1 291.6875,-437.59375 z" opacity="1" fill="url(#linearGradient5709)" fill-opacity="1" stroke="none" stroke-width="1" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2" stroke-dasharray="none" stroke-dashoffset="0" stroke-opacity="1"/>
</g>
- <g
- id="g7880"
- transform="translate(-1,0)">
- <path
- id="path7882"
- d="M 280.46875,-440.96875 C 276.88937,-440.96875 274,-438.04812 274,-434.46875 C 274,-432.09807 275.34943,-430.13096 277.25,-429 L 283.71875,-429 C 285.61932,-430.13096 286.96875,-432.12931 286.96875,-434.5 C 286.96875,-438.07938 284.04812,-440.96875 280.46875,-440.96875 z"
- style="opacity:1;fill:#c4c5c2;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
- <path
- id="path7884"
- d="M 280.5,-441 C 276.912,-441 274,-438.08799 274,-434.5 C 274,-432.1236 275.34485,-430.13368 277.25,-429 L 283.75,-429 C 285.65515,-430.13368 287,-432.1236 287,-434.5 C 287,-438.088 284.088,-440.99999 280.5,-441 z"
- style="opacity:1;fill:url(#linearGradient5711);fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+ <g transform="translate(-1,0)">
+ <path d="M 280.46875,-440.96875 C 276.88937,-440.96875 274,-438.04812 274,-434.46875 C 274,-432.09807 275.34943,-430.13096 277.25,-429 L 283.71875,-429 C 285.61932,-430.13096 286.96875,-432.12931 286.96875,-434.5 C 286.96875,-438.07938 284.04812,-440.96875 280.46875,-440.96875 z" opacity="1" fill="#c4c5c2" fill-opacity="1" stroke="none" stroke-width="1" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2" stroke-dasharray="none" stroke-dashoffset="0" stroke-opacity="1"/>
+ <path d="M 280.5,-441 C 276.912,-441 274,-438.08799 274,-434.5 C 274,-432.1236 275.34485,-430.13368 277.25,-429 L 283.75,-429 C 285.65515,-430.13368 287,-432.1236 287,-434.5 C 287,-438.088 284.088,-440.99999 280.5,-441 z" opacity="1" fill="url(#linearGradient5711)" fill-opacity="1" stroke="none" stroke-width="1" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2" stroke-dasharray="none" stroke-dashoffset="0" stroke-opacity="1"/>
</g>
- <path
- sodipodi:type="arc"
- style="opacity:1;fill:url(#linearGradient5713);fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
- id="path7886"
- sodipodi:cx="288.375"
- sodipodi:cy="-437.59375"
- sodipodi:rx="3.3125"
- sodipodi:ry="3.3125"
- d="M 291.6875,-437.59375 A 3.3125,3.3125 0 1 1 285.0625,-437.59375 A 3.3125,3.3125 0 1 1 291.6875,-437.59375 z"
- transform="matrix(0.90566,0,0,0.90566,9.830296,-35.68884)" />
- <path
- style="fill:#888a85;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
- d="M 292.9564,-437.33396 C 292.95487,-434.6494 289.68714,-433.62001 289.68714,-433.62001 C 289.68714,-433.62001 292.03588,-435.24596 292.02399,-437.32502 C 292.02399,-437.32502 292.9564,-437.33396 292.9564,-437.33396 z"
- id="path7888"
- sodipodi:nodetypes="ccss" />
- <g
- id="g7890"
- transform="matrix(1.142857,0,0,1.142857,-28.57139,67.00008)">
- <path
- transform="matrix(1.056604,0,0,1.056604,-31.19818,24.86331)"
- d="M 291.6875,-437.59375 A 3.3125,3.3125 0 1 1 285.0625,-437.59375 A 3.3125,3.3125 0 1 1 291.6875,-437.59375 z"
- sodipodi:ry="3.3125"
- sodipodi:rx="3.3125"
- sodipodi:cy="-437.59375"
- sodipodi:cx="288.375"
- id="path7892"
- style="opacity:1;fill:#c4c5c2;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
- sodipodi:type="arc" />
- <path
- transform="matrix(1.056604,0,0,1.056604,-31.19818,24.86331)"
- d="M 291.6875,-437.59375 A 3.3125,3.3125 0 1 1 285.0625,-437.59375 A 3.3125,3.3125 0 1 1 291.6875,-437.59375 z"
- sodipodi:ry="3.3125"
- sodipodi:rx="3.3125"
- sodipodi:cy="-437.59375"
- sodipodi:cx="288.375"
- id="path7896"
- style="opacity:1;fill:url(#linearGradient5715);fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
- sodipodi:type="arc" />
+ <path d="M 291.6875,-437.59375 A 3.3125,3.3125 0 1 1 285.0625,-437.59375 A 3.3125,3.3125 0 1 1 291.6875,-437.59375 z" transform="matrix(0.90566,0,0,0.90566,9.830296,-35.68884)" opacity="1" fill="url(#linearGradient5713)" fill-opacity="1" stroke="none" stroke-width="1" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2" stroke-dasharray="none" stroke-dashoffset="0" stroke-opacity="1"/>
+ <path d="M 292.9564,-437.33396 C 292.95487,-434.6494 289.68714,-433.62001 289.68714,-433.62001 C 289.68714,-433.62001 292.03588,-435.24596 292.02399,-437.32502 C 292.02399,-437.32502 292.9564,-437.33396 292.9564,-437.33396 z" fill="#888a85" fill-opacity="1" fill-rule="evenodd" stroke="none" stroke-width="1px" stroke-linecap="butt" stroke-linejoin="miter" stroke-opacity="1"/>
+ <g transform="matrix(1.142857,0,0,1.142857,-28.57139,67.00008)">
+ <path transform="matrix(1.056604,0,0,1.056604,-31.19818,24.86331)" d="M 291.6875,-437.59375 A 3.3125,3.3125 0 1 1 285.0625,-437.59375 A 3.3125,3.3125 0 1 1 291.6875,-437.59375 z" opacity="1" fill="#c4c5c2" fill-opacity="1" stroke="none" stroke-width="1" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2" stroke-dasharray="none" stroke-dashoffset="0" stroke-opacity="1"/>
+ <path transform="matrix(1.056604,0,0,1.056604,-31.19818,24.86331)" d="M 291.6875,-437.59375 A 3.3125,3.3125 0 1 1 285.0625,-437.59375 A 3.3125,3.3125 0 1 1 291.6875,-437.59375 z" opacity="1" fill="url(#linearGradient5715)" fill-opacity="1" stroke="none" stroke-width="1" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2" stroke-dasharray="none" stroke-dashoffset="0" stroke-opacity="1"/>
</g>
</g>
- <path
- sodipodi:nodetypes="ccsscsssscsscc"
- id="path4978"
- d="M 16.498705,17.499819 C 14.308985,17.499819 12.775105,18.835589 12.103155,21.343339 C 11.434695,20.999719 10.555565,20.509989 9.748705,20.509989 C 7.032195,20.509989 4.993565,22.448809 4.993575,25.055529 C 4.993575,25.602299 5.260785,26.388969 5.435535,26.877539 C 4.111105,27.605489 2.998705,28.768039 2.998705,30.250089 C 2.998705,32.596139 4.544875,34.500179 7.337985,34.500179 C 7.508795,34.500179 25.488624,34.500179 25.659424,34.500179 C 28.430434,34.500179 29.998704,32.596139 29.998704,30.250089 C 29.998704,28.657719 28.886304,27.583399 27.561874,26.855449 C 27.736634,26.366889 28.025944,25.602289 28.025944,25.055529 C 28.025944,22.448819 25.910134,20.487899 23.248714,20.487889 C 22.441844,20.487889 21.606904,20.977629 20.938444,21.321249 C 20.289594,18.899709 18.688434,17.499819 16.498705,17.499819 z"
- style="opacity:0.45;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.99999958;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+ <path d="M 16.498705,17.499819 C 14.308985,17.499819 12.775105,18.835589 12.103155,21.343339 C 11.434695,20.999719 10.555565,20.509989 9.748705,20.509989 C 7.032195,20.509989 4.993565,22.448809 4.993575,25.055529 C 4.993575,25.602299 5.260785,26.388969 5.435535,26.877539 C 4.111105,27.605489 2.998705,28.768039 2.998705,30.250089 C 2.998705,32.596139 4.544875,34.500179 7.337985,34.500179 C 7.508795,34.500179 25.488624,34.500179 25.659424,34.500179 C 28.430434,34.500179 29.998704,32.596139 29.998704,30.250089 C 29.998704,28.657719 28.886304,27.583399 27.561874,26.855449 C 27.736634,26.366889 28.025944,25.602289 28.025944,25.055529 C 28.025944,22.448819 25.910134,20.487899 23.248714,20.487889 C 22.441844,20.487889 21.606904,20.977629 20.938444,21.321249 C 20.289594,18.899709 18.688434,17.499819 16.498705,17.499819 z" opacity="0.45" fill="#ffffff" fill-opacity="1" stroke="none" stroke-width="0.99999958" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2" stroke-dasharray="none" stroke-dashoffset="0" stroke-opacity="1"/>
</g>
</g>
</svg>
diff --git a/demos/embedded/weatherinfo/icons/weather-haze.svg b/demos/embedded/weatherinfo/icons/weather-haze.svg
index f2d6671..b31811f 100644
--- a/demos/embedded/weatherinfo/icons/weather-haze.svg
+++ b/demos/embedded/weatherinfo/icons/weather-haze.svg
@@ -1,1121 +1,162 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!-- Created with Inkscape (http://www.inkscape.org/) -->
-<svg
- xmlns:dc="http://purl.org/dc/elements/1.1/"
- xmlns:cc="http://creativecommons.org/ns#"
- xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns:svg="http://www.w3.org/2000/svg"
- xmlns="http://www.w3.org/2000/svg"
- xmlns:xlink="http://www.w3.org/1999/xlink"
- xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
- xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
- width="48"
- height="48"
- id="svg14353"
- sodipodi:version="0.32"
- inkscape:version="0.46"
- version="1.0"
- sodipodi:docname="weather-haze.svg"
- inkscape:output_extension="org.inkscape.output.svg.inkscape">
- <sodipodi:namedview
- id="base"
- pagecolor="#ffffff"
- bordercolor="#666666"
- borderopacity="1.0"
- gridtolerance="10000"
- guidetolerance="10"
- objecttolerance="10"
- inkscape:pageopacity="0.0"
- inkscape:pageshadow="2"
- inkscape:zoom="1"
- inkscape:cx="-122"
- inkscape:cy="24"
- inkscape:document-units="px"
- inkscape:current-layer="layer1"
- showgrid="false"
- inkscape:showpageshadow="false"
- showborder="false"
- showguides="true"
- inkscape:guide-bbox="true"
- inkscape:window-width="982"
- inkscape:window-height="965"
- inkscape:window-x="1281"
- inkscape:window-y="29"
- borderlayer="false" />
- <defs
- id="defs14355">
- <linearGradient
- inkscape:collect="always"
- id="linearGradient8371">
- <stop
- style="stop-color:#e8d277;stop-opacity:1;"
- offset="0"
- id="stop8373" />
- <stop
- style="stop-color:#e8d277;stop-opacity:0;"
- offset="1"
- id="stop8375" />
+<svg xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="48" height="48" id="svg14353" version="1.0">
+
+ <defs id="defs14355">
+ <linearGradient id="linearGradient8371">
+ <stop offset="0" id="stop8373" stop-color="#e8d277" stop-opacity="1"/>
+ <stop offset="1" id="stop8375" stop-color="#e8d277" stop-opacity="0"/>
</linearGradient>
- <linearGradient
- id="linearGradient9810">
- <stop
- style="stop-color:#ddc76e;stop-opacity:1;"
- offset="0"
- id="stop9812" />
- <stop
- style="stop-color:#e6d965;stop-opacity:0;"
- offset="1"
- id="stop9814" />
+ <linearGradient id="linearGradient9362">
+ <stop id="stop9364" offset="0" stop-color="#392100" stop-opacity="1"/>
+ <stop id="stop9366" offset="1" stop-color="#392100" stop-opacity="0"/>
</linearGradient>
- <linearGradient
- id="linearGradient9636">
- <stop
- style="stop-color:#fce94f;stop-opacity:1;"
- offset="0"
- id="stop9638" />
- <stop
- style="stop-color:#fce94f;stop-opacity:0;"
- offset="1"
- id="stop9640" />
+ <linearGradient id="linearGradient7010">
+ <stop offset="0" id="stop7012" stop-color="#aec2d7" stop-opacity="1"/>
+ <stop id="stop9915" offset="1" stop-color="#81a0c1" stop-opacity="1"/>
</linearGradient>
- <linearGradient
- id="linearGradient9362">
- <stop
- id="stop9364"
- offset="0"
- style="stop-color:#392100;stop-opacity:1;" />
- <stop
- id="stop9366"
- offset="1"
- style="stop-color:#392100;stop-opacity:0;" />
+ <linearGradient id="linearGradient6825">
+ <stop offset="0" id="stop6827" stop-color="#3a2400" stop-opacity="1"/>
+ <stop id="stop6833" offset="0.28565985" stop-color="#8c5600" stop-opacity="1"/>
+ <stop offset="1" id="stop6829" stop-color="#a36400" stop-opacity="1"/>
</linearGradient>
- <linearGradient
- id="linearGradient7010">
- <stop
- style="stop-color:#aec2d7;stop-opacity:1;"
- offset="0"
- id="stop7012" />
- <stop
- id="stop9915"
- offset="1"
- style="stop-color:#81a0c1;stop-opacity:1;" />
+ <linearGradient id="linearGradient6772">
+ <stop offset="0" id="stop6774" stop-color="#888a85" stop-opacity="1"/>
+ <stop offset="1" id="stop6776" stop-color="#eeeeec" stop-opacity="1"/>
</linearGradient>
- <linearGradient
- id="linearGradient6825">
- <stop
- style="stop-color:#3a2400;stop-opacity:1;"
- offset="0"
- id="stop6827" />
- <stop
- id="stop6833"
- offset="0.28565985"
- style="stop-color:#8c5600;stop-opacity:1;" />
- <stop
- style="stop-color:#a36400;stop-opacity:1;"
- offset="1"
- id="stop6829" />
+ <linearGradient id="linearGradient6764">
+ <stop offset="0" id="stop6766" stop-color="#eeeeec" stop-opacity="1"/>
+ <stop offset="1" id="stop6768" stop-color="#eeeeec" stop-opacity="0"/>
</linearGradient>
- <linearGradient
- id="linearGradient6772">
- <stop
- style="stop-color:#888a85;stop-opacity:1;"
- offset="0"
- id="stop6774" />
- <stop
- style="stop-color:#eeeeec;stop-opacity:1;"
- offset="1"
- id="stop6776" />
+ <linearGradient id="linearGradient6746">
+ <stop offset="0" id="stop6748" stop-color="#eeeeec" stop-opacity="1"/>
+ <stop offset="1" id="stop6750" stop-color="#eeeeec" stop-opacity="0"/>
</linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient6764">
- <stop
- style="stop-color:#eeeeec;stop-opacity:1;"
- offset="0"
- id="stop6766" />
- <stop
- style="stop-color:#eeeeec;stop-opacity:0;"
- offset="1"
- id="stop6768" />
+ <linearGradient id="linearGradient6728">
+ <stop offset="0" id="stop6730" stop-color="#babdb6" stop-opacity="1"/>
+ <stop offset="1" id="stop6732" stop-color="#babdb6" stop-opacity="0"/>
</linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient6746">
- <stop
- style="stop-color:#eeeeec;stop-opacity:1;"
- offset="0"
- id="stop6748" />
- <stop
- style="stop-color:#eeeeec;stop-opacity:0;"
- offset="1"
- id="stop6750" />
+ <linearGradient id="linearGradient6685">
+ <stop offset="0" id="stop6687" stop-color="#000000" stop-opacity="1"/>
+ <stop offset="1" id="stop6689" stop-color="#000000" stop-opacity="0"/>
</linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient6728">
- <stop
- style="stop-color:#babdb6;stop-opacity:1;"
- offset="0"
- id="stop6730" />
- <stop
- style="stop-color:#babdb6;stop-opacity:0;"
- offset="1"
- id="stop6732" />
+ <linearGradient id="linearGradient6631">
+ <stop offset="0" id="stop6633" stop-color="#555753" stop-opacity="1"/>
+ <stop id="stop6639" offset="0.0343047" stop-color="#eeeeec" stop-opacity="0.49803922"/>
+ <stop offset="0.06714281" id="stop6641" stop-color="#555753" stop-opacity="1"/>
+ <stop id="stop6643" offset="0.08441304" stop-color="#eeeeec" stop-opacity="0.49803922"/>
+ <stop offset="0.13726114" id="stop6645" stop-color="#555753" stop-opacity="1"/>
+ <stop id="stop6647" offset="0.15779018" stop-color="#eeeeec" stop-opacity="0.49803922"/>
+ <stop offset="0.21104114" id="stop6649" stop-color="#555753" stop-opacity="1"/>
+ <stop id="stop6651" offset="0.23053712" stop-color="#eeeeec" stop-opacity="0.49803922"/>
+ <stop offset="0.27452311" id="stop6653" stop-color="#555753" stop-opacity="1"/>
+ <stop id="stop6655" offset="0.29490501" stop-color="#eeeeec" stop-opacity="0.49803922"/>
+ <stop offset="0.34954464" id="stop6657" stop-color="#555753" stop-opacity="1"/>
+ <stop id="stop6659" offset="0.36960241" stop-color="#eeeeec" stop-opacity="0.49803922"/>
+ <stop offset="0.4220143" id="stop6675" stop-color="#555753" stop-opacity="1"/>
+ <stop id="stop6677" offset="0.44345734" stop-color="#eeeeec" stop-opacity="0.49803922"/>
+ <stop offset="0.50078195" id="stop6679" stop-color="#555753" stop-opacity="1"/>
+ <stop id="stop6681" offset="0.52629334" stop-color="#eeeeec" stop-opacity="0.49803922"/>
+ <stop offset="0.57410157" id="stop6683" stop-color="#555753" stop-opacity="1"/>
+ <stop id="stop6693" offset="0.5898369" stop-color="#eeeeec" stop-opacity="0.49803922"/>
+ <stop offset="0.64333093" id="stop6695" stop-color="#555753" stop-opacity="1"/>
+ <stop id="stop6697" offset="0.66151941" stop-color="#eeeeec" stop-opacity="0.49803922"/>
+ <stop offset="0.70865703" id="stop6699" stop-color="#555753" stop-opacity="1"/>
+ <stop id="stop6701" offset="0.72415513" stop-color="#eeeeec" stop-opacity="0.49803922"/>
+ <stop offset="1" id="stop6661" stop-color="#555753" stop-opacity="1"/>
</linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient6685">
- <stop
- style="stop-color:#000000;stop-opacity:1;"
- offset="0"
- id="stop6687" />
- <stop
- style="stop-color:#000000;stop-opacity:0;"
- offset="1"
- id="stop6689" />
- </linearGradient>
- <linearGradient
- id="linearGradient6631">
- <stop
- style="stop-color:#555753;stop-opacity:1;"
- offset="0"
- id="stop6633" />
- <stop
- id="stop6639"
- offset="0.0343047"
- style="stop-color:#eeeeec;stop-opacity:0.49803922;" />
- <stop
- style="stop-color:#555753;stop-opacity:1;"
- offset="0.06714281"
- id="stop6641" />
- <stop
- id="stop6643"
- offset="0.08441304"
- style="stop-color:#eeeeec;stop-opacity:0.49803922;" />
- <stop
- style="stop-color:#555753;stop-opacity:1;"
- offset="0.13726114"
- id="stop6645" />
- <stop
- id="stop6647"
- offset="0.15779018"
- style="stop-color:#eeeeec;stop-opacity:0.49803922;" />
- <stop
- style="stop-color:#555753;stop-opacity:1;"
- offset="0.21104114"
- id="stop6649" />
- <stop
- id="stop6651"
- offset="0.23053712"
- style="stop-color:#eeeeec;stop-opacity:0.49803922;" />
- <stop
- style="stop-color:#555753;stop-opacity:1;"
- offset="0.27452311"
- id="stop6653" />
- <stop
- id="stop6655"
- offset="0.29490501"
- style="stop-color:#eeeeec;stop-opacity:0.49803922;" />
- <stop
- style="stop-color:#555753;stop-opacity:1;"
- offset="0.34954464"
- id="stop6657" />
- <stop
- id="stop6659"
- offset="0.36960241"
- style="stop-color:#eeeeec;stop-opacity:0.49803922;" />
- <stop
- style="stop-color:#555753;stop-opacity:1;"
- offset="0.4220143"
- id="stop6675" />
- <stop
- id="stop6677"
- offset="0.44345734"
- style="stop-color:#eeeeec;stop-opacity:0.49803922;" />
- <stop
- style="stop-color:#555753;stop-opacity:1;"
- offset="0.50078195"
- id="stop6679" />
- <stop
- id="stop6681"
- offset="0.52629334"
- style="stop-color:#eeeeec;stop-opacity:0.49803922;" />
- <stop
- style="stop-color:#555753;stop-opacity:1;"
- offset="0.57410157"
- id="stop6683" />
- <stop
- id="stop6693"
- offset="0.5898369"
- style="stop-color:#eeeeec;stop-opacity:0.49803922;" />
- <stop
- style="stop-color:#555753;stop-opacity:1;"
- offset="0.64333093"
- id="stop6695" />
- <stop
- id="stop6697"
- offset="0.66151941"
- style="stop-color:#eeeeec;stop-opacity:0.49803922;" />
- <stop
- style="stop-color:#555753;stop-opacity:1;"
- offset="0.70865703"
- id="stop6699" />
- <stop
- id="stop6701"
- offset="0.72415513"
- style="stop-color:#eeeeec;stop-opacity:0.49803922;" />
- <stop
- style="stop-color:#555753;stop-opacity:1;"
- offset="1"
- id="stop6661" />
- </linearGradient>
- <linearGradient
- id="linearGradient15161">
- <stop
- style="stop-color:#c3b49d;stop-opacity:0.3539823;"
- offset="0"
- id="stop15163" />
- <stop
- id="stop9310"
- offset="1"
- style="stop-color:#dcd070;stop-opacity:1;" />
- </linearGradient>
- <inkscape:perspective
- sodipodi:type="inkscape:persp3d"
- inkscape:vp_x="0 : 526.18109 : 1"
- inkscape:vp_y="0 : 1000 : 0"
- inkscape:vp_z="744.09448 : 526.18109 : 1"
- inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
- id="perspective14361" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient15161"
- id="linearGradient15167"
- x1="21.285088"
- y1="33.110512"
- x2="21.285088"
- y2="-0.0017124993"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.9479167,0,0,0.9479167,1.2500007,1.2500003)" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient15161"
- id="linearGradient15250"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.9479167,0,0,0.9479167,1.2500007,1.2500003)"
- x1="21.285088"
- y1="33.110512"
- x2="21.285088"
- y2="-0.0017124993" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6631"
- id="linearGradient6637"
- x1="-0.52151477"
- y1="29.500589"
- x2="18.516363"
- y2="14.809909"
- gradientUnits="userSpaceOnUse" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6685"
- id="radialGradient6691"
- cx="122"
- cy="401.95938"
- fx="122"
- fy="401.95938"
- r="6.7283827"
- gradientTransform="matrix(-0.5944965,-3.8328271e-7,4.1781509e-7,-0.6480585,194.52841,528.49324)"
- gradientUnits="userSpaceOnUse" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6728"
- id="linearGradient6734"
- x1="15.072129"
- y1="21.263441"
- x2="17.008948"
- y2="21.263441"
- gradientUnits="userSpaceOnUse" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6728"
- id="linearGradient6742"
- x1="15.133464"
- y1="32.587334"
- x2="17.008692"
- y2="32.587334"
- gradientUnits="userSpaceOnUse" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6746"
- id="linearGradient6752"
- x1="15.526249"
- y1="2.097311"
- x2="15.526249"
- y2="14.758003"
- gradientUnits="userSpaceOnUse" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6764"
- id="linearGradient6770"
- x1="11.884123"
- y1="10.724713"
- x2="6.123559"
- y2="29.316263"
- gradientUnits="userSpaceOnUse" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6772"
- id="linearGradient6778"
- x1="7.8838124"
- y1="18.558826"
- x2="7.8838124"
- y2="34.97258"
- gradientUnits="userSpaceOnUse" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6825"
- id="linearGradient6831"
- x1="37.997959"
- y1="18.245197"
- x2="37.997959"
- y2="39.658928"
- gradientUnits="userSpaceOnUse" />
- <pattern
- patternUnits="userSpaceOnUse"
- width="45.991676"
- height="45.991676"
- patternTransform="translate(-0.532328,52.691734)"
- id="pattern7396">
- <rect
- y="0"
- x="0"
- height="45.991676"
- width="45.991676"
- id="rect15159"
- style="fill:url(#linearGradient7399);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
- </pattern>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient15161"
- id="linearGradient7399"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.9479167,0,0,0.9479167,0.2458325,0.2458356)"
- x1="21.285088"
- y1="33.110512"
- x2="21.285088"
- y2="-0.0017124993" />
- <filter
- id="filter8124"
- inkscape:label="filter1"
- width="11.589999999999989" />
- <filter
- id="filter8126"
- inkscape:label="filter2" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient9362"
- id="linearGradient9360"
- x1="8.5806656"
- y1="20.995518"
- x2="8.5806656"
- y2="23.085056"
- gradientUnits="userSpaceOnUse" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient9362"
- id="linearGradient9370"
- gradientUnits="userSpaceOnUse"
- x1="8.5806656"
- y1="20.995518"
- x2="8.5806656"
- y2="23.085056"
- gradientTransform="translate(25.006402,2.9778958e-7)" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient9362"
- id="linearGradient9374"
- gradientUnits="userSpaceOnUse"
- x1="8.5806656"
- y1="20.995518"
- x2="8.5806656"
- y2="23.085056"
- gradientTransform="translate(35.006405,2.9778958e-7)" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient9810"
- id="linearGradient9981"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1,0,0,4.6999999,18,-122.2)"
- x1="96"
- y1="36"
- x2="96"
- y2="30" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient9810"
- id="linearGradient9983"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1,0,0,1.6289807,90.020139,-27.933112)"
- x1="6.0670195"
- y1="46"
- x2="6.0670195"
- y2="20.59375" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient9810"
- id="linearGradient9985"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1,0,0,1.6289807,93.329052,-27.775305)"
- x1="14.197642"
- y1="46"
- x2="14.197642"
- y2="20.593699" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient9810"
- id="linearGradient9987"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1,0,0,1.6289807,96.870945,-27.775305)"
- x1="23.1"
- y1="46"
- x2="23.1"
- y2="20.592798" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient9810"
- id="linearGradient9989"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1,0,0,1.6289807,99.712841,-27.775305)"
- x1="32.200001"
- y1="46"
- x2="32.200001"
- y2="20.59375" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient7010"
- id="radialGradient6968"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.2893727,-0.2474294,0.6139915,0.7180729,9.91225,5.2335615)"
- cx="17.055056"
- cy="3.5953908"
- fx="17.055056"
- fy="3.5953908"
- r="24" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient9810"
- id="linearGradient6977"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1,0,0,4.6999999,-72,-123.2)"
- x1="96"
- y1="35.333096"
- x2="96"
- y2="30" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient9810"
- id="linearGradient6979"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1,0,0,1.6289807,2.0139e-2,-28.933112)"
- x1="6.0670195"
- y1="46"
- x2="6.0670195"
- y2="20.59375" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient9810"
- id="linearGradient6981"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1,0,0,1.6289807,3.329052,-28.775305)"
- x1="14.197642"
- y1="46"
- x2="14.197642"
- y2="20.593699" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient9810"
- id="linearGradient6983"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1,0,0,1.6289807,6.870945,-28.775305)"
- x1="23.1"
- y1="46"
- x2="23.1"
- y2="20.592798" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient9810"
- id="linearGradient6985"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1,0,0,1.6289807,9.712841,-28.775305)"
- x1="32.200001"
- y1="46"
- x2="32.200001"
- y2="20.59375" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6825"
- id="linearGradient7066"
- gradientUnits="userSpaceOnUse"
- x1="37.997959"
- y1="18.245197"
- x2="37.997959"
- y2="39.658928" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6772"
- id="linearGradient7068"
- gradientUnits="userSpaceOnUse"
- x1="7.8838124"
- y1="18.558826"
- x2="7.8838124"
- y2="34.97258" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6728"
- id="linearGradient7070"
- gradientUnits="userSpaceOnUse"
- x1="15.133464"
- y1="32.587334"
- x2="17.008692"
- y2="32.587334" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6631"
- id="linearGradient7072"
- gradientUnits="userSpaceOnUse"
- x1="-0.52151477"
- y1="29.500589"
- x2="18.516363"
- y2="14.809909" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6685"
- id="radialGradient7074"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(-0.5944965,-3.8328271e-7,4.1781509e-7,-0.6480585,194.52841,528.49324)"
- cx="122"
- cy="401.95938"
- fx="122"
- fy="401.95938"
- r="6.7283827" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6728"
- id="linearGradient7076"
- gradientUnits="userSpaceOnUse"
- x1="15.072129"
- y1="21.263441"
- x2="17.008948"
- y2="21.263441" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6746"
- id="linearGradient7078"
- gradientUnits="userSpaceOnUse"
- x1="15.526249"
- y1="2.097311"
- x2="15.526249"
- y2="14.758003" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6764"
- id="linearGradient7080"
- gradientUnits="userSpaceOnUse"
- x1="11.884123"
- y1="10.724713"
- x2="6.123559"
- y2="29.316263" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient9362"
- id="linearGradient7082"
- gradientUnits="userSpaceOnUse"
- x1="8.5806656"
- y1="20.995518"
- x2="8.5806656"
- y2="23.085056" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient9362"
- id="linearGradient7084"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(25.006402,2.9778958e-7)"
- x1="8.5806656"
- y1="20.995518"
- x2="8.5806656"
- y2="23.085056" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient9362"
- id="linearGradient7086"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(35.006405,2.9778958e-7)"
- x1="8.5806656"
- y1="20.995518"
- x2="8.5806656"
- y2="23.085056" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6825"
- id="linearGradient7132"
- gradientUnits="userSpaceOnUse"
- x1="37.997959"
- y1="18.245197"
- x2="37.997959"
- y2="39.658928" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6772"
- id="linearGradient7134"
- gradientUnits="userSpaceOnUse"
- x1="7.8838124"
- y1="18.558826"
- x2="7.8838124"
- y2="34.97258" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6728"
- id="linearGradient7136"
- gradientUnits="userSpaceOnUse"
- x1="15.133464"
- y1="32.587334"
- x2="17.008692"
- y2="32.587334" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6631"
- id="linearGradient7138"
- gradientUnits="userSpaceOnUse"
- x1="-0.52151477"
- y1="29.500589"
- x2="18.516363"
- y2="14.809909" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6685"
- id="radialGradient7140"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(-0.5944965,-3.8328271e-7,4.1781509e-7,-0.6480585,194.52841,528.49324)"
- cx="122"
- cy="401.95938"
- fx="122"
- fy="401.95938"
- r="6.7283827" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6728"
- id="linearGradient7142"
- gradientUnits="userSpaceOnUse"
- x1="15.072129"
- y1="21.263441"
- x2="17.008948"
- y2="21.263441" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6746"
- id="linearGradient7144"
- gradientUnits="userSpaceOnUse"
- x1="15.526249"
- y1="2.097311"
- x2="15.526249"
- y2="14.758003" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6764"
- id="linearGradient7146"
- gradientUnits="userSpaceOnUse"
- x1="11.884123"
- y1="10.724713"
- x2="6.123559"
- y2="29.316263" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient9362"
- id="linearGradient7148"
- gradientUnits="userSpaceOnUse"
- x1="8.5806656"
- y1="20.995518"
- x2="8.5806656"
- y2="23.085056" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient9362"
- id="linearGradient7150"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(25.006402,2.9778958e-7)"
- x1="8.5806656"
- y1="20.995518"
- x2="8.5806656"
- y2="23.085056" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient9362"
- id="linearGradient7152"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(35.006405,2.9778958e-7)"
- x1="8.5806656"
- y1="20.995518"
- x2="8.5806656"
- y2="23.085056" />
- <filter
- inkscape:collect="always"
- id="filter7663"
- x="-0.1147047"
- width="1.2294094"
- y="-0.12580788"
- height="1.2516158">
- <feGaussianBlur
- inkscape:collect="always"
- stdDeviation="2.2006423"
- id="feGaussianBlur7665" />
+ <radialGradient xlink:href="#linearGradient7010" id="radialGradient6968" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.2893727,-0.2474294,0.6139915,0.7180729,9.91225,5.2335615)" cx="17.055056" cy="3.5953908" fx="17.055056" fy="3.5953908" r="24"/>
+ <linearGradient xlink:href="#linearGradient6825" id="linearGradient7066" gradientUnits="userSpaceOnUse" x1="37.997959" y1="18.245197" x2="37.997959" y2="39.658928"/>
+ <linearGradient xlink:href="#linearGradient6772" id="linearGradient7068" gradientUnits="userSpaceOnUse" x1="7.8838124" y1="18.558826" x2="7.8838124" y2="34.97258"/>
+ <linearGradient xlink:href="#linearGradient6728" id="linearGradient7070" gradientUnits="userSpaceOnUse" x1="15.133464" y1="32.587334" x2="17.008692" y2="32.587334"/>
+ <linearGradient xlink:href="#linearGradient6631" id="linearGradient7072" gradientUnits="userSpaceOnUse" x1="-0.52151477" y1="29.500589" x2="18.516363" y2="14.809909"/>
+ <radialGradient xlink:href="#linearGradient6685" id="radialGradient7074" gradientUnits="userSpaceOnUse" gradientTransform="matrix(-0.5944965,-3.8328271e-7,4.1781509e-7,-0.6480585,194.52841,528.49324)" cx="122" cy="401.95938" fx="122" fy="401.95938" r="6.7283827"/>
+ <linearGradient xlink:href="#linearGradient6728" id="linearGradient7076" gradientUnits="userSpaceOnUse" x1="15.072129" y1="21.263441" x2="17.008948" y2="21.263441"/>
+ <linearGradient xlink:href="#linearGradient6746" id="linearGradient7078" gradientUnits="userSpaceOnUse" x1="15.526249" y1="2.097311" x2="15.526249" y2="14.758003"/>
+ <linearGradient xlink:href="#linearGradient6764" id="linearGradient7080" gradientUnits="userSpaceOnUse" x1="11.884123" y1="10.724713" x2="6.123559" y2="29.316263"/>
+ <linearGradient xlink:href="#linearGradient9362" id="linearGradient7082" gradientUnits="userSpaceOnUse" x1="8.5806656" y1="20.995518" x2="8.5806656" y2="23.085056"/>
+ <linearGradient xlink:href="#linearGradient9362" id="linearGradient7084" gradientUnits="userSpaceOnUse" gradientTransform="translate(25.006402,2.9778958e-7)" x1="8.5806656" y1="20.995518" x2="8.5806656" y2="23.085056"/>
+ <linearGradient xlink:href="#linearGradient9362" id="linearGradient7086" gradientUnits="userSpaceOnUse" gradientTransform="translate(35.006405,2.9778958e-7)" x1="8.5806656" y1="20.995518" x2="8.5806656" y2="23.085056"/>
+ <linearGradient xlink:href="#linearGradient6825" id="linearGradient7132" gradientUnits="userSpaceOnUse" x1="37.997959" y1="18.245197" x2="37.997959" y2="39.658928"/>
+ <linearGradient xlink:href="#linearGradient6772" id="linearGradient7134" gradientUnits="userSpaceOnUse" x1="7.8838124" y1="18.558826" x2="7.8838124" y2="34.97258"/>
+ <linearGradient xlink:href="#linearGradient6728" id="linearGradient7136" gradientUnits="userSpaceOnUse" x1="15.133464" y1="32.587334" x2="17.008692" y2="32.587334"/>
+ <linearGradient xlink:href="#linearGradient6631" id="linearGradient7138" gradientUnits="userSpaceOnUse" x1="-0.52151477" y1="29.500589" x2="18.516363" y2="14.809909"/>
+ <radialGradient xlink:href="#linearGradient6685" id="radialGradient7140" gradientUnits="userSpaceOnUse" gradientTransform="matrix(-0.5944965,-3.8328271e-7,4.1781509e-7,-0.6480585,194.52841,528.49324)" cx="122" cy="401.95938" fx="122" fy="401.95938" r="6.7283827"/>
+ <linearGradient xlink:href="#linearGradient6728" id="linearGradient7142" gradientUnits="userSpaceOnUse" x1="15.072129" y1="21.263441" x2="17.008948" y2="21.263441"/>
+ <linearGradient xlink:href="#linearGradient6746" id="linearGradient7144" gradientUnits="userSpaceOnUse" x1="15.526249" y1="2.097311" x2="15.526249" y2="14.758003"/>
+ <linearGradient xlink:href="#linearGradient6764" id="linearGradient7146" gradientUnits="userSpaceOnUse" x1="11.884123" y1="10.724713" x2="6.123559" y2="29.316263"/>
+ <linearGradient xlink:href="#linearGradient9362" id="linearGradient7148" gradientUnits="userSpaceOnUse" x1="8.5806656" y1="20.995518" x2="8.5806656" y2="23.085056"/>
+ <linearGradient xlink:href="#linearGradient9362" id="linearGradient7150" gradientUnits="userSpaceOnUse" gradientTransform="translate(25.006402,2.9778958e-7)" x1="8.5806656" y1="20.995518" x2="8.5806656" y2="23.085056"/>
+ <linearGradient xlink:href="#linearGradient9362" id="linearGradient7152" gradientUnits="userSpaceOnUse" gradientTransform="translate(35.006405,2.9778958e-7)" x1="8.5806656" y1="20.995518" x2="8.5806656" y2="23.085056"/>
+ <filter id="filter7663" x="-0.1147047" width="1.2294094" y="-0.12580788" height="1.2516158">
+ <feGaussianBlur stdDeviation="2.2006423" id="feGaussianBlur7665"/>
</filter>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient9810"
- id="linearGradient7668"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1,0,0,1.6289807,9.712841,-28.775305)"
- x1="32.200001"
- y1="46"
- x2="32.200001"
- y2="20.59375" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient9810"
- id="linearGradient7671"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1,0,0,1.6289807,6.870945,-28.775305)"
- x1="23.1"
- y1="46"
- x2="23.1"
- y2="32.256355" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient9810"
- id="linearGradient7674"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1,0,0,1.6289807,3.329052,-28.775305)"
- x1="14.197642"
- y1="46"
- x2="14.197642"
- y2="20.593699" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient9810"
- id="linearGradient7677"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1,0,0,1.6289807,2.0139e-2,-28.933112)"
- x1="6.0670195"
- y1="46"
- x2="6.0670195"
- y2="33.256096" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient8371"
- id="linearGradient8377"
- x1="24"
- y1="45.998173"
- x2="24"
- y2="2.0644991"
- gradientUnits="userSpaceOnUse" />
+ <linearGradient xlink:href="#linearGradient8371" id="linearGradient8377" x1="24" y1="45.998173" x2="24" y2="2.0644991" gradientUnits="userSpaceOnUse"/>
</defs>
- <metadata
- id="metadata14358">
+ <metadata id="metadata14358">
<rdf:RDF>
- <cc:Work
- rdf:about="">
+ <cc:Work rdf:about="">
<dc:format>image/svg+xml</dc:format>
- <dc:type
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
</cc:Work>
</rdf:RDF>
</metadata>
- <g
- inkscape:label="Layer 1"
- inkscape:groupmode="layer"
- id="layer1">
- <rect
- style="fill:url(#radialGradient6968);fill-opacity:1;fill-rule:evenodd;stroke:#132c50;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
- id="rect14363"
- width="47"
- height="47"
- x="0.5"
- y="0.5" />
- <g
- id="g7018"
- transform="translate(-1.6037056e-2,3.090275e-2)">
- <path
- sodipodi:nodetypes="cccccccccccccccccc"
- id="path7020"
- d="M 1.5112736,46.463508 L 46.518528,46.463508 L 46.518528,20.097311 L 42.49936,11.994593 L 37.997439,20.097311 L 33.503201,11.994593 L 29.51269,20.097311 L 29.51269,40.518226 L 17.513556,40.518226 L 17.513556,15.979513 L 18.991385,15.979513 L 15.625234,5.482499 L 11.994559,15.979622 L 13.487574,15.979622 L 13.487574,22.494238 L 8.5736236,16.493825 L 1.5112736,16.493825 L 1.5112736,46.463508 z"
- style="fill:#888a85;fill-rule:evenodd;stroke:#888a85;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1" />
- <path
- sodipodi:nodetypes="cccccccc"
- id="path7022"
- d="M 46.499202,19.996278 L 46.499164,39.496968 L 29.497928,39.514749 L 29.496716,20.073218 L 33.471729,13.30179 L 37.969149,19.742327 L 42.464705,13.30179 L 46.499202,19.996278 z"
- style="fill:url(#linearGradient7066);fill-opacity:1;fill-rule:evenodd;stroke:#331f00;stroke-width:1px;stroke-linecap:round;stroke-linejoin:miter;stroke-opacity:1" />
- <path
- sodipodi:nodetypes="ccc"
- id="path7024"
- d="M 30.4991,19.359794 L 30.495194,38.512814 L 45.998784,38.497189"
- style="opacity:0.25;fill:none;fill-rule:evenodd;stroke:#eeeeec;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
- <rect
- y="14.973112"
- x="13.484319"
- height="24.544136"
- width="4.027225"
- id="rect7026"
- style="fill:#eeeeec;fill-opacity:1;fill-rule:evenodd;stroke:#2e3436;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
- <rect
- y="25.958162"
- x="1.5003295"
- height="13.560402"
- width="14.000328"
- id="rect7028"
- style="fill:url(#linearGradient7068);fill-opacity:1;fill-rule:evenodd;stroke:#2e3436;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
- <path
- sodipodi:nodetypes="ccccc"
- id="path7030"
- d="M 16.000204,26.158288 L 17.008692,26.165076 L 17.006997,39.016383 L 16.000204,39.016383 L 16.000204,26.158288 z"
- style="fill:url(#linearGradient7070);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
- <path
- sodipodi:nodetypes="ccccc"
- id="path7032"
- d="M 1.5018555,16.471187 L 1.5018555,26.192359 L 16.519497,26.192359 L 8.5470601,16.471187 L 1.5018555,16.471187 z"
- style="fill:#7f4f01;fill-opacity:1;fill-rule:evenodd;stroke:#392100;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1" />
- <path
- sodipodi:nodetypes="ccccccccc"
- id="path7034"
- d="M 46.494238,19.981528 L 42.46863,15.428034 L 37.978753,20.107557 L 33.495519,15.782001 L 28.445309,22.028089 L 33.475653,11.989135 L 37.973073,19.908885 L 42.468629,12.0045 L 46.494238,19.981528 z"
- style="fill:#d3d7cf;fill-rule:evenodd;stroke:#d3d7cf;stroke-width:1.10000002;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
- <path
- sodipodi:nodetypes="ccccc"
- id="path7036"
- d="M 1.9983315,16.96932 L 1.9983315,25.690091 L 15.466816,25.690091 L 8.3170492,16.96932 L 1.9983315,16.96932 z"
- style="opacity:0.5;fill:url(#linearGradient7072);fill-opacity:1;fill-rule:evenodd;stroke:url(#radialGradient7074);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1" />
- <path
- sodipodi:nodetypes="cccc"
- id="path7038"
- d="M 15.632485,5.4903604 L 12.001677,15.991016 L 19.003769,15.992368 L 15.632485,5.4903604 z"
- style="fill:#532323;fill-opacity:1;fill-rule:evenodd;stroke:#2a1111;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1" />
- <path
- sodipodi:nodetypes="ccccscc"
- id="path7040"
- d="M 13.983416,22.32144 L 13.983416,16.492941 L 17.007669,16.492941 L 17.007669,21.219904 L 17.008948,26.033783 C 17.008949,26.039055 16.935124,25.911261 16.894583,25.856332 L 13.983416,22.32144 z"
- style="fill:url(#linearGradient7076);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
- <path
- sodipodi:nodetypes="cccc"
- id="path7042"
- d="M 15.595391,8.6350832 L 13.413573,14.980794 L 17.638924,14.980794 L 15.595391,8.6350832 z"
- style="opacity:0.5;fill:none;fill-rule:evenodd;stroke:url(#linearGradient7078);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
- <path
- sodipodi:nodetypes="cccc"
- id="path7044"
- d="M 1.9974392,25.190652 L 14.412292,25.190652 L 8.0819463,17.470171 L 2.0013455,17.470171"
- style="opacity:0.5;fill:none;fill-rule:evenodd;stroke:url(#linearGradient7080);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
- <g
- style="fill:#fce94f"
- id="g7046">
- <rect
- style="fill:#fce94f;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
- id="rect7048"
- width="2"
- height="2"
- x="30.999861"
- y="22.002562" />
- <rect
- style="fill:#fce94f;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
- id="rect7050"
- width="2"
- height="2"
- x="34.001801"
- y="22.000923" />
- <rect
- style="fill:#fce94f;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
- id="rect7052"
- width="2"
- height="2"
- x="40.997707"
- y="22.000923" />
- <rect
- style="fill:#fce94f;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
- id="rect7054"
- width="2"
- height="2"
- x="9.0004454"
- y="22.002562" />
- <rect
- style="fill:#fce94f;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
- id="rect7056"
- width="2"
- height="2"
- x="6.0018048"
- y="22.002562" />
+ <g id="layer1">
+ <rect width="47" height="47" x="0.5" y="0.5" fill="url(#radialGradient6968)" fill-opacity="1" fill-rule="evenodd" stroke="#132c50" stroke-width="1" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="4" stroke-dasharray="none" stroke-dashoffset="0" stroke-opacity="1"/>
+ <g transform="translate(-1.6037056e-2,3.090275e-2)">
+ <path d="M 1.5112736,46.463508 L 46.518528,46.463508 L 46.518528,20.097311 L 42.49936,11.994593 L 37.997439,20.097311 L 33.503201,11.994593 L 29.51269,20.097311 L 29.51269,40.518226 L 17.513556,40.518226 L 17.513556,15.979513 L 18.991385,15.979513 L 15.625234,5.482499 L 11.994559,15.979622 L 13.487574,15.979622 L 13.487574,22.494238 L 8.5736236,16.493825 L 1.5112736,16.493825 L 1.5112736,46.463508 z" fill="#888a85" fill-rule="evenodd" stroke="#888a85" stroke-width="1px" stroke-linecap="butt" stroke-linejoin="round" stroke-opacity="1"/>
+ <path d="M 46.499202,19.996278 L 46.499164,39.496968 L 29.497928,39.514749 L 29.496716,20.073218 L 33.471729,13.30179 L 37.969149,19.742327 L 42.464705,13.30179 L 46.499202,19.996278 z" fill="url(#linearGradient7066)" fill-opacity="1" fill-rule="evenodd" stroke="#331f00" stroke-width="1px" stroke-linecap="round" stroke-linejoin="miter" stroke-opacity="1"/>
+ <path d="M 30.4991,19.359794 L 30.495194,38.512814 L 45.998784,38.497189" opacity="0.25" fill="none" fill-rule="evenodd" stroke="#eeeeec" stroke-width="1px" stroke-linecap="butt" stroke-linejoin="miter" stroke-opacity="1"/>
+ <rect y="14.973112" x="13.484319" height="24.544136" width="4.027225" fill="#eeeeec" fill-opacity="1" fill-rule="evenodd" stroke="#2e3436" stroke-width="1" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="4" stroke-dasharray="none" stroke-dashoffset="0" stroke-opacity="1"/>
+ <rect y="25.958162" x="1.5003295" height="13.560402" width="14.000328" fill="url(#linearGradient7068)" fill-opacity="1" fill-rule="evenodd" stroke="#2e3436" stroke-width="1" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="4" stroke-dasharray="none" stroke-dashoffset="0" stroke-opacity="1"/>
+ <path d="M 16.000204,26.158288 L 17.008692,26.165076 L 17.006997,39.016383 L 16.000204,39.016383 L 16.000204,26.158288 z" fill="url(#linearGradient7070)" fill-opacity="1" fill-rule="evenodd" stroke="none" stroke-width="1" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="4" stroke-dasharray="none" stroke-dashoffset="0" stroke-opacity="1"/>
+ <path d="M 1.5018555,16.471187 L 1.5018555,26.192359 L 16.519497,26.192359 L 8.5470601,16.471187 L 1.5018555,16.471187 z" fill="#7f4f01" fill-opacity="1" fill-rule="evenodd" stroke="#392100" stroke-width="1px" stroke-linecap="butt" stroke-linejoin="round" stroke-opacity="1"/>
+ <path d="M 46.494238,19.981528 L 42.46863,15.428034 L 37.978753,20.107557 L 33.495519,15.782001 L 28.445309,22.028089 L 33.475653,11.989135 L 37.973073,19.908885 L 42.468629,12.0045 L 46.494238,19.981528 z" fill="#d3d7cf" fill-rule="evenodd" stroke="#d3d7cf" stroke-width="1.10000002" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="4" stroke-dasharray="none" stroke-opacity="1"/>
+ <path d="M 1.9983315,16.96932 L 1.9983315,25.690091 L 15.466816,25.690091 L 8.3170492,16.96932 L 1.9983315,16.96932 z" opacity="0.5" fill="url(#linearGradient7072)" fill-opacity="1" fill-rule="evenodd" stroke="url(#radialGradient7074)" stroke-width="1px" stroke-linecap="butt" stroke-linejoin="round" stroke-opacity="1"/>
+ <path d="M 15.632485,5.4903604 L 12.001677,15.991016 L 19.003769,15.992368 L 15.632485,5.4903604 z" fill="#532323" fill-opacity="1" fill-rule="evenodd" stroke="#2a1111" stroke-width="1px" stroke-linecap="butt" stroke-linejoin="round" stroke-opacity="1"/>
+ <path d="M 13.983416,22.32144 L 13.983416,16.492941 L 17.007669,16.492941 L 17.007669,21.219904 L 17.008948,26.033783 C 17.008949,26.039055 16.935124,25.911261 16.894583,25.856332 L 13.983416,22.32144 z" fill="url(#linearGradient7076)" fill-opacity="1" fill-rule="evenodd" stroke="none" stroke-width="1" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="4" stroke-dasharray="none" stroke-dashoffset="0" stroke-opacity="1"/>
+ <path d="M 15.595391,8.6350832 L 13.413573,14.980794 L 17.638924,14.980794 L 15.595391,8.6350832 z" opacity="0.5" fill="none" fill-rule="evenodd" stroke="url(#linearGradient7078)" stroke-width="1px" stroke-linecap="butt" stroke-linejoin="miter" stroke-opacity="1"/>
+ <path d="M 1.9974392,25.190652 L 14.412292,25.190652 L 8.0819463,17.470171 L 2.0013455,17.470171" opacity="0.5" fill="none" fill-rule="evenodd" stroke="url(#linearGradient7080)" stroke-width="1px" stroke-linecap="butt" stroke-linejoin="miter" stroke-opacity="1"/>
+ <g fill="#fce94f">
+ <rect width="2" height="2" x="30.999861" y="22.002562" fill="#fce94f" fill-opacity="1" fill-rule="evenodd" stroke="none" stroke-width="1" stroke-linecap="butt" stroke-linejoin="round" stroke-miterlimit="4" stroke-dasharray="none" stroke-dashoffset="0" stroke-opacity="1"/>
+ <rect width="2" height="2" x="34.001801" y="22.000923" fill="#fce94f" fill-opacity="1" fill-rule="evenodd" stroke="none" stroke-width="1" stroke-linecap="butt" stroke-linejoin="round" stroke-miterlimit="4" stroke-dasharray="none" stroke-dashoffset="0" stroke-opacity="1"/>
+ <rect width="2" height="2" x="40.997707" y="22.000923" fill="#fce94f" fill-opacity="1" fill-rule="evenodd" stroke="none" stroke-width="1" stroke-linecap="butt" stroke-linejoin="round" stroke-miterlimit="4" stroke-dasharray="none" stroke-dashoffset="0" stroke-opacity="1"/>
+ <rect width="2" height="2" x="9.0004454" y="22.002562" fill="#fce94f" fill-opacity="1" fill-rule="evenodd" stroke="none" stroke-width="1" stroke-linecap="butt" stroke-linejoin="round" stroke-miterlimit="4" stroke-dasharray="none" stroke-dashoffset="0" stroke-opacity="1"/>
+ <rect width="2" height="2" x="6.0018048" y="22.002562" fill="#fce94f" fill-opacity="1" fill-rule="evenodd" stroke="none" stroke-width="1" stroke-linecap="butt" stroke-linejoin="round" stroke-miterlimit="4" stroke-dasharray="none" stroke-dashoffset="0" stroke-opacity="1"/>
</g>
- <g
- id="g7058">
- <path
- style="fill:url(#linearGradient7082);fill-opacity:1;fill-rule:evenodd;stroke:#392100;stroke-width:1px;stroke-linecap:round;stroke-linejoin:miter;stroke-opacity:1"
- d="M 4.4711906,23.06274 L 5.7618436,21.495518 L 11.216391,21.495518 L 12.507043,23.06274"
- id="path7060"
- sodipodi:nodetypes="cccc" />
- <path
- style="fill:url(#linearGradient7084);fill-opacity:1;fill-rule:evenodd;stroke:#392100;stroke-width:1px;stroke-linecap:round;stroke-linejoin:miter;stroke-opacity:1"
- d="M 29.477593,23.06274 L 30.768246,21.495518 L 36.222793,21.495518 L 37.513445,23.06274"
- id="path7062"
- sodipodi:nodetypes="cccc" />
- <path
- style="fill:url(#linearGradient7086);fill-opacity:1;fill-rule:evenodd;stroke:#392100;stroke-width:1px;stroke-linecap:round;stroke-linejoin:miter;stroke-opacity:1"
- d="M 39.477596,23.06274 L 40.768249,21.495518 L 43.203584,21.495518 L 44.822027,23.06274"
- id="path7064"
- sodipodi:nodetypes="cccc" />
+ <g>
+ <path d="M 4.4711906,23.06274 L 5.7618436,21.495518 L 11.216391,21.495518 L 12.507043,23.06274" fill="url(#linearGradient7082)" fill-opacity="1" fill-rule="evenodd" stroke="#392100" stroke-width="1px" stroke-linecap="round" stroke-linejoin="miter" stroke-opacity="1"/>
+ <path d="M 29.477593,23.06274 L 30.768246,21.495518 L 36.222793,21.495518 L 37.513445,23.06274" fill="url(#linearGradient7084)" fill-opacity="1" fill-rule="evenodd" stroke="#392100" stroke-width="1px" stroke-linecap="round" stroke-linejoin="miter" stroke-opacity="1"/>
+ <path d="M 39.477596,23.06274 L 40.768249,21.495518 L 43.203584,21.495518 L 44.822027,23.06274" fill="url(#linearGradient7086)" fill-opacity="1" fill-rule="evenodd" stroke="#392100" stroke-width="1px" stroke-linecap="round" stroke-linejoin="miter" stroke-opacity="1"/>
</g>
</g>
- <g
- id="g6993"
- transform="translate(-7.6824584e-3,3.0729835e-2)"
- style="filter:url(#filter7663);opacity:0.6">
- <path
- sodipodi:nodetypes="cccccccccccccccccc"
- id="path15135"
- d="M 1.4995548,46.463508 L 46.518528,46.463508 L 46.518528,20.097311 L 42.49936,11.994593 L 37.997439,20.097311 L 33.503201,11.994593 L 29.51269,20.097311 L 29.51269,40.518226 L 17.513556,40.518226 L 17.513556,15.979513 L 18.991385,15.979513 L 15.625234,5.482499 L 11.994559,15.979622 L 13.487574,15.979622 L 13.487574,22.494238 L 8.5736236,16.493825 L 1.4995548,16.493825 L 1.4995548,46.463508 z"
- style="fill:#888a85;fill-rule:evenodd;stroke:#888a85;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1" />
- <path
- sodipodi:nodetypes="cccccccc"
- id="path6819"
- d="M 46.499202,19.996278 L 46.499164,39.496968 L 29.497928,39.514749 L 29.496716,20.073218 L 33.471729,13.30179 L 37.969149,19.742327 L 42.464705,13.30179 L 46.499202,19.996278 z"
- style="fill:url(#linearGradient7132);fill-opacity:1;fill-rule:evenodd;stroke:#331f00;stroke-width:1px;stroke-linecap:round;stroke-linejoin:miter;stroke-opacity:1" />
- <path
- sodipodi:nodetypes="ccc"
- id="path6843"
- d="M 30.4991,19.359794 L 30.495194,38.512814 L 45.998784,38.497189"
- style="opacity:0.25000000000000000;fill:none;fill-rule:evenodd;stroke:#eeeeec;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
- <rect
- y="14.973112"
- x="13.484319"
- height="24.544136"
- width="4.027225"
- id="rect6714"
- style="fill:#eeeeec;fill-opacity:1;fill-rule:evenodd;stroke:#2e3436;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
- <rect
- y="25.958162"
- x="1.5003295"
- height="13.560402"
- width="14.000328"
- id="rect6611"
- style="fill:url(#linearGradient7134);fill-opacity:1;fill-rule:evenodd;stroke:#2e3436;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
- <path
- sodipodi:nodetypes="ccccc"
- id="path6718"
- d="M 16.000204,26.158288 L 17.008692,26.165076 L 17.006997,39.016383 L 16.000204,39.016383 L 16.000204,26.158288 z"
- style="fill:url(#linearGradient7136);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
- <path
- sodipodi:nodetypes="ccccc"
- id="path6607"
- d="M 1.5018555,16.471187 L 1.5018555,26.192359 L 16.519497,26.192359 L 8.5470601,16.471187 L 1.5018555,16.471187 z"
- style="fill:#7f4f01;fill-opacity:1;fill-rule:evenodd;stroke:#392100;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1" />
- <path
- sodipodi:nodetypes="ccccccccc"
- id="path6817"
- d="M 46.494238,19.981528 L 42.46863,15.428034 L 37.978753,20.107557 L 33.495519,15.782001 L 28.445309,22.028089 L 33.475653,11.989135 L 37.973073,19.908885 L 42.468629,12.0045 L 46.494238,19.981528 z"
- style="fill:#d3d7cf;fill-rule:evenodd;stroke:#d3d7cf;stroke-width:1.10000002000000000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
- <path
- sodipodi:nodetypes="ccccc"
- id="path6629"
- d="M 1.9983315,16.96932 L 1.9983315,25.690091 L 15.466816,25.690091 L 8.3170492,16.96932 L 1.9983315,16.96932 z"
- style="opacity:0.50000000000000000;fill:url(#linearGradient7138);fill-opacity:1;fill-rule:evenodd;stroke:url(#radialGradient7140);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1" />
- <path
- sodipodi:nodetypes="cccc"
- id="path6712"
- d="M 15.632485,5.4903604 L 12.001677,15.991016 L 19.003769,15.992368 L 15.632485,5.4903604 z"
- style="fill:#532323;fill-opacity:1;fill-rule:evenodd;stroke:#2a1111;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1" />
- <path
- sodipodi:nodetypes="ccccscc"
- id="path6716"
- d="M 13.983416,22.32144 L 13.983416,16.492941 L 17.007669,16.492941 L 17.007669,21.219904 L 17.008948,26.033783 C 17.008949,26.039055 16.935124,25.911261 16.894583,25.856332 L 13.983416,22.32144 z"
- style="fill:url(#linearGradient7142);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
- <path
- sodipodi:nodetypes="cccc"
- id="path6744"
- d="M 15.595391,8.6350832 L 13.413573,14.980794 L 17.638924,14.980794 L 15.595391,8.6350832 z"
- style="opacity:0.50000000000000000;fill:none;fill-rule:evenodd;stroke:url(#linearGradient7144);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
- <path
- sodipodi:nodetypes="cccc"
- id="path6754"
- d="M 1.9974392,25.190652 L 14.412292,25.190652 L 8.0819463,17.470171 L 2.0013455,17.470171"
- style="opacity:0.50000000000000000;fill:none;fill-rule:evenodd;stroke:url(#linearGradient7146);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
- <g
- style="fill:#fce94f"
- id="g6598">
- <rect
- style="fill:#fce94f;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
- id="rect15193"
- width="2"
- height="2"
- x="30.999861"
- y="22.002562" />
- <rect
- style="fill:#fce94f;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
- id="rect15201"
- width="2"
- height="2"
- x="34.001801"
- y="22.000923" />
- <rect
- style="fill:#fce94f;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
- id="rect15213"
- width="2"
- height="2"
- x="40.997707"
- y="22.000923" />
- <rect
- style="fill:#fce94f;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
- id="rect15231"
- width="2"
- height="2"
- x="9.0004454"
- y="22.002562" />
- <rect
- style="fill:#fce94f;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
- id="rect15235"
- width="2"
- height="2"
- x="6.0018048"
- y="22.002562" />
+ <g transform="translate(-7.6824584e-3,3.0729835e-2)" filter="url(#filter7663)" opacity="0.6">
+ <path d="M 1.4995548,46.463508 L 46.518528,46.463508 L 46.518528,20.097311 L 42.49936,11.994593 L 37.997439,20.097311 L 33.503201,11.994593 L 29.51269,20.097311 L 29.51269,40.518226 L 17.513556,40.518226 L 17.513556,15.979513 L 18.991385,15.979513 L 15.625234,5.482499 L 11.994559,15.979622 L 13.487574,15.979622 L 13.487574,22.494238 L 8.5736236,16.493825 L 1.4995548,16.493825 L 1.4995548,46.463508 z" fill="#888a85" fill-rule="evenodd" stroke="#888a85" stroke-width="1px" stroke-linecap="butt" stroke-linejoin="round" stroke-opacity="1"/>
+ <path d="M 46.499202,19.996278 L 46.499164,39.496968 L 29.497928,39.514749 L 29.496716,20.073218 L 33.471729,13.30179 L 37.969149,19.742327 L 42.464705,13.30179 L 46.499202,19.996278 z" fill="url(#linearGradient7132)" fill-opacity="1" fill-rule="evenodd" stroke="#331f00" stroke-width="1px" stroke-linecap="round" stroke-linejoin="miter" stroke-opacity="1"/>
+ <path d="M 30.4991,19.359794 L 30.495194,38.512814 L 45.998784,38.497189" opacity="0.25000000000000000" fill="none" fill-rule="evenodd" stroke="#eeeeec" stroke-width="1px" stroke-linecap="butt" stroke-linejoin="miter" stroke-opacity="1"/>
+ <rect y="14.973112" x="13.484319" height="24.544136" width="4.027225" fill="#eeeeec" fill-opacity="1" fill-rule="evenodd" stroke="#2e3436" stroke-width="1" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="4" stroke-dasharray="none" stroke-dashoffset="0" stroke-opacity="1"/>
+ <rect y="25.958162" x="1.5003295" height="13.560402" width="14.000328" fill="url(#linearGradient7134)" fill-opacity="1" fill-rule="evenodd" stroke="#2e3436" stroke-width="1" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="4" stroke-dasharray="none" stroke-dashoffset="0" stroke-opacity="1"/>
+ <path d="M 16.000204,26.158288 L 17.008692,26.165076 L 17.006997,39.016383 L 16.000204,39.016383 L 16.000204,26.158288 z" fill="url(#linearGradient7136)" fill-opacity="1" fill-rule="evenodd" stroke="none" stroke-width="1" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="4" stroke-dasharray="none" stroke-dashoffset="0" stroke-opacity="1"/>
+ <path d="M 1.5018555,16.471187 L 1.5018555,26.192359 L 16.519497,26.192359 L 8.5470601,16.471187 L 1.5018555,16.471187 z" fill="#7f4f01" fill-opacity="1" fill-rule="evenodd" stroke="#392100" stroke-width="1px" stroke-linecap="butt" stroke-linejoin="round" stroke-opacity="1"/>
+ <path d="M 46.494238,19.981528 L 42.46863,15.428034 L 37.978753,20.107557 L 33.495519,15.782001 L 28.445309,22.028089 L 33.475653,11.989135 L 37.973073,19.908885 L 42.468629,12.0045 L 46.494238,19.981528 z" fill="#d3d7cf" fill-rule="evenodd" stroke="#d3d7cf" stroke-width="1.10000002000000000" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="4" stroke-dasharray="none" stroke-opacity="1"/>
+ <path d="M 1.9983315,16.96932 L 1.9983315,25.690091 L 15.466816,25.690091 L 8.3170492,16.96932 L 1.9983315,16.96932 z" opacity="0.50000000000000000" fill="url(#linearGradient7138)" fill-opacity="1" fill-rule="evenodd" stroke="url(#radialGradient7140)" stroke-width="1px" stroke-linecap="butt" stroke-linejoin="round" stroke-opacity="1"/>
+ <path d="M 15.632485,5.4903604 L 12.001677,15.991016 L 19.003769,15.992368 L 15.632485,5.4903604 z" fill="#532323" fill-opacity="1" fill-rule="evenodd" stroke="#2a1111" stroke-width="1px" stroke-linecap="butt" stroke-linejoin="round" stroke-opacity="1"/>
+ <path d="M 13.983416,22.32144 L 13.983416,16.492941 L 17.007669,16.492941 L 17.007669,21.219904 L 17.008948,26.033783 C 17.008949,26.039055 16.935124,25.911261 16.894583,25.856332 L 13.983416,22.32144 z" fill="url(#linearGradient7142)" fill-opacity="1" fill-rule="evenodd" stroke="none" stroke-width="1" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="4" stroke-dasharray="none" stroke-dashoffset="0" stroke-opacity="1"/>
+ <path d="M 15.595391,8.6350832 L 13.413573,14.980794 L 17.638924,14.980794 L 15.595391,8.6350832 z" opacity="0.50000000000000000" fill="none" fill-rule="evenodd" stroke="url(#linearGradient7144)" stroke-width="1px" stroke-linecap="butt" stroke-linejoin="miter" stroke-opacity="1"/>
+ <path d="M 1.9974392,25.190652 L 14.412292,25.190652 L 8.0819463,17.470171 L 2.0013455,17.470171" opacity="0.50000000000000000" fill="none" fill-rule="evenodd" stroke="url(#linearGradient7146)" stroke-width="1px" stroke-linecap="butt" stroke-linejoin="miter" stroke-opacity="1"/>
+ <g fill="#fce94f">
+ <rect width="2" height="2" x="30.999861" y="22.002562" fill="#fce94f" fill-opacity="1" fill-rule="evenodd" stroke="none" stroke-width="1" stroke-linecap="butt" stroke-linejoin="round" stroke-miterlimit="4" stroke-dasharray="none" stroke-dashoffset="0" stroke-opacity="1"/>
+ <rect width="2" height="2" x="34.001801" y="22.000923" fill="#fce94f" fill-opacity="1" fill-rule="evenodd" stroke="none" stroke-width="1" stroke-linecap="butt" stroke-linejoin="round" stroke-miterlimit="4" stroke-dasharray="none" stroke-dashoffset="0" stroke-opacity="1"/>
+ <rect width="2" height="2" x="40.997707" y="22.000923" fill="#fce94f" fill-opacity="1" fill-rule="evenodd" stroke="none" stroke-width="1" stroke-linecap="butt" stroke-linejoin="round" stroke-miterlimit="4" stroke-dasharray="none" stroke-dashoffset="0" stroke-opacity="1"/>
+ <rect width="2" height="2" x="9.0004454" y="22.002562" fill="#fce94f" fill-opacity="1" fill-rule="evenodd" stroke="none" stroke-width="1" stroke-linecap="butt" stroke-linejoin="round" stroke-miterlimit="4" stroke-dasharray="none" stroke-dashoffset="0" stroke-opacity="1"/>
+ <rect width="2" height="2" x="6.0018048" y="22.002562" fill="#fce94f" fill-opacity="1" fill-rule="evenodd" stroke="none" stroke-width="1" stroke-linecap="butt" stroke-linejoin="round" stroke-miterlimit="4" stroke-dasharray="none" stroke-dashoffset="0" stroke-opacity="1"/>
</g>
- <g
- id="g6422">
- <path
- style="fill:url(#linearGradient7148);fill-opacity:1;fill-rule:evenodd;stroke:#392100;stroke-width:1px;stroke-linecap:round;stroke-linejoin:miter;stroke-opacity:1"
- d="M 4.4711906,23.06274 L 5.7618436,21.495518 L 11.216391,21.495518 L 12.507043,23.06274"
- id="path9350"
- sodipodi:nodetypes="cccc" />
- <path
- style="fill:url(#linearGradient7150);fill-opacity:1;fill-rule:evenodd;stroke:#392100;stroke-width:1px;stroke-linecap:round;stroke-linejoin:miter;stroke-opacity:1"
- d="M 29.477593,23.06274 L 30.768246,21.495518 L 36.222793,21.495518 L 37.513445,23.06274"
- id="path9368"
- sodipodi:nodetypes="cccc" />
- <path
- style="fill:url(#linearGradient7152);fill-opacity:1;fill-rule:evenodd;stroke:#392100;stroke-width:1px;stroke-linecap:round;stroke-linejoin:miter;stroke-opacity:1"
- d="M 39.477596,23.06274 L 40.768249,21.495518 L 43.203584,21.495518 L 44.822027,23.06274"
- id="path9372"
- sodipodi:nodetypes="cccc" />
+ <g>
+ <path d="M 4.4711906,23.06274 L 5.7618436,21.495518 L 11.216391,21.495518 L 12.507043,23.06274" fill="url(#linearGradient7148)" fill-opacity="1" fill-rule="evenodd" stroke="#392100" stroke-width="1px" stroke-linecap="round" stroke-linejoin="miter" stroke-opacity="1"/>
+ <path d="M 29.477593,23.06274 L 30.768246,21.495518 L 36.222793,21.495518 L 37.513445,23.06274" fill="url(#linearGradient7150)" fill-opacity="1" fill-rule="evenodd" stroke="#392100" stroke-width="1px" stroke-linecap="round" stroke-linejoin="miter" stroke-opacity="1"/>
+ <path d="M 39.477596,23.06274 L 40.768249,21.495518 L 43.203584,21.495518 L 44.822027,23.06274" fill="url(#linearGradient7152)" fill-opacity="1" fill-rule="evenodd" stroke="#392100" stroke-width="1px" stroke-linecap="round" stroke-linejoin="miter" stroke-opacity="1"/>
</g>
</g>
- <rect
- style="opacity:0.5;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#eeeeec;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
- id="rect15237"
- width="45"
- height="45"
- x="1.5"
- y="1.5" />
- <rect
- style="opacity:0.5;fill:url(#linearGradient8377);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
- id="rect9717"
- width="44"
- height="43.933674"
- x="2"
- y="2.0644991" />
+ <rect width="45" height="45" x="1.5" y="1.5" opacity="0.5" fill="none" fill-opacity="1" fill-rule="evenodd" stroke="#eeeeec" stroke-width="1" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="4" stroke-dasharray="none" stroke-dashoffset="0" stroke-opacity="1"/>
+ <rect width="44" height="43.933674" x="2" y="2.0644991" opacity="0.5" fill="url(#linearGradient8377)" fill-opacity="1" fill-rule="evenodd" stroke="none" stroke-width="1" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="4" stroke-dasharray="none" stroke-dashoffset="0" stroke-opacity="1"/>
</g>
</svg>
diff --git a/demos/embedded/weatherinfo/icons/weather-icy.svg b/demos/embedded/weatherinfo/icons/weather-icy.svg
index fe42860..2c45b33 100644
--- a/demos/embedded/weatherinfo/icons/weather-icy.svg
+++ b/demos/embedded/weatherinfo/icons/weather-icy.svg
@@ -1,255 +1,51 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!-- Created with Inkscape (http://www.inkscape.org/) -->
-<svg
- xmlns:dc="http://purl.org/dc/elements/1.1/"
- xmlns:cc="http://creativecommons.org/ns#"
- xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns:svg="http://www.w3.org/2000/svg"
- xmlns="http://www.w3.org/2000/svg"
- xmlns:xlink="http://www.w3.org/1999/xlink"
- xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
- xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
- width="48"
- height="48"
- id="svg6619"
- sodipodi:version="0.32"
- inkscape:version="0.46"
- version="1.0"
- sodipodi:docname="weather-icy.svg"
- inkscape:output_extension="org.inkscape.output.svg.inkscape">
- <defs
- id="defs6621">
- <linearGradient
- inkscape:collect="always"
- id="linearGradient7440">
- <stop
- style="stop-color:#eeeeec;stop-opacity:1;"
- offset="0"
- id="stop7442" />
- <stop
- style="stop-color:#eeeeec;stop-opacity:0;"
- offset="1"
- id="stop7444" />
+<svg xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="48" height="48" id="svg6619" version="1.0">
+ <defs id="defs6621">
+ <linearGradient id="linearGradient7440">
+ <stop offset="0" id="stop7442" stop-color="#eeeeec" stop-opacity="1"/>
+ <stop offset="1" id="stop7444" stop-color="#eeeeec" stop-opacity="0"/>
</linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient7430">
- <stop
- style="stop-color:#eeeeec;stop-opacity:1;"
- offset="0"
- id="stop7432" />
- <stop
- style="stop-color:#eeeeec;stop-opacity:0;"
- offset="1"
- id="stop7434" />
+ <linearGradient id="linearGradient7430">
+ <stop offset="0" id="stop7432" stop-color="#eeeeec" stop-opacity="1"/>
+ <stop offset="1" id="stop7434" stop-color="#eeeeec" stop-opacity="0"/>
</linearGradient>
- <linearGradient
- id="linearGradient7392">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop7394" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop7396" />
+ <linearGradient id="linearGradient7392">
+ <stop offset="0" id="stop7394" stop-color="#ffffff" stop-opacity="1"/>
+ <stop offset="1" id="stop7396" stop-color="#ffffff" stop-opacity="0"/>
</linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient7380">
- <stop
- style="stop-color:#cedeef;stop-opacity:1;"
- offset="0"
- id="stop7382" />
- <stop
- style="stop-color:#cedeef;stop-opacity:0;"
- offset="1"
- id="stop7384" />
+ <linearGradient id="linearGradient7380">
+ <stop offset="0" id="stop7382" stop-color="#cedeef" stop-opacity="1"/>
+ <stop offset="1" id="stop7384" stop-color="#cedeef" stop-opacity="0"/>
</linearGradient>
- <inkscape:perspective
- sodipodi:type="inkscape:persp3d"
- inkscape:vp_x="0 : 526.18109 : 1"
- inkscape:vp_y="0 : 1000 : 0"
- inkscape:vp_z="744.09448 : 526.18109 : 1"
- inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
- id="perspective6627" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient7380"
- id="linearGradient7386"
- x1="18.165867"
- y1="9.2548895"
- x2="20.711481"
- y2="21.572344"
- gradientUnits="userSpaceOnUse" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient7392"
- id="radialGradient7398"
- cx="17.700384"
- cy="13.797695"
- fx="17.700384"
- fy="13.797695"
- r="1.4135723"
- gradientTransform="matrix(1,0,0,1.0652174,6.1248392e-7,-0.8998502)"
- gradientUnits="userSpaceOnUse" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient7392"
- id="radialGradient7402"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1,0,0,1.0652174,6.1248392e-7,-0.8998502)"
- cx="17.700384"
- cy="13.797695"
- fx="17.700384"
- fy="13.797695"
- r="1.4135723" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient7430"
- id="radialGradient7438"
- cx="10.693982"
- cy="16.471191"
- fx="10.693982"
- fy="16.471191"
- r="0.553137"
- gradientTransform="matrix(2.1647007,0,0,0.8888889,-12.455288,1.8301322)"
- gradientUnits="userSpaceOnUse" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient7440"
- id="radialGradient7448"
- cx="10.693982"
- cy="16.471191"
- fx="10.693982"
- fy="16.471191"
- r="0.553137"
- gradientTransform="matrix(2.2783611,0,0,0.8888889,-13.670771,1.8301322)"
- gradientUnits="userSpaceOnUse" />
+ <linearGradient xlink:href="#linearGradient7380" id="linearGradient7386" x1="18.165867" y1="9.2548895" x2="20.711481" y2="21.572344" gradientUnits="userSpaceOnUse"/>
+ <radialGradient xlink:href="#linearGradient7392" id="radialGradient7398" cx="17.700384" cy="13.797695" fx="17.700384" fy="13.797695" r="1.4135723" gradientTransform="matrix(1,0,0,1.0652174,6.1248392e-7,-0.8998502)" gradientUnits="userSpaceOnUse"/>
+ <radialGradient xlink:href="#linearGradient7392" id="radialGradient7402" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1,0,0,1.0652174,6.1248392e-7,-0.8998502)" cx="17.700384" cy="13.797695" fx="17.700384" fy="13.797695" r="1.4135723"/>
+ <radialGradient xlink:href="#linearGradient7430" id="radialGradient7438" cx="10.693982" cy="16.471191" fx="10.693982" fy="16.471191" r="0.553137" gradientTransform="matrix(2.1647007,0,0,0.8888889,-12.455288,1.8301322)" gradientUnits="userSpaceOnUse"/>
+ <radialGradient xlink:href="#linearGradient7440" id="radialGradient7448" cx="10.693982" cy="16.471191" fx="10.693982" fy="16.471191" r="0.553137" gradientTransform="matrix(2.2783611,0,0,0.8888889,-13.670771,1.8301322)" gradientUnits="userSpaceOnUse"/>
</defs>
- <sodipodi:namedview
- id="base"
- pagecolor="#ffffff"
- bordercolor="#666666"
- borderopacity="1.0"
- gridtolerance="10000"
- guidetolerance="10"
- objecttolerance="10"
- inkscape:pageopacity="0.0"
- inkscape:pageshadow="2"
- inkscape:zoom="1"
- inkscape:cx="31.408407"
- inkscape:cy="30.326192"
- inkscape:document-units="px"
- inkscape:current-layer="layer1"
- showgrid="false"
- showguides="true"
- inkscape:guide-bbox="true"
- inkscape:window-width="982"
- inkscape:window-height="965"
- inkscape:window-x="1280"
- inkscape:window-y="28" />
- <metadata
- id="metadata6624">
+
+ <metadata id="metadata6624">
<rdf:RDF>
- <cc:Work
- rdf:about="">
+ <cc:Work rdf:about="">
<dc:format>image/svg+xml</dc:format>
- <dc:type
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
</cc:Work>
</rdf:RDF>
</metadata>
- <g
- inkscape:label="Layer 1"
- inkscape:groupmode="layer"
- id="layer1">
- <g
- id="g7906">
- <path
- id="path7342"
- d="M 24 10.375 C 11.701921 10.375 1.71875 12.767211 1.71875 15.71875 C 1.71875 17.498261 5.3609075 19.059125 10.9375 20.03125 L 14.3125 46.90625 L 17.9375 26.1875 L 21.3125 41.90625 L 25.5625 23.71875 L 28.03125 37.6875 L 32.3125 22.9375 L 34.84375 33.0625 L 38.375 19.8125 C 43.199321 18.83144 46.28125 17.354051 46.28125 15.71875 C 46.28125 12.767211 36.298079 10.375 24 10.375 z "
- style="fill:#729fcf;fill-rule:evenodd;stroke:#204a87;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1" />
- <path
- sodipodi:nodetypes="cssssscssssscscssssszsssssc"
- id="path7150"
- d="M 24.013525,20.535861 C 29.915498,20.535861 35.256377,19.860148 39.169775,19.061611 C 41.126474,18.662343 42.702812,18.185066 43.857275,17.628422 C 45.011738,17.071777 45.794775,16.382816 45.794775,15.758562 C 45.794775,15.111496 45.011739,14.383887 43.857275,13.827243 C 42.702811,13.270598 41.126474,12.706404 39.169775,12.307136 C 35.256377,11.508599 29.915498,10.878502 24.013525,10.878502 C 18.111552,10.878502 12.739423,11.552057 8.826025,12.350594 C 6.8693258,12.749862 5.2929887,13.270598 4.138525,13.827243 C 2.9840613,14.383887 2.201025,14.939123 2.201025,15.758562 C 2.201025,16.578001 2.9840613,17.071777 4.138525,17.628422 C 5.2929887,18.185066 6.8693258,18.662343 8.826025,19.061611 M 8.826025,19.061611 C 12.739423,19.860148 18.111552,20.535861 24.013525,20.535861 M 24.013525,11.738416 C 29.832893,11.738416 35.083852,12.397075 38.857275,13.16705 C 40.743987,13.552037 42.268014,14.087721 43.263525,14.567724 C 44.259036,15.047727 44.669775,15.382119 44.669775,15.758562 C 44.669775,16.135005 44.259035,16.407937 43.263525,16.88794 C 42.268015,17.367943 40.743986,17.840596 38.857275,18.225584 C 35.083852,18.995559 29.832893,19.652061 24.013525,19.652061 C 18.194157,19.652061 12.911948,18.995559 9.138525,18.225584 C 7.2518134,17.840596 5.7277856,17.367943 4.732275,16.88794 C 3.7367644,16.407937 3.326025,16.135005 3.326025,15.758562 C 3.326025,15.382119 3.7367644,15.047727 4.732275,14.567724 C 5.7277856,14.087721 7.2518134,13.595495 9.138525,13.210508 C 12.911948,12.440533 18.194157,11.738416 24.013525,11.738416 z"
- style="opacity:0.5;fill:#eeeeec;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.14379668;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
- <path
- sodipodi:nodetypes="ccccc"
- id="path7140"
- d="M 20.220231,11.00128 L 29.138835,20.368103 L 24.21511,20.523801 L 15.180538,11.370038 L 20.220231,11.00128 z"
- style="fill:#cedeef;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;fill-opacity:1" />
- <path
- sodipodi:nodetypes="cccccccccccc"
- id="path7355"
- d="M 11.915494,19.751601 L 14.481435,40.163892 L 16.883534,26.331262 C 17.063009,24.706837 18.883373,24.906404 18.990928,26.307141 L 21.349551,37.344431 L 24.506026,23.859196 C 24.638961,22.408831 26.471791,22.275606 26.60475,23.905247 L 28.263765,33.272727 L 31.29544,22.83487 C 31.632247,21.540581 33.13534,21.733731 33.309125,22.813719 L 34.878361,29.055058 L 37.413573,19.544174"
- style="fill:none;fill-rule:evenodd;stroke:#eeeeec;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:7;stroke-dasharray:none;opacity:0.5" />
- <path
- sodipodi:nodetypes="ccccc"
- id="path7358"
- d="M 24.796795,10.87836 L 33.030717,20.024802 L 31.057055,20.187957 L 22.768625,10.889409 L 24.796795,10.87836 z"
- style="fill:#cedeef;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
- <path
- sodipodi:nodetypes="ccccc"
- id="path7364"
- d="M 28.334973,10.980368 L 36.114053,19.582843 L 35.115621,19.734949 L 27.305235,10.925125 L 28.334973,10.980368 z"
- style="fill:#cedeef;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
- <path
- sodipodi:nodetypes="ccccccc"
- id="path7372"
- d="M 24.276568,13.090909 C 16.315524,13.346336 6.9039601,14.217661 2.7042254,16.717029 C 1.2906531,14.934699 3.0729833,13.828425 9.2804097,12.230474 C 14.942786,11.172151 20.784867,10.869471 24.346019,10.869471 C 29.101893,10.979193 33.366216,11.259555 39.81653,12.450903 C 39.81653,12.450903 46.858243,14.197968 45.56759,16.287597 C 41.461334,13.814622 33.948682,12.944657 24.276568,13.090909 z"
- style="fill:url(#linearGradient7386);fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;fill-opacity:1" />
- <path
- transform="matrix(2.1222827,0,0,1.9923469,-21.167011,-16.108233)"
- d="M 19.113956,13.797695 A 1.4135723,1.5057619 0 1 1 16.286812,13.797695 A 1.4135723,1.5057619 0 1 1 19.113956,13.797695 z"
- sodipodi:ry="1.5057619"
- sodipodi:rx="1.4135723"
- sodipodi:cy="13.797695"
- sodipodi:cx="17.700384"
- id="path7390"
- style="opacity:1;fill:url(#radialGradient7398);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:7;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
- sodipodi:type="arc" />
- <path
- transform="matrix(1.8078704,0,0,1.0169271,-3.0298763,-5.1757356)"
- d="M 11.247119,16.471191 A 0.553137,0.49167734 0 1 1 10.140845,16.471191 A 0.553137,0.49167734 0 1 1 11.247119,16.471191 z"
- sodipodi:ry="0.49167734"
- sodipodi:rx="0.553137"
- sodipodi:cy="16.471191"
- sodipodi:cx="10.693982"
- id="path7416"
- style="opacity:1;fill:#eeeeec;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:7;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
- sodipodi:type="arc" />
- <path
- transform="matrix(4.4701088,0,0,4.6249999,-65.908816,-42.825863)"
- d="M 19.113956,13.797695 A 1.4135723,1.5057619 0 1 1 16.286812,13.797695 A 1.4135723,1.5057619 0 1 1 19.113956,13.797695 z"
- sodipodi:ry="1.5057619"
- sodipodi:rx="1.4135723"
- sodipodi:cy="13.797695"
- sodipodi:cx="17.700384"
- id="path7400"
- style="opacity:1;fill:url(#radialGradient7402);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:7;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
- sodipodi:type="arc" />
- <path
- transform="matrix(4.5196759,0,0,1.0169271,-35.029811,3.0059967)"
- d="M 11.247119,16.471191 A 0.553137,0.49167734 0 1 1 10.140845,16.471191 A 0.553137,0.49167734 0 1 1 11.247119,16.471191 z"
- sodipodi:ry="0.49167734"
- sodipodi:rx="0.553137"
- sodipodi:cy="16.471191"
- sodipodi:cx="10.693982"
- id="path7418"
- style="opacity:1;fill:url(#radialGradient7438);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:7;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
- sodipodi:type="arc" />
- <path
- transform="matrix(0,4.5196759,-2.0338541,0,46.913063,-27.253478)"
- d="M 11.247119,16.471191 A 0.553137,0.49167734 0 1 1 10.140845,16.471191 A 0.553137,0.49167734 0 1 1 11.247119,16.471191 z"
- sodipodi:ry="0.49167734"
- sodipodi:rx="0.553137"
- sodipodi:cy="16.471191"
- sodipodi:cx="10.693982"
- id="path7420"
- style="opacity:1;fill:url(#radialGradient7448);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:7;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
- sodipodi:type="arc" />
+ <g id="layer1">
+ <g>
+ <path d="M 24 10.375 C 11.701921 10.375 1.71875 12.767211 1.71875 15.71875 C 1.71875 17.498261 5.3609075 19.059125 10.9375 20.03125 L 14.3125 46.90625 L 17.9375 26.1875 L 21.3125 41.90625 L 25.5625 23.71875 L 28.03125 37.6875 L 32.3125 22.9375 L 34.84375 33.0625 L 38.375 19.8125 C 43.199321 18.83144 46.28125 17.354051 46.28125 15.71875 C 46.28125 12.767211 36.298079 10.375 24 10.375 z " fill="#729fcf" fill-rule="evenodd" stroke="#204a87" stroke-width="1px" stroke-linecap="butt" stroke-linejoin="round" stroke-opacity="1"/>
+ <path d="M 24.013525,20.535861 C 29.915498,20.535861 35.256377,19.860148 39.169775,19.061611 C 41.126474,18.662343 42.702812,18.185066 43.857275,17.628422 C 45.011738,17.071777 45.794775,16.382816 45.794775,15.758562 C 45.794775,15.111496 45.011739,14.383887 43.857275,13.827243 C 42.702811,13.270598 41.126474,12.706404 39.169775,12.307136 C 35.256377,11.508599 29.915498,10.878502 24.013525,10.878502 C 18.111552,10.878502 12.739423,11.552057 8.826025,12.350594 C 6.8693258,12.749862 5.2929887,13.270598 4.138525,13.827243 C 2.9840613,14.383887 2.201025,14.939123 2.201025,15.758562 C 2.201025,16.578001 2.9840613,17.071777 4.138525,17.628422 C 5.2929887,18.185066 6.8693258,18.662343 8.826025,19.061611 M 8.826025,19.061611 C 12.739423,19.860148 18.111552,20.535861 24.013525,20.535861 M 24.013525,11.738416 C 29.832893,11.738416 35.083852,12.397075 38.857275,13.16705 C 40.743987,13.552037 42.268014,14.087721 43.263525,14.567724 C 44.259036,15.047727 44.669775,15.382119 44.669775,15.758562 C 44.669775,16.135005 44.259035,16.407937 43.263525,16.88794 C 42.268015,17.367943 40.743986,17.840596 38.857275,18.225584 C 35.083852,18.995559 29.832893,19.652061 24.013525,19.652061 C 18.194157,19.652061 12.911948,18.995559 9.138525,18.225584 C 7.2518134,17.840596 5.7277856,17.367943 4.732275,16.88794 C 3.7367644,16.407937 3.326025,16.135005 3.326025,15.758562 C 3.326025,15.382119 3.7367644,15.047727 4.732275,14.567724 C 5.7277856,14.087721 7.2518134,13.595495 9.138525,13.210508 C 12.911948,12.440533 18.194157,11.738416 24.013525,11.738416 z" opacity="0.5" fill="#eeeeec" fill-opacity="1" fill-rule="evenodd" stroke="none" stroke-width="1.14379668" stroke-linecap="square" stroke-linejoin="miter" stroke-miterlimit="4" stroke-dasharray="none" stroke-dashoffset="0" stroke-opacity="1"/>
+ <path d="M 20.220231,11.00128 L 29.138835,20.368103 L 24.21511,20.523801 L 15.180538,11.370038 L 20.220231,11.00128 z" fill="#cedeef" fill-rule="evenodd" stroke="none" stroke-width="1px" stroke-linecap="butt" stroke-linejoin="miter" stroke-opacity="1" fill-opacity="1"/>
+ <path d="M 11.915494,19.751601 L 14.481435,40.163892 L 16.883534,26.331262 C 17.063009,24.706837 18.883373,24.906404 18.990928,26.307141 L 21.349551,37.344431 L 24.506026,23.859196 C 24.638961,22.408831 26.471791,22.275606 26.60475,23.905247 L 28.263765,33.272727 L 31.29544,22.83487 C 31.632247,21.540581 33.13534,21.733731 33.309125,22.813719 L 34.878361,29.055058 L 37.413573,19.544174" fill="none" fill-rule="evenodd" stroke="#eeeeec" stroke-width="1" stroke-linecap="butt" stroke-linejoin="miter" stroke-opacity="1" stroke-miterlimit="7" stroke-dasharray="none" opacity="0.5"/>
+ <path d="M 24.796795,10.87836 L 33.030717,20.024802 L 31.057055,20.187957 L 22.768625,10.889409 L 24.796795,10.87836 z" fill="#cedeef" fill-opacity="1" fill-rule="evenodd" stroke="none" stroke-width="1px" stroke-linecap="butt" stroke-linejoin="miter" stroke-opacity="1"/>
+ <path d="M 28.334973,10.980368 L 36.114053,19.582843 L 35.115621,19.734949 L 27.305235,10.925125 L 28.334973,10.980368 z" fill="#cedeef" fill-opacity="1" fill-rule="evenodd" stroke="none" stroke-width="1px" stroke-linecap="butt" stroke-linejoin="miter" stroke-opacity="1"/>
+ <path d="M 24.276568,13.090909 C 16.315524,13.346336 6.9039601,14.217661 2.7042254,16.717029 C 1.2906531,14.934699 3.0729833,13.828425 9.2804097,12.230474 C 14.942786,11.172151 20.784867,10.869471 24.346019,10.869471 C 29.101893,10.979193 33.366216,11.259555 39.81653,12.450903 C 39.81653,12.450903 46.858243,14.197968 45.56759,16.287597 C 41.461334,13.814622 33.948682,12.944657 24.276568,13.090909 z" fill="url(#linearGradient7386)" fill-rule="evenodd" stroke="none" stroke-width="1px" stroke-linecap="butt" stroke-linejoin="miter" stroke-opacity="1" fill-opacity="1"/>
+ <path transform="matrix(2.1222827,0,0,1.9923469,-21.167011,-16.108233)" d="M 19.113956,13.797695 A 1.4135723,1.5057619 0 1 1 16.286812,13.797695 A 1.4135723,1.5057619 0 1 1 19.113956,13.797695 z" opacity="1" fill="url(#radialGradient7398)" fill-opacity="1" fill-rule="evenodd" stroke="none" stroke-width="1" stroke-linecap="square" stroke-linejoin="round" stroke-miterlimit="7" stroke-dasharray="none" stroke-dashoffset="0" stroke-opacity="1"/>
+ <path transform="matrix(1.8078704,0,0,1.0169271,-3.0298763,-5.1757356)" d="M 11.247119,16.471191 A 0.553137,0.49167734 0 1 1 10.140845,16.471191 A 0.553137,0.49167734 0 1 1 11.247119,16.471191 z" opacity="1" fill="#eeeeec" fill-opacity="1" fill-rule="evenodd" stroke="none" stroke-width="1" stroke-linecap="square" stroke-linejoin="round" stroke-miterlimit="7" stroke-dasharray="none" stroke-dashoffset="0" stroke-opacity="1"/>
+ <path transform="matrix(4.4701088,0,0,4.6249999,-65.908816,-42.825863)" d="M 19.113956,13.797695 A 1.4135723,1.5057619 0 1 1 16.286812,13.797695 A 1.4135723,1.5057619 0 1 1 19.113956,13.797695 z" opacity="1" fill="url(#radialGradient7402)" fill-opacity="1" fill-rule="evenodd" stroke="none" stroke-width="1" stroke-linecap="square" stroke-linejoin="round" stroke-miterlimit="7" stroke-dasharray="none" stroke-dashoffset="0" stroke-opacity="1"/>
+ <path transform="matrix(4.5196759,0,0,1.0169271,-35.029811,3.0059967)" d="M 11.247119,16.471191 A 0.553137,0.49167734 0 1 1 10.140845,16.471191 A 0.553137,0.49167734 0 1 1 11.247119,16.471191 z" opacity="1" fill="url(#radialGradient7438)" fill-opacity="1" fill-rule="evenodd" stroke="none" stroke-width="1" stroke-linecap="square" stroke-linejoin="round" stroke-miterlimit="7" stroke-dasharray="none" stroke-dashoffset="0" stroke-opacity="1"/>
+ <path transform="matrix(0,4.5196759,-2.0338541,0,46.913063,-27.253478)" d="M 11.247119,16.471191 A 0.553137,0.49167734 0 1 1 10.140845,16.471191 A 0.553137,0.49167734 0 1 1 11.247119,16.471191 z" opacity="1" fill="url(#radialGradient7448)" fill-opacity="1" fill-rule="evenodd" stroke="none" stroke-width="1" stroke-linecap="square" stroke-linejoin="round" stroke-miterlimit="7" stroke-dasharray="none" stroke-dashoffset="0" stroke-opacity="1"/>
</g>
</g>
</svg>
diff --git a/demos/embedded/weatherinfo/icons/weather-overcast.svg b/demos/embedded/weatherinfo/icons/weather-overcast.svg
index 35fb4a4..cf77214 100644
--- a/demos/embedded/weatherinfo/icons/weather-overcast.svg
+++ b/demos/embedded/weatherinfo/icons/weather-overcast.svg
@@ -1,2554 +1,81 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!-- Created with Inkscape (http://www.inkscape.org/) -->
-<svg
- xmlns:dc="http://purl.org/dc/elements/1.1/"
- xmlns:cc="http://creativecommons.org/ns#"
- xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns:svg="http://www.w3.org/2000/svg"
- xmlns="http://www.w3.org/2000/svg"
- xmlns:xlink="http://www.w3.org/1999/xlink"
- xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
- xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
- width="48px"
- height="48px"
- id="svg1306"
- sodipodi:version="0.32"
- inkscape:version="0.46"
- sodipodi:docbase="/home/rcollier/Work/Novell/Tango/weather"
- sodipodi:docname="weather-overcast.svg"
- inkscape:output_extension="org.inkscape.output.svg.inkscape">
- <defs
- id="defs1308">
- <inkscape:perspective
- sodipodi:type="inkscape:persp3d"
- inkscape:vp_x="0 : 24 : 1"
- inkscape:vp_y="0 : 1000 : 0"
- inkscape:vp_z="48 : 24 : 1"
- inkscape:persp3d-origin="24 : 16 : 1"
- id="perspective361" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6538"
- id="linearGradient10670"
- gradientUnits="userSpaceOnUse"
- x1="284.80219"
- y1="-441.23294"
- x2="288.89954"
- y2="-436.83109" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6549"
- id="linearGradient10668"
- gradientUnits="userSpaceOnUse"
- x1="286.66589"
- y1="-439.48358"
- x2="289.76562"
- y2="-436.70703" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6527"
- id="linearGradient10666"
- gradientUnits="userSpaceOnUse"
- x1="275.94193"
- y1="-437.10501"
- x2="279.97546"
- y2="-431.91833" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6538"
- id="linearGradient10664"
- gradientUnits="userSpaceOnUse"
- x1="285.94086"
- y1="-439.93900"
- x2="289.39124"
- y2="-436.44290" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6513"
- id="linearGradient10662"
- gradientUnits="userSpaceOnUse"
- x1="286.51172"
- y1="-441.29074"
- x2="289.85379"
- y2="-436.14453" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6497"
- id="linearGradient10660"
- gradientUnits="userSpaceOnUse"
- x1="287.51730"
- y1="-439.75281"
- x2="289.67633"
- y2="-436.32199" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6470"
- id="linearGradient10658"
- gradientUnits="userSpaceOnUse"
- x1="271.02170"
- y1="-441.05182"
- x2="285.02859"
- y2="-431.96991" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6538"
- id="linearGradient10656"
- gradientUnits="userSpaceOnUse"
- x1="284.80219"
- y1="-441.23294"
- x2="288.89954"
- y2="-436.83109" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient6549">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop6551" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop6553" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6549"
- id="linearGradient10654"
- gradientUnits="userSpaceOnUse"
- x1="286.66589"
- y1="-439.48358"
- x2="289.76562"
- y2="-436.70703" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient6527">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop6530" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop6532" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6527"
- id="linearGradient10652"
- gradientUnits="userSpaceOnUse"
- x1="275.94193"
- y1="-437.10501"
- x2="279.97546"
- y2="-431.91833" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient6538">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop6540" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop6542" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6538"
- id="linearGradient10650"
- gradientUnits="userSpaceOnUse"
- x1="285.94086"
- y1="-439.93900"
- x2="289.39124"
- y2="-436.44290" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient6513">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop6515" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop6517" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6513"
- id="linearGradient10648"
- gradientUnits="userSpaceOnUse"
- x1="286.51172"
- y1="-441.29074"
- x2="289.85379"
- y2="-436.14453" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient6497">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop6499" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop6501" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6497"
- id="linearGradient10646"
- gradientUnits="userSpaceOnUse"
- x1="287.51730"
- y1="-439.75281"
- x2="289.67633"
- y2="-436.32199" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient6470">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop6472" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop6474" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6470"
- id="linearGradient10644"
- gradientUnits="userSpaceOnUse"
- x1="271.02170"
- y1="-441.05182"
- x2="285.02859"
- y2="-431.96991" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient7834">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop7836" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop7838" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient7834"
- id="linearGradient10642"
- gradientUnits="userSpaceOnUse"
- x1="-156.29044"
- y1="-100.53421"
- x2="-153.09810"
- y2="-96.544556" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient8397">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop8400" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop8402" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient8397"
- id="linearGradient10640"
- gradientUnits="userSpaceOnUse"
- x1="238.00478"
- y1="-388.47476"
- x2="245.65462"
- y2="-382.64539" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient8315">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop8317" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop8319" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient8315"
- id="linearGradient10638"
- gradientUnits="userSpaceOnUse"
- x1="230.87598"
- y1="-390.43951"
- x2="235.25652"
- y2="-386.95901" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient8381">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop8383" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop8385" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient8381"
- id="linearGradient10636"
- gradientUnits="userSpaceOnUse"
- x1="246.74042"
- y1="-391.31381"
- x2="252.69785"
- y2="-385.35165" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient8331">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop8333" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop8335" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient8331"
- id="linearGradient10634"
- gradientUnits="userSpaceOnUse"
- x1="240.07379"
- y1="-393.40720"
- x2="245.82706"
- y2="-388.55029" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient8302">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop8304" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop8306" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient8302"
- id="linearGradient10632"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(69.00259,102.0000)"
- x1="228.50261"
- y1="-392.30591"
- x2="278.91510"
- y2="-375.37952" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient3019">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop3021" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop3023" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2298"
- id="linearGradient2861"
- gradientUnits="userSpaceOnUse"
- x1="-27.006643"
- y1="-37.550461"
- x2="-34.700153"
- y2="-4.4493785" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2527"
- id="linearGradient2859"
- gradientUnits="userSpaceOnUse"
- x1="-25.137094"
- y1="-1.2491118"
- x2="-35.652866"
- y2="-24.884460" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3478"
- id="linearGradient2857"
- gradientUnits="userSpaceOnUse"
- x1="11.149398"
- y1="-43.997444"
- x2="4.9625983"
- y2="-8.3080902" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient4488">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop4490" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop4492" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient3478">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop3480" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop3482" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient2298">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop2300" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop2302" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient3347">
- <stop
- style="stop-color:#edd400;stop-opacity:1;"
- offset="0"
- id="stop3349" />
- <stop
- style="stop-color:#edd400;stop-opacity:0;"
- offset="1"
- id="stop3351" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient2527">
- <stop
- style="stop-color:#fcaf3e;stop-opacity:1;"
- offset="0"
- id="stop2529" />
- <stop
- style="stop-color:#fcaf3e;stop-opacity:0;"
- offset="1"
- id="stop2531" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient2500">
- <stop
- style="stop-color:#fce94f;stop-opacity:1;"
- offset="0"
- id="stop2502" />
- <stop
- style="stop-color:#fce94f;stop-opacity:0;"
- offset="1"
- id="stop2504" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient2392">
- <stop
- style="stop-color:#eeeeec;stop-opacity:1;"
- offset="0"
- id="stop2394" />
- <stop
- style="stop-color:#eeeeec;stop-opacity:0;"
- offset="1"
- id="stop2396" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient2254">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop2256" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop2258" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2263"
- gradientUnits="userSpaceOnUse"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581"
- gradientTransform="translate(-1.608757,3.097272)" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2267"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(3.555020,0.968578)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2271"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(9.263651,3.495228)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2275"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(8.497184,-2.330824)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2279"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(14.46340,2.014073)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2283"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.751222,0.000000,0.000000,1.000000,-0.197462,7.612867)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2287"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.284317,0.000000,0.000000,1.000000,14.61983,4.452335)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2291"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.834148,0.000000,0.000000,1.000000,14.87610,8.569976)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2295"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.462015,0.000000,0.000000,1.262475,-5.687359,1.810269)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2299"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.106619,0.000000,0.000000,1.000000,6.383860,6.500432)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2303"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(1.707748,-5.784024)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2311"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(-0.976307,0.000000,0.000000,1.000000,53.94753,8.563694)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2350"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(16.14002,24.66420)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2352"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-0.932144,25.87240)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2354"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(5.356636,23.86870)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2356"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(11.19027,26.52035)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2358"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(10.30638,19.27251)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2360"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.751222,0.000000,0.000000,1.000000,0.229156,30.76299)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2362"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.284317,0.000000,0.000000,1.000000,16.67145,27.22746)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2364"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.834148,0.000000,0.000000,1.000000,17.05272,31.47010)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2366"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.462015,0.000000,0.000000,1.262475,-4.010744,24.96040)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2368"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.106619,0.000000,0.000000,1.000000,8.185476,29.52556)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2370"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(4.207586,21.30544)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2372"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(-0.976307,0.000000,0.000000,1.000000,56.12415,32.08882)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2392"
- id="linearGradient2398"
- x1="6.6651416"
- y1="13.802798"
- x2="41.403877"
- y2="13.802798"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.992367,0.000000,0.000000,0.990713,1.128541,5.404075)" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2426"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(14.46340,2.014073)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2428"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(8.497184,-2.330824)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2430"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-1.608757,3.097272)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2432"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(3.555020,0.968578)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2434"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(9.263651,3.495228)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2436"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.751222,0.000000,0.000000,1.000000,-0.197462,7.612867)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2438"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.284317,0.000000,0.000000,1.000000,14.61983,4.452335)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2440"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.834148,0.000000,0.000000,1.000000,14.87610,8.569976)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2442"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.462015,0.000000,0.000000,1.262475,-5.687359,1.810269)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2444"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.106619,0.000000,0.000000,1.000000,6.383860,6.500432)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2446"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(-0.976307,0.000000,0.000000,1.000000,53.94753,8.563694)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2392"
- id="linearGradient2448"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.992367,0.000000,0.000000,0.990713,1.128541,5.404075)"
- x1="6.6651416"
- y1="13.802798"
- x2="41.403877"
- y2="13.802798" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2392"
- id="linearGradient2451"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.992367,0.000000,0.000000,0.990713,4.378541,10.65407)"
- x1="6.6651416"
- y1="13.802798"
- x2="41.403877"
- y2="13.802798" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2457"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.106619,0.000000,0.000000,1.000000,9.633860,11.75043)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2460"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.462015,0.000000,0.000000,1.262475,-2.437359,7.060269)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2463"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.834148,0.000000,0.000000,1.000000,18.12610,13.81998)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2469"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.751222,0.000000,0.000000,1.000000,3.052538,12.86287)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2472"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(12.51365,8.745228)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2475"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(6.805020,6.218578)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2478"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(1.641243,8.347272)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2483"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(0.842481,-3.998086)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2500"
- id="linearGradient2506"
- x1="37.000000"
- y1="-21.750000"
- x2="53.750000"
- y2="9.0000000"
- gradientUnits="userSpaceOnUse" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2500"
- id="linearGradient2509"
- gradientUnits="userSpaceOnUse"
- x1="37.000000"
- y1="-21.750000"
- x2="53.750000"
- y2="9.0000000"
- gradientTransform="matrix(0.889091,0.000000,0.000000,0.617886,-4.771368,39.81402)" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2500"
- id="linearGradient2513"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.605509,0.000000,0.000000,0.710542,-0.224971,42.19500)"
- x1="38.857941"
- y1="-18.407482"
- x2="53.750000"
- y2="9.0000000" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2500"
- id="linearGradient2517"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.414169,0.000000,0.000000,0.778853,-1.910724,36.87850)"
- x1="37.000000"
- y1="-21.750000"
- x2="53.750000"
- y2="9.0000000" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2527"
- id="linearGradient2533"
- x1="-25.137094"
- y1="-1.2491118"
- x2="-35.652866"
- y2="-24.884460"
- gradientUnits="userSpaceOnUse" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2537"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(17.33814,3.415985)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2541"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(13.40064,1.353485)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2555"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-7.499805,1.708617)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2563"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-0.726830,2.481141)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3347"
- id="linearGradient3353"
- x1="23.303862"
- y1="29.115711"
- x2="29.750000"
- y2="46.092930"
- gradientUnits="userSpaceOnUse" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient3366"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(13.40064,1.353485)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient3368"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(1.641243,8.347272)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient3370"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(6.805020,6.218578)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient3372"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(12.51365,8.745228)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient3374"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.751222,0.000000,0.000000,1.000000,3.052538,12.86287)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient3376"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.834148,0.000000,0.000000,1.000000,18.12610,13.81998)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient3378"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.462015,0.000000,0.000000,1.262475,-2.437359,7.060269)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient3380"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.106619,0.000000,0.000000,1.000000,9.633860,11.75043)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient3383"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.106619,0.000000,0.000000,1.000000,0.795022,6.093572)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient3386"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.462015,0.000000,0.000000,1.262475,-11.27620,1.403411)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient3389"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.834148,0.000000,0.000000,1.000000,9.287262,8.163122)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient3392"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.751222,0.000000,0.000000,1.000000,-5.786300,7.206012)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient3395"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(3.674812,3.088370)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient3398"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-2.033818,0.561720)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient3401"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-7.197595,2.690414)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient3405"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(4.561802,-4.303373)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- gradientUnits="userSpaceOnUse"
- y2="-4.4493785"
- x2="-34.700153"
- y1="-37.550461"
- x1="-27.006643"
- id="linearGradient2916"
- xlink:href="#linearGradient2298"
- inkscape:collect="always" />
- <linearGradient
- y2="-24.884460"
- x2="-35.652866"
- y1="-1.2491118"
- x1="-25.137094"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2914"
- xlink:href="#linearGradient2527"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(57.97693,-10.56876)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2912"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(-0.976307,0.000000,0.000000,1.000000,123.1162,-5.446357)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2910"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.106619,0.000000,0.000000,1.000000,0.795022,6.093572)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2908"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.462015,0.000000,0.000000,1.262475,-11.27620,1.403411)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2906"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(0.834148,0.000000,0.000000,1.000000,9.287262,8.163122)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2904"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(0.751222,0.000000,0.000000,1.000000,-5.786300,7.206012)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2902"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(3.674812,3.088370)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2900"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(-2.033818,0.561720)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2898"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(-7.197595,2.690414)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2896"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="-24.884460"
- x2="-35.652866"
- y1="-1.2491118"
- x1="-25.137094"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2894"
- xlink:href="#linearGradient2527"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.284317,0.000000,0.000000,1.000000,79.36909,-3.193747)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2892"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.462015,0.000000,0.000000,1.262475,56.25514,-12.39388)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2890"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(88.49344,-9.697877)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2888"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(4.561802,-4.303373)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2886"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(-7.197595,2.690414)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2884"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(-2.033818,0.561720)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2882"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(3.674812,3.088370)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2880"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(0.751222,0.000000,0.000000,1.000000,-5.786300,7.206012)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2878"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(0.834148,0.000000,0.000000,1.000000,9.287262,8.163122)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2876"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.462015,0.000000,0.000000,1.262475,-11.27620,1.403411)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2874"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.106619,0.000000,0.000000,1.000000,0.795022,6.093572)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2872"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.106619,0.000000,0.000000,1.000000,9.633860,11.75043)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2870"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.462015,0.000000,0.000000,1.262475,-2.437359,7.060269)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2868"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(0.834148,0.000000,0.000000,1.000000,18.12610,13.81998)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2866"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(0.751222,0.000000,0.000000,1.000000,3.052538,12.86287)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2864"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(12.51365,8.745228)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2862"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(6.805020,6.218578)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2860"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(1.641243,8.347272)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2858"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(13.40064,1.353485)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2856"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- gradientUnits="userSpaceOnUse"
- y2="46.092930"
- x2="29.750000"
- y1="29.115711"
- x1="23.303862"
- id="linearGradient2854"
- xlink:href="#linearGradient3347"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(-0.726830,2.481141)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2852"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(-7.499805,1.708617)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2850"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(13.40064,1.353485)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2848"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(17.33814,3.415985)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2846"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- gradientUnits="userSpaceOnUse"
- y2="-24.884460"
- x2="-35.652866"
- y1="-1.2491118"
- x1="-25.137094"
- id="linearGradient2844"
- xlink:href="#linearGradient2527"
- inkscape:collect="always" />
- <linearGradient
- y2="9.0000000"
- x2="53.750000"
- y1="-21.750000"
- x1="37.000000"
- gradientTransform="matrix(0.414169,0.000000,0.000000,0.778853,-1.910724,36.87850)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2842"
- xlink:href="#linearGradient2500"
- inkscape:collect="always" />
- <linearGradient
- y2="9.0000000"
- x2="53.750000"
- y1="-18.407482"
- x1="38.857941"
- gradientTransform="matrix(0.605509,0.000000,0.000000,0.710542,-0.224971,42.19500)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2840"
- xlink:href="#linearGradient2500"
- inkscape:collect="always" />
- <linearGradient
- gradientTransform="matrix(0.889091,0.000000,0.000000,0.617886,-4.771368,39.81402)"
- y2="9.0000000"
- x2="53.750000"
- y1="-21.750000"
- x1="37.000000"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2838"
- xlink:href="#linearGradient2500"
- inkscape:collect="always" />
- <linearGradient
- gradientUnits="userSpaceOnUse"
- y2="9.0000000"
- x2="53.750000"
- y1="-21.750000"
- x1="37.000000"
- id="linearGradient2836"
- xlink:href="#linearGradient2500"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(0.842481,-3.998086)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2834"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(1.641243,8.347272)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2832"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(6.805020,6.218578)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2830"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(12.51365,8.745228)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2828"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(0.751222,0.000000,0.000000,1.000000,3.052538,12.86287)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2826"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(0.834148,0.000000,0.000000,1.000000,18.12610,13.81998)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2824"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.462015,0.000000,0.000000,1.262475,-2.437359,7.060269)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2822"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.106619,0.000000,0.000000,1.000000,9.633860,11.75043)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2820"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="13.802798"
- x2="41.403877"
- y1="13.802798"
- x1="6.6651416"
- gradientTransform="matrix(0.992367,0.000000,0.000000,0.990713,4.378541,10.65407)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2818"
- xlink:href="#linearGradient2392"
- inkscape:collect="always" />
- <linearGradient
- y2="13.802798"
- x2="41.403877"
- y1="13.802798"
- x1="6.6651416"
- gradientTransform="matrix(0.992367,0.000000,0.000000,0.990713,1.128541,5.404075)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2816"
- xlink:href="#linearGradient2392"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(-0.976307,0.000000,0.000000,1.000000,53.94753,8.563694)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2814"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.106619,0.000000,0.000000,1.000000,6.383860,6.500432)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2812"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.462015,0.000000,0.000000,1.262475,-5.687359,1.810269)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2810"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(0.834148,0.000000,0.000000,1.000000,14.87610,8.569976)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2808"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.284317,0.000000,0.000000,1.000000,14.61983,4.452335)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2806"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(0.751222,0.000000,0.000000,1.000000,-0.197462,7.612867)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2804"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(9.263651,3.495228)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2802"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(3.555020,0.968578)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2800"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(-1.608757,3.097272)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2798"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(8.497184,-2.330824)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2796"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(14.46340,2.014073)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2794"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- gradientTransform="matrix(0.992367,0.000000,0.000000,0.990713,1.128541,5.404075)"
- gradientUnits="userSpaceOnUse"
- y2="13.802798"
- x2="41.403877"
- y1="13.802798"
- x1="6.6651416"
- id="linearGradient2792"
- xlink:href="#linearGradient2392"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(-0.976307,0.000000,0.000000,1.000000,56.12415,32.08882)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2790"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(4.207586,21.30544)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2788"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.106619,0.000000,0.000000,1.000000,8.185476,29.52556)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2786"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.462015,0.000000,0.000000,1.262475,-4.010744,24.96040)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2784"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(0.834148,0.000000,0.000000,1.000000,17.05272,31.47010)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2782"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.284317,0.000000,0.000000,1.000000,16.67145,27.22746)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2780"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(0.751222,0.000000,0.000000,1.000000,0.229156,30.76299)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2778"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(10.30638,19.27251)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2776"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(11.19027,26.52035)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2774"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(5.356636,23.86870)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2772"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(-0.932144,25.87240)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2770"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(16.14002,24.66420)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2768"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(-0.976307,0.000000,0.000000,1.000000,53.94753,8.563694)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2766"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(1.707748,-5.784024)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2764"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.106619,0.000000,0.000000,1.000000,6.383860,6.500432)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2762"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.462015,0.000000,0.000000,1.262475,-5.687359,1.810269)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2760"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(0.834148,0.000000,0.000000,1.000000,14.87610,8.569976)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2758"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.284317,0.000000,0.000000,1.000000,14.61983,4.452335)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2756"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(0.751222,0.000000,0.000000,1.000000,-0.197462,7.612867)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2754"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(14.46340,2.014073)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2752"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(8.497184,-2.330824)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2750"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(9.263651,3.495228)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2748"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(3.555020,0.968578)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2746"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- gradientTransform="translate(-1.608757,3.097272)"
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2744"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient4434"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(41.44608,-6.716447)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient4436"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(46.60985,-8.845141)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient4438"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(52.31848,-6.318491)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient4440"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.751222,0.000000,0.000000,1.000000,42.85737,-2.200849)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient4442"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.834148,0.000000,0.000000,1.000000,57.93093,-1.243739)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient4444"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.462015,0.000000,0.000000,1.262475,37.36747,-8.003450)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient4446"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.106619,0.000000,0.000000,1.000000,49.43869,-3.313289)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient4464"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(41.44608,-6.716447)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient4466"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(46.60985,-8.845141)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient4468"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(52.31848,-6.318491)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient4470"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.751222,0.000000,0.000000,1.000000,42.85737,-2.200849)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient4472"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.834148,0.000000,0.000000,1.000000,57.93093,-1.243739)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient4474"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.462015,0.000000,0.000000,1.262475,37.36747,-8.003450)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient4476"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.106619,0.000000,0.000000,1.000000,49.43869,-3.313289)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient4538"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(41.44608,-6.716447)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient4540"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(46.60985,-8.845141)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient4542"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(52.31848,-6.318491)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient4544"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.751222,0.000000,0.000000,1.000000,42.85737,-2.200849)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient4546"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.834148,0.000000,0.000000,1.000000,57.93093,-1.243739)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient4548"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.462015,0.000000,0.000000,1.262475,37.36747,-8.003450)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient4550"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.106619,0.000000,0.000000,1.000000,49.43869,-3.313289)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient4488"
- id="linearGradient4552"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.927204,0.000000,0.000000,0.882329,2.105168,3.373861)"
- x1="17.181321"
- y1="32.443652"
- x2="47.342173"
- y2="32.443652" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient4488"
- id="linearGradient2276"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.926905,0.000000,0.000000,0.881886,2.081767,3.390390)"
- x1="17.181321"
- y1="32.443652"
- x2="47.342173"
- y2="32.443652" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient4488"
- id="linearGradient2289"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.931230,0.000000,0.000000,0.881886,-13.99458,-6.609596)"
- x1="17.181321"
- y1="32.443652"
- x2="47.342173"
- y2="32.443652" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3019"
- id="linearGradient3025"
- x1="23.688078"
- y1="28.201012"
- x2="29.521708"
- y2="34.034641"
- gradientUnits="userSpaceOnUse" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3019"
- id="linearGradient3029"
- gradientUnits="userSpaceOnUse"
- x1="23.688078"
- y1="28.201012"
- x2="29.521708"
- y2="34.034641" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3019"
- id="linearGradient3033"
- gradientUnits="userSpaceOnUse"
- x1="23.688078"
- y1="28.201012"
- x2="29.521708"
- y2="34.034641" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3019"
- id="linearGradient3037"
- gradientUnits="userSpaceOnUse"
- x1="23.688078"
- y1="28.201012"
- x2="29.521708"
- y2="34.034641" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3019"
- id="linearGradient3041"
- gradientUnits="userSpaceOnUse"
- x1="23.688078"
- y1="28.201012"
- x2="29.521708"
- y2="34.034641" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3019"
- id="linearGradient3045"
- gradientUnits="userSpaceOnUse"
- x1="23.688078"
- y1="28.201012"
- x2="29.521708"
- y2="34.034641" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3019"
- id="linearGradient3049"
- gradientUnits="userSpaceOnUse"
- x1="23.688078"
- y1="28.201012"
- x2="29.521708"
- y2="34.034641" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3019"
- id="linearGradient3053"
- gradientUnits="userSpaceOnUse"
- x1="23.688078"
- y1="28.201012"
- x2="29.521708"
- y2="34.034641" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3019"
- id="linearGradient3056"
- gradientUnits="userSpaceOnUse"
- x1="23.688078"
- y1="28.201012"
- x2="29.521708"
- y2="34.034641"
- gradientTransform="translate(3.437500,-3.000000)" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3019"
- id="linearGradient3060"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.333333,0.000000,0.000000,1.000000,-6.911612,2.585786)"
- x1="23.688078"
- y1="28.201012"
- x2="29.521708"
- y2="34.034641" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3019"
- id="linearGradient3064"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-3.146447,8.838835e-2)"
- x1="23.688078"
- y1="28.201012"
- x2="29.521708"
- y2="34.034641" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3019"
- id="linearGradient3068"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.888889,0.000000,0.000000,0.888889,13.66667,3.000000)"
- x1="23.688078"
- y1="28.201012"
- x2="29.521708"
- y2="34.034641" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3019"
- id="linearGradient3072"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.888889,0.000000,0.000000,0.888889,15.66667,8.000000)"
- x1="23.688078"
- y1="28.201012"
- x2="29.521708"
- y2="34.034641" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3019"
- id="linearGradient3076"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.813402,0.000000,0.000000,0.813402,-0.698434,10.27557)"
- x1="23.688078"
- y1="28.201012"
- x2="29.521708"
- y2="34.034641" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3019"
- id="linearGradient3080"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.613903,0.000000,0.000000,0.613903,17.68234,16.99480)"
- x1="23.688078"
- y1="28.201012"
- x2="29.521708"
- y2="34.034641" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3019"
- id="linearGradient3107"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(3.437500,-3.000000)"
- x1="23.688078"
- y1="28.201012"
- x2="29.521708"
- y2="34.034641" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3019"
- id="linearGradient3109"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.333333,0.000000,0.000000,1.000000,-6.911612,2.585786)"
- x1="23.688078"
- y1="28.201012"
- x2="29.521708"
- y2="34.034641" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3019"
- id="linearGradient3111"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-3.146447,8.838835e-2)"
- x1="23.688078"
- y1="28.201012"
- x2="29.521708"
- y2="34.034641" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3019"
- id="linearGradient3113"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.888889,0.000000,0.000000,0.888889,13.66667,3.000000)"
- x1="23.688078"
- y1="28.201012"
- x2="29.521708"
- y2="34.034641" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3019"
- id="linearGradient3115"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.888889,0.000000,0.000000,0.888889,15.66667,8.000000)"
- x1="23.688078"
- y1="28.201012"
- x2="29.521708"
- y2="34.034641" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3019"
- id="linearGradient3117"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.813402,0.000000,0.000000,0.813402,-0.698434,10.27557)"
- x1="23.688078"
- y1="28.201012"
- x2="29.521708"
- y2="34.034641" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3019"
- id="linearGradient3119"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.613903,0.000000,0.000000,0.613903,17.68234,16.99480)"
- x1="23.688078"
- y1="28.201012"
- x2="29.521708"
- y2="34.034641" />
+<svg xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="48px" height="48px" id="svg1306">
+ <defs id="defs1308">
+ <linearGradient xlink:href="#linearGradient6538" id="linearGradient10670" gradientUnits="userSpaceOnUse" x1="284.80219" y1="-441.23294" x2="288.89954" y2="-436.83109"/>
+ <linearGradient xlink:href="#linearGradient6549" id="linearGradient10668" gradientUnits="userSpaceOnUse" x1="286.66589" y1="-439.48358" x2="289.76562" y2="-436.70703"/>
+ <linearGradient xlink:href="#linearGradient6527" id="linearGradient10666" gradientUnits="userSpaceOnUse" x1="275.94193" y1="-437.10501" x2="279.97546" y2="-431.91833"/>
+ <linearGradient xlink:href="#linearGradient6538" id="linearGradient10664" gradientUnits="userSpaceOnUse" x1="285.94086" y1="-439.93900" x2="289.39124" y2="-436.44290"/>
+ <linearGradient xlink:href="#linearGradient6513" id="linearGradient10662" gradientUnits="userSpaceOnUse" x1="286.51172" y1="-441.29074" x2="289.85379" y2="-436.14453"/>
+ <linearGradient xlink:href="#linearGradient6497" id="linearGradient10660" gradientUnits="userSpaceOnUse" x1="287.51730" y1="-439.75281" x2="289.67633" y2="-436.32199"/>
+ <linearGradient xlink:href="#linearGradient6470" id="linearGradient10658" gradientUnits="userSpaceOnUse" x1="271.02170" y1="-441.05182" x2="285.02859" y2="-431.96991"/>
+ <linearGradient xlink:href="#linearGradient6538" id="linearGradient10656" gradientUnits="userSpaceOnUse" x1="284.80219" y1="-441.23294" x2="288.89954" y2="-436.83109"/>
+ <linearGradient id="linearGradient6549">
+ <stop offset="0" id="stop6551" stop-color="#ffffff" stop-opacity="1"/>
+ <stop offset="1" id="stop6553" stop-color="#ffffff" stop-opacity="0"/>
+ </linearGradient>
+ <linearGradient xlink:href="#linearGradient6549" id="linearGradient10654" gradientUnits="userSpaceOnUse" x1="286.66589" y1="-439.48358" x2="289.76562" y2="-436.70703"/>
+ <linearGradient id="linearGradient6527">
+ <stop offset="0" id="stop6530" stop-color="#ffffff" stop-opacity="1"/>
+ <stop offset="1" id="stop6532" stop-color="#ffffff" stop-opacity="0"/>
+ </linearGradient>
+ <linearGradient xlink:href="#linearGradient6527" id="linearGradient10652" gradientUnits="userSpaceOnUse" x1="275.94193" y1="-437.10501" x2="279.97546" y2="-431.91833"/>
+ <linearGradient id="linearGradient6538">
+ <stop offset="0" id="stop6540" stop-color="#ffffff" stop-opacity="1"/>
+ <stop offset="1" id="stop6542" stop-color="#ffffff" stop-opacity="0"/>
+ </linearGradient>
+ <linearGradient xlink:href="#linearGradient6538" id="linearGradient10650" gradientUnits="userSpaceOnUse" x1="285.94086" y1="-439.93900" x2="289.39124" y2="-436.44290"/>
+ <linearGradient id="linearGradient6513">
+ <stop offset="0" id="stop6515" stop-color="#ffffff" stop-opacity="1"/>
+ <stop offset="1" id="stop6517" stop-color="#ffffff" stop-opacity="0"/>
+ </linearGradient>
+ <linearGradient xlink:href="#linearGradient6513" id="linearGradient10648" gradientUnits="userSpaceOnUse" x1="286.51172" y1="-441.29074" x2="289.85379" y2="-436.14453"/>
+ <linearGradient id="linearGradient6497">
+ <stop offset="0" id="stop6499" stop-color="#ffffff" stop-opacity="1"/>
+ <stop offset="1" id="stop6501" stop-color="#ffffff" stop-opacity="0"/>
+ </linearGradient>
+ <linearGradient xlink:href="#linearGradient6497" id="linearGradient10646" gradientUnits="userSpaceOnUse" x1="287.51730" y1="-439.75281" x2="289.67633" y2="-436.32199"/>
+ <linearGradient id="linearGradient6470">
+ <stop offset="0" id="stop6472" stop-color="#ffffff" stop-opacity="1"/>
+ <stop offset="1" id="stop6474" stop-color="#ffffff" stop-opacity="0"/>
+ </linearGradient>
+ <linearGradient xlink:href="#linearGradient6470" id="linearGradient10644" gradientUnits="userSpaceOnUse" x1="271.02170" y1="-441.05182" x2="285.02859" y2="-431.96991"/>
+ <linearGradient id="linearGradient7834">
+ <stop offset="0" id="stop7836" stop-color="#ffffff" stop-opacity="1"/>
+ <stop offset="1" id="stop7838" stop-color="#ffffff" stop-opacity="0"/>
+ </linearGradient>
+ <linearGradient xlink:href="#linearGradient7834" id="linearGradient10642" gradientUnits="userSpaceOnUse" x1="-156.29044" y1="-100.53421" x2="-153.09810" y2="-96.544556"/>
+ <linearGradient id="linearGradient8397">
+ <stop offset="0" id="stop8400" stop-color="#ffffff" stop-opacity="1"/>
+ <stop offset="1" id="stop8402" stop-color="#ffffff" stop-opacity="0"/>
+ </linearGradient>
+ <linearGradient xlink:href="#linearGradient8397" id="linearGradient10640" gradientUnits="userSpaceOnUse" x1="238.00478" y1="-388.47476" x2="245.65462" y2="-382.64539"/>
+ <linearGradient id="linearGradient8315">
+ <stop offset="0" id="stop8317" stop-color="#ffffff" stop-opacity="1"/>
+ <stop offset="1" id="stop8319" stop-color="#ffffff" stop-opacity="0"/>
+ </linearGradient>
+ <linearGradient xlink:href="#linearGradient8315" id="linearGradient10638" gradientUnits="userSpaceOnUse" x1="230.87598" y1="-390.43951" x2="235.25652" y2="-386.95901"/>
+ <linearGradient id="linearGradient8381">
+ <stop offset="0" id="stop8383" stop-color="#ffffff" stop-opacity="1"/>
+ <stop offset="1" id="stop8385" stop-color="#ffffff" stop-opacity="0"/>
+ </linearGradient>
+ <linearGradient xlink:href="#linearGradient8381" id="linearGradient10636" gradientUnits="userSpaceOnUse" x1="246.74042" y1="-391.31381" x2="252.69785" y2="-385.35165"/>
+ <linearGradient id="linearGradient8331">
+ <stop offset="0" id="stop8333" stop-color="#ffffff" stop-opacity="1"/>
+ <stop offset="1" id="stop8335" stop-color="#ffffff" stop-opacity="0"/>
+ </linearGradient>
+ <linearGradient xlink:href="#linearGradient8331" id="linearGradient10634" gradientUnits="userSpaceOnUse" x1="240.07379" y1="-393.40720" x2="245.82706" y2="-388.55029"/>
+ <linearGradient id="linearGradient8302">
+ <stop offset="0" id="stop8304" stop-color="#ffffff" stop-opacity="1"/>
+ <stop offset="1" id="stop8306" stop-color="#ffffff" stop-opacity="0"/>
+ </linearGradient>
+ <linearGradient xlink:href="#linearGradient8302" id="linearGradient10632" gradientUnits="userSpaceOnUse" gradientTransform="translate(69.00259,102.0000)" x1="228.50261" y1="-392.30591" x2="278.91510" y2="-375.37952"/>
</defs>
- <sodipodi:namedview
- id="base"
- pagecolor="#ffffff"
- bordercolor="#666666"
- borderopacity="1.0"
- inkscape:pageopacity="0.0"
- inkscape:pageshadow="2"
- inkscape:zoom="11.313709"
- inkscape:cx="8.6163343"
- inkscape:cy="24.822365"
- inkscape:current-layer="layer1"
- showgrid="true"
- inkscape:grid-bbox="true"
- inkscape:document-units="px"
- inkscape:window-width="1210"
- inkscape:window-height="704"
- inkscape:window-x="182"
- inkscape:window-y="144"
- inkscape:showpageshadow="false"
- showguides="true"
- inkscape:guide-bbox="true" />
- <metadata
- id="metadata1311">
+
+ <metadata id="metadata1311">
<rdf:RDF>
- <cc:Work
- rdf:about="">
+ <cc:Work rdf:about="">
<dc:format>image/svg+xml</dc:format>
- <dc:type
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
<dc:title>weather-overcast</dc:title>
<dc:date>January 2006</dc:date>
<dc:creator>
@@ -2569,466 +96,94 @@
<rdf:li>notify</rdf:li>
</rdf:Bag>
</dc:subject>
- <cc:license
- rdf:resource="http://creativecommons.org/licenses/publicdomain/" />
+ <cc:license rdf:resource="http://creativecommons.org/licenses/publicdomain/"/>
</cc:Work>
- <cc:License
- rdf:about="http://creativecommons.org/licenses/publicdomain/">
- <cc:permits
- rdf:resource="http://creativecommons.org/ns#Reproduction" />
- <cc:permits
- rdf:resource="http://creativecommons.org/ns#Distribution" />
- <cc:permits
- rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
+ <cc:License rdf:about="http://creativecommons.org/licenses/publicdomain/">
+ <cc:permits rdf:resource="http://creativecommons.org/ns#Reproduction"/>
+ <cc:permits rdf:resource="http://creativecommons.org/ns#Distribution"/>
+ <cc:permits rdf:resource="http://creativecommons.org/ns#DerivativeWorks"/>
</cc:License>
</rdf:RDF>
</metadata>
- <g
- id="layer1"
- inkscape:label="Layer 1"
- inkscape:groupmode="layer">
- <g
- id="g10011"
- transform="translate(-287.0000,298.0000)">
- <path
- id="path8267"
- d="M 311.50259,-296.00000 C 308.73017,-296.00000 306.39436,-294.42629 305.09634,-292.18750 C 304.15198,-292.66254 303.13115,-293.00000 302.00259,-293.00000 C 298.13859,-293.00000 295.00259,-289.86400 295.00259,-286.00000 C 295.00259,-282.13600 298.13859,-279.00000 302.00259,-279.00000 C 304.42226,-279.00000 306.43268,-280.31932 307.69009,-282.18750 C 308.82429,-281.49788 310.07907,-281.00000 311.50259,-281.00000 C 312.41571,-281.00000 313.25554,-281.23202 314.06509,-281.53125 C 314.57503,-280.66352 315.24421,-279.95153 316.06509,-279.37500 C 316.05785,-279.24462 316.00259,-279.13218 316.00259,-279.00000 C 316.00259,-275.13600 319.13858,-272.00000 323.00259,-272.00000 C 326.86659,-272.00000 330.00259,-275.13600 330.00259,-279.00000 C 330.00259,-281.36969 328.74361,-283.35834 326.94009,-284.62500 C 326.94733,-284.75538 327.00259,-284.86782 327.00259,-285.00000 C 327.00259,-288.86400 323.86660,-292.00000 320.00259,-292.00000 C 319.37989,-292.00000 318.82740,-291.77781 318.25259,-291.62500 C 317.05806,-294.18384 314.51125,-296.00000 311.50259,-296.00000 z "
- style="opacity:1.0000000;fill:#888a85;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000" />
- <path
- id="path8291"
- d="M 311.50259,-295.00000 C 308.72211,-295.00000 306.36808,-293.23815 305.44009,-290.78125 C 304.45467,-291.49069 303.30866,-292.00000 302.00259,-292.00000 C 298.69059,-292.00000 296.00259,-289.31200 296.00259,-286.00000 C 296.00259,-282.68800 298.69059,-280.00000 302.00259,-280.00000 C 304.43034,-280.00000 306.49583,-281.45558 307.44009,-283.53125 C 308.56085,-282.61369 309.94223,-282.00000 311.50259,-282.00000 C 312.57713,-282.00000 313.54687,-282.31896 314.44009,-282.78125 C 314.83849,-281.78149 315.54123,-280.99493 316.37759,-280.34375 C 316.19758,-279.74813 316.00259,-279.15410 316.00259,-278.50000 C 316.00259,-274.91200 318.91459,-272.00000 322.50259,-272.00000 C 326.09059,-272.00000 329.00259,-274.91200 329.00259,-278.50000 C 329.00259,-280.86079 327.66826,-282.83019 325.78384,-283.96875 C 325.84643,-284.31598 326.00259,-284.63483 326.00259,-285.00000 C 326.00259,-288.31200 323.31459,-291.00000 320.00259,-291.00000 C 319.14961,-291.00000 318.33129,-290.82132 317.59634,-290.50000 C 316.74257,-293.09388 314.38110,-294.99999 311.50259,-295.00000 z "
- style="opacity:1.0000000;fill:url(#linearGradient10632);fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000" />
- <path
- transform="matrix(0.964447,0.000000,0.000000,0.964447,89.29111,91.52621)"
- d="M 248.54804 -383.66660 A 6.7396116 6.7396116 0 1 1 235.06881,-383.66660 A 6.7396116 6.7396116 0 1 1 248.54804 -383.66660 z"
- sodipodi:ry="6.7396116"
- sodipodi:rx="6.7396116"
- sodipodi:cy="-383.66660"
- sodipodi:cx="241.80843"
- id="path8414"
- style="opacity:1.0000000;fill:#c4c5c2;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- sodipodi:type="arc" />
- <g
- transform="translate(69.00259,102.0000)"
- id="g8349">
- <path
- sodipodi:type="arc"
- style="opacity:1.0000000;fill:#c4c5c2;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- id="path8327"
- sodipodi:cx="243.95184"
- sodipodi:cy="-389.30136"
- sodipodi:rx="6.2313786"
- sodipodi:ry="6.2313786"
- d="M 250.18322 -389.30136 A 6.2313786 6.2313786 0 1 1 237.72046,-389.30136 A 6.2313786 6.2313786 0 1 1 250.18322 -389.30136 z"
- transform="matrix(0.882630,0.000000,0.000000,0.882630,27.18078,-46.89094)" />
- <path
- sodipodi:type="arc"
- style="opacity:1.0000000;fill:url(#linearGradient10634);fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- id="path8329"
- sodipodi:cx="243.95184"
- sodipodi:cy="-389.30136"
- sodipodi:rx="6.2313786"
- sodipodi:ry="6.2313786"
- d="M 250.18322 -389.30136 A 6.2313786 6.2313786 0 1 1 237.72046,-389.30136 A 6.2313786 6.2313786 0 1 1 250.18322 -389.30136 z"
- transform="matrix(0.882630,0.000000,0.000000,0.882630,27.18078,-46.89094)" />
+ <g id="layer1">
+ <g transform="translate(-287.0000,298.0000)">
+ <path d="M 311.50259,-296.00000 C 308.73017,-296.00000 306.39436,-294.42629 305.09634,-292.18750 C 304.15198,-292.66254 303.13115,-293.00000 302.00259,-293.00000 C 298.13859,-293.00000 295.00259,-289.86400 295.00259,-286.00000 C 295.00259,-282.13600 298.13859,-279.00000 302.00259,-279.00000 C 304.42226,-279.00000 306.43268,-280.31932 307.69009,-282.18750 C 308.82429,-281.49788 310.07907,-281.00000 311.50259,-281.00000 C 312.41571,-281.00000 313.25554,-281.23202 314.06509,-281.53125 C 314.57503,-280.66352 315.24421,-279.95153 316.06509,-279.37500 C 316.05785,-279.24462 316.00259,-279.13218 316.00259,-279.00000 C 316.00259,-275.13600 319.13858,-272.00000 323.00259,-272.00000 C 326.86659,-272.00000 330.00259,-275.13600 330.00259,-279.00000 C 330.00259,-281.36969 328.74361,-283.35834 326.94009,-284.62500 C 326.94733,-284.75538 327.00259,-284.86782 327.00259,-285.00000 C 327.00259,-288.86400 323.86660,-292.00000 320.00259,-292.00000 C 319.37989,-292.00000 318.82740,-291.77781 318.25259,-291.62500 C 317.05806,-294.18384 314.51125,-296.00000 311.50259,-296.00000 z " opacity="1.0000000" fill="#888a85" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path d="M 311.50259,-295.00000 C 308.72211,-295.00000 306.36808,-293.23815 305.44009,-290.78125 C 304.45467,-291.49069 303.30866,-292.00000 302.00259,-292.00000 C 298.69059,-292.00000 296.00259,-289.31200 296.00259,-286.00000 C 296.00259,-282.68800 298.69059,-280.00000 302.00259,-280.00000 C 304.43034,-280.00000 306.49583,-281.45558 307.44009,-283.53125 C 308.56085,-282.61369 309.94223,-282.00000 311.50259,-282.00000 C 312.57713,-282.00000 313.54687,-282.31896 314.44009,-282.78125 C 314.83849,-281.78149 315.54123,-280.99493 316.37759,-280.34375 C 316.19758,-279.74813 316.00259,-279.15410 316.00259,-278.50000 C 316.00259,-274.91200 318.91459,-272.00000 322.50259,-272.00000 C 326.09059,-272.00000 329.00259,-274.91200 329.00259,-278.50000 C 329.00259,-280.86079 327.66826,-282.83019 325.78384,-283.96875 C 325.84643,-284.31598 326.00259,-284.63483 326.00259,-285.00000 C 326.00259,-288.31200 323.31459,-291.00000 320.00259,-291.00000 C 319.14961,-291.00000 318.33129,-290.82132 317.59634,-290.50000 C 316.74257,-293.09388 314.38110,-294.99999 311.50259,-295.00000 z " opacity="1.0000000" fill="url(#linearGradient10632)" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path transform="matrix(0.964447,0.000000,0.000000,0.964447,89.29111,91.52621)" d="M 248.54804 -383.66660 A 6.7396116 6.7396116 0 1 1 235.06881,-383.66660 A 6.7396116 6.7396116 0 1 1 248.54804 -383.66660 z" opacity="1.0000000" fill="#c4c5c2" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <g transform="translate(69.00259,102.0000)">
+ <path d="M 250.18322 -389.30136 A 6.2313786 6.2313786 0 1 1 237.72046,-389.30136 A 6.2313786 6.2313786 0 1 1 250.18322 -389.30136 z" transform="matrix(0.882630,0.000000,0.000000,0.882630,27.18078,-46.89094)" opacity="1.0000000" fill="#c4c5c2" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path d="M 250.18322 -389.30136 A 6.2313786 6.2313786 0 1 1 237.72046,-389.30136 A 6.2313786 6.2313786 0 1 1 250.18322 -389.30136 z" transform="matrix(0.882630,0.000000,0.000000,0.882630,27.18078,-46.89094)" opacity="1.0000000" fill="url(#linearGradient10634)" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
</g>
- <g
- transform="translate(69.00259,102.0000)"
- id="g8389">
- <path
- sodipodi:type="arc"
- style="opacity:1.0000000;fill:#c4c5c2;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- id="path8368"
- sodipodi:cx="251.22179"
- sodipodi:cy="-385.78790"
- sodipodi:rx="6.0325046"
- sodipodi:ry="6.0325046"
- d="M 257.25429 -385.78790 A 6.0325046 6.0325046 0 1 1 245.18928,-385.78790 A 6.0325046 6.0325046 0 1 1 257.25429 -385.78790 z"
- transform="matrix(0.911728,0.000000,0.000000,0.911728,21.45407,-34.76637)" />
- <path
- sodipodi:type="arc"
- style="opacity:1.0000000;fill:url(#linearGradient10636);fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- id="path8370"
- sodipodi:cx="251.22179"
- sodipodi:cy="-385.78790"
- sodipodi:rx="6.0325046"
- sodipodi:ry="6.0325046"
- d="M 257.25429 -385.78790 A 6.0325046 6.0325046 0 1 1 245.18928,-385.78790 A 6.0325046 6.0325046 0 1 1 257.25429 -385.78790 z"
- transform="matrix(0.911728,0.000000,0.000000,0.911728,21.45407,-34.76637)" />
+ <g transform="translate(69.00259,102.0000)">
+ <path d="M 257.25429 -385.78790 A 6.0325046 6.0325046 0 1 1 245.18928,-385.78790 A 6.0325046 6.0325046 0 1 1 257.25429 -385.78790 z" transform="matrix(0.911728,0.000000,0.000000,0.911728,21.45407,-34.76637)" opacity="1.0000000" fill="#c4c5c2" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path d="M 257.25429 -385.78790 A 6.0325046 6.0325046 0 1 1 245.18928,-385.78790 A 6.0325046 6.0325046 0 1 1 257.25429 -385.78790 z" transform="matrix(0.911728,0.000000,0.000000,0.911728,21.45407,-34.76637)" opacity="1.0000000" fill="url(#linearGradient10636)" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
</g>
- <g
- transform="translate(69.00259,102.0000)"
- id="g8323">
- <path
- sodipodi:type="arc"
- style="opacity:1.0000000;fill:#c4c5c2;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- id="path8311"
- sodipodi:cx="233.43362"
- sodipodi:cy="-387.88715"
- sodipodi:rx="4.3752232"
- sodipodi:ry="4.3752232"
- d="M 237.80885 -387.88715 A 4.3752232 4.3752232 0 1 1 229.05840,-387.88715 A 4.3752232 4.3752232 0 1 1 237.80885 -387.88715 z"
- transform="matrix(1.142799,0.000000,0.000000,1.142799,-33.76771,55.27704)" />
- <path
- sodipodi:type="arc"
- style="opacity:1.0000000;fill:url(#linearGradient10638);fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- id="path8313"
- sodipodi:cx="233.43362"
- sodipodi:cy="-387.88715"
- sodipodi:rx="4.3752232"
- sodipodi:ry="4.3752232"
- d="M 237.80885 -387.88715 A 4.3752232 4.3752232 0 1 1 229.05840,-387.88715 A 4.3752232 4.3752232 0 1 1 237.80885 -387.88715 z"
- transform="matrix(1.142799,0.000000,0.000000,1.142799,-33.76771,55.27704)" />
+ <g transform="translate(69.00259,102.0000)">
+ <path d="M 237.80885 -387.88715 A 4.3752232 4.3752232 0 1 1 229.05840,-387.88715 A 4.3752232 4.3752232 0 1 1 237.80885 -387.88715 z" transform="matrix(1.142799,0.000000,0.000000,1.142799,-33.76771,55.27704)" opacity="1.0000000" fill="#c4c5c2" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path d="M 237.80885 -387.88715 A 4.3752232 4.3752232 0 1 1 229.05840,-387.88715 A 4.3752232 4.3752232 0 1 1 237.80885 -387.88715 z" transform="matrix(1.142799,0.000000,0.000000,1.142799,-33.76771,55.27704)" opacity="1.0000000" fill="url(#linearGradient10638)" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
</g>
- <g
- transform="translate(69.00259,102.0000)"
- id="g8406">
- <path
- sodipodi:type="arc"
- style="opacity:1.0000000;fill:#c4c5c2;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- id="path8393"
- sodipodi:cx="241.80843"
- sodipodi:cy="-383.66660"
- sodipodi:rx="6.7396116"
- sodipodi:ry="6.7396116"
- d="M 248.54804 -383.66660 A 6.7396116 6.7396116 0 1 1 235.06881,-383.66660 A 6.7396116 6.7396116 0 1 1 248.54804 -383.66660 z"
- transform="matrix(1.038636,0.000000,0.000000,1.038636,-9.150940,14.48994)" />
- <path
- sodipodi:type="arc"
- style="opacity:1.0000000;fill:url(#linearGradient10640);fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- id="path8395"
- sodipodi:cx="241.80843"
- sodipodi:cy="-383.66660"
- sodipodi:rx="6.7396116"
- sodipodi:ry="6.7396116"
- d="M 248.54804 -383.66660 A 6.7396116 6.7396116 0 1 1 235.06881,-383.66660 A 6.7396116 6.7396116 0 1 1 248.54804 -383.66660 z"
- transform="matrix(1.038636,0.000000,0.000000,1.038636,-9.150933,14.48993)" />
+ <g transform="translate(69.00259,102.0000)">
+ <path d="M 248.54804 -383.66660 A 6.7396116 6.7396116 0 1 1 235.06881,-383.66660 A 6.7396116 6.7396116 0 1 1 248.54804 -383.66660 z" transform="matrix(1.038636,0.000000,0.000000,1.038636,-9.150940,14.48994)" opacity="1.0000000" fill="#c4c5c2" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path d="M 248.54804 -383.66660 A 6.7396116 6.7396116 0 1 1 235.06881,-383.66660 A 6.7396116 6.7396116 0 1 1 248.54804 -383.66660 z" transform="matrix(1.038636,0.000000,0.000000,1.038636,-9.150933,14.48993)" opacity="1.0000000" fill="url(#linearGradient10640)" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
</g>
- <g
- style="stroke:none"
- transform="matrix(0.935028,0.000000,0.000000,0.935028,446.8280,-187.6162)"
- id="g4518">
- <path
- sodipodi:type="arc"
- style="opacity:1.0000000;fill:#c4c5c2;fill-opacity:1.0000000;stroke:none;stroke-width:0.33115697;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- id="path4520"
- sodipodi:cx="-155.06250"
- sodipodi:cy="-96.937500"
- sodipodi:rx="3.1250000"
- sodipodi:ry="3.1250000"
- d="M -151.93750 -96.937500 A 3.1250000 3.1250000 0 1 1 -158.18750,-96.937500 A 3.1250000 3.1250000 0 1 1 -151.93750 -96.937500 z"
- transform="matrix(1.737733,0.000000,0.000000,1.737733,110.8322,70.07649)" />
- <path
- sodipodi:type="arc"
- style="opacity:1.0000000;fill:url(#linearGradient10642);fill-opacity:1.0000000;stroke:none;stroke-width:0.45224530;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- id="path4522"
- sodipodi:cx="-155.06250"
- sodipodi:cy="-96.937500"
- sodipodi:rx="3.1250000"
- sodipodi:ry="3.1250000"
- d="M -151.93750 -96.937500 A 3.1250000 3.1250000 0 1 1 -158.18750,-96.937500 A 3.1250000 3.1250000 0 1 1 -151.93750 -96.937500 z"
- transform="matrix(1.737733,0.000000,0.000000,1.737733,110.8948,70.01402)" />
+ <g transform="matrix(0.935028,0.000000,0.000000,0.935028,446.8280,-187.6162)" stroke="none">
+ <path d="M -151.93750 -96.937500 A 3.1250000 3.1250000 0 1 1 -158.18750,-96.937500 A 3.1250000 3.1250000 0 1 1 -151.93750 -96.937500 z" transform="matrix(1.737733,0.000000,0.000000,1.737733,110.8322,70.07649)" opacity="1.0000000" fill="#c4c5c2" fill-opacity="1.0000000" stroke="none" stroke-width="0.33115697" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="0.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path d="M -151.93750 -96.937500 A 3.1250000 3.1250000 0 1 1 -158.18750,-96.937500 A 3.1250000 3.1250000 0 1 1 -151.93750 -96.937500 z" transform="matrix(1.737733,0.000000,0.000000,1.737733,110.8948,70.01402)" opacity="1.0000000" fill="url(#linearGradient10642)" fill-opacity="1.0000000" stroke="none" stroke-width="0.45224530" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="0.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
</g>
- <g
- transform="translate(38.00259,162.0000)"
- id="g7794">
- <path
- style="fill:#c4c5c2;fill-opacity:1.0000000;stroke:#888a85;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- d="M 280.50000,-445.50000 C 278.22917,-445.50000 276.39009,-443.94972 275.78125,-441.87500 C 275.08802,-442.23883 274.33674,-442.50000 273.50000,-442.50000 C 270.74000,-442.50000 268.49999,-440.26001 268.50000,-437.50000 C 268.50000,-436.92107 268.66252,-436.39230 268.84375,-435.87500 C 267.47028,-435.10426 266.50000,-433.68600 266.50000,-432.00000 C 266.50000,-429.51600 268.51600,-427.49999 271.00000,-427.50000 C 271.17713,-427.50000 289.82287,-427.50000 290.00000,-427.50000 C 292.48399,-427.50000 294.50000,-429.51600 294.50000,-432.00000 C 294.50000,-433.68600 293.52972,-435.10426 292.15625,-435.87500 C 292.33749,-436.39229 292.50000,-436.92108 292.50000,-437.50000 C 292.50000,-440.26000 290.26000,-442.49999 287.50000,-442.50000 C 286.66326,-442.50000 285.91198,-442.23883 285.21875,-441.87500 C 284.60991,-443.94972 282.77083,-445.50000 280.50000,-445.50000 z "
- id="path7796"
- sodipodi:nodetypes="ccsscsssscsscc" />
- <path
- style="opacity:1.0000000;fill:url(#linearGradient10644);fill-opacity:1.0000000;stroke:none;stroke-width:0.99999958;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- d="M 280.50000,-445.00000 C 278.31028,-445.00000 276.77640,-443.66423 276.10445,-441.15648 C 275.43599,-441.50010 274.55686,-441.98983 273.75000,-441.98983 C 271.03349,-441.98983 268.99486,-440.05101 268.99487,-437.44429 C 268.99487,-436.89752 269.26208,-436.11085 269.43683,-435.62228 C 268.11240,-434.89433 267.00000,-433.73178 267.00000,-432.24973 C 267.00000,-429.90368 268.54617,-427.99964 271.33928,-427.99964 C 271.51009,-427.99964 289.48992,-427.99964 289.66072,-427.99964 C 292.43173,-427.99964 294.00000,-429.90368 294.00000,-432.24973 C 294.00000,-433.84210 292.88760,-434.91642 291.56317,-435.64437 C 291.73793,-436.13293 292.02724,-436.89753 292.02724,-437.44429 C 292.02724,-440.05100 289.91143,-442.01192 287.25001,-442.01193 C 286.44314,-442.01193 285.60820,-441.52219 284.93974,-441.17857 C 284.29089,-443.60011 282.68973,-445.00000 280.50000,-445.00000 z "
- id="path7798"
- sodipodi:nodetypes="ccsscsssscsscc" />
- <g
- id="g7800">
- <path
- transform="matrix(1.056604,0.000000,0.000000,1.056604,-24.19818,21.86331)"
- d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z"
- sodipodi:ry="3.3125000"
- sodipodi:rx="3.3125000"
- sodipodi:cy="-437.59375"
- sodipodi:cx="288.37500"
- id="path7802"
- style="opacity:1.0000000;fill:#c4c5c2;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- sodipodi:type="arc" />
- <path
- transform="matrix(1.056604,0.000000,0.000000,1.056604,-24.19818,21.86331)"
- d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z"
- sodipodi:ry="3.3125000"
- sodipodi:rx="3.3125000"
- sodipodi:cy="-437.59375"
- sodipodi:cx="288.37500"
- id="path7804"
- style="opacity:1.0000000;fill:url(#linearGradient10646);fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- sodipodi:type="arc" />
+ <g transform="translate(38.00259,162.0000)">
+ <path d="M 280.50000,-445.50000 C 278.22917,-445.50000 276.39009,-443.94972 275.78125,-441.87500 C 275.08802,-442.23883 274.33674,-442.50000 273.50000,-442.50000 C 270.74000,-442.50000 268.49999,-440.26001 268.50000,-437.50000 C 268.50000,-436.92107 268.66252,-436.39230 268.84375,-435.87500 C 267.47028,-435.10426 266.50000,-433.68600 266.50000,-432.00000 C 266.50000,-429.51600 268.51600,-427.49999 271.00000,-427.50000 C 271.17713,-427.50000 289.82287,-427.50000 290.00000,-427.50000 C 292.48399,-427.50000 294.50000,-429.51600 294.50000,-432.00000 C 294.50000,-433.68600 293.52972,-435.10426 292.15625,-435.87500 C 292.33749,-436.39229 292.50000,-436.92108 292.50000,-437.50000 C 292.50000,-440.26000 290.26000,-442.49999 287.50000,-442.50000 C 286.66326,-442.50000 285.91198,-442.23883 285.21875,-441.87500 C 284.60991,-443.94972 282.77083,-445.50000 280.50000,-445.50000 z " fill="#c4c5c2" fill-opacity="1.0000000" stroke="#888a85" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path d="M 280.50000,-445.00000 C 278.31028,-445.00000 276.77640,-443.66423 276.10445,-441.15648 C 275.43599,-441.50010 274.55686,-441.98983 273.75000,-441.98983 C 271.03349,-441.98983 268.99486,-440.05101 268.99487,-437.44429 C 268.99487,-436.89752 269.26208,-436.11085 269.43683,-435.62228 C 268.11240,-434.89433 267.00000,-433.73178 267.00000,-432.24973 C 267.00000,-429.90368 268.54617,-427.99964 271.33928,-427.99964 C 271.51009,-427.99964 289.48992,-427.99964 289.66072,-427.99964 C 292.43173,-427.99964 294.00000,-429.90368 294.00000,-432.24973 C 294.00000,-433.84210 292.88760,-434.91642 291.56317,-435.64437 C 291.73793,-436.13293 292.02724,-436.89753 292.02724,-437.44429 C 292.02724,-440.05100 289.91143,-442.01192 287.25001,-442.01193 C 286.44314,-442.01193 285.60820,-441.52219 284.93974,-441.17857 C 284.29089,-443.60011 282.68973,-445.00000 280.50000,-445.00000 z " opacity="1.0000000" fill="url(#linearGradient10644)" fill-opacity="1.0000000" stroke="none" stroke-width="0.99999958" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <g>
+ <path transform="matrix(1.056604,0.000000,0.000000,1.056604,-24.19818,21.86331)" d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z" opacity="1.0000000" fill="#c4c5c2" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path transform="matrix(1.056604,0.000000,0.000000,1.056604,-24.19818,21.86331)" d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z" opacity="1.0000000" fill="url(#linearGradient10646)" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
</g>
- <rect
- style="opacity:1.0000000;fill:#c4c5c2;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- id="rect7806"
- width="20.000000"
- height="9.0000000"
- x="271.00000"
- y="-438.00000" />
- <path
- sodipodi:type="arc"
- style="opacity:1.0000000;fill:#c4c5c2;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- id="path7808"
- sodipodi:cx="288.37500"
- sodipodi:cy="-437.59375"
- sodipodi:rx="3.3125000"
- sodipodi:ry="3.3125000"
- d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z"
- transform="matrix(0.905660,0.000000,0.000000,0.905660,9.830195,-35.68869)" />
- <g
- id="g7810">
- <path
- transform="matrix(1.056604,0.000000,0.000000,1.056604,-17.19811,24.86321)"
- d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z"
- sodipodi:ry="3.3125000"
- sodipodi:rx="3.3125000"
- sodipodi:cy="-437.59375"
- sodipodi:cx="288.37500"
- id="path7812"
- style="opacity:1.0000000;fill:#c4c5c2;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- sodipodi:type="arc" />
- <path
- transform="matrix(1.056604,0.000000,0.000000,1.056604,-17.19818,24.86331)"
- d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z"
- sodipodi:ry="3.3125000"
- sodipodi:rx="3.3125000"
- sodipodi:cy="-437.59375"
- sodipodi:cx="288.37500"
- id="path7814"
- style="opacity:1.0000000;fill:url(#linearGradient10648);fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- sodipodi:type="arc" />
+ <rect width="20.000000" height="9.0000000" x="271.00000" y="-438.00000" opacity="1.0000000" fill="#c4c5c2" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z" transform="matrix(0.905660,0.000000,0.000000,0.905660,9.830195,-35.68869)" opacity="1.0000000" fill="#c4c5c2" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <g>
+ <path transform="matrix(1.056604,0.000000,0.000000,1.056604,-17.19811,24.86321)" d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z" opacity="1.0000000" fill="#c4c5c2" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path transform="matrix(1.056604,0.000000,0.000000,1.056604,-17.19818,24.86331)" d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z" opacity="1.0000000" fill="url(#linearGradient10648)" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
</g>
- <g
- id="g7816">
- <path
- transform="matrix(1.056604,0.000000,0.000000,1.056604,-31.19818,24.86331)"
- d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z"
- sodipodi:ry="3.3125000"
- sodipodi:rx="3.3125000"
- sodipodi:cy="-437.59375"
- sodipodi:cx="288.37500"
- id="path7818"
- style="opacity:1.0000000;fill:#c4c5c2;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- sodipodi:type="arc" />
- <path
- transform="matrix(1.056604,0.000000,0.000000,1.056604,-31.19818,24.86331)"
- d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z"
- sodipodi:ry="3.3125000"
- sodipodi:rx="3.3125000"
- sodipodi:cy="-437.59375"
- sodipodi:cx="288.37500"
- id="path7820"
- style="opacity:1.0000000;fill:url(#linearGradient10650);fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- sodipodi:type="arc" />
+ <g>
+ <path transform="matrix(1.056604,0.000000,0.000000,1.056604,-31.19818,24.86331)" d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z" opacity="1.0000000" fill="#c4c5c2" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path transform="matrix(1.056604,0.000000,0.000000,1.056604,-31.19818,24.86331)" d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z" opacity="1.0000000" fill="url(#linearGradient10650)" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
</g>
- <g
- id="g7822"
- transform="translate(-1.000000,0.000000)">
- <path
- id="path7824"
- d="M 280.46875,-440.96875 C 276.88937,-440.96875 274.00000,-438.04812 274.00000,-434.46875 C 274.00000,-432.09807 275.34943,-430.13096 277.25000,-429.00000 L 283.71875,-429.00000 C 285.61932,-430.13096 286.96875,-432.12931 286.96875,-434.50000 C 286.96875,-438.07938 284.04812,-440.96875 280.46875,-440.96875 z "
- style="opacity:1.0000000;fill:#c4c5c2;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000" />
- <path
- id="path7826"
- d="M 280.50000,-441.00000 C 276.91200,-441.00000 274.00000,-438.08799 274.00000,-434.50000 C 274.00000,-432.12360 275.34485,-430.13368 277.25000,-429.00000 L 283.75000,-429.00000 C 285.65515,-430.13368 287.00000,-432.12360 287.00000,-434.50000 C 287.00000,-438.08800 284.08800,-440.99999 280.50000,-441.00000 z "
- style="opacity:1.0000000;fill:url(#linearGradient10652);fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000" />
+ <g transform="translate(-1.000000,0.000000)">
+ <path d="M 280.46875,-440.96875 C 276.88937,-440.96875 274.00000,-438.04812 274.00000,-434.46875 C 274.00000,-432.09807 275.34943,-430.13096 277.25000,-429.00000 L 283.71875,-429.00000 C 285.61932,-430.13096 286.96875,-432.12931 286.96875,-434.50000 C 286.96875,-438.07938 284.04812,-440.96875 280.46875,-440.96875 z " opacity="1.0000000" fill="#c4c5c2" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path d="M 280.50000,-441.00000 C 276.91200,-441.00000 274.00000,-438.08799 274.00000,-434.50000 C 274.00000,-432.12360 275.34485,-430.13368 277.25000,-429.00000 L 283.75000,-429.00000 C 285.65515,-430.13368 287.00000,-432.12360 287.00000,-434.50000 C 287.00000,-438.08800 284.08800,-440.99999 280.50000,-441.00000 z " opacity="1.0000000" fill="url(#linearGradient10652)" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
</g>
- <path
- sodipodi:type="arc"
- style="opacity:1.0000000;fill:url(#linearGradient10654);fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- id="path7828"
- sodipodi:cx="288.37500"
- sodipodi:cy="-437.59375"
- sodipodi:rx="3.3125000"
- sodipodi:ry="3.3125000"
- d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z"
- transform="matrix(0.905660,0.000000,0.000000,0.905660,9.830296,-35.68884)" />
- <path
- style="fill:#888a85;fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000"
- d="M 292.95640,-437.33396 C 292.95487,-434.64940 289.68714,-433.62001 289.68714,-433.62001 C 289.68714,-433.62001 292.03588,-435.24596 292.02399,-437.32502 C 292.02399,-437.32502 292.95640,-437.33396 292.95640,-437.33396 z "
- id="path7830"
- sodipodi:nodetypes="ccss" />
- <g
- id="g7832"
- transform="matrix(1.142857,0.000000,0.000000,1.142857,-28.57139,67.00008)">
- <path
- transform="matrix(1.056604,0.000000,0.000000,1.056604,-31.19818,24.86331)"
- d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z"
- sodipodi:ry="3.3125000"
- sodipodi:rx="3.3125000"
- sodipodi:cy="-437.59375"
- sodipodi:cx="288.37500"
- id="path7834"
- style="opacity:1.0000000;fill:#c4c5c2;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- sodipodi:type="arc" />
- <path
- transform="matrix(1.056604,0.000000,0.000000,1.056604,-31.19818,24.86331)"
- d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z"
- sodipodi:ry="3.3125000"
- sodipodi:rx="3.3125000"
- sodipodi:cy="-437.59375"
- sodipodi:cx="288.37500"
- id="path7836"
- style="opacity:1.0000000;fill:url(#linearGradient10656);fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- sodipodi:type="arc" />
+ <path d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z" transform="matrix(0.905660,0.000000,0.000000,0.905660,9.830296,-35.68884)" opacity="1.0000000" fill="url(#linearGradient10654)" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path d="M 292.95640,-437.33396 C 292.95487,-434.64940 289.68714,-433.62001 289.68714,-433.62001 C 289.68714,-433.62001 292.03588,-435.24596 292.02399,-437.32502 C 292.02399,-437.32502 292.95640,-437.33396 292.95640,-437.33396 z " fill="#888a85" fill-opacity="1.0000000" fill-rule="evenodd" stroke="none" stroke-width="1.0000000px" stroke-linecap="butt" stroke-linejoin="miter" stroke-opacity="1.0000000"/>
+ <g transform="matrix(1.142857,0.000000,0.000000,1.142857,-28.57139,67.00008)">
+ <path transform="matrix(1.056604,0.000000,0.000000,1.056604,-31.19818,24.86331)" d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z" opacity="1.0000000" fill="#c4c5c2" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path transform="matrix(1.056604,0.000000,0.000000,1.056604,-31.19818,24.86331)" d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z" opacity="1.0000000" fill="url(#linearGradient10656)" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
</g>
</g>
- <g
- transform="translate(23.00000,158.0000)"
- id="g7852">
- <path
- style="fill:#c4c5c2;fill-opacity:1.0000000;stroke:#888a85;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- d="M 280.50000,-445.50000 C 278.22917,-445.50000 276.39009,-443.94972 275.78125,-441.87500 C 275.08802,-442.23883 274.33674,-442.50000 273.50000,-442.50000 C 270.74000,-442.50000 268.49999,-440.26001 268.50000,-437.50000 C 268.50000,-436.92107 268.66252,-436.39230 268.84375,-435.87500 C 267.47028,-435.10426 266.50000,-433.68600 266.50000,-432.00000 C 266.50000,-429.51600 268.51600,-427.49999 271.00000,-427.50000 C 271.17713,-427.50000 289.82287,-427.50000 290.00000,-427.50000 C 292.48399,-427.50000 294.50000,-429.51600 294.50000,-432.00000 C 294.50000,-433.68600 293.52972,-435.10426 292.15625,-435.87500 C 292.33749,-436.39229 292.50000,-436.92108 292.50000,-437.50000 C 292.50000,-440.26000 290.26000,-442.49999 287.50000,-442.50000 C 286.66326,-442.50000 285.91198,-442.23883 285.21875,-441.87500 C 284.60991,-443.94972 282.77083,-445.50000 280.50000,-445.50000 z "
- id="path7854"
- sodipodi:nodetypes="ccsscsssscsscc" />
- <path
- style="opacity:1.0000000;fill:url(#linearGradient10658);fill-opacity:1.0000000;stroke:none;stroke-width:0.99999958;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- d="M 280.50000,-445.00000 C 278.31028,-445.00000 276.77640,-443.66423 276.10445,-441.15648 C 275.43599,-441.50010 274.55686,-441.98983 273.75000,-441.98983 C 271.03349,-441.98983 268.99486,-440.05101 268.99487,-437.44429 C 268.99487,-436.89752 269.26208,-436.11085 269.43683,-435.62228 C 268.11240,-434.89433 267.00000,-433.73178 267.00000,-432.24973 C 267.00000,-429.90368 268.54617,-427.99964 271.33928,-427.99964 C 271.51009,-427.99964 289.48992,-427.99964 289.66072,-427.99964 C 292.43173,-427.99964 294.00000,-429.90368 294.00000,-432.24973 C 294.00000,-433.84210 292.88760,-434.91642 291.56317,-435.64437 C 291.73793,-436.13293 292.02724,-436.89753 292.02724,-437.44429 C 292.02724,-440.05100 289.91143,-442.01192 287.25001,-442.01193 C 286.44314,-442.01193 285.60820,-441.52219 284.93974,-441.17857 C 284.29089,-443.60011 282.68973,-445.00000 280.50000,-445.00000 z "
- id="path7856"
- sodipodi:nodetypes="ccsscsssscsscc" />
- <g
- id="g7858">
- <path
- transform="matrix(1.056604,0.000000,0.000000,1.056604,-24.19818,21.86331)"
- d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z"
- sodipodi:ry="3.3125000"
- sodipodi:rx="3.3125000"
- sodipodi:cy="-437.59375"
- sodipodi:cx="288.37500"
- id="path7860"
- style="opacity:1.0000000;fill:#c4c5c2;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- sodipodi:type="arc" />
- <path
- transform="matrix(1.056604,0.000000,0.000000,1.056604,-24.19818,21.86331)"
- d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z"
- sodipodi:ry="3.3125000"
- sodipodi:rx="3.3125000"
- sodipodi:cy="-437.59375"
- sodipodi:cx="288.37500"
- id="path7862"
- style="opacity:1.0000000;fill:url(#linearGradient10660);fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- sodipodi:type="arc" />
+ <g transform="translate(23.00000,158.0000)">
+ <path d="M 280.50000,-445.50000 C 278.22917,-445.50000 276.39009,-443.94972 275.78125,-441.87500 C 275.08802,-442.23883 274.33674,-442.50000 273.50000,-442.50000 C 270.74000,-442.50000 268.49999,-440.26001 268.50000,-437.50000 C 268.50000,-436.92107 268.66252,-436.39230 268.84375,-435.87500 C 267.47028,-435.10426 266.50000,-433.68600 266.50000,-432.00000 C 266.50000,-429.51600 268.51600,-427.49999 271.00000,-427.50000 C 271.17713,-427.50000 289.82287,-427.50000 290.00000,-427.50000 C 292.48399,-427.50000 294.50000,-429.51600 294.50000,-432.00000 C 294.50000,-433.68600 293.52972,-435.10426 292.15625,-435.87500 C 292.33749,-436.39229 292.50000,-436.92108 292.50000,-437.50000 C 292.50000,-440.26000 290.26000,-442.49999 287.50000,-442.50000 C 286.66326,-442.50000 285.91198,-442.23883 285.21875,-441.87500 C 284.60991,-443.94972 282.77083,-445.50000 280.50000,-445.50000 z " fill="#c4c5c2" fill-opacity="1.0000000" stroke="#888a85" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path d="M 280.50000,-445.00000 C 278.31028,-445.00000 276.77640,-443.66423 276.10445,-441.15648 C 275.43599,-441.50010 274.55686,-441.98983 273.75000,-441.98983 C 271.03349,-441.98983 268.99486,-440.05101 268.99487,-437.44429 C 268.99487,-436.89752 269.26208,-436.11085 269.43683,-435.62228 C 268.11240,-434.89433 267.00000,-433.73178 267.00000,-432.24973 C 267.00000,-429.90368 268.54617,-427.99964 271.33928,-427.99964 C 271.51009,-427.99964 289.48992,-427.99964 289.66072,-427.99964 C 292.43173,-427.99964 294.00000,-429.90368 294.00000,-432.24973 C 294.00000,-433.84210 292.88760,-434.91642 291.56317,-435.64437 C 291.73793,-436.13293 292.02724,-436.89753 292.02724,-437.44429 C 292.02724,-440.05100 289.91143,-442.01192 287.25001,-442.01193 C 286.44314,-442.01193 285.60820,-441.52219 284.93974,-441.17857 C 284.29089,-443.60011 282.68973,-445.00000 280.50000,-445.00000 z " opacity="1.0000000" fill="url(#linearGradient10658)" fill-opacity="1.0000000" stroke="none" stroke-width="0.99999958" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <g>
+ <path transform="matrix(1.056604,0.000000,0.000000,1.056604,-24.19818,21.86331)" d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z" opacity="1.0000000" fill="#c4c5c2" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path transform="matrix(1.056604,0.000000,0.000000,1.056604,-24.19818,21.86331)" d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z" opacity="1.0000000" fill="url(#linearGradient10660)" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
</g>
- <rect
- style="opacity:1.0000000;fill:#c4c5c2;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- id="rect7864"
- width="20.000000"
- height="9.0000000"
- x="271.00000"
- y="-438.00000" />
- <path
- sodipodi:type="arc"
- style="opacity:1.0000000;fill:#c4c5c2;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- id="path7866"
- sodipodi:cx="288.37500"
- sodipodi:cy="-437.59375"
- sodipodi:rx="3.3125000"
- sodipodi:ry="3.3125000"
- d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z"
- transform="matrix(0.905660,0.000000,0.000000,0.905660,9.830195,-35.68869)" />
- <g
- id="g7868">
- <path
- transform="matrix(1.056604,0.000000,0.000000,1.056604,-17.19811,24.86321)"
- d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z"
- sodipodi:ry="3.3125000"
- sodipodi:rx="3.3125000"
- sodipodi:cy="-437.59375"
- sodipodi:cx="288.37500"
- id="path7870"
- style="opacity:1.0000000;fill:#c4c5c2;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- sodipodi:type="arc" />
- <path
- transform="matrix(1.056604,0.000000,0.000000,1.056604,-17.19818,24.86331)"
- d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z"
- sodipodi:ry="3.3125000"
- sodipodi:rx="3.3125000"
- sodipodi:cy="-437.59375"
- sodipodi:cx="288.37500"
- id="path7872"
- style="opacity:1.0000000;fill:url(#linearGradient10662);fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- sodipodi:type="arc" />
+ <rect width="20.000000" height="9.0000000" x="271.00000" y="-438.00000" opacity="1.0000000" fill="#c4c5c2" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z" transform="matrix(0.905660,0.000000,0.000000,0.905660,9.830195,-35.68869)" opacity="1.0000000" fill="#c4c5c2" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <g>
+ <path transform="matrix(1.056604,0.000000,0.000000,1.056604,-17.19811,24.86321)" d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z" opacity="1.0000000" fill="#c4c5c2" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path transform="matrix(1.056604,0.000000,0.000000,1.056604,-17.19818,24.86331)" d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z" opacity="1.0000000" fill="url(#linearGradient10662)" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
</g>
- <g
- id="g7874">
- <path
- transform="matrix(1.056604,0.000000,0.000000,1.056604,-31.19818,24.86331)"
- d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z"
- sodipodi:ry="3.3125000"
- sodipodi:rx="3.3125000"
- sodipodi:cy="-437.59375"
- sodipodi:cx="288.37500"
- id="path7876"
- style="opacity:1.0000000;fill:#c4c5c2;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- sodipodi:type="arc" />
- <path
- transform="matrix(1.056604,0.000000,0.000000,1.056604,-31.19818,24.86331)"
- d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z"
- sodipodi:ry="3.3125000"
- sodipodi:rx="3.3125000"
- sodipodi:cy="-437.59375"
- sodipodi:cx="288.37500"
- id="path7878"
- style="opacity:1.0000000;fill:url(#linearGradient10664);fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- sodipodi:type="arc" />
+ <g>
+ <path transform="matrix(1.056604,0.000000,0.000000,1.056604,-31.19818,24.86331)" d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z" opacity="1.0000000" fill="#c4c5c2" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path transform="matrix(1.056604,0.000000,0.000000,1.056604,-31.19818,24.86331)" d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z" opacity="1.0000000" fill="url(#linearGradient10664)" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
</g>
- <g
- id="g7880"
- transform="translate(-1.000000,0.000000)">
- <path
- id="path7882"
- d="M 280.46875,-440.96875 C 276.88937,-440.96875 274.00000,-438.04812 274.00000,-434.46875 C 274.00000,-432.09807 275.34943,-430.13096 277.25000,-429.00000 L 283.71875,-429.00000 C 285.61932,-430.13096 286.96875,-432.12931 286.96875,-434.50000 C 286.96875,-438.07938 284.04812,-440.96875 280.46875,-440.96875 z "
- style="opacity:1.0000000;fill:#c4c5c2;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000" />
- <path
- id="path7884"
- d="M 280.50000,-441.00000 C 276.91200,-441.00000 274.00000,-438.08799 274.00000,-434.50000 C 274.00000,-432.12360 275.34485,-430.13368 277.25000,-429.00000 L 283.75000,-429.00000 C 285.65515,-430.13368 287.00000,-432.12360 287.00000,-434.50000 C 287.00000,-438.08800 284.08800,-440.99999 280.50000,-441.00000 z "
- style="opacity:1.0000000;fill:url(#linearGradient10666);fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000" />
+ <g transform="translate(-1.000000,0.000000)">
+ <path d="M 280.46875,-440.96875 C 276.88937,-440.96875 274.00000,-438.04812 274.00000,-434.46875 C 274.00000,-432.09807 275.34943,-430.13096 277.25000,-429.00000 L 283.71875,-429.00000 C 285.61932,-430.13096 286.96875,-432.12931 286.96875,-434.50000 C 286.96875,-438.07938 284.04812,-440.96875 280.46875,-440.96875 z " opacity="1.0000000" fill="#c4c5c2" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path d="M 280.50000,-441.00000 C 276.91200,-441.00000 274.00000,-438.08799 274.00000,-434.50000 C 274.00000,-432.12360 275.34485,-430.13368 277.25000,-429.00000 L 283.75000,-429.00000 C 285.65515,-430.13368 287.00000,-432.12360 287.00000,-434.50000 C 287.00000,-438.08800 284.08800,-440.99999 280.50000,-441.00000 z " opacity="1.0000000" fill="url(#linearGradient10666)" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
</g>
- <path
- sodipodi:type="arc"
- style="opacity:1.0000000;fill:url(#linearGradient10668);fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- id="path7886"
- sodipodi:cx="288.37500"
- sodipodi:cy="-437.59375"
- sodipodi:rx="3.3125000"
- sodipodi:ry="3.3125000"
- d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z"
- transform="matrix(0.905660,0.000000,0.000000,0.905660,9.830296,-35.68884)" />
- <path
- style="fill:#888a85;fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000"
- d="M 292.95640,-437.33396 C 292.95487,-434.64940 289.68714,-433.62001 289.68714,-433.62001 C 289.68714,-433.62001 292.03588,-435.24596 292.02399,-437.32502 C 292.02399,-437.32502 292.95640,-437.33396 292.95640,-437.33396 z "
- id="path7888"
- sodipodi:nodetypes="ccss" />
- <g
- id="g7890"
- transform="matrix(1.142857,0.000000,0.000000,1.142857,-28.57139,67.00008)">
- <path
- transform="matrix(1.056604,0.000000,0.000000,1.056604,-31.19818,24.86331)"
- d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z"
- sodipodi:ry="3.3125000"
- sodipodi:rx="3.3125000"
- sodipodi:cy="-437.59375"
- sodipodi:cx="288.37500"
- id="path7892"
- style="opacity:1.0000000;fill:#c4c5c2;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- sodipodi:type="arc" />
- <path
- transform="matrix(1.056604,0.000000,0.000000,1.056604,-31.19818,24.86331)"
- d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z"
- sodipodi:ry="3.3125000"
- sodipodi:rx="3.3125000"
- sodipodi:cy="-437.59375"
- sodipodi:cx="288.37500"
- id="path7896"
- style="opacity:1.0000000;fill:url(#linearGradient10670);fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- sodipodi:type="arc" />
+ <path d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z" transform="matrix(0.905660,0.000000,0.000000,0.905660,9.830296,-35.68884)" opacity="1.0000000" fill="url(#linearGradient10668)" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path d="M 292.95640,-437.33396 C 292.95487,-434.64940 289.68714,-433.62001 289.68714,-433.62001 C 289.68714,-433.62001 292.03588,-435.24596 292.02399,-437.32502 C 292.02399,-437.32502 292.95640,-437.33396 292.95640,-437.33396 z " fill="#888a85" fill-opacity="1.0000000" fill-rule="evenodd" stroke="none" stroke-width="1.0000000px" stroke-linecap="butt" stroke-linejoin="miter" stroke-opacity="1.0000000"/>
+ <g transform="matrix(1.142857,0.000000,0.000000,1.142857,-28.57139,67.00008)">
+ <path transform="matrix(1.056604,0.000000,0.000000,1.056604,-31.19818,24.86331)" d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z" opacity="1.0000000" fill="#c4c5c2" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path transform="matrix(1.056604,0.000000,0.000000,1.056604,-31.19818,24.86331)" d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z" opacity="1.0000000" fill="url(#linearGradient10670)" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
</g>
</g>
</g>
diff --git a/demos/embedded/weatherinfo/icons/weather-showers.svg b/demos/embedded/weatherinfo/icons/weather-showers.svg
index c814571..017665d 100644
--- a/demos/embedded/weatherinfo/icons/weather-showers.svg
+++ b/demos/embedded/weatherinfo/icons/weather-showers.svg
@@ -1,4297 +1,83 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!-- Created with Inkscape (http://www.inkscape.org/) -->
-<svg
- xmlns:dc="http://purl.org/dc/elements/1.1/"
- xmlns:cc="http://creativecommons.org/ns#"
- xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns:svg="http://www.w3.org/2000/svg"
- xmlns="http://www.w3.org/2000/svg"
- xmlns:xlink="http://www.w3.org/1999/xlink"
- xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
- xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
- width="48px"
- height="48px"
- id="svg1306"
- sodipodi:version="0.32"
- inkscape:version="0.46"
- sodipodi:docbase="/home/rcollier/Work/Novell/Tango/weather"
- sodipodi:docname="weather-showers.svg"
- inkscape:output_extension="org.inkscape.output.svg.inkscape">
- <defs
- id="defs1308">
- <inkscape:perspective
- sodipodi:type="inkscape:persp3d"
- inkscape:vp_x="0 : 24 : 1"
- inkscape:vp_y="0 : 1000 : 0"
- inkscape:vp_z="48 : 24 : 1"
- inkscape:persp3d-origin="24 : 16 : 1"
- id="perspective530" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient11348"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.070878,0.000000,-0.535439,0.674858,287.5142,77.50802)"
- x1="-137.49608"
- y1="-425.28664"
- x2="-130.60854"
- y2="-425.28665" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient11346"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.070879,0.000000,-0.535439,0.674857,277.5140,77.50780)"
- x1="-137.49608"
- y1="-425.28664"
- x2="-130.60854"
- y2="-425.28665" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient11344"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.088439,0.000000,-0.544220,0.674842,265.9811,77.50139)"
- x1="-137.49608"
- y1="-425.28664"
- x2="-130.60854"
- y2="-425.28665" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6538"
- id="linearGradient13352"
- gradientUnits="userSpaceOnUse"
- x1="284.80219"
- y1="-441.23294"
- x2="288.89954"
- y2="-436.83109" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6549"
- id="linearGradient13350"
- gradientUnits="userSpaceOnUse"
- x1="286.66589"
- y1="-439.48358"
- x2="289.76562"
- y2="-436.70703" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6527"
- id="linearGradient13347"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-35.00007,207.0001)"
- x1="275.94193"
- y1="-437.10501"
- x2="279.97546"
- y2="-431.91833" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6538"
- id="linearGradient13345"
- gradientUnits="userSpaceOnUse"
- x1="285.94086"
- y1="-439.93900"
- x2="289.39124"
- y2="-436.44290" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6513"
- id="linearGradient13343"
- gradientUnits="userSpaceOnUse"
- x1="286.51172"
- y1="-441.29074"
- x2="289.85379"
- y2="-436.14453" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6497"
- id="linearGradient13341"
- gradientUnits="userSpaceOnUse"
- x1="287.51730"
- y1="-439.75281"
- x2="289.67633"
- y2="-436.32199" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6470"
- id="linearGradient13339"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-34.00007,207.0001)"
- x1="271.02170"
- y1="-441.05182"
- x2="285.02859"
- y2="-431.96991" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6538"
- id="linearGradient13337"
- gradientUnits="userSpaceOnUse"
- x1="284.80219"
- y1="-441.23294"
- x2="288.89954"
- y2="-436.83109" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient6549">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop6551" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop6553" />
+<svg xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="48px" height="48px" id="svg1306">
+ <defs id="defs1308">
+ <linearGradient xlink:href="#linearGradient2254" id="linearGradient11348" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1.070878,0.000000,-0.535439,0.674858,287.5142,77.50802)" x1="-137.49608" y1="-425.28664" x2="-130.60854" y2="-425.28665"/>
+ <linearGradient xlink:href="#linearGradient2254" id="linearGradient11346" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1.070879,0.000000,-0.535439,0.674857,277.5140,77.50780)" x1="-137.49608" y1="-425.28664" x2="-130.60854" y2="-425.28665"/>
+ <linearGradient xlink:href="#linearGradient2254" id="linearGradient11344" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1.088439,0.000000,-0.544220,0.674842,265.9811,77.50139)" x1="-137.49608" y1="-425.28664" x2="-130.60854" y2="-425.28665"/>
+ <linearGradient xlink:href="#linearGradient6538" id="linearGradient13352" gradientUnits="userSpaceOnUse" x1="284.80219" y1="-441.23294" x2="288.89954" y2="-436.83109"/>
+ <linearGradient xlink:href="#linearGradient6549" id="linearGradient13350" gradientUnits="userSpaceOnUse" x1="286.66589" y1="-439.48358" x2="289.76562" y2="-436.70703"/>
+ <linearGradient xlink:href="#linearGradient6527" id="linearGradient13347" gradientUnits="userSpaceOnUse" gradientTransform="translate(-35.00007,207.0001)" x1="275.94193" y1="-437.10501" x2="279.97546" y2="-431.91833"/>
+ <linearGradient xlink:href="#linearGradient6538" id="linearGradient13345" gradientUnits="userSpaceOnUse" x1="285.94086" y1="-439.93900" x2="289.39124" y2="-436.44290"/>
+ <linearGradient xlink:href="#linearGradient6513" id="linearGradient13343" gradientUnits="userSpaceOnUse" x1="286.51172" y1="-441.29074" x2="289.85379" y2="-436.14453"/>
+ <linearGradient xlink:href="#linearGradient6497" id="linearGradient13341" gradientUnits="userSpaceOnUse" x1="287.51730" y1="-439.75281" x2="289.67633" y2="-436.32199"/>
+ <linearGradient xlink:href="#linearGradient6470" id="linearGradient13339" gradientUnits="userSpaceOnUse" gradientTransform="translate(-34.00007,207.0001)" x1="271.02170" y1="-441.05182" x2="285.02859" y2="-431.96991"/>
+ <linearGradient xlink:href="#linearGradient6538" id="linearGradient13337" gradientUnits="userSpaceOnUse" x1="284.80219" y1="-441.23294" x2="288.89954" y2="-436.83109"/>
+ <linearGradient id="linearGradient6549">
+ <stop offset="0" id="stop6551" stop-color="#ffffff" stop-opacity="1"/>
+ <stop offset="1" id="stop6553" stop-color="#ffffff" stop-opacity="0"/>
+ </linearGradient>
+ <linearGradient xlink:href="#linearGradient6549" id="linearGradient13335" gradientUnits="userSpaceOnUse" x1="286.66589" y1="-439.48358" x2="289.76562" y2="-436.70703"/>
+ <linearGradient id="linearGradient6527">
+ <stop offset="0" id="stop6530" stop-color="#ffffff" stop-opacity="1"/>
+ <stop offset="1" id="stop6532" stop-color="#ffffff" stop-opacity="0"/>
+ </linearGradient>
+ <linearGradient xlink:href="#linearGradient6527" id="linearGradient13333" gradientUnits="userSpaceOnUse" gradientTransform="translate(-35.00007,207.0001)" x1="275.94193" y1="-437.10501" x2="279.97546" y2="-431.91833"/>
+ <linearGradient id="linearGradient6538">
+ <stop offset="0" id="stop6540" stop-color="#ffffff" stop-opacity="1"/>
+ <stop offset="1" id="stop6542" stop-color="#ffffff" stop-opacity="0"/>
+ </linearGradient>
+ <linearGradient xlink:href="#linearGradient6538" id="linearGradient13331" gradientUnits="userSpaceOnUse" x1="285.94086" y1="-439.93900" x2="289.39124" y2="-436.44290"/>
+ <linearGradient id="linearGradient6513">
+ <stop offset="0" id="stop6515" stop-color="#ffffff" stop-opacity="1"/>
+ <stop offset="1" id="stop6517" stop-color="#ffffff" stop-opacity="0"/>
+ </linearGradient>
+ <linearGradient xlink:href="#linearGradient6513" id="linearGradient13329" gradientUnits="userSpaceOnUse" x1="286.51172" y1="-441.29074" x2="289.85379" y2="-436.14453"/>
+ <linearGradient id="linearGradient6497">
+ <stop offset="0" id="stop6499" stop-color="#ffffff" stop-opacity="1"/>
+ <stop offset="1" id="stop6501" stop-color="#ffffff" stop-opacity="0"/>
+ </linearGradient>
+ <linearGradient xlink:href="#linearGradient6497" id="linearGradient13327" gradientUnits="userSpaceOnUse" x1="287.51730" y1="-439.75281" x2="289.67633" y2="-436.32199"/>
+ <linearGradient id="linearGradient6470">
+ <stop offset="0" id="stop6472" stop-color="#ffffff" stop-opacity="1"/>
+ <stop offset="1" id="stop6474" stop-color="#ffffff" stop-opacity="0"/>
+ </linearGradient>
+ <linearGradient xlink:href="#linearGradient6470" id="linearGradient13325" gradientUnits="userSpaceOnUse" gradientTransform="translate(-34.00007,207.0001)" x1="271.02170" y1="-441.05182" x2="285.02859" y2="-431.96991"/>
+ <linearGradient id="linearGradient8397">
+ <stop offset="0" id="stop8400" stop-color="#ffffff" stop-opacity="1"/>
+ <stop offset="1" id="stop8402" stop-color="#ffffff" stop-opacity="0"/>
+ </linearGradient>
+ <linearGradient xlink:href="#linearGradient8397" id="linearGradient13323" gradientUnits="userSpaceOnUse" x1="238.00478" y1="-388.47476" x2="245.65462" y2="-382.64539"/>
+ <linearGradient id="linearGradient8315">
+ <stop offset="0" id="stop8317" stop-color="#ffffff" stop-opacity="1"/>
+ <stop offset="1" id="stop8319" stop-color="#ffffff" stop-opacity="0"/>
+ </linearGradient>
+ <linearGradient xlink:href="#linearGradient8315" id="linearGradient13321" gradientUnits="userSpaceOnUse" x1="230.87598" y1="-390.43951" x2="235.25652" y2="-386.95901"/>
+ <linearGradient id="linearGradient8381">
+ <stop offset="0" id="stop8383" stop-color="#ffffff" stop-opacity="1"/>
+ <stop offset="1" id="stop8385" stop-color="#ffffff" stop-opacity="0"/>
+ </linearGradient>
+ <linearGradient xlink:href="#linearGradient8381" id="linearGradient13319" gradientUnits="userSpaceOnUse" x1="246.74042" y1="-391.31381" x2="252.69785" y2="-385.35165"/>
+ <linearGradient id="linearGradient8331">
+ <stop offset="0" id="stop8333" stop-color="#ffffff" stop-opacity="1"/>
+ <stop offset="1" id="stop8335" stop-color="#ffffff" stop-opacity="0"/>
+ </linearGradient>
+ <linearGradient xlink:href="#linearGradient8331" id="linearGradient13317" gradientUnits="userSpaceOnUse" x1="240.07379" y1="-393.40720" x2="245.82706" y2="-388.55029"/>
+ <linearGradient id="linearGradient8302">
+ <stop offset="0" id="stop8304" stop-color="#ffffff" stop-opacity="1"/>
+ <stop offset="1" id="stop8306" stop-color="#ffffff" stop-opacity="0"/>
+ </linearGradient>
+ <linearGradient xlink:href="#linearGradient8302" id="linearGradient13315" gradientUnits="userSpaceOnUse" gradientTransform="translate(69.00000,155.0000)" x1="228.50261" y1="-392.30591" x2="266.36395" y2="-379.26862"/>
+ <linearGradient id="linearGradient2254">
+ <stop offset="0" id="stop2256" stop-color="#ffffff" stop-opacity="1"/>
+ <stop offset="1" id="stop2258" stop-color="#ffffff" stop-opacity="0"/>
</linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6549"
- id="linearGradient13335"
- gradientUnits="userSpaceOnUse"
- x1="286.66589"
- y1="-439.48358"
- x2="289.76562"
- y2="-436.70703" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient6527">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop6530" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop6532" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6527"
- id="linearGradient13333"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-35.00007,207.0001)"
- x1="275.94193"
- y1="-437.10501"
- x2="279.97546"
- y2="-431.91833" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient6538">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop6540" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop6542" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6538"
- id="linearGradient13331"
- gradientUnits="userSpaceOnUse"
- x1="285.94086"
- y1="-439.93900"
- x2="289.39124"
- y2="-436.44290" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient6513">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop6515" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop6517" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6513"
- id="linearGradient13329"
- gradientUnits="userSpaceOnUse"
- x1="286.51172"
- y1="-441.29074"
- x2="289.85379"
- y2="-436.14453" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient6497">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop6499" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop6501" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6497"
- id="linearGradient13327"
- gradientUnits="userSpaceOnUse"
- x1="287.51730"
- y1="-439.75281"
- x2="289.67633"
- y2="-436.32199" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient6470">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop6472" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop6474" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6470"
- id="linearGradient13325"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-34.00007,207.0001)"
- x1="271.02170"
- y1="-441.05182"
- x2="285.02859"
- y2="-431.96991" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient8397">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop8400" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop8402" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient8397"
- id="linearGradient13323"
- gradientUnits="userSpaceOnUse"
- x1="238.00478"
- y1="-388.47476"
- x2="245.65462"
- y2="-382.64539" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient8315">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop8317" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop8319" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient8315"
- id="linearGradient13321"
- gradientUnits="userSpaceOnUse"
- x1="230.87598"
- y1="-390.43951"
- x2="235.25652"
- y2="-386.95901" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient8381">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop8383" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop8385" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient8381"
- id="linearGradient13319"
- gradientUnits="userSpaceOnUse"
- x1="246.74042"
- y1="-391.31381"
- x2="252.69785"
- y2="-385.35165" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient8331">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop8333" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop8335" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient8331"
- id="linearGradient13317"
- gradientUnits="userSpaceOnUse"
- x1="240.07379"
- y1="-393.40720"
- x2="245.82706"
- y2="-388.55029" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient8302">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop8304" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop8306" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient8302"
- id="linearGradient13315"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(69.00000,155.0000)"
- x1="228.50261"
- y1="-392.30591"
- x2="266.36395"
- y2="-379.26862" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient4442">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop4444" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop4446" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient4442"
- id="linearGradient4467"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-59.00000,27.72122)"
- x1="4.3602662"
- y1="-21.904713"
- x2="40.139732"
- y2="-1.8452871" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3019"
- id="linearGradient4430"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.813402,0.000000,0.000000,0.813402,7.747730,-6.786242)"
- x1="23.688078"
- y1="28.201012"
- x2="29.521708"
- y2="34.034641" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3019"
- id="linearGradient4426"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.813402,0.000000,0.000000,0.813402,12.43523,-5.473742)"
- x1="23.688078"
- y1="28.201012"
- x2="29.521708"
- y2="34.034641" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3019"
- id="linearGradient4404"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.333333,0.000000,0.000000,1.000000,-14.02052,-13.29853)"
- x1="23.688078"
- y1="28.201012"
- x2="29.521708"
- y2="34.034641" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3019"
- id="linearGradient4407"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.813402,0.000000,0.000000,0.813402,-9.728831,-6.856090)"
- x1="23.688078"
- y1="28.201012"
- x2="29.521708"
- y2="34.034641" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3019"
- id="linearGradient4410"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-4.033948,-17.90479)"
- x1="23.688078"
- y1="28.201012"
- x2="29.521708"
- y2="34.034641" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3019"
- id="linearGradient4413"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.613903,0.000000,0.000000,0.613903,-1.200260,0.631990)"
- x1="23.688078"
- y1="28.201012"
- x2="29.521708"
- y2="34.034641" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3019"
- id="linearGradient4419"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.888889,0.000000,0.000000,0.888889,4.534070,-12.70656)"
- x1="23.688078"
- y1="28.201012"
- x2="29.521708"
- y2="34.034641" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3019"
- id="linearGradient4422"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-9.992899,-16.32980)"
- x1="23.688078"
- y1="28.201012"
- x2="29.521708"
- y2="34.034641" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient4488"
- id="linearGradient4479"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.926905,0.000000,0.000000,0.881886,-60.91820,-2.915960)"
- x1="17.181321"
- y1="32.443652"
- x2="47.342173"
- y2="32.443652" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3019"
- id="linearGradient4359"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.333333,0.000000,0.000000,1.000000,-7.329241,-50.85192)"
- x1="23.688078"
- y1="28.201012"
- x2="29.521708"
- y2="34.034641" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3019"
- id="linearGradient4357"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.813402,0.000000,0.000000,0.813402,-0.912551,-43.37823)"
- x1="23.688078"
- y1="28.201012"
- x2="29.521708"
- y2="34.034641" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3019"
- id="linearGradient4355"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(3.365819,-55.70818)"
- x1="23.688078"
- y1="28.201012"
- x2="29.521708"
- y2="34.034641" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3019"
- id="linearGradient4353"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.613903,0.000000,0.000000,0.613903,17.14727,-36.85890)"
- x1="23.688078"
- y1="28.201012"
- x2="29.521708"
- y2="34.034641" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3019"
- id="linearGradient4351"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.888889,0.000000,0.000000,0.888889,15.17579,-44.92562)"
- x1="23.688078"
- y1="28.201012"
- x2="29.521708"
- y2="34.034641" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3019"
- id="linearGradient4349"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.888889,0.000000,0.000000,0.888889,12.81910,-50.04120)"
- x1="23.688078"
- y1="28.201012"
- x2="29.521708"
- y2="34.034641" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3019"
- id="linearGradient4347"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-3.681521,-53.82781)"
- x1="23.688078"
- y1="28.201012"
- x2="29.521708"
- y2="34.034641" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient4488">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop4490" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop4492" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient4488"
- id="linearGradient4370"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.926905,0.000000,0.000000,0.881886,-74.92090,-6.914630)"
- x1="17.175579"
- y1="23.374163"
- x2="38.037014"
- y2="38.680286" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3019"
- id="linearGradient4255"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.333333,0.000000,0.000000,1.000000,-7.329241,-50.85192)"
- x1="23.688078"
- y1="28.201012"
- x2="29.521708"
- y2="34.034641" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3019"
- id="linearGradient4253"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.813402,0.000000,0.000000,0.813402,-0.912551,-43.37823)"
- x1="23.688078"
- y1="28.201012"
- x2="29.521708"
- y2="34.034641" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3019"
- id="linearGradient4251"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(3.365819,-55.70818)"
- x1="23.688078"
- y1="28.201012"
- x2="29.521708"
- y2="34.034641" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3019"
- id="linearGradient4249"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.613903,0.000000,0.000000,0.613903,17.14727,-36.85890)"
- x1="23.688078"
- y1="28.201012"
- x2="29.521708"
- y2="34.034641" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3019"
- id="linearGradient4247"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.888889,0.000000,0.000000,0.888889,15.17579,-44.92562)"
- x1="23.688078"
- y1="28.201012"
- x2="29.521708"
- y2="34.034641" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3019"
- id="linearGradient4245"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.888889,0.000000,0.000000,0.888889,12.81910,-50.04120)"
- x1="23.688078"
- y1="28.201012"
- x2="29.521708"
- y2="34.034641" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient3019">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop3021" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop3023" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3019"
- id="linearGradient4243"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-3.681521,-53.82781)"
- x1="23.688078"
- y1="28.201012"
- x2="29.521708"
- y2="34.034641" />
- <linearGradient
- id="linearGradient6525"
- gradientUnits="userSpaceOnUse"
- x1="4.1914001"
- y1="11.113300"
- x2="47.319698"
- y2="56.052299">
- <stop
- offset="0"
- style="stop-color:#ffffff;stop-opacity:1;"
- id="stop6529" />
- <stop
- offset="1"
- style="stop-color:#ffffff;stop-opacity:0.34020618;"
- id="stop6531" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6525"
- id="linearGradient5250"
- x1="8.5469341"
- y1="30.281681"
- x2="30.85088"
- y2="48.301884"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.874977,0.000000,0.000000,0.921480,-56.65990,-1.553540)" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient6537">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop6539" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop6541" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient2298">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop2300" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop2302" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient3347">
- <stop
- style="stop-color:#edd400;stop-opacity:1;"
- offset="0"
- id="stop3349" />
- <stop
- style="stop-color:#edd400;stop-opacity:0;"
- offset="1"
- id="stop3351" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient2527">
- <stop
- style="stop-color:#fcaf3e;stop-opacity:1;"
- offset="0"
- id="stop2529" />
- <stop
- style="stop-color:#fcaf3e;stop-opacity:0;"
- offset="1"
- id="stop2531" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient2500">
- <stop
- style="stop-color:#fce94f;stop-opacity:1;"
- offset="0"
- id="stop2502" />
- <stop
- style="stop-color:#fce94f;stop-opacity:0;"
- offset="1"
- id="stop2504" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient2392">
- <stop
- style="stop-color:#eeeeec;stop-opacity:1;"
- offset="0"
- id="stop2394" />
- <stop
- style="stop-color:#eeeeec;stop-opacity:0;"
- offset="1"
- id="stop2396" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient2254">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop2256" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop2258" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2263"
- gradientUnits="userSpaceOnUse"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581"
- gradientTransform="translate(-1.608757,3.097272)" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2267"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(3.555020,0.968578)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2271"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(9.263651,3.495228)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2275"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(8.497184,-2.330824)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2279"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(14.46340,2.014073)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2283"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.751222,0.000000,0.000000,1.000000,-0.197462,7.612867)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2287"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.284317,0.000000,0.000000,1.000000,14.61983,4.452335)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2291"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.834148,0.000000,0.000000,1.000000,14.87610,8.569976)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2295"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.462015,0.000000,0.000000,1.262475,-5.687359,1.810269)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2299"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.106619,0.000000,0.000000,1.000000,6.383860,6.500432)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2303"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(1.707748,-5.784024)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2311"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(-0.976307,0.000000,0.000000,1.000000,53.94753,8.563694)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2350"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(16.14002,24.66420)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2352"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-0.932144,25.87240)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2354"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(5.356636,23.86870)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2356"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(11.19027,26.52035)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2358"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(10.30638,19.27251)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2360"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.751222,0.000000,0.000000,1.000000,0.229156,30.76299)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2362"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.284317,0.000000,0.000000,1.000000,16.67145,27.22746)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2364"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.834148,0.000000,0.000000,1.000000,17.05272,31.47010)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2366"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.462015,0.000000,0.000000,1.262475,-4.010744,24.96040)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2368"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.106619,0.000000,0.000000,1.000000,8.185476,29.52556)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2370"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(4.207586,21.30544)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2372"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(-0.976307,0.000000,0.000000,1.000000,56.12415,32.08882)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2392"
- id="linearGradient2398"
- x1="6.6651416"
- y1="13.802798"
- x2="41.403877"
- y2="13.802798"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.992367,0.000000,0.000000,0.990713,1.128541,5.404075)" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2426"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(14.46340,2.014073)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2428"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(8.497184,-2.330824)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2430"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-1.608757,3.097272)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2432"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(3.555020,0.968578)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2434"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(9.263651,3.495228)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2436"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.751222,0.000000,0.000000,1.000000,-0.197462,7.612867)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2438"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.284317,0.000000,0.000000,1.000000,14.61983,4.452335)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2440"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.834148,0.000000,0.000000,1.000000,14.87610,8.569976)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2442"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.462015,0.000000,0.000000,1.262475,-5.687359,1.810269)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2444"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.106619,0.000000,0.000000,1.000000,6.383860,6.500432)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2446"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(-0.976307,0.000000,0.000000,1.000000,53.94753,8.563694)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2392"
- id="linearGradient2448"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.992367,0.000000,0.000000,0.990713,1.128541,5.404075)"
- x1="6.6651416"
- y1="13.802798"
- x2="41.403877"
- y2="13.802798" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2392"
- id="linearGradient2451"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.992367,0.000000,0.000000,0.990713,4.378541,10.65407)"
- x1="6.6651416"
- y1="13.802798"
- x2="41.403877"
- y2="13.802798" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2457"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.106619,0.000000,0.000000,1.000000,9.633860,11.75043)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2460"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.462015,0.000000,0.000000,1.262475,-2.437359,7.060269)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2463"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.834148,0.000000,0.000000,1.000000,18.12610,13.81998)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2469"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.751222,0.000000,0.000000,1.000000,3.052538,12.86287)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2472"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(12.51365,8.745228)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2475"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(6.805020,6.218578)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2478"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(1.641243,8.347272)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2483"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(0.842481,-3.998086)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2500"
- id="linearGradient2506"
- x1="37.000000"
- y1="-21.750000"
- x2="53.750000"
- y2="9.0000000"
- gradientUnits="userSpaceOnUse" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2500"
- id="linearGradient2509"
- gradientUnits="userSpaceOnUse"
- x1="37.000000"
- y1="-21.750000"
- x2="53.750000"
- y2="9.0000000"
- gradientTransform="matrix(0.889091,0.000000,0.000000,0.617886,-4.771368,39.81402)" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2500"
- id="linearGradient2513"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.605509,0.000000,0.000000,0.710542,-0.224971,42.19500)"
- x1="38.857941"
- y1="-18.407482"
- x2="53.750000"
- y2="9.0000000" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2500"
- id="linearGradient2517"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.414169,0.000000,0.000000,0.778853,-1.910724,36.87850)"
- x1="37.000000"
- y1="-21.750000"
- x2="53.750000"
- y2="9.0000000" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2527"
- id="linearGradient2533"
- x1="-25.137094"
- y1="-1.2491118"
- x2="-35.652866"
- y2="-24.884460"
- gradientUnits="userSpaceOnUse" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2537"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(17.33814,3.415985)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2541"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(13.40064,1.353485)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2555"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-7.499805,1.708617)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2563"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-0.726830,2.481141)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3347"
- id="linearGradient3353"
- x1="23.303862"
- y1="29.115711"
- x2="29.750000"
- y2="46.092930"
- gradientUnits="userSpaceOnUse" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient3366"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(13.40064,1.353485)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient3368"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(1.641243,8.347272)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient3370"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(6.805020,6.218578)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient3372"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(12.51365,8.745228)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient3374"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.751222,0.000000,0.000000,1.000000,3.052538,12.86287)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient3376"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.834148,0.000000,0.000000,1.000000,18.12610,13.81998)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient3378"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.462015,0.000000,0.000000,1.262475,-2.437359,7.060269)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient3380"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.106619,0.000000,0.000000,1.000000,9.633860,11.75043)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient3383"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.106619,0.000000,0.000000,1.000000,0.795022,6.093572)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient3386"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.462015,0.000000,0.000000,1.262475,-11.27620,1.403411)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient3389"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.834148,0.000000,0.000000,1.000000,9.287262,8.163122)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient3392"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.751222,0.000000,0.000000,1.000000,-5.786300,7.206012)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient3395"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(3.674812,3.088370)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient3398"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-2.033818,0.561720)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient3401"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-7.197595,2.690414)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient3405"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(4.561802,-4.303373)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- gradientUnits="userSpaceOnUse"
- y2="-4.4493785"
- x2="-34.700153"
- y1="-37.550461"
- x1="-27.006643"
- id="linearGradient2916"
- xlink:href="#linearGradient2298"
- inkscape:collect="always" />
- <linearGradient
- y2="-24.884460"
- x2="-35.652866"
- y1="-1.2491118"
- x1="-25.137094"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2914"
- xlink:href="#linearGradient2527"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(57.97693,-10.56876)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2912"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(-0.976307,0.000000,0.000000,1.000000,123.1162,-5.446357)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2910"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.106619,0.000000,0.000000,1.000000,0.795022,6.093572)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2908"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.462015,0.000000,0.000000,1.262475,-11.27620,1.403411)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2906"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(0.834148,0.000000,0.000000,1.000000,9.287262,8.163122)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2904"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(0.751222,0.000000,0.000000,1.000000,-5.786300,7.206012)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2902"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(3.674812,3.088370)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2900"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(-2.033818,0.561720)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2898"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(-7.197595,2.690414)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2896"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="-24.884460"
- x2="-35.652866"
- y1="-1.2491118"
- x1="-25.137094"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2894"
- xlink:href="#linearGradient2527"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.284317,0.000000,0.000000,1.000000,79.36909,-3.193747)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2892"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.462015,0.000000,0.000000,1.262475,56.25514,-12.39388)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2890"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(88.49344,-9.697877)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2888"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(4.561802,-4.303373)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2886"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(-7.197595,2.690414)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2884"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(-2.033818,0.561720)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2882"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(3.674812,3.088370)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2880"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(0.751222,0.000000,0.000000,1.000000,-5.786300,7.206012)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2878"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(0.834148,0.000000,0.000000,1.000000,9.287262,8.163122)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2876"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.462015,0.000000,0.000000,1.262475,-11.27620,1.403411)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2874"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.106619,0.000000,0.000000,1.000000,0.795022,6.093572)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2872"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.106619,0.000000,0.000000,1.000000,9.633860,11.75043)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2870"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.462015,0.000000,0.000000,1.262475,-2.437359,7.060269)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2868"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(0.834148,0.000000,0.000000,1.000000,18.12610,13.81998)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2866"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(0.751222,0.000000,0.000000,1.000000,3.052538,12.86287)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2864"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(12.51365,8.745228)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2862"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(6.805020,6.218578)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2860"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(1.641243,8.347272)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2858"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(13.40064,1.353485)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2856"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- gradientUnits="userSpaceOnUse"
- y2="46.092930"
- x2="29.750000"
- y1="29.115711"
- x1="23.303862"
- id="linearGradient2854"
- xlink:href="#linearGradient3347"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(-0.726830,2.481141)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2852"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(-7.499805,1.708617)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2850"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(13.40064,1.353485)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2848"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(17.33814,3.415985)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2846"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- gradientUnits="userSpaceOnUse"
- y2="-24.884460"
- x2="-35.652866"
- y1="-1.2491118"
- x1="-25.137094"
- id="linearGradient2844"
- xlink:href="#linearGradient2527"
- inkscape:collect="always" />
- <linearGradient
- y2="9.0000000"
- x2="53.750000"
- y1="-21.750000"
- x1="37.000000"
- gradientTransform="matrix(0.414169,0.000000,0.000000,0.778853,-1.910724,36.87850)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2842"
- xlink:href="#linearGradient2500"
- inkscape:collect="always" />
- <linearGradient
- y2="9.0000000"
- x2="53.750000"
- y1="-18.407482"
- x1="38.857941"
- gradientTransform="matrix(0.605509,0.000000,0.000000,0.710542,-0.224971,42.19500)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2840"
- xlink:href="#linearGradient2500"
- inkscape:collect="always" />
- <linearGradient
- gradientTransform="matrix(0.889091,0.000000,0.000000,0.617886,-4.771368,39.81402)"
- y2="9.0000000"
- x2="53.750000"
- y1="-21.750000"
- x1="37.000000"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2838"
- xlink:href="#linearGradient2500"
- inkscape:collect="always" />
- <linearGradient
- gradientUnits="userSpaceOnUse"
- y2="9.0000000"
- x2="53.750000"
- y1="-21.750000"
- x1="37.000000"
- id="linearGradient2836"
- xlink:href="#linearGradient2500"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(0.842481,-3.998086)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2834"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(1.641243,8.347272)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2832"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(6.805020,6.218578)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2830"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(12.51365,8.745228)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2828"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(0.751222,0.000000,0.000000,1.000000,3.052538,12.86287)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2826"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(0.834148,0.000000,0.000000,1.000000,18.12610,13.81998)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2824"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.462015,0.000000,0.000000,1.262475,-2.437359,7.060269)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2822"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.106619,0.000000,0.000000,1.000000,9.633860,11.75043)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2820"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="13.802798"
- x2="41.403877"
- y1="13.802798"
- x1="6.6651416"
- gradientTransform="matrix(0.992367,0.000000,0.000000,0.990713,4.378541,10.65407)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2818"
- xlink:href="#linearGradient2392"
- inkscape:collect="always" />
- <linearGradient
- y2="13.802798"
- x2="41.403877"
- y1="13.802798"
- x1="6.6651416"
- gradientTransform="matrix(0.992367,0.000000,0.000000,0.990713,1.128541,5.404075)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2816"
- xlink:href="#linearGradient2392"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(-0.976307,0.000000,0.000000,1.000000,53.94753,8.563694)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2814"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.106619,0.000000,0.000000,1.000000,6.383860,6.500432)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2812"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.462015,0.000000,0.000000,1.262475,-5.687359,1.810269)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2810"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(0.834148,0.000000,0.000000,1.000000,14.87610,8.569976)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2808"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.284317,0.000000,0.000000,1.000000,14.61983,4.452335)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2806"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(0.751222,0.000000,0.000000,1.000000,-0.197462,7.612867)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2804"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(9.263651,3.495228)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2802"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(3.555020,0.968578)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2800"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(-1.608757,3.097272)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2798"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(8.497184,-2.330824)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2796"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(14.46340,2.014073)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2794"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- gradientTransform="matrix(0.992367,0.000000,0.000000,0.990713,1.128541,5.404075)"
- gradientUnits="userSpaceOnUse"
- y2="13.802798"
- x2="41.403877"
- y1="13.802798"
- x1="6.6651416"
- id="linearGradient2792"
- xlink:href="#linearGradient2392"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(-0.976307,0.000000,0.000000,1.000000,56.12415,32.08882)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2790"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(4.207586,21.30544)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2788"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.106619,0.000000,0.000000,1.000000,8.185476,29.52556)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2786"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.462015,0.000000,0.000000,1.262475,-4.010744,24.96040)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2784"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(0.834148,0.000000,0.000000,1.000000,17.05272,31.47010)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2782"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.284317,0.000000,0.000000,1.000000,16.67145,27.22746)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2780"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(0.751222,0.000000,0.000000,1.000000,0.229156,30.76299)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2778"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(10.30638,19.27251)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2776"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(11.19027,26.52035)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2774"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(5.356636,23.86870)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2772"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(-0.932144,25.87240)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2770"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(16.14002,24.66420)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2768"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(-0.976307,0.000000,0.000000,1.000000,53.94753,8.563694)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2766"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(1.707748,-5.784024)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2764"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.106619,0.000000,0.000000,1.000000,6.383860,6.500432)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2762"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.462015,0.000000,0.000000,1.262475,-5.687359,1.810269)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2760"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(0.834148,0.000000,0.000000,1.000000,14.87610,8.569976)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2758"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.284317,0.000000,0.000000,1.000000,14.61983,4.452335)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2756"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(0.751222,0.000000,0.000000,1.000000,-0.197462,7.612867)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2754"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(14.46340,2.014073)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2752"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(8.497184,-2.330824)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2750"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(9.263651,3.495228)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2748"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(3.555020,0.968578)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2746"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- gradientTransform="translate(-1.608757,3.097272)"
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2744"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- gradientUnits="userSpaceOnUse"
- y2="-4.4493785"
- x2="-34.700153"
- y1="-37.550461"
- x1="-27.006643"
- id="linearGradient2304"
- xlink:href="#linearGradient2298"
- inkscape:collect="always" />
- <linearGradient
- y2="-24.884460"
- x2="-35.652866"
- y1="-1.2491118"
- x1="-25.137094"
- gradientUnits="userSpaceOnUse"
- id="linearGradient1557"
- xlink:href="#linearGradient2527"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(57.97693,-10.56876)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient1538"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(-0.976307,0.000000,0.000000,1.000000,123.1162,-5.446357)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient1536"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.106619,0.000000,0.000000,1.000000,0.795022,6.093572)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient1534"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.462015,0.000000,0.000000,1.262475,-11.27620,1.403411)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient1532"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(0.834148,0.000000,0.000000,1.000000,9.287262,8.163122)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient1530"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(0.751222,0.000000,0.000000,1.000000,-5.786300,7.206012)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient1528"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(3.674812,3.088370)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient1526"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(-2.033818,0.561720)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient1524"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(-7.197595,2.690414)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient1522"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="-24.884460"
- x2="-35.652866"
- y1="-1.2491118"
- x1="-25.137094"
- gradientUnits="userSpaceOnUse"
- id="linearGradient1520"
- xlink:href="#linearGradient2527"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.284317,0.000000,0.000000,1.000000,79.36909,-3.193747)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient1518"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.462015,0.000000,0.000000,1.262475,56.25514,-12.39388)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient1516"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(88.49344,-9.697877)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient1514"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(4.561802,-4.303373)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5957"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(-7.197595,2.690414)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5955"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(-2.033818,0.561720)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5953"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(3.674812,3.088370)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5951"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(0.751222,0.000000,0.000000,1.000000,-5.786300,7.206012)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5949"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(0.834148,0.000000,0.000000,1.000000,9.287262,8.163122)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5947"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.462015,0.000000,0.000000,1.262475,-11.27620,1.403411)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5945"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.106619,0.000000,0.000000,1.000000,0.795022,6.093572)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5943"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.106619,0.000000,0.000000,1.000000,9.633860,11.75043)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5941"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.462015,0.000000,0.000000,1.262475,-2.437359,7.060269)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5939"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(0.834148,0.000000,0.000000,1.000000,18.12610,13.81998)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5937"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(0.751222,0.000000,0.000000,1.000000,3.052538,12.86287)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5935"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(12.51365,8.745228)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5933"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(6.805020,6.218578)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5931"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(1.641243,8.347272)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5929"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(13.40064,1.353485)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5927"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- gradientUnits="userSpaceOnUse"
- y2="46.092930"
- x2="29.750000"
- y1="29.115711"
- x1="23.303862"
- id="linearGradient5925"
- xlink:href="#linearGradient3347"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(-0.726830,2.481141)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5923"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(-7.499805,1.708617)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5921"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(13.40064,1.353485)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5919"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(17.33814,3.415985)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5917"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- gradientUnits="userSpaceOnUse"
- y2="-24.884460"
- x2="-35.652866"
- y1="-1.2491118"
- x1="-25.137094"
- id="linearGradient5915"
- xlink:href="#linearGradient2527"
- inkscape:collect="always" />
- <linearGradient
- y2="9.0000000"
- x2="53.750000"
- y1="-21.750000"
- x1="37.000000"
- gradientTransform="matrix(0.414169,0.000000,0.000000,0.778853,-1.910724,36.87850)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5913"
- xlink:href="#linearGradient2500"
- inkscape:collect="always" />
- <linearGradient
- y2="9.0000000"
- x2="53.750000"
- y1="-18.407482"
- x1="38.857941"
- gradientTransform="matrix(0.605509,0.000000,0.000000,0.710542,-0.224971,42.19500)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5911"
- xlink:href="#linearGradient2500"
- inkscape:collect="always" />
- <linearGradient
- gradientTransform="matrix(0.889091,0.000000,0.000000,0.617886,-4.771368,39.81402)"
- y2="9.0000000"
- x2="53.750000"
- y1="-21.750000"
- x1="37.000000"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5909"
- xlink:href="#linearGradient2500"
- inkscape:collect="always" />
- <linearGradient
- gradientUnits="userSpaceOnUse"
- y2="9.0000000"
- x2="53.750000"
- y1="-21.750000"
- x1="37.000000"
- id="linearGradient5907"
- xlink:href="#linearGradient2500"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(0.842481,-3.998086)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5905"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(1.641243,8.347272)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5903"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(6.805020,6.218578)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5901"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(12.51365,8.745228)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5899"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(0.751222,0.000000,0.000000,1.000000,3.052538,12.86287)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5897"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(0.834148,0.000000,0.000000,1.000000,18.12610,13.81998)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5895"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.462015,0.000000,0.000000,1.262475,-2.437359,7.060269)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5893"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.106619,0.000000,0.000000,1.000000,9.633860,11.75043)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5891"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="13.802798"
- x2="41.403877"
- y1="13.802798"
- x1="6.6651416"
- gradientTransform="matrix(0.992367,0.000000,0.000000,0.990713,4.378541,10.65407)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5889"
- xlink:href="#linearGradient2392"
- inkscape:collect="always" />
- <linearGradient
- y2="13.802798"
- x2="41.403877"
- y1="13.802798"
- x1="6.6651416"
- gradientTransform="matrix(0.992367,0.000000,0.000000,0.990713,1.128541,5.404075)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5887"
- xlink:href="#linearGradient2392"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(-0.976307,0.000000,0.000000,1.000000,53.94753,8.563694)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5885"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.106619,0.000000,0.000000,1.000000,6.383860,6.500432)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5883"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.462015,0.000000,0.000000,1.262475,-5.687359,1.810269)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5881"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(0.834148,0.000000,0.000000,1.000000,14.87610,8.569976)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5879"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.284317,0.000000,0.000000,1.000000,14.61983,4.452335)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5877"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(0.751222,0.000000,0.000000,1.000000,-0.197462,7.612867)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5875"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(9.263651,3.495228)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5873"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(3.555020,0.968578)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5871"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(-1.608757,3.097272)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5869"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(8.497184,-2.330824)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5867"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(14.46340,2.014073)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5865"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- gradientTransform="matrix(0.992367,0.000000,0.000000,0.990713,1.128541,5.404075)"
- gradientUnits="userSpaceOnUse"
- y2="13.802798"
- x2="41.403877"
- y1="13.802798"
- x1="6.6651416"
- id="linearGradient5863"
- xlink:href="#linearGradient2392"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(-0.976307,0.000000,0.000000,1.000000,56.12415,32.08882)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5861"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(4.207586,21.30544)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5859"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.106619,0.000000,0.000000,1.000000,8.185476,29.52556)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5857"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.462015,0.000000,0.000000,1.262475,-4.010744,24.96040)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5855"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(0.834148,0.000000,0.000000,1.000000,17.05272,31.47010)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5853"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.284317,0.000000,0.000000,1.000000,16.67145,27.22746)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5851"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(0.751222,0.000000,0.000000,1.000000,0.229156,30.76299)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5849"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(10.30638,19.27251)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5847"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(11.19027,26.52035)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5845"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(5.356636,23.86870)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5843"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(-0.932144,25.87240)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5841"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(16.14002,24.66420)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5839"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(-0.976307,0.000000,0.000000,1.000000,53.94753,8.563694)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5837"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(1.707748,-5.784024)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5835"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.106619,0.000000,0.000000,1.000000,6.383860,6.500432)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5833"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.462015,0.000000,0.000000,1.262475,-5.687359,1.810269)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5831"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(0.834148,0.000000,0.000000,1.000000,14.87610,8.569976)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5829"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.284317,0.000000,0.000000,1.000000,14.61983,4.452335)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5827"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(0.751222,0.000000,0.000000,1.000000,-0.197462,7.612867)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5825"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(14.46340,2.014073)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5823"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(8.497184,-2.330824)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5821"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(9.263651,3.495228)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5819"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(3.555020,0.968578)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5817"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- gradientTransform="translate(-1.608757,3.097272)"
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5815"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6101"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(-0.976307,0.000000,0.000000,1.000000,56.13675,17.05613)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6118"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.284317,0.000000,0.000000,1.000000,12.38965,19.30874)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6121"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.462015,0.000000,0.000000,1.262475,-10.72430,10.10861)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6124"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(21.51400,12.80461)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6179"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-7.197595,2.690414)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6181"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-2.033818,0.561720)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6183"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(3.674812,3.088370)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6185"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.751222,0.000000,0.000000,1.000000,-5.786300,7.206012)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6187"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.834148,0.000000,0.000000,1.000000,9.287262,8.163122)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6189"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.462015,0.000000,0.000000,1.262475,-11.27620,1.403411)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6191"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.106619,0.000000,0.000000,1.000000,0.795022,6.093572)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2527"
- id="linearGradient6193"
- gradientUnits="userSpaceOnUse"
- x1="-25.137094"
- y1="-1.2491118"
- x2="-35.652866"
- y2="-24.884460" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6196"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.106619,0.000000,0.000000,1.000000,2.209129,10.83861)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6199"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.462015,0.000000,0.000000,1.262475,-9.862093,6.148450)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6202"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.834148,0.000000,0.000000,1.000000,10.70137,12.90816)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6205"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.751222,0.000000,0.000000,1.000000,-4.372193,11.95105)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6208"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(5.088919,7.833409)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6211"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-0.619711,5.306759)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6214"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-5.783488,7.435453)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6242"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-5.783488,7.435453)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6244"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-0.619711,5.306759)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6246"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(5.088919,7.833409)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6248"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.834148,0.000000,0.000000,1.000000,10.70137,12.90816)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6250"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.462015,0.000000,0.000000,1.262475,-9.862093,6.148450)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6252"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.106619,0.000000,0.000000,1.000000,2.209129,10.83861)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6254"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-9.002513,11.93373)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6257"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-0.297112,4.275205)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6260"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.106619,0.000000,0.000000,1.000000,10.91453,3.180085)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6263"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.462015,0.000000,0.000000,1.262475,-1.156692,-1.510075)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6266"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.834148,0.000000,0.000000,1.000000,19.40677,5.249635)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6269"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(13.79432,0.174884)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6272"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(8.085690,-2.351766)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6275"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(2.921913,-0.223072)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6311"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(21.51400,12.80461)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6313"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.462015,0.000000,0.000000,1.262475,-10.72430,10.10861)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6315"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.284317,0.000000,0.000000,1.000000,12.38965,19.30874)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6317"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.462015,0.000000,0.000000,1.262475,-1.156692,-1.510075)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6319"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(-0.976307,0.000000,0.000000,1.000000,56.13675,17.05613)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6321"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-5.783488,7.435453)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6323"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-0.619711,5.306759)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6325"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(5.088919,7.833409)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6327"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.834148,0.000000,0.000000,1.000000,10.70137,12.90816)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6329"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.462015,0.000000,0.000000,1.262475,-9.862093,6.148450)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6331"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.106619,0.000000,0.000000,1.000000,2.209129,10.83861)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6333"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-9.002513,11.93373)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6335"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(2.921913,-0.223072)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6337"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(8.085690,-2.351766)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6339"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(13.79432,0.174884)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6341"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.834148,0.000000,0.000000,1.000000,19.40677,5.249635)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6343"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.106619,0.000000,0.000000,1.000000,10.91453,3.180085)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6537"
- id="linearGradient6543"
- x1="27.320963"
- y1="44.228481"
- x2="52.328316"
- y2="44.228481"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.526962,0.000000,-2.763717e-17,0.972572,16.13182,0.843286)" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6537"
- id="linearGradient6547"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.526962,0.000000,-4.388782e-16,0.972572,25.91493,0.633642)"
- x1="27.320963"
- y1="44.228481"
- x2="52.328316"
- y2="44.228481" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6537"
- id="linearGradient6551"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.526962,0.000000,-4.388782e-16,0.972572,36.25638,0.633643)"
- x1="27.320963"
- y1="44.228481"
- x2="45.115814"
- y2="44.228455" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6537"
- id="linearGradient6559"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.526962,0.000000,-2.332577e-16,0.972572,16.13182,0.843286)"
- x1="27.320963"
- y1="44.228481"
- x2="52.328316"
- y2="44.228481" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6537"
- id="linearGradient6561"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.526962,0.000000,-6.444987e-16,0.972572,25.91493,0.633642)"
- x1="27.320963"
- y1="44.228481"
- x2="52.328316"
- y2="44.228481" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6537"
- id="linearGradient6563"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.526962,0.000000,-6.444987e-16,0.972572,36.25638,0.633643)"
- x1="27.320963"
- y1="44.228481"
- x2="45.115814"
- y2="44.228455" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6537"
- id="linearGradient6566"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.577744,0.000000,-5.984325e-16,1.025105,38.38995,-1.768804)"
- x1="27.320963"
- y1="44.228481"
- x2="45.115814"
- y2="44.228455" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6537"
- id="linearGradient6569"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.577744,0.000000,-5.984325e-16,1.025105,27.05193,-1.768805)"
- x1="27.320963"
- y1="44.228481"
- x2="52.328316"
- y2="44.228481" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6537"
- id="linearGradient6572"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.589347,0.000000,-1.531909e-16,1.025217,16.34910,-1.110328)"
- x1="27.320963"
- y1="44.228481"
- x2="52.328316"
- y2="44.228481" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6576"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.132431,0.000000,0.000000,1.016132,11.79178,-1.090051)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6579"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.853605,0.000000,0.000000,1.016132,20.48211,1.012885)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6582"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.023325,0.000000,0.000000,1.016132,14.73875,-4.143732)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6585"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.023325,0.000000,0.000000,1.016132,8.896962,-6.711142)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6588"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.023325,0.000000,0.000000,1.016132,3.612740,-4.548108)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6599"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(-0.999079,0.000000,0.000000,1.016132,58.06881,13.00984)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6603"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.496116,0.000000,0.000000,1.282841,-0.560999,-5.855873)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6606"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.314274,0.000000,0.000000,1.016132,13.30131,15.29879)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6609"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.496116,0.000000,0.000000,1.282841,-10.35177,5.950245)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6612"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.023325,0.000000,0.000000,1.016132,22.63849,8.689740)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6618"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.023325,0.000000,0.000000,1.016132,17.34164,6.586930)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6622"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.023325,0.000000,0.000000,1.016132,12.56867,12.68572)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6624"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-5.783488,7.435453)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6626"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-0.619711,5.306759)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6628"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(5.088919,7.833409)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6630"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.834148,0.000000,0.000000,1.000000,10.70137,12.90816)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6632"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.462015,0.000000,0.000000,1.262475,-9.862093,6.148450)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6634"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.106619,0.000000,0.000000,1.000000,2.209129,10.83861)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6636"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-9.002513,11.93373)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient4442"
- id="linearGradient2736"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-59.00000,27.72122)"
- x1="4.3602662"
- y1="-21.904713"
- x2="40.139732"
- y2="-1.8452871" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3019"
- id="linearGradient2738"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-9.992899,-16.32980)"
- x1="23.688078"
- y1="28.201012"
- x2="29.521708"
- y2="34.034641" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3019"
- id="linearGradient2740"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.888889,0.000000,0.000000,0.888889,4.534070,-12.70656)"
- x1="23.688078"
- y1="28.201012"
- x2="29.521708"
- y2="34.034641" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3019"
- id="linearGradient2742"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.613903,0.000000,0.000000,0.613903,-1.200260,0.631990)"
- x1="23.688078"
- y1="28.201012"
- x2="29.521708"
- y2="34.034641" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3019"
- id="linearGradient2745"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-4.033948,-17.90479)"
- x1="23.688078"
- y1="28.201012"
- x2="29.521708"
- y2="34.034641" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3019"
- id="linearGradient2747"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.813402,0.000000,0.000000,0.813402,-9.728831,-6.856090)"
- x1="23.688078"
- y1="28.201012"
- x2="29.521708"
- y2="34.034641" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3019"
- id="linearGradient2749"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.333333,0.000000,0.000000,1.000000,-14.02052,-13.29853)"
- x1="23.688078"
- y1="28.201012"
- x2="29.521708"
- y2="34.034641" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3019"
- id="linearGradient2751"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.813402,0.000000,0.000000,0.813402,12.43523,-5.473742)"
- x1="23.688078"
- y1="28.201012"
- x2="29.521708"
- y2="34.034641" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3019"
- id="linearGradient2753"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.813402,0.000000,0.000000,0.813402,7.747730,-6.786242)"
- x1="23.688078"
- y1="28.201012"
- x2="29.521708"
- y2="34.034641" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient4488"
- id="linearGradient2755"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.926905,0.000000,0.000000,0.881886,-60.91820,-2.915960)"
- x1="17.181321"
- y1="32.443652"
- x2="47.342173"
- y2="32.443652" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3019"
- id="linearGradient2757"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-3.681521,-53.82781)"
- x1="23.688078"
- y1="28.201012"
- x2="29.521708"
- y2="34.034641" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3019"
- id="linearGradient2759"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.888889,0.000000,0.000000,0.888889,12.81910,-50.04120)"
- x1="23.688078"
- y1="28.201012"
- x2="29.521708"
- y2="34.034641" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3019"
- id="linearGradient2761"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.888889,0.000000,0.000000,0.888889,15.17579,-44.92562)"
- x1="23.688078"
- y1="28.201012"
- x2="29.521708"
- y2="34.034641" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3019"
- id="linearGradient2763"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.613903,0.000000,0.000000,0.613903,17.14727,-36.85890)"
- x1="23.688078"
- y1="28.201012"
- x2="29.521708"
- y2="34.034641" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3019"
- id="linearGradient2765"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(3.365819,-55.70818)"
- x1="23.688078"
- y1="28.201012"
- x2="29.521708"
- y2="34.034641" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3019"
- id="linearGradient2767"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.813402,0.000000,0.000000,0.813402,-0.912551,-43.37823)"
- x1="23.688078"
- y1="28.201012"
- x2="29.521708"
- y2="34.034641" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3019"
- id="linearGradient2769"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.333333,0.000000,0.000000,1.000000,-7.329241,-50.85192)"
- x1="23.688078"
- y1="28.201012"
- x2="29.521708"
- y2="34.034641" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient4488"
- id="linearGradient2771"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.926905,0.000000,0.000000,0.881886,-74.92090,-6.914630)"
- x1="17.175579"
- y1="23.374163"
- x2="38.037014"
- y2="38.680286" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3019"
- id="linearGradient2773"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-3.681521,-53.82781)"
- x1="23.688078"
- y1="28.201012"
- x2="29.521708"
- y2="34.034641" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3019"
- id="linearGradient2775"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.888889,0.000000,0.000000,0.888889,12.81910,-50.04120)"
- x1="23.688078"
- y1="28.201012"
- x2="29.521708"
- y2="34.034641" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3019"
- id="linearGradient2777"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.888889,0.000000,0.000000,0.888889,15.17579,-44.92562)"
- x1="23.688078"
- y1="28.201012"
- x2="29.521708"
- y2="34.034641" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3019"
- id="linearGradient2779"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.613903,0.000000,0.000000,0.613903,17.14727,-36.85890)"
- x1="23.688078"
- y1="28.201012"
- x2="29.521708"
- y2="34.034641" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3019"
- id="linearGradient2781"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(3.365819,-55.70818)"
- x1="23.688078"
- y1="28.201012"
- x2="29.521708"
- y2="34.034641" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3019"
- id="linearGradient2783"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.813402,0.000000,0.000000,0.813402,-0.912551,-43.37823)"
- x1="23.688078"
- y1="28.201012"
- x2="29.521708"
- y2="34.034641" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3019"
- id="linearGradient2785"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.333333,0.000000,0.000000,1.000000,-7.329241,-50.85192)"
- x1="23.688078"
- y1="28.201012"
- x2="29.521708"
- y2="34.034641" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient4488"
- id="linearGradient2799"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.926905,0.000000,0.000000,0.881886,-11.91814,-7.649759)"
- x1="17.175579"
- y1="23.374163"
- x2="38.037014"
- y2="38.680286" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient4488"
- id="linearGradient2813"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.926905,0.000000,0.000000,0.881886,2.084560,-3.651089)"
- x1="18.664751"
- y1="23.374166"
- x2="31.294144"
- y2="35.845455" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient4442"
- id="linearGradient2827"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(4.002760,26.98609)"
- x1="4.3602662"
- y1="-21.904713"
- x2="40.139732"
- y2="-1.8452871" />
</defs>
- <sodipodi:namedview
- id="base"
- pagecolor="#ffffff"
- bordercolor="#666666"
- borderopacity="1.0"
- inkscape:pageopacity="0.0"
- inkscape:pageshadow="2"
- inkscape:zoom="16"
- inkscape:cx="11.996306"
- inkscape:cy="38.014291"
- inkscape:current-layer="layer1"
- showgrid="true"
- inkscape:grid-bbox="true"
- inkscape:document-units="px"
- inkscape:window-width="1200"
- inkscape:window-height="704"
- inkscape:window-x="134"
- inkscape:window-y="133"
- inkscape:showpageshadow="false" />
- <metadata
- id="metadata1311">
+
+ <metadata id="metadata1311">
<rdf:RDF>
- <cc:Work
- rdf:about="">
+ <cc:Work rdf:about="">
<dc:format>image/svg+xml</dc:format>
- <dc:type
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
<dc:title>weather-showers</dc:title>
<dc:date>January 2006</dc:date>
<dc:creator>
@@ -4312,441 +98,81 @@
<rdf:li>notify</rdf:li>
</rdf:Bag>
</dc:subject>
- <cc:license
- rdf:resource="http://creativecommons.org/licenses/publicdomain/" />
+ <cc:license rdf:resource="http://creativecommons.org/licenses/publicdomain/"/>
</cc:Work>
- <cc:License
- rdf:about="http://creativecommons.org/licenses/publicdomain/">
- <cc:permits
- rdf:resource="http://creativecommons.org/ns#Reproduction" />
- <cc:permits
- rdf:resource="http://creativecommons.org/ns#Distribution" />
- <cc:permits
- rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
+ <cc:License rdf:about="http://creativecommons.org/licenses/publicdomain/">
+ <cc:permits rdf:resource="http://creativecommons.org/ns#Reproduction"/>
+ <cc:permits rdf:resource="http://creativecommons.org/ns#Distribution"/>
+ <cc:permits rdf:resource="http://creativecommons.org/ns#DerivativeWorks"/>
</cc:License>
</rdf:RDF>
</metadata>
- <g
- id="layer1"
- inkscape:label="Layer 1"
- inkscape:groupmode="layer">
- <g
- id="g11337"
- transform="translate(-339.9823,245.0132)">
- <rect
- transform="matrix(1.000000,0.000000,-0.600523,0.799607,0.000000,0.000000)"
- ry="1.5179254"
- rx="2.3596079"
- y="-270.75461"
- x="189.68199"
- height="17.509083"
- width="32.962067"
- id="rect6086"
- style="opacity:1.0000000;fill:#729fcf;fill-opacity:1.0000000;stroke:#3465a4;stroke-width:1.0817814;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000" />
- <g
- style="opacity:0.80000001"
- transform="matrix(1.000000,0.000000,0.000000,0.999611,0.000000,-7.862650e-2)"
- id="g10414">
- <path
- style="fill:url(#linearGradient11344);fill-opacity:1.0000000;stroke:none;stroke-width:1.1547011;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- d="M 352.47790,-216.00000 L 359.39580,-216.00000 C 360.69054,-216.00000 361.33008,-215.50056 360.82979,-214.88017 L 352.15249,-204.12015 C 351.65217,-203.49974 350.20707,-203.00030 348.91233,-203.00030 L 344.86943,-203.00030 C 343.57469,-203.00030 342.30979,-202.95120 343.43545,-204.12015 C 343.43545,-204.12015 352.47790,-216.00000 352.47790,-216.00000 z "
- id="rect6088"
- sodipodi:nodetypes="cccccccc" />
- <path
- style="fill:url(#linearGradient11346);fill-opacity:1.0000000;stroke:none;stroke-width:1.1547011;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- d="M 362.74641,-216.00000 L 369.42169,-216.00000 C 370.69552,-216.00000 371.32477,-215.50054 370.83253,-214.88014 L 362.29523,-204.11987 C 361.80299,-203.49946 360.38121,-203.00000 359.10738,-203.00000 L 353.00000,-203.00000 C 353.00000,-203.00000 362.74641,-216.00000 362.74641,-216.00000 z "
- id="path6115"
- sodipodi:nodetypes="ccccccc" />
- <path
- style="fill:url(#linearGradient11348);fill-opacity:1.0000000;stroke:none;stroke-width:1.1547011;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- d="M 372.74640,-216.00000 L 379.42169,-216.00000 C 380.69553,-216.00000 381.32477,-215.50053 380.83253,-214.88014 L 372.29523,-204.11986 C 371.80299,-203.49945 370.38122,-203.00000 369.10738,-203.00000 L 363.00000,-203.00000 C 363.00000,-203.00000 372.74640,-216.00000 372.74640,-216.00000 z "
- id="path6125"
- sodipodi:nodetypes="ccccccc" />
+ <g id="layer1">
+ <g transform="translate(-339.9823,245.0132)">
+ <rect transform="matrix(1.000000,0.000000,-0.600523,0.799607,0.000000,0.000000)" ry="1.5179254" rx="2.3596079" y="-270.75461" x="189.68199" height="17.509083" width="32.962067" opacity="1.0000000" fill="#729fcf" fill-opacity="1.0000000" stroke="#3465a4" stroke-width="1.0817814" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="0.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <g transform="matrix(1.000000,0.000000,0.000000,0.999611,0.000000,-7.862650e-2)" opacity="0.80000001">
+ <path d="M 352.47790,-216.00000 L 359.39580,-216.00000 C 360.69054,-216.00000 361.33008,-215.50056 360.82979,-214.88017 L 352.15249,-204.12015 C 351.65217,-203.49974 350.20707,-203.00030 348.91233,-203.00030 L 344.86943,-203.00030 C 343.57469,-203.00030 342.30979,-202.95120 343.43545,-204.12015 C 343.43545,-204.12015 352.47790,-216.00000 352.47790,-216.00000 z " fill="url(#linearGradient11344)" fill-opacity="1.0000000" stroke="none" stroke-width="1.1547011" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="0.0000000" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path d="M 362.74641,-216.00000 L 369.42169,-216.00000 C 370.69552,-216.00000 371.32477,-215.50054 370.83253,-214.88014 L 362.29523,-204.11987 C 361.80299,-203.49946 360.38121,-203.00000 359.10738,-203.00000 L 353.00000,-203.00000 C 353.00000,-203.00000 362.74641,-216.00000 362.74641,-216.00000 z " fill="url(#linearGradient11346)" fill-opacity="1.0000000" stroke="none" stroke-width="1.1547011" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="0.0000000" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path d="M 372.74640,-216.00000 L 379.42169,-216.00000 C 380.69553,-216.00000 381.32477,-215.50053 380.83253,-214.88014 L 372.29523,-204.11986 C 371.80299,-203.49945 370.38122,-203.00000 369.10738,-203.00000 L 363.00000,-203.00000 C 363.00000,-203.00000 372.74640,-216.00000 372.74640,-216.00000 z " fill="url(#linearGradient11348)" fill-opacity="1.0000000" stroke="none" stroke-width="1.1547011" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="0.0000000" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
</g>
</g>
- <g
- id="g13213"
- transform="matrix(0.999675,0.000000,0.000000,1.000000,-286.8562,245.0000)">
- <g
- id="g13215">
- <path
- style="opacity:1.0000000;fill:#555753;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- d="M 311.50000,-242.99998 C 308.72758,-242.99998 306.39177,-241.42627 305.09375,-239.18748 C 304.14939,-239.66252 303.12856,-239.99998 302.00000,-239.99998 C 298.13600,-239.99998 295.00000,-236.86398 295.00000,-232.99998 C 295.00000,-229.13598 298.13600,-225.99998 302.00000,-225.99998 C 304.41967,-225.99998 306.43009,-227.31930 307.68750,-229.18748 C 308.82170,-228.49786 310.07648,-227.99998 311.50000,-227.99998 C 312.41312,-227.99998 313.25295,-228.23200 314.06250,-228.53123 C 314.57244,-227.66350 315.24162,-226.95151 316.06250,-226.37498 C 316.05526,-226.24460 316.00000,-226.13216 316.00000,-225.99998 C 316.00000,-222.13598 319.13599,-218.99998 323.00000,-218.99998 C 326.86400,-218.99998 330.00000,-222.13598 330.00000,-225.99998 C 330.00000,-228.36967 328.74102,-230.35832 326.93750,-231.62498 C 326.94474,-231.75536 327.00000,-231.86780 327.00000,-231.99998 C 327.00000,-235.86398 323.86401,-238.99998 320.00000,-238.99998 C 319.37730,-238.99998 318.82481,-238.77779 318.25000,-238.62498 C 317.05547,-241.18382 314.50866,-242.99998 311.50000,-242.99998 z "
- id="path13217" />
- <path
- style="opacity:1.0000000;fill:url(#linearGradient13315);fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- d="M 311.50000,-241.99998 C 308.71952,-241.99998 306.36549,-240.23813 305.43750,-237.78123 C 304.45208,-238.49067 303.30607,-238.99998 302.00000,-238.99998 C 298.68800,-238.99998 296.00000,-236.31198 296.00000,-232.99998 C 296.00000,-229.68798 298.68800,-226.99998 302.00000,-226.99998 C 304.42775,-226.99998 306.49324,-228.45556 307.43750,-230.53123 C 308.55826,-229.61367 309.93964,-228.99998 311.50000,-228.99998 C 312.57454,-228.99998 313.54428,-229.31894 314.43750,-229.78123 C 314.83590,-228.78147 315.53864,-227.99491 316.37500,-227.34373 C 316.19499,-226.74811 316.00000,-226.15408 316.00000,-225.49998 C 316.00000,-221.91198 318.91200,-218.99998 322.50000,-218.99998 C 326.08800,-218.99998 329.00000,-221.91198 329.00000,-225.49998 C 329.00000,-227.86077 327.66567,-229.83017 325.78125,-230.96873 C 325.84384,-231.31596 326.00000,-231.63481 326.00000,-231.99998 C 326.00000,-235.31198 323.31200,-237.99998 320.00000,-237.99998 C 319.14702,-237.99998 318.32870,-237.82130 317.59375,-237.49998 C 316.73998,-240.09386 314.37851,-241.99997 311.50000,-241.99998 z "
- id="path13219" />
- <path
- sodipodi:type="arc"
- style="opacity:1.0000000;fill:#888a85;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- id="path13221"
- sodipodi:cx="241.80843"
- sodipodi:cy="-383.66660"
- sodipodi:rx="6.7396116"
- sodipodi:ry="6.7396116"
- d="M 248.54804 -383.66660 A 6.7396116 6.7396116 0 1 1 235.06881,-383.66660 A 6.7396116 6.7396116 0 1 1 248.54804 -383.66660 z"
- transform="matrix(0.964447,0.000000,0.000000,0.964447,89.28852,144.5262)" />
- <g
- id="g13223">
- <path
- transform="matrix(0.882630,0.000000,0.000000,0.882630,96.18078,108.1091)"
- d="M 250.18322 -389.30136 A 6.2313786 6.2313786 0 1 1 237.72046,-389.30136 A 6.2313786 6.2313786 0 1 1 250.18322 -389.30136 z"
- sodipodi:ry="6.2313786"
- sodipodi:rx="6.2313786"
- sodipodi:cy="-389.30136"
- sodipodi:cx="243.95184"
- id="path13225"
- style="opacity:1.0000000;fill:#888a85;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- sodipodi:type="arc" />
- <path
- transform="matrix(0.882630,0.000000,0.000000,0.882630,96.18078,108.1091)"
- d="M 250.18322 -389.30136 A 6.2313786 6.2313786 0 1 1 237.72046,-389.30136 A 6.2313786 6.2313786 0 1 1 250.18322 -389.30136 z"
- sodipodi:ry="6.2313786"
- sodipodi:rx="6.2313786"
- sodipodi:cy="-389.30136"
- sodipodi:cx="243.95184"
- id="path13227"
- style="opacity:0.49444440;fill:url(#linearGradient13317);fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- sodipodi:type="arc" />
+ <g transform="matrix(0.999675,0.000000,0.000000,1.000000,-286.8562,245.0000)">
+ <g>
+ <path d="M 311.50000,-242.99998 C 308.72758,-242.99998 306.39177,-241.42627 305.09375,-239.18748 C 304.14939,-239.66252 303.12856,-239.99998 302.00000,-239.99998 C 298.13600,-239.99998 295.00000,-236.86398 295.00000,-232.99998 C 295.00000,-229.13598 298.13600,-225.99998 302.00000,-225.99998 C 304.41967,-225.99998 306.43009,-227.31930 307.68750,-229.18748 C 308.82170,-228.49786 310.07648,-227.99998 311.50000,-227.99998 C 312.41312,-227.99998 313.25295,-228.23200 314.06250,-228.53123 C 314.57244,-227.66350 315.24162,-226.95151 316.06250,-226.37498 C 316.05526,-226.24460 316.00000,-226.13216 316.00000,-225.99998 C 316.00000,-222.13598 319.13599,-218.99998 323.00000,-218.99998 C 326.86400,-218.99998 330.00000,-222.13598 330.00000,-225.99998 C 330.00000,-228.36967 328.74102,-230.35832 326.93750,-231.62498 C 326.94474,-231.75536 327.00000,-231.86780 327.00000,-231.99998 C 327.00000,-235.86398 323.86401,-238.99998 320.00000,-238.99998 C 319.37730,-238.99998 318.82481,-238.77779 318.25000,-238.62498 C 317.05547,-241.18382 314.50866,-242.99998 311.50000,-242.99998 z " opacity="1.0000000" fill="#555753" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path d="M 311.50000,-241.99998 C 308.71952,-241.99998 306.36549,-240.23813 305.43750,-237.78123 C 304.45208,-238.49067 303.30607,-238.99998 302.00000,-238.99998 C 298.68800,-238.99998 296.00000,-236.31198 296.00000,-232.99998 C 296.00000,-229.68798 298.68800,-226.99998 302.00000,-226.99998 C 304.42775,-226.99998 306.49324,-228.45556 307.43750,-230.53123 C 308.55826,-229.61367 309.93964,-228.99998 311.50000,-228.99998 C 312.57454,-228.99998 313.54428,-229.31894 314.43750,-229.78123 C 314.83590,-228.78147 315.53864,-227.99491 316.37500,-227.34373 C 316.19499,-226.74811 316.00000,-226.15408 316.00000,-225.49998 C 316.00000,-221.91198 318.91200,-218.99998 322.50000,-218.99998 C 326.08800,-218.99998 329.00000,-221.91198 329.00000,-225.49998 C 329.00000,-227.86077 327.66567,-229.83017 325.78125,-230.96873 C 325.84384,-231.31596 326.00000,-231.63481 326.00000,-231.99998 C 326.00000,-235.31198 323.31200,-237.99998 320.00000,-237.99998 C 319.14702,-237.99998 318.32870,-237.82130 317.59375,-237.49998 C 316.73998,-240.09386 314.37851,-241.99997 311.50000,-241.99998 z " opacity="1.0000000" fill="url(#linearGradient13315)" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path d="M 248.54804 -383.66660 A 6.7396116 6.7396116 0 1 1 235.06881,-383.66660 A 6.7396116 6.7396116 0 1 1 248.54804 -383.66660 z" transform="matrix(0.964447,0.000000,0.000000,0.964447,89.28852,144.5262)" opacity="1.0000000" fill="#888a85" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <g>
+ <path transform="matrix(0.882630,0.000000,0.000000,0.882630,96.18078,108.1091)" d="M 250.18322 -389.30136 A 6.2313786 6.2313786 0 1 1 237.72046,-389.30136 A 6.2313786 6.2313786 0 1 1 250.18322 -389.30136 z" opacity="1.0000000" fill="#888a85" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path transform="matrix(0.882630,0.000000,0.000000,0.882630,96.18078,108.1091)" d="M 250.18322 -389.30136 A 6.2313786 6.2313786 0 1 1 237.72046,-389.30136 A 6.2313786 6.2313786 0 1 1 250.18322 -389.30136 z" opacity="0.49444440" fill="url(#linearGradient13317)" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
</g>
- <g
- id="g13229">
- <path
- transform="matrix(0.911728,0.000000,0.000000,0.911728,90.45407,120.2336)"
- d="M 257.25429 -385.78790 A 6.0325046 6.0325046 0 1 1 245.18928,-385.78790 A 6.0325046 6.0325046 0 1 1 257.25429 -385.78790 z"
- sodipodi:ry="6.0325046"
- sodipodi:rx="6.0325046"
- sodipodi:cy="-385.78790"
- sodipodi:cx="251.22179"
- id="path13231"
- style="opacity:1.0000000;fill:#888a85;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- sodipodi:type="arc" />
- <path
- transform="matrix(0.911728,0.000000,0.000000,0.911728,90.45407,120.2336)"
- d="M 257.25429 -385.78790 A 6.0325046 6.0325046 0 1 1 245.18928,-385.78790 A 6.0325046 6.0325046 0 1 1 257.25429 -385.78790 z"
- sodipodi:ry="6.0325046"
- sodipodi:rx="6.0325046"
- sodipodi:cy="-385.78790"
- sodipodi:cx="251.22179"
- id="path13233"
- style="opacity:0.49444440;fill:url(#linearGradient13319);fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- sodipodi:type="arc" />
+ <g>
+ <path transform="matrix(0.911728,0.000000,0.000000,0.911728,90.45407,120.2336)" d="M 257.25429 -385.78790 A 6.0325046 6.0325046 0 1 1 245.18928,-385.78790 A 6.0325046 6.0325046 0 1 1 257.25429 -385.78790 z" opacity="1.0000000" fill="#888a85" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path transform="matrix(0.911728,0.000000,0.000000,0.911728,90.45407,120.2336)" d="M 257.25429 -385.78790 A 6.0325046 6.0325046 0 1 1 245.18928,-385.78790 A 6.0325046 6.0325046 0 1 1 257.25429 -385.78790 z" opacity="0.49444440" fill="url(#linearGradient13319)" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
</g>
- <g
- id="g13235">
- <path
- transform="matrix(1.142799,0.000000,0.000000,1.142799,35.23229,210.2770)"
- d="M 237.80885 -387.88715 A 4.3752232 4.3752232 0 1 1 229.05840,-387.88715 A 4.3752232 4.3752232 0 1 1 237.80885 -387.88715 z"
- sodipodi:ry="4.3752232"
- sodipodi:rx="4.3752232"
- sodipodi:cy="-387.88715"
- sodipodi:cx="233.43362"
- id="path13237"
- style="opacity:1.0000000;fill:#888a85;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- sodipodi:type="arc" />
- <path
- transform="matrix(1.142799,0.000000,0.000000,1.142799,35.23229,210.2770)"
- d="M 237.80885 -387.88715 A 4.3752232 4.3752232 0 1 1 229.05840,-387.88715 A 4.3752232 4.3752232 0 1 1 237.80885 -387.88715 z"
- sodipodi:ry="4.3752232"
- sodipodi:rx="4.3752232"
- sodipodi:cy="-387.88715"
- sodipodi:cx="233.43362"
- id="path13239"
- style="opacity:0.49444440;fill:url(#linearGradient13321);fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- sodipodi:type="arc" />
+ <g>
+ <path transform="matrix(1.142799,0.000000,0.000000,1.142799,35.23229,210.2770)" d="M 237.80885 -387.88715 A 4.3752232 4.3752232 0 1 1 229.05840,-387.88715 A 4.3752232 4.3752232 0 1 1 237.80885 -387.88715 z" opacity="1.0000000" fill="#888a85" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path transform="matrix(1.142799,0.000000,0.000000,1.142799,35.23229,210.2770)" d="M 237.80885 -387.88715 A 4.3752232 4.3752232 0 1 1 229.05840,-387.88715 A 4.3752232 4.3752232 0 1 1 237.80885 -387.88715 z" opacity="0.49444440" fill="url(#linearGradient13321)" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
</g>
- <g
- id="g13241">
- <path
- transform="matrix(1.038636,0.000000,0.000000,1.038636,59.84906,169.4899)"
- d="M 248.54804 -383.66660 A 6.7396116 6.7396116 0 1 1 235.06881,-383.66660 A 6.7396116 6.7396116 0 1 1 248.54804 -383.66660 z"
- sodipodi:ry="6.7396116"
- sodipodi:rx="6.7396116"
- sodipodi:cy="-383.66660"
- sodipodi:cx="241.80843"
- id="path13243"
- style="opacity:1.0000000;fill:#888a85;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- sodipodi:type="arc" />
- <path
- transform="matrix(1.038636,0.000000,0.000000,1.038636,59.84907,169.4899)"
- d="M 248.54804 -383.66660 A 6.7396116 6.7396116 0 1 1 235.06881,-383.66660 A 6.7396116 6.7396116 0 1 1 248.54804 -383.66660 z"
- sodipodi:ry="6.7396116"
- sodipodi:rx="6.7396116"
- sodipodi:cy="-383.66660"
- sodipodi:cx="241.80843"
- id="path13245"
- style="opacity:0.49444440;fill:url(#linearGradient13323);fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- sodipodi:type="arc" />
+ <g>
+ <path transform="matrix(1.038636,0.000000,0.000000,1.038636,59.84906,169.4899)" d="M 248.54804 -383.66660 A 6.7396116 6.7396116 0 1 1 235.06881,-383.66660 A 6.7396116 6.7396116 0 1 1 248.54804 -383.66660 z" opacity="1.0000000" fill="#888a85" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path transform="matrix(1.038636,0.000000,0.000000,1.038636,59.84907,169.4899)" d="M 248.54804 -383.66660 A 6.7396116 6.7396116 0 1 1 235.06881,-383.66660 A 6.7396116 6.7396116 0 1 1 248.54804 -383.66660 z" opacity="0.49444440" fill="url(#linearGradient13323)" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
</g>
</g>
- <g
- transform="translate(72.00007,7.999930)"
- id="g13247">
- <path
- style="fill:#888a85;fill-opacity:1.0000000;stroke:#555753;stroke-width:1.0001625;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- d="M 246.49993,-238.49993 C 244.22910,-238.49993 242.39002,-236.94965 241.78118,-234.87493 C 241.08795,-235.23876 240.33667,-235.49993 239.49993,-235.49993 C 236.73993,-235.49993 234.49992,-233.25994 234.49993,-230.49993 C 234.49993,-229.92100 234.66245,-229.39223 234.84368,-228.87493 C 233.47021,-228.10419 232.49993,-226.68593 232.49993,-224.99993 C 232.49993,-222.51593 234.51593,-220.49992 236.99993,-220.49993 C 237.17706,-220.49993 255.82280,-220.49993 255.99993,-220.49993 C 258.48392,-220.49993 260.49993,-222.51593 260.49993,-224.99993 C 260.49993,-226.68593 259.52965,-228.10419 258.15618,-228.87493 C 258.33742,-229.39222 258.49993,-229.92101 258.49993,-230.49993 C 258.49993,-233.25993 256.25993,-235.49992 253.49993,-235.49993 C 252.66319,-235.49993 251.91191,-235.23876 251.21868,-234.87493 C 250.60984,-236.94965 248.77076,-238.49993 246.49993,-238.49993 z "
- id="path13249"
- sodipodi:nodetypes="ccsscsssscsscc" />
- <path
- style="opacity:1.0000000;fill:url(#linearGradient13325);fill-opacity:1.0000000;stroke:none;stroke-width:0.99999958;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- d="M 246.49993,-237.99993 C 244.31021,-237.99993 242.77633,-236.66416 242.10438,-234.15641 C 241.43592,-234.50003 240.55679,-234.98976 239.74993,-234.98976 C 237.03342,-234.98976 234.99479,-233.05094 234.99480,-230.44422 C 234.99480,-229.89745 235.26201,-229.11078 235.43676,-228.62221 C 234.11233,-227.89426 232.99993,-226.73171 232.99993,-225.24966 C 232.99993,-222.90361 234.54610,-220.99957 237.33921,-220.99957 C 237.51002,-220.99957 255.48985,-220.99957 255.66065,-220.99957 C 258.43166,-220.99957 259.99993,-222.90361 259.99993,-225.24966 C 259.99993,-226.84203 258.88753,-227.91635 257.56310,-228.64430 C 257.73786,-229.13286 258.02717,-229.89746 258.02717,-230.44422 C 258.02717,-233.05093 255.91136,-235.01185 253.24994,-235.01186 C 252.44307,-235.01186 251.60813,-234.52212 250.93967,-234.17850 C 250.29082,-236.60004 248.68966,-237.99993 246.49993,-237.99993 z "
- id="path13251"
- sodipodi:nodetypes="ccsscsssscsscc" />
- <path
- sodipodi:type="arc"
- style="opacity:1.0000000;fill:#888a85;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- id="path13253"
- sodipodi:cx="288.37500"
- sodipodi:cy="-437.59375"
- sodipodi:rx="3.3125000"
- sodipodi:ry="3.3125000"
- d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z"
- transform="matrix(1.056604,0.000000,0.000000,1.056604,-58.19825,228.8634)" />
- <path
- sodipodi:type="arc"
- style="opacity:0.47777775;fill:url(#linearGradient13327);fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- id="path13255"
- sodipodi:cx="288.37500"
- sodipodi:cy="-437.59375"
- sodipodi:rx="3.3125000"
- sodipodi:ry="3.3125000"
- d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z"
- transform="matrix(1.056604,0.000000,0.000000,1.056604,-58.19825,228.8634)" />
- <rect
- style="opacity:1.0000000;fill:#888a85;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- id="rect13257"
- width="20.000000"
- height="9.0000000"
- x="236.99994"
- y="-230.99992" />
- <path
- sodipodi:type="arc"
- style="opacity:1.0000000;fill:#888a85;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- id="path13259"
- sodipodi:cx="288.37500"
- sodipodi:cy="-437.59375"
- sodipodi:rx="3.3125000"
- sodipodi:ry="3.3125000"
- d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z"
- transform="matrix(0.905660,0.000000,0.000000,0.905660,-24.16987,171.3114)" />
- <path
- sodipodi:type="arc"
- style="opacity:1.0000000;fill:#888a85;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- id="path13261"
- sodipodi:cx="288.37500"
- sodipodi:cy="-437.59375"
- sodipodi:rx="3.3125000"
- sodipodi:ry="3.3125000"
- d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z"
- transform="matrix(1.056604,0.000000,0.000000,1.056604,-51.19818,231.8633)" />
- <path
- sodipodi:type="arc"
- style="opacity:0.47777775;fill:url(#linearGradient13329);fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- id="path13263"
- sodipodi:cx="288.37500"
- sodipodi:cy="-437.59375"
- sodipodi:rx="3.3125000"
- sodipodi:ry="3.3125000"
- d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z"
- transform="matrix(1.056604,0.000000,0.000000,1.056604,-51.19825,231.8634)" />
- <path
- sodipodi:type="arc"
- style="opacity:1.0000000;fill:#888a85;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- id="path13265"
- sodipodi:cx="288.37500"
- sodipodi:cy="-437.59375"
- sodipodi:rx="3.3125000"
- sodipodi:ry="3.3125000"
- d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z"
- transform="matrix(1.056604,0.000000,0.000000,1.056604,-65.19825,231.8634)" />
- <path
- sodipodi:type="arc"
- style="opacity:0.47777775;fill:url(#linearGradient13331);fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- id="path13267"
- sodipodi:cx="288.37500"
- sodipodi:cy="-437.59375"
- sodipodi:rx="3.3125000"
- sodipodi:ry="3.3125000"
- d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z"
- transform="matrix(1.056604,0.000000,0.000000,1.056604,-65.19825,231.8634)" />
- <path
- style="opacity:1.0000000;fill:#888a85;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- d="M 245.46868,-233.96868 C 241.88930,-233.96868 238.99993,-231.04805 238.99993,-227.46868 C 238.99993,-225.09800 240.34936,-223.13089 242.24993,-221.99993 L 248.71868,-221.99993 C 250.61925,-223.13089 251.96868,-225.12924 251.96868,-227.49993 C 251.96868,-231.07931 249.04805,-233.96868 245.46868,-233.96868 z "
- id="path13269" />
- <path
- style="opacity:0.47777775;fill:url(#linearGradient13333);fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- d="M 245.49993,-233.99993 C 241.91193,-233.99993 238.99993,-231.08792 238.99993,-227.49993 C 238.99993,-225.12353 240.34478,-223.13361 242.24993,-221.99993 L 248.74993,-221.99993 C 250.65508,-223.13361 251.99993,-225.12353 251.99993,-227.49993 C 251.99993,-231.08793 249.08793,-233.99992 245.49993,-233.99993 z "
- id="path13271" />
- <path
- sodipodi:type="arc"
- style="opacity:0.47777775;fill:url(#linearGradient13335);fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- id="path13273"
- sodipodi:cx="288.37500"
- sodipodi:cy="-437.59375"
- sodipodi:rx="3.3125000"
- sodipodi:ry="3.3125000"
- d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z"
- transform="matrix(0.905660,0.000000,0.000000,0.905660,-24.16977,171.3113)" />
- <path
- style="fill:#555753;fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000"
- d="M 258.95633,-230.33389 C 258.95480,-227.64933 255.68707,-226.61994 255.68707,-226.61994 C 255.68707,-226.61994 258.03581,-228.24589 258.02392,-230.32495 C 258.02392,-230.32495 258.95633,-230.33389 258.95633,-230.33389 z "
- id="path13275"
- sodipodi:nodetypes="ccss" />
- <path
- sodipodi:type="arc"
- style="opacity:1.0000000;fill:#888a85;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- id="path13277"
- sodipodi:cx="288.37500"
- sodipodi:cy="-437.59375"
- sodipodi:rx="3.3125000"
- sodipodi:ry="3.3125000"
- d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z"
- transform="matrix(1.207547,0.000000,0.000000,1.207547,-98.22652,302.4154)" />
- <path
- sodipodi:type="arc"
- style="opacity:0.47777775;fill:url(#linearGradient13337);fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- id="path13279"
- sodipodi:cx="288.37500"
- sodipodi:cy="-437.59375"
- sodipodi:rx="3.3125000"
- sodipodi:ry="3.3125000"
- d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z"
- transform="matrix(1.207547,0.000000,0.000000,1.207547,-98.22652,302.4154)" />
+ <g transform="translate(72.00007,7.999930)">
+ <path d="M 246.49993,-238.49993 C 244.22910,-238.49993 242.39002,-236.94965 241.78118,-234.87493 C 241.08795,-235.23876 240.33667,-235.49993 239.49993,-235.49993 C 236.73993,-235.49993 234.49992,-233.25994 234.49993,-230.49993 C 234.49993,-229.92100 234.66245,-229.39223 234.84368,-228.87493 C 233.47021,-228.10419 232.49993,-226.68593 232.49993,-224.99993 C 232.49993,-222.51593 234.51593,-220.49992 236.99993,-220.49993 C 237.17706,-220.49993 255.82280,-220.49993 255.99993,-220.49993 C 258.48392,-220.49993 260.49993,-222.51593 260.49993,-224.99993 C 260.49993,-226.68593 259.52965,-228.10419 258.15618,-228.87493 C 258.33742,-229.39222 258.49993,-229.92101 258.49993,-230.49993 C 258.49993,-233.25993 256.25993,-235.49992 253.49993,-235.49993 C 252.66319,-235.49993 251.91191,-235.23876 251.21868,-234.87493 C 250.60984,-236.94965 248.77076,-238.49993 246.49993,-238.49993 z " fill="#888a85" fill-opacity="1.0000000" stroke="#555753" stroke-width="1.0001625" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path d="M 246.49993,-237.99993 C 244.31021,-237.99993 242.77633,-236.66416 242.10438,-234.15641 C 241.43592,-234.50003 240.55679,-234.98976 239.74993,-234.98976 C 237.03342,-234.98976 234.99479,-233.05094 234.99480,-230.44422 C 234.99480,-229.89745 235.26201,-229.11078 235.43676,-228.62221 C 234.11233,-227.89426 232.99993,-226.73171 232.99993,-225.24966 C 232.99993,-222.90361 234.54610,-220.99957 237.33921,-220.99957 C 237.51002,-220.99957 255.48985,-220.99957 255.66065,-220.99957 C 258.43166,-220.99957 259.99993,-222.90361 259.99993,-225.24966 C 259.99993,-226.84203 258.88753,-227.91635 257.56310,-228.64430 C 257.73786,-229.13286 258.02717,-229.89746 258.02717,-230.44422 C 258.02717,-233.05093 255.91136,-235.01185 253.24994,-235.01186 C 252.44307,-235.01186 251.60813,-234.52212 250.93967,-234.17850 C 250.29082,-236.60004 248.68966,-237.99993 246.49993,-237.99993 z " opacity="1.0000000" fill="url(#linearGradient13325)" fill-opacity="1.0000000" stroke="none" stroke-width="0.99999958" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z" transform="matrix(1.056604,0.000000,0.000000,1.056604,-58.19825,228.8634)" opacity="1.0000000" fill="#888a85" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z" transform="matrix(1.056604,0.000000,0.000000,1.056604,-58.19825,228.8634)" opacity="0.47777775" fill="url(#linearGradient13327)" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <rect width="20.000000" height="9.0000000" x="236.99994" y="-230.99992" opacity="1.0000000" fill="#888a85" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z" transform="matrix(0.905660,0.000000,0.000000,0.905660,-24.16987,171.3114)" opacity="1.0000000" fill="#888a85" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z" transform="matrix(1.056604,0.000000,0.000000,1.056604,-51.19818,231.8633)" opacity="1.0000000" fill="#888a85" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z" transform="matrix(1.056604,0.000000,0.000000,1.056604,-51.19825,231.8634)" opacity="0.47777775" fill="url(#linearGradient13329)" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z" transform="matrix(1.056604,0.000000,0.000000,1.056604,-65.19825,231.8634)" opacity="1.0000000" fill="#888a85" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z" transform="matrix(1.056604,0.000000,0.000000,1.056604,-65.19825,231.8634)" opacity="0.47777775" fill="url(#linearGradient13331)" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path d="M 245.46868,-233.96868 C 241.88930,-233.96868 238.99993,-231.04805 238.99993,-227.46868 C 238.99993,-225.09800 240.34936,-223.13089 242.24993,-221.99993 L 248.71868,-221.99993 C 250.61925,-223.13089 251.96868,-225.12924 251.96868,-227.49993 C 251.96868,-231.07931 249.04805,-233.96868 245.46868,-233.96868 z " opacity="1.0000000" fill="#888a85" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path d="M 245.49993,-233.99993 C 241.91193,-233.99993 238.99993,-231.08792 238.99993,-227.49993 C 238.99993,-225.12353 240.34478,-223.13361 242.24993,-221.99993 L 248.74993,-221.99993 C 250.65508,-223.13361 251.99993,-225.12353 251.99993,-227.49993 C 251.99993,-231.08793 249.08793,-233.99992 245.49993,-233.99993 z " opacity="0.47777775" fill="url(#linearGradient13333)" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z" transform="matrix(0.905660,0.000000,0.000000,0.905660,-24.16977,171.3113)" opacity="0.47777775" fill="url(#linearGradient13335)" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path d="M 258.95633,-230.33389 C 258.95480,-227.64933 255.68707,-226.61994 255.68707,-226.61994 C 255.68707,-226.61994 258.03581,-228.24589 258.02392,-230.32495 C 258.02392,-230.32495 258.95633,-230.33389 258.95633,-230.33389 z " fill="#555753" fill-opacity="1.0000000" fill-rule="evenodd" stroke="none" stroke-width="1.0000000px" stroke-linecap="butt" stroke-linejoin="miter" stroke-opacity="1.0000000"/>
+ <path d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z" transform="matrix(1.207547,0.000000,0.000000,1.207547,-98.22652,302.4154)" opacity="1.0000000" fill="#888a85" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z" transform="matrix(1.207547,0.000000,0.000000,1.207547,-98.22652,302.4154)" opacity="0.47777775" fill="url(#linearGradient13337)" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
</g>
- <g
- transform="translate(56.98577,3.983930)"
- id="g13281">
- <path
- style="fill:#888a85;fill-opacity:1.0000000;stroke:#555753;stroke-width:1.0001625;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- d="M 246.49993,-238.49993 C 244.22910,-238.49993 242.39002,-236.94965 241.78118,-234.87493 C 241.08795,-235.23876 240.33667,-235.49993 239.49993,-235.49993 C 236.73993,-235.49993 234.49992,-233.25994 234.49993,-230.49993 C 234.49993,-229.92100 234.66245,-229.39223 234.84368,-228.87493 C 233.47021,-228.10419 232.49993,-226.68593 232.49993,-224.99993 C 232.49993,-222.51593 234.51593,-220.49992 236.99993,-220.49993 C 237.17706,-220.49993 255.82280,-220.49993 255.99993,-220.49993 C 258.48392,-220.49993 260.49993,-222.51593 260.49993,-224.99993 C 260.49993,-226.68593 259.52965,-228.10419 258.15618,-228.87493 C 258.33742,-229.39222 258.49993,-229.92101 258.49993,-230.49993 C 258.49993,-233.25993 256.25993,-235.49992 253.49993,-235.49993 C 252.66319,-235.49993 251.91191,-235.23876 251.21868,-234.87493 C 250.60984,-236.94965 248.77076,-238.49993 246.49993,-238.49993 z "
- id="path13283"
- sodipodi:nodetypes="ccsscsssscsscc" />
- <path
- style="opacity:1.0000000;fill:url(#linearGradient13339);fill-opacity:1.0000000;stroke:none;stroke-width:0.99999958;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- d="M 246.49993,-237.99993 C 244.31021,-237.99993 242.77633,-236.66416 242.10438,-234.15641 C 241.43592,-234.50003 240.55679,-234.98976 239.74993,-234.98976 C 237.03342,-234.98976 234.99479,-233.05094 234.99480,-230.44422 C 234.99480,-229.89745 235.26201,-229.11078 235.43676,-228.62221 C 234.11233,-227.89426 232.99993,-226.73171 232.99993,-225.24966 C 232.99993,-222.90361 234.54610,-220.99957 237.33921,-220.99957 C 237.51002,-220.99957 255.48985,-220.99957 255.66065,-220.99957 C 258.43166,-220.99957 259.99993,-222.90361 259.99993,-225.24966 C 259.99993,-226.84203 258.88753,-227.91635 257.56310,-228.64430 C 257.73786,-229.13286 258.02717,-229.89746 258.02717,-230.44422 C 258.02717,-233.05093 255.91136,-235.01185 253.24994,-235.01186 C 252.44307,-235.01186 251.60813,-234.52212 250.93967,-234.17850 C 250.29082,-236.60004 248.68966,-237.99993 246.49993,-237.99993 z "
- id="path13285"
- sodipodi:nodetypes="ccsscsssscsscc" />
- <path
- sodipodi:type="arc"
- style="opacity:1.0000000;fill:#888a85;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- id="path13287"
- sodipodi:cx="288.37500"
- sodipodi:cy="-437.59375"
- sodipodi:rx="3.3125000"
- sodipodi:ry="3.3125000"
- d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z"
- transform="matrix(1.056604,0.000000,0.000000,1.056604,-58.19825,228.8634)" />
- <path
- sodipodi:type="arc"
- style="opacity:0.47777775;fill:url(#linearGradient13341);fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- id="path13289"
- sodipodi:cx="288.37500"
- sodipodi:cy="-437.59375"
- sodipodi:rx="3.3125000"
- sodipodi:ry="3.3125000"
- d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z"
- transform="matrix(1.056604,0.000000,0.000000,1.056604,-58.19825,228.8634)" />
- <rect
- style="opacity:1.0000000;fill:#888a85;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- id="rect13291"
- width="20.000000"
- height="9.0000000"
- x="236.99994"
- y="-230.99992" />
- <path
- sodipodi:type="arc"
- style="opacity:1.0000000;fill:#888a85;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- id="path13293"
- sodipodi:cx="288.37500"
- sodipodi:cy="-437.59375"
- sodipodi:rx="3.3125000"
- sodipodi:ry="3.3125000"
- d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z"
- transform="matrix(0.905660,0.000000,0.000000,0.905660,-24.16987,171.3114)" />
- <path
- sodipodi:type="arc"
- style="opacity:1.0000000;fill:#888a85;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- id="path13295"
- sodipodi:cx="288.37500"
- sodipodi:cy="-437.59375"
- sodipodi:rx="3.3125000"
- sodipodi:ry="3.3125000"
- d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z"
- transform="matrix(1.056604,0.000000,0.000000,1.056604,-51.19818,231.8633)" />
- <path
- sodipodi:type="arc"
- style="opacity:0.47777775;fill:url(#linearGradient13343);fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- id="path13297"
- sodipodi:cx="288.37500"
- sodipodi:cy="-437.59375"
- sodipodi:rx="3.3125000"
- sodipodi:ry="3.3125000"
- d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z"
- transform="matrix(1.056604,0.000000,0.000000,1.056604,-51.19825,231.8634)" />
- <path
- sodipodi:type="arc"
- style="opacity:1.0000000;fill:#888a85;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- id="path13299"
- sodipodi:cx="288.37500"
- sodipodi:cy="-437.59375"
- sodipodi:rx="3.3125000"
- sodipodi:ry="3.3125000"
- d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z"
- transform="matrix(1.056604,0.000000,0.000000,1.056604,-65.19825,231.8634)" />
- <path
- sodipodi:type="arc"
- style="opacity:0.47777775;fill:url(#linearGradient13345);fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- id="path13301"
- sodipodi:cx="288.37500"
- sodipodi:cy="-437.59375"
- sodipodi:rx="3.3125000"
- sodipodi:ry="3.3125000"
- d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z"
- transform="matrix(1.056604,0.000000,0.000000,1.056604,-65.19825,231.8634)" />
- <path
- style="opacity:1.0000000;fill:#888a85;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- d="M 245.46868,-233.96868 C 241.88930,-233.96868 238.99993,-231.04805 238.99993,-227.46868 C 238.99993,-225.09800 240.34936,-223.13089 242.24993,-221.99993 L 248.71868,-221.99993 C 250.61925,-223.13089 251.96868,-225.12924 251.96868,-227.49993 C 251.96868,-231.07931 249.04805,-233.96868 245.46868,-233.96868 z "
- id="path13303" />
- <path
- style="opacity:0.47777775;fill:url(#linearGradient13347);fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- d="M 245.49993,-233.99993 C 241.91193,-233.99993 238.99993,-231.08792 238.99993,-227.49993 C 238.99993,-225.12353 240.34478,-223.13361 242.24993,-221.99993 L 248.74993,-221.99993 C 250.65508,-223.13361 251.99993,-225.12353 251.99993,-227.49993 C 251.99993,-231.08793 249.08793,-233.99992 245.49993,-233.99993 z "
- id="path13305" />
- <path
- sodipodi:type="arc"
- style="opacity:0.47777775;fill:url(#linearGradient13350);fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- id="path13307"
- sodipodi:cx="288.37500"
- sodipodi:cy="-437.59375"
- sodipodi:rx="3.3125000"
- sodipodi:ry="3.3125000"
- d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z"
- transform="matrix(0.905660,0.000000,0.000000,0.905660,-24.16977,171.3113)" />
- <path
- style="fill:#555753;fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000"
- d="M 258.95633,-230.33389 C 258.95480,-227.64933 255.68707,-226.61994 255.68707,-226.61994 C 255.68707,-226.61994 258.03581,-228.24589 258.02392,-230.32495 C 258.02392,-230.32495 258.95633,-230.33389 258.95633,-230.33389 z "
- id="path13309"
- sodipodi:nodetypes="ccss" />
- <path
- sodipodi:type="arc"
- style="opacity:1.0000000;fill:#888a85;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- id="path13311"
- sodipodi:cx="288.37500"
- sodipodi:cy="-437.59375"
- sodipodi:rx="3.3125000"
- sodipodi:ry="3.3125000"
- d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z"
- transform="matrix(1.207547,0.000000,0.000000,1.207547,-98.22652,302.4154)" />
- <path
- sodipodi:type="arc"
- style="opacity:0.47777775;fill:url(#linearGradient13352);fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- id="path13313"
- sodipodi:cx="288.37500"
- sodipodi:cy="-437.59375"
- sodipodi:rx="3.3125000"
- sodipodi:ry="3.3125000"
- d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z"
- transform="matrix(1.207547,0.000000,0.000000,1.207547,-98.22652,302.4154)" />
+ <g transform="translate(56.98577,3.983930)">
+ <path d="M 246.49993,-238.49993 C 244.22910,-238.49993 242.39002,-236.94965 241.78118,-234.87493 C 241.08795,-235.23876 240.33667,-235.49993 239.49993,-235.49993 C 236.73993,-235.49993 234.49992,-233.25994 234.49993,-230.49993 C 234.49993,-229.92100 234.66245,-229.39223 234.84368,-228.87493 C 233.47021,-228.10419 232.49993,-226.68593 232.49993,-224.99993 C 232.49993,-222.51593 234.51593,-220.49992 236.99993,-220.49993 C 237.17706,-220.49993 255.82280,-220.49993 255.99993,-220.49993 C 258.48392,-220.49993 260.49993,-222.51593 260.49993,-224.99993 C 260.49993,-226.68593 259.52965,-228.10419 258.15618,-228.87493 C 258.33742,-229.39222 258.49993,-229.92101 258.49993,-230.49993 C 258.49993,-233.25993 256.25993,-235.49992 253.49993,-235.49993 C 252.66319,-235.49993 251.91191,-235.23876 251.21868,-234.87493 C 250.60984,-236.94965 248.77076,-238.49993 246.49993,-238.49993 z " fill="#888a85" fill-opacity="1.0000000" stroke="#555753" stroke-width="1.0001625" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path d="M 246.49993,-237.99993 C 244.31021,-237.99993 242.77633,-236.66416 242.10438,-234.15641 C 241.43592,-234.50003 240.55679,-234.98976 239.74993,-234.98976 C 237.03342,-234.98976 234.99479,-233.05094 234.99480,-230.44422 C 234.99480,-229.89745 235.26201,-229.11078 235.43676,-228.62221 C 234.11233,-227.89426 232.99993,-226.73171 232.99993,-225.24966 C 232.99993,-222.90361 234.54610,-220.99957 237.33921,-220.99957 C 237.51002,-220.99957 255.48985,-220.99957 255.66065,-220.99957 C 258.43166,-220.99957 259.99993,-222.90361 259.99993,-225.24966 C 259.99993,-226.84203 258.88753,-227.91635 257.56310,-228.64430 C 257.73786,-229.13286 258.02717,-229.89746 258.02717,-230.44422 C 258.02717,-233.05093 255.91136,-235.01185 253.24994,-235.01186 C 252.44307,-235.01186 251.60813,-234.52212 250.93967,-234.17850 C 250.29082,-236.60004 248.68966,-237.99993 246.49993,-237.99993 z " opacity="1.0000000" fill="url(#linearGradient13339)" fill-opacity="1.0000000" stroke="none" stroke-width="0.99999958" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z" transform="matrix(1.056604,0.000000,0.000000,1.056604,-58.19825,228.8634)" opacity="1.0000000" fill="#888a85" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z" transform="matrix(1.056604,0.000000,0.000000,1.056604,-58.19825,228.8634)" opacity="0.47777775" fill="url(#linearGradient13341)" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <rect width="20.000000" height="9.0000000" x="236.99994" y="-230.99992" opacity="1.0000000" fill="#888a85" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z" transform="matrix(0.905660,0.000000,0.000000,0.905660,-24.16987,171.3114)" opacity="1.0000000" fill="#888a85" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z" transform="matrix(1.056604,0.000000,0.000000,1.056604,-51.19818,231.8633)" opacity="1.0000000" fill="#888a85" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z" transform="matrix(1.056604,0.000000,0.000000,1.056604,-51.19825,231.8634)" opacity="0.47777775" fill="url(#linearGradient13343)" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z" transform="matrix(1.056604,0.000000,0.000000,1.056604,-65.19825,231.8634)" opacity="1.0000000" fill="#888a85" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z" transform="matrix(1.056604,0.000000,0.000000,1.056604,-65.19825,231.8634)" opacity="0.47777775" fill="url(#linearGradient13345)" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path d="M 245.46868,-233.96868 C 241.88930,-233.96868 238.99993,-231.04805 238.99993,-227.46868 C 238.99993,-225.09800 240.34936,-223.13089 242.24993,-221.99993 L 248.71868,-221.99993 C 250.61925,-223.13089 251.96868,-225.12924 251.96868,-227.49993 C 251.96868,-231.07931 249.04805,-233.96868 245.46868,-233.96868 z " opacity="1.0000000" fill="#888a85" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path d="M 245.49993,-233.99993 C 241.91193,-233.99993 238.99993,-231.08792 238.99993,-227.49993 C 238.99993,-225.12353 240.34478,-223.13361 242.24993,-221.99993 L 248.74993,-221.99993 C 250.65508,-223.13361 251.99993,-225.12353 251.99993,-227.49993 C 251.99993,-231.08793 249.08793,-233.99992 245.49993,-233.99993 z " opacity="0.47777775" fill="url(#linearGradient13347)" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z" transform="matrix(0.905660,0.000000,0.000000,0.905660,-24.16977,171.3113)" opacity="0.47777775" fill="url(#linearGradient13350)" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path d="M 258.95633,-230.33389 C 258.95480,-227.64933 255.68707,-226.61994 255.68707,-226.61994 C 255.68707,-226.61994 258.03581,-228.24589 258.02392,-230.32495 C 258.02392,-230.32495 258.95633,-230.33389 258.95633,-230.33389 z " fill="#555753" fill-opacity="1.0000000" fill-rule="evenodd" stroke="none" stroke-width="1.0000000px" stroke-linecap="butt" stroke-linejoin="miter" stroke-opacity="1.0000000"/>
+ <path d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z" transform="matrix(1.207547,0.000000,0.000000,1.207547,-98.22652,302.4154)" opacity="1.0000000" fill="#888a85" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z" transform="matrix(1.207547,0.000000,0.000000,1.207547,-98.22652,302.4154)" opacity="0.47777775" fill="url(#linearGradient13352)" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
</g>
</g>
</g>
diff --git a/demos/embedded/weatherinfo/icons/weather-sleet.svg b/demos/embedded/weatherinfo/icons/weather-sleet.svg
index f1cb9eb..bf2306f 100644
--- a/demos/embedded/weatherinfo/icons/weather-sleet.svg
+++ b/demos/embedded/weatherinfo/icons/weather-sleet.svg
@@ -1,4573 +1,96 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!-- Created with Inkscape (http://www.inkscape.org/) -->
-<svg
- xmlns:dc="http://purl.org/dc/elements/1.1/"
- xmlns:cc="http://creativecommons.org/ns#"
- xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns:svg="http://www.w3.org/2000/svg"
- xmlns="http://www.w3.org/2000/svg"
- xmlns:xlink="http://www.w3.org/1999/xlink"
- xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
- xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
- width="48px"
- height="48px"
- id="svg1306"
- sodipodi:version="0.32"
- inkscape:version="0.46"
- sodipodi:docbase="/home/rcollier/Work/Novell/Tango/weather"
- sodipodi:docname="weather-sleet.svg"
- inkscape:output_extension="org.inkscape.output.svg.inkscape">
- <defs
- id="defs1308">
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient5358"
- id="linearGradient12213"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(-5.358613e-2,0.102849,-9.281434e-2,-5.937964e-2,198.9051,-255.6893)"
- x1="6.8942904"
- y1="-359.82382"
- x2="27.400387"
- y2="-381.30222" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient5346"
- id="radialGradient12211"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(7.065158e-2,4.154803e-2,-6.201499e-2,0.109408,207.4757,-189.8182)"
- cx="21.920311"
- cy="-382.96454"
- fx="21.920311"
- fy="-382.96454"
- r="21.743534" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient5358"
- id="linearGradient12201"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(-5.358613e-2,0.102849,-9.281434e-2,-5.937964e-2,198.9051,-255.6893)"
- x1="6.8942904"
- y1="-359.82382"
- x2="27.400387"
- y2="-381.30222" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient5346"
- id="radialGradient12199"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(7.065158e-2,4.154803e-2,-6.201499e-2,0.109408,207.4757,-189.8182)"
- cx="21.920311"
- cy="-382.96454"
- fx="21.920311"
- fy="-382.96454"
- r="21.743534" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient5358"
- id="linearGradient12253"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(-5.358613e-2,0.102849,-9.281434e-2,-5.937964e-2,198.9051,-255.6893)"
- x1="6.8942904"
- y1="-359.82382"
- x2="27.400387"
- y2="-381.30222" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient5346"
- id="radialGradient12251"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(7.065158e-2,4.154803e-2,-6.201499e-2,0.109408,207.4757,-189.8182)"
- cx="21.920311"
- cy="-382.96454"
- fx="21.920311"
- fy="-382.96454"
- r="21.743534" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient5358"
- id="linearGradient12237"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(-5.358613e-2,0.102849,-9.281434e-2,-5.937964e-2,198.9051,-255.6893)"
- x1="6.8942904"
- y1="-359.82382"
- x2="27.400387"
- y2="-381.30222" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient5346"
- id="radialGradient12235"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(7.065158e-2,4.154803e-2,-6.201499e-2,0.109408,207.4757,-189.8182)"
- cx="21.920311"
- cy="-382.96454"
- fx="21.920311"
- fy="-382.96454"
- r="21.743534" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient5358"
- id="linearGradient12225"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(-5.358613e-2,0.102849,-9.281434e-2,-5.937964e-2,198.9051,-255.6893)"
- x1="6.8942904"
- y1="-359.82382"
- x2="27.400387"
- y2="-381.30222" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient5346"
- id="radialGradient12223"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(7.065158e-2,4.154803e-2,-6.201499e-2,0.109408,207.4757,-189.8182)"
- cx="21.920311"
- cy="-382.96454"
- fx="21.920311"
- fy="-382.96454"
- r="21.743534" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient5358">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop5360" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop5362" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient5358"
- id="linearGradient12249"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(-5.358613e-2,0.102849,-9.281434e-2,-5.937964e-2,198.9051,-255.6893)"
- x1="6.8942904"
- y1="-359.82382"
- x2="27.400387"
- y2="-381.30222" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient5346">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop5348" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop5350" />
- </linearGradient>
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient5346"
- id="radialGradient12247"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(7.065158e-2,4.154803e-2,-6.201499e-2,0.109408,207.4757,-189.8182)"
- cx="21.920311"
- cy="-382.96454"
- fx="21.920311"
- fy="-382.96454"
- r="21.743534" />
- <inkscape:perspective
- sodipodi:type="inkscape:persp3d"
- inkscape:vp_x="0 : 24 : 1"
- inkscape:vp_y="0 : 1000 : 0"
- inkscape:vp_z="48 : 24 : 1"
- inkscape:persp3d-origin="24 : 16 : 1"
- id="perspective6329" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient11348"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.070878,0.000000,-0.535439,0.674858,287.5142,77.50802)"
- x1="-137.49608"
- y1="-425.28664"
- x2="-130.60854"
- y2="-425.28665" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient11346"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.070879,0.000000,-0.535439,0.674857,277.5140,77.50780)"
- x1="-137.49608"
- y1="-425.28664"
- x2="-130.60854"
- y2="-425.28665" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient11344"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.088439,0.000000,-0.544220,0.674842,265.9811,77.50139)"
- x1="-137.49608"
- y1="-425.28664"
- x2="-130.60854"
- y2="-425.28665" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6538"
- id="linearGradient13352"
- gradientUnits="userSpaceOnUse"
- x1="284.80219"
- y1="-441.23294"
- x2="288.89954"
- y2="-436.83109" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6549"
- id="linearGradient13350"
- gradientUnits="userSpaceOnUse"
- x1="286.66589"
- y1="-439.48358"
- x2="289.76562"
- y2="-436.70703" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6527"
- id="linearGradient13347"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-35.00007,207.0001)"
- x1="275.94193"
- y1="-437.10501"
- x2="279.97546"
- y2="-431.91833" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6538"
- id="linearGradient13345"
- gradientUnits="userSpaceOnUse"
- x1="285.94086"
- y1="-439.93900"
- x2="289.39124"
- y2="-436.44290" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6513"
- id="linearGradient13343"
- gradientUnits="userSpaceOnUse"
- x1="286.51172"
- y1="-441.29074"
- x2="289.85379"
- y2="-436.14453" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6497"
- id="linearGradient13341"
- gradientUnits="userSpaceOnUse"
- x1="287.51730"
- y1="-439.75281"
- x2="289.67633"
- y2="-436.32199" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6470"
- id="linearGradient13339"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-34.00007,207.0001)"
- x1="271.02170"
- y1="-441.05182"
- x2="285.02859"
- y2="-431.96991" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6538"
- id="linearGradient13337"
- gradientUnits="userSpaceOnUse"
- x1="284.80219"
- y1="-441.23294"
- x2="288.89954"
- y2="-436.83109" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient6549">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop6551" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop6553" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6549"
- id="linearGradient13335"
- gradientUnits="userSpaceOnUse"
- x1="286.66589"
- y1="-439.48358"
- x2="289.76562"
- y2="-436.70703" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient6527">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop6530" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop6532" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6527"
- id="linearGradient13333"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-35.00007,207.0001)"
- x1="275.94193"
- y1="-437.10501"
- x2="279.97546"
- y2="-431.91833" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient6538">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop6540" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop6542" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6538"
- id="linearGradient13331"
- gradientUnits="userSpaceOnUse"
- x1="285.94086"
- y1="-439.93900"
- x2="289.39124"
- y2="-436.44290" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient6513">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop6515" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop6517" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6513"
- id="linearGradient13329"
- gradientUnits="userSpaceOnUse"
- x1="286.51172"
- y1="-441.29074"
- x2="289.85379"
- y2="-436.14453" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient6497">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop6499" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop6501" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6497"
- id="linearGradient13327"
- gradientUnits="userSpaceOnUse"
- x1="287.51730"
- y1="-439.75281"
- x2="289.67633"
- y2="-436.32199" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient6470">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop6472" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop6474" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6470"
- id="linearGradient13325"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-34.00007,207.0001)"
- x1="271.02170"
- y1="-441.05182"
- x2="285.02859"
- y2="-431.96991" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient8397">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop8400" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop8402" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient8397"
- id="linearGradient13323"
- gradientUnits="userSpaceOnUse"
- x1="238.00478"
- y1="-388.47476"
- x2="245.65462"
- y2="-382.64539" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient8315">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop8317" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop8319" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient8315"
- id="linearGradient13321"
- gradientUnits="userSpaceOnUse"
- x1="230.87598"
- y1="-390.43951"
- x2="235.25652"
- y2="-386.95901" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient8381">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop8383" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop8385" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient8381"
- id="linearGradient13319"
- gradientUnits="userSpaceOnUse"
- x1="246.74042"
- y1="-391.31381"
- x2="252.69785"
- y2="-385.35165" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient8331">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop8333" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop8335" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient8331"
- id="linearGradient13317"
- gradientUnits="userSpaceOnUse"
- x1="240.07379"
- y1="-393.40720"
- x2="245.82706"
- y2="-388.55029" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient8302">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop8304" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop8306" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient8302"
- id="linearGradient13315"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(69.00000,155.0000)"
- x1="228.50261"
- y1="-392.30591"
- x2="266.36395"
- y2="-379.26862" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient4442">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop4444" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop4446" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient4442"
- id="linearGradient4467"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-59.00000,27.72122)"
- x1="4.3602662"
- y1="-21.904713"
- x2="40.139732"
- y2="-1.8452871" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3019"
- id="linearGradient4430"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.813402,0.000000,0.000000,0.813402,7.747730,-6.786242)"
- x1="23.688078"
- y1="28.201012"
- x2="29.521708"
- y2="34.034641" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3019"
- id="linearGradient4426"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.813402,0.000000,0.000000,0.813402,12.43523,-5.473742)"
- x1="23.688078"
- y1="28.201012"
- x2="29.521708"
- y2="34.034641" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3019"
- id="linearGradient4404"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.333333,0.000000,0.000000,1.000000,-14.02052,-13.29853)"
- x1="23.688078"
- y1="28.201012"
- x2="29.521708"
- y2="34.034641" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3019"
- id="linearGradient4407"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.813402,0.000000,0.000000,0.813402,-9.728831,-6.856090)"
- x1="23.688078"
- y1="28.201012"
- x2="29.521708"
- y2="34.034641" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3019"
- id="linearGradient4410"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-4.033948,-17.90479)"
- x1="23.688078"
- y1="28.201012"
- x2="29.521708"
- y2="34.034641" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3019"
- id="linearGradient4413"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.613903,0.000000,0.000000,0.613903,-1.200260,0.631990)"
- x1="23.688078"
- y1="28.201012"
- x2="29.521708"
- y2="34.034641" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3019"
- id="linearGradient4419"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.888889,0.000000,0.000000,0.888889,4.534070,-12.70656)"
- x1="23.688078"
- y1="28.201012"
- x2="29.521708"
- y2="34.034641" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3019"
- id="linearGradient4422"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-9.992899,-16.32980)"
- x1="23.688078"
- y1="28.201012"
- x2="29.521708"
- y2="34.034641" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient4488"
- id="linearGradient4479"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.926905,0.000000,0.000000,0.881886,-60.91820,-2.915960)"
- x1="17.181321"
- y1="32.443652"
- x2="47.342173"
- y2="32.443652" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3019"
- id="linearGradient4359"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.333333,0.000000,0.000000,1.000000,-7.329241,-50.85192)"
- x1="23.688078"
- y1="28.201012"
- x2="29.521708"
- y2="34.034641" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3019"
- id="linearGradient4357"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.813402,0.000000,0.000000,0.813402,-0.912551,-43.37823)"
- x1="23.688078"
- y1="28.201012"
- x2="29.521708"
- y2="34.034641" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3019"
- id="linearGradient4355"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(3.365819,-55.70818)"
- x1="23.688078"
- y1="28.201012"
- x2="29.521708"
- y2="34.034641" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3019"
- id="linearGradient4353"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.613903,0.000000,0.000000,0.613903,17.14727,-36.85890)"
- x1="23.688078"
- y1="28.201012"
- x2="29.521708"
- y2="34.034641" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3019"
- id="linearGradient4351"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.888889,0.000000,0.000000,0.888889,15.17579,-44.92562)"
- x1="23.688078"
- y1="28.201012"
- x2="29.521708"
- y2="34.034641" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3019"
- id="linearGradient4349"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.888889,0.000000,0.000000,0.888889,12.81910,-50.04120)"
- x1="23.688078"
- y1="28.201012"
- x2="29.521708"
- y2="34.034641" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3019"
- id="linearGradient4347"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-3.681521,-53.82781)"
- x1="23.688078"
- y1="28.201012"
- x2="29.521708"
- y2="34.034641" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient4488">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop4490" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop4492" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient4488"
- id="linearGradient4370"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.926905,0.000000,0.000000,0.881886,-74.92090,-6.914630)"
- x1="17.175579"
- y1="23.374163"
- x2="38.037014"
- y2="38.680286" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3019"
- id="linearGradient4255"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.333333,0.000000,0.000000,1.000000,-7.329241,-50.85192)"
- x1="23.688078"
- y1="28.201012"
- x2="29.521708"
- y2="34.034641" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3019"
- id="linearGradient4253"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.813402,0.000000,0.000000,0.813402,-0.912551,-43.37823)"
- x1="23.688078"
- y1="28.201012"
- x2="29.521708"
- y2="34.034641" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3019"
- id="linearGradient4251"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(3.365819,-55.70818)"
- x1="23.688078"
- y1="28.201012"
- x2="29.521708"
- y2="34.034641" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3019"
- id="linearGradient4249"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.613903,0.000000,0.000000,0.613903,17.14727,-36.85890)"
- x1="23.688078"
- y1="28.201012"
- x2="29.521708"
- y2="34.034641" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3019"
- id="linearGradient4247"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.888889,0.000000,0.000000,0.888889,15.17579,-44.92562)"
- x1="23.688078"
- y1="28.201012"
- x2="29.521708"
- y2="34.034641" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3019"
- id="linearGradient4245"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.888889,0.000000,0.000000,0.888889,12.81910,-50.04120)"
- x1="23.688078"
- y1="28.201012"
- x2="29.521708"
- y2="34.034641" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient3019">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop3021" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop3023" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3019"
- id="linearGradient4243"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-3.681521,-53.82781)"
- x1="23.688078"
- y1="28.201012"
- x2="29.521708"
- y2="34.034641" />
- <linearGradient
- id="linearGradient6525"
- gradientUnits="userSpaceOnUse"
- x1="4.1914001"
- y1="11.113300"
- x2="47.319698"
- y2="56.052299">
- <stop
- offset="0"
- style="stop-color:#ffffff;stop-opacity:1;"
- id="stop6529" />
- <stop
- offset="1"
- style="stop-color:#ffffff;stop-opacity:0.34020618;"
- id="stop6531" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6525"
- id="linearGradient5250"
- x1="8.5469341"
- y1="30.281681"
- x2="30.85088"
- y2="48.301884"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.874977,0.000000,0.000000,0.921480,-56.65990,-1.553540)" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient6537">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop6539" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop6541" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient2298">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop2300" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop2302" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient3347">
- <stop
- style="stop-color:#edd400;stop-opacity:1;"
- offset="0"
- id="stop3349" />
- <stop
- style="stop-color:#edd400;stop-opacity:0;"
- offset="1"
- id="stop3351" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient2527">
- <stop
- style="stop-color:#fcaf3e;stop-opacity:1;"
- offset="0"
- id="stop2529" />
- <stop
- style="stop-color:#fcaf3e;stop-opacity:0;"
- offset="1"
- id="stop2531" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient2500">
- <stop
- style="stop-color:#fce94f;stop-opacity:1;"
- offset="0"
- id="stop2502" />
- <stop
- style="stop-color:#fce94f;stop-opacity:0;"
- offset="1"
- id="stop2504" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient2392">
- <stop
- style="stop-color:#eeeeec;stop-opacity:1;"
- offset="0"
- id="stop2394" />
- <stop
- style="stop-color:#eeeeec;stop-opacity:0;"
- offset="1"
- id="stop2396" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient2254">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop2256" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop2258" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2263"
- gradientUnits="userSpaceOnUse"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581"
- gradientTransform="translate(-1.608757,3.097272)" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2267"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(3.555020,0.968578)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2271"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(9.263651,3.495228)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2275"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(8.497184,-2.330824)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2279"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(14.46340,2.014073)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2283"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.751222,0.000000,0.000000,1.000000,-0.197462,7.612867)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2287"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.284317,0.000000,0.000000,1.000000,14.61983,4.452335)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2291"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.834148,0.000000,0.000000,1.000000,14.87610,8.569976)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2295"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.462015,0.000000,0.000000,1.262475,-5.687359,1.810269)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2299"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.106619,0.000000,0.000000,1.000000,6.383860,6.500432)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2303"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(1.707748,-5.784024)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2311"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(-0.976307,0.000000,0.000000,1.000000,53.94753,8.563694)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2350"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(16.14002,24.66420)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2352"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-0.932144,25.87240)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2354"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(5.356636,23.86870)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2356"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(11.19027,26.52035)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2358"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(10.30638,19.27251)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2360"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.751222,0.000000,0.000000,1.000000,0.229156,30.76299)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2362"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.284317,0.000000,0.000000,1.000000,16.67145,27.22746)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2364"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.834148,0.000000,0.000000,1.000000,17.05272,31.47010)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2366"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.462015,0.000000,0.000000,1.262475,-4.010744,24.96040)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2368"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.106619,0.000000,0.000000,1.000000,8.185476,29.52556)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2370"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(4.207586,21.30544)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2372"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(-0.976307,0.000000,0.000000,1.000000,56.12415,32.08882)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2392"
- id="linearGradient2398"
- x1="6.6651416"
- y1="13.802798"
- x2="41.403877"
- y2="13.802798"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.992367,0.000000,0.000000,0.990713,1.128541,5.404075)" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2426"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(14.46340,2.014073)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2428"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(8.497184,-2.330824)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2430"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-1.608757,3.097272)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2432"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(3.555020,0.968578)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2434"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(9.263651,3.495228)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2436"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.751222,0.000000,0.000000,1.000000,-0.197462,7.612867)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2438"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.284317,0.000000,0.000000,1.000000,14.61983,4.452335)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2440"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.834148,0.000000,0.000000,1.000000,14.87610,8.569976)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2442"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.462015,0.000000,0.000000,1.262475,-5.687359,1.810269)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2444"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.106619,0.000000,0.000000,1.000000,6.383860,6.500432)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2446"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(-0.976307,0.000000,0.000000,1.000000,53.94753,8.563694)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2392"
- id="linearGradient2448"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.992367,0.000000,0.000000,0.990713,1.128541,5.404075)"
- x1="6.6651416"
- y1="13.802798"
- x2="41.403877"
- y2="13.802798" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2392"
- id="linearGradient2451"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.992367,0.000000,0.000000,0.990713,4.378541,10.65407)"
- x1="6.6651416"
- y1="13.802798"
- x2="41.403877"
- y2="13.802798" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2457"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.106619,0.000000,0.000000,1.000000,9.633860,11.75043)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2460"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.462015,0.000000,0.000000,1.262475,-2.437359,7.060269)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2463"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.834148,0.000000,0.000000,1.000000,18.12610,13.81998)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2469"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.751222,0.000000,0.000000,1.000000,3.052538,12.86287)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2472"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(12.51365,8.745228)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2475"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(6.805020,6.218578)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2478"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(1.641243,8.347272)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2483"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(0.842481,-3.998086)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2500"
- id="linearGradient2506"
- x1="37.000000"
- y1="-21.750000"
- x2="53.750000"
- y2="9.0000000"
- gradientUnits="userSpaceOnUse" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2500"
- id="linearGradient2509"
- gradientUnits="userSpaceOnUse"
- x1="37.000000"
- y1="-21.750000"
- x2="53.750000"
- y2="9.0000000"
- gradientTransform="matrix(0.889091,0.000000,0.000000,0.617886,-4.771368,39.81402)" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2500"
- id="linearGradient2513"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.605509,0.000000,0.000000,0.710542,-0.224971,42.19500)"
- x1="38.857941"
- y1="-18.407482"
- x2="53.750000"
- y2="9.0000000" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2500"
- id="linearGradient2517"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.414169,0.000000,0.000000,0.778853,-1.910724,36.87850)"
- x1="37.000000"
- y1="-21.750000"
- x2="53.750000"
- y2="9.0000000" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2527"
- id="linearGradient2533"
- x1="-25.137094"
- y1="-1.2491118"
- x2="-35.652866"
- y2="-24.884460"
- gradientUnits="userSpaceOnUse" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2537"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(17.33814,3.415985)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2541"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(13.40064,1.353485)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2555"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-7.499805,1.708617)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2563"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-0.726830,2.481141)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3347"
- id="linearGradient3353"
- x1="23.303862"
- y1="29.115711"
- x2="29.750000"
- y2="46.092930"
- gradientUnits="userSpaceOnUse" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient3366"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(13.40064,1.353485)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient3368"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(1.641243,8.347272)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient3370"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(6.805020,6.218578)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient3372"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(12.51365,8.745228)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient3374"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.751222,0.000000,0.000000,1.000000,3.052538,12.86287)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient3376"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.834148,0.000000,0.000000,1.000000,18.12610,13.81998)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient3378"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.462015,0.000000,0.000000,1.262475,-2.437359,7.060269)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient3380"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.106619,0.000000,0.000000,1.000000,9.633860,11.75043)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient3383"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.106619,0.000000,0.000000,1.000000,0.795022,6.093572)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient3386"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.462015,0.000000,0.000000,1.262475,-11.27620,1.403411)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient3389"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.834148,0.000000,0.000000,1.000000,9.287262,8.163122)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient3392"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.751222,0.000000,0.000000,1.000000,-5.786300,7.206012)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient3395"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(3.674812,3.088370)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient3398"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-2.033818,0.561720)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient3401"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-7.197595,2.690414)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient3405"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(4.561802,-4.303373)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- gradientUnits="userSpaceOnUse"
- y2="-4.4493785"
- x2="-34.700153"
- y1="-37.550461"
- x1="-27.006643"
- id="linearGradient2916"
- xlink:href="#linearGradient2298"
- inkscape:collect="always" />
- <linearGradient
- y2="-24.884460"
- x2="-35.652866"
- y1="-1.2491118"
- x1="-25.137094"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2914"
- xlink:href="#linearGradient2527"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(57.97693,-10.56876)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2912"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(-0.976307,0.000000,0.000000,1.000000,123.1162,-5.446357)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2910"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.106619,0.000000,0.000000,1.000000,0.795022,6.093572)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2908"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.462015,0.000000,0.000000,1.262475,-11.27620,1.403411)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2906"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(0.834148,0.000000,0.000000,1.000000,9.287262,8.163122)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2904"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(0.751222,0.000000,0.000000,1.000000,-5.786300,7.206012)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2902"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(3.674812,3.088370)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2900"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(-2.033818,0.561720)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2898"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(-7.197595,2.690414)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2896"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="-24.884460"
- x2="-35.652866"
- y1="-1.2491118"
- x1="-25.137094"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2894"
- xlink:href="#linearGradient2527"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.284317,0.000000,0.000000,1.000000,79.36909,-3.193747)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2892"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.462015,0.000000,0.000000,1.262475,56.25514,-12.39388)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2890"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(88.49344,-9.697877)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2888"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(4.561802,-4.303373)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2886"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(-7.197595,2.690414)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2884"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(-2.033818,0.561720)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2882"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(3.674812,3.088370)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2880"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(0.751222,0.000000,0.000000,1.000000,-5.786300,7.206012)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2878"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(0.834148,0.000000,0.000000,1.000000,9.287262,8.163122)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2876"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.462015,0.000000,0.000000,1.262475,-11.27620,1.403411)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2874"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.106619,0.000000,0.000000,1.000000,0.795022,6.093572)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2872"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.106619,0.000000,0.000000,1.000000,9.633860,11.75043)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2870"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.462015,0.000000,0.000000,1.262475,-2.437359,7.060269)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2868"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(0.834148,0.000000,0.000000,1.000000,18.12610,13.81998)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2866"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(0.751222,0.000000,0.000000,1.000000,3.052538,12.86287)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2864"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(12.51365,8.745228)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2862"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(6.805020,6.218578)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2860"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(1.641243,8.347272)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2858"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(13.40064,1.353485)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2856"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- gradientUnits="userSpaceOnUse"
- y2="46.092930"
- x2="29.750000"
- y1="29.115711"
- x1="23.303862"
- id="linearGradient2854"
- xlink:href="#linearGradient3347"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(-0.726830,2.481141)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2852"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(-7.499805,1.708617)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2850"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(13.40064,1.353485)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2848"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(17.33814,3.415985)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2846"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- gradientUnits="userSpaceOnUse"
- y2="-24.884460"
- x2="-35.652866"
- y1="-1.2491118"
- x1="-25.137094"
- id="linearGradient2844"
- xlink:href="#linearGradient2527"
- inkscape:collect="always" />
- <linearGradient
- y2="9.0000000"
- x2="53.750000"
- y1="-21.750000"
- x1="37.000000"
- gradientTransform="matrix(0.414169,0.000000,0.000000,0.778853,-1.910724,36.87850)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2842"
- xlink:href="#linearGradient2500"
- inkscape:collect="always" />
- <linearGradient
- y2="9.0000000"
- x2="53.750000"
- y1="-18.407482"
- x1="38.857941"
- gradientTransform="matrix(0.605509,0.000000,0.000000,0.710542,-0.224971,42.19500)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2840"
- xlink:href="#linearGradient2500"
- inkscape:collect="always" />
- <linearGradient
- gradientTransform="matrix(0.889091,0.000000,0.000000,0.617886,-4.771368,39.81402)"
- y2="9.0000000"
- x2="53.750000"
- y1="-21.750000"
- x1="37.000000"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2838"
- xlink:href="#linearGradient2500"
- inkscape:collect="always" />
- <linearGradient
- gradientUnits="userSpaceOnUse"
- y2="9.0000000"
- x2="53.750000"
- y1="-21.750000"
- x1="37.000000"
- id="linearGradient2836"
- xlink:href="#linearGradient2500"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(0.842481,-3.998086)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2834"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(1.641243,8.347272)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2832"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(6.805020,6.218578)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2830"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(12.51365,8.745228)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2828"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(0.751222,0.000000,0.000000,1.000000,3.052538,12.86287)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2826"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(0.834148,0.000000,0.000000,1.000000,18.12610,13.81998)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2824"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.462015,0.000000,0.000000,1.262475,-2.437359,7.060269)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2822"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.106619,0.000000,0.000000,1.000000,9.633860,11.75043)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2820"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="13.802798"
- x2="41.403877"
- y1="13.802798"
- x1="6.6651416"
- gradientTransform="matrix(0.992367,0.000000,0.000000,0.990713,4.378541,10.65407)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2818"
- xlink:href="#linearGradient2392"
- inkscape:collect="always" />
- <linearGradient
- y2="13.802798"
- x2="41.403877"
- y1="13.802798"
- x1="6.6651416"
- gradientTransform="matrix(0.992367,0.000000,0.000000,0.990713,1.128541,5.404075)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2816"
- xlink:href="#linearGradient2392"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(-0.976307,0.000000,0.000000,1.000000,53.94753,8.563694)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2814"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.106619,0.000000,0.000000,1.000000,6.383860,6.500432)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2812"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.462015,0.000000,0.000000,1.262475,-5.687359,1.810269)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2810"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(0.834148,0.000000,0.000000,1.000000,14.87610,8.569976)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2808"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.284317,0.000000,0.000000,1.000000,14.61983,4.452335)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2806"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(0.751222,0.000000,0.000000,1.000000,-0.197462,7.612867)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2804"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(9.263651,3.495228)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2802"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(3.555020,0.968578)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2800"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(-1.608757,3.097272)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2798"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(8.497184,-2.330824)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2796"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(14.46340,2.014073)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2794"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- gradientTransform="matrix(0.992367,0.000000,0.000000,0.990713,1.128541,5.404075)"
- gradientUnits="userSpaceOnUse"
- y2="13.802798"
- x2="41.403877"
- y1="13.802798"
- x1="6.6651416"
- id="linearGradient2792"
- xlink:href="#linearGradient2392"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(-0.976307,0.000000,0.000000,1.000000,56.12415,32.08882)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2790"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(4.207586,21.30544)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2788"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.106619,0.000000,0.000000,1.000000,8.185476,29.52556)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2786"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.462015,0.000000,0.000000,1.262475,-4.010744,24.96040)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2784"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(0.834148,0.000000,0.000000,1.000000,17.05272,31.47010)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2782"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.284317,0.000000,0.000000,1.000000,16.67145,27.22746)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2780"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(0.751222,0.000000,0.000000,1.000000,0.229156,30.76299)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2778"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(10.30638,19.27251)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2776"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(11.19027,26.52035)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2774"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(5.356636,23.86870)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2772"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(-0.932144,25.87240)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2770"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(16.14002,24.66420)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2768"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(-0.976307,0.000000,0.000000,1.000000,53.94753,8.563694)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2766"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(1.707748,-5.784024)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2764"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.106619,0.000000,0.000000,1.000000,6.383860,6.500432)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2762"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.462015,0.000000,0.000000,1.262475,-5.687359,1.810269)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2760"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(0.834148,0.000000,0.000000,1.000000,14.87610,8.569976)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2758"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.284317,0.000000,0.000000,1.000000,14.61983,4.452335)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2756"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(0.751222,0.000000,0.000000,1.000000,-0.197462,7.612867)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2754"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(14.46340,2.014073)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2752"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(8.497184,-2.330824)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2750"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(9.263651,3.495228)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2748"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(3.555020,0.968578)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2746"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- gradientTransform="translate(-1.608757,3.097272)"
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2744"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- gradientUnits="userSpaceOnUse"
- y2="-4.4493785"
- x2="-34.700153"
- y1="-37.550461"
- x1="-27.006643"
- id="linearGradient2304"
- xlink:href="#linearGradient2298"
- inkscape:collect="always" />
- <linearGradient
- y2="-24.884460"
- x2="-35.652866"
- y1="-1.2491118"
- x1="-25.137094"
- gradientUnits="userSpaceOnUse"
- id="linearGradient1557"
- xlink:href="#linearGradient2527"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(57.97693,-10.56876)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient1538"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(-0.976307,0.000000,0.000000,1.000000,123.1162,-5.446357)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient1536"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.106619,0.000000,0.000000,1.000000,0.795022,6.093572)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient1534"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.462015,0.000000,0.000000,1.262475,-11.27620,1.403411)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient1532"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(0.834148,0.000000,0.000000,1.000000,9.287262,8.163122)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient1530"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(0.751222,0.000000,0.000000,1.000000,-5.786300,7.206012)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient1528"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(3.674812,3.088370)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient1526"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(-2.033818,0.561720)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient1524"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(-7.197595,2.690414)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient1522"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="-24.884460"
- x2="-35.652866"
- y1="-1.2491118"
- x1="-25.137094"
- gradientUnits="userSpaceOnUse"
- id="linearGradient1520"
- xlink:href="#linearGradient2527"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.284317,0.000000,0.000000,1.000000,79.36909,-3.193747)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient1518"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.462015,0.000000,0.000000,1.262475,56.25514,-12.39388)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient1516"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(88.49344,-9.697877)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient1514"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(4.561802,-4.303373)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5957"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(-7.197595,2.690414)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5955"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(-2.033818,0.561720)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5953"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(3.674812,3.088370)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5951"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(0.751222,0.000000,0.000000,1.000000,-5.786300,7.206012)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5949"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(0.834148,0.000000,0.000000,1.000000,9.287262,8.163122)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5947"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.462015,0.000000,0.000000,1.262475,-11.27620,1.403411)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5945"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.106619,0.000000,0.000000,1.000000,0.795022,6.093572)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5943"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.106619,0.000000,0.000000,1.000000,9.633860,11.75043)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5941"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.462015,0.000000,0.000000,1.262475,-2.437359,7.060269)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5939"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(0.834148,0.000000,0.000000,1.000000,18.12610,13.81998)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5937"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(0.751222,0.000000,0.000000,1.000000,3.052538,12.86287)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5935"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(12.51365,8.745228)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5933"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(6.805020,6.218578)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5931"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(1.641243,8.347272)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5929"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(13.40064,1.353485)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5927"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- gradientUnits="userSpaceOnUse"
- y2="46.092930"
- x2="29.750000"
- y1="29.115711"
- x1="23.303862"
- id="linearGradient5925"
- xlink:href="#linearGradient3347"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(-0.726830,2.481141)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5923"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(-7.499805,1.708617)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5921"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(13.40064,1.353485)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5919"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(17.33814,3.415985)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5917"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- gradientUnits="userSpaceOnUse"
- y2="-24.884460"
- x2="-35.652866"
- y1="-1.2491118"
- x1="-25.137094"
- id="linearGradient5915"
- xlink:href="#linearGradient2527"
- inkscape:collect="always" />
- <linearGradient
- y2="9.0000000"
- x2="53.750000"
- y1="-21.750000"
- x1="37.000000"
- gradientTransform="matrix(0.414169,0.000000,0.000000,0.778853,-1.910724,36.87850)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5913"
- xlink:href="#linearGradient2500"
- inkscape:collect="always" />
- <linearGradient
- y2="9.0000000"
- x2="53.750000"
- y1="-18.407482"
- x1="38.857941"
- gradientTransform="matrix(0.605509,0.000000,0.000000,0.710542,-0.224971,42.19500)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5911"
- xlink:href="#linearGradient2500"
- inkscape:collect="always" />
- <linearGradient
- gradientTransform="matrix(0.889091,0.000000,0.000000,0.617886,-4.771368,39.81402)"
- y2="9.0000000"
- x2="53.750000"
- y1="-21.750000"
- x1="37.000000"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5909"
- xlink:href="#linearGradient2500"
- inkscape:collect="always" />
- <linearGradient
- gradientUnits="userSpaceOnUse"
- y2="9.0000000"
- x2="53.750000"
- y1="-21.750000"
- x1="37.000000"
- id="linearGradient5907"
- xlink:href="#linearGradient2500"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(0.842481,-3.998086)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5905"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(1.641243,8.347272)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5903"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(6.805020,6.218578)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5901"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(12.51365,8.745228)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5899"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(0.751222,0.000000,0.000000,1.000000,3.052538,12.86287)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5897"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(0.834148,0.000000,0.000000,1.000000,18.12610,13.81998)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5895"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.462015,0.000000,0.000000,1.262475,-2.437359,7.060269)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5893"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.106619,0.000000,0.000000,1.000000,9.633860,11.75043)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5891"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="13.802798"
- x2="41.403877"
- y1="13.802798"
- x1="6.6651416"
- gradientTransform="matrix(0.992367,0.000000,0.000000,0.990713,4.378541,10.65407)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5889"
- xlink:href="#linearGradient2392"
- inkscape:collect="always" />
- <linearGradient
- y2="13.802798"
- x2="41.403877"
- y1="13.802798"
- x1="6.6651416"
- gradientTransform="matrix(0.992367,0.000000,0.000000,0.990713,1.128541,5.404075)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5887"
- xlink:href="#linearGradient2392"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(-0.976307,0.000000,0.000000,1.000000,53.94753,8.563694)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5885"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.106619,0.000000,0.000000,1.000000,6.383860,6.500432)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5883"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.462015,0.000000,0.000000,1.262475,-5.687359,1.810269)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5881"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(0.834148,0.000000,0.000000,1.000000,14.87610,8.569976)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5879"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.284317,0.000000,0.000000,1.000000,14.61983,4.452335)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5877"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(0.751222,0.000000,0.000000,1.000000,-0.197462,7.612867)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5875"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(9.263651,3.495228)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5873"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(3.555020,0.968578)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5871"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(-1.608757,3.097272)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5869"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(8.497184,-2.330824)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5867"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(14.46340,2.014073)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5865"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- gradientTransform="matrix(0.992367,0.000000,0.000000,0.990713,1.128541,5.404075)"
- gradientUnits="userSpaceOnUse"
- y2="13.802798"
- x2="41.403877"
- y1="13.802798"
- x1="6.6651416"
- id="linearGradient5863"
- xlink:href="#linearGradient2392"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(-0.976307,0.000000,0.000000,1.000000,56.12415,32.08882)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5861"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(4.207586,21.30544)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5859"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.106619,0.000000,0.000000,1.000000,8.185476,29.52556)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5857"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.462015,0.000000,0.000000,1.262475,-4.010744,24.96040)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5855"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(0.834148,0.000000,0.000000,1.000000,17.05272,31.47010)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5853"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.284317,0.000000,0.000000,1.000000,16.67145,27.22746)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5851"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(0.751222,0.000000,0.000000,1.000000,0.229156,30.76299)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5849"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(10.30638,19.27251)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5847"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(11.19027,26.52035)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5845"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(5.356636,23.86870)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5843"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(-0.932144,25.87240)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5841"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(16.14002,24.66420)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5839"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(-0.976307,0.000000,0.000000,1.000000,53.94753,8.563694)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5837"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(1.707748,-5.784024)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5835"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.106619,0.000000,0.000000,1.000000,6.383860,6.500432)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5833"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.462015,0.000000,0.000000,1.262475,-5.687359,1.810269)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5831"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(0.834148,0.000000,0.000000,1.000000,14.87610,8.569976)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5829"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.284317,0.000000,0.000000,1.000000,14.61983,4.452335)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5827"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(0.751222,0.000000,0.000000,1.000000,-0.197462,7.612867)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5825"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(14.46340,2.014073)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5823"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(8.497184,-2.330824)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5821"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(9.263651,3.495228)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5819"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(3.555020,0.968578)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5817"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- gradientTransform="translate(-1.608757,3.097272)"
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5815"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6101"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(-0.976307,0.000000,0.000000,1.000000,56.13675,17.05613)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6118"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.284317,0.000000,0.000000,1.000000,12.38965,19.30874)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6121"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.462015,0.000000,0.000000,1.262475,-10.72430,10.10861)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6124"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(21.51400,12.80461)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6179"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-7.197595,2.690414)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6181"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-2.033818,0.561720)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6183"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(3.674812,3.088370)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6185"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.751222,0.000000,0.000000,1.000000,-5.786300,7.206012)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6187"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.834148,0.000000,0.000000,1.000000,9.287262,8.163122)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6189"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.462015,0.000000,0.000000,1.262475,-11.27620,1.403411)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6191"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.106619,0.000000,0.000000,1.000000,0.795022,6.093572)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2527"
- id="linearGradient6193"
- gradientUnits="userSpaceOnUse"
- x1="-25.137094"
- y1="-1.2491118"
- x2="-35.652866"
- y2="-24.884460" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6196"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.106619,0.000000,0.000000,1.000000,2.209129,10.83861)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6199"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.462015,0.000000,0.000000,1.262475,-9.862093,6.148450)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6202"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.834148,0.000000,0.000000,1.000000,10.70137,12.90816)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6205"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.751222,0.000000,0.000000,1.000000,-4.372193,11.95105)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6208"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(5.088919,7.833409)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6211"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-0.619711,5.306759)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6214"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-5.783488,7.435453)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6242"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-5.783488,7.435453)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6244"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-0.619711,5.306759)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6246"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(5.088919,7.833409)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6248"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.834148,0.000000,0.000000,1.000000,10.70137,12.90816)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6250"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.462015,0.000000,0.000000,1.262475,-9.862093,6.148450)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6252"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.106619,0.000000,0.000000,1.000000,2.209129,10.83861)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6254"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-9.002513,11.93373)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6257"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-0.297112,4.275205)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6260"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.106619,0.000000,0.000000,1.000000,10.91453,3.180085)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6263"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.462015,0.000000,0.000000,1.262475,-1.156692,-1.510075)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6266"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.834148,0.000000,0.000000,1.000000,19.40677,5.249635)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6269"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(13.79432,0.174884)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6272"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(8.085690,-2.351766)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6275"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(2.921913,-0.223072)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6311"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(21.51400,12.80461)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6313"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.462015,0.000000,0.000000,1.262475,-10.72430,10.10861)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6315"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.284317,0.000000,0.000000,1.000000,12.38965,19.30874)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6317"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.462015,0.000000,0.000000,1.262475,-1.156692,-1.510075)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6319"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(-0.976307,0.000000,0.000000,1.000000,56.13675,17.05613)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6321"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-5.783488,7.435453)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6323"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-0.619711,5.306759)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6325"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(5.088919,7.833409)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6327"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.834148,0.000000,0.000000,1.000000,10.70137,12.90816)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6329"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.462015,0.000000,0.000000,1.262475,-9.862093,6.148450)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6331"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.106619,0.000000,0.000000,1.000000,2.209129,10.83861)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6333"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-9.002513,11.93373)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6335"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(2.921913,-0.223072)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6337"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(8.085690,-2.351766)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6339"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(13.79432,0.174884)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6341"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.834148,0.000000,0.000000,1.000000,19.40677,5.249635)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6343"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.106619,0.000000,0.000000,1.000000,10.91453,3.180085)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6537"
- id="linearGradient6543"
- x1="27.320963"
- y1="44.228481"
- x2="52.328316"
- y2="44.228481"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.526962,0.000000,-2.763717e-17,0.972572,16.13182,0.843286)" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6537"
- id="linearGradient6547"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.526962,0.000000,-4.388782e-16,0.972572,25.91493,0.633642)"
- x1="27.320963"
- y1="44.228481"
- x2="52.328316"
- y2="44.228481" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6537"
- id="linearGradient6551"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.526962,0.000000,-4.388782e-16,0.972572,36.25638,0.633643)"
- x1="27.320963"
- y1="44.228481"
- x2="45.115814"
- y2="44.228455" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6537"
- id="linearGradient6559"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.526962,0.000000,-2.332577e-16,0.972572,16.13182,0.843286)"
- x1="27.320963"
- y1="44.228481"
- x2="52.328316"
- y2="44.228481" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6537"
- id="linearGradient6561"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.526962,0.000000,-6.444987e-16,0.972572,25.91493,0.633642)"
- x1="27.320963"
- y1="44.228481"
- x2="52.328316"
- y2="44.228481" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6537"
- id="linearGradient6563"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.526962,0.000000,-6.444987e-16,0.972572,36.25638,0.633643)"
- x1="27.320963"
- y1="44.228481"
- x2="45.115814"
- y2="44.228455" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6537"
- id="linearGradient6566"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.577744,0.000000,-5.984325e-16,1.025105,38.38995,-1.768804)"
- x1="27.320963"
- y1="44.228481"
- x2="45.115814"
- y2="44.228455" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6537"
- id="linearGradient6569"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.577744,0.000000,-5.984325e-16,1.025105,27.05193,-1.768805)"
- x1="27.320963"
- y1="44.228481"
- x2="52.328316"
- y2="44.228481" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6537"
- id="linearGradient6572"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.589347,0.000000,-1.531909e-16,1.025217,16.34910,-1.110328)"
- x1="27.320963"
- y1="44.228481"
- x2="52.328316"
- y2="44.228481" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6576"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.132431,0.000000,0.000000,1.016132,11.79178,-1.090051)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6579"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.853605,0.000000,0.000000,1.016132,20.48211,1.012885)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6582"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.023325,0.000000,0.000000,1.016132,14.73875,-4.143732)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6585"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.023325,0.000000,0.000000,1.016132,8.896962,-6.711142)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6588"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.023325,0.000000,0.000000,1.016132,3.612740,-4.548108)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6599"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(-0.999079,0.000000,0.000000,1.016132,58.06881,13.00984)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6603"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.496116,0.000000,0.000000,1.282841,-0.560999,-5.855873)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6606"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.314274,0.000000,0.000000,1.016132,13.30131,15.29879)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6609"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.496116,0.000000,0.000000,1.282841,-10.35177,5.950245)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6612"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.023325,0.000000,0.000000,1.016132,22.63849,8.689740)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6618"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.023325,0.000000,0.000000,1.016132,17.34164,6.586930)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6622"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.023325,0.000000,0.000000,1.016132,12.56867,12.68572)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6624"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-5.783488,7.435453)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6626"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-0.619711,5.306759)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6628"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(5.088919,7.833409)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6630"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.834148,0.000000,0.000000,1.000000,10.70137,12.90816)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6632"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.462015,0.000000,0.000000,1.262475,-9.862093,6.148450)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6634"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.106619,0.000000,0.000000,1.000000,2.209129,10.83861)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6636"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-9.002513,11.93373)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient4442"
- id="linearGradient2736"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-59.00000,27.72122)"
- x1="4.3602662"
- y1="-21.904713"
- x2="40.139732"
- y2="-1.8452871" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3019"
- id="linearGradient2738"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-9.992899,-16.32980)"
- x1="23.688078"
- y1="28.201012"
- x2="29.521708"
- y2="34.034641" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3019"
- id="linearGradient2740"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.888889,0.000000,0.000000,0.888889,4.534070,-12.70656)"
- x1="23.688078"
- y1="28.201012"
- x2="29.521708"
- y2="34.034641" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3019"
- id="linearGradient2742"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.613903,0.000000,0.000000,0.613903,-1.200260,0.631990)"
- x1="23.688078"
- y1="28.201012"
- x2="29.521708"
- y2="34.034641" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3019"
- id="linearGradient2745"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-4.033948,-17.90479)"
- x1="23.688078"
- y1="28.201012"
- x2="29.521708"
- y2="34.034641" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3019"
- id="linearGradient2747"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.813402,0.000000,0.000000,0.813402,-9.728831,-6.856090)"
- x1="23.688078"
- y1="28.201012"
- x2="29.521708"
- y2="34.034641" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3019"
- id="linearGradient2749"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.333333,0.000000,0.000000,1.000000,-14.02052,-13.29853)"
- x1="23.688078"
- y1="28.201012"
- x2="29.521708"
- y2="34.034641" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3019"
- id="linearGradient2751"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.813402,0.000000,0.000000,0.813402,12.43523,-5.473742)"
- x1="23.688078"
- y1="28.201012"
- x2="29.521708"
- y2="34.034641" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3019"
- id="linearGradient2753"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.813402,0.000000,0.000000,0.813402,7.747730,-6.786242)"
- x1="23.688078"
- y1="28.201012"
- x2="29.521708"
- y2="34.034641" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient4488"
- id="linearGradient2755"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.926905,0.000000,0.000000,0.881886,-60.91820,-2.915960)"
- x1="17.181321"
- y1="32.443652"
- x2="47.342173"
- y2="32.443652" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3019"
- id="linearGradient2757"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-3.681521,-53.82781)"
- x1="23.688078"
- y1="28.201012"
- x2="29.521708"
- y2="34.034641" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3019"
- id="linearGradient2759"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.888889,0.000000,0.000000,0.888889,12.81910,-50.04120)"
- x1="23.688078"
- y1="28.201012"
- x2="29.521708"
- y2="34.034641" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3019"
- id="linearGradient2761"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.888889,0.000000,0.000000,0.888889,15.17579,-44.92562)"
- x1="23.688078"
- y1="28.201012"
- x2="29.521708"
- y2="34.034641" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3019"
- id="linearGradient2763"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.613903,0.000000,0.000000,0.613903,17.14727,-36.85890)"
- x1="23.688078"
- y1="28.201012"
- x2="29.521708"
- y2="34.034641" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3019"
- id="linearGradient2765"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(3.365819,-55.70818)"
- x1="23.688078"
- y1="28.201012"
- x2="29.521708"
- y2="34.034641" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3019"
- id="linearGradient2767"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.813402,0.000000,0.000000,0.813402,-0.912551,-43.37823)"
- x1="23.688078"
- y1="28.201012"
- x2="29.521708"
- y2="34.034641" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3019"
- id="linearGradient2769"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.333333,0.000000,0.000000,1.000000,-7.329241,-50.85192)"
- x1="23.688078"
- y1="28.201012"
- x2="29.521708"
- y2="34.034641" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient4488"
- id="linearGradient2771"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.926905,0.000000,0.000000,0.881886,-74.92090,-6.914630)"
- x1="17.175579"
- y1="23.374163"
- x2="38.037014"
- y2="38.680286" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3019"
- id="linearGradient2773"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-3.681521,-53.82781)"
- x1="23.688078"
- y1="28.201012"
- x2="29.521708"
- y2="34.034641" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3019"
- id="linearGradient2775"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.888889,0.000000,0.000000,0.888889,12.81910,-50.04120)"
- x1="23.688078"
- y1="28.201012"
- x2="29.521708"
- y2="34.034641" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3019"
- id="linearGradient2777"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.888889,0.000000,0.000000,0.888889,15.17579,-44.92562)"
- x1="23.688078"
- y1="28.201012"
- x2="29.521708"
- y2="34.034641" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3019"
- id="linearGradient2779"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.613903,0.000000,0.000000,0.613903,17.14727,-36.85890)"
- x1="23.688078"
- y1="28.201012"
- x2="29.521708"
- y2="34.034641" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3019"
- id="linearGradient2781"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(3.365819,-55.70818)"
- x1="23.688078"
- y1="28.201012"
- x2="29.521708"
- y2="34.034641" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3019"
- id="linearGradient2783"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.813402,0.000000,0.000000,0.813402,-0.912551,-43.37823)"
- x1="23.688078"
- y1="28.201012"
- x2="29.521708"
- y2="34.034641" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3019"
- id="linearGradient2785"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.333333,0.000000,0.000000,1.000000,-7.329241,-50.85192)"
- x1="23.688078"
- y1="28.201012"
- x2="29.521708"
- y2="34.034641" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient4488"
- id="linearGradient2799"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.926905,0.000000,0.000000,0.881886,-11.91814,-7.649759)"
- x1="17.175579"
- y1="23.374163"
- x2="38.037014"
- y2="38.680286" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient4488"
- id="linearGradient2813"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.926905,0.000000,0.000000,0.881886,2.084560,-3.651089)"
- x1="18.664751"
- y1="23.374166"
- x2="31.294144"
- y2="35.845455" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient4442"
- id="linearGradient2827"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(4.002760,26.98609)"
- x1="4.3602662"
- y1="-21.904713"
- x2="40.139732"
- y2="-1.8452871" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient5346"
- id="radialGradient8290"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(7.065158e-2,4.154803e-2,-6.201499e-2,0.109408,207.4757,-189.8182)"
- cx="21.920311"
- cy="-382.96454"
- fx="21.920311"
- fy="-382.96454"
- r="21.743534" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient5358"
- id="linearGradient8292"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(-5.358613e-2,0.102849,-9.281434e-2,-5.937964e-2,198.9051,-255.6893)"
- x1="6.8942904"
- y1="-359.82382"
- x2="27.400387"
- y2="-381.30222" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient5346"
- id="radialGradient8294"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(7.065158e-2,4.154803e-2,-6.201499e-2,0.109408,207.4757,-189.8182)"
- cx="21.920311"
- cy="-382.96454"
- fx="21.920311"
- fy="-382.96454"
- r="21.743534" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient5358"
- id="linearGradient8296"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(-5.358613e-2,0.102849,-9.281434e-2,-5.937964e-2,198.9051,-255.6893)"
- x1="6.8942904"
- y1="-359.82382"
- x2="27.400387"
- y2="-381.30222" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient5346"
- id="radialGradient8298"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(7.065158e-2,4.154803e-2,-6.201499e-2,0.109408,207.4757,-189.8182)"
- cx="21.920311"
- cy="-382.96454"
- fx="21.920311"
- fy="-382.96454"
- r="21.743534" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient5358"
- id="linearGradient8300"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(-5.358613e-2,0.102849,-9.281434e-2,-5.937964e-2,198.9051,-255.6893)"
- x1="6.8942904"
- y1="-359.82382"
- x2="27.400387"
- y2="-381.30222" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient5346"
- id="radialGradient8302"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(7.065158e-2,4.154803e-2,-6.201499e-2,0.109408,207.4757,-189.8182)"
- cx="21.920311"
- cy="-382.96454"
- fx="21.920311"
- fy="-382.96454"
- r="21.743534" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient5358"
- id="linearGradient8304"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(-5.358613e-2,0.102849,-9.281434e-2,-5.937964e-2,198.9051,-255.6893)"
- x1="6.8942904"
- y1="-359.82382"
- x2="27.400387"
- y2="-381.30222" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient5346"
- id="radialGradient8306"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(7.065158e-2,4.154803e-2,-6.201499e-2,0.109408,207.4757,-189.8182)"
- cx="21.920311"
- cy="-382.96454"
- fx="21.920311"
- fy="-382.96454"
- r="21.743534" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient5358"
- id="linearGradient8308"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(-5.358613e-2,0.102849,-9.281434e-2,-5.937964e-2,198.9051,-255.6893)"
- x1="6.8942904"
- y1="-359.82382"
- x2="27.400387"
- y2="-381.30222" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient5346"
- id="radialGradient8310"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(7.065158e-2,4.154803e-2,-6.201499e-2,0.109408,207.4757,-189.8182)"
- cx="21.920311"
- cy="-382.96454"
- fx="21.920311"
- fy="-382.96454"
- r="21.743534" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient5358"
- id="linearGradient8312"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(-5.358613e-2,0.102849,-9.281434e-2,-5.937964e-2,198.9051,-255.6893)"
- x1="6.8942904"
- y1="-359.82382"
- x2="27.400387"
- y2="-381.30222" />
+<svg xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="48px" height="48px" id="svg1306">
+ <defs id="defs1308">
+ <linearGradient id="linearGradient5358">
+ <stop offset="0" id="stop5360" stop-color="#ffffff" stop-opacity="1"/>
+ <stop offset="1" id="stop5362" stop-color="#ffffff" stop-opacity="0"/>
+ </linearGradient>
+ <linearGradient id="linearGradient5346">
+ <stop offset="0" id="stop5348" stop-color="#ffffff" stop-opacity="1"/>
+ <stop offset="1" id="stop5350" stop-color="#ffffff" stop-opacity="0"/>
+ </linearGradient>
+ <linearGradient xlink:href="#linearGradient6538" id="linearGradient13352" gradientUnits="userSpaceOnUse" x1="284.80219" y1="-441.23294" x2="288.89954" y2="-436.83109"/>
+ <linearGradient xlink:href="#linearGradient6549" id="linearGradient13350" gradientUnits="userSpaceOnUse" x1="286.66589" y1="-439.48358" x2="289.76562" y2="-436.70703"/>
+ <linearGradient xlink:href="#linearGradient6527" id="linearGradient13347" gradientUnits="userSpaceOnUse" gradientTransform="translate(-35.00007,207.0001)" x1="275.94193" y1="-437.10501" x2="279.97546" y2="-431.91833"/>
+ <linearGradient xlink:href="#linearGradient6538" id="linearGradient13345" gradientUnits="userSpaceOnUse" x1="285.94086" y1="-439.93900" x2="289.39124" y2="-436.44290"/>
+ <linearGradient xlink:href="#linearGradient6513" id="linearGradient13343" gradientUnits="userSpaceOnUse" x1="286.51172" y1="-441.29074" x2="289.85379" y2="-436.14453"/>
+ <linearGradient xlink:href="#linearGradient6497" id="linearGradient13341" gradientUnits="userSpaceOnUse" x1="287.51730" y1="-439.75281" x2="289.67633" y2="-436.32199"/>
+ <linearGradient xlink:href="#linearGradient6470" id="linearGradient13339" gradientUnits="userSpaceOnUse" gradientTransform="translate(-34.00007,207.0001)" x1="271.02170" y1="-441.05182" x2="285.02859" y2="-431.96991"/>
+ <linearGradient xlink:href="#linearGradient6538" id="linearGradient13337" gradientUnits="userSpaceOnUse" x1="284.80219" y1="-441.23294" x2="288.89954" y2="-436.83109"/>
+ <linearGradient id="linearGradient6549">
+ <stop offset="0" id="stop6551" stop-color="#ffffff" stop-opacity="1"/>
+ <stop offset="1" id="stop6553" stop-color="#ffffff" stop-opacity="0"/>
+ </linearGradient>
+ <linearGradient xlink:href="#linearGradient6549" id="linearGradient13335" gradientUnits="userSpaceOnUse" x1="286.66589" y1="-439.48358" x2="289.76562" y2="-436.70703"/>
+ <linearGradient id="linearGradient6527">
+ <stop offset="0" id="stop6530" stop-color="#ffffff" stop-opacity="1"/>
+ <stop offset="1" id="stop6532" stop-color="#ffffff" stop-opacity="0"/>
+ </linearGradient>
+ <linearGradient xlink:href="#linearGradient6527" id="linearGradient13333" gradientUnits="userSpaceOnUse" gradientTransform="translate(-35.00007,207.0001)" x1="275.94193" y1="-437.10501" x2="279.97546" y2="-431.91833"/>
+ <linearGradient id="linearGradient6538">
+ <stop offset="0" id="stop6540" stop-color="#ffffff" stop-opacity="1"/>
+ <stop offset="1" id="stop6542" stop-color="#ffffff" stop-opacity="0"/>
+ </linearGradient>
+ <linearGradient xlink:href="#linearGradient6538" id="linearGradient13331" gradientUnits="userSpaceOnUse" x1="285.94086" y1="-439.93900" x2="289.39124" y2="-436.44290"/>
+ <linearGradient id="linearGradient6513">
+ <stop offset="0" id="stop6515" stop-color="#ffffff" stop-opacity="1"/>
+ <stop offset="1" id="stop6517" stop-color="#ffffff" stop-opacity="0"/>
+ </linearGradient>
+ <linearGradient xlink:href="#linearGradient6513" id="linearGradient13329" gradientUnits="userSpaceOnUse" x1="286.51172" y1="-441.29074" x2="289.85379" y2="-436.14453"/>
+ <linearGradient id="linearGradient6497">
+ <stop offset="0" id="stop6499" stop-color="#ffffff" stop-opacity="1"/>
+ <stop offset="1" id="stop6501" stop-color="#ffffff" stop-opacity="0"/>
+ </linearGradient>
+ <linearGradient xlink:href="#linearGradient6497" id="linearGradient13327" gradientUnits="userSpaceOnUse" x1="287.51730" y1="-439.75281" x2="289.67633" y2="-436.32199"/>
+ <linearGradient id="linearGradient6470">
+ <stop offset="0" id="stop6472" stop-color="#ffffff" stop-opacity="1"/>
+ <stop offset="1" id="stop6474" stop-color="#ffffff" stop-opacity="0"/>
+ </linearGradient>
+ <linearGradient xlink:href="#linearGradient6470" id="linearGradient13325" gradientUnits="userSpaceOnUse" gradientTransform="translate(-34.00007,207.0001)" x1="271.02170" y1="-441.05182" x2="285.02859" y2="-431.96991"/>
+ <linearGradient id="linearGradient8397">
+ <stop offset="0" id="stop8400" stop-color="#ffffff" stop-opacity="1"/>
+ <stop offset="1" id="stop8402" stop-color="#ffffff" stop-opacity="0"/>
+ </linearGradient>
+ <linearGradient xlink:href="#linearGradient8397" id="linearGradient13323" gradientUnits="userSpaceOnUse" x1="238.00478" y1="-388.47476" x2="245.65462" y2="-382.64539"/>
+ <linearGradient id="linearGradient8315">
+ <stop offset="0" id="stop8317" stop-color="#ffffff" stop-opacity="1"/>
+ <stop offset="1" id="stop8319" stop-color="#ffffff" stop-opacity="0"/>
+ </linearGradient>
+ <linearGradient xlink:href="#linearGradient8315" id="linearGradient13321" gradientUnits="userSpaceOnUse" x1="230.87598" y1="-390.43951" x2="235.25652" y2="-386.95901"/>
+ <linearGradient id="linearGradient8381">
+ <stop offset="0" id="stop8383" stop-color="#ffffff" stop-opacity="1"/>
+ <stop offset="1" id="stop8385" stop-color="#ffffff" stop-opacity="0"/>
+ </linearGradient>
+ <linearGradient xlink:href="#linearGradient8381" id="linearGradient13319" gradientUnits="userSpaceOnUse" x1="246.74042" y1="-391.31381" x2="252.69785" y2="-385.35165"/>
+ <linearGradient id="linearGradient8331">
+ <stop offset="0" id="stop8333" stop-color="#ffffff" stop-opacity="1"/>
+ <stop offset="1" id="stop8335" stop-color="#ffffff" stop-opacity="0"/>
+ </linearGradient>
+ <linearGradient xlink:href="#linearGradient8331" id="linearGradient13317" gradientUnits="userSpaceOnUse" x1="240.07379" y1="-393.40720" x2="245.82706" y2="-388.55029"/>
+ <linearGradient id="linearGradient8302">
+ <stop offset="0" id="stop8304" stop-color="#ffffff" stop-opacity="1"/>
+ <stop offset="1" id="stop8306" stop-color="#ffffff" stop-opacity="0"/>
+ </linearGradient>
+ <linearGradient xlink:href="#linearGradient8302" id="linearGradient13315" gradientUnits="userSpaceOnUse" gradientTransform="translate(69.00000,155.0000)" x1="228.50261" y1="-392.30591" x2="266.36395" y2="-379.26862"/>
+ <radialGradient xlink:href="#linearGradient5346" id="radialGradient8290" gradientUnits="userSpaceOnUse" gradientTransform="matrix(7.065158e-2,4.154803e-2,-6.201499e-2,0.109408,207.4757,-189.8182)" cx="21.920311" cy="-382.96454" fx="21.920311" fy="-382.96454" r="21.743534"/>
+ <linearGradient xlink:href="#linearGradient5358" id="linearGradient8292" gradientUnits="userSpaceOnUse" gradientTransform="matrix(-5.358613e-2,0.102849,-9.281434e-2,-5.937964e-2,198.9051,-255.6893)" x1="6.8942904" y1="-359.82382" x2="27.400387" y2="-381.30222"/>
+ <radialGradient xlink:href="#linearGradient5346" id="radialGradient8294" gradientUnits="userSpaceOnUse" gradientTransform="matrix(7.065158e-2,4.154803e-2,-6.201499e-2,0.109408,207.4757,-189.8182)" cx="21.920311" cy="-382.96454" fx="21.920311" fy="-382.96454" r="21.743534"/>
+ <linearGradient xlink:href="#linearGradient5358" id="linearGradient8296" gradientUnits="userSpaceOnUse" gradientTransform="matrix(-5.358613e-2,0.102849,-9.281434e-2,-5.937964e-2,198.9051,-255.6893)" x1="6.8942904" y1="-359.82382" x2="27.400387" y2="-381.30222"/>
+ <radialGradient xlink:href="#linearGradient5346" id="radialGradient8298" gradientUnits="userSpaceOnUse" gradientTransform="matrix(7.065158e-2,4.154803e-2,-6.201499e-2,0.109408,207.4757,-189.8182)" cx="21.920311" cy="-382.96454" fx="21.920311" fy="-382.96454" r="21.743534"/>
+ <linearGradient xlink:href="#linearGradient5358" id="linearGradient8300" gradientUnits="userSpaceOnUse" gradientTransform="matrix(-5.358613e-2,0.102849,-9.281434e-2,-5.937964e-2,198.9051,-255.6893)" x1="6.8942904" y1="-359.82382" x2="27.400387" y2="-381.30222"/>
+ <radialGradient xlink:href="#linearGradient5346" id="radialGradient8302" gradientUnits="userSpaceOnUse" gradientTransform="matrix(7.065158e-2,4.154803e-2,-6.201499e-2,0.109408,207.4757,-189.8182)" cx="21.920311" cy="-382.96454" fx="21.920311" fy="-382.96454" r="21.743534"/>
+ <linearGradient xlink:href="#linearGradient5358" id="linearGradient8304" gradientUnits="userSpaceOnUse" gradientTransform="matrix(-5.358613e-2,0.102849,-9.281434e-2,-5.937964e-2,198.9051,-255.6893)" x1="6.8942904" y1="-359.82382" x2="27.400387" y2="-381.30222"/>
+ <radialGradient xlink:href="#linearGradient5346" id="radialGradient8306" gradientUnits="userSpaceOnUse" gradientTransform="matrix(7.065158e-2,4.154803e-2,-6.201499e-2,0.109408,207.4757,-189.8182)" cx="21.920311" cy="-382.96454" fx="21.920311" fy="-382.96454" r="21.743534"/>
+ <linearGradient xlink:href="#linearGradient5358" id="linearGradient8308" gradientUnits="userSpaceOnUse" gradientTransform="matrix(-5.358613e-2,0.102849,-9.281434e-2,-5.937964e-2,198.9051,-255.6893)" x1="6.8942904" y1="-359.82382" x2="27.400387" y2="-381.30222"/>
+ <radialGradient xlink:href="#linearGradient5346" id="radialGradient8310" gradientUnits="userSpaceOnUse" gradientTransform="matrix(7.065158e-2,4.154803e-2,-6.201499e-2,0.109408,207.4757,-189.8182)" cx="21.920311" cy="-382.96454" fx="21.920311" fy="-382.96454" r="21.743534"/>
+ <linearGradient xlink:href="#linearGradient5358" id="linearGradient8312" gradientUnits="userSpaceOnUse" gradientTransform="matrix(-5.358613e-2,0.102849,-9.281434e-2,-5.937964e-2,198.9051,-255.6893)" x1="6.8942904" y1="-359.82382" x2="27.400387" y2="-381.30222"/>
</defs>
- <sodipodi:namedview
- id="base"
- pagecolor="#ffffff"
- bordercolor="#666666"
- borderopacity="1.0"
- inkscape:pageopacity="0.0"
- inkscape:pageshadow="2"
- inkscape:zoom="1"
- inkscape:cx="24"
- inkscape:cy="24"
- inkscape:current-layer="layer1"
- showgrid="true"
- inkscape:grid-bbox="true"
- inkscape:document-units="px"
- inkscape:window-width="982"
- inkscape:window-height="965"
- inkscape:window-x="1280"
- inkscape:window-y="28"
- inkscape:showpageshadow="false" />
- <metadata
- id="metadata1311">
+
+ <metadata id="metadata1311">
<rdf:RDF>
- <cc:Work
- rdf:about="">
+ <cc:Work rdf:about="">
<dc:format>image/svg+xml</dc:format>
- <dc:type
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
<dc:title>weather-showers</dc:title>
<dc:date>January 2006</dc:date>
<dc:creator>
@@ -4588,608 +111,119 @@
<rdf:li>notify</rdf:li>
</rdf:Bag>
</dc:subject>
- <cc:license
- rdf:resource="http://creativecommons.org/licenses/by-sa/2.0/" />
+ <cc:license rdf:resource="http://creativecommons.org/licenses/by-sa/2.0/"/>
</cc:Work>
- <cc:License
- rdf:about="http://creativecommons.org/licenses/by-sa/2.0/">
- <cc:permits
- rdf:resource="http://web.resource.org/cc/Reproduction" />
- <cc:permits
- rdf:resource="http://web.resource.org/cc/Distribution" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/Notice" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/Attribution" />
- <cc:permits
- rdf:resource="http://web.resource.org/cc/DerivativeWorks" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/ShareAlike" />
+ <cc:License rdf:about="http://creativecommons.org/licenses/by-sa/2.0/">
+ <cc:permits rdf:resource="http://web.resource.org/cc/Reproduction"/>
+ <cc:permits rdf:resource="http://web.resource.org/cc/Distribution"/>
+ <cc:requires rdf:resource="http://web.resource.org/cc/Notice"/>
+ <cc:requires rdf:resource="http://web.resource.org/cc/Attribution"/>
+ <cc:permits rdf:resource="http://web.resource.org/cc/DerivativeWorks"/>
+ <cc:requires rdf:resource="http://web.resource.org/cc/ShareAlike"/>
</cc:License>
</rdf:RDF>
</metadata>
- <g
- id="layer1"
- inkscape:label="Layer 1"
- inkscape:groupmode="layer">
- <g
- id="g10087">
- <g
- transform="matrix(0.999675,0.000000,0.000000,1.000000,-286.8562,245.0000)"
- id="g13213">
- <g
- id="g13215">
- <path
- id="path13217"
- d="M 311.50000,-242.99998 C 308.72758,-242.99998 306.39177,-241.42627 305.09375,-239.18748 C 304.14939,-239.66252 303.12856,-239.99998 302.00000,-239.99998 C 298.13600,-239.99998 295.00000,-236.86398 295.00000,-232.99998 C 295.00000,-229.13598 298.13600,-225.99998 302.00000,-225.99998 C 304.41967,-225.99998 306.43009,-227.31930 307.68750,-229.18748 C 308.82170,-228.49786 310.07648,-227.99998 311.50000,-227.99998 C 312.41312,-227.99998 313.25295,-228.23200 314.06250,-228.53123 C 314.57244,-227.66350 315.24162,-226.95151 316.06250,-226.37498 C 316.05526,-226.24460 316.00000,-226.13216 316.00000,-225.99998 C 316.00000,-222.13598 319.13599,-218.99998 323.00000,-218.99998 C 326.86400,-218.99998 330.00000,-222.13598 330.00000,-225.99998 C 330.00000,-228.36967 328.74102,-230.35832 326.93750,-231.62498 C 326.94474,-231.75536 327.00000,-231.86780 327.00000,-231.99998 C 327.00000,-235.86398 323.86401,-238.99998 320.00000,-238.99998 C 319.37730,-238.99998 318.82481,-238.77779 318.25000,-238.62498 C 317.05547,-241.18382 314.50866,-242.99998 311.50000,-242.99998 z "
- style="opacity:1.0000000;fill:#555753;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000" />
- <path
- id="path13219"
- d="M 311.50000,-241.99998 C 308.71952,-241.99998 306.36549,-240.23813 305.43750,-237.78123 C 304.45208,-238.49067 303.30607,-238.99998 302.00000,-238.99998 C 298.68800,-238.99998 296.00000,-236.31198 296.00000,-232.99998 C 296.00000,-229.68798 298.68800,-226.99998 302.00000,-226.99998 C 304.42775,-226.99998 306.49324,-228.45556 307.43750,-230.53123 C 308.55826,-229.61367 309.93964,-228.99998 311.50000,-228.99998 C 312.57454,-228.99998 313.54428,-229.31894 314.43750,-229.78123 C 314.83590,-228.78147 315.53864,-227.99491 316.37500,-227.34373 C 316.19499,-226.74811 316.00000,-226.15408 316.00000,-225.49998 C 316.00000,-221.91198 318.91200,-218.99998 322.50000,-218.99998 C 326.08800,-218.99998 329.00000,-221.91198 329.00000,-225.49998 C 329.00000,-227.86077 327.66567,-229.83017 325.78125,-230.96873 C 325.84384,-231.31596 326.00000,-231.63481 326.00000,-231.99998 C 326.00000,-235.31198 323.31200,-237.99998 320.00000,-237.99998 C 319.14702,-237.99998 318.32870,-237.82130 317.59375,-237.49998 C 316.73998,-240.09386 314.37851,-241.99997 311.50000,-241.99998 z "
- style="opacity:1.0000000;fill:url(#linearGradient13315);fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000" />
- <path
- transform="matrix(0.964447,0.000000,0.000000,0.964447,89.28852,144.5262)"
- d="M 248.54804 -383.66660 A 6.7396116 6.7396116 0 1 1 235.06881,-383.66660 A 6.7396116 6.7396116 0 1 1 248.54804 -383.66660 z"
- sodipodi:ry="6.7396116"
- sodipodi:rx="6.7396116"
- sodipodi:cy="-383.66660"
- sodipodi:cx="241.80843"
- id="path13221"
- style="opacity:1.0000000;fill:#888a85;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- sodipodi:type="arc" />
- <g
- id="g13223">
- <path
- sodipodi:type="arc"
- style="opacity:1.0000000;fill:#888a85;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- id="path13225"
- sodipodi:cx="243.95184"
- sodipodi:cy="-389.30136"
- sodipodi:rx="6.2313786"
- sodipodi:ry="6.2313786"
- d="M 250.18322 -389.30136 A 6.2313786 6.2313786 0 1 1 237.72046,-389.30136 A 6.2313786 6.2313786 0 1 1 250.18322 -389.30136 z"
- transform="matrix(0.882630,0.000000,0.000000,0.882630,96.18078,108.1091)" />
- <path
- sodipodi:type="arc"
- style="opacity:0.49444440;fill:url(#linearGradient13317);fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- id="path13227"
- sodipodi:cx="243.95184"
- sodipodi:cy="-389.30136"
- sodipodi:rx="6.2313786"
- sodipodi:ry="6.2313786"
- d="M 250.18322 -389.30136 A 6.2313786 6.2313786 0 1 1 237.72046,-389.30136 A 6.2313786 6.2313786 0 1 1 250.18322 -389.30136 z"
- transform="matrix(0.882630,0.000000,0.000000,0.882630,96.18078,108.1091)" />
+ <g id="layer1">
+ <g>
+ <g transform="matrix(0.999675,0.000000,0.000000,1.000000,-286.8562,245.0000)">
+ <g>
+ <path d="M 311.50000,-242.99998 C 308.72758,-242.99998 306.39177,-241.42627 305.09375,-239.18748 C 304.14939,-239.66252 303.12856,-239.99998 302.00000,-239.99998 C 298.13600,-239.99998 295.00000,-236.86398 295.00000,-232.99998 C 295.00000,-229.13598 298.13600,-225.99998 302.00000,-225.99998 C 304.41967,-225.99998 306.43009,-227.31930 307.68750,-229.18748 C 308.82170,-228.49786 310.07648,-227.99998 311.50000,-227.99998 C 312.41312,-227.99998 313.25295,-228.23200 314.06250,-228.53123 C 314.57244,-227.66350 315.24162,-226.95151 316.06250,-226.37498 C 316.05526,-226.24460 316.00000,-226.13216 316.00000,-225.99998 C 316.00000,-222.13598 319.13599,-218.99998 323.00000,-218.99998 C 326.86400,-218.99998 330.00000,-222.13598 330.00000,-225.99998 C 330.00000,-228.36967 328.74102,-230.35832 326.93750,-231.62498 C 326.94474,-231.75536 327.00000,-231.86780 327.00000,-231.99998 C 327.00000,-235.86398 323.86401,-238.99998 320.00000,-238.99998 C 319.37730,-238.99998 318.82481,-238.77779 318.25000,-238.62498 C 317.05547,-241.18382 314.50866,-242.99998 311.50000,-242.99998 z " opacity="1.0000000" fill="#555753" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path d="M 311.50000,-241.99998 C 308.71952,-241.99998 306.36549,-240.23813 305.43750,-237.78123 C 304.45208,-238.49067 303.30607,-238.99998 302.00000,-238.99998 C 298.68800,-238.99998 296.00000,-236.31198 296.00000,-232.99998 C 296.00000,-229.68798 298.68800,-226.99998 302.00000,-226.99998 C 304.42775,-226.99998 306.49324,-228.45556 307.43750,-230.53123 C 308.55826,-229.61367 309.93964,-228.99998 311.50000,-228.99998 C 312.57454,-228.99998 313.54428,-229.31894 314.43750,-229.78123 C 314.83590,-228.78147 315.53864,-227.99491 316.37500,-227.34373 C 316.19499,-226.74811 316.00000,-226.15408 316.00000,-225.49998 C 316.00000,-221.91198 318.91200,-218.99998 322.50000,-218.99998 C 326.08800,-218.99998 329.00000,-221.91198 329.00000,-225.49998 C 329.00000,-227.86077 327.66567,-229.83017 325.78125,-230.96873 C 325.84384,-231.31596 326.00000,-231.63481 326.00000,-231.99998 C 326.00000,-235.31198 323.31200,-237.99998 320.00000,-237.99998 C 319.14702,-237.99998 318.32870,-237.82130 317.59375,-237.49998 C 316.73998,-240.09386 314.37851,-241.99997 311.50000,-241.99998 z " opacity="1.0000000" fill="url(#linearGradient13315)" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path transform="matrix(0.964447,0.000000,0.000000,0.964447,89.28852,144.5262)" d="M 248.54804 -383.66660 A 6.7396116 6.7396116 0 1 1 235.06881,-383.66660 A 6.7396116 6.7396116 0 1 1 248.54804 -383.66660 z" opacity="1.0000000" fill="#888a85" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <g>
+ <path d="M 250.18322 -389.30136 A 6.2313786 6.2313786 0 1 1 237.72046,-389.30136 A 6.2313786 6.2313786 0 1 1 250.18322 -389.30136 z" transform="matrix(0.882630,0.000000,0.000000,0.882630,96.18078,108.1091)" opacity="1.0000000" fill="#888a85" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path d="M 250.18322 -389.30136 A 6.2313786 6.2313786 0 1 1 237.72046,-389.30136 A 6.2313786 6.2313786 0 1 1 250.18322 -389.30136 z" transform="matrix(0.882630,0.000000,0.000000,0.882630,96.18078,108.1091)" opacity="0.49444440" fill="url(#linearGradient13317)" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
</g>
- <g
- id="g13229">
- <path
- sodipodi:type="arc"
- style="opacity:1.0000000;fill:#888a85;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- id="path13231"
- sodipodi:cx="251.22179"
- sodipodi:cy="-385.78790"
- sodipodi:rx="6.0325046"
- sodipodi:ry="6.0325046"
- d="M 257.25429 -385.78790 A 6.0325046 6.0325046 0 1 1 245.18928,-385.78790 A 6.0325046 6.0325046 0 1 1 257.25429 -385.78790 z"
- transform="matrix(0.911728,0.000000,0.000000,0.911728,90.45407,120.2336)" />
- <path
- sodipodi:type="arc"
- style="opacity:0.49444440;fill:url(#linearGradient13319);fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- id="path13233"
- sodipodi:cx="251.22179"
- sodipodi:cy="-385.78790"
- sodipodi:rx="6.0325046"
- sodipodi:ry="6.0325046"
- d="M 257.25429 -385.78790 A 6.0325046 6.0325046 0 1 1 245.18928,-385.78790 A 6.0325046 6.0325046 0 1 1 257.25429 -385.78790 z"
- transform="matrix(0.911728,0.000000,0.000000,0.911728,90.45407,120.2336)" />
+ <g>
+ <path d="M 257.25429 -385.78790 A 6.0325046 6.0325046 0 1 1 245.18928,-385.78790 A 6.0325046 6.0325046 0 1 1 257.25429 -385.78790 z" transform="matrix(0.911728,0.000000,0.000000,0.911728,90.45407,120.2336)" opacity="1.0000000" fill="#888a85" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path d="M 257.25429 -385.78790 A 6.0325046 6.0325046 0 1 1 245.18928,-385.78790 A 6.0325046 6.0325046 0 1 1 257.25429 -385.78790 z" transform="matrix(0.911728,0.000000,0.000000,0.911728,90.45407,120.2336)" opacity="0.49444440" fill="url(#linearGradient13319)" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
</g>
- <g
- id="g13235">
- <path
- sodipodi:type="arc"
- style="opacity:1.0000000;fill:#888a85;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- id="path13237"
- sodipodi:cx="233.43362"
- sodipodi:cy="-387.88715"
- sodipodi:rx="4.3752232"
- sodipodi:ry="4.3752232"
- d="M 237.80885 -387.88715 A 4.3752232 4.3752232 0 1 1 229.05840,-387.88715 A 4.3752232 4.3752232 0 1 1 237.80885 -387.88715 z"
- transform="matrix(1.142799,0.000000,0.000000,1.142799,35.23229,210.2770)" />
- <path
- sodipodi:type="arc"
- style="opacity:0.49444440;fill:url(#linearGradient13321);fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- id="path13239"
- sodipodi:cx="233.43362"
- sodipodi:cy="-387.88715"
- sodipodi:rx="4.3752232"
- sodipodi:ry="4.3752232"
- d="M 237.80885 -387.88715 A 4.3752232 4.3752232 0 1 1 229.05840,-387.88715 A 4.3752232 4.3752232 0 1 1 237.80885 -387.88715 z"
- transform="matrix(1.142799,0.000000,0.000000,1.142799,35.23229,210.2770)" />
+ <g>
+ <path d="M 237.80885 -387.88715 A 4.3752232 4.3752232 0 1 1 229.05840,-387.88715 A 4.3752232 4.3752232 0 1 1 237.80885 -387.88715 z" transform="matrix(1.142799,0.000000,0.000000,1.142799,35.23229,210.2770)" opacity="1.0000000" fill="#888a85" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path d="M 237.80885 -387.88715 A 4.3752232 4.3752232 0 1 1 229.05840,-387.88715 A 4.3752232 4.3752232 0 1 1 237.80885 -387.88715 z" transform="matrix(1.142799,0.000000,0.000000,1.142799,35.23229,210.2770)" opacity="0.49444440" fill="url(#linearGradient13321)" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
</g>
- <g
- id="g13241">
- <path
- sodipodi:type="arc"
- style="opacity:1.0000000;fill:#888a85;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- id="path13243"
- sodipodi:cx="241.80843"
- sodipodi:cy="-383.66660"
- sodipodi:rx="6.7396116"
- sodipodi:ry="6.7396116"
- d="M 248.54804 -383.66660 A 6.7396116 6.7396116 0 1 1 235.06881,-383.66660 A 6.7396116 6.7396116 0 1 1 248.54804 -383.66660 z"
- transform="matrix(1.038636,0.000000,0.000000,1.038636,59.84906,169.4899)" />
- <path
- sodipodi:type="arc"
- style="opacity:0.49444440;fill:url(#linearGradient13323);fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- id="path13245"
- sodipodi:cx="241.80843"
- sodipodi:cy="-383.66660"
- sodipodi:rx="6.7396116"
- sodipodi:ry="6.7396116"
- d="M 248.54804 -383.66660 A 6.7396116 6.7396116 0 1 1 235.06881,-383.66660 A 6.7396116 6.7396116 0 1 1 248.54804 -383.66660 z"
- transform="matrix(1.038636,0.000000,0.000000,1.038636,59.84907,169.4899)" />
+ <g>
+ <path d="M 248.54804 -383.66660 A 6.7396116 6.7396116 0 1 1 235.06881,-383.66660 A 6.7396116 6.7396116 0 1 1 248.54804 -383.66660 z" transform="matrix(1.038636,0.000000,0.000000,1.038636,59.84906,169.4899)" opacity="1.0000000" fill="#888a85" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path d="M 248.54804 -383.66660 A 6.7396116 6.7396116 0 1 1 235.06881,-383.66660 A 6.7396116 6.7396116 0 1 1 248.54804 -383.66660 z" transform="matrix(1.038636,0.000000,0.000000,1.038636,59.84907,169.4899)" opacity="0.49444440" fill="url(#linearGradient13323)" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
</g>
</g>
- <g
- id="g13247"
- transform="translate(72.00007,7.999930)">
- <path
- sodipodi:nodetypes="ccsscsssscsscc"
- id="path13249"
- d="M 246.49993,-238.49993 C 244.22910,-238.49993 242.39002,-236.94965 241.78118,-234.87493 C 241.08795,-235.23876 240.33667,-235.49993 239.49993,-235.49993 C 236.73993,-235.49993 234.49992,-233.25994 234.49993,-230.49993 C 234.49993,-229.92100 234.66245,-229.39223 234.84368,-228.87493 C 233.47021,-228.10419 232.49993,-226.68593 232.49993,-224.99993 C 232.49993,-222.51593 234.51593,-220.49992 236.99993,-220.49993 C 237.17706,-220.49993 255.82280,-220.49993 255.99993,-220.49993 C 258.48392,-220.49993 260.49993,-222.51593 260.49993,-224.99993 C 260.49993,-226.68593 259.52965,-228.10419 258.15618,-228.87493 C 258.33742,-229.39222 258.49993,-229.92101 258.49993,-230.49993 C 258.49993,-233.25993 256.25993,-235.49992 253.49993,-235.49993 C 252.66319,-235.49993 251.91191,-235.23876 251.21868,-234.87493 C 250.60984,-236.94965 248.77076,-238.49993 246.49993,-238.49993 z "
- style="fill:#888a85;fill-opacity:1.0000000;stroke:#555753;stroke-width:1.0001625;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000" />
- <path
- sodipodi:nodetypes="ccsscsssscsscc"
- id="path13251"
- d="M 246.49993,-237.99993 C 244.31021,-237.99993 242.77633,-236.66416 242.10438,-234.15641 C 241.43592,-234.50003 240.55679,-234.98976 239.74993,-234.98976 C 237.03342,-234.98976 234.99479,-233.05094 234.99480,-230.44422 C 234.99480,-229.89745 235.26201,-229.11078 235.43676,-228.62221 C 234.11233,-227.89426 232.99993,-226.73171 232.99993,-225.24966 C 232.99993,-222.90361 234.54610,-220.99957 237.33921,-220.99957 C 237.51002,-220.99957 255.48985,-220.99957 255.66065,-220.99957 C 258.43166,-220.99957 259.99993,-222.90361 259.99993,-225.24966 C 259.99993,-226.84203 258.88753,-227.91635 257.56310,-228.64430 C 257.73786,-229.13286 258.02717,-229.89746 258.02717,-230.44422 C 258.02717,-233.05093 255.91136,-235.01185 253.24994,-235.01186 C 252.44307,-235.01186 251.60813,-234.52212 250.93967,-234.17850 C 250.29082,-236.60004 248.68966,-237.99993 246.49993,-237.99993 z "
- style="opacity:1.0000000;fill:url(#linearGradient13325);fill-opacity:1.0000000;stroke:none;stroke-width:0.99999958;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000" />
- <path
- transform="matrix(1.056604,0.000000,0.000000,1.056604,-58.19825,228.8634)"
- d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z"
- sodipodi:ry="3.3125000"
- sodipodi:rx="3.3125000"
- sodipodi:cy="-437.59375"
- sodipodi:cx="288.37500"
- id="path13253"
- style="opacity:1.0000000;fill:#888a85;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- sodipodi:type="arc" />
- <path
- transform="matrix(1.056604,0.000000,0.000000,1.056604,-58.19825,228.8634)"
- d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z"
- sodipodi:ry="3.3125000"
- sodipodi:rx="3.3125000"
- sodipodi:cy="-437.59375"
- sodipodi:cx="288.37500"
- id="path13255"
- style="opacity:0.47777775;fill:url(#linearGradient13327);fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- sodipodi:type="arc" />
- <rect
- y="-230.99992"
- x="236.99994"
- height="9.0000000"
- width="20.000000"
- id="rect13257"
- style="opacity:1.0000000;fill:#888a85;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000" />
- <path
- transform="matrix(0.905660,0.000000,0.000000,0.905660,-24.16987,171.3114)"
- d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z"
- sodipodi:ry="3.3125000"
- sodipodi:rx="3.3125000"
- sodipodi:cy="-437.59375"
- sodipodi:cx="288.37500"
- id="path13259"
- style="opacity:1.0000000;fill:#888a85;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- sodipodi:type="arc" />
- <path
- transform="matrix(1.056604,0.000000,0.000000,1.056604,-51.19818,231.8633)"
- d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z"
- sodipodi:ry="3.3125000"
- sodipodi:rx="3.3125000"
- sodipodi:cy="-437.59375"
- sodipodi:cx="288.37500"
- id="path13261"
- style="opacity:1.0000000;fill:#888a85;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- sodipodi:type="arc" />
- <path
- transform="matrix(1.056604,0.000000,0.000000,1.056604,-51.19825,231.8634)"
- d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z"
- sodipodi:ry="3.3125000"
- sodipodi:rx="3.3125000"
- sodipodi:cy="-437.59375"
- sodipodi:cx="288.37500"
- id="path13263"
- style="opacity:0.47777775;fill:url(#linearGradient13329);fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- sodipodi:type="arc" />
- <path
- transform="matrix(1.056604,0.000000,0.000000,1.056604,-65.19825,231.8634)"
- d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z"
- sodipodi:ry="3.3125000"
- sodipodi:rx="3.3125000"
- sodipodi:cy="-437.59375"
- sodipodi:cx="288.37500"
- id="path13265"
- style="opacity:1.0000000;fill:#888a85;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- sodipodi:type="arc" />
- <path
- transform="matrix(1.056604,0.000000,0.000000,1.056604,-65.19825,231.8634)"
- d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z"
- sodipodi:ry="3.3125000"
- sodipodi:rx="3.3125000"
- sodipodi:cy="-437.59375"
- sodipodi:cx="288.37500"
- id="path13267"
- style="opacity:0.47777775;fill:url(#linearGradient13331);fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- sodipodi:type="arc" />
- <path
- id="path13269"
- d="M 245.46868,-233.96868 C 241.88930,-233.96868 238.99993,-231.04805 238.99993,-227.46868 C 238.99993,-225.09800 240.34936,-223.13089 242.24993,-221.99993 L 248.71868,-221.99993 C 250.61925,-223.13089 251.96868,-225.12924 251.96868,-227.49993 C 251.96868,-231.07931 249.04805,-233.96868 245.46868,-233.96868 z "
- style="opacity:1.0000000;fill:#888a85;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000" />
- <path
- id="path13271"
- d="M 245.49993,-233.99993 C 241.91193,-233.99993 238.99993,-231.08792 238.99993,-227.49993 C 238.99993,-225.12353 240.34478,-223.13361 242.24993,-221.99993 L 248.74993,-221.99993 C 250.65508,-223.13361 251.99993,-225.12353 251.99993,-227.49993 C 251.99993,-231.08793 249.08793,-233.99992 245.49993,-233.99993 z "
- style="opacity:0.47777775;fill:url(#linearGradient13333);fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000" />
- <path
- transform="matrix(0.905660,0.000000,0.000000,0.905660,-24.16977,171.3113)"
- d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z"
- sodipodi:ry="3.3125000"
- sodipodi:rx="3.3125000"
- sodipodi:cy="-437.59375"
- sodipodi:cx="288.37500"
- id="path13273"
- style="opacity:0.47777775;fill:url(#linearGradient13335);fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- sodipodi:type="arc" />
- <path
- sodipodi:nodetypes="ccss"
- id="path13275"
- d="M 258.95633,-230.33389 C 258.95480,-227.64933 255.68707,-226.61994 255.68707,-226.61994 C 255.68707,-226.61994 258.03581,-228.24589 258.02392,-230.32495 C 258.02392,-230.32495 258.95633,-230.33389 258.95633,-230.33389 z "
- style="fill:#555753;fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000" />
- <path
- transform="matrix(1.207547,0.000000,0.000000,1.207547,-98.22652,302.4154)"
- d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z"
- sodipodi:ry="3.3125000"
- sodipodi:rx="3.3125000"
- sodipodi:cy="-437.59375"
- sodipodi:cx="288.37500"
- id="path13277"
- style="opacity:1.0000000;fill:#888a85;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- sodipodi:type="arc" />
- <path
- transform="matrix(1.207547,0.000000,0.000000,1.207547,-98.22652,302.4154)"
- d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z"
- sodipodi:ry="3.3125000"
- sodipodi:rx="3.3125000"
- sodipodi:cy="-437.59375"
- sodipodi:cx="288.37500"
- id="path13279"
- style="opacity:0.47777775;fill:url(#linearGradient13337);fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- sodipodi:type="arc" />
+ <g transform="translate(72.00007,7.999930)">
+ <path d="M 246.49993,-238.49993 C 244.22910,-238.49993 242.39002,-236.94965 241.78118,-234.87493 C 241.08795,-235.23876 240.33667,-235.49993 239.49993,-235.49993 C 236.73993,-235.49993 234.49992,-233.25994 234.49993,-230.49993 C 234.49993,-229.92100 234.66245,-229.39223 234.84368,-228.87493 C 233.47021,-228.10419 232.49993,-226.68593 232.49993,-224.99993 C 232.49993,-222.51593 234.51593,-220.49992 236.99993,-220.49993 C 237.17706,-220.49993 255.82280,-220.49993 255.99993,-220.49993 C 258.48392,-220.49993 260.49993,-222.51593 260.49993,-224.99993 C 260.49993,-226.68593 259.52965,-228.10419 258.15618,-228.87493 C 258.33742,-229.39222 258.49993,-229.92101 258.49993,-230.49993 C 258.49993,-233.25993 256.25993,-235.49992 253.49993,-235.49993 C 252.66319,-235.49993 251.91191,-235.23876 251.21868,-234.87493 C 250.60984,-236.94965 248.77076,-238.49993 246.49993,-238.49993 z " fill="#888a85" fill-opacity="1.0000000" stroke="#555753" stroke-width="1.0001625" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path d="M 246.49993,-237.99993 C 244.31021,-237.99993 242.77633,-236.66416 242.10438,-234.15641 C 241.43592,-234.50003 240.55679,-234.98976 239.74993,-234.98976 C 237.03342,-234.98976 234.99479,-233.05094 234.99480,-230.44422 C 234.99480,-229.89745 235.26201,-229.11078 235.43676,-228.62221 C 234.11233,-227.89426 232.99993,-226.73171 232.99993,-225.24966 C 232.99993,-222.90361 234.54610,-220.99957 237.33921,-220.99957 C 237.51002,-220.99957 255.48985,-220.99957 255.66065,-220.99957 C 258.43166,-220.99957 259.99993,-222.90361 259.99993,-225.24966 C 259.99993,-226.84203 258.88753,-227.91635 257.56310,-228.64430 C 257.73786,-229.13286 258.02717,-229.89746 258.02717,-230.44422 C 258.02717,-233.05093 255.91136,-235.01185 253.24994,-235.01186 C 252.44307,-235.01186 251.60813,-234.52212 250.93967,-234.17850 C 250.29082,-236.60004 248.68966,-237.99993 246.49993,-237.99993 z " opacity="1.0000000" fill="url(#linearGradient13325)" fill-opacity="1.0000000" stroke="none" stroke-width="0.99999958" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path transform="matrix(1.056604,0.000000,0.000000,1.056604,-58.19825,228.8634)" d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z" opacity="1.0000000" fill="#888a85" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path transform="matrix(1.056604,0.000000,0.000000,1.056604,-58.19825,228.8634)" d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z" opacity="0.47777775" fill="url(#linearGradient13327)" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <rect y="-230.99992" x="236.99994" height="9.0000000" width="20.000000" opacity="1.0000000" fill="#888a85" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path transform="matrix(0.905660,0.000000,0.000000,0.905660,-24.16987,171.3114)" d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z" opacity="1.0000000" fill="#888a85" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path transform="matrix(1.056604,0.000000,0.000000,1.056604,-51.19818,231.8633)" d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z" opacity="1.0000000" fill="#888a85" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path transform="matrix(1.056604,0.000000,0.000000,1.056604,-51.19825,231.8634)" d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z" opacity="0.47777775" fill="url(#linearGradient13329)" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path transform="matrix(1.056604,0.000000,0.000000,1.056604,-65.19825,231.8634)" d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z" opacity="1.0000000" fill="#888a85" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path transform="matrix(1.056604,0.000000,0.000000,1.056604,-65.19825,231.8634)" d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z" opacity="0.47777775" fill="url(#linearGradient13331)" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path d="M 245.46868,-233.96868 C 241.88930,-233.96868 238.99993,-231.04805 238.99993,-227.46868 C 238.99993,-225.09800 240.34936,-223.13089 242.24993,-221.99993 L 248.71868,-221.99993 C 250.61925,-223.13089 251.96868,-225.12924 251.96868,-227.49993 C 251.96868,-231.07931 249.04805,-233.96868 245.46868,-233.96868 z " opacity="1.0000000" fill="#888a85" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path d="M 245.49993,-233.99993 C 241.91193,-233.99993 238.99993,-231.08792 238.99993,-227.49993 C 238.99993,-225.12353 240.34478,-223.13361 242.24993,-221.99993 L 248.74993,-221.99993 C 250.65508,-223.13361 251.99993,-225.12353 251.99993,-227.49993 C 251.99993,-231.08793 249.08793,-233.99992 245.49993,-233.99993 z " opacity="0.47777775" fill="url(#linearGradient13333)" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path transform="matrix(0.905660,0.000000,0.000000,0.905660,-24.16977,171.3113)" d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z" opacity="0.47777775" fill="url(#linearGradient13335)" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path d="M 258.95633,-230.33389 C 258.95480,-227.64933 255.68707,-226.61994 255.68707,-226.61994 C 255.68707,-226.61994 258.03581,-228.24589 258.02392,-230.32495 C 258.02392,-230.32495 258.95633,-230.33389 258.95633,-230.33389 z " fill="#555753" fill-opacity="1.0000000" fill-rule="evenodd" stroke="none" stroke-width="1.0000000px" stroke-linecap="butt" stroke-linejoin="miter" stroke-opacity="1.0000000"/>
+ <path transform="matrix(1.207547,0.000000,0.000000,1.207547,-98.22652,302.4154)" d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z" opacity="1.0000000" fill="#888a85" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path transform="matrix(1.207547,0.000000,0.000000,1.207547,-98.22652,302.4154)" d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z" opacity="0.47777775" fill="url(#linearGradient13337)" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
</g>
- <g
- id="g13281"
- transform="translate(56.98577,3.983930)">
- <path
- sodipodi:nodetypes="ccsscsssscsscc"
- id="path13283"
- d="M 246.49993,-238.49993 C 244.22910,-238.49993 242.39002,-236.94965 241.78118,-234.87493 C 241.08795,-235.23876 240.33667,-235.49993 239.49993,-235.49993 C 236.73993,-235.49993 234.49992,-233.25994 234.49993,-230.49993 C 234.49993,-229.92100 234.66245,-229.39223 234.84368,-228.87493 C 233.47021,-228.10419 232.49993,-226.68593 232.49993,-224.99993 C 232.49993,-222.51593 234.51593,-220.49992 236.99993,-220.49993 C 237.17706,-220.49993 255.82280,-220.49993 255.99993,-220.49993 C 258.48392,-220.49993 260.49993,-222.51593 260.49993,-224.99993 C 260.49993,-226.68593 259.52965,-228.10419 258.15618,-228.87493 C 258.33742,-229.39222 258.49993,-229.92101 258.49993,-230.49993 C 258.49993,-233.25993 256.25993,-235.49992 253.49993,-235.49993 C 252.66319,-235.49993 251.91191,-235.23876 251.21868,-234.87493 C 250.60984,-236.94965 248.77076,-238.49993 246.49993,-238.49993 z "
- style="fill:#888a85;fill-opacity:1.0000000;stroke:#555753;stroke-width:1.0001625;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000" />
- <path
- sodipodi:nodetypes="ccsscsssscsscc"
- id="path13285"
- d="M 246.49993,-237.99993 C 244.31021,-237.99993 242.77633,-236.66416 242.10438,-234.15641 C 241.43592,-234.50003 240.55679,-234.98976 239.74993,-234.98976 C 237.03342,-234.98976 234.99479,-233.05094 234.99480,-230.44422 C 234.99480,-229.89745 235.26201,-229.11078 235.43676,-228.62221 C 234.11233,-227.89426 232.99993,-226.73171 232.99993,-225.24966 C 232.99993,-222.90361 234.54610,-220.99957 237.33921,-220.99957 C 237.51002,-220.99957 255.48985,-220.99957 255.66065,-220.99957 C 258.43166,-220.99957 259.99993,-222.90361 259.99993,-225.24966 C 259.99993,-226.84203 258.88753,-227.91635 257.56310,-228.64430 C 257.73786,-229.13286 258.02717,-229.89746 258.02717,-230.44422 C 258.02717,-233.05093 255.91136,-235.01185 253.24994,-235.01186 C 252.44307,-235.01186 251.60813,-234.52212 250.93967,-234.17850 C 250.29082,-236.60004 248.68966,-237.99993 246.49993,-237.99993 z "
- style="opacity:1.0000000;fill:url(#linearGradient13339);fill-opacity:1.0000000;stroke:none;stroke-width:0.99999958;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000" />
- <path
- transform="matrix(1.056604,0.000000,0.000000,1.056604,-58.19825,228.8634)"
- d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z"
- sodipodi:ry="3.3125000"
- sodipodi:rx="3.3125000"
- sodipodi:cy="-437.59375"
- sodipodi:cx="288.37500"
- id="path13287"
- style="opacity:1.0000000;fill:#888a85;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- sodipodi:type="arc" />
- <path
- transform="matrix(1.056604,0.000000,0.000000,1.056604,-58.19825,228.8634)"
- d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z"
- sodipodi:ry="3.3125000"
- sodipodi:rx="3.3125000"
- sodipodi:cy="-437.59375"
- sodipodi:cx="288.37500"
- id="path13289"
- style="opacity:0.47777775;fill:url(#linearGradient13341);fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- sodipodi:type="arc" />
- <rect
- y="-230.99992"
- x="236.99994"
- height="9.0000000"
- width="20.000000"
- id="rect13291"
- style="opacity:1.0000000;fill:#888a85;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000" />
- <path
- transform="matrix(0.905660,0.000000,0.000000,0.905660,-24.16987,171.3114)"
- d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z"
- sodipodi:ry="3.3125000"
- sodipodi:rx="3.3125000"
- sodipodi:cy="-437.59375"
- sodipodi:cx="288.37500"
- id="path13293"
- style="opacity:1.0000000;fill:#888a85;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- sodipodi:type="arc" />
- <path
- transform="matrix(1.056604,0.000000,0.000000,1.056604,-51.19818,231.8633)"
- d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z"
- sodipodi:ry="3.3125000"
- sodipodi:rx="3.3125000"
- sodipodi:cy="-437.59375"
- sodipodi:cx="288.37500"
- id="path13295"
- style="opacity:1.0000000;fill:#888a85;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- sodipodi:type="arc" />
- <path
- transform="matrix(1.056604,0.000000,0.000000,1.056604,-51.19825,231.8634)"
- d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z"
- sodipodi:ry="3.3125000"
- sodipodi:rx="3.3125000"
- sodipodi:cy="-437.59375"
- sodipodi:cx="288.37500"
- id="path13297"
- style="opacity:0.47777775;fill:url(#linearGradient13343);fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- sodipodi:type="arc" />
- <path
- transform="matrix(1.056604,0.000000,0.000000,1.056604,-65.19825,231.8634)"
- d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z"
- sodipodi:ry="3.3125000"
- sodipodi:rx="3.3125000"
- sodipodi:cy="-437.59375"
- sodipodi:cx="288.37500"
- id="path13299"
- style="opacity:1.0000000;fill:#888a85;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- sodipodi:type="arc" />
- <path
- transform="matrix(1.056604,0.000000,0.000000,1.056604,-65.19825,231.8634)"
- d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z"
- sodipodi:ry="3.3125000"
- sodipodi:rx="3.3125000"
- sodipodi:cy="-437.59375"
- sodipodi:cx="288.37500"
- id="path13301"
- style="opacity:0.47777775;fill:url(#linearGradient13345);fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- sodipodi:type="arc" />
- <path
- id="path13303"
- d="M 245.46868,-233.96868 C 241.88930,-233.96868 238.99993,-231.04805 238.99993,-227.46868 C 238.99993,-225.09800 240.34936,-223.13089 242.24993,-221.99993 L 248.71868,-221.99993 C 250.61925,-223.13089 251.96868,-225.12924 251.96868,-227.49993 C 251.96868,-231.07931 249.04805,-233.96868 245.46868,-233.96868 z "
- style="opacity:1.0000000;fill:#888a85;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000" />
- <path
- id="path13305"
- d="M 245.49993,-233.99993 C 241.91193,-233.99993 238.99993,-231.08792 238.99993,-227.49993 C 238.99993,-225.12353 240.34478,-223.13361 242.24993,-221.99993 L 248.74993,-221.99993 C 250.65508,-223.13361 251.99993,-225.12353 251.99993,-227.49993 C 251.99993,-231.08793 249.08793,-233.99992 245.49993,-233.99993 z "
- style="opacity:0.47777775;fill:url(#linearGradient13347);fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000" />
- <path
- transform="matrix(0.905660,0.000000,0.000000,0.905660,-24.16977,171.3113)"
- d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z"
- sodipodi:ry="3.3125000"
- sodipodi:rx="3.3125000"
- sodipodi:cy="-437.59375"
- sodipodi:cx="288.37500"
- id="path13307"
- style="opacity:0.47777775;fill:url(#linearGradient13350);fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- sodipodi:type="arc" />
- <path
- sodipodi:nodetypes="ccss"
- id="path13309"
- d="M 258.95633,-230.33389 C 258.95480,-227.64933 255.68707,-226.61994 255.68707,-226.61994 C 255.68707,-226.61994 258.03581,-228.24589 258.02392,-230.32495 C 258.02392,-230.32495 258.95633,-230.33389 258.95633,-230.33389 z "
- style="fill:#555753;fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000" />
- <path
- transform="matrix(1.207547,0.000000,0.000000,1.207547,-98.22652,302.4154)"
- d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z"
- sodipodi:ry="3.3125000"
- sodipodi:rx="3.3125000"
- sodipodi:cy="-437.59375"
- sodipodi:cx="288.37500"
- id="path13311"
- style="opacity:1.0000000;fill:#888a85;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- sodipodi:type="arc" />
- <path
- transform="matrix(1.207547,0.000000,0.000000,1.207547,-98.22652,302.4154)"
- d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z"
- sodipodi:ry="3.3125000"
- sodipodi:rx="3.3125000"
- sodipodi:cy="-437.59375"
- sodipodi:cx="288.37500"
- id="path13313"
- style="opacity:0.47777775;fill:url(#linearGradient13352);fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- sodipodi:type="arc" />
+ <g transform="translate(56.98577,3.983930)">
+ <path d="M 246.49993,-238.49993 C 244.22910,-238.49993 242.39002,-236.94965 241.78118,-234.87493 C 241.08795,-235.23876 240.33667,-235.49993 239.49993,-235.49993 C 236.73993,-235.49993 234.49992,-233.25994 234.49993,-230.49993 C 234.49993,-229.92100 234.66245,-229.39223 234.84368,-228.87493 C 233.47021,-228.10419 232.49993,-226.68593 232.49993,-224.99993 C 232.49993,-222.51593 234.51593,-220.49992 236.99993,-220.49993 C 237.17706,-220.49993 255.82280,-220.49993 255.99993,-220.49993 C 258.48392,-220.49993 260.49993,-222.51593 260.49993,-224.99993 C 260.49993,-226.68593 259.52965,-228.10419 258.15618,-228.87493 C 258.33742,-229.39222 258.49993,-229.92101 258.49993,-230.49993 C 258.49993,-233.25993 256.25993,-235.49992 253.49993,-235.49993 C 252.66319,-235.49993 251.91191,-235.23876 251.21868,-234.87493 C 250.60984,-236.94965 248.77076,-238.49993 246.49993,-238.49993 z " fill="#888a85" fill-opacity="1.0000000" stroke="#555753" stroke-width="1.0001625" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path d="M 246.49993,-237.99993 C 244.31021,-237.99993 242.77633,-236.66416 242.10438,-234.15641 C 241.43592,-234.50003 240.55679,-234.98976 239.74993,-234.98976 C 237.03342,-234.98976 234.99479,-233.05094 234.99480,-230.44422 C 234.99480,-229.89745 235.26201,-229.11078 235.43676,-228.62221 C 234.11233,-227.89426 232.99993,-226.73171 232.99993,-225.24966 C 232.99993,-222.90361 234.54610,-220.99957 237.33921,-220.99957 C 237.51002,-220.99957 255.48985,-220.99957 255.66065,-220.99957 C 258.43166,-220.99957 259.99993,-222.90361 259.99993,-225.24966 C 259.99993,-226.84203 258.88753,-227.91635 257.56310,-228.64430 C 257.73786,-229.13286 258.02717,-229.89746 258.02717,-230.44422 C 258.02717,-233.05093 255.91136,-235.01185 253.24994,-235.01186 C 252.44307,-235.01186 251.60813,-234.52212 250.93967,-234.17850 C 250.29082,-236.60004 248.68966,-237.99993 246.49993,-237.99993 z " opacity="1.0000000" fill="url(#linearGradient13339)" fill-opacity="1.0000000" stroke="none" stroke-width="0.99999958" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path transform="matrix(1.056604,0.000000,0.000000,1.056604,-58.19825,228.8634)" d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z" opacity="1.0000000" fill="#888a85" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path transform="matrix(1.056604,0.000000,0.000000,1.056604,-58.19825,228.8634)" d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z" opacity="0.47777775" fill="url(#linearGradient13341)" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <rect y="-230.99992" x="236.99994" height="9.0000000" width="20.000000" opacity="1.0000000" fill="#888a85" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path transform="matrix(0.905660,0.000000,0.000000,0.905660,-24.16987,171.3114)" d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z" opacity="1.0000000" fill="#888a85" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path transform="matrix(1.056604,0.000000,0.000000,1.056604,-51.19818,231.8633)" d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z" opacity="1.0000000" fill="#888a85" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path transform="matrix(1.056604,0.000000,0.000000,1.056604,-51.19825,231.8634)" d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z" opacity="0.47777775" fill="url(#linearGradient13343)" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path transform="matrix(1.056604,0.000000,0.000000,1.056604,-65.19825,231.8634)" d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z" opacity="1.0000000" fill="#888a85" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path transform="matrix(1.056604,0.000000,0.000000,1.056604,-65.19825,231.8634)" d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z" opacity="0.47777775" fill="url(#linearGradient13345)" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path d="M 245.46868,-233.96868 C 241.88930,-233.96868 238.99993,-231.04805 238.99993,-227.46868 C 238.99993,-225.09800 240.34936,-223.13089 242.24993,-221.99993 L 248.71868,-221.99993 C 250.61925,-223.13089 251.96868,-225.12924 251.96868,-227.49993 C 251.96868,-231.07931 249.04805,-233.96868 245.46868,-233.96868 z " opacity="1.0000000" fill="#888a85" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path d="M 245.49993,-233.99993 C 241.91193,-233.99993 238.99993,-231.08792 238.99993,-227.49993 C 238.99993,-225.12353 240.34478,-223.13361 242.24993,-221.99993 L 248.74993,-221.99993 C 250.65508,-223.13361 251.99993,-225.12353 251.99993,-227.49993 C 251.99993,-231.08793 249.08793,-233.99992 245.49993,-233.99993 z " opacity="0.47777775" fill="url(#linearGradient13347)" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path transform="matrix(0.905660,0.000000,0.000000,0.905660,-24.16977,171.3113)" d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z" opacity="0.47777775" fill="url(#linearGradient13350)" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path d="M 258.95633,-230.33389 C 258.95480,-227.64933 255.68707,-226.61994 255.68707,-226.61994 C 255.68707,-226.61994 258.03581,-228.24589 258.02392,-230.32495 C 258.02392,-230.32495 258.95633,-230.33389 258.95633,-230.33389 z " fill="#555753" fill-opacity="1.0000000" fill-rule="evenodd" stroke="none" stroke-width="1.0000000px" stroke-linecap="butt" stroke-linejoin="miter" stroke-opacity="1.0000000"/>
+ <path transform="matrix(1.207547,0.000000,0.000000,1.207547,-98.22652,302.4154)" d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z" opacity="1.0000000" fill="#888a85" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path transform="matrix(1.207547,0.000000,0.000000,1.207547,-98.22652,302.4154)" d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z" opacity="0.47777775" fill="url(#linearGradient13352)" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
</g>
</g>
- <g
- transform="translate(17.177973,-2)"
- id="g8264">
- <g
- id="g12227"
- transform="translate(-219.67784,275.47179)">
- <path
- sodipodi:nodetypes="cccc"
- id="path12229"
- d="M 231.62587,-228.77086 C 230.58662,-229.36665 230.23015,-230.68774 230.83016,-231.71967 C 232.16166,-233.80243 233.93524,-233.26584 234.84231,-235.46138 C 236.10323,-234.12777 235.63545,-227.21367 231.62587,-228.77086 z"
- style="fill:#729fcf;fill-opacity:1;stroke:#204a87;stroke-width:1.07456863;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
- <path
- sodipodi:nodetypes="csscc"
- id="path12231"
- d="M 234.31017,-229.9035 C 233.82059,-229.03976 232.73502,-228.74348 231.88703,-229.24216 C 231.03903,-229.74084 230.74816,-230.84657 231.23774,-231.71031 C 231.72733,-232.57405 233.84374,-232.16235 234.58388,-234 C 235.43187,-233.50133 234.79976,-230.76724 234.31017,-229.9035 z"
- style="opacity:0.46111109;fill:url(#radialGradient8290);fill-opacity:1;stroke:none;stroke-width:1.07457018;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0;stroke-dashoffset:0;stroke-opacity:1" />
- <path
- sodipodi:nodetypes="ccc"
- id="path12233"
- d="M 233.02237,-229 C 228.40776,-230.07384 233.25985,-233.71939 234,-232.92154 C 230.4176,-231.55118 233.02237,-229 233.02237,-229 z"
- style="opacity:1;fill:url(#linearGradient8292);fill-opacity:1;stroke:none;stroke-width:1.07457018;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0;stroke-dashoffset:0;stroke-opacity:1" />
+ <g transform="translate(17.177973,-2)">
+ <g transform="translate(-219.67784,275.47179)">
+ <path d="M 231.62587,-228.77086 C 230.58662,-229.36665 230.23015,-230.68774 230.83016,-231.71967 C 232.16166,-233.80243 233.93524,-233.26584 234.84231,-235.46138 C 236.10323,-234.12777 235.63545,-227.21367 231.62587,-228.77086 z" fill="#729fcf" fill-opacity="1" stroke="#204a87" stroke-width="1.07456863" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2" stroke-dasharray="none" stroke-dashoffset="0" stroke-opacity="1"/>
+ <path d="M 234.31017,-229.9035 C 233.82059,-229.03976 232.73502,-228.74348 231.88703,-229.24216 C 231.03903,-229.74084 230.74816,-230.84657 231.23774,-231.71031 C 231.72733,-232.57405 233.84374,-232.16235 234.58388,-234 C 235.43187,-233.50133 234.79976,-230.76724 234.31017,-229.9035 z" opacity="0.46111109" fill="url(#radialGradient8290)" fill-opacity="1" stroke="none" stroke-width="1.07457018" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="0" stroke-dashoffset="0" stroke-opacity="1"/>
+ <path d="M 233.02237,-229 C 228.40776,-230.07384 233.25985,-233.71939 234,-232.92154 C 230.4176,-231.55118 233.02237,-229 233.02237,-229 z" opacity="1" fill="url(#linearGradient8292)" fill-opacity="1" stroke="none" stroke-width="1.07457018" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="0" stroke-dashoffset="0" stroke-opacity="1"/>
</g>
- <g
- id="g12191"
- transform="translate(-239.67784,265.47959)">
- <path
- sodipodi:nodetypes="cccc"
- id="path12193"
- d="M 231.62587,-228.77086 C 230.58662,-229.36665 230.23015,-230.68774 230.83016,-231.71967 C 232.16166,-233.80243 233.93524,-233.26584 234.84231,-235.46138 C 236.10323,-234.12777 235.63545,-227.21367 231.62587,-228.77086 z"
- style="fill:#729fcf;fill-opacity:1;stroke:#204a87;stroke-width:1.07456863;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
- <path
- sodipodi:nodetypes="csscc"
- id="path12195"
- d="M 234.31017,-229.9035 C 233.82059,-229.03976 232.73502,-228.74348 231.88703,-229.24216 C 231.03903,-229.74084 230.74816,-230.84657 231.23774,-231.71031 C 231.72733,-232.57405 233.84374,-232.16235 234.58388,-234 C 235.43187,-233.50133 234.79976,-230.76724 234.31017,-229.9035 z"
- style="opacity:0.46111109;fill:url(#radialGradient8294);fill-opacity:1;stroke:none;stroke-width:1.07457018;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0;stroke-dashoffset:0;stroke-opacity:1" />
- <path
- sodipodi:nodetypes="ccc"
- id="path12197"
- d="M 233.02237,-229 C 228.40776,-230.07384 233.25985,-233.71939 234,-232.92154 C 230.4176,-231.55118 233.02237,-229 233.02237,-229 z"
- style="opacity:1;fill:url(#linearGradient8296);fill-opacity:1;stroke:none;stroke-width:1.07457018;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0;stroke-dashoffset:0;stroke-opacity:1" />
+ <g transform="translate(-239.67784,265.47959)">
+ <path d="M 231.62587,-228.77086 C 230.58662,-229.36665 230.23015,-230.68774 230.83016,-231.71967 C 232.16166,-233.80243 233.93524,-233.26584 234.84231,-235.46138 C 236.10323,-234.12777 235.63545,-227.21367 231.62587,-228.77086 z" fill="#729fcf" fill-opacity="1" stroke="#204a87" stroke-width="1.07456863" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2" stroke-dasharray="none" stroke-dashoffset="0" stroke-opacity="1"/>
+ <path d="M 234.31017,-229.9035 C 233.82059,-229.03976 232.73502,-228.74348 231.88703,-229.24216 C 231.03903,-229.74084 230.74816,-230.84657 231.23774,-231.71031 C 231.72733,-232.57405 233.84374,-232.16235 234.58388,-234 C 235.43187,-233.50133 234.79976,-230.76724 234.31017,-229.9035 z" opacity="0.46111109" fill="url(#radialGradient8294)" fill-opacity="1" stroke="none" stroke-width="1.07457018" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="0" stroke-dashoffset="0" stroke-opacity="1"/>
+ <path d="M 233.02237,-229 C 228.40776,-230.07384 233.25985,-233.71939 234,-232.92154 C 230.4176,-231.55118 233.02237,-229 233.02237,-229 z" opacity="1" fill="url(#linearGradient8296)" fill-opacity="1" stroke="none" stroke-width="1.07457018" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="0" stroke-dashoffset="0" stroke-opacity="1"/>
</g>
- <g
- id="g12239"
- transform="translate(-210.67944,272.47179)">
- <path
- sodipodi:nodetypes="cccc"
- id="path12241"
- d="M 231.62587,-228.77086 C 230.58662,-229.36665 230.23015,-230.68774 230.83016,-231.71967 C 232.16166,-233.80243 233.93524,-233.26584 234.84231,-235.46138 C 236.10323,-234.12777 235.63545,-227.21367 231.62587,-228.77086 z"
- style="fill:#729fcf;fill-opacity:1;stroke:#204a87;stroke-width:1.07456863;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
- <path
- sodipodi:nodetypes="csscc"
- id="path12243"
- d="M 234.31017,-229.9035 C 233.82059,-229.03976 232.73502,-228.74348 231.88703,-229.24216 C 231.03903,-229.74084 230.74816,-230.84657 231.23774,-231.71031 C 231.72733,-232.57405 233.84374,-232.16235 234.58388,-234 C 235.43187,-233.50133 234.79976,-230.76724 234.31017,-229.9035 z"
- style="opacity:0.46111109;fill:url(#radialGradient8298);fill-opacity:1;stroke:none;stroke-width:1.07457018;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0;stroke-dashoffset:0;stroke-opacity:1" />
- <path
- sodipodi:nodetypes="ccc"
- id="path12245"
- d="M 233.02237,-229 C 228.40776,-230.07384 233.25985,-233.71939 234,-232.92154 C 230.4176,-231.55118 233.02237,-229 233.02237,-229 z"
- style="opacity:1;fill:url(#linearGradient8300);fill-opacity:1;stroke:none;stroke-width:1.07457018;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0;stroke-dashoffset:0;stroke-opacity:1" />
+ <g transform="translate(-210.67944,272.47179)">
+ <path d="M 231.62587,-228.77086 C 230.58662,-229.36665 230.23015,-230.68774 230.83016,-231.71967 C 232.16166,-233.80243 233.93524,-233.26584 234.84231,-235.46138 C 236.10323,-234.12777 235.63545,-227.21367 231.62587,-228.77086 z" fill="#729fcf" fill-opacity="1" stroke="#204a87" stroke-width="1.07456863" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2" stroke-dasharray="none" stroke-dashoffset="0" stroke-opacity="1"/>
+ <path d="M 234.31017,-229.9035 C 233.82059,-229.03976 232.73502,-228.74348 231.88703,-229.24216 C 231.03903,-229.74084 230.74816,-230.84657 231.23774,-231.71031 C 231.72733,-232.57405 233.84374,-232.16235 234.58388,-234 C 235.43187,-233.50133 234.79976,-230.76724 234.31017,-229.9035 z" opacity="0.46111109" fill="url(#radialGradient8298)" fill-opacity="1" stroke="none" stroke-width="1.07457018" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="0" stroke-dashoffset="0" stroke-opacity="1"/>
+ <path d="M 233.02237,-229 C 228.40776,-230.07384 233.25985,-233.71939 234,-232.92154 C 230.4176,-231.55118 233.02237,-229 233.02237,-229 z" opacity="1" fill="url(#linearGradient8300)" fill-opacity="1" stroke="none" stroke-width="1.07457018" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="0" stroke-dashoffset="0" stroke-opacity="1"/>
</g>
- <g
- id="g12186"
- transform="translate(-241.67794,275.47309)">
- <path
- sodipodi:nodetypes="cccc"
- id="path6059"
- d="M 231.62587,-228.77086 C 230.58662,-229.36665 230.23015,-230.68774 230.83016,-231.71967 C 232.16166,-233.80243 233.93524,-233.26584 234.84231,-235.46138 C 236.10323,-234.12777 235.63545,-227.21367 231.62587,-228.77086 z"
- style="fill:#729fcf;fill-opacity:1;stroke:#204a87;stroke-width:1.07456863;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
- <path
- sodipodi:nodetypes="csscc"
- id="path6061"
- d="M 234.31017,-229.9035 C 233.82059,-229.03976 232.73502,-228.74348 231.88703,-229.24216 C 231.03903,-229.74084 230.74816,-230.84657 231.23774,-231.71031 C 231.72733,-232.57405 233.84374,-232.16235 234.58388,-234 C 235.43187,-233.50133 234.79976,-230.76724 234.31017,-229.9035 z"
- style="opacity:0.46111109;fill:url(#radialGradient8302);fill-opacity:1;stroke:none;stroke-width:1.07457018;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0;stroke-dashoffset:0;stroke-opacity:1" />
- <path
- sodipodi:nodetypes="ccc"
- id="path6063"
- d="M 233.02237,-229 C 228.40776,-230.07384 233.25985,-233.71939 234,-232.92154 C 230.4176,-231.55118 233.02237,-229 233.02237,-229 z"
- style="opacity:1;fill:url(#linearGradient8304);fill-opacity:1;stroke:none;stroke-width:1.07457018;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0;stroke-dashoffset:0;stroke-opacity:1" />
+ <g transform="translate(-241.67794,275.47309)">
+ <path d="M 231.62587,-228.77086 C 230.58662,-229.36665 230.23015,-230.68774 230.83016,-231.71967 C 232.16166,-233.80243 233.93524,-233.26584 234.84231,-235.46138 C 236.10323,-234.12777 235.63545,-227.21367 231.62587,-228.77086 z" fill="#729fcf" fill-opacity="1" stroke="#204a87" stroke-width="1.07456863" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2" stroke-dasharray="none" stroke-dashoffset="0" stroke-opacity="1"/>
+ <path d="M 234.31017,-229.9035 C 233.82059,-229.03976 232.73502,-228.74348 231.88703,-229.24216 C 231.03903,-229.74084 230.74816,-230.84657 231.23774,-231.71031 C 231.72733,-232.57405 233.84374,-232.16235 234.58388,-234 C 235.43187,-233.50133 234.79976,-230.76724 234.31017,-229.9035 z" opacity="0.46111109" fill="url(#radialGradient8302)" fill-opacity="1" stroke="none" stroke-width="1.07457018" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="0" stroke-dashoffset="0" stroke-opacity="1"/>
+ <path d="M 233.02237,-229 C 228.40776,-230.07384 233.25985,-233.71939 234,-232.92154 C 230.4176,-231.55118 233.02237,-229 233.02237,-229 z" opacity="1" fill="url(#linearGradient8304)" fill-opacity="1" stroke="none" stroke-width="1.07457018" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="0" stroke-dashoffset="0" stroke-opacity="1"/>
</g>
- <g
- id="g12203"
- transform="translate(-231.67944,270.47179)">
- <path
- sodipodi:nodetypes="cccc"
- id="path12205"
- d="M 231.62587,-228.77086 C 230.58662,-229.36665 230.23015,-230.68774 230.83016,-231.71967 C 232.16166,-233.80243 233.93524,-233.26584 234.84231,-235.46138 C 236.10323,-234.12777 235.63545,-227.21367 231.62587,-228.77086 z"
- style="fill:#729fcf;fill-opacity:1;stroke:#204a87;stroke-width:1.07456863;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
- <path
- sodipodi:nodetypes="csscc"
- id="path12207"
- d="M 234.31017,-229.9035 C 233.82059,-229.03976 232.73502,-228.74348 231.88703,-229.24216 C 231.03903,-229.74084 230.74816,-230.84657 231.23774,-231.71031 C 231.72733,-232.57405 233.84374,-232.16235 234.58388,-234 C 235.43187,-233.50133 234.79976,-230.76724 234.31017,-229.9035 z"
- style="opacity:0.46111109;fill:url(#radialGradient8306);fill-opacity:1;stroke:none;stroke-width:1.07457018;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0;stroke-dashoffset:0;stroke-opacity:1" />
- <path
- sodipodi:nodetypes="ccc"
- id="path12209"
- d="M 233.02237,-229 C 228.40776,-230.07384 233.25985,-233.71939 234,-232.92154 C 230.4176,-231.55118 233.02237,-229 233.02237,-229 z"
- style="opacity:1;fill:url(#linearGradient8308);fill-opacity:1;stroke:none;stroke-width:1.07457018;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0;stroke-dashoffset:0;stroke-opacity:1" />
+ <g transform="translate(-231.67944,270.47179)">
+ <path d="M 231.62587,-228.77086 C 230.58662,-229.36665 230.23015,-230.68774 230.83016,-231.71967 C 232.16166,-233.80243 233.93524,-233.26584 234.84231,-235.46138 C 236.10323,-234.12777 235.63545,-227.21367 231.62587,-228.77086 z" fill="#729fcf" fill-opacity="1" stroke="#204a87" stroke-width="1.07456863" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2" stroke-dasharray="none" stroke-dashoffset="0" stroke-opacity="1"/>
+ <path d="M 234.31017,-229.9035 C 233.82059,-229.03976 232.73502,-228.74348 231.88703,-229.24216 C 231.03903,-229.74084 230.74816,-230.84657 231.23774,-231.71031 C 231.72733,-232.57405 233.84374,-232.16235 234.58388,-234 C 235.43187,-233.50133 234.79976,-230.76724 234.31017,-229.9035 z" opacity="0.46111109" fill="url(#radialGradient8306)" fill-opacity="1" stroke="none" stroke-width="1.07457018" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="0" stroke-dashoffset="0" stroke-opacity="1"/>
+ <path d="M 233.02237,-229 C 228.40776,-230.07384 233.25985,-233.71939 234,-232.92154 C 230.4176,-231.55118 233.02237,-229 233.02237,-229 z" opacity="1" fill="url(#linearGradient8308)" fill-opacity="1" stroke="none" stroke-width="1.07457018" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="0" stroke-dashoffset="0" stroke-opacity="1"/>
</g>
- <g
- id="g12215"
- transform="translate(-217.67944,265.47959)">
- <path
- sodipodi:nodetypes="cccc"
- id="path12217"
- d="M 231.62587,-228.77086 C 230.58662,-229.36665 230.23015,-230.68774 230.83016,-231.71967 C 232.16166,-233.80243 233.93524,-233.26584 234.84231,-235.46138 C 236.10323,-234.12777 235.63545,-227.21367 231.62587,-228.77086 z"
- style="fill:#729fcf;fill-opacity:1;stroke:#204a87;stroke-width:1.07456863;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
- <path
- sodipodi:nodetypes="csscc"
- id="path12219"
- d="M 234.31017,-229.9035 C 233.82059,-229.03976 232.73502,-228.74348 231.88703,-229.24216 C 231.03903,-229.74084 230.74816,-230.84657 231.23774,-231.71031 C 231.72733,-232.57405 233.84374,-232.16235 234.58388,-234 C 235.43187,-233.50133 234.79976,-230.76724 234.31017,-229.9035 z"
- style="opacity:0.46111109;fill:url(#radialGradient8310);fill-opacity:1;stroke:none;stroke-width:1.07457018;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0;stroke-dashoffset:0;stroke-opacity:1" />
- <path
- sodipodi:nodetypes="ccc"
- id="path12221"
- d="M 233.02237,-229 C 228.40776,-230.07384 233.25985,-233.71939 234,-232.92154 C 230.4176,-231.55118 233.02237,-229 233.02237,-229 z"
- style="opacity:1;fill:url(#linearGradient8312);fill-opacity:1;stroke:none;stroke-width:1.07457018;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0;stroke-dashoffset:0;stroke-opacity:1" />
+ <g transform="translate(-217.67944,265.47959)">
+ <path d="M 231.62587,-228.77086 C 230.58662,-229.36665 230.23015,-230.68774 230.83016,-231.71967 C 232.16166,-233.80243 233.93524,-233.26584 234.84231,-235.46138 C 236.10323,-234.12777 235.63545,-227.21367 231.62587,-228.77086 z" fill="#729fcf" fill-opacity="1" stroke="#204a87" stroke-width="1.07456863" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2" stroke-dasharray="none" stroke-dashoffset="0" stroke-opacity="1"/>
+ <path d="M 234.31017,-229.9035 C 233.82059,-229.03976 232.73502,-228.74348 231.88703,-229.24216 C 231.03903,-229.74084 230.74816,-230.84657 231.23774,-231.71031 C 231.72733,-232.57405 233.84374,-232.16235 234.58388,-234 C 235.43187,-233.50133 234.79976,-230.76724 234.31017,-229.9035 z" opacity="0.46111109" fill="url(#radialGradient8310)" fill-opacity="1" stroke="none" stroke-width="1.07457018" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="0" stroke-dashoffset="0" stroke-opacity="1"/>
+ <path d="M 233.02237,-229 C 228.40776,-230.07384 233.25985,-233.71939 234,-232.92154 C 230.4176,-231.55118 233.02237,-229 233.02237,-229 z" opacity="1" fill="url(#linearGradient8312)" fill-opacity="1" stroke="none" stroke-width="1.07457018" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="0" stroke-dashoffset="0" stroke-opacity="1"/>
</g>
</g>
- <g
- transform="translate(-162.99643,221.88968)"
- id="g12157">
- <path
- sodipodi:type="arc"
- style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:#729fcf;stroke-width:1.45874679;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
- id="path12159"
- sodipodi:cx="29.610096"
- sodipodi:cy="-316.77872"
- sodipodi:rx="2.2097087"
- sodipodi:ry="2.2097087"
- d="M 31.819805,-316.77872 A 2.2097087,2.2097087 0 1 1 27.400387,-316.77872 A 2.2097087,2.2097087 0 1 1 31.819805,-316.77872 z"
- transform="matrix(0.68552,0,0,0.68552,151.7017,27.15827)" />
- <path
- sodipodi:type="arc"
- style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:#729fcf;stroke-width:1.09220433;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
- id="path12161"
- sodipodi:cx="29.610096"
- sodipodi:cy="-316.77872"
- sodipodi:rx="2.2097087"
- sodipodi:ry="2.2097087"
- d="M 31.819805,-316.77872 A 2.2097087,2.2097087 0 1 1 27.400387,-316.77872 A 2.2097087,2.2097087 0 1 1 31.819805,-316.77872 z"
- transform="matrix(0.915572,0,0,0.915587,152.4091,103.5577)" />
- <path
- sodipodi:type="arc"
- style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:#729fcf;stroke-width:1.47481608;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
- id="path12163"
- sodipodi:cx="29.610096"
- sodipodi:cy="-316.77872"
- sodipodi:rx="2.2097087"
- sodipodi:ry="2.2097087"
- d="M 31.819805,-316.77872 A 2.2097087,2.2097087 0 1 1 27.400387,-316.77872 A 2.2097087,2.2097087 0 1 1 31.819805,-316.77872 z"
- transform="matrix(0.672406,0,0,0.683742,153.0708,34.62149)" />
- <path
- sodipodi:type="arc"
- style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:#729fcf;stroke-width:1.4678179;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
- id="path12165"
- sodipodi:cx="29.610096"
- sodipodi:cy="-316.77872"
- sodipodi:rx="2.2097087"
- sodipodi:ry="2.2097087"
- d="M 31.819805,-316.77872 A 2.2097087,2.2097087 0 1 1 27.400387,-316.77872 A 2.2097087,2.2097087 0 1 1 31.819805,-316.77872 z"
- transform="matrix(0.6823,0,0,0.680269,181.797,30.49471)" />
- <path
- sodipodi:type="arc"
- style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:#729fcf;stroke-width:0.89916825;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
- id="path12167"
- sodipodi:cx="29.610096"
- sodipodi:cy="-316.77872"
- sodipodi:rx="2.2097087"
- sodipodi:ry="2.2097087"
- d="M 31.819805,-316.77872 A 2.2097087,2.2097087 0 1 1 27.400387,-316.77872 A 2.2097087,2.2097087 0 1 1 31.819805,-316.77872 z"
- transform="matrix(1.107132,0,0,1.117168,157.2177,164.9217)" />
- <path
- sodipodi:type="arc"
- style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:#729fcf;stroke-width:0.91822928;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
- id="path12169"
- sodipodi:cx="29.610096"
- sodipodi:cy="-316.77872"
- sodipodi:rx="2.2097087"
- sodipodi:ry="2.2097087"
- d="M 31.819805,-316.77872 A 2.2097087,2.2097087 0 1 1 27.400387,-316.77872 A 2.2097087,2.2097087 0 1 1 31.819805,-316.77872 z"
- transform="matrix(1.127592,0,0,1.05183,161.6119,151.3731)" />
- <path
- sodipodi:type="arc"
- style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:#729fcf;stroke-width:1.46413279;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
- id="path12171"
- sodipodi:cx="29.610096"
- sodipodi:cy="-316.77872"
- sodipodi:rx="2.2097087"
- sodipodi:ry="2.2097087"
- d="M 31.819805,-316.77872 A 2.2097087,2.2097087 0 1 1 27.400387,-316.77872 A 2.2097087,2.2097087 0 1 1 31.819805,-316.77872 z"
- transform="matrix(0.685519,0,0,0.680487,164.6869,34.56369)" />
+ <g transform="translate(-162.99643,221.88968)">
+ <path d="M 31.819805,-316.77872 A 2.2097087,2.2097087 0 1 1 27.400387,-316.77872 A 2.2097087,2.2097087 0 1 1 31.819805,-316.77872 z" transform="matrix(0.68552,0,0,0.68552,151.7017,27.15827)" opacity="1" fill="#ffffff" fill-opacity="1" stroke="#729fcf" stroke-width="1.45874679" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="0" stroke-dasharray="none" stroke-dashoffset="0" stroke-opacity="1"/>
+ <path d="M 31.819805,-316.77872 A 2.2097087,2.2097087 0 1 1 27.400387,-316.77872 A 2.2097087,2.2097087 0 1 1 31.819805,-316.77872 z" transform="matrix(0.915572,0,0,0.915587,152.4091,103.5577)" opacity="1" fill="#ffffff" fill-opacity="1" stroke="#729fcf" stroke-width="1.09220433" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="0" stroke-dasharray="none" stroke-dashoffset="0" stroke-opacity="1"/>
+ <path d="M 31.819805,-316.77872 A 2.2097087,2.2097087 0 1 1 27.400387,-316.77872 A 2.2097087,2.2097087 0 1 1 31.819805,-316.77872 z" transform="matrix(0.672406,0,0,0.683742,153.0708,34.62149)" opacity="1" fill="#ffffff" fill-opacity="1" stroke="#729fcf" stroke-width="1.47481608" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="0" stroke-dasharray="none" stroke-dashoffset="0" stroke-opacity="1"/>
+ <path d="M 31.819805,-316.77872 A 2.2097087,2.2097087 0 1 1 27.400387,-316.77872 A 2.2097087,2.2097087 0 1 1 31.819805,-316.77872 z" transform="matrix(0.6823,0,0,0.680269,181.797,30.49471)" opacity="1" fill="#ffffff" fill-opacity="1" stroke="#729fcf" stroke-width="1.4678179" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="0" stroke-dasharray="none" stroke-dashoffset="0" stroke-opacity="1"/>
+ <path d="M 31.819805,-316.77872 A 2.2097087,2.2097087 0 1 1 27.400387,-316.77872 A 2.2097087,2.2097087 0 1 1 31.819805,-316.77872 z" transform="matrix(1.107132,0,0,1.117168,157.2177,164.9217)" opacity="1" fill="#ffffff" fill-opacity="1" stroke="#729fcf" stroke-width="0.89916825" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="0" stroke-dasharray="none" stroke-dashoffset="0" stroke-opacity="1"/>
+ <path d="M 31.819805,-316.77872 A 2.2097087,2.2097087 0 1 1 27.400387,-316.77872 A 2.2097087,2.2097087 0 1 1 31.819805,-316.77872 z" transform="matrix(1.127592,0,0,1.05183,161.6119,151.3731)" opacity="1" fill="#ffffff" fill-opacity="1" stroke="#729fcf" stroke-width="0.91822928" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="0" stroke-dasharray="none" stroke-dashoffset="0" stroke-opacity="1"/>
+ <path d="M 31.819805,-316.77872 A 2.2097087,2.2097087 0 1 1 27.400387,-316.77872 A 2.2097087,2.2097087 0 1 1 31.819805,-316.77872 z" transform="matrix(0.685519,0,0,0.680487,164.6869,34.56369)" opacity="1" fill="#ffffff" fill-opacity="1" stroke="#729fcf" stroke-width="1.46413279" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="0" stroke-dasharray="none" stroke-dashoffset="0" stroke-opacity="1"/>
</g>
</g>
</g>
diff --git a/demos/embedded/weatherinfo/icons/weather-snow.svg b/demos/embedded/weatherinfo/icons/weather-snow.svg
index 6c7b4ad..a91946f 100644
--- a/demos/embedded/weatherinfo/icons/weather-snow.svg
+++ b/demos/embedded/weatherinfo/icons/weather-snow.svg
@@ -1,1418 +1,81 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!-- Created with Inkscape (http://www.inkscape.org/) -->
-<svg
- xmlns:dc="http://purl.org/dc/elements/1.1/"
- xmlns:cc="http://creativecommons.org/ns#"
- xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns:svg="http://www.w3.org/2000/svg"
- xmlns="http://www.w3.org/2000/svg"
- xmlns:xlink="http://www.w3.org/1999/xlink"
- xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
- xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
- width="48px"
- height="48px"
- id="svg1306"
- sodipodi:version="0.32"
- inkscape:version="0.46"
- sodipodi:docbase="/home/rcollier/Work/Novell/Tango/weather"
- sodipodi:docname="weather-snow.svg"
- inkscape:output_extension="org.inkscape.output.svg.inkscape">
- <defs
- id="defs1308">
- <inkscape:perspective
- sodipodi:type="inkscape:persp3d"
- inkscape:vp_x="0 : 24 : 1"
- inkscape:vp_y="0 : 1000 : 0"
- inkscape:vp_z="48 : 24 : 1"
- inkscape:persp3d-origin="24 : 16 : 1"
- id="perspective253" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6538"
- id="linearGradient10630"
- gradientUnits="userSpaceOnUse"
- x1="284.80219"
- y1="-441.23294"
- x2="288.89954"
- y2="-436.83109" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6549"
- id="linearGradient10628"
- gradientUnits="userSpaceOnUse"
- x1="286.66589"
- y1="-439.48358"
- x2="289.76562"
- y2="-436.70703" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6527"
- id="linearGradient10626"
- gradientUnits="userSpaceOnUse"
- x1="275.94193"
- y1="-437.10501"
- x2="279.97546"
- y2="-431.91833" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6538"
- id="linearGradient10624"
- gradientUnits="userSpaceOnUse"
- x1="285.94086"
- y1="-439.93900"
- x2="289.39124"
- y2="-436.44290" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6513"
- id="linearGradient10622"
- gradientUnits="userSpaceOnUse"
- x1="286.51172"
- y1="-441.29074"
- x2="289.85379"
- y2="-436.14453" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6497"
- id="linearGradient10620"
- gradientUnits="userSpaceOnUse"
- x1="287.51730"
- y1="-439.75281"
- x2="289.67633"
- y2="-436.32199" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6470"
- id="linearGradient10618"
- gradientUnits="userSpaceOnUse"
- x1="271.02170"
- y1="-441.05182"
- x2="285.02859"
- y2="-431.96991" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6538"
- id="linearGradient10616"
- gradientUnits="userSpaceOnUse"
- x1="284.80219"
- y1="-441.23294"
- x2="288.89954"
- y2="-436.83109" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient6549">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop6551" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop6553" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6549"
- id="linearGradient10614"
- gradientUnits="userSpaceOnUse"
- x1="286.66589"
- y1="-439.48358"
- x2="289.76562"
- y2="-436.70703" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient6527">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop6530" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop6532" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6527"
- id="linearGradient10612"
- gradientUnits="userSpaceOnUse"
- x1="275.94193"
- y1="-437.10501"
- x2="279.97546"
- y2="-431.91833" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient6538">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop6540" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop6542" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6538"
- id="linearGradient10610"
- gradientUnits="userSpaceOnUse"
- x1="285.94086"
- y1="-439.93900"
- x2="289.39124"
- y2="-436.44290" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient6513">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop6515" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop6517" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6513"
- id="linearGradient10608"
- gradientUnits="userSpaceOnUse"
- x1="286.51172"
- y1="-441.29074"
- x2="289.85379"
- y2="-436.14453" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient6497">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop6499" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop6501" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6497"
- id="linearGradient10606"
- gradientUnits="userSpaceOnUse"
- x1="287.51730"
- y1="-439.75281"
- x2="289.67633"
- y2="-436.32199" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient6470">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop6472" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop6474" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6470"
- id="linearGradient10604"
- gradientUnits="userSpaceOnUse"
- x1="271.02170"
- y1="-441.05182"
- x2="285.02859"
- y2="-431.96991" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient7834">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop7836" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop7838" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient7834"
- id="linearGradient10602"
- gradientUnits="userSpaceOnUse"
- x1="-156.29044"
- y1="-100.53421"
- x2="-153.09810"
- y2="-96.544556" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient8397">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop8400" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop8402" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient8397"
- id="linearGradient10600"
- gradientUnits="userSpaceOnUse"
- x1="238.00478"
- y1="-388.47476"
- x2="245.65462"
- y2="-382.64539" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient8315">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop8317" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop8319" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient8315"
- id="linearGradient10598"
- gradientUnits="userSpaceOnUse"
- x1="230.87598"
- y1="-390.43951"
- x2="235.25652"
- y2="-386.95901" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient8381">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop8383" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop8385" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient8381"
- id="linearGradient10596"
- gradientUnits="userSpaceOnUse"
- x1="246.74042"
- y1="-391.31381"
- x2="252.69785"
- y2="-385.35165" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient8331">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop8333" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop8335" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient8331"
- id="linearGradient10594"
- gradientUnits="userSpaceOnUse"
- x1="240.07379"
- y1="-393.40720"
- x2="245.82706"
- y2="-388.55029" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient8302">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop8304" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop8306" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient8302"
- id="linearGradient10592"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(122.0230,102.0000)"
- x1="228.50261"
- y1="-392.30591"
- x2="278.91510"
- y2="-375.37952" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2298"
- id="linearGradient7748"
- gradientUnits="userSpaceOnUse"
- x1="-27.006643"
- y1="-37.550461"
- x2="-34.700153"
- y2="-4.4493785" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2527"
- id="linearGradient7746"
- gradientUnits="userSpaceOnUse"
- x1="-25.137094"
- y1="-1.2491118"
- x2="-35.652866"
- y2="-24.884460" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3478"
- id="linearGradient7744"
- gradientUnits="userSpaceOnUse"
- x1="11.149398"
- y1="-43.997444"
- x2="4.9625983"
- y2="-8.3080902" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient4829">
- <stop
- style="stop-color:#000000;stop-opacity:1;"
- offset="0"
- id="stop4831" />
- <stop
- style="stop-color:#000000;stop-opacity:0;"
- offset="1"
- id="stop4833" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient3478">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop3480" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop3482" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient2298">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop2300" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop2302" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient3347">
- <stop
- style="stop-color:#edd400;stop-opacity:1;"
- offset="0"
- id="stop3349" />
- <stop
- style="stop-color:#edd400;stop-opacity:0;"
- offset="1"
- id="stop3351" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient2527">
- <stop
- style="stop-color:#fcaf3e;stop-opacity:1;"
- offset="0"
- id="stop2529" />
- <stop
- style="stop-color:#fcaf3e;stop-opacity:0;"
- offset="1"
- id="stop2531" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient2500">
- <stop
- style="stop-color:#fce94f;stop-opacity:1;"
- offset="0"
- id="stop2502" />
- <stop
- style="stop-color:#fce94f;stop-opacity:0;"
- offset="1"
- id="stop2504" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient2392">
- <stop
- style="stop-color:#eeeeec;stop-opacity:1;"
- offset="0"
- id="stop2394" />
- <stop
- style="stop-color:#eeeeec;stop-opacity:0;"
- offset="1"
- id="stop2396" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient2254">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop2256" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop2258" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2263"
- gradientUnits="userSpaceOnUse"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581"
- gradientTransform="translate(-1.608757,3.097272)" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2267"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(3.555020,0.968578)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2271"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(9.263651,3.495228)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2275"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(8.497184,-2.330824)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2279"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(14.46340,2.014073)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2283"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.751222,0.000000,0.000000,1.000000,-0.197462,7.612867)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2287"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.284317,0.000000,0.000000,1.000000,14.61983,4.452335)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2291"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.834148,0.000000,0.000000,1.000000,14.87610,8.569976)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2295"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.462015,0.000000,0.000000,1.262475,-5.687359,1.810269)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2299"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.106619,0.000000,0.000000,1.000000,6.383860,6.500432)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2303"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(1.707748,-5.784024)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2311"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(-0.976307,0.000000,0.000000,1.000000,53.94753,8.563694)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2350"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(16.14002,24.66420)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2352"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-0.932144,25.87240)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2354"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(5.356636,23.86870)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2356"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(11.19027,26.52035)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2358"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(10.30638,19.27251)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2360"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.751222,0.000000,0.000000,1.000000,0.229156,30.76299)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2362"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.284317,0.000000,0.000000,1.000000,16.67145,27.22746)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2364"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.834148,0.000000,0.000000,1.000000,17.05272,31.47010)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2366"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.462015,0.000000,0.000000,1.262475,-4.010744,24.96040)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2368"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.106619,0.000000,0.000000,1.000000,8.185476,29.52556)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2370"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(4.207586,21.30544)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2372"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(-0.976307,0.000000,0.000000,1.000000,56.12415,32.08882)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2392"
- id="linearGradient2398"
- x1="6.6651416"
- y1="13.802798"
- x2="41.403877"
- y2="13.802798"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.992367,0.000000,0.000000,0.990713,1.128541,5.404075)" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2426"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(14.46340,2.014073)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2428"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(8.497184,-2.330824)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2430"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-1.608757,3.097272)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2432"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(3.555020,0.968578)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2434"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(9.263651,3.495228)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2436"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.751222,0.000000,0.000000,1.000000,-0.197462,7.612867)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2438"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.284317,0.000000,0.000000,1.000000,14.61983,4.452335)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2440"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.834148,0.000000,0.000000,1.000000,14.87610,8.569976)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2442"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.462015,0.000000,0.000000,1.262475,-5.687359,1.810269)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2444"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.106619,0.000000,0.000000,1.000000,6.383860,6.500432)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2446"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(-0.976307,0.000000,0.000000,1.000000,53.94753,8.563694)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2392"
- id="linearGradient2448"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.992367,0.000000,0.000000,0.990713,1.128541,5.404075)"
- x1="6.6651416"
- y1="13.802798"
- x2="41.403877"
- y2="13.802798" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2392"
- id="linearGradient2451"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.992367,0.000000,0.000000,0.990713,4.378541,10.65407)"
- x1="6.6651416"
- y1="13.802798"
- x2="41.403877"
- y2="13.802798" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2457"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.106619,0.000000,0.000000,1.000000,9.633860,11.75043)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2460"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.462015,0.000000,0.000000,1.262475,-2.437359,7.060269)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2463"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.834148,0.000000,0.000000,1.000000,18.12610,13.81998)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2469"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.751222,0.000000,0.000000,1.000000,3.052538,12.86287)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2472"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(12.51365,8.745228)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2475"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(6.805020,6.218578)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2478"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(1.641243,8.347272)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2483"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(0.842481,-3.998086)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2500"
- id="linearGradient2506"
- x1="37.000000"
- y1="-21.750000"
- x2="53.750000"
- y2="9.0000000"
- gradientUnits="userSpaceOnUse" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2500"
- id="linearGradient2509"
- gradientUnits="userSpaceOnUse"
- x1="37.000000"
- y1="-21.750000"
- x2="53.750000"
- y2="9.0000000"
- gradientTransform="matrix(0.889091,0.000000,0.000000,0.617886,-4.771368,39.81402)" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2500"
- id="linearGradient2513"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.605509,0.000000,0.000000,0.710542,-0.224971,42.19500)"
- x1="38.857941"
- y1="-18.407482"
- x2="53.750000"
- y2="9.0000000" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2500"
- id="linearGradient2517"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.414169,0.000000,0.000000,0.778853,-1.910724,36.87850)"
- x1="37.000000"
- y1="-21.750000"
- x2="53.750000"
- y2="9.0000000" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2527"
- id="linearGradient2533"
- x1="-25.137094"
- y1="-1.2491118"
- x2="-35.652866"
- y2="-24.884460"
- gradientUnits="userSpaceOnUse" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2537"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(17.33814,3.415985)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2541"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(13.40064,1.353485)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2555"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-7.499805,1.708617)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2563"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-0.726830,2.481141)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3347"
- id="linearGradient3353"
- x1="23.303862"
- y1="29.115711"
- x2="29.750000"
- y2="46.092930"
- gradientUnits="userSpaceOnUse" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient3366"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(13.40064,1.353485)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient3368"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(1.641243,8.347272)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient3370"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(6.805020,6.218578)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient3372"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(12.51365,8.745228)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient3374"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.751222,0.000000,0.000000,1.000000,3.052538,12.86287)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient3376"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.834148,0.000000,0.000000,1.000000,18.12610,13.81998)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient3378"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.462015,0.000000,0.000000,1.262475,-2.437359,7.060269)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient3380"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.106619,0.000000,0.000000,1.000000,9.633860,11.75043)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient3383"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.106619,0.000000,0.000000,1.000000,0.795022,6.093572)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient3386"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.462015,0.000000,0.000000,1.262475,-11.27620,1.403411)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient3389"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.834148,0.000000,0.000000,1.000000,9.287262,8.163122)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient3392"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.751222,0.000000,0.000000,1.000000,-5.786300,7.206012)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient3395"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(3.674812,3.088370)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient3398"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-2.033818,0.561720)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient3401"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-7.197595,2.690414)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient3405"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(4.561802,-4.303373)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient1514"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(88.49344,-9.697877)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient1516"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.462015,0.000000,0.000000,1.262475,56.25514,-12.39388)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient1518"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.284317,0.000000,0.000000,1.000000,79.36909,-3.193747)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2527"
- id="linearGradient1520"
- gradientUnits="userSpaceOnUse"
- x1="-25.137094"
- y1="-1.2491118"
- x2="-35.652866"
- y2="-24.884460" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient1522"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-7.197595,2.690414)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient1524"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-2.033818,0.561720)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient1526"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(3.674812,3.088370)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient1528"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.751222,0.000000,0.000000,1.000000,-5.786300,7.206012)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient1530"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.834148,0.000000,0.000000,1.000000,9.287262,8.163122)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient1532"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.462015,0.000000,0.000000,1.262475,-11.27620,1.403411)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient1534"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.106619,0.000000,0.000000,1.000000,0.795022,6.093572)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient1536"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(-0.976307,0.000000,0.000000,1.000000,123.1162,-5.446357)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient1538"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(57.97693,-10.56876)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2527"
- id="linearGradient1557"
- gradientUnits="userSpaceOnUse"
- x1="-25.137094"
- y1="-1.2491118"
- x2="-35.652866"
- y2="-24.884460" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient4829"
- id="radialGradient4835"
- cx="-35.001785"
- cy="-1.1439217"
- fx="-35.001785"
- fy="-1.1439217"
- r="17.500893"
- gradientTransform="matrix(1.000000,0.000000,0.000000,0.565657,-5.564992e-15,-0.496855)"
- gradientUnits="userSpaceOnUse" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2298"
- id="linearGradient1427"
- gradientUnits="userSpaceOnUse"
- x1="-27.006643"
- y1="-37.550461"
- x2="-34.700153"
- y2="-4.4493785" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3478"
- id="linearGradient1431"
- gradientUnits="userSpaceOnUse"
- x1="11.149398"
- y1="-43.997444"
- x2="4.9625983"
- y2="-8.3080902" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3478"
- id="linearGradient14128"
- gradientUnits="userSpaceOnUse"
- x1="11.149398"
- y1="-43.997444"
- x2="4.9625983"
- y2="-8.3080902" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2527"
- id="linearGradient14130"
- gradientUnits="userSpaceOnUse"
- x1="-25.137094"
- y1="-1.2491118"
- x2="-35.652866"
- y2="-24.884460" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2298"
- id="linearGradient14132"
- gradientUnits="userSpaceOnUse"
- x1="-27.006643"
- y1="-37.550461"
- x2="-34.700153"
- y2="-4.4493785" />
+<svg xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="48px" height="48px" id="svg1306">
+ <defs id="defs1308">
+ <linearGradient xlink:href="#linearGradient6538" id="linearGradient10630" gradientUnits="userSpaceOnUse" x1="284.80219" y1="-441.23294" x2="288.89954" y2="-436.83109"/>
+ <linearGradient xlink:href="#linearGradient6549" id="linearGradient10628" gradientUnits="userSpaceOnUse" x1="286.66589" y1="-439.48358" x2="289.76562" y2="-436.70703"/>
+ <linearGradient xlink:href="#linearGradient6527" id="linearGradient10626" gradientUnits="userSpaceOnUse" x1="275.94193" y1="-437.10501" x2="279.97546" y2="-431.91833"/>
+ <linearGradient xlink:href="#linearGradient6538" id="linearGradient10624" gradientUnits="userSpaceOnUse" x1="285.94086" y1="-439.93900" x2="289.39124" y2="-436.44290"/>
+ <linearGradient xlink:href="#linearGradient6513" id="linearGradient10622" gradientUnits="userSpaceOnUse" x1="286.51172" y1="-441.29074" x2="289.85379" y2="-436.14453"/>
+ <linearGradient xlink:href="#linearGradient6497" id="linearGradient10620" gradientUnits="userSpaceOnUse" x1="287.51730" y1="-439.75281" x2="289.67633" y2="-436.32199"/>
+ <linearGradient xlink:href="#linearGradient6470" id="linearGradient10618" gradientUnits="userSpaceOnUse" x1="271.02170" y1="-441.05182" x2="285.02859" y2="-431.96991"/>
+ <linearGradient xlink:href="#linearGradient6538" id="linearGradient10616" gradientUnits="userSpaceOnUse" x1="284.80219" y1="-441.23294" x2="288.89954" y2="-436.83109"/>
+ <linearGradient id="linearGradient6549">
+ <stop offset="0" id="stop6551" stop-color="#ffffff" stop-opacity="1"/>
+ <stop offset="1" id="stop6553" stop-color="#ffffff" stop-opacity="0"/>
+ </linearGradient>
+ <linearGradient xlink:href="#linearGradient6549" id="linearGradient10614" gradientUnits="userSpaceOnUse" x1="286.66589" y1="-439.48358" x2="289.76562" y2="-436.70703"/>
+ <linearGradient id="linearGradient6527">
+ <stop offset="0" id="stop6530" stop-color="#ffffff" stop-opacity="1"/>
+ <stop offset="1" id="stop6532" stop-color="#ffffff" stop-opacity="0"/>
+ </linearGradient>
+ <linearGradient xlink:href="#linearGradient6527" id="linearGradient10612" gradientUnits="userSpaceOnUse" x1="275.94193" y1="-437.10501" x2="279.97546" y2="-431.91833"/>
+ <linearGradient id="linearGradient6538">
+ <stop offset="0" id="stop6540" stop-color="#ffffff" stop-opacity="1"/>
+ <stop offset="1" id="stop6542" stop-color="#ffffff" stop-opacity="0"/>
+ </linearGradient>
+ <linearGradient xlink:href="#linearGradient6538" id="linearGradient10610" gradientUnits="userSpaceOnUse" x1="285.94086" y1="-439.93900" x2="289.39124" y2="-436.44290"/>
+ <linearGradient id="linearGradient6513">
+ <stop offset="0" id="stop6515" stop-color="#ffffff" stop-opacity="1"/>
+ <stop offset="1" id="stop6517" stop-color="#ffffff" stop-opacity="0"/>
+ </linearGradient>
+ <linearGradient xlink:href="#linearGradient6513" id="linearGradient10608" gradientUnits="userSpaceOnUse" x1="286.51172" y1="-441.29074" x2="289.85379" y2="-436.14453"/>
+ <linearGradient id="linearGradient6497">
+ <stop offset="0" id="stop6499" stop-color="#ffffff" stop-opacity="1"/>
+ <stop offset="1" id="stop6501" stop-color="#ffffff" stop-opacity="0"/>
+ </linearGradient>
+ <linearGradient xlink:href="#linearGradient6497" id="linearGradient10606" gradientUnits="userSpaceOnUse" x1="287.51730" y1="-439.75281" x2="289.67633" y2="-436.32199"/>
+ <linearGradient id="linearGradient6470">
+ <stop offset="0" id="stop6472" stop-color="#ffffff" stop-opacity="1"/>
+ <stop offset="1" id="stop6474" stop-color="#ffffff" stop-opacity="0"/>
+ </linearGradient>
+ <linearGradient xlink:href="#linearGradient6470" id="linearGradient10604" gradientUnits="userSpaceOnUse" x1="271.02170" y1="-441.05182" x2="285.02859" y2="-431.96991"/>
+ <linearGradient id="linearGradient7834">
+ <stop offset="0" id="stop7836" stop-color="#ffffff" stop-opacity="1"/>
+ <stop offset="1" id="stop7838" stop-color="#ffffff" stop-opacity="0"/>
+ </linearGradient>
+ <linearGradient xlink:href="#linearGradient7834" id="linearGradient10602" gradientUnits="userSpaceOnUse" x1="-156.29044" y1="-100.53421" x2="-153.09810" y2="-96.544556"/>
+ <linearGradient id="linearGradient8397">
+ <stop offset="0" id="stop8400" stop-color="#ffffff" stop-opacity="1"/>
+ <stop offset="1" id="stop8402" stop-color="#ffffff" stop-opacity="0"/>
+ </linearGradient>
+ <linearGradient xlink:href="#linearGradient8397" id="linearGradient10600" gradientUnits="userSpaceOnUse" x1="238.00478" y1="-388.47476" x2="245.65462" y2="-382.64539"/>
+ <linearGradient id="linearGradient8315">
+ <stop offset="0" id="stop8317" stop-color="#ffffff" stop-opacity="1"/>
+ <stop offset="1" id="stop8319" stop-color="#ffffff" stop-opacity="0"/>
+ </linearGradient>
+ <linearGradient xlink:href="#linearGradient8315" id="linearGradient10598" gradientUnits="userSpaceOnUse" x1="230.87598" y1="-390.43951" x2="235.25652" y2="-386.95901"/>
+ <linearGradient id="linearGradient8381">
+ <stop offset="0" id="stop8383" stop-color="#ffffff" stop-opacity="1"/>
+ <stop offset="1" id="stop8385" stop-color="#ffffff" stop-opacity="0"/>
+ </linearGradient>
+ <linearGradient xlink:href="#linearGradient8381" id="linearGradient10596" gradientUnits="userSpaceOnUse" x1="246.74042" y1="-391.31381" x2="252.69785" y2="-385.35165"/>
+ <linearGradient id="linearGradient8331">
+ <stop offset="0" id="stop8333" stop-color="#ffffff" stop-opacity="1"/>
+ <stop offset="1" id="stop8335" stop-color="#ffffff" stop-opacity="0"/>
+ </linearGradient>
+ <linearGradient xlink:href="#linearGradient8331" id="linearGradient10594" gradientUnits="userSpaceOnUse" x1="240.07379" y1="-393.40720" x2="245.82706" y2="-388.55029"/>
+ <linearGradient id="linearGradient8302">
+ <stop offset="0" id="stop8304" stop-color="#ffffff" stop-opacity="1"/>
+ <stop offset="1" id="stop8306" stop-color="#ffffff" stop-opacity="0"/>
+ </linearGradient>
+ <linearGradient xlink:href="#linearGradient8302" id="linearGradient10592" gradientUnits="userSpaceOnUse" gradientTransform="translate(122.0230,102.0000)" x1="228.50261" y1="-392.30591" x2="278.91510" y2="-375.37952"/>
</defs>
- <sodipodi:namedview
- id="base"
- pagecolor="#ffffff"
- bordercolor="#666666"
- borderopacity="1.0"
- inkscape:pageopacity="0.0"
- inkscape:pageshadow="2"
- inkscape:zoom="8"
- inkscape:cx="23.594384"
- inkscape:cy="39.722629"
- inkscape:current-layer="layer1"
- showgrid="true"
- inkscape:grid-bbox="true"
- inkscape:document-units="px"
- inkscape:window-width="859"
- inkscape:window-height="818"
- inkscape:window-x="0"
- inkscape:window-y="30"
- inkscape:showpageshadow="false" />
- <metadata
- id="metadata1311">
+
+ <metadata id="metadata1311">
<rdf:RDF>
- <cc:Work
- rdf:about="">
+ <cc:Work rdf:about="">
<dc:format>image/svg+xml</dc:format>
- <dc:type
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
<dc:title>weather-snow</dc:title>
<dc:date>January 2006</dc:date>
<dc:creator>
@@ -1433,542 +96,105 @@
<rdf:li>notification</rdf:li>
</rdf:Bag>
</dc:subject>
- <cc:license
- rdf:resource="http://creativecommons.org/licenses/publicdomain/" />
+ <cc:license rdf:resource="http://creativecommons.org/licenses/publicdomain/"/>
</cc:Work>
- <cc:License
- rdf:about="http://creativecommons.org/licenses/publicdomain/">
- <cc:permits
- rdf:resource="http://creativecommons.org/ns#Reproduction" />
- <cc:permits
- rdf:resource="http://creativecommons.org/ns#Distribution" />
- <cc:permits
- rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
+ <cc:License rdf:about="http://creativecommons.org/licenses/publicdomain/">
+ <cc:permits rdf:resource="http://creativecommons.org/ns#Reproduction"/>
+ <cc:permits rdf:resource="http://creativecommons.org/ns#Distribution"/>
+ <cc:permits rdf:resource="http://creativecommons.org/ns#DerivativeWorks"/>
</cc:License>
</rdf:RDF>
</metadata>
- <g
- id="layer1"
- inkscape:label="Layer 1"
- inkscape:groupmode="layer">
- <g
- id="g9947"
- transform="translate(-340.0455,298.0001)">
- <path
- id="path8718"
- d="M 364.52300,-296.00000 C 361.75058,-296.00000 359.41477,-294.42629 358.11675,-292.18750 C 357.17239,-292.66254 356.15156,-293.00000 355.02300,-293.00000 C 351.15900,-293.00000 348.02300,-289.86400 348.02300,-286.00000 C 348.02300,-282.13600 351.15900,-279.00000 355.02300,-279.00000 C 357.44267,-279.00000 359.45309,-280.31932 360.71050,-282.18750 C 361.84470,-281.49788 363.09948,-281.00000 364.52300,-281.00000 C 365.43612,-281.00000 366.27595,-281.23202 367.08550,-281.53125 C 367.59544,-280.66352 368.26462,-279.95153 369.08550,-279.37500 C 369.07826,-279.24462 369.02300,-279.13218 369.02300,-279.00000 C 369.02300,-275.13600 372.15899,-272.00000 376.02300,-272.00000 C 379.88700,-272.00000 383.02300,-275.13600 383.02300,-279.00000 C 383.02300,-281.36969 381.76402,-283.35834 379.96050,-284.62500 C 379.96774,-284.75538 380.02300,-284.86782 380.02300,-285.00000 C 380.02300,-288.86400 376.88701,-292.00000 373.02300,-292.00000 C 372.40030,-292.00000 371.84781,-291.77781 371.27300,-291.62500 C 370.07847,-294.18384 367.53166,-296.00000 364.52300,-296.00000 z "
- style="opacity:1.0000000;fill:#888a85;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000" />
- <path
- id="path8720"
- d="M 364.52300,-295.00000 C 361.74252,-295.00000 359.38849,-293.23815 358.46050,-290.78125 C 357.47508,-291.49069 356.32907,-292.00000 355.02300,-292.00000 C 351.71100,-292.00000 349.02300,-289.31200 349.02300,-286.00000 C 349.02300,-282.68800 351.71100,-280.00000 355.02300,-280.00000 C 357.45075,-280.00000 359.51624,-281.45558 360.46050,-283.53125 C 361.58126,-282.61369 362.96264,-282.00000 364.52300,-282.00000 C 365.59754,-282.00000 366.56728,-282.31896 367.46050,-282.78125 C 367.85890,-281.78149 368.56164,-280.99493 369.39800,-280.34375 C 369.21799,-279.74813 369.02300,-279.15410 369.02300,-278.50000 C 369.02300,-274.91200 371.93500,-272.00000 375.52300,-272.00000 C 379.11100,-272.00000 382.02300,-274.91200 382.02300,-278.50000 C 382.02300,-280.86079 380.68867,-282.83019 378.80425,-283.96875 C 378.86684,-284.31598 379.02300,-284.63483 379.02300,-285.00000 C 379.02300,-288.31200 376.33500,-291.00000 373.02300,-291.00000 C 372.17002,-291.00000 371.35170,-290.82132 370.61675,-290.50000 C 369.76298,-293.09388 367.40151,-294.99999 364.52300,-295.00000 z "
- style="opacity:1.0000000;fill:url(#linearGradient10592);fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000" />
- <path
- transform="matrix(0.964447,0.000000,0.000000,0.964447,142.3115,91.52621)"
- d="M 248.54804 -383.66660 A 6.7396116 6.7396116 0 1 1 235.06881,-383.66660 A 6.7396116 6.7396116 0 1 1 248.54804 -383.66660 z"
- sodipodi:ry="6.7396116"
- sodipodi:rx="6.7396116"
- sodipodi:cy="-383.66660"
- sodipodi:cx="241.80843"
- id="path8722"
- style="opacity:1.0000000;fill:#c4c5c2;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- sodipodi:type="arc" />
- <g
- transform="translate(122.0230,102.0000)"
- id="g8724">
- <path
- sodipodi:type="arc"
- style="opacity:1.0000000;fill:#c4c5c2;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- id="path8726"
- sodipodi:cx="243.95184"
- sodipodi:cy="-389.30136"
- sodipodi:rx="6.2313786"
- sodipodi:ry="6.2313786"
- d="M 250.18322 -389.30136 A 6.2313786 6.2313786 0 1 1 237.72046,-389.30136 A 6.2313786 6.2313786 0 1 1 250.18322 -389.30136 z"
- transform="matrix(0.882630,0.000000,0.000000,0.882630,27.18078,-46.89094)" />
- <path
- sodipodi:type="arc"
- style="opacity:1.0000000;fill:url(#linearGradient10594);fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- id="path8728"
- sodipodi:cx="243.95184"
- sodipodi:cy="-389.30136"
- sodipodi:rx="6.2313786"
- sodipodi:ry="6.2313786"
- d="M 250.18322 -389.30136 A 6.2313786 6.2313786 0 1 1 237.72046,-389.30136 A 6.2313786 6.2313786 0 1 1 250.18322 -389.30136 z"
- transform="matrix(0.882630,0.000000,0.000000,0.882630,27.18078,-46.89094)" />
+ <g id="layer1">
+ <g transform="translate(-340.0455,298.0001)">
+ <path d="M 364.52300,-296.00000 C 361.75058,-296.00000 359.41477,-294.42629 358.11675,-292.18750 C 357.17239,-292.66254 356.15156,-293.00000 355.02300,-293.00000 C 351.15900,-293.00000 348.02300,-289.86400 348.02300,-286.00000 C 348.02300,-282.13600 351.15900,-279.00000 355.02300,-279.00000 C 357.44267,-279.00000 359.45309,-280.31932 360.71050,-282.18750 C 361.84470,-281.49788 363.09948,-281.00000 364.52300,-281.00000 C 365.43612,-281.00000 366.27595,-281.23202 367.08550,-281.53125 C 367.59544,-280.66352 368.26462,-279.95153 369.08550,-279.37500 C 369.07826,-279.24462 369.02300,-279.13218 369.02300,-279.00000 C 369.02300,-275.13600 372.15899,-272.00000 376.02300,-272.00000 C 379.88700,-272.00000 383.02300,-275.13600 383.02300,-279.00000 C 383.02300,-281.36969 381.76402,-283.35834 379.96050,-284.62500 C 379.96774,-284.75538 380.02300,-284.86782 380.02300,-285.00000 C 380.02300,-288.86400 376.88701,-292.00000 373.02300,-292.00000 C 372.40030,-292.00000 371.84781,-291.77781 371.27300,-291.62500 C 370.07847,-294.18384 367.53166,-296.00000 364.52300,-296.00000 z " opacity="1.0000000" fill="#888a85" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path d="M 364.52300,-295.00000 C 361.74252,-295.00000 359.38849,-293.23815 358.46050,-290.78125 C 357.47508,-291.49069 356.32907,-292.00000 355.02300,-292.00000 C 351.71100,-292.00000 349.02300,-289.31200 349.02300,-286.00000 C 349.02300,-282.68800 351.71100,-280.00000 355.02300,-280.00000 C 357.45075,-280.00000 359.51624,-281.45558 360.46050,-283.53125 C 361.58126,-282.61369 362.96264,-282.00000 364.52300,-282.00000 C 365.59754,-282.00000 366.56728,-282.31896 367.46050,-282.78125 C 367.85890,-281.78149 368.56164,-280.99493 369.39800,-280.34375 C 369.21799,-279.74813 369.02300,-279.15410 369.02300,-278.50000 C 369.02300,-274.91200 371.93500,-272.00000 375.52300,-272.00000 C 379.11100,-272.00000 382.02300,-274.91200 382.02300,-278.50000 C 382.02300,-280.86079 380.68867,-282.83019 378.80425,-283.96875 C 378.86684,-284.31598 379.02300,-284.63483 379.02300,-285.00000 C 379.02300,-288.31200 376.33500,-291.00000 373.02300,-291.00000 C 372.17002,-291.00000 371.35170,-290.82132 370.61675,-290.50000 C 369.76298,-293.09388 367.40151,-294.99999 364.52300,-295.00000 z " opacity="1.0000000" fill="url(#linearGradient10592)" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path transform="matrix(0.964447,0.000000,0.000000,0.964447,142.3115,91.52621)" d="M 248.54804 -383.66660 A 6.7396116 6.7396116 0 1 1 235.06881,-383.66660 A 6.7396116 6.7396116 0 1 1 248.54804 -383.66660 z" opacity="1.0000000" fill="#c4c5c2" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <g transform="translate(122.0230,102.0000)">
+ <path d="M 250.18322 -389.30136 A 6.2313786 6.2313786 0 1 1 237.72046,-389.30136 A 6.2313786 6.2313786 0 1 1 250.18322 -389.30136 z" transform="matrix(0.882630,0.000000,0.000000,0.882630,27.18078,-46.89094)" opacity="1.0000000" fill="#c4c5c2" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path d="M 250.18322 -389.30136 A 6.2313786 6.2313786 0 1 1 237.72046,-389.30136 A 6.2313786 6.2313786 0 1 1 250.18322 -389.30136 z" transform="matrix(0.882630,0.000000,0.000000,0.882630,27.18078,-46.89094)" opacity="1.0000000" fill="url(#linearGradient10594)" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
</g>
- <g
- transform="translate(122.0230,102.0000)"
- id="g8730">
- <path
- sodipodi:type="arc"
- style="opacity:1.0000000;fill:#c4c5c2;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- id="path8732"
- sodipodi:cx="251.22179"
- sodipodi:cy="-385.78790"
- sodipodi:rx="6.0325046"
- sodipodi:ry="6.0325046"
- d="M 257.25429 -385.78790 A 6.0325046 6.0325046 0 1 1 245.18928,-385.78790 A 6.0325046 6.0325046 0 1 1 257.25429 -385.78790 z"
- transform="matrix(0.911728,0.000000,0.000000,0.911728,21.45407,-34.76637)" />
- <path
- sodipodi:type="arc"
- style="opacity:1.0000000;fill:url(#linearGradient10596);fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- id="path8734"
- sodipodi:cx="251.22179"
- sodipodi:cy="-385.78790"
- sodipodi:rx="6.0325046"
- sodipodi:ry="6.0325046"
- d="M 257.25429 -385.78790 A 6.0325046 6.0325046 0 1 1 245.18928,-385.78790 A 6.0325046 6.0325046 0 1 1 257.25429 -385.78790 z"
- transform="matrix(0.911728,0.000000,0.000000,0.911728,21.45407,-34.76637)" />
+ <g transform="translate(122.0230,102.0000)">
+ <path d="M 257.25429 -385.78790 A 6.0325046 6.0325046 0 1 1 245.18928,-385.78790 A 6.0325046 6.0325046 0 1 1 257.25429 -385.78790 z" transform="matrix(0.911728,0.000000,0.000000,0.911728,21.45407,-34.76637)" opacity="1.0000000" fill="#c4c5c2" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path d="M 257.25429 -385.78790 A 6.0325046 6.0325046 0 1 1 245.18928,-385.78790 A 6.0325046 6.0325046 0 1 1 257.25429 -385.78790 z" transform="matrix(0.911728,0.000000,0.000000,0.911728,21.45407,-34.76637)" opacity="1.0000000" fill="url(#linearGradient10596)" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
</g>
- <g
- transform="translate(122.0230,102.0000)"
- id="g8736">
- <path
- sodipodi:type="arc"
- style="opacity:1.0000000;fill:#c4c5c2;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- id="path8738"
- sodipodi:cx="233.43362"
- sodipodi:cy="-387.88715"
- sodipodi:rx="4.3752232"
- sodipodi:ry="4.3752232"
- d="M 237.80885 -387.88715 A 4.3752232 4.3752232 0 1 1 229.05840,-387.88715 A 4.3752232 4.3752232 0 1 1 237.80885 -387.88715 z"
- transform="matrix(1.142799,0.000000,0.000000,1.142799,-33.76771,55.27704)" />
- <path
- sodipodi:type="arc"
- style="opacity:1.0000000;fill:url(#linearGradient10598);fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- id="path8740"
- sodipodi:cx="233.43362"
- sodipodi:cy="-387.88715"
- sodipodi:rx="4.3752232"
- sodipodi:ry="4.3752232"
- d="M 237.80885 -387.88715 A 4.3752232 4.3752232 0 1 1 229.05840,-387.88715 A 4.3752232 4.3752232 0 1 1 237.80885 -387.88715 z"
- transform="matrix(1.142799,0.000000,0.000000,1.142799,-33.76771,55.27704)" />
+ <g transform="translate(122.0230,102.0000)">
+ <path d="M 237.80885 -387.88715 A 4.3752232 4.3752232 0 1 1 229.05840,-387.88715 A 4.3752232 4.3752232 0 1 1 237.80885 -387.88715 z" transform="matrix(1.142799,0.000000,0.000000,1.142799,-33.76771,55.27704)" opacity="1.0000000" fill="#c4c5c2" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path d="M 237.80885 -387.88715 A 4.3752232 4.3752232 0 1 1 229.05840,-387.88715 A 4.3752232 4.3752232 0 1 1 237.80885 -387.88715 z" transform="matrix(1.142799,0.000000,0.000000,1.142799,-33.76771,55.27704)" opacity="1.0000000" fill="url(#linearGradient10598)" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
</g>
- <g
- transform="translate(122.0230,102.0000)"
- id="g8742">
- <path
- sodipodi:type="arc"
- style="opacity:1.0000000;fill:#c4c5c2;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- id="path8744"
- sodipodi:cx="241.80843"
- sodipodi:cy="-383.66660"
- sodipodi:rx="6.7396116"
- sodipodi:ry="6.7396116"
- d="M 248.54804 -383.66660 A 6.7396116 6.7396116 0 1 1 235.06881,-383.66660 A 6.7396116 6.7396116 0 1 1 248.54804 -383.66660 z"
- transform="matrix(1.038636,0.000000,0.000000,1.038636,-9.150940,14.48994)" />
- <path
- sodipodi:type="arc"
- style="opacity:1.0000000;fill:url(#linearGradient10600);fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- id="path8746"
- sodipodi:cx="241.80843"
- sodipodi:cy="-383.66660"
- sodipodi:rx="6.7396116"
- sodipodi:ry="6.7396116"
- d="M 248.54804 -383.66660 A 6.7396116 6.7396116 0 1 1 235.06881,-383.66660 A 6.7396116 6.7396116 0 1 1 248.54804 -383.66660 z"
- transform="matrix(1.038636,0.000000,0.000000,1.038636,-9.150933,14.48993)" />
+ <g transform="translate(122.0230,102.0000)">
+ <path d="M 248.54804 -383.66660 A 6.7396116 6.7396116 0 1 1 235.06881,-383.66660 A 6.7396116 6.7396116 0 1 1 248.54804 -383.66660 z" transform="matrix(1.038636,0.000000,0.000000,1.038636,-9.150940,14.48994)" opacity="1.0000000" fill="#c4c5c2" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path d="M 248.54804 -383.66660 A 6.7396116 6.7396116 0 1 1 235.06881,-383.66660 A 6.7396116 6.7396116 0 1 1 248.54804 -383.66660 z" transform="matrix(1.038636,0.000000,0.000000,1.038636,-9.150933,14.48993)" opacity="1.0000000" fill="url(#linearGradient10600)" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
</g>
- <g
- style="stroke:none"
- transform="matrix(0.935028,0.000000,0.000000,0.935028,499.8484,-187.6162)"
- id="g8748">
- <path
- sodipodi:type="arc"
- style="opacity:1.0000000;fill:#c4c5c2;fill-opacity:1.0000000;stroke:none;stroke-width:0.33115697;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- id="path8750"
- sodipodi:cx="-155.06250"
- sodipodi:cy="-96.937500"
- sodipodi:rx="3.1250000"
- sodipodi:ry="3.1250000"
- d="M -151.93750 -96.937500 A 3.1250000 3.1250000 0 1 1 -158.18750,-96.937500 A 3.1250000 3.1250000 0 1 1 -151.93750 -96.937500 z"
- transform="matrix(1.737733,0.000000,0.000000,1.737733,110.8322,70.07649)" />
- <path
- sodipodi:type="arc"
- style="opacity:1.0000000;fill:url(#linearGradient10602);fill-opacity:1.0000000;stroke:none;stroke-width:0.45224530;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- id="path8752"
- sodipodi:cx="-155.06250"
- sodipodi:cy="-96.937500"
- sodipodi:rx="3.1250000"
- sodipodi:ry="3.1250000"
- d="M -151.93750 -96.937500 A 3.1250000 3.1250000 0 1 1 -158.18750,-96.937500 A 3.1250000 3.1250000 0 1 1 -151.93750 -96.937500 z"
- transform="matrix(1.737733,0.000000,0.000000,1.737733,110.8948,70.01402)" />
+ <g transform="matrix(0.935028,0.000000,0.000000,0.935028,499.8484,-187.6162)" stroke="none">
+ <path d="M -151.93750 -96.937500 A 3.1250000 3.1250000 0 1 1 -158.18750,-96.937500 A 3.1250000 3.1250000 0 1 1 -151.93750 -96.937500 z" transform="matrix(1.737733,0.000000,0.000000,1.737733,110.8322,70.07649)" opacity="1.0000000" fill="#c4c5c2" fill-opacity="1.0000000" stroke="none" stroke-width="0.33115697" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="0.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path d="M -151.93750 -96.937500 A 3.1250000 3.1250000 0 1 1 -158.18750,-96.937500 A 3.1250000 3.1250000 0 1 1 -151.93750 -96.937500 z" transform="matrix(1.737733,0.000000,0.000000,1.737733,110.8948,70.01402)" opacity="1.0000000" fill="url(#linearGradient10602)" fill-opacity="1.0000000" stroke="none" stroke-width="0.45224530" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="0.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
</g>
- <g
- transform="translate(91.02300,162.0000)"
- id="g8798">
- <path
- style="fill:#c4c5c2;fill-opacity:1.0000000;stroke:#888a85;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- d="M 280.50000,-445.50000 C 278.22917,-445.50000 276.39009,-443.94972 275.78125,-441.87500 C 275.08802,-442.23883 274.33674,-442.50000 273.50000,-442.50000 C 270.74000,-442.50000 268.49999,-440.26001 268.50000,-437.50000 C 268.50000,-436.92107 268.66252,-436.39230 268.84375,-435.87500 C 267.47028,-435.10426 266.50000,-433.68600 266.50000,-432.00000 C 266.50000,-429.51600 268.51600,-427.49999 271.00000,-427.50000 C 271.17713,-427.50000 289.82287,-427.50000 290.00000,-427.50000 C 292.48399,-427.50000 294.50000,-429.51600 294.50000,-432.00000 C 294.50000,-433.68600 293.52972,-435.10426 292.15625,-435.87500 C 292.33749,-436.39229 292.50000,-436.92108 292.50000,-437.50000 C 292.50000,-440.26000 290.26000,-442.49999 287.50000,-442.50000 C 286.66326,-442.50000 285.91198,-442.23883 285.21875,-441.87500 C 284.60991,-443.94972 282.77083,-445.50000 280.50000,-445.50000 z "
- id="path8800"
- sodipodi:nodetypes="ccsscsssscsscc" />
- <path
- style="opacity:1.0000000;fill:url(#linearGradient10604);fill-opacity:1.0000000;stroke:none;stroke-width:0.99999958;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- d="M 280.50000,-445.00000 C 278.31028,-445.00000 276.77640,-443.66423 276.10445,-441.15648 C 275.43599,-441.50010 274.55686,-441.98983 273.75000,-441.98983 C 271.03349,-441.98983 268.99486,-440.05101 268.99487,-437.44429 C 268.99487,-436.89752 269.26208,-436.11085 269.43683,-435.62228 C 268.11240,-434.89433 267.00000,-433.73178 267.00000,-432.24973 C 267.00000,-429.90368 268.54617,-427.99964 271.33928,-427.99964 C 271.51009,-427.99964 289.48992,-427.99964 289.66072,-427.99964 C 292.43173,-427.99964 294.00000,-429.90368 294.00000,-432.24973 C 294.00000,-433.84210 292.88760,-434.91642 291.56317,-435.64437 C 291.73793,-436.13293 292.02724,-436.89753 292.02724,-437.44429 C 292.02724,-440.05100 289.91143,-442.01192 287.25001,-442.01193 C 286.44314,-442.01193 285.60820,-441.52219 284.93974,-441.17857 C 284.29089,-443.60011 282.68973,-445.00000 280.50000,-445.00000 z "
- id="path8802"
- sodipodi:nodetypes="ccsscsssscsscc" />
- <g
- id="g8804">
- <path
- transform="matrix(1.056604,0.000000,0.000000,1.056604,-24.19818,21.86331)"
- d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z"
- sodipodi:ry="3.3125000"
- sodipodi:rx="3.3125000"
- sodipodi:cy="-437.59375"
- sodipodi:cx="288.37500"
- id="path8806"
- style="opacity:1.0000000;fill:#c4c5c2;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- sodipodi:type="arc" />
- <path
- transform="matrix(1.056604,0.000000,0.000000,1.056604,-24.19818,21.86331)"
- d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z"
- sodipodi:ry="3.3125000"
- sodipodi:rx="3.3125000"
- sodipodi:cy="-437.59375"
- sodipodi:cx="288.37500"
- id="path8808"
- style="opacity:1.0000000;fill:url(#linearGradient10606);fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- sodipodi:type="arc" />
+ <g transform="translate(91.02300,162.0000)">
+ <path d="M 280.50000,-445.50000 C 278.22917,-445.50000 276.39009,-443.94972 275.78125,-441.87500 C 275.08802,-442.23883 274.33674,-442.50000 273.50000,-442.50000 C 270.74000,-442.50000 268.49999,-440.26001 268.50000,-437.50000 C 268.50000,-436.92107 268.66252,-436.39230 268.84375,-435.87500 C 267.47028,-435.10426 266.50000,-433.68600 266.50000,-432.00000 C 266.50000,-429.51600 268.51600,-427.49999 271.00000,-427.50000 C 271.17713,-427.50000 289.82287,-427.50000 290.00000,-427.50000 C 292.48399,-427.50000 294.50000,-429.51600 294.50000,-432.00000 C 294.50000,-433.68600 293.52972,-435.10426 292.15625,-435.87500 C 292.33749,-436.39229 292.50000,-436.92108 292.50000,-437.50000 C 292.50000,-440.26000 290.26000,-442.49999 287.50000,-442.50000 C 286.66326,-442.50000 285.91198,-442.23883 285.21875,-441.87500 C 284.60991,-443.94972 282.77083,-445.50000 280.50000,-445.50000 z " fill="#c4c5c2" fill-opacity="1.0000000" stroke="#888a85" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path d="M 280.50000,-445.00000 C 278.31028,-445.00000 276.77640,-443.66423 276.10445,-441.15648 C 275.43599,-441.50010 274.55686,-441.98983 273.75000,-441.98983 C 271.03349,-441.98983 268.99486,-440.05101 268.99487,-437.44429 C 268.99487,-436.89752 269.26208,-436.11085 269.43683,-435.62228 C 268.11240,-434.89433 267.00000,-433.73178 267.00000,-432.24973 C 267.00000,-429.90368 268.54617,-427.99964 271.33928,-427.99964 C 271.51009,-427.99964 289.48992,-427.99964 289.66072,-427.99964 C 292.43173,-427.99964 294.00000,-429.90368 294.00000,-432.24973 C 294.00000,-433.84210 292.88760,-434.91642 291.56317,-435.64437 C 291.73793,-436.13293 292.02724,-436.89753 292.02724,-437.44429 C 292.02724,-440.05100 289.91143,-442.01192 287.25001,-442.01193 C 286.44314,-442.01193 285.60820,-441.52219 284.93974,-441.17857 C 284.29089,-443.60011 282.68973,-445.00000 280.50000,-445.00000 z " opacity="1.0000000" fill="url(#linearGradient10604)" fill-opacity="1.0000000" stroke="none" stroke-width="0.99999958" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <g>
+ <path transform="matrix(1.056604,0.000000,0.000000,1.056604,-24.19818,21.86331)" d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z" opacity="1.0000000" fill="#c4c5c2" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path transform="matrix(1.056604,0.000000,0.000000,1.056604,-24.19818,21.86331)" d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z" opacity="1.0000000" fill="url(#linearGradient10606)" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
</g>
- <rect
- style="opacity:1.0000000;fill:#c4c5c2;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- id="rect8810"
- width="20.000000"
- height="9.0000000"
- x="271.00000"
- y="-438.00000" />
- <path
- sodipodi:type="arc"
- style="opacity:1.0000000;fill:#c4c5c2;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- id="path8812"
- sodipodi:cx="288.37500"
- sodipodi:cy="-437.59375"
- sodipodi:rx="3.3125000"
- sodipodi:ry="3.3125000"
- d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z"
- transform="matrix(0.905660,0.000000,0.000000,0.905660,9.830195,-35.68869)" />
- <g
- id="g8814">
- <path
- transform="matrix(1.056604,0.000000,0.000000,1.056604,-17.19811,24.86321)"
- d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z"
- sodipodi:ry="3.3125000"
- sodipodi:rx="3.3125000"
- sodipodi:cy="-437.59375"
- sodipodi:cx="288.37500"
- id="path8816"
- style="opacity:1.0000000;fill:#c4c5c2;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- sodipodi:type="arc" />
- <path
- transform="matrix(1.056604,0.000000,0.000000,1.056604,-17.19818,24.86331)"
- d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z"
- sodipodi:ry="3.3125000"
- sodipodi:rx="3.3125000"
- sodipodi:cy="-437.59375"
- sodipodi:cx="288.37500"
- id="path8818"
- style="opacity:1.0000000;fill:url(#linearGradient10608);fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- sodipodi:type="arc" />
+ <rect width="20.000000" height="9.0000000" x="271.00000" y="-438.00000" opacity="1.0000000" fill="#c4c5c2" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z" transform="matrix(0.905660,0.000000,0.000000,0.905660,9.830195,-35.68869)" opacity="1.0000000" fill="#c4c5c2" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <g>
+ <path transform="matrix(1.056604,0.000000,0.000000,1.056604,-17.19811,24.86321)" d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z" opacity="1.0000000" fill="#c4c5c2" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path transform="matrix(1.056604,0.000000,0.000000,1.056604,-17.19818,24.86331)" d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z" opacity="1.0000000" fill="url(#linearGradient10608)" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
</g>
- <g
- id="g8820">
- <path
- transform="matrix(1.056604,0.000000,0.000000,1.056604,-31.19818,24.86331)"
- d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z"
- sodipodi:ry="3.3125000"
- sodipodi:rx="3.3125000"
- sodipodi:cy="-437.59375"
- sodipodi:cx="288.37500"
- id="path8822"
- style="opacity:1.0000000;fill:#c4c5c2;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- sodipodi:type="arc" />
- <path
- transform="matrix(1.056604,0.000000,0.000000,1.056604,-31.19818,24.86331)"
- d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z"
- sodipodi:ry="3.3125000"
- sodipodi:rx="3.3125000"
- sodipodi:cy="-437.59375"
- sodipodi:cx="288.37500"
- id="path8824"
- style="opacity:1.0000000;fill:url(#linearGradient10610);fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- sodipodi:type="arc" />
+ <g>
+ <path transform="matrix(1.056604,0.000000,0.000000,1.056604,-31.19818,24.86331)" d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z" opacity="1.0000000" fill="#c4c5c2" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path transform="matrix(1.056604,0.000000,0.000000,1.056604,-31.19818,24.86331)" d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z" opacity="1.0000000" fill="url(#linearGradient10610)" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
</g>
- <g
- id="g8826"
- transform="translate(-1.000000,0.000000)">
- <path
- id="path8828"
- d="M 280.46875,-440.96875 C 276.88937,-440.96875 274.00000,-438.04812 274.00000,-434.46875 C 274.00000,-432.09807 275.34943,-430.13096 277.25000,-429.00000 L 283.71875,-429.00000 C 285.61932,-430.13096 286.96875,-432.12931 286.96875,-434.50000 C 286.96875,-438.07938 284.04812,-440.96875 280.46875,-440.96875 z "
- style="opacity:1.0000000;fill:#c4c5c2;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000" />
- <path
- id="path8830"
- d="M 280.50000,-441.00000 C 276.91200,-441.00000 274.00000,-438.08799 274.00000,-434.50000 C 274.00000,-432.12360 275.34485,-430.13368 277.25000,-429.00000 L 283.75000,-429.00000 C 285.65515,-430.13368 287.00000,-432.12360 287.00000,-434.50000 C 287.00000,-438.08800 284.08800,-440.99999 280.50000,-441.00000 z "
- style="opacity:1.0000000;fill:url(#linearGradient10612);fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000" />
+ <g transform="translate(-1.000000,0.000000)">
+ <path d="M 280.46875,-440.96875 C 276.88937,-440.96875 274.00000,-438.04812 274.00000,-434.46875 C 274.00000,-432.09807 275.34943,-430.13096 277.25000,-429.00000 L 283.71875,-429.00000 C 285.61932,-430.13096 286.96875,-432.12931 286.96875,-434.50000 C 286.96875,-438.07938 284.04812,-440.96875 280.46875,-440.96875 z " opacity="1.0000000" fill="#c4c5c2" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path d="M 280.50000,-441.00000 C 276.91200,-441.00000 274.00000,-438.08799 274.00000,-434.50000 C 274.00000,-432.12360 275.34485,-430.13368 277.25000,-429.00000 L 283.75000,-429.00000 C 285.65515,-430.13368 287.00000,-432.12360 287.00000,-434.50000 C 287.00000,-438.08800 284.08800,-440.99999 280.50000,-441.00000 z " opacity="1.0000000" fill="url(#linearGradient10612)" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
</g>
- <path
- sodipodi:type="arc"
- style="opacity:1.0000000;fill:url(#linearGradient10614);fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- id="path8832"
- sodipodi:cx="288.37500"
- sodipodi:cy="-437.59375"
- sodipodi:rx="3.3125000"
- sodipodi:ry="3.3125000"
- d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z"
- transform="matrix(0.905660,0.000000,0.000000,0.905660,9.830296,-35.68884)" />
- <path
- style="fill:#888a85;fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000"
- d="M 292.95640,-437.33396 C 292.95487,-434.64940 289.68714,-433.62001 289.68714,-433.62001 C 289.68714,-433.62001 292.03588,-435.24596 292.02399,-437.32502 C 292.02399,-437.32502 292.95640,-437.33396 292.95640,-437.33396 z "
- id="path8834"
- sodipodi:nodetypes="ccss" />
- <g
- id="g8836"
- transform="matrix(1.142857,0.000000,0.000000,1.142857,-28.57139,67.00008)">
- <path
- transform="matrix(1.056604,0.000000,0.000000,1.056604,-31.19818,24.86331)"
- d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z"
- sodipodi:ry="3.3125000"
- sodipodi:rx="3.3125000"
- sodipodi:cy="-437.59375"
- sodipodi:cx="288.37500"
- id="path8838"
- style="opacity:1.0000000;fill:#c4c5c2;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- sodipodi:type="arc" />
- <path
- transform="matrix(1.056604,0.000000,0.000000,1.056604,-31.19818,24.86331)"
- d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z"
- sodipodi:ry="3.3125000"
- sodipodi:rx="3.3125000"
- sodipodi:cy="-437.59375"
- sodipodi:cx="288.37500"
- id="path8840"
- style="opacity:1.0000000;fill:url(#linearGradient10616);fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- sodipodi:type="arc" />
+ <path d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z" transform="matrix(0.905660,0.000000,0.000000,0.905660,9.830296,-35.68884)" opacity="1.0000000" fill="url(#linearGradient10614)" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path d="M 292.95640,-437.33396 C 292.95487,-434.64940 289.68714,-433.62001 289.68714,-433.62001 C 289.68714,-433.62001 292.03588,-435.24596 292.02399,-437.32502 C 292.02399,-437.32502 292.95640,-437.33396 292.95640,-437.33396 z " fill="#888a85" fill-opacity="1.0000000" fill-rule="evenodd" stroke="none" stroke-width="1.0000000px" stroke-linecap="butt" stroke-linejoin="miter" stroke-opacity="1.0000000"/>
+ <g transform="matrix(1.142857,0.000000,0.000000,1.142857,-28.57139,67.00008)">
+ <path transform="matrix(1.056604,0.000000,0.000000,1.056604,-31.19818,24.86331)" d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z" opacity="1.0000000" fill="#c4c5c2" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path transform="matrix(1.056604,0.000000,0.000000,1.056604,-31.19818,24.86331)" d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z" opacity="1.0000000" fill="url(#linearGradient10616)" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
</g>
</g>
- <g
- transform="translate(76.02041,158.0000)"
- id="g8754">
- <path
- style="fill:#c4c5c2;fill-opacity:1.0000000;stroke:#888a85;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- d="M 280.50000,-445.50000 C 278.22917,-445.50000 276.39009,-443.94972 275.78125,-441.87500 C 275.08802,-442.23883 274.33674,-442.50000 273.50000,-442.50000 C 270.74000,-442.50000 268.49999,-440.26001 268.50000,-437.50000 C 268.50000,-436.92107 268.66252,-436.39230 268.84375,-435.87500 C 267.47028,-435.10426 266.50000,-433.68600 266.50000,-432.00000 C 266.50000,-429.51600 268.51600,-427.49999 271.00000,-427.50000 C 271.17713,-427.50000 289.82287,-427.50000 290.00000,-427.50000 C 292.48399,-427.50000 294.50000,-429.51600 294.50000,-432.00000 C 294.50000,-433.68600 293.52972,-435.10426 292.15625,-435.87500 C 292.33749,-436.39229 292.50000,-436.92108 292.50000,-437.50000 C 292.50000,-440.26000 290.26000,-442.49999 287.50000,-442.50000 C 286.66326,-442.50000 285.91198,-442.23883 285.21875,-441.87500 C 284.60991,-443.94972 282.77083,-445.50000 280.50000,-445.50000 z "
- id="path8756"
- sodipodi:nodetypes="ccsscsssscsscc" />
- <path
- style="opacity:1.0000000;fill:url(#linearGradient10618);fill-opacity:1.0000000;stroke:none;stroke-width:0.99999958;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- d="M 280.50000,-445.00000 C 278.31028,-445.00000 276.77640,-443.66423 276.10445,-441.15648 C 275.43599,-441.50010 274.55686,-441.98983 273.75000,-441.98983 C 271.03349,-441.98983 268.99486,-440.05101 268.99487,-437.44429 C 268.99487,-436.89752 269.26208,-436.11085 269.43683,-435.62228 C 268.11240,-434.89433 267.00000,-433.73178 267.00000,-432.24973 C 267.00000,-429.90368 268.54617,-427.99964 271.33928,-427.99964 C 271.51009,-427.99964 289.48992,-427.99964 289.66072,-427.99964 C 292.43173,-427.99964 294.00000,-429.90368 294.00000,-432.24973 C 294.00000,-433.84210 292.88760,-434.91642 291.56317,-435.64437 C 291.73793,-436.13293 292.02724,-436.89753 292.02724,-437.44429 C 292.02724,-440.05100 289.91143,-442.01192 287.25001,-442.01193 C 286.44314,-442.01193 285.60820,-441.52219 284.93974,-441.17857 C 284.29089,-443.60011 282.68973,-445.00000 280.50000,-445.00000 z "
- id="path8758"
- sodipodi:nodetypes="ccsscsssscsscc" />
- <g
- id="g8760">
- <path
- transform="matrix(1.056604,0.000000,0.000000,1.056604,-24.19818,21.86331)"
- d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z"
- sodipodi:ry="3.3125000"
- sodipodi:rx="3.3125000"
- sodipodi:cy="-437.59375"
- sodipodi:cx="288.37500"
- id="path8762"
- style="opacity:1.0000000;fill:#c4c5c2;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- sodipodi:type="arc" />
- <path
- transform="matrix(1.056604,0.000000,0.000000,1.056604,-24.19818,21.86331)"
- d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z"
- sodipodi:ry="3.3125000"
- sodipodi:rx="3.3125000"
- sodipodi:cy="-437.59375"
- sodipodi:cx="288.37500"
- id="path8764"
- style="opacity:1.0000000;fill:url(#linearGradient10620);fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- sodipodi:type="arc" />
+ <g transform="translate(76.02041,158.0000)">
+ <path d="M 280.50000,-445.50000 C 278.22917,-445.50000 276.39009,-443.94972 275.78125,-441.87500 C 275.08802,-442.23883 274.33674,-442.50000 273.50000,-442.50000 C 270.74000,-442.50000 268.49999,-440.26001 268.50000,-437.50000 C 268.50000,-436.92107 268.66252,-436.39230 268.84375,-435.87500 C 267.47028,-435.10426 266.50000,-433.68600 266.50000,-432.00000 C 266.50000,-429.51600 268.51600,-427.49999 271.00000,-427.50000 C 271.17713,-427.50000 289.82287,-427.50000 290.00000,-427.50000 C 292.48399,-427.50000 294.50000,-429.51600 294.50000,-432.00000 C 294.50000,-433.68600 293.52972,-435.10426 292.15625,-435.87500 C 292.33749,-436.39229 292.50000,-436.92108 292.50000,-437.50000 C 292.50000,-440.26000 290.26000,-442.49999 287.50000,-442.50000 C 286.66326,-442.50000 285.91198,-442.23883 285.21875,-441.87500 C 284.60991,-443.94972 282.77083,-445.50000 280.50000,-445.50000 z " fill="#c4c5c2" fill-opacity="1.0000000" stroke="#888a85" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path d="M 280.50000,-445.00000 C 278.31028,-445.00000 276.77640,-443.66423 276.10445,-441.15648 C 275.43599,-441.50010 274.55686,-441.98983 273.75000,-441.98983 C 271.03349,-441.98983 268.99486,-440.05101 268.99487,-437.44429 C 268.99487,-436.89752 269.26208,-436.11085 269.43683,-435.62228 C 268.11240,-434.89433 267.00000,-433.73178 267.00000,-432.24973 C 267.00000,-429.90368 268.54617,-427.99964 271.33928,-427.99964 C 271.51009,-427.99964 289.48992,-427.99964 289.66072,-427.99964 C 292.43173,-427.99964 294.00000,-429.90368 294.00000,-432.24973 C 294.00000,-433.84210 292.88760,-434.91642 291.56317,-435.64437 C 291.73793,-436.13293 292.02724,-436.89753 292.02724,-437.44429 C 292.02724,-440.05100 289.91143,-442.01192 287.25001,-442.01193 C 286.44314,-442.01193 285.60820,-441.52219 284.93974,-441.17857 C 284.29089,-443.60011 282.68973,-445.00000 280.50000,-445.00000 z " opacity="1.0000000" fill="url(#linearGradient10618)" fill-opacity="1.0000000" stroke="none" stroke-width="0.99999958" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <g>
+ <path transform="matrix(1.056604,0.000000,0.000000,1.056604,-24.19818,21.86331)" d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z" opacity="1.0000000" fill="#c4c5c2" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path transform="matrix(1.056604,0.000000,0.000000,1.056604,-24.19818,21.86331)" d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z" opacity="1.0000000" fill="url(#linearGradient10620)" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
</g>
- <rect
- style="opacity:1.0000000;fill:#c4c5c2;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- id="rect8766"
- width="20.000000"
- height="9.0000000"
- x="271.00000"
- y="-438.00000" />
- <path
- sodipodi:type="arc"
- style="opacity:1.0000000;fill:#c4c5c2;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- id="path8768"
- sodipodi:cx="288.37500"
- sodipodi:cy="-437.59375"
- sodipodi:rx="3.3125000"
- sodipodi:ry="3.3125000"
- d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z"
- transform="matrix(0.905660,0.000000,0.000000,0.905660,9.830195,-35.68869)" />
- <g
- id="g8770">
- <path
- transform="matrix(1.056604,0.000000,0.000000,1.056604,-17.19811,24.86321)"
- d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z"
- sodipodi:ry="3.3125000"
- sodipodi:rx="3.3125000"
- sodipodi:cy="-437.59375"
- sodipodi:cx="288.37500"
- id="path8772"
- style="opacity:1.0000000;fill:#c4c5c2;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- sodipodi:type="arc" />
- <path
- transform="matrix(1.056604,0.000000,0.000000,1.056604,-17.19818,24.86331)"
- d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z"
- sodipodi:ry="3.3125000"
- sodipodi:rx="3.3125000"
- sodipodi:cy="-437.59375"
- sodipodi:cx="288.37500"
- id="path8774"
- style="opacity:1.0000000;fill:url(#linearGradient10622);fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- sodipodi:type="arc" />
+ <rect width="20.000000" height="9.0000000" x="271.00000" y="-438.00000" opacity="1.0000000" fill="#c4c5c2" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z" transform="matrix(0.905660,0.000000,0.000000,0.905660,9.830195,-35.68869)" opacity="1.0000000" fill="#c4c5c2" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <g>
+ <path transform="matrix(1.056604,0.000000,0.000000,1.056604,-17.19811,24.86321)" d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z" opacity="1.0000000" fill="#c4c5c2" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path transform="matrix(1.056604,0.000000,0.000000,1.056604,-17.19818,24.86331)" d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z" opacity="1.0000000" fill="url(#linearGradient10622)" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
</g>
- <g
- id="g8776">
- <path
- transform="matrix(1.056604,0.000000,0.000000,1.056604,-31.19818,24.86331)"
- d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z"
- sodipodi:ry="3.3125000"
- sodipodi:rx="3.3125000"
- sodipodi:cy="-437.59375"
- sodipodi:cx="288.37500"
- id="path8778"
- style="opacity:1.0000000;fill:#c4c5c2;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- sodipodi:type="arc" />
- <path
- transform="matrix(1.056604,0.000000,0.000000,1.056604,-31.19818,24.86331)"
- d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z"
- sodipodi:ry="3.3125000"
- sodipodi:rx="3.3125000"
- sodipodi:cy="-437.59375"
- sodipodi:cx="288.37500"
- id="path8780"
- style="opacity:1.0000000;fill:url(#linearGradient10624);fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- sodipodi:type="arc" />
+ <g>
+ <path transform="matrix(1.056604,0.000000,0.000000,1.056604,-31.19818,24.86331)" d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z" opacity="1.0000000" fill="#c4c5c2" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path transform="matrix(1.056604,0.000000,0.000000,1.056604,-31.19818,24.86331)" d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z" opacity="1.0000000" fill="url(#linearGradient10624)" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
</g>
- <g
- id="g8782"
- transform="translate(-1.000000,0.000000)">
- <path
- id="path8784"
- d="M 280.46875,-440.96875 C 276.88937,-440.96875 274.00000,-438.04812 274.00000,-434.46875 C 274.00000,-432.09807 275.34943,-430.13096 277.25000,-429.00000 L 283.71875,-429.00000 C 285.61932,-430.13096 286.96875,-432.12931 286.96875,-434.50000 C 286.96875,-438.07938 284.04812,-440.96875 280.46875,-440.96875 z "
- style="opacity:1.0000000;fill:#c4c5c2;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000" />
- <path
- id="path8786"
- d="M 280.50000,-441.00000 C 276.91200,-441.00000 274.00000,-438.08799 274.00000,-434.50000 C 274.00000,-432.12360 275.34485,-430.13368 277.25000,-429.00000 L 283.75000,-429.00000 C 285.65515,-430.13368 287.00000,-432.12360 287.00000,-434.50000 C 287.00000,-438.08800 284.08800,-440.99999 280.50000,-441.00000 z "
- style="opacity:1.0000000;fill:url(#linearGradient10626);fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000" />
+ <g transform="translate(-1.000000,0.000000)">
+ <path d="M 280.46875,-440.96875 C 276.88937,-440.96875 274.00000,-438.04812 274.00000,-434.46875 C 274.00000,-432.09807 275.34943,-430.13096 277.25000,-429.00000 L 283.71875,-429.00000 C 285.61932,-430.13096 286.96875,-432.12931 286.96875,-434.50000 C 286.96875,-438.07938 284.04812,-440.96875 280.46875,-440.96875 z " opacity="1.0000000" fill="#c4c5c2" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path d="M 280.50000,-441.00000 C 276.91200,-441.00000 274.00000,-438.08799 274.00000,-434.50000 C 274.00000,-432.12360 275.34485,-430.13368 277.25000,-429.00000 L 283.75000,-429.00000 C 285.65515,-430.13368 287.00000,-432.12360 287.00000,-434.50000 C 287.00000,-438.08800 284.08800,-440.99999 280.50000,-441.00000 z " opacity="1.0000000" fill="url(#linearGradient10626)" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
</g>
- <path
- sodipodi:type="arc"
- style="opacity:1.0000000;fill:url(#linearGradient10628);fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- id="path8788"
- sodipodi:cx="288.37500"
- sodipodi:cy="-437.59375"
- sodipodi:rx="3.3125000"
- sodipodi:ry="3.3125000"
- d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z"
- transform="matrix(0.905660,0.000000,0.000000,0.905660,9.830296,-35.68884)" />
- <path
- style="fill:#888a85;fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000"
- d="M 292.95640,-437.33396 C 292.95487,-434.64940 289.68714,-433.62001 289.68714,-433.62001 C 289.68714,-433.62001 292.03588,-435.24596 292.02399,-437.32502 C 292.02399,-437.32502 292.95640,-437.33396 292.95640,-437.33396 z "
- id="path8790"
- sodipodi:nodetypes="ccss" />
- <g
- id="g8792"
- transform="matrix(1.142857,0.000000,0.000000,1.142857,-28.57139,67.00008)">
- <path
- transform="matrix(1.056604,0.000000,0.000000,1.056604,-31.19818,24.86331)"
- d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z"
- sodipodi:ry="3.3125000"
- sodipodi:rx="3.3125000"
- sodipodi:cy="-437.59375"
- sodipodi:cx="288.37500"
- id="path8794"
- style="opacity:1.0000000;fill:#c4c5c2;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- sodipodi:type="arc" />
- <path
- transform="matrix(1.056604,0.000000,0.000000,1.056604,-31.19818,24.86331)"
- d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z"
- sodipodi:ry="3.3125000"
- sodipodi:rx="3.3125000"
- sodipodi:cy="-437.59375"
- sodipodi:cx="288.37500"
- id="path8796"
- style="opacity:1.0000000;fill:url(#linearGradient10630);fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- sodipodi:type="arc" />
+ <path d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z" transform="matrix(0.905660,0.000000,0.000000,0.905660,9.830296,-35.68884)" opacity="1.0000000" fill="url(#linearGradient10628)" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path d="M 292.95640,-437.33396 C 292.95487,-434.64940 289.68714,-433.62001 289.68714,-433.62001 C 289.68714,-433.62001 292.03588,-435.24596 292.02399,-437.32502 C 292.02399,-437.32502 292.95640,-437.33396 292.95640,-437.33396 z " fill="#888a85" fill-opacity="1.0000000" fill-rule="evenodd" stroke="none" stroke-width="1.0000000px" stroke-linecap="butt" stroke-linejoin="miter" stroke-opacity="1.0000000"/>
+ <g transform="matrix(1.142857,0.000000,0.000000,1.142857,-28.57139,67.00008)">
+ <path transform="matrix(1.056604,0.000000,0.000000,1.056604,-31.19818,24.86331)" d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z" opacity="1.0000000" fill="#c4c5c2" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path transform="matrix(1.056604,0.000000,0.000000,1.056604,-31.19818,24.86331)" d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z" opacity="1.0000000" fill="url(#linearGradient10630)" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
</g>
</g>
</g>
- <g
- id="g12157"
- transform="translate(-163.0077,222.0147)">
- <path
- transform="matrix(0.685520,0.000000,0.000000,0.685520,151.7017,27.15827)"
- d="M 31.819805 -316.77872 A 2.2097087 2.2097087 0 1 1 27.400387,-316.77872 A 2.2097087 2.2097087 0 1 1 31.819805 -316.77872 z"
- sodipodi:ry="2.2097087"
- sodipodi:rx="2.2097087"
- sodipodi:cy="-316.77872"
- sodipodi:cx="29.610096"
- id="path12159"
- style="opacity:1.0000000;fill:#ffffff;fill-opacity:1.0000000;stroke:#729fcf;stroke-width:1.4587468;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- sodipodi:type="arc" />
- <path
- transform="matrix(0.915572,0.000000,0.000000,0.915587,152.4091,103.5577)"
- d="M 31.819805 -316.77872 A 2.2097087 2.2097087 0 1 1 27.400387,-316.77872 A 2.2097087 2.2097087 0 1 1 31.819805 -316.77872 z"
- sodipodi:ry="2.2097087"
- sodipodi:rx="2.2097087"
- sodipodi:cy="-316.77872"
- sodipodi:cx="29.610096"
- id="path12161"
- style="opacity:1.0000000;fill:#ffffff;fill-opacity:1.0000000;stroke:#729fcf;stroke-width:1.0922043;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- sodipodi:type="arc" />
- <path
- transform="matrix(0.672406,0.000000,0.000000,0.683742,153.0708,34.62149)"
- d="M 31.819805 -316.77872 A 2.2097087 2.2097087 0 1 1 27.400387,-316.77872 A 2.2097087 2.2097087 0 1 1 31.819805 -316.77872 z"
- sodipodi:ry="2.2097087"
- sodipodi:rx="2.2097087"
- sodipodi:cy="-316.77872"
- sodipodi:cx="29.610096"
- id="path12163"
- style="opacity:1.0000000;fill:#ffffff;fill-opacity:1.0000000;stroke:#729fcf;stroke-width:1.4748161;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- sodipodi:type="arc" />
- <path
- transform="matrix(0.682300,0.000000,0.000000,0.680269,181.7970,30.49471)"
- d="M 31.819805 -316.77872 A 2.2097087 2.2097087 0 1 1 27.400387,-316.77872 A 2.2097087 2.2097087 0 1 1 31.819805 -316.77872 z"
- sodipodi:ry="2.2097087"
- sodipodi:rx="2.2097087"
- sodipodi:cy="-316.77872"
- sodipodi:cx="29.610096"
- id="path12165"
- style="opacity:1.0000000;fill:#ffffff;fill-opacity:1.0000000;stroke:#729fcf;stroke-width:1.4678179;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- sodipodi:type="arc" />
- <path
- transform="matrix(1.107132,0.000000,0.000000,1.117168,157.2177,164.9217)"
- d="M 31.819805 -316.77872 A 2.2097087 2.2097087 0 1 1 27.400387,-316.77872 A 2.2097087 2.2097087 0 1 1 31.819805 -316.77872 z"
- sodipodi:ry="2.2097087"
- sodipodi:rx="2.2097087"
- sodipodi:cy="-316.77872"
- sodipodi:cx="29.610096"
- id="path12167"
- style="opacity:1.0000000;fill:#ffffff;fill-opacity:1.0000000;stroke:#729fcf;stroke-width:0.89916825;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- sodipodi:type="arc" />
- <path
- transform="matrix(1.127592,0.000000,0.000000,1.051830,161.6119,151.3731)"
- d="M 31.819805 -316.77872 A 2.2097087 2.2097087 0 1 1 27.400387,-316.77872 A 2.2097087 2.2097087 0 1 1 31.819805 -316.77872 z"
- sodipodi:ry="2.2097087"
- sodipodi:rx="2.2097087"
- sodipodi:cy="-316.77872"
- sodipodi:cx="29.610096"
- id="path12169"
- style="opacity:1.0000000;fill:#ffffff;fill-opacity:1.0000000;stroke:#729fcf;stroke-width:0.91822928;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- sodipodi:type="arc" />
- <path
- transform="matrix(0.685519,0.000000,0.000000,0.680487,164.6869,34.56369)"
- d="M 31.819805 -316.77872 A 2.2097087 2.2097087 0 1 1 27.400387,-316.77872 A 2.2097087 2.2097087 0 1 1 31.819805 -316.77872 z"
- sodipodi:ry="2.2097087"
- sodipodi:rx="2.2097087"
- sodipodi:cy="-316.77872"
- sodipodi:cx="29.610096"
- id="path12171"
- style="opacity:1.0000000;fill:#ffffff;fill-opacity:1.0000000;stroke:#729fcf;stroke-width:1.4641328;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- sodipodi:type="arc" />
+ <g transform="translate(-163.0077,222.0147)">
+ <path transform="matrix(0.685520,0.000000,0.000000,0.685520,151.7017,27.15827)" d="M 31.819805 -316.77872 A 2.2097087 2.2097087 0 1 1 27.400387,-316.77872 A 2.2097087 2.2097087 0 1 1 31.819805 -316.77872 z" opacity="1.0000000" fill="#ffffff" fill-opacity="1.0000000" stroke="#729fcf" stroke-width="1.4587468" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="0.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path transform="matrix(0.915572,0.000000,0.000000,0.915587,152.4091,103.5577)" d="M 31.819805 -316.77872 A 2.2097087 2.2097087 0 1 1 27.400387,-316.77872 A 2.2097087 2.2097087 0 1 1 31.819805 -316.77872 z" opacity="1.0000000" fill="#ffffff" fill-opacity="1.0000000" stroke="#729fcf" stroke-width="1.0922043" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="0.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path transform="matrix(0.672406,0.000000,0.000000,0.683742,153.0708,34.62149)" d="M 31.819805 -316.77872 A 2.2097087 2.2097087 0 1 1 27.400387,-316.77872 A 2.2097087 2.2097087 0 1 1 31.819805 -316.77872 z" opacity="1.0000000" fill="#ffffff" fill-opacity="1.0000000" stroke="#729fcf" stroke-width="1.4748161" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="0.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path transform="matrix(0.682300,0.000000,0.000000,0.680269,181.7970,30.49471)" d="M 31.819805 -316.77872 A 2.2097087 2.2097087 0 1 1 27.400387,-316.77872 A 2.2097087 2.2097087 0 1 1 31.819805 -316.77872 z" opacity="1.0000000" fill="#ffffff" fill-opacity="1.0000000" stroke="#729fcf" stroke-width="1.4678179" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="0.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path transform="matrix(1.107132,0.000000,0.000000,1.117168,157.2177,164.9217)" d="M 31.819805 -316.77872 A 2.2097087 2.2097087 0 1 1 27.400387,-316.77872 A 2.2097087 2.2097087 0 1 1 31.819805 -316.77872 z" opacity="1.0000000" fill="#ffffff" fill-opacity="1.0000000" stroke="#729fcf" stroke-width="0.89916825" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="0.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path transform="matrix(1.127592,0.000000,0.000000,1.051830,161.6119,151.3731)" d="M 31.819805 -316.77872 A 2.2097087 2.2097087 0 1 1 27.400387,-316.77872 A 2.2097087 2.2097087 0 1 1 31.819805 -316.77872 z" opacity="1.0000000" fill="#ffffff" fill-opacity="1.0000000" stroke="#729fcf" stroke-width="0.91822928" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="0.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path transform="matrix(0.685519,0.000000,0.000000,0.680487,164.6869,34.56369)" d="M 31.819805 -316.77872 A 2.2097087 2.2097087 0 1 1 27.400387,-316.77872 A 2.2097087 2.2097087 0 1 1 31.819805 -316.77872 z" opacity="1.0000000" fill="#ffffff" fill-opacity="1.0000000" stroke="#729fcf" stroke-width="1.4641328" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="0.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
</g>
</g>
</svg>
diff --git a/demos/embedded/weatherinfo/icons/weather-storm.svg b/demos/embedded/weatherinfo/icons/weather-storm.svg
index 4d8bfec..1ad47ab 100644
--- a/demos/embedded/weatherinfo/icons/weather-storm.svg
+++ b/demos/embedded/weatherinfo/icons/weather-storm.svg
@@ -1,3851 +1,94 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!-- Created with Inkscape (http://www.inkscape.org/) -->
-<svg
- xmlns:dc="http://purl.org/dc/elements/1.1/"
- xmlns:cc="http://creativecommons.org/ns#"
- xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns:svg="http://www.w3.org/2000/svg"
- xmlns="http://www.w3.org/2000/svg"
- xmlns:xlink="http://www.w3.org/1999/xlink"
- xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
- xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
- width="48px"
- height="48px"
- id="svg1306"
- sodipodi:version="0.32"
- inkscape:version="0.46"
- sodipodi:docbase="/home/rcollier/Work/Novell/Tango/weather"
- sodipodi:docname="weather-storm.svg"
- inkscape:output_extension="org.inkscape.output.svg.inkscape">
- <defs
- id="defs1308">
- <inkscape:perspective
- sodipodi:type="inkscape:persp3d"
- inkscape:vp_x="0 : 24 : 1"
- inkscape:vp_y="0 : 1000 : 0"
- inkscape:vp_z="48 : 24 : 1"
- inkscape:persp3d-origin="24 : 16 : 1"
- id="perspective488" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient8397">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop8400" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop8402" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient8397"
- id="linearGradient13503"
- gradientUnits="userSpaceOnUse"
- x1="238.00478"
- y1="-388.47476"
- x2="245.65462"
- y2="-382.64539" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient8315">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop8317" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop8319" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient8315"
- id="linearGradient13501"
- gradientUnits="userSpaceOnUse"
- x1="230.87598"
- y1="-390.43951"
- x2="235.25652"
- y2="-386.95901" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient8381">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop8383" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop8385" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient8381"
- id="linearGradient13499"
- gradientUnits="userSpaceOnUse"
- x1="246.74042"
- y1="-391.31381"
- x2="252.69785"
- y2="-385.35165" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient8331">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop8333" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop8335" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient8331"
- id="linearGradient13497"
- gradientUnits="userSpaceOnUse"
- x1="240.07379"
- y1="-393.40720"
- x2="245.82706"
- y2="-388.55029" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient8302">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop8304" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop8306" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient8302"
- id="linearGradient13495"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(69.00000,155.0000)"
- x1="228.50261"
- y1="-392.30591"
- x2="266.36395"
- y2="-379.26862" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6538"
- id="linearGradient13143"
- gradientUnits="userSpaceOnUse"
- x1="284.80219"
- y1="-441.23294"
- x2="288.89954"
- y2="-436.83109" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6549"
- id="linearGradient13141"
- gradientUnits="userSpaceOnUse"
- x1="286.66589"
- y1="-439.48358"
- x2="289.76562"
- y2="-436.70703" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6527"
- id="linearGradient13139"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-35.00007,207.0001)"
- x1="275.94193"
- y1="-437.10501"
- x2="279.97546"
- y2="-431.91833" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6538"
- id="linearGradient13137"
- gradientUnits="userSpaceOnUse"
- x1="285.94086"
- y1="-439.93900"
- x2="289.39124"
- y2="-436.44290" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6513"
- id="linearGradient13135"
- gradientUnits="userSpaceOnUse"
- x1="286.51172"
- y1="-441.29074"
- x2="289.85379"
- y2="-436.14453" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6497"
- id="linearGradient13133"
- gradientUnits="userSpaceOnUse"
- x1="287.51730"
- y1="-439.75281"
- x2="289.67633"
- y2="-436.32199" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6470"
- id="linearGradient13131"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-34.00007,207.0001)"
- x1="271.02170"
- y1="-441.05182"
- x2="285.02859"
- y2="-431.96991" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient8874"
- id="linearGradient11195"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(14.15871,7.082841)"
- x1="-190.47688"
- y1="-332.51181"
- x2="-196.19046"
- y2="-328.53433" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient8904"
- id="linearGradient11193"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(13.80516,2.840199)"
- x1="-191.28896"
- y1="-328.07861"
- x2="-192.41396"
- y2="-315.32861" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient8874">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop8876" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop8878" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient8874"
- id="linearGradient11191"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(14.15871,7.082841)"
- x1="-190.47688"
- y1="-332.51181"
- x2="-196.19046"
- y2="-328.53433" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient8904">
- <stop
- style="stop-color:#fcaf3e;stop-opacity:1;"
- offset="0"
- id="stop8906" />
- <stop
- style="stop-color:#fcaf3e;stop-opacity:0;"
- offset="1"
- id="stop8908" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient8904"
- id="linearGradient11189"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(13.80516,2.840199)"
- x1="-191.28896"
- y1="-328.07861"
- x2="-192.41396"
- y2="-315.32861" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient5123"
- id="radialGradient13211"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.930946,6.185702e-16,-2.842711e-16,0.448244,245.3644,184.9256)"
- cx="-229.75000"
- cy="-343.95554"
- fx="-229.75000"
- fy="-343.95554"
- r="14.501380" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6538"
- id="linearGradient13157"
- gradientUnits="userSpaceOnUse"
- x1="284.80219"
- y1="-441.23294"
- x2="288.89954"
- y2="-436.83109" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient6549">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop6551" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop6553" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6549"
- id="linearGradient13155"
- gradientUnits="userSpaceOnUse"
- x1="286.66589"
- y1="-439.48358"
- x2="289.76562"
- y2="-436.70703" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient6527">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop6530" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop6532" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6527"
- id="linearGradient13153"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-35.00007,207.0001)"
- x1="275.94193"
- y1="-437.10501"
- x2="279.97546"
- y2="-431.91833" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient6538">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop6540" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop6542" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6538"
- id="linearGradient13151"
- gradientUnits="userSpaceOnUse"
- x1="285.94086"
- y1="-439.93900"
- x2="289.39124"
- y2="-436.44290" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient6513">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop6515" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop6517" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6513"
- id="linearGradient13149"
- gradientUnits="userSpaceOnUse"
- x1="286.51172"
- y1="-441.29074"
- x2="289.85379"
- y2="-436.14453" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient6497">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop6499" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop6501" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6497"
- id="linearGradient13147"
- gradientUnits="userSpaceOnUse"
- x1="287.51730"
- y1="-439.75281"
- x2="289.67633"
- y2="-436.32199" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient6470">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop6472" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop6474" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6470"
- id="linearGradient13145"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-34.00007,207.0001)"
- x1="271.02170"
- y1="-441.05182"
- x2="285.02859"
- y2="-431.96991" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient5123">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop5125" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop5127" />
- </linearGradient>
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient5123"
- id="radialGradient13068"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.930946,6.185702e-16,-2.842711e-16,0.448244,229.9269,180.9261)"
- cx="-229.75000"
- cy="-343.95554"
- fx="-229.75000"
- fy="-343.95554"
- r="14.501380" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient6840">
- <stop
- style="stop-color:#ad7fa8;stop-opacity:1;"
- offset="0"
- id="stop6842" />
- <stop
- style="stop-color:#ad7fa8;stop-opacity:0;"
- offset="1"
- id="stop6844" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient6828">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop6830" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop6832" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient6537">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop6539" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop6541" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient2298">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop2300" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop2302" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient3347">
- <stop
- style="stop-color:#edd400;stop-opacity:1;"
- offset="0"
- id="stop3349" />
- <stop
- style="stop-color:#edd400;stop-opacity:0;"
- offset="1"
- id="stop3351" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient2527">
- <stop
- style="stop-color:#fcaf3e;stop-opacity:1;"
- offset="0"
- id="stop2529" />
- <stop
- style="stop-color:#fcaf3e;stop-opacity:0;"
- offset="1"
- id="stop2531" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient2500">
- <stop
- style="stop-color:#fce94f;stop-opacity:1;"
- offset="0"
- id="stop2502" />
- <stop
- style="stop-color:#fce94f;stop-opacity:0;"
- offset="1"
- id="stop2504" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient2392">
- <stop
- style="stop-color:#eeeeec;stop-opacity:1;"
- offset="0"
- id="stop2394" />
- <stop
- style="stop-color:#eeeeec;stop-opacity:0;"
- offset="1"
- id="stop2396" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient2254">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop2256" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop2258" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2263"
- gradientUnits="userSpaceOnUse"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581"
- gradientTransform="translate(-1.608757,3.097272)" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2267"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(3.555020,0.968578)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2271"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(9.263651,3.495228)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2275"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(8.497184,-2.330824)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2279"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(14.46340,2.014073)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2283"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.751222,0.000000,0.000000,1.000000,-0.197462,7.612867)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2287"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.284317,0.000000,0.000000,1.000000,14.61983,4.452335)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2291"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.834148,0.000000,0.000000,1.000000,14.87610,8.569976)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2295"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.462015,0.000000,0.000000,1.262475,-5.687359,1.810269)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2299"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.106619,0.000000,0.000000,1.000000,6.383860,6.500432)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2303"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(1.707748,-5.784024)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2311"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(-0.976307,0.000000,0.000000,1.000000,53.94753,8.563694)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2350"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(16.14002,24.66420)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2352"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-0.932144,25.87240)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2354"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(5.356636,23.86870)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2356"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(11.19027,26.52035)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2358"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(10.30638,19.27251)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2360"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.751222,0.000000,0.000000,1.000000,0.229156,30.76299)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2362"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.284317,0.000000,0.000000,1.000000,16.67145,27.22746)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2364"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.834148,0.000000,0.000000,1.000000,17.05272,31.47010)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2366"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.462015,0.000000,0.000000,1.262475,-4.010744,24.96040)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2368"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.106619,0.000000,0.000000,1.000000,8.185476,29.52556)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2370"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(4.207586,21.30544)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2372"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(-0.976307,0.000000,0.000000,1.000000,56.12415,32.08882)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2392"
- id="linearGradient2398"
- x1="6.6651416"
- y1="13.802798"
- x2="41.403877"
- y2="13.802798"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.992367,0.000000,0.000000,0.990713,1.128541,5.404075)" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2426"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(14.46340,2.014073)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2428"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(8.497184,-2.330824)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2430"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-1.608757,3.097272)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2432"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(3.555020,0.968578)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2434"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(9.263651,3.495228)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2436"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.751222,0.000000,0.000000,1.000000,-0.197462,7.612867)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2438"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.284317,0.000000,0.000000,1.000000,14.61983,4.452335)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2440"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.834148,0.000000,0.000000,1.000000,14.87610,8.569976)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2442"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.462015,0.000000,0.000000,1.262475,-5.687359,1.810269)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2444"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.106619,0.000000,0.000000,1.000000,6.383860,6.500432)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2446"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(-0.976307,0.000000,0.000000,1.000000,53.94753,8.563694)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2392"
- id="linearGradient2448"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.992367,0.000000,0.000000,0.990713,1.128541,5.404075)"
- x1="6.6651416"
- y1="13.802798"
- x2="41.403877"
- y2="13.802798" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2392"
- id="linearGradient2451"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.992367,0.000000,0.000000,0.990713,4.378541,10.65407)"
- x1="6.6651416"
- y1="13.802798"
- x2="41.403877"
- y2="13.802798" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2457"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.106619,0.000000,0.000000,1.000000,9.633860,11.75043)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2460"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.462015,0.000000,0.000000,1.262475,-2.437359,7.060269)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2463"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.834148,0.000000,0.000000,1.000000,18.12610,13.81998)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2469"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.751222,0.000000,0.000000,1.000000,3.052538,12.86287)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2472"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(12.51365,8.745228)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2475"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(6.805020,6.218578)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2478"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(1.641243,8.347272)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2483"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(0.842481,-3.998086)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2500"
- id="linearGradient2506"
- x1="37.000000"
- y1="-21.750000"
- x2="53.750000"
- y2="9.0000000"
- gradientUnits="userSpaceOnUse" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2500"
- id="linearGradient2509"
- gradientUnits="userSpaceOnUse"
- x1="37.000000"
- y1="-21.750000"
- x2="53.750000"
- y2="9.0000000"
- gradientTransform="matrix(0.889091,0.000000,0.000000,0.617886,-4.771368,39.81402)" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2500"
- id="linearGradient2513"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.605509,0.000000,0.000000,0.710542,-0.224971,42.19500)"
- x1="38.857941"
- y1="-18.407482"
- x2="53.750000"
- y2="9.0000000" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2500"
- id="linearGradient2517"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.414169,0.000000,0.000000,0.778853,-1.910724,36.87850)"
- x1="37.000000"
- y1="-21.750000"
- x2="53.750000"
- y2="9.0000000" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2527"
- id="linearGradient2533"
- x1="-25.137094"
- y1="-1.2491118"
- x2="-35.652866"
- y2="-24.884460"
- gradientUnits="userSpaceOnUse" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2537"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(17.33814,3.415985)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2541"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(13.40064,1.353485)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2555"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-7.499805,1.708617)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2563"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-0.726830,2.481141)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3347"
- id="linearGradient3353"
- x1="23.303862"
- y1="29.115711"
- x2="29.750000"
- y2="46.092930"
- gradientUnits="userSpaceOnUse" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient3366"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(13.40064,1.353485)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient3368"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(1.641243,8.347272)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient3370"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(6.805020,6.218578)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient3372"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(12.51365,8.745228)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient3374"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.751222,0.000000,0.000000,1.000000,3.052538,12.86287)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient3376"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.834148,0.000000,0.000000,1.000000,18.12610,13.81998)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient3378"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.462015,0.000000,0.000000,1.262475,-2.437359,7.060269)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient3380"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.106619,0.000000,0.000000,1.000000,9.633860,11.75043)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient3383"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.106619,0.000000,0.000000,1.000000,0.795022,6.093572)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient3386"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.462015,0.000000,0.000000,1.262475,-11.27620,1.403411)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient3389"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.834148,0.000000,0.000000,1.000000,9.287262,8.163122)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient3392"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.751222,0.000000,0.000000,1.000000,-5.786300,7.206012)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient3395"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(3.674812,3.088370)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient3398"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-2.033818,0.561720)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient3401"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-7.197595,2.690414)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient3405"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(4.561802,-4.303373)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- gradientUnits="userSpaceOnUse"
- y2="-4.4493785"
- x2="-34.700153"
- y1="-37.550461"
- x1="-27.006643"
- id="linearGradient2916"
- xlink:href="#linearGradient2298"
- inkscape:collect="always" />
- <linearGradient
- y2="-24.884460"
- x2="-35.652866"
- y1="-1.2491118"
- x1="-25.137094"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2914"
- xlink:href="#linearGradient2527"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(57.97693,-10.56876)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2912"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(-0.976307,0.000000,0.000000,1.000000,123.1162,-5.446357)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2910"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.106619,0.000000,0.000000,1.000000,0.795022,6.093572)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2908"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.462015,0.000000,0.000000,1.262475,-11.27620,1.403411)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2906"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(0.834148,0.000000,0.000000,1.000000,9.287262,8.163122)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2904"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(0.751222,0.000000,0.000000,1.000000,-5.786300,7.206012)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2902"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(3.674812,3.088370)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2900"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(-2.033818,0.561720)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2898"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(-7.197595,2.690414)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2896"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="-24.884460"
- x2="-35.652866"
- y1="-1.2491118"
- x1="-25.137094"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2894"
- xlink:href="#linearGradient2527"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.284317,0.000000,0.000000,1.000000,79.36909,-3.193747)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2892"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.462015,0.000000,0.000000,1.262475,56.25514,-12.39388)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2890"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(88.49344,-9.697877)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2888"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(4.561802,-4.303373)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2886"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(-7.197595,2.690414)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2884"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(-2.033818,0.561720)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2882"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(3.674812,3.088370)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2880"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(0.751222,0.000000,0.000000,1.000000,-5.786300,7.206012)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2878"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(0.834148,0.000000,0.000000,1.000000,9.287262,8.163122)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2876"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.462015,0.000000,0.000000,1.262475,-11.27620,1.403411)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2874"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.106619,0.000000,0.000000,1.000000,0.795022,6.093572)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2872"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.106619,0.000000,0.000000,1.000000,9.633860,11.75043)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2870"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.462015,0.000000,0.000000,1.262475,-2.437359,7.060269)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2868"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(0.834148,0.000000,0.000000,1.000000,18.12610,13.81998)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2866"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(0.751222,0.000000,0.000000,1.000000,3.052538,12.86287)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2864"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(12.51365,8.745228)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2862"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(6.805020,6.218578)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2860"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(1.641243,8.347272)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2858"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(13.40064,1.353485)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2856"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- gradientUnits="userSpaceOnUse"
- y2="46.092930"
- x2="29.750000"
- y1="29.115711"
- x1="23.303862"
- id="linearGradient2854"
- xlink:href="#linearGradient3347"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(-0.726830,2.481141)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2852"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(-7.499805,1.708617)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2850"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(13.40064,1.353485)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2848"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(17.33814,3.415985)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2846"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- gradientUnits="userSpaceOnUse"
- y2="-24.884460"
- x2="-35.652866"
- y1="-1.2491118"
- x1="-25.137094"
- id="linearGradient2844"
- xlink:href="#linearGradient2527"
- inkscape:collect="always" />
- <linearGradient
- y2="9.0000000"
- x2="53.750000"
- y1="-21.750000"
- x1="37.000000"
- gradientTransform="matrix(0.414169,0.000000,0.000000,0.778853,-1.910724,36.87850)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2842"
- xlink:href="#linearGradient2500"
- inkscape:collect="always" />
- <linearGradient
- y2="9.0000000"
- x2="53.750000"
- y1="-18.407482"
- x1="38.857941"
- gradientTransform="matrix(0.605509,0.000000,0.000000,0.710542,-0.224971,42.19500)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2840"
- xlink:href="#linearGradient2500"
- inkscape:collect="always" />
- <linearGradient
- gradientTransform="matrix(0.889091,0.000000,0.000000,0.617886,-4.771368,39.81402)"
- y2="9.0000000"
- x2="53.750000"
- y1="-21.750000"
- x1="37.000000"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2838"
- xlink:href="#linearGradient2500"
- inkscape:collect="always" />
- <linearGradient
- gradientUnits="userSpaceOnUse"
- y2="9.0000000"
- x2="53.750000"
- y1="-21.750000"
- x1="37.000000"
- id="linearGradient2836"
- xlink:href="#linearGradient2500"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(0.842481,-3.998086)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2834"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(1.641243,8.347272)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2832"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(6.805020,6.218578)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2830"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(12.51365,8.745228)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2828"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(0.751222,0.000000,0.000000,1.000000,3.052538,12.86287)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2826"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(0.834148,0.000000,0.000000,1.000000,18.12610,13.81998)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2824"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.462015,0.000000,0.000000,1.262475,-2.437359,7.060269)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2822"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.106619,0.000000,0.000000,1.000000,9.633860,11.75043)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2820"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="13.802798"
- x2="41.403877"
- y1="13.802798"
- x1="6.6651416"
- gradientTransform="matrix(0.992367,0.000000,0.000000,0.990713,4.378541,10.65407)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2818"
- xlink:href="#linearGradient2392"
- inkscape:collect="always" />
- <linearGradient
- y2="13.802798"
- x2="41.403877"
- y1="13.802798"
- x1="6.6651416"
- gradientTransform="matrix(0.992367,0.000000,0.000000,0.990713,1.128541,5.404075)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2816"
- xlink:href="#linearGradient2392"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(-0.976307,0.000000,0.000000,1.000000,53.94753,8.563694)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2814"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.106619,0.000000,0.000000,1.000000,6.383860,6.500432)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2812"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.462015,0.000000,0.000000,1.262475,-5.687359,1.810269)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2810"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(0.834148,0.000000,0.000000,1.000000,14.87610,8.569976)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2808"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.284317,0.000000,0.000000,1.000000,14.61983,4.452335)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2806"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(0.751222,0.000000,0.000000,1.000000,-0.197462,7.612867)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2804"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(9.263651,3.495228)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2802"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(3.555020,0.968578)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2800"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(-1.608757,3.097272)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2798"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(8.497184,-2.330824)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2796"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(14.46340,2.014073)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2794"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- gradientTransform="matrix(0.992367,0.000000,0.000000,0.990713,1.128541,5.404075)"
- gradientUnits="userSpaceOnUse"
- y2="13.802798"
- x2="41.403877"
- y1="13.802798"
- x1="6.6651416"
- id="linearGradient2792"
- xlink:href="#linearGradient2392"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(-0.976307,0.000000,0.000000,1.000000,56.12415,32.08882)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2790"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(4.207586,21.30544)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2788"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.106619,0.000000,0.000000,1.000000,8.185476,29.52556)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2786"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.462015,0.000000,0.000000,1.262475,-4.010744,24.96040)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2784"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(0.834148,0.000000,0.000000,1.000000,17.05272,31.47010)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2782"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.284317,0.000000,0.000000,1.000000,16.67145,27.22746)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2780"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(0.751222,0.000000,0.000000,1.000000,0.229156,30.76299)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2778"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(10.30638,19.27251)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2776"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(11.19027,26.52035)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2774"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(5.356636,23.86870)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2772"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(-0.932144,25.87240)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2770"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(16.14002,24.66420)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2768"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(-0.976307,0.000000,0.000000,1.000000,53.94753,8.563694)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2766"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(1.707748,-5.784024)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2764"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.106619,0.000000,0.000000,1.000000,6.383860,6.500432)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2762"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.462015,0.000000,0.000000,1.262475,-5.687359,1.810269)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2760"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(0.834148,0.000000,0.000000,1.000000,14.87610,8.569976)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2758"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.284317,0.000000,0.000000,1.000000,14.61983,4.452335)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2756"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(0.751222,0.000000,0.000000,1.000000,-0.197462,7.612867)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2754"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(14.46340,2.014073)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2752"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(8.497184,-2.330824)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2750"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(9.263651,3.495228)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2748"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(3.555020,0.968578)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2746"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- gradientTransform="translate(-1.608757,3.097272)"
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2744"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- gradientUnits="userSpaceOnUse"
- y2="-4.4493785"
- x2="-34.700153"
- y1="-37.550461"
- x1="-27.006643"
- id="linearGradient2304"
- xlink:href="#linearGradient2298"
- inkscape:collect="always" />
- <linearGradient
- y2="-24.884460"
- x2="-35.652866"
- y1="-1.2491118"
- x1="-25.137094"
- gradientUnits="userSpaceOnUse"
- id="linearGradient1557"
- xlink:href="#linearGradient2527"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(57.97693,-10.56876)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient1538"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(-0.976307,0.000000,0.000000,1.000000,123.1162,-5.446357)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient1536"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.106619,0.000000,0.000000,1.000000,0.795022,6.093572)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient1534"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.462015,0.000000,0.000000,1.262475,-11.27620,1.403411)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient1532"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(0.834148,0.000000,0.000000,1.000000,9.287262,8.163122)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient1530"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(0.751222,0.000000,0.000000,1.000000,-5.786300,7.206012)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient1528"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(3.674812,3.088370)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient1526"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(-2.033818,0.561720)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient1524"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(-7.197595,2.690414)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient1522"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="-24.884460"
- x2="-35.652866"
- y1="-1.2491118"
- x1="-25.137094"
- gradientUnits="userSpaceOnUse"
- id="linearGradient1520"
- xlink:href="#linearGradient2527"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.284317,0.000000,0.000000,1.000000,79.36909,-3.193747)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient1518"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.462015,0.000000,0.000000,1.262475,56.25514,-12.39388)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient1516"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(88.49344,-9.697877)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient1514"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(4.561802,-4.303373)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5957"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(-7.197595,2.690414)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5955"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(-2.033818,0.561720)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5953"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(3.674812,3.088370)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5951"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(0.751222,0.000000,0.000000,1.000000,-5.786300,7.206012)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5949"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(0.834148,0.000000,0.000000,1.000000,9.287262,8.163122)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5947"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.462015,0.000000,0.000000,1.262475,-11.27620,1.403411)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5945"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.106619,0.000000,0.000000,1.000000,0.795022,6.093572)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5943"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.106619,0.000000,0.000000,1.000000,9.633860,11.75043)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5941"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.462015,0.000000,0.000000,1.262475,-2.437359,7.060269)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5939"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(0.834148,0.000000,0.000000,1.000000,18.12610,13.81998)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5937"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(0.751222,0.000000,0.000000,1.000000,3.052538,12.86287)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5935"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(12.51365,8.745228)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5933"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(6.805020,6.218578)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5931"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(1.641243,8.347272)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5929"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(13.40064,1.353485)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5927"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- gradientUnits="userSpaceOnUse"
- y2="46.092930"
- x2="29.750000"
- y1="29.115711"
- x1="23.303862"
- id="linearGradient5925"
- xlink:href="#linearGradient3347"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(-0.726830,2.481141)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5923"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(-7.499805,1.708617)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5921"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(13.40064,1.353485)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5919"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(17.33814,3.415985)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5917"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- gradientUnits="userSpaceOnUse"
- y2="-24.884460"
- x2="-35.652866"
- y1="-1.2491118"
- x1="-25.137094"
- id="linearGradient5915"
- xlink:href="#linearGradient2527"
- inkscape:collect="always" />
- <linearGradient
- y2="9.0000000"
- x2="53.750000"
- y1="-21.750000"
- x1="37.000000"
- gradientTransform="matrix(0.414169,0.000000,0.000000,0.778853,-1.910724,36.87850)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5913"
- xlink:href="#linearGradient2500"
- inkscape:collect="always" />
- <linearGradient
- y2="9.0000000"
- x2="53.750000"
- y1="-18.407482"
- x1="38.857941"
- gradientTransform="matrix(0.605509,0.000000,0.000000,0.710542,-0.224971,42.19500)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5911"
- xlink:href="#linearGradient2500"
- inkscape:collect="always" />
- <linearGradient
- gradientTransform="matrix(0.889091,0.000000,0.000000,0.617886,-4.771368,39.81402)"
- y2="9.0000000"
- x2="53.750000"
- y1="-21.750000"
- x1="37.000000"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5909"
- xlink:href="#linearGradient2500"
- inkscape:collect="always" />
- <linearGradient
- gradientUnits="userSpaceOnUse"
- y2="9.0000000"
- x2="53.750000"
- y1="-21.750000"
- x1="37.000000"
- id="linearGradient5907"
- xlink:href="#linearGradient2500"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(0.842481,-3.998086)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5905"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(1.641243,8.347272)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5903"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(6.805020,6.218578)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5901"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(12.51365,8.745228)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5899"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(0.751222,0.000000,0.000000,1.000000,3.052538,12.86287)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5897"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(0.834148,0.000000,0.000000,1.000000,18.12610,13.81998)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5895"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.462015,0.000000,0.000000,1.262475,-2.437359,7.060269)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5893"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.106619,0.000000,0.000000,1.000000,9.633860,11.75043)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5891"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="13.802798"
- x2="41.403877"
- y1="13.802798"
- x1="6.6651416"
- gradientTransform="matrix(0.992367,0.000000,0.000000,0.990713,4.378541,10.65407)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5889"
- xlink:href="#linearGradient2392"
- inkscape:collect="always" />
- <linearGradient
- y2="13.802798"
- x2="41.403877"
- y1="13.802798"
- x1="6.6651416"
- gradientTransform="matrix(0.992367,0.000000,0.000000,0.990713,1.128541,5.404075)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5887"
- xlink:href="#linearGradient2392"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(-0.976307,0.000000,0.000000,1.000000,53.94753,8.563694)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5885"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.106619,0.000000,0.000000,1.000000,6.383860,6.500432)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5883"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.462015,0.000000,0.000000,1.262475,-5.687359,1.810269)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5881"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(0.834148,0.000000,0.000000,1.000000,14.87610,8.569976)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5879"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.284317,0.000000,0.000000,1.000000,14.61983,4.452335)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5877"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(0.751222,0.000000,0.000000,1.000000,-0.197462,7.612867)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5875"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(9.263651,3.495228)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5873"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(3.555020,0.968578)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5871"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(-1.608757,3.097272)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5869"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(8.497184,-2.330824)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5867"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(14.46340,2.014073)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5865"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- gradientTransform="matrix(0.992367,0.000000,0.000000,0.990713,1.128541,5.404075)"
- gradientUnits="userSpaceOnUse"
- y2="13.802798"
- x2="41.403877"
- y1="13.802798"
- x1="6.6651416"
- id="linearGradient5863"
- xlink:href="#linearGradient2392"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(-0.976307,0.000000,0.000000,1.000000,56.12415,32.08882)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5861"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(4.207586,21.30544)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5859"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.106619,0.000000,0.000000,1.000000,8.185476,29.52556)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5857"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.462015,0.000000,0.000000,1.262475,-4.010744,24.96040)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5855"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(0.834148,0.000000,0.000000,1.000000,17.05272,31.47010)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5853"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.284317,0.000000,0.000000,1.000000,16.67145,27.22746)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5851"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(0.751222,0.000000,0.000000,1.000000,0.229156,30.76299)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5849"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(10.30638,19.27251)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5847"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(11.19027,26.52035)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5845"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(5.356636,23.86870)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5843"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(-0.932144,25.87240)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5841"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(16.14002,24.66420)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5839"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(-0.976307,0.000000,0.000000,1.000000,53.94753,8.563694)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5837"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(1.707748,-5.784024)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5835"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.106619,0.000000,0.000000,1.000000,6.383860,6.500432)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5833"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.462015,0.000000,0.000000,1.262475,-5.687359,1.810269)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5831"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(0.834148,0.000000,0.000000,1.000000,14.87610,8.569976)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5829"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.284317,0.000000,0.000000,1.000000,14.61983,4.452335)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5827"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(0.751222,0.000000,0.000000,1.000000,-0.197462,7.612867)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5825"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(14.46340,2.014073)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5823"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(8.497184,-2.330824)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5821"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(9.263651,3.495228)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5819"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(3.555020,0.968578)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5817"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- gradientTransform="translate(-1.608757,3.097272)"
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5815"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6098"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-9.002513,11.93373)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6101"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(-0.976307,0.000000,0.000000,1.000000,56.13675,17.05613)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6118"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.284317,0.000000,0.000000,1.000000,12.38965,19.30874)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6121"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.462015,0.000000,0.000000,1.262475,-10.72430,10.10861)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6124"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(21.51400,12.80461)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6179"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-7.197595,2.690414)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6181"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-2.033818,0.561720)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6183"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(3.674812,3.088370)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6185"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.751222,0.000000,0.000000,1.000000,-5.786300,7.206012)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6187"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.834148,0.000000,0.000000,1.000000,9.287262,8.163122)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6189"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.462015,0.000000,0.000000,1.262475,-11.27620,1.403411)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6191"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.106619,0.000000,0.000000,1.000000,0.795022,6.093572)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2527"
- id="linearGradient6193"
- gradientUnits="userSpaceOnUse"
- x1="-25.137094"
- y1="-1.2491118"
- x2="-35.652866"
- y2="-24.884460" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6196"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.106619,0.000000,0.000000,1.000000,2.209129,10.83861)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6199"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.462015,0.000000,0.000000,1.262475,-9.862093,6.148450)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6202"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.834148,0.000000,0.000000,1.000000,10.70137,12.90816)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6205"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.751222,0.000000,0.000000,1.000000,-4.372193,11.95105)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6208"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(5.088919,7.833409)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6211"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-0.619711,5.306759)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6214"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-5.783488,7.435453)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6242"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-5.783488,7.435453)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6244"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-0.619711,5.306759)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6246"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(5.088919,7.833409)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6248"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.834148,0.000000,0.000000,1.000000,10.70137,12.90816)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6250"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.462015,0.000000,0.000000,1.262475,-9.862093,6.148450)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6252"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.106619,0.000000,0.000000,1.000000,2.209129,10.83861)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6254"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-9.002513,11.93373)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6257"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-0.297112,4.275205)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6260"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.106619,0.000000,0.000000,1.000000,10.91453,3.180085)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6263"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.462015,0.000000,0.000000,1.262475,-1.156692,-1.510075)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6266"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.834148,0.000000,0.000000,1.000000,19.40677,5.249635)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6269"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(13.79432,0.174884)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6272"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(8.085690,-2.351766)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6275"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(2.921913,-0.223072)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6311"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(21.51400,12.80461)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6313"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.462015,0.000000,0.000000,1.262475,-10.72430,10.10861)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6315"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.284317,0.000000,0.000000,1.000000,12.38965,19.30874)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6317"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.462015,0.000000,0.000000,1.262475,-1.156692,-1.510075)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6319"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(-0.976307,0.000000,0.000000,1.000000,56.13675,17.05613)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6321"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-5.783488,7.435453)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6323"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-0.619711,5.306759)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6325"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(5.088919,7.833409)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6327"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.834148,0.000000,0.000000,1.000000,10.70137,12.90816)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6329"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.462015,0.000000,0.000000,1.262475,-9.862093,6.148450)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6331"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.106619,0.000000,0.000000,1.000000,2.209129,10.83861)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6333"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-9.002513,11.93373)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6335"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(2.921913,-0.223072)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6337"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(8.085690,-2.351766)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6339"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(13.79432,0.174884)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6341"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.834148,0.000000,0.000000,1.000000,19.40677,5.249635)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6343"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.106619,0.000000,0.000000,1.000000,10.91453,3.180085)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6537"
- id="linearGradient6543"
- x1="27.320963"
- y1="44.228481"
- x2="52.328316"
- y2="44.228481"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.526962,0.000000,-2.763717e-17,0.972572,16.13182,0.843286)" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6537"
- id="linearGradient6547"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.526962,0.000000,-4.388782e-16,0.972572,25.91493,0.633642)"
- x1="27.320963"
- y1="44.228481"
- x2="52.328316"
- y2="44.228481" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6537"
- id="linearGradient6551"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.526962,0.000000,-4.388782e-16,0.972572,36.25638,0.633643)"
- x1="27.320963"
- y1="44.228481"
- x2="45.115814"
- y2="44.228455" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6537"
- id="linearGradient6559"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.526962,0.000000,-2.332577e-16,0.972572,16.13182,0.843286)"
- x1="27.320963"
- y1="44.228481"
- x2="52.328316"
- y2="44.228481" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6537"
- id="linearGradient6561"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.526962,0.000000,-6.444987e-16,0.972572,25.91493,0.633642)"
- x1="27.320963"
- y1="44.228481"
- x2="52.328316"
- y2="44.228481" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6537"
- id="linearGradient6563"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.526962,0.000000,-6.444987e-16,0.972572,36.25638,0.633643)"
- x1="27.320963"
- y1="44.228481"
- x2="45.115814"
- y2="44.228455" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6537"
- id="linearGradient6566"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.577744,0.000000,-6.388715e-16,1.006703,39.04124,-0.702889)"
- x1="27.320963"
- y1="44.228481"
- x2="45.115814"
- y2="44.228455" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6537"
- id="linearGradient6569"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.577744,0.000000,-6.388715e-16,1.006703,27.70322,-0.702890)"
- x1="27.320963"
- y1="44.228481"
- x2="52.328316"
- y2="44.228481" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6537"
- id="linearGradient6572"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.577744,0.000000,-1.880005e-16,1.006703,16.97734,-0.485889)"
- x1="27.320963"
- y1="44.228481"
- x2="52.328316"
- y2="44.228481" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6576"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.132431,0.000000,0.000000,1.016132,10.54485,-4.728138)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6579"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.853605,0.000000,0.000000,1.016132,19.23518,-2.625202)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6582"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.023325,0.000000,0.000000,1.016132,13.49182,-7.781819)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6585"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.023325,0.000000,0.000000,1.016132,7.650036,-10.34923)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6588"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.023325,0.000000,0.000000,1.016132,2.365814,-8.186195)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6599"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(-0.999079,0.000000,0.000000,1.016132,56.82188,9.371753)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6603"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.496116,0.000000,0.000000,1.282841,-1.807925,-9.493960)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6606"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.314274,0.000000,0.000000,1.016132,12.05438,11.66070)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6609"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.496116,0.000000,0.000000,1.282841,-11.59870,2.312158)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6612"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.023325,0.000000,0.000000,1.016132,21.39156,5.051653)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6618"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.023325,0.000000,0.000000,1.016132,16.09471,2.948843)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6622"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.023325,0.000000,0.000000,1.016132,11.32174,9.047633)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6624"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-5.783488,7.435453)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6626"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-0.619711,5.306759)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6628"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(5.088919,7.833409)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6630"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.834148,0.000000,0.000000,1.000000,10.70137,12.90816)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6632"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.462015,0.000000,0.000000,1.262475,-9.862093,6.148450)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6634"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.106619,0.000000,0.000000,1.000000,2.209129,10.83861)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6636"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-9.002513,11.93373)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6828"
- id="radialGradient6834"
- cx="15.147860"
- cy="23.822156"
- fx="15.147860"
- fy="23.822156"
- r="12.852140"
- gradientTransform="matrix(0.654874,0.000000,0.000000,0.398574,2.663540,12.14676)"
- gradientUnits="userSpaceOnUse" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6840"
- id="radialGradient6846"
- cx="32.583473"
- cy="25.240442"
- fx="32.583473"
- fy="25.240442"
- r="8.4165270"
- gradientTransform="matrix(1.000000,0.000000,0.000000,0.503823,-15.00000,6.042836)"
- gradientUnits="userSpaceOnUse" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6828"
- id="radialGradient6852"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(-0.654874,0.000000,0.000000,0.398574,44.33646,16.14676)"
- cx="15.147860"
- cy="23.822156"
- fx="15.147860"
- fy="23.822156"
- r="12.852140" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6840"
- id="radialGradient6854"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(-1.000000,0.000000,0.000000,0.503823,62.00000,10.04284)"
- cx="32.583473"
- cy="25.240442"
- fx="32.583473"
- fy="25.240442"
- r="8.4165270" />
+<svg xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="48px" height="48px" id="svg1306">
+ <defs id="defs1308">
+ <linearGradient id="linearGradient8397">
+ <stop offset="0" id="stop8400" stop-color="#ffffff" stop-opacity="1"/>
+ <stop offset="1" id="stop8402" stop-color="#ffffff" stop-opacity="0"/>
+ </linearGradient>
+ <linearGradient xlink:href="#linearGradient8397" id="linearGradient13503" gradientUnits="userSpaceOnUse" x1="238.00478" y1="-388.47476" x2="245.65462" y2="-382.64539"/>
+ <linearGradient id="linearGradient8315">
+ <stop offset="0" id="stop8317" stop-color="#ffffff" stop-opacity="1"/>
+ <stop offset="1" id="stop8319" stop-color="#ffffff" stop-opacity="0"/>
+ </linearGradient>
+ <linearGradient xlink:href="#linearGradient8315" id="linearGradient13501" gradientUnits="userSpaceOnUse" x1="230.87598" y1="-390.43951" x2="235.25652" y2="-386.95901"/>
+ <linearGradient id="linearGradient8381">
+ <stop offset="0" id="stop8383" stop-color="#ffffff" stop-opacity="1"/>
+ <stop offset="1" id="stop8385" stop-color="#ffffff" stop-opacity="0"/>
+ </linearGradient>
+ <linearGradient xlink:href="#linearGradient8381" id="linearGradient13499" gradientUnits="userSpaceOnUse" x1="246.74042" y1="-391.31381" x2="252.69785" y2="-385.35165"/>
+ <linearGradient id="linearGradient8331">
+ <stop offset="0" id="stop8333" stop-color="#ffffff" stop-opacity="1"/>
+ <stop offset="1" id="stop8335" stop-color="#ffffff" stop-opacity="0"/>
+ </linearGradient>
+ <linearGradient xlink:href="#linearGradient8331" id="linearGradient13497" gradientUnits="userSpaceOnUse" x1="240.07379" y1="-393.40720" x2="245.82706" y2="-388.55029"/>
+ <linearGradient id="linearGradient8302">
+ <stop offset="0" id="stop8304" stop-color="#ffffff" stop-opacity="1"/>
+ <stop offset="1" id="stop8306" stop-color="#ffffff" stop-opacity="0"/>
+ </linearGradient>
+ <linearGradient xlink:href="#linearGradient8302" id="linearGradient13495" gradientUnits="userSpaceOnUse" gradientTransform="translate(69.00000,155.0000)" x1="228.50261" y1="-392.30591" x2="266.36395" y2="-379.26862"/>
+ <linearGradient xlink:href="#linearGradient6538" id="linearGradient13143" gradientUnits="userSpaceOnUse" x1="284.80219" y1="-441.23294" x2="288.89954" y2="-436.83109"/>
+ <linearGradient xlink:href="#linearGradient6549" id="linearGradient13141" gradientUnits="userSpaceOnUse" x1="286.66589" y1="-439.48358" x2="289.76562" y2="-436.70703"/>
+ <linearGradient xlink:href="#linearGradient6527" id="linearGradient13139" gradientUnits="userSpaceOnUse" gradientTransform="translate(-35.00007,207.0001)" x1="275.94193" y1="-437.10501" x2="279.97546" y2="-431.91833"/>
+ <linearGradient xlink:href="#linearGradient6538" id="linearGradient13137" gradientUnits="userSpaceOnUse" x1="285.94086" y1="-439.93900" x2="289.39124" y2="-436.44290"/>
+ <linearGradient xlink:href="#linearGradient6513" id="linearGradient13135" gradientUnits="userSpaceOnUse" x1="286.51172" y1="-441.29074" x2="289.85379" y2="-436.14453"/>
+ <linearGradient xlink:href="#linearGradient6497" id="linearGradient13133" gradientUnits="userSpaceOnUse" x1="287.51730" y1="-439.75281" x2="289.67633" y2="-436.32199"/>
+ <linearGradient xlink:href="#linearGradient6470" id="linearGradient13131" gradientUnits="userSpaceOnUse" gradientTransform="translate(-34.00007,207.0001)" x1="271.02170" y1="-441.05182" x2="285.02859" y2="-431.96991"/>
+ <linearGradient xlink:href="#linearGradient8874" id="linearGradient11195" gradientUnits="userSpaceOnUse" gradientTransform="translate(14.15871,7.082841)" x1="-190.47688" y1="-332.51181" x2="-196.19046" y2="-328.53433"/>
+ <linearGradient xlink:href="#linearGradient8904" id="linearGradient11193" gradientUnits="userSpaceOnUse" gradientTransform="translate(13.80516,2.840199)" x1="-191.28896" y1="-328.07861" x2="-192.41396" y2="-315.32861"/>
+ <linearGradient id="linearGradient8874">
+ <stop offset="0" id="stop8876" stop-color="#ffffff" stop-opacity="1"/>
+ <stop offset="1" id="stop8878" stop-color="#ffffff" stop-opacity="0"/>
+ </linearGradient>
+ <linearGradient xlink:href="#linearGradient8874" id="linearGradient11191" gradientUnits="userSpaceOnUse" gradientTransform="translate(14.15871,7.082841)" x1="-190.47688" y1="-332.51181" x2="-196.19046" y2="-328.53433"/>
+ <linearGradient id="linearGradient8904">
+ <stop offset="0" id="stop8906" stop-color="#fcaf3e" stop-opacity="1"/>
+ <stop offset="1" id="stop8908" stop-color="#fcaf3e" stop-opacity="0"/>
+ </linearGradient>
+ <linearGradient xlink:href="#linearGradient8904" id="linearGradient11189" gradientUnits="userSpaceOnUse" gradientTransform="translate(13.80516,2.840199)" x1="-191.28896" y1="-328.07861" x2="-192.41396" y2="-315.32861"/>
+ <radialGradient xlink:href="#linearGradient5123" id="radialGradient13211" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.930946,6.185702e-16,-2.842711e-16,0.448244,245.3644,184.9256)" cx="-229.75000" cy="-343.95554" fx="-229.75000" fy="-343.95554" r="14.501380"/>
+ <linearGradient xlink:href="#linearGradient6538" id="linearGradient13157" gradientUnits="userSpaceOnUse" x1="284.80219" y1="-441.23294" x2="288.89954" y2="-436.83109"/>
+ <linearGradient id="linearGradient6549">
+ <stop offset="0" id="stop6551" stop-color="#ffffff" stop-opacity="1"/>
+ <stop offset="1" id="stop6553" stop-color="#ffffff" stop-opacity="0"/>
+ </linearGradient>
+ <linearGradient xlink:href="#linearGradient6549" id="linearGradient13155" gradientUnits="userSpaceOnUse" x1="286.66589" y1="-439.48358" x2="289.76562" y2="-436.70703"/>
+ <linearGradient id="linearGradient6527">
+ <stop offset="0" id="stop6530" stop-color="#ffffff" stop-opacity="1"/>
+ <stop offset="1" id="stop6532" stop-color="#ffffff" stop-opacity="0"/>
+ </linearGradient>
+ <linearGradient xlink:href="#linearGradient6527" id="linearGradient13153" gradientUnits="userSpaceOnUse" gradientTransform="translate(-35.00007,207.0001)" x1="275.94193" y1="-437.10501" x2="279.97546" y2="-431.91833"/>
+ <linearGradient id="linearGradient6538">
+ <stop offset="0" id="stop6540" stop-color="#ffffff" stop-opacity="1"/>
+ <stop offset="1" id="stop6542" stop-color="#ffffff" stop-opacity="0"/>
+ </linearGradient>
+ <linearGradient xlink:href="#linearGradient6538" id="linearGradient13151" gradientUnits="userSpaceOnUse" x1="285.94086" y1="-439.93900" x2="289.39124" y2="-436.44290"/>
+ <linearGradient id="linearGradient6513">
+ <stop offset="0" id="stop6515" stop-color="#ffffff" stop-opacity="1"/>
+ <stop offset="1" id="stop6517" stop-color="#ffffff" stop-opacity="0"/>
+ </linearGradient>
+ <linearGradient xlink:href="#linearGradient6513" id="linearGradient13149" gradientUnits="userSpaceOnUse" x1="286.51172" y1="-441.29074" x2="289.85379" y2="-436.14453"/>
+ <linearGradient id="linearGradient6497">
+ <stop offset="0" id="stop6499" stop-color="#ffffff" stop-opacity="1"/>
+ <stop offset="1" id="stop6501" stop-color="#ffffff" stop-opacity="0"/>
+ </linearGradient>
+ <linearGradient xlink:href="#linearGradient6497" id="linearGradient13147" gradientUnits="userSpaceOnUse" x1="287.51730" y1="-439.75281" x2="289.67633" y2="-436.32199"/>
+ <linearGradient id="linearGradient6470">
+ <stop offset="0" id="stop6472" stop-color="#ffffff" stop-opacity="1"/>
+ <stop offset="1" id="stop6474" stop-color="#ffffff" stop-opacity="0"/>
+ </linearGradient>
+ <linearGradient xlink:href="#linearGradient6470" id="linearGradient13145" gradientUnits="userSpaceOnUse" gradientTransform="translate(-34.00007,207.0001)" x1="271.02170" y1="-441.05182" x2="285.02859" y2="-431.96991"/>
+ <linearGradient id="linearGradient5123">
+ <stop offset="0" id="stop5125" stop-color="#ffffff" stop-opacity="1"/>
+ <stop offset="1" id="stop5127" stop-color="#ffffff" stop-opacity="0"/>
+ </linearGradient>
+ <radialGradient xlink:href="#linearGradient5123" id="radialGradient13068" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.930946,6.185702e-16,-2.842711e-16,0.448244,229.9269,180.9261)" cx="-229.75000" cy="-343.95554" fx="-229.75000" fy="-343.95554" r="14.501380"/>
</defs>
- <sodipodi:namedview
- id="base"
- pagecolor="#ffffff"
- bordercolor="#666666"
- borderopacity="1.0"
- inkscape:pageopacity="0.0"
- inkscape:pageshadow="2"
- inkscape:zoom="11.313708"
- inkscape:cx="19.667589"
- inkscape:cy="18.541776"
- inkscape:current-layer="layer1"
- showgrid="true"
- inkscape:grid-bbox="true"
- inkscape:document-units="px"
- inkscape:window-width="1200"
- inkscape:window-height="704"
- inkscape:window-x="186"
- inkscape:window-y="144"
- inkscape:showpageshadow="false" />
- <metadata
- id="metadata1311">
+
+ <metadata id="metadata1311">
<rdf:RDF>
- <cc:Work
- rdf:about="">
+ <cc:Work rdf:about="">
<dc:format>image/svg+xml</dc:format>
- <dc:type
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
<dc:title>weather-storm</dc:title>
<dc:date>January 2006</dc:date>
<dc:creator>
@@ -3866,443 +109,82 @@
<rdf:li>notify</rdf:li>
</rdf:Bag>
</dc:subject>
- <cc:license
- rdf:resource="http://creativecommons.org/licenses/publicdomain/" />
+ <cc:license rdf:resource="http://creativecommons.org/licenses/publicdomain/"/>
</cc:Work>
- <cc:License
- rdf:about="http://creativecommons.org/licenses/publicdomain/">
- <cc:permits
- rdf:resource="http://creativecommons.org/ns#Reproduction" />
- <cc:permits
- rdf:resource="http://creativecommons.org/ns#Distribution" />
- <cc:permits
- rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
+ <cc:License rdf:about="http://creativecommons.org/licenses/publicdomain/">
+ <cc:permits rdf:resource="http://creativecommons.org/ns#Reproduction"/>
+ <cc:permits rdf:resource="http://creativecommons.org/ns#Distribution"/>
+ <cc:permits rdf:resource="http://creativecommons.org/ns#DerivativeWorks"/>
</cc:License>
</rdf:RDF>
</metadata>
- <g
- id="layer1"
- inkscape:label="Layer 1"
- inkscape:groupmode="layer">
- <g
- id="g12825"
- transform="translate(-287.0204,244.9995)">
- <path
- id="path12827"
- d="M 311.50000,-242.99998 C 308.72758,-242.99998 306.39177,-241.42627 305.09375,-239.18748 C 304.14939,-239.66252 303.12856,-239.99998 302.00000,-239.99998 C 298.13600,-239.99998 295.00000,-236.86398 295.00000,-232.99998 C 295.00000,-229.13598 298.13600,-225.99998 302.00000,-225.99998 C 304.41967,-225.99998 306.43009,-227.31930 307.68750,-229.18748 C 308.82170,-228.49786 310.07648,-227.99998 311.50000,-227.99998 C 312.41312,-227.99998 313.25295,-228.23200 314.06250,-228.53123 C 314.57244,-227.66350 315.24162,-226.95151 316.06250,-226.37498 C 316.05526,-226.24460 316.00000,-226.13216 316.00000,-225.99998 C 316.00000,-222.13598 319.13599,-218.99998 323.00000,-218.99998 C 326.86400,-218.99998 330.00000,-222.13598 330.00000,-225.99998 C 330.00000,-228.36967 328.74102,-230.35832 326.93750,-231.62498 C 326.94474,-231.75536 327.00000,-231.86780 327.00000,-231.99998 C 327.00000,-235.86398 323.86401,-238.99998 320.00000,-238.99998 C 319.37730,-238.99998 318.82481,-238.77779 318.25000,-238.62498 C 317.05547,-241.18382 314.50866,-242.99998 311.50000,-242.99998 z "
- style="opacity:1.0000000;fill:#555753;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000" />
- <path
- id="path12829"
- d="M 311.50000,-241.99998 C 308.71952,-241.99998 306.36549,-240.23813 305.43750,-237.78123 C 304.45208,-238.49067 303.30607,-238.99998 302.00000,-238.99998 C 298.68800,-238.99998 296.00000,-236.31198 296.00000,-232.99998 C 296.00000,-229.68798 298.68800,-226.99998 302.00000,-226.99998 C 304.42775,-226.99998 306.49324,-228.45556 307.43750,-230.53123 C 308.55826,-229.61367 309.93964,-228.99998 311.50000,-228.99998 C 312.57454,-228.99998 313.54428,-229.31894 314.43750,-229.78123 C 314.83590,-228.78147 315.53864,-227.99491 316.37500,-227.34373 C 316.19499,-226.74811 316.00000,-226.15408 316.00000,-225.49998 C 316.00000,-221.91198 318.91200,-218.99998 322.50000,-218.99998 C 326.08800,-218.99998 329.00000,-221.91198 329.00000,-225.49998 C 329.00000,-227.86077 327.66567,-229.83017 325.78125,-230.96873 C 325.84384,-231.31596 326.00000,-231.63481 326.00000,-231.99998 C 326.00000,-235.31198 323.31200,-237.99998 320.00000,-237.99998 C 319.14702,-237.99998 318.32870,-237.82130 317.59375,-237.49998 C 316.73998,-240.09386 314.37851,-241.99997 311.50000,-241.99998 z "
- style="opacity:1.0000000;fill:url(#linearGradient13495);fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000" />
- <path
- transform="matrix(0.964447,0.000000,0.000000,0.964447,89.28852,144.5262)"
- d="M 248.54804 -383.66660 A 6.7396116 6.7396116 0 1 1 235.06881,-383.66660 A 6.7396116 6.7396116 0 1 1 248.54804 -383.66660 z"
- sodipodi:ry="6.7396116"
- sodipodi:rx="6.7396116"
- sodipodi:cy="-383.66660"
- sodipodi:cx="241.80843"
- id="path12831"
- style="opacity:1.0000000;fill:#888a85;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- sodipodi:type="arc" />
- <g
- id="g12833">
- <path
- sodipodi:type="arc"
- style="opacity:1.0000000;fill:#888a85;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- id="path12835"
- sodipodi:cx="243.95184"
- sodipodi:cy="-389.30136"
- sodipodi:rx="6.2313786"
- sodipodi:ry="6.2313786"
- d="M 250.18322 -389.30136 A 6.2313786 6.2313786 0 1 1 237.72046,-389.30136 A 6.2313786 6.2313786 0 1 1 250.18322 -389.30136 z"
- transform="matrix(0.882630,0.000000,0.000000,0.882630,96.18078,108.1091)" />
- <path
- sodipodi:type="arc"
- style="opacity:0.49444440;fill:url(#linearGradient13497);fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- id="path12837"
- sodipodi:cx="243.95184"
- sodipodi:cy="-389.30136"
- sodipodi:rx="6.2313786"
- sodipodi:ry="6.2313786"
- d="M 250.18322 -389.30136 A 6.2313786 6.2313786 0 1 1 237.72046,-389.30136 A 6.2313786 6.2313786 0 1 1 250.18322 -389.30136 z"
- transform="matrix(0.882630,0.000000,0.000000,0.882630,96.18078,108.1091)" />
+ <g id="layer1">
+ <g transform="translate(-287.0204,244.9995)">
+ <path d="M 311.50000,-242.99998 C 308.72758,-242.99998 306.39177,-241.42627 305.09375,-239.18748 C 304.14939,-239.66252 303.12856,-239.99998 302.00000,-239.99998 C 298.13600,-239.99998 295.00000,-236.86398 295.00000,-232.99998 C 295.00000,-229.13598 298.13600,-225.99998 302.00000,-225.99998 C 304.41967,-225.99998 306.43009,-227.31930 307.68750,-229.18748 C 308.82170,-228.49786 310.07648,-227.99998 311.50000,-227.99998 C 312.41312,-227.99998 313.25295,-228.23200 314.06250,-228.53123 C 314.57244,-227.66350 315.24162,-226.95151 316.06250,-226.37498 C 316.05526,-226.24460 316.00000,-226.13216 316.00000,-225.99998 C 316.00000,-222.13598 319.13599,-218.99998 323.00000,-218.99998 C 326.86400,-218.99998 330.00000,-222.13598 330.00000,-225.99998 C 330.00000,-228.36967 328.74102,-230.35832 326.93750,-231.62498 C 326.94474,-231.75536 327.00000,-231.86780 327.00000,-231.99998 C 327.00000,-235.86398 323.86401,-238.99998 320.00000,-238.99998 C 319.37730,-238.99998 318.82481,-238.77779 318.25000,-238.62498 C 317.05547,-241.18382 314.50866,-242.99998 311.50000,-242.99998 z " opacity="1.0000000" fill="#555753" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path d="M 311.50000,-241.99998 C 308.71952,-241.99998 306.36549,-240.23813 305.43750,-237.78123 C 304.45208,-238.49067 303.30607,-238.99998 302.00000,-238.99998 C 298.68800,-238.99998 296.00000,-236.31198 296.00000,-232.99998 C 296.00000,-229.68798 298.68800,-226.99998 302.00000,-226.99998 C 304.42775,-226.99998 306.49324,-228.45556 307.43750,-230.53123 C 308.55826,-229.61367 309.93964,-228.99998 311.50000,-228.99998 C 312.57454,-228.99998 313.54428,-229.31894 314.43750,-229.78123 C 314.83590,-228.78147 315.53864,-227.99491 316.37500,-227.34373 C 316.19499,-226.74811 316.00000,-226.15408 316.00000,-225.49998 C 316.00000,-221.91198 318.91200,-218.99998 322.50000,-218.99998 C 326.08800,-218.99998 329.00000,-221.91198 329.00000,-225.49998 C 329.00000,-227.86077 327.66567,-229.83017 325.78125,-230.96873 C 325.84384,-231.31596 326.00000,-231.63481 326.00000,-231.99998 C 326.00000,-235.31198 323.31200,-237.99998 320.00000,-237.99998 C 319.14702,-237.99998 318.32870,-237.82130 317.59375,-237.49998 C 316.73998,-240.09386 314.37851,-241.99997 311.50000,-241.99998 z " opacity="1.0000000" fill="url(#linearGradient13495)" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path transform="matrix(0.964447,0.000000,0.000000,0.964447,89.28852,144.5262)" d="M 248.54804 -383.66660 A 6.7396116 6.7396116 0 1 1 235.06881,-383.66660 A 6.7396116 6.7396116 0 1 1 248.54804 -383.66660 z" opacity="1.0000000" fill="#888a85" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <g>
+ <path d="M 250.18322 -389.30136 A 6.2313786 6.2313786 0 1 1 237.72046,-389.30136 A 6.2313786 6.2313786 0 1 1 250.18322 -389.30136 z" transform="matrix(0.882630,0.000000,0.000000,0.882630,96.18078,108.1091)" opacity="1.0000000" fill="#888a85" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path d="M 250.18322 -389.30136 A 6.2313786 6.2313786 0 1 1 237.72046,-389.30136 A 6.2313786 6.2313786 0 1 1 250.18322 -389.30136 z" transform="matrix(0.882630,0.000000,0.000000,0.882630,96.18078,108.1091)" opacity="0.49444440" fill="url(#linearGradient13497)" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
</g>
- <g
- id="g12839">
- <path
- sodipodi:type="arc"
- style="opacity:1.0000000;fill:#888a85;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- id="path12841"
- sodipodi:cx="251.22179"
- sodipodi:cy="-385.78790"
- sodipodi:rx="6.0325046"
- sodipodi:ry="6.0325046"
- d="M 257.25429 -385.78790 A 6.0325046 6.0325046 0 1 1 245.18928,-385.78790 A 6.0325046 6.0325046 0 1 1 257.25429 -385.78790 z"
- transform="matrix(0.911728,0.000000,0.000000,0.911728,90.45407,120.2336)" />
- <path
- sodipodi:type="arc"
- style="opacity:0.49444440;fill:url(#linearGradient13499);fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- id="path12843"
- sodipodi:cx="251.22179"
- sodipodi:cy="-385.78790"
- sodipodi:rx="6.0325046"
- sodipodi:ry="6.0325046"
- d="M 257.25429 -385.78790 A 6.0325046 6.0325046 0 1 1 245.18928,-385.78790 A 6.0325046 6.0325046 0 1 1 257.25429 -385.78790 z"
- transform="matrix(0.911728,0.000000,0.000000,0.911728,90.45407,120.2336)" />
+ <g>
+ <path d="M 257.25429 -385.78790 A 6.0325046 6.0325046 0 1 1 245.18928,-385.78790 A 6.0325046 6.0325046 0 1 1 257.25429 -385.78790 z" transform="matrix(0.911728,0.000000,0.000000,0.911728,90.45407,120.2336)" opacity="1.0000000" fill="#888a85" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path d="M 257.25429 -385.78790 A 6.0325046 6.0325046 0 1 1 245.18928,-385.78790 A 6.0325046 6.0325046 0 1 1 257.25429 -385.78790 z" transform="matrix(0.911728,0.000000,0.000000,0.911728,90.45407,120.2336)" opacity="0.49444440" fill="url(#linearGradient13499)" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
</g>
- <g
- id="g12845">
- <path
- sodipodi:type="arc"
- style="opacity:1.0000000;fill:#888a85;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- id="path12847"
- sodipodi:cx="233.43362"
- sodipodi:cy="-387.88715"
- sodipodi:rx="4.3752232"
- sodipodi:ry="4.3752232"
- d="M 237.80885 -387.88715 A 4.3752232 4.3752232 0 1 1 229.05840,-387.88715 A 4.3752232 4.3752232 0 1 1 237.80885 -387.88715 z"
- transform="matrix(1.142799,0.000000,0.000000,1.142799,35.23229,210.2770)" />
- <path
- sodipodi:type="arc"
- style="opacity:0.49444440;fill:url(#linearGradient13501);fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- id="path12849"
- sodipodi:cx="233.43362"
- sodipodi:cy="-387.88715"
- sodipodi:rx="4.3752232"
- sodipodi:ry="4.3752232"
- d="M 237.80885 -387.88715 A 4.3752232 4.3752232 0 1 1 229.05840,-387.88715 A 4.3752232 4.3752232 0 1 1 237.80885 -387.88715 z"
- transform="matrix(1.142799,0.000000,0.000000,1.142799,35.23229,210.2770)" />
+ <g>
+ <path d="M 237.80885 -387.88715 A 4.3752232 4.3752232 0 1 1 229.05840,-387.88715 A 4.3752232 4.3752232 0 1 1 237.80885 -387.88715 z" transform="matrix(1.142799,0.000000,0.000000,1.142799,35.23229,210.2770)" opacity="1.0000000" fill="#888a85" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path d="M 237.80885 -387.88715 A 4.3752232 4.3752232 0 1 1 229.05840,-387.88715 A 4.3752232 4.3752232 0 1 1 237.80885 -387.88715 z" transform="matrix(1.142799,0.000000,0.000000,1.142799,35.23229,210.2770)" opacity="0.49444440" fill="url(#linearGradient13501)" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
</g>
- <g
- id="g12851">
- <path
- sodipodi:type="arc"
- style="opacity:1.0000000;fill:#888a85;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- id="path12853"
- sodipodi:cx="241.80843"
- sodipodi:cy="-383.66660"
- sodipodi:rx="6.7396116"
- sodipodi:ry="6.7396116"
- d="M 248.54804 -383.66660 A 6.7396116 6.7396116 0 1 1 235.06881,-383.66660 A 6.7396116 6.7396116 0 1 1 248.54804 -383.66660 z"
- transform="matrix(1.038636,0.000000,0.000000,1.038636,59.84906,169.4899)" />
- <path
- sodipodi:type="arc"
- style="opacity:0.49444440;fill:url(#linearGradient13503);fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- id="path12855"
- sodipodi:cx="241.80843"
- sodipodi:cy="-383.66660"
- sodipodi:rx="6.7396116"
- sodipodi:ry="6.7396116"
- d="M 248.54804 -383.66660 A 6.7396116 6.7396116 0 1 1 235.06881,-383.66660 A 6.7396116 6.7396116 0 1 1 248.54804 -383.66660 z"
- transform="matrix(1.038636,0.000000,0.000000,1.038636,59.84907,169.4899)" />
+ <g>
+ <path d="M 248.54804 -383.66660 A 6.7396116 6.7396116 0 1 1 235.06881,-383.66660 A 6.7396116 6.7396116 0 1 1 248.54804 -383.66660 z" transform="matrix(1.038636,0.000000,0.000000,1.038636,59.84906,169.4899)" opacity="1.0000000" fill="#888a85" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path d="M 248.54804 -383.66660 A 6.7396116 6.7396116 0 1 1 235.06881,-383.66660 A 6.7396116 6.7396116 0 1 1 248.54804 -383.66660 z" transform="matrix(1.038636,0.000000,0.000000,1.038636,59.84907,169.4899)" opacity="0.49444440" fill="url(#linearGradient13503)" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
</g>
</g>
- <g
- id="g11177"
- transform="translate(208.8564,357.8851)">
- <path
- sodipodi:nodetypes="cccccccc"
- id="path11179"
- d="M -173.24571,-327.59122 L -176.37021,-323.31202 L -172.59078,-323.31202 C -172.59078,-323.31202 -175.29396,-318.78622 -180.16632,-310.38562 C -178.07014,-318.33294 -177.21353,-321.35581 -177.21353,-321.35581 L -182.37682,-321.35581 L -178.33401,-327.59122 L -173.24571,-327.59122 z "
- style="fill:#edd400;fill-opacity:1.0000000;fill-rule:evenodd;stroke:url(#linearGradient11189);stroke-width:1.0000006px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000" />
- <path
- sodipodi:nodetypes="cccccccc"
- id="path11181"
- d="M -173.75946,-327.84461 L -177.50268,-322.68152 L -173.54648,-322.85830 C -173.54648,-322.85830 -173.68639,-322.39837 -178.55875,-313.99777 C -176.46257,-321.94509 -176.48985,-321.96275 -176.48985,-321.96275 L -181.38797,-321.87436 L -177.69871,-327.57944 L -173.75946,-327.84461 z "
- style="opacity:1.0000000;fill:url(#linearGradient11191);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000006px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000" />
+ <g transform="translate(208.8564,357.8851)">
+ <path d="M -173.24571,-327.59122 L -176.37021,-323.31202 L -172.59078,-323.31202 C -172.59078,-323.31202 -175.29396,-318.78622 -180.16632,-310.38562 C -178.07014,-318.33294 -177.21353,-321.35581 -177.21353,-321.35581 L -182.37682,-321.35581 L -178.33401,-327.59122 L -173.24571,-327.59122 z " fill="#edd400" fill-opacity="1.0000000" fill-rule="evenodd" stroke="url(#linearGradient11189)" stroke-width="1.0000006px" stroke-linecap="butt" stroke-linejoin="miter" stroke-opacity="1.0000000"/>
+ <path d="M -173.75946,-327.84461 L -177.50268,-322.68152 L -173.54648,-322.85830 C -173.54648,-322.85830 -173.68639,-322.39837 -178.55875,-313.99777 C -176.46257,-321.94509 -176.48985,-321.96275 -176.48985,-321.96275 L -181.38797,-321.87436 L -177.69871,-327.57944 L -173.75946,-327.84461 z " opacity="1.0000000" fill="url(#linearGradient11191)" fill-opacity="1.0000000" fill-rule="evenodd" stroke="none" stroke-width="1.0000006px" stroke-linecap="butt" stroke-linejoin="miter" stroke-opacity="1.0000000"/>
</g>
- <g
- id="g12857"
- transform="translate(-215.0060,252.9994)">
- <path
- sodipodi:nodetypes="ccsscsssscsscc"
- id="path12859"
- d="M 246.49993,-238.49993 C 244.22910,-238.49993 242.39002,-236.94965 241.78118,-234.87493 C 241.08795,-235.23876 240.33667,-235.49993 239.49993,-235.49993 C 236.73993,-235.49993 234.49992,-233.25994 234.49993,-230.49993 C 234.49993,-229.92100 234.66245,-229.39223 234.84368,-228.87493 C 233.47021,-228.10419 232.49993,-226.68593 232.49993,-224.99993 C 232.49993,-222.51593 234.51593,-220.49992 236.99993,-220.49993 C 237.17706,-220.49993 255.82280,-220.49993 255.99993,-220.49993 C 258.48392,-220.49993 260.49993,-222.51593 260.49993,-224.99993 C 260.49993,-226.68593 259.52965,-228.10419 258.15618,-228.87493 C 258.33742,-229.39222 258.49993,-229.92101 258.49993,-230.49993 C 258.49993,-233.25993 256.25993,-235.49992 253.49993,-235.49993 C 252.66319,-235.49993 251.91191,-235.23876 251.21868,-234.87493 C 250.60984,-236.94965 248.77076,-238.49993 246.49993,-238.49993 z "
- style="fill:#888a85;fill-opacity:1.0000000;stroke:#555753;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000" />
- <path
- sodipodi:nodetypes="ccsscsssscsscc"
- id="path12861"
- d="M 246.49993,-237.99993 C 244.31021,-237.99993 242.77633,-236.66416 242.10438,-234.15641 C 241.43592,-234.50003 240.55679,-234.98976 239.74993,-234.98976 C 237.03342,-234.98976 234.99479,-233.05094 234.99480,-230.44422 C 234.99480,-229.89745 235.26201,-229.11078 235.43676,-228.62221 C 234.11233,-227.89426 232.99993,-226.73171 232.99993,-225.24966 C 232.99993,-222.90361 234.54610,-220.99957 237.33921,-220.99957 C 237.51002,-220.99957 255.48985,-220.99957 255.66065,-220.99957 C 258.43166,-220.99957 259.99993,-222.90361 259.99993,-225.24966 C 259.99993,-226.84203 258.88753,-227.91635 257.56310,-228.64430 C 257.73786,-229.13286 258.02717,-229.89746 258.02717,-230.44422 C 258.02717,-233.05093 255.91136,-235.01185 253.24994,-235.01186 C 252.44307,-235.01186 251.60813,-234.52212 250.93967,-234.17850 C 250.29082,-236.60004 248.68966,-237.99993 246.49993,-237.99993 z "
- style="opacity:1.0000000;fill:url(#linearGradient13131);fill-opacity:1.0000000;stroke:none;stroke-width:0.99999958;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000" />
- <path
- transform="matrix(1.056604,0.000000,0.000000,1.056604,-58.19825,228.8634)"
- d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z"
- sodipodi:ry="3.3125000"
- sodipodi:rx="3.3125000"
- sodipodi:cy="-437.59375"
- sodipodi:cx="288.37500"
- id="path12863"
- style="opacity:1.0000000;fill:#888a85;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- sodipodi:type="arc" />
- <path
- transform="matrix(1.056604,0.000000,0.000000,1.056604,-58.19825,228.8634)"
- d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z"
- sodipodi:ry="3.3125000"
- sodipodi:rx="3.3125000"
- sodipodi:cy="-437.59375"
- sodipodi:cx="288.37500"
- id="path12865"
- style="opacity:0.47777775;fill:url(#linearGradient13133);fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- sodipodi:type="arc" />
- <rect
- y="-230.99992"
- x="236.99994"
- height="9.0000000"
- width="20.000000"
- id="rect12867"
- style="opacity:1.0000000;fill:#888a85;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000" />
- <path
- transform="matrix(0.905660,0.000000,0.000000,0.905660,-24.16987,171.3114)"
- d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z"
- sodipodi:ry="3.3125000"
- sodipodi:rx="3.3125000"
- sodipodi:cy="-437.59375"
- sodipodi:cx="288.37500"
- id="path12869"
- style="opacity:1.0000000;fill:#888a85;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- sodipodi:type="arc" />
- <path
- transform="matrix(1.056604,0.000000,0.000000,1.056604,-51.19818,231.8633)"
- d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z"
- sodipodi:ry="3.3125000"
- sodipodi:rx="3.3125000"
- sodipodi:cy="-437.59375"
- sodipodi:cx="288.37500"
- id="path12871"
- style="opacity:1.0000000;fill:#888a85;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- sodipodi:type="arc" />
- <path
- transform="matrix(1.056604,0.000000,0.000000,1.056604,-51.19825,231.8634)"
- d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z"
- sodipodi:ry="3.3125000"
- sodipodi:rx="3.3125000"
- sodipodi:cy="-437.59375"
- sodipodi:cx="288.37500"
- id="path12873"
- style="opacity:0.47777775;fill:url(#linearGradient13135);fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- sodipodi:type="arc" />
- <path
- transform="matrix(1.056604,0.000000,0.000000,1.056604,-65.19825,231.8634)"
- d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z"
- sodipodi:ry="3.3125000"
- sodipodi:rx="3.3125000"
- sodipodi:cy="-437.59375"
- sodipodi:cx="288.37500"
- id="path12875"
- style="opacity:1.0000000;fill:#888a85;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- sodipodi:type="arc" />
- <path
- transform="matrix(1.056604,0.000000,0.000000,1.056604,-65.19825,231.8634)"
- d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z"
- sodipodi:ry="3.3125000"
- sodipodi:rx="3.3125000"
- sodipodi:cy="-437.59375"
- sodipodi:cx="288.37500"
- id="path12877"
- style="opacity:0.47777775;fill:url(#linearGradient13137);fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- sodipodi:type="arc" />
- <path
- id="path12879"
- d="M 245.46868,-233.96868 C 241.88930,-233.96868 238.99993,-231.04805 238.99993,-227.46868 C 238.99993,-225.09800 240.34936,-223.13089 242.24993,-221.99993 L 248.71868,-221.99993 C 250.61925,-223.13089 251.96868,-225.12924 251.96868,-227.49993 C 251.96868,-231.07931 249.04805,-233.96868 245.46868,-233.96868 z "
- style="opacity:1.0000000;fill:#888a85;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000" />
- <path
- id="path12881"
- d="M 245.49993,-233.99993 C 241.91193,-233.99993 238.99993,-231.08792 238.99993,-227.49993 C 238.99993,-225.12353 240.34478,-223.13361 242.24993,-221.99993 L 248.74993,-221.99993 C 250.65508,-223.13361 251.99993,-225.12353 251.99993,-227.49993 C 251.99993,-231.08793 249.08793,-233.99992 245.49993,-233.99993 z "
- style="opacity:0.47777775;fill:url(#linearGradient13139);fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000" />
- <path
- transform="matrix(0.905660,0.000000,0.000000,0.905660,-24.16977,171.3113)"
- d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z"
- sodipodi:ry="3.3125000"
- sodipodi:rx="3.3125000"
- sodipodi:cy="-437.59375"
- sodipodi:cx="288.37500"
- id="path12883"
- style="opacity:0.47777775;fill:url(#linearGradient13141);fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- sodipodi:type="arc" />
- <path
- sodipodi:nodetypes="ccss"
- id="path12885"
- d="M 258.95633,-230.33389 C 258.95480,-227.64933 255.68707,-226.61994 255.68707,-226.61994 C 255.68707,-226.61994 258.03581,-228.24589 258.02392,-230.32495 C 258.02392,-230.32495 258.95633,-230.33389 258.95633,-230.33389 z "
- style="fill:#555753;fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000" />
- <path
- transform="matrix(1.207547,0.000000,0.000000,1.207547,-98.22652,302.4154)"
- d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z"
- sodipodi:ry="3.3125000"
- sodipodi:rx="3.3125000"
- sodipodi:cy="-437.59375"
- sodipodi:cx="288.37500"
- id="path12887"
- style="opacity:1.0000000;fill:#888a85;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- sodipodi:type="arc" />
- <path
- transform="matrix(1.207547,0.000000,0.000000,1.207547,-98.22652,302.4154)"
- d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z"
- sodipodi:ry="3.3125000"
- sodipodi:rx="3.3125000"
- sodipodi:cy="-437.59375"
- sodipodi:cx="288.37500"
- id="path12889"
- style="opacity:0.47777775;fill:url(#linearGradient13143);fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- sodipodi:type="arc" />
+ <g transform="translate(-215.0060,252.9994)">
+ <path d="M 246.49993,-238.49993 C 244.22910,-238.49993 242.39002,-236.94965 241.78118,-234.87493 C 241.08795,-235.23876 240.33667,-235.49993 239.49993,-235.49993 C 236.73993,-235.49993 234.49992,-233.25994 234.49993,-230.49993 C 234.49993,-229.92100 234.66245,-229.39223 234.84368,-228.87493 C 233.47021,-228.10419 232.49993,-226.68593 232.49993,-224.99993 C 232.49993,-222.51593 234.51593,-220.49992 236.99993,-220.49993 C 237.17706,-220.49993 255.82280,-220.49993 255.99993,-220.49993 C 258.48392,-220.49993 260.49993,-222.51593 260.49993,-224.99993 C 260.49993,-226.68593 259.52965,-228.10419 258.15618,-228.87493 C 258.33742,-229.39222 258.49993,-229.92101 258.49993,-230.49993 C 258.49993,-233.25993 256.25993,-235.49992 253.49993,-235.49993 C 252.66319,-235.49993 251.91191,-235.23876 251.21868,-234.87493 C 250.60984,-236.94965 248.77076,-238.49993 246.49993,-238.49993 z " fill="#888a85" fill-opacity="1.0000000" stroke="#555753" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path d="M 246.49993,-237.99993 C 244.31021,-237.99993 242.77633,-236.66416 242.10438,-234.15641 C 241.43592,-234.50003 240.55679,-234.98976 239.74993,-234.98976 C 237.03342,-234.98976 234.99479,-233.05094 234.99480,-230.44422 C 234.99480,-229.89745 235.26201,-229.11078 235.43676,-228.62221 C 234.11233,-227.89426 232.99993,-226.73171 232.99993,-225.24966 C 232.99993,-222.90361 234.54610,-220.99957 237.33921,-220.99957 C 237.51002,-220.99957 255.48985,-220.99957 255.66065,-220.99957 C 258.43166,-220.99957 259.99993,-222.90361 259.99993,-225.24966 C 259.99993,-226.84203 258.88753,-227.91635 257.56310,-228.64430 C 257.73786,-229.13286 258.02717,-229.89746 258.02717,-230.44422 C 258.02717,-233.05093 255.91136,-235.01185 253.24994,-235.01186 C 252.44307,-235.01186 251.60813,-234.52212 250.93967,-234.17850 C 250.29082,-236.60004 248.68966,-237.99993 246.49993,-237.99993 z " opacity="1.0000000" fill="url(#linearGradient13131)" fill-opacity="1.0000000" stroke="none" stroke-width="0.99999958" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path transform="matrix(1.056604,0.000000,0.000000,1.056604,-58.19825,228.8634)" d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z" opacity="1.0000000" fill="#888a85" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path transform="matrix(1.056604,0.000000,0.000000,1.056604,-58.19825,228.8634)" d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z" opacity="0.47777775" fill="url(#linearGradient13133)" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <rect y="-230.99992" x="236.99994" height="9.0000000" width="20.000000" opacity="1.0000000" fill="#888a85" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path transform="matrix(0.905660,0.000000,0.000000,0.905660,-24.16987,171.3114)" d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z" opacity="1.0000000" fill="#888a85" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path transform="matrix(1.056604,0.000000,0.000000,1.056604,-51.19818,231.8633)" d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z" opacity="1.0000000" fill="#888a85" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path transform="matrix(1.056604,0.000000,0.000000,1.056604,-51.19825,231.8634)" d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z" opacity="0.47777775" fill="url(#linearGradient13135)" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path transform="matrix(1.056604,0.000000,0.000000,1.056604,-65.19825,231.8634)" d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z" opacity="1.0000000" fill="#888a85" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path transform="matrix(1.056604,0.000000,0.000000,1.056604,-65.19825,231.8634)" d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z" opacity="0.47777775" fill="url(#linearGradient13137)" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path d="M 245.46868,-233.96868 C 241.88930,-233.96868 238.99993,-231.04805 238.99993,-227.46868 C 238.99993,-225.09800 240.34936,-223.13089 242.24993,-221.99993 L 248.71868,-221.99993 C 250.61925,-223.13089 251.96868,-225.12924 251.96868,-227.49993 C 251.96868,-231.07931 249.04805,-233.96868 245.46868,-233.96868 z " opacity="1.0000000" fill="#888a85" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path d="M 245.49993,-233.99993 C 241.91193,-233.99993 238.99993,-231.08792 238.99993,-227.49993 C 238.99993,-225.12353 240.34478,-223.13361 242.24993,-221.99993 L 248.74993,-221.99993 C 250.65508,-223.13361 251.99993,-225.12353 251.99993,-227.49993 C 251.99993,-231.08793 249.08793,-233.99992 245.49993,-233.99993 z " opacity="0.47777775" fill="url(#linearGradient13139)" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path transform="matrix(0.905660,0.000000,0.000000,0.905660,-24.16977,171.3113)" d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z" opacity="0.47777775" fill="url(#linearGradient13141)" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path d="M 258.95633,-230.33389 C 258.95480,-227.64933 255.68707,-226.61994 255.68707,-226.61994 C 255.68707,-226.61994 258.03581,-228.24589 258.02392,-230.32495 C 258.02392,-230.32495 258.95633,-230.33389 258.95633,-230.33389 z " fill="#555753" fill-opacity="1.0000000" fill-rule="evenodd" stroke="none" stroke-width="1.0000000px" stroke-linecap="butt" stroke-linejoin="miter" stroke-opacity="1.0000000"/>
+ <path transform="matrix(1.207547,0.000000,0.000000,1.207547,-98.22652,302.4154)" d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z" opacity="1.0000000" fill="#888a85" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path transform="matrix(1.207547,0.000000,0.000000,1.207547,-98.22652,302.4154)" d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z" opacity="0.47777775" fill="url(#linearGradient13143)" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
</g>
- <g
- id="g11183"
- transform="translate(192.8564,354.8851)">
- <path
- sodipodi:nodetypes="cccccccc"
- id="path11185"
- d="M -173.24571,-327.59122 L -176.37021,-323.31202 L -172.59078,-323.31202 C -172.59078,-323.31202 -175.29396,-318.78622 -180.16632,-310.38562 C -178.07014,-318.33294 -177.21353,-321.35581 -177.21353,-321.35581 L -182.37682,-321.35581 L -178.33401,-327.59122 L -173.24571,-327.59122 z "
- style="fill:#edd400;fill-opacity:1.0000000;fill-rule:evenodd;stroke:url(#linearGradient11193);stroke-width:1.0000006px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000" />
- <path
- sodipodi:nodetypes="cccccccc"
- id="path11187"
- d="M -173.75946,-327.84461 L -177.50268,-322.68152 L -173.54648,-322.85830 C -173.54648,-322.85830 -173.68639,-322.39837 -178.55875,-313.99777 C -176.46257,-321.94509 -176.48985,-321.96275 -176.48985,-321.96275 L -181.38797,-321.87436 L -177.69871,-327.57944 L -173.75946,-327.84461 z "
- style="opacity:1.0000000;fill:url(#linearGradient11195);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000006px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000" />
+ <g transform="translate(192.8564,354.8851)">
+ <path d="M -173.24571,-327.59122 L -176.37021,-323.31202 L -172.59078,-323.31202 C -172.59078,-323.31202 -175.29396,-318.78622 -180.16632,-310.38562 C -178.07014,-318.33294 -177.21353,-321.35581 -177.21353,-321.35581 L -182.37682,-321.35581 L -178.33401,-327.59122 L -173.24571,-327.59122 z " fill="#edd400" fill-opacity="1.0000000" fill-rule="evenodd" stroke="url(#linearGradient11193)" stroke-width="1.0000006px" stroke-linecap="butt" stroke-linejoin="miter" stroke-opacity="1.0000000"/>
+ <path d="M -173.75946,-327.84461 L -177.50268,-322.68152 L -173.54648,-322.85830 C -173.54648,-322.85830 -173.68639,-322.39837 -178.55875,-313.99777 C -176.46257,-321.94509 -176.48985,-321.96275 -176.48985,-321.96275 L -181.38797,-321.87436 L -177.69871,-327.57944 L -173.75946,-327.84461 z " opacity="1.0000000" fill="url(#linearGradient11195)" fill-opacity="1.0000000" fill-rule="evenodd" stroke="none" stroke-width="1.0000006px" stroke-linecap="butt" stroke-linejoin="miter" stroke-opacity="1.0000000"/>
</g>
- <path
- style="opacity:1.0000000;fill:url(#radialGradient13211);fill-opacity:1.0000000;stroke:none;stroke-width:1.0000004;stroke-linejoin:round;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-opacity:1.0000000"
- d="M 31.626355,14.999520 C 29.626255,14.999520 27.940775,16.079020 27.095785,17.614460 C 26.500875,17.392550 25.851145,17.261090 25.169835,17.261090 C 22.339625,17.261090 20.052305,19.379260 20.052305,21.978590 C 20.052305,22.432340 20.196835,22.835420 20.327445,23.250720 C 18.945125,24.115990 17.979615,25.504290 17.979615,27.155450 C 17.979615,29.808280 18.631235,32.148800 23.207195,31.961300 C 23.252315,31.959450 40.658675,32.058280 40.907605,31.943270 C 43.992815,32.169220 44.979615,29.497540 44.979615,27.243810 C 44.979615,25.543300 44.142675,24.193960 42.670345,23.366220 C 42.718305,23.107660 42.631785,22.815030 42.631785,22.543970 C 42.631785,19.944650 40.326135,17.826480 37.495915,17.826480 C 37.102425,17.826480 36.763515,17.961300 36.395375,18.038500 C 35.656915,16.270380 33.810365,14.999520 31.626355,14.999520 z "
- id="path13209"
- sodipodi:nodetypes="ccsscsscscsscc" />
- <g
- id="g12891"
- transform="translate(-230.0203,248.9834)">
- <path
- sodipodi:nodetypes="ccsscsssscsscc"
- id="path12893"
- d="M 246.49993,-238.49993 C 244.22910,-238.49993 242.39002,-236.94965 241.78118,-234.87493 C 241.08795,-235.23876 240.33667,-235.49993 239.49993,-235.49993 C 236.73993,-235.49993 234.49992,-233.25994 234.49993,-230.49993 C 234.49993,-229.92100 234.66245,-229.39223 234.84368,-228.87493 C 233.47021,-228.10419 232.49993,-226.68593 232.49993,-224.99993 C 232.49993,-222.51593 234.51593,-220.49992 236.99993,-220.49993 C 237.17706,-220.49993 255.82280,-220.49993 255.99993,-220.49993 C 258.48392,-220.49993 260.49993,-222.51593 260.49993,-224.99993 C 260.49993,-226.68593 259.52965,-228.10419 258.15618,-228.87493 C 258.33742,-229.39222 258.49993,-229.92101 258.49993,-230.49993 C 258.49993,-233.25993 256.25993,-235.49992 253.49993,-235.49993 C 252.66319,-235.49993 251.91191,-235.23876 251.21868,-234.87493 C 250.60984,-236.94965 248.77076,-238.49993 246.49993,-238.49993 z "
- style="fill:#888a85;fill-opacity:1.0000000;stroke:#555753;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000" />
- <path
- sodipodi:nodetypes="ccsscsssscsscc"
- id="path12895"
- d="M 246.49993,-237.99993 C 244.31021,-237.99993 242.77633,-236.66416 242.10438,-234.15641 C 241.43592,-234.50003 240.55679,-234.98976 239.74993,-234.98976 C 237.03342,-234.98976 234.99479,-233.05094 234.99480,-230.44422 C 234.99480,-229.89745 235.26201,-229.11078 235.43676,-228.62221 C 234.11233,-227.89426 232.99993,-226.73171 232.99993,-225.24966 C 232.99993,-222.90361 234.54610,-220.99957 237.33921,-220.99957 C 237.51002,-220.99957 255.48985,-220.99957 255.66065,-220.99957 C 258.43166,-220.99957 259.99993,-222.90361 259.99993,-225.24966 C 259.99993,-226.84203 258.88753,-227.91635 257.56310,-228.64430 C 257.73786,-229.13286 258.02717,-229.89746 258.02717,-230.44422 C 258.02717,-233.05093 255.91136,-235.01185 253.24994,-235.01186 C 252.44307,-235.01186 251.60813,-234.52212 250.93967,-234.17850 C 250.29082,-236.60004 248.68966,-237.99993 246.49993,-237.99993 z "
- style="opacity:1.0000000;fill:url(#linearGradient13145);fill-opacity:1.0000000;stroke:none;stroke-width:0.99999958;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000" />
- <path
- transform="matrix(1.056604,0.000000,0.000000,1.056604,-58.19825,228.8634)"
- d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z"
- sodipodi:ry="3.3125000"
- sodipodi:rx="3.3125000"
- sodipodi:cy="-437.59375"
- sodipodi:cx="288.37500"
- id="path12897"
- style="opacity:1.0000000;fill:#888a85;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- sodipodi:type="arc" />
- <path
- transform="matrix(1.056604,0.000000,0.000000,1.056604,-58.19825,228.8634)"
- d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z"
- sodipodi:ry="3.3125000"
- sodipodi:rx="3.3125000"
- sodipodi:cy="-437.59375"
- sodipodi:cx="288.37500"
- id="path12899"
- style="opacity:0.47777775;fill:url(#linearGradient13147);fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- sodipodi:type="arc" />
- <rect
- y="-230.99992"
- x="236.99994"
- height="9.0000000"
- width="20.000000"
- id="rect12901"
- style="opacity:1.0000000;fill:#888a85;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000" />
- <path
- transform="matrix(0.905660,0.000000,0.000000,0.905660,-24.16987,171.3114)"
- d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z"
- sodipodi:ry="3.3125000"
- sodipodi:rx="3.3125000"
- sodipodi:cy="-437.59375"
- sodipodi:cx="288.37500"
- id="path12903"
- style="opacity:1.0000000;fill:#888a85;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- sodipodi:type="arc" />
- <path
- transform="matrix(1.056604,0.000000,0.000000,1.056604,-51.19818,231.8633)"
- d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z"
- sodipodi:ry="3.3125000"
- sodipodi:rx="3.3125000"
- sodipodi:cy="-437.59375"
- sodipodi:cx="288.37500"
- id="path12905"
- style="opacity:1.0000000;fill:#888a85;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- sodipodi:type="arc" />
- <path
- transform="matrix(1.056604,0.000000,0.000000,1.056604,-51.19825,231.8634)"
- d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z"
- sodipodi:ry="3.3125000"
- sodipodi:rx="3.3125000"
- sodipodi:cy="-437.59375"
- sodipodi:cx="288.37500"
- id="path12907"
- style="opacity:0.47777775;fill:url(#linearGradient13149);fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- sodipodi:type="arc" />
- <path
- transform="matrix(1.056604,0.000000,0.000000,1.056604,-65.19825,231.8634)"
- d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z"
- sodipodi:ry="3.3125000"
- sodipodi:rx="3.3125000"
- sodipodi:cy="-437.59375"
- sodipodi:cx="288.37500"
- id="path12909"
- style="opacity:1.0000000;fill:#888a85;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- sodipodi:type="arc" />
- <path
- transform="matrix(1.056604,0.000000,0.000000,1.056604,-65.19825,231.8634)"
- d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z"
- sodipodi:ry="3.3125000"
- sodipodi:rx="3.3125000"
- sodipodi:cy="-437.59375"
- sodipodi:cx="288.37500"
- id="path12911"
- style="opacity:0.47777775;fill:url(#linearGradient13151);fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- sodipodi:type="arc" />
- <path
- id="path12913"
- d="M 245.46868,-233.96868 C 241.88930,-233.96868 238.99993,-231.04805 238.99993,-227.46868 C 238.99993,-225.09800 240.34936,-223.13089 242.24993,-221.99993 L 248.71868,-221.99993 C 250.61925,-223.13089 251.96868,-225.12924 251.96868,-227.49993 C 251.96868,-231.07931 249.04805,-233.96868 245.46868,-233.96868 z "
- style="opacity:1.0000000;fill:#888a85;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000" />
- <path
- id="path12915"
- d="M 245.49993,-233.99993 C 241.91193,-233.99993 238.99993,-231.08792 238.99993,-227.49993 C 238.99993,-225.12353 240.34478,-223.13361 242.24993,-221.99993 L 248.74993,-221.99993 C 250.65508,-223.13361 251.99993,-225.12353 251.99993,-227.49993 C 251.99993,-231.08793 249.08793,-233.99992 245.49993,-233.99993 z "
- style="opacity:0.47777775;fill:url(#linearGradient13153);fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000" />
- <path
- transform="matrix(0.905660,0.000000,0.000000,0.905660,-24.16977,171.3113)"
- d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z"
- sodipodi:ry="3.3125000"
- sodipodi:rx="3.3125000"
- sodipodi:cy="-437.59375"
- sodipodi:cx="288.37500"
- id="path12917"
- style="opacity:0.47777775;fill:url(#linearGradient13155);fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- sodipodi:type="arc" />
- <path
- sodipodi:nodetypes="ccss"
- id="path12919"
- d="M 258.95633,-230.33389 C 258.95480,-227.64933 255.68707,-226.61994 255.68707,-226.61994 C 255.68707,-226.61994 258.03581,-228.24589 258.02392,-230.32495 C 258.02392,-230.32495 258.95633,-230.33389 258.95633,-230.33389 z "
- style="fill:#555753;fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000" />
- <path
- transform="matrix(1.207547,0.000000,0.000000,1.207547,-98.22652,302.4154)"
- d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z"
- sodipodi:ry="3.3125000"
- sodipodi:rx="3.3125000"
- sodipodi:cy="-437.59375"
- sodipodi:cx="288.37500"
- id="path12921"
- style="opacity:1.0000000;fill:#888a85;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- sodipodi:type="arc" />
- <path
- transform="matrix(1.207547,0.000000,0.000000,1.207547,-98.22652,302.4154)"
- d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z"
- sodipodi:ry="3.3125000"
- sodipodi:rx="3.3125000"
- sodipodi:cy="-437.59375"
- sodipodi:cx="288.37500"
- id="path12923"
- style="opacity:0.47777775;fill:url(#linearGradient13157);fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- sodipodi:type="arc" />
+ <path d="M 31.626355,14.999520 C 29.626255,14.999520 27.940775,16.079020 27.095785,17.614460 C 26.500875,17.392550 25.851145,17.261090 25.169835,17.261090 C 22.339625,17.261090 20.052305,19.379260 20.052305,21.978590 C 20.052305,22.432340 20.196835,22.835420 20.327445,23.250720 C 18.945125,24.115990 17.979615,25.504290 17.979615,27.155450 C 17.979615,29.808280 18.631235,32.148800 23.207195,31.961300 C 23.252315,31.959450 40.658675,32.058280 40.907605,31.943270 C 43.992815,32.169220 44.979615,29.497540 44.979615,27.243810 C 44.979615,25.543300 44.142675,24.193960 42.670345,23.366220 C 42.718305,23.107660 42.631785,22.815030 42.631785,22.543970 C 42.631785,19.944650 40.326135,17.826480 37.495915,17.826480 C 37.102425,17.826480 36.763515,17.961300 36.395375,18.038500 C 35.656915,16.270380 33.810365,14.999520 31.626355,14.999520 z " opacity="1.0000000" fill="url(#radialGradient13211)" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000004" stroke-linejoin="round" stroke-miterlimit="4.0000000" stroke-dasharray="none" stroke-opacity="1.0000000"/>
+ <g transform="translate(-230.0203,248.9834)">
+ <path d="M 246.49993,-238.49993 C 244.22910,-238.49993 242.39002,-236.94965 241.78118,-234.87493 C 241.08795,-235.23876 240.33667,-235.49993 239.49993,-235.49993 C 236.73993,-235.49993 234.49992,-233.25994 234.49993,-230.49993 C 234.49993,-229.92100 234.66245,-229.39223 234.84368,-228.87493 C 233.47021,-228.10419 232.49993,-226.68593 232.49993,-224.99993 C 232.49993,-222.51593 234.51593,-220.49992 236.99993,-220.49993 C 237.17706,-220.49993 255.82280,-220.49993 255.99993,-220.49993 C 258.48392,-220.49993 260.49993,-222.51593 260.49993,-224.99993 C 260.49993,-226.68593 259.52965,-228.10419 258.15618,-228.87493 C 258.33742,-229.39222 258.49993,-229.92101 258.49993,-230.49993 C 258.49993,-233.25993 256.25993,-235.49992 253.49993,-235.49993 C 252.66319,-235.49993 251.91191,-235.23876 251.21868,-234.87493 C 250.60984,-236.94965 248.77076,-238.49993 246.49993,-238.49993 z " fill="#888a85" fill-opacity="1.0000000" stroke="#555753" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path d="M 246.49993,-237.99993 C 244.31021,-237.99993 242.77633,-236.66416 242.10438,-234.15641 C 241.43592,-234.50003 240.55679,-234.98976 239.74993,-234.98976 C 237.03342,-234.98976 234.99479,-233.05094 234.99480,-230.44422 C 234.99480,-229.89745 235.26201,-229.11078 235.43676,-228.62221 C 234.11233,-227.89426 232.99993,-226.73171 232.99993,-225.24966 C 232.99993,-222.90361 234.54610,-220.99957 237.33921,-220.99957 C 237.51002,-220.99957 255.48985,-220.99957 255.66065,-220.99957 C 258.43166,-220.99957 259.99993,-222.90361 259.99993,-225.24966 C 259.99993,-226.84203 258.88753,-227.91635 257.56310,-228.64430 C 257.73786,-229.13286 258.02717,-229.89746 258.02717,-230.44422 C 258.02717,-233.05093 255.91136,-235.01185 253.24994,-235.01186 C 252.44307,-235.01186 251.60813,-234.52212 250.93967,-234.17850 C 250.29082,-236.60004 248.68966,-237.99993 246.49993,-237.99993 z " opacity="1.0000000" fill="url(#linearGradient13145)" fill-opacity="1.0000000" stroke="none" stroke-width="0.99999958" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path transform="matrix(1.056604,0.000000,0.000000,1.056604,-58.19825,228.8634)" d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z" opacity="1.0000000" fill="#888a85" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path transform="matrix(1.056604,0.000000,0.000000,1.056604,-58.19825,228.8634)" d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z" opacity="0.47777775" fill="url(#linearGradient13147)" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <rect y="-230.99992" x="236.99994" height="9.0000000" width="20.000000" opacity="1.0000000" fill="#888a85" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path transform="matrix(0.905660,0.000000,0.000000,0.905660,-24.16987,171.3114)" d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z" opacity="1.0000000" fill="#888a85" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path transform="matrix(1.056604,0.000000,0.000000,1.056604,-51.19818,231.8633)" d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z" opacity="1.0000000" fill="#888a85" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path transform="matrix(1.056604,0.000000,0.000000,1.056604,-51.19825,231.8634)" d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z" opacity="0.47777775" fill="url(#linearGradient13149)" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path transform="matrix(1.056604,0.000000,0.000000,1.056604,-65.19825,231.8634)" d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z" opacity="1.0000000" fill="#888a85" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path transform="matrix(1.056604,0.000000,0.000000,1.056604,-65.19825,231.8634)" d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z" opacity="0.47777775" fill="url(#linearGradient13151)" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path d="M 245.46868,-233.96868 C 241.88930,-233.96868 238.99993,-231.04805 238.99993,-227.46868 C 238.99993,-225.09800 240.34936,-223.13089 242.24993,-221.99993 L 248.71868,-221.99993 C 250.61925,-223.13089 251.96868,-225.12924 251.96868,-227.49993 C 251.96868,-231.07931 249.04805,-233.96868 245.46868,-233.96868 z " opacity="1.0000000" fill="#888a85" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path d="M 245.49993,-233.99993 C 241.91193,-233.99993 238.99993,-231.08792 238.99993,-227.49993 C 238.99993,-225.12353 240.34478,-223.13361 242.24993,-221.99993 L 248.74993,-221.99993 C 250.65508,-223.13361 251.99993,-225.12353 251.99993,-227.49993 C 251.99993,-231.08793 249.08793,-233.99992 245.49993,-233.99993 z " opacity="0.47777775" fill="url(#linearGradient13153)" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path transform="matrix(0.905660,0.000000,0.000000,0.905660,-24.16977,171.3113)" d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z" opacity="0.47777775" fill="url(#linearGradient13155)" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path d="M 258.95633,-230.33389 C 258.95480,-227.64933 255.68707,-226.61994 255.68707,-226.61994 C 255.68707,-226.61994 258.03581,-228.24589 258.02392,-230.32495 C 258.02392,-230.32495 258.95633,-230.33389 258.95633,-230.33389 z " fill="#555753" fill-opacity="1.0000000" fill-rule="evenodd" stroke="none" stroke-width="1.0000000px" stroke-linecap="butt" stroke-linejoin="miter" stroke-opacity="1.0000000"/>
+ <path transform="matrix(1.207547,0.000000,0.000000,1.207547,-98.22652,302.4154)" d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z" opacity="1.0000000" fill="#888a85" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path transform="matrix(1.207547,0.000000,0.000000,1.207547,-98.22652,302.4154)" d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z" opacity="0.47777775" fill="url(#linearGradient13157)" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
</g>
- <path
- style="opacity:1.0000000;fill:url(#radialGradient13068);fill-opacity:1.0000000;stroke:none;stroke-width:1.0000004;stroke-linejoin:round;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-opacity:1.0000000"
- d="M 16.188855,11.000000 C 14.188755,11.000000 12.503275,12.079500 11.658285,13.614940 C 11.063375,13.393030 10.413645,13.261570 9.7323346,13.261570 C 6.9021246,13.261570 4.6148046,15.379740 4.6148046,17.979070 C 4.6148046,18.432820 4.7593346,18.835900 4.8899446,19.251200 C 3.5076246,20.116470 2.5421146,21.504770 2.5421146,23.155930 C 2.5421146,25.808760 3.1937346,28.149280 7.7696946,27.961780 C 7.8148146,27.959930 25.221175,28.058760 25.470105,27.943750 C 28.555315,28.169700 29.542115,25.498020 29.542115,23.244290 C 29.542115,21.543780 28.705175,20.194440 27.232845,19.366700 C 27.280805,19.108140 27.194285,18.815510 27.194285,18.544450 C 27.194285,15.945130 24.888635,13.826960 22.058415,13.826960 C 21.664925,13.826960 21.326015,13.961780 20.957875,14.038980 C 20.219415,12.270860 18.372865,11.000000 16.188855,11.000000 z "
- id="path11418"
- sodipodi:nodetypes="ccsscsscscsscc" />
+ <path d="M 16.188855,11.000000 C 14.188755,11.000000 12.503275,12.079500 11.658285,13.614940 C 11.063375,13.393030 10.413645,13.261570 9.7323346,13.261570 C 6.9021246,13.261570 4.6148046,15.379740 4.6148046,17.979070 C 4.6148046,18.432820 4.7593346,18.835900 4.8899446,19.251200 C 3.5076246,20.116470 2.5421146,21.504770 2.5421146,23.155930 C 2.5421146,25.808760 3.1937346,28.149280 7.7696946,27.961780 C 7.8148146,27.959930 25.221175,28.058760 25.470105,27.943750 C 28.555315,28.169700 29.542115,25.498020 29.542115,23.244290 C 29.542115,21.543780 28.705175,20.194440 27.232845,19.366700 C 27.280805,19.108140 27.194285,18.815510 27.194285,18.544450 C 27.194285,15.945130 24.888635,13.826960 22.058415,13.826960 C 21.664925,13.826960 21.326015,13.961780 20.957875,14.038980 C 20.219415,12.270860 18.372865,11.000000 16.188855,11.000000 z " opacity="1.0000000" fill="url(#radialGradient13068)" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000004" stroke-linejoin="round" stroke-miterlimit="4.0000000" stroke-dasharray="none" stroke-opacity="1.0000000"/>
</g>
</svg>
diff --git a/demos/embedded/weatherinfo/icons/weather-sunny-very-few-clouds.svg b/demos/embedded/weatherinfo/icons/weather-sunny-very-few-clouds.svg
index 93b0009..a27d30a 100644
--- a/demos/embedded/weatherinfo/icons/weather-sunny-very-few-clouds.svg
+++ b/demos/embedded/weatherinfo/icons/weather-sunny-very-few-clouds.svg
@@ -1,337 +1,63 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!-- Created with Inkscape (http://www.inkscape.org/) -->
-<svg
- xmlns:dc="http://purl.org/dc/elements/1.1/"
- xmlns:cc="http://creativecommons.org/ns#"
- xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns:svg="http://www.w3.org/2000/svg"
- xmlns="http://www.w3.org/2000/svg"
- xmlns:xlink="http://www.w3.org/1999/xlink"
- xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
- xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
- width="48px"
- height="48px"
- id="svg1306"
- sodipodi:version="0.32"
- inkscape:version="0.46"
- sodipodi:docbase="/home/garrett/Source/tango-icon-theme/scalable/status"
- sodipodi:docname="weather-sunny-very-few-clouds.svg"
- inkscape:output_extension="org.inkscape.output.svg.inkscape">
- <defs
- id="defs1308">
- <inkscape:perspective
- sodipodi:type="inkscape:persp3d"
- inkscape:vp_x="0 : 24 : 1"
- inkscape:vp_y="0 : 1000 : 0"
- inkscape:vp_z="48 : 24 : 1"
- inkscape:persp3d-origin="24 : 16 : 1"
- id="perspective27908" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6538"
- id="linearGradient6724"
- gradientUnits="userSpaceOnUse"
- x1="284.80219"
- y1="-441.23294"
- x2="288.89954"
- y2="-436.83109" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6549"
- id="linearGradient6722"
- gradientUnits="userSpaceOnUse"
- x1="286.66589"
- y1="-439.48358"
- x2="289.76562"
- y2="-436.70703" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6527"
- id="linearGradient6720"
- gradientUnits="userSpaceOnUse"
- x1="275.94193"
- y1="-437.10501"
- x2="279.97546"
- y2="-431.91833" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6538"
- id="linearGradient6718"
- gradientUnits="userSpaceOnUse"
- x1="285.94086"
- y1="-439.93900"
- x2="289.39124"
- y2="-436.44290" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6513"
- id="linearGradient6716"
- gradientUnits="userSpaceOnUse"
- x1="286.51172"
- y1="-441.29074"
- x2="289.85379"
- y2="-436.14453" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6497"
- id="linearGradient6714"
- gradientUnits="userSpaceOnUse"
- x1="287.51730"
- y1="-439.75281"
- x2="289.67633"
- y2="-436.32199" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6470"
- id="linearGradient6712"
- gradientUnits="userSpaceOnUse"
- x1="271.02170"
- y1="-441.05182"
- x2="285.02859"
- y2="-431.96991" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6538"
- id="linearGradient6839"
- gradientUnits="userSpaceOnUse"
- x1="284.80219"
- y1="-441.23294"
- x2="288.89954"
- y2="-436.83109" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient6549">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop6551" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop6553" />
+<svg xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="48px" height="48px" id="svg1306">
+ <defs id="defs1308">
+ <linearGradient xlink:href="#linearGradient6538" id="linearGradient6839" gradientUnits="userSpaceOnUse" x1="284.80219" y1="-441.23294" x2="288.89954" y2="-436.83109"/>
+ <linearGradient id="linearGradient6549">
+ <stop offset="0" id="stop6551" stop-color="#ffffff" stop-opacity="1"/>
+ <stop offset="1" id="stop6553" stop-color="#ffffff" stop-opacity="0"/>
</linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6549"
- id="linearGradient6837"
- gradientUnits="userSpaceOnUse"
- x1="286.66589"
- y1="-439.48358"
- x2="289.76562"
- y2="-436.70703" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient6527">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop6530" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop6532" />
+ <linearGradient xlink:href="#linearGradient6549" id="linearGradient6837" gradientUnits="userSpaceOnUse" x1="286.66589" y1="-439.48358" x2="289.76562" y2="-436.70703"/>
+ <linearGradient id="linearGradient6527">
+ <stop offset="0" id="stop6530" stop-color="#ffffff" stop-opacity="1"/>
+ <stop offset="1" id="stop6532" stop-color="#ffffff" stop-opacity="0"/>
</linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6527"
- id="linearGradient6835"
- gradientUnits="userSpaceOnUse"
- x1="275.94193"
- y1="-437.10501"
- x2="279.97546"
- y2="-431.91833" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient6538">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop6540" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop6542" />
+ <linearGradient xlink:href="#linearGradient6527" id="linearGradient6835" gradientUnits="userSpaceOnUse" x1="275.94193" y1="-437.10501" x2="279.97546" y2="-431.91833"/>
+ <linearGradient id="linearGradient6538">
+ <stop offset="0" id="stop6540" stop-color="#ffffff" stop-opacity="1"/>
+ <stop offset="1" id="stop6542" stop-color="#ffffff" stop-opacity="0"/>
</linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6538"
- id="linearGradient6833"
- gradientUnits="userSpaceOnUse"
- x1="285.94086"
- y1="-439.93900"
- x2="289.39124"
- y2="-436.44290" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient6513">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop6515" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop6517" />
+ <linearGradient xlink:href="#linearGradient6538" id="linearGradient6833" gradientUnits="userSpaceOnUse" x1="285.94086" y1="-439.93900" x2="289.39124" y2="-436.44290"/>
+ <linearGradient id="linearGradient6513">
+ <stop offset="0" id="stop6515" stop-color="#ffffff" stop-opacity="1"/>
+ <stop offset="1" id="stop6517" stop-color="#ffffff" stop-opacity="0"/>
</linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6513"
- id="linearGradient6831"
- gradientUnits="userSpaceOnUse"
- x1="286.51172"
- y1="-441.29074"
- x2="289.85379"
- y2="-436.14453" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient6497">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop6499" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop6501" />
+ <linearGradient xlink:href="#linearGradient6513" id="linearGradient6831" gradientUnits="userSpaceOnUse" x1="286.51172" y1="-441.29074" x2="289.85379" y2="-436.14453"/>
+ <linearGradient id="linearGradient6497">
+ <stop offset="0" id="stop6499" stop-color="#ffffff" stop-opacity="1"/>
+ <stop offset="1" id="stop6501" stop-color="#ffffff" stop-opacity="0"/>
</linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6497"
- id="linearGradient6829"
- gradientUnits="userSpaceOnUse"
- x1="287.51730"
- y1="-439.75281"
- x2="289.67633"
- y2="-436.32199" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient6470">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop6472" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop6474" />
+ <linearGradient xlink:href="#linearGradient6497" id="linearGradient6829" gradientUnits="userSpaceOnUse" x1="287.51730" y1="-439.75281" x2="289.67633" y2="-436.32199"/>
+ <linearGradient id="linearGradient6470">
+ <stop offset="0" id="stop6472" stop-color="#ffffff" stop-opacity="1"/>
+ <stop offset="1" id="stop6474" stop-color="#ffffff" stop-opacity="0"/>
</linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6470"
- id="linearGradient6827"
- gradientUnits="userSpaceOnUse"
- x1="271.02170"
- y1="-441.05182"
- x2="285.02859"
- y2="-431.96991" />
- <linearGradient
- id="linearGradient4083">
- <stop
- id="stop4085"
- offset="0"
- style="stop-color:#ffffff;stop-opacity:0;" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="0.75"
- id="stop4089" />
- <stop
- id="stop4087"
- offset="1"
- style="stop-color:#ffffff;stop-opacity:1;" />
+ <linearGradient xlink:href="#linearGradient6470" id="linearGradient6827" gradientUnits="userSpaceOnUse" x1="271.02170" y1="-441.05182" x2="285.02859" y2="-431.96991"/>
+ <linearGradient id="linearGradient4083">
+ <stop id="stop4085" offset="0" stop-color="#ffffff" stop-opacity="0"/>
+ <stop offset="0.75" id="stop4089" stop-color="#ffffff" stop-opacity="0"/>
+ <stop id="stop4087" offset="1" stop-color="#ffffff" stop-opacity="1"/>
</linearGradient>
- <linearGradient
- id="linearGradient4032">
- <stop
- id="stop4034"
- offset="0"
- style="stop-color:#fff7c2;stop-opacity:0.63829786" />
- <stop
- style="stop-color:#fcaf3e;stop-opacity:0.18348624;"
- offset="0.59394139"
- id="stop4036" />
- <stop
- id="stop4038"
- offset="0.83850551"
- style="stop-color:#fcaf3e;stop-opacity:0.50458717;" />
- <stop
- id="stop4040"
- offset="1"
- style="stop-color:#fcaf3e;stop-opacity:1;" />
+ <linearGradient id="linearGradient4032">
+ <stop id="stop4034" offset="0" stop-color="#fff7c2" stop-opacity="0.63829786"/>
+ <stop offset="0.59394139" id="stop4036" stop-color="#fcaf3e" stop-opacity="0.18348624"/>
+ <stop id="stop4038" offset="0.83850551" stop-color="#fcaf3e" stop-opacity="0.50458717"/>
+ <stop id="stop4040" offset="1" stop-color="#fcaf3e" stop-opacity="1"/>
</linearGradient>
- <linearGradient
- id="linearGradient4026">
- <stop
- id="stop4028"
- offset="0"
- style="stop-color:#fff9c6;stop-opacity:1" />
- <stop
- style="stop-color:#fff28c;stop-opacity:1;"
- offset="0.54166669"
- id="stop4042" />
- <stop
- id="stop4030"
- offset="1"
- style="stop-color:#ffea85;stop-opacity:1;" />
+ <linearGradient id="linearGradient4026">
+ <stop id="stop4028" offset="0" stop-color="#fff9c6" stop-opacity="1"/>
+ <stop offset="0.54166669" id="stop4042" stop-color="#fff28c" stop-opacity="1"/>
+ <stop id="stop4030" offset="1" stop-color="#ffea85" stop-opacity="1"/>
</linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient4026"
- id="linearGradient3168"
- gradientUnits="userSpaceOnUse"
- x1="-28.968945"
- y1="-25.326815"
- x2="-37.19698"
- y2="-9.5590506" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient4032"
- id="radialGradient4020"
- cx="-33.519073"
- cy="-22.113297"
- fx="-33.519073"
- fy="-22.113297"
- r="9.5"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.487739,1.292402,-1.10267,0.497242,-41.77393,32.41492)" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient4083"
- id="radialGradient4081"
- cx="23.99999"
- cy="23.381506"
- fx="23.99999"
- fy="23.381506"
- r="19.141981"
- gradientTransform="matrix(1.006701,2.235326e-16,-2.23715e-16,1.007522,-0.160816,0.426981)"
- gradientUnits="userSpaceOnUse" />
+ <linearGradient xlink:href="#linearGradient4026" id="linearGradient3168" gradientUnits="userSpaceOnUse" x1="-28.968945" y1="-25.326815" x2="-37.19698" y2="-9.5590506"/>
+ <radialGradient xlink:href="#linearGradient4032" id="radialGradient4020" cx="-33.519073" cy="-22.113297" fx="-33.519073" fy="-22.113297" r="9.5" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.487739,1.292402,-1.10267,0.497242,-41.77393,32.41492)"/>
+ <radialGradient xlink:href="#linearGradient4083" id="radialGradient4081" cx="23.99999" cy="23.381506" fx="23.99999" fy="23.381506" r="19.141981" gradientTransform="matrix(1.006701,2.235326e-16,-2.23715e-16,1.007522,-0.160816,0.426981)" gradientUnits="userSpaceOnUse"/>
</defs>
- <sodipodi:namedview
- id="base"
- pagecolor="#ffffff"
- bordercolor="#666666"
- borderopacity="1.0"
- inkscape:pageopacity="0.0"
- inkscape:pageshadow="2"
- inkscape:zoom="16.270833"
- inkscape:cx="24"
- inkscape:cy="24"
- inkscape:current-layer="layer1"
- showgrid="true"
- inkscape:grid-bbox="true"
- inkscape:document-units="px"
- inkscape:window-width="982"
- inkscape:window-height="965"
- inkscape:window-x="1280"
- inkscape:window-y="28"
- inkscape:showpageshadow="false" />
- <metadata
- id="metadata1311">
+
+ <metadata id="metadata1311">
<rdf:RDF>
- <cc:Work
- rdf:about="">
+ <cc:Work rdf:about="">
<dc:format>image/svg+xml</dc:format>
- <dc:type
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
<dc:title>weather-clear</dc:title>
<dc:date>January 2006</dc:date>
<dc:creator>
@@ -352,241 +78,63 @@
<rdf:li>notification</rdf:li>
</rdf:Bag>
</dc:subject>
- <cc:license
- rdf:resource="http://creativecommons.org/licenses/by-sa/2.0/" />
+ <cc:license rdf:resource="http://creativecommons.org/licenses/by-sa/2.0/"/>
<dc:contributor>
<cc:Agent>
<dc:title>Garrett LeSage</dc:title>
</cc:Agent>
</dc:contributor>
</cc:Work>
- <cc:License
- rdf:about="http://creativecommons.org/licenses/by-sa/2.0/">
- <cc:permits
- rdf:resource="http://web.resource.org/cc/Reproduction" />
- <cc:permits
- rdf:resource="http://web.resource.org/cc/Distribution" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/Notice" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/Attribution" />
- <cc:permits
- rdf:resource="http://web.resource.org/cc/DerivativeWorks" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/ShareAlike" />
+ <cc:License rdf:about="http://creativecommons.org/licenses/by-sa/2.0/">
+ <cc:permits rdf:resource="http://web.resource.org/cc/Reproduction"/>
+ <cc:permits rdf:resource="http://web.resource.org/cc/Distribution"/>
+ <cc:requires rdf:resource="http://web.resource.org/cc/Notice"/>
+ <cc:requires rdf:resource="http://web.resource.org/cc/Attribution"/>
+ <cc:permits rdf:resource="http://web.resource.org/cc/DerivativeWorks"/>
+ <cc:requires rdf:resource="http://web.resource.org/cc/ShareAlike"/>
</cc:License>
</rdf:RDF>
</metadata>
- <g
- id="layer1"
- inkscape:label="Layer 1"
- inkscape:groupmode="layer">
- <g
- id="g3936">
- <g
- style="opacity:0.7"
- id="g4091">
- <path
- style="fill:#fce94f;fill-opacity:1;stroke:#fcaf3e;stroke-width:0.73732895;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
- d="M 24 2.5 L 21.625 9.1875 C 22.399034 9.0641318 23.191406 9 24 9 C 24.808594 9 25.600966 9.0641317 26.375 9.1875 L 24 2.5 z M 8.8125 8.78125 L 11.84375 15.21875 C 12.779034 13.928569 13.928569 12.779034 15.21875 11.84375 L 8.8125 8.78125 z M 39.21875 8.78125 L 32.78125 11.84375 C 34.071431 12.779034 35.220966 13.928569 36.15625 15.21875 L 39.21875 8.78125 z M 9.1875 21.59375 L 2.5 23.96875 L 9.1875 26.34375 C 9.0673373 25.57952 9 24.797813 9 24 C 9 23.180625 9.0608858 22.377571 9.1875 21.59375 z M 38.8125 21.625 C 38.935868 22.399034 39 23.191406 39 24 C 39 24.808594 38.935868 25.600966 38.8125 26.375 L 45.5 24 L 38.8125 21.625 z M 11.84375 32.78125 L 8.8125 39.1875 L 15.21875 36.15625 C 13.928569 35.220966 12.779034 34.071431 11.84375 32.78125 z M 36.15625 32.78125 C 35.229789 34.05926 34.087617 35.194799 32.8125 36.125 L 39.21875 39.1875 L 36.15625 32.78125 z M 21.625 38.8125 L 24 45.5 L 26.375 38.8125 C 25.600966 38.935868 24.808594 39 24 39 C 23.191406 39 22.399034 38.935868 21.625 38.8125 z "
- id="path7492" />
- <path
- style="fill:none;fill-opacity:1;stroke:url(#radialGradient4081);stroke-width:0.84646249;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
- d="M 24 5.25 L 22.65625 9.0625 C 23.098888 9.0231486 23.547187 9 24 9 C 24.452813 9 24.901112 9.0231486 25.34375 9.0625 L 24 5.25 z M 10.78125 10.75 L 12.5 14.375 C 13.071538 13.694089 13.724004 13.038745 14.40625 12.46875 L 10.78125 10.75 z M 37.25 10.75 L 33.625 12.46875 C 34.304675 13.038189 34.961811 13.695325 35.53125 14.375 L 37.25 10.75 z M 9.0625 22.625 L 5.28125 23.96875 L 9.0625 25.3125 C 9.024981 24.880146 9 24.442031 9 24 C 9 23.536406 9.0212735 23.077908 9.0625 22.625 z M 38.9375 22.65625 C 38.976851 23.098888 39 23.547187 39 24 C 39 24.452813 38.976851 24.901112 38.9375 25.34375 L 42.71875 24 L 38.9375 22.65625 z M 35.53125 33.59375 C 34.958293 34.27954 34.309985 34.957363 33.625 35.53125 L 37.25 37.25 L 35.53125 33.59375 z M 12.5 33.625 L 10.78125 37.21875 L 14.375 35.5 C 13.702932 34.935884 13.064116 34.297068 12.5 33.625 z M 22.65625 38.9375 L 24 42.71875 L 25.34375 38.9375 C 24.901112 38.976851 24.452813 39 24 39 C 23.547187 39 23.098888 38.976851 22.65625 38.9375 z "
- id="path7494" />
+ <g id="layer1">
+ <g>
+ <g opacity="0.7">
+ <path d="M 24 2.5 L 21.625 9.1875 C 22.399034 9.0641318 23.191406 9 24 9 C 24.808594 9 25.600966 9.0641317 26.375 9.1875 L 24 2.5 z M 8.8125 8.78125 L 11.84375 15.21875 C 12.779034 13.928569 13.928569 12.779034 15.21875 11.84375 L 8.8125 8.78125 z M 39.21875 8.78125 L 32.78125 11.84375 C 34.071431 12.779034 35.220966 13.928569 36.15625 15.21875 L 39.21875 8.78125 z M 9.1875 21.59375 L 2.5 23.96875 L 9.1875 26.34375 C 9.0673373 25.57952 9 24.797813 9 24 C 9 23.180625 9.0608858 22.377571 9.1875 21.59375 z M 38.8125 21.625 C 38.935868 22.399034 39 23.191406 39 24 C 39 24.808594 38.935868 25.600966 38.8125 26.375 L 45.5 24 L 38.8125 21.625 z M 11.84375 32.78125 L 8.8125 39.1875 L 15.21875 36.15625 C 13.928569 35.220966 12.779034 34.071431 11.84375 32.78125 z M 36.15625 32.78125 C 35.229789 34.05926 34.087617 35.194799 32.8125 36.125 L 39.21875 39.1875 L 36.15625 32.78125 z M 21.625 38.8125 L 24 45.5 L 26.375 38.8125 C 25.600966 38.935868 24.808594 39 24 39 C 23.191406 39 22.399034 38.935868 21.625 38.8125 z " fill="#fce94f" fill-opacity="1" stroke="#fcaf3e" stroke-width="0.73732895" stroke-linecap="square" stroke-linejoin="miter" stroke-miterlimit="4" stroke-dasharray="none" stroke-opacity="1"/>
+ <path d="M 24 5.25 L 22.65625 9.0625 C 23.098888 9.0231486 23.547187 9 24 9 C 24.452813 9 24.901112 9.0231486 25.34375 9.0625 L 24 5.25 z M 10.78125 10.75 L 12.5 14.375 C 13.071538 13.694089 13.724004 13.038745 14.40625 12.46875 L 10.78125 10.75 z M 37.25 10.75 L 33.625 12.46875 C 34.304675 13.038189 34.961811 13.695325 35.53125 14.375 L 37.25 10.75 z M 9.0625 22.625 L 5.28125 23.96875 L 9.0625 25.3125 C 9.024981 24.880146 9 24.442031 9 24 C 9 23.536406 9.0212735 23.077908 9.0625 22.625 z M 38.9375 22.65625 C 38.976851 23.098888 39 23.547187 39 24 C 39 24.452813 38.976851 24.901112 38.9375 25.34375 L 42.71875 24 L 38.9375 22.65625 z M 35.53125 33.59375 C 34.958293 34.27954 34.309985 34.957363 33.625 35.53125 L 37.25 37.25 L 35.53125 33.59375 z M 12.5 33.625 L 10.78125 37.21875 L 14.375 35.5 C 13.702932 34.935884 13.064116 34.297068 12.5 33.625 z M 22.65625 38.9375 L 24 42.71875 L 25.34375 38.9375 C 24.901112 38.976851 24.452813 39 24 39 C 23.547187 39 23.098888 38.976851 22.65625 38.9375 z " fill="none" fill-opacity="1" stroke="url(#radialGradient4081)" stroke-width="0.84646249" stroke-linecap="square" stroke-linejoin="miter" stroke-miterlimit="4" stroke-dasharray="none" stroke-opacity="1"/>
</g>
- <g
- id="g4046">
- <g
- id="g3931">
- <path
- inkscape:r_cy="true"
- inkscape:r_cx="true"
- transform="matrix(0.778062,-1.061285,1.061287,0.778062,67.47952,3.641324)"
- d="M -22.5 -17.5 A 9.5 9.5 0 1 1 -41.5,-17.5 A 9.5 9.5 0 1 1 -22.5 -17.5 z"
- sodipodi:ry="9.5"
- sodipodi:rx="9.5"
- sodipodi:cy="-17.5"
- sodipodi:cx="-32"
- id="path7498"
- style="fill:#ffee54;fill-opacity:1;stroke:#fcaf3e;stroke-width:0.75991178;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
- sodipodi:type="arc" />
- <path
- inkscape:r_cy="true"
- inkscape:r_cx="true"
- transform="matrix(1.244257,-0.167707,0.216642,1.251844,67.61648,40.527)"
- d="M -22.5 -17.5 A 9.5 9.5 0 1 1 -41.5,-17.5 A 9.5 9.5 0 1 1 -22.5 -17.5 z"
- sodipodi:ry="9.5"
- sodipodi:rx="9.5"
- sodipodi:cy="-17.5"
- sodipodi:cx="-32"
- id="path7500"
- style="fill:url(#radialGradient4020);fill-opacity:1;stroke:none;stroke-width:1.01737845;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
- sodipodi:type="arc" />
- <path
- inkscape:r_cy="true"
- inkscape:r_cx="true"
- transform="matrix(0.715791,-0.976349,0.97635,0.715792,64.00044,5.269544)"
- d="M -22.5 -17.5 A 9.5 9.5 0 1 1 -41.5,-17.5 A 9.5 9.5 0 1 1 -22.5 -17.5 z"
- sodipodi:ry="9.5"
- sodipodi:rx="9.5"
- sodipodi:cy="-17.5"
- sodipodi:cx="-32"
- id="path7502"
- style="fill:none;fill-opacity:1;stroke:url(#linearGradient3168);stroke-width:0.82601947;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
- sodipodi:type="arc" />
+ <g>
+ <g>
+ <path transform="matrix(0.778062,-1.061285,1.061287,0.778062,67.47952,3.641324)" d="M -22.5 -17.5 A 9.5 9.5 0 1 1 -41.5,-17.5 A 9.5 9.5 0 1 1 -22.5 -17.5 z" fill="#ffee54" fill-opacity="1" stroke="#fcaf3e" stroke-width="0.75991178" stroke-linecap="square" stroke-linejoin="miter" stroke-miterlimit="4" stroke-dasharray="none" stroke-opacity="1"/>
+ <path transform="matrix(1.244257,-0.167707,0.216642,1.251844,67.61648,40.527)" d="M -22.5 -17.5 A 9.5 9.5 0 1 1 -41.5,-17.5 A 9.5 9.5 0 1 1 -22.5 -17.5 z" fill="url(#radialGradient4020)" fill-opacity="1" stroke="none" stroke-width="1.01737845" stroke-linecap="square" stroke-linejoin="miter" stroke-miterlimit="4" stroke-dasharray="none" stroke-opacity="1"/>
+ <path transform="matrix(0.715791,-0.976349,0.97635,0.715792,64.00044,5.269544)" d="M -22.5 -17.5 A 9.5 9.5 0 1 1 -41.5,-17.5 A 9.5 9.5 0 1 1 -22.5 -17.5 z" fill="none" fill-opacity="1" stroke="url(#linearGradient3168)" stroke-width="0.82601947" stroke-linecap="square" stroke-linejoin="miter" stroke-miterlimit="4" stroke-dasharray="none" stroke-opacity="1"/>
</g>
</g>
</g>
- <g
- id="g6783"
- transform="translate(-263.99,459.9855)">
- <path
- sodipodi:nodetypes="ccsscsssscsscc"
- id="path6785"
- d="M 280.50000,-445.50000 C 278.22917,-445.50000 276.39009,-443.94972 275.78125,-441.87500 C 275.08802,-442.23883 274.33674,-442.50000 273.50000,-442.50000 C 270.74000,-442.50000 268.49999,-440.26001 268.50000,-437.50000 C 268.50000,-436.92107 268.66252,-436.39230 268.84375,-435.87500 C 267.47028,-435.10426 266.50000,-433.68600 266.50000,-432.00000 C 266.50000,-429.51600 268.51600,-427.49999 271.00000,-427.50000 C 271.17713,-427.50000 289.82287,-427.50000 290.00000,-427.50000 C 292.48399,-427.50000 294.50000,-429.51600 294.50000,-432.00000 C 294.50000,-433.68600 293.52972,-435.10426 292.15625,-435.87500 C 292.33749,-436.39229 292.50000,-436.92108 292.50000,-437.50000 C 292.50000,-440.26000 290.26000,-442.49999 287.50000,-442.50000 C 286.66326,-442.50000 285.91198,-442.23883 285.21875,-441.87500 C 284.60991,-443.94972 282.77083,-445.50000 280.50000,-445.50000 z "
- style="fill:#c4c5c2;fill-opacity:1.0000000;stroke:#888a85;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000" />
- <path
- sodipodi:nodetypes="ccsscsssscsscc"
- id="path6787"
- d="M 280.50000,-445.00000 C 278.31028,-445.00000 276.77640,-443.66423 276.10445,-441.15648 C 275.43599,-441.50010 274.55686,-441.98983 273.75000,-441.98983 C 271.03349,-441.98983 268.99486,-440.05101 268.99487,-437.44429 C 268.99487,-436.89752 269.26208,-436.11085 269.43683,-435.62228 C 268.11240,-434.89433 267.00000,-433.73178 267.00000,-432.24973 C 267.00000,-429.90368 268.54617,-427.99964 271.33928,-427.99964 C 271.51009,-427.99964 289.48992,-427.99964 289.66072,-427.99964 C 292.43173,-427.99964 294.00000,-429.90368 294.00000,-432.24973 C 294.00000,-433.84210 292.88760,-434.91642 291.56317,-435.64437 C 291.73793,-436.13293 292.02724,-436.89753 292.02724,-437.44429 C 292.02724,-440.05100 289.91143,-442.01192 287.25001,-442.01193 C 286.44314,-442.01193 285.60820,-441.52219 284.93974,-441.17857 C 284.29089,-443.60011 282.68973,-445.00000 280.50000,-445.00000 z "
- style="opacity:1.0000000;fill:url(#linearGradient6827);fill-opacity:1.0000000;stroke:none;stroke-width:0.99999958;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000" />
- <g
- id="g6789">
- <path
- sodipodi:type="arc"
- style="opacity:1.0000000;fill:#c4c5c2;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- id="path6791"
- sodipodi:cx="288.37500"
- sodipodi:cy="-437.59375"
- sodipodi:rx="3.3125000"
- sodipodi:ry="3.3125000"
- d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z"
- transform="matrix(1.056604,0.000000,0.000000,1.056604,-24.19818,21.86331)" />
- <path
- sodipodi:type="arc"
- style="opacity:1.0000000;fill:url(#linearGradient6829);fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- id="path6793"
- sodipodi:cx="288.37500"
- sodipodi:cy="-437.59375"
- sodipodi:rx="3.3125000"
- sodipodi:ry="3.3125000"
- d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z"
- transform="matrix(1.056604,0.000000,0.000000,1.056604,-24.19818,21.86331)" />
+ <g transform="translate(-263.99,459.9855)">
+ <path d="M 280.50000,-445.50000 C 278.22917,-445.50000 276.39009,-443.94972 275.78125,-441.87500 C 275.08802,-442.23883 274.33674,-442.50000 273.50000,-442.50000 C 270.74000,-442.50000 268.49999,-440.26001 268.50000,-437.50000 C 268.50000,-436.92107 268.66252,-436.39230 268.84375,-435.87500 C 267.47028,-435.10426 266.50000,-433.68600 266.50000,-432.00000 C 266.50000,-429.51600 268.51600,-427.49999 271.00000,-427.50000 C 271.17713,-427.50000 289.82287,-427.50000 290.00000,-427.50000 C 292.48399,-427.50000 294.50000,-429.51600 294.50000,-432.00000 C 294.50000,-433.68600 293.52972,-435.10426 292.15625,-435.87500 C 292.33749,-436.39229 292.50000,-436.92108 292.50000,-437.50000 C 292.50000,-440.26000 290.26000,-442.49999 287.50000,-442.50000 C 286.66326,-442.50000 285.91198,-442.23883 285.21875,-441.87500 C 284.60991,-443.94972 282.77083,-445.50000 280.50000,-445.50000 z " fill="#c4c5c2" fill-opacity="1.0000000" stroke="#888a85" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path d="M 280.50000,-445.00000 C 278.31028,-445.00000 276.77640,-443.66423 276.10445,-441.15648 C 275.43599,-441.50010 274.55686,-441.98983 273.75000,-441.98983 C 271.03349,-441.98983 268.99486,-440.05101 268.99487,-437.44429 C 268.99487,-436.89752 269.26208,-436.11085 269.43683,-435.62228 C 268.11240,-434.89433 267.00000,-433.73178 267.00000,-432.24973 C 267.00000,-429.90368 268.54617,-427.99964 271.33928,-427.99964 C 271.51009,-427.99964 289.48992,-427.99964 289.66072,-427.99964 C 292.43173,-427.99964 294.00000,-429.90368 294.00000,-432.24973 C 294.00000,-433.84210 292.88760,-434.91642 291.56317,-435.64437 C 291.73793,-436.13293 292.02724,-436.89753 292.02724,-437.44429 C 292.02724,-440.05100 289.91143,-442.01192 287.25001,-442.01193 C 286.44314,-442.01193 285.60820,-441.52219 284.93974,-441.17857 C 284.29089,-443.60011 282.68973,-445.00000 280.50000,-445.00000 z " opacity="1.0000000" fill="url(#linearGradient6827)" fill-opacity="1.0000000" stroke="none" stroke-width="0.99999958" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <g>
+ <path d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z" transform="matrix(1.056604,0.000000,0.000000,1.056604,-24.19818,21.86331)" opacity="1.0000000" fill="#c4c5c2" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z" transform="matrix(1.056604,0.000000,0.000000,1.056604,-24.19818,21.86331)" opacity="1.0000000" fill="url(#linearGradient6829)" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
</g>
- <rect
- y="-438.00000"
- x="271.00000"
- height="9.0000000"
- width="20.000000"
- id="rect6795"
- style="opacity:1.0000000;fill:#c4c5c2;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000" />
- <path
- transform="matrix(0.905660,0.000000,0.000000,0.905660,9.830195,-35.68869)"
- d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z"
- sodipodi:ry="3.3125000"
- sodipodi:rx="3.3125000"
- sodipodi:cy="-437.59375"
- sodipodi:cx="288.37500"
- id="path6797"
- style="opacity:1.0000000;fill:#c4c5c2;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- sodipodi:type="arc" />
- <g
- id="g6799">
- <path
- sodipodi:type="arc"
- style="opacity:1.0000000;fill:#c4c5c2;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- id="path6801"
- sodipodi:cx="288.37500"
- sodipodi:cy="-437.59375"
- sodipodi:rx="3.3125000"
- sodipodi:ry="3.3125000"
- d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z"
- transform="matrix(1.056604,0.000000,0.000000,1.056604,-17.19811,24.86321)" />
- <path
- sodipodi:type="arc"
- style="opacity:1.0000000;fill:url(#linearGradient6831);fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- id="path6803"
- sodipodi:cx="288.37500"
- sodipodi:cy="-437.59375"
- sodipodi:rx="3.3125000"
- sodipodi:ry="3.3125000"
- d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z"
- transform="matrix(1.056604,0.000000,0.000000,1.056604,-17.19818,24.86331)" />
+ <rect y="-438.00000" x="271.00000" height="9.0000000" width="20.000000" opacity="1.0000000" fill="#c4c5c2" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path transform="matrix(0.905660,0.000000,0.000000,0.905660,9.830195,-35.68869)" d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z" opacity="1.0000000" fill="#c4c5c2" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <g>
+ <path d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z" transform="matrix(1.056604,0.000000,0.000000,1.056604,-17.19811,24.86321)" opacity="1.0000000" fill="#c4c5c2" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z" transform="matrix(1.056604,0.000000,0.000000,1.056604,-17.19818,24.86331)" opacity="1.0000000" fill="url(#linearGradient6831)" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
</g>
- <g
- id="g6805">
- <path
- sodipodi:type="arc"
- style="opacity:1.0000000;fill:#c4c5c2;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- id="path6807"
- sodipodi:cx="288.37500"
- sodipodi:cy="-437.59375"
- sodipodi:rx="3.3125000"
- sodipodi:ry="3.3125000"
- d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z"
- transform="matrix(1.056604,0.000000,0.000000,1.056604,-31.19818,24.86331)" />
- <path
- sodipodi:type="arc"
- style="opacity:1.0000000;fill:url(#linearGradient6833);fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- id="path6809"
- sodipodi:cx="288.37500"
- sodipodi:cy="-437.59375"
- sodipodi:rx="3.3125000"
- sodipodi:ry="3.3125000"
- d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z"
- transform="matrix(1.056604,0.000000,0.000000,1.056604,-31.19818,24.86331)" />
+ <g>
+ <path d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z" transform="matrix(1.056604,0.000000,0.000000,1.056604,-31.19818,24.86331)" opacity="1.0000000" fill="#c4c5c2" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z" transform="matrix(1.056604,0.000000,0.000000,1.056604,-31.19818,24.86331)" opacity="1.0000000" fill="url(#linearGradient6833)" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
</g>
- <g
- transform="translate(-1.000000,0.000000)"
- id="g6811">
- <path
- style="opacity:1.0000000;fill:#c4c5c2;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- d="M 280.46875,-440.96875 C 276.88937,-440.96875 274.00000,-438.04812 274.00000,-434.46875 C 274.00000,-432.09807 275.34943,-430.13096 277.25000,-429.00000 L 283.71875,-429.00000 C 285.61932,-430.13096 286.96875,-432.12931 286.96875,-434.50000 C 286.96875,-438.07938 284.04812,-440.96875 280.46875,-440.96875 z "
- id="path6813" />
- <path
- style="opacity:1.0000000;fill:url(#linearGradient6835);fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- d="M 280.50000,-441.00000 C 276.91200,-441.00000 274.00000,-438.08799 274.00000,-434.50000 C 274.00000,-432.12360 275.34485,-430.13368 277.25000,-429.00000 L 283.75000,-429.00000 C 285.65515,-430.13368 287.00000,-432.12360 287.00000,-434.50000 C 287.00000,-438.08800 284.08800,-440.99999 280.50000,-441.00000 z "
- id="path6815" />
+ <g transform="translate(-1.000000,0.000000)">
+ <path d="M 280.46875,-440.96875 C 276.88937,-440.96875 274.00000,-438.04812 274.00000,-434.46875 C 274.00000,-432.09807 275.34943,-430.13096 277.25000,-429.00000 L 283.71875,-429.00000 C 285.61932,-430.13096 286.96875,-432.12931 286.96875,-434.50000 C 286.96875,-438.07938 284.04812,-440.96875 280.46875,-440.96875 z " opacity="1.0000000" fill="#c4c5c2" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path d="M 280.50000,-441.00000 C 276.91200,-441.00000 274.00000,-438.08799 274.00000,-434.50000 C 274.00000,-432.12360 275.34485,-430.13368 277.25000,-429.00000 L 283.75000,-429.00000 C 285.65515,-430.13368 287.00000,-432.12360 287.00000,-434.50000 C 287.00000,-438.08800 284.08800,-440.99999 280.50000,-441.00000 z " opacity="1.0000000" fill="url(#linearGradient6835)" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
</g>
- <path
- transform="matrix(0.905660,0.000000,0.000000,0.905660,9.830296,-35.68884)"
- d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z"
- sodipodi:ry="3.3125000"
- sodipodi:rx="3.3125000"
- sodipodi:cy="-437.59375"
- sodipodi:cx="288.37500"
- id="path6817"
- style="opacity:1.0000000;fill:url(#linearGradient6837);fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- sodipodi:type="arc" />
- <path
- sodipodi:nodetypes="ccss"
- id="path6819"
- d="M 292.95640,-437.33396 C 292.95487,-434.64940 289.68714,-433.62001 289.68714,-433.62001 C 289.68714,-433.62001 292.03588,-435.24596 292.02399,-437.32502 C 292.02399,-437.32502 292.95640,-437.33396 292.95640,-437.33396 z "
- style="fill:#888a85;fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000" />
- <g
- transform="matrix(1.142857,0.000000,0.000000,1.142857,-28.57139,67.00008)"
- id="g6821">
- <path
- sodipodi:type="arc"
- style="opacity:1.0000000;fill:#c4c5c2;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- id="path6823"
- sodipodi:cx="288.37500"
- sodipodi:cy="-437.59375"
- sodipodi:rx="3.3125000"
- sodipodi:ry="3.3125000"
- d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z"
- transform="matrix(1.056604,0.000000,0.000000,1.056604,-31.19818,24.86331)" />
- <path
- sodipodi:type="arc"
- style="opacity:1.0000000;fill:url(#linearGradient6839);fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- id="path6825"
- sodipodi:cx="288.37500"
- sodipodi:cy="-437.59375"
- sodipodi:rx="3.3125000"
- sodipodi:ry="3.3125000"
- d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z"
- transform="matrix(1.056604,0.000000,0.000000,1.056604,-31.19818,24.86331)" />
+ <path transform="matrix(0.905660,0.000000,0.000000,0.905660,9.830296,-35.68884)" d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z" opacity="1.0000000" fill="url(#linearGradient6837)" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path d="M 292.95640,-437.33396 C 292.95487,-434.64940 289.68714,-433.62001 289.68714,-433.62001 C 289.68714,-433.62001 292.03588,-435.24596 292.02399,-437.32502 C 292.02399,-437.32502 292.95640,-437.33396 292.95640,-437.33396 z " fill="#888a85" fill-opacity="1.0000000" fill-rule="evenodd" stroke="none" stroke-width="1.0000000px" stroke-linecap="butt" stroke-linejoin="miter" stroke-opacity="1.0000000"/>
+ <g transform="matrix(1.142857,0.000000,0.000000,1.142857,-28.57139,67.00008)">
+ <path d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z" transform="matrix(1.056604,0.000000,0.000000,1.056604,-31.19818,24.86331)" opacity="1.0000000" fill="#c4c5c2" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z" transform="matrix(1.056604,0.000000,0.000000,1.056604,-31.19818,24.86331)" opacity="1.0000000" fill="url(#linearGradient6839)" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
</g>
</g>
</g>
diff --git a/demos/embedded/weatherinfo/icons/weather-sunny.svg b/demos/embedded/weatherinfo/icons/weather-sunny.svg
index 0360ac7..248199c 100644
--- a/demos/embedded/weatherinfo/icons/weather-sunny.svg
+++ b/demos/embedded/weatherinfo/icons/weather-sunny.svg
@@ -1,1225 +1,32 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!-- Created with Inkscape (http://www.inkscape.org/) -->
-<svg
- xmlns:dc="http://purl.org/dc/elements/1.1/"
- xmlns:cc="http://creativecommons.org/ns#"
- xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns:svg="http://www.w3.org/2000/svg"
- xmlns="http://www.w3.org/2000/svg"
- xmlns:xlink="http://www.w3.org/1999/xlink"
- xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
- xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
- width="48px"
- height="48px"
- id="svg1306"
- sodipodi:version="0.32"
- inkscape:version="0.46"
- sodipodi:docbase="/home/garrett/Source/tango-icon-theme/scalable/status"
- sodipodi:docname="weather-sunny.svg"
- inkscape:output_extension="org.inkscape.output.svg.inkscape">
- <defs
- id="defs1308">
- <inkscape:perspective
- sodipodi:type="inkscape:persp3d"
- inkscape:vp_x="0 : 24 : 1"
- inkscape:vp_y="0 : 1000 : 0"
- inkscape:vp_z="48 : 24 : 1"
- inkscape:persp3d-origin="24 : 16 : 1"
- id="perspective37214" />
- <linearGradient
- id="linearGradient4083">
- <stop
- id="stop4085"
- offset="0"
- style="stop-color:#ffffff;stop-opacity:0;" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="0.75"
- id="stop4089" />
- <stop
- id="stop4087"
- offset="1"
- style="stop-color:#ffffff;stop-opacity:1;" />
+<svg xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="48px" height="48px" id="svg1306">
+ <defs id="defs1308">
+ <linearGradient id="linearGradient4083">
+ <stop id="stop4085" offset="0" stop-color="#ffffff" stop-opacity="0"/>
+ <stop offset="0.75" id="stop4089" stop-color="#ffffff" stop-opacity="0"/>
+ <stop id="stop4087" offset="1" stop-color="#ffffff" stop-opacity="1"/>
</linearGradient>
- <linearGradient
- id="linearGradient4032">
- <stop
- id="stop4034"
- offset="0"
- style="stop-color:#fff7c2;stop-opacity:0.63829786" />
- <stop
- style="stop-color:#fcaf3e;stop-opacity:0.18348624;"
- offset="0.59394139"
- id="stop4036" />
- <stop
- id="stop4038"
- offset="0.83850551"
- style="stop-color:#fcaf3e;stop-opacity:0.50458717;" />
- <stop
- id="stop4040"
- offset="1"
- style="stop-color:#fcaf3e;stop-opacity:1;" />
+ <linearGradient id="linearGradient4032">
+ <stop id="stop4034" offset="0" stop-color="#fff7c2" stop-opacity="0.63829786"/>
+ <stop offset="0.59394139" id="stop4036" stop-color="#fcaf3e" stop-opacity="0.18348624"/>
+ <stop id="stop4038" offset="0.83850551" stop-color="#fcaf3e" stop-opacity="0.50458717"/>
+ <stop id="stop4040" offset="1" stop-color="#fcaf3e" stop-opacity="1"/>
</linearGradient>
- <linearGradient
- id="linearGradient4026">
- <stop
- id="stop4028"
- offset="0"
- style="stop-color:#fff9c6;stop-opacity:1" />
- <stop
- style="stop-color:#fff28c;stop-opacity:1;"
- offset="0.54166669"
- id="stop4042" />
- <stop
- id="stop4030"
- offset="1"
- style="stop-color:#ffea85;stop-opacity:1;" />
+ <linearGradient id="linearGradient4026">
+ <stop id="stop4028" offset="0" stop-color="#fff9c6" stop-opacity="1"/>
+ <stop offset="0.54166669" id="stop4042" stop-color="#fff28c" stop-opacity="1"/>
+ <stop id="stop4030" offset="1" stop-color="#ffea85" stop-opacity="1"/>
</linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2298"
- id="linearGradient7748"
- gradientUnits="userSpaceOnUse"
- x1="-27.006643"
- y1="-37.550461"
- x2="-34.700153"
- y2="-4.4493785" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2527"
- id="linearGradient7746"
- gradientUnits="userSpaceOnUse"
- x1="-25.137094"
- y1="-1.2491118"
- x2="-35.652866"
- y2="-24.884460" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3478"
- id="linearGradient7744"
- gradientUnits="userSpaceOnUse"
- x1="11.149398"
- y1="-43.997444"
- x2="4.9625983"
- y2="-8.3080902" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient4829">
- <stop
- style="stop-color:#000000;stop-opacity:1;"
- offset="0"
- id="stop4831" />
- <stop
- style="stop-color:#000000;stop-opacity:0;"
- offset="1"
- id="stop4833" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient3478">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop3480" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop3482" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient2298">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop2300" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop2302" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient3347">
- <stop
- style="stop-color:#edd400;stop-opacity:1;"
- offset="0"
- id="stop3349" />
- <stop
- style="stop-color:#edd400;stop-opacity:0;"
- offset="1"
- id="stop3351" />
- </linearGradient>
- <linearGradient
- id="linearGradient2527">
- <stop
- style="stop-color:#fcaf3e;stop-opacity:0;"
- offset="0"
- id="stop2529" />
- <stop
- id="stop4022"
- offset="0.66644967"
- style="stop-color:#fcaf3e;stop-opacity:0.17431192;" />
- <stop
- style="stop-color:#fcaf3e;stop-opacity:0.55963302;"
- offset="0.86458337"
- id="stop4024" />
- <stop
- style="stop-color:#fcaf3e;stop-opacity:1;"
- offset="1"
- id="stop2531" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient2500">
- <stop
- style="stop-color:#fce94f;stop-opacity:1;"
- offset="0"
- id="stop2502" />
- <stop
- style="stop-color:#fce94f;stop-opacity:0;"
- offset="1"
- id="stop2504" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient2392">
- <stop
- style="stop-color:#eeeeec;stop-opacity:1;"
- offset="0"
- id="stop2394" />
- <stop
- style="stop-color:#eeeeec;stop-opacity:0;"
- offset="1"
- id="stop2396" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient2254">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop2256" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop2258" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2263"
- gradientUnits="userSpaceOnUse"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581"
- gradientTransform="translate(-1.608757,3.097272)" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2267"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(3.555020,0.968578)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2271"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(9.263651,3.495228)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2275"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(8.497184,-2.330824)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2279"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(14.46340,2.014073)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2283"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.751222,0.000000,0.000000,1.000000,-0.197462,7.612867)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2287"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.284317,0.000000,0.000000,1.000000,14.61983,4.452335)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2291"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.834148,0.000000,0.000000,1.000000,14.87610,8.569976)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2295"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.462015,0.000000,0.000000,1.262475,-5.687359,1.810269)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2299"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.106619,0.000000,0.000000,1.000000,6.383860,6.500432)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2303"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(1.707748,-5.784024)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2311"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(-0.976307,0.000000,0.000000,1.000000,53.94753,8.563694)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2350"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(16.14002,24.66420)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2352"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-0.932144,25.87240)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2354"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(5.356636,23.86870)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2356"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(11.19027,26.52035)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2358"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(10.30638,19.27251)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2360"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.751222,0.000000,0.000000,1.000000,0.229156,30.76299)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2362"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.284317,0.000000,0.000000,1.000000,16.67145,27.22746)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2364"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.834148,0.000000,0.000000,1.000000,17.05272,31.47010)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2366"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.462015,0.000000,0.000000,1.262475,-4.010744,24.96040)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2368"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.106619,0.000000,0.000000,1.000000,8.185476,29.52556)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2370"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(4.207586,21.30544)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2372"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(-0.976307,0.000000,0.000000,1.000000,56.12415,32.08882)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2392"
- id="linearGradient2398"
- x1="6.6651416"
- y1="13.802798"
- x2="41.403877"
- y2="13.802798"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.992367,0.000000,0.000000,0.990713,1.128541,5.404075)" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2426"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(14.46340,2.014073)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2428"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(8.497184,-2.330824)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2430"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-1.608757,3.097272)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2432"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(3.555020,0.968578)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2434"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(9.263651,3.495228)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2436"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.751222,0.000000,0.000000,1.000000,-0.197462,7.612867)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2438"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.284317,0.000000,0.000000,1.000000,14.61983,4.452335)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2440"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.834148,0.000000,0.000000,1.000000,14.87610,8.569976)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2442"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.462015,0.000000,0.000000,1.262475,-5.687359,1.810269)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2444"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.106619,0.000000,0.000000,1.000000,6.383860,6.500432)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2446"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(-0.976307,0.000000,0.000000,1.000000,53.94753,8.563694)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2392"
- id="linearGradient2448"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.992367,0.000000,0.000000,0.990713,1.128541,5.404075)"
- x1="6.6651416"
- y1="13.802798"
- x2="41.403877"
- y2="13.802798" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2392"
- id="linearGradient2451"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.992367,0.000000,0.000000,0.990713,4.378541,10.65407)"
- x1="6.6651416"
- y1="13.802798"
- x2="41.403877"
- y2="13.802798" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2457"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.106619,0.000000,0.000000,1.000000,9.633860,11.75043)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2460"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.462015,0.000000,0.000000,1.262475,-2.437359,7.060269)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2463"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.834148,0.000000,0.000000,1.000000,18.12610,13.81998)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2469"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.751222,0.000000,0.000000,1.000000,3.052538,12.86287)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2472"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(12.51365,8.745228)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2475"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(6.805020,6.218578)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2478"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(1.641243,8.347272)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2483"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(0.842481,-3.998086)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2500"
- id="linearGradient2506"
- x1="37.000000"
- y1="-21.750000"
- x2="53.750000"
- y2="9.0000000"
- gradientUnits="userSpaceOnUse" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2500"
- id="linearGradient2509"
- gradientUnits="userSpaceOnUse"
- x1="37.000000"
- y1="-21.750000"
- x2="53.750000"
- y2="9.0000000"
- gradientTransform="matrix(0.889091,0.000000,0.000000,0.617886,-4.771368,39.81402)" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2500"
- id="linearGradient2513"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.605509,0.000000,0.000000,0.710542,-0.224971,42.19500)"
- x1="38.857941"
- y1="-18.407482"
- x2="53.750000"
- y2="9.0000000" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2500"
- id="linearGradient2517"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.414169,0.000000,0.000000,0.778853,-1.910724,36.87850)"
- x1="37.000000"
- y1="-21.750000"
- x2="53.750000"
- y2="9.0000000" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2527"
- id="linearGradient2533"
- x1="-25.137094"
- y1="-1.2491118"
- x2="-35.652866"
- y2="-24.884460"
- gradientUnits="userSpaceOnUse" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2537"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(17.33814,3.415985)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2541"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(13.40064,1.353485)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2555"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-7.499805,1.708617)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2563"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-0.726830,2.481141)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3347"
- id="linearGradient3353"
- x1="23.303862"
- y1="29.115711"
- x2="29.750000"
- y2="46.092930"
- gradientUnits="userSpaceOnUse" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient3366"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(13.40064,1.353485)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient3368"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(1.641243,8.347272)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient3370"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(6.805020,6.218578)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient3372"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(12.51365,8.745228)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient3374"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.751222,0.000000,0.000000,1.000000,3.052538,12.86287)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient3376"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.834148,0.000000,0.000000,1.000000,18.12610,13.81998)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient3378"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.462015,0.000000,0.000000,1.262475,-2.437359,7.060269)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient3380"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.106619,0.000000,0.000000,1.000000,9.633860,11.75043)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient3383"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.106619,0.000000,0.000000,1.000000,0.795022,6.093572)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient3386"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.462015,0.000000,0.000000,1.262475,-11.27620,1.403411)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient3389"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.834148,0.000000,0.000000,1.000000,9.287262,8.163122)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient3392"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.751222,0.000000,0.000000,1.000000,-5.786300,7.206012)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient3395"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(3.674812,3.088370)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient3398"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-2.033818,0.561720)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient3401"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-7.197595,2.690414)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient3405"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(4.561802,-4.303373)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient1514"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(88.49344,-9.697877)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient1516"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.462015,0.000000,0.000000,1.262475,56.25514,-12.39388)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient1518"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.284317,0.000000,0.000000,1.000000,79.36909,-3.193747)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2527"
- id="linearGradient1520"
- gradientUnits="userSpaceOnUse"
- x1="-25.137094"
- y1="-1.2491118"
- x2="-35.652866"
- y2="-24.884460" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient1522"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-7.197595,2.690414)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient1524"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-2.033818,0.561720)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient1526"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(3.674812,3.088370)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient1528"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.751222,0.000000,0.000000,1.000000,-5.786300,7.206012)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient1530"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.834148,0.000000,0.000000,1.000000,9.287262,8.163122)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient1532"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.462015,0.000000,0.000000,1.262475,-11.27620,1.403411)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient1534"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.106619,0.000000,0.000000,1.000000,0.795022,6.093572)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient1536"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(-0.976307,0.000000,0.000000,1.000000,123.1162,-5.446357)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient1538"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(57.97693,-10.56876)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2527"
- id="linearGradient1557"
- gradientUnits="userSpaceOnUse"
- x1="-25.137094"
- y1="-1.2491118"
- x2="-35.652866"
- y2="-24.884460" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient4829"
- id="radialGradient4835"
- cx="-35.001785"
- cy="-1.1439217"
- fx="-35.001785"
- fy="-1.1439217"
- r="17.500893"
- gradientTransform="matrix(1.000000,0.000000,0.000000,0.565657,-5.564992e-15,-0.496855)"
- gradientUnits="userSpaceOnUse" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2298"
- id="linearGradient1427"
- gradientUnits="userSpaceOnUse"
- x1="-27.006643"
- y1="-37.550461"
- x2="-34.700153"
- y2="-4.4493785" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3478"
- id="linearGradient1431"
- gradientUnits="userSpaceOnUse"
- x1="11.149398"
- y1="-43.997444"
- x2="4.9625983"
- y2="-8.3080902" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3478"
- id="linearGradient14128"
- gradientUnits="userSpaceOnUse"
- x1="11.149398"
- y1="-43.997444"
- x2="4.9625983"
- y2="-8.3080902" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2527"
- id="linearGradient14130"
- gradientUnits="userSpaceOnUse"
- x1="-25.137094"
- y1="-1.2491118"
- x2="-35.652866"
- y2="-24.884460" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2298"
- id="linearGradient14132"
- gradientUnits="userSpaceOnUse"
- x1="-27.006643"
- y1="-37.550461"
- x2="-34.700153"
- y2="-4.4493785" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2527"
- id="linearGradient3151"
- gradientUnits="userSpaceOnUse"
- x1="-25.137094"
- y1="-1.2491118"
- x2="-35.652866"
- y2="-24.884460" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2298"
- id="linearGradient3153"
- gradientUnits="userSpaceOnUse"
- x1="-27.006643"
- y1="-37.550461"
- x2="-34.700153"
- y2="-4.4493785" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3478"
- id="linearGradient3155"
- gradientUnits="userSpaceOnUse"
- x1="11.149398"
- y1="-43.997444"
- x2="4.9625983"
- y2="-8.3080902" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3478"
- id="linearGradient3161"
- gradientUnits="userSpaceOnUse"
- x1="11.149398"
- y1="-43.997444"
- x2="4.9625983"
- y2="-8.3080902" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient4026"
- id="linearGradient3168"
- gradientUnits="userSpaceOnUse"
- x1="-28.968945"
- y1="-25.326815"
- x2="-37.19698"
- y2="-9.5590506" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient4032"
- id="radialGradient4020"
- cx="-33.519073"
- cy="-22.113297"
- fx="-33.519073"
- fy="-22.113297"
- r="9.5"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.487739,1.292402,-1.10267,0.497242,-41.77393,32.41492)" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3478"
- id="linearGradient4057"
- gradientUnits="userSpaceOnUse"
- x1="11.149398"
- y1="-43.997444"
- x2="4.9625983"
- y2="-8.3080902" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient4083"
- id="radialGradient4081"
- cx="23.99999"
- cy="23.381506"
- fx="23.99999"
- fy="23.381506"
- r="19.141981"
- gradientTransform="matrix(1.006701,2.235326e-16,-2.23715e-16,1.007522,-0.160816,0.426981)"
- gradientUnits="userSpaceOnUse" />
+ <linearGradient xlink:href="#linearGradient4026" id="linearGradient3168" gradientUnits="userSpaceOnUse" x1="-28.968945" y1="-25.326815" x2="-37.19698" y2="-9.5590506"/>
+ <radialGradient xlink:href="#linearGradient4032" id="radialGradient4020" cx="-33.519073" cy="-22.113297" fx="-33.519073" fy="-22.113297" r="9.5" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.487739,1.292402,-1.10267,0.497242,-41.77393,32.41492)"/>
+ <radialGradient xlink:href="#linearGradient4083" id="radialGradient4081" cx="23.99999" cy="23.381506" fx="23.99999" fy="23.381506" r="19.141981" gradientTransform="matrix(1.006701,2.235326e-16,-2.23715e-16,1.007522,-0.160816,0.426981)" gradientUnits="userSpaceOnUse"/>
</defs>
- <sodipodi:namedview
- id="base"
- pagecolor="#ffffff"
- bordercolor="#666666"
- borderopacity="1.0"
- inkscape:pageopacity="0.0"
- inkscape:pageshadow="2"
- inkscape:zoom="10.54135"
- inkscape:cx="23.386176"
- inkscape:cy="24.950603"
- inkscape:current-layer="layer1"
- showgrid="true"
- inkscape:grid-bbox="true"
- inkscape:document-units="px"
- inkscape:window-width="1013"
- inkscape:window-height="965"
- inkscape:window-x="0"
- inkscape:window-y="0"
- inkscape:showpageshadow="false" />
- <metadata
- id="metadata1311">
+
+ <metadata id="metadata1311">
<rdf:RDF>
- <cc:Work
- rdf:about="">
+ <cc:Work rdf:about="">
<dc:format>image/svg+xml</dc:format>
- <dc:type
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
<dc:title>weather-clear</dc:title>
<dc:date>January 2006</dc:date>
<dc:creator>
@@ -1240,89 +47,34 @@
<rdf:li>notification</rdf:li>
</rdf:Bag>
</dc:subject>
- <cc:license
- rdf:resource="http://creativecommons.org/licenses/by-sa/2.0/" />
+ <cc:license rdf:resource="http://creativecommons.org/licenses/by-sa/2.0/"/>
<dc:contributor>
<cc:Agent>
<dc:title>Garrett LeSage</dc:title>
</cc:Agent>
</dc:contributor>
</cc:Work>
- <cc:License
- rdf:about="http://creativecommons.org/licenses/by-sa/2.0/">
- <cc:permits
- rdf:resource="http://web.resource.org/cc/Reproduction" />
- <cc:permits
- rdf:resource="http://web.resource.org/cc/Distribution" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/Notice" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/Attribution" />
- <cc:permits
- rdf:resource="http://web.resource.org/cc/DerivativeWorks" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/ShareAlike" />
+ <cc:License rdf:about="http://creativecommons.org/licenses/by-sa/2.0/">
+ <cc:permits rdf:resource="http://web.resource.org/cc/Reproduction"/>
+ <cc:permits rdf:resource="http://web.resource.org/cc/Distribution"/>
+ <cc:requires rdf:resource="http://web.resource.org/cc/Notice"/>
+ <cc:requires rdf:resource="http://web.resource.org/cc/Attribution"/>
+ <cc:permits rdf:resource="http://web.resource.org/cc/DerivativeWorks"/>
+ <cc:requires rdf:resource="http://web.resource.org/cc/ShareAlike"/>
</cc:License>
</rdf:RDF>
</metadata>
- <g
- id="layer1"
- inkscape:label="Layer 1"
- inkscape:groupmode="layer">
- <g
- id="g3936">
- <g
- style="opacity:0.7"
- id="g4091">
- <path
- style="fill:#fce94f;fill-opacity:1;stroke:#fcaf3e;stroke-width:0.73732895;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
- d="M 24 2.5 L 21.625 9.1875 C 22.399034 9.0641318 23.191406 9 24 9 C 24.808594 9 25.600966 9.0641317 26.375 9.1875 L 24 2.5 z M 8.8125 8.78125 L 11.84375 15.21875 C 12.779034 13.928569 13.928569 12.779034 15.21875 11.84375 L 8.8125 8.78125 z M 39.21875 8.78125 L 32.78125 11.84375 C 34.071431 12.779034 35.220966 13.928569 36.15625 15.21875 L 39.21875 8.78125 z M 9.1875 21.59375 L 2.5 23.96875 L 9.1875 26.34375 C 9.0673373 25.57952 9 24.797813 9 24 C 9 23.180625 9.0608858 22.377571 9.1875 21.59375 z M 38.8125 21.625 C 38.935868 22.399034 39 23.191406 39 24 C 39 24.808594 38.935868 25.600966 38.8125 26.375 L 45.5 24 L 38.8125 21.625 z M 11.84375 32.78125 L 8.8125 39.1875 L 15.21875 36.15625 C 13.928569 35.220966 12.779034 34.071431 11.84375 32.78125 z M 36.15625 32.78125 C 35.229789 34.05926 34.087617 35.194799 32.8125 36.125 L 39.21875 39.1875 L 36.15625 32.78125 z M 21.625 38.8125 L 24 45.5 L 26.375 38.8125 C 25.600966 38.935868 24.808594 39 24 39 C 23.191406 39 22.399034 38.935868 21.625 38.8125 z "
- id="path7492" />
- <path
- style="fill:none;fill-opacity:1;stroke:url(#radialGradient4081);stroke-width:0.84646249;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
- d="M 24 5.25 L 22.65625 9.0625 C 23.098888 9.0231486 23.547187 9 24 9 C 24.452813 9 24.901112 9.0231486 25.34375 9.0625 L 24 5.25 z M 10.78125 10.75 L 12.5 14.375 C 13.071538 13.694089 13.724004 13.038745 14.40625 12.46875 L 10.78125 10.75 z M 37.25 10.75 L 33.625 12.46875 C 34.304675 13.038189 34.961811 13.695325 35.53125 14.375 L 37.25 10.75 z M 9.0625 22.625 L 5.28125 23.96875 L 9.0625 25.3125 C 9.024981 24.880146 9 24.442031 9 24 C 9 23.536406 9.0212735 23.077908 9.0625 22.625 z M 38.9375 22.65625 C 38.976851 23.098888 39 23.547187 39 24 C 39 24.452813 38.976851 24.901112 38.9375 25.34375 L 42.71875 24 L 38.9375 22.65625 z M 35.53125 33.59375 C 34.958293 34.27954 34.309985 34.957363 33.625 35.53125 L 37.25 37.25 L 35.53125 33.59375 z M 12.5 33.625 L 10.78125 37.21875 L 14.375 35.5 C 13.702932 34.935884 13.064116 34.297068 12.5 33.625 z M 22.65625 38.9375 L 24 42.71875 L 25.34375 38.9375 C 24.901112 38.976851 24.452813 39 24 39 C 23.547187 39 23.098888 38.976851 22.65625 38.9375 z "
- id="path7494" />
+ <g id="layer1">
+ <g>
+ <g opacity="0.7">
+ <path d="M 24 2.5 L 21.625 9.1875 C 22.399034 9.0641318 23.191406 9 24 9 C 24.808594 9 25.600966 9.0641317 26.375 9.1875 L 24 2.5 z M 8.8125 8.78125 L 11.84375 15.21875 C 12.779034 13.928569 13.928569 12.779034 15.21875 11.84375 L 8.8125 8.78125 z M 39.21875 8.78125 L 32.78125 11.84375 C 34.071431 12.779034 35.220966 13.928569 36.15625 15.21875 L 39.21875 8.78125 z M 9.1875 21.59375 L 2.5 23.96875 L 9.1875 26.34375 C 9.0673373 25.57952 9 24.797813 9 24 C 9 23.180625 9.0608858 22.377571 9.1875 21.59375 z M 38.8125 21.625 C 38.935868 22.399034 39 23.191406 39 24 C 39 24.808594 38.935868 25.600966 38.8125 26.375 L 45.5 24 L 38.8125 21.625 z M 11.84375 32.78125 L 8.8125 39.1875 L 15.21875 36.15625 C 13.928569 35.220966 12.779034 34.071431 11.84375 32.78125 z M 36.15625 32.78125 C 35.229789 34.05926 34.087617 35.194799 32.8125 36.125 L 39.21875 39.1875 L 36.15625 32.78125 z M 21.625 38.8125 L 24 45.5 L 26.375 38.8125 C 25.600966 38.935868 24.808594 39 24 39 C 23.191406 39 22.399034 38.935868 21.625 38.8125 z " fill="#fce94f" fill-opacity="1" stroke="#fcaf3e" stroke-width="0.73732895" stroke-linecap="square" stroke-linejoin="miter" stroke-miterlimit="4" stroke-dasharray="none" stroke-opacity="1"/>
+ <path d="M 24 5.25 L 22.65625 9.0625 C 23.098888 9.0231486 23.547187 9 24 9 C 24.452813 9 24.901112 9.0231486 25.34375 9.0625 L 24 5.25 z M 10.78125 10.75 L 12.5 14.375 C 13.071538 13.694089 13.724004 13.038745 14.40625 12.46875 L 10.78125 10.75 z M 37.25 10.75 L 33.625 12.46875 C 34.304675 13.038189 34.961811 13.695325 35.53125 14.375 L 37.25 10.75 z M 9.0625 22.625 L 5.28125 23.96875 L 9.0625 25.3125 C 9.024981 24.880146 9 24.442031 9 24 C 9 23.536406 9.0212735 23.077908 9.0625 22.625 z M 38.9375 22.65625 C 38.976851 23.098888 39 23.547187 39 24 C 39 24.452813 38.976851 24.901112 38.9375 25.34375 L 42.71875 24 L 38.9375 22.65625 z M 35.53125 33.59375 C 34.958293 34.27954 34.309985 34.957363 33.625 35.53125 L 37.25 37.25 L 35.53125 33.59375 z M 12.5 33.625 L 10.78125 37.21875 L 14.375 35.5 C 13.702932 34.935884 13.064116 34.297068 12.5 33.625 z M 22.65625 38.9375 L 24 42.71875 L 25.34375 38.9375 C 24.901112 38.976851 24.452813 39 24 39 C 23.547187 39 23.098888 38.976851 22.65625 38.9375 z " fill="none" fill-opacity="1" stroke="url(#radialGradient4081)" stroke-width="0.84646249" stroke-linecap="square" stroke-linejoin="miter" stroke-miterlimit="4" stroke-dasharray="none" stroke-opacity="1"/>
</g>
- <g
- id="g4046">
- <g
- id="g3931">
- <path
- inkscape:r_cy="true"
- inkscape:r_cx="true"
- transform="matrix(0.778062,-1.061285,1.061287,0.778062,67.47952,3.641324)"
- d="M -22.5 -17.5 A 9.5 9.5 0 1 1 -41.5,-17.5 A 9.5 9.5 0 1 1 -22.5 -17.5 z"
- sodipodi:ry="9.5"
- sodipodi:rx="9.5"
- sodipodi:cy="-17.5"
- sodipodi:cx="-32"
- id="path7498"
- style="fill:#ffee54;fill-opacity:1;stroke:#fcaf3e;stroke-width:0.75991178;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
- sodipodi:type="arc" />
- <path
- inkscape:r_cy="true"
- inkscape:r_cx="true"
- transform="matrix(1.244257,-0.167707,0.216642,1.251844,67.61648,40.527)"
- d="M -22.5 -17.5 A 9.5 9.5 0 1 1 -41.5,-17.5 A 9.5 9.5 0 1 1 -22.5 -17.5 z"
- sodipodi:ry="9.5"
- sodipodi:rx="9.5"
- sodipodi:cy="-17.5"
- sodipodi:cx="-32"
- id="path7500"
- style="fill:url(#radialGradient4020);fill-opacity:1;stroke:none;stroke-width:1.01737845;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
- sodipodi:type="arc" />
- <path
- inkscape:r_cy="true"
- inkscape:r_cx="true"
- transform="matrix(0.715791,-0.976349,0.97635,0.715792,64.00044,5.269544)"
- d="M -22.5 -17.5 A 9.5 9.5 0 1 1 -41.5,-17.5 A 9.5 9.5 0 1 1 -22.5 -17.5 z"
- sodipodi:ry="9.5"
- sodipodi:rx="9.5"
- sodipodi:cy="-17.5"
- sodipodi:cx="-32"
- id="path7502"
- style="fill:none;fill-opacity:1;stroke:url(#linearGradient3168);stroke-width:0.82601947;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
- sodipodi:type="arc" />
+ <g>
+ <g>
+ <path transform="matrix(0.778062,-1.061285,1.061287,0.778062,67.47952,3.641324)" d="M -22.5 -17.5 A 9.5 9.5 0 1 1 -41.5,-17.5 A 9.5 9.5 0 1 1 -22.5 -17.5 z" fill="#ffee54" fill-opacity="1" stroke="#fcaf3e" stroke-width="0.75991178" stroke-linecap="square" stroke-linejoin="miter" stroke-miterlimit="4" stroke-dasharray="none" stroke-opacity="1"/>
+ <path transform="matrix(1.244257,-0.167707,0.216642,1.251844,67.61648,40.527)" d="M -22.5 -17.5 A 9.5 9.5 0 1 1 -41.5,-17.5 A 9.5 9.5 0 1 1 -22.5 -17.5 z" fill="url(#radialGradient4020)" fill-opacity="1" stroke="none" stroke-width="1.01737845" stroke-linecap="square" stroke-linejoin="miter" stroke-miterlimit="4" stroke-dasharray="none" stroke-opacity="1"/>
+ <path transform="matrix(0.715791,-0.976349,0.97635,0.715792,64.00044,5.269544)" d="M -22.5 -17.5 A 9.5 9.5 0 1 1 -41.5,-17.5 A 9.5 9.5 0 1 1 -22.5 -17.5 z" fill="none" fill-opacity="1" stroke="url(#linearGradient3168)" stroke-width="0.82601947" stroke-linecap="square" stroke-linejoin="miter" stroke-miterlimit="4" stroke-dasharray="none" stroke-opacity="1"/>
</g>
</g>
</g>
diff --git a/demos/embedded/weatherinfo/icons/weather-thundershower.svg b/demos/embedded/weatherinfo/icons/weather-thundershower.svg
index 406abfa..e1c2286 100644
--- a/demos/embedded/weatherinfo/icons/weather-thundershower.svg
+++ b/demos/embedded/weatherinfo/icons/weather-thundershower.svg
@@ -1,4064 +1,108 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!-- Created with Inkscape (http://www.inkscape.org/) -->
-<svg
- xmlns:dc="http://purl.org/dc/elements/1.1/"
- xmlns:cc="http://creativecommons.org/ns#"
- xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns:svg="http://www.w3.org/2000/svg"
- xmlns="http://www.w3.org/2000/svg"
- xmlns:xlink="http://www.w3.org/1999/xlink"
- xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
- xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
- width="48px"
- height="48px"
- id="svg1306"
- sodipodi:version="0.32"
- inkscape:version="0.46"
- sodipodi:docbase="/home/rcollier/Work/Novell/Tango/weather"
- sodipodi:docname="weather-thundershower.svg"
- inkscape:output_extension="org.inkscape.output.svg.inkscape">
- <defs
- id="defs1308">
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient5358"
- id="linearGradient12225"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(-5.358613e-2,0.102849,-9.281434e-2,-5.937964e-2,198.9051,-255.6893)"
- x1="6.8942904"
- y1="-359.82382"
- x2="27.400387"
- y2="-381.30222" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient5346"
- id="radialGradient12223"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(7.065158e-2,4.154803e-2,-6.201499e-2,0.109408,207.4757,-189.8182)"
- cx="21.920311"
- cy="-382.96454"
- fx="21.920311"
- fy="-382.96454"
- r="21.743534" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient5358"
- id="linearGradient12213"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(-5.358613e-2,0.102849,-9.281434e-2,-5.937964e-2,198.9051,-255.6893)"
- x1="6.8942904"
- y1="-359.82382"
- x2="27.400387"
- y2="-381.30222" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient5346"
- id="radialGradient12211"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(7.065158e-2,4.154803e-2,-6.201499e-2,0.109408,207.4757,-189.8182)"
- cx="21.920311"
- cy="-382.96454"
- fx="21.920311"
- fy="-382.96454"
- r="21.743534" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient5358"
- id="linearGradient12253"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(-5.358613e-2,0.102849,-9.281434e-2,-5.937964e-2,198.9051,-255.6893)"
- x1="6.8942904"
- y1="-359.82382"
- x2="27.400387"
- y2="-381.30222" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient5346"
- id="radialGradient12251"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(7.065158e-2,4.154803e-2,-6.201499e-2,0.109408,207.4757,-189.8182)"
- cx="21.920311"
- cy="-382.96454"
- fx="21.920311"
- fy="-382.96454"
- r="21.743534" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient5358"
- id="linearGradient12249"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(-5.358613e-2,0.102849,-9.281434e-2,-5.937964e-2,198.9051,-255.6893)"
- x1="6.8942904"
- y1="-359.82382"
- x2="27.400387"
- y2="-381.30222" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient5346"
- id="radialGradient12247"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(7.065158e-2,4.154803e-2,-6.201499e-2,0.109408,207.4757,-189.8182)"
- cx="21.920311"
- cy="-382.96454"
- fx="21.920311"
- fy="-382.96454"
- r="21.743534" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient5358"
- id="linearGradient12201"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(-5.358613e-2,0.102849,-9.281434e-2,-5.937964e-2,198.9051,-255.6893)"
- x1="6.8942904"
- y1="-359.82382"
- x2="27.400387"
- y2="-381.30222" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient5346"
- id="radialGradient12199"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(7.065158e-2,4.154803e-2,-6.201499e-2,0.109408,207.4757,-189.8182)"
- cx="21.920311"
- cy="-382.96454"
- fx="21.920311"
- fy="-382.96454"
- r="21.743534" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient5358">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop5360" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop5362" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient5358"
- id="linearGradient12237"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(-5.358613e-2,0.102849,-9.281434e-2,-5.937964e-2,198.9051,-255.6893)"
- x1="6.8942904"
- y1="-359.82382"
- x2="27.400387"
- y2="-381.30222" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient5346">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop5348" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop5350" />
- </linearGradient>
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient5346"
- id="radialGradient12235"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(7.065158e-2,4.154803e-2,-6.201499e-2,0.109408,207.4757,-189.8182)"
- cx="21.920311"
- cy="-382.96454"
- fx="21.920311"
- fy="-382.96454"
- r="21.743534" />
- <inkscape:perspective
- sodipodi:type="inkscape:persp3d"
- inkscape:vp_x="0 : 24 : 1"
- inkscape:vp_y="0 : 1000 : 0"
- inkscape:vp_z="48 : 24 : 1"
- inkscape:persp3d-origin="24 : 16 : 1"
- id="perspective22454" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient8397">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop8400" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop8402" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient8397"
- id="linearGradient13503"
- gradientUnits="userSpaceOnUse"
- x1="238.00478"
- y1="-388.47476"
- x2="245.65462"
- y2="-382.64539" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient8315">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop8317" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop8319" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient8315"
- id="linearGradient13501"
- gradientUnits="userSpaceOnUse"
- x1="230.87598"
- y1="-390.43951"
- x2="235.25652"
- y2="-386.95901" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient8381">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop8383" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop8385" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient8381"
- id="linearGradient13499"
- gradientUnits="userSpaceOnUse"
- x1="246.74042"
- y1="-391.31381"
- x2="252.69785"
- y2="-385.35165" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient8331">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop8333" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop8335" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient8331"
- id="linearGradient13497"
- gradientUnits="userSpaceOnUse"
- x1="240.07379"
- y1="-393.40720"
- x2="245.82706"
- y2="-388.55029" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient8302">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop8304" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop8306" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient8302"
- id="linearGradient13495"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(69.00000,155.0000)"
- x1="228.50261"
- y1="-392.30591"
- x2="266.36395"
- y2="-379.26862" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6538"
- id="linearGradient13143"
- gradientUnits="userSpaceOnUse"
- x1="284.80219"
- y1="-441.23294"
- x2="288.89954"
- y2="-436.83109" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6549"
- id="linearGradient13141"
- gradientUnits="userSpaceOnUse"
- x1="286.66589"
- y1="-439.48358"
- x2="289.76562"
- y2="-436.70703" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6527"
- id="linearGradient13139"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-35.00007,207.0001)"
- x1="275.94193"
- y1="-437.10501"
- x2="279.97546"
- y2="-431.91833" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6538"
- id="linearGradient13137"
- gradientUnits="userSpaceOnUse"
- x1="285.94086"
- y1="-439.93900"
- x2="289.39124"
- y2="-436.44290" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6513"
- id="linearGradient13135"
- gradientUnits="userSpaceOnUse"
- x1="286.51172"
- y1="-441.29074"
- x2="289.85379"
- y2="-436.14453" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6497"
- id="linearGradient13133"
- gradientUnits="userSpaceOnUse"
- x1="287.51730"
- y1="-439.75281"
- x2="289.67633"
- y2="-436.32199" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6470"
- id="linearGradient13131"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-34.00007,207.0001)"
- x1="271.02170"
- y1="-441.05182"
- x2="285.02859"
- y2="-431.96991" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient8874"
- id="linearGradient11195"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(14.15871,7.082841)"
- x1="-190.47688"
- y1="-332.51181"
- x2="-196.19046"
- y2="-328.53433" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient8904"
- id="linearGradient11193"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(13.80516,2.840199)"
- x1="-191.28896"
- y1="-328.07861"
- x2="-192.41396"
- y2="-315.32861" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient8874">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop8876" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop8878" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient8874"
- id="linearGradient11191"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(14.15871,7.082841)"
- x1="-190.47688"
- y1="-332.51181"
- x2="-196.19046"
- y2="-328.53433" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient8904">
- <stop
- style="stop-color:#fcaf3e;stop-opacity:1;"
- offset="0"
- id="stop8906" />
- <stop
- style="stop-color:#fcaf3e;stop-opacity:0;"
- offset="1"
- id="stop8908" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient8904"
- id="linearGradient11189"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(13.80516,2.840199)"
- x1="-191.28896"
- y1="-328.07861"
- x2="-192.41396"
- y2="-315.32861" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient5123"
- id="radialGradient13211"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.930946,6.185702e-16,-2.842711e-16,0.448244,245.3644,184.9256)"
- cx="-229.75000"
- cy="-343.95554"
- fx="-229.75000"
- fy="-343.95554"
- r="14.501380" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6538"
- id="linearGradient13157"
- gradientUnits="userSpaceOnUse"
- x1="284.80219"
- y1="-441.23294"
- x2="288.89954"
- y2="-436.83109" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient6549">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop6551" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop6553" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6549"
- id="linearGradient13155"
- gradientUnits="userSpaceOnUse"
- x1="286.66589"
- y1="-439.48358"
- x2="289.76562"
- y2="-436.70703" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient6527">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop6530" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop6532" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6527"
- id="linearGradient13153"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-35.00007,207.0001)"
- x1="275.94193"
- y1="-437.10501"
- x2="279.97546"
- y2="-431.91833" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient6538">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop6540" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop6542" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6538"
- id="linearGradient13151"
- gradientUnits="userSpaceOnUse"
- x1="285.94086"
- y1="-439.93900"
- x2="289.39124"
- y2="-436.44290" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient6513">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop6515" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop6517" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6513"
- id="linearGradient13149"
- gradientUnits="userSpaceOnUse"
- x1="286.51172"
- y1="-441.29074"
- x2="289.85379"
- y2="-436.14453" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient6497">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop6499" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop6501" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6497"
- id="linearGradient13147"
- gradientUnits="userSpaceOnUse"
- x1="287.51730"
- y1="-439.75281"
- x2="289.67633"
- y2="-436.32199" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient6470">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop6472" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop6474" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6470"
- id="linearGradient13145"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-34.00007,207.0001)"
- x1="271.02170"
- y1="-441.05182"
- x2="285.02859"
- y2="-431.96991" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient5123">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop5125" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop5127" />
- </linearGradient>
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient5123"
- id="radialGradient13068"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.930946,6.185702e-16,-2.842711e-16,0.448244,229.9269,180.9261)"
- cx="-229.75000"
- cy="-343.95554"
- fx="-229.75000"
- fy="-343.95554"
- r="14.501380" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient6840">
- <stop
- style="stop-color:#ad7fa8;stop-opacity:1;"
- offset="0"
- id="stop6842" />
- <stop
- style="stop-color:#ad7fa8;stop-opacity:0;"
- offset="1"
- id="stop6844" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient6828">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop6830" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop6832" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient6537">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop6539" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop6541" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient2298">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop2300" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop2302" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient3347">
- <stop
- style="stop-color:#edd400;stop-opacity:1;"
- offset="0"
- id="stop3349" />
- <stop
- style="stop-color:#edd400;stop-opacity:0;"
- offset="1"
- id="stop3351" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient2527">
- <stop
- style="stop-color:#fcaf3e;stop-opacity:1;"
- offset="0"
- id="stop2529" />
- <stop
- style="stop-color:#fcaf3e;stop-opacity:0;"
- offset="1"
- id="stop2531" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient2500">
- <stop
- style="stop-color:#fce94f;stop-opacity:1;"
- offset="0"
- id="stop2502" />
- <stop
- style="stop-color:#fce94f;stop-opacity:0;"
- offset="1"
- id="stop2504" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient2392">
- <stop
- style="stop-color:#eeeeec;stop-opacity:1;"
- offset="0"
- id="stop2394" />
- <stop
- style="stop-color:#eeeeec;stop-opacity:0;"
- offset="1"
- id="stop2396" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient2254">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop2256" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop2258" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2263"
- gradientUnits="userSpaceOnUse"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581"
- gradientTransform="translate(-1.608757,3.097272)" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2267"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(3.555020,0.968578)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2271"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(9.263651,3.495228)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2275"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(8.497184,-2.330824)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2279"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(14.46340,2.014073)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2283"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.751222,0.000000,0.000000,1.000000,-0.197462,7.612867)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2287"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.284317,0.000000,0.000000,1.000000,14.61983,4.452335)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2291"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.834148,0.000000,0.000000,1.000000,14.87610,8.569976)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2295"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.462015,0.000000,0.000000,1.262475,-5.687359,1.810269)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2299"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.106619,0.000000,0.000000,1.000000,6.383860,6.500432)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2303"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(1.707748,-5.784024)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2311"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(-0.976307,0.000000,0.000000,1.000000,53.94753,8.563694)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2350"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(16.14002,24.66420)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2352"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-0.932144,25.87240)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2354"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(5.356636,23.86870)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2356"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(11.19027,26.52035)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2358"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(10.30638,19.27251)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2360"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.751222,0.000000,0.000000,1.000000,0.229156,30.76299)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2362"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.284317,0.000000,0.000000,1.000000,16.67145,27.22746)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2364"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.834148,0.000000,0.000000,1.000000,17.05272,31.47010)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2366"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.462015,0.000000,0.000000,1.262475,-4.010744,24.96040)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2368"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.106619,0.000000,0.000000,1.000000,8.185476,29.52556)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2370"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(4.207586,21.30544)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2372"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(-0.976307,0.000000,0.000000,1.000000,56.12415,32.08882)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2392"
- id="linearGradient2398"
- x1="6.6651416"
- y1="13.802798"
- x2="41.403877"
- y2="13.802798"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.992367,0.000000,0.000000,0.990713,1.128541,5.404075)" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2426"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(14.46340,2.014073)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2428"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(8.497184,-2.330824)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2430"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-1.608757,3.097272)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2432"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(3.555020,0.968578)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2434"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(9.263651,3.495228)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2436"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.751222,0.000000,0.000000,1.000000,-0.197462,7.612867)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2438"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.284317,0.000000,0.000000,1.000000,14.61983,4.452335)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2440"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.834148,0.000000,0.000000,1.000000,14.87610,8.569976)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2442"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.462015,0.000000,0.000000,1.262475,-5.687359,1.810269)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2444"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.106619,0.000000,0.000000,1.000000,6.383860,6.500432)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2446"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(-0.976307,0.000000,0.000000,1.000000,53.94753,8.563694)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2392"
- id="linearGradient2448"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.992367,0.000000,0.000000,0.990713,1.128541,5.404075)"
- x1="6.6651416"
- y1="13.802798"
- x2="41.403877"
- y2="13.802798" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2392"
- id="linearGradient2451"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.992367,0.000000,0.000000,0.990713,4.378541,10.65407)"
- x1="6.6651416"
- y1="13.802798"
- x2="41.403877"
- y2="13.802798" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2457"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.106619,0.000000,0.000000,1.000000,9.633860,11.75043)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2460"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.462015,0.000000,0.000000,1.262475,-2.437359,7.060269)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2463"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.834148,0.000000,0.000000,1.000000,18.12610,13.81998)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2469"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.751222,0.000000,0.000000,1.000000,3.052538,12.86287)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2472"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(12.51365,8.745228)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2475"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(6.805020,6.218578)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2478"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(1.641243,8.347272)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2483"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(0.842481,-3.998086)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2500"
- id="linearGradient2506"
- x1="37.000000"
- y1="-21.750000"
- x2="53.750000"
- y2="9.0000000"
- gradientUnits="userSpaceOnUse" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2500"
- id="linearGradient2509"
- gradientUnits="userSpaceOnUse"
- x1="37.000000"
- y1="-21.750000"
- x2="53.750000"
- y2="9.0000000"
- gradientTransform="matrix(0.889091,0.000000,0.000000,0.617886,-4.771368,39.81402)" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2500"
- id="linearGradient2513"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.605509,0.000000,0.000000,0.710542,-0.224971,42.19500)"
- x1="38.857941"
- y1="-18.407482"
- x2="53.750000"
- y2="9.0000000" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2500"
- id="linearGradient2517"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.414169,0.000000,0.000000,0.778853,-1.910724,36.87850)"
- x1="37.000000"
- y1="-21.750000"
- x2="53.750000"
- y2="9.0000000" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2527"
- id="linearGradient2533"
- x1="-25.137094"
- y1="-1.2491118"
- x2="-35.652866"
- y2="-24.884460"
- gradientUnits="userSpaceOnUse" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2537"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(17.33814,3.415985)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2541"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(13.40064,1.353485)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2555"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-7.499805,1.708617)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient2563"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-0.726830,2.481141)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3347"
- id="linearGradient3353"
- x1="23.303862"
- y1="29.115711"
- x2="29.750000"
- y2="46.092930"
- gradientUnits="userSpaceOnUse" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient3366"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(13.40064,1.353485)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient3368"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(1.641243,8.347272)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient3370"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(6.805020,6.218578)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient3372"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(12.51365,8.745228)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient3374"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.751222,0.000000,0.000000,1.000000,3.052538,12.86287)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient3376"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.834148,0.000000,0.000000,1.000000,18.12610,13.81998)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient3378"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.462015,0.000000,0.000000,1.262475,-2.437359,7.060269)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient3380"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.106619,0.000000,0.000000,1.000000,9.633860,11.75043)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient3383"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.106619,0.000000,0.000000,1.000000,0.795022,6.093572)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient3386"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.462015,0.000000,0.000000,1.262475,-11.27620,1.403411)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient3389"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.834148,0.000000,0.000000,1.000000,9.287262,8.163122)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient3392"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.751222,0.000000,0.000000,1.000000,-5.786300,7.206012)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient3395"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(3.674812,3.088370)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient3398"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-2.033818,0.561720)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient3401"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-7.197595,2.690414)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient3405"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(4.561802,-4.303373)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- gradientUnits="userSpaceOnUse"
- y2="-4.4493785"
- x2="-34.700153"
- y1="-37.550461"
- x1="-27.006643"
- id="linearGradient2916"
- xlink:href="#linearGradient2298"
- inkscape:collect="always" />
- <linearGradient
- y2="-24.884460"
- x2="-35.652866"
- y1="-1.2491118"
- x1="-25.137094"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2914"
- xlink:href="#linearGradient2527"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(57.97693,-10.56876)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2912"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(-0.976307,0.000000,0.000000,1.000000,123.1162,-5.446357)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2910"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.106619,0.000000,0.000000,1.000000,0.795022,6.093572)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2908"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.462015,0.000000,0.000000,1.262475,-11.27620,1.403411)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2906"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(0.834148,0.000000,0.000000,1.000000,9.287262,8.163122)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2904"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(0.751222,0.000000,0.000000,1.000000,-5.786300,7.206012)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2902"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(3.674812,3.088370)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2900"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(-2.033818,0.561720)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2898"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(-7.197595,2.690414)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2896"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="-24.884460"
- x2="-35.652866"
- y1="-1.2491118"
- x1="-25.137094"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2894"
- xlink:href="#linearGradient2527"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.284317,0.000000,0.000000,1.000000,79.36909,-3.193747)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2892"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.462015,0.000000,0.000000,1.262475,56.25514,-12.39388)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2890"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(88.49344,-9.697877)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2888"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(4.561802,-4.303373)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2886"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(-7.197595,2.690414)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2884"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(-2.033818,0.561720)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2882"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(3.674812,3.088370)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2880"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(0.751222,0.000000,0.000000,1.000000,-5.786300,7.206012)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2878"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(0.834148,0.000000,0.000000,1.000000,9.287262,8.163122)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2876"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.462015,0.000000,0.000000,1.262475,-11.27620,1.403411)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2874"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.106619,0.000000,0.000000,1.000000,0.795022,6.093572)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2872"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.106619,0.000000,0.000000,1.000000,9.633860,11.75043)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2870"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.462015,0.000000,0.000000,1.262475,-2.437359,7.060269)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2868"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(0.834148,0.000000,0.000000,1.000000,18.12610,13.81998)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2866"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(0.751222,0.000000,0.000000,1.000000,3.052538,12.86287)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2864"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(12.51365,8.745228)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2862"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(6.805020,6.218578)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2860"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(1.641243,8.347272)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2858"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(13.40064,1.353485)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2856"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- gradientUnits="userSpaceOnUse"
- y2="46.092930"
- x2="29.750000"
- y1="29.115711"
- x1="23.303862"
- id="linearGradient2854"
- xlink:href="#linearGradient3347"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(-0.726830,2.481141)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2852"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(-7.499805,1.708617)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2850"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(13.40064,1.353485)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2848"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(17.33814,3.415985)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2846"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- gradientUnits="userSpaceOnUse"
- y2="-24.884460"
- x2="-35.652866"
- y1="-1.2491118"
- x1="-25.137094"
- id="linearGradient2844"
- xlink:href="#linearGradient2527"
- inkscape:collect="always" />
- <linearGradient
- y2="9.0000000"
- x2="53.750000"
- y1="-21.750000"
- x1="37.000000"
- gradientTransform="matrix(0.414169,0.000000,0.000000,0.778853,-1.910724,36.87850)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2842"
- xlink:href="#linearGradient2500"
- inkscape:collect="always" />
- <linearGradient
- y2="9.0000000"
- x2="53.750000"
- y1="-18.407482"
- x1="38.857941"
- gradientTransform="matrix(0.605509,0.000000,0.000000,0.710542,-0.224971,42.19500)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2840"
- xlink:href="#linearGradient2500"
- inkscape:collect="always" />
- <linearGradient
- gradientTransform="matrix(0.889091,0.000000,0.000000,0.617886,-4.771368,39.81402)"
- y2="9.0000000"
- x2="53.750000"
- y1="-21.750000"
- x1="37.000000"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2838"
- xlink:href="#linearGradient2500"
- inkscape:collect="always" />
- <linearGradient
- gradientUnits="userSpaceOnUse"
- y2="9.0000000"
- x2="53.750000"
- y1="-21.750000"
- x1="37.000000"
- id="linearGradient2836"
- xlink:href="#linearGradient2500"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(0.842481,-3.998086)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2834"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(1.641243,8.347272)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2832"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(6.805020,6.218578)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2830"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(12.51365,8.745228)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2828"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(0.751222,0.000000,0.000000,1.000000,3.052538,12.86287)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2826"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(0.834148,0.000000,0.000000,1.000000,18.12610,13.81998)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2824"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.462015,0.000000,0.000000,1.262475,-2.437359,7.060269)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2822"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.106619,0.000000,0.000000,1.000000,9.633860,11.75043)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2820"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="13.802798"
- x2="41.403877"
- y1="13.802798"
- x1="6.6651416"
- gradientTransform="matrix(0.992367,0.000000,0.000000,0.990713,4.378541,10.65407)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2818"
- xlink:href="#linearGradient2392"
- inkscape:collect="always" />
- <linearGradient
- y2="13.802798"
- x2="41.403877"
- y1="13.802798"
- x1="6.6651416"
- gradientTransform="matrix(0.992367,0.000000,0.000000,0.990713,1.128541,5.404075)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2816"
- xlink:href="#linearGradient2392"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(-0.976307,0.000000,0.000000,1.000000,53.94753,8.563694)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2814"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.106619,0.000000,0.000000,1.000000,6.383860,6.500432)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2812"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.462015,0.000000,0.000000,1.262475,-5.687359,1.810269)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2810"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(0.834148,0.000000,0.000000,1.000000,14.87610,8.569976)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2808"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.284317,0.000000,0.000000,1.000000,14.61983,4.452335)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2806"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(0.751222,0.000000,0.000000,1.000000,-0.197462,7.612867)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2804"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(9.263651,3.495228)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2802"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(3.555020,0.968578)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2800"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(-1.608757,3.097272)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2798"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(8.497184,-2.330824)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2796"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(14.46340,2.014073)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2794"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- gradientTransform="matrix(0.992367,0.000000,0.000000,0.990713,1.128541,5.404075)"
- gradientUnits="userSpaceOnUse"
- y2="13.802798"
- x2="41.403877"
- y1="13.802798"
- x1="6.6651416"
- id="linearGradient2792"
- xlink:href="#linearGradient2392"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(-0.976307,0.000000,0.000000,1.000000,56.12415,32.08882)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2790"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(4.207586,21.30544)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2788"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.106619,0.000000,0.000000,1.000000,8.185476,29.52556)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2786"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.462015,0.000000,0.000000,1.262475,-4.010744,24.96040)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2784"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(0.834148,0.000000,0.000000,1.000000,17.05272,31.47010)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2782"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.284317,0.000000,0.000000,1.000000,16.67145,27.22746)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2780"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(0.751222,0.000000,0.000000,1.000000,0.229156,30.76299)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2778"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(10.30638,19.27251)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2776"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(11.19027,26.52035)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2774"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(5.356636,23.86870)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2772"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(-0.932144,25.87240)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2770"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(16.14002,24.66420)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2768"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(-0.976307,0.000000,0.000000,1.000000,53.94753,8.563694)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2766"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(1.707748,-5.784024)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2764"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.106619,0.000000,0.000000,1.000000,6.383860,6.500432)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2762"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.462015,0.000000,0.000000,1.262475,-5.687359,1.810269)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2760"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(0.834148,0.000000,0.000000,1.000000,14.87610,8.569976)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2758"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.284317,0.000000,0.000000,1.000000,14.61983,4.452335)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2756"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(0.751222,0.000000,0.000000,1.000000,-0.197462,7.612867)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2754"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(14.46340,2.014073)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2752"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(8.497184,-2.330824)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2750"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(9.263651,3.495228)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2748"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(3.555020,0.968578)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2746"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- gradientTransform="translate(-1.608757,3.097272)"
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2744"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- gradientUnits="userSpaceOnUse"
- y2="-4.4493785"
- x2="-34.700153"
- y1="-37.550461"
- x1="-27.006643"
- id="linearGradient2304"
- xlink:href="#linearGradient2298"
- inkscape:collect="always" />
- <linearGradient
- y2="-24.884460"
- x2="-35.652866"
- y1="-1.2491118"
- x1="-25.137094"
- gradientUnits="userSpaceOnUse"
- id="linearGradient1557"
- xlink:href="#linearGradient2527"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(57.97693,-10.56876)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient1538"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(-0.976307,0.000000,0.000000,1.000000,123.1162,-5.446357)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient1536"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.106619,0.000000,0.000000,1.000000,0.795022,6.093572)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient1534"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.462015,0.000000,0.000000,1.262475,-11.27620,1.403411)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient1532"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(0.834148,0.000000,0.000000,1.000000,9.287262,8.163122)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient1530"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(0.751222,0.000000,0.000000,1.000000,-5.786300,7.206012)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient1528"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(3.674812,3.088370)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient1526"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(-2.033818,0.561720)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient1524"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(-7.197595,2.690414)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient1522"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="-24.884460"
- x2="-35.652866"
- y1="-1.2491118"
- x1="-25.137094"
- gradientUnits="userSpaceOnUse"
- id="linearGradient1520"
- xlink:href="#linearGradient2527"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.284317,0.000000,0.000000,1.000000,79.36909,-3.193747)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient1518"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.462015,0.000000,0.000000,1.262475,56.25514,-12.39388)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient1516"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(88.49344,-9.697877)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient1514"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(4.561802,-4.303373)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5957"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(-7.197595,2.690414)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5955"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(-2.033818,0.561720)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5953"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(3.674812,3.088370)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5951"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(0.751222,0.000000,0.000000,1.000000,-5.786300,7.206012)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5949"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(0.834148,0.000000,0.000000,1.000000,9.287262,8.163122)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5947"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.462015,0.000000,0.000000,1.262475,-11.27620,1.403411)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5945"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.106619,0.000000,0.000000,1.000000,0.795022,6.093572)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5943"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.106619,0.000000,0.000000,1.000000,9.633860,11.75043)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5941"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.462015,0.000000,0.000000,1.262475,-2.437359,7.060269)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5939"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(0.834148,0.000000,0.000000,1.000000,18.12610,13.81998)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5937"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(0.751222,0.000000,0.000000,1.000000,3.052538,12.86287)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5935"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(12.51365,8.745228)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5933"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(6.805020,6.218578)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5931"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(1.641243,8.347272)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5929"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(13.40064,1.353485)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5927"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- gradientUnits="userSpaceOnUse"
- y2="46.092930"
- x2="29.750000"
- y1="29.115711"
- x1="23.303862"
- id="linearGradient5925"
- xlink:href="#linearGradient3347"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(-0.726830,2.481141)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5923"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(-7.499805,1.708617)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5921"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(13.40064,1.353485)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5919"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(17.33814,3.415985)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5917"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- gradientUnits="userSpaceOnUse"
- y2="-24.884460"
- x2="-35.652866"
- y1="-1.2491118"
- x1="-25.137094"
- id="linearGradient5915"
- xlink:href="#linearGradient2527"
- inkscape:collect="always" />
- <linearGradient
- y2="9.0000000"
- x2="53.750000"
- y1="-21.750000"
- x1="37.000000"
- gradientTransform="matrix(0.414169,0.000000,0.000000,0.778853,-1.910724,36.87850)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5913"
- xlink:href="#linearGradient2500"
- inkscape:collect="always" />
- <linearGradient
- y2="9.0000000"
- x2="53.750000"
- y1="-18.407482"
- x1="38.857941"
- gradientTransform="matrix(0.605509,0.000000,0.000000,0.710542,-0.224971,42.19500)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5911"
- xlink:href="#linearGradient2500"
- inkscape:collect="always" />
- <linearGradient
- gradientTransform="matrix(0.889091,0.000000,0.000000,0.617886,-4.771368,39.81402)"
- y2="9.0000000"
- x2="53.750000"
- y1="-21.750000"
- x1="37.000000"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5909"
- xlink:href="#linearGradient2500"
- inkscape:collect="always" />
- <linearGradient
- gradientUnits="userSpaceOnUse"
- y2="9.0000000"
- x2="53.750000"
- y1="-21.750000"
- x1="37.000000"
- id="linearGradient5907"
- xlink:href="#linearGradient2500"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(0.842481,-3.998086)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5905"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(1.641243,8.347272)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5903"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(6.805020,6.218578)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5901"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(12.51365,8.745228)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5899"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(0.751222,0.000000,0.000000,1.000000,3.052538,12.86287)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5897"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(0.834148,0.000000,0.000000,1.000000,18.12610,13.81998)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5895"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.462015,0.000000,0.000000,1.262475,-2.437359,7.060269)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5893"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.106619,0.000000,0.000000,1.000000,9.633860,11.75043)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5891"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="13.802798"
- x2="41.403877"
- y1="13.802798"
- x1="6.6651416"
- gradientTransform="matrix(0.992367,0.000000,0.000000,0.990713,4.378541,10.65407)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5889"
- xlink:href="#linearGradient2392"
- inkscape:collect="always" />
- <linearGradient
- y2="13.802798"
- x2="41.403877"
- y1="13.802798"
- x1="6.6651416"
- gradientTransform="matrix(0.992367,0.000000,0.000000,0.990713,1.128541,5.404075)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5887"
- xlink:href="#linearGradient2392"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(-0.976307,0.000000,0.000000,1.000000,53.94753,8.563694)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5885"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.106619,0.000000,0.000000,1.000000,6.383860,6.500432)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5883"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.462015,0.000000,0.000000,1.262475,-5.687359,1.810269)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5881"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(0.834148,0.000000,0.000000,1.000000,14.87610,8.569976)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5879"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.284317,0.000000,0.000000,1.000000,14.61983,4.452335)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5877"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(0.751222,0.000000,0.000000,1.000000,-0.197462,7.612867)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5875"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(9.263651,3.495228)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5873"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(3.555020,0.968578)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5871"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(-1.608757,3.097272)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5869"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(8.497184,-2.330824)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5867"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(14.46340,2.014073)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5865"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- gradientTransform="matrix(0.992367,0.000000,0.000000,0.990713,1.128541,5.404075)"
- gradientUnits="userSpaceOnUse"
- y2="13.802798"
- x2="41.403877"
- y1="13.802798"
- x1="6.6651416"
- id="linearGradient5863"
- xlink:href="#linearGradient2392"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(-0.976307,0.000000,0.000000,1.000000,56.12415,32.08882)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5861"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(4.207586,21.30544)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5859"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.106619,0.000000,0.000000,1.000000,8.185476,29.52556)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5857"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.462015,0.000000,0.000000,1.262475,-4.010744,24.96040)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5855"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(0.834148,0.000000,0.000000,1.000000,17.05272,31.47010)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5853"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.284317,0.000000,0.000000,1.000000,16.67145,27.22746)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5851"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(0.751222,0.000000,0.000000,1.000000,0.229156,30.76299)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5849"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(10.30638,19.27251)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5847"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(11.19027,26.52035)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5845"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(5.356636,23.86870)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5843"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(-0.932144,25.87240)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5841"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(16.14002,24.66420)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5839"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(-0.976307,0.000000,0.000000,1.000000,53.94753,8.563694)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5837"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(1.707748,-5.784024)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5835"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.106619,0.000000,0.000000,1.000000,6.383860,6.500432)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5833"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.462015,0.000000,0.000000,1.262475,-5.687359,1.810269)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5831"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(0.834148,0.000000,0.000000,1.000000,14.87610,8.569976)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5829"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(1.284317,0.000000,0.000000,1.000000,14.61983,4.452335)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5827"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="matrix(0.751222,0.000000,0.000000,1.000000,-0.197462,7.612867)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5825"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(14.46340,2.014073)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5823"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(8.497184,-2.330824)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5821"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(9.263651,3.495228)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5819"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientTransform="translate(3.555020,0.968578)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5817"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- gradientTransform="translate(-1.608757,3.097272)"
- y2="16.268581"
- x2="16.851845"
- y1="9.2859020"
- x1="14.260854"
- gradientUnits="userSpaceOnUse"
- id="linearGradient5815"
- xlink:href="#linearGradient2254"
- inkscape:collect="always" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6098"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-9.002513,11.93373)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6101"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(-0.976307,0.000000,0.000000,1.000000,56.13675,17.05613)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6118"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.284317,0.000000,0.000000,1.000000,12.38965,19.30874)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6121"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.462015,0.000000,0.000000,1.262475,-10.72430,10.10861)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6124"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(21.51400,12.80461)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6179"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-7.197595,2.690414)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6181"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-2.033818,0.561720)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6183"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(3.674812,3.088370)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6185"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.751222,0.000000,0.000000,1.000000,-5.786300,7.206012)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6187"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.834148,0.000000,0.000000,1.000000,9.287262,8.163122)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6189"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.462015,0.000000,0.000000,1.262475,-11.27620,1.403411)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6191"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.106619,0.000000,0.000000,1.000000,0.795022,6.093572)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2527"
- id="linearGradient6193"
- gradientUnits="userSpaceOnUse"
- x1="-25.137094"
- y1="-1.2491118"
- x2="-35.652866"
- y2="-24.884460" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6196"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.106619,0.000000,0.000000,1.000000,2.209129,10.83861)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6199"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.462015,0.000000,0.000000,1.262475,-9.862093,6.148450)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6202"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.834148,0.000000,0.000000,1.000000,10.70137,12.90816)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6205"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.751222,0.000000,0.000000,1.000000,-4.372193,11.95105)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6208"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(5.088919,7.833409)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6211"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-0.619711,5.306759)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6214"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-5.783488,7.435453)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6242"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-5.783488,7.435453)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6244"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-0.619711,5.306759)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6246"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(5.088919,7.833409)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6248"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.834148,0.000000,0.000000,1.000000,10.70137,12.90816)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6250"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.462015,0.000000,0.000000,1.262475,-9.862093,6.148450)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6252"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.106619,0.000000,0.000000,1.000000,2.209129,10.83861)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6254"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-9.002513,11.93373)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6257"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-0.297112,4.275205)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6260"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.106619,0.000000,0.000000,1.000000,10.91453,3.180085)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6263"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.462015,0.000000,0.000000,1.262475,-1.156692,-1.510075)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6266"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.834148,0.000000,0.000000,1.000000,19.40677,5.249635)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6269"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(13.79432,0.174884)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6272"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(8.085690,-2.351766)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6275"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(2.921913,-0.223072)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6311"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(21.51400,12.80461)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6313"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.462015,0.000000,0.000000,1.262475,-10.72430,10.10861)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6315"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.284317,0.000000,0.000000,1.000000,12.38965,19.30874)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6317"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.462015,0.000000,0.000000,1.262475,-1.156692,-1.510075)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6319"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(-0.976307,0.000000,0.000000,1.000000,56.13675,17.05613)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6321"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-5.783488,7.435453)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6323"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-0.619711,5.306759)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6325"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(5.088919,7.833409)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6327"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.834148,0.000000,0.000000,1.000000,10.70137,12.90816)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6329"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.462015,0.000000,0.000000,1.262475,-9.862093,6.148450)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6331"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.106619,0.000000,0.000000,1.000000,2.209129,10.83861)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6333"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-9.002513,11.93373)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6335"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(2.921913,-0.223072)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6337"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(8.085690,-2.351766)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6339"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(13.79432,0.174884)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6341"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.834148,0.000000,0.000000,1.000000,19.40677,5.249635)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6343"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.106619,0.000000,0.000000,1.000000,10.91453,3.180085)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6537"
- id="linearGradient6543"
- x1="27.320963"
- y1="44.228481"
- x2="52.328316"
- y2="44.228481"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.526962,0.000000,-2.763717e-17,0.972572,16.13182,0.843286)" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6537"
- id="linearGradient6547"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.526962,0.000000,-4.388782e-16,0.972572,25.91493,0.633642)"
- x1="27.320963"
- y1="44.228481"
- x2="52.328316"
- y2="44.228481" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6537"
- id="linearGradient6551"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.526962,0.000000,-4.388782e-16,0.972572,36.25638,0.633643)"
- x1="27.320963"
- y1="44.228481"
- x2="45.115814"
- y2="44.228455" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6537"
- id="linearGradient6559"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.526962,0.000000,-2.332577e-16,0.972572,16.13182,0.843286)"
- x1="27.320963"
- y1="44.228481"
- x2="52.328316"
- y2="44.228481" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6537"
- id="linearGradient6561"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.526962,0.000000,-6.444987e-16,0.972572,25.91493,0.633642)"
- x1="27.320963"
- y1="44.228481"
- x2="52.328316"
- y2="44.228481" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6537"
- id="linearGradient6563"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.526962,0.000000,-6.444987e-16,0.972572,36.25638,0.633643)"
- x1="27.320963"
- y1="44.228481"
- x2="45.115814"
- y2="44.228455" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6537"
- id="linearGradient6566"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.577744,0.000000,-6.388715e-16,1.006703,39.04124,-0.702889)"
- x1="27.320963"
- y1="44.228481"
- x2="45.115814"
- y2="44.228455" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6537"
- id="linearGradient6569"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.577744,0.000000,-6.388715e-16,1.006703,27.70322,-0.702890)"
- x1="27.320963"
- y1="44.228481"
- x2="52.328316"
- y2="44.228481" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6537"
- id="linearGradient6572"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.577744,0.000000,-1.880005e-16,1.006703,16.97734,-0.485889)"
- x1="27.320963"
- y1="44.228481"
- x2="52.328316"
- y2="44.228481" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6576"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.132431,0.000000,0.000000,1.016132,10.54485,-4.728138)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6579"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.853605,0.000000,0.000000,1.016132,19.23518,-2.625202)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6582"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.023325,0.000000,0.000000,1.016132,13.49182,-7.781819)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6585"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.023325,0.000000,0.000000,1.016132,7.650036,-10.34923)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6588"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.023325,0.000000,0.000000,1.016132,2.365814,-8.186195)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6599"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(-0.999079,0.000000,0.000000,1.016132,56.82188,9.371753)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6603"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.496116,0.000000,0.000000,1.282841,-1.807925,-9.493960)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6606"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.314274,0.000000,0.000000,1.016132,12.05438,11.66070)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6609"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.496116,0.000000,0.000000,1.282841,-11.59870,2.312158)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6612"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.023325,0.000000,0.000000,1.016132,21.39156,5.051653)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6618"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.023325,0.000000,0.000000,1.016132,16.09471,2.948843)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6622"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.023325,0.000000,0.000000,1.016132,11.32174,9.047633)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6624"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-5.783488,7.435453)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6626"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-0.619711,5.306759)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6628"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(5.088919,7.833409)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6630"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.834148,0.000000,0.000000,1.000000,10.70137,12.90816)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6632"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.462015,0.000000,0.000000,1.262475,-9.862093,6.148450)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6634"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.106619,0.000000,0.000000,1.000000,2.209129,10.83861)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2254"
- id="linearGradient6636"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-9.002513,11.93373)"
- x1="14.260854"
- y1="9.2859020"
- x2="16.851845"
- y2="16.268581" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6828"
- id="radialGradient6834"
- cx="15.147860"
- cy="23.822156"
- fx="15.147860"
- fy="23.822156"
- r="12.852140"
- gradientTransform="matrix(0.654874,0.000000,0.000000,0.398574,2.663540,12.14676)"
- gradientUnits="userSpaceOnUse" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6840"
- id="radialGradient6846"
- cx="32.583473"
- cy="25.240442"
- fx="32.583473"
- fy="25.240442"
- r="8.4165270"
- gradientTransform="matrix(1.000000,0.000000,0.000000,0.503823,-15.00000,6.042836)"
- gradientUnits="userSpaceOnUse" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6828"
- id="radialGradient6852"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(-0.654874,0.000000,0.000000,0.398574,44.33646,16.14676)"
- cx="15.147860"
- cy="23.822156"
- fx="15.147860"
- fy="23.822156"
- r="12.852140" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6840"
- id="radialGradient6854"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(-1.000000,0.000000,0.000000,0.503823,62.00000,10.04284)"
- cx="32.583473"
- cy="25.240442"
- fx="32.583473"
- fy="25.240442"
- r="8.4165270" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient5346"
- id="radialGradient23739"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(7.065158e-2,4.154803e-2,-6.201499e-2,0.109408,207.4757,-189.8182)"
- cx="21.920311"
- cy="-382.96454"
- fx="21.920311"
- fy="-382.96454"
- r="21.743534" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient5358"
- id="linearGradient23741"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(-5.358613e-2,0.102849,-9.281434e-2,-5.937964e-2,198.9051,-255.6893)"
- x1="6.8942904"
- y1="-359.82382"
- x2="27.400387"
- y2="-381.30222" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient5346"
- id="radialGradient23743"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(7.065158e-2,4.154803e-2,-6.201499e-2,0.109408,207.4757,-189.8182)"
- cx="21.920311"
- cy="-382.96454"
- fx="21.920311"
- fy="-382.96454"
- r="21.743534" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient5358"
- id="linearGradient23745"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(-5.358613e-2,0.102849,-9.281434e-2,-5.937964e-2,198.9051,-255.6893)"
- x1="6.8942904"
- y1="-359.82382"
- x2="27.400387"
- y2="-381.30222" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient5346"
- id="radialGradient23747"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(7.065158e-2,4.154803e-2,-6.201499e-2,0.109408,207.4757,-189.8182)"
- cx="21.920311"
- cy="-382.96454"
- fx="21.920311"
- fy="-382.96454"
- r="21.743534" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient5358"
- id="linearGradient23749"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(-5.358613e-2,0.102849,-9.281434e-2,-5.937964e-2,198.9051,-255.6893)"
- x1="6.8942904"
- y1="-359.82382"
- x2="27.400387"
- y2="-381.30222" />
+<svg xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="48px" height="48px" id="svg1306">
+ <defs id="defs1308">
+ <linearGradient id="linearGradient5358">
+ <stop offset="0" id="stop5360" stop-color="#ffffff" stop-opacity="1"/>
+ <stop offset="1" id="stop5362" stop-color="#ffffff" stop-opacity="0"/>
+ </linearGradient>
+ <linearGradient id="linearGradient5346">
+ <stop offset="0" id="stop5348" stop-color="#ffffff" stop-opacity="1"/>
+ <stop offset="1" id="stop5350" stop-color="#ffffff" stop-opacity="0"/>
+ </linearGradient>
+ <linearGradient id="linearGradient8397">
+ <stop offset="0" id="stop8400" stop-color="#ffffff" stop-opacity="1"/>
+ <stop offset="1" id="stop8402" stop-color="#ffffff" stop-opacity="0"/>
+ </linearGradient>
+ <linearGradient xlink:href="#linearGradient8397" id="linearGradient13503" gradientUnits="userSpaceOnUse" x1="238.00478" y1="-388.47476" x2="245.65462" y2="-382.64539"/>
+ <linearGradient id="linearGradient8315">
+ <stop offset="0" id="stop8317" stop-color="#ffffff" stop-opacity="1"/>
+ <stop offset="1" id="stop8319" stop-color="#ffffff" stop-opacity="0"/>
+ </linearGradient>
+ <linearGradient xlink:href="#linearGradient8315" id="linearGradient13501" gradientUnits="userSpaceOnUse" x1="230.87598" y1="-390.43951" x2="235.25652" y2="-386.95901"/>
+ <linearGradient id="linearGradient8381">
+ <stop offset="0" id="stop8383" stop-color="#ffffff" stop-opacity="1"/>
+ <stop offset="1" id="stop8385" stop-color="#ffffff" stop-opacity="0"/>
+ </linearGradient>
+ <linearGradient xlink:href="#linearGradient8381" id="linearGradient13499" gradientUnits="userSpaceOnUse" x1="246.74042" y1="-391.31381" x2="252.69785" y2="-385.35165"/>
+ <linearGradient id="linearGradient8331">
+ <stop offset="0" id="stop8333" stop-color="#ffffff" stop-opacity="1"/>
+ <stop offset="1" id="stop8335" stop-color="#ffffff" stop-opacity="0"/>
+ </linearGradient>
+ <linearGradient xlink:href="#linearGradient8331" id="linearGradient13497" gradientUnits="userSpaceOnUse" x1="240.07379" y1="-393.40720" x2="245.82706" y2="-388.55029"/>
+ <linearGradient id="linearGradient8302">
+ <stop offset="0" id="stop8304" stop-color="#ffffff" stop-opacity="1"/>
+ <stop offset="1" id="stop8306" stop-color="#ffffff" stop-opacity="0"/>
+ </linearGradient>
+ <linearGradient xlink:href="#linearGradient8302" id="linearGradient13495" gradientUnits="userSpaceOnUse" gradientTransform="translate(69.00000,155.0000)" x1="228.50261" y1="-392.30591" x2="266.36395" y2="-379.26862"/>
+ <linearGradient xlink:href="#linearGradient6538" id="linearGradient13143" gradientUnits="userSpaceOnUse" x1="284.80219" y1="-441.23294" x2="288.89954" y2="-436.83109"/>
+ <linearGradient xlink:href="#linearGradient6549" id="linearGradient13141" gradientUnits="userSpaceOnUse" x1="286.66589" y1="-439.48358" x2="289.76562" y2="-436.70703"/>
+ <linearGradient xlink:href="#linearGradient6527" id="linearGradient13139" gradientUnits="userSpaceOnUse" gradientTransform="translate(-35.00007,207.0001)" x1="275.94193" y1="-437.10501" x2="279.97546" y2="-431.91833"/>
+ <linearGradient xlink:href="#linearGradient6538" id="linearGradient13137" gradientUnits="userSpaceOnUse" x1="285.94086" y1="-439.93900" x2="289.39124" y2="-436.44290"/>
+ <linearGradient xlink:href="#linearGradient6513" id="linearGradient13135" gradientUnits="userSpaceOnUse" x1="286.51172" y1="-441.29074" x2="289.85379" y2="-436.14453"/>
+ <linearGradient xlink:href="#linearGradient6497" id="linearGradient13133" gradientUnits="userSpaceOnUse" x1="287.51730" y1="-439.75281" x2="289.67633" y2="-436.32199"/>
+ <linearGradient xlink:href="#linearGradient6470" id="linearGradient13131" gradientUnits="userSpaceOnUse" gradientTransform="translate(-34.00007,207.0001)" x1="271.02170" y1="-441.05182" x2="285.02859" y2="-431.96991"/>
+ <linearGradient xlink:href="#linearGradient8874" id="linearGradient11195" gradientUnits="userSpaceOnUse" gradientTransform="translate(14.15871,7.082841)" x1="-190.47688" y1="-332.51181" x2="-196.19046" y2="-328.53433"/>
+ <linearGradient xlink:href="#linearGradient8904" id="linearGradient11193" gradientUnits="userSpaceOnUse" gradientTransform="translate(13.80516,2.840199)" x1="-191.28896" y1="-328.07861" x2="-192.41396" y2="-315.32861"/>
+ <linearGradient id="linearGradient8874">
+ <stop offset="0" id="stop8876" stop-color="#ffffff" stop-opacity="1"/>
+ <stop offset="1" id="stop8878" stop-color="#ffffff" stop-opacity="0"/>
+ </linearGradient>
+ <linearGradient xlink:href="#linearGradient8874" id="linearGradient11191" gradientUnits="userSpaceOnUse" gradientTransform="translate(14.15871,7.082841)" x1="-190.47688" y1="-332.51181" x2="-196.19046" y2="-328.53433"/>
+ <linearGradient id="linearGradient8904">
+ <stop offset="0" id="stop8906" stop-color="#fcaf3e" stop-opacity="1"/>
+ <stop offset="1" id="stop8908" stop-color="#fcaf3e" stop-opacity="0"/>
+ </linearGradient>
+ <linearGradient xlink:href="#linearGradient8904" id="linearGradient11189" gradientUnits="userSpaceOnUse" gradientTransform="translate(13.80516,2.840199)" x1="-191.28896" y1="-328.07861" x2="-192.41396" y2="-315.32861"/>
+ <radialGradient xlink:href="#linearGradient5123" id="radialGradient13211" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.930946,6.185702e-16,-2.842711e-16,0.448244,245.3644,184.9256)" cx="-229.75000" cy="-343.95554" fx="-229.75000" fy="-343.95554" r="14.501380"/>
+ <linearGradient xlink:href="#linearGradient6538" id="linearGradient13157" gradientUnits="userSpaceOnUse" x1="284.80219" y1="-441.23294" x2="288.89954" y2="-436.83109"/>
+ <linearGradient id="linearGradient6549">
+ <stop offset="0" id="stop6551" stop-color="#ffffff" stop-opacity="1"/>
+ <stop offset="1" id="stop6553" stop-color="#ffffff" stop-opacity="0"/>
+ </linearGradient>
+ <linearGradient xlink:href="#linearGradient6549" id="linearGradient13155" gradientUnits="userSpaceOnUse" x1="286.66589" y1="-439.48358" x2="289.76562" y2="-436.70703"/>
+ <linearGradient id="linearGradient6527">
+ <stop offset="0" id="stop6530" stop-color="#ffffff" stop-opacity="1"/>
+ <stop offset="1" id="stop6532" stop-color="#ffffff" stop-opacity="0"/>
+ </linearGradient>
+ <linearGradient xlink:href="#linearGradient6527" id="linearGradient13153" gradientUnits="userSpaceOnUse" gradientTransform="translate(-35.00007,207.0001)" x1="275.94193" y1="-437.10501" x2="279.97546" y2="-431.91833"/>
+ <linearGradient id="linearGradient6538">
+ <stop offset="0" id="stop6540" stop-color="#ffffff" stop-opacity="1"/>
+ <stop offset="1" id="stop6542" stop-color="#ffffff" stop-opacity="0"/>
+ </linearGradient>
+ <linearGradient xlink:href="#linearGradient6538" id="linearGradient13151" gradientUnits="userSpaceOnUse" x1="285.94086" y1="-439.93900" x2="289.39124" y2="-436.44290"/>
+ <linearGradient id="linearGradient6513">
+ <stop offset="0" id="stop6515" stop-color="#ffffff" stop-opacity="1"/>
+ <stop offset="1" id="stop6517" stop-color="#ffffff" stop-opacity="0"/>
+ </linearGradient>
+ <linearGradient xlink:href="#linearGradient6513" id="linearGradient13149" gradientUnits="userSpaceOnUse" x1="286.51172" y1="-441.29074" x2="289.85379" y2="-436.14453"/>
+ <linearGradient id="linearGradient6497">
+ <stop offset="0" id="stop6499" stop-color="#ffffff" stop-opacity="1"/>
+ <stop offset="1" id="stop6501" stop-color="#ffffff" stop-opacity="0"/>
+ </linearGradient>
+ <linearGradient xlink:href="#linearGradient6497" id="linearGradient13147" gradientUnits="userSpaceOnUse" x1="287.51730" y1="-439.75281" x2="289.67633" y2="-436.32199"/>
+ <linearGradient id="linearGradient6470">
+ <stop offset="0" id="stop6472" stop-color="#ffffff" stop-opacity="1"/>
+ <stop offset="1" id="stop6474" stop-color="#ffffff" stop-opacity="0"/>
+ </linearGradient>
+ <linearGradient xlink:href="#linearGradient6470" id="linearGradient13145" gradientUnits="userSpaceOnUse" gradientTransform="translate(-34.00007,207.0001)" x1="271.02170" y1="-441.05182" x2="285.02859" y2="-431.96991"/>
+ <linearGradient id="linearGradient5123">
+ <stop offset="0" id="stop5125" stop-color="#ffffff" stop-opacity="1"/>
+ <stop offset="1" id="stop5127" stop-color="#ffffff" stop-opacity="0"/>
+ </linearGradient>
+ <radialGradient xlink:href="#linearGradient5123" id="radialGradient13068" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.930946,6.185702e-16,-2.842711e-16,0.448244,229.9269,180.9261)" cx="-229.75000" cy="-343.95554" fx="-229.75000" fy="-343.95554" r="14.501380"/>
+ <radialGradient xlink:href="#linearGradient5346" id="radialGradient23739" gradientUnits="userSpaceOnUse" gradientTransform="matrix(7.065158e-2,4.154803e-2,-6.201499e-2,0.109408,207.4757,-189.8182)" cx="21.920311" cy="-382.96454" fx="21.920311" fy="-382.96454" r="21.743534"/>
+ <linearGradient xlink:href="#linearGradient5358" id="linearGradient23741" gradientUnits="userSpaceOnUse" gradientTransform="matrix(-5.358613e-2,0.102849,-9.281434e-2,-5.937964e-2,198.9051,-255.6893)" x1="6.8942904" y1="-359.82382" x2="27.400387" y2="-381.30222"/>
+ <radialGradient xlink:href="#linearGradient5346" id="radialGradient23743" gradientUnits="userSpaceOnUse" gradientTransform="matrix(7.065158e-2,4.154803e-2,-6.201499e-2,0.109408,207.4757,-189.8182)" cx="21.920311" cy="-382.96454" fx="21.920311" fy="-382.96454" r="21.743534"/>
+ <linearGradient xlink:href="#linearGradient5358" id="linearGradient23745" gradientUnits="userSpaceOnUse" gradientTransform="matrix(-5.358613e-2,0.102849,-9.281434e-2,-5.937964e-2,198.9051,-255.6893)" x1="6.8942904" y1="-359.82382" x2="27.400387" y2="-381.30222"/>
+ <radialGradient xlink:href="#linearGradient5346" id="radialGradient23747" gradientUnits="userSpaceOnUse" gradientTransform="matrix(7.065158e-2,4.154803e-2,-6.201499e-2,0.109408,207.4757,-189.8182)" cx="21.920311" cy="-382.96454" fx="21.920311" fy="-382.96454" r="21.743534"/>
+ <linearGradient xlink:href="#linearGradient5358" id="linearGradient23749" gradientUnits="userSpaceOnUse" gradientTransform="matrix(-5.358613e-2,0.102849,-9.281434e-2,-5.937964e-2,198.9051,-255.6893)" x1="6.8942904" y1="-359.82382" x2="27.400387" y2="-381.30222"/>
</defs>
- <sodipodi:namedview
- id="base"
- pagecolor="#ffffff"
- bordercolor="#666666"
- borderopacity="1.0"
- inkscape:pageopacity="0.0"
- inkscape:pageshadow="2"
- inkscape:zoom="1"
- inkscape:cx="24"
- inkscape:cy="24"
- inkscape:current-layer="layer1"
- showgrid="true"
- inkscape:grid-bbox="true"
- inkscape:document-units="px"
- inkscape:window-width="982"
- inkscape:window-height="965"
- inkscape:window-x="1280"
- inkscape:window-y="28"
- inkscape:showpageshadow="false" />
- <metadata
- id="metadata1311">
+
+ <metadata id="metadata1311">
<rdf:RDF>
- <cc:Work
- rdf:about="">
+ <cc:Work rdf:about="">
<dc:format>image/svg+xml</dc:format>
- <dc:type
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
<dc:title>weather-storm</dc:title>
<dc:date>January 2006</dc:date>
<dc:creator>
@@ -4079,508 +123,101 @@
<rdf:li>notify</rdf:li>
</rdf:Bag>
</dc:subject>
- <cc:license
- rdf:resource="http://creativecommons.org/licenses/by-sa/2.0/" />
+ <cc:license rdf:resource="http://creativecommons.org/licenses/by-sa/2.0/"/>
</cc:Work>
- <cc:License
- rdf:about="http://creativecommons.org/licenses/by-sa/2.0/">
- <cc:permits
- rdf:resource="http://web.resource.org/cc/Reproduction" />
- <cc:permits
- rdf:resource="http://web.resource.org/cc/Distribution" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/Notice" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/Attribution" />
- <cc:permits
- rdf:resource="http://web.resource.org/cc/DerivativeWorks" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/ShareAlike" />
+ <cc:License rdf:about="http://creativecommons.org/licenses/by-sa/2.0/">
+ <cc:permits rdf:resource="http://web.resource.org/cc/Reproduction"/>
+ <cc:permits rdf:resource="http://web.resource.org/cc/Distribution"/>
+ <cc:requires rdf:resource="http://web.resource.org/cc/Notice"/>
+ <cc:requires rdf:resource="http://web.resource.org/cc/Attribution"/>
+ <cc:permits rdf:resource="http://web.resource.org/cc/DerivativeWorks"/>
+ <cc:requires rdf:resource="http://web.resource.org/cc/ShareAlike"/>
</cc:License>
</rdf:RDF>
</metadata>
- <g
- id="layer1"
- inkscape:label="Layer 1"
- inkscape:groupmode="layer">
- <g
- id="g15505">
- <g
- transform="translate(-287.0204,244.9995)"
- id="g12825">
- <path
- style="opacity:1.0000000;fill:#555753;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- d="M 311.50000,-242.99998 C 308.72758,-242.99998 306.39177,-241.42627 305.09375,-239.18748 C 304.14939,-239.66252 303.12856,-239.99998 302.00000,-239.99998 C 298.13600,-239.99998 295.00000,-236.86398 295.00000,-232.99998 C 295.00000,-229.13598 298.13600,-225.99998 302.00000,-225.99998 C 304.41967,-225.99998 306.43009,-227.31930 307.68750,-229.18748 C 308.82170,-228.49786 310.07648,-227.99998 311.50000,-227.99998 C 312.41312,-227.99998 313.25295,-228.23200 314.06250,-228.53123 C 314.57244,-227.66350 315.24162,-226.95151 316.06250,-226.37498 C 316.05526,-226.24460 316.00000,-226.13216 316.00000,-225.99998 C 316.00000,-222.13598 319.13599,-218.99998 323.00000,-218.99998 C 326.86400,-218.99998 330.00000,-222.13598 330.00000,-225.99998 C 330.00000,-228.36967 328.74102,-230.35832 326.93750,-231.62498 C 326.94474,-231.75536 327.00000,-231.86780 327.00000,-231.99998 C 327.00000,-235.86398 323.86401,-238.99998 320.00000,-238.99998 C 319.37730,-238.99998 318.82481,-238.77779 318.25000,-238.62498 C 317.05547,-241.18382 314.50866,-242.99998 311.50000,-242.99998 z "
- id="path12827" />
- <path
- style="opacity:1.0000000;fill:url(#linearGradient13495);fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- d="M 311.50000,-241.99998 C 308.71952,-241.99998 306.36549,-240.23813 305.43750,-237.78123 C 304.45208,-238.49067 303.30607,-238.99998 302.00000,-238.99998 C 298.68800,-238.99998 296.00000,-236.31198 296.00000,-232.99998 C 296.00000,-229.68798 298.68800,-226.99998 302.00000,-226.99998 C 304.42775,-226.99998 306.49324,-228.45556 307.43750,-230.53123 C 308.55826,-229.61367 309.93964,-228.99998 311.50000,-228.99998 C 312.57454,-228.99998 313.54428,-229.31894 314.43750,-229.78123 C 314.83590,-228.78147 315.53864,-227.99491 316.37500,-227.34373 C 316.19499,-226.74811 316.00000,-226.15408 316.00000,-225.49998 C 316.00000,-221.91198 318.91200,-218.99998 322.50000,-218.99998 C 326.08800,-218.99998 329.00000,-221.91198 329.00000,-225.49998 C 329.00000,-227.86077 327.66567,-229.83017 325.78125,-230.96873 C 325.84384,-231.31596 326.00000,-231.63481 326.00000,-231.99998 C 326.00000,-235.31198 323.31200,-237.99998 320.00000,-237.99998 C 319.14702,-237.99998 318.32870,-237.82130 317.59375,-237.49998 C 316.73998,-240.09386 314.37851,-241.99997 311.50000,-241.99998 z "
- id="path12829" />
- <path
- sodipodi:type="arc"
- style="opacity:1.0000000;fill:#888a85;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- id="path12831"
- sodipodi:cx="241.80843"
- sodipodi:cy="-383.66660"
- sodipodi:rx="6.7396116"
- sodipodi:ry="6.7396116"
- d="M 248.54804 -383.66660 A 6.7396116 6.7396116 0 1 1 235.06881,-383.66660 A 6.7396116 6.7396116 0 1 1 248.54804 -383.66660 z"
- transform="matrix(0.964447,0.000000,0.000000,0.964447,89.28852,144.5262)" />
- <g
- id="g12833">
- <path
- transform="matrix(0.882630,0.000000,0.000000,0.882630,96.18078,108.1091)"
- d="M 250.18322 -389.30136 A 6.2313786 6.2313786 0 1 1 237.72046,-389.30136 A 6.2313786 6.2313786 0 1 1 250.18322 -389.30136 z"
- sodipodi:ry="6.2313786"
- sodipodi:rx="6.2313786"
- sodipodi:cy="-389.30136"
- sodipodi:cx="243.95184"
- id="path12835"
- style="opacity:1.0000000;fill:#888a85;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- sodipodi:type="arc" />
- <path
- transform="matrix(0.882630,0.000000,0.000000,0.882630,96.18078,108.1091)"
- d="M 250.18322 -389.30136 A 6.2313786 6.2313786 0 1 1 237.72046,-389.30136 A 6.2313786 6.2313786 0 1 1 250.18322 -389.30136 z"
- sodipodi:ry="6.2313786"
- sodipodi:rx="6.2313786"
- sodipodi:cy="-389.30136"
- sodipodi:cx="243.95184"
- id="path12837"
- style="opacity:0.49444440;fill:url(#linearGradient13497);fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- sodipodi:type="arc" />
+ <g id="layer1">
+ <g>
+ <g transform="translate(-287.0204,244.9995)">
+ <path d="M 311.50000,-242.99998 C 308.72758,-242.99998 306.39177,-241.42627 305.09375,-239.18748 C 304.14939,-239.66252 303.12856,-239.99998 302.00000,-239.99998 C 298.13600,-239.99998 295.00000,-236.86398 295.00000,-232.99998 C 295.00000,-229.13598 298.13600,-225.99998 302.00000,-225.99998 C 304.41967,-225.99998 306.43009,-227.31930 307.68750,-229.18748 C 308.82170,-228.49786 310.07648,-227.99998 311.50000,-227.99998 C 312.41312,-227.99998 313.25295,-228.23200 314.06250,-228.53123 C 314.57244,-227.66350 315.24162,-226.95151 316.06250,-226.37498 C 316.05526,-226.24460 316.00000,-226.13216 316.00000,-225.99998 C 316.00000,-222.13598 319.13599,-218.99998 323.00000,-218.99998 C 326.86400,-218.99998 330.00000,-222.13598 330.00000,-225.99998 C 330.00000,-228.36967 328.74102,-230.35832 326.93750,-231.62498 C 326.94474,-231.75536 327.00000,-231.86780 327.00000,-231.99998 C 327.00000,-235.86398 323.86401,-238.99998 320.00000,-238.99998 C 319.37730,-238.99998 318.82481,-238.77779 318.25000,-238.62498 C 317.05547,-241.18382 314.50866,-242.99998 311.50000,-242.99998 z " opacity="1.0000000" fill="#555753" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path d="M 311.50000,-241.99998 C 308.71952,-241.99998 306.36549,-240.23813 305.43750,-237.78123 C 304.45208,-238.49067 303.30607,-238.99998 302.00000,-238.99998 C 298.68800,-238.99998 296.00000,-236.31198 296.00000,-232.99998 C 296.00000,-229.68798 298.68800,-226.99998 302.00000,-226.99998 C 304.42775,-226.99998 306.49324,-228.45556 307.43750,-230.53123 C 308.55826,-229.61367 309.93964,-228.99998 311.50000,-228.99998 C 312.57454,-228.99998 313.54428,-229.31894 314.43750,-229.78123 C 314.83590,-228.78147 315.53864,-227.99491 316.37500,-227.34373 C 316.19499,-226.74811 316.00000,-226.15408 316.00000,-225.49998 C 316.00000,-221.91198 318.91200,-218.99998 322.50000,-218.99998 C 326.08800,-218.99998 329.00000,-221.91198 329.00000,-225.49998 C 329.00000,-227.86077 327.66567,-229.83017 325.78125,-230.96873 C 325.84384,-231.31596 326.00000,-231.63481 326.00000,-231.99998 C 326.00000,-235.31198 323.31200,-237.99998 320.00000,-237.99998 C 319.14702,-237.99998 318.32870,-237.82130 317.59375,-237.49998 C 316.73998,-240.09386 314.37851,-241.99997 311.50000,-241.99998 z " opacity="1.0000000" fill="url(#linearGradient13495)" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path d="M 248.54804 -383.66660 A 6.7396116 6.7396116 0 1 1 235.06881,-383.66660 A 6.7396116 6.7396116 0 1 1 248.54804 -383.66660 z" transform="matrix(0.964447,0.000000,0.000000,0.964447,89.28852,144.5262)" opacity="1.0000000" fill="#888a85" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <g>
+ <path transform="matrix(0.882630,0.000000,0.000000,0.882630,96.18078,108.1091)" d="M 250.18322 -389.30136 A 6.2313786 6.2313786 0 1 1 237.72046,-389.30136 A 6.2313786 6.2313786 0 1 1 250.18322 -389.30136 z" opacity="1.0000000" fill="#888a85" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path transform="matrix(0.882630,0.000000,0.000000,0.882630,96.18078,108.1091)" d="M 250.18322 -389.30136 A 6.2313786 6.2313786 0 1 1 237.72046,-389.30136 A 6.2313786 6.2313786 0 1 1 250.18322 -389.30136 z" opacity="0.49444440" fill="url(#linearGradient13497)" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
</g>
- <g
- id="g12839">
- <path
- transform="matrix(0.911728,0.000000,0.000000,0.911728,90.45407,120.2336)"
- d="M 257.25429 -385.78790 A 6.0325046 6.0325046 0 1 1 245.18928,-385.78790 A 6.0325046 6.0325046 0 1 1 257.25429 -385.78790 z"
- sodipodi:ry="6.0325046"
- sodipodi:rx="6.0325046"
- sodipodi:cy="-385.78790"
- sodipodi:cx="251.22179"
- id="path12841"
- style="opacity:1.0000000;fill:#888a85;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- sodipodi:type="arc" />
- <path
- transform="matrix(0.911728,0.000000,0.000000,0.911728,90.45407,120.2336)"
- d="M 257.25429 -385.78790 A 6.0325046 6.0325046 0 1 1 245.18928,-385.78790 A 6.0325046 6.0325046 0 1 1 257.25429 -385.78790 z"
- sodipodi:ry="6.0325046"
- sodipodi:rx="6.0325046"
- sodipodi:cy="-385.78790"
- sodipodi:cx="251.22179"
- id="path12843"
- style="opacity:0.49444440;fill:url(#linearGradient13499);fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- sodipodi:type="arc" />
+ <g>
+ <path transform="matrix(0.911728,0.000000,0.000000,0.911728,90.45407,120.2336)" d="M 257.25429 -385.78790 A 6.0325046 6.0325046 0 1 1 245.18928,-385.78790 A 6.0325046 6.0325046 0 1 1 257.25429 -385.78790 z" opacity="1.0000000" fill="#888a85" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path transform="matrix(0.911728,0.000000,0.000000,0.911728,90.45407,120.2336)" d="M 257.25429 -385.78790 A 6.0325046 6.0325046 0 1 1 245.18928,-385.78790 A 6.0325046 6.0325046 0 1 1 257.25429 -385.78790 z" opacity="0.49444440" fill="url(#linearGradient13499)" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
</g>
- <g
- id="g12845">
- <path
- transform="matrix(1.142799,0.000000,0.000000,1.142799,35.23229,210.2770)"
- d="M 237.80885 -387.88715 A 4.3752232 4.3752232 0 1 1 229.05840,-387.88715 A 4.3752232 4.3752232 0 1 1 237.80885 -387.88715 z"
- sodipodi:ry="4.3752232"
- sodipodi:rx="4.3752232"
- sodipodi:cy="-387.88715"
- sodipodi:cx="233.43362"
- id="path12847"
- style="opacity:1.0000000;fill:#888a85;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- sodipodi:type="arc" />
- <path
- transform="matrix(1.142799,0.000000,0.000000,1.142799,35.23229,210.2770)"
- d="M 237.80885 -387.88715 A 4.3752232 4.3752232 0 1 1 229.05840,-387.88715 A 4.3752232 4.3752232 0 1 1 237.80885 -387.88715 z"
- sodipodi:ry="4.3752232"
- sodipodi:rx="4.3752232"
- sodipodi:cy="-387.88715"
- sodipodi:cx="233.43362"
- id="path12849"
- style="opacity:0.49444440;fill:url(#linearGradient13501);fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- sodipodi:type="arc" />
+ <g>
+ <path transform="matrix(1.142799,0.000000,0.000000,1.142799,35.23229,210.2770)" d="M 237.80885 -387.88715 A 4.3752232 4.3752232 0 1 1 229.05840,-387.88715 A 4.3752232 4.3752232 0 1 1 237.80885 -387.88715 z" opacity="1.0000000" fill="#888a85" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path transform="matrix(1.142799,0.000000,0.000000,1.142799,35.23229,210.2770)" d="M 237.80885 -387.88715 A 4.3752232 4.3752232 0 1 1 229.05840,-387.88715 A 4.3752232 4.3752232 0 1 1 237.80885 -387.88715 z" opacity="0.49444440" fill="url(#linearGradient13501)" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
</g>
- <g
- id="g12851">
- <path
- transform="matrix(1.038636,0.000000,0.000000,1.038636,59.84906,169.4899)"
- d="M 248.54804 -383.66660 A 6.7396116 6.7396116 0 1 1 235.06881,-383.66660 A 6.7396116 6.7396116 0 1 1 248.54804 -383.66660 z"
- sodipodi:ry="6.7396116"
- sodipodi:rx="6.7396116"
- sodipodi:cy="-383.66660"
- sodipodi:cx="241.80843"
- id="path12853"
- style="opacity:1.0000000;fill:#888a85;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- sodipodi:type="arc" />
- <path
- transform="matrix(1.038636,0.000000,0.000000,1.038636,59.84907,169.4899)"
- d="M 248.54804 -383.66660 A 6.7396116 6.7396116 0 1 1 235.06881,-383.66660 A 6.7396116 6.7396116 0 1 1 248.54804 -383.66660 z"
- sodipodi:ry="6.7396116"
- sodipodi:rx="6.7396116"
- sodipodi:cy="-383.66660"
- sodipodi:cx="241.80843"
- id="path12855"
- style="opacity:0.49444440;fill:url(#linearGradient13503);fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- sodipodi:type="arc" />
+ <g>
+ <path transform="matrix(1.038636,0.000000,0.000000,1.038636,59.84906,169.4899)" d="M 248.54804 -383.66660 A 6.7396116 6.7396116 0 1 1 235.06881,-383.66660 A 6.7396116 6.7396116 0 1 1 248.54804 -383.66660 z" opacity="1.0000000" fill="#888a85" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path transform="matrix(1.038636,0.000000,0.000000,1.038636,59.84907,169.4899)" d="M 248.54804 -383.66660 A 6.7396116 6.7396116 0 1 1 235.06881,-383.66660 A 6.7396116 6.7396116 0 1 1 248.54804 -383.66660 z" opacity="0.49444440" fill="url(#linearGradient13503)" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
</g>
</g>
- <g
- transform="translate(208.8564,357.8851)"
- id="g11177">
- <path
- style="fill:#edd400;fill-opacity:1.0000000;fill-rule:evenodd;stroke:url(#linearGradient11189);stroke-width:1.0000006px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000"
- d="M -173.24571,-327.59122 L -176.37021,-323.31202 L -172.59078,-323.31202 C -172.59078,-323.31202 -175.29396,-318.78622 -180.16632,-310.38562 C -178.07014,-318.33294 -177.21353,-321.35581 -177.21353,-321.35581 L -182.37682,-321.35581 L -178.33401,-327.59122 L -173.24571,-327.59122 z "
- id="path11179"
- sodipodi:nodetypes="cccccccc" />
- <path
- style="opacity:1.0000000;fill:url(#linearGradient11191);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000006px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000"
- d="M -173.75946,-327.84461 L -177.50268,-322.68152 L -173.54648,-322.85830 C -173.54648,-322.85830 -173.68639,-322.39837 -178.55875,-313.99777 C -176.46257,-321.94509 -176.48985,-321.96275 -176.48985,-321.96275 L -181.38797,-321.87436 L -177.69871,-327.57944 L -173.75946,-327.84461 z "
- id="path11181"
- sodipodi:nodetypes="cccccccc" />
+ <g transform="translate(208.8564,357.8851)">
+ <path d="M -173.24571,-327.59122 L -176.37021,-323.31202 L -172.59078,-323.31202 C -172.59078,-323.31202 -175.29396,-318.78622 -180.16632,-310.38562 C -178.07014,-318.33294 -177.21353,-321.35581 -177.21353,-321.35581 L -182.37682,-321.35581 L -178.33401,-327.59122 L -173.24571,-327.59122 z " fill="#edd400" fill-opacity="1.0000000" fill-rule="evenodd" stroke="url(#linearGradient11189)" stroke-width="1.0000006px" stroke-linecap="butt" stroke-linejoin="miter" stroke-opacity="1.0000000"/>
+ <path d="M -173.75946,-327.84461 L -177.50268,-322.68152 L -173.54648,-322.85830 C -173.54648,-322.85830 -173.68639,-322.39837 -178.55875,-313.99777 C -176.46257,-321.94509 -176.48985,-321.96275 -176.48985,-321.96275 L -181.38797,-321.87436 L -177.69871,-327.57944 L -173.75946,-327.84461 z " opacity="1.0000000" fill="url(#linearGradient11191)" fill-opacity="1.0000000" fill-rule="evenodd" stroke="none" stroke-width="1.0000006px" stroke-linecap="butt" stroke-linejoin="miter" stroke-opacity="1.0000000"/>
</g>
- <g
- transform="translate(-215.0060,252.9994)"
- id="g12857">
- <path
- style="fill:#888a85;fill-opacity:1.0000000;stroke:#555753;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- d="M 246.49993,-238.49993 C 244.22910,-238.49993 242.39002,-236.94965 241.78118,-234.87493 C 241.08795,-235.23876 240.33667,-235.49993 239.49993,-235.49993 C 236.73993,-235.49993 234.49992,-233.25994 234.49993,-230.49993 C 234.49993,-229.92100 234.66245,-229.39223 234.84368,-228.87493 C 233.47021,-228.10419 232.49993,-226.68593 232.49993,-224.99993 C 232.49993,-222.51593 234.51593,-220.49992 236.99993,-220.49993 C 237.17706,-220.49993 255.82280,-220.49993 255.99993,-220.49993 C 258.48392,-220.49993 260.49993,-222.51593 260.49993,-224.99993 C 260.49993,-226.68593 259.52965,-228.10419 258.15618,-228.87493 C 258.33742,-229.39222 258.49993,-229.92101 258.49993,-230.49993 C 258.49993,-233.25993 256.25993,-235.49992 253.49993,-235.49993 C 252.66319,-235.49993 251.91191,-235.23876 251.21868,-234.87493 C 250.60984,-236.94965 248.77076,-238.49993 246.49993,-238.49993 z "
- id="path12859"
- sodipodi:nodetypes="ccsscsssscsscc" />
- <path
- style="opacity:1.0000000;fill:url(#linearGradient13131);fill-opacity:1.0000000;stroke:none;stroke-width:0.99999958;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- d="M 246.49993,-237.99993 C 244.31021,-237.99993 242.77633,-236.66416 242.10438,-234.15641 C 241.43592,-234.50003 240.55679,-234.98976 239.74993,-234.98976 C 237.03342,-234.98976 234.99479,-233.05094 234.99480,-230.44422 C 234.99480,-229.89745 235.26201,-229.11078 235.43676,-228.62221 C 234.11233,-227.89426 232.99993,-226.73171 232.99993,-225.24966 C 232.99993,-222.90361 234.54610,-220.99957 237.33921,-220.99957 C 237.51002,-220.99957 255.48985,-220.99957 255.66065,-220.99957 C 258.43166,-220.99957 259.99993,-222.90361 259.99993,-225.24966 C 259.99993,-226.84203 258.88753,-227.91635 257.56310,-228.64430 C 257.73786,-229.13286 258.02717,-229.89746 258.02717,-230.44422 C 258.02717,-233.05093 255.91136,-235.01185 253.24994,-235.01186 C 252.44307,-235.01186 251.60813,-234.52212 250.93967,-234.17850 C 250.29082,-236.60004 248.68966,-237.99993 246.49993,-237.99993 z "
- id="path12861"
- sodipodi:nodetypes="ccsscsssscsscc" />
- <path
- sodipodi:type="arc"
- style="opacity:1.0000000;fill:#888a85;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- id="path12863"
- sodipodi:cx="288.37500"
- sodipodi:cy="-437.59375"
- sodipodi:rx="3.3125000"
- sodipodi:ry="3.3125000"
- d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z"
- transform="matrix(1.056604,0.000000,0.000000,1.056604,-58.19825,228.8634)" />
- <path
- sodipodi:type="arc"
- style="opacity:0.47777775;fill:url(#linearGradient13133);fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- id="path12865"
- sodipodi:cx="288.37500"
- sodipodi:cy="-437.59375"
- sodipodi:rx="3.3125000"
- sodipodi:ry="3.3125000"
- d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z"
- transform="matrix(1.056604,0.000000,0.000000,1.056604,-58.19825,228.8634)" />
- <rect
- style="opacity:1.0000000;fill:#888a85;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- id="rect12867"
- width="20.000000"
- height="9.0000000"
- x="236.99994"
- y="-230.99992" />
- <path
- sodipodi:type="arc"
- style="opacity:1.0000000;fill:#888a85;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- id="path12869"
- sodipodi:cx="288.37500"
- sodipodi:cy="-437.59375"
- sodipodi:rx="3.3125000"
- sodipodi:ry="3.3125000"
- d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z"
- transform="matrix(0.905660,0.000000,0.000000,0.905660,-24.16987,171.3114)" />
- <path
- sodipodi:type="arc"
- style="opacity:1.0000000;fill:#888a85;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- id="path12871"
- sodipodi:cx="288.37500"
- sodipodi:cy="-437.59375"
- sodipodi:rx="3.3125000"
- sodipodi:ry="3.3125000"
- d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z"
- transform="matrix(1.056604,0.000000,0.000000,1.056604,-51.19818,231.8633)" />
- <path
- sodipodi:type="arc"
- style="opacity:0.47777775;fill:url(#linearGradient13135);fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- id="path12873"
- sodipodi:cx="288.37500"
- sodipodi:cy="-437.59375"
- sodipodi:rx="3.3125000"
- sodipodi:ry="3.3125000"
- d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z"
- transform="matrix(1.056604,0.000000,0.000000,1.056604,-51.19825,231.8634)" />
- <path
- sodipodi:type="arc"
- style="opacity:1.0000000;fill:#888a85;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- id="path12875"
- sodipodi:cx="288.37500"
- sodipodi:cy="-437.59375"
- sodipodi:rx="3.3125000"
- sodipodi:ry="3.3125000"
- d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z"
- transform="matrix(1.056604,0.000000,0.000000,1.056604,-65.19825,231.8634)" />
- <path
- sodipodi:type="arc"
- style="opacity:0.47777775;fill:url(#linearGradient13137);fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- id="path12877"
- sodipodi:cx="288.37500"
- sodipodi:cy="-437.59375"
- sodipodi:rx="3.3125000"
- sodipodi:ry="3.3125000"
- d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z"
- transform="matrix(1.056604,0.000000,0.000000,1.056604,-65.19825,231.8634)" />
- <path
- style="opacity:1.0000000;fill:#888a85;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- d="M 245.46868,-233.96868 C 241.88930,-233.96868 238.99993,-231.04805 238.99993,-227.46868 C 238.99993,-225.09800 240.34936,-223.13089 242.24993,-221.99993 L 248.71868,-221.99993 C 250.61925,-223.13089 251.96868,-225.12924 251.96868,-227.49993 C 251.96868,-231.07931 249.04805,-233.96868 245.46868,-233.96868 z "
- id="path12879" />
- <path
- style="opacity:0.47777775;fill:url(#linearGradient13139);fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- d="M 245.49993,-233.99993 C 241.91193,-233.99993 238.99993,-231.08792 238.99993,-227.49993 C 238.99993,-225.12353 240.34478,-223.13361 242.24993,-221.99993 L 248.74993,-221.99993 C 250.65508,-223.13361 251.99993,-225.12353 251.99993,-227.49993 C 251.99993,-231.08793 249.08793,-233.99992 245.49993,-233.99993 z "
- id="path12881" />
- <path
- sodipodi:type="arc"
- style="opacity:0.47777775;fill:url(#linearGradient13141);fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- id="path12883"
- sodipodi:cx="288.37500"
- sodipodi:cy="-437.59375"
- sodipodi:rx="3.3125000"
- sodipodi:ry="3.3125000"
- d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z"
- transform="matrix(0.905660,0.000000,0.000000,0.905660,-24.16977,171.3113)" />
- <path
- style="fill:#555753;fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000"
- d="M 258.95633,-230.33389 C 258.95480,-227.64933 255.68707,-226.61994 255.68707,-226.61994 C 255.68707,-226.61994 258.03581,-228.24589 258.02392,-230.32495 C 258.02392,-230.32495 258.95633,-230.33389 258.95633,-230.33389 z "
- id="path12885"
- sodipodi:nodetypes="ccss" />
- <path
- sodipodi:type="arc"
- style="opacity:1.0000000;fill:#888a85;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- id="path12887"
- sodipodi:cx="288.37500"
- sodipodi:cy="-437.59375"
- sodipodi:rx="3.3125000"
- sodipodi:ry="3.3125000"
- d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z"
- transform="matrix(1.207547,0.000000,0.000000,1.207547,-98.22652,302.4154)" />
- <path
- sodipodi:type="arc"
- style="opacity:0.47777775;fill:url(#linearGradient13143);fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- id="path12889"
- sodipodi:cx="288.37500"
- sodipodi:cy="-437.59375"
- sodipodi:rx="3.3125000"
- sodipodi:ry="3.3125000"
- d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z"
- transform="matrix(1.207547,0.000000,0.000000,1.207547,-98.22652,302.4154)" />
+ <g transform="translate(-215.0060,252.9994)">
+ <path d="M 246.49993,-238.49993 C 244.22910,-238.49993 242.39002,-236.94965 241.78118,-234.87493 C 241.08795,-235.23876 240.33667,-235.49993 239.49993,-235.49993 C 236.73993,-235.49993 234.49992,-233.25994 234.49993,-230.49993 C 234.49993,-229.92100 234.66245,-229.39223 234.84368,-228.87493 C 233.47021,-228.10419 232.49993,-226.68593 232.49993,-224.99993 C 232.49993,-222.51593 234.51593,-220.49992 236.99993,-220.49993 C 237.17706,-220.49993 255.82280,-220.49993 255.99993,-220.49993 C 258.48392,-220.49993 260.49993,-222.51593 260.49993,-224.99993 C 260.49993,-226.68593 259.52965,-228.10419 258.15618,-228.87493 C 258.33742,-229.39222 258.49993,-229.92101 258.49993,-230.49993 C 258.49993,-233.25993 256.25993,-235.49992 253.49993,-235.49993 C 252.66319,-235.49993 251.91191,-235.23876 251.21868,-234.87493 C 250.60984,-236.94965 248.77076,-238.49993 246.49993,-238.49993 z " fill="#888a85" fill-opacity="1.0000000" stroke="#555753" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path d="M 246.49993,-237.99993 C 244.31021,-237.99993 242.77633,-236.66416 242.10438,-234.15641 C 241.43592,-234.50003 240.55679,-234.98976 239.74993,-234.98976 C 237.03342,-234.98976 234.99479,-233.05094 234.99480,-230.44422 C 234.99480,-229.89745 235.26201,-229.11078 235.43676,-228.62221 C 234.11233,-227.89426 232.99993,-226.73171 232.99993,-225.24966 C 232.99993,-222.90361 234.54610,-220.99957 237.33921,-220.99957 C 237.51002,-220.99957 255.48985,-220.99957 255.66065,-220.99957 C 258.43166,-220.99957 259.99993,-222.90361 259.99993,-225.24966 C 259.99993,-226.84203 258.88753,-227.91635 257.56310,-228.64430 C 257.73786,-229.13286 258.02717,-229.89746 258.02717,-230.44422 C 258.02717,-233.05093 255.91136,-235.01185 253.24994,-235.01186 C 252.44307,-235.01186 251.60813,-234.52212 250.93967,-234.17850 C 250.29082,-236.60004 248.68966,-237.99993 246.49993,-237.99993 z " opacity="1.0000000" fill="url(#linearGradient13131)" fill-opacity="1.0000000" stroke="none" stroke-width="0.99999958" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z" transform="matrix(1.056604,0.000000,0.000000,1.056604,-58.19825,228.8634)" opacity="1.0000000" fill="#888a85" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z" transform="matrix(1.056604,0.000000,0.000000,1.056604,-58.19825,228.8634)" opacity="0.47777775" fill="url(#linearGradient13133)" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <rect width="20.000000" height="9.0000000" x="236.99994" y="-230.99992" opacity="1.0000000" fill="#888a85" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z" transform="matrix(0.905660,0.000000,0.000000,0.905660,-24.16987,171.3114)" opacity="1.0000000" fill="#888a85" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z" transform="matrix(1.056604,0.000000,0.000000,1.056604,-51.19818,231.8633)" opacity="1.0000000" fill="#888a85" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z" transform="matrix(1.056604,0.000000,0.000000,1.056604,-51.19825,231.8634)" opacity="0.47777775" fill="url(#linearGradient13135)" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z" transform="matrix(1.056604,0.000000,0.000000,1.056604,-65.19825,231.8634)" opacity="1.0000000" fill="#888a85" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z" transform="matrix(1.056604,0.000000,0.000000,1.056604,-65.19825,231.8634)" opacity="0.47777775" fill="url(#linearGradient13137)" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path d="M 245.46868,-233.96868 C 241.88930,-233.96868 238.99993,-231.04805 238.99993,-227.46868 C 238.99993,-225.09800 240.34936,-223.13089 242.24993,-221.99993 L 248.71868,-221.99993 C 250.61925,-223.13089 251.96868,-225.12924 251.96868,-227.49993 C 251.96868,-231.07931 249.04805,-233.96868 245.46868,-233.96868 z " opacity="1.0000000" fill="#888a85" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path d="M 245.49993,-233.99993 C 241.91193,-233.99993 238.99993,-231.08792 238.99993,-227.49993 C 238.99993,-225.12353 240.34478,-223.13361 242.24993,-221.99993 L 248.74993,-221.99993 C 250.65508,-223.13361 251.99993,-225.12353 251.99993,-227.49993 C 251.99993,-231.08793 249.08793,-233.99992 245.49993,-233.99993 z " opacity="0.47777775" fill="url(#linearGradient13139)" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z" transform="matrix(0.905660,0.000000,0.000000,0.905660,-24.16977,171.3113)" opacity="0.47777775" fill="url(#linearGradient13141)" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path d="M 258.95633,-230.33389 C 258.95480,-227.64933 255.68707,-226.61994 255.68707,-226.61994 C 255.68707,-226.61994 258.03581,-228.24589 258.02392,-230.32495 C 258.02392,-230.32495 258.95633,-230.33389 258.95633,-230.33389 z " fill="#555753" fill-opacity="1.0000000" fill-rule="evenodd" stroke="none" stroke-width="1.0000000px" stroke-linecap="butt" stroke-linejoin="miter" stroke-opacity="1.0000000"/>
+ <path d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z" transform="matrix(1.207547,0.000000,0.000000,1.207547,-98.22652,302.4154)" opacity="1.0000000" fill="#888a85" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z" transform="matrix(1.207547,0.000000,0.000000,1.207547,-98.22652,302.4154)" opacity="0.47777775" fill="url(#linearGradient13143)" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
</g>
- <g
- transform="translate(192.8564,354.8851)"
- id="g11183">
- <path
- style="fill:#edd400;fill-opacity:1.0000000;fill-rule:evenodd;stroke:url(#linearGradient11193);stroke-width:1.0000006px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000"
- d="M -173.24571,-327.59122 L -176.37021,-323.31202 L -172.59078,-323.31202 C -172.59078,-323.31202 -175.29396,-318.78622 -180.16632,-310.38562 C -178.07014,-318.33294 -177.21353,-321.35581 -177.21353,-321.35581 L -182.37682,-321.35581 L -178.33401,-327.59122 L -173.24571,-327.59122 z "
- id="path11185"
- sodipodi:nodetypes="cccccccc" />
- <path
- style="opacity:1.0000000;fill:url(#linearGradient11195);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000006px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000"
- d="M -173.75946,-327.84461 L -177.50268,-322.68152 L -173.54648,-322.85830 C -173.54648,-322.85830 -173.68639,-322.39837 -178.55875,-313.99777 C -176.46257,-321.94509 -176.48985,-321.96275 -176.48985,-321.96275 L -181.38797,-321.87436 L -177.69871,-327.57944 L -173.75946,-327.84461 z "
- id="path11187"
- sodipodi:nodetypes="cccccccc" />
+ <g transform="translate(192.8564,354.8851)">
+ <path d="M -173.24571,-327.59122 L -176.37021,-323.31202 L -172.59078,-323.31202 C -172.59078,-323.31202 -175.29396,-318.78622 -180.16632,-310.38562 C -178.07014,-318.33294 -177.21353,-321.35581 -177.21353,-321.35581 L -182.37682,-321.35581 L -178.33401,-327.59122 L -173.24571,-327.59122 z " fill="#edd400" fill-opacity="1.0000000" fill-rule="evenodd" stroke="url(#linearGradient11193)" stroke-width="1.0000006px" stroke-linecap="butt" stroke-linejoin="miter" stroke-opacity="1.0000000"/>
+ <path d="M -173.75946,-327.84461 L -177.50268,-322.68152 L -173.54648,-322.85830 C -173.54648,-322.85830 -173.68639,-322.39837 -178.55875,-313.99777 C -176.46257,-321.94509 -176.48985,-321.96275 -176.48985,-321.96275 L -181.38797,-321.87436 L -177.69871,-327.57944 L -173.75946,-327.84461 z " opacity="1.0000000" fill="url(#linearGradient11195)" fill-opacity="1.0000000" fill-rule="evenodd" stroke="none" stroke-width="1.0000006px" stroke-linecap="butt" stroke-linejoin="miter" stroke-opacity="1.0000000"/>
</g>
- <path
- sodipodi:nodetypes="ccsscsscscsscc"
- id="path13209"
- d="M 31.626355,14.999520 C 29.626255,14.999520 27.940775,16.079020 27.095785,17.614460 C 26.500875,17.392550 25.851145,17.261090 25.169835,17.261090 C 22.339625,17.261090 20.052305,19.379260 20.052305,21.978590 C 20.052305,22.432340 20.196835,22.835420 20.327445,23.250720 C 18.945125,24.115990 17.979615,25.504290 17.979615,27.155450 C 17.979615,29.808280 18.631235,32.148800 23.207195,31.961300 C 23.252315,31.959450 40.658675,32.058280 40.907605,31.943270 C 43.992815,32.169220 44.979615,29.497540 44.979615,27.243810 C 44.979615,25.543300 44.142675,24.193960 42.670345,23.366220 C 42.718305,23.107660 42.631785,22.815030 42.631785,22.543970 C 42.631785,19.944650 40.326135,17.826480 37.495915,17.826480 C 37.102425,17.826480 36.763515,17.961300 36.395375,18.038500 C 35.656915,16.270380 33.810365,14.999520 31.626355,14.999520 z "
- style="opacity:1.0000000;fill:url(#radialGradient13211);fill-opacity:1.0000000;stroke:none;stroke-width:1.0000004;stroke-linejoin:round;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-opacity:1.0000000" />
- <g
- transform="translate(-230.0203,248.9834)"
- id="g12891">
- <path
- style="fill:#888a85;fill-opacity:1.0000000;stroke:#555753;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- d="M 246.49993,-238.49993 C 244.22910,-238.49993 242.39002,-236.94965 241.78118,-234.87493 C 241.08795,-235.23876 240.33667,-235.49993 239.49993,-235.49993 C 236.73993,-235.49993 234.49992,-233.25994 234.49993,-230.49993 C 234.49993,-229.92100 234.66245,-229.39223 234.84368,-228.87493 C 233.47021,-228.10419 232.49993,-226.68593 232.49993,-224.99993 C 232.49993,-222.51593 234.51593,-220.49992 236.99993,-220.49993 C 237.17706,-220.49993 255.82280,-220.49993 255.99993,-220.49993 C 258.48392,-220.49993 260.49993,-222.51593 260.49993,-224.99993 C 260.49993,-226.68593 259.52965,-228.10419 258.15618,-228.87493 C 258.33742,-229.39222 258.49993,-229.92101 258.49993,-230.49993 C 258.49993,-233.25993 256.25993,-235.49992 253.49993,-235.49993 C 252.66319,-235.49993 251.91191,-235.23876 251.21868,-234.87493 C 250.60984,-236.94965 248.77076,-238.49993 246.49993,-238.49993 z "
- id="path12893"
- sodipodi:nodetypes="ccsscsssscsscc" />
- <path
- style="opacity:1.0000000;fill:url(#linearGradient13145);fill-opacity:1.0000000;stroke:none;stroke-width:0.99999958;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- d="M 246.49993,-237.99993 C 244.31021,-237.99993 242.77633,-236.66416 242.10438,-234.15641 C 241.43592,-234.50003 240.55679,-234.98976 239.74993,-234.98976 C 237.03342,-234.98976 234.99479,-233.05094 234.99480,-230.44422 C 234.99480,-229.89745 235.26201,-229.11078 235.43676,-228.62221 C 234.11233,-227.89426 232.99993,-226.73171 232.99993,-225.24966 C 232.99993,-222.90361 234.54610,-220.99957 237.33921,-220.99957 C 237.51002,-220.99957 255.48985,-220.99957 255.66065,-220.99957 C 258.43166,-220.99957 259.99993,-222.90361 259.99993,-225.24966 C 259.99993,-226.84203 258.88753,-227.91635 257.56310,-228.64430 C 257.73786,-229.13286 258.02717,-229.89746 258.02717,-230.44422 C 258.02717,-233.05093 255.91136,-235.01185 253.24994,-235.01186 C 252.44307,-235.01186 251.60813,-234.52212 250.93967,-234.17850 C 250.29082,-236.60004 248.68966,-237.99993 246.49993,-237.99993 z "
- id="path12895"
- sodipodi:nodetypes="ccsscsssscsscc" />
- <path
- sodipodi:type="arc"
- style="opacity:1.0000000;fill:#888a85;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- id="path12897"
- sodipodi:cx="288.37500"
- sodipodi:cy="-437.59375"
- sodipodi:rx="3.3125000"
- sodipodi:ry="3.3125000"
- d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z"
- transform="matrix(1.056604,0.000000,0.000000,1.056604,-58.19825,228.8634)" />
- <path
- sodipodi:type="arc"
- style="opacity:0.47777775;fill:url(#linearGradient13147);fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- id="path12899"
- sodipodi:cx="288.37500"
- sodipodi:cy="-437.59375"
- sodipodi:rx="3.3125000"
- sodipodi:ry="3.3125000"
- d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z"
- transform="matrix(1.056604,0.000000,0.000000,1.056604,-58.19825,228.8634)" />
- <rect
- style="opacity:1.0000000;fill:#888a85;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- id="rect12901"
- width="20.000000"
- height="9.0000000"
- x="236.99994"
- y="-230.99992" />
- <path
- sodipodi:type="arc"
- style="opacity:1.0000000;fill:#888a85;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- id="path12903"
- sodipodi:cx="288.37500"
- sodipodi:cy="-437.59375"
- sodipodi:rx="3.3125000"
- sodipodi:ry="3.3125000"
- d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z"
- transform="matrix(0.905660,0.000000,0.000000,0.905660,-24.16987,171.3114)" />
- <path
- sodipodi:type="arc"
- style="opacity:1.0000000;fill:#888a85;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- id="path12905"
- sodipodi:cx="288.37500"
- sodipodi:cy="-437.59375"
- sodipodi:rx="3.3125000"
- sodipodi:ry="3.3125000"
- d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z"
- transform="matrix(1.056604,0.000000,0.000000,1.056604,-51.19818,231.8633)" />
- <path
- sodipodi:type="arc"
- style="opacity:0.47777775;fill:url(#linearGradient13149);fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- id="path12907"
- sodipodi:cx="288.37500"
- sodipodi:cy="-437.59375"
- sodipodi:rx="3.3125000"
- sodipodi:ry="3.3125000"
- d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z"
- transform="matrix(1.056604,0.000000,0.000000,1.056604,-51.19825,231.8634)" />
- <path
- sodipodi:type="arc"
- style="opacity:1.0000000;fill:#888a85;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- id="path12909"
- sodipodi:cx="288.37500"
- sodipodi:cy="-437.59375"
- sodipodi:rx="3.3125000"
- sodipodi:ry="3.3125000"
- d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z"
- transform="matrix(1.056604,0.000000,0.000000,1.056604,-65.19825,231.8634)" />
- <path
- sodipodi:type="arc"
- style="opacity:0.47777775;fill:url(#linearGradient13151);fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- id="path12911"
- sodipodi:cx="288.37500"
- sodipodi:cy="-437.59375"
- sodipodi:rx="3.3125000"
- sodipodi:ry="3.3125000"
- d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z"
- transform="matrix(1.056604,0.000000,0.000000,1.056604,-65.19825,231.8634)" />
- <path
- style="opacity:1.0000000;fill:#888a85;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- d="M 245.46868,-233.96868 C 241.88930,-233.96868 238.99993,-231.04805 238.99993,-227.46868 C 238.99993,-225.09800 240.34936,-223.13089 242.24993,-221.99993 L 248.71868,-221.99993 C 250.61925,-223.13089 251.96868,-225.12924 251.96868,-227.49993 C 251.96868,-231.07931 249.04805,-233.96868 245.46868,-233.96868 z "
- id="path12913" />
- <path
- style="opacity:0.47777775;fill:url(#linearGradient13153);fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- d="M 245.49993,-233.99993 C 241.91193,-233.99993 238.99993,-231.08792 238.99993,-227.49993 C 238.99993,-225.12353 240.34478,-223.13361 242.24993,-221.99993 L 248.74993,-221.99993 C 250.65508,-223.13361 251.99993,-225.12353 251.99993,-227.49993 C 251.99993,-231.08793 249.08793,-233.99992 245.49993,-233.99993 z "
- id="path12915" />
- <path
- sodipodi:type="arc"
- style="opacity:0.47777775;fill:url(#linearGradient13155);fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- id="path12917"
- sodipodi:cx="288.37500"
- sodipodi:cy="-437.59375"
- sodipodi:rx="3.3125000"
- sodipodi:ry="3.3125000"
- d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z"
- transform="matrix(0.905660,0.000000,0.000000,0.905660,-24.16977,171.3113)" />
- <path
- style="fill:#555753;fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000"
- d="M 258.95633,-230.33389 C 258.95480,-227.64933 255.68707,-226.61994 255.68707,-226.61994 C 255.68707,-226.61994 258.03581,-228.24589 258.02392,-230.32495 C 258.02392,-230.32495 258.95633,-230.33389 258.95633,-230.33389 z "
- id="path12919"
- sodipodi:nodetypes="ccss" />
- <path
- sodipodi:type="arc"
- style="opacity:1.0000000;fill:#888a85;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- id="path12921"
- sodipodi:cx="288.37500"
- sodipodi:cy="-437.59375"
- sodipodi:rx="3.3125000"
- sodipodi:ry="3.3125000"
- d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z"
- transform="matrix(1.207547,0.000000,0.000000,1.207547,-98.22652,302.4154)" />
- <path
- sodipodi:type="arc"
- style="opacity:0.47777775;fill:url(#linearGradient13157);fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- id="path12923"
- sodipodi:cx="288.37500"
- sodipodi:cy="-437.59375"
- sodipodi:rx="3.3125000"
- sodipodi:ry="3.3125000"
- d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z"
- transform="matrix(1.207547,0.000000,0.000000,1.207547,-98.22652,302.4154)" />
+ <path d="M 31.626355,14.999520 C 29.626255,14.999520 27.940775,16.079020 27.095785,17.614460 C 26.500875,17.392550 25.851145,17.261090 25.169835,17.261090 C 22.339625,17.261090 20.052305,19.379260 20.052305,21.978590 C 20.052305,22.432340 20.196835,22.835420 20.327445,23.250720 C 18.945125,24.115990 17.979615,25.504290 17.979615,27.155450 C 17.979615,29.808280 18.631235,32.148800 23.207195,31.961300 C 23.252315,31.959450 40.658675,32.058280 40.907605,31.943270 C 43.992815,32.169220 44.979615,29.497540 44.979615,27.243810 C 44.979615,25.543300 44.142675,24.193960 42.670345,23.366220 C 42.718305,23.107660 42.631785,22.815030 42.631785,22.543970 C 42.631785,19.944650 40.326135,17.826480 37.495915,17.826480 C 37.102425,17.826480 36.763515,17.961300 36.395375,18.038500 C 35.656915,16.270380 33.810365,14.999520 31.626355,14.999520 z " opacity="1.0000000" fill="url(#radialGradient13211)" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000004" stroke-linejoin="round" stroke-miterlimit="4.0000000" stroke-dasharray="none" stroke-opacity="1.0000000"/>
+ <g transform="translate(-230.0203,248.9834)">
+ <path d="M 246.49993,-238.49993 C 244.22910,-238.49993 242.39002,-236.94965 241.78118,-234.87493 C 241.08795,-235.23876 240.33667,-235.49993 239.49993,-235.49993 C 236.73993,-235.49993 234.49992,-233.25994 234.49993,-230.49993 C 234.49993,-229.92100 234.66245,-229.39223 234.84368,-228.87493 C 233.47021,-228.10419 232.49993,-226.68593 232.49993,-224.99993 C 232.49993,-222.51593 234.51593,-220.49992 236.99993,-220.49993 C 237.17706,-220.49993 255.82280,-220.49993 255.99993,-220.49993 C 258.48392,-220.49993 260.49993,-222.51593 260.49993,-224.99993 C 260.49993,-226.68593 259.52965,-228.10419 258.15618,-228.87493 C 258.33742,-229.39222 258.49993,-229.92101 258.49993,-230.49993 C 258.49993,-233.25993 256.25993,-235.49992 253.49993,-235.49993 C 252.66319,-235.49993 251.91191,-235.23876 251.21868,-234.87493 C 250.60984,-236.94965 248.77076,-238.49993 246.49993,-238.49993 z " fill="#888a85" fill-opacity="1.0000000" stroke="#555753" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path d="M 246.49993,-237.99993 C 244.31021,-237.99993 242.77633,-236.66416 242.10438,-234.15641 C 241.43592,-234.50003 240.55679,-234.98976 239.74993,-234.98976 C 237.03342,-234.98976 234.99479,-233.05094 234.99480,-230.44422 C 234.99480,-229.89745 235.26201,-229.11078 235.43676,-228.62221 C 234.11233,-227.89426 232.99993,-226.73171 232.99993,-225.24966 C 232.99993,-222.90361 234.54610,-220.99957 237.33921,-220.99957 C 237.51002,-220.99957 255.48985,-220.99957 255.66065,-220.99957 C 258.43166,-220.99957 259.99993,-222.90361 259.99993,-225.24966 C 259.99993,-226.84203 258.88753,-227.91635 257.56310,-228.64430 C 257.73786,-229.13286 258.02717,-229.89746 258.02717,-230.44422 C 258.02717,-233.05093 255.91136,-235.01185 253.24994,-235.01186 C 252.44307,-235.01186 251.60813,-234.52212 250.93967,-234.17850 C 250.29082,-236.60004 248.68966,-237.99993 246.49993,-237.99993 z " opacity="1.0000000" fill="url(#linearGradient13145)" fill-opacity="1.0000000" stroke="none" stroke-width="0.99999958" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z" transform="matrix(1.056604,0.000000,0.000000,1.056604,-58.19825,228.8634)" opacity="1.0000000" fill="#888a85" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z" transform="matrix(1.056604,0.000000,0.000000,1.056604,-58.19825,228.8634)" opacity="0.47777775" fill="url(#linearGradient13147)" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <rect width="20.000000" height="9.0000000" x="236.99994" y="-230.99992" opacity="1.0000000" fill="#888a85" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z" transform="matrix(0.905660,0.000000,0.000000,0.905660,-24.16987,171.3114)" opacity="1.0000000" fill="#888a85" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z" transform="matrix(1.056604,0.000000,0.000000,1.056604,-51.19818,231.8633)" opacity="1.0000000" fill="#888a85" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z" transform="matrix(1.056604,0.000000,0.000000,1.056604,-51.19825,231.8634)" opacity="0.47777775" fill="url(#linearGradient13149)" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z" transform="matrix(1.056604,0.000000,0.000000,1.056604,-65.19825,231.8634)" opacity="1.0000000" fill="#888a85" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z" transform="matrix(1.056604,0.000000,0.000000,1.056604,-65.19825,231.8634)" opacity="0.47777775" fill="url(#linearGradient13151)" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path d="M 245.46868,-233.96868 C 241.88930,-233.96868 238.99993,-231.04805 238.99993,-227.46868 C 238.99993,-225.09800 240.34936,-223.13089 242.24993,-221.99993 L 248.71868,-221.99993 C 250.61925,-223.13089 251.96868,-225.12924 251.96868,-227.49993 C 251.96868,-231.07931 249.04805,-233.96868 245.46868,-233.96868 z " opacity="1.0000000" fill="#888a85" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path d="M 245.49993,-233.99993 C 241.91193,-233.99993 238.99993,-231.08792 238.99993,-227.49993 C 238.99993,-225.12353 240.34478,-223.13361 242.24993,-221.99993 L 248.74993,-221.99993 C 250.65508,-223.13361 251.99993,-225.12353 251.99993,-227.49993 C 251.99993,-231.08793 249.08793,-233.99992 245.49993,-233.99993 z " opacity="0.47777775" fill="url(#linearGradient13153)" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z" transform="matrix(0.905660,0.000000,0.000000,0.905660,-24.16977,171.3113)" opacity="0.47777775" fill="url(#linearGradient13155)" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path d="M 258.95633,-230.33389 C 258.95480,-227.64933 255.68707,-226.61994 255.68707,-226.61994 C 255.68707,-226.61994 258.03581,-228.24589 258.02392,-230.32495 C 258.02392,-230.32495 258.95633,-230.33389 258.95633,-230.33389 z " fill="#555753" fill-opacity="1.0000000" fill-rule="evenodd" stroke="none" stroke-width="1.0000000px" stroke-linecap="butt" stroke-linejoin="miter" stroke-opacity="1.0000000"/>
+ <path d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z" transform="matrix(1.207547,0.000000,0.000000,1.207547,-98.22652,302.4154)" opacity="1.0000000" fill="#888a85" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
+ <path d="M 291.68750 -437.59375 A 3.3125000 3.3125000 0 1 1 285.06250,-437.59375 A 3.3125000 3.3125000 0 1 1 291.68750 -437.59375 z" transform="matrix(1.207547,0.000000,0.000000,1.207547,-98.22652,302.4154)" opacity="0.47777775" fill="url(#linearGradient13157)" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.0000000" stroke-dasharray="none" stroke-dashoffset="0.0000000" stroke-opacity="1.0000000"/>
</g>
- <path
- sodipodi:nodetypes="ccsscsscscsscc"
- id="path11418"
- d="M 16.188855,11.000000 C 14.188755,11.000000 12.503275,12.079500 11.658285,13.614940 C 11.063375,13.393030 10.413645,13.261570 9.7323346,13.261570 C 6.9021246,13.261570 4.6148046,15.379740 4.6148046,17.979070 C 4.6148046,18.432820 4.7593346,18.835900 4.8899446,19.251200 C 3.5076246,20.116470 2.5421146,21.504770 2.5421146,23.155930 C 2.5421146,25.808760 3.1937346,28.149280 7.7696946,27.961780 C 7.8148146,27.959930 25.221175,28.058760 25.470105,27.943750 C 28.555315,28.169700 29.542115,25.498020 29.542115,23.244290 C 29.542115,21.543780 28.705175,20.194440 27.232845,19.366700 C 27.280805,19.108140 27.194285,18.815510 27.194285,18.544450 C 27.194285,15.945130 24.888635,13.826960 22.058415,13.826960 C 21.664925,13.826960 21.326015,13.961780 20.957875,14.038980 C 20.219415,12.270860 18.372865,11.000000 16.188855,11.000000 z "
- style="opacity:1.0000000;fill:url(#radialGradient13068);fill-opacity:1.0000000;stroke:none;stroke-width:1.0000004;stroke-linejoin:round;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-opacity:1.0000000" />
- <g
- transform="translate(-212.91035,271.43)"
- id="g12227">
- <path
- style="fill:#729fcf;fill-opacity:1;stroke:#204a87;stroke-width:1.07456863;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
- d="M 231.62587,-228.77086 C 230.58662,-229.36665 230.23015,-230.68774 230.83016,-231.71967 C 232.16166,-233.80243 233.93524,-233.26584 234.84231,-235.46138 C 236.10323,-234.12777 235.63545,-227.21367 231.62587,-228.77086 z"
- id="path12229"
- sodipodi:nodetypes="cccc" />
- <path
- style="opacity:0.46111109;fill:url(#radialGradient23739);fill-opacity:1;stroke:none;stroke-width:1.07457018;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0;stroke-dashoffset:0;stroke-opacity:1"
- d="M 234.31017,-229.9035 C 233.82059,-229.03976 232.73502,-228.74348 231.88703,-229.24216 C 231.03903,-229.74084 230.74816,-230.84657 231.23774,-231.71031 C 231.72733,-232.57405 233.84374,-232.16235 234.58388,-234 C 235.43187,-233.50133 234.79976,-230.76724 234.31017,-229.9035 z"
- id="path12231"
- sodipodi:nodetypes="csscc" />
- <path
- style="opacity:1;fill:url(#linearGradient23741);fill-opacity:1;stroke:none;stroke-width:1.07457018;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0;stroke-dashoffset:0;stroke-opacity:1"
- d="M 233.02237,-229 C 228.40776,-230.07384 233.25985,-233.71939 234,-232.92154 C 230.4176,-231.55118 233.02237,-229 233.02237,-229 z"
- id="path12233"
- sodipodi:nodetypes="ccc" />
+ <path d="M 16.188855,11.000000 C 14.188755,11.000000 12.503275,12.079500 11.658285,13.614940 C 11.063375,13.393030 10.413645,13.261570 9.7323346,13.261570 C 6.9021246,13.261570 4.6148046,15.379740 4.6148046,17.979070 C 4.6148046,18.432820 4.7593346,18.835900 4.8899446,19.251200 C 3.5076246,20.116470 2.5421146,21.504770 2.5421146,23.155930 C 2.5421146,25.808760 3.1937346,28.149280 7.7696946,27.961780 C 7.8148146,27.959930 25.221175,28.058760 25.470105,27.943750 C 28.555315,28.169700 29.542115,25.498020 29.542115,23.244290 C 29.542115,21.543780 28.705175,20.194440 27.232845,19.366700 C 27.280805,19.108140 27.194285,18.815510 27.194285,18.544450 C 27.194285,15.945130 24.888635,13.826960 22.058415,13.826960 C 21.664925,13.826960 21.326015,13.961780 20.957875,14.038980 C 20.219415,12.270860 18.372865,11.000000 16.188855,11.000000 z " opacity="1.0000000" fill="url(#radialGradient13068)" fill-opacity="1.0000000" stroke="none" stroke-width="1.0000004" stroke-linejoin="round" stroke-miterlimit="4.0000000" stroke-dasharray="none" stroke-opacity="1.0000000"/>
+ <g transform="translate(-212.91035,271.43)">
+ <path d="M 231.62587,-228.77086 C 230.58662,-229.36665 230.23015,-230.68774 230.83016,-231.71967 C 232.16166,-233.80243 233.93524,-233.26584 234.84231,-235.46138 C 236.10323,-234.12777 235.63545,-227.21367 231.62587,-228.77086 z" fill="#729fcf" fill-opacity="1" stroke="#204a87" stroke-width="1.07456863" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2" stroke-dasharray="none" stroke-dashoffset="0" stroke-opacity="1"/>
+ <path d="M 234.31017,-229.9035 C 233.82059,-229.03976 232.73502,-228.74348 231.88703,-229.24216 C 231.03903,-229.74084 230.74816,-230.84657 231.23774,-231.71031 C 231.72733,-232.57405 233.84374,-232.16235 234.58388,-234 C 235.43187,-233.50133 234.79976,-230.76724 234.31017,-229.9035 z" opacity="0.46111109" fill="url(#radialGradient23739)" fill-opacity="1" stroke="none" stroke-width="1.07457018" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="0" stroke-dashoffset="0" stroke-opacity="1"/>
+ <path d="M 233.02237,-229 C 228.40776,-230.07384 233.25985,-233.71939 234,-232.92154 C 230.4176,-231.55118 233.02237,-229 233.02237,-229 z" opacity="1" fill="url(#linearGradient23741)" fill-opacity="1" stroke="none" stroke-width="1.07457018" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="0" stroke-dashoffset="0" stroke-opacity="1"/>
</g>
- <g
- transform="translate(-193.78094,269.3383)"
- id="g12239">
- <path
- style="fill:#729fcf;fill-opacity:1;stroke:#204a87;stroke-width:1.07456863;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
- d="M 231.62587,-228.77086 C 230.58662,-229.36665 230.23015,-230.68774 230.83016,-231.71967 C 232.16166,-233.80243 233.93524,-233.26584 234.84231,-235.46138 C 236.10323,-234.12777 235.63545,-227.21367 231.62587,-228.77086 z"
- id="path12241"
- sodipodi:nodetypes="cccc" />
- <path
- style="opacity:0.46111109;fill:url(#radialGradient23743);fill-opacity:1;stroke:none;stroke-width:1.07457018;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0;stroke-dashoffset:0;stroke-opacity:1"
- d="M 234.31017,-229.9035 C 233.82059,-229.03976 232.73502,-228.74348 231.88703,-229.24216 C 231.03903,-229.74084 230.74816,-230.84657 231.23774,-231.71031 C 231.72733,-232.57405 233.84374,-232.16235 234.58388,-234 C 235.43187,-233.50133 234.79976,-230.76724 234.31017,-229.9035 z"
- id="path12243"
- sodipodi:nodetypes="csscc" />
- <path
- style="opacity:1;fill:url(#linearGradient23745);fill-opacity:1;stroke:none;stroke-width:1.07457018;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0;stroke-dashoffset:0;stroke-opacity:1"
- d="M 233.02237,-229 C 228.40776,-230.07384 233.25985,-233.71939 234,-232.92154 C 230.4176,-231.55118 233.02237,-229 233.02237,-229 z"
- id="path12245"
- sodipodi:nodetypes="ccc" />
+ <g transform="translate(-193.78094,269.3383)">
+ <path d="M 231.62587,-228.77086 C 230.58662,-229.36665 230.23015,-230.68774 230.83016,-231.71967 C 232.16166,-233.80243 233.93524,-233.26584 234.84231,-235.46138 C 236.10323,-234.12777 235.63545,-227.21367 231.62587,-228.77086 z" fill="#729fcf" fill-opacity="1" stroke="#204a87" stroke-width="1.07456863" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2" stroke-dasharray="none" stroke-dashoffset="0" stroke-opacity="1"/>
+ <path d="M 234.31017,-229.9035 C 233.82059,-229.03976 232.73502,-228.74348 231.88703,-229.24216 C 231.03903,-229.74084 230.74816,-230.84657 231.23774,-231.71031 C 231.72733,-232.57405 233.84374,-232.16235 234.58388,-234 C 235.43187,-233.50133 234.79976,-230.76724 234.31017,-229.9035 z" opacity="0.46111109" fill="url(#radialGradient23743)" fill-opacity="1" stroke="none" stroke-width="1.07457018" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="0" stroke-dashoffset="0" stroke-opacity="1"/>
+ <path d="M 233.02237,-229 C 228.40776,-230.07384 233.25985,-233.71939 234,-232.92154 C 230.4176,-231.55118 233.02237,-229 233.02237,-229 z" opacity="1" fill="url(#linearGradient23745)" fill-opacity="1" stroke="none" stroke-width="1.07457018" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="0" stroke-dashoffset="0" stroke-opacity="1"/>
</g>
- <g
- transform="translate(-225.96722,264.58414)"
- id="g12186">
- <path
- style="fill:#729fcf;fill-opacity:1;stroke:#204a87;stroke-width:1.07456863;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
- d="M 231.62587,-228.77086 C 230.58662,-229.36665 230.23015,-230.68774 230.83016,-231.71967 C 232.16166,-233.80243 233.93524,-233.26584 234.84231,-235.46138 C 236.10323,-234.12777 235.63545,-227.21367 231.62587,-228.77086 z"
- id="path6059"
- sodipodi:nodetypes="cccc" />
- <path
- style="opacity:0.46111109;fill:url(#radialGradient23747);fill-opacity:1;stroke:none;stroke-width:1.07457018;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0;stroke-dashoffset:0;stroke-opacity:1"
- d="M 234.31017,-229.9035 C 233.82059,-229.03976 232.73502,-228.74348 231.88703,-229.24216 C 231.03903,-229.74084 230.74816,-230.84657 231.23774,-231.71031 C 231.72733,-232.57405 233.84374,-232.16235 234.58388,-234 C 235.43187,-233.50133 234.79976,-230.76724 234.31017,-229.9035 z"
- id="path6061"
- sodipodi:nodetypes="csscc" />
- <path
- style="opacity:1;fill:url(#linearGradient23749);fill-opacity:1;stroke:none;stroke-width:1.07457018;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0;stroke-dashoffset:0;stroke-opacity:1"
- d="M 233.02237,-229 C 228.40776,-230.07384 233.25985,-233.71939 234,-232.92154 C 230.4176,-231.55118 233.02237,-229 233.02237,-229 z"
- id="path6063"
- sodipodi:nodetypes="ccc" />
+ <g transform="translate(-225.96722,264.58414)">
+ <path d="M 231.62587,-228.77086 C 230.58662,-229.36665 230.23015,-230.68774 230.83016,-231.71967 C 232.16166,-233.80243 233.93524,-233.26584 234.84231,-235.46138 C 236.10323,-234.12777 235.63545,-227.21367 231.62587,-228.77086 z" fill="#729fcf" fill-opacity="1" stroke="#204a87" stroke-width="1.07456863" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2" stroke-dasharray="none" stroke-dashoffset="0" stroke-opacity="1"/>
+ <path d="M 234.31017,-229.9035 C 233.82059,-229.03976 232.73502,-228.74348 231.88703,-229.24216 C 231.03903,-229.74084 230.74816,-230.84657 231.23774,-231.71031 C 231.72733,-232.57405 233.84374,-232.16235 234.58388,-234 C 235.43187,-233.50133 234.79976,-230.76724 234.31017,-229.9035 z" opacity="0.46111109" fill="url(#radialGradient23747)" fill-opacity="1" stroke="none" stroke-width="1.07457018" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="0" stroke-dashoffset="0" stroke-opacity="1"/>
+ <path d="M 233.02237,-229 C 228.40776,-230.07384 233.25985,-233.71939 234,-232.92154 C 230.4176,-231.55118 233.02237,-229 233.02237,-229 z" opacity="1" fill="url(#linearGradient23749)" fill-opacity="1" stroke="none" stroke-width="1.07457018" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="0" stroke-dashoffset="0" stroke-opacity="1"/>
</g>
</g>
</g>
diff --git a/demos/qmediaplayer/mediaplayer.h b/demos/qmediaplayer/mediaplayer.h
index 83f14e8..08db0e5 100644
--- a/demos/qmediaplayer/mediaplayer.h
+++ b/demos/qmediaplayer/mediaplayer.h
@@ -93,7 +93,6 @@ public slots:
void playPause();
void scaleChanged(QAction *);
void aspectChanged(QAction *);
- void hasVideoChanged(bool);
private slots:
void setAspect(int);
@@ -109,6 +108,7 @@ private slots:
void bufferStatus(int percent);
void openUrl();
void configureEffect();
+ void hasVideoChanged(bool);
private:
QIcon playIcon;
diff --git a/dist/changes-4.6.0 b/dist/changes-4.6.0
index 7f723da..be2c89c 100644
--- a/dist/changes-4.6.0
+++ b/dist/changes-4.6.0
@@ -23,6 +23,13 @@ information about a particular change.
* The minimum required version of the D-Bus reference library is
now 0.93.
+ - [MR#1742] Added new multimedia keys to the Qt::Key enum.
+
+
+Third party components
+----------------------
+
+ - Updated FreeType to version 2.3.9
****************************************************************************
* Library *
@@ -30,15 +37,178 @@ information about a particular change.
* [245219] Added QXmlQuery::setFocus(const QString &focus);
+ - QGraphicsBlurEffect
+ * Since the 4.6 beta Qt::RenderHint has been moved to
+ QGraphicsBlurEffect::BlurHint.
+
+ * Input contexts are not activated for disabled widgets anymore.
+
+ * [250555] Data copied from Mozilla Firefox can now be pasted correctly to
+ a Qt application.
+
+QtCore
+
+ - QObject
+ * [259514] fixed a possible dead-lock in the destructor
+
- QVariant
* Many optimisations
* Added QVariant::toFloat() and QVariant::toReal()
* Added QVariant(float) constructor
+ * qvariant_cast<QVariant> and qVariantFromValue<QVariant> are now
+ identify functions
+
+ - Qt::escape
+ * now escape the double quote (&quot;)
+
+ - QScopedPointer
+ * New pointer class for cleaning up objects when leaving the
+ current scope
+
+ - QFile
+ * Make QFile::resize() more robust when operating on buffered files
+
+ - QObject
+ * Added the possibility to pass the flag Qt::UniqueConnection to QObject::connect
+ * Fixed race conditions that occured when moving object to threads while connecting
+
+- QTextStream
+ * [221316] Fixed crash on large input.
+ * Improved reading utf8/utf16/utf32 data by correctly skipping the
+ ByteOrderMark when reading data by one character at a time.
+
+QtGui
+
+ - QCompleter
+ * [246056] Fixed a possible assertion when setting the completer prefix
+
+ - QFontDialog
+ * [256466] fixed the dialog not always returning the selected style.
+
+ - QGraphicsItem
+ * Fixed bug and improved accuracy of QGraphicsItem::childrenBoundingRect().
+ * Many optimizations.
+ * Introduced QGraphicsItem::ItemHasNoContents
+ * Introduced QGraphicsItem::ItemSendsGeometryChanges (see Behavioral Changes)
+ * Introduced QGraphicsItem::focusProxy(), focus proxy support
+ * Introduced QGraphicsItem::ItemNegativeZStacksBehindParent
+ * Introduced QGraphicsItem::ItemIsPanel, light-weight window support
+ * Introduced activation support.
+ * Introduced QGraphicsItem::stackBefore()
+ * Cached items are now always invalidated when update() is called.
+
+ - QGraphicsObject
+ * New class; inherits QGraphicsItem and adds notification signals and property declarations.
+
+ - QGraphicsProxyWidget
+ * [251407] Fixed window flag handling. Now QGraphicsProxyWidget's flags win.
+ * Fix Qt::ClickFocus policy
+
+ - QGraphicsScene
+ * [245317] Fixes to mouse grabbing behavior.
+ * Fixed delivery of double-click events after explicit grab and then ungrab.
+ * Rewrote the internal rendering to use a recursive instead of an iterative approach.
+ * Many optimizations.
+ * Ensure hover enter events are delivered when an item is pressed.
+ * Introduced activation support.
+ * Fixed bugs in initial focus support.
+
+ - QGraphicsTextItem
+ * Now inherits from QGraphicsObject instead
+
+ - QGraphicsTransform
+ * New class; eases animation of transformations for QGraphicsItem.
+
+ - QGraphicsView
+ * Fix mapToScene(QRect) to avoid extra unnecessary adjustments.
+ * Many optimizations.
+ * Introduced QGraphicsView::isTransformed()
+ * [QTBUG-4151] Items with parent that sets ItemClipsChildrenToShape were sometimes invisible.
+
+ - QGraphicsWidget
+ * Now inherits from QGraphicsObject instead
+
+ - QHeaderView
+ * [208320] Make sure the sort indicator s taken into account for the size hint
+ * [255574] Make sure the sizehint for the section depend on visible sections
+
+ - QMainWindow
+ * [226060] Adding actions to a toolbar would always make the next toolbar move
+
+ - QMenuBar
+ * [260873] Fix mouse interaction while undocking a widget from the main window
+ * dock areas don't get a splitter if their dock widgets are not resizable
+
+ - QColumnView
+ * [246999] Fixed view not updating when the model is changed dynamically
+
+ - QListView
+ * [243335] Fixed the visualRect to return correct values when the widget is not yet show
+
+ - QTreeView
+ * [234930] Be able to use :has-children and :has-sibillings in a stylesheet
+ * [252616] Set QStyleOptionViewItemV4::OnlyOne flag when painting spanning columns
+ * [245654] Fixed expandAll when deleting and recreating a mode for the tree
+ * [239271] Fixed missing update when adding a row when the first column is hidden
+ * [258225] Fixed scrollTo with center and bottom
+
+ - QTreeWidget
+ * [253109] Shows the widget when calling setItemWidget
+
+ - QTableView
+ * [191545] Selections work more similarly to well-known spreadsheets
+ * [234926] Fixed sorting after changing QTableView header
+ * [244651] [245327] [250193] [QTBUG-5062] Spans get plenty of love with
+ speed-up, support for rows/columns insertion/removal, and better keyboard
+ navigation
+
+ - QTableWidget
+ * [234641] Fixed takeItem to cause the view to be updated.
+
+ - QTabBar
+ * [196326] Fixed having a stylesheet on a QTabBar resulted in some tab names
+ to be slightly clipped.
+ * [241383] Added ability to style the close tab button with style sheet
+
+ - QComboBox
+ * [220195] Fixed keyboard search when current index is -1
+
+ - QPixmap
+ * Optimized width(), height(), isNull() and depth().
+
+ - QRegion
+ * Minor optimizations.
+
+ - QSpinBox
+ * [259226] Fixed setting a stylesheet on a QSpinBox to change the arrow possition
+
+ - QStandardItemModel
+ * [255652] Fixed crash while using takeRow with a QSortFilterProxyModel
+
+ - QGraphicsItem
+ * Added a new set of properties to set a transformation on a item
+
+ - QMenu
+ * [252610] Fixed position of the shortcut text while setting a stylesheet on menu items
+
+ - QSortFilterProxyModel
+ * [251296] Fixed bugs in which filtered items could not be filtered.
+
+ - QSplitter
+ * [206494] Added ability to style pressed slided with stylesheet
+
+ - QWidget
+ * [201649] Added QWidget::previousInFocusChain
+ * [254563] Fixed a crash when setting a focus in a widget tree that
+ contains invisible widgets
****************************************************************************
* Platform Specific Changes *
****************************************************************************
+ - Added community supported Qt ports for QNX and VxWorks. See platform
+ notes in the Qt documentation for details.
+
- Significant external contribution from Milan Burda for planned removal
of (non-unicode) Windows 9x/ME support.
@@ -55,6 +225,140 @@ information about a particular change.
- The reading code of QLocalSocket on Windows has been rewritten to improve
reading performance.
+ - On Windows CE the link time code geration has been disabled by default to
+ be consistent with win32-msvc200x.
+
+ - Added QMAKE_LIBS_OPENGL_ES1, QMAKE_LIBS_OPENGL_ES1CL and
+ QMAKE_LIBS_OPENGL_ES2 qmake variables for specifying OpenGL ES
+ specific libraries.
+
+ - KDE Integration: Improved the integration into KDE desktop (loading of KDE
+ palette, usage of KColorDialog and KFileDialog) using the GuiPlatformPlugin
+
+ - Fixed pasting the clipboard content to non-Qt application on X11 when the
+ requested format is image/ppm. Patch by Ritt.K
+
+ - On Windows when a file cannot be accessed (stat()ed), we are now restoring
+ the error mode to the original value.
+
+ - On X11 Qt now supports the _NET_WM_SYNC protocol.
+
+ - On X11 Qt now supports the SAVE_TARGET protocol that allows to keep
+ clipboard contents if the application that owns the clipboards exits
+
+ - [QTBUG-4652] On X11 clipboard content can be properly retrieved even when an
+ application asks the unsupported target. This fixes copying and pasting data
+ when using Synergy.
+
+ - [QTBUG-4418] Fixed maximizing and restoring a window on Mac.
+
+ - [MR#797] Fixed a crash when using QX11EmbedContainer/Widget on x86_64.
+
+ - [MR#1111] Emit workAreaResized when _NET_WORKAREA is changed on X11.
+
+ - Add support for GetURL events on Mac OS X
+
+General changes on Mac OS X:
+ - Mac OS X version support: Support for 10.3(Panther) has been dropped, support for
+ 10.6(Snow Leopard) has been added.
+ - The Cocoa port now supports static linking.
+ - The Cocoa port now supports the Qt3Support library (with the exception of Q3FileDialog)
+ to ease the transition from Carbon to Cocoa.
+ - The Cocoa binary packages are now Intel only (universal i386 and x86_64).
+ - Snow Leopard notes:
+ - Gcc 4.2 is used by default. Configure with -platform macx-g++40 to select 4.0.
+ - Using the 10.4u SDK requires gcc 4.0.
+ - Configuring for the Cocoa port (-cocoa) produces 64-bit binaries by default.
+ Use the -arch flags to override.
+ - Building for ppc64 is no longer supported by the gcc tool chain.
+ - Building for ppc is still supported.
+
+ - Phonon on Windows
+ * Now much more reliable when reading a file through a QIODevice.
+ * If Video Mixing Renderer 9 is not available, falls back to software
+ rendering.
+ * Fixed a flicker issue when switching source with a transition time of 0
+
+****************************************************************************
+* Tools *
+****************************************************************************
+
+- Designer
+
+ - [233683] Promoted Widgets are now stored correctly in scratchpad.
+ - [249823] Added search functionality to the resource browser.
+ - [254282] Enabled the use of promoted widgets in form templates.
+ - [254824] Made it possible to override the createAction()/createWidget()
+ functions of QUiLoader.
+ - [256332] Enabled deleting all pages of a QTabWidget or QStackedWidget.
+ - [259238] Fixed menubar/menu editing in right-to-left mode.
+ - [259918] Fixed setting of object names for container pages not to use
+ localized strings.
+ - [260658] Fixed saving of alpha values set in the palette editor.
+ - It is now possible to further specify the kind of custom widget
+ string properties using XML tags.
+
+- uic3
+
+ - [128859] Fixed code generation of QLabel's wordWrap property.
+
+****************************************************************************
+* DirectFB *
+****************************************************************************
+
+ - When running Qt/DirectFB the DirectFB window id of a top level QWidget can
+ be queried using property("_q_DirectFBWindowID")
+
+ - Allow setting the background color of the primary layer in DirectFB with
+ connect options. QWS_DISPLAY=directfb:bgcolor=red or
+ QWS_DISPLAY=directfb:bgcolor=\#aabbccdd
+
+ - Add support for rendering mouse cursor using a top level window when cursor
+ support is not working in IDirectFBDisplayLayer. Define
+ QT_DIRECTFB_WINDOW_AS_CURSOR to enable.
+
+ - Add experimental support for optimized locking/unlocking of surfaces. Enable
+ by defining QT_DIRECTFB_SUBSURFACE.
+
+ - Fix a bug to conceptually allow using QDirectFBScreen as a subscreen of a
+ proxy screen. Don't make QDirectFBScreen::instance() assume that
+ QScreen::instance() is a QDirectFBScreen.
+
+ - Optimize move/resize operations with DirectFB. With a properly configured
+ DirectFB these operations are handled for us and we don't need to force a
+ repaint of the window.
+
+ - Support top level window opacity in DirectFB
+
+ - Fix a bug when loading RGB32 images that would lead to rendering issues.
+
+ - Fix a bug when painting with invalid pens/brushes.
+
+ - Fix a bug that would show up when QWidget::scroll is called.
+
+ - Implement support for loading pixmaps using IDirectFBImageProvider.
+
+ - Disable color table support by default. This seems to work incorrectly on
+ most boards and loading these images will generally require an image
+ conversion anyway.
+
+ - Fix a bug regarding QGraphicsProxyWidgets
+
+ - Fix a crash when resizing windows
+
+ - Compile with versions < 1.0. We still recommend using newer versions.
+
+ - Considerable code cleanup
+
+ - Various optimizations regarding painting, loading of images and creation of
+ surfaces.
+
+ - Allow forcibly falling back to raster engine for painting operations by
+ exporting QT_DIRECTFB_FORCE_RASTER=1
+
+ - Reenable support for RGB32 primary surface.
+
+
****************************************************************************
* Important Behavior Changes *
****************************************************************************
@@ -135,11 +439,25 @@ information about a particular change.
means that code that assigned a float to a variant would create a
variant with userType QMetaType::Float, instead of QVariant::Double.
- - QDataStream will now read and write all floating point numbers with the
- same precision, regardless of whether it's streamed into or out from a
+ - QDataStream will now read and write all floating point numbers with the
+ same precision, regardless of whether it's streamed into or out from a
float or double. This is to maintain compatibility across platforms with
a different default precision for qreal. The default is 64-bit precision
- for all floating point numbers, and this can be changed using the new
- function setFloatingPointPrecision(). Set Qt_4_5 as the version of the
+ for all floating point numbers, and this can be changed using the new
+ function setFloatingPointPrecision(). Set Qt_4_5 as the version of the
QDataStream to get the behavior of previous versions.
+
+ - On Mac OS X, QDesktopServices::storageLocation(DataLocation) now includes
+ QCoreApplication::organizationName() and QCoreApplication::applicationName()
+ if those are set. This matches the behavior on the other platforms.
+ - The Animation Framework
+ * currentTime() now returns the complete current time including previous loops
+ * currentLoopTime() returns the time inside the current loop
+ * stateChanged signal sends the new state as first parameter and old state as
+ the second
+ * QAnimationGroup::clearAnimations() has been renames to clear()
+ * QAnimationGroup::insertAnimationAt() has been renames to insertAnimation()
+ * QAnimationGroup::takeAnimationAt() has been renames to takeAnimation()
+ * QSequentialAnimationGroup::insertPauseAt() has been renames to insertPause()
+
diff --git a/doc/src/development/qmake-manual.qdoc b/doc/src/development/qmake-manual.qdoc
index d040d3d..9548848 100644
--- a/doc/src/development/qmake-manual.qdoc
+++ b/doc/src/development/qmake-manual.qdoc
@@ -2252,6 +2252,18 @@ For example:
If the OpenGL implementation uses EGL (most OpenGL/ES systems),
then QMAKE_INCDIR_EGL may also need to be set.
+ \section1 QMAKE_INCDIR_OPENGL_ES1, QMAKE_INCDIR_OPENGL_ES1CL, QMAKE_INCDIR_OPENGL_ES2
+
+ These variables contain the location of OpenGL headers files to be added
+ to INCLUDEPATH when building an application with OpenGL ES 1, OpenGL ES 1 Common
+ Lite or OpenGL ES 2 support respectively.
+
+ The value of this variable is typically handled by \c qmake or
+ \l{#QMAKESPEC}{qmake.conf} and rarely needs to be modified.
+
+ If the OpenGL implementation uses EGL (most OpenGL/ES systems),
+ then QMAKE_INCDIR_EGL may also need to be set.
+
\target QMAKE_INCDIR_OPENVG
\section1 QMAKE_INCDIR_OPENVG
@@ -2341,6 +2353,13 @@ For example:
of this variable is typically handled by \c qmake or
\l{#QMAKESPEC}{qmake.conf} and rarely needs to be modified.
+ \section1 QMAKE_LFLAGS_RPATH
+
+ \e {This is used on Unix platforms only.}
+
+ Library paths in this definition are added to the executable at link
+ time so that the added paths will be preferentially searched at runtime.
+
\section1 QMAKE_LFLAGS_QT_DLL
This variable contains link flags when building programs that
@@ -2491,6 +2510,17 @@ For example:
variable is typically handled by \c qmake or
\l{#QMAKESPEC}{qmake.conf} and rarely needs to be modified.
+ \section1 QMAKE_LIBS_OPENGL_ES1, QMAKE_LIBS_OPENGL_ES1CL, QMAKE_LIBS_OPENGL_ES2
+
+ These variables contain all the OpenGL libraries for OpenGL ES 1,
+ OpenGL ES 1 Common Lite profile and OpenGL ES 2.
+
+ The value of these variables is typically handled by \c qmake or
+ \l{#QMAKESPEC}{qmake.conf} and rarely needs to be modified.
+
+ If the OpenGL implementation uses EGL (most OpenGL/ES systems),
+ then QMAKE_LIBS_EGL may also need to be set.
+
\section1 QMAKE_LIBS_OPENVG
This variable contains all OpenVG libraries. The value of this
@@ -2667,6 +2697,20 @@ For example:
\snippet doc/src/snippets/code/doc_src_qmake-manual.qdoc 45
+ \section1 QMAKE_RPATH
+
+ \e {This is used on Unix platforms only.}
+
+ Is equivalent to \l QMAKE_LFLAGS_RPATH.
+
+ \section1 QMAKE_RPATHDIR
+
+ \e {This is used on Unix platforms only.}
+
+ A list of library directory paths, these paths are added to the
+ executable at link time so that the paths will be preferentially
+ searched at runtime.
+
\section1 QMAKE_RUN_CC
This variable specifies the individual rule needed to build an object.
diff --git a/doc/src/examples/ftp.qdoc b/doc/src/examples/ftp.qdoc
index 8fded88..68fb0d7 100644
--- a/doc/src/examples/ftp.qdoc
+++ b/doc/src/examples/ftp.qdoc
@@ -40,7 +40,7 @@
****************************************************************************/
/*!
- \example network/ftp
+ \example network/qftp
\title FTP Example
The FTP example demonstrates a simple FTP client that can be used
@@ -90,12 +90,12 @@
the FTP server, and registers whether an entry represents a
directory or a file. We use the QFile object to download files
from the FTP server.
-
+
\section1 FtpWindow Class Implementation
We skip the \c FtpWindow constructor as it only contains code for
setting up the GUI, which is explained in other examples.
-
+
We move on to the slots, starting with \c connectOrDisconnect().
\snippet examples/network/qftp/ftpwindow.cpp 0
@@ -137,7 +137,7 @@
\snippet examples/network/qftp/ftpwindow.cpp 3
\dots
\snippet examples/network/qftp/ftpwindow.cpp 4
-
+
We first fetch the name of the file, which we find in the selected
item of \c fileList. We then start the download by using
QFtp::get(). QFtp will send progress signals during the download
@@ -153,7 +153,7 @@
finished a QFtp::Command. If an error occurred during the
command, QFtp will set \c error to one of the values in
the QFtp::Error enum; otherwise, \c error is zero.
-
+
\snippet examples/network/qftp/ftpwindow.cpp 7
After login, the QFtp::list() function will list the top-level
@@ -165,7 +165,7 @@
When a \l{QFtp::}{Get} command is finished, a file has finished
downloading (or an error occurred during the download).
-
+
\snippet examples/network/qftp/ftpwindow.cpp 9
After a \l{QFtp::}{List} command is performed, we have to check if
diff --git a/doc/src/examples/imagegestures.qdoc b/doc/src/examples/imagegestures.qdoc
new file mode 100644
index 0000000..33c1ace
--- /dev/null
+++ b/doc/src/examples/imagegestures.qdoc
@@ -0,0 +1,116 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, 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.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+/*!
+ \example gestures/imagegestures
+ \title Image Gestures Example
+
+ This example shows how to enable gestures for a widget and use gesture input
+ to perform actions.
+
+ \image imagegestures-example.png Screenshot of the Image Gestures example.
+
+ We use two classes to create the user interface for the application: \c MainWidget
+ and \c ImageWidget. The \c MainWidget class is simply used as a container for the
+ \c ImageWidget class, which we will configure to accept gesture input. Since we
+ are interested in the way gestures are used, we will concentrate on the
+ implementation of the \c ImageWidget class.
+
+ \section1 ImageWidget Class Definition
+
+ The \c ImageWidget class is a simple QWidget subclass that reimplements the general
+ QWidget::event() handler function in addition to several more specific event handlers:
+
+ \snippet examples/gestures/imagegestures/imagewidget.h class definition begin
+ \dots
+ \snippet examples/gestures/imagegestures/imagewidget.h class definition end
+
+ We also implement a private helper function, \c gestureEvent(), to help manage
+ gesture events delivered to the widget, and three functions to perform actions
+ based on gestures: \c panTriggered(), \c pinchTriggered() and \c swipeTriggered().
+
+ \section1 ImageWidget Class Implementation
+
+ In the widget's constructor, we begin by setting up various parameters that will
+ be used to control the way images are displayed.
+
+ \snippet examples/gestures/imagegestures/imagewidget.cpp constructor
+
+ We enable three of the standard gestures for the widget by calling QWidget::grabGesture()
+ with the types of gesture we need. These will be recognized by the application's
+ default gesture recognizer, and events will be delivered to our widget.
+
+ Since QWidget does not define a specific event handler for gestures, the widget
+ needs to reimplement the general QWidget::event() to receive gesture events.
+
+ \snippet examples/gestures/imagegestures/imagewidget.cpp event handler
+
+ We implement the event handler to delegate gesture events to a private function
+ specifically written for the task, and pass all other events to QWidget's
+ implementation.
+
+ The \c gestureHandler() function examines the gestures supplied by the
+ newly-delivered QGestureEvent. Since only one gesture of a given type can be
+ used on a widget at any particular time, we can check for each gesture type
+ using the QGestureEvent::gesture() function:
+
+ \snippet examples/gestures/imagegestures/imagewidget.cpp gesture event handler
+
+ If a QGesture object is supplied for a certain type of gesture, we call a special
+ purpose function to deal with it, casting the gesture object to the appropriate
+ QGesture subclass.
+
+ To illustrate how a standard gesture can be interpreted by an application, we
+ show the implementation of the \c swipeTriggered() function, which handles the
+ gesture associated with a brushing or swiping motion on the user's display or
+ input device:
+
+ \snippet examples/gestures/imagegestures/imagewidget.cpp swipe function
+
+ The QSwipeGesture class provides specialized functions and defines a enum
+ to make it more convenient for developers to discover which direction, if
+ any, the user swiped the display. Here, we simply navigate to the previous
+ image in the collection if the user swiped upwards or to the left; otherwise
+ we navigate to the next image in the collection.
+
+ The other gestures are also handled by special purpose functions, but use
+ the values of properties held by the QGesture object passed to them.
+*/
diff --git a/doc/src/examples/stickman.qdoc b/doc/src/examples/stickman.qdoc
index e70c39b..c9e98d0 100644
--- a/doc/src/examples/stickman.qdoc
+++ b/doc/src/examples/stickman.qdoc
@@ -55,9 +55,9 @@
Animations are implemented as composite states. Each child state of the animation state
represents a frame in the animation by setting the position of each joint in the stickman's
skeleton to the positions defined for the particular frame. The frames are then bound together
- with animated transitions that trigger on the source state's polished() signal. Thus, the
- machine will enter the state representing the next frame in the animation immediately after it
- has finished animating into the previous frame.
+ with animated transitions that trigger on the source state's propertiesAssigned() signal. Thus,
+ the machine will enter the state representing the next frame in the animation immediately after
+ it has finished animating into the previous frame.
\image stickman-example1.png
@@ -67,7 +67,8 @@
\snippet examples/animation/stickman/lifecycle.cpp 1
- The states are then bound together with signal transitions that listen to the polished() signal.
+ The states are then bound together with signal transitions that listen to the
+ propertiesAssigned() signal.
\snippet examples/animation/stickman/lifecycle.cpp 2
diff --git a/doc/src/frameworks-technologies/eventsandfilters.qdoc b/doc/src/frameworks-technologies/eventsandfilters.qdoc
index c769884..52d596a 100644
--- a/doc/src/frameworks-technologies/eventsandfilters.qdoc
+++ b/doc/src/frameworks-technologies/eventsandfilters.qdoc
@@ -215,7 +215,7 @@
\l{QCoreApplication::}{postEvent()} posts the event on a queue for
later dispatch. The next time Qt's main event loop runs, it dispatches
all posted events, with some optimization. For example, if there are
- several resize events, they are are compressed into one. The same
+ several resize events, they are compressed into one. The same
applies to paint events: QWidget::update() calls
\l{QCoreApplication::}{postEvent()}, which eliminates flickering and
increases speed by avoiding multiple repaints.
diff --git a/doc/src/frameworks-technologies/gestures.qdoc b/doc/src/frameworks-technologies/gestures.qdoc
index a619fe8..2fa8dab 100644
--- a/doc/src/frameworks-technologies/gestures.qdoc
+++ b/doc/src/frameworks-technologies/gestures.qdoc
@@ -122,7 +122,7 @@
\section2 Filtering Input Events
- The \l{QGestureRecognizer::}{filterEvent()} function must be reimplemented.
+ The \l{QGestureRecognizer::}{recognize()} function must be reimplemented.
This function handles and filters the incoming input events for the target objects
and determines whether or not they correspond to the gesture the recognizer is
looking for.
@@ -132,15 +132,15 @@
persistent information about the state of the recognition process in the QGesture
object supplied.
- Your \l{QGestureRecognizer::}{filterEvent()} function must return a value of
- Qt::GestureState that indicates the state of recognition for a given gesture and
+ Your \l{QGestureRecognizer::}{recognize()} function must return a value of
+ QGestureRecognizer::Result that indicates the state of recognition for a given gesture and
target object. This determines whether or not a gesture event will be delivered
to a target object.
\section2 Custom Gestures
If you choose to represent a gesture by a custom QGesture subclass, you will need to
- reimplement the \l{QGestureRecognizer::}{createGesture()} function to construct
+ reimplement the \l{QGestureRecognizer::}{create()} function to construct
instances of your gesture class instead of standard QGesture instances. Alternatively,
you may want to use standard QGesture instances, but add additional dynamic properties
to them to express specific details of the gesture you want to handle.
@@ -152,7 +152,7 @@
\l{QGestureRecognizer::}{reset()} function to perform these special tasks.
Note that QGesture objects are only created once for each combination of target object
- and gesture type, and they are reused every time the user attempts to perform the
+ and gesture type, and they might be reused every time the user attempts to perform the
same gesture type on the target object. As a result, it can be useful to reimplement
the \l{QGestureRecognizer::}{reset()} function to clean up after each previous attempt
at recognizing a gesture.
@@ -162,12 +162,12 @@
To use a gesture recognizer, construct an instance of your QGestureRecognizer
subclass, and register it with the application with
- QApplication::registerGestureRecognizer(). A recognizer for a given type of
- gesture can be removed with QApplication::unregisterGestureRecognizer().
+ QGestureRecognizer::registerRecognizer(). A recognizer for a given type of
+ gesture can be removed with QGestureRecognizer::unregisterRecognizer().
\section1 Further Reading
- The \l{Image Gestures Example} shows how to enable gestures for a widget in
- a simple image viewer application.
+ The \l{gestures/imagegestures}{Image Gestures Example} shows how to enable
+ gestures for a widget in a simple image viewer application.
*/
diff --git a/doc/src/frameworks-technologies/statemachine.qdoc b/doc/src/frameworks-technologies/statemachine.qdoc
index ed8bc85..b0b13a7 100644
--- a/doc/src/frameworks-technologies/statemachine.qdoc
+++ b/doc/src/frameworks-technologies/statemachine.qdoc
@@ -75,6 +75,11 @@
states can be configured to set properties and invoke methods on QObjects.
Qt's event system is used to drive the state machines.
+ The state graph in the State Machine framework is hierarchical. States can be nested inside of
+ other states, and the current configuration of the state machine consists of the set of states
+ which are currently active. All the states in a valid configuration of the state machine will
+ have a common ancestor.
+
\section1 Classes in the State Machine Framework
These classes are provided by qt for creating event-driven state machines.
@@ -269,9 +274,17 @@
When a parallel state group is entered, all its child states will be
simultaneously entered. Transitions within the individual child states
- operate normally. However, any of the child states may take a transition
- outside the parent state. When this happens, the parent state and all of its
- child states are exited.
+ operate normally. However, any of the child states may take a transition which exits the parent
+ state. When this happens, the parent state and all of its child states are exited.
+
+ The parallelism in the State Machine framework follows an interleaved semantics. All parallel
+ operations will be executed in a single, atomic step of the event processing, so no event can
+ interrupt the parallel operations. However, events will still be processed sequentially, since
+ the machine itself is single threaded. As an example: Consider the situation where there are two
+ transitions that exit the same parallel state group, and their conditions become true
+ simultaneously. In this case, the event that is processed last of the two will not have any
+ effect, since the first event will already have caused the machine to exit from the parallel
+ state.
\section1 Detecting that a Composite State has Finished
@@ -413,18 +426,8 @@
value of the property before any property assignments in states were executed.)
Take the following code:
- \code
- QStateMachine machine;
- machine.setGlobalRestorePolicy(QStateMachine::RestoreProperties);
-
- QState *s1 = new QState();
- s1->assignProperty(object, "fooBar", 1.0);
- machine.addState(s1);
- machine.setInitialState(s1);
- QState *s2 = new QState();
- machine.addState(s2);
- \endcode
+ \snippet doc/src/snippets/statemachine/main5.cpp 0
Lets say the property \c fooBar is 0.0 when the machine starts. When the machine is in state
\c s1, the property will be 1.0, since the state explicitly assigns this value to it. When the
@@ -433,21 +436,8 @@
If we are using nested states, the parent defines a value for the property which is inherited by
all descendants that do not explicitly assign a value to the property.
- \code
- QStateMachine machine;
- machine.setGlobalRestorePolicy(QStateMachine::RestoreProperties);
- QState *s1 = new QState();
- s1->assignProperty(object, "fooBar", 1.0);
- machine.addState(s1);
- machine.setInitialState(s1);
-
- QState *s2 = new QState(s1);
- s2->assignProperty(object, "fooBar", 2.0);
- s1->setInitialState(s2);
-
- QState *s3 = new QState(s1);
- \endcode
+ \snippet doc/src/snippets/statemachine/main5.cpp 2
Here \c s1 has two children: \c s2 and \c s3. When \c s2 is entered, the property \c fooBar
will have the value 2.0, since this is explicitly defined for the state. When the machine is in
@@ -460,15 +450,8 @@
properties as they are assigned in states.
Say we have the following code:
- \code
- QState *s1 = new QState();
- QState *s2 = new QState();
- s1->assignProperty(button, "geometry", QRectF(0, 0, 50, 50));
- s2->assignProperty(button, "geometry", QRectF(0, 0, 100, 100));
-
- s1->addTransition(button, SIGNAL(clicked()), s2);
- \endcode
+ \snippet doc/src/snippets/statemachine/main5.cpp 3
Here we define two states of a user interface. In \c s1 the \c button is small, and in \c s2
it is bigger. If we click the button to transition from \c s1 to \c s2, the geometry of the button
@@ -476,16 +459,7 @@
smooth, however, all we need to do is make a QPropertyAnimation and add this to the transition
object.
- \code
- QState *s1 = new QState();
- QState *s2 = new QState();
-
- s1->assignProperty(button, "geometry", QRectF(0, 0, 50, 50));
- s2->assignProperty(button, "geometry", QRectF(0, 0, 100, 100));
-
- QSignalTransition *transition = s1->addTransition(button, SIGNAL(clicked()), s2);
- transition->addAnimation(new QPropertyAnimation(button, "geometry"));
- \endcode
+ \snippet doc/src/snippets/statemachine/main5.cpp 4
Adding an animation for the property in question means that the property assignment will no
longer take immediate effect when the state has been entered. Instead, the animation will start
@@ -504,33 +478,48 @@
property can potentially have any value, depending on the animation.
In some cases, it can be useful to be able to detect when the property has actually been assigned
- the value defined by a state. For this, we can use the state's polished() signal.
- \code
- QState *s1 = new QState();
- s1->assignProperty(button, "geometry", QRectF(0, 0, 50, 50));
+ the value defined by a state.
- QState *s2 = new QState();
+ Say we have the following code:
- s1->addTransition(s1, SIGNAL(polished()), s2);
- \endcode
+ \snippet doc/src/snippets/statemachine/main5.cpp 5
+
+ When \c button is clicked, the machine will transition into state \c s2, which will set the
+ geometry of the button, and then pop up a message box to alert the user that the geometry has
+ been changed.
+
+ In the normal case, where animations are not used, this will operate as expected. However, if
+ an animation for the \c geometry of \c button is set on the transition between \c s1 and \c s2,
+ the animation will be started when \c s2 is entered, but the \c geometry property will not
+ actually reach its defined value before the animation is finished running. In this case, the
+ message box will pop up before the geometry of the button has actually been set.
+
+ To ensure that the message box does not pop up until the geometry actually reaches its final
+ value, we can use the state's propertiesAssigned() signal. The propertiesAssigned() signal will be
+ emitted when the property is assigned its final value, whether this is done immediately or
+ after the animation has finished playing.
+
+ \snippet doc/src/snippets/statemachine/main5.cpp 6
- The machine will be in state \c s1 until the \c geometry property has been set. Then it will
- immediately transition into \c s2. If the transition into \c s1 has an animation for the \c
- geometry property, then the machine will stay in \c s1 until the animation has finished. If there
- is no animation, it will simply set the property and immediately enter state \c s2.
+ In this example, when \c button is clicked, the machine will enter \c s2. It will remain in state
+ \c s2 until the \c geometry property has been set to \c QRect(0, 0, 50, 50). Then it will
+ transition into \c s3. When \c s3 is entered, the message box will pop up. If the transition into
+ \c s2 has an animation for the \c geometry property, then the machine will stay in \c s2 until the
+ animation has finished playing. If there is no such animation, it will simply set the property and
+ immediately enter state \c s3.
- Either way, when the machine is in state \c s2, the property \c geometry has been assigned the
- defined value.
+ Either way, when the machine is in state \c s3, you are guaranteed that the property \c geometry
+ has been assigned the defined value.
If the global restore policy is set to QStateMachine::RestoreProperties, the state will not emit
- the polished() signal until these have been executed as well.
+ the propertiesAssigned() signal until these have been executed as well.
- \section1 What happens if a state is exited before the animation has finished
+ \section1 What Happens If A State Is Exited Before The Animation Has Finished
If a state has property assignments, and the transition into the state has animations for the
properties, the state can potentially be exited before the properties have been assigned to the
values defines by the state. This is true in particular when there are transitions out from the
- state that do not depend on the state being polished, as described in the previous section.
+ state that do not depend on the propertiesAssigned signal, as described in the previous section.
The State Machine API guarantees that a property assigned by the state machine either:
\list
@@ -545,7 +534,7 @@
If the target state does not assign any value to the property, there are two
options: By default, the property will be assigned the value defined by the state it is leaving
- (the value it would have been assigned if the animation had been permitted to finish playing.) If
+ (the value it would have been assigned if the animation had been permitted to finish playing). If
a global restore policy is set, however, this will take precedence, and the property will be
restored as usual.
diff --git a/doc/src/getting-started/examples.qdoc b/doc/src/getting-started/examples.qdoc
index 05940e4..79cbe89 100644
--- a/doc/src/getting-started/examples.qdoc
+++ b/doc/src/getting-started/examples.qdoc
@@ -729,7 +729,7 @@
\o \l{network/network-chat}{Network Chat}
\o \l{network/fortuneclient}{Fortune Client}\raisedaster
\o \l{network/fortuneserver}{Fortune Server}\raisedaster
- \o \l{network/ftp}{FTP}\raisedaster
+ \o \l{network/qftp}{FTP}\raisedaster
\o \l{network/http}{HTTP}
\o \l{network/loopback}{Loopback}
\o \l{network/threadedfortuneserver}{Threaded Fortune Server}\raisedaster
diff --git a/doc/src/getting-started/installation.qdoc b/doc/src/getting-started/installation.qdoc
index 8269552..1eefed3 100644
--- a/doc/src/getting-started/installation.qdoc
+++ b/doc/src/getting-started/installation.qdoc
@@ -498,10 +498,9 @@ in the \l{Qt for Windows CE Requirements} document.
*/
/*! \page install-Symbian-installer.html
-
-\title Installing Qt on the Symbian platform using binary package
+\title Installing Qt on the Symbian Platform from a Binary Package
\ingroup qts60
-\brief How to install Qt on the Symbian platform using the binary package.
+\brief How to install Qt on the Symbian platform from a binary package.
\note Qt for Symbian platform has some requirements that are given in more detail
in the \l{Qt for Symbian platform Requirements} document.
@@ -528,9 +527,9 @@ in the \l{Qt for Symbian platform Requirements} document.
To run the demos and examples on the emulator, you need to build them first.
Open the "Qt for Symbian platform Command Prompt" from the Start menu and type:
-
+
\snippet doc/src/snippets/code/doc_src_installation.qdoc 25
-
+
To run the demos on the emulator simply navigate to the directory of the demo
you want to see and run:
@@ -538,7 +537,7 @@ in the \l{Qt for Symbian platform Requirements} document.
For more information about building and running Qt programs on the
Symbian platform,
- see \l{Symbian platform - Introduction to using Qt}.
+ see \l{Symbian platform - Introduction to Qt}.
We hope you will enjoy using Qt.
@@ -546,19 +545,18 @@ Symbian platform,
*/
/*! \page install-Symbian.html
-
-\title Installing Qt on the Symbian platform
+\title Installing Qt on the Symbian Platform
\ingroup installation
\ingroup qts60
-\brief How to install Qt for the Symbian platform
+\brief How to install Qt on the Symbian platform.
\note Qt for the Symbian platform has some requirements that are given in more detail
-in the \l{Qt for Symbian platform Requirements} document.
+in the \l{Qt for Symbian Platform Requirements} document.
\note \bold {This document describes how to install and configure Qt for
the Symbian platform from scratch.
-If you are using pre-built binaries, follow the instructions
-\l{Installing Qt on the Symbian platform using binary package}{here}.}
+If you are using pre-built binaries, follow the instructions given in the
+\l{Installing Qt on the Symbian Platform from a Binary Package} document.}
\list 1
@@ -608,7 +606,7 @@ If you are using pre-built binaries, follow the instructions
To build Qt for the device, type:
\snippet doc/src/snippets/code/doc_src_installation.qdoc 28
-
+
Congratulations, Qt is now ready to use.
\o Running Qt demos
@@ -617,7 +615,7 @@ If you are using pre-built binaries, follow the instructions
to try out. An excellent starting point is the "fluidlauncher"
demo. To run the demo on a real device, you first have to install
the Qt libraries on the device:
-
+
\snippet doc/src/snippets/code/doc_src_installation.qdoc 29
\note You will need to supply certificate that allows installation
@@ -629,14 +627,14 @@ If you are using pre-built binaries, follow the instructions
This will create a self-signed \c fluidlauncher_armv5_urel.sis and
install it to your device.
-
+
To run the demos on the emulator simply navigate to the directory of the demo
you want to see and run:
\snippet doc/src/snippets/code/doc_src_installation.qdoc 27
For more information about building and running Qt programs on the
-Symbian platform, see \l{Symbian platform - Introduction to using Qt}.
+Symbian platform, see \l{Symbian platform - Introduction to Qt}.
We hope you will enjoy using Qt.
@@ -956,23 +954,30 @@ Symbian platform, see \l{Symbian platform - Introduction to using Qt}.
/*!
\page requirements-symbian.html
- \title Qt for Symbian platform Requirements
+ \title Qt for Symbian Platform Requirements
\ingroup installation
\brief Setting up the Symbian platform environment for Qt.
\previouspage General Qt Requirements
Qt for Symbian platform requires the following software installed on your development PC:
\list
- \o \l{http://www.mingw.org/}{MinGW 3.4.5 or higher}, or another windows compiler to build the tools.
\o \l{http://www.forum.nokia.com/main/resources/tools_and_sdks/carbide_cpp/}{Carbide.c++ v2.0.0 or higher}
\list
\o \bold{Note:} It may be necessary to update the Carbide compiler.
See \l{http://pepper.troll.no/s60prereleases/patches/}{here} for instructions how to check your
compiler version and how to patch it, if needed.
\endlist
+ \o \l{http://downloads.activestate.com/ActivePerl/Windows/5.6/ActivePerl-5.6.1.638-MSWin32-x86.msi}{ActivePerl v5.6.1 build 638}
+ \list
+ \o \bold{Note:} According to Symbian, version 5.6.1 build 638 is mandatory. Using later versions may result in unexplained errors.
+ \endlist
\o \l{http://www.forum.nokia.com/main/resources/tools_and_sdks/S60SDK/}{S60 Platform SDK 3rd Edition FP1 or higher}
\o \l{http://www.forum.nokia.com/main/resources/technologies/openc_cpp/}{Open C/C++ v1.6.0 or higher}.
Install this to all Symbian SDKs you plan to use Qt with.
+ \o Building Qt tools from scratch requires \l{http://www.mingw.org/}{MinGW 3.4.5 or higher}, or another windows compiler.
+ \list
+ \o \bold{Note:} This is not required if you are using pre-built binary package.
+ \endlist
\o Building Qt libraries requires \l{http://www.arm.com/products/DevTools/RVCT.html}{RVCT} 2.2 [build 686] or later,
which is not available free of charge.
\endlist
diff --git a/doc/src/howtos/guibooks.qdoc b/doc/src/howtos/guibooks.qdoc
index c41d8fa..6e64c09 100644
--- a/doc/src/howtos/guibooks.qdoc
+++ b/doc/src/howtos/guibooks.qdoc
@@ -52,8 +52,10 @@
GUI Programming with Qt 4, Second Edition}}
by Jasmin Blanchette and Mark
Summerfield, ISBN 0-13-235416-0. This is the official Qt book written
- by two veteran Trolls. The first edition, which is based on Qt 4.1, is available
- \l{http://www.qtrac.eu/C++-GUI-Programming-with-Qt-4-1st-ed.zip}{online}.
+ by two veteran Trolls. The first edition, which is based on Qt 4.1, is
+ \l{http://www.qtrac.eu/C++-GUI-Programming-with-Qt-4-1st-ed.zip}{available online}.
+ The second edition, based on Qt 4.3, is
+ \l{http://www.informit.com/store/product.aspx?isbn=0132354160}{also available online}.
\bold{\l{http://www.amazon.com/exec/obidos/ASIN/0385267746/trolltech/t}{The Design of Everyday Things}}
by Donald Norman, ISBN 0-38526774-6, is one of the classics of human
diff --git a/doc/src/images/platformHWAcc.png b/doc/src/images/platformHWAcc.png
new file mode 100644
index 0000000..76a5a48
--- /dev/null
+++ b/doc/src/images/platformHWAcc.png
Binary files differ
diff --git a/doc/src/images/simpleanchorlayout-example.png b/doc/src/images/simpleanchorlayout-example.png
new file mode 100644
index 0000000..1d5c8ac
--- /dev/null
+++ b/doc/src/images/simpleanchorlayout-example.png
Binary files differ
diff --git a/doc/src/internationalization/i18n.qdoc b/doc/src/internationalization/i18n.qdoc
index e873f4e..ecc25fe 100644
--- a/doc/src/internationalization/i18n.qdoc
+++ b/doc/src/internationalization/i18n.qdoc
@@ -51,6 +51,7 @@
\page internationalization.html
\title Internationalization with Qt
\brief Information about Qt's support for internationalization and multiple languages.
+ \nextpage Writing Source Code for Translation
\keyword internationalization
\keyword i18n
@@ -59,11 +60,11 @@
the application usable by people in countries other than one's own.
\tableofcontents
-
+
\section1 Relevant Qt Classes and APIs
These classes support internationalizing of Qt applications.
-
+
\annotatedlist i18n
\section1 Languages and Writing Systems
@@ -92,7 +93,7 @@
\o Greek
\o Hebrew
\o Thai and Lao
- \o All scripts in Unicode 4.0 that do not require special processing
+ \o All scripts in Unicode 5.1 that do not require special processing
\endlist
On Windows, Unix/X11 with FontConfig (client side font support)
@@ -111,6 +112,7 @@
\o Tamil
\o Telugu
\o Tibetan
+ \o N'Ko
\endlist
Many of these writing systems exhibit special features:
@@ -180,7 +182,7 @@
\section2 Use QString for All User-Visible Text
- Since QString uses the Unicode 4.0 encoding internally, every
+ Since QString uses the Unicode 5.1 encoding internally, every
language in the world can be processed transparently using
familiar text processing operations. Also, since all Qt functions
that present text to the user take a QString as a parameter,
@@ -438,9 +440,13 @@
application language.
The default event handler for QWidget subclasses responds to the
- QEvent::LanguageChange event, and will call this function when necessary;
- other application components can also force widgets to update themselves
- by posting the \l{QEvent::LanguageChange}{LanguageChange} event to them.
+ QEvent::LanguageChange event, and will call this function when necessary.
+
+ \l{QEvent::LanguageChange}{LanguageChange} events are posted when a new
+ translation is installed using the QCoreApplication::installTranslator()
+ function. Additionally, other application components can also force
+ widgets to update themselves by posting LanguageChange events to them.
+
\section1 Translating Non-Qt Classes
@@ -516,3 +522,265 @@
For details on Mac-specific translation, refer to the Qt/Mac Specific Issues
document \l{Qt for Mac OS X - Specific Issues#Translating the Application Menu and Native Dialogs}{here}.
*/
+
+/*!
+ \page i18n-source-translation.html
+ \title Writing Source Code for Translation
+ \ingroup i18n
+ \previouspage Internationalization with Qt
+ \contentspage Internationalization with Qt
+ \nextpage Translation Rules for Plurals
+ \brief How to write source code in a way that makes it possible for user-visible text to be translated.
+
+ \tableofcontents
+
+ \section1 The Basics
+
+ Developers use the \l{QObject::}{tr()} function to obtain translated text
+ for their classes, typically for display purposes. This function is also
+ used to indicate which text strings in an application are translatable.
+
+ Qt indexes each translatable string by the \e{translation context} it is
+ associated with; this is generally the name of the QObject subclass it is
+ used in.
+
+ Translation contexts are defined for new QObject-based classes by the use
+ of the Q_OBJECT macro in each new class definition.
+
+ When tr() is called, it looks up the translatable string using a QTranslator
+ object. For translation to work, one or more of these must have been
+ installed on the application object in the way described in the
+ \l{#Enabling Translation}{Enabling Translation} section below.
+
+ \section1 Defining a Translation Context
+
+ The translation context for QObject and each QObject subclass is the
+ class name itself. Developers subclassing QObject must use the
+ Q_OBJECT macro in their class definition to override the translation
+ context. This macro sets the context to the name of the subclass.
+
+ For example, the following class definition includes the Q_OBJECT macro,
+ implementing a new tr() that uses the \c MainWindow context:
+
+ \snippet mainwindows/sdi/mainwindow.h class definition with macro
+ \dots
+
+ If Q_OBJECT is not used in a class definition, the context will be
+ inherited from the base class. For example, since all QObject-based
+ classes in Qt provide a context, a new QWidget subclass defined without
+ a Q_OBJECT macro will use the \c QWidget context if its tr() function
+ is invoked.
+
+ \section1 Using tr() to Obtain a Translation
+
+ The following example shows how a translation is obtained for the
+ class shown in the previous section:
+
+ \snippet mainwindows/sdi/mainwindow.cpp implicit tr context
+ \dots
+
+ Here, the translation context is \c MainWindow because it is the
+ \c MainWindow::tr() function that is invoked. The text returned
+ by the tr() function is a translation of "&File" obtained from
+ the \c MainWindow context.
+
+ When Qt's translation tool, \l lupdate, is used to process a set of source
+ files, the text wrapped in tr() calls is stored in a section of the translation
+ file that corresponds to its translation context.
+
+ In some situations, it is useful to give a translation context explicitly
+ by fully qualifying the call to tr(); for example:
+
+ \snippet doc/src/snippets/code/src_corelib_kernel_qobject.cpp explicit tr context
+
+ This call obtains the translated text for "Page up" from the \c QScrollBar
+ context. Developers can also use the QCoreApplication::translate() function
+ to obtain a translation for a particular translation context.
+
+ \section1 Translator Comments
+
+ Developers can include information about each translatable string to
+ help translators with the translation process. These are extracted
+ when \l lupdate is used to process the source files. The recommended
+ way to add comments is to annotate the tr() calls in your code with
+ comments of the form:
+
+ \tt{//: ...}
+
+ or
+
+ \tt{\begincomment: ... \endcomment}
+
+ Examples:
+
+ \snippet doc/src/snippets/code/src_corelib_kernel_qobject.cpp 40
+
+ In these examples, the comments will be associated with the strings
+ passed to tr() in the context of each call.
+
+ \section1 Adding Meta-Data to Strings
+
+ Additional data can be attached to each translatable message. These are
+ extracted when \l lupdate is used to process the source files. The
+ recommended way to add meta-data is to annotate the tr() calls in your code
+ with comments of the form:
+
+ \tt{//= <id>}
+
+ This can be used to give the message a unique identifier to support tools
+ which need it.
+
+ An alternative way to attach meta-data is to use the following syntax:
+
+ \tt{//~ <field name> <field contents>}
+
+ This can be used to attach meta-data to the message. The field name should
+ consist of a domain prefix (possibly the conventional file extension of the
+ file format the field is inspired by), a hyphen and the actual field name
+ in underscore-delimited notation. For storage in TS files, the field name
+ together with the prefix "extra-" will form an XML element name. The field
+ contents will be XML-escaped, but otherwise appear verbatim as the
+ element's contents. Any number of unique fields can be added to each
+ message.
+
+ Example:
+
+ \snippet doc/src/snippets/code/src_corelib_kernel_qobject.cpp meta data
+
+ Meta-data appearing right in front of a magic TRANSLATOR comment applies to
+ the whole TS file.
+
+ \section1 Disambiguation
+
+ If the same translatable string is used in different roles within the same
+ translation context, an additional identifying string may be passed in
+ the call to \l{QObject::}{tr()}. This optional disambiguation argument
+ is used to distinguish between otherwise identical strings.
+
+ Example:
+
+ \snippet doc/src/snippets/code/src_corelib_kernel_qobject.cpp 17
+ \dots
+
+ In Qt 4.4 and earlier, this disambiguation parameter was the preferred
+ way to specify comments to translators.
+
+ \section1 Character Encodings
+
+ You can set the encoding for the source text by calling QTextCodec::setCodecForTr().
+ By default, the source text is assumed to be in Latin-1 encoding.
+
+ \section1 Handling Plurals
+
+ Some translatable strings contain placeholders for integer values and need
+ to be translated differently depending on the values in use.
+
+ To help with this problem, developers pass an additional integer argument
+ to the \l{QObject::}{tr()} function, and typically use a special notation
+ for plurals in each translatable string.
+
+ If this argument is equal or greater than zero, all occurrences of
+ \c %n in the resulting string are replaced with a decimal representation
+ of the value supplied. In addition, the translation used will adapt to the
+ value according to the rules for each language.
+
+ Example:
+
+ \snippet doc/src/snippets/code/src_corelib_kernel_qobject.cpp 18
+
+ The table below shows what string is returned depending on the
+ active translation:
+
+ \table
+ \header \o \o{3,1} Active Translation
+ \header \o \a n \o No Translation \o French \o English
+ \row \o 0 \o "0 message(s) saved" \o "0 message sauvegard\unicode{0xE9}" \o "0 message\bold{s} saved"
+ \row \o 1 \o "1 message(s) saved" \o "1 message sauvegard\unicode{0xE9}" \o "1 message saved"
+ \row \o 2 \o "2 message(s) saved" \o "2 message\bold{s} sauvegard\unicode{0xE9}\bold{s}" \o "2 message\bold{s} saved"
+ \row \o 37 \o "37 message(s) saved" \o "37 message\bold{s} sauvegard\unicode{0xE9}\bold{s}" \o "37 message\bold{s} saved"
+ \endtable
+
+ This idiom is more flexible than the traditional approach; e.g.,
+
+ \snippet doc/src/snippets/code/src_corelib_kernel_qobject.cpp 19
+
+ because it also works with target languages that have several
+ plural forms (e.g., Irish has a special "dual" form that should
+ be used when \c n is 2), and it handles the \e n == 0 case
+ correctly for languages such as French that require the singular.
+ See the \l{Qt Linguist Manual} for details.
+
+ Instead of \c %n, you can use \c %Ln to produce a localized
+ representation of \a n. The conversion uses the default locale,
+ set using QLocale::setDefault(). (If no default locale was
+ specified, the "C" locale is used.)
+
+ A summary of the rules used to translate strings containing plurals can be
+ found in the \l{Translation Rules for Plurals} document.
+
+ \section1 Enabling Translation
+
+ Typically, your application's \c main() function will look like
+ this:
+
+ \snippet doc/src/snippets/code/doc_src_i18n.qdoc 8
+
+ Note the use of QLibraryInfo::location() to locate the Qt translations.
+ Developers should request the path to the translations at run-time by
+ passing QLibraryInfo::TranslationsPath to this function instead of
+ using the \c QTDIR environment variable in their applications.
+
+ \section1 Further Reading
+
+ \l{Qt Linguist Manual}, \l{Hello tr Example}, \l{Translation Rules for Plurals}
+*/
+
+/*!
+ \page i18n-plural-rules.html
+ \title Translation Rules for Plurals
+ \ingroup i18n
+ \previouspage Writing Source Code for Translation
+ \contentspage Internationalization with Qt
+ \brief A summary of the translation rules for plurals produced by Qt's i18n tools.
+
+ The table below shows the specific rules that are produced by Qt Linguist
+ and \c lrelease for a selection of languages. Cells marked \e otherwise
+ indicate the form used when none of the other rules are appropriate for a
+ specific language.
+
+ \table 80%
+ \header \o Language \o Rule 1 \o Rule 2 \o Rule 3
+ \row \o English \o \c{n == 1}
+ \o \e{otherwise} \o N/A
+ \row \o French \o \c{n < 2}
+ \o \e{otherwise} \o N/A
+ \row \o Czech \o \c{n % 100 == 1}
+ \o \c{n % 100 >= 2 && n % 100 <= 4}
+ \o \e{otherwise}
+ \row \o Irish \o \c{n == 1}
+ \o \c{n == 2} \o \e{otherwise}
+ \row \o Latvian \o \c{n % 10 == 1&& n % 100 != 11}
+ \o \c{n != 0} \o \e{otherwise}
+ \row \o Lithuanian \o \c{n % 10 == 1&& n % 100 != 11}
+ \o \c{n % 100 != 12 && n % 10 == 2}
+ \o \e{otherwise}
+ \row \o Macedonian \o \c{n % 10 == 1}
+ \o \c{n % 10 == 2} \o \e{otherwise}
+ \row \o Polish \o \c{n == 1}
+ \o \c{n % 10 >= 2 && n % 10 <= 4
+ && (n % 100 < 10 || n % 100 > 20)}
+ \o \e{otherwise}
+ \row \o Romanian \o \c{n == 1}
+ \o \c{n == 0|| (n % 100 >= 1 && n % 100 <= 20)}
+ \o \e{otherwise}
+ \row \o Russian \o \c{n % 10 == 1&& n % 100 != 11}
+ \o \c{n % 10 >= 2 && n % 10 <= 4
+ && (n % 100 < 10 || n % 100 > 20)}
+ \o \e{otherwise}
+ \row \o Slovak \o \c{n == 1} \o \c{n >= 2 && n <= 4}
+ \o \e{otherwise}
+ \row \o Japanese \o \e{otherwise} \o N/A \o N/A
+ \endtable
+
+ The rules themselves are not documented and are internal to Qt Linguist and \c lrelease.
+*/
diff --git a/doc/src/internationalization/linguist-manual.qdoc b/doc/src/internationalization/linguist-manual.qdoc
index 5d388f1..3e06a2f 100644
--- a/doc/src/internationalization/linguist-manual.qdoc
+++ b/doc/src/internationalization/linguist-manual.qdoc
@@ -62,7 +62,7 @@
software engineers and the translator. The chapter describes the
use of two tools. The \l{lupdate} tool is used to synchronize
source code and translations. The \l{lrelease} tool is used to
- create runtime translation files for use by the released
+ create run-time translation files for use by the released
application.
The \l{linguist-translators.html}{Translators} chapter is for
@@ -119,7 +119,7 @@
\o Phrases that contain variables, for example, "The 25 files
selected will take 63 seconds to process", where the two numbers
- are inserted programmatically at runtime may need to be reworded
+ are inserted programmatically at run-time may need to be reworded
because in a different language the word order and therefore the
placement of the variables may have to change.
@@ -147,7 +147,7 @@
\row \o{1,2} \inlineimage wVista-Cert-border-small.png
\o \e{Qt Linguist 4.3 is Certified for Windows Vista}
-
+
\row \o Windows Vista and the Windows Vista Start button are
trademarks or registered trademarks of Microsoft Corporation in
the United States and/or other countries.
@@ -508,7 +508,7 @@
translation. The state is reset to \inlineimage linguist-danger.png
, and the number of accepted translations in the \e{Items} column
of the \l{Context Window} {context list} is decremented by 1.
-
+
\row
\o Not Accepted
\o \inlineimage linguist-check-off.png
@@ -781,7 +781,7 @@
changed. Whichever character (alpha or digit) is chosen, the
translation must be in the form "Ctrl+" followed by the upper case
character. \e{Qt} will automatically display the correct name at
- runtime. As with Alt key accelerators, if the translator changes
+ run-time. As with Alt key accelerators, if the translator changes
the character, the new character must not conflict with any other
Ctrl key accelerator.
@@ -790,14 +790,14 @@
supported languages, \e {Qt} automatically translates these
strings.
- \section2 Handling Numbered Arguments
+ \section2 Handling Numbered Arguments and Plurals
Some phrases contain numbered arguments. A numbered argument is a
- placeholder that will be replaced with text at runtime. A numbered
+ placeholder that will be replaced with text at run-time. A numbered
argument appears in a source string as a percent sign followed by
a digit. Consider an example: \c{After processing file %1, file %2
is next in line}. In this string to be translated, \c{%1} and
- \c{%2} are numbered arguments. At runtime, \c{%1} and \c{%2} will
+ \c{%2} are numbered arguments. At run-time, \c{%1} and \c{%2} will
be replaced with the first and next file names respectively. The
same numbered arguments must appear in the translation, but not
necessarily in the same order. A German translation of the string
@@ -808,336 +808,14 @@
of where argument \e{i} appears in the argument sequence in the
source string.
- \section2 Plurals
-
- The problem of plurals in output is resolved by using an overload of
- the \c tr() function with the signature
- \code
- QString tr(const char *text, const char *comment, int n);
- \endcode
- Using built in comparisons for the value of \c n the tr() function will
- translate the phrase to the plural form for the target language.
-
- Different languages have various forms for plurals beyond simply
- \e singular and \e plural. The rules for determining which form of the
- plural to use are encoded as conditional tests. Below is a table
- representing the numbers associated with the forms rather than the
- conditional tests themselves.
-
-
-
- \table 90%
- \header
- \o Language
- \o Form 1
- \o Form 2
- \o Form 3
- \o Form 4
- \row
- \o Arabic
- \o 0, 1, 11-102, 111-202...
- \o 2
- \o 3-10, 103-110, 203-210...
- \o
- \row
- \o Basque
- \o 1
- \o 0, 2-100, 101-
- \o
- \o
- \row
- \o Bulgarian
- \o 1
- \o 0, 2-100, 101-
- \o
- \o
- \row
- \o Catalan
- \o 1
- \o 11, 11 000-11 999, 11 000 000-11 999 999...
- \o 0, 2-10, 12-10 999, 12-10 999 999...
- \o
- \row
- \o Chinese-CN
- \o 0-
- \o
- \o
- \o
- \row
- \o Chinese-HK
- \o 0-
- \o
- \o
- \o
- \row
- \o Chinese-TW
- \o 0-
- \o
- \o
- \o
- \row
- \o Croation
- \o 1, 21, 31, 41, 51, 61, 71, 81, 91, 101...
- \o 2-4, 22-24, 32-34, 42-44...
- \o 0, 5-20, 25-30, 35-40...
- \o
- \row
- \o Czech
- \o 1
- \o 2-4
- \o 0, 5-
- \o
- \row
- \o Danish
- \o 1
- \o 0, 2-100, 101-
- \o
- \o
- \row
- \o Dutch
- \o 1
- \o 0, 2-100, 101-
- \o
- \o
- \row
- \o English
- \o 1
- \o 0, 2-100, 101-
- \o
- \o
- \row
- \o English-US
- \o 1
- \o 0, 2-100, 101-
- \o
- \o
- \row
- \o Estonian
- \o 1
- \o 0, 2-100, 101-
- \o
- \o
- \row
- \o Finnish
- \o 1
- \o 0, 2-100, 101-
- \o
- \o
- \row
- \o French-CA
- \o 0, 1
- \o 2-100, 101-
- \o
- \o
- \row
- \o French-FR
- \o 0, 1
- \o 2-100, 101-
- \o
- \o
- \row
- \o Galician
- \o 1
- \o 0, 2-100, 101-
- \o
- \o
- \row
- \o German
- \o 1
- \o 0, 2-100, 101-
- \o
- \o
- \row
- \o Greek
- \o 1
- \o 0, 2-100, 101-
- \o
- \o
- \row
- \o Hebrew
- \o 1
- \o 0, 2-100, 101-
- \o
- \o
- \row
- \o
- \o 1
- \o 0, 2-100, 101-
- \o
- \o
- \row
- \o Hungarian
- \o 0-
- \o
- \o
- \o
- \row
- \o Icelandic
- \o 1, 21, 31, 41, 51....101, 121, 131...
- \o 0, 2-20, 22-30, 32-40...102-120...
- \o
- \o
- \row
- \o Indonesian
- \o 0-
- \o
- \o
- \o
- \row
- \o Italian
- \o 1
- \o 0, 2-100, 101-
- \o
- \o
- \row
- \o Japanese
- \o 0-
- \o
- \o
- \o
- \row
- \o Korean
- \o 0-
- \o
- \o
- \o
- \row
- \o Latvian
- \o 0
- \o 1, 21, 31, 41, 51, 61, 71, 81, 91, 101, 131, 141...
- \o 2-20, 22-30, 32-40, 42-50...202-220, 222-230...
- \o
- \row
- \o Lithuanian
- \o 1, 21, 31, 41, 51...101, 121, 131...
- \o 2-9, 22-29, 32-39...102-109, 122-129, 132-139...
- \o 0, 10-20, 30, 40, 50...110-120, 130, 140...
- \o
- \row
- \o Malay
- \o 0-
- \o
- \o
- \o
- \row
- \o Norwegian
- \o 1
- \o 0, 2-100, 101-
- \o
- \o
- \row
- \o Persian
- \o 0-
- \o
- \o
- \o
- \row
- \o Polish
- \o 1
- \o 2-4, 22-24, 32-34...
- \o 5-21, 25-31, 35-41...
- \o
- \row
- \o Portugese-BR
- \o 0, 1
- \o 2-100, 101-
- \o
- \o
- \row
- \o Portugese-PT
- \o 1
- \o 0, 2-100, 101-
- \o
- \o
- \row
- \o Romanian
- \o 1
- \o 0, 2-19, 101-119, 201-219...
- \o 20-100, 120-200, 220-300...
- \o
- \row
- \o Russian
- \o 1, 21, 31, 41, 51, 61, 71, 81, 91, 101...
- \o 2-4, 22-24, 32-34...
- \o 0, 5-20, 25-30, 35-40...
- \o
- \row
- \o Serbian
- \o 1, 21, 31, 41, 51, 61, 71, 81, 91, 101...
- \o 2-4, 22-24, 32-34...
- \o 0, 5-20, 25-30, 35-40...
- \o
- \row
- \o Slovak
- \o 1
- \o 2-4
- \o 0, 5-20, 25-30, 35-40...
- \o
- \row
- \o Slovene
- \o 1, 101, 201, 301...
- \o 2, 102, 202, 302...
- \o 3, 4, 103, 104, 203, 204, 303, 304...
- \o 0, 5-100, 105-200, 205-300...
- \row
- \o Spanish-US
- \o 1
- \o 0, 2-
- \o
- \o
- \row
- \o Spanish-ES
- \o 1
- \o 0, 2-
- \o
- \o
- \row
- \o Swedish
- \o 1
- \o 0, 2-100, 101-
- \o
- \o
- \row
- \o Tagalog
- \o 0, 1
- \o 2, 3, 5, 7-8, 10-13, 15, 17-18, 20-23...101...1001
- \o 4, 6, 9, 14, 16, 19, 24, 26, 29...104, 106, 109...
- \o
- \row
- \o Thai
- \o 0-
- \o
- \o
- \o
- \row
- \o Turkish
- \o 0-
- \o
- \o
- \o
- \row
- \o Ukrainian
- \o 1, 21, 31, 41, 51, 61, 71, 81, 91, 101...
- \o 2-4, 22-24, 32-34...
- \o 0, 5-20, 25-30, 35-40...
- \o
- \row
- \o Urdu
- \o 1
- \o 0, 2-100, 101-
- \o
- \o
- \row
- \o Vietnamese
- \o 0-
- \o
- \o
- \o
- \endtable
-
- These rules are embedded within the Qt libraries, there is no need for
- the developer to know them. Merely to use the correct \c tr() call.
-
+ The use of numbered arguments is often accompanied by the use of
+ plurals in the source text. In many languages, the form of the
+ text will depend on the value shown, and more than one translation
+ is required. If the developers have marked up the source text in
+ correct way, fields for each of the possible plural forms will be
+ available in the translation area. (The
+ \l{Writing Source Code for Translation#Handling Plurals}{Writing Source Code for Translation}
+ document contains details about this feature for developers.)
\section2 Reusing Translations
@@ -1157,7 +835,7 @@
{translation area}, and adapts the number of input fields for
plural forms accordingly. If not explicitly set, \QL guesses the
target language and country by evaluating the translation source
- file name: E.g. \c app_de.ts sets the target language to German,
+ file name. For example, \c app_de.ts sets the target language to German,
and \c app_de_ch.ts sets the target language to German and the
target country to Switzerland (this also helps loading
translations for the current locale automatically; see
@@ -1287,7 +965,7 @@
can be used to edit XLIFF files generated by other programs. For standard
Qt projects, however, only the TS file format is used.
\o QM \e {Qt message files} \BR are binary files that contain
- translations used by an application at runtime. These files are
+ translations used by an application at run-time. These files are
generated by \l lrelease, but can also be generated by \QL.
\o \c .qph \e {Qt phrase book files} \BR are human-readable XML
files containing standard phrases and their translations. These files
@@ -1416,7 +1094,7 @@
\endlist
- \o \gui {Tools}
+ \o \gui {Tools}
\list
\o \gui {Batch Translation...} \BR Opens a \l{Batch
@@ -1427,7 +1105,7 @@
Preview}. This window let you instantly see translations for
forms created with \QD. \endlist
- \o \gui {View}
+ \o \gui {View}
\list
\o \gui {Revert Sorting} \BR puts the items in the \l{Context
@@ -1449,7 +1127,7 @@
\endlist
- \o \gui {Help}
+ \o \gui {Help}
\list
\o \gui {Manual F1} \BR opens this manual.
\o \gui {About Qt Linguist} \BR Shows information about \QL.
@@ -1621,7 +1299,7 @@
\code
CODECFORTR = UTF-8
\endcode
-
+
See the \l lupdate and \l lrelease sections.
\section2 Loading Translations
@@ -1683,7 +1361,7 @@
\snippet doc/src/snippets/code/doc_src_linguist-manual.qdoc 9
- \section2 Distinguishing Identical Strings That Require Different Translations
+ \section2 Distinguishing Between Identical Translatable Strings
The \l lupdate program automatically provides a \e context for every
source text. This context is the class name of the class that contains
diff --git a/doc/src/modules.qdoc b/doc/src/modules.qdoc
index 9c92a31..3abcf7c 100644
--- a/doc/src/modules.qdoc
+++ b/doc/src/modules.qdoc
@@ -226,10 +226,11 @@
The QtOpenGL module is part of the \l{Qt Full Framework Edition} and the
\l{Open Source Versions of Qt}. It is available on Windows, X11, and Mac OS X.
- \l{Qt for Embedded Linux} supports OpenGL ES (OpenGL for Embedded Systems).
- To be able to use the OpenGL API in \l{Qt for Embedded Linux}, it must be
+ \l{Qt for Embedded Linux and OpenGL} supports OpenGL ES (OpenGL for Embedded Systems).
+ \note To be able to use the OpenGL API in \l{Qt for Embedded Linux}, it must be
integrated with the Q Window System (QWS). See the
\l{Qt for Embedded Linux and OpenGL} documentation for details.
+
*/
/*!
@@ -367,6 +368,9 @@
The QtSql module is part of the \l{Qt Full Framework Edition} and the
\l{Open Source Versions of Qt}.
+
+ See the \l{SQL Programming} guide for information about using this
+ module in your applications.
*/
/*!
@@ -576,7 +580,7 @@
the module under the appropriate version of the GNU LGPL; version 2.1
for applications and libraries licensed under the GNU GPL version 2,
or version 3 for applications and libraries licensed under the GNU
- GPL version 2.
+ GPL version 3.
\legalese
This file is part of the KDE project
diff --git a/doc/src/network-programming/qtnetwork.qdoc b/doc/src/network-programming/qtnetwork.qdoc
index d9377fb..c20adaf 100644
--- a/doc/src/network-programming/qtnetwork.qdoc
+++ b/doc/src/network-programming/qtnetwork.qdoc
@@ -101,7 +101,7 @@
Each application or library can create one or more instances of
QNetworkAccessManager to handle network communication.
-
+
\section1 Writing FTP Clients with QFtp
FTP (File Transfer Protocol) is a protocol used almost exclusively
@@ -155,7 +155,7 @@
commands based on the result of a previous command. It also
enables you to provide detailed feedback to the user.
- The \l{network/ftp}{FTP} example
+ The \l{network/qftp}{FTP} example
illustrates how to write an FTP client.
Writing your own FTP (or HTTP) server is possible using the
lower-level classes QTcpSocket and QTcpServer.
diff --git a/doc/src/platforms/emb-HwAcc-LinuxEmbedded.qdoc b/doc/src/platforms/emb-HwAcc-LinuxEmbedded.qdoc
new file mode 100644
index 0000000..9c18d87
--- /dev/null
+++ b/doc/src/platforms/emb-HwAcc-LinuxEmbedded.qdoc
@@ -0,0 +1,71 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, 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.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+/*!
+
+ \page qt-embeddedLinux-accel.html
+
+ \target Hardware Acceleration with Qt for Embedded Linux
+
+ \title Qt for Embedded Linux Hardware Accelerated Graphics
+ \ingroup qt-embedded-linux
+
+
+ \input platforms/emb-hardwareacceleration.qdocinc
+
+\section1 Supported Hardware Accelerated Graphics APIs
+
+This list shows which Hardware Accelerated Graphics APIs currently
+supported by Qt.
+
+ \table
+ \header
+ \o Supported Hardware Accelerated Graphics APIs
+ \row
+ \o \l {Qt for Embedded Linux and OpenGL}{OpenGL ES}
+ \row
+ \o \l {Qt for Embedded Linux and OpenVG}{OpenVG}
+ \row
+ \o \l {Qt for Embedded Linux and DirectFB}{DirectFB}
+ \endtable
+
+
+*/
diff --git a/doc/src/platforms/emb-HwAcc-WinCE.qdoc b/doc/src/platforms/emb-HwAcc-WinCE.qdoc
new file mode 100644
index 0000000..66b6948
--- /dev/null
+++ b/doc/src/platforms/emb-HwAcc-WinCE.qdoc
@@ -0,0 +1,69 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, 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.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+/*!
+ \page qt-embeddedWinCE-accel.html
+
+ \target Hardware Acceleration with Qt for Windows CE
+
+ \title Qt for Windows CE Hardware Accelerated Graphics
+ \ingroup qtce
+
+
+ \input platforms/emb-hardwareacceleration.qdocinc
+
+ \section1 Supported Hardware Accelerated Graphics APIs
+
+ This list shows which Hardware Accelerated Graphics APIs currently
+supported by Qt.
+
+ \table
+ \header
+ \o Supported Hardware Accelerated Graphics APIs
+ \row
+ \o \l {Qt for Windows CE and OpenGL ES}{OpenGL ES}
+ \row
+ \o \l {Qt for Windows CE and OpenVG}{OpenVG}
+ \endtable
+
+
+
+*/
diff --git a/doc/src/platforms/emb-directfb-EmbLinux.qdoc b/doc/src/platforms/emb-directfb-EmbLinux.qdoc
new file mode 100644
index 0000000..b863951
--- /dev/null
+++ b/doc/src/platforms/emb-directfb-EmbLinux.qdoc
@@ -0,0 +1,340 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, 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.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+/*!
+\page qt-embeddedLinux-directfb.html
+
+\title Qt for Embedded Linux and DirectFB
+
+\ingroup qt-embedded-linux
+
+\section1 Introduction
+
+DirectFB is an open source LGPL licensed project founded by Denis Oliver Kropp
+and generally chip vendors start out with the official version and
+implement their own plugins to optimize the operations their hardware
+supports.
+
+We recommend using Qt 4.6 with DirectFB. DirectFB support was introduced
+already into Qt for Embedded Linux as a labs project for Qt 4.3 and folded
+into Qt as a screen driver for Qt 4.4, but not supported fully. In Qt 4.5,
+major changes were made to make it work with the optimized raster paint
+engine. And in Qt 4.6 these have been further improved.
+
+\tableofcontents
+
+\section1 Using DirectFB with Qt
+DirectFB is centered around \l
+{http://www.directfb.org/docs/DirectFB_Reference_1_4/IDirectFBSurface.html}{Surfaces}
+which is the equivalent of a QPaintDevice. In the Qt/DirectFB plugin,
+DirectFB maps onto either a QPixmap or a QWindowSurface which essentially
+means that drawing onto QPixmap or a QWidget can be accelerated and drawing
+onto any other paint device (e.g. QImage) cannot.
+
+\section2 Configure
+
+When configuring Qt there are two options, from which you can choose:
+
+\code
+ ./configure -plugin-gfx-directfb
+ ./configure -qt-gfx-directfb
+
+\endcode
+
+With either mode, Qt will try the following to look for the DirectFB
+includes/libs.
+
+\list
+ \o Use pkg-config
+ \o Use directfb-config
+ \o Check in your qmake.conf
+\endlist
+
+Often the values returned from pkg-config/directfb-config indicates the
+locations of the libs/headers on the target rootfs, rather than their
+location on your host. The safest option is usually to explicitly populate
+these variables in your qmake.conf like this:
+
+\code
+
+QT_CFLAGS_DIRECTFB =
+/opt/toolchain/gcc4.3_mipsel_linux/usr/include/directfb -D_REENTRANT
+QT_LIBS_DIRECTFB = -L/opt/toolchain/gcc4.3_mipsel_linux/usr/lib/-ldirect
+-ldirectfb -lfusion
+
+\note While DirectFB supports a multi-process setup through a
+kernel-extension called Fusion this setup is not well tested with Qt.
+
+\section2 Supported graphics operations
+
+IDirectFBSurface supports blitting, filling, drawing lines rects etc, but
+it does not support everything Qt allows you to do. E.g. painter paths,
+polygons, complex transformations, antialiasing, gradients. Some of these
+things are handled in newer versions of DirectFB and could be supported by
+Qt. They are seemingly optional at the driver level, so you need to have
+fall back code paths for older drivers and drivers on which this is not
+implemented.
+
+The QDirectFBPaintEngine is a subclass of the QRasterPaintEngine, thus
+essentially supporting everything QRasterPaintEngine supports. This means
+that it supports all graphical operations that Qt supports, but certain
+operations will have to fall back to software rendering and that should be
+avoided due to performance issues. Instead, these operations should be
+rendered into a QPixmap once, and then reuse the pixmap.
+
+Note: Fallbacks to software rendering should be avoided. If unsupported
+operations are used, the paint engine must fallback to the
+QRasterPaintEngine engine. A good debugging tip is to make Qt warn you when
+such fall backs occur, and to disable the fall back and only return.
+Debugging options are listed below.
+
+\section2 DirectFB driver
+DirectFB also provides an abstraction for keyboard and mouse drivers. This
+simplifies the process of getting the target hardware up and running. It
+also brings us to a feature fragmentation issue between different versions
+of DirectFB.
+
+The Qt DirectFB driver currently supports DirectFB versions >= 0.9. Still,
+there are large differences in what each actual implementation handles
+correctly. It is relatively common not to properly support
+\l{http://www.directfb.org/docs/DirectFB_Reference_1_4/IDirectFBWindow}{DirectFB
+windows}, so Qt needs to handle this case with a different code path. In
+addition, certain drivers do not properly support DirectFB's cursor
+handling. This means Qt has to have a code path for rendering the cursor
+itself when this is the case. Some drivers do not let us create \l
+{http://www.directfb.org/docs/DirectFB_Reference_1_4/types.html#DFBSurfaceDescription}{preallocated
+surfaces} which means we have to have a conditional code path for that
+case.
+
+\section2 Optimize performance using define options
+
+Qt/DirectFB comes with a number of defines that can be either
+uncommented in directfb.pri or added to the QT_DEFINES_DIRECTFB variable in
+your qmake.conf.
+
+\note The defines have been moved from \i
+{src/plugins/gfxdrivers/directfb/directfb.pro} to \i
+{src/gui/embedded/directfb.pri}
+
+\code
+
+#DIRECTFB_DRAWINGOPERATIONS=DRAW_RECTS|DRAW_LINES|DRAW_IMAGE|DRAW_PIXMAP|
+ DRAW_TILED_PIXMAP|STROKE_PATH|DRAW_PATH|DRAW_POINTS|DRAW_ELLIPSE|DRAW_POLYGON|
+ DRAW_TEXT|FILL_PATH|FILL_RECT|DRAW_COLORSPANS|DRAW_ROUNDED_RECT
+
+ #DEFINES += \"QT_DIRECTFB_WARN_ON_RASTERFALLBACKS=$$DIRECTFB_DRAWINGOPERATIONS\"
+ #DEFINES += \"QT_DIRECTFB_DISABLE_RASTERFALLBACKS=$$DIRECTFB_DRAWINGOPERATIONS\"
+
+\endcode
+
+As demonstrated above, you need to Qt which drawing operations you want to
+warn/disable. Since there are varying implementations of DirectFB from
+manufacturer to manufacture, different operations will be optimized. This
+require you to define the operations you want to warn about or disable.
+These are listed above in the DIRECTFB_DRAWINGOPERATIONS variable.
+
+Following is a table showing which options you have.
+
+\table
+ \header
+ \o Define option
+ \o Description
+ \row
+ \o QT_DIRECTFB_IMAGECACHE
+ \o Defining this means that Qt will cache an IDirectFBSurface per
+QImage you draw based on its \l
+{http://doc.trolltech.com/4.5/qimage.html#cacheKey}{cacheKey}.
+Use this define if your application draws many QImages that
+remain the same. Note that if you in this situation draw an image and then
+change it, by calling bits() or opening a QPainter on it, the cache will
+not benefit you. You can control the cache size with the imageCacheSize
+connect option.
+
+ \row
+ \o QT_NO_DIRECTFB_WM
+ \o If your DirectFB implementation does not support windows, you
+have to define this to make Qt work properly. You can test this by checking
+if the \l {
+http://www.directfb.org/index.php?path=Main%2FDownloads&page=1}{df_window
+example} runs well.
+This means that all drawing operations onto a QWidget involves
+an extra blitting step since Qt essentially first has to draw into an
+off-screen buffer and then blit this buffer to the back buffer of the
+primary surface. Finally, Qt must flip the back buffer to the front buffer,
+which usually involves another blit. Still, blits are usually very fast
+with DirectFB.
+
+To work around this you can make your widget paint on screen, \l
+Qt::WA_PaintOnScreen but this comes with other limitations. This should be
+avoided if you want more than one full-screen window in your application.
+In addition, it will not work without proper DirectFB mouse support from the
+layer. Also, see QT_NO_DIRECTFB_LAYER for more.
+
+ \row
+ \o QT_NO_DIRECTFB_LAYER
+ \o If your DirectFB display layer cannot be used for e.g. drawing
+mouse cursor, creating windows you have to define this. Defining this also
+requires defining QT_NO_DIRECTFB_WM and involves making Qt render the
+cursor rather than letting DirectFB do it.
+
+ \row
+ \o QT_NO_DIRECTFB_PALETTE
+ \o Define this if your DirectFB driver does not support surfaces
+with \l
+{http://www.directfb.org/docs/DirectFB_Reference_1_4/IDirectFBPalette.html}{color
+tables}.
+The effect of defining this is that Qt will have to convert
+images with \l QImage::Format_Indexed8 format to another format before
+rendering them.
+
+ \row
+ \o QT_NO_DIRECTFB_PREALLOCATED
+ \o Define this if your DirectFB driver does not support creating a
+surface with preallocated data. This will make a more frequent use of \l
+{http://www.cplusplus.com/reference/clibrary/cstring/memcpy/}{memcpy()}
+when drawing images. If you define this, you might want to consider
+defining QT_DIRECTFB_IMAGECACHE for better image rendering performance.
+
+ \row
+ \o QT_NO_DIRECTFB_MOUSE and QT_NO_DIRECTFB_KEYBOARD
+ \o Define this if your driver does not provide keyboard/mouse
+events through \l
+{http://www.directfb.org/docs/DirectFB_Reference_1_4/IDirectFB_CreateInputEventBuffer.html}{CreateInputEventBuffer}.
+This means that Qt cannot use DirectFB to receive keyboard/mouse events and
+if you want such events in your application, you will have to provide
+another driver. For more info see \l {Qt for Embedded Linux Pointer
+Handling}{Qt for Embedded Linux Pointer Handling} and \l{Qt for Embedded
+Linux Character Input}{Qt for Embedded Linux Character Input}
+
+ \row
+ \o QT_DIRECTFB_TIMING
+ \o Define this when debugging to get output on stderr about the
+frames per second.
+
+ \row
+ \o QT_NO_DIRECTFB_OPAQUE_DETECTION
+ \o When blitting a surface Qt has to decide whether to set the \l
+{http://www.directfb.org/docs/DirectFB_Reference_1_4/types.html#DFBSurfaceBlittingFlags}{DSBLIT_BLEND_ALPHACHANNEL}
+flag. If you load an image from file or network data that has a format that
+includes an alpha channel, the image might still be completely opaque.
+Normally Qt runs through every pixel to check if there really is an alpha
+channel there. This involves some overhead but usually pays off in the end
+because blitting is cheaper than blending. If you define this Qt will
+assume that an image with a format that has alpha channel contains at least
+one pixel with an alpha value != 255.
+
+ \row
+ \o QT_DIRECTFB_SUBSURFACE
+ \o Defining this enables a mode that tries to minimize overhead from
+locking/unlocking surfaces. Note that this currently is experimental.
+
+ \row
+ \o QT_DIRECTFB_WINDOW_AS_CURSOR
+ \o Define this if your DirectFB implementation supports windows but
+can not render the cursor properly. This involves creating a small top level
+window and moving it around when the cursor moves. It does not always
+perform well.
+
+ \row
+ \o QT_NO_DIRECTFB_IMAGEPROVIDER
+ \o By default Qt will use DirectFB to load QPixmaps from disk/memory. If
+your DirectFB implementation does not support this it might make sense to
+define this.
+
+ \row
+ \o QT_DIRECTFB_IMAGEPROVIDER_KEEPALIVE
+ \o Define this to make sure Qt always keeps at least one \l
+{http://directfb.org/docs/DirectFB_Reference_1_4/IDirectFBImageProvider.html}{IDirectFBImageProvider}
+object alive. This is to avoid considerable overhead when the first
+IDirectFBImageProvider is created, the last IDirectFBImageProvider is
+removed.
+
+\endtable
+
+\section2 Unsupported graphics operations
+
+There are a number of unsupported operations causing fallbacks. DirectFB
+does not support the following functions.
+
+
+
+\table
+ \header
+ \o Functions
+ \row
+ \o QPainter::strokePath(const QPainterPath & path, const QPen & pen)
+ \row
+ \o QPainter::drawPath(const QPainterPath & path)
+ \row
+ \o QPainter::fillPath(const QPainterPath & path, const QBrush & brush)
+ \row
+ \o QPainter::drawPoints(const QPointF * points, int pointCount)
+ \row
+ \o QPainter::drawEllipse(const QRectF & rectangle)
+ \row
+ \o QPainter::drawPolygon(const QPointF * points, int pointCount,
+ Qt::FillRule fillRule = Qt::OddEvenFill)
+ \row
+ \o QPainter::drawText(const QPointF & position, const QString & text)
+ \row
+ \o QGradient
+ \endtable
+
+\section2 Avoiding fallbacks
+To avoid fallbacks make sure that the following points are true:
+
+\list
+ \o QPen::isSolid() returns true and uses a color with a one pixel
+width. (QPen::width() returns 1.
+ \o QTransform::TransformationType() <= QTransform::TxScale are not
+supported.
+ \o Clipping must be a simple rectangle or a QRegion.
+\endlist
+
+\section2 When painting images
+\note You should use QPixmap instead of QImage. QImages are drawn by
+the QRasterPaintEngine. To get a warning for every fallback to the
+QRasterPaintEngine, use QT_DIRECTFB_WARN_ON_RASTERFALLBACKS. If
+QT_DIRECTFB_DISABLE_RASTERFALLBACKS is defined, DirectFB will only return
+instead of falling back to QRasterPaintEngine. Please note that these
+defines should only be used when optimizing the application.
+
+*/
diff --git a/doc/src/platforms/emb-hardwareacceleration.qdocinc b/doc/src/platforms/emb-hardwareacceleration.qdocinc
new file mode 100644
index 0000000..3851628
--- /dev/null
+++ b/doc/src/platforms/emb-hardwareacceleration.qdocinc
@@ -0,0 +1,129 @@
+
+\section1 Hardware Acceleration
+
+When designing applications for embedded devices the choice often stands
+between graphics effects and performance. On most devices, you cannot have
+both simply because the hardware needed for such operations just is not
+there. Still a growing number of devices use hardware dedicated to graphics
+operations to improve performance.
+
+Using graphics acceleration hardware is more power efficient than using the
+CPU. The reason for this is that the CPU might require a clock speed that
+is up to 20 times higher than the GPU, achieving the same results. E.g. a
+typical hardware accelerated mobile graphics unit can rasterize one or two
+bilinear texture fetches in one cycle, while a software implementation
+takes easily more than 20 cycles. Graphics hardware generally have a much
+lower clock speed and memory bandwidth and different level of acceleration
+than desktop GPUs. One example is that many GPUs leave out transformation
+and lighting from the graphics pipeline and only implements rasterization.
+
+So the key to write good applications for devices is therefore to limit the
+wow factor down to what the target hardware can handle, and to take
+advantage of any graphics dedicated hardware. Qt provides several ways to
+both render advanced effects on the screen and speed up your application
+using hardware accelerated graphics.
+
+\tableofcontents
+
+\section2 Qt for Embedded Graphics pipeline
+
+Qt uses QPainter for all graphics operations. By using the same API
+regardless of platform, the code can be reused on different devices.
+QPainter use different paint engines implemented in the QPaintEngine API to
+do the actual painting.
+
+The QPaintEngine API provides paint engines for each window system and
+painting framework supported by Qt. In regards to Qt for Embedded, this
+also includes implementations for OpenGL ES versions 1.1 and 2.0, as well
+as OpenVG and DirectFB(Embedded Linux only).
+
+By using one of these paint engines, you will be able to improve the
+graphics performance of your Qt application. However, if the graphics
+operations used are not supported, this might as well be a trap, slowing
+down your application significantly. This all depends on what kind of
+graphics operations that are supported by the target devices hardware
+configuration.
+
+\image platformHWAcc.png
+
+The paint engine will direct all graphics operations supported by the
+devices hardware to the GPU, and from there they are sent to the
+framebuffer. Unsupported graphics operations falls back to the
+QRasterPaintEngine and are handled by the CPU before sent to the
+framebuffer. In the end, the operating system sends the paint updates off
+to the screen/display. The fallback operation is quite expensive in regards
+to memory consumption, and should be avoided.
+
+\section2 Hardware configuration requirements
+
+Before implementing any application using hardware acceleration, it is wise
+to get an overview of what kind of hardware accelerated graphics operations
+that are available for the target device.
+
+\note On devices with no hardware acceleration, Qt will use
+QRasterPaintEngine, which handles the acceleration using software. On
+devices supporting OpenGL ES, OpenVG or DirectFB(not supported by Windows
+CE), Qt will use the
+respective paint engines to accelerate painting. However, hardware
+configurations that only support a limited set of hardware acceleration
+features, might slow the application graphics down rather than speeding it
+up when using unsupported operations that must fall back to the raster
+engine.
+
+\section3 Different architectures
+
+Based on the architecture used in a device we can make a recommendation on
+which hardware acceleration techniques to use. There are mainly two
+different architectures on embedded devices. These are devices with a
+Unified Memory Architecture (UMA), and devices with dedicated graphics
+memory. Generally, high-end devices will have dedicated graphics memory.
+Low-end devices will just use system memory, sometimes reserving a memory
+region and sometimes not.
+
+In addition to this, we can categorize the devices into five types based on
+the different graphics operations supported by their hardware.
+
+\list 1
+ \o No support for graphics acceleration.
+ \o Support for blitter and alpha blending.
+ \o Support for path based 2D vector graphics.
+ \o Support for fixed function 3D graphics.
+ \o Support for programmable 3D graphics.
+\endlist
+
+Based on these characteristics the table below recommends which paint
+engines to use with the different types of hardware configurations.
+
+\section3 Recommended use of hardware acceleration based on hardware
+
+ \table
+ \header
+ \o Type
+ \o UMA
+ \o Non-UMA
+ \row
+ \o \bold {None}
+ \o Qt Raster Engine
+ \o Qt Raster Engine
+ \row
+ \o \bold {Blitter}
+ \o DirectFB
+ \o DirectFB
+ \row
+ \o \bold {2D Vector}
+ \o OpenVG
+ \o OpenVG
+ \row
+ \o \bold {Fixed 3D}
+ \o OpenGL (ES) 1.x
+ \o OpenGL (ES) 1.x
+ \row
+ \o \bold {Programmable 3D}
+ \o OpenGL (ES) 2.x
+ \o OpenGL (ES) 2.x
+
+ \endtable
+
+\note Since the DirectFB API is quite primitive, the raster paint engine
+handles most of the operations.
+\note Blitter and Alpha blending is currently not supported on Windows CE.
diff --git a/doc/src/platforms/emb-opengl.qdoc b/doc/src/platforms/emb-opengl-EmbLinux.qdoc
index 2ed5d04..bede2ca 100644
--- a/doc/src/platforms/emb-opengl.qdoc
+++ b/doc/src/platforms/emb-opengl-EmbLinux.qdoc
@@ -40,31 +40,24 @@
****************************************************************************/
/*!
-\page qt-embedded-opengl.html
+\page qt-embeddedLinux-opengl.html
\title Qt for Embedded Linux and OpenGL
-\ingroup qt-embedded-linux
-\section1 Introduction
+\ingroup qt-embedded-linux
-\l {http://www.opengl.org}{OpenGL} is an industry standard API for
-2D/3D graphics. It provides a powerful, low-level interface between
-software and acceleration hardware, and it is operating system and
-window system independent.
+\input platforms/emb-opengl.qdocinc
-\l {http://www.khronos.org/opengles}{OpenGL ES} is a subset
-of the \l {http://www.opengl.org}{OpenGL} standard.
-Because it is meant for use in embedded systems, it has a smaller,
-more constrained API.
+\section1 Using OpenGL with Qt for Embedded Linux
+Qt for Embedded Linux provides support for integrating OpenGL ES for
+drawing into a QGLWidget. The current implementation supports OpenGL and 2D
+painting within a QGLWidget. Using OpenGL to accelerate regular widgets and
+compositing top-level windows with OpenGL are not currently supported.
-For reference, Nokia provides support for integrating \l
-{http://www.khronos.org/opengles}{OpenGL ES} with Qt for Embedded Linux
-for drawing into a QGLWidget.
+\note OpenGL rendering only works with QGLWidget under QWS. Regular
+widgets cannot currently support it.
-The current implementation supports OpenGL and 2D painting within a
-QGLWidget. Using OpenGL to accelerate regular widgets and compositing
-top-level windows with OpenGL are not currently supported. These issues
-will be addressed in future versions of Qt.
+\section2 Configure
It is recommended that Qt for Embedded Linux is configured with the
\c{-DQT_QWS_CLIENTBLIT} and \c{-DQT_NO_QWS_CURSOR} options for optimum
@@ -72,58 +65,11 @@ performance. OpenGL is rendered direct to the screen and these options
prevent Qt for Embedded Linux from trying to do its own non-OpenGL
compositing on the QGLWidget contents.
-\section2 Using OpenGL 3D Graphics in Applications
-
-The \l {QtOpenGL module} offers classes that make it easy to draw 3D
-graphics in GUI applications. The module API is cross-platform, so it
-is also available on Windows, X11, and Mac OS X.
-
-To use OpenGL-enabled widgets in a Qt for Embedded Linux application,
-all that is required is to subclass the QGLWidget and draw into instances of
-the subclass with standard OpenGL functions.
-
-Note that on most embedded hardware, the OpenGL implementation is
-actually \l{http://www.khronos.org/opengles/1_X/}{OpenGL/ES 1.1} or
-\l{http://www.khronos.org/opengles/2_X/}{OpenGL/ES 2.0}. When painting
-within a QGLWidget::paintGL() override, it is necessary to limit the
-application to only the features that are present in the OpenGL/ES
-implementation.
-
-\section2 Using OpenGL to Accelerate Normal 2D Painting
-
-Qt provides a subclass of QPaintEngine that translates QPainter operations
-into OpenGL calls (there are actually two subclasses, one for OpenGL/ES 1.1
-and another for OpenGL/ES 2.0). This specialized paint engine can be used
-to improve 2D rendering performance on appropriate hardware. It can also
-overlay controls and decorations onto 3D scenes drawn using OpenGL.
-
-As mentioned above, the OpenGL paint engine is not currently supported
-in regular widgets. However, any application that uses QGraphicsView
-can set a QGLWidget as the viewport and obtain access to the
-OpenGL paint engine that way:
-
-\code
-QGraphicsView view(&scene);
-view.setViewport(new QGLWidget);
-view.setViewportUpdateMode(QGraphicsView::FullViewportUpdate);
-view.showFullScreen();
-\endcode
-
-It is recommended that the QGraphicsView::FullViewportUpdate flag
-be set because the default double-buffered behavior of QGLWidget
-does not support partial updates. It is also recommended that the
-window be shown full-screen because that usually has the best
-performance on current OpenGL/ES implementations.
-
-Once a QGraphicsView has been initialized as above, regular widgets
-can be added to the canvas using QGraphicsProxyWidget if the
-application requires them.
-
\section2 Using OpenGL to Implement Window Compositing and Effects
-Compositing effects can be simulated by adjusting the opacity and
-other parameters of the items within a QGraphicsView canvas on a
-QGLWidget viewport.
+Compositing effects can be simulated by adjusting the opacity and other
+parameters of the items within a QGraphicsView canvas on a QGLWidget
+viewport.
While Qt for Embedded Linux does include a complete windowing system,
using OpenGL to composite regular window surfaces can be quite difficult.
@@ -135,23 +81,20 @@ which is why we do not recommend implementing that form of compositing.
We intend to address this problem in future versions of Qt.
\section1 Integrating OpenGL/ES into Qt for Embedded Linux
-
\section2 Reference Integration
-
-The reference integration for OpenGL into Qt for Embedded Linux
-is for the PowerVR chipset from \l{http://www.imgtec.com/}{Imagination
-Technologies}. It consists of two components: \c{pvreglscreen} which
-provides the Qt for Embedded Linux screen driver, and \c{QWSWSEGL}
-which implements a plug-in to the PowerVR EGL implementation to
-implement low-level OpenGL drawing surfaces.
+The reference integration for OpenGL into Qt for Embedded Linux is for the
+PowerVR chipset from \l{http://www.imgtec.com/}{Imagination Technologies}.
+It consists of two components: \c{pvreglscreen}, which provides the Qt for
+Embedded Linux screen driver, and \c{QWSWSEGL}, which implements a plug-in
+to the PowerVR EGL implementation to implement low-level OpenGL drawing
+surfaces.
\section2 Integrating Other Chipsets
-
-In this section we discuss the essential features of the reference
+In this section, we discuss the essential features of the reference
integration that need to be provided for any other chipset integration.
The QtOpenGL module assumes that a QGLWidget can be represented
-by a \c EGLNativeWindowType value in some underlying window system
+by an \c EGLNativeWindowType value in some underlying window system
implementation, and that \c{eglSwapBuffers()} is sufficient to copy
the contents of the native window to the screen when requested.
@@ -159,7 +102,7 @@ However, many EGL implementations do not have a pre-existing window system.
Usually only a single full-screen window is provided, and everything else
must be simulated some other way. This can be a problem because
of QtOpenGL's assumptions. We intend to address these assumptions in a
-future version of Qt, but for now it is the responsibility of the integrator
+future version of Qt, but for now, it is the responsibility of the integrator
to provide a rudimentary window system within the EGL implementation.
This is the purpose of \c{QWSWSEGL} in the reference integration.
@@ -218,13 +161,4 @@ In the case of PowerVR, the rudimentary window system in \c{QWSWSEGL}
provides a \c PvrQwsDrawable object to represent the \c EGLNativeWindowType
value for the widget.
-\section1 OpenVG Support
-
-\l {http://www.khronos.org/openvg} {OpenVG} is a dedicated API for 2D
-graphics on mobile devices. It is therefore more likely to be a better
-alternative for 2D acceleration than OpenGL/ES. Acceleration of
-regular widgets is supported with OpenVG, unlike with OpenGL/ES.
-See \l{OpenVG Rendering in Qt} for more information on the
-OpenVG support in Qt.
-
*/
diff --git a/doc/src/platforms/emb-opengl.qdocinc b/doc/src/platforms/emb-opengl.qdocinc
new file mode 100644
index 0000000..dac5379
--- /dev/null
+++ b/doc/src/platforms/emb-opengl.qdocinc
@@ -0,0 +1,85 @@
+\section1 Introduction
+
+\l {http://www.opengl.org}{OpenGL} is an industry standard API for
+2D/3D graphics. It provides a powerful, low-level interface between
+software and acceleration hardware, and it is operating system and
+window system independent. \l {http://www.khronos.org/opengles}{OpenGL ES}
+is a subset of the \l {http://www.opengl.org}{OpenGL} standard. Because it
+is designed for use with embedded systems, it has a smaller, more
+constrained API.
+
+\l {http://www.khronos.org/opengles/1_X}{OpenGL ES version 1.x} is designed for
+fixed function hardware, while its successor \l
+{http://www.khronos.org/opengles/2_X}{OpenGL ES version 2.x} is designed for
+programmable hardware. It is worth noting that there is a significant
+difference between the two, and that they are not compatible with each
+other. OpenGL ES 1.x limits processing to a pre-defined set of fixed
+options for drawing and lighting objects. OpenGL 2.x has a significantly
+shorter graphics pipeline than 1.x. Instead of using function
+transformation and a fragment pipeline, 2.x uses the \l
+{http://www.khronos.org/registry/gles/specs/2.0/GLSL_ES_Specification_1.0.17.pdf}{OpenGL
+ES Shading Language (GLSL ES)}. Instead of using the pre-defined functions,
+the programmer writes small shader programs telling the hardware in detail
+how to render each object.
+
+The \l {QtOpenGL module} offers classes that make it easy to draw 3D
+graphics in GUI applications using OpenGL ES. Qt provides a plugin that
+integrates both OpenGL ES versions \l
+{http://www.khronos.org/opengles/1_X}{1.x} and \l
+{http://www.khronos.org/opengles/2_X}{2.x} with Qt for Embedded. However,
+Qt for Embedded can be adapted to a wide range of OpenGL versions.
+
+To translate QPainter operations into OpenGL ES calls (there are actually
+two subclasses, one for OpenGL/ES 1.1 and another for OpenGL/ES 2.0), Qt
+uses a subclass of QPaintEngine. This specialized paint engine can be used
+to improve 2D rendering performance on appropriate hardware. It can also
+overlay controls and decorations onto 3D scenes drawn using OpenGL.
+
+\tableofcontents
+
+\section1 Using OpenGL ES with Qt
+To use OpenGL-enabled widgets in a Qt for Embedded application, all that is
+required is to subclass QGLWidget and draw into instances of the subclass
+with standard OpenGL functions. The current implementation only
+supports OpenGL ES and 2D painting within a QGLWidget. Using OpenGL ES to
+accelerate regular widgets as well as compositing top-level windows with
+OpenGL ES are not currently supported. These issues will be addressed in
+future versions of Qt.
+
+\note The OpenGL paint engine is not currently supported in regular
+widgets. However, any application that uses QGraphicsView can set a
+QGLWidget as the viewport and obtain access to the OpenGL paint engine that
+way:
+
+\code
+ QGraphicsView view(&scene);
+ view.setViewport(new QGLWidget());
+ view.setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
+ view.setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
+ view.setViewportUpdateMode(QGraphicsView::FullViewportUpdate);
+ view.setFrameStyle(0);
+ view.showFullScreen();
+\endcode
+
+It is recommended that the QGraphicsView::FullViewportUpdate flag
+be set because the default double-buffered behavior of QGLWidget
+does not support partial updates. It is also recommended that the
+window be shown full-screen because that usually has the best
+performance on current OpenGL ES implementations.
+
+Once a QGraphicsView has been initialized as above, regular widgets
+can be added to the canvas using QGraphicsProxyWidget if the
+application requires them.
+
+\note OpenGL ES 2.X does not support PBuffers, so QGLPixelBuffer will not
+work. In this case, QGLFramebufferObject should be used instead. However,
+OpenGL ES 1.X does not support Framebuffer objects, with the exception of
+some OpenGL ES 1.X extensions. In this case, please use QGLPixelBuffer.
+
+\note On most embedded hardware, the OpenGL implementation is
+actually \l{http://www.khronos.org/opengles/1_X/}{OpenGL/ES 1.1} or
+\l{http://www.khronos.org/opengles/2_X/}{OpenGL/ES 2.0}. When painting
+within a QGLWidget::paintGL() override, it is necessary to limit the
+application to only the features that are present in the OpenGL/ES
+implementation.
+
diff --git a/tests/auto/qstringbuilder1/stringbuilder.h b/doc/src/platforms/emb-openvg-EmbLinux.qdoc
index 5ac9dbe..abdb617 100644
--- a/tests/auto/qstringbuilder1/stringbuilder.h
+++ b/doc/src/platforms/emb-openvg-EmbLinux.qdoc
@@ -4,7 +4,7 @@
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
-** This file is part of the test suite of the Qt Toolkit.
+** This file is part of the documentation of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** No Commercial Usage
@@ -39,17 +39,15 @@
**
****************************************************************************/
-#ifndef TST_QSTRINGBUILDER_H
-#define TST_QSTRINGBUILDER_H
+/*!
+\page qt-embeddedLinux-openvg.html
-#include <qobject.h>
+\title Qt for Embedded Linux and OpenVG
-class tst_QStringBuilder : public QObject
-{
- Q_OBJECT
+\ingroup qt-embedded-linux
-private slots:
- void scenario();
-};
+\input platforms/emb-openvg.qdocinc
-#endif
+
+
+*/
diff --git a/doc/src/platforms/emb-openvg.qdocinc b/doc/src/platforms/emb-openvg.qdocinc
new file mode 100644
index 0000000..37ccb9c
--- /dev/null
+++ b/doc/src/platforms/emb-openvg.qdocinc
@@ -0,0 +1,288 @@
+\section1 Introduction
+
+\l {http://www.khronos.org/openvg}{OpenVG} is a standard API from the
+\l{http://www.khronos.org/openvg}{Khronos Group} for accelerated 2D vector
+graphics and raster graphics. It is a dedicated API for 2D graphics on
+mobile devices. It is therefore more likely to be a better alternative for
+2D acceleration than OpenGL/ES.
+
+\tableofcontents
+
+\section1 Using OpenVG with Qt
+The QtOpenVG plugin provides support for OpenVG painting. OpenVG is
+optimized for 2D vector operations, and closely matches the functionality
+in QPainter. To translate QPainter operations into OpenVG calls, Qt uses a
+subclass of QPaintEngine. Unlike with OpenGL ES, OpenVG can be used for
+acceleration of regular widgets. It can therefore be an excellent substitute
+for the default raster-based QPaintEngine on hardware that supports the
+OpenVG API.
+
+\section2 Configure
+OpenVG support can be enabled by passing the \c{-openvg} option to
+configure. It is assumed that the following qmake variables are set to
+appropriate values in the qmake.conf file for your platform:
+
+ \list
+ \o QMAKE_INCDIR_OPENVG
+ \o QMAKE_LIBDIR_OPENVG
+ \o QMAKE_LIBS_OPENVG
+ \endlist
+
+Most OpenVG implementations are based on EGL, so the following variables
+may also need to be set:
+
+ \list
+ \o QMAKE_INCDIR_EGL
+ \o QMAKE_LIBDIR_EGL
+ \o QMAKE_LIBS_EGL
+ \endlist
+
+See \l{qmake Variable Reference} for more information on these variables.
+
+\section2 Supported OpenVG Engines
+
+Two kinds of OpenVG engines are currently supported: EGL based, and engines
+built on top of OpenGL such as
+\l{http://sourceforge.net/projects/shivavg}{ShivaVG}. EGL based engines are
+preferred.
+
+It is assumed that the EGL implementation has some way to turn a
+QWidget::winId() into an EGL rendering surface with
+\c{eglCreateWindowSurface()}. If this is not the case, then modifications
+may be needed to the code under \c{src/gui/egl} and
+\c{src/plugins/graphicssystems/openvg} to accomodate the EGL
+implementation.
+
+The ShivaVG graphics system under \c{src/plugins/graphicssystems/shivavg}
+is an example of how to integrate a non-EGL implementation of OpenVG into
+Qt. It is currently only supported with Qt/X11 and being an example only,
+the resulting screen output may not be as good as with other OpenVG
+engines.
+
+\section1 Using the OpenVG graphics system
+
+Once the graphics system plugin has been built and installed, applications
+can be run as follows to use the plugin:
+
+ \code
+ app -graphicssystem OpenVG
+ \endcode
+
+If ShivaVG is being used, then substitute \c ShivaVG instead of \c OpenVG
+in the line above.
+
+If the plugin fails to load, try setting the \c QT_DEBUG_PLUGINS
+environment variable to 1 and try again. Usually the plugin cannot be
+loaded because Qt cannot locate it in the directory
+\c{plugins/graphicssystems} within the Qt installation, or the dynamic
+library path does not include the directory containing the system's \c
+libOpenVG.so library.
+
+\section2 Supported features
+
+\table
+ \header
+ \o Feature
+ \o Description
+
+ \row
+ \o Context modes
+ \o The default configuration is "single-context" mode, where a single
+EGLContext object is used for all drawing, regardless of the surface.
+Multiple EGLSurfaces are created, one for each window surface or pixmap.
+eglMakeCurrent() is called with the same EGLContext every time, but a
+different EGLSurface.
+
+Single-context mode is necessary for QPixmapData to be implemented in terms
+of a VGImage. If single-context mode is not enabled, then QPixmapData will
+use the fallback QRasterPixmapData implementation, which is less efficient
+performance-wise.
+
+Single-context mode can be disabled with the QVG_NO_SINGLE_CONTEXT
+define if the OpenVG engine does not support one context with multiple
+surfaces.
+
+ \row
+ \o Transformation matrices
+ \o All affine and projective transformation matrices are supported.
+
+QVGPaintEngine will use the engine to accelerate affine transformation
+matrices only. When a projective transformation matrix is used,
+QVGPaintEngine will transform the coordinates before passing them to the
+engine. This will probably incur a performance penalty.
+
+Pixmaps and images are always transformed by the engine, because OpenVG
+specifies that projective transformations must work for images.
+
+It is recommended that client applications should avoid using projective
+transformations for non-image elements in performance critical code.
+
+ \row
+ \o Composition modes
+ \o The following composition modes are supported:
+
+\list
+\o QPainter::CompositionMode_SourceOver
+\o QPainter::CompositionMode_DestinationOver
+\o QPainter::CompositionMode_Source
+\o QPainter::CompositionMode_SourceIn
+\o QPainter::CompositionMode_DestinationIn
+\o QPainter::CompositionMode_Plus
+\o QPainter::CompositionMode_Multiply
+\o QPainter::CompositionMode_Screen
+\o QPainter::CompositionMode_Darken
+\o QPainter::CompositionMode_Lighten
+\endlist
+
+The other members of QPainter::CompositionMode are not supported
+because OpenVG 1.1 does not have an equivalent in its \c VGBlendMode
+enumeration. Any attempt to set an unsupported mode will result in
+the actual mode being set to QPainter::CompositionMode_SourceOver.
+Client applications should avoid using unsupported modes.
+
+ \row
+ \o Pens and brushes
+ \o All pen styles are supported, including cosmetic pens.
+
+All brush styles are supported except for conical gradients, which are not
+supported by OpenVG 1.1. Conical gradients will be converted into a solid
+color brush corresponding to the first color in the gradient's color ramp.
+
+Affine matrices are supported for brush transforms, but not projective
+matrices.
+
+
+ \row
+ \o Rectangles, lines, and points
+ \o Rectangles, lines, and rounded rectangles use cached VGPath
+objects to try to accelerate drawing operations. vgModifyPathCoords() is
+used to modify the co-ordinates in the cached VGPath object each time
+fillRect(), drawRects(), drawLines(), or drawRoundedRect() is called.
+
+If the engine does not implement vgModifyPathCoords() properly, then the
+QVG_NO_MODIFY_PATH define can be set to disable path caching. This will
+incur a performance penalty.
+
+Points are implemented as lines from the point to itself. The cached line
+drawing VGPath object is used when drawing points.
+
+ \row
+ \o Polygons and Ellipses
+ \o Polygon and ellipse drawing creates a new VGPath object every
+time drawPolygon() or drawEllipse() is called. If the client application
+is making heavy use of these functions, the constant creation and
+destruction of VGPath objects could have an impact on performance.
+
+If a projective transformation is active, ellipses are converted into cubic
+curves prior to transformation, which may further impact performance.
+
+Client applications should avoid polygon and ellipse drawing in performance
+critical code if possible.
+
+ \row
+ \o Other Objects
+ \o Most other objects (arcs, pies, etc) use drawPath(), which takes
+a QPainterPath argument. The default implementation in QPainterEngineEx
+converts the QPainterPath into a QVectorPath and then calls draw(), which
+in turn converts the QVectorPath into a VGPath for drawing.
+
+To reduce the overhead, we have overridden drawPath() in QVGPaintEngine to
+convert QPainterPath's directly into VGPath's. This should help improve
+performance compared to the default implementation.
+
+Client applications should try to avoid these types of objects in
+performance critical code because of the QPainterPath to VGPath conversion
+cost.
+
+ \row
+ \o Clipping
+ \o Clipping with QRect, QRectF, and QRegion objects is supported on
+all OpenVG engines with vgMask() if the transformation matrix is the
+identity or a simple origin translation.
+
+Clipping with an arbitrary QPainterPath, or setting the clip region when
+the transformation matrix is simple, is supported only if the OpenVG engine
+has the vgRenderToMask() function (OpenVG 1.1 and higher).
+
+The QVG_NO_RENDER_TO_MASK define will disable the use of vgRenderToMask().
+
+The QVG_SCISSOR_CLIP define will disable clipping with vgMask() or
+vgRenderToMask() and instead use the scissor rectangle list to perform
+clipping. Clipping with an arbitrary QPainterPath will not be supported.
+
+The QVG_SCISSOR_CLIP define should only be used if the OpenVG engine does
+not support vgMask() or vgRenderToMask().
+
+ \row
+ \o Opacity
+ \o Opacity is supported for all drawing operations. Solid color
+pens, solid color brushes, gradient brushes, and image drawing with
+drawPixmap() and drawImage() will probably have the best performance
+compared to other kinds of pens and brushes.
+
+ \row
+ \o Text Drawing
+ \o If OpenVG 1.1 is used, the paint engine will use VG fonts to
+cache glyphs while drawing. If the engine does not support VG fonts
+correctly, QVG_NO_DRAW_GLYPHS can be defined to disable this mode. Text
+drawing performance will suffer if VG fonts are not used.
+
+By default, image-based glyphs are used. If QVG_NO_IMAGE_GLYPHS is defined,
+then path-based glyphs will be used instead. QVG_NO_IMAGE_GLYPHS is ignored
+if QVG_NO_DRAW_GLYPHS is defined.
+
+If path-based glyphs are used, then the OpenVG engine will need to support
+hinting to render text with good results. Image-based glyphs avoids the
+need for hinting and will usually give better results than path-based
+glyphs.
+
+ \row
+ \o Pixmaps
+ \o In single-context mode, pixmaps will be implemented using
+VGImage unless QVG_NO_PIXMAP_DATA is defined.
+
+QVGPixmapData will convert QImage's into VGImage's when the application
+calls drawPixmap(), and the pixmap will be kept in VGImage form for the
+lifetime of the QVGPixmapData object. When the application tries to paint
+into a QPixmap with QPainter, the data will be converted back into a QImage
+and the raster paint engine will be used to render into the QImage.
+
+This arrangement optimizes for the case of drawing the same static pixmap
+over and over (e.g. for icons), but does not optimize the case of drawing
+into pixmaps.
+
+Bitmaps must use QRasterPixmapData. They are not accelerated with VGImage
+at present.
+
+ \row
+ \o Pixmap filters
+ \o Convolution, colorize, drop shadow, and blur filters are
+accelerated using OpenVG operations.
+
+\endtable
+
+\section2 Known issues
+
+Performance of copying the contents of an OpenVG-rendered window to the
+screen needs platform-specific work in the QVGWindowSurface class.
+
+Clipping with arbitrary non-rectangular paths only works on engines that
+support vgRenderToMask(). Simple rectangular paths are supported on all
+engines that correctly implement vgMask().
+
+The paint engine is not yet thread-safe, so it is not recommended for use
+in threaded Qt applications that draw from multiple threads. Drawing should
+be limited to the main GUI thread.
+
+Performance of projective matrices for non-image drawing is not as good
+as for affine matrices.
+
+QPixmap's are implemented as VGImage objects so that they can be quickly
+rendered with drawPixmap(). Rendering into a QPixmap using QPainter will
+use the default Qt raster paint engine on a QImage copy of the QPixmap, and
+will not be accelerated. This issue may be addressed in a future version
+of the engine.
+
+ShivaVG support is highly experimental and limited to Qt/X11. It is
+provided as an example of how to integrate a non-EGL engine.
+
diff --git a/doc/src/platforms/qt-embedded-linux.qdoc b/doc/src/platforms/qt-embedded-linux.qdoc
index 21cbf3b..a6524d7 100644
--- a/doc/src/platforms/qt-embedded-linux.qdoc
+++ b/doc/src/platforms/qt-embedded-linux.qdoc
@@ -96,7 +96,7 @@
\o \l {Qt for Embedded Linux Pointer Handling}{Pointer Handling}
\o \l {Qt for Embedded Linux Character Input}{Character Input}
\o \l {Qt for Embedded Linux Display Management}{Display Management}
- \o \l {Qt for Embedded Linux and OpenGL}{OpenGL}
+ \o \l {Qt for Embedded Linux Hardware Accelerated Graphics}{Hardware Accelerated Graphics}
\o \l {Qt for Embedded Linux Fonts}{Fonts}
\endlist
diff --git a/doc/src/platforms/qt-embedded.qdoc b/doc/src/platforms/qt-embedded.qdoc
index c39a967..b38c94f 100644
--- a/doc/src/platforms/qt-embedded.qdoc
+++ b/doc/src/platforms/qt-embedded.qdoc
@@ -67,11 +67,10 @@
Applications use the appropriate style for the embedded
environment and use native features, such as menus, to conform
to the native style guidelines.
- \o \l{Symbian platform - Introduction to using Qt}{Qt for the Symbian
-platform} is used to create
- applications running in existing Symbian platform environments.
- Applications use the appropriate style for the embedded
- environment and use native features, such as menus, to conform
+ \o \l{Symbian Platform - Introduction to Qt}{Qt for the Symbian
+ platform} is used to create applications running in existing Symbian
+ platform environments. Applications use the appropriate style for the
+ embedded environment and use native features, such as menus, to conform
to the native style guidelines.
\endtable
*/
diff --git a/doc/src/platforms/s60-introduction.qdoc b/doc/src/platforms/s60-introduction.qdoc
index 5fd0cbe..0581982 100644
--- a/doc/src/platforms/s60-introduction.qdoc
+++ b/doc/src/platforms/s60-introduction.qdoc
@@ -42,7 +42,7 @@
/*!
\page symbian-with-qt-introduction.html
- \title Symbian platform - Introduction to using Qt
+ \title Symbian Platform - Introduction to Qt
\brief An introduction to Qt for Symbian platform developers.
\ingroup howto
\ingroup qts60
@@ -51,15 +51,15 @@
\section1 Required tools
- See \l{Qt for Symbian platform Requirements} to see what tools are
+ See \l{Qt for Symbian Platform Requirements} to see what tools are
required to use Qt for Symbian platform.
\section1 Installing Qt and running demos
- Follow the instructions found in \l{Installing Qt on the Symbian platform using binary package} to learn how
- to install Qt using binary package and how to build and run Qt demos.
+ Follow the instructions found in \l{Installing Qt on the Symbian platform from a Binary Package}
+ to learn how to install Qt using a binary package and how to build and run Qt demos.
- Follow the instructions found in \l{Installing Qt on the Symbian platform} to learn how to install Qt using
+ Follow the instructions found in \l{Installing Qt on the Symbian Platform} to learn how to install Qt using
using source package and how to build and run the Qt demos.
\section1 Building your own applications
diff --git a/doc/src/platforms/wince-introduction.qdoc b/doc/src/platforms/wince-introduction.qdoc
index 46ecbf6..886b084 100644
--- a/doc/src/platforms/wince-introduction.qdoc
+++ b/doc/src/platforms/wince-introduction.qdoc
@@ -65,7 +65,7 @@
\endlist
\o
\list
- \o \l {Windows CE OpenGL ES}{OpenGL ES}
+ \o \l {Qt for Windows CE Hardware Accelerated Graphics}{Hardware Accelerated Graphics}
\o \l {Qt Performance Tuning}
\o \l {Fine-Tuning Features in Qt}
\endlist
diff --git a/doc/src/platforms/wince-opengl.qdoc b/doc/src/platforms/wince-opengl.qdoc
index 4fc4d7b..0ea2ec6 100644
--- a/doc/src/platforms/wince-opengl.qdoc
+++ b/doc/src/platforms/wince-opengl.qdoc
@@ -41,58 +41,48 @@
/*!
\page windowsce-opengl.html
- \title Windows CE OpenGL ES
+ \title Qt for Windows CE and OpenGL ES
\ingroup qtce
\brief Information about support for OpenGL ES with Qt for Windows CE.
- \section1 Introduction
+ \input platforms/emb-opengl.qdocinc
- \l {http://www.opengl.org}{OpenGL} is an industry standard API for 2D/3D
- graphics. It provides a powerful, low-level interface between software
- and acceleration hardware, and it is operating system and window system
- independent.
+\section1 Using OpenGL with Qt for Windows CE
+Qt for Windows CE uses EGL 1.1 to embed OpenGL ES windows within the
+Windows CE window manager.
- \l {http://www.khronos.org/opengles}{OpenGL ES} is a subset of the
- \l {http://www.opengl.org}{OpenGL} standard. It is meant for use in
- embedded systems. Hence, it has a smaller, more constrained API.
+\section2 Configure
- Qt for Windows CE uses EGL 1.1 to embed OpenGL ES windows within the
- Windows CE window manager.
+To configure Qt for Windows Mobile 5.0 and OpenGL ES Common Lite support
+you can run \c{configure} like this:
- To use OpenGL ES enabled widgets in a Qt for Windows CE application, you
- only need to subclass QGLWidget and draw on instances of the subclass with
- OpenGL ES functions.
-
- OpenGL ES includes profiles for floating-point and fixed-point arithmetic.
- The floating point profile is called OpenGL ES CM (Common) and the
- fixed-point profile is called OpenGL ES CL (Common Lite).
-
- You can run \c{configure} with the \c{-opengl-es-cm} option for the Common
- profile or \c{-opengl-es-cl} for the Common Lite profile. In both cases,
- ensure that the \c{lib} and \c{includes} paths include the OpenGL ES
- headers and libararies from your SDK. The OpenGL ES lib should be called
- either \c{libGLES_CM.lib} for the Common profile or \c{libGLES_CL.lib}
- for the Common Lite profile.
+ \snippet doc/src/snippets/code/doc_src_wince-opengl.qdoc 0
- To configure Qt for Windows Mobile 5.0 and OpenGL ES Common Lite support
- you can run \c{configure} like this:
+OpenGL ES includes profiles for floating-point and fixed-point arithmetic.
+The floating point profile is called OpenGL ES CM (Common) and the
+fixed-point profile is called OpenGL ES CL (Common Lite).
- \snippet doc/src/snippets/code/doc_src_wince-opengl.qdoc 0
+You can run \c{configure} with the \c{-opengl-es-cm} option for the Common
+profile or \c{-opengl-es-cl} for the Common Lite profile. In both cases,
+ensure that the \c{lib} and \c{includes} paths include the OpenGL ES
+headers and libararies from your SDK. The OpenGL ES lib should be called
+either \c{libGLES_CM.lib} for the Common profile or \c{libGLES_CL.lib} for
+the Common Lite profile.
- The distinction between the Common and Common Lite profiles is important,
- because the Common Lite profile has less functionality and only supports a
- fixed-point vertex format.
+The distinction between the Common and Common Lite profiles is important,
+because the Common Lite profile has less functionality and only supports a
+fixed-point vertex format.
- To start programming with Qt and OpenGL ES on Windows CE, you can start
- with the \l{Hello GL ES Example}. This example shows how to use QGLWidget
- and QGLPainter with OpenGL ES. It also provides some hints on how to port
- OpenGL code to OpenGL ES.
+To start programming with Qt and OpenGL ES on Windows CE, you can start
+with the \l{Hello GL ES Example}. This example shows how to use QGLWidget
+and QGLPainter with OpenGL ES. It also provides some hints on how to port
+OpenGL code to OpenGL ES.
- \section2 Using OpenGL to Accelerate Normal 2D Painting
+\section2 Using OpenGL to Accelerate Normal 2D Painting
- Qt provides QOpenGLPaintEngine, a subclass of QPaintEngine that translates
- QPainter operations into OpenGL calls. This is especially convenient for
- drawing text or QImage objects in an OpenGL ES context. For further
- details, refer to the \l{Hello GL ES Example}.
+Qt provides QOpenGLPaintEngine, a subclass of QPaintEngine that translates
+QPainter operations into OpenGL calls. This is especially convenient for
+drawing text or QImage objects in an OpenGL ES context. For further
+details, refer to the \l{Hello GL ES Example}.
*/
diff --git a/doc/src/platforms/wince-openvg.qdoc b/doc/src/platforms/wince-openvg.qdoc
new file mode 100644
index 0000000..047c655
--- /dev/null
+++ b/doc/src/platforms/wince-openvg.qdoc
@@ -0,0 +1,65 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, 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.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+/*!
+ \page windowsce-openvg.html
+ \title Qt for Windows CE and OpenVG
+ \ingroup qtce
+ \brief Information about support for OpenVG with Qt for Windows CE.
+
+ \input platforms/emb-openvg.qdocinc
+
+\section1 Using OpenVG with Qt for Windows CE
+Qt for Windows CE uses EGL 1.1 to embed OpenVG windows within the Windows
+CE window manager.
+
+\note Make sure that your Windows CE SDK have a working EGL implementation.
+If not, OpenVG will not work.
+
+\note There is currently no support for Blitting and Alpha blending in Qt
+for Windows CE.
+
+\note To configure Qt for Windows Mobile 5.0 and OpenVG support you can run
+\c{configure} like this:
+
+ \snippet doc/src/snippets/code/doc_src_wince-opengl.qdoc 0
+
+*/
diff --git a/doc/src/platforms/winsystem.qdoc b/doc/src/platforms/winsystem.qdoc
index f427d6e..72e7da6 100644
--- a/doc/src/platforms/winsystem.qdoc
+++ b/doc/src/platforms/winsystem.qdoc
@@ -43,6 +43,7 @@
\page winsystem.html
\title Window System Specific Notes
\ingroup platform-specific
+ \brief Collections of notes about Qt implementations on different window systems.
Qt is a cross-platform GUI toolkit, so almost the entire API is the
same on all platforms and window systems. If you wish to use
@@ -95,4 +96,15 @@
When compiling for this platform, the macro \c{Q_WS_QWS} is
defined (the window system is literally the Qt Window System). See
the \l{Qt for Embedded Linux} documentation for more information.
+
+ \section1 Qt for Windows CE
+
+ When compiling for this platform, the macro \c{Q_WS_WINCE} is defined.
+ See the \l{Qt for Windows CE} documentation for more information.
+
+ \section1 Qt for Symbian Platform
+
+ When compiling for this platform, the macro \c{Q_WS_S60} is defined.
+ See the \l{Symbian Platform - Introduction to Qt} documentation for
+ more information.
*/
diff --git a/doc/src/qt-webpages.qdoc b/doc/src/qt-webpages.qdoc
index 7287656..1eee805 100644
--- a/doc/src/qt-webpages.qdoc
+++ b/doc/src/qt-webpages.qdoc
@@ -165,7 +165,7 @@
*/
/*!
- \externalpage http://qt.nokia.com/products/qtopia/
+ \externalpage http://www.qtextended.org/
\title Qt Extended
*/
diff --git a/doc/src/snippets/code/doc_src_i18n.qdoc b/doc/src/snippets/code/doc_src_i18n.qdoc
index eca2868..80faabc 100644
--- a/doc/src/snippets/code/doc_src_i18n.qdoc
+++ b/doc/src/snippets/code/doc_src_i18n.qdoc
@@ -184,7 +184,7 @@ void Clock::setTime(const QTime &time)
//! [12]
-void QWidget::changeEvent(QEvent *event)
+void MyWidget::changeEvent(QEvent *event)
{
if (e->type() == QEvent::LanguageChange) {
titleLabel->setText(tr("Document Title"));
diff --git a/doc/src/snippets/code/src_corelib_kernel_qobject.cpp b/doc/src/snippets/code/src_corelib_kernel_qobject.cpp
index 4c64374..88d8025 100644
--- a/doc/src/snippets/code/src_corelib_kernel_qobject.cpp
+++ b/doc/src/snippets/code/src_corelib_kernel_qobject.cpp
@@ -235,9 +235,8 @@ MyWindow::MyWindow()
{
QLabel *senderLabel = new QLabel(tr("Name:"));
QLabel *recipientLabel = new QLabel(tr("Name:", "recipient"));
- ...
-}
//! [17]
+}
//! [18]
diff --git a/doc/src/snippets/code/src_opengl_qglshaderprogram.cpp b/doc/src/snippets/code/src_opengl_qglshaderprogram.cpp
index 2997297..9a15f19 100644
--- a/doc/src/snippets/code/src_opengl_qglshaderprogram.cpp
+++ b/doc/src/snippets/code/src_opengl_qglshaderprogram.cpp
@@ -40,32 +40,32 @@
****************************************************************************/
//! [0]
-QGLShader shader(QGLShader::VertexShader);
-shader.compile(code);
+QGLShader shader(QGLShader::Vertex);
+shader.compileSourceCode(code);
QGLShaderProgram program(context);
program.addShader(shader);
program.link();
-program.enable();
+program.bind();
//! [0]
//! [1]
-program.addShader(QGLShader::VertexShader,
+program.addShaderFromSourceCode(QGLShader::Vertex,
"attribute highp vec4 vertex;\n"
"attribute mediump mat4 matrix;\n"
"void main(void)\n"
"{\n"
" gl_Position = matrix * vertex;\n"
"}");
-program.addShader(QGLShader::FragmentShader,
+program.addShaderFromSourceCode(QGLShader::Fragment,
"uniform mediump vec4 color;\n"
"void main(void)\n"
"{\n"
" gl_FragColor = color;\n"
"}");
program.link();
-program.enable();
+program.bind();
int vertexLocation = program.attributeLocation("vertex");
int matrixLocation = program.attributeLocation("matrix");
@@ -84,9 +84,12 @@ QColor color(0, 255, 0, 255);
QMatrix4x4 pmvMatrix;
pmvMatrix.ortho(rect());
+program.enableAttributeArray(vertexLocation);
program.setAttributeArray(vertexLocation, triangleVertices, 3);
program.setUniformValue(matrixLocation, pmvMatrix);
program.setUniformValue(colorLocation, color);
glDrawArrays(GL_TRIANGLES, 0, 3);
+
+program.disableAttributeArray(vertexLocation);
//! [2]
diff --git a/doc/src/snippets/statemachine/main2.cpp b/doc/src/snippets/statemachine/main2.cpp
index 2419dc2..9a2890f 100644
--- a/doc/src/snippets/statemachine/main2.cpp
+++ b/doc/src/snippets/statemachine/main2.cpp
@@ -69,17 +69,18 @@ int main(int argv, char **args)
//![1]
QButton *interruptButton = new QPushButton("Interrupt Button");
+ QWidget *mainWindow = new QWidget();
//![3]
QHistoryState *s1h = new QHistoryState(s1);
QState *s3 = new QState();
s3->assignProperty(label, "text", "In s3");
- QMessageBox mbox;
- mbox.addButton(QMessageBox::Ok);
- mbox.setText("Interrupted!");
- mbox.setIcon(QMessageBox::Information);
- QObject::connect(s3, SIGNAL(entered()), &mbox, SLOT(exec()));
+ QMessageBox *mbox = new QMessageBox(mainWindow);
+ mbox->addButton(QMessageBox::Ok);
+ mbox->setText("Interrupted!");
+ mbox->setIcon(QMessageBox::Information);
+ QObject::connect(s3, SIGNAL(entered()), mbox, SLOT(exec()));
s3->addTransition(s1h);
machine.addState(s3);
diff --git a/doc/src/snippets/statemachine/main5.cpp b/doc/src/snippets/statemachine/main5.cpp
index a9d4091..ff25b7b 100644
--- a/doc/src/snippets/statemachine/main5.cpp
+++ b/doc/src/snippets/statemachine/main5.cpp
@@ -44,14 +44,13 @@
int main(int argv, char **args)
{
QApplication app(argv, args);
+ QWidget *button;
{
//![0]
QStateMachine machine;
machine.setGlobalRestorePolicy(QStateMachine::RestoreProperties);
-//![0]
-//![1]
QState *s1 = new QState();
s1->assignProperty(object, "fooBar", 1.0);
machine.addState(s1);
@@ -59,7 +58,7 @@ int main(int argv, char **args)
QState *s2 = new QState();
machine.addState(s2);
-//![1]
+//![0]
}
{
@@ -110,21 +109,50 @@ int main(int argv, char **args)
}
{
+ QMainWindow *mainWindow = 0;
//![5]
+ QMessageBox *messageBox = new QMessageBox(mainWindow);
+ messageBox->addButton(QMessageBox::Ok);
+ messageBox->setText("Button geometry has been set!");
+ messageBox->setIcon(QMessageBox::Information);
+
QState *s1 = new QState();
- s1->assignProperty(button, "geometry", QRectF(0, 0, 50, 50));
QState *s2 = new QState();
+ s2->assignProperty(button, "geometry", QRectF(0, 0, 50, 50));
+ connect(s2, SIGNAL(entered()), messageBox, SLOT(exec()));
- s1->addTransition(s1, SIGNAL(polished()), s2);
+ s1->addTransition(button, SIGNAL(clicked()), s2);
//![5]
-
}
{
+ QMainWindow *mainWindow = 0;
+
+//![6]
+ QMessageBox *messageBox = new QMessageBox(mainWindow);
+ messageBox->addButton(QMessageBox::Ok);
+ messageBox->setText("Button geometry has been set!");
+ messageBox->setIcon(QMessageBox::Information);
+
+ QState *s1 = new QState();
+
+ QState *s2 = new QState();
+ s2->assignProperty(button, "geometry", QRectF(0, 0, 50, 50));
+
+ QState *s3 = new QState();
+ connect(s3, SIGNAL(entered()), messageBox, SLOT(exec()));
+ s1->addTransition(button, SIGNAL(clicked()), s2);
+ s2->addTransition(s2, SIGNAL(propertiesAssigned()), s3);
//![6]
+
+ }
+
+ {
+
+//![7]
QState *s1 = new QState();
QState *s2 = new QState();
@@ -134,10 +162,12 @@ int main(int argv, char **args)
QStateMachine machine;
machine.setInitialState(s1);
machine.addDefaultAnimation(new QPropertyAnimation(object, "fooBar"));
-//![6]
+//![7]
}
+
+
return app.exec();
}
diff --git a/doc/src/sql-programming/sql-programming.qdoc b/doc/src/sql-programming/sql-programming.qdoc
index d0b6776..3aceb17 100644
--- a/doc/src/sql-programming/sql-programming.qdoc
+++ b/doc/src/sql-programming/sql-programming.qdoc
@@ -49,6 +49,7 @@
/*!
\page sql-programming.html
\title SQL Programming
+ \nextpage Connecting to Databases
\brief Database integration for Qt applications.
@@ -95,7 +96,7 @@
and the SQL API layer. See \l{SQL Database Drivers} for more information.
\section2 SQL API Layer
-
+
These classes provide access to databases. Connections
are made using the QSqlDatabase class. Database
interaction is achieved by using the QSqlQuery class.
@@ -119,6 +120,7 @@
\title Connecting to Databases
\contentspage SQL Programming
+ \previouspage SQL Programming
\nextpage Executing SQL Statements
To access a database with QSqlQuery or QSqlQueryModel, create and
diff --git a/examples/animation/stickman/lifecycle.cpp b/examples/animation/stickman/lifecycle.cpp
index 250fb85..1b6f9cd 100644
--- a/examples/animation/stickman/lifecycle.cpp
+++ b/examples/animation/stickman/lifecycle.cpp
@@ -194,14 +194,14 @@ QState *LifeCycle::makeState(QState *parentState, const QString &animationFileNa
topLevel->setInitialState(frameState);
else
//! [2]
- previousState->addTransition(previousState, SIGNAL(polished()), frameState);
+ previousState->addTransition(previousState, SIGNAL(propertiesAssigned()), frameState);
//! [2]
previousState = frameState;
}
// Loop
- previousState->addTransition(previousState, SIGNAL(polished()), topLevel->initialState());
+ previousState->addTransition(previousState, SIGNAL(propertiesAssigned()), topLevel->initialState());
return topLevel;
diff --git a/examples/gestures/imagegestures/imagegestures.pro b/examples/gestures/imagegestures/imagegestures.pro
index 7780ad9..8c947e4 100644
--- a/examples/gestures/imagegestures/imagegestures.pro
+++ b/examples/gestures/imagegestures/imagegestures.pro
@@ -5,12 +5,12 @@ SOURCES = imagewidget.cpp \
mainwidget.cpp
# install
-target.path = $$[QT_INSTALL_EXAMPLES]/gestures/imageviewer
+target.path = $$[QT_INSTALL_EXAMPLES]/gestures/imagegestures
sources.files = $$SOURCES \
$$HEADERS \
$$RESOURCES \
$$FORMS \
- imageviewer.pro
-sources.path = $$[QT_INSTALL_EXAMPLES]/gestures/imageviewer
+ imagegestures.pro
+sources.path = $$[QT_INSTALL_EXAMPLES]/gestures/imagegestures
INSTALLS += target \
sources
diff --git a/examples/gestures/imagegestures/imagewidget.cpp b/examples/gestures/imagegestures/imagewidget.cpp
index 28de6da..afa0185 100644
--- a/examples/gestures/imagegestures/imagewidget.cpp
+++ b/examples/gestures/imagegestures/imagewidget.cpp
@@ -50,7 +50,8 @@ ImageWidget::ImageWidget(QWidget *parent)
horizontalOffset(0),
verticalOffset(0),
rotationAngle(0),
- scaleFactor(1)
+ scaleFactor(1),
+ currentStepScaleFactor(1)
{
setMinimumSize(QSize(100,100));
@@ -75,7 +76,6 @@ bool ImageWidget::event(QEvent *event)
void ImageWidget::paintEvent(QPaintEvent*)
{
QPainter p(this);
- p.fillRect(rect(), Qt::white);
float iw = currentImage.width();
float ih = currentImage.height();
@@ -85,7 +85,7 @@ void ImageWidget::paintEvent(QPaintEvent*)
p.translate(ww/2, wh/2);
p.translate(horizontalOffset, verticalOffset);
p.rotate(rotationAngle);
- p.scale(scaleFactor, scaleFactor);
+ p.scale(currentStepScaleFactor * scaleFactor, currentStepScaleFactor * scaleFactor);
p.translate(-iw/2, -ih/2);
p.drawImage(0, 0, currentImage);
}
@@ -94,6 +94,7 @@ void ImageWidget::mouseDoubleClickEvent(QMouseEvent *)
{
rotationAngle = 0;
scaleFactor = 1;
+ currentStepScaleFactor = 1;
verticalOffset = 0;
horizontalOffset = 0;
update();
@@ -102,17 +103,13 @@ void ImageWidget::mouseDoubleClickEvent(QMouseEvent *)
//! [gesture event handler]
bool ImageWidget::gestureEvent(QGestureEvent *event)
{
- if (QGesture *pan = event->gesture(Qt::PanGesture)) {
- panTriggered(static_cast<QPanGesture*>(pan));
- return true;
- } else if (QGesture *pinch = event->gesture(Qt::PinchGesture)) {
- pinchTriggered(static_cast<QPinchGesture*>(pinch));
- return true;
- } else if (QGesture *swipe = event->gesture(Qt::SwipeGesture)) {
- swipeTriggered(static_cast<QSwipeGesture*>(swipe));
- return true;
- }
- return false;
+ if (QGesture *swipe = event->gesture(Qt::SwipeGesture))
+ swipeTriggered(static_cast<QSwipeGesture *>(swipe));
+ else if (QGesture *pan = event->gesture(Qt::PanGesture))
+ panTriggered(static_cast<QPanGesture *>(pan));
+ if (QGesture *pinch = event->gesture(Qt::PinchGesture))
+ pinchTriggered(static_cast<QPinchGesture *>(pinch));
+ return true;
}
//! [gesture event handler]
@@ -128,24 +125,27 @@ void ImageWidget::panTriggered(QPanGesture *gesture)
setCursor(Qt::ArrowCursor);
}
#endif
- QPointF lastOffset = gesture->offset();
- horizontalOffset += lastOffset.x();
- verticalOffset += lastOffset.y();
+ QPointF delta = gesture->delta();
+ horizontalOffset += delta.x();
+ verticalOffset += delta.y();
update();
}
void ImageWidget::pinchTriggered(QPinchGesture *gesture)
{
- QPinchGesture::WhatChanged whatChanged = gesture->whatChanged();
- if (whatChanged & QPinchGesture::RotationAngleChanged) {
+ QPinchGesture::ChangeFlags changeFlags = gesture->changeFlags();
+ if (changeFlags & QPinchGesture::RotationAngleChanged) {
qreal value = gesture->property("rotationAngle").toReal();
qreal lastValue = gesture->property("lastRotationAngle").toReal();
rotationAngle += value - lastValue;
}
- if (whatChanged & QPinchGesture::ScaleFactorChanged) {
+ if (changeFlags & QPinchGesture::ScaleFactorChanged) {
qreal value = gesture->property("scaleFactor").toReal();
- qreal lastValue = gesture->property("lastScaleFactor").toReal();
- scaleFactor += value - lastValue;
+ currentStepScaleFactor = value;
+ }
+ if (gesture->state() == Qt::GestureFinished) {
+ scaleFactor *= currentStepScaleFactor;
+ currentStepScaleFactor = 1;
}
update();
}
@@ -153,12 +153,14 @@ void ImageWidget::pinchTriggered(QPinchGesture *gesture)
//! [swipe function]
void ImageWidget::swipeTriggered(QSwipeGesture *gesture)
{
- if (gesture->horizontalDirection() == QSwipeGesture::Left
+ if (gesture->state() == Qt::GestureFinished) {
+ if (gesture->horizontalDirection() == QSwipeGesture::Left
|| gesture->verticalDirection() == QSwipeGesture::Up)
- goPrevImage();
- else
- goNextImage();
- update();
+ goPrevImage();
+ else
+ goNextImage();
+ update();
+ }
}
//! [swipe function]
diff --git a/examples/gestures/imagegestures/imagewidget.h b/examples/gestures/imagegestures/imagewidget.h
index 56e2316..7a68488 100644
--- a/examples/gestures/imagegestures/imagewidget.h
+++ b/examples/gestures/imagegestures/imagewidget.h
@@ -93,6 +93,7 @@ private:
float verticalOffset;
float rotationAngle;
float scaleFactor;
+ float currentStepScaleFactor;
//! [class definition end]
};
//! [class definition end]
diff --git a/examples/graphicsview/anchorlayout/anchorlayout.pro b/examples/graphicsview/anchorlayout/anchorlayout.pro
index c2a1bea..fd085cc 100644
--- a/examples/graphicsview/anchorlayout/anchorlayout.pro
+++ b/examples/graphicsview/anchorlayout/anchorlayout.pro
@@ -1,9 +1,4 @@
-######################################################################
-# Automatically generated by qmake (2.01a) Tue May 12 15:22:25 2009
-######################################################################
-
-# Input
-SOURCES += main.cpp
+SOURCES = main.cpp
# install
target.path = $$[QT_INSTALL_EXAMPLES]/graphicsview/anchorlayout
@@ -11,5 +6,4 @@ sources.files = $$SOURCES $$HEADERS $$RESOURCES anchorlayout.pro
sources.path = $$[QT_INSTALL_EXAMPLES]/graphicsview/anchorlayout
INSTALLS += target sources
-TARGET = anchorlayout_example
-CONFIG+=console \ No newline at end of file
+TARGET = anchorlayout
diff --git a/examples/graphicsview/simpleanchorlayout/main.cpp b/examples/graphicsview/simpleanchorlayout/main.cpp
new file mode 100644
index 0000000..493b00f
--- /dev/null
+++ b/examples/graphicsview/simpleanchorlayout/main.cpp
@@ -0,0 +1,134 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, 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.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <QtGui>
+
+class Widget : public QGraphicsWidget
+{
+public:
+ Widget(const QColor &color, const QColor &textColor, const QString &caption,
+ QGraphicsItem *parent = 0)
+ : QGraphicsWidget(parent), caption(caption), color(color), textColor(textColor)
+ {
+ }
+
+ void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget = 0)
+ {
+ QFont font;
+ font.setPixelSize(0.75 * qMin(boundingRect().width(), boundingRect().height()));
+
+ painter->fillRect(boundingRect(), color);
+ painter->save();
+ painter->setFont(font);
+ painter->setPen(textColor);
+ painter->drawText(boundingRect(), Qt::AlignCenter, caption);
+ painter->restore();
+ }
+
+private:
+ QString caption;
+ QColor color;
+ QColor textColor;
+};
+
+int main(int argc, char *argv[])
+{
+ QApplication app(argc, argv);
+
+ QGraphicsScene *scene = new QGraphicsScene();
+
+ Widget *a = new Widget(Qt::blue, Qt::white, "a");
+ a->setPreferredSize(100, 100);
+ Widget *b = new Widget(Qt::green, Qt::black, "b");
+ b->setPreferredSize(100, 100);
+ Widget *c = new Widget(Qt::red, Qt::black, "c");
+ c->setPreferredSize(100, 100);
+
+ QGraphicsAnchorLayout *layout = new QGraphicsAnchorLayout();
+/*
+ //! [adding a corner anchor in two steps]
+ layout->addAnchor(a, Qt::AnchorTop, layout, Qt::AnchorTop);
+ layout->addAnchor(a, Qt::AnchorLeft, layout, Qt::AnchorLeft);
+ //! [adding a corner anchor in two steps]
+*/
+ //! [adding a corner anchor]
+ layout->addCornerAnchors(a, Qt::TopLeftCorner, layout, Qt::TopLeftCorner);
+ //! [adding a corner anchor]
+
+ //! [adding anchors]
+ layout->addAnchor(b, Qt::AnchorLeft, a, Qt::AnchorRight);
+ layout->addAnchor(b, Qt::AnchorTop, a, Qt::AnchorBottom);
+ //! [adding anchors]
+
+ // Place a third widget below the second.
+ layout->addAnchor(b, Qt::AnchorBottom, c, Qt::AnchorTop);
+
+/*
+ //! [adding anchors to match sizes in two steps]
+ layout->addAnchor(b, Qt::AnchorLeft, c, Qt::AnchorLeft);
+ layout->addAnchor(b, Qt::AnchorRight, c, Qt::AnchorRight);
+ //! [adding anchors to match sizes in two steps]
+*/
+
+ //! [adding anchors to match sizes]
+ layout->addAnchors(b, c, Qt::Horizontal);
+ //! [adding anchors to match sizes]
+
+ // Anchor the bottom-right corner of the third widget to the bottom-right
+ // corner of the layout.
+ layout->addCornerAnchors(c, Qt::BottomRightCorner, layout, Qt::BottomRightCorner);
+
+ QGraphicsWidget *w = new QGraphicsWidget(0, Qt::Window | Qt::CustomizeWindowHint | Qt::WindowTitleHint);
+ w->setPos(20, 20);
+ w->setMinimumSize(100, 100);
+ w->setPreferredSize(320, 240);
+ w->setLayout(layout);
+ w->setWindowTitle(QApplication::translate("simpleanchorlayout", "QGraphicsAnchorLayout in use"));
+ scene->addItem(w);
+
+ QGraphicsView *view = new QGraphicsView();
+ view->setScene(scene);
+ view->setWindowTitle(QApplication::translate("simpleanchorlayout", "Simple Anchor Layout"));
+ view->resize(360, 320);
+ view->show();
+
+ return app.exec();
+}
diff --git a/examples/graphicsview/simpleanchorlayout/simpleanchorlayout.pro b/examples/graphicsview/simpleanchorlayout/simpleanchorlayout.pro
new file mode 100644
index 0000000..e1c7aeb
--- /dev/null
+++ b/examples/graphicsview/simpleanchorlayout/simpleanchorlayout.pro
@@ -0,0 +1,9 @@
+SOURCES = main.cpp
+
+# install
+target.path = $$[QT_INSTALL_EXAMPLES]/graphicsview/simpleanchorlayout
+sources.files = $$SOURCES $$HEADERS $$RESOURCES simpleanchorlayout.pro
+sources.path = $$[QT_INSTALL_EXAMPLES]/graphicsview/simpleanchorlayout
+INSTALLS += target sources
+
+TARGET = simpleanchorlayout
diff --git a/examples/mainwindows/mdi/mainwindow.cpp b/examples/mainwindows/mdi/mainwindow.cpp
index 712d91f..edb33b7 100644
--- a/examples/mainwindows/mdi/mainwindow.cpp
+++ b/examples/mainwindows/mdi/mainwindow.cpp
@@ -71,7 +71,7 @@ MainWindow::MainWindow()
void MainWindow::closeEvent(QCloseEvent *event)
{
mdiArea->closeAllSubWindows();
- if (activeMdiChild()) {
+ if (mdiArea->currentSubWindow()) {
event->ignore();
} else {
writeSettings();
diff --git a/examples/mainwindows/sdi/mainwindow.h b/examples/mainwindows/sdi/mainwindow.h
index ca478df..a925e2f 100644
--- a/examples/mainwindows/sdi/mainwindow.h
+++ b/examples/mainwindows/sdi/mainwindow.h
@@ -50,12 +50,14 @@ class QMenu;
class QTextEdit;
QT_END_NAMESPACE
+//! [class definition with macro]
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
MainWindow();
+//! [class definition with macro]
MainWindow(const QString &fileName);
protected:
diff --git a/examples/multimedia/videographicsitem/videoitem.cpp b/examples/multimedia/videographicsitem/videoitem.cpp
index c95e335..99e8df8 100644
--- a/examples/multimedia/videographicsitem/videoitem.cpp
+++ b/examples/multimedia/videographicsitem/videoitem.cpp
@@ -104,7 +104,7 @@ QList<QVideoFrame::PixelFormat> VideoItem::supportedPixelFormats(
bool VideoItem::start(const QVideoSurfaceFormat &format)
{
if (isFormatSupported(format)) {
- imageFormat = QVideoFrame::equivalentImageFormat(format.pixelFormat());
+ imageFormat = QVideoFrame::imageFormatFromPixelFormat(format.pixelFormat());
imageSize = format.frameSize();
framePainted = true;
@@ -129,7 +129,7 @@ void VideoItem::stop()
bool VideoItem::present(const QVideoFrame &frame)
{
if (!framePainted) {
- if (!isStarted())
+ if (!QAbstractVideoSurface::isActive())
setError(StoppedError);
return false;
diff --git a/examples/multimedia/videographicsitem/videoplayer.cpp b/examples/multimedia/videographicsitem/videoplayer.cpp
index 83644db..9ac4152 100644
--- a/examples/multimedia/videographicsitem/videoplayer.cpp
+++ b/examples/multimedia/videographicsitem/videoplayer.cpp
@@ -119,8 +119,7 @@ void VideoPlayer::openFile()
QString fileName = QFileDialog::getOpenFileName(this, tr("Open Movie"));
if (!fileName.isEmpty()) {
- if (videoItem->isStarted())
- videoItem->stop();
+ videoItem->stop();
movie.setFileName(fileName);
diff --git a/examples/multimedia/videowidget/videoplayer.cpp b/examples/multimedia/videowidget/videoplayer.cpp
index ed24714..cd146e8 100644
--- a/examples/multimedia/videowidget/videoplayer.cpp
+++ b/examples/multimedia/videowidget/videoplayer.cpp
@@ -100,8 +100,7 @@ void VideoPlayer::openFile()
QString fileName = QFileDialog::getOpenFileName(this, tr("Open Movie"));
if (!fileName.isEmpty()) {
- if (surface->isStarted())
- surface->stop();
+ surface->stop();
movie.setFileName(fileName);
diff --git a/examples/multimedia/videowidget/videowidget.cpp b/examples/multimedia/videowidget/videowidget.cpp
index 80688e1..f73a52f 100644
--- a/examples/multimedia/videowidget/videowidget.cpp
+++ b/examples/multimedia/videowidget/videowidget.cpp
@@ -84,7 +84,7 @@ void VideoWidget::paintEvent(QPaintEvent *event)
{
QPainter painter(this);
- if (surface->isStarted()) {
+ if (surface->isActive()) {
const QRect videoRect = surface->videoRect();
if (!videoRect.contains(event->rect())) {
diff --git a/examples/multimedia/videowidget/videowidgetsurface.cpp b/examples/multimedia/videowidget/videowidgetsurface.cpp
index ec9b8b5..b69375c 100644
--- a/examples/multimedia/videowidget/videowidgetsurface.cpp
+++ b/examples/multimedia/videowidget/videowidgetsurface.cpp
@@ -73,7 +73,7 @@ bool VideoWidgetSurface::isFormatSupported(
{
Q_UNUSED(similar);
- const QImage::Format imageFormat = QVideoFrame::equivalentImageFormat(format.pixelFormat());
+ const QImage::Format imageFormat = QVideoFrame::imageFormatFromPixelFormat(format.pixelFormat());
const QSize size = format.frameSize();
return imageFormat != QImage::Format_Invalid
@@ -85,7 +85,7 @@ bool VideoWidgetSurface::isFormatSupported(
//! [2]
bool VideoWidgetSurface::start(const QVideoSurfaceFormat &format)
{
- const QImage::Format imageFormat = QVideoFrame::equivalentImageFormat(format.pixelFormat());
+ const QImage::Format imageFormat = QVideoFrame::imageFormatFromPixelFormat(format.pixelFormat());
const QSize size = format.frameSize();
if (imageFormat != QImage::Format_Invalid && !size.isEmpty()) {
diff --git a/examples/network/qftp/sym_iap_util.h b/examples/network/qftp/sym_iap_util.h
index ebeae0a..9b4128c 100644
--- a/examples/network/qftp/sym_iap_util.h
+++ b/examples/network/qftp/sym_iap_util.h
@@ -501,10 +501,14 @@ static void qt_SetDefaultIapL()
static int qt_SetDefaultIap()
{
+#ifndef __WINS__
TRAPD(err1, qt_SetDefaultIapL());
// TRAPD(err2, qt_InterfaceInfoL());
// TRAPD(err3, qt_RouteInfoL());
return err1;
+#else
+ return 0; // IAP dialog not required for emulator
+#endif
}
#endif // QSYM_IAP_UTIL_H
diff --git a/examples/opengl/hellogl_es/hellogl_es.pro b/examples/opengl/hellogl_es/hellogl_es.pro
index 3168743..80ef7df 100644
--- a/examples/opengl/hellogl_es/hellogl_es.pro
+++ b/examples/opengl/hellogl_es/hellogl_es.pro
@@ -20,15 +20,6 @@ HEADERS += bubble.h
RESOURCES += texture.qrc
QT += opengl
-wince*:{
- contains(QT_CONFIG,opengles1) {
- QMAKE_LIBS += "libGLES_CM.lib"
- }
- contains(QT_CONFIG,opengles1cl) {
- QMAKE_LIBS += "libGLES_CL.lib"
- }
-}
-
# install
target.path = $$[QT_INSTALL_EXAMPLES]/opengl/hellogl_es
sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS hellogl_es.pro
diff --git a/examples/opengl/hellogl_es2/glwidget.cpp b/examples/opengl/hellogl_es2/glwidget.cpp
index a31c34a..08e887a 100644
--- a/examples/opengl/hellogl_es2/glwidget.cpp
+++ b/examples/opengl/hellogl_es2/glwidget.cpp
@@ -92,6 +92,8 @@ void GLWidget::showBubbles(bool bubbles)
void GLWidget::paintQtLogo()
{
+ program1.enableAttributeArray(normalAttr1);
+ program1.enableAttributeArray(vertexAttr1);
program1.setAttributeArray(vertexAttr1, vertices.constData());
program1.setAttributeArray(normalAttr1, normals.constData());
glDrawArrays(GL_TRIANGLES, 0, vertices.size());
@@ -159,6 +161,10 @@ void GLWidget::paintTexturedCube()
program2.setUniformValue(textureUniform2, 0); // use texture unit 0
+ program2.enableAttributeArray(vertexAttr2);
+ program2.enableAttributeArray(normalAttr2);
+ program2.enableAttributeArray(texCoordAttr2);
+
glDrawArrays(GL_TRIANGLES, 0, 36);
program2.disableAttributeArray(vertexAttr2);
@@ -173,7 +179,7 @@ void GLWidget::initializeGL ()
glGenTextures(1, &m_uiTexture);
m_uiTexture = bindTexture(QImage(":/qt.png"));
- QGLShader *vshader1 = new QGLShader(QGLShader::VertexShader, this);
+ QGLShader *vshader1 = new QGLShader(QGLShader::Vertex, this);
const char *vsrc1 =
"attribute highp vec4 vertex;\n"
"attribute mediump vec3 normal;\n"
@@ -188,16 +194,16 @@ void GLWidget::initializeGL ()
" color = clamp(color, 0.0, 1.0);\n"
" gl_Position = matrix * vertex;\n"
"}\n";
- vshader1->compile(vsrc1);
+ vshader1->compileSourceCode(vsrc1);
- QGLShader *fshader1 = new QGLShader(QGLShader::FragmentShader, this);
+ QGLShader *fshader1 = new QGLShader(QGLShader::Fragment, this);
const char *fsrc1 =
"varying mediump vec4 color;\n"
"void main(void)\n"
"{\n"
" gl_FragColor = color;\n"
"}\n";
- fshader1->compile(fsrc1);
+ fshader1->compileSourceCode(fsrc1);
program1.addShader(vshader1);
program1.addShader(fshader1);
@@ -207,7 +213,7 @@ void GLWidget::initializeGL ()
normalAttr1 = program1.attributeLocation("normal");
matrixUniform1 = program1.uniformLocation("matrix");
- QGLShader *vshader2 = new QGLShader(QGLShader::VertexShader);
+ QGLShader *vshader2 = new QGLShader(QGLShader::Vertex);
const char *vsrc2 =
"attribute highp vec4 vertex;\n"
"attribute highp vec4 texCoord;\n"
@@ -222,9 +228,9 @@ void GLWidget::initializeGL ()
" gl_Position = matrix * vertex;\n"
" texc = texCoord;\n"
"}\n";
- vshader2->compile(vsrc2);
+ vshader2->compileSourceCode(vsrc2);
- QGLShader *fshader2 = new QGLShader(QGLShader::FragmentShader);
+ QGLShader *fshader2 = new QGLShader(QGLShader::Fragment);
const char *fsrc2 =
"varying highp vec4 texc;\n"
"uniform sampler2D tex;\n"
@@ -235,7 +241,7 @@ void GLWidget::initializeGL ()
" color = color * 0.2 + color * 0.8 * angle;\n"
" gl_FragColor = vec4(clamp(color, 0.0, 1.0), 1.0);\n"
"}\n";
- fshader2->compile(fsrc2);
+ fshader2->compileSourceCode(fsrc2);
program2.addShader(vshader2);
program2.addShader(fshader2);
@@ -284,15 +290,15 @@ void GLWidget::paintGL()
modelview.translate(0.0f, -0.2f, 0.0f);
if (qtLogo) {
- program1.enable();
+ program1.bind();
program1.setUniformValue(matrixUniform1, modelview);
paintQtLogo();
- program1.disable();
+ program1.release();
} else {
- program2.enable();
+ program2.bind();
program1.setUniformValue(matrixUniform2, modelview);
paintTexturedCube();
- program2.disable();
+ program2.release();
}
glDisable(GL_DEPTH_TEST);
diff --git a/examples/opengl/hellogl_es2/hellogl_es2.pro b/examples/opengl/hellogl_es2/hellogl_es2.pro
index d5ad4b8..92b4224 100644
--- a/examples/opengl/hellogl_es2/hellogl_es2.pro
+++ b/examples/opengl/hellogl_es2/hellogl_es2.pro
@@ -25,9 +25,3 @@ target.path = $$[QT_INSTALL_EXAMPLES]/opengl/hellogl_es2
sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS hellogl_es2.pro
sources.path = $$[QT_INSTALL_EXAMPLES]/opengl/hellogl_es2
INSTALLS += target sources
-
-
-wince*: {
- QMAKE_LIBS += "libGLESv2.lib"
-
-} \ No newline at end of file
diff --git a/examples/opengl/textures/glwidget.cpp b/examples/opengl/textures/glwidget.cpp
index 6efd31a..0f50e2d 100644
--- a/examples/opengl/textures/glwidget.cpp
+++ b/examples/opengl/textures/glwidget.cpp
@@ -99,7 +99,7 @@ void GLWidget::initializeGL()
#define PROGRAM_VERTEX_ATTRIBUTE 0
#define PROGRAM_TEXCOORD_ATTRIBUTE 1
- QGLShader *vshader = new QGLShader(QGLShader::VertexShader, this);
+ QGLShader *vshader = new QGLShader(QGLShader::Vertex, this);
const char *vsrc =
"attribute highp vec4 vertex;\n"
"attribute mediump vec4 texCoord;\n"
@@ -110,9 +110,9 @@ void GLWidget::initializeGL()
" gl_Position = matrix * vertex;\n"
" texc = texCoord;\n"
"}\n";
- vshader->compile(vsrc);
+ vshader->compileSourceCode(vsrc);
- QGLShader *fshader = new QGLShader(QGLShader::FragmentShader, this);
+ QGLShader *fshader = new QGLShader(QGLShader::Fragment, this);
const char *fsrc =
"uniform sampler2D texture;\n"
"varying mediump vec4 texc;\n"
@@ -120,7 +120,7 @@ void GLWidget::initializeGL()
"{\n"
" gl_FragColor = texture2D(texture, texc.st);\n"
"}\n";
- fshader->compile(fsrc);
+ fshader->compileSourceCode(fsrc);
program = new QGLShaderProgram(this);
program->addShader(vshader);
@@ -129,7 +129,7 @@ void GLWidget::initializeGL()
program->bindAttributeLocation("texCoord", PROGRAM_TEXCOORD_ATTRIBUTE);
program->link();
- program->enable();
+ program->bind();
program->setUniformValue("texture", 0);
#endif
@@ -163,6 +163,8 @@ void GLWidget::paintGL()
m.rotate(zRot / 16.0f, 0.0f, 0.0f, 1.0f);
program->setUniformValue("matrix", m);
+ program->enableAttributeArray(PROGRAM_VERTEX_ATTRIBUTE);
+ program->enableAttributeArray(PROGRAM_TEXCOORD_ATTRIBUTE);
program->setAttributeArray
(PROGRAM_VERTEX_ATTRIBUTE, vertices.constData());
program->setAttributeArray
diff --git a/examples/painting/svggenerator/svggenerator.pro b/examples/painting/svggenerator/svggenerator.pro
index 1134619..e0e4895 100644
--- a/examples/painting/svggenerator/svggenerator.pro
+++ b/examples/painting/svggenerator/svggenerator.pro
@@ -14,4 +14,7 @@ sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS svggenerator.pro
sources.path = $$[QT_INSTALL_EXAMPLES]/painting/svggenerator
INSTALLS += target sources
-symbian:TARGET.UID3 = 0xA000CF68 \ No newline at end of file
+symbian {
+ TARGET.UID3 = 0xA000CF68
+ include($$QT_SOURCE_TREE/examples/symbianpkgrules.pri)
+}
diff --git a/examples/script/customclass/bytearrayclass.cpp b/examples/script/customclass/bytearrayclass.cpp
index 7291b97..bce69e4 100644
--- a/examples/script/customclass/bytearrayclass.cpp
+++ b/examples/script/customclass/bytearrayclass.cpp
@@ -72,18 +72,6 @@ private:
int m_last;
};
-static qint32 toArrayIndex(const QString &str)
-{
- QByteArray bytes = str.toUtf8();
- char *eptr;
- quint32 pos = strtoul(bytes.constData(), &eptr, 10);
- if ((eptr == bytes.constData() + bytes.size())
- && (QByteArray::number(pos) == bytes)) {
- return pos;
- }
- return -1;
-}
-
//! [0]
ByteArrayClass::ByteArrayClass(QScriptEngine *engine)
: QObject(engine), QScriptClass(engine)
@@ -120,8 +108,9 @@ QScriptClass::QueryFlags ByteArrayClass::queryProperty(const QScriptValue &objec
if (name == length) {
return flags;
} else {
- qint32 pos = toArrayIndex(name);
- if (pos == -1)
+ bool isArrayIndex;
+ qint32 pos = name.toArrayIndex(&isArrayIndex);
+ if (!isArrayIndex)
return 0;
*id = pos;
if ((flags & HandlesReadAccess) && (pos >= ba->size()))
diff --git a/examples/xmlpatterns/filetree/filetree.pro b/examples/xmlpatterns/filetree/filetree.pro
index 0238c23..1683491 100644
--- a/examples/xmlpatterns/filetree/filetree.pro
+++ b/examples/xmlpatterns/filetree/filetree.pro
@@ -12,4 +12,7 @@ sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS *.pro *.xq *.html
sources.path = $$[QT_INSTALL_EXAMPLES]/xmlpatterns/filetree
INSTALLS += target sources
-symbian: include($$QT_SOURCE_TREE/examples/symbianpkgrules.pri)
+symbian {
+ TARGET.UID3 = 0xA000D7C4
+ include($$QT_SOURCE_TREE/examples/symbianpkgrules.pri)
+}
diff --git a/examples/xmlpatterns/qobjectxmlmodel/qobjectxmlmodel.pro b/examples/xmlpatterns/qobjectxmlmodel/qobjectxmlmodel.pro
index 39f0106..5a63b2b 100644
--- a/examples/xmlpatterns/qobjectxmlmodel/qobjectxmlmodel.pro
+++ b/examples/xmlpatterns/qobjectxmlmodel/qobjectxmlmodel.pro
@@ -11,3 +11,8 @@ target.path = $$[QT_INSTALL_EXAMPLES]/xmlpatterns/qobjectxmlmodel
sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS *.pro *.xq *.html
sources.path = $$[QT_INSTALL_EXAMPLES]/xmlpatterns/qobjectxmlmodel
INSTALLS += target sources
+
+symbian {
+ TARGET.UID3 = 0xA000D7C8
+ include($$QT_SOURCE_TREE/examples/symbianpkgrules.pri)
+}
diff --git a/examples/xmlpatterns/recipes/recipes.pro b/examples/xmlpatterns/recipes/recipes.pro
index f02a018..67d6d73 100644
--- a/examples/xmlpatterns/recipes/recipes.pro
+++ b/examples/xmlpatterns/recipes/recipes.pro
@@ -10,4 +10,7 @@ sources.files = $$SOURCES $$HEADERS $$RESOURCES *.pro *.xq *.html forms files
sources.path = $$[QT_INSTALL_EXAMPLES]/xmlpatterns/recipes
INSTALLS += target sources
-symbian: include($$QT_SOURCE_TREE/examples/symbianpkgrules.pri)
+symbian {
+ TARGET.UID3 = 0xA000D7C5
+ include($$QT_SOURCE_TREE/examples/symbianpkgrules.pri)
+}
diff --git a/examples/xmlpatterns/schema/schema.pro b/examples/xmlpatterns/schema/schema.pro
index af32e0a..4d3520c 100644
--- a/examples/xmlpatterns/schema/schema.pro
+++ b/examples/xmlpatterns/schema/schema.pro
@@ -9,3 +9,8 @@ target.path = $$[QT_INSTALL_EXAMPLES]/xmlpatterns/schema
sources.files = $$SOURCES $$HEADERS $$RESOURCES *.pro *.xq *.html files
sources.path = $$[QT_INSTALL_EXAMPLES]/xmlpatterns/schema
INSTALLS += target sources
+
+symbian {
+ TARGET.UID3 = 0xA000D7C6
+ include($$QT_SOURCE_TREE/examples/symbianpkgrules.pri)
+}
diff --git a/examples/xmlpatterns/trafficinfo/trafficinfo.pro b/examples/xmlpatterns/trafficinfo/trafficinfo.pro
index 52bcc19..99825d0 100644
--- a/examples/xmlpatterns/trafficinfo/trafficinfo.pro
+++ b/examples/xmlpatterns/trafficinfo/trafficinfo.pro
@@ -7,3 +7,8 @@ target.path = $$[QT_INSTALL_EXAMPLES]/xmlpatterns/trafficinfo
sources.files = $$SOURCES $$HEADERS $$RESOURCES *.pro
sources.path = $$[QT_INSTALL_EXAMPLES]/xmlpatterns/trafficinfo
INSTALLS += target sources
+
+symbian {
+ TARGET.UID3 = 0xA000D7C7
+ include($$QT_SOURCE_TREE/examples/symbianpkgrules.pri)
+}
diff --git a/mkspecs/aix-g++-64/qplatformdefs.h b/mkspecs/aix-g++-64/qplatformdefs.h
index 5a1cda8..25c86a2 100644
--- a/mkspecs/aix-g++-64/qplatformdefs.h
+++ b/mkspecs/aix-g++-64/qplatformdefs.h
@@ -109,6 +109,7 @@
#define QT_FTELL ::ftello64
#define QT_FGETPOS ::fgetpos64
#define QT_FSETPOS ::fsetpos64
+#define QT_MMAP ::mmap64
#define QT_FPOS_T fpos64_t
#define QT_OFF_T off64_t
#else
@@ -117,6 +118,7 @@
#define QT_FTELL ::ftell
#define QT_FGETPOS ::fgetpos
#define QT_FSETPOS ::fsetpos
+#define QT_MMAP ::mmap
#define QT_FPOS_T fpos_t
#define QT_OFF_T long
#endif
diff --git a/mkspecs/aix-g++/qplatformdefs.h b/mkspecs/aix-g++/qplatformdefs.h
index 5a1cda8..25c86a2 100644
--- a/mkspecs/aix-g++/qplatformdefs.h
+++ b/mkspecs/aix-g++/qplatformdefs.h
@@ -109,6 +109,7 @@
#define QT_FTELL ::ftello64
#define QT_FGETPOS ::fgetpos64
#define QT_FSETPOS ::fsetpos64
+#define QT_MMAP ::mmap64
#define QT_FPOS_T fpos64_t
#define QT_OFF_T off64_t
#else
@@ -117,6 +118,7 @@
#define QT_FTELL ::ftell
#define QT_FGETPOS ::fgetpos
#define QT_FSETPOS ::fsetpos
+#define QT_MMAP ::mmap
#define QT_FPOS_T fpos_t
#define QT_OFF_T long
#endif
diff --git a/mkspecs/aix-xlc-64/qplatformdefs.h b/mkspecs/aix-xlc-64/qplatformdefs.h
index 0a0d11f..a25ea42 100644
--- a/mkspecs/aix-xlc-64/qplatformdefs.h
+++ b/mkspecs/aix-xlc-64/qplatformdefs.h
@@ -105,6 +105,7 @@
#define QT_FTELL ::ftello64
#define QT_FGETPOS ::fgetpos64
#define QT_FSETPOS ::fsetpos64
+#define QT_MMAP ::mmap64
#define QT_FPOS_T fpos64_t
#define QT_OFF_T off64_t
#else
@@ -113,6 +114,7 @@
#define QT_FTELL ::ftell
#define QT_FGETPOS ::fgetpos
#define QT_FSETPOS ::fsetpos
+#define QT_MMAP ::mmap
#define QT_FPOS_T fpos_t
#define QT_OFF_T long
#endif
diff --git a/mkspecs/aix-xlc/qplatformdefs.h b/mkspecs/aix-xlc/qplatformdefs.h
index b162513..3856600 100644
--- a/mkspecs/aix-xlc/qplatformdefs.h
+++ b/mkspecs/aix-xlc/qplatformdefs.h
@@ -105,6 +105,7 @@
#define QT_FTELL ::ftello64
#define QT_FGETPOS ::fgetpos64
#define QT_FSETPOS ::fsetpos64
+#define QT_MMAP ::mmap64
#define QT_FPOS_T fpos64_t
#define QT_OFF_T off64_t
#else
@@ -113,6 +114,7 @@
#define QT_FTELL ::ftell
#define QT_FGETPOS ::fgetpos
#define QT_FSETPOS ::fsetpos
+#define QT_MMAP ::mmap
#define QT_FPOS_T fpos_t
#define QT_OFF_T long
#endif
diff --git a/mkspecs/common/linux.conf b/mkspecs/common/linux.conf
index cc5c38b..1ae5608 100644
--- a/mkspecs/common/linux.conf
+++ b/mkspecs/common/linux.conf
@@ -13,6 +13,12 @@ QMAKE_INCDIR_QT = $$[QT_INSTALL_HEADERS]
QMAKE_LIBDIR_QT = $$[QT_INSTALL_LIBS]
QMAKE_INCDIR_OPENGL = /usr/X11R6/include
QMAKE_LIBDIR_OPENGL = /usr/X11R6/lib
+QMAKE_INCDIR_OPENGL_ES1 = $$QMAKE_INCDIR_OPENGL
+QMAKE_LIBDIR_OPENGL_ES1 = $$QMAKE_LIBDIR_OPENGL
+QMAKE_INCDIR_OPENGL_ES1CL = $$QMAKE_INCDIR_OPENGL
+QMAKE_LIBDIR_OPENGL_ES1CL = $$QMAKE_LIBDIR_OPENGL
+QMAKE_INCDIR_OPENGL_ES2 = $$QMAKE_INCDIR_OPENGL
+QMAKE_LIBDIR_OPENGL_ES2 = $$QMAKE_LIBDIR_OPENGL
QMAKE_INCDIR_EGL =
QMAKE_LIBDIR_EGL =
QMAKE_INCDIR_OPENVG =
@@ -26,6 +32,9 @@ QMAKE_LIBS_NIS = -lnsl
QMAKE_LIBS_EGL = -lEGL
QMAKE_LIBS_OPENGL = -lGLU -lGL
QMAKE_LIBS_OPENGL_QT = -lGL
+QMAKE_LIBS_OPENGL_ES1 = -lGLES_CM
+QMAKE_LIBS_OPENGL_ES1CL = -lGLES_CL
+QMAKE_LIBS_OPENGL_ES2 = -lGLESv2
QMAKE_LIBS_OPENVG = -lOpenVG
QMAKE_LIBS_THREAD = -lpthread
diff --git a/mkspecs/common/symbian/qplatformdefs.h b/mkspecs/common/symbian/qplatformdefs.h
index 2d0e6e8..c0756b2 100644
--- a/mkspecs/common/symbian/qplatformdefs.h
+++ b/mkspecs/common/symbian/qplatformdefs.h
@@ -112,6 +112,7 @@
#define QT_FTELL ::ftello64
#define QT_FGETPOS ::fgetpos64
#define QT_FSETPOS ::fsetpos64
+#define QT_MMAP ::mmap64
#define QT_FPOS_T fpos64_t
#define QT_OFF_T off64_t
#else
@@ -120,6 +121,7 @@
#define QT_FTELL ::ftell
#define QT_FGETPOS ::fgetpos
#define QT_FSETPOS ::fsetpos
+#define QT_MMAP ::mmap
#define QT_FPOS_T fpos_t
#define QT_OFF_T long
#endif
@@ -139,6 +141,7 @@
#define QT_CHDIR ::chdir
#define QT_MKDIR ::mkdir
#define QT_RMDIR ::rmdir
+#define QT_OPEN_LARGEFILE 0
#define QT_OPEN_RDONLY O_RDONLY
#define QT_OPEN_WRONLY O_WRONLY
#define QT_OPEN_RDWR O_RDWR
diff --git a/mkspecs/common/symbian/symbian.conf b/mkspecs/common/symbian/symbian.conf
index 1acfefe..79bac42 100644
--- a/mkspecs/common/symbian/symbian.conf
+++ b/mkspecs/common/symbian/symbian.conf
@@ -50,17 +50,18 @@ QMAKE_RUN_CC_IMP = $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $<
QMAKE_RUN_CXX = $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $obj $src
QMAKE_RUN_CXX_IMP = $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $<
-QMAKE_LINK = g++
-QMAKE_LFLAGS = -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc
-QMAKE_LFLAGS_EXCEPTIONS_ON = -mthreads -Wl
+QMAKE_LINK =
+QMAKE_LFLAGS =
+QMAKE_LFLAGS.ARMCC =
+QMAKE_LFLAGS_EXCEPTIONS_ON =
QMAKE_LFLAGS_EXCEPTIONS_OFF =
-QMAKE_LFLAGS_RELEASE = -Wl,-s
-QMAKE_LFLAGS_DEBUG =
-QMAKE_LFLAGS_CONSOLE = -Wl,-subsystem,console
-QMAKE_LFLAGS_WINDOWS = -Wl,-subsystem,windows
-QMAKE_LFLAGS_DLL = -shared
-QMAKE_LINK_OBJECT_MAX = 10
-QMAKE_LINK_OBJECT_SCRIPT= object_script
+QMAKE_LFLAGS_RELEASE =
+QMAKE_LFLAGS_DEBUG =
+QMAKE_LFLAGS_CONSOLE =
+QMAKE_LFLAGS_WINDOWS =
+QMAKE_LFLAGS_DLL =
+QMAKE_LINK_OBJECT_MAX =
+QMAKE_LINK_OBJECT_SCRIPT=
QMAKE_LIBS = -llibc -llibm -leuser -llibdl
QMAKE_LIBS_CORE = $$QMAKE_LIBS -llibpthread -lefsrv
diff --git a/mkspecs/common/wince/qmake.conf b/mkspecs/common/wince/qmake.conf
index d6e4ba7..ff99f1b 100644
--- a/mkspecs/common/wince/qmake.conf
+++ b/mkspecs/common/wince/qmake.conf
@@ -64,6 +64,11 @@ QMAKE_LIBS_NETWORK = ws2.lib
QMAKE_LIBS_OPENGL =
QMAKE_LIBS_COMPAT =
+QMAKE_LIBS_EGL = libEGL.lib
+QMAKE_LIBS_OPENGL_ES1 = libGLES_CM.lib
+QMAKE_LIBS_OPENGL_ES1CL = libGLES_CL.lib
+QMAKE_LIBS_OPENGL_ES2 = libGLESv2.lib
+
QMAKE_LIBS_QT_ENTRY = -lqtmain
QMAKE_MOC = $$[QT_INSTALL_BINS]\moc.exe
diff --git a/mkspecs/common/wince/qplatformdefs.h b/mkspecs/common/wince/qplatformdefs.h
index f00ed71..52a34e9 100644
--- a/mkspecs/common/wince/qplatformdefs.h
+++ b/mkspecs/common/wince/qplatformdefs.h
@@ -97,6 +97,7 @@
#define QT_CHDIR ::_chdir
#define QT_MKDIR ::qt_wince__mkdir
#define QT_RMDIR ::qt_wince__rmdir
+#define QT_OPEN_LARGEFILE 0
#define QT_OPEN_RDONLY _O_RDONLY
#define QT_OPEN_WRONLY _O_WRONLY
#define QT_OPEN_RDWR _O_RDWR
@@ -111,6 +112,7 @@
#define QT_FTELL ::ftell
#define QT_FGETPOS ::fgetpos
#define QT_FSETPOS ::fsetpos
+#define QT_MMAP ::mmap
#define QT_FPOS_T fpos_t
#define QT_OFF_T long
diff --git a/mkspecs/cygwin-g++/qplatformdefs.h b/mkspecs/cygwin-g++/qplatformdefs.h
index 78f7398..6cf02f2 100644
--- a/mkspecs/cygwin-g++/qplatformdefs.h
+++ b/mkspecs/cygwin-g++/qplatformdefs.h
@@ -119,6 +119,7 @@
#define QT_FTELL ::ftell
#define QT_FGETPOS ::fgetpos
#define QT_FSETPOS ::fsetpos
+#define QT_MMAP ::mmap
#define QT_FPOS_T fpos_t
#define QT_OFF_T long
diff --git a/mkspecs/darwin-g++/qplatformdefs.h b/mkspecs/darwin-g++/qplatformdefs.h
index 31e32f1..8ae5606 100644
--- a/mkspecs/darwin-g++/qplatformdefs.h
+++ b/mkspecs/darwin-g++/qplatformdefs.h
@@ -79,6 +79,7 @@
#define QT_FTELL ::ftello
#define QT_FGETPOS ::fgetpos
#define QT_FSETPOS ::fsetpos
+#define QT_MMAP ::mmap
#define QT_FPOS_T fpos_t
#define QT_OFF_T off_t
diff --git a/mkspecs/features/egl.prf b/mkspecs/features/egl.prf
index 22002c3..00f70d3 100644
--- a/mkspecs/features/egl.prf
+++ b/mkspecs/features/egl.prf
@@ -1,3 +1,29 @@
-!isEmpty(QMAKE_INCDIR_EGL): INCLUDEPATH += $$QMAKE_INCDIR_EGL
-!isEmpty(QMAKE_LIBDIR_EGL): LIBS += -L$$QMAKE_LIBDIR_EGL
-!isEmpty(QMAKE_LIBS_EGL): LIBS += $$QMAKE_LIBS_EGL
+# On UNIX, we can use config tests to figure out if egl.h is in
+# EGL/egl.h or GLES/egl.h. Sadly, there are no config tests on WinCE
+# so we have to assume that for GLES 1.1 (CL), the EGL header is in
+# GLES/egl.h. We also assume there is no separate libEGL.lib library,
+# so we use the GL library instead.
+
+wince*:contains(QT_CONFIG, opengles1) {
+ INCLUDEPATH += $$QMAKE_INCDIR_OPENGL_ES1
+ LIBS_PRIVATE += $$QMAKE_LIBS_OPENGL_ES1
+ for(p, QMAKE_LIBDIR_OPENGL_ES1) {
+ exists($$p):LIBS_PRIVATE += -L$$p
+ }
+ DEFINES += QT_GLES_EGL
+} else:wince*:contains(QT_CONFIG, opengles1cl) {
+ INCLUDEPATH += $$QMAKE_INCDIR_OPENGL_ES1CL
+ LIBS_PRIVATE += $$QMAKE_LIBS_OPENGL_ES1CL
+ LIBS += $$QMAKE_LFLAGS_EGL
+ for(p, QMAKE_LIBDIR_OPENGL_ES1CL) {
+ exists($$p):LIBS_PRIVATE += -L$$p
+ }
+ DEFINES += QT_GLES_EGL
+} else {
+ INCLUDEPATH += $$QMAKE_INCDIR_EGL
+ LIBS_PRIVATE += $$QMAKE_LIBS_EGL
+ LIBS += $$QMAKE_LFLAGS_EGL
+ for(p, QMAKE_LIBDIR_EGL) {
+ exists($$p):LIBS_PRIVATE += -L$$p
+ }
+}
diff --git a/mkspecs/features/qt.prf b/mkspecs/features/qt.prf
index 7f7d882..af93f11 100644
--- a/mkspecs/features/qt.prf
+++ b/mkspecs/features/qt.prf
@@ -36,7 +36,7 @@ INCLUDEPATH = $$QMAKE_INCDIR_QT $$INCLUDEPATH #prepending prevents us from picki
win32:INCLUDEPATH += $$QMAKE_INCDIR_QT/ActiveQt
# As order does matter for static libs, we reorder the QT variable here
-TMPLIBS = webkit phonon multimedia dbus testlib script scripttools svg qt3support sql xmlpatterns xml egl opengl openvg gui network core
+TMPLIBS = declarative webkit phonon multimedia dbus testlib script scripttools svg qt3support sql xmlpatterns xml egl opengl openvg gui network core
for(QTLIB, $$list($$TMPLIBS)) {
contains(QT, $$QTLIB): QT_ORDERED += $$QTLIB
}
@@ -169,6 +169,7 @@ for(QTLIB, $$list($$lower($$unique(QT)))) {
symbian:isEmpty(TARGET.EPOCHEAPSIZE):TARGET.EPOCHEAPSIZE = 0x040000 0x1600000
} else:isEqual(QTLIB, webkit):qlib = QtWebKit
+ else:isEqual(QTLIB, declarative):qlib = QtDeclarative
else:isEqual(QTLIB, multimedia):qlib = QtMultimedia
else:message("Unknown QT: $$QTLIB"):qlib =
!isEmpty(qlib) {
diff --git a/mkspecs/features/qt_functions.prf b/mkspecs/features/qt_functions.prf
index 3f84f42..1be6d9b 100644
--- a/mkspecs/features/qt_functions.prf
+++ b/mkspecs/features/qt_functions.prf
@@ -54,6 +54,10 @@ defineTest(qtAddLibrary) {
# Needed for #include <QtXmlPatterns/QtXmlPatterns> because relative inclusion problem in toolchain
INCLUDEPATH *= $$QMAKE_INCDIR_QT/QtXmlPatterns
}
+ isEqual(LIB_NAME, QtXmlPatterns) {
+ # Needed for #include <QtXmlPatterns/QtXmlPatterns> because relative inclusion problem in toolchain
+ INCLUDEPATH *= $$QMAKE_INCDIR_QT/QtNetwork
+ }
}
isEmpty(LINKAGE) {
if(!debug_and_release|build_pass):CONFIG(debug, debug|release) {
diff --git a/mkspecs/features/unix/opengl.prf b/mkspecs/features/unix/opengl.prf
index 2fdf324..f2db819 100644
--- a/mkspecs/features/unix/opengl.prf
+++ b/mkspecs/features/unix/opengl.prf
@@ -1,4 +1,22 @@
-INCLUDEPATH += $$QMAKE_INCDIR_OPENGL
-!isEmpty(QMAKE_LIBDIR_OPENGL):QMAKE_LIBDIR += $$QMAKE_LIBDIR_OPENGL
-target_qt:LIBS_PRIVATE += $$QMAKE_LIBS_OPENGL_QT
-else:LIBS += $$QMAKE_LIBS_OPENGL
+contains(QT_CONFIG, opengles1) {
+ INCLUDEPATH += $$QMAKE_INCDIR_OPENGL_ES1
+ !isEmpty(QMAKE_LIBDIR_OPENGL_ES1):QMAKE_LIBDIR += $$QMAKE_LIBDIR_OPENGL_ES1
+ target_qt:LIBS_PRIVATE += $$QMAKE_LIBS_OPENGL_ES1
+ else:LIBS += $$QMAKE_LIBS_OPENGL_ES1
+} else:contains(QT_CONFIG, opengles1cl) {
+ INCLUDEPATH += $$QMAKE_INCDIR_OPENGL_ES1CL
+ !isEmpty(QMAKE_LIBDIR_OPENGL_ES1CL):QMAKE_LIBDIR += $$QMAKE_LIBDIR_OPENGL_ES1CL
+ target_qt:LIBS_PRIVATE += $$QMAKE_LIBS_OPENGL_ES1CL
+ else:LIBS += $$QMAKE_LIBS_OPENGL_ES1CL
+} else:contains(QT_CONFIG, opengles2) {
+ INCLUDEPATH += $$QMAKE_INCDIR_OPENGL_ES2
+ !isEmpty(QMAKE_LIBDIR_OPENGL_ES2):QMAKE_LIBDIR += $$QMAKE_LIBDIR_OPENGL_ES2
+ target_qt:LIBS_PRIVATE += $$QMAKE_LIBS_OPENGL_ES2
+ else:LIBS += $$QMAKE_LIBS_OPENGL_ES2
+} else {
+ INCLUDEPATH += $$QMAKE_INCDIR_OPENGL
+ !isEmpty(QMAKE_LIBDIR_OPENGL):QMAKE_LIBDIR += $$QMAKE_LIBDIR_OPENGL
+ target_qt:LIBS_PRIVATE += $$QMAKE_LIBS_OPENGL_QT
+ else:LIBS += $$QMAKE_LIBS_OPENGL
+}
+
diff --git a/mkspecs/features/win32/opengl.prf b/mkspecs/features/win32/opengl.prf
index 30af2a3..3414781 100644
--- a/mkspecs/features/win32/opengl.prf
+++ b/mkspecs/features/win32/opengl.prf
@@ -1,3 +1,11 @@
-QMAKE_LIBS += $$QMAKE_LIBS_OPENGL
-QMAKE_LFLAGS += $$QMAKE_LFLAGS_OPENGL
+# WinCE does not have a platform directory for .prf files, and the
+# win32 directory is searched for .prfs by qmake on WinCE. Ideally
+# there should be a features/wince/opengl.prf which contains the wince
+# block below.
+wince* {
+ include(../unix/opengl.prf)
+} else {
+ QMAKE_LIBS += $$QMAKE_LIBS_OPENGL
+ QMAKE_LFLAGS += $$QMAKE_LFLAGS_OPENGL
+}
diff --git a/mkspecs/freebsd-g++/qplatformdefs.h b/mkspecs/freebsd-g++/qplatformdefs.h
index 470923a..8b07cdc 100644
--- a/mkspecs/freebsd-g++/qplatformdefs.h
+++ b/mkspecs/freebsd-g++/qplatformdefs.h
@@ -81,6 +81,7 @@
#define QT_FTELL ::ftello
#define QT_FGETPOS ::fgetpos
#define QT_FSETPOS ::fsetpos
+#define QT_MMAP ::mmap
#define QT_FPOS_T fpos_t
#define QT_OFF_T off_t
diff --git a/mkspecs/hpux-acc-64/qplatformdefs.h b/mkspecs/hpux-acc-64/qplatformdefs.h
index a8025d0..7ef3d51 100644
--- a/mkspecs/hpux-acc-64/qplatformdefs.h
+++ b/mkspecs/hpux-acc-64/qplatformdefs.h
@@ -104,6 +104,7 @@
#define QT_FTELL ::ftello64
#define QT_FGETPOS ::fgetpos64
#define QT_FSETPOS ::fsetpos64
+#define QT_MMAP ::mmap64
#define QT_FPOS_T fpos64_t
#define QT_OFF_T off64_t
#else
@@ -112,6 +113,7 @@
#define QT_FTELL ::ftell
#define QT_FGETPOS ::fgetpos
#define QT_FSETPOS ::fsetpos
+#define QT_MMAP ::mmap
#define QT_FPOS_T fpos_t
#define QT_OFF_T long
#endif
diff --git a/mkspecs/hpux-acc-o64/qplatformdefs.h b/mkspecs/hpux-acc-o64/qplatformdefs.h
index 4927cf9..e082d9d 100644
--- a/mkspecs/hpux-acc-o64/qplatformdefs.h
+++ b/mkspecs/hpux-acc-o64/qplatformdefs.h
@@ -105,6 +105,7 @@
#define QT_FTELL ::ftello64
#define QT_FGETPOS ::fgetpos64
#define QT_FSETPOS ::fsetpos64
+#define QT_MMAP ::mmap64
#define QT_FPOS_T fpos64_t
#define QT_OFF_T off64_t
#else
@@ -113,6 +114,7 @@
#define QT_FTELL ::ftell
#define QT_FGETPOS ::fgetpos
#define QT_FSETPOS ::fsetpos
+#define QT_MMAP ::mmap
#define QT_FPOS_T fpos_t
#define QT_OFF_T long
#endif
diff --git a/mkspecs/hpux-acc/qplatformdefs.h b/mkspecs/hpux-acc/qplatformdefs.h
index ec416cd..7b540a1 100644
--- a/mkspecs/hpux-acc/qplatformdefs.h
+++ b/mkspecs/hpux-acc/qplatformdefs.h
@@ -107,6 +107,7 @@
#define QT_FTELL ::ftello64
#define QT_FGETPOS ::fgetpos64
#define QT_FSETPOS ::fsetpos64
+#define QT_MMAP ::mmap64
#define QT_FPOS_T fpos64_t
#define QT_OFF_T off64_t
#else
@@ -115,6 +116,7 @@
#define QT_FTELL ::ftell
#define QT_FGETPOS ::fgetpos
#define QT_FSETPOS ::fsetpos
+#define QT_MMAP ::mmap
#define QT_FPOS_T fpos_t
#define QT_OFF_T long
#endif
diff --git a/mkspecs/hpux-g++-64/qplatformdefs.h b/mkspecs/hpux-g++-64/qplatformdefs.h
index 31aa7ff..a8d06d8 100644
--- a/mkspecs/hpux-g++-64/qplatformdefs.h
+++ b/mkspecs/hpux-g++-64/qplatformdefs.h
@@ -104,6 +104,7 @@
#define QT_FTELL ::ftello64
#define QT_FGETPOS ::fgetpos64
#define QT_FSETPOS ::fsetpos64
+#define QT_MMAP ::mmap64
#define QT_FPOS_T fpos64_t
#define QT_OFF_T off64_t
#else
@@ -112,6 +113,7 @@
#define QT_FTELL ::ftell
#define QT_FGETPOS ::fgetpos
#define QT_FSETPOS ::fsetpos
+#define QT_MMAP ::mmap
#define QT_FPOS_T fpos_t
#define QT_OFF_T long
#endif
diff --git a/mkspecs/hpux-g++/qplatformdefs.h b/mkspecs/hpux-g++/qplatformdefs.h
index 2c46b7d..d89a026 100644
--- a/mkspecs/hpux-g++/qplatformdefs.h
+++ b/mkspecs/hpux-g++/qplatformdefs.h
@@ -106,6 +106,7 @@
#define QT_FTELL ::ftello64
#define QT_FGETPOS ::fgetpos64
#define QT_FSETPOS ::fsetpos64
+#define QT_MMAP ::mmap64
#define QT_FPOS_T fpos64_t
#define QT_OFF_T off64_t
#else
@@ -114,6 +115,7 @@
#define QT_FTELL ::ftell
#define QT_FGETPOS ::fgetpos
#define QT_FSETPOS ::fsetpos
+#define QT_MMAP ::mmap
#define QT_FPOS_T fpos_t
#define QT_OFF_T long
#endif
diff --git a/mkspecs/hpuxi-acc-32/qplatformdefs.h b/mkspecs/hpuxi-acc-32/qplatformdefs.h
index f02de1f..466f27e 100644
--- a/mkspecs/hpuxi-acc-32/qplatformdefs.h
+++ b/mkspecs/hpuxi-acc-32/qplatformdefs.h
@@ -105,6 +105,7 @@
#define QT_FTELL ::ftello64
#define QT_FGETPOS ::fgetpos64
#define QT_FSETPOS ::fsetpos64
+#define QT_MMAP ::mmap64
#define QT_FPOS_T fpos64_t
#define QT_OFF_T off64_t
#else
@@ -113,6 +114,7 @@
#define QT_FTELL ::ftell
#define QT_FGETPOS ::fgetpos
#define QT_FSETPOS ::fsetpos
+#define QT_MMAP ::mmap
#define QT_FPOS_T fpos_t
#define QT_OFF_T long
#endif
diff --git a/mkspecs/hpuxi-acc-64/qplatformdefs.h b/mkspecs/hpuxi-acc-64/qplatformdefs.h
index f02de1f..466f27e 100644
--- a/mkspecs/hpuxi-acc-64/qplatformdefs.h
+++ b/mkspecs/hpuxi-acc-64/qplatformdefs.h
@@ -105,6 +105,7 @@
#define QT_FTELL ::ftello64
#define QT_FGETPOS ::fgetpos64
#define QT_FSETPOS ::fsetpos64
+#define QT_MMAP ::mmap64
#define QT_FPOS_T fpos64_t
#define QT_OFF_T off64_t
#else
@@ -113,6 +114,7 @@
#define QT_FTELL ::ftell
#define QT_FGETPOS ::fgetpos
#define QT_FSETPOS ::fsetpos
+#define QT_MMAP ::mmap
#define QT_FPOS_T fpos_t
#define QT_OFF_T long
#endif
diff --git a/mkspecs/hpuxi-g++-64/qplatformdefs.h b/mkspecs/hpuxi-g++-64/qplatformdefs.h
index 546a7b5..d351af3 100644
--- a/mkspecs/hpuxi-g++-64/qplatformdefs.h
+++ b/mkspecs/hpuxi-g++-64/qplatformdefs.h
@@ -104,6 +104,7 @@
#define QT_FTELL ::ftello64
#define QT_FGETPOS ::fgetpos64
#define QT_FSETPOS ::fsetpos64
+#define QT_MMAP ::mmap64
#define QT_FPOS_T fpos64_t
#define QT_OFF_T off64_t
#else
@@ -112,6 +113,7 @@
#define QT_FTELL ::ftell
#define QT_FGETPOS ::fgetpos
#define QT_FSETPOS ::fsetpos
+#define QT_MMAP ::mmap
#define QT_FPOS_T fpos_t
#define QT_OFF_T long
#endif
diff --git a/mkspecs/hurd-g++/qplatformdefs.h b/mkspecs/hurd-g++/qplatformdefs.h
index d5aaf66..611252c 100644
--- a/mkspecs/hurd-g++/qplatformdefs.h
+++ b/mkspecs/hurd-g++/qplatformdefs.h
@@ -87,6 +87,7 @@
#define QT_FTELL ::ftello
#define QT_FGETPOS ::fgetpos
#define QT_FSETPOS ::fsetpos
+#define QT_MMAP ::mmap
#define QT_FPOS_T fpos_t
#define QT_OFF_T off_t
diff --git a/mkspecs/irix-cc-64/qplatformdefs.h b/mkspecs/irix-cc-64/qplatformdefs.h
index 6d436a1..bfb19ca 100644
--- a/mkspecs/irix-cc-64/qplatformdefs.h
+++ b/mkspecs/irix-cc-64/qplatformdefs.h
@@ -103,6 +103,7 @@
#define QT_FTELL ::ftello64
#define QT_FGETPOS ::fgetpos64
#define QT_FSETPOS ::fsetpos64
+#define QT_MMAP ::mmap64
#define QT_FPOS_T fpos64_t
#define QT_OFF_T off64_t
#else
@@ -111,6 +112,7 @@
#define QT_FTELL ::ftell
#define QT_FGETPOS ::fgetpos
#define QT_FSETPOS ::fsetpos
+#define QT_MMAP ::mmap
#define QT_FPOS_T fpos_t
#define QT_OFF_T long
#endif
diff --git a/mkspecs/irix-cc/qplatformdefs.h b/mkspecs/irix-cc/qplatformdefs.h
index 6d436a1..bfb19ca 100644
--- a/mkspecs/irix-cc/qplatformdefs.h
+++ b/mkspecs/irix-cc/qplatformdefs.h
@@ -103,6 +103,7 @@
#define QT_FTELL ::ftello64
#define QT_FGETPOS ::fgetpos64
#define QT_FSETPOS ::fsetpos64
+#define QT_MMAP ::mmap64
#define QT_FPOS_T fpos64_t
#define QT_OFF_T off64_t
#else
@@ -111,6 +112,7 @@
#define QT_FTELL ::ftell
#define QT_FGETPOS ::fgetpos
#define QT_FSETPOS ::fsetpos
+#define QT_MMAP ::mmap
#define QT_FPOS_T fpos_t
#define QT_OFF_T long
#endif
diff --git a/mkspecs/irix-g++/qplatformdefs.h b/mkspecs/irix-g++/qplatformdefs.h
index 8191c15..4e2fda2 100644
--- a/mkspecs/irix-g++/qplatformdefs.h
+++ b/mkspecs/irix-g++/qplatformdefs.h
@@ -103,6 +103,7 @@
#define QT_FTELL ::ftello64
#define QT_FGETPOS ::fgetpos64
#define QT_FSETPOS ::fsetpos64
+#define QT_MMAP ::mmap64
#define QT_FPOS_T fpos64_t
#define QT_OFF_T off64_t
#else
@@ -111,6 +112,7 @@
#define QT_FTELL ::ftell
#define QT_FGETPOS ::fgetpos
#define QT_FSETPOS ::fsetpos
+#define QT_MMAP ::mmap
#define QT_FPOS_T fpos_t
#define QT_OFF_T long
#endif
diff --git a/mkspecs/linux-cxx/qplatformdefs.h b/mkspecs/linux-cxx/qplatformdefs.h
index 5bf9686..0c3a07e 100644
--- a/mkspecs/linux-cxx/qplatformdefs.h
+++ b/mkspecs/linux-cxx/qplatformdefs.h
@@ -110,6 +110,7 @@
#define QT_FTELL ::ftello64
#define QT_FGETPOS ::fgetpos64
#define QT_FSETPOS ::fsetpos64
+#define QT_MMAP ::mmap64
#define QT_FPOS_T fpos64_t
#define QT_OFF_T off64_t
#else
@@ -118,6 +119,7 @@
#define QT_FTELL ::ftell
#define QT_FGETPOS ::fgetpos
#define QT_FSETPOS ::fsetpos
+#define QT_MMAP ::mmap
#define QT_FPOS_T fpos_t
#define QT_OFF_T long
#endif
diff --git a/mkspecs/linux-ecc-64/qplatformdefs.h b/mkspecs/linux-ecc-64/qplatformdefs.h
index 5bf9686..0c3a07e 100644
--- a/mkspecs/linux-ecc-64/qplatformdefs.h
+++ b/mkspecs/linux-ecc-64/qplatformdefs.h
@@ -110,6 +110,7 @@
#define QT_FTELL ::ftello64
#define QT_FGETPOS ::fgetpos64
#define QT_FSETPOS ::fsetpos64
+#define QT_MMAP ::mmap64
#define QT_FPOS_T fpos64_t
#define QT_OFF_T off64_t
#else
@@ -118,6 +119,7 @@
#define QT_FTELL ::ftell
#define QT_FGETPOS ::fgetpos
#define QT_FSETPOS ::fsetpos
+#define QT_MMAP ::mmap
#define QT_FPOS_T fpos_t
#define QT_OFF_T long
#endif
diff --git a/mkspecs/linux-g++-gles2-experimental/qplatformdefs.h b/mkspecs/linux-g++-gles2-experimental/qplatformdefs.h
index 1430916..ecfbc73 100644
--- a/mkspecs/linux-g++-gles2-experimental/qplatformdefs.h
+++ b/mkspecs/linux-g++-gles2-experimental/qplatformdefs.h
@@ -110,6 +110,7 @@
#define QT_FTELL ::ftello64
#define QT_FGETPOS ::fgetpos64
#define QT_FSETPOS ::fsetpos64
+#define QT_MMAP ::mmap64
#define QT_FPOS_T fpos64_t
#define QT_OFF_T off64_t
#else
@@ -118,6 +119,7 @@
#define QT_FTELL ::ftell
#define QT_FGETPOS ::fgetpos
#define QT_FSETPOS ::fsetpos
+#define QT_MMAP ::mmap
#define QT_FPOS_T fpos_t
#define QT_OFF_T long
#endif
diff --git a/mkspecs/linux-g++/qplatformdefs.h b/mkspecs/linux-g++/qplatformdefs.h
index 1430916..ecfbc73 100644
--- a/mkspecs/linux-g++/qplatformdefs.h
+++ b/mkspecs/linux-g++/qplatformdefs.h
@@ -110,6 +110,7 @@
#define QT_FTELL ::ftello64
#define QT_FGETPOS ::fgetpos64
#define QT_FSETPOS ::fsetpos64
+#define QT_MMAP ::mmap64
#define QT_FPOS_T fpos64_t
#define QT_OFF_T off64_t
#else
@@ -118,6 +119,7 @@
#define QT_FTELL ::ftell
#define QT_FGETPOS ::fgetpos
#define QT_FSETPOS ::fsetpos
+#define QT_MMAP ::mmap
#define QT_FPOS_T fpos_t
#define QT_OFF_T long
#endif
diff --git a/mkspecs/linux-kcc/qplatformdefs.h b/mkspecs/linux-kcc/qplatformdefs.h
index 48a289b..65278c8 100644
--- a/mkspecs/linux-kcc/qplatformdefs.h
+++ b/mkspecs/linux-kcc/qplatformdefs.h
@@ -113,6 +113,7 @@
#define QT_FTELL ::ftello64
#define QT_FGETPOS ::fgetpos64
#define QT_FSETPOS ::fsetpos64
+#define QT_MMAP ::mmap64
#define QT_FPOS_T fpos64_t
#define QT_OFF_T off64_t
#else
@@ -121,6 +122,7 @@
#define QT_FTELL ::ftell
#define QT_FGETPOS ::fgetpos
#define QT_FSETPOS ::fsetpos
+#define QT_MMAP ::mmap
#define QT_FPOS_T fpos_t
#define QT_OFF_T long
#endif
diff --git a/mkspecs/linux-llvm/qplatformdefs.h b/mkspecs/linux-llvm/qplatformdefs.h
index 1430916..ecfbc73 100644
--- a/mkspecs/linux-llvm/qplatformdefs.h
+++ b/mkspecs/linux-llvm/qplatformdefs.h
@@ -110,6 +110,7 @@
#define QT_FTELL ::ftello64
#define QT_FGETPOS ::fgetpos64
#define QT_FSETPOS ::fsetpos64
+#define QT_MMAP ::mmap64
#define QT_FPOS_T fpos64_t
#define QT_OFF_T off64_t
#else
@@ -118,6 +119,7 @@
#define QT_FTELL ::ftell
#define QT_FGETPOS ::fgetpos
#define QT_FSETPOS ::fsetpos
+#define QT_MMAP ::mmap
#define QT_FPOS_T fpos_t
#define QT_OFF_T long
#endif
diff --git a/mkspecs/linux-lsb-g++/qplatformdefs.h b/mkspecs/linux-lsb-g++/qplatformdefs.h
index dc48a089..0928b71 100644
--- a/mkspecs/linux-lsb-g++/qplatformdefs.h
+++ b/mkspecs/linux-lsb-g++/qplatformdefs.h
@@ -114,6 +114,7 @@
#define QT_FTELL ::ftello64
#define QT_FGETPOS ::fgetpos64
#define QT_FSETPOS ::fsetpos64
+#define QT_MMAP ::mmap64
#define QT_FPOS_T fpos64_t
#define QT_OFF_T off64_t
#else
@@ -122,6 +123,7 @@
#define QT_FTELL ::ftell
#define QT_FGETPOS ::fgetpos
#define QT_FSETPOS ::fsetpos
+#define QT_MMAP ::mmap
#define QT_FPOS_T fpos_t
#define QT_OFF_T long
#endif
diff --git a/mkspecs/linux-pgcc/qplatformdefs.h b/mkspecs/linux-pgcc/qplatformdefs.h
index 5bf9686..0c3a07e 100644
--- a/mkspecs/linux-pgcc/qplatformdefs.h
+++ b/mkspecs/linux-pgcc/qplatformdefs.h
@@ -110,6 +110,7 @@
#define QT_FTELL ::ftello64
#define QT_FGETPOS ::fgetpos64
#define QT_FSETPOS ::fsetpos64
+#define QT_MMAP ::mmap64
#define QT_FPOS_T fpos64_t
#define QT_OFF_T off64_t
#else
@@ -118,6 +119,7 @@
#define QT_FTELL ::ftell
#define QT_FGETPOS ::fgetpos
#define QT_FSETPOS ::fsetpos
+#define QT_MMAP ::mmap
#define QT_FPOS_T fpos_t
#define QT_OFF_T long
#endif
diff --git a/mkspecs/lynxos-g++/qplatformdefs.h b/mkspecs/lynxos-g++/qplatformdefs.h
index e362676..96764a3 100644
--- a/mkspecs/lynxos-g++/qplatformdefs.h
+++ b/mkspecs/lynxos-g++/qplatformdefs.h
@@ -80,6 +80,7 @@
#define QT_FTELL ::ftello
#define QT_FGETPOS ::fgetpos
#define QT_FSETPOS ::fsetpos
+#define QT_MMAP ::mmap
#define QT_FPOS_T fpos_t
#define QT_OFF_T off_t
diff --git a/mkspecs/macx-g++/qplatformdefs.h b/mkspecs/macx-g++/qplatformdefs.h
index 98e5eaf..3a9288b 100644
--- a/mkspecs/macx-g++/qplatformdefs.h
+++ b/mkspecs/macx-g++/qplatformdefs.h
@@ -80,6 +80,7 @@
#define QT_FTELL ::ftello
#define QT_FGETPOS ::fgetpos
#define QT_FSETPOS ::fsetpos
+#define QT_MMAP ::mmap
#define QT_FPOS_T fpos_t
#define QT_OFF_T off_t
diff --git a/mkspecs/macx-g++40/qplatformdefs.h b/mkspecs/macx-g++40/qplatformdefs.h
index 98e5eaf..3a9288b 100644
--- a/mkspecs/macx-g++40/qplatformdefs.h
+++ b/mkspecs/macx-g++40/qplatformdefs.h
@@ -80,6 +80,7 @@
#define QT_FTELL ::ftello
#define QT_FGETPOS ::fgetpos
#define QT_FSETPOS ::fsetpos
+#define QT_MMAP ::mmap
#define QT_FPOS_T fpos_t
#define QT_OFF_T off_t
diff --git a/mkspecs/macx-g++42/qplatformdefs.h b/mkspecs/macx-g++42/qplatformdefs.h
index 98e5eaf..3a9288b 100644
--- a/mkspecs/macx-g++42/qplatformdefs.h
+++ b/mkspecs/macx-g++42/qplatformdefs.h
@@ -80,6 +80,7 @@
#define QT_FTELL ::ftello
#define QT_FGETPOS ::fgetpos
#define QT_FSETPOS ::fsetpos
+#define QT_MMAP ::mmap
#define QT_FPOS_T fpos_t
#define QT_OFF_T off_t
diff --git a/mkspecs/macx-llvm/qplatformdefs.h b/mkspecs/macx-llvm/qplatformdefs.h
index 98e5eaf..3a9288b 100644
--- a/mkspecs/macx-llvm/qplatformdefs.h
+++ b/mkspecs/macx-llvm/qplatformdefs.h
@@ -80,6 +80,7 @@
#define QT_FTELL ::ftello
#define QT_FGETPOS ::fgetpos
#define QT_FSETPOS ::fsetpos
+#define QT_MMAP ::mmap
#define QT_FPOS_T fpos_t
#define QT_OFF_T off_t
diff --git a/mkspecs/macx-pbuilder/qplatformdefs.h b/mkspecs/macx-pbuilder/qplatformdefs.h
index 04aaab7..05ee441 100644
--- a/mkspecs/macx-pbuilder/qplatformdefs.h
+++ b/mkspecs/macx-pbuilder/qplatformdefs.h
@@ -80,6 +80,7 @@
#define QT_FTELL ::ftello
#define QT_FGETPOS ::fgetpos
#define QT_FSETPOS ::fsetpos
+#define QT_MMAP ::mmap
#define QT_FPOS_T fpos_t
#define QT_OFF_T off_t
diff --git a/mkspecs/macx-xcode/qplatformdefs.h b/mkspecs/macx-xcode/qplatformdefs.h
index 98e5eaf..3a9288b 100644
--- a/mkspecs/macx-xcode/qplatformdefs.h
+++ b/mkspecs/macx-xcode/qplatformdefs.h
@@ -80,6 +80,7 @@
#define QT_FTELL ::ftello
#define QT_FGETPOS ::fgetpos
#define QT_FSETPOS ::fsetpos
+#define QT_MMAP ::mmap
#define QT_FPOS_T fpos_t
#define QT_OFF_T off_t
diff --git a/mkspecs/macx-xlc/qplatformdefs.h b/mkspecs/macx-xlc/qplatformdefs.h
index e701217..bc2cfb6 100644
--- a/mkspecs/macx-xlc/qplatformdefs.h
+++ b/mkspecs/macx-xlc/qplatformdefs.h
@@ -80,6 +80,7 @@
#define QT_FTELL ::ftello
#define QT_FGETPOS ::fgetpos
#define QT_FSETPOS ::fsetpos
+#define QT_MMAP ::mmap
#define QT_FPOS_T fpos_t
#define QT_OFF_T off_t
diff --git a/mkspecs/netbsd-g++/qplatformdefs.h b/mkspecs/netbsd-g++/qplatformdefs.h
index 6e0fee7..40f83a2 100644
--- a/mkspecs/netbsd-g++/qplatformdefs.h
+++ b/mkspecs/netbsd-g++/qplatformdefs.h
@@ -80,6 +80,7 @@
#define QT_FTELL ::ftello
#define QT_FGETPOS ::fgetpos
#define QT_FSETPOS ::fsetpos
+#define QT_MMAP ::mmap
#define QT_FPOS_T fpos_t
#define QT_OFF_T off_t
diff --git a/mkspecs/openbsd-g++/qplatformdefs.h b/mkspecs/openbsd-g++/qplatformdefs.h
index ef313aa..90e4c21 100644
--- a/mkspecs/openbsd-g++/qplatformdefs.h
+++ b/mkspecs/openbsd-g++/qplatformdefs.h
@@ -81,6 +81,7 @@
#define QT_FTELL ::ftello
#define QT_FGETPOS ::fgetpos
#define QT_FSETPOS ::fsetpos
+#define QT_MMAP ::mmap
#define QT_FPOS_T fpos_t
#define QT_OFF_T off_t
diff --git a/mkspecs/sco-cc/qplatformdefs.h b/mkspecs/sco-cc/qplatformdefs.h
index 4c53c18..41f4f0f 100644
--- a/mkspecs/sco-cc/qplatformdefs.h
+++ b/mkspecs/sco-cc/qplatformdefs.h
@@ -81,6 +81,7 @@
#define QT_FTELL ::ftello
#define QT_FGETPOS ::fgetpos
#define QT_FSETPOS ::fsetpos
+#define QT_MMAP ::mmap
#define QT_FPOS_T fpos_t
#define QT_OFF_T off_t
diff --git a/mkspecs/sco-g++/qplatformdefs.h b/mkspecs/sco-g++/qplatformdefs.h
index 3ecb86d..613f22e 100644
--- a/mkspecs/sco-g++/qplatformdefs.h
+++ b/mkspecs/sco-g++/qplatformdefs.h
@@ -85,6 +85,7 @@
#define QT_FTELL ::ftello
#define QT_FGETPOS ::fgetpos
#define QT_FSETPOS ::fsetpos
+#define QT_MMAP ::mmap
#define QT_FPOS_T fpos_t
#define QT_OFF_T off_t
diff --git a/mkspecs/solaris-cc-64/qplatformdefs.h b/mkspecs/solaris-cc-64/qplatformdefs.h
index 3d1ddeb..f344ffc 100644
--- a/mkspecs/solaris-cc-64/qplatformdefs.h
+++ b/mkspecs/solaris-cc-64/qplatformdefs.h
@@ -111,6 +111,7 @@ static inline int qt_socket_connect(int s, struct sockaddr *addr, QT_SOCKLEN_T a
#define QT_FTELL ::ftello64
#define QT_FGETPOS ::fgetpos64
#define QT_FSETPOS ::fsetpos64
+#define QT_MMAP ::mmap64
#define QT_FPOS_T fpos64_t
#define QT_OFF_T off64_t
#else
@@ -119,6 +120,7 @@ static inline int qt_socket_connect(int s, struct sockaddr *addr, QT_SOCKLEN_T a
#define QT_FTELL ::ftell
#define QT_FGETPOS ::fgetpos
#define QT_FSETPOS ::fsetpos
+#define QT_MMAP ::mmap
#define QT_FPOS_T fpos_t
#define QT_OFF_T long
#endif
diff --git a/mkspecs/solaris-cc/qplatformdefs.h b/mkspecs/solaris-cc/qplatformdefs.h
index 6c5fd5f..8b2104a 100644
--- a/mkspecs/solaris-cc/qplatformdefs.h
+++ b/mkspecs/solaris-cc/qplatformdefs.h
@@ -119,6 +119,7 @@ static inline int qt_socket_connect(int s, struct sockaddr *addr, QT_SOCKLEN_T a
#define QT_FTELL ::ftello64
#define QT_FGETPOS ::fgetpos64
#define QT_FSETPOS ::fsetpos64
+#define QT_MMAP ::mmap64
#define QT_FPOS_T fpos64_t
#define QT_OFF_T off64_t
#else
@@ -127,6 +128,7 @@ static inline int qt_socket_connect(int s, struct sockaddr *addr, QT_SOCKLEN_T a
#define QT_FTELL ::ftell
#define QT_FGETPOS ::fgetpos
#define QT_FSETPOS ::fsetpos
+#define QT_MMAP ::mmap
#define QT_FPOS_T fpos_t
#define QT_OFF_T long
#endif
diff --git a/mkspecs/solaris-g++-64/qplatformdefs.h b/mkspecs/solaris-g++-64/qplatformdefs.h
index 09aabfd..a6f9c8a 100644
--- a/mkspecs/solaris-g++-64/qplatformdefs.h
+++ b/mkspecs/solaris-g++-64/qplatformdefs.h
@@ -128,6 +128,7 @@ static inline int qt_socket_bind(int s, struct sockaddr *addr, QT_SOCKLEN_T addr
#define QT_FTELL ::ftello64
#define QT_FGETPOS ::fgetpos64
#define QT_FSETPOS ::fsetpos64
+#define QT_MMAP ::mmap64
#define QT_FPOS_T fpos64_t
#define QT_OFF_T off64_t
#else
@@ -136,6 +137,7 @@ static inline int qt_socket_bind(int s, struct sockaddr *addr, QT_SOCKLEN_T addr
#define QT_FTELL ::ftell
#define QT_FGETPOS ::fgetpos
#define QT_FSETPOS ::fsetpos
+#define QT_MMAP ::mmap
#define QT_FPOS_T fpos_t
#define QT_OFF_T long
#endif
diff --git a/mkspecs/solaris-g++/qplatformdefs.h b/mkspecs/solaris-g++/qplatformdefs.h
index 01b551d..c37b366 100644
--- a/mkspecs/solaris-g++/qplatformdefs.h
+++ b/mkspecs/solaris-g++/qplatformdefs.h
@@ -132,6 +132,7 @@ static inline int qt_socket_bind(int s, struct sockaddr *addr, QT_SOCKLEN_T addr
#define QT_FTELL ::ftello64
#define QT_FGETPOS ::fgetpos64
#define QT_FSETPOS ::fsetpos64
+#define QT_MMAP ::mmap64
#define QT_FPOS_T fpos64_t
#define QT_OFF_T off64_t
#else
@@ -140,6 +141,7 @@ static inline int qt_socket_bind(int s, struct sockaddr *addr, QT_SOCKLEN_T addr
#define QT_FTELL ::ftell
#define QT_FGETPOS ::fgetpos
#define QT_FSETPOS ::fsetpos
+#define QT_MMAP ::mmap
#define QT_FPOS_T fpos_t
#define QT_OFF_T long
#endif
diff --git a/mkspecs/tru64-cxx/qplatformdefs.h b/mkspecs/tru64-cxx/qplatformdefs.h
index 7c25fa0..aa3a909 100644
--- a/mkspecs/tru64-cxx/qplatformdefs.h
+++ b/mkspecs/tru64-cxx/qplatformdefs.h
@@ -83,6 +83,7 @@
#define QT_FTELL ::ftell
#define QT_FGETPOS ::fgetpos
#define QT_FSETPOS ::fsetpos
+#define QT_MMAP ::mmap
#define QT_FPOS_T fpos_t
#define QT_OFF_T off_t
diff --git a/mkspecs/tru64-g++/qplatformdefs.h b/mkspecs/tru64-g++/qplatformdefs.h
index 63eea44..0e8b345 100644
--- a/mkspecs/tru64-g++/qplatformdefs.h
+++ b/mkspecs/tru64-g++/qplatformdefs.h
@@ -83,6 +83,7 @@
#define QT_FTELL ::ftell
#define QT_FGETPOS ::fgetpos
#define QT_FSETPOS ::fsetpos
+#define QT_MMAP ::mmap
#define QT_FPOS_T fpos_t
#define QT_OFF_T off_t
diff --git a/mkspecs/unixware-cc/qplatformdefs.h b/mkspecs/unixware-cc/qplatformdefs.h
index ea523fb..3a6b314 100644
--- a/mkspecs/unixware-cc/qplatformdefs.h
+++ b/mkspecs/unixware-cc/qplatformdefs.h
@@ -81,6 +81,7 @@
#define QT_FTELL ::ftell
#define QT_FGETPOS ::fgetpos
#define QT_FSETPOS ::fsetpos
+#define QT_MMAP ::mmap
#define QT_FPOS_T fpos_t
#define QT_OFF_T off_t
diff --git a/mkspecs/unixware-g++/qplatformdefs.h b/mkspecs/unixware-g++/qplatformdefs.h
index ea523fb..3a6b314 100644
--- a/mkspecs/unixware-g++/qplatformdefs.h
+++ b/mkspecs/unixware-g++/qplatformdefs.h
@@ -81,6 +81,7 @@
#define QT_FTELL ::ftell
#define QT_FGETPOS ::fgetpos
#define QT_FSETPOS ::fsetpos
+#define QT_MMAP ::mmap
#define QT_FPOS_T fpos_t
#define QT_OFF_T off_t
diff --git a/mkspecs/unsupported/qnx-g++/qplatformdefs.h b/mkspecs/unsupported/qnx-g++/qplatformdefs.h
index f309f81..f001eea 100644
--- a/mkspecs/unsupported/qnx-g++/qplatformdefs.h
+++ b/mkspecs/unsupported/qnx-g++/qplatformdefs.h
@@ -87,6 +87,7 @@
#define QT_FTELL ::ftello64
#define QT_FGETPOS ::fgetpos64
#define QT_FSETPOS ::fsetpos64
+#define QT_MMAP ::mmap64
#define QT_FPOS_T fpos64_t
#define QT_OFF_T off64_t
#else
@@ -95,6 +96,7 @@
#define QT_FTELL ::ftello
#define QT_FGETPOS ::fgetpos
#define QT_FSETPOS ::fsetpos
+#define QT_MMAP ::mmap
#define QT_FPOS_T fpos_t
#define QT_OFF_T off_t
#endif
@@ -167,6 +169,6 @@ inline float strtof(const char *b, char **e)
return float(strtod(b, e));
}
-#define QT_QWS_TEMP_DIR qgetenv("TMP");
+#define QT_QWS_TEMP_DIR QString::fromLatin1(qgetenv("TMP"))
#endif // QPLATFORMDEFS_H
diff --git a/mkspecs/unsupported/qws/qnx-i386-g++/qmake.conf b/mkspecs/unsupported/qws/qnx-i386-g++/qmake.conf
index 3f24cd9..fffb80f 100644
--- a/mkspecs/unsupported/qws/qnx-i386-g++/qmake.conf
+++ b/mkspecs/unsupported/qws/qnx-i386-g++/qmake.conf
@@ -56,10 +56,10 @@ QMAKE_PCH_OUTPUT_EXT = .gch
QMAKE_LFLAGS_BSYMBOLIC_FUNC = -Wl,-Bsymbolic-functions
QMAKE_LFLAGS_DYNAMIC_LIST = -Wl,--dynamic-list,
-include(../../common/unix.conf)
+include(../../../common/unix.conf)
QMAKE_CFLAGS_THREAD = -D_REENTRANT
-QMAKE_CXXFLAGS_THREAD = $$QMAKE_CLFAGS_THREAD
+QMAKE_CXXFLAGS_THREAD = $$QMAKE_CFLAGS_THREAD
QMAKE_INCDIR =
QMAKE_LIBDIR =
diff --git a/mkspecs/unsupported/vxworks-simpentium-g++/qplatformdefs.h b/mkspecs/unsupported/vxworks-simpentium-g++/qplatformdefs.h
index 5cec788..d16fa8a 100644
--- a/mkspecs/unsupported/vxworks-simpentium-g++/qplatformdefs.h
+++ b/mkspecs/unsupported/vxworks-simpentium-g++/qplatformdefs.h
@@ -76,6 +76,7 @@
#define QT_FTELL ::ftello64
#define QT_FGETPOS ::fgetpos64
#define QT_FSETPOS ::fsetpos64
+#define QT_MMAP ::mmap64
#define QT_FPOS_T fpos64_t
#define QT_OFF_T off64_t
#else
@@ -84,6 +85,7 @@
#define QT_FTELL ::ftell
#define QT_FGETPOS ::fgetpos
#define QT_FSETPOS ::fsetpos
+#define QT_MMAP ::mmap
#define QT_FPOS_T fpos_t
#define QT_OFF_T long
#endif
diff --git a/mkspecs/win32-msvc.net/qplatformdefs.h b/mkspecs/win32-msvc.net/qplatformdefs.h
index 19f9ba4..da092fa 100644
--- a/mkspecs/win32-msvc.net/qplatformdefs.h
+++ b/mkspecs/win32-msvc.net/qplatformdefs.h
@@ -115,8 +115,10 @@
#define QT_FOPEN ::fopen
#ifdef QT_LARGEFILE_SUPPORT
+// 64-bit versions of fseek/ftell not always available. E.g., when linking
+// dynamically to CRT (/MT)
#define QT_FSEEK ::fseek
-#define QT_FTELL ::ftell
+#define QT_FTELL (QT_OFF_T)::ftell
#else
#define QT_FSEEK ::fseek
#define QT_FTELL ::ftell
diff --git a/qmake/generators/symbian/symmake.cpp b/qmake/generators/symbian/symmake.cpp
index 19af1da..8ec4b3f 100644
--- a/qmake/generators/symbian/symmake.cpp
+++ b/qmake/generators/symbian/symmake.cpp
@@ -74,6 +74,9 @@
#define MMP_OPTION_CW "OPTION CW"
#define MMP_OPTION_ARMCC "OPTION ARMCC"
#define MMP_OPTION_GCCE "OPTION GCCE"
+#define MMP_LINKEROPTION_CW "LINKEROPTION CW"
+#define MMP_LINKEROPTION_ARMCC "LINKEROPTION ARMCC"
+#define MMP_LINKEROPTION_GCCE "LINKEROPTION GCCE"
#define SIS_TARGET "sis"
#define OK_SIS_TARGET "ok_sis"
@@ -655,8 +658,7 @@ void SymbianMakefileGenerator::initMmpVariables()
// Check MMP_RULES for singleton keywords that are overridden
QStringList overridableMmpKeywords;
- overridableMmpKeywords << QLatin1String(MMP_TARGETTYPE) << QLatin1String(MMP_OPTION_CW)
- << QLatin1String(MMP_OPTION_ARMCC) << QLatin1String(MMP_OPTION_GCCE);
+ overridableMmpKeywords << QLatin1String(MMP_TARGETTYPE);
foreach (QString item, project->values("MMP_RULES")) {
if (project->values(item).isEmpty()) {
@@ -971,6 +973,7 @@ void SymbianMakefileGenerator::writeMmpFileCapabilityPart(QTextStream& t)
void SymbianMakefileGenerator::writeMmpFileCompilerOptionPart(QTextStream& t)
{
QString cw, armcc, gcce;
+ QString cwlink, armlink, gccelink;
if (0 != project->values("QMAKE_CXXFLAGS.CW").size()) {
cw.append(project->values("QMAKE_CXXFLAGS.CW").join(" "));
@@ -1020,12 +1023,42 @@ void SymbianMakefileGenerator::writeMmpFileCompilerOptionPart(QTextStream& t)
gcce.append(" ");
}
+ if (0 != project->values("QMAKE_LFLAGS.CW").size()) {
+ cwlink.append(project->values("QMAKE_LFLAGS.CW").join(" "));
+ cwlink.append(" ");
+ }
+
+ if (0 != project->values("QMAKE_LFLAGS.ARMCC").size()) {
+ armlink.append(project->values("QMAKE_LFLAGS.ARMCC").join(" "));
+ armlink.append(" ");
+ }
+
+ if (0 != project->values("QMAKE_LFLAGS.GCCE").size()) {
+ gccelink.append(project->values("QMAKE_LFLAGS.GCCE").join(" "));
+ gccelink.append(" ");
+ }
+
+ if (0 != project->values("QMAKE_LFLAGS").size()) {
+ cwlink.append(project->values("QMAKE_LFLAGS").join(" "));
+ cwlink.append(" ");
+ armlink.append(project->values("QMAKE_LFLAGS").join(" "));
+ armlink.append(" ");
+ gccelink.append(project->values("QMAKE_LFLAGS").join(" "));
+ gccelink.append(" ");
+ }
+
if (!cw.isEmpty() && cw[cw.size()-1] == ' ')
cw.chop(1);
if (!armcc.isEmpty() && armcc[armcc.size()-1] == ' ')
armcc.chop(1);
if (!gcce.isEmpty() && gcce[gcce.size()-1] == ' ')
gcce.chop(1);
+ if (!cwlink.isEmpty() && cwlink[cwlink.size()-1] == ' ')
+ cwlink.chop(1);
+ if (!armlink.isEmpty() && armlink[armlink.size()-1] == ' ')
+ armlink.chop(1);
+ if (!gccelink.isEmpty() && gccelink[gccelink.size()-1] == ' ')
+ gccelink.chop(1);
if (!cw.isEmpty() && !overriddenMmpKeywords.contains(MMP_OPTION_CW))
t << MMP_OPTION_CW " " << cw << endl;
@@ -1034,6 +1067,13 @@ void SymbianMakefileGenerator::writeMmpFileCompilerOptionPart(QTextStream& t)
if (!gcce.isEmpty() && !overriddenMmpKeywords.contains(MMP_OPTION_GCCE))
t << MMP_OPTION_GCCE " " << gcce << endl;
+ if (!cwlink.isEmpty() && !overriddenMmpKeywords.contains(MMP_LINKEROPTION_CW))
+ t << MMP_LINKEROPTION_CW " " << cwlink << endl;
+ if (!armlink.isEmpty() && !overriddenMmpKeywords.contains(MMP_LINKEROPTION_ARMCC))
+ t << MMP_LINKEROPTION_ARMCC " " << armlink << endl;
+ if (!gccelink.isEmpty() && !overriddenMmpKeywords.contains(MMP_LINKEROPTION_GCCE))
+ t << MMP_LINKEROPTION_GCCE " " << gccelink << endl;
+
t << endl;
}
diff --git a/src/3rdparty/harfbuzz/src/harfbuzz-arabic.c b/src/3rdparty/harfbuzz/src/harfbuzz-arabic.c
index 0609232..3837087 100644
--- a/src/3rdparty/harfbuzz/src/harfbuzz-arabic.c
+++ b/src/3rdparty/harfbuzz/src/harfbuzz-arabic.c
@@ -489,6 +489,56 @@ static void getArabicProperties(const unsigned short *chars, int len, HB_ArabicP
*/
}
+static Joining getNkoJoining(unsigned short uc)
+{
+ if (uc < 0x7ca)
+ return JNone;
+ if (uc <= 0x7ea)
+ return JDual;
+ if (uc <= 0x7f3)
+ return JTransparent;
+ if (uc <= 0x7f9)
+ return JNone;
+ if (uc == 0x7fa)
+ return JCausing;
+ return JNone;
+}
+
+static void getNkoProperties(const unsigned short *chars, int len, HB_ArabicProperties *properties)
+{
+ int lastPos = 0;
+ int i = 0;
+
+ Joining j = getNkoJoining(chars[0]);
+ ArabicShape shape = joining_table[XIsolated][j].form2;
+ properties[0].justification = HB_NoJustification;
+
+ for (i = 1; i < len; ++i) {
+ properties[i].justification = (HB_GetUnicodeCharCategory(chars[i]) == HB_Separator_Space) ?
+ ArabicSpace : ArabicNone;
+
+ j = getNkoJoining(chars[i]);
+
+ if (j == JTransparent) {
+ properties[i].shape = XIsolated;
+ continue;
+ }
+
+ properties[lastPos].shape = joining_table[shape][j].form1;
+ shape = joining_table[shape][j].form2;
+
+
+ lastPos = i;
+ }
+ properties[lastPos].shape = joining_table[shape][JNone].form1;
+
+
+ /*
+ for (int i = 0; i < len; ++i)
+ qDebug("nko properties(%d): uc=%x shape=%d, justification=%d", i, chars[i], properties[i].shape, properties[i].justification);
+ */
+}
+
/*
// The unicode to unicode shaping codec.
// does only presentation forms B at the moment, but that should be enough for
@@ -1009,10 +1059,13 @@ static HB_Bool arabicSyriacOpenTypeShape(HB_ShaperItem *item, HB_Bool *ot_ok)
++l;
++properties;
}
- if (f + l < item->stringLength) {
+ if (f + l + item->item.pos < item->stringLength) {
++l;
}
- getArabicProperties(uc+f, l, props);
+ if (item->item.script == HB_Script_Nko)
+ getNkoProperties(uc+f, l, props);
+ else
+ getArabicProperties(uc+f, l, props);
for (i = 0; i < (int)item->num_glyphs; i++) {
apply[i] = 0;
@@ -1051,7 +1104,8 @@ HB_Bool HB_ArabicShape(HB_ShaperItem *item)
HB_Bool haveGlyphs;
HB_STACKARRAY(HB_UChar16, shapedChars, item->item.length);
- assert(item->item.script == HB_Script_Arabic || item->item.script == HB_Script_Syriac);
+ assert(item->item.script == HB_Script_Arabic || item->item.script == HB_Script_Syriac
+ || item->item.script == HB_Script_Nko);
#ifndef NO_OPENTYPE
@@ -1065,7 +1119,7 @@ HB_Bool HB_ArabicShape(HB_ShaperItem *item)
}
#endif
- if (item->item.script == HB_Script_Syriac)
+ if (item->item.script != HB_Script_Arabic)
return HB_BasicShape(item);
shapedString(item->string, item->stringLength, item->item.pos, item->item.length, shapedChars, &slen,
diff --git a/src/3rdparty/harfbuzz/src/harfbuzz-gpos.c b/src/3rdparty/harfbuzz/src/harfbuzz-gpos.c
index c932ec2..356dc01 100644
--- a/src/3rdparty/harfbuzz/src/harfbuzz-gpos.c
+++ b/src/3rdparty/harfbuzz/src/harfbuzz-gpos.c
@@ -2059,15 +2059,17 @@ static void Free_BaseArray( HB_BaseArray* ba,
HB_BaseRecord *br;
HB_Anchor *bans;
- HB_UNUSED(num_classes);
-
if ( ba->BaseRecord )
{
br = ba->BaseRecord;
if ( ba->BaseCount )
{
+ HB_UShort i, count;
+ count = num_classes * ba->BaseCount;
bans = br[0].BaseAnchor;
+ for (i = 0; i < count; i++)
+ Free_Anchor (&bans[i]);
FREE( bans );
}
diff --git a/src/3rdparty/harfbuzz/src/harfbuzz-hebrew.c b/src/3rdparty/harfbuzz/src/harfbuzz-hebrew.c
index 533a063..2bda386 100644
--- a/src/3rdparty/harfbuzz/src/harfbuzz-hebrew.c
+++ b/src/3rdparty/harfbuzz/src/harfbuzz-hebrew.c
@@ -56,6 +56,8 @@ HB_Bool HB_HebrewShape(HB_ShaperItem *shaper_item)
assert(shaper_item->item.script == HB_Script_Hebrew);
+ HB_HeuristicSetGlyphAttributes(shaper_item);
+
#ifndef NO_OPENTYPE
if (HB_SelectScript(shaper_item, hebrew_features)) {
@@ -64,7 +66,6 @@ HB_Bool HB_HebrewShape(HB_ShaperItem *shaper_item)
return FALSE;
- HB_HeuristicSetGlyphAttributes(shaper_item);
HB_OpenTypeShape(shaper_item, /*properties*/0);
return HB_OpenTypePosition(shaper_item, availableGlyphs, /*doLogClusters*/TRUE);
}
diff --git a/src/3rdparty/harfbuzz/src/harfbuzz-indic.cpp b/src/3rdparty/harfbuzz/src/harfbuzz-indic.cpp
index 7104d2a..3008fca 100644
--- a/src/3rdparty/harfbuzz/src/harfbuzz-indic.cpp
+++ b/src/3rdparty/harfbuzz/src/harfbuzz-indic.cpp
@@ -419,7 +419,7 @@ static const unsigned char indicForms[0xe00-0x900] = {
Matra, Halant, Invalid, Invalid,
Invalid, Invalid, Invalid, Invalid,
- Invalid, Invalid, Invalid, LengthMark,
+ Invalid, Invalid, Invalid, Matra,
Invalid, Invalid, Invalid, Invalid,
Invalid, Invalid, Invalid, Invalid,
@@ -566,7 +566,7 @@ static const unsigned char indicPosition[0xe00-0x900] = {
None, None, None, None,
None, None, None, None,
- None, None, None, None,
+ Below, None, None, None,
None, None, None, None,
None, None, None, None,
None, None, None, None,
@@ -1050,62 +1050,59 @@ static const IndicOrdering * const indic_order[] = {
// vowel matras that have to be split into two parts.
static const unsigned short split_matras[] = {
- // matra, split1, split2
+ // matra, split1, split2, split3
// bengalis
- 0x9cb, 0x9c7, 0x9be,
- 0x9cc, 0x9c7, 0x9d7,
+ 0x9cb, 0x9c7, 0x9be, 0x0,
+ 0x9cc, 0x9c7, 0x9d7, 0x0,
// oriya
- 0xb48, 0xb47, 0xb56,
- 0xb4b, 0xb47, 0xb3e,
- 0xb4c, 0xb47, 0xb57,
+ 0xb48, 0xb47, 0xb56, 0x0,
+ 0xb4b, 0xb47, 0xb3e, 0x0,
+ 0xb4c, 0xb47, 0xb57, 0x0,
// tamil
- 0xbca, 0xbc6, 0xbbe,
- 0xbcb, 0xbc7, 0xbbe,
- 0xbcc, 0xbc6, 0xbd7,
+ 0xbca, 0xbc6, 0xbbe, 0x0,
+ 0xbcb, 0xbc7, 0xbbe, 0x0,
+ 0xbcc, 0xbc6, 0xbd7, 0x0,
// telugu
- 0xc48, 0xc46, 0xc56,
+ 0xc48, 0xc46, 0xc56, 0x0,
// kannada
- 0xcc0, 0xcbf, 0xcd5,
- 0xcc7, 0xcc6, 0xcd5,
- 0xcc8, 0xcc6, 0xcd6,
- 0xcca, 0xcc6, 0xcc2,
- 0xccb, 0xcca, 0xcd5,
+ 0xcc0, 0xcbf, 0xcd5, 0x0,
+ 0xcc7, 0xcc6, 0xcd5, 0x0,
+ 0xcc8, 0xcc6, 0xcd6, 0x0,
+ 0xcca, 0xcc6, 0xcc2, 0x0,
+ 0xccb, 0xcc6, 0xcc2, 0xcd5,
// malayalam
- 0xd4a, 0xd46, 0xd3e,
- 0xd4b, 0xd47, 0xd3e,
- 0xd4c, 0xd46, 0xd57,
+ 0xd4a, 0xd46, 0xd3e, 0x0,
+ 0xd4b, 0xd47, 0xd3e, 0x0,
+ 0xd4c, 0xd46, 0xd57, 0x0,
// sinhala
- 0xdda, 0xdd9, 0xdca,
- 0xddc, 0xdd9, 0xdcf,
- 0xddd, 0xddc, 0xdca,
- 0xdde, 0xdd9, 0xddf,
+ 0xdda, 0xdd9, 0xdca, 0x0,
+ 0xddc, 0xdd9, 0xdcf, 0x0,
+ 0xddd, 0xdd9, 0xdcf, 0xdca,
+ 0xdde, 0xdd9, 0xddf, 0x0,
0xffff
};
-static inline void splitMatra(unsigned short *reordered, int matra, int &len, int &base)
+static inline void splitMatra(unsigned short *reordered, int matra, int &len)
{
unsigned short matra_uc = reordered[matra];
//qDebug("matra=%d, reordered[matra]=%x", matra, reordered[matra]);
const unsigned short *split = split_matras;
while (split[0] < matra_uc)
- split += 3;
+ split += 4;
assert(*split == matra_uc);
++split;
- if (indic_position(*split) == Pre) {
- reordered[matra] = split[1];
- memmove(reordered + 1, reordered, len*sizeof(unsigned short));
- reordered[0] = split[0];
- base++;
- } else {
- memmove(reordered + matra + 1, reordered + matra, (len-matra)*sizeof(unsigned short));
- reordered[matra] = split[0];
- reordered[matra+1] = split[1];
- }
- len++;
+ int added_chars = split[2] == 0x0 ? 1 : 2;
+
+ memmove(reordered + matra + added_chars, reordered + matra, (len-matra)*sizeof(unsigned short));
+ reordered[matra] = split[0];
+ reordered[matra+1] = split[1];
+ if(added_chars == 2)
+ reordered[matra+2] = split[2];
+ len += added_chars;
}
#ifndef NO_OPENTYPE
@@ -1130,12 +1127,23 @@ static const HB_OpenTypeFeature indic_features[] = {
// #define INDIC_DEBUG
#ifdef INDIC_DEBUG
-#define IDEBUG qDebug
+#define IDEBUG hb_debug
+#include <stdarg.h>
+
+static void hb_debug(const char *msg, ...)
+{
+ va_list ap;
+ va_start(ap, msg); // use variable arg list
+ vfprintf(stderr, msg, ap);
+ va_end(ap);
+ fprintf(stderr, "\n");
+}
+
#else
#define IDEBUG if(0) printf
#endif
-#ifdef INDIC_DEBUG
+#if 0 //def INDIC_DEBUG
static QString propertiesToString(int properties)
{
QString res;
@@ -1244,7 +1252,9 @@ static bool indic_shape_syllable(HB_Bool openType, HB_ShaperItem *item, bool inv
// farther than 3 consonants from the end of the syllable.
// #### replace the HasReph property by testing if the feature exists in the font!
if (form(*uc) == Consonant || (script == HB_Script_Bengali && form(*uc) == IndependentVowel)) {
- beginsWithRa = (properties & HasReph) && ((len > 2) && *uc == ra && *(uc+1) == halant);
+ if ((properties & HasReph) && (len > 2) &&
+ (*uc == ra || *uc == 0x9f0) && *(uc+1) == halant)
+ beginsWithRa = true;
if (beginsWithRa && form(*(uc+2)) == Control)
beginsWithRa = false;
@@ -1386,12 +1396,12 @@ static bool indic_shape_syllable(HB_Bool openType, HB_ShaperItem *item, bool inv
// to be at the beginning of the syllable, so we just move
// them there now.
if (matra_position == Split) {
- splitMatra(uc, matra, len, base);
+ splitMatra(uc, matra, len);
// Handle three-part matras (0xccb in Kannada)
matra_position = indic_position(uc[matra]);
- if (matra_position == Split)
- splitMatra(uc, matra, len, base);
- } else if (matra_position == Pre) {
+ }
+
+ if (matra_position == Pre) {
unsigned short m = uc[matra];
while (matra--)
uc[matra+1] = uc[matra];
@@ -1609,11 +1619,11 @@ static bool indic_shape_syllable(HB_Bool openType, HB_ShaperItem *item, bool inv
// halant always applies
#ifdef INDIC_DEBUG
- {
- IDEBUG("OT properties:");
- for (int i = 0; i < len; ++i)
- qDebug(" i: %s", ::propertiesToString(properties[i]).toLatin1().data());
- }
+// {
+// IDEBUG("OT properties:");
+// for (int i = 0; i < len; ++i)
+// qDebug(" i: %s", ::propertiesToString(properties[i]).toLatin1().data());
+// }
#endif
// initialize
@@ -1731,6 +1741,15 @@ static int indic_nextSyllableBoundary(HB_Script script, const HB_UChar16 *s, int
if (script == HB_Script_Bengali && pos == 1 &&
(uc[0] == 0x0985 || uc[0] == 0x098f))
break;
+ // Sinhala uses the Halant as a component of certain matras. Allow these, but keep the state on Matra.
+ if (script == HB_Script_Sinhala && state == Matra) {
+ ++pos;
+ continue;
+ }
+ if (script == HB_Script_Malayalam && state == Matra && uc[pos-1] == 0x0d41) {
+ ++pos;
+ continue;
+ }
goto finish;
case Nukta:
if (state == Consonant)
@@ -1741,12 +1760,16 @@ static int indic_nextSyllableBoundary(HB_Script script, const HB_UChar16 *s, int
break;
// fall through
case VowelMark:
- if (state == Matra || state == IndependentVowel)
+ if (state == Matra || state == LengthMark || state == IndependentVowel)
break;
// fall through
case Matra:
if (state == Consonant || state == Nukta)
break;
+ if (state == Matra) {
+ // ### needs proper testing for correct two/three part matras
+ break;
+ }
// ### not sure if this is correct. If it is, does it apply only to Bengali or should
// it work for all Indic languages?
// the combination Independent_A + Vowel Sign AA is allowed.
@@ -1762,6 +1785,10 @@ static int indic_nextSyllableBoundary(HB_Script script, const HB_UChar16 *s, int
goto finish;
case LengthMark:
+ if (state == Matra) {
+ // ### needs proper testing for correct two/three part matras
+ break;
+ }
case IndependentVowel:
case Invalid:
case Other:
diff --git a/src/3rdparty/harfbuzz/src/harfbuzz-open.c b/src/3rdparty/harfbuzz/src/harfbuzz-open.c
index cde5465..0fe1e4d 100644
--- a/src/3rdparty/harfbuzz/src/harfbuzz-open.c
+++ b/src/3rdparty/harfbuzz/src/harfbuzz-open.c
@@ -1114,6 +1114,8 @@ _HB_OPEN_Load_EmptyClassDefinition( HB_ClassDefinition* cd )
if ( ALLOC_ARRAY( cd->cd.cd1.ClassValueArray, 1, HB_UShort ) )
return error;
+ cd->loaded = TRUE;
+
return HB_Err_Ok;
}
diff --git a/src/3rdparty/harfbuzz/src/harfbuzz-shape.h b/src/3rdparty/harfbuzz/src/harfbuzz-shape.h
index 4f714a3..e4b5f9a 100644
--- a/src/3rdparty/harfbuzz/src/harfbuzz-shape.h
+++ b/src/3rdparty/harfbuzz/src/harfbuzz-shape.h
@@ -161,7 +161,7 @@ typedef enum {
/*
* Buffer for output
*/
-typedef struct _HB_GlyphBufer HB_GlyphBuffer;
+typedef struct _HB_GlyphBuffer HB_GlyphBuffer;
struct _HB_GlyphBuffer {
int glyph_item_size;
int total_glyphs;
diff --git a/src/3rdparty/harfbuzz/src/harfbuzz-shaper.cpp b/src/3rdparty/harfbuzz/src/harfbuzz-shaper.cpp
index f92bb55..f3ec8e1 100644
--- a/src/3rdparty/harfbuzz/src/harfbuzz-shaper.cpp
+++ b/src/3rdparty/harfbuzz/src/harfbuzz-shaper.cpp
@@ -637,7 +637,9 @@ const HB_ScriptEngine HB_ScriptEngines[] = {
// Runic
{ HB_BasicShape, 0 },
// Khmer
- { HB_KhmerShape, HB_KhmerAttributes }
+ { HB_KhmerShape, HB_KhmerAttributes },
+ // N'Ko
+ { HB_ArabicShape, 0}
};
void HB_GetCharAttributes(const HB_UChar16 *string, hb_uint32 stringLength,
@@ -877,7 +879,9 @@ static const OTScripts ot_scripts [] = {
// Runic
{ HB_MAKE_TAG('r', 'u', 'n', 'r'), 0 },
// Khmer
- { HB_MAKE_TAG('k', 'h', 'm', 'r'), 1 }
+ { HB_MAKE_TAG('k', 'h', 'm', 'r'), 1 },
+ // N'Ko
+ { HB_MAKE_TAG('n', 'k', 'o', ' '), 1 }
};
enum { NumOTScripts = sizeof(ot_scripts)/sizeof(OTScripts) };
diff --git a/src/3rdparty/harfbuzz/src/harfbuzz-shaper.h b/src/3rdparty/harfbuzz/src/harfbuzz-shaper.h
index e8f5513..f7c7714 100644
--- a/src/3rdparty/harfbuzz/src/harfbuzz-shaper.h
+++ b/src/3rdparty/harfbuzz/src/harfbuzz-shaper.h
@@ -62,6 +62,7 @@ typedef enum {
HB_Script_Ogham,
HB_Script_Runic,
HB_Script_Khmer,
+ HB_Script_Nko,
HB_Script_Inherited,
HB_ScriptCount = HB_Script_Inherited
/*
@@ -102,7 +103,6 @@ typedef enum {
HB_Script_Cuneiform = Common,
HB_Script_Phoenician = Common,
HB_Script_PhagsPa = Common,
- HB_Script_Nko = Common
*/
} HB_Script;
@@ -242,27 +242,30 @@ typedef struct HB_Font_ {
void *userData;
} HB_FontRec;
-typedef struct {
- const HB_UChar16 *string;
- hb_uint32 stringLength;
- HB_ScriptItem item;
- HB_Font font;
- HB_Face face;
- int shaperFlags; /* HB_ShaperFlags */
-
- HB_Bool glyphIndicesPresent; /* set to true if the glyph indicies are already setup in the glyphs array */
- hb_uint32 initialGlyphCount;
-
- hb_uint32 num_glyphs; /* in: available glyphs out: glyphs used/needed */
- HB_Glyph *glyphs; /* out parameter */
- HB_GlyphAttributes *attributes; /* out */
- HB_Fixed *advances; /* out */
- HB_FixedPoint *offsets; /* out */
- unsigned short *log_clusters; /* out */
+typedef struct HB_ShaperItem_ HB_ShaperItem;
+
+struct HB_ShaperItem_ {
+ const HB_UChar16 *string; /* input: the Unicode UTF16 text to be shaped */
+ hb_uint32 stringLength; /* input: the length of the input in 16-bit words */
+ HB_ScriptItem item; /* input: the current run to be shaped: a run of text all in the same script that is a substring of <string> */
+ HB_Font font; /* input: the font: scale, units and function pointers supplying glyph indices and metrics */
+ HB_Face face; /* input: the shaper state; current script, access to the OpenType tables , etc. */
+ int shaperFlags; /* input (unused) should be set to 0; intended to support flags defined in HB_ShaperFlag */
+ HB_Bool glyphIndicesPresent; /* input: true if the <glyphs> array contains glyph indices ready to be shaped */
+ hb_uint32 initialGlyphCount; /* input: if glyphIndicesPresent is true, the number of glyph indices in the <glyphs> array */
+
+ hb_uint32 num_glyphs; /* input: capacity of output arrays <glyphs>, <attributes>, <advances>, <offsets>, and <log_clusters>; */
+ /* output: required capacity (may be larger than actual capacity) */
+
+ HB_Glyph *glyphs; /* output: <num_glyphs> indices of shaped glyphs */
+ HB_GlyphAttributes *attributes; /* output: <num_glyphs> glyph attributes */
+ HB_Fixed *advances; /* output: <num_glyphs> advances */
+ HB_FixedPoint *offsets; /* output: <num_glyphs> offsets */
+ unsigned short *log_clusters; /* output: for each output glyph, the index in the input of the start of its logical cluster */
/* internal */
- HB_Bool kerning_applied; /* out: kerning applied by shaper */
-} HB_ShaperItem;
+ HB_Bool kerning_applied; /* output: true if kerning was applied by the shaper */
+};
HB_Bool HB_ShapeItem(HB_ShaperItem *item);
diff --git a/src/3rdparty/harfbuzz/tests/shaping/main.cpp b/src/3rdparty/harfbuzz/tests/shaping/main.cpp
index 1a3ef4f..12fa7c4 100644
--- a/src/3rdparty/harfbuzz/tests/shaping/main.cpp
+++ b/src/3rdparty/harfbuzz/tests/shaping/main.cpp
@@ -178,9 +178,10 @@ private slots:
void telugu();
void kannada();
void malayalam();
- // sinhala missing
+ void sinhala();
void khmer();
+ void nko();
void linearB();
};
@@ -510,6 +511,17 @@ void tst_QScriptEngine::bengali()
{ 0x151, 0x276, 0x172, 0x143, 0x0 } },
{ { 0x9b0, 0x9cd, 0x995, 0x9be, 0x983, 0x0 },
{ 0x151, 0x276, 0x172, 0x144, 0x0 } },
+ // test decomposed two parts matras
+ { { 0x995, 0x9c7, 0x9be, 0x0 },
+ { 0x179, 0x151, 0x172, 0x0 } },
+ { { 0x995, 0x9c7, 0x9d7, 0x0 },
+ { 0x179, 0x151, 0x17e, 0x0 } },
+ { { 0x9b0, 0x9cd, 0x9ad, 0x0 },
+ { 0x168, 0x276, 0x0 } },
+ { { 0x9f0, 0x9cd, 0x9ad, 0x0 },
+ { 0x168, 0x276, 0x0 } },
+ { { 0x9f1, 0x9cd, 0x9ad, 0x0 },
+ { 0x191, 0x17d, 0x168, 0x0 } },
{ {0}, {0} }
};
@@ -638,15 +650,21 @@ void tst_QScriptEngine::bengali()
if (face) {
const ShapeTable shape_table [] = {
{ { 0x09a8, 0x09cd, 0x09af, 0x0 },
- { 0x0192, 0x0 } },
+ { 0x01ca, 0x0 } },
{ { 0x09b8, 0x09cd, 0x09af, 0x0 },
- { 0x01d6, 0x0 } },
+ { 0x020e, 0x0 } },
{ { 0x09b6, 0x09cd, 0x09af, 0x0 },
- { 0x01bc, 0x0 } },
+ { 0x01f4, 0x0 } },
{ { 0x09b7, 0x09cd, 0x09af, 0x0 },
- { 0x01c6, 0x0 } },
+ { 0x01fe, 0x0 } },
{ { 0x09b0, 0x09cd, 0x09a8, 0x09cd, 0x200d, 0x0 },
- { 0xd3, 0x12f, 0x0 } },
+ { 0x10b, 0x167, 0x0 } },
+ { { 0x9b0, 0x9cd, 0x9ad, 0x0 },
+ { 0xa1, 0x167, 0x0 } },
+ { { 0x9f0, 0x9cd, 0x9ad, 0x0 },
+ { 0xa1, 0x167, 0x0 } },
+ { { 0x9f1, 0x9cd, 0x9ad, 0x0 },
+ { 0x11c, 0xa1, 0x0 } },
{ {0}, {0} }
};
@@ -823,8 +841,9 @@ void tst_QScriptEngine::telugu()
{ 0xe6, 0xb3, 0x83, 0x0 } },
{ { 0xc15, 0xc4d, 0xc30, 0xc48, 0x0 },
{ 0xe6, 0xb3, 0x9f, 0x0 } },
- { {0}, {0} }
-
+ { { 0xc15, 0xc46, 0xc56, 0x0 },
+ { 0xe6, 0xb3, 0x0 } },
+ { {0}, {0} }
};
const ShapeTable *s = shape_table;
@@ -867,7 +886,6 @@ void tst_QScriptEngine::kannada()
{ 0x0036, 0x00c1, 0x0 } },
{ { 0x0cb0, 0x0ccd, 0x200d, 0x0c95, 0x0 },
{ 0x0050, 0x00a7, 0x0 } },
-
{ {0}, {0} }
};
@@ -891,6 +909,17 @@ void tst_QScriptEngine::kannada()
{ 0x00b0, 0x006c, 0x0 } },
{ { 0x0cb7, 0x0ccd, 0x0 },
{ 0x0163, 0x0 } },
+ { { 0xc95, 0xcbf, 0xcd5, 0x0 },
+ { 0x114, 0x73, 0x0 } },
+ { { 0xc95, 0xcc6, 0xcd5, 0x0 },
+ { 0x90, 0x6c, 0x73, 0x0 } },
+ { { 0xc95, 0xcc6, 0xcd6, 0x0 },
+ { 0x90, 0x6c, 0x74, 0x0 } },
+ { { 0xc95, 0xcc6, 0xcc2, 0x0 },
+ { 0x90, 0x6c, 0x69, 0x0 } },
+ { { 0xc95, 0xcca, 0xcd5, 0x0 },
+ { 0x90, 0x6c, 0x69, 0x73, 0x0 } },
+
{ {0}, {0} }
};
@@ -943,7 +972,16 @@ void tst_QScriptEngine::malayalam()
{ 0x009e, 0x0 } },
{ { 0x0d30, 0x0d4d, 0x200d, 0x0 },
{ 0x009e, 0x0 } },
-
+ { { 0xd15, 0xd46, 0xd3e, 0x0 },
+ { 0x5e, 0x34, 0x58, 0x0 } },
+ { { 0xd15, 0xd47, 0xd3e, 0x0 },
+ { 0x5f, 0x34, 0x58, 0x0 } },
+ { { 0xd15, 0xd46, 0xd57, 0x0 },
+ { 0x5e, 0x34, 0x65, 0x0 } },
+ { { 0xd15, 0xd57, 0x0 },
+ { 0x34, 0x65, 0x0 } },
+ { { 0xd1f, 0xd4d, 0xd1f, 0xd41, 0xd4d, 0x0 },
+ { 0x69, 0x5b, 0x64, 0x0 } },
{ {0}, {0} }
};
@@ -962,6 +1000,39 @@ void tst_QScriptEngine::malayalam()
}
}
+void tst_QScriptEngine::sinhala()
+{
+ {
+ FT_Face face = loadFace("FM-MalithiUW46.ttf");
+ if (face) {
+ const ShapeTable shape_table [] = {
+ { { 0xd9a, 0xdd9, 0xdcf, 0x0 },
+ { 0x4a, 0x61, 0x42, 0x0 } },
+ { { 0xd9a, 0xdd9, 0xddf, 0x0 },
+ { 0x4a, 0x61, 0x50, 0x0 } },
+ { { 0xd9a, 0xdd9, 0xdca, 0x0 },
+ { 0x4a, 0x62, 0x0 } },
+ { { 0xd9a, 0xddc, 0xdca, 0x0 },
+ { 0x4a, 0x61, 0x42, 0x41, 0x0 } },
+ { { 0xd9a, 0xdda, 0x0 },
+ { 0x4a, 0x62, 0x0 } },
+ { { 0xd9a, 0xddd, 0x0 },
+ { 0x4a, 0x61, 0x42, 0x41, 0x0 } },
+ { {0}, {0} }
+ };
+
+ const ShapeTable *s = shape_table;
+ while (s->unicode[0]) {
+ QVERIFY( shaping(face, s, HB_Script_Sinhala) );
+ ++s;
+ }
+
+ FT_Done_Face(face);
+ } else {
+ QSKIP("couln't find FM-MalithiUW46.ttf", SkipAll);
+ }
+ }
+}
void tst_QScriptEngine::khmer()
@@ -1005,6 +1076,40 @@ void tst_QScriptEngine::khmer()
}
}
+void tst_QScriptEngine::nko()
+{
+ {
+ FT_Face face = loadFace("DejaVuSans.ttf");
+ if (face) {
+ const ShapeTable shape_table [] = {
+ { { 0x7ca, 0x0 },
+ { 0x5c1, 0x0 } },
+ { { 0x7ca, 0x7ca, 0x0 },
+ { 0x14db, 0x14d9, 0x0 } },
+ { { 0x7ca, 0x7fa, 0x7ca, 0x0 },
+ { 0x14db, 0x5ec, 0x14d9, 0x0 } },
+ { { 0x7ca, 0x7f3, 0x7ca, 0x0 },
+ { 0x14db, 0x5e7, 0x14d9, 0x0 } },
+ { { 0x7ca, 0x7f3, 0x7fa, 0x7ca, 0x0 },
+ { 0x14db, 0x5e7, 0x5ec, 0x14d9, 0x0 } },
+ { {0}, {0} }
+ };
+
+
+ const ShapeTable *s = shape_table;
+ while (s->unicode[0]) {
+ QVERIFY( shaping(face, s, HB_Script_Nko) );
+ ++s;
+ }
+
+ FT_Done_Face(face);
+ } else {
+ QSKIP("couln't find DejaVuSans.ttf", SkipAll);
+ }
+ }
+}
+
+
void tst_QScriptEngine::linearB()
{
{
diff --git a/src/3rdparty/phonon/ds9/iodevicereader.cpp b/src/3rdparty/phonon/ds9/iodevicereader.cpp
index e0c505c..695af59 100644
--- a/src/3rdparty/phonon/ds9/iodevicereader.cpp
+++ b/src/3rdparty/phonon/ds9/iodevicereader.cpp
@@ -36,17 +36,20 @@ namespace Phonon
//these mediatypes define a stream, its type will be autodetected by DirectShow
static QVector<AM_MEDIA_TYPE> getMediaTypes()
{
- AM_MEDIA_TYPE mt = { MEDIATYPE_Stream, MEDIASUBTYPE_NULL, TRUE, FALSE, 1, GUID_NULL, 0, 0, 0};
+ //the order here is important because otherwise,
+ //directshow might not be able to detect the stream type correctly
+
+ AM_MEDIA_TYPE mt = { MEDIATYPE_Stream, MEDIASUBTYPE_Avi, TRUE, FALSE, 1, GUID_NULL, 0, 0, 0};
QVector<AM_MEDIA_TYPE> ret;
- //normal auto-detect stream
- ret << mt;
//AVI stream
- mt.subtype = MEDIASUBTYPE_Avi;
ret << mt;
//WAVE stream
mt.subtype = MEDIASUBTYPE_WAVE;
ret << mt;
+ //normal auto-detect stream (must be at the end!)
+ mt.subtype = MEDIASUBTYPE_NULL;
+ ret << mt;
return ret;
}
diff --git a/src/3rdparty/phonon/gstreamer/abstractrenderer.cpp b/src/3rdparty/phonon/gstreamer/abstractrenderer.cpp
index 924b611..5d88d10 100644
--- a/src/3rdparty/phonon/gstreamer/abstractrenderer.cpp
+++ b/src/3rdparty/phonon/gstreamer/abstractrenderer.cpp
@@ -17,6 +17,7 @@
#include "abstractrenderer.h"
+#ifndef QT_NO_PHONON_VIDEO
QT_BEGIN_NAMESPACE
namespace Phonon
@@ -52,5 +53,5 @@ void AbstractRenderer::movieSizeChanged(const QSize &size)
} //namespace Phonon::Gstreamer
QT_END_NAMESPACE
-
+#endif //QT_NO_PHONON_VIDEO
diff --git a/src/3rdparty/phonon/gstreamer/abstractrenderer.h b/src/3rdparty/phonon/gstreamer/abstractrenderer.h
index 140413d..10a2822 100644
--- a/src/3rdparty/phonon/gstreamer/abstractrenderer.h
+++ b/src/3rdparty/phonon/gstreamer/abstractrenderer.h
@@ -23,6 +23,7 @@
#include "medianode.h"
#include <phonon/videowidget.h>
+#ifndef QT_NO_PHONON_VIDEO
QT_BEGIN_NAMESPACE
class QString;
@@ -58,5 +59,5 @@ protected:
} //namespace Phonon::Gstreamer
QT_END_NAMESPACE
-
+#endif //QT_NO_PHONON_VIDEO
#endif // Phonon_GSTREAMER_ABSTRACTRENDERER_H
diff --git a/src/3rdparty/phonon/gstreamer/artssink.cpp b/src/3rdparty/phonon/gstreamer/artssink.cpp
index ff56da9..441607d 100644
--- a/src/3rdparty/phonon/gstreamer/artssink.cpp
+++ b/src/3rdparty/phonon/gstreamer/artssink.cpp
@@ -233,7 +233,7 @@ static void arts_sink_init (ArtsSink * src, ArtsSinkClass * g_class)
Q_UNUSED(g_class);
GST_DEBUG_OBJECT (src, "initializing artssink");
src->stream = 0;
-
+#ifndef QT_NO_LIBRARY
p_arts_init = (Ptr_arts_init)QLibrary::resolve(QLatin1String("artsc"), 0, "arts_init");
p_arts_play_stream = (Ptr_arts_play_stream)QLibrary::resolve(QLatin1String("artsc"), 0, "arts_play_stream");
p_arts_close_stream = (Ptr_arts_close_stream)QLibrary::resolve(QLatin1String("artsc"), 0, "arts_close_stream");
@@ -250,6 +250,7 @@ static void arts_sink_init (ArtsSink * src, ArtsSinkClass * g_class)
}
}
sinkCount ++;
+#endif //QT_NO_LIBRARY
}
static void arts_sink_dispose (GObject * object)
diff --git a/src/3rdparty/phonon/gstreamer/audioeffect.cpp b/src/3rdparty/phonon/gstreamer/audioeffect.cpp
index db72c8b..d3d7a35 100644
--- a/src/3rdparty/phonon/gstreamer/audioeffect.cpp
+++ b/src/3rdparty/phonon/gstreamer/audioeffect.cpp
@@ -23,7 +23,7 @@
#include "gsthelper.h"
#include <gst/gst.h>
-
+#ifndef QT_NO_PHONON_EFFECT
QT_BEGIN_NAMESPACE
namespace Phonon
@@ -75,4 +75,5 @@ GstElement* AudioEffect::createEffectBin()
} //namespace Phonon::Gstreamer
QT_END_NAMESPACE
+#endif //QT_NO_PHONON_EFFECT
#include "moc_audioeffect.cpp"
diff --git a/src/3rdparty/phonon/gstreamer/audioeffect.h b/src/3rdparty/phonon/gstreamer/audioeffect.h
index 3a985e5..f49f8d2 100644
--- a/src/3rdparty/phonon/gstreamer/audioeffect.h
+++ b/src/3rdparty/phonon/gstreamer/audioeffect.h
@@ -29,8 +29,8 @@
#include <gst/gst.h>
+#ifndef QT_NO_PHONON_EFFECT
QT_BEGIN_NAMESPACE
-
namespace Phonon
{
namespace Gstreamer
@@ -49,7 +49,7 @@ namespace Gstreamer
QString m_effectName;
};
}} //namespace Phonon::Gstreamer
-
QT_END_NAMESPACE
+#endif //QT_NO_PHONON_EFFECT
#endif // Phonon_GSTREAMER_AUDIOEFFECT_H
diff --git a/src/3rdparty/phonon/gstreamer/backend.cpp b/src/3rdparty/phonon/gstreamer/backend.cpp
index cd49454..e1ffd1f 100644
--- a/src/3rdparty/phonon/gstreamer/backend.cpp
+++ b/src/3rdparty/phonon/gstreamer/backend.cpp
@@ -55,12 +55,13 @@ Backend::Backend(QObject *parent, const QVariantList &)
g_error_free(err);
qRegisterMetaType<Message>("Message");
-
+#ifndef QT_NO_PROPERTIES
setProperty("identifier", QLatin1String("phonon_gstreamer"));
setProperty("backendName", QLatin1String("Gstreamer"));
setProperty("backendComment", QLatin1String("Gstreamer plugin for Phonon"));
setProperty("backendVersion", QLatin1String("0.2"));
setProperty("backendWebsite", QLatin1String("http://qt.nokia.com/"));
+#endif //QT_NO_PROPERTIES
//check if we should enable debug output
QString debugLevelString = qgetenv("PHONON_GST_DEBUG");
@@ -117,13 +118,15 @@ QObject *Backend::createObject(BackendInterface::Class c, QObject *parent, const
m_audioOutputs.append(ao);
return ao;
}
+#ifndef QT_NO_PHONON_EFFECT
case EffectClass:
return new AudioEffect(this, args[0].toInt(), parent);
-
+#endif //QT_NO_PHONON_EFFECT
case AudioDataOutputClass:
logMessage("createObject() : AudioDataOutput not implemented");
break;
+#ifndef QT_NO_PHONON_VIDEO
case VideoDataOutputClass:
logMessage("createObject() : VideoDataOutput not implemented");
break;
@@ -132,9 +135,11 @@ QObject *Backend::createObject(BackendInterface::Class c, QObject *parent, const
QWidget *widget = qobject_cast<QWidget*>(parent);
return new VideoWidget(this, widget);
}
-
+#endif //QT_NO_PHONON_VIDEO
+#ifndef QT_NO_PHONON_VOLUMEFADEREFFECT
case VolumeFaderEffectClass:
return new VolumeFaderEffect(this, parent);
+#endif //QT_NO_PHONON_VOLUMEFADEREFFECT
case VisualizationClass: //Fall through
default:
diff --git a/src/3rdparty/phonon/gstreamer/devicemanager.cpp b/src/3rdparty/phonon/gstreamer/devicemanager.cpp
index 2240396..60e860f 100644
--- a/src/3rdparty/phonon/gstreamer/devicemanager.cpp
+++ b/src/3rdparty/phonon/gstreamer/devicemanager.cpp
@@ -72,18 +72,21 @@ DeviceManager::DeviceManager(Backend *backend)
: QObject(backend)
, m_backend(backend)
{
+ m_audioSink = qgetenv("PHONON_GST_AUDIOSINK");
+ m_videoSinkWidget = qgetenv("PHONON_GST_VIDEOMODE");
+
+#ifndef QT_NO_SETTINGS
QSettings settings(QLatin1String("Trolltech"));
settings.beginGroup(QLatin1String("Qt"));
- m_audioSink = qgetenv("PHONON_GST_AUDIOSINK");
if (m_audioSink.isEmpty()) {
m_audioSink = settings.value(QLatin1String("audiosink"), "Auto").toByteArray().toLower();
}
- m_videoSinkWidget = qgetenv("PHONON_GST_VIDEOMODE");
if (m_videoSinkWidget.isEmpty()) {
m_videoSinkWidget = settings.value(QLatin1String("videomode"), "Auto").toByteArray().toLower();
}
+#endif //QT_NO_SETTINGS
if (m_backend->isValid())
updateDeviceList();
@@ -243,6 +246,7 @@ GstElement *DeviceManager::createAudioSink(Category category)
return sink;
}
+#ifndef QT_NO_PHONON_VIDEO
AbstractRenderer *DeviceManager::createVideoRenderer(VideoWidget *parent)
{
#if !defined(QT_NO_OPENGL) && !defined(QT_OPENGL_ES)
@@ -265,6 +269,7 @@ AbstractRenderer *DeviceManager::createVideoRenderer(VideoWidget *parent)
#endif
return new WidgetRenderer(parent);
}
+#endif //QT_NO_PHONON_VIDEO
/*
* Returns a positive device id or -1 if device
diff --git a/src/3rdparty/phonon/gstreamer/effect.cpp b/src/3rdparty/phonon/gstreamer/effect.cpp
index f653535..4937246 100644
--- a/src/3rdparty/phonon/gstreamer/effect.cpp
+++ b/src/3rdparty/phonon/gstreamer/effect.cpp
@@ -25,8 +25,8 @@
#include <gst/gst.h>
+#ifndef QT_NO_PHONON_EFFECT
QT_BEGIN_NAMESPACE
-
namespace Phonon
{
namespace Gstreamer
@@ -241,6 +241,6 @@ void Effect::setParameterValue(const EffectParameter &p, const QVariant &v)
}
} //namespace Phonon::Gstreamer
-
QT_END_NAMESPACE
+#endif //QT_NO_PHONON_EFFECT
#include "moc_effect.cpp"
diff --git a/src/3rdparty/phonon/gstreamer/effect.h b/src/3rdparty/phonon/gstreamer/effect.h
index dbbb457..51cbe9c 100644
--- a/src/3rdparty/phonon/gstreamer/effect.h
+++ b/src/3rdparty/phonon/gstreamer/effect.h
@@ -28,8 +28,8 @@
#include <gst/gst.h>
+#ifndef QT_NO_PHONON_EFFECT
QT_BEGIN_NAMESPACE
-
namespace Phonon
{
namespace Gstreamer
@@ -58,7 +58,7 @@ namespace Gstreamer
QList<Phonon::EffectParameter> m_parameterList;
};
}} //namespace Phonon::Gstreamer
-
QT_END_NAMESPACE
+#endif //QT_NO_PHONON_EFFECT
#endif // Phonon_GSTREAMER_EFFECT_H
diff --git a/src/3rdparty/phonon/gstreamer/mediaobject.cpp b/src/3rdparty/phonon/gstreamer/mediaobject.cpp
index 5dcbd42..5713263 100644
--- a/src/3rdparty/phonon/gstreamer/mediaobject.cpp
+++ b/src/3rdparty/phonon/gstreamer/mediaobject.cpp
@@ -87,7 +87,7 @@ MediaObject::MediaObject(Backend *backend, QObject *parent)
m_name = "MediaObject" + QString::number(count++);
if (!m_backend->isValid()) {
- setError(tr("Cannot start playback. \n\nCheck your Gstreamer installation and make sure you "
+ setError(tr("Cannot start playback. \n\nCheck your GStreamer installation and make sure you "
"\nhave libgstreamer-plugins-base installed."), Phonon::FatalError);
} else {
m_root = this;
@@ -226,6 +226,7 @@ void MediaObject::cb_unknown_type (GstElement *decodebin, GstPad *pad, GstCaps *
QString value = "unknown codec";
// These functions require GStreamer > 0.10.12
+#ifndef QT_NO_LIBRARY
static Ptr_gst_pb_utils_init p_gst_pb_utils_init = 0;
static Ptr_gst_pb_utils_get_codec_description p_gst_pb_utils_get_codec_description = 0;
if (!p_gst_pb_utils_init) {
@@ -239,10 +240,13 @@ void MediaObject::cb_unknown_type (GstElement *decodebin, GstPad *pad, GstCaps *
codecName = p_gst_pb_utils_get_codec_description (caps);
value = QString::fromUtf8(codecName);
g_free (codecName);
- } else {
+ } else
+#endif //QT_NO_LIBRARY
+ {
// For GStreamer versions < 0.10.12
GstStructure *str = gst_caps_get_structure (caps, 0);
value = QString::fromUtf8(gst_structure_get_name (str));
+
}
media->addMissingCodecName(value);
}
@@ -392,6 +396,7 @@ bool MediaObject::createPipefromURL(const QUrl &url)
*/
bool MediaObject::createPipefromStream(const MediaSource &source)
{
+#ifndef QT_NO_PHONON_ABSTRACTMEDIASTREAM
// Remove any existing data source
if (m_datasource) {
gst_bin_remove(GST_BIN(m_pipeline), m_datasource);
@@ -413,6 +418,10 @@ bool MediaObject::createPipefromStream(const MediaSource &source)
return false;
}
return true;
+#else //QT_NO_PHONON_ABSTRACTMEDIASTREAM
+ Q_UNUSED(source);
+ return false;
+#endif
}
void MediaObject::createPipeline()
diff --git a/src/3rdparty/phonon/gstreamer/phononsrc.cpp b/src/3rdparty/phonon/gstreamer/phononsrc.cpp
index f893fb5..97d7220 100644
--- a/src/3rdparty/phonon/gstreamer/phononsrc.cpp
+++ b/src/3rdparty/phonon/gstreamer/phononsrc.cpp
@@ -109,18 +109,25 @@ static void phonon_src_class_init (PhononSrcClass * klass)
static void phonon_src_init (PhononSrc * src, PhononSrcClass * g_class)
{
Q_UNUSED(g_class);
+#ifndef QT_NO_PHONON_ABSTRACTMEDIASTREAM
src->device = 0;
+#else
+ Q_UNUSED(src);
+#endif
}
static void phonon_src_finalize (GObject * object)
{
+#ifndef QT_NO_PHONON_ABSTRACTMEDIASTREAM
PhononSrc *src;
src = GST_PHONON_SRC (object);
delete src->device;
src->device = 0;
+#endif //QT_NO_PHONON_ABSTRACTMEDIASTREAM
G_OBJECT_CLASS (parent_class)->finalize (object);
}
+#ifndef QT_NO_PHONON_ABSTRACTMEDIASTREAM
static gboolean phonon_src_set_device(PhononSrc * src, StreamReader* device)
{
GstState state;
@@ -145,6 +152,7 @@ wrong_state:
return FALSE;
}
}
+#endif //QT_NO_PHONON_ABSTRACTMEDIASTREAM
static void phonon_src_set_property (GObject * object, guint prop_id, const GValue * value, GParamSpec * pspec)
{
@@ -153,6 +161,7 @@ static void phonon_src_set_property (GObject * object, guint prop_id, const GVal
src = GST_PHONON_SRC (object);
switch (prop_id) {
+#ifndef QT_NO_PHONON_ABSTRACTMEDIASTREAM
case ARG_PHONONSRC:
{
StreamReader *dev = (StreamReader*)(g_value_get_pointer(value));
@@ -160,6 +169,9 @@ static void phonon_src_set_property (GObject * object, guint prop_id, const GVal
phonon_src_set_device(src, dev);
break;
}
+#else
+ Q_UNUSED(value);
+#endif //QT_NO_PHONON_ABSTRACTMEDIASTREAM
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
break;
@@ -174,9 +186,13 @@ static void phonon_src_get_property (GObject * object, guint prop_id, GValue * v
src = GST_PHONON_SRC (object);
switch (prop_id) {
+#ifndef QT_NO_PHONON_ABSTRACTMEDIASTREAM
case ARG_PHONONSRC:
g_value_set_pointer(value, src->device);
break;
+#else //QT_NO_PHONON_ABSTRACTMEDIASTREAM
+ Q_UNUSED(value);
+#endif //QT_NO_PHONON_ABSTRACTMEDIASTREAM
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
break;
@@ -185,6 +201,7 @@ static void phonon_src_get_property (GObject * object, guint prop_id, GValue * v
static GstFlowReturn phonon_src_create_read (PhononSrc * src, guint64 offset, guint length, GstBuffer ** buffer)
{
+#ifndef QT_NO_PHONON_ABSTRACTMEDIASTREAM
Q_ASSERT(src->device);
if (!src->device)
return GST_FLOW_ERROR;
@@ -204,6 +221,13 @@ static GstFlowReturn phonon_src_create_read (PhononSrc * src, guint64 offset, gu
gst_mini_object_unref(GST_MINI_OBJECT(buf));
return GST_FLOW_ERROR;
+#else //QT_NO_PHONON_ABSTRACTMEDIASTREAM
+ Q_UNUSED(src);
+ Q_UNUSED(offset);
+ Q_UNUSED(length);
+ Q_UNUSED(buffer);
+ return GST_FLOW_ERROR;
+#endif //QT_NO_PHONON_ABSTRACTMEDIASTREAM
}
static GstFlowReturn phonon_src_create (GstBaseSrc * basesrc, guint64 offset, guint length, GstBuffer ** buffer)
@@ -218,19 +242,23 @@ static GstFlowReturn phonon_src_create (GstBaseSrc * basesrc, guint64 offset, gu
static gboolean phonon_src_is_seekable (GstBaseSrc * basesrc)
{
PhononSrc *src = GST_PHONON_SRC (basesrc);
+#ifndef QT_NO_PHONON_ABSTRACTMEDIASTREAM
if (src->device)
return src->device->streamSeekable();
+#endif //QT_NO_PHONON_ABSTRACTMEDIASTREAM
return false;
}
static gboolean phonon_src_get_size (GstBaseSrc * basesrc, guint64 * size)
{
+#ifndef QT_NO_PHONON_ABSTRACTMEDIASTREAM
PhononSrc *src;
src = GST_PHONON_SRC (basesrc);
if (src->device && src->device->streamSeekable()) {
*size = src->device->streamSize();
return TRUE;
}
+#endif //QT_NO_PHONON_ABSTRACTMEDIASTREAM
*size = 0;
return FALSE;
}
diff --git a/src/3rdparty/phonon/gstreamer/phononsrc.h b/src/3rdparty/phonon/gstreamer/phononsrc.h
index a2cd8b3..a50f8a2 100644
--- a/src/3rdparty/phonon/gstreamer/phononsrc.h
+++ b/src/3rdparty/phonon/gstreamer/phononsrc.h
@@ -49,7 +49,9 @@ typedef struct _PhononSrcClass PhononSrcClass;
// PhononSrc:
struct _PhononSrc {
GstBaseSrc element;
+#ifndef QT_NO_PHONON_ABSTRACTMEDIASTREAM
StreamReader *device;
+#endif //QT_NO_PHONON_ABSTRACTMEDIASTREAM
};
struct _PhononSrcClass {
diff --git a/src/3rdparty/phonon/gstreamer/streamreader.cpp b/src/3rdparty/phonon/gstreamer/streamreader.cpp
index 04fa6cc..f8219e6 100644
--- a/src/3rdparty/phonon/gstreamer/streamreader.cpp
+++ b/src/3rdparty/phonon/gstreamer/streamreader.cpp
@@ -20,7 +20,7 @@ along with this library. If not, see <http://www.gnu.org/licenses/>.
#include <phonon/streaminterface.h>
QT_BEGIN_NAMESPACE
-
+#ifndef QT_NO_PHONON_ABSTRACTMEDIASTREAM
namespace Phonon
{
namespace Gstreamer
@@ -49,5 +49,6 @@ bool StreamReader::read(quint64 pos, int length, char * buffer)
}
}
+#endif //QT_NO_PHONON_ABSTRACTMEDIASTREAM
QT_END_NAMESPACE
diff --git a/src/3rdparty/phonon/gstreamer/streamreader.h b/src/3rdparty/phonon/gstreamer/streamreader.h
index c2e61c8..387370c 100644
--- a/src/3rdparty/phonon/gstreamer/streamreader.h
+++ b/src/3rdparty/phonon/gstreamer/streamreader.h
@@ -23,6 +23,8 @@ along with this library. If not, see <http://www.gnu.org/licenses/>.
QT_BEGIN_NAMESPACE
+#ifndef QT_NO_PHONON_ABSTRACTMEDIASTREAM
+
namespace Phonon
{
class MediaSource;
@@ -91,6 +93,8 @@ private:
}
}
+#endif //QT_NO_PHONON_ABSTRACTMEDIASTREAM
+
QT_END_NAMESPACE
#endif
diff --git a/src/3rdparty/phonon/gstreamer/videowidget.cpp b/src/3rdparty/phonon/gstreamer/videowidget.cpp
index efc750a..e1f0ec9 100644
--- a/src/3rdparty/phonon/gstreamer/videowidget.cpp
+++ b/src/3rdparty/phonon/gstreamer/videowidget.cpp
@@ -33,6 +33,7 @@
#include "widgetrenderer.h"
#include "x11renderer.h"
+#ifndef QT_NO_PHONON_VIDEO
QT_BEGIN_NAMESPACE
namespace Phonon
@@ -383,5 +384,6 @@ void VideoWidget::mediaNodeEvent(const MediaNodeEvent *event)
} //namespace Phonon::Gstreamer
QT_END_NAMESPACE
+#endif //QT_NO_PHONON_VIDEO
#include "moc_videowidget.cpp"
diff --git a/src/3rdparty/phonon/gstreamer/videowidget.h b/src/3rdparty/phonon/gstreamer/videowidget.h
index a0ebe5f..dc0754d 100644
--- a/src/3rdparty/phonon/gstreamer/videowidget.h
+++ b/src/3rdparty/phonon/gstreamer/videowidget.h
@@ -28,6 +28,7 @@
#include <gst/gst.h>
+#ifndef QT_NO_PHONON_VIDEO
QT_BEGIN_NAMESPACE
class QString;
@@ -102,5 +103,5 @@ private:
} //namespace Phonon::Gstreamer
QT_END_NAMESPACE
-
+#endif //QT_NO_PHONON_VIDEO
#endif // Phonon_GSTREAMER_VIDEOWIDGET_H
diff --git a/src/3rdparty/phonon/gstreamer/volumefadereffect.cpp b/src/3rdparty/phonon/gstreamer/volumefadereffect.cpp
index d7ee11b..bf0d646 100644
--- a/src/3rdparty/phonon/gstreamer/volumefadereffect.cpp
+++ b/src/3rdparty/phonon/gstreamer/volumefadereffect.cpp
@@ -21,11 +21,11 @@
QT_BEGIN_NAMESPACE
+#ifndef QT_NO_PHONON_VOLUMEFADEREFFECT
namespace Phonon
{
namespace Gstreamer
{
-
VolumeFaderEffect::VolumeFaderEffect(Backend *backend, QObject *parent)
: Effect(backend, parent, AudioSource | AudioSink)
, m_fadeCurve(Phonon::VolumeFaderEffect::Fade3Decibel)
@@ -156,7 +156,7 @@ bool VolumeFaderEffect::event(QEvent *event)
}
}} //namespace Phonon::Gstreamer
-
+#endif //QT_NO_PHONON_VOLUMEFADEREFFECT
QT_END_NAMESPACE
#include "moc_volumefadereffect.cpp"
diff --git a/src/3rdparty/phonon/gstreamer/volumefadereffect.h b/src/3rdparty/phonon/gstreamer/volumefadereffect.h
index d74014c..748d2d6 100644
--- a/src/3rdparty/phonon/gstreamer/volumefadereffect.h
+++ b/src/3rdparty/phonon/gstreamer/volumefadereffect.h
@@ -30,7 +30,7 @@
#include <gst/gst.h>
QT_BEGIN_NAMESPACE
-
+#ifndef QT_NO_PHONON_VOLUMEFADEREFFECT
namespace Phonon
{
namespace Gstreamer
@@ -64,7 +64,7 @@ namespace Gstreamer
QTime m_fadeStartTime;
};
}} //namespace Phonon::Gstreamer
-
+#endif //QT_NO_PHONON_VOLUMEFADEREFFECT
QT_END_NAMESPACE
#endif // Phonon_GSTREAMER_VOLUMEFADEREFFECT_H
diff --git a/src/3rdparty/phonon/gstreamer/widgetrenderer.cpp b/src/3rdparty/phonon/gstreamer/widgetrenderer.cpp
index d4a411f..423af9d 100644
--- a/src/3rdparty/phonon/gstreamer/widgetrenderer.cpp
+++ b/src/3rdparty/phonon/gstreamer/widgetrenderer.cpp
@@ -32,6 +32,7 @@
# define GL_TEXTURE2 0x84C2
#endif
+#ifndef QT_NO_PHONON_VIDEO
QT_BEGIN_NAMESPACE
static void frameRendered()
@@ -148,3 +149,4 @@ bool WidgetRenderer::eventFilter(QEvent * event)
} //namespace Phonon::Gstreamer
QT_END_NAMESPACE
+#endif //QT_NO_PHONON_VIDEO
diff --git a/src/3rdparty/phonon/gstreamer/widgetrenderer.h b/src/3rdparty/phonon/gstreamer/widgetrenderer.h
index ff64fa7..03ee9c0 100644
--- a/src/3rdparty/phonon/gstreamer/widgetrenderer.h
+++ b/src/3rdparty/phonon/gstreamer/widgetrenderer.h
@@ -26,6 +26,7 @@
#include <QtOpenGL/QGLWidget>
#endif
+#ifndef QT_NO_PHONON_VIDEO
QT_BEGIN_NAMESPACE
class QString;
@@ -59,5 +60,5 @@ private:
} //namespace Phonon::Gstreamer
QT_END_NAMESPACE
-
+#endif //QT_NO_PHONON_VIDEO
#endif // Phonon_GSTREAMER_WIDGETRENDERER_H
diff --git a/src/3rdparty/phonon/mmf/abstractmediaplayer.cpp b/src/3rdparty/phonon/mmf/abstractmediaplayer.cpp
index af2c31e..f2efaa0 100644
--- a/src/3rdparty/phonon/mmf/abstractmediaplayer.cpp
+++ b/src/3rdparty/phonon/mmf/abstractmediaplayer.cpp
@@ -318,7 +318,8 @@ void MMF::AbstractMediaPlayer::doVolumeChanged()
case PausedState:
case PlayingState:
case BufferingState: {
- const int err = setDeviceVolume(m_volume * m_mmfMaxVolume);
+ const qreal volume = (m_volume * m_mmfMaxVolume) + 0.5;
+ const int err = setDeviceVolume(volume);
if (KErrNone != err) {
setError(NormalError);
@@ -359,26 +360,27 @@ qint64 MMF::AbstractMediaPlayer::toMilliSeconds(const TTimeIntervalMicroSeconds
return in.Int64() / 1000;
}
-void MMF::AbstractMediaPlayer::changeState(PrivateState newState)
+//-----------------------------------------------------------------------------
+// Slots
+//-----------------------------------------------------------------------------
+
+void MMF::AbstractMediaPlayer::tick()
{
- TRACE_CONTEXT(AbstractPlayer::changeState, EAudioInternal);
- TRACE_ENTRY("state %d newState %d", privateState(), newState);
+ // For the MWC compiler, we need to qualify the base class.
+ emit MMF::AbstractPlayer::tick(currentTime());
+}
- // TODO: add some invariants to check that the transition is valid
+void MMF::AbstractMediaPlayer::changeState(PrivateState newState)
+{
+ TRACE_CONTEXT(AbstractMediaPlayer::changeState, EAudioInternal);
const Phonon::State oldPhononState = phononState(privateState());
const Phonon::State newPhononState = phononState(newState);
- if (oldPhononState != newPhononState) {
- TRACE("emit stateChanged(%d, %d)", newPhononState, oldPhononState);
- emit stateChanged(newPhononState, oldPhononState);
- }
- setState(newState);
+ // TODO: add some invariants to check that the transition is valid
+ AbstractPlayer::changeState(newState);
- if (
- LoadingState == oldPhononState
- and StoppedState == newPhononState
- ) {
+ if (LoadingState == oldPhononState && StoppedState == newPhononState) {
// Ensure initial volume is set on MMF API before starting playback
doVolumeChanged();
@@ -390,18 +392,28 @@ void MMF::AbstractMediaPlayer::changeState(PrivateState newState)
play();
}
}
-
- TRACE_EXIT_0();
}
-//-----------------------------------------------------------------------------
-// Slots
-//-----------------------------------------------------------------------------
-
-void MMF::AbstractMediaPlayer::tick()
+void MMF::AbstractMediaPlayer::updateMetaData()
{
- // For the MWC compiler, we need to qualify the base class.
- emit MMF::AbstractPlayer::tick(currentTime());
+ TRACE_CONTEXT(AbstractMediaPlayer::updateMetaData, EAudioInternal);
+ TRACE_ENTRY_0();
+
+ m_metaData.clear();
+
+ const int numberOfEntries = numberOfMetaDataEntries();
+ for(int i=0; i<numberOfEntries; ++i) {
+ const QPair<QString, QString> entry = metaDataEntry(i);
+
+ // Note that we capitalize the key, as required by the Ogg Vorbis
+ // metadata standard to which Phonon adheres:
+ // http://xiph.org/vorbis/doc/v-comment.html
+ m_metaData.insert(entry.first.toUpper(), entry.second);
+ }
+
+ emit metaDataChanged(m_metaData);
+
+ TRACE_EXIT_0();
}
QT_END_NAMESPACE
diff --git a/src/3rdparty/phonon/mmf/abstractmediaplayer.h b/src/3rdparty/phonon/mmf/abstractmediaplayer.h
index 698b899..cff7bab 100644
--- a/src/3rdparty/phonon/mmf/abstractmediaplayer.h
+++ b/src/3rdparty/phonon/mmf/abstractmediaplayer.h
@@ -71,12 +71,12 @@ protected:
virtual int setDeviceVolume(int mmfVolume) = 0;
virtual int openFile(RFile& file) = 0;
virtual void close() = 0;
-
- /**
- * Changes state and emits stateChanged()
- */
virtual void changeState(PrivateState newState);
+ void updateMetaData();
+ virtual int numberOfMetaDataEntries() const = 0;
+ virtual QPair<QString, QString> metaDataEntry(int index) const = 0;
+
protected:
bool tickTimerRunning() const;
void startTickTimer();
@@ -109,6 +109,8 @@ private:
MediaSource m_source;
MediaSource m_nextSource;
+ QMultiMap<QString, QString> m_metaData;
+
};
}
}
diff --git a/src/3rdparty/phonon/mmf/abstractplayer.cpp b/src/3rdparty/phonon/mmf/abstractplayer.cpp
index e3c0ecb..de2722d 100644
--- a/src/3rdparty/phonon/mmf/abstractplayer.cpp
+++ b/src/3rdparty/phonon/mmf/abstractplayer.cpp
@@ -118,12 +118,14 @@ void MMF::AbstractPlayer::videoOutputChanged()
// Default behaviour is empty - overridden by VideoPlayer
}
-void MMF::AbstractPlayer::setError(Phonon::ErrorType error)
+void MMF::AbstractPlayer::setError(Phonon::ErrorType error,
+ const QString &errorMessage)
{
TRACE_CONTEXT(AbstractPlayer::setError, EAudioInternal);
TRACE_ENTRY("state %d error %d", m_state, error);
m_error = error;
+ m_errorString = errorMessage;
changeState(ErrorState);
TRACE_EXIT_0();
@@ -138,9 +140,7 @@ Phonon::ErrorType MMF::AbstractPlayer::errorType() const
QString MMF::AbstractPlayer::errorString() const
{
- // TODO: put in proper error strings
- QString result;
- return result;
+ return m_errorString;
}
Phonon::State MMF::AbstractPlayer::phononState() const
@@ -173,5 +173,29 @@ void MMF::AbstractPlayer::setState(PrivateState newState)
m_state = newState;
}
+void MMF::AbstractPlayer::changeState(PrivateState newState)
+{
+ TRACE_CONTEXT(AbstractPlayer::changeState, EAudioInternal);
+ TRACE_ENTRY("state %d newState %d", privateState(), newState);
+
+ // TODO: add some invariants to check that the transition is valid
+
+ const Phonon::State oldPhononState = phononState(privateState());
+
+ // We need to change the state before we emit stateChanged(), because
+ // some user code, for instance the mediaplayer, switch on MediaObject's
+ // state.
+ setState(newState);
+
+ const Phonon::State newPhononState = phononState(newState);
+
+ if (oldPhononState != newPhononState) {
+ TRACE("emit stateChanged(%d, %d)", newPhononState, oldPhononState);
+ emit stateChanged(newPhononState, oldPhononState);
+ }
+
+ TRACE_EXIT_0();
+}
+
QT_END_NAMESPACE
diff --git a/src/3rdparty/phonon/mmf/abstractplayer.h b/src/3rdparty/phonon/mmf/abstractplayer.h
index 08558cf..66496cc 100644
--- a/src/3rdparty/phonon/mmf/abstractplayer.h
+++ b/src/3rdparty/phonon/mmf/abstractplayer.h
@@ -93,16 +93,18 @@ public:
/**
* Records error and changes state to ErrorState
*/
- void setError(Phonon::ErrorType error);
+ void setError(Phonon::ErrorType error,
+ const QString &errorMessage = QString());
Phonon::State state() const;
+
Q_SIGNALS:
void totalTimeChanged(qint64 length);
void finished();
void tick(qint64 time);
void stateChanged(Phonon::State oldState,
Phonon::State newState);
-
+ void metaDataChanged(const QMultiMap<QString, QString>& metaData);
protected:
/**
@@ -132,7 +134,10 @@ protected:
PrivateState privateState() const;
- virtual void changeState(PrivateState newState) = 0;
+ /**
+ * Changes state and emits stateChanged()
+ */
+ virtual void changeState(PrivateState newState);
/**
* Modifies m_state directly. Typically you want to call changeState(),
@@ -152,6 +157,7 @@ protected:
private:
PrivateState m_state;
Phonon::ErrorType m_error;
+ QString m_errorString;
qint32 m_tickInterval;
qint32 m_transitionTime;
qint32 m_prefinishMark;
diff --git a/src/3rdparty/phonon/mmf/ancestormovemonitor.cpp b/src/3rdparty/phonon/mmf/ancestormovemonitor.cpp
new file mode 100644
index 0000000..0447d57
--- /dev/null
+++ b/src/3rdparty/phonon/mmf/ancestormovemonitor.cpp
@@ -0,0 +1,175 @@
+/* This file is part of the KDE project.
+
+Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+
+This library is free software: you can redistribute it and/or modify
+it under the terms of the GNU Lesser General Public License as published by
+the Free Software Foundation, either version 2.1 or 3 of the License.
+
+This library is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Lesser General Public License for more details.
+
+You should have received a copy of the GNU Lesser General Public License
+along with this library. If not, see <http://www.gnu.org/licenses/>.
+
+*/
+
+#include "ancestormovemonitor.h"
+#include "utils.h"
+#include "videooutput.h"
+
+#include <QCoreApplication>
+
+QT_BEGIN_NAMESPACE
+
+using namespace Phonon::MMF;
+
+/*! \class MMF::AncestorMoveMonitor
+ \internal
+ \brief Class which installs a global event filter, and listens for move
+ events which may affect the absolute position of widgets registered with
+ the monitor
+ See QTBUG-4956
+*/
+
+//-----------------------------------------------------------------------------
+// Constructor / destructor
+//-----------------------------------------------------------------------------
+
+AncestorMoveMonitor::AncestorMoveMonitor(QObject *parent)
+ : QObject(parent)
+{
+ QCoreApplication::instance()->installEventFilter(this);
+}
+
+AncestorMoveMonitor::~AncestorMoveMonitor()
+{
+ QCoreApplication::instance()->removeEventFilter(this);
+}
+
+
+//-----------------------------------------------------------------------------
+// Public functions
+//-----------------------------------------------------------------------------
+
+void AncestorMoveMonitor::registerTarget(VideoOutput *target)
+{
+ TRACE_CONTEXT(AncestorMoveMonitor::registerTarget, EVideoInternal);
+ TRACE_ENTRY("target 0x%08x", target);
+
+ // First un-register the target, in case this is being called as a result
+ // of re-parenting. This is not the most efficient way to update the
+ // target hash, but since this is not likely to be a frequent operation,
+ // simplicity is preferred over outright speed. In any case, re-parenting
+ // of the video widget leads to re-creation of native windows, which is
+ // likely to take far more processing than any implementation of this
+ // function.
+ unRegisterTarget(target);
+
+ QWidget *ancestor = target->parentWidget();
+ while(ancestor) {
+ const Hash::iterator it = m_hash.find(ancestor);
+ if(m_hash.end() == it) {
+ TargetList targetList;
+ targetList.append(target);
+ m_hash.insert(ancestor, targetList);
+ } else {
+ TargetList& targetList = it.value();
+ Q_ASSERT(targetList.indexOf(target) == -1);
+ targetList.append(target);
+ }
+ ancestor = ancestor->parentWidget();
+ }
+
+ dump();
+
+ TRACE_EXIT_0();
+}
+
+void AncestorMoveMonitor::unRegisterTarget(VideoOutput *target)
+{
+ TRACE_CONTEXT(AncestorMoveMonitor::unRegisterTarget, EVideoInternal);
+ TRACE_ENTRY("target 0x%08x", target);
+
+ Hash::iterator it = m_hash.begin();
+ while(it != m_hash.end()) {
+ TargetList& targetList = it.value();
+ const int index = targetList.indexOf(target);
+ if(index != -1)
+ targetList.removeAt(index);
+ if(targetList.count())
+ ++it;
+ else
+ it = m_hash.erase(it);
+ }
+
+ dump();
+
+ TRACE_EXIT_0();
+}
+
+bool AncestorMoveMonitor::eventFilter(QObject *watched, QEvent *event)
+{
+ TRACE_CONTEXT(AncestorMoveMonitor::eventFilter, EVideoInternal);
+
+ if(event->type() == QEvent::Move || event->type() == QEvent::ParentChange) {
+
+ //TRACE_ENTRY("watched 0x%08x event.type %d", watched, event->type());
+
+ const Hash::const_iterator it = m_hash.find(watched);
+ if(it != m_hash.end()) {
+ const TargetList& targetList = it.value();
+ VideoOutput* target = 0;
+ foreach(target, targetList) {
+ switch (event->type()) {
+
+ case QEvent::Move:
+ // Notify the target that its ancestor has moved
+ target->ancestorMoved();
+ break;
+
+ case QEvent::ParentChange:
+ // Update ancestor list for the target
+ registerTarget(target);
+ break;
+
+ default:
+ Q_ASSERT(false);
+ }
+ }
+ }
+
+ //TRACE_EXIT_0();
+ }
+
+ // The event is never consumed by this filter
+ return false;
+}
+
+//-----------------------------------------------------------------------------
+// Private functions
+//-----------------------------------------------------------------------------
+
+void AncestorMoveMonitor::dump()
+{
+#ifndef QT_NO_DEBUG
+ TRACE_CONTEXT(AncestorMoveMonitor::dump, EVideoInternal);
+ for(Hash::const_iterator it = m_hash.begin();
+ it != m_hash.end(); ++it) {
+ const QObject *ancestor = it.key();
+ TRACE("ancestor 0x%08x", ancestor);
+ const TargetList& targetList = it.value();
+ VideoOutput* target = 0;
+ foreach(target, targetList) {
+ TRACE(" target 0x%08x", target);
+ }
+ }
+#endif
+}
+
+
+
+QT_END_NAMESPACE
+
diff --git a/src/3rdparty/phonon/mmf/ancestormovemonitor.h b/src/3rdparty/phonon/mmf/ancestormovemonitor.h
new file mode 100644
index 0000000..0e681aa
--- /dev/null
+++ b/src/3rdparty/phonon/mmf/ancestormovemonitor.h
@@ -0,0 +1,95 @@
+/* This file is part of the KDE project.
+
+Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+
+This library is free software: you can redistribute it and/or modify
+it under the terms of the GNU Lesser General Public License as published by
+the Free Software Foundation, either version 2.1 or 3 of the License.
+
+This library is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Lesser General Public License for more details.
+
+You should have received a copy of the GNU Lesser General Public License
+along with this library. If not, see <http://www.gnu.org/licenses/>.
+
+*/
+
+#ifndef PHONON_MMF_ANCESTORMOVEMONITOR_H
+#define PHONON_MMF_ANCESTORMOVEMONITOR_H
+
+#include <QObject>
+#include <QHash>
+#include <QList>
+
+QT_BEGIN_NAMESPACE
+
+namespace Phonon
+{
+namespace MMF
+{
+class VideoOutput;
+
+class AncestorMoveMonitor : public QObject
+{
+ Q_OBJECT
+
+public:
+ explicit AncestorMoveMonitor(QObject *parent);
+ ~AncestorMoveMonitor();
+
+ /**
+ * Register target widget for notification.
+ *
+ * The widget receives an ancestorMoveEvent callback when a move event
+ * is delivered to any of its ancestors:
+ *
+ * If the target is already registered, this function causes its
+ * ancestor list to be updated - therefore it should be called when
+ * the target receives a ParentChange event.
+ */
+ void registerTarget(VideoOutput *target);
+
+ /**
+ * Remove target from the monitor.
+ *
+ * The target will no longer receive notification when move events are
+ * delivered to its ancestors.
+ */
+ void unRegisterTarget(VideoOutput *target);
+
+protected:
+ /**
+ * Function which receives events from the global event filter.
+ */
+ bool eventFilter(QObject *watched, QEvent *event);
+
+ void dump();
+
+private:
+ /**
+ * List of registered target widgets which descend from a given
+ * ancestor.
+ *
+ * Note that the members of the list should be non-redundant; this
+ * invariant is checked in debug builds. Semantically, the value is
+ * therefore a set, however we use QList rather than QSet for
+ * efficiency of iteration.
+ */
+ typedef QList<VideoOutput *> TargetList;
+
+ /**
+ * Map from widget on which the move event occurs, to widgets which
+ * descend from it and therefore need to be notified.
+ */
+ typedef QHash<QObject *, TargetList> Hash;
+ Hash m_hash;
+
+};
+}
+}
+
+QT_END_NAMESPACE
+
+#endif
diff --git a/src/3rdparty/phonon/mmf/audioplayer.cpp b/src/3rdparty/phonon/mmf/audioplayer.cpp
index 1d259a8..8fccfe6 100644
--- a/src/3rdparty/phonon/mmf/audioplayer.cpp
+++ b/src/3rdparty/phonon/mmf/audioplayer.cpp
@@ -182,8 +182,8 @@ void MMF::AudioPlayer::MapcInitComplete(TInt aError,
if (KErrNone == aError) {
maxVolumeChanged(m_player->MaxVolume());
-
emit totalTimeChanged(totalTime());
+ updateMetaData();
changeState(StoppedState);
} else {
// TODO: set different error states according to value of aError?
@@ -251,5 +251,24 @@ void MMF::AudioPlayer::MaloLoadingComplete()
#endif // QT_PHONON_MMF_AUDIO_DRM
+//-----------------------------------------------------------------------------
+// Private functions
+//-----------------------------------------------------------------------------
+
+int MMF::AudioPlayer::numberOfMetaDataEntries() const
+{
+ int numberOfEntries = 0;
+ m_player->GetNumberOfMetaDataEntries(numberOfEntries); // ignoring return code
+ return numberOfEntries;
+}
+
+QPair<QString, QString> MMF::AudioPlayer::metaDataEntry(int index) const
+{
+ CMMFMetaDataEntry *entry = 0;
+ QT_TRAP_THROWING(entry = m_player->GetMetaDataEntryL(index));
+ return QPair<QString, QString>(qt_TDesC2QString(entry->Name()), qt_TDesC2QString(entry->Value()));
+}
+
+
QT_END_NAMESPACE
diff --git a/src/3rdparty/phonon/mmf/audioplayer.h b/src/3rdparty/phonon/mmf/audioplayer.h
index 60ef436..bc60076 100644
--- a/src/3rdparty/phonon/mmf/audioplayer.h
+++ b/src/3rdparty/phonon/mmf/audioplayer.h
@@ -94,6 +94,10 @@ public:
private:
void construct();
+ // AbstractMediaPlayer
+ virtual int numberOfMetaDataEntries() const;
+ virtual QPair<QString, QString> metaDataEntry(int index) const;
+
private:
/**
* Using CPlayerType typedef in order to be able to easily switch between
diff --git a/src/3rdparty/phonon/mmf/backend.cpp b/src/3rdparty/phonon/mmf/backend.cpp
index f542ec9..cac27e3 100644
--- a/src/3rdparty/phonon/mmf/backend.cpp
+++ b/src/3rdparty/phonon/mmf/backend.cpp
@@ -24,6 +24,7 @@ along with this library. If not, see <http://www.gnu.org/licenses/>.
#include <apmstd.h> // for TDataType
#include "abstractaudioeffect.h"
+#include "ancestormovemonitor.h"
#include "audiooutput.h"
#include "audioplayer.h"
#include "backend.h"
@@ -45,7 +46,9 @@ using namespace Phonon::MMF;
\internal
*/
-Backend::Backend(QObject *parent) : QObject(parent)
+Backend::Backend(QObject *parent)
+ : QObject(parent)
+ , m_ancestorMoveMonitor(new AncestorMoveMonitor(this))
{
TRACE_CONTEXT(Backend::Backend, EBackend);
TRACE_ENTRY_0();
@@ -87,7 +90,7 @@ QObject *Backend::createObject(BackendInterface::Class c, QObject *parent, const
return EffectFactory::createAudioEffect(effect, parent);
}
case VideoWidgetClass:
- result = new VideoWidget(qobject_cast<QWidget *>(parent));
+ result = new VideoWidget(m_ancestorMoveMonitor.data(), qobject_cast<QWidget *>(parent));
break;
default:
diff --git a/src/3rdparty/phonon/mmf/backend.h b/src/3rdparty/phonon/mmf/backend.h
index 1886ae6..9e3d3b3 100644
--- a/src/3rdparty/phonon/mmf/backend.h
+++ b/src/3rdparty/phonon/mmf/backend.h
@@ -19,8 +19,11 @@ along with this library. If not, see <http://www.gnu.org/licenses/>.
#ifndef PHONON_MMF_BACKEND_H
#define PHONON_MMF_BACKEND_H
+#include "ancestormovemonitor.h"
+
#include <Phonon/MediaSource>
#include <Phonon/BackendInterface>
+#include <QScopedPointer>
QT_BEGIN_NAMESPACE
@@ -47,6 +50,10 @@ public:
Q_SIGNALS:
void objectDescriptionChanged(ObjectDescriptionType);
+
+private:
+ QScopedPointer<AncestorMoveMonitor> m_ancestorMoveMonitor;
+
};
}
}
diff --git a/src/3rdparty/phonon/mmf/dummyplayer.cpp b/src/3rdparty/phonon/mmf/dummyplayer.cpp
index bd21d20..e6f3855 100644
--- a/src/3rdparty/phonon/mmf/dummyplayer.cpp
+++ b/src/3rdparty/phonon/mmf/dummyplayer.cpp
@@ -87,11 +87,6 @@ qint64 MMF::DummyPlayer::currentTime() const
return 0;
}
-QString MMF::DummyPlayer::errorString() const
-{
- return QString();
-}
-
Phonon::ErrorType MMF::DummyPlayer::errorType() const
{
return Phonon::NoError;
@@ -127,9 +122,5 @@ void MMF::DummyPlayer::doSetTickInterval(qint32)
}
-void MMF::DummyPlayer::changeState(PrivateState)
-{
-}
-
QT_END_NAMESPACE
diff --git a/src/3rdparty/phonon/mmf/dummyplayer.h b/src/3rdparty/phonon/mmf/dummyplayer.h
index 9ff9f78..c6270c9 100644
--- a/src/3rdparty/phonon/mmf/dummyplayer.h
+++ b/src/3rdparty/phonon/mmf/dummyplayer.h
@@ -54,7 +54,6 @@ public:
virtual bool isSeekable() const;
virtual qint64 currentTime() const;
virtual Phonon::State state() const;
- virtual QString errorString() const;
virtual Phonon::ErrorType errorType() const;
virtual qint64 totalTime() const;
virtual MediaSource source() const;
@@ -64,9 +63,6 @@ public:
// AbstractPlayer
virtual void doSetTickInterval(qint32 interval);
-
-protected:
- virtual void changeState(PrivateState newState);
};
}
}
diff --git a/src/3rdparty/phonon/mmf/effectfactory.cpp b/src/3rdparty/phonon/mmf/effectfactory.cpp
index 214baa0..e9c5e27 100644
--- a/src/3rdparty/phonon/mmf/effectfactory.cpp
+++ b/src/3rdparty/phonon/mmf/effectfactory.cpp
@@ -62,9 +62,9 @@ QHash<QByteArray, QVariant> EffectFactory::audioEffectDescriptions(AbstractAudio
switch (type)
{
case AbstractAudioEffect::EffectAudioEqualizer:
- return constructEffectDescription(QCoreApplication::translate("Phonon::MMF::EffectFactory", "audio equalizer"), "Audio equalizer.");
+ return constructEffectDescription(QCoreApplication::translate("Phonon::MMF::EffectFactory", "Audio Equalizer"), "Audio equalizer.");
case AbstractAudioEffect::EffectBassBoost:
- return constructEffectDescription(QCoreApplication::translate("Phonon::MMF::EffectFactory", "Bass boost"), "Bass boost.");
+ return constructEffectDescription(QCoreApplication::translate("Phonon::MMF::EffectFactory", "Bass Boost"), "Bass boost.");
case AbstractAudioEffect::EffectDistanceAttenuation:
return constructEffectDescription(QCoreApplication::translate("Phonon::MMF::EffectFactory", "Distance Attenuation"), "Distance Attenuation.");
case AbstractAudioEffect::EffectEnvironmentalReverb:
diff --git a/src/3rdparty/phonon/mmf/mediaobject.cpp b/src/3rdparty/phonon/mmf/mediaobject.cpp
index 29ac2df..f004fd7 100644
--- a/src/3rdparty/phonon/mmf/mediaobject.cpp
+++ b/src/3rdparty/phonon/mmf/mediaobject.cpp
@@ -239,6 +239,7 @@ void MMF::MediaObject::createPlayer(const MediaSource &source)
const bool oldPlayerSeekable = oldPlayer->isSeekable();
Phonon::ErrorType error = NoError;
+ QString errorMessage;
// Determine media type
switch (source.type()) {
@@ -253,7 +254,7 @@ void MMF::MediaObject::createPlayer(const MediaSource &source)
mediaType = fileMediaType(url.toLocalFile());
}
else {
- TRACE_0("Network streaming not supported yet");
+ errorMessage = QLatin1String("Network streaming not supported yet");
error = NormalError;
}
}
@@ -286,7 +287,8 @@ void MMF::MediaObject::createPlayer(const MediaSource &source)
newPlayer = new DummyPlayer();
}
- newPlayer->setError(NormalError);
+ error = NormalError;
+ errorMessage = tr("Media type could not be determined");
break;
case MediaTypeAudio:
@@ -320,10 +322,13 @@ void MMF::MediaObject::createPlayer(const MediaSource &source)
connect(m_player.data(), SIGNAL(stateChanged(Phonon::State, Phonon::State)), SIGNAL(stateChanged(Phonon::State, Phonon::State)));
connect(m_player.data(), SIGNAL(finished()), SIGNAL(finished()));
connect(m_player.data(), SIGNAL(tick(qint64)), SIGNAL(tick(qint64)));
+ connect(m_player.data(), SIGNAL(metaDataChanged(const QMultiMap<QString, QString>&)), SIGNAL(metaDataChanged(const QMultiMap<QString, QString>&)));
- if (error != NoError ) {
- newPlayer = new DummyPlayer();
- newPlayer->setError(error);
+ // We need to call setError() after doing the connects, otherwise the
+ // error won't be received.
+ if (error != NoError) {
+ Q_ASSERT(m_player);
+ m_player->setError(error, errorMessage);
}
TRACE_EXIT_0();
diff --git a/src/3rdparty/phonon/mmf/mmf_videoplayer.cpp b/src/3rdparty/phonon/mmf/mmf_videoplayer.cpp
index d1d2337..ba7d005 100644
--- a/src/3rdparty/phonon/mmf/mmf_videoplayer.cpp
+++ b/src/3rdparty/phonon/mmf/mmf_videoplayer.cpp
@@ -110,6 +110,9 @@ MMF::VideoPlayer::~VideoPlayer()
TRACE_CONTEXT(VideoPlayer::~VideoPlayer, EVideoApi);
TRACE_ENTRY_0();
+ if (m_videoOutput)
+ m_videoOutput->setObserver(0);
+
TRACE_EXIT_0();
}
@@ -487,6 +490,19 @@ bool MMF::VideoPlayer::getNativeWindowSystemHandles()
TRACE_RETURN("changed %d", changed);
}
+int MMF::VideoPlayer::numberOfMetaDataEntries() const
+{
+ int numberOfEntries = 0;
+ TRAP_IGNORE(numberOfEntries = m_player->NumberOfMetaDataEntriesL());
+ return numberOfEntries;
+}
+
+QPair<QString, QString> MMF::VideoPlayer::metaDataEntry(int index) const
+{
+ CMMFMetaDataEntry *entry = 0;
+ QT_TRAP_THROWING(entry = m_player->MetaDataEntryL(index));
+ return QPair<QString, QString>(qt_TDesC2QString(entry->Name()), qt_TDesC2QString(entry->Value()));
+}
QT_END_NAMESPACE
diff --git a/src/3rdparty/phonon/mmf/mmf_videoplayer.h b/src/3rdparty/phonon/mmf/mmf_videoplayer.h
index 8072404..fa4e59b 100644
--- a/src/3rdparty/phonon/mmf/mmf_videoplayer.h
+++ b/src/3rdparty/phonon/mmf/mmf_videoplayer.h
@@ -86,6 +86,10 @@ private:
void updateMmfOutput();
+ // AbstractMediaPlayer
+ virtual int numberOfMetaDataEntries() const;
+ virtual QPair<QString, QString> metaDataEntry(int index) const;
+
private:
QScopedPointer<CVideoPlayerUtility> m_player;
diff --git a/src/3rdparty/phonon/mmf/videooutput.cpp b/src/3rdparty/phonon/mmf/videooutput.cpp
index f0393a7..5288b4d 100644
--- a/src/3rdparty/phonon/mmf/videooutput.cpp
+++ b/src/3rdparty/phonon/mmf/videooutput.cpp
@@ -16,6 +16,7 @@ along with this library. If not, see <http://www.gnu.org/licenses/>.
*/
+#include "ancestormovemonitor.h"
#include "utils.h"
#include "videooutput.h"
#include "videooutputobserver.h"
@@ -44,8 +45,10 @@ using namespace Phonon::MMF;
// Constructor / destructor
//-----------------------------------------------------------------------------
-MMF::VideoOutput::VideoOutput(QWidget* parent)
+MMF::VideoOutput::VideoOutput
+ (AncestorMoveMonitor* ancestorMoveMonitor, QWidget* parent)
: QWidget(parent)
+ , m_ancestorMoveMonitor(ancestorMoveMonitor)
, m_observer(0)
{
TRACE_CONTEXT(VideoOutput::VideoOutput, EVideoInternal);
@@ -63,6 +66,8 @@ MMF::VideoOutput::VideoOutput(QWidget* parent)
// to be invisible when running on the target device.
qt_widget_private(this)->extraData()->disableBlit = true;
+ registerForAncestorMoved();
+
dump();
TRACE_EXIT_0();
@@ -73,6 +78,8 @@ MMF::VideoOutput::~VideoOutput()
TRACE_CONTEXT(VideoOutput::~VideoOutput, EVideoInternal);
TRACE_ENTRY_0();
+ m_ancestorMoveMonitor->unRegisterTarget(this);
+
TRACE_EXIT_0();
}
@@ -97,6 +104,15 @@ void MMF::VideoOutput::setObserver(VideoOutputObserver* observer)
m_observer = observer;
}
+void MMF::VideoOutput::ancestorMoved()
+{
+ TRACE_CONTEXT(VideoOutput::ancestorMoved, EVideoInternal);
+ TRACE_ENTRY_0();
+
+ videoOutputRegionChanged();
+
+ TRACE_EXIT_0();
+}
//-----------------------------------------------------------------------------
// QWidget
@@ -154,8 +170,11 @@ bool MMF::VideoOutput::event(QEvent* event)
TRACE_0("WinIdChange");
videoOutputRegionChanged();
return true;
- }
- else
+ } else if (event->type() == QEvent::ParentChange) {
+ // Tell ancestor move monitor to update ancestor list for this widget
+ registerForAncestorMoved();
+ return true;
+ } else
return QWidget::event(event);
}
@@ -171,6 +190,11 @@ void MMF::VideoOutput::videoOutputRegionChanged()
m_observer->videoOutputRegionChanged();
}
+void MMF::VideoOutput::registerForAncestorMoved()
+{
+ m_ancestorMoveMonitor->registerTarget(this);
+}
+
void MMF::VideoOutput::dump() const
{
#ifndef QT_NO_DEBUG
diff --git a/src/3rdparty/phonon/mmf/videooutput.h b/src/3rdparty/phonon/mmf/videooutput.h
index 7bc0b52..db4d127 100644
--- a/src/3rdparty/phonon/mmf/videooutput.h
+++ b/src/3rdparty/phonon/mmf/videooutput.h
@@ -30,6 +30,7 @@ namespace Phonon
{
namespace MMF
{
+class AncestorMoveMonitor;
class VideoOutputObserver;
class VideoOutput : public QWidget
@@ -37,12 +38,14 @@ class VideoOutput : public QWidget
Q_OBJECT
public:
- explicit VideoOutput(QWidget* parent);
+ VideoOutput(AncestorMoveMonitor* ancestorMoveMonitor, QWidget* parent);
~VideoOutput();
void setFrameSize(const QSize& size);
void setObserver(VideoOutputObserver* observer);
+ void ancestorMoved();
+
protected:
// Override QWidget functions
QSize sizeHint() const;
@@ -55,11 +58,17 @@ private:
void dump() const;
void videoOutputRegionChanged();
+ void registerForAncestorMoved();
+
private:
- QSize m_frameSize;
+ // Not owned
+ AncestorMoveMonitor* m_ancestorMoveMonitor;
// Not owned
- VideoOutputObserver* m_observer;
+ VideoOutputObserver* m_observer;
+
+ QSize m_frameSize;
+
};
}
}
diff --git a/src/3rdparty/phonon/mmf/videowidget.cpp b/src/3rdparty/phonon/mmf/videowidget.cpp
index 8a5c9ff..7d7abf1 100644
--- a/src/3rdparty/phonon/mmf/videowidget.cpp
+++ b/src/3rdparty/phonon/mmf/videowidget.cpp
@@ -49,9 +49,10 @@ static const qreal DefaultSaturation = 1.0;
// Constructor / destructor
//-----------------------------------------------------------------------------
-MMF::VideoWidget::VideoWidget(QWidget* parent)
+MMF::VideoWidget::VideoWidget
+ (AncestorMoveMonitor* ancestorMoveMonitor, QWidget* parent)
: MediaNode(parent)
- , m_widget(new VideoOutput(parent))
+ , m_widget(new VideoOutput(ancestorMoveMonitor, parent))
, m_aspectRatio(DefaultAspectRatio)
, m_brightness(DefaultBrightness)
, m_scaleMode(DefaultScaleMode)
diff --git a/src/3rdparty/phonon/mmf/videowidget.h b/src/3rdparty/phonon/mmf/videowidget.h
index 970f749..318dfae 100644
--- a/src/3rdparty/phonon/mmf/videowidget.h
+++ b/src/3rdparty/phonon/mmf/videowidget.h
@@ -31,6 +31,7 @@ namespace Phonon
{
namespace MMF
{
+class AncestorMoveMonitor;
class VideoOutput;
class VideoWidget : public MediaNode
@@ -40,7 +41,7 @@ class VideoWidget : public MediaNode
Q_INTERFACES(Phonon::VideoWidgetInterface)
public:
- VideoWidget(QWidget* parent);
+ VideoWidget(AncestorMoveMonitor* ancestorMoveMonitor, QWidget* parent);
~VideoWidget();
// VideoWidgetInterface
diff --git a/src/3rdparty/phonon/phonon/factory.cpp b/src/3rdparty/phonon/phonon/factory.cpp
index 5c3752a..d5010e7 100644
--- a/src/3rdparty/phonon/phonon/factory.cpp
+++ b/src/3rdparty/phonon/phonon/factory.cpp
@@ -111,6 +111,7 @@ void Factory::setBackend(QObject *b)
bool FactoryPrivate::createBackend()
{
+#ifndef QT_NO_LIBRARY
Q_ASSERT(m_backendObject == 0);
#ifndef QT_NO_PHONON_PLATFORMPLUGIN
PlatformPlugin *f = globalFactory->platformPlugin();
@@ -186,14 +187,20 @@ bool FactoryPrivate::createBackend()
SLOT(objectDescriptionChanged(ObjectDescriptionType)));
return true;
+#else //QT_NO_LIBRARY
+ pWarning() << Q_FUNC_INFO << "Trying to use Phonon with QT_NO_LIBRARY defined. "
+ "That is currently not supported";
+ return false;
+#endif
}
FactoryPrivate::FactoryPrivate()
+ :
#ifndef QT_NO_PHONON_PLATFORMPLUGIN
- : m_platformPlugin(0),
- m_noPlatformPlugin(false)
+ m_platformPlugin(0),
+ m_noPlatformPlugin(false),
#endif //QT_NO_PHONON_PLATFORMPLUGIN
- , m_backendObject(0)
+ m_backendObject(0)
{
// Add the post routine to make sure that all other global statics (especially the ones from Qt)
// are still available. If the FactoryPrivate dtor is called too late many bad things can happen
@@ -442,6 +449,7 @@ QObject *Factory::backend(bool createWhenNull)
return globalFactory->m_backendObject;
}
+#ifndef QT_NO_PROPERTIES
#define GET_STRING_PROPERTY(name) \
QString Factory::name() \
{ \
@@ -457,7 +465,7 @@ GET_STRING_PROPERTY(backendComment)
GET_STRING_PROPERTY(backendVersion)
GET_STRING_PROPERTY(backendIcon)
GET_STRING_PROPERTY(backendWebsite)
-
+#endif //QT_NO_PROPERTIES
QObject *Factory::registerQObject(QObject *o)
{
if (o) {
diff --git a/src/3rdparty/phonon/phonon/globalconfig.cpp b/src/3rdparty/phonon/phonon/globalconfig.cpp
index d13e491..3718c6a 100644
--- a/src/3rdparty/phonon/phonon/globalconfig.cpp
+++ b/src/3rdparty/phonon/phonon/globalconfig.cpp
@@ -38,7 +38,10 @@ QT_BEGIN_NAMESPACE
namespace Phonon
{
-GlobalConfig::GlobalConfig() : m_config(QLatin1String("kde.org"), QLatin1String("libphonon"))
+GlobalConfig::GlobalConfig()
+#ifndef QT_NO_SETTINGS
+ : m_config(QLatin1String("kde.org"), QLatin1String("libphonon"))
+#endif //QT_NO_SETTINGS
{
}
@@ -82,6 +85,7 @@ static void filter(ObjectDescriptionType type, BackendInterface *backendIface, Q
}
}
+#ifndef QT_NO_PHONON_SETTINGSGROUP
static QList<int> listSortedByConfig(const QSettingsGroup &backendConfig, Phonon::Category category, QList<int> &defaultList)
{
if (defaultList.size() <= 1) {
@@ -126,7 +130,9 @@ static QList<int> listSortedByConfig(const QSettingsGroup &backendConfig, Phonon
return deviceList;
}
+#endif //QT_NO_PHONON_SETTINGSGROUP
+#ifndef QT_NO_PHONON_SETTINGSGROUP
QList<int> GlobalConfig::audioOutputDeviceListFor(Phonon::Category category, int override) const
{
//The devices need to be stored independently for every backend
@@ -172,7 +178,7 @@ QList<int> GlobalConfig::audioOutputDeviceListFor(Phonon::Category category, int
return listSortedByConfig(backendConfig, category, defaultList);
}
-
+#endif //QT_NO_SETTINGSGROUPS
int GlobalConfig::audioOutputDeviceFor(Phonon::Category category, int override) const
{
QList<int> ret = audioOutputDeviceListFor(category, override);
@@ -184,6 +190,7 @@ int GlobalConfig::audioOutputDeviceFor(Phonon::Category category, int override)
#ifndef QT_NO_PHONON_AUDIOCAPTURE
QList<int> GlobalConfig::audioCaptureDeviceListFor(Phonon::Category category, int override) const
{
+#ifndef QT_NO_PHONON_SETTINGSGROUP
//The devices need to be stored independently for every backend
const QSettingsGroup backendConfig(&m_config, QLatin1String("AudioCaptureDevice")); // + Factory::identifier());
const QSettingsGroup generalGroup(&m_config, QLatin1String("General"));
@@ -226,6 +233,9 @@ QList<int> GlobalConfig::audioCaptureDeviceListFor(Phonon::Category category, in
}
return listSortedByConfig(backendConfig, category, defaultList);
+#else //QT_NO_SETTINGSGROUP
+ return QList<int>();
+#endif //QT_NO_SETTINGSGROUP
}
int GlobalConfig::audioCaptureDeviceFor(Phonon::Category category, int override) const
diff --git a/src/3rdparty/phonon/phonon/globalconfig_p.h b/src/3rdparty/phonon/phonon/globalconfig_p.h
index 023858f..034bce3 100644
--- a/src/3rdparty/phonon/phonon/globalconfig_p.h
+++ b/src/3rdparty/phonon/phonon/globalconfig_p.h
@@ -46,7 +46,9 @@ namespace Phonon
AdvancedDevicesFromSettings = 2,
HideUnavailableDevices = 4
};
+#ifndef QT_NO_PHONON_SETTINGSGROUP
QList<int> audioOutputDeviceListFor(Phonon::Category category, int override = AdvancedDevicesFromSettings) const;
+#endif //QT_NO_PHONON_SETTINGSGROUP
int audioOutputDeviceFor(Phonon::Category category, int override = AdvancedDevicesFromSettings) const;
#ifndef QT_NO_PHONON_AUDIOCAPTURE
@@ -55,7 +57,9 @@ namespace Phonon
#endif //QT_NO_PHONON_AUDIOCAPTURE
protected:
+#ifndef QT_NO_SETTINGS
QSettings m_config;
+#endif //QT_NO_SETTINGS
};
} // namespace Phonon
diff --git a/src/3rdparty/phonon/phonon/qsettingsgroup_p.h b/src/3rdparty/phonon/phonon/qsettingsgroup_p.h
index 95f6c9b..501fe37 100644
--- a/src/3rdparty/phonon/phonon/qsettingsgroup_p.h
+++ b/src/3rdparty/phonon/phonon/qsettingsgroup_p.h
@@ -27,6 +27,8 @@
#include <QtCore/QString>
#include <QtCore/QVariant>
+#ifndef QT_NO_PHONON_SETTINGSGROUP
+
QT_BEGIN_HEADER
QT_BEGIN_NAMESPACE
@@ -87,5 +89,6 @@ class QSettingsGroup
QT_END_NAMESPACE
QT_END_HEADER
+#endif //QT_NO_PHONON_SETTINGSGROUP
#endif // PHONON_QSETTINGSGROUP_P_H
diff --git a/src/3rdparty/webkit/ChangeLog b/src/3rdparty/webkit/ChangeLog
index fb7dddf..dc43e0e 100644
--- a/src/3rdparty/webkit/ChangeLog
+++ b/src/3rdparty/webkit/ChangeLog
@@ -1,3 +1,45 @@
+2009-10-26 Holger Hans Peter Freyther <zecke@selfish.org>
+
+ Rubber-stamped by Darin Adler.
+
+ Export fastMalloc, fastCalloc, fastRealloc and fastFree
+ https://bugs.webkit.org/show_bug.cgi?id=30769
+
+ Export the FastMalloc functions outside of the libwebkit library
+ to be able to instrument memory allocations. These are C++ symbols
+ but do not require the C++ runtime to be useful and should be of
+ no harm to plain C code.
+
+ * autotools/symbols.filter:
+
+2009-10-26 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
+
+ Reviewed by Jan Alonzo.
+
+ Alternative solution to regression introduced in r48672.
+
+ * GNUmakefile.am:
+
+2009-10-26 Xan Lopez <xlopez@igalia.com>
+
+ Reviewed by Gustavo Noronha.
+
+ Update for 1.1.16 release.
+
+ * configure.ac:
+
+2009-10-24 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Holger Freyther.
+
+ [Qt] [Symbian] Set the capability and memory required to run QtWebKit for Symbian
+ https://bugs.webkit.org/show_bug.cgi?id=30476
+
+ Set the stack size to 80 Kb and heap size to the 128kB - 32MB range
+ to all executables linking against WebKit library.
+
+ * WebKit.pri:
+
2009-10-18 Jan Michael Alonzo <jmalonzo@webkit.org>
Reviewed by Holger Freyther.
diff --git a/src/3rdparty/webkit/JavaScriptCore/ChangeLog b/src/3rdparty/webkit/JavaScriptCore/ChangeLog
index 8d6c2df..e6ab073 100644
--- a/src/3rdparty/webkit/JavaScriptCore/ChangeLog
+++ b/src/3rdparty/webkit/JavaScriptCore/ChangeLog
@@ -1,3 +1,527 @@
+2009-10-29 Gabor Loki <loki@inf.u-szeged.hu>
+
+ Reviewed by Gavin Barraclough.
+
+ Add cacheFlush support for Thumb-2 on Linux
+ https://bugs.webkit.org/show_bug.cgi?id=30865
+
+ * jit/ExecutableAllocator.h:
+ (JSC::ExecutableAllocator::cacheFlush):
+
+2009-10-28 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ JSC JIT on ARMv7 cannot link jumps >16Mb range
+ https://bugs.webkit.org/show_bug.cgi?id=30891
+
+ Start planing all relative jumps as move-32-bit-immediate-to-register-BX.
+ In the cases where the jump would fall within a relative jump range, use a relative jump.
+
+ * JavaScriptCore.xcodeproj/project.pbxproj:
+ * assembler/ARMv7Assembler.h:
+ (JSC::ARMv7Assembler::~ARMv7Assembler):
+ (JSC::ARMv7Assembler::LinkRecord::LinkRecord):
+ (JSC::ARMv7Assembler::):
+ (JSC::ARMv7Assembler::executableCopy):
+ (JSC::ARMv7Assembler::linkJump):
+ (JSC::ARMv7Assembler::relinkJump):
+ (JSC::ARMv7Assembler::setInt32):
+ (JSC::ARMv7Assembler::isB):
+ (JSC::ARMv7Assembler::isBX):
+ (JSC::ARMv7Assembler::isMOV_imm_T3):
+ (JSC::ARMv7Assembler::isMOVT):
+ (JSC::ARMv7Assembler::isNOP_T1):
+ (JSC::ARMv7Assembler::isNOP_T2):
+ (JSC::ARMv7Assembler::linkJumpAbsolute):
+ (JSC::ARMv7Assembler::twoWordOp5i6Imm4Reg4EncodedImmFirst):
+ (JSC::ARMv7Assembler::twoWordOp5i6Imm4Reg4EncodedImmSecond):
+ (JSC::ARMv7Assembler::ARMInstructionFormatter::twoWordOp5i6Imm4Reg4EncodedImm):
+ * assembler/MacroAssemblerARMv7.h:
+ (JSC::MacroAssemblerARMv7::makeJump):
+ (JSC::MacroAssemblerARMv7::makeBranch):
+ * jit/JIT.h:
+ * wtf/Platform.h:
+
+2009-10-28 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Geoff Garen.
+
+ Improve for..in enumeration performance
+ https://bugs.webkit.org/show_bug.cgi?id=30887
+
+ Improve indexing of an object with a for..in iterator by
+ identifying cases where get_by_val is being used with a iterator
+ as the subscript and replace it with a new get_by_pname
+ bytecode. get_by_pname then optimizes lookups that directly access
+ the base object.
+
+ * bytecode/CodeBlock.cpp:
+ (JSC::CodeBlock::dump):
+ * bytecode/Opcode.h:
+ * bytecompiler/BytecodeGenerator.cpp:
+ (JSC::BytecodeGenerator::emitGetByVal):
+ * bytecompiler/BytecodeGenerator.h:
+ (JSC::BytecodeGenerator::pushOptimisedForIn):
+ (JSC::BytecodeGenerator::popOptimisedForIn):
+ * interpreter/Interpreter.cpp:
+ (JSC::Interpreter::privateExecute):
+ * jit/JIT.cpp:
+ (JSC::JIT::privateCompileMainPass):
+ (JSC::JIT::privateCompileSlowCases):
+ * jit/JIT.h:
+ * jit/JITPropertyAccess.cpp:
+ (JSC::JIT::compileGetDirectOffset):
+ (JSC::JIT::emit_op_get_by_pname):
+ (JSC::JIT::emitSlow_op_get_by_pname):
+ * parser/Nodes.cpp:
+ (JSC::ForInNode::emitBytecode):
+ * runtime/JSObject.h:
+ * runtime/JSPropertyNameIterator.cpp:
+ (JSC::JSPropertyNameIterator::create):
+ * runtime/JSPropertyNameIterator.h:
+ (JSC::JSPropertyNameIterator::getOffset):
+ (JSC::JSPropertyNameIterator::JSPropertyNameIterator):
+ * runtime/JSValue.h:
+ (JSC::JSValue::):
+ * runtime/Structure.cpp:
+ (JSC::Structure::addPropertyTransition):
+ (JSC::Structure::changePrototypeTransition):
+ (JSC::Structure::despecifyFunctionTransition):
+ (JSC::Structure::addAnonymousSlotsTransition):
+ (JSC::Structure::getterSetterTransition):
+ (JSC::Structure::toDictionaryTransition):
+ (JSC::Structure::addPropertyWithoutTransition):
+ Track the existence (or not) of non-enumerable properties.
+ * runtime/Structure.h:
+ (JSC::Structure::propertyStorageCapacity):
+ (JSC::Structure::propertyStorageSize):
+ (JSC::Structure::hasNonEnumerableProperties):
+ (JSC::Structure::hasAnonymousSlots):
+
+2009-10-28 Dmitry Titov <dimich@chromium.org>
+
+ Not reviewed, attemp to fix Windows build.
+
+ Touch the cpp file to cause recompile.
+
+ * wtf/Threading.cpp:
+ (WTF::threadEntryPoint):
+
+2009-10-28 Dmitry Titov <dimich@chromium.org>
+
+ Reviewed by David Levin.
+
+ https://bugs.webkit.org/show_bug.cgi?id=30805
+ Add MessageQueue::removeIf(Predicate&) to remove certain tasks without pulling them from the queue.
+ Existing Database tests cover this since Database removes tasks when it is stopped.
+
+ * wtf/MessageQueue.h:
+ (WTF::::removeIf):
+
+2009-10-28 Afonso R. Costa Jr. <afonso.costa@openbossa.org>
+
+ Reviewed by Oliver Hunt.
+
+ [Qt] Enable YARR when YARR_JIT is enabled
+ https://bugs.webkit.org/show_bug.cgi?id=30730
+
+ When enabling or disabling JIT using JAVASCRIPTCORE_JIT, the ENABLE_YARR should
+ be toggled also.
+
+ * JavaScriptCore.pri:
+
+2009-10-24 Martin Robinson <martin.james.robinson@gmail.com>
+
+ Reviewed by Oliver Hunt.
+
+ Fix strict aliasing warning by switching reinterpret_cast to bitwise_cast.
+
+ strict-aliasing warnings in JSFunction.h
+ https://bugs.webkit.org/show_bug.cgi?id=27869
+
+ * runtime/JSFunction.h:
+ (JSC::JSFunction::nativeFunction):
+ (JSC::JSFunction::scopeChain):
+ (JSC::JSFunction::setScopeChain):
+ (JSC::JSFunction::setNativeFunction):
+
+2009-10-28 Jan-Arve Sæther <jan-arve.saether@nokia.com>
+
+ Reviewed by Tor Arne Vestbø.
+
+ Build-fix for 64-bit Windows
+
+ * wtf/Platform.h: Make sure to use WTF_USE_JSVALUE64
+
+2009-10-28 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by NOBODY (build fix!).
+
+ * jit/JIT.h:
+
+2009-10-26 Holger Hans Peter Freyther <zecke@selfish.org>
+
+ Rubber-stamped by Darin Adler.
+
+ Export fastMalloc, fastCalloc, fastRealloc and fastFree on GCC/Unix
+ https://bugs.webkit.org/show_bug.cgi?id=30769
+
+ When using -fvisibility=hidden to hide all internal symbols by default
+ the malloc symbols will be hidden as well. For memory instrumentation
+ it is needed to provide an instrumented version of these symbols and
+ override the normal routines and by changing the visibility back to
+ default this becomes possible.
+
+ The only other solution would be to use system malloc instead of the
+ TCmalloc implementation but this will not allow to analyze memory
+ behavior with the default allocator.
+
+ * wtf/FastMalloc.h: Define WTF_FAST_MALLOC_EXPORT for GCC and !darwin
+
+2009-10-27 Gavin Barraclough <barraclough@apple.com>
+
+ Rubber Stamped by Samuel Q. Weinig.
+
+ Make the asserts protecting the offsets in the JIT more descriptive.
+
+ * jit/JIT.h:
+ * jit/JITCall.cpp:
+ (JSC::JIT::compileOpCall):
+ * jit/JITPropertyAccess.cpp:
+ (JSC::JIT::emit_op_method_check):
+ (JSC::JIT::compileGetByIdHotPath):
+ (JSC::JIT::compileGetByIdSlowCase):
+ (JSC::JIT::emit_op_put_by_id):
+
+2009-10-27 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ A little bit of refactoring in the date code.
+
+ * JavaScriptCore.exp: Don't export this unused symbol.
+
+ * runtime/DateConstructor.cpp:
+ (JSC::constructDate):
+
+ * runtime/DateInstance.cpp:
+ (JSC::DateInstance::DateInstance):
+ * runtime/DateInstance.h: Removed some unused functions. Changed the default
+ constructor to ensure that a DateInstance is always initialized.
+
+ * runtime/DatePrototype.cpp:
+ (JSC::DatePrototype::DatePrototype): Pass an initializer to our constructor,
+ since it now requires one.
+
+ * wtf/DateMath.cpp:
+ (WTF::msToGregorianDateTime): Only compute our offset from UTC if our
+ output will require it. Otherwise, our offset is 0.
+
+2009-10-27 Geoffrey Garen <ggaren@apple.com>
+
+ Build fix: Mark DateInstaceCache.h private, so other frameworks can see it.
+
+ * JavaScriptCore.xcodeproj/project.pbxproj:
+
+2009-10-27 Geoffrey Garen <ggaren@apple.com>
+
+ Build fix: re-readded this file.
+
+ * runtime/DateInstanceCache.h: Added.
+ (JSC::DateInstanceData::create):
+ (JSC::DateInstanceData::DateInstanceData):
+ (JSC::DateInstanceCache::DateInstanceCache):
+ (JSC::DateInstanceCache::add):
+ (JSC::DateInstanceCache::lookup):
+
+2009-10-27 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Darin Adler and Oliver Hunt.
+
+ https://bugs.webkit.org/show_bug.cgi?id=30800
+ Cache recently computed date data.
+
+ SunSpider reports a ~0.5% speedup, mostly from date-format-tofte.js.
+
+ * GNUmakefile.am:
+ * JavaScriptCore.gypi:
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
+ * JavaScriptCore.xcodeproj/project.pbxproj: Added new file.
+
+ * runtime/DateInstance.cpp:
+ (JSC::DateInstance::DateInstance):
+ (JSC::DateInstance::getGregorianDateTime): Use the shared cache.
+
+ * runtime/DateInstance.h: Renamed m_cache to m_data, to avoid the confusion
+ of a "cache cache".
+
+ * runtime/DatePrototype.cpp:
+ (JSC::formatLocaleDate):
+ (JSC::dateProtoFuncToString):
+ (JSC::dateProtoFuncToUTCString):
+ (JSC::dateProtoFuncToISOString):
+ (JSC::dateProtoFuncToDateString):
+ (JSC::dateProtoFuncToTimeString):
+ (JSC::dateProtoFuncGetFullYear):
+ (JSC::dateProtoFuncGetUTCFullYear):
+ (JSC::dateProtoFuncToGMTString):
+ (JSC::dateProtoFuncGetMonth):
+ (JSC::dateProtoFuncGetUTCMonth):
+ (JSC::dateProtoFuncGetDate):
+ (JSC::dateProtoFuncGetUTCDate):
+ (JSC::dateProtoFuncGetDay):
+ (JSC::dateProtoFuncGetUTCDay):
+ (JSC::dateProtoFuncGetHours):
+ (JSC::dateProtoFuncGetUTCHours):
+ (JSC::dateProtoFuncGetMinutes):
+ (JSC::dateProtoFuncGetUTCMinutes):
+ (JSC::dateProtoFuncGetSeconds):
+ (JSC::dateProtoFuncGetUTCSeconds):
+ (JSC::dateProtoFuncGetTimezoneOffset):
+ (JSC::setNewValueFromTimeArgs):
+ (JSC::setNewValueFromDateArgs):
+ (JSC::dateProtoFuncSetYear):
+ (JSC::dateProtoFuncGetYear): Pass an ExecState to these functions, so they
+ can access the DateInstanceCache.
+
+ * runtime/JSGlobalData.h: Keep a DateInstanceCache.
+
+2009-10-27 James Robinson <jamesr@chromium.org>
+
+ Reviewed by Darin Fisher.
+
+ Ensures that JavaScriptCore/wtf/CurrentTime.cpp is not built in PLATFORM(CHROMIUM) builds.
+
+ Chromium uses a different method to calculate the current time than is used in
+ JavaScriptCore/wtf/CurrentTime.cpp. This can lead to time skew when calls to currentTime() and Chromium's time
+ function are mixed. In particular, timers can get scheduled in the past which leads to 100% CPU use.
+ See http://code.google.com/p/chromium/issues/detail?id=25892 for an example.
+
+ https://bugs.webkit.org/show_bug.cgi?id=30833
+
+ * JavaScriptCore.gyp/JavaScriptCore.gyp:
+ * wtf/CurrentTime.cpp:
+
+2009-10-27 Peter Varga <pvarga@inf.u-szeged.hu>
+
+ Rubber-stamped by Tor Arne Vestbø.
+
+ Fix typo in RegexInterpreter.cpp and RegexJIT.cpp alterantive to
+ alternative.
+
+ * yarr/RegexInterpreter.cpp:
+ (JSC::Yarr::ByteCompiler::alternativeBodyDisjunction):
+ (JSC::Yarr::ByteCompiler::alternativeDisjunction):
+ (JSC::Yarr::ByteCompiler::emitDisjunction):
+ * yarr/RegexJIT.cpp:
+ (JSC::Yarr::RegexGenerator::generateDisjunction):
+
+2009-10-26 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Darin Adler.
+
+ Make .rc files compile on Windows without depending on MFC headers
+ https://bugs.webkit.org/show_bug.cgi?id=30750
+
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.rc: Use
+ winresrc.h because it exists even when MFC is not installed, and is
+ all that's needed here.
+
+2009-10-26 Gabor Loki <loki@inf.u-szeged.hu>
+
+ Reviewed by Gavin Barraclough.
+
+ The thunkReturnAddress is on JITStackFrame on ARM JIT as well
+ https://bugs.webkit.org/show_bug.cgi?id=30782
+
+ Move the thunkReturnAddress from top of the stack into the JITStackFrame
+ structure. This is a requirement for JSValue32_64 support on ARM.
+
+ * assembler/MacroAssemblerARM.h:
+ (JSC::MacroAssemblerARM::ret): Return with link register
+ (JSC::MacroAssemblerARM::prepareCall): Store the return address in link register
+ * jit/JIT.h: Remove unused ctiReturnRegister
+ * jit/JITInlineMethods.h: Same as ARMv7
+ (JSC::JIT::restoreArgumentReference): Ditto.
+ (JSC::JIT::restoreArgumentReferenceForTrampoline): Ditto.
+ * jit/JITOpcodes.cpp: Remove ctiReturnRegister related instruction
+ * jit/JITStubs.cpp: Store thunkReturnAddress on JITStackFrame. Use
+ small trampoline functions which handle return addresses for each
+ CTI_STUB_FUNCTION.
+ * jit/JITStubs.h: Store thunkReturnAddress on JITStackFrame
+ (JSC::JITStackFrame::returnAddressSlot): Return with the address of thunkReturnAddress
+ * yarr/RegexJIT.cpp:
+ (JSC::Yarr::RegexGenerator::generateEnter): Remove the unnecessary instruction
+
+2009-10-26 Steve Block <steveblock@google.com>
+
+ Reviewed by Darin Adler.
+
+ Adds ability to disable ReadWriteLock on platforms (eg Android) that use pthreads but do not support pthread_rwlock.
+ https://bugs.webkit.org/show_bug.cgi?id=30713
+
+ * wtf/Platform.h: Modified. Defines HAVE_PTHREAD_RWLOCK for all platforms currently using pthreads.
+ * wtf/Threading.h: Modified. Use pthread_rwlock_t only when HAVE_PTHREAD_RWLOCK is defined.
+ * wtf/ThreadingPthreads.cpp: Modified. Build ReadWriteLock methods only when HAVE_PTHREAD_RWLOCK is defined.
+
+2009-10-24 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Holger Freyther.
+
+ [Qt] [Symbian] Set the capability and memory required to run QtWebKit for Symbian
+ https://bugs.webkit.org/show_bug.cgi?id=30476
+
+ Assign ReadUserData WriteUserData NetworkServices Symbian capabilities
+ to jsc.exe.
+
+ * jsc.pro:
+
+2009-10-23 Steve Block <steveblock@google.com>
+
+ Reviewed by Dmitry Titov.
+
+ Fixes a leak in createThreadInternal on Android.
+ https://bugs.webkit.org/show_bug.cgi?id=30698
+
+ * wtf/ThreadingPthreads.cpp: Modified.
+ (WTF::createThreadInternal): Avoid leaking a ThreadData object on failure.
+
+2009-10-22 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Alexey Proskuryakov.
+
+ Fixed ASSERT when opening Safari's Caches window while the Web Inspector
+ is open.
+
+ * runtime/Collector.cpp:
+ (JSC::typeName): Added two new types to the type name list in the Collector.
+ These types have been around for a while, but nobody remembered to consider them here.
+
+ * runtime/JSCell.h:
+ (JSC::JSCell::isPropertyNameIterator):
+ * runtime/JSPropertyNameIterator.h:
+ (JSC::JSPropertyNameIterator::isPropertyNameIterator): Give the Collector
+ a way to tell if a cell is a JSPropertyNameIterator.
+
+2009-10-22 Steve Falkenburg <sfalken@apple.com>
+
+ Reviewed by Jon Honeycutt.
+
+ https://bugs.webkit.org/show_bug.cgi?id=30686
+ Remove debug-specific def file.
+ Only Debug_All target uses JavaScriptCore_debug.dll naming, and since
+ that target is only used internally, maintaining two files just to
+ suppress a single link warning isn't worthwhile.
+
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreCommon.vsprops:
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore_debug.def: Removed.
+
+2009-10-21 Jon Honeycutt <jhoneycutt@apple.com>
+
+ <rdar://problem/7270320> Screenshots of off-screen plug-ins are blank
+ <rdar://problem/7270314> After halting a transparent PluginView on
+ Windows, the transparency is applied twice
+
+ Reviewed by Dan Bernstein.
+
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
+ Export WTF::deleteOwnedPtr(HDC).
+
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore_debug.def:
+ Ditto.
+
+2009-10-20 Geoffrey Garen <ggaren@apple.com>
+
+ Windows build fix: updated variable name.
+
+ * runtime/DatePrototype.cpp:
+ (JSC::formatLocaleDate):
+
+2009-10-20 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Mark Rowe.
+
+ * jit/JITOpcodes.cpp:
+ (JSC::JIT::emit_op_next_pname): Slightly tweaked this #ifdef to match the
+ size of a JSValue because m_jsStrings is an array of JSValues.
+
+2009-10-20 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Mark Rowe.
+
+ Fixed a 64-bit regression caused by the fix for
+ https://bugs.webkit.org/show_bug.cgi?id=30570.
+
+ * jit/JITOpcodes.cpp:
+ (JSC::JIT::emit_op_next_pname): Use TimesEight stepping on 64-bit, since
+ 64-bit pointers are eight bytes long.
+
+2009-10-20 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Refactored DateInstance::msToGregorianDateTime so that a DateInstance's
+ caller doesn't need to supply the DateInstance's own internal value to
+ the DateInstance.
+
+ * runtime/DateInstance.cpp:
+ (JSC::DateInstance::getGregorianDateTime): Renamed from "msToGregorianDateTime".
+
+ * runtime/DateInstance.h:
+ * runtime/DatePrototype.cpp:
+ (JSC::formatLocaleDate):
+ (JSC::dateProtoFuncToString):
+ (JSC::dateProtoFuncToUTCString):
+ (JSC::dateProtoFuncToISOString):
+ (JSC::dateProtoFuncToDateString):
+ (JSC::dateProtoFuncToTimeString):
+ (JSC::dateProtoFuncToLocaleString):
+ (JSC::dateProtoFuncToLocaleDateString):
+ (JSC::dateProtoFuncToLocaleTimeString):
+ (JSC::dateProtoFuncGetTime):
+ (JSC::dateProtoFuncGetFullYear):
+ (JSC::dateProtoFuncGetUTCFullYear):
+ (JSC::dateProtoFuncToGMTString):
+ (JSC::dateProtoFuncGetMonth):
+ (JSC::dateProtoFuncGetUTCMonth):
+ (JSC::dateProtoFuncGetDate):
+ (JSC::dateProtoFuncGetUTCDate):
+ (JSC::dateProtoFuncGetDay):
+ (JSC::dateProtoFuncGetUTCDay):
+ (JSC::dateProtoFuncGetHours):
+ (JSC::dateProtoFuncGetUTCHours):
+ (JSC::dateProtoFuncGetMinutes):
+ (JSC::dateProtoFuncGetUTCMinutes):
+ (JSC::dateProtoFuncGetSeconds):
+ (JSC::dateProtoFuncGetUTCSeconds):
+ (JSC::dateProtoFuncGetTimezoneOffset):
+ (JSC::setNewValueFromTimeArgs):
+ (JSC::setNewValueFromDateArgs):
+ (JSC::dateProtoFuncSetYear):
+ (JSC::dateProtoFuncGetYear): Also renamed "utc" to "outputIsUTC", for clarity.
+
+2009-10-20 Gabor Loki <loki@inf.u-szeged.hu>
+
+ Reviewed by Geoffrey Garen.
+
+ The op_next_pname should use 4 bytes addressing mode in case of JSValue32
+ https://bugs.webkit.org/show_bug.cgi?id=30570
+
+ * jit/JITOpcodes.cpp:
+ (JSC::JIT::emit_op_next_pname):
+
+2009-10-20 Gabor Loki <loki@inf.u-szeged.hu>
+
+ Reviewed by Oliver Hunt.
+
+ Move OverridesMarkChildren flag from DatePrototype to its parent class
+ https://bugs.webkit.org/show_bug.cgi?id=30372
+
+ * runtime/DateInstance.h:
+ (JSC::DateInstance::createStructure):
+ * runtime/DatePrototype.h:
+
2009-10-19 Geoffrey Garen <ggaren@apple.com>
Reviewed by Oliver Hunt.
diff --git a/src/3rdparty/webkit/JavaScriptCore/JavaScriptCore.gypi b/src/3rdparty/webkit/JavaScriptCore/JavaScriptCore.gypi
index 4b316c8..03c23c3 100644
--- a/src/3rdparty/webkit/JavaScriptCore/JavaScriptCore.gypi
+++ b/src/3rdparty/webkit/JavaScriptCore/JavaScriptCore.gypi
@@ -194,6 +194,7 @@
'runtime/DateConversion.h',
'runtime/DateInstance.cpp',
'runtime/DateInstance.h',
+ 'runtime/DateInstanceCache.h',
'runtime/DatePrototype.cpp',
'runtime/DatePrototype.h',
'runtime/Error.cpp',
diff --git a/src/3rdparty/webkit/JavaScriptCore/JavaScriptCore.pri b/src/3rdparty/webkit/JavaScriptCore/JavaScriptCore.pri
index 89c483e..eb26664 100644
--- a/src/3rdparty/webkit/JavaScriptCore/JavaScriptCore.pri
+++ b/src/3rdparty/webkit/JavaScriptCore/JavaScriptCore.pri
@@ -39,10 +39,12 @@ win32-* {
contains(JAVASCRIPTCORE_JIT,yes) {
DEFINES+=ENABLE_JIT=1
DEFINES+=ENABLE_YARR_JIT=1
+ DEFINES+=ENABLE_YARR=1
}
contains(JAVASCRIPTCORE_JIT,no) {
DEFINES+=ENABLE_JIT=0
DEFINES+=ENABLE_YARR_JIT=0
+ DEFINES+=ENABLE_YARR=0
}
# In debug mode JIT disabled until crash fixed
diff --git a/src/3rdparty/webkit/JavaScriptCore/assembler/ARMv7Assembler.h b/src/3rdparty/webkit/JavaScriptCore/assembler/ARMv7Assembler.h
index 078de44..02ce2e9 100644
--- a/src/3rdparty/webkit/JavaScriptCore/assembler/ARMv7Assembler.h
+++ b/src/3rdparty/webkit/JavaScriptCore/assembler/ARMv7Assembler.h
@@ -407,6 +407,11 @@ register writeback
class ARMv7Assembler {
public:
+ ~ARMv7Assembler()
+ {
+ ASSERT(m_jumpsToLink.isEmpty());
+ }
+
typedef ARMRegisters::RegisterID RegisterID;
typedef ARMRegisters::FPRegisterID FPRegisterID;
@@ -477,6 +482,17 @@ public:
private:
+ struct LinkRecord {
+ LinkRecord(intptr_t from, intptr_t to)
+ : from(from)
+ , to(to)
+ {
+ }
+
+ intptr_t from;
+ intptr_t to;
+ };
+
// ARMv7, Appx-A.6.3
bool BadReg(RegisterID reg)
{
@@ -574,6 +590,7 @@ private:
OP_SUB_SP_imm_T1 = 0xB080,
OP_BKPT = 0xBE00,
OP_IT = 0xBF00,
+ OP_NOP_T1 = 0xBF00,
} OpcodeID;
typedef enum {
@@ -608,6 +625,7 @@ private:
OP_MOV_imm_T3 = 0xF240,
OP_SUB_imm_T4 = 0xF2A0,
OP_MOVT = 0xF2C0,
+ OP_NOP_T2a = 0xF3AF,
OP_LDRH_reg_T2 = 0xF830,
OP_LDRH_imm_T3 = 0xF830,
OP_STR_imm_T4 = 0xF840,
@@ -626,6 +644,7 @@ private:
typedef enum {
OP_B_T4b = 0x9000,
+ OP_NOP_T2b = 0x8000,
} OpcodeID2;
struct FourFours {
@@ -1481,6 +1500,15 @@ public:
void* executableCopy(ExecutablePool* allocator)
{
void* copy = m_formatter.executableCopy(allocator);
+
+ unsigned jumpCount = m_jumpsToLink.size();
+ for (unsigned i = 0; i < jumpCount; ++i) {
+ uint16_t* location = reinterpret_cast<uint16_t*>(reinterpret_cast<intptr_t>(copy) + m_jumpsToLink[i].from);
+ uint16_t* target = reinterpret_cast<uint16_t*>(reinterpret_cast<intptr_t>(copy) + m_jumpsToLink[i].to);
+ linkJumpAbsolute(location, target);
+ }
+ m_jumpsToLink.clear();
+
ASSERT(copy);
return copy;
}
@@ -1503,11 +1531,7 @@ public:
{
ASSERT(to.m_offset != -1);
ASSERT(from.m_offset != -1);
-
- uint16_t* location = reinterpret_cast<uint16_t*>(reinterpret_cast<intptr_t>(m_formatter.data()) + from.m_offset);
- intptr_t relative = to.m_offset - from.m_offset;
-
- linkWithOffset(location, relative);
+ m_jumpsToLink.append(LinkRecord(from.m_offset, to.m_offset));
}
static void linkJump(void* code, JmpSrc from, void* to)
@@ -1515,9 +1539,7 @@ public:
ASSERT(from.m_offset != -1);
uint16_t* location = reinterpret_cast<uint16_t*>(reinterpret_cast<intptr_t>(code) + from.m_offset);
- intptr_t relative = reinterpret_cast<intptr_t>(to) - reinterpret_cast<intptr_t>(location);
-
- linkWithOffset(location, relative);
+ linkJumpAbsolute(location, to);
}
// bah, this mathod should really be static, since it is used by the LinkBuffer.
@@ -1541,10 +1563,9 @@ public:
ASSERT(!(reinterpret_cast<intptr_t>(from) & 1));
ASSERT(!(reinterpret_cast<intptr_t>(to) & 1));
- intptr_t relative = reinterpret_cast<intptr_t>(to) - reinterpret_cast<intptr_t>(from);
- linkWithOffset(reinterpret_cast<uint16_t*>(from), relative);
+ linkJumpAbsolute(reinterpret_cast<uint16_t*>(from), to);
- ExecutableAllocator::cacheFlush(reinterpret_cast<uint16_t*>(from) - 2, 2 * sizeof(uint16_t));
+ ExecutableAllocator::cacheFlush(reinterpret_cast<uint16_t*>(from) - 5, 5 * sizeof(uint16_t));
}
static void relinkCall(void* from, void* to)
@@ -1613,14 +1634,14 @@ private:
static void setInt32(void* code, uint32_t value)
{
uint16_t* location = reinterpret_cast<uint16_t*>(code);
+ ASSERT(isMOV_imm_T3(location - 4) && isMOVT(location - 2));
- uint16_t lo16 = value;
- uint16_t hi16 = value >> 16;
-
- spliceHi5(location - 4, lo16);
- spliceLo11(location - 3, lo16);
- spliceHi5(location - 2, hi16);
- spliceLo11(location - 1, hi16);
+ ARMThumbImmediate lo16 = ARMThumbImmediate::makeUInt16(static_cast<uint16_t>(value));
+ ARMThumbImmediate hi16 = ARMThumbImmediate::makeUInt16(static_cast<uint16_t>(value >> 16));
+ location[-4] = twoWordOp5i6Imm4Reg4EncodedImmFirst(OP_MOV_imm_T3, lo16);
+ location[-3] = twoWordOp5i6Imm4Reg4EncodedImmSecond((location[-3] >> 8) & 0xf, lo16);
+ location[-2] = twoWordOp5i6Imm4Reg4EncodedImmFirst(OP_MOVT, hi16);
+ location[-1] = twoWordOp5i6Imm4Reg4EncodedImmSecond((location[-1] >> 8) & 0xf, hi16);
ExecutableAllocator::cacheFlush(location - 4, 4 * sizeof(uint16_t));
}
@@ -1630,41 +1651,89 @@ private:
setInt32(code, reinterpret_cast<uint32_t>(value));
}
- // Linking & patching:
- // This method assumes that the JmpSrc being linked is a T4 b instruction.
- static void linkWithOffset(uint16_t* instruction, intptr_t relative)
- {
- // Currently branches > 16m = mostly deathy.
- if (((relative << 7) >> 7) != relative) {
- // FIXME: This CRASH means we cannot turn the JIT on by default on arm-v7.
- fprintf(stderr, "Error: Cannot link T4b.\n");
- CRASH();
- }
-
- // ARM encoding for the top two bits below the sign bit is 'peculiar'.
- if (relative >= 0)
- relative ^= 0xC00000;
+ static bool isB(void* address)
+ {
+ uint16_t* instruction = static_cast<uint16_t*>(address);
+ return ((instruction[0] & 0xf800) == OP_B_T4a) && ((instruction[1] & 0xd000) == OP_B_T4b);
+ }
+
+ static bool isBX(void* address)
+ {
+ uint16_t* instruction = static_cast<uint16_t*>(address);
+ return (instruction[0] & 0xff87) == OP_BX;
+ }
- // All branch offsets should be an even distance.
- ASSERT(!(relative & 1));
+ static bool isMOV_imm_T3(void* address)
+ {
+ uint16_t* instruction = static_cast<uint16_t*>(address);
+ return ((instruction[0] & 0xFBF0) == OP_MOV_imm_T3) && ((instruction[1] & 0x8000) == 0);
+ }
- int word1 = ((relative & 0x1000000) >> 14) | ((relative & 0x3ff000) >> 12);
- int word2 = ((relative & 0x800000) >> 10) | ((relative & 0x400000) >> 11) | ((relative & 0xffe) >> 1);
+ static bool isMOVT(void* address)
+ {
+ uint16_t* instruction = static_cast<uint16_t*>(address);
+ return ((instruction[0] & 0xFBF0) == OP_MOVT) && ((instruction[1] & 0x8000) == 0);
+ }
- instruction[-2] = OP_B_T4a | word1;
- instruction[-1] = OP_B_T4b | word2;
+ static bool isNOP_T1(void* address)
+ {
+ uint16_t* instruction = static_cast<uint16_t*>(address);
+ return instruction[0] == OP_NOP_T1;
}
- // These functions can be used to splice 16-bit immediates back into previously generated instructions.
- static void spliceHi5(uint16_t* where, uint16_t what)
+ static bool isNOP_T2(void* address)
{
- uint16_t pattern = (what >> 12) | ((what & 0x0800) >> 1);
- *where = (*where & 0xFBF0) | pattern;
+ uint16_t* instruction = static_cast<uint16_t*>(address);
+ return (instruction[0] == OP_NOP_T2a) && (instruction[1] == OP_NOP_T2b);
}
- static void spliceLo11(uint16_t* where, uint16_t what)
+
+ static void linkJumpAbsolute(uint16_t* instruction, void* target)
{
- uint16_t pattern = ((what & 0x0700) << 4) | (what & 0x00FF);
- *where = (*where & 0x8F00) | pattern;
+ // FIMXE: this should be up in the MacroAssembler layer. :-(
+ const uint16_t JUMP_TEMPORARY_REGISTER = ARMRegisters::ip;
+
+ ASSERT(!(reinterpret_cast<intptr_t>(instruction) & 1));
+ ASSERT(!(reinterpret_cast<intptr_t>(target) & 1));
+
+ ASSERT( (isMOV_imm_T3(instruction - 5) && isMOVT(instruction - 3) && isBX(instruction - 1))
+ || (isNOP_T1(instruction - 5) && isNOP_T2(instruction - 4) && isB(instruction - 2)) );
+
+ intptr_t relative = reinterpret_cast<intptr_t>(target) - (reinterpret_cast<intptr_t>(instruction));
+ if (((relative << 7) >> 7) == relative) {
+ // ARM encoding for the top two bits below the sign bit is 'peculiar'.
+ if (relative >= 0)
+ relative ^= 0xC00000;
+
+ // All branch offsets should be an even distance.
+ ASSERT(!(relative & 1));
+ // There may be a better way to fix this, but right now put the NOPs first, since in the
+ // case of an conditional branch this will be coming after an ITTT predicating *three*
+ // instructions! Looking backwards to modify the ITTT to an IT is not easy, due to
+ // variable wdith encoding - the previous instruction might *look* like an ITTT but
+ // actually be the second half of a 2-word op.
+ instruction[-5] = OP_NOP_T1;
+ instruction[-4] = OP_NOP_T2a;
+ instruction[-3] = OP_NOP_T2b;
+ instruction[-2] = OP_B_T4a | ((relative & 0x1000000) >> 14) | ((relative & 0x3ff000) >> 12);
+ instruction[-1] = OP_B_T4b | ((relative & 0x800000) >> 10) | ((relative & 0x400000) >> 11) | ((relative & 0xffe) >> 1);
+ } else {
+ ARMThumbImmediate lo16 = ARMThumbImmediate::makeUInt16(static_cast<uint16_t>(reinterpret_cast<uint32_t>(target) + 1));
+ ARMThumbImmediate hi16 = ARMThumbImmediate::makeUInt16(static_cast<uint16_t>(reinterpret_cast<uint32_t>(target) >> 16));
+ instruction[-5] = twoWordOp5i6Imm4Reg4EncodedImmFirst(OP_MOV_imm_T3, lo16);
+ instruction[-4] = twoWordOp5i6Imm4Reg4EncodedImmSecond(JUMP_TEMPORARY_REGISTER, lo16);
+ instruction[-3] = twoWordOp5i6Imm4Reg4EncodedImmFirst(OP_MOVT, hi16);
+ instruction[-2] = twoWordOp5i6Imm4Reg4EncodedImmSecond(JUMP_TEMPORARY_REGISTER, hi16);
+ instruction[-1] = OP_BX | (JUMP_TEMPORARY_REGISTER << 3);
+ }
+ }
+
+ static uint16_t twoWordOp5i6Imm4Reg4EncodedImmFirst(uint16_t op, ARMThumbImmediate imm)
+ {
+ return op | (imm.m_value.i << 10) | imm.m_value.imm4;
+ }
+ static uint16_t twoWordOp5i6Imm4Reg4EncodedImmSecond(uint16_t rd, ARMThumbImmediate imm)
+ {
+ return (imm.m_value.imm3 << 12) | (rd << 8) | imm.m_value.imm8;
}
class ARMInstructionFormatter {
@@ -1723,8 +1792,11 @@ private:
void twoWordOp5i6Imm4Reg4EncodedImm(OpcodeID1 op, int imm4, RegisterID rd, ARMThumbImmediate imm)
{
- m_buffer.putShort(op | (imm.m_value.i << 10) | imm4);
- m_buffer.putShort((imm.m_value.imm3 << 12) | (rd << 8) | imm.m_value.imm8);
+ ARMThumbImmediate newImm = imm;
+ newImm.m_value.imm4 = imm4;
+
+ m_buffer.putShort(ARMv7Assembler::twoWordOp5i6Imm4Reg4EncodedImmFirst(op, newImm));
+ m_buffer.putShort(ARMv7Assembler::twoWordOp5i6Imm4Reg4EncodedImmSecond(rd, newImm));
}
void twoWordOp12Reg4Reg4Imm12(OpcodeID1 op, RegisterID reg1, RegisterID reg2, uint16_t imm)
@@ -1749,6 +1821,8 @@ private:
private:
AssemblerBuffer m_buffer;
} m_formatter;
+
+ Vector<LinkRecord> m_jumpsToLink;
};
} // namespace JSC
diff --git a/src/3rdparty/webkit/JavaScriptCore/assembler/MacroAssemblerARM.h b/src/3rdparty/webkit/JavaScriptCore/assembler/MacroAssemblerARM.h
index aa8cbb0..7a72b06 100644
--- a/src/3rdparty/webkit/JavaScriptCore/assembler/MacroAssemblerARM.h
+++ b/src/3rdparty/webkit/JavaScriptCore/assembler/MacroAssemblerARM.h
@@ -65,6 +65,7 @@ public:
};
static const RegisterID stackPointerRegister = ARMRegisters::sp;
+ static const RegisterID linkRegister = ARMRegisters::lr;
static const Scale ScalePtr = TimesFour;
@@ -530,7 +531,7 @@ public:
void ret()
{
- pop(ARMRegisters::pc);
+ m_assembler.mov_r(ARMRegisters::pc, linkRegister);
}
void set32(Condition cond, RegisterID left, RegisterID right, RegisterID dest)
@@ -746,11 +747,9 @@ protected:
void prepareCall()
{
- ensureSpace(3 * sizeof(ARMWord), sizeof(ARMWord));
+ ensureSpace(2 * sizeof(ARMWord), sizeof(ARMWord));
- // S0 might be used for parameter passing
- m_assembler.add_r(ARMRegisters::S1, ARMRegisters::pc, ARMAssembler::OP2_IMM | 0x4);
- m_assembler.push_r(ARMRegisters::S1);
+ m_assembler.mov_r(linkRegister, ARMRegisters::pc);
}
void call32(RegisterID base, int32_t offset)
diff --git a/src/3rdparty/webkit/JavaScriptCore/assembler/MacroAssemblerARMv7.h b/src/3rdparty/webkit/JavaScriptCore/assembler/MacroAssemblerARMv7.h
index a549604..c479517 100644
--- a/src/3rdparty/webkit/JavaScriptCore/assembler/MacroAssemblerARMv7.h
+++ b/src/3rdparty/webkit/JavaScriptCore/assembler/MacroAssemblerARMv7.h
@@ -990,13 +990,15 @@ public:
protected:
ARMv7Assembler::JmpSrc makeJump()
{
- return m_assembler.b();
+ moveFixedWidthEncoding(Imm32(0), dataTempRegister);
+ return m_assembler.bx(dataTempRegister);
}
ARMv7Assembler::JmpSrc makeBranch(ARMv7Assembler::Condition cond)
{
- m_assembler.it(cond);
- return m_assembler.b();
+ m_assembler.it(cond, true, true);
+ moveFixedWidthEncoding(Imm32(0), dataTempRegister);
+ return m_assembler.bx(dataTempRegister);
}
ARMv7Assembler::JmpSrc makeBranch(Condition cond) { return makeBranch(armV7Condition(cond)); }
ARMv7Assembler::JmpSrc makeBranch(DoubleCondition cond) { return makeBranch(armV7Condition(cond)); }
diff --git a/src/3rdparty/webkit/JavaScriptCore/bytecode/CodeBlock.cpp b/src/3rdparty/webkit/JavaScriptCore/bytecode/CodeBlock.cpp
index 18ca2ae..c915934 100644
--- a/src/3rdparty/webkit/JavaScriptCore/bytecode/CodeBlock.cpp
+++ b/src/3rdparty/webkit/JavaScriptCore/bytecode/CodeBlock.cpp
@@ -824,6 +824,16 @@ void CodeBlock::dump(ExecState* exec, const Vector<Instruction>::const_iterator&
printf("[%4d] get_by_val\t %s, %s, %s\n", location, registerName(r0).c_str(), registerName(r1).c_str(), registerName(r2).c_str());
break;
}
+ case op_get_by_pname: {
+ int r0 = (++it)->u.operand;
+ int r1 = (++it)->u.operand;
+ int r2 = (++it)->u.operand;
+ int r3 = (++it)->u.operand;
+ int r4 = (++it)->u.operand;
+ int r5 = (++it)->u.operand;
+ printf("[%4d] get_by_pname\t %s, %s, %s, %s, %s, %s\n", location, registerName(r0).c_str(), registerName(r1).c_str(), registerName(r2).c_str(), registerName(r3).c_str(), registerName(r4).c_str(), registerName(r5).c_str());
+ break;
+ }
case op_put_by_val: {
int r0 = (++it)->u.operand;
int r1 = (++it)->u.operand;
@@ -1015,14 +1025,17 @@ void CodeBlock::dump(ExecState* exec, const Vector<Instruction>::const_iterator&
break;
}
case op_get_pnames: {
- int r0 = it[0].u.operand;
- int r1 = it[1].u.operand;
- printf("[%4d] get_pnames\t %s, %s\n", location, registerName(r0).c_str(), registerName(r1).c_str());
+ int r0 = it[1].u.operand;
+ int r1 = it[2].u.operand;
+ int r2 = it[3].u.operand;
+ int r3 = it[4].u.operand;
+ int offset = it[5].u.operand;
+ printf("[%4d] get_pnames\t %s, %s, %s, %s, %d(->%d)\n", location, registerName(r0).c_str(), registerName(r1).c_str(), registerName(r2).c_str(), registerName(r3).c_str(), offset, location + offset);
it += OPCODE_LENGTH(op_get_pnames) - 1;
break;
}
case op_next_pname: {
- int dest = it[0].u.operand;
+ int dest = it[1].u.operand;
int iter = it[4].u.operand;
int offset = it[5].u.operand;
printf("[%4d] next_pname\t %s, %s, %d(->%d)\n", location, registerName(dest).c_str(), registerName(iter).c_str(), offset, location + offset);
diff --git a/src/3rdparty/webkit/JavaScriptCore/bytecode/Opcode.h b/src/3rdparty/webkit/JavaScriptCore/bytecode/Opcode.h
index 8968252..4facbef 100644
--- a/src/3rdparty/webkit/JavaScriptCore/bytecode/Opcode.h
+++ b/src/3rdparty/webkit/JavaScriptCore/bytecode/Opcode.h
@@ -113,6 +113,7 @@ namespace JSC {
macro(op_put_by_id_generic, 8) \
macro(op_del_by_id, 4) \
macro(op_get_by_val, 4) \
+ macro(op_get_by_pname, 7) \
macro(op_put_by_val, 4) \
macro(op_del_by_val, 4) \
macro(op_put_by_index, 4) \
diff --git a/src/3rdparty/webkit/JavaScriptCore/bytecompiler/BytecodeGenerator.cpp b/src/3rdparty/webkit/JavaScriptCore/bytecompiler/BytecodeGenerator.cpp
index 41b5c39..04dae15 100644
--- a/src/3rdparty/webkit/JavaScriptCore/bytecompiler/BytecodeGenerator.cpp
+++ b/src/3rdparty/webkit/JavaScriptCore/bytecompiler/BytecodeGenerator.cpp
@@ -1281,6 +1281,19 @@ RegisterID* BytecodeGenerator::emitDeleteById(RegisterID* dst, RegisterID* base,
RegisterID* BytecodeGenerator::emitGetByVal(RegisterID* dst, RegisterID* base, RegisterID* property)
{
+ for (size_t i = m_forInContextStack.size(); i > 0; i--) {
+ ForInContext& context = m_forInContextStack[i - 1];
+ if (context.propertyRegister == property) {
+ emitOpcode(op_get_by_pname);
+ instructions().append(dst->index());
+ instructions().append(base->index());
+ instructions().append(property->index());
+ instructions().append(context.expectedSubscriptRegister->index());
+ instructions().append(context.iterRegister->index());
+ instructions().append(context.indexRegister->index());
+ return dst;
+ }
+ }
emitOpcode(op_get_by_val);
instructions().append(dst->index());
instructions().append(base->index());
diff --git a/src/3rdparty/webkit/JavaScriptCore/bytecompiler/BytecodeGenerator.h b/src/3rdparty/webkit/JavaScriptCore/bytecompiler/BytecodeGenerator.h
index 61de173..4648fb5 100644
--- a/src/3rdparty/webkit/JavaScriptCore/bytecompiler/BytecodeGenerator.h
+++ b/src/3rdparty/webkit/JavaScriptCore/bytecompiler/BytecodeGenerator.h
@@ -61,6 +61,13 @@ namespace JSC {
FinallyContext finallyContext;
};
+ struct ForInContext {
+ RefPtr<RegisterID> expectedSubscriptRegister;
+ RefPtr<RegisterID> iterRegister;
+ RefPtr<RegisterID> indexRegister;
+ RefPtr<RegisterID> propertyRegister;
+ };
+
class BytecodeGenerator : public FastAllocBase {
public:
typedef DeclarationStacks::VarStack VarStack;
@@ -331,6 +338,17 @@ namespace JSC {
void pushFinallyContext(Label* target, RegisterID* returnAddrDst);
void popFinallyContext();
+ void pushOptimisedForIn(RegisterID* expectedBase, RegisterID* iter, RegisterID* index, RegisterID* propertyRegister)
+ {
+ ForInContext context = { expectedBase, iter, index, propertyRegister };
+ m_forInContextStack.append(context);
+ }
+
+ void popOptimisedForIn()
+ {
+ m_forInContextStack.removeLast();
+ }
+
LabelScope* breakTarget(const Identifier&);
LabelScope* continueTarget(const Identifier&);
@@ -467,6 +485,7 @@ namespace JSC {
Vector<ControlFlowContext> m_scopeContextStack;
Vector<SwitchInfo> m_switchContextStack;
+ Vector<ForInContext> m_forInContextStack;
int m_nextGlobalIndex;
int m_nextParameterIndex;
diff --git a/src/3rdparty/webkit/JavaScriptCore/interpreter/Interpreter.cpp b/src/3rdparty/webkit/JavaScriptCore/interpreter/Interpreter.cpp
index 53964ad..c77a0f1 100644
--- a/src/3rdparty/webkit/JavaScriptCore/interpreter/Interpreter.cpp
+++ b/src/3rdparty/webkit/JavaScriptCore/interpreter/Interpreter.cpp
@@ -2417,6 +2417,33 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
vPC += OPCODE_LENGTH(op_del_by_id);
NEXT_INSTRUCTION();
}
+ DEFINE_OPCODE(op_get_by_pname) {
+ int dst = vPC[1].u.operand;
+ int base = vPC[2].u.operand;
+ int property = vPC[3].u.operand;
+ int expected = vPC[4].u.operand;
+ int iter = vPC[5].u.operand;
+ int i = vPC[6].u.operand;
+
+ JSValue baseValue = callFrame->r(base).jsValue();
+ JSPropertyNameIterator* it = callFrame->r(iter).propertyNameIterator();
+ JSValue subscript = callFrame->r(property).jsValue();
+ JSValue expectedSubscript = callFrame->r(expected).jsValue();
+ int index = callFrame->r(i).i() - 1;
+ JSValue result;
+ int offset = 0;
+ if (subscript == expectedSubscript && baseValue.isCell() && (baseValue.asCell()->structure() == it->cachedStructure()) && it->getOffset(index, offset)) {
+ callFrame->r(dst) = asObject(baseValue)->getDirectOffset(offset);
+ vPC += OPCODE_LENGTH(op_get_by_pname);
+ NEXT_INSTRUCTION();
+ }
+ Identifier propertyName(callFrame, subscript.toString(callFrame));
+ result = baseValue.get(callFrame, propertyName);
+ CHECK_FOR_EXCEPTION();
+ callFrame->r(dst) = result;
+ vPC += OPCODE_LENGTH(op_get_by_pname);
+ NEXT_INSTRUCTION();
+ }
DEFINE_OPCODE(op_get_by_val) {
/* get_by_val dst(r) base(r) property(r)
diff --git a/src/3rdparty/webkit/JavaScriptCore/jit/ExecutableAllocator.h b/src/3rdparty/webkit/JavaScriptCore/jit/ExecutableAllocator.h
index 1d15ef0..5c43eeb 100644
--- a/src/3rdparty/webkit/JavaScriptCore/jit/ExecutableAllocator.h
+++ b/src/3rdparty/webkit/JavaScriptCore/jit/ExecutableAllocator.h
@@ -189,6 +189,22 @@ public:
sys_dcache_flush(code, size);
sys_icache_invalidate(code, size);
}
+#elif PLATFORM(ARM_THUMB2) && PLATFORM(LINUX)
+ static void cacheFlush(void* code, size_t size)
+ {
+ asm volatile (
+ "push {r7}\n"
+ "mov r0, %0\n"
+ "mov r1, %1\n"
+ "movw r7, #0x2\n"
+ "movt r7, #0xf\n"
+ "movs r2, #0x0\n"
+ "svc 0x0\n"
+ "pop {r7}\n"
+ :
+ : "r" (code), "r" (reinterpret_cast<char*>(code) + size)
+ : "r0", "r1");
+ }
#elif PLATFORM(SYMBIAN)
static void cacheFlush(void* code, size_t size)
{
diff --git a/src/3rdparty/webkit/JavaScriptCore/jit/JIT.cpp b/src/3rdparty/webkit/JavaScriptCore/jit/JIT.cpp
index fa0ac2e..000e4b8 100644
--- a/src/3rdparty/webkit/JavaScriptCore/jit/JIT.cpp
+++ b/src/3rdparty/webkit/JavaScriptCore/jit/JIT.cpp
@@ -239,6 +239,7 @@ void JIT::privateCompileMainPass()
DEFINE_OP(op_eq_null)
DEFINE_OP(op_get_by_id)
DEFINE_OP(op_get_by_val)
+ DEFINE_OP(op_get_by_pname)
DEFINE_OP(op_get_global_var)
DEFINE_OP(op_get_pnames)
DEFINE_OP(op_get_scoped_var)
@@ -385,6 +386,7 @@ void JIT::privateCompileSlowCases()
DEFINE_SLOWCASE_OP(op_eq)
DEFINE_SLOWCASE_OP(op_get_by_id)
DEFINE_SLOWCASE_OP(op_get_by_val)
+ DEFINE_SLOWCASE_OP(op_get_by_pname)
DEFINE_SLOWCASE_OP(op_instanceof)
DEFINE_SLOWCASE_OP(op_jfalse)
DEFINE_SLOWCASE_OP(op_jnless)
diff --git a/src/3rdparty/webkit/JavaScriptCore/jit/JIT.h b/src/3rdparty/webkit/JavaScriptCore/jit/JIT.h
index 9406d1f..e19ea17 100644
--- a/src/3rdparty/webkit/JavaScriptCore/jit/JIT.h
+++ b/src/3rdparty/webkit/JavaScriptCore/jit/JIT.h
@@ -38,6 +38,8 @@
#define JIT_CLASS_ALIGNMENT
#endif
+#define ASSERT_JIT_OFFSET(actual, expected) ASSERT_WITH_MESSAGE(actual == expected, "JIT Offset \"%s\" should be %d, not %d.\n", #expected, static_cast<int>(actual), static_cast<int>(expected));
+
#include "CodeBlock.h"
#include "Interpreter.h"
#include "JITCode.h"
@@ -249,7 +251,6 @@ namespace JSC {
static const RegisterID timeoutCheckRegister = ARMRegisters::r5;
static const RegisterID callFrameRegister = ARMRegisters::r4;
- static const RegisterID ctiReturnRegister = ARMRegisters::r6;
static const RegisterID regT0 = ARMRegisters::r0;
static const RegisterID regT1 = ARMRegisters::r1;
@@ -427,6 +428,7 @@ namespace JSC {
#endif
void compileGetDirectOffset(RegisterID base, RegisterID resultTag, RegisterID resultPayload, Structure* structure, size_t cachedOffset);
void compileGetDirectOffset(JSObject* base, RegisterID temp, RegisterID resultTag, RegisterID resultPayload, size_t cachedOffset);
+ void compileGetDirectOffset(RegisterID base, RegisterID resultTag, RegisterID resultPayload, RegisterID structure, RegisterID offset);
void compilePutDirectOffset(RegisterID base, RegisterID valueTag, RegisterID valuePayload, Structure* structure, size_t cachedOffset);
// Arithmetic opcode helpers
@@ -528,6 +530,7 @@ namespace JSC {
#endif
void compileGetDirectOffset(RegisterID base, RegisterID result, Structure* structure, size_t cachedOffset);
void compileGetDirectOffset(JSObject* base, RegisterID temp, RegisterID result, size_t cachedOffset);
+ void compileGetDirectOffset(RegisterID base, RegisterID result, RegisterID structure, RegisterID offset, RegisterID scratch);
void compilePutDirectOffset(RegisterID base, RegisterID value, Structure* structure, size_t cachedOffset);
#if PLATFORM(X86_64)
@@ -583,26 +586,26 @@ namespace JSC {
#elif PLATFORM(ARM_THUMB2)
// These architecture specific value are used to enable patching - see comment on op_put_by_id.
static const int patchOffsetPutByIdStructure = 10;
- static const int patchOffsetPutByIdExternalLoad = 20;
+ static const int patchOffsetPutByIdExternalLoad = 26;
static const int patchLengthPutByIdExternalLoad = 12;
- static const int patchOffsetPutByIdPropertyMapOffset = 40;
+ static const int patchOffsetPutByIdPropertyMapOffset = 46;
// These architecture specific value are used to enable patching - see comment on op_get_by_id.
static const int patchOffsetGetByIdStructure = 10;
- static const int patchOffsetGetByIdBranchToSlowCase = 20;
- static const int patchOffsetGetByIdExternalLoad = 20;
+ static const int patchOffsetGetByIdBranchToSlowCase = 26;
+ static const int patchOffsetGetByIdExternalLoad = 26;
static const int patchLengthGetByIdExternalLoad = 12;
- static const int patchOffsetGetByIdPropertyMapOffset = 40;
- static const int patchOffsetGetByIdPutResult = 44;
+ static const int patchOffsetGetByIdPropertyMapOffset = 46;
+ static const int patchOffsetGetByIdPutResult = 50;
#if ENABLE(OPCODE_SAMPLING)
static const int patchOffsetGetByIdSlowCaseCall = 0; // FIMXE
#else
static const int patchOffsetGetByIdSlowCaseCall = 28;
#endif
- static const int patchOffsetOpCallCompareToJump = 10;
+ static const int patchOffsetOpCallCompareToJump = 16;
- static const int patchOffsetMethodCheckProtoObj = 18;
- static const int patchOffsetMethodCheckProtoStruct = 28;
- static const int patchOffsetMethodCheckPutFunction = 46;
+ static const int patchOffsetMethodCheckProtoObj = 24;
+ static const int patchOffsetMethodCheckProtoStruct = 34;
+ static const int patchOffsetMethodCheckPutFunction = 58;
#elif PLATFORM(ARM_TRADITIONAL)
// These architecture specific value are used to enable patching - see comment on op_put_by_id.
static const int patchOffsetPutByIdStructure = 4;
@@ -619,7 +622,7 @@ namespace JSC {
#if ENABLE(OPCODE_SAMPLING)
#error "OPCODE_SAMPLING is not yet supported"
#else
- static const int patchOffsetGetByIdSlowCaseCall = 36;
+ static const int patchOffsetGetByIdSlowCaseCall = 28;
#endif
static const int patchOffsetOpCallCompareToJump = 12;
@@ -640,7 +643,7 @@ namespace JSC {
static const int sequenceGetByIdHotPathInstructionSpace = 28;
static const int sequenceGetByIdHotPathConstantSpace = 3;
// sequenceGetByIdSlowCase
- static const int sequenceGetByIdSlowCaseInstructionSpace = 40;
+ static const int sequenceGetByIdSlowCaseInstructionSpace = 32;
static const int sequenceGetByIdSlowCaseConstantSpace = 2;
// sequencePutById
static const int sequencePutByIdInstructionSpace = 28;
@@ -682,6 +685,7 @@ namespace JSC {
void emit_op_eq_null(Instruction*);
void emit_op_get_by_id(Instruction*);
void emit_op_get_by_val(Instruction*);
+ void emit_op_get_by_pname(Instruction*);
void emit_op_get_global_var(Instruction*);
void emit_op_get_scoped_var(Instruction*);
void emit_op_init_arguments(Instruction*);
@@ -771,6 +775,7 @@ namespace JSC {
void emitSlow_op_eq(Instruction*, Vector<SlowCaseEntry>::iterator&);
void emitSlow_op_get_by_id(Instruction*, Vector<SlowCaseEntry>::iterator&);
void emitSlow_op_get_by_val(Instruction*, Vector<SlowCaseEntry>::iterator&);
+ void emitSlow_op_get_by_pname(Instruction*, Vector<SlowCaseEntry>::iterator&);
void emitSlow_op_instanceof(Instruction*, Vector<SlowCaseEntry>::iterator&);
void emitSlow_op_jfalse(Instruction*, Vector<SlowCaseEntry>::iterator&);
void emitSlow_op_jnless(Instruction*, Vector<SlowCaseEntry>::iterator&);
diff --git a/src/3rdparty/webkit/JavaScriptCore/jit/JITCall.cpp b/src/3rdparty/webkit/JavaScriptCore/jit/JITCall.cpp
index cfaa69f..f7fcc0a 100644
--- a/src/3rdparty/webkit/JavaScriptCore/jit/JITCall.cpp
+++ b/src/3rdparty/webkit/JavaScriptCore/jit/JITCall.cpp
@@ -614,7 +614,7 @@ void JIT::compileOpCall(OpcodeID opcodeID, Instruction* instruction, unsigned ca
END_UNINTERRUPTED_SEQUENCE(sequenceOpCall);
addSlowCase(jumpToSlow);
- ASSERT(differenceBetween(addressOfLinkedFunctionCheck, jumpToSlow) == patchOffsetOpCallCompareToJump);
+ ASSERT_JIT_OFFSET(differenceBetween(addressOfLinkedFunctionCheck, jumpToSlow), patchOffsetOpCallCompareToJump);
m_callStructureStubCompilationInfo[callLinkInfoIndex].hotPathBegin = addressOfLinkedFunctionCheck;
// The following is the fast case, only used whan a callee can be linked.
diff --git a/src/3rdparty/webkit/JavaScriptCore/jit/JITInlineMethods.h b/src/3rdparty/webkit/JavaScriptCore/jit/JITInlineMethods.h
index f26457a..93d6ce7 100644
--- a/src/3rdparty/webkit/JavaScriptCore/jit/JITInlineMethods.h
+++ b/src/3rdparty/webkit/JavaScriptCore/jit/JITInlineMethods.h
@@ -144,7 +144,7 @@ ALWAYS_INLINE void JIT::endUninterruptedSequence(int insnSpace, int constSpace)
#endif
-#if PLATFORM(ARM_THUMB2)
+#if PLATFORM(ARM)
ALWAYS_INLINE void JIT::preserveReturnAddressAfterCall(RegisterID reg)
{
@@ -161,7 +161,7 @@ ALWAYS_INLINE void JIT::restoreReturnAddressBeforeReturn(Address address)
loadPtr(address, linkRegister);
}
-#else // PLATFORM(X86) || PLATFORM(X86_64) || PLATFORM(ARM_TRADITIONAL)
+#else // PLATFORM(X86) || PLATFORM(X86_64)
ALWAYS_INLINE void JIT::preserveReturnAddressAfterCall(RegisterID reg)
{
@@ -191,16 +191,13 @@ ALWAYS_INLINE void JIT::restoreArgumentReference()
{
move(stackPointerRegister, firstArgumentRegister);
poke(callFrameRegister, OBJECT_OFFSETOF(struct JITStackFrame, callFrame) / sizeof (void*));
-#if PLATFORM(ARM_TRADITIONAL)
- move(ctiReturnRegister, ARMRegisters::lr);
-#endif
}
ALWAYS_INLINE void JIT::restoreArgumentReferenceForTrampoline()
{
#if PLATFORM(X86)
// Within a trampoline the return address will be on the stack at this point.
addPtr(Imm32(sizeof(void*)), stackPointerRegister, firstArgumentRegister);
-#elif PLATFORM(ARM_THUMB2)
+#elif PLATFORM(ARM)
move(stackPointerRegister, firstArgumentRegister);
#endif
// In the trampoline on x86-64, the first argument register is not overwritten.
diff --git a/src/3rdparty/webkit/JavaScriptCore/jit/JITOpcodes.cpp b/src/3rdparty/webkit/JavaScriptCore/jit/JITOpcodes.cpp
index e10d105..14736cf 100644
--- a/src/3rdparty/webkit/JavaScriptCore/jit/JITOpcodes.cpp
+++ b/src/3rdparty/webkit/JavaScriptCore/jit/JITOpcodes.cpp
@@ -1792,7 +1792,6 @@ void JIT::privateCompileCTIMachineTrampolines(RefPtr<ExecutablePool>* executable
// Setup arg4: This is a plain hack
move(stackPointerRegister, ARMRegisters::S0);
- move(ctiReturnRegister, ARMRegisters::lr);
call(Address(regT1, OBJECT_OFFSETOF(JSFunction, m_data)));
addPtr(Imm32(sizeof(ArgList)), stackPointerRegister);
@@ -2500,7 +2499,13 @@ void JIT::emit_op_next_pname(Instruction* currentInstruction)
// Grab key @ i
loadPtr(addressFor(it), regT1);
loadPtr(Address(regT1, OBJECT_OFFSETOF(JSPropertyNameIterator, m_jsStrings)), regT2);
+
+#if USE(JSVALUE64)
loadPtr(BaseIndex(regT2, regT0, TimesEight), regT2);
+#else
+ loadPtr(BaseIndex(regT2, regT0, TimesFour), regT2);
+#endif
+
emitPutVirtualRegister(dst, regT2);
// Increment i
diff --git a/src/3rdparty/webkit/JavaScriptCore/jit/JITPropertyAccess.cpp b/src/3rdparty/webkit/JavaScriptCore/jit/JITPropertyAccess.cpp
index 4241111..bf367a6 100644
--- a/src/3rdparty/webkit/JavaScriptCore/jit/JITPropertyAccess.cpp
+++ b/src/3rdparty/webkit/JavaScriptCore/jit/JITPropertyAccess.cpp
@@ -33,6 +33,7 @@
#include "JITStubCall.h"
#include "JSArray.h"
#include "JSFunction.h"
+#include "JSPropertyNameIterator.h"
#include "Interpreter.h"
#include "LinkBuffer.h"
#include "RepatchBuffer.h"
@@ -934,6 +935,69 @@ void JIT::privateCompileGetByIdChain(StructureStubInfo* stubInfo, Structure* str
#endif // !ENABLE(JIT_OPTIMIZE_PROPERTY_ACCESS)
+void JIT::compileGetDirectOffset(RegisterID base, RegisterID resultTag, RegisterID resultPayload, RegisterID structure, RegisterID offset)
+{
+ ASSERT(sizeof(((Structure*)0)->m_propertyStorageCapacity) == sizeof(int32_t));
+ ASSERT(sizeof(JSObject::inlineStorageCapacity) == sizeof(int32_t));
+ ASSERT(sizeof(JSValue) == 8);
+
+ Jump notUsingInlineStorage = branch32(NotEqual, Address(structure, OBJECT_OFFSETOF(Structure, m_propertyStorageCapacity)), Imm32(JSObject::inlineStorageCapacity));
+ loadPtr(BaseIndex(base, offset, TimesEight, OBJECT_OFFSETOF(JSObject, m_inlineStorage)+OBJECT_OFFSETOF(JSValue, u.asBits.payload)), resultPayload);
+ loadPtr(BaseIndex(base, offset, TimesEight, OBJECT_OFFSETOF(JSObject, m_inlineStorage)+OBJECT_OFFSETOF(JSValue, u.asBits.tag)), resultTag);
+ Jump finishedLoad = jump();
+ notUsingInlineStorage.link(this);
+ loadPtr(Address(base, OBJECT_OFFSETOF(JSObject, m_externalStorage)), base);
+ loadPtr(BaseIndex(base, offset, TimesEight, OBJECT_OFFSETOF(JSValue, u.asBits.payload)), resultPayload);
+ loadPtr(BaseIndex(base, offset, TimesEight, OBJECT_OFFSETOF(JSValue, u.asBits.tag)), resultTag);
+ finishedLoad.link(this);
+}
+
+void JIT::emit_op_get_by_pname(Instruction* currentInstruction)
+{
+ unsigned dst = currentInstruction[1].u.operand;
+ unsigned base = currentInstruction[2].u.operand;
+ unsigned property = currentInstruction[3].u.operand;
+ unsigned expected = currentInstruction[4].u.operand;
+ unsigned iter = currentInstruction[5].u.operand;
+ unsigned i = currentInstruction[6].u.operand;
+
+ emitLoad2(property, regT1, regT0, base, regT3, regT2);
+ emitJumpSlowCaseIfNotJSCell(property, regT1);
+ addSlowCase(branchPtr(NotEqual, regT0, payloadFor(expected)));
+ // Property registers are now available as the property is known
+ emitJumpSlowCaseIfNotJSCell(base, regT3);
+ emitLoadPayload(iter, regT1);
+
+ // Test base's structure
+ loadPtr(Address(regT2, OBJECT_OFFSETOF(JSCell, m_structure)), regT0);
+ addSlowCase(branchPtr(NotEqual, regT0, Address(regT1, OBJECT_OFFSETOF(JSPropertyNameIterator, m_cachedStructure))));
+ load32(addressFor(i), regT3);
+ sub32(Imm32(1), regT3);
+ addSlowCase(branch32(AboveOrEqual, regT3, Address(regT1, OBJECT_OFFSETOF(JSPropertyNameIterator, m_numCacheableSlots))));
+ compileGetDirectOffset(regT2, regT1, regT0, regT0, regT3);
+
+ emitStore(dst, regT1, regT0);
+ map(m_bytecodeIndex + OPCODE_LENGTH(op_get_by_pname), dst, regT1, regT0);
+}
+
+void JIT::emitSlow_op_get_by_pname(Instruction* currentInstruction, Vector<SlowCaseEntry>::iterator& iter)
+{
+ unsigned dst = currentInstruction[1].u.operand;
+ unsigned base = currentInstruction[2].u.operand;
+ unsigned property = currentInstruction[3].u.operand;
+
+ linkSlowCaseIfNotJSCell(iter, property);
+ linkSlowCase(iter);
+ linkSlowCaseIfNotJSCell(iter, base);
+ linkSlowCase(iter);
+ linkSlowCase(iter);
+
+ JITStubCall stubCall(this, cti_op_get_by_val);
+ stubCall.addArgument(base);
+ stubCall.addArgument(property);
+ stubCall.call(dst);
+}
+
#else // USE(JSVALUE32_64)
void JIT::emit_op_get_by_val(Instruction* currentInstruction)
@@ -967,6 +1031,48 @@ void JIT::emit_op_get_by_val(Instruction* currentInstruction)
emitPutVirtualRegister(dst);
}
+void JIT::emit_op_get_by_pname(Instruction* currentInstruction)
+{
+ unsigned dst = currentInstruction[1].u.operand;
+ unsigned base = currentInstruction[2].u.operand;
+ unsigned property = currentInstruction[3].u.operand;
+ unsigned expected = currentInstruction[4].u.operand;
+ unsigned iter = currentInstruction[5].u.operand;
+ unsigned i = currentInstruction[6].u.operand;
+
+ emitGetVirtualRegister(property, regT0);
+ addSlowCase(branchPtr(NotEqual, regT0, addressFor(expected)));
+ emitGetVirtualRegisters(base, regT0, iter, regT1);
+ emitJumpSlowCaseIfNotJSCell(regT0, base);
+
+ // Test base's structure
+ loadPtr(Address(regT0, OBJECT_OFFSETOF(JSCell, m_structure)), regT2);
+ addSlowCase(branchPtr(NotEqual, regT2, Address(regT1, OBJECT_OFFSETOF(JSPropertyNameIterator, m_cachedStructure))));
+ load32(addressFor(i), regT3);
+ sub32(Imm32(1), regT3);
+ addSlowCase(branch32(AboveOrEqual, regT3, Address(regT1, OBJECT_OFFSETOF(JSPropertyNameIterator, m_numCacheableSlots))));
+ compileGetDirectOffset(regT0, regT0, regT2, regT3, regT1);
+
+ emitPutVirtualRegister(dst, regT0);
+}
+
+void JIT::emitSlow_op_get_by_pname(Instruction* currentInstruction, Vector<SlowCaseEntry>::iterator& iter)
+{
+ unsigned dst = currentInstruction[1].u.operand;
+ unsigned base = currentInstruction[2].u.operand;
+ unsigned property = currentInstruction[3].u.operand;
+
+ linkSlowCase(iter);
+ linkSlowCaseIfNotJSCell(iter, base);
+ linkSlowCase(iter);
+ linkSlowCase(iter);
+
+ JITStubCall stubCall(this, cti_op_get_by_val);
+ stubCall.addArgument(base, regT2);
+ stubCall.addArgument(property, regT2);
+ stubCall.call(dst);
+}
+
void JIT::emit_op_put_by_val(Instruction* currentInstruction)
{
unsigned base = currentInstruction[1].u.operand;
@@ -1132,9 +1238,9 @@ void JIT::emit_op_method_check(Instruction* currentInstruction)
Jump match = jump();
- ASSERT(differenceBetween(info.structureToCompare, protoObj) == patchOffsetMethodCheckProtoObj);
- ASSERT(differenceBetween(info.structureToCompare, protoStructureToCompare) == patchOffsetMethodCheckProtoStruct);
- ASSERT(differenceBetween(info.structureToCompare, putFunction) == patchOffsetMethodCheckPutFunction);
+ ASSERT_JIT_OFFSET(differenceBetween(info.structureToCompare, protoObj), patchOffsetMethodCheckProtoObj);
+ ASSERT_JIT_OFFSET(differenceBetween(info.structureToCompare, protoStructureToCompare), patchOffsetMethodCheckProtoStruct);
+ ASSERT_JIT_OFFSET(differenceBetween(info.structureToCompare, putFunction), patchOffsetMethodCheckPutFunction);
// Link the failure cases here.
notCell.link(this);
@@ -1201,22 +1307,22 @@ void JIT::compileGetByIdHotPath(int, int baseVReg, Identifier*, unsigned propert
DataLabelPtr structureToCompare;
Jump structureCheck = branchPtrWithPatch(NotEqual, Address(regT0, OBJECT_OFFSETOF(JSCell, m_structure)), structureToCompare, ImmPtr(reinterpret_cast<void*>(patchGetByIdDefaultStructure)));
addSlowCase(structureCheck);
- ASSERT(differenceBetween(hotPathBegin, structureToCompare) == patchOffsetGetByIdStructure);
- ASSERT(differenceBetween(hotPathBegin, structureCheck) == patchOffsetGetByIdBranchToSlowCase);
+ ASSERT_JIT_OFFSET(differenceBetween(hotPathBegin, structureToCompare), patchOffsetGetByIdStructure);
+ ASSERT_JIT_OFFSET(differenceBetween(hotPathBegin, structureCheck), patchOffsetGetByIdBranchToSlowCase)
Label externalLoad = loadPtrWithPatchToLEA(Address(regT0, OBJECT_OFFSETOF(JSObject, m_externalStorage)), regT0);
Label externalLoadComplete(this);
- ASSERT(differenceBetween(hotPathBegin, externalLoad) == patchOffsetGetByIdExternalLoad);
- ASSERT(differenceBetween(externalLoad, externalLoadComplete) == patchLengthGetByIdExternalLoad);
+ ASSERT_JIT_OFFSET(differenceBetween(hotPathBegin, externalLoad), patchOffsetGetByIdExternalLoad);
+ ASSERT_JIT_OFFSET(differenceBetween(externalLoad, externalLoadComplete), patchLengthGetByIdExternalLoad);
DataLabel32 displacementLabel = loadPtrWithAddressOffsetPatch(Address(regT0, patchGetByIdDefaultOffset), regT0);
- ASSERT(differenceBetween(hotPathBegin, displacementLabel) == patchOffsetGetByIdPropertyMapOffset);
+ ASSERT_JIT_OFFSET(differenceBetween(hotPathBegin, displacementLabel), patchOffsetGetByIdPropertyMapOffset);
Label putResult(this);
END_UNINTERRUPTED_SEQUENCE(sequenceGetByIdHotPath);
- ASSERT(differenceBetween(hotPathBegin, putResult) == patchOffsetGetByIdPutResult);
+ ASSERT_JIT_OFFSET(differenceBetween(hotPathBegin, putResult), patchOffsetGetByIdPutResult);
}
void JIT::emitSlow_op_get_by_id(Instruction* currentInstruction, Vector<SlowCaseEntry>::iterator& iter)
@@ -1251,7 +1357,7 @@ void JIT::compileGetByIdSlowCase(int resultVReg, int baseVReg, Identifier* ident
END_UNINTERRUPTED_SEQUENCE(sequenceGetByIdSlowCase);
- ASSERT(differenceBetween(coldPathBegin, call) == patchOffsetGetByIdSlowCaseCall);
+ ASSERT_JIT_OFFSET(differenceBetween(coldPathBegin, call), patchOffsetGetByIdSlowCaseCall);
// Track the location of the call; this will be used to recover patch information.
m_propertyAccessCompilationInfo[m_propertyAccessInstructionIndex].callReturnLocation = call;
@@ -1282,19 +1388,19 @@ void JIT::emit_op_put_by_id(Instruction* currentInstruction)
// It is important that the following instruction plants a 32bit immediate, in order that it can be patched over.
DataLabelPtr structureToCompare;
addSlowCase(branchPtrWithPatch(NotEqual, Address(regT0, OBJECT_OFFSETOF(JSCell, m_structure)), structureToCompare, ImmPtr(reinterpret_cast<void*>(patchGetByIdDefaultStructure))));
- ASSERT(differenceBetween(hotPathBegin, structureToCompare) == patchOffsetPutByIdStructure);
+ ASSERT_JIT_OFFSET(differenceBetween(hotPathBegin, structureToCompare), patchOffsetPutByIdStructure);
// Plant a load from a bogus ofset in the object's property map; we will patch this later, if it is to be used.
Label externalLoad = loadPtrWithPatchToLEA(Address(regT0, OBJECT_OFFSETOF(JSObject, m_externalStorage)), regT0);
Label externalLoadComplete(this);
- ASSERT(differenceBetween(hotPathBegin, externalLoad) == patchOffsetPutByIdExternalLoad);
- ASSERT(differenceBetween(externalLoad, externalLoadComplete) == patchLengthPutByIdExternalLoad);
+ ASSERT_JIT_OFFSET(differenceBetween(hotPathBegin, externalLoad), patchOffsetPutByIdExternalLoad);
+ ASSERT_JIT_OFFSET(differenceBetween(externalLoad, externalLoadComplete), patchLengthPutByIdExternalLoad);
DataLabel32 displacementLabel = storePtrWithAddressOffsetPatch(regT1, Address(regT0, patchGetByIdDefaultOffset));
END_UNINTERRUPTED_SEQUENCE(sequencePutById);
- ASSERT(differenceBetween(hotPathBegin, displacementLabel) == patchOffsetPutByIdPropertyMapOffset);
+ ASSERT_JIT_OFFSET(differenceBetween(hotPathBegin, displacementLabel), patchOffsetPutByIdPropertyMapOffset);
}
void JIT::emitSlow_op_put_by_id(Instruction* currentInstruction, Vector<SlowCaseEntry>::iterator& iter)
@@ -1351,6 +1457,20 @@ void JIT::compileGetDirectOffset(JSObject* base, RegisterID temp, RegisterID res
}
}
+void JIT::compileGetDirectOffset(RegisterID base, RegisterID result, RegisterID structure, RegisterID offset, RegisterID scratch)
+{
+ ASSERT(sizeof(((Structure*)0)->m_propertyStorageCapacity) == sizeof(int32_t));
+ ASSERT(sizeof(JSObject::inlineStorageCapacity) == sizeof(int32_t));
+
+ Jump notUsingInlineStorage = branch32(NotEqual, Address(structure, OBJECT_OFFSETOF(Structure, m_propertyStorageCapacity)), Imm32(JSObject::inlineStorageCapacity));
+ loadPtr(BaseIndex(base, offset, ScalePtr, OBJECT_OFFSETOF(JSObject, m_inlineStorage)), result);
+ Jump finishedLoad = jump();
+ notUsingInlineStorage.link(this);
+ loadPtr(Address(base, OBJECT_OFFSETOF(JSObject, m_externalStorage)), scratch);
+ loadPtr(BaseIndex(scratch, offset, ScalePtr, 0), result);
+ finishedLoad.link(this);
+}
+
void JIT::testPrototype(Structure* structure, JumpList& failureCases)
{
if (structure->m_prototype.isNull())
diff --git a/src/3rdparty/webkit/JavaScriptCore/jit/JITStubs.cpp b/src/3rdparty/webkit/JavaScriptCore/jit/JITStubs.cpp
index 90ea807..470ed0b 100644
--- a/src/3rdparty/webkit/JavaScriptCore/jit/JITStubs.cpp
+++ b/src/3rdparty/webkit/JavaScriptCore/jit/JITStubs.cpp
@@ -75,12 +75,25 @@ namespace JSC {
#define THUMB_FUNC_PARAM(name)
#endif
-#if PLATFORM(LINUX) && PLATFORM(X86_64)
+#if PLATFORM(LINUX) && (PLATFORM(X86_64) || PLATFORM(X86))
#define SYMBOL_STRING_RELOCATION(name) #name "@plt"
#else
#define SYMBOL_STRING_RELOCATION(name) SYMBOL_STRING(name)
#endif
+#if PLATFORM(DARWIN)
+ // Mach-O platform
+#define HIDE_SYMBOL(name) ".private_extern _" #name
+#elif PLATFORM(AIX)
+ // IBM's own file format
+#define HIDE_SYMBOL(name) ".lglobl " #name
+#elif PLATFORM(LINUX) || PLATFORM(FREEBSD) || PLATFORM(OPENBSD) || PLATFORM(SOLARIS) || (PLATFORM(HPUX) && PLATFORM(IA64)) || PLATFORM(SYMBIAN) || PLATFORM(NETBSD)
+ // ELF platform
+#define HIDE_SYMBOL(name) ".hidden " #name
+#else
+#define HIDE_SYMBOL(name)
+#endif
+
#if USE(JSVALUE32_64)
#if COMPILER(GCC) && PLATFORM(X86)
@@ -93,7 +106,9 @@ COMPILE_ASSERT(offsetof(struct JITStackFrame, callFrame) == 0x58, JITStackFrame_
COMPILE_ASSERT(offsetof(struct JITStackFrame, code) == 0x50, JITStackFrame_code_offset_matches_ctiTrampoline);
asm volatile (
+".text\n"
".globl " SYMBOL_STRING(ctiTrampoline) "\n"
+HIDE_SYMBOL(ctiTrampoline) "\n"
SYMBOL_STRING(ctiTrampoline) ":" "\n"
"pushl %ebp" "\n"
"movl %esp, %ebp" "\n"
@@ -114,6 +129,7 @@ SYMBOL_STRING(ctiTrampoline) ":" "\n"
asm volatile (
".globl " SYMBOL_STRING(ctiVMThrowTrampoline) "\n"
+HIDE_SYMBOL(ctiVMThrowTrampoline) "\n"
SYMBOL_STRING(ctiVMThrowTrampoline) ":" "\n"
#if !USE(JIT_STUB_ARGUMENT_VA_LIST)
"movl %esp, %ecx" "\n"
@@ -129,6 +145,7 @@ SYMBOL_STRING(ctiVMThrowTrampoline) ":" "\n"
asm volatile (
".globl " SYMBOL_STRING(ctiOpThrowNotCaught) "\n"
+HIDE_SYMBOL(ctiOpThrowNotCaught) "\n"
SYMBOL_STRING(ctiOpThrowNotCaught) ":" "\n"
"addl $0x3c, %esp" "\n"
"popl %ebx" "\n"
@@ -153,6 +170,7 @@ COMPILE_ASSERT(offsetof(struct JITStackFrame, code) == 0x80, JITStackFrame_code_
asm volatile (
".globl " SYMBOL_STRING(ctiTrampoline) "\n"
+HIDE_SYMBOL(ctiTrampoline) "\n"
SYMBOL_STRING(ctiTrampoline) ":" "\n"
"pushq %rbp" "\n"
"movq %rsp, %rbp" "\n"
@@ -179,6 +197,7 @@ SYMBOL_STRING(ctiTrampoline) ":" "\n"
asm volatile (
".globl " SYMBOL_STRING(ctiVMThrowTrampoline) "\n"
+HIDE_SYMBOL(ctiVMThrowTrampoline) "\n"
SYMBOL_STRING(ctiVMThrowTrampoline) ":" "\n"
"movq %rsp, %rdi" "\n"
"call " SYMBOL_STRING_RELOCATION(cti_vm_throw) "\n"
@@ -194,6 +213,7 @@ SYMBOL_STRING(ctiVMThrowTrampoline) ":" "\n"
asm volatile (
".globl " SYMBOL_STRING(ctiOpThrowNotCaught) "\n"
+HIDE_SYMBOL(ctiOpThrowNotCaught) "\n"
SYMBOL_STRING(ctiOpThrowNotCaught) ":" "\n"
"addq $0x48, %rsp" "\n"
"popq %rbx" "\n"
@@ -215,6 +235,7 @@ asm volatile (
".text" "\n"
".align 2" "\n"
".globl " SYMBOL_STRING(ctiTrampoline) "\n"
+HIDE_SYMBOL(ctiTrampoline) "\n"
".thumb" "\n"
".thumb_func " THUMB_FUNC_PARAM(ctiTrampoline) "\n"
SYMBOL_STRING(ctiTrampoline) ":" "\n"
@@ -241,6 +262,7 @@ asm volatile (
".text" "\n"
".align 2" "\n"
".globl " SYMBOL_STRING(ctiVMThrowTrampoline) "\n"
+HIDE_SYMBOL(ctiVMThrowTrampoline) "\n"
".thumb" "\n"
".thumb_func " THUMB_FUNC_PARAM(ctiVMThrowTrampoline) "\n"
SYMBOL_STRING(ctiVMThrowTrampoline) ":" "\n"
@@ -346,7 +368,9 @@ COMPILE_ASSERT(offsetof(struct JITStackFrame, code) == 0x30, JITStackFrame_code_
COMPILE_ASSERT(offsetof(struct JITStackFrame, savedEBX) == 0x1c, JITStackFrame_stub_argument_space_matches_ctiTrampoline);
asm volatile (
+".text\n"
".globl " SYMBOL_STRING(ctiTrampoline) "\n"
+HIDE_SYMBOL(ctiTrampoline) "\n"
SYMBOL_STRING(ctiTrampoline) ":" "\n"
"pushl %ebp" "\n"
"movl %esp, %ebp" "\n"
@@ -367,6 +391,7 @@ SYMBOL_STRING(ctiTrampoline) ":" "\n"
asm volatile (
".globl " SYMBOL_STRING(ctiVMThrowTrampoline) "\n"
+HIDE_SYMBOL(ctiVMThrowTrampoline) "\n"
SYMBOL_STRING(ctiVMThrowTrampoline) ":" "\n"
#if !USE(JIT_STUB_ARGUMENT_VA_LIST)
"movl %esp, %ecx" "\n"
@@ -382,6 +407,7 @@ SYMBOL_STRING(ctiVMThrowTrampoline) ":" "\n"
asm volatile (
".globl " SYMBOL_STRING(ctiOpThrowNotCaught) "\n"
+HIDE_SYMBOL(ctiOpThrowNotCaught) "\n"
SYMBOL_STRING(ctiOpThrowNotCaught) ":" "\n"
"addl $0x1c, %esp" "\n"
"popl %ebx" "\n"
@@ -404,7 +430,9 @@ COMPILE_ASSERT(offsetof(struct JITStackFrame, code) == 0x48, JITStackFrame_code_
COMPILE_ASSERT(offsetof(struct JITStackFrame, savedRBX) == 0x78, JITStackFrame_stub_argument_space_matches_ctiTrampoline);
asm volatile (
+".text\n"
".globl " SYMBOL_STRING(ctiTrampoline) "\n"
+HIDE_SYMBOL(ctiTrampoline) "\n"
SYMBOL_STRING(ctiTrampoline) ":" "\n"
"pushq %rbp" "\n"
"movq %rsp, %rbp" "\n"
@@ -438,6 +466,7 @@ SYMBOL_STRING(ctiTrampoline) ":" "\n"
asm volatile (
".globl " SYMBOL_STRING(ctiVMThrowTrampoline) "\n"
+HIDE_SYMBOL(ctiVMThrowTrampoline) "\n"
SYMBOL_STRING(ctiVMThrowTrampoline) ":" "\n"
"movq %rsp, %rdi" "\n"
"call " SYMBOL_STRING_RELOCATION(cti_vm_throw) "\n"
@@ -453,6 +482,7 @@ SYMBOL_STRING(ctiVMThrowTrampoline) ":" "\n"
asm volatile (
".globl " SYMBOL_STRING(ctiOpThrowNotCaught) "\n"
+HIDE_SYMBOL(ctiOpThrowNotCaught) "\n"
SYMBOL_STRING(ctiOpThrowNotCaught) ":" "\n"
"addq $0x78, %rsp" "\n"
"popq %rbx" "\n"
@@ -474,6 +504,7 @@ asm volatile (
".text" "\n"
".align 2" "\n"
".globl " SYMBOL_STRING(ctiTrampoline) "\n"
+HIDE_SYMBOL(ctiTrampoline) "\n"
".thumb" "\n"
".thumb_func " THUMB_FUNC_PARAM(ctiTrampoline) "\n"
SYMBOL_STRING(ctiTrampoline) ":" "\n"
@@ -500,6 +531,7 @@ asm volatile (
".text" "\n"
".align 2" "\n"
".globl " SYMBOL_STRING(ctiVMThrowTrampoline) "\n"
+HIDE_SYMBOL(ctiVMThrowTrampoline) "\n"
".thumb" "\n"
".thumb_func " THUMB_FUNC_PARAM(ctiVMThrowTrampoline) "\n"
SYMBOL_STRING(ctiVMThrowTrampoline) ":" "\n"
@@ -517,6 +549,7 @@ asm volatile (
".text" "\n"
".align 2" "\n"
".globl " SYMBOL_STRING(ctiOpThrowNotCaught) "\n"
+HIDE_SYMBOL(ctiOpThrowNotCaught) "\n"
".thumb" "\n"
".thumb_func " THUMB_FUNC_PARAM(ctiOpThrowNotCaught) "\n"
SYMBOL_STRING(ctiOpThrowNotCaught) ":" "\n"
@@ -531,41 +564,35 @@ SYMBOL_STRING(ctiOpThrowNotCaught) ":" "\n"
#elif COMPILER(GCC) && PLATFORM(ARM_TRADITIONAL)
asm volatile (
+".text\n"
".globl " SYMBOL_STRING(ctiTrampoline) "\n"
+HIDE_SYMBOL(ctiTrampoline) "\n"
SYMBOL_STRING(ctiTrampoline) ":" "\n"
"stmdb sp!, {r1-r3}" "\n"
"stmdb sp!, {r4-r8, lr}" "\n"
- "mov r6, pc" "\n"
- "add r6, r6, #40" "\n"
- "sub sp, sp, #32" "\n"
- "ldr r4, [sp, #60]" "\n"
+ "sub sp, sp, #36" "\n"
+ "mov r4, r2" "\n"
"mov r5, #512" "\n"
- // r0 contains the code
- "add r8, pc, #4" "\n"
- "str r8, [sp, #-4]!" "\n"
+ "mov lr, pc" "\n"
"mov pc, r0" "\n"
- "add sp, sp, #32" "\n"
+ "add sp, sp, #36" "\n"
"ldmia sp!, {r4-r8, lr}" "\n"
"add sp, sp, #12" "\n"
"mov pc, lr" "\n"
-
- // the return instruction
- "ldr pc, [sp], #4" "\n"
);
asm volatile (
".globl " SYMBOL_STRING(ctiVMThrowTrampoline) "\n"
+HIDE_SYMBOL(ctiVMThrowTrampoline) "\n"
SYMBOL_STRING(ctiVMThrowTrampoline) ":" "\n"
"mov r0, sp" "\n"
- "mov lr, r6" "\n"
- "add r8, pc, #4" "\n"
- "str r8, [sp, #-4]!" "\n"
- "b " SYMBOL_STRING_RELOCATION(cti_vm_throw) "\n"
+ "bl " SYMBOL_STRING_RELOCATION(cti_vm_throw) "\n"
// Both has the same return sequence
".globl " SYMBOL_STRING(ctiOpThrowNotCaught) "\n"
+HIDE_SYMBOL(ctiOpThrowNotCaught) "\n"
SYMBOL_STRING(ctiOpThrowNotCaught) ":" "\n"
- "add sp, sp, #32" "\n"
+ "add sp, sp, #36" "\n"
"ldmia sp!, {r4-r8, lr}" "\n"
"add sp, sp, #12" "\n"
"mov pc, lr" "\n"
@@ -898,6 +925,7 @@ static NEVER_INLINE void throwStackOverflowError(CallFrame* callFrame, JSGlobalD
".text" "\n" \
".align 2" "\n" \
".globl " SYMBOL_STRING(cti_##op) "\n" \
+ HIDE_SYMBOL(cti_##op) "\n" \
".thumb" "\n" \
".thumb_func " THUMB_FUNC_PARAM(cti_##op) "\n" \
SYMBOL_STRING(cti_##op) ":" "\n" \
@@ -908,6 +936,22 @@ static NEVER_INLINE void throwStackOverflowError(CallFrame* callFrame, JSGlobalD
); \
rtype JITStubThunked_##op(STUB_ARGS_DECLARATION) \
+#elif PLATFORM(ARM_TRADITIONAL) && COMPILER(GCC)
+
+#define DEFINE_STUB_FUNCTION(rtype, op) \
+ extern "C" { \
+ rtype JITStubThunked_##op(STUB_ARGS_DECLARATION); \
+ }; \
+ asm volatile ( \
+ ".globl " SYMBOL_STRING(cti_##op) "\n" \
+ SYMBOL_STRING(cti_##op) ":" "\n" \
+ "str lr, [sp, #32]" "\n" \
+ "bl " SYMBOL_STRING(JITStubThunked_##op) "\n" \
+ "ldr lr, [sp, #32]" "\n" \
+ "mov pc, lr" "\n" \
+ ); \
+ rtype JITStubThunked_##op(STUB_ARGS_DECLARATION)
+
#else
#define DEFINE_STUB_FUNCTION(rtype, op) rtype JIT_STUB cti_##op(STUB_ARGS_DECLARATION)
#endif
diff --git a/src/3rdparty/webkit/JavaScriptCore/jit/JITStubs.h b/src/3rdparty/webkit/JavaScriptCore/jit/JITStubs.h
index ccbcd2a..69776cb 100644
--- a/src/3rdparty/webkit/JavaScriptCore/jit/JITStubs.h
+++ b/src/3rdparty/webkit/JavaScriptCore/jit/JITStubs.h
@@ -163,6 +163,8 @@ namespace JSC {
JITStubArg padding; // Unused
JITStubArg args[7];
+ ReturnAddressPtr thunkReturnAddress;
+
void* preservedR4;
void* preservedR5;
void* preservedR6;
@@ -173,11 +175,13 @@ namespace JSC {
RegisterFile* registerFile;
CallFrame* callFrame;
JSValue* exception;
+
+ // These arguments passed on the stack.
Profiler** enabledProfilerReference;
JSGlobalData* globalData;
// When JIT code makes a call, it pushes its return address just below the rest of the stack.
- ReturnAddressPtr* returnAddressSlot() { return reinterpret_cast<ReturnAddressPtr*>(this) - 1; }
+ ReturnAddressPtr* returnAddressSlot() { return &thunkReturnAddress; }
};
#else
#error "JITStackFrame not defined for this platform."
diff --git a/src/3rdparty/webkit/JavaScriptCore/parser/Nodes.cpp b/src/3rdparty/webkit/JavaScriptCore/parser/Nodes.cpp
index b1e317e..45009dc 100644
--- a/src/3rdparty/webkit/JavaScriptCore/parser/Nodes.cpp
+++ b/src/3rdparty/webkit/JavaScriptCore/parser/Nodes.cpp
@@ -1477,6 +1477,7 @@ RegisterID* ForInNode::emitBytecode(BytecodeGenerator& generator, RegisterID* ds
generator.emitNode(base.get(), m_expr);
RefPtr<RegisterID> i = generator.newTemporary();
RefPtr<RegisterID> size = generator.newTemporary();
+ RefPtr<RegisterID> expectedSubscript;
RefPtr<RegisterID> iter = generator.emitGetPropertyNames(generator.newTemporary(), base.get(), i.get(), size.get(), scope->breakTarget());
generator.emitJump(scope->continueTarget());
@@ -1484,6 +1485,7 @@ RegisterID* ForInNode::emitBytecode(BytecodeGenerator& generator, RegisterID* ds
generator.emitLabel(loopStart.get());
RegisterID* propertyName;
+ bool optimizedForinAccess = false;
if (m_lexpr->isResolveNode()) {
const Identifier& ident = static_cast<ResolveNode*>(m_lexpr)->identifier();
propertyName = generator.registerFor(ident);
@@ -1494,6 +1496,10 @@ RegisterID* ForInNode::emitBytecode(BytecodeGenerator& generator, RegisterID* ds
generator.emitExpressionInfo(divot(), startOffset(), endOffset());
generator.emitPutById(base, ident, propertyName);
+ } else {
+ expectedSubscript = generator.emitMove(generator.newTemporary(), propertyName);
+ generator.pushOptimisedForIn(expectedSubscript.get(), iter.get(), i.get(), propertyName);
+ optimizedForinAccess = true;
}
} else if (m_lexpr->isDotAccessorNode()) {
DotAccessorNode* assignNode = static_cast<DotAccessorNode*>(m_lexpr);
@@ -1518,6 +1524,9 @@ RegisterID* ForInNode::emitBytecode(BytecodeGenerator& generator, RegisterID* ds
generator.emitNode(dst, m_statement);
+ if (optimizedForinAccess)
+ generator.popOptimisedForIn();
+
generator.emitLabel(scope->continueTarget());
generator.emitNextPropertyName(propertyName, base.get(), i.get(), size.get(), iter.get(), loopStart.get());
generator.emitDebugHook(WillExecuteStatement, firstLine(), lastLine());
diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/Collector.cpp b/src/3rdparty/webkit/JavaScriptCore/runtime/Collector.cpp
index a69115c..8b647a0 100644
--- a/src/3rdparty/webkit/JavaScriptCore/runtime/Collector.cpp
+++ b/src/3rdparty/webkit/JavaScriptCore/runtime/Collector.cpp
@@ -1291,6 +1291,10 @@ static const char* typeName(JSCell* cell)
#endif
if (cell->isGetterSetter())
return "gettersetter";
+ if (cell->isAPIValueWrapper())
+ return "value wrapper";
+ if (cell->isPropertyNameIterator())
+ return "for-in iterator";
ASSERT(cell->isObject());
const ClassInfo* info = cell->classInfo();
return info ? info->className : "Object";
diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/DateConstructor.cpp b/src/3rdparty/webkit/JavaScriptCore/runtime/DateConstructor.cpp
index f9b7d84..9908fef 100644
--- a/src/3rdparty/webkit/JavaScriptCore/runtime/DateConstructor.cpp
+++ b/src/3rdparty/webkit/JavaScriptCore/runtime/DateConstructor.cpp
@@ -112,9 +112,7 @@ JSObject* constructDate(ExecState* exec, const ArgList& args)
}
}
- DateInstance* result = new (exec) DateInstance(exec->lexicalGlobalObject()->dateStructure());
- result->setInternalValue(jsNumber(exec, timeClip(value)));
- return result;
+ return new (exec) DateInstance(exec, value);
}
static JSObject* constructWithDateConstructor(ExecState* exec, JSObject*, const ArgList& args)
diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/DateInstance.cpp b/src/3rdparty/webkit/JavaScriptCore/runtime/DateInstance.cpp
index 4cd58f5..d4c9ef7 100644
--- a/src/3rdparty/webkit/JavaScriptCore/runtime/DateInstance.cpp
+++ b/src/3rdparty/webkit/JavaScriptCore/runtime/DateInstance.cpp
@@ -32,95 +32,43 @@ using namespace WTF;
namespace JSC {
-struct DateInstance::Cache {
- double m_gregorianDateTimeCachedForMS;
- GregorianDateTime m_cachedGregorianDateTime;
- double m_gregorianDateTimeUTCCachedForMS;
- GregorianDateTime m_cachedGregorianDateTimeUTC;
-};
-
const ClassInfo DateInstance::info = {"Date", 0, 0, 0};
-DateInstance::DateInstance(NonNullPassRefPtr<Structure> structure)
+DateInstance::DateInstance(ExecState* exec, NonNullPassRefPtr<Structure> structure)
: JSWrapperObject(structure)
- , m_cache(0)
{
+ setInternalValue(jsNaN(exec));
}
DateInstance::DateInstance(ExecState* exec, double time)
: JSWrapperObject(exec->lexicalGlobalObject()->dateStructure())
- , m_cache(0)
{
setInternalValue(jsNumber(exec, timeClip(time)));
}
-DateInstance::~DateInstance()
+bool DateInstance::getGregorianDateTime(ExecState* exec, bool outputIsUTC, GregorianDateTime& t) const
{
- delete m_cache;
-}
+ double milli = internalNumber();
+ if (isnan(milli))
+ return false;
-void DateInstance::msToGregorianDateTime(double milli, bool outputIsUTC, GregorianDateTime& t) const
-{
- if (!m_cache) {
- m_cache = new Cache;
- m_cache->m_gregorianDateTimeCachedForMS = NaN;
- m_cache->m_gregorianDateTimeUTCCachedForMS = NaN;
- }
+ if (!m_data)
+ m_data = exec->globalData().dateInstanceCache.add(milli);
if (outputIsUTC) {
- if (m_cache->m_gregorianDateTimeUTCCachedForMS != milli) {
- WTF::msToGregorianDateTime(milli, true, m_cache->m_cachedGregorianDateTimeUTC);
- m_cache->m_gregorianDateTimeUTCCachedForMS = milli;
+ if (m_data->m_gregorianDateTimeUTCCachedForMS != milli) {
+ WTF::msToGregorianDateTime(internalNumber(), true, m_data->m_cachedGregorianDateTimeUTC);
+ m_data->m_gregorianDateTimeUTCCachedForMS = milli;
}
- t.copyFrom(m_cache->m_cachedGregorianDateTimeUTC);
+ t.copyFrom(m_data->m_cachedGregorianDateTimeUTC);
} else {
- if (m_cache->m_gregorianDateTimeCachedForMS != milli) {
- WTF::msToGregorianDateTime(milli, false, m_cache->m_cachedGregorianDateTime);
- m_cache->m_gregorianDateTimeCachedForMS = milli;
+ if (m_data->m_gregorianDateTimeCachedForMS != milli) {
+ WTF::msToGregorianDateTime(internalNumber(), false, m_data->m_cachedGregorianDateTime);
+ m_data->m_gregorianDateTimeCachedForMS = milli;
}
- t.copyFrom(m_cache->m_cachedGregorianDateTime);
+ t.copyFrom(m_data->m_cachedGregorianDateTime);
}
-}
-bool DateInstance::getTime(GregorianDateTime& t, int& offset) const
-{
- double milli = internalNumber();
- if (isnan(milli))
- return false;
-
- msToGregorianDateTime(milli, false, t);
- offset = gmtoffset(t);
- return true;
-}
-
-bool DateInstance::getUTCTime(GregorianDateTime& t) const
-{
- double milli = internalNumber();
- if (isnan(milli))
- return false;
-
- msToGregorianDateTime(milli, true, t);
- return true;
-}
-
-bool DateInstance::getTime(double& milli, int& offset) const
-{
- milli = internalNumber();
- if (isnan(milli))
- return false;
-
- GregorianDateTime t;
- msToGregorianDateTime(milli, false, t);
- offset = gmtoffset(t);
- return true;
-}
-
-bool DateInstance::getUTCTime(double& milli) const
-{
- milli = internalNumber();
- if (isnan(milli))
- return false;
-
return true;
}
diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/DateInstance.h b/src/3rdparty/webkit/JavaScriptCore/runtime/DateInstance.h
index 36d90b1..38b321c 100644
--- a/src/3rdparty/webkit/JavaScriptCore/runtime/DateInstance.h
+++ b/src/3rdparty/webkit/JavaScriptCore/runtime/DateInstance.h
@@ -32,27 +32,26 @@ namespace JSC {
class DateInstance : public JSWrapperObject {
public:
DateInstance(ExecState*, double);
- explicit DateInstance(NonNullPassRefPtr<Structure>);
- virtual ~DateInstance();
+ explicit DateInstance(ExecState*, NonNullPassRefPtr<Structure>);
double internalNumber() const { return internalValue().uncheckedGetNumber(); }
- bool getTime(WTF::GregorianDateTime&, int& offset) const;
- bool getUTCTime(WTF::GregorianDateTime&) const;
- bool getTime(double& milliseconds, int& offset) const;
- bool getUTCTime(double& milliseconds) const;
-
static JS_EXPORTDATA const ClassInfo info;
- void msToGregorianDateTime(double, bool outputIsUTC, WTF::GregorianDateTime&) const;
+ bool getGregorianDateTime(ExecState*, bool outputIsUTC, WTF::GregorianDateTime&) const;
+
+ static PassRefPtr<Structure> createStructure(JSValue prototype)
+ {
+ return Structure::create(prototype, TypeInfo(ObjectType, StructureFlags));
+ }
+
+ protected:
+ static const unsigned StructureFlags = OverridesMarkChildren | JSWrapperObject::StructureFlags;
private:
virtual const ClassInfo* classInfo() const { return &info; }
- using JSWrapperObject::internalValue;
-
- struct Cache;
- mutable Cache* m_cache;
+ mutable RefPtr<DateInstanceData> m_data;
};
DateInstance* asDateInstance(JSValue);
diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/DateInstanceCache.h b/src/3rdparty/webkit/JavaScriptCore/runtime/DateInstanceCache.h
new file mode 100644
index 0000000..b626c1d
--- /dev/null
+++ b/src/3rdparty/webkit/JavaScriptCore/runtime/DateInstanceCache.h
@@ -0,0 +1,89 @@
+/*
+ * Copyright (C) 2009 Apple 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.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``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 APPLE INC. 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.
+ */
+
+#ifndef DateInstanceCache_h
+#define DateInstanceCache_h
+
+#include <wtf/DateMath.h>
+#include <wtf/HashFunctions.h>
+#include <wtf/PassRefPtr.h>
+#include <wtf/RefCounted.h>
+
+namespace JSC {
+
+ extern const double NaN;
+
+ class DateInstanceData : public RefCounted<DateInstanceData> {
+ public:
+ static PassRefPtr<DateInstanceData> create() { return adoptRef(new DateInstanceData); }
+
+ double m_gregorianDateTimeCachedForMS;
+ WTF::GregorianDateTime m_cachedGregorianDateTime;
+ double m_gregorianDateTimeUTCCachedForMS;
+ WTF::GregorianDateTime m_cachedGregorianDateTimeUTC;
+
+ private:
+ DateInstanceData()
+ : m_gregorianDateTimeCachedForMS(NaN)
+ , m_gregorianDateTimeUTCCachedForMS(NaN)
+ {
+ }
+ };
+
+ class DateInstanceCache {
+ public:
+ DateInstanceCache()
+ {
+ for (size_t i = 0; i < cacheSize; ++i)
+ m_cache[i].key = NaN;
+ }
+
+ DateInstanceData* add(double d)
+ {
+ CacheEntry& entry = lookup(d);
+ if (d == entry.key)
+ return entry.value.get();
+
+ entry.key = d;
+ entry.value = DateInstanceData::create();
+ return entry.value.get();
+ }
+
+ private:
+ static const size_t cacheSize = 64;
+
+ struct CacheEntry {
+ double key;
+ RefPtr<DateInstanceData> value;
+ };
+
+ CacheEntry& lookup(double d) { return m_cache[WTF::FloatHash<double>::hash(d) & (cacheSize - 1)]; }
+
+ CacheEntry m_cache[cacheSize];
+ };
+
+} // namespace JSC
+
+#endif // DateInstanceCache_h
diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/DatePrototype.cpp b/src/3rdparty/webkit/JavaScriptCore/runtime/DatePrototype.cpp
index e46ab67..3f3e1f9 100644
--- a/src/3rdparty/webkit/JavaScriptCore/runtime/DatePrototype.cpp
+++ b/src/3rdparty/webkit/JavaScriptCore/runtime/DatePrototype.cpp
@@ -251,11 +251,12 @@ static JSCell* formatLocaleDate(ExecState* exec, const GregorianDateTime& gdt, L
return jsNontrivialString(exec, timebuffer);
}
-static JSCell* formatLocaleDate(ExecState* exec, DateInstance* dateObject, double timeInMilliseconds, LocaleDateTimeFormat format, const ArgList&)
+static JSCell* formatLocaleDate(ExecState* exec, DateInstance* dateObject, double, LocaleDateTimeFormat format, const ArgList&)
{
GregorianDateTime gregorianDateTime;
- const bool notUTC = false;
- dateObject->msToGregorianDateTime(timeInMilliseconds, notUTC, gregorianDateTime);
+ const bool outputIsUTC = false;
+ if (!dateObject->getGregorianDateTime(exec, outputIsUTC, gregorianDateTime))
+ return jsNontrivialString(exec, "Invalid Date");
return formatLocaleDate(exec, gregorianDateTime, format);
}
@@ -396,9 +397,8 @@ const ClassInfo DatePrototype::info = {"Date", &DateInstance::info, 0, ExecState
// ECMA 15.9.4
DatePrototype::DatePrototype(ExecState* exec, NonNullPassRefPtr<Structure> structure)
- : DateInstance(structure)
+ : DateInstance(exec, structure)
{
- setInternalValue(jsNaN(exec));
// The constructor will be added later, after DateConstructor has been built.
}
@@ -420,16 +420,14 @@ JSValue JSC_HOST_CALL dateProtoFuncToString(ExecState* exec, JSObject*, JSValue
if (!thisValue.inherits(&DateInstance::info))
return throwError(exec, TypeError);
- const bool utc = false;
+ const bool outputIsUTC = false;
DateInstance* thisDateObj = asDateInstance(thisValue);
- double milli = thisDateObj->internalNumber();
- if (isnan(milli))
- return jsNontrivialString(exec, "Invalid Date");
GregorianDateTime t;
- thisDateObj->msToGregorianDateTime(milli, utc, t);
- return jsNontrivialString(exec, formatDate(t) + " " + formatTime(t, utc));
+ if (!thisDateObj->getGregorianDateTime(exec, outputIsUTC, t))
+ return jsNontrivialString(exec, "Invalid Date");
+ return jsNontrivialString(exec, formatDate(t) + " " + formatTime(t, outputIsUTC));
}
JSValue JSC_HOST_CALL dateProtoFuncToUTCString(ExecState* exec, JSObject*, JSValue thisValue, const ArgList&)
@@ -437,16 +435,14 @@ JSValue JSC_HOST_CALL dateProtoFuncToUTCString(ExecState* exec, JSObject*, JSVal
if (!thisValue.inherits(&DateInstance::info))
return throwError(exec, TypeError);
- const bool utc = true;
+ const bool outputIsUTC = true;
DateInstance* thisDateObj = asDateInstance(thisValue);
- double milli = thisDateObj->internalNumber();
- if (isnan(milli))
- return jsNontrivialString(exec, "Invalid Date");
GregorianDateTime t;
- thisDateObj->msToGregorianDateTime(milli, utc, t);
- return jsNontrivialString(exec, formatDateUTCVariant(t) + " " + formatTime(t, utc));
+ if (!thisDateObj->getGregorianDateTime(exec, outputIsUTC, t))
+ return jsNontrivialString(exec, "Invalid Date");
+ return jsNontrivialString(exec, formatDateUTCVariant(t) + " " + formatTime(t, outputIsUTC));
}
JSValue JSC_HOST_CALL dateProtoFuncToISOString(ExecState* exec, JSObject*, JSValue thisValue, const ArgList&)
@@ -454,19 +450,17 @@ JSValue JSC_HOST_CALL dateProtoFuncToISOString(ExecState* exec, JSObject*, JSVal
if (!thisValue.inherits(&DateInstance::info))
return throwError(exec, TypeError);
- const bool utc = true;
+ const bool outputIsUTC = true;
DateInstance* thisDateObj = asDateInstance(thisValue);
- double milli = thisDateObj->internalNumber();
- if (!isfinite(milli))
- return jsNontrivialString(exec, "Invalid Date");
GregorianDateTime t;
- thisDateObj->msToGregorianDateTime(milli, utc, t);
+ if (!thisDateObj->getGregorianDateTime(exec, outputIsUTC, t))
+ return jsNontrivialString(exec, "Invalid Date");
// Maximum amount of space we need in buffer: 6 (max. digits in year) + 2 * 5 (2 characters each for month, day, hour, minute, second) + 4 (. + 3 digits for milliseconds)
// 6 for formatting and one for null termination = 27. We add one extra character to allow us to force null termination.
char buffer[28];
- snprintf(buffer, sizeof(buffer) - 1, "%04d-%02d-%02dT%02d:%02d:%02d.%03dZ", 1900 + t.year, t.month + 1, t.monthDay, t.hour, t.minute, t.second, static_cast<int>(fmod(milli, 1000)));
+ snprintf(buffer, sizeof(buffer) - 1, "%04d-%02d-%02dT%02d:%02d:%02d.%03dZ", 1900 + t.year, t.month + 1, t.monthDay, t.hour, t.minute, t.second, static_cast<int>(fmod(thisDateObj->internalNumber(), 1000)));
buffer[sizeof(buffer) - 1] = 0;
return jsNontrivialString(exec, buffer);
}
@@ -476,15 +470,13 @@ JSValue JSC_HOST_CALL dateProtoFuncToDateString(ExecState* exec, JSObject*, JSVa
if (!thisValue.inherits(&DateInstance::info))
return throwError(exec, TypeError);
- const bool utc = false;
+ const bool outputIsUTC = false;
DateInstance* thisDateObj = asDateInstance(thisValue);
- double milli = thisDateObj->internalNumber();
- if (isnan(milli))
- return jsNontrivialString(exec, "Invalid Date");
GregorianDateTime t;
- thisDateObj->msToGregorianDateTime(milli, utc, t);
+ if (!thisDateObj->getGregorianDateTime(exec, outputIsUTC, t))
+ return jsNontrivialString(exec, "Invalid Date");
return jsNontrivialString(exec, formatDate(t));
}
@@ -493,16 +485,14 @@ JSValue JSC_HOST_CALL dateProtoFuncToTimeString(ExecState* exec, JSObject*, JSVa
if (!thisValue.inherits(&DateInstance::info))
return throwError(exec, TypeError);
- const bool utc = false;
+ const bool outputIsUTC = false;
DateInstance* thisDateObj = asDateInstance(thisValue);
- double milli = thisDateObj->internalNumber();
- if (isnan(milli))
- return jsNontrivialString(exec, "Invalid Date");
GregorianDateTime t;
- thisDateObj->msToGregorianDateTime(milli, utc, t);
- return jsNontrivialString(exec, formatTime(t, utc));
+ if (!thisDateObj->getGregorianDateTime(exec, outputIsUTC, t))
+ return jsNontrivialString(exec, "Invalid Date");
+ return jsNontrivialString(exec, formatTime(t, outputIsUTC));
}
JSValue JSC_HOST_CALL dateProtoFuncToLocaleString(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
@@ -511,11 +501,7 @@ JSValue JSC_HOST_CALL dateProtoFuncToLocaleString(ExecState* exec, JSObject*, JS
return throwError(exec, TypeError);
DateInstance* thisDateObj = asDateInstance(thisValue);
- double milli = thisDateObj->internalNumber();
- if (isnan(milli))
- return jsNontrivialString(exec, "Invalid Date");
-
- return formatLocaleDate(exec, thisDateObj, milli, LocaleDateAndTime, args);
+ return formatLocaleDate(exec, thisDateObj, thisDateObj->internalNumber(), LocaleDateAndTime, args);
}
JSValue JSC_HOST_CALL dateProtoFuncToLocaleDateString(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
@@ -524,11 +510,7 @@ JSValue JSC_HOST_CALL dateProtoFuncToLocaleDateString(ExecState* exec, JSObject*
return throwError(exec, TypeError);
DateInstance* thisDateObj = asDateInstance(thisValue);
- double milli = thisDateObj->internalNumber();
- if (isnan(milli))
- return jsNontrivialString(exec, "Invalid Date");
-
- return formatLocaleDate(exec, thisDateObj, milli, LocaleDate, args);
+ return formatLocaleDate(exec, thisDateObj, thisDateObj->internalNumber(), LocaleDate, args);
}
JSValue JSC_HOST_CALL dateProtoFuncToLocaleTimeString(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
@@ -537,11 +519,7 @@ JSValue JSC_HOST_CALL dateProtoFuncToLocaleTimeString(ExecState* exec, JSObject*
return throwError(exec, TypeError);
DateInstance* thisDateObj = asDateInstance(thisValue);
- double milli = thisDateObj->internalNumber();
- if (isnan(milli))
- return jsNontrivialString(exec, "Invalid Date");
-
- return formatLocaleDate(exec, thisDateObj, milli, LocaleTime, args);
+ return formatLocaleDate(exec, thisDateObj, thisDateObj->internalNumber(), LocaleTime, args);
}
JSValue JSC_HOST_CALL dateProtoFuncGetTime(ExecState* exec, JSObject*, JSValue thisValue, const ArgList&)
@@ -549,12 +527,7 @@ JSValue JSC_HOST_CALL dateProtoFuncGetTime(ExecState* exec, JSObject*, JSValue t
if (!thisValue.inherits(&DateInstance::info))
return throwError(exec, TypeError);
- DateInstance* thisDateObj = asDateInstance(thisValue);
- double milli = thisDateObj->internalNumber();
- if (isnan(milli))
- return jsNaN(exec);
-
- return jsNumber(exec, milli);
+ return asDateInstance(thisValue)->internalValue();
}
JSValue JSC_HOST_CALL dateProtoFuncGetFullYear(ExecState* exec, JSObject*, JSValue thisValue, const ArgList&)
@@ -562,15 +535,13 @@ JSValue JSC_HOST_CALL dateProtoFuncGetFullYear(ExecState* exec, JSObject*, JSVal
if (!thisValue.inherits(&DateInstance::info))
return throwError(exec, TypeError);
- const bool utc = false;
+ const bool outputIsUTC = false;
DateInstance* thisDateObj = asDateInstance(thisValue);
- double milli = thisDateObj->internalNumber();
- if (isnan(milli))
- return jsNaN(exec);
GregorianDateTime t;
- thisDateObj->msToGregorianDateTime(milli, utc, t);
+ if (!thisDateObj->getGregorianDateTime(exec, outputIsUTC, t))
+ return jsNaN(exec);
return jsNumber(exec, 1900 + t.year);
}
@@ -579,15 +550,13 @@ JSValue JSC_HOST_CALL dateProtoFuncGetUTCFullYear(ExecState* exec, JSObject*, JS
if (!thisValue.inherits(&DateInstance::info))
return throwError(exec, TypeError);
- const bool utc = true;
+ const bool outputIsUTC = true;
DateInstance* thisDateObj = asDateInstance(thisValue);
- double milli = thisDateObj->internalNumber();
- if (isnan(milli))
- return jsNaN(exec);
GregorianDateTime t;
- thisDateObj->msToGregorianDateTime(milli, utc, t);
+ if (!thisDateObj->getGregorianDateTime(exec, outputIsUTC, t))
+ return jsNaN(exec);
return jsNumber(exec, 1900 + t.year);
}
@@ -596,16 +565,14 @@ JSValue JSC_HOST_CALL dateProtoFuncToGMTString(ExecState* exec, JSObject*, JSVal
if (!thisValue.inherits(&DateInstance::info))
return throwError(exec, TypeError);
- const bool utc = true;
+ const bool outputIsUTC = true;
DateInstance* thisDateObj = asDateInstance(thisValue);
- double milli = thisDateObj->internalNumber();
- if (isnan(milli))
- return jsNontrivialString(exec, "Invalid Date");
GregorianDateTime t;
- thisDateObj->msToGregorianDateTime(milli, utc, t);
- return jsNontrivialString(exec, formatDateUTCVariant(t) + " " + formatTime(t, utc));
+ if (!thisDateObj->getGregorianDateTime(exec, outputIsUTC, t))
+ return jsNontrivialString(exec, "Invalid Date");
+ return jsNontrivialString(exec, formatDateUTCVariant(t) + " " + formatTime(t, outputIsUTC));
}
JSValue JSC_HOST_CALL dateProtoFuncGetMonth(ExecState* exec, JSObject*, JSValue thisValue, const ArgList&)
@@ -613,15 +580,13 @@ JSValue JSC_HOST_CALL dateProtoFuncGetMonth(ExecState* exec, JSObject*, JSValue
if (!thisValue.inherits(&DateInstance::info))
return throwError(exec, TypeError);
- const bool utc = false;
+ const bool outputIsUTC = false;
DateInstance* thisDateObj = asDateInstance(thisValue);
- double milli = thisDateObj->internalNumber();
- if (isnan(milli))
- return jsNaN(exec);
GregorianDateTime t;
- thisDateObj->msToGregorianDateTime(milli, utc, t);
+ if (!thisDateObj->getGregorianDateTime(exec, outputIsUTC, t))
+ return jsNaN(exec);
return jsNumber(exec, t.month);
}
@@ -630,15 +595,13 @@ JSValue JSC_HOST_CALL dateProtoFuncGetUTCMonth(ExecState* exec, JSObject*, JSVal
if (!thisValue.inherits(&DateInstance::info))
return throwError(exec, TypeError);
- const bool utc = true;
+ const bool outputIsUTC = true;
DateInstance* thisDateObj = asDateInstance(thisValue);
- double milli = thisDateObj->internalNumber();
- if (isnan(milli))
- return jsNaN(exec);
GregorianDateTime t;
- thisDateObj->msToGregorianDateTime(milli, utc, t);
+ if (!thisDateObj->getGregorianDateTime(exec, outputIsUTC, t))
+ return jsNaN(exec);
return jsNumber(exec, t.month);
}
@@ -647,15 +610,13 @@ JSValue JSC_HOST_CALL dateProtoFuncGetDate(ExecState* exec, JSObject*, JSValue t
if (!thisValue.inherits(&DateInstance::info))
return throwError(exec, TypeError);
- const bool utc = false;
+ const bool outputIsUTC = false;
DateInstance* thisDateObj = asDateInstance(thisValue);
- double milli = thisDateObj->internalNumber();
- if (isnan(milli))
- return jsNaN(exec);
GregorianDateTime t;
- thisDateObj->msToGregorianDateTime(milli, utc, t);
+ if (!thisDateObj->getGregorianDateTime(exec, outputIsUTC, t))
+ return jsNaN(exec);
return jsNumber(exec, t.monthDay);
}
@@ -664,15 +625,13 @@ JSValue JSC_HOST_CALL dateProtoFuncGetUTCDate(ExecState* exec, JSObject*, JSValu
if (!thisValue.inherits(&DateInstance::info))
return throwError(exec, TypeError);
- const bool utc = true;
+ const bool outputIsUTC = true;
DateInstance* thisDateObj = asDateInstance(thisValue);
- double milli = thisDateObj->internalNumber();
- if (isnan(milli))
- return jsNaN(exec);
GregorianDateTime t;
- thisDateObj->msToGregorianDateTime(milli, utc, t);
+ if (!thisDateObj->getGregorianDateTime(exec, outputIsUTC, t))
+ return jsNaN(exec);
return jsNumber(exec, t.monthDay);
}
@@ -681,15 +640,13 @@ JSValue JSC_HOST_CALL dateProtoFuncGetDay(ExecState* exec, JSObject*, JSValue th
if (!thisValue.inherits(&DateInstance::info))
return throwError(exec, TypeError);
- const bool utc = false;
+ const bool outputIsUTC = false;
DateInstance* thisDateObj = asDateInstance(thisValue);
- double milli = thisDateObj->internalNumber();
- if (isnan(milli))
- return jsNaN(exec);
GregorianDateTime t;
- thisDateObj->msToGregorianDateTime(milli, utc, t);
+ if (!thisDateObj->getGregorianDateTime(exec, outputIsUTC, t))
+ return jsNaN(exec);
return jsNumber(exec, t.weekDay);
}
@@ -698,15 +655,13 @@ JSValue JSC_HOST_CALL dateProtoFuncGetUTCDay(ExecState* exec, JSObject*, JSValue
if (!thisValue.inherits(&DateInstance::info))
return throwError(exec, TypeError);
- const bool utc = true;
+ const bool outputIsUTC = true;
DateInstance* thisDateObj = asDateInstance(thisValue);
- double milli = thisDateObj->internalNumber();
- if (isnan(milli))
- return jsNaN(exec);
GregorianDateTime t;
- thisDateObj->msToGregorianDateTime(milli, utc, t);
+ if (!thisDateObj->getGregorianDateTime(exec, outputIsUTC, t))
+ return jsNaN(exec);
return jsNumber(exec, t.weekDay);
}
@@ -715,15 +670,13 @@ JSValue JSC_HOST_CALL dateProtoFuncGetHours(ExecState* exec, JSObject*, JSValue
if (!thisValue.inherits(&DateInstance::info))
return throwError(exec, TypeError);
- const bool utc = false;
+ const bool outputIsUTC = false;
DateInstance* thisDateObj = asDateInstance(thisValue);
- double milli = thisDateObj->internalNumber();
- if (isnan(milli))
- return jsNaN(exec);
GregorianDateTime t;
- thisDateObj->msToGregorianDateTime(milli, utc, t);
+ if (!thisDateObj->getGregorianDateTime(exec, outputIsUTC, t))
+ return jsNaN(exec);
return jsNumber(exec, t.hour);
}
@@ -732,15 +685,13 @@ JSValue JSC_HOST_CALL dateProtoFuncGetUTCHours(ExecState* exec, JSObject*, JSVal
if (!thisValue.inherits(&DateInstance::info))
return throwError(exec, TypeError);
- const bool utc = true;
+ const bool outputIsUTC = true;
DateInstance* thisDateObj = asDateInstance(thisValue);
- double milli = thisDateObj->internalNumber();
- if (isnan(milli))
- return jsNaN(exec);
GregorianDateTime t;
- thisDateObj->msToGregorianDateTime(milli, utc, t);
+ if (!thisDateObj->getGregorianDateTime(exec, outputIsUTC, t))
+ return jsNaN(exec);
return jsNumber(exec, t.hour);
}
@@ -749,15 +700,13 @@ JSValue JSC_HOST_CALL dateProtoFuncGetMinutes(ExecState* exec, JSObject*, JSValu
if (!thisValue.inherits(&DateInstance::info))
return throwError(exec, TypeError);
- const bool utc = false;
+ const bool outputIsUTC = false;
DateInstance* thisDateObj = asDateInstance(thisValue);
- double milli = thisDateObj->internalNumber();
- if (isnan(milli))
- return jsNaN(exec);
GregorianDateTime t;
- thisDateObj->msToGregorianDateTime(milli, utc, t);
+ if (!thisDateObj->getGregorianDateTime(exec, outputIsUTC, t))
+ return jsNaN(exec);
return jsNumber(exec, t.minute);
}
@@ -766,15 +715,13 @@ JSValue JSC_HOST_CALL dateProtoFuncGetUTCMinutes(ExecState* exec, JSObject*, JSV
if (!thisValue.inherits(&DateInstance::info))
return throwError(exec, TypeError);
- const bool utc = true;
+ const bool outputIsUTC = true;
DateInstance* thisDateObj = asDateInstance(thisValue);
- double milli = thisDateObj->internalNumber();
- if (isnan(milli))
- return jsNaN(exec);
GregorianDateTime t;
- thisDateObj->msToGregorianDateTime(milli, utc, t);
+ if (!thisDateObj->getGregorianDateTime(exec, outputIsUTC, t))
+ return jsNaN(exec);
return jsNumber(exec, t.minute);
}
@@ -783,15 +730,13 @@ JSValue JSC_HOST_CALL dateProtoFuncGetSeconds(ExecState* exec, JSObject*, JSValu
if (!thisValue.inherits(&DateInstance::info))
return throwError(exec, TypeError);
- const bool utc = false;
+ const bool outputIsUTC = false;
DateInstance* thisDateObj = asDateInstance(thisValue);
- double milli = thisDateObj->internalNumber();
- if (isnan(milli))
- return jsNaN(exec);
GregorianDateTime t;
- thisDateObj->msToGregorianDateTime(milli, utc, t);
+ if (!thisDateObj->getGregorianDateTime(exec, outputIsUTC, t))
+ return jsNaN(exec);
return jsNumber(exec, t.second);
}
@@ -800,15 +745,13 @@ JSValue JSC_HOST_CALL dateProtoFuncGetUTCSeconds(ExecState* exec, JSObject*, JSV
if (!thisValue.inherits(&DateInstance::info))
return throwError(exec, TypeError);
- const bool utc = true;
+ const bool outputIsUTC = true;
DateInstance* thisDateObj = asDateInstance(thisValue);
- double milli = thisDateObj->internalNumber();
- if (isnan(milli))
- return jsNaN(exec);
GregorianDateTime t;
- thisDateObj->msToGregorianDateTime(milli, utc, t);
+ if (!thisDateObj->getGregorianDateTime(exec, outputIsUTC, t))
+ return jsNaN(exec);
return jsNumber(exec, t.second);
}
@@ -847,15 +790,13 @@ JSValue JSC_HOST_CALL dateProtoFuncGetTimezoneOffset(ExecState* exec, JSObject*,
if (!thisValue.inherits(&DateInstance::info))
return throwError(exec, TypeError);
- const bool utc = false;
+ const bool outputIsUTC = false;
DateInstance* thisDateObj = asDateInstance(thisValue);
- double milli = thisDateObj->internalNumber();
- if (isnan(milli))
- return jsNaN(exec);
GregorianDateTime t;
- thisDateObj->msToGregorianDateTime(milli, utc, t);
+ if (!thisDateObj->getGregorianDateTime(exec, outputIsUTC, t))
+ return jsNaN(exec);
return jsNumber(exec, -gmtoffset(t) / minutesPerHour);
}
@@ -890,7 +831,7 @@ static JSValue setNewValueFromTimeArgs(ExecState* exec, JSValue thisValue, const
double ms = milli - secs * msPerSecond;
GregorianDateTime t;
- thisDateObj->msToGregorianDateTime(milli, inputIsUTC, t);
+ thisDateObj->getGregorianDateTime(exec, inputIsUTC, t);
if (!fillStructuresUsingTimeArgs(exec, args, numArgsToUse, &ms, &t)) {
JSValue result = jsNaN(exec);
@@ -922,11 +863,11 @@ static JSValue setNewValueFromDateArgs(ExecState* exec, JSValue thisValue, const
if (numArgsToUse == 3 && isnan(milli))
// Based on ECMA 262 15.9.5.40 - .41 (set[UTC]FullYear)
// the time must be reset to +0 if it is NaN.
- thisDateObj->msToGregorianDateTime(0, true, t);
+ WTF::msToGregorianDateTime(0, true, t);
else {
double secs = floor(milli / msPerSecond);
ms = milli - secs * msPerSecond;
- thisDateObj->msToGregorianDateTime(milli, inputIsUTC, t);
+ thisDateObj->getGregorianDateTime(exec, inputIsUTC, t);
}
if (!fillStructuresUsingDateArgs(exec, args, numArgsToUse, &ms, &t)) {
@@ -1029,7 +970,7 @@ JSValue JSC_HOST_CALL dateProtoFuncSetYear(ExecState* exec, JSObject*, JSValue t
if (!thisValue.inherits(&DateInstance::info))
return throwError(exec, TypeError);
- const bool utc = false;
+ const bool outputIsUTC = false;
DateInstance* thisDateObj = asDateInstance(thisValue);
if (args.isEmpty()) {
@@ -1045,11 +986,11 @@ JSValue JSC_HOST_CALL dateProtoFuncSetYear(ExecState* exec, JSObject*, JSValue t
if (isnan(milli))
// Based on ECMA 262 B.2.5 (setYear)
// the time must be reset to +0 if it is NaN.
- thisDateObj->msToGregorianDateTime(0, true, t);
+ WTF::msToGregorianDateTime(0, true, t);
else {
double secs = floor(milli / msPerSecond);
ms = milli - secs * msPerSecond;
- thisDateObj->msToGregorianDateTime(milli, utc, t);
+ thisDateObj->getGregorianDateTime(exec, outputIsUTC, t);
}
bool ok = true;
@@ -1061,7 +1002,7 @@ JSValue JSC_HOST_CALL dateProtoFuncSetYear(ExecState* exec, JSObject*, JSValue t
}
t.year = (year > 99 || year < 0) ? year - 1900 : year;
- JSValue result = jsNumber(exec, gregorianDateTimeToMS(t, ms, utc));
+ JSValue result = jsNumber(exec, gregorianDateTimeToMS(t, ms, outputIsUTC));
thisDateObj->setInternalValue(result);
return result;
}
@@ -1071,15 +1012,13 @@ JSValue JSC_HOST_CALL dateProtoFuncGetYear(ExecState* exec, JSObject*, JSValue t
if (!thisValue.inherits(&DateInstance::info))
return throwError(exec, TypeError);
- const bool utc = false;
+ const bool outputIsUTC = false;
DateInstance* thisDateObj = asDateInstance(thisValue);
- double milli = thisDateObj->internalNumber();
- if (isnan(milli))
- return jsNaN(exec);
GregorianDateTime t;
- thisDateObj->msToGregorianDateTime(milli, utc, t);
+ if (!thisDateObj->getGregorianDateTime(exec, outputIsUTC, t))
+ return jsNaN(exec);
// NOTE: IE returns the full year even in getYear.
return jsNumber(exec, t.year);
diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/DatePrototype.h b/src/3rdparty/webkit/JavaScriptCore/runtime/DatePrototype.h
index 5fe4f47..f565775 100644
--- a/src/3rdparty/webkit/JavaScriptCore/runtime/DatePrototype.h
+++ b/src/3rdparty/webkit/JavaScriptCore/runtime/DatePrototype.h
@@ -43,7 +43,7 @@ namespace JSC {
}
protected:
- static const unsigned StructureFlags = OverridesGetOwnPropertySlot | OverridesMarkChildren | DateInstance::StructureFlags;
+ static const unsigned StructureFlags = OverridesGetOwnPropertySlot | DateInstance::StructureFlags;
};
diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/JSCell.h b/src/3rdparty/webkit/JavaScriptCore/runtime/JSCell.h
index 16a5131..722ae33 100644
--- a/src/3rdparty/webkit/JavaScriptCore/runtime/JSCell.h
+++ b/src/3rdparty/webkit/JavaScriptCore/runtime/JSCell.h
@@ -59,6 +59,7 @@ namespace JSC {
virtual bool isGetterSetter() const;
bool inherits(const ClassInfo*) const;
virtual bool isAPIValueWrapper() const { return false; }
+ virtual bool isPropertyNameIterator() const { return false; }
Structure* structure() const;
diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/JSFunction.h b/src/3rdparty/webkit/JavaScriptCore/runtime/JSFunction.h
index b4356c4..fcac9aa 100644
--- a/src/3rdparty/webkit/JavaScriptCore/runtime/JSFunction.h
+++ b/src/3rdparty/webkit/JavaScriptCore/runtime/JSFunction.h
@@ -66,7 +66,7 @@ namespace JSC {
NativeFunction nativeFunction()
{
- return *reinterpret_cast<NativeFunction*>(m_data);
+ return *WTF::bitwise_cast<NativeFunction*>(m_data);
}
virtual ConstructType getConstructData(ConstructData&);
@@ -97,7 +97,7 @@ namespace JSC {
ScopeChain& scopeChain()
{
ASSERT(!isHostFunctionNonInline());
- return *reinterpret_cast<ScopeChain*>(m_data);
+ return *WTF::bitwise_cast<ScopeChain*>(m_data);
}
void clearScopeChain()
{
@@ -112,11 +112,11 @@ namespace JSC {
void setScopeChain(const ScopeChain& sc)
{
ASSERT(!isHostFunctionNonInline());
- *reinterpret_cast<ScopeChain*>(m_data) = sc;
+ *WTF::bitwise_cast<ScopeChain*>(m_data) = sc;
}
void setNativeFunction(NativeFunction func)
{
- *reinterpret_cast<NativeFunction*>(m_data) = func;
+ *WTF::bitwise_cast<NativeFunction*>(m_data) = func;
}
unsigned char m_data[sizeof(void*)];
};
diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/JSGlobalData.h b/src/3rdparty/webkit/JavaScriptCore/runtime/JSGlobalData.h
index 3ad90ad..d2aa2da 100644
--- a/src/3rdparty/webkit/JavaScriptCore/runtime/JSGlobalData.h
+++ b/src/3rdparty/webkit/JavaScriptCore/runtime/JSGlobalData.h
@@ -30,6 +30,7 @@
#define JSGlobalData_h
#include "Collector.h"
+#include "DateInstanceCache.h"
#include "ExecutableAllocator.h"
#include "JITStubs.h"
#include "JSValue.h"
@@ -116,7 +117,8 @@ namespace JSC {
const MarkedArgumentBuffer* emptyList; // Lists are supposed to be allocated on the stack to have their elements properly marked, which is not the case here - but this list has nothing to mark.
SmallStrings smallStrings;
NumericStrings numericStrings;
-
+ DateInstanceCache dateInstanceCache;
+
#if ENABLE(ASSEMBLER)
ExecutableAllocator executableAllocator;
#endif
diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/JSObject.h b/src/3rdparty/webkit/JavaScriptCore/runtime/JSObject.h
index 1dbab94..5a89c40 100644
--- a/src/3rdparty/webkit/JavaScriptCore/runtime/JSObject.h
+++ b/src/3rdparty/webkit/JavaScriptCore/runtime/JSObject.h
@@ -202,8 +202,8 @@ namespace JSC {
void allocatePropertyStorageInline(size_t oldSize, size_t newSize);
bool isUsingInlineStorage() const { return m_structure->isUsingInlineStorage(); }
- static const size_t inlineStorageCapacity = sizeof(EncodedJSValue) == 2 * sizeof(void*) ? 4 : 3;
- static const size_t nonInlineBaseStorageCapacity = 16;
+ static const unsigned inlineStorageCapacity = sizeof(EncodedJSValue) == 2 * sizeof(void*) ? 4 : 3;
+ static const unsigned nonInlineBaseStorageCapacity = 16;
static PassRefPtr<Structure> createStructure(JSValue prototype)
{
diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/JSPropertyNameIterator.cpp b/src/3rdparty/webkit/JavaScriptCore/runtime/JSPropertyNameIterator.cpp
index 2cd9f75..6fd0344 100644
--- a/src/3rdparty/webkit/JavaScriptCore/runtime/JSPropertyNameIterator.cpp
+++ b/src/3rdparty/webkit/JavaScriptCore/runtime/JSPropertyNameIterator.cpp
@@ -43,7 +43,12 @@ JSPropertyNameIterator* JSPropertyNameIterator::create(ExecState* exec, JSObject
PropertyNameArray propertyNames(exec);
o->getPropertyNames(exec, propertyNames);
- JSPropertyNameIterator* jsPropertyNameIterator = new (exec) JSPropertyNameIterator(exec, propertyNames.data());
+ size_t numCacheableSlots = 0;
+ if (!o->structure()->hasNonEnumerableProperties() && !o->structure()->hasAnonymousSlots() &&
+ !o->structure()->isUncacheableDictionary() && !o->structure()->typeInfo().overridesGetPropertyNames())
+ numCacheableSlots = o->structure()->propertyStorageSize();
+
+ JSPropertyNameIterator* jsPropertyNameIterator = new (exec) JSPropertyNameIterator(exec, propertyNames.data(), numCacheableSlots);
if (o->structure()->isDictionary())
return jsPropertyNameIterator;
diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/JSPropertyNameIterator.h b/src/3rdparty/webkit/JavaScriptCore/runtime/JSPropertyNameIterator.h
index 0559e0b..529ae8b 100644
--- a/src/3rdparty/webkit/JavaScriptCore/runtime/JSPropertyNameIterator.h
+++ b/src/3rdparty/webkit/JavaScriptCore/runtime/JSPropertyNameIterator.h
@@ -50,8 +50,18 @@ namespace JSC {
return Structure::create(prototype, TypeInfo(CompoundType, OverridesMarkChildren));
}
+ virtual bool isPropertyNameIterator() const { return true; }
+
virtual void markChildren(MarkStack&);
+ bool getOffset(size_t i, int& offset)
+ {
+ if (i >= m_numCacheableSlots)
+ return false;
+ offset = i;
+ return true;
+ }
+
JSValue get(ExecState*, JSObject*, size_t i);
size_t size() { return m_jsStringsSize; }
@@ -62,17 +72,19 @@ namespace JSC {
StructureChain* cachedPrototypeChain() { return m_cachedPrototypeChain.get(); }
private:
- JSPropertyNameIterator(ExecState*, PropertyNameArrayData* propertyNameArrayData);
+ JSPropertyNameIterator(ExecState*, PropertyNameArrayData* propertyNameArrayData, size_t numCacheableSlot);
Structure* m_cachedStructure;
RefPtr<StructureChain> m_cachedPrototypeChain;
- size_t m_jsStringsSize;
+ uint32_t m_numCacheableSlots;
+ uint32_t m_jsStringsSize;
OwnArrayPtr<JSValue> m_jsStrings;
};
-inline JSPropertyNameIterator::JSPropertyNameIterator(ExecState* exec, PropertyNameArrayData* propertyNameArrayData)
+inline JSPropertyNameIterator::JSPropertyNameIterator(ExecState* exec, PropertyNameArrayData* propertyNameArrayData, size_t numCacheableSlots)
: JSCell(exec->globalData().propertyNameIteratorStructure.get())
, m_cachedStructure(0)
+ , m_numCacheableSlots(numCacheableSlots)
, m_jsStringsSize(propertyNameArrayData->propertyNameVector().size())
, m_jsStrings(new JSValue[m_jsStringsSize])
{
diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/Structure.cpp b/src/3rdparty/webkit/JavaScriptCore/runtime/Structure.cpp
index a11050f..65b62f9 100644
--- a/src/3rdparty/webkit/JavaScriptCore/runtime/Structure.cpp
+++ b/src/3rdparty/webkit/JavaScriptCore/runtime/Structure.cpp
@@ -375,6 +375,7 @@ PassRefPtr<Structure> Structure::addPropertyTransition(Structure* structure, con
transition->m_specificValueInPrevious = specificValue;
transition->m_propertyStorageCapacity = structure->m_propertyStorageCapacity;
transition->m_hasGetterSetterProperties = structure->m_hasGetterSetterProperties;
+ transition->m_hasNonEnumerableProperties = structure->m_hasNonEnumerableProperties;
if (structure->m_propertyTable) {
if (structure->m_isPinnedPropertyTable)
@@ -417,6 +418,7 @@ PassRefPtr<Structure> Structure::changePrototypeTransition(Structure* structure,
transition->m_propertyStorageCapacity = structure->m_propertyStorageCapacity;
transition->m_hasGetterSetterProperties = structure->m_hasGetterSetterProperties;
+ transition->m_hasNonEnumerableProperties = structure->m_hasNonEnumerableProperties;
// Don't set m_offset, as one can not transition to this.
@@ -433,6 +435,7 @@ PassRefPtr<Structure> Structure::despecifyFunctionTransition(Structure* structur
transition->m_propertyStorageCapacity = structure->m_propertyStorageCapacity;
transition->m_hasGetterSetterProperties = structure->m_hasGetterSetterProperties;
+ transition->m_hasNonEnumerableProperties = structure->m_hasNonEnumerableProperties;
// Don't set m_offset, as one can not transition to this.
@@ -464,6 +467,7 @@ PassRefPtr<Structure> Structure::addAnonymousSlotsTransition(Structure* structur
transition->m_specificValueInPrevious = 0;
transition->m_propertyStorageCapacity = structure->m_propertyStorageCapacity;
transition->m_hasGetterSetterProperties = structure->m_hasGetterSetterProperties;
+ transition->m_hasNonEnumerableProperties = structure->m_hasNonEnumerableProperties;
if (structure->m_propertyTable) {
if (structure->m_isPinnedPropertyTable)
@@ -492,6 +496,7 @@ PassRefPtr<Structure> Structure::getterSetterTransition(Structure* structure)
RefPtr<Structure> transition = create(structure->storedPrototype(), structure->typeInfo());
transition->m_propertyStorageCapacity = structure->m_propertyStorageCapacity;
transition->m_hasGetterSetterProperties = transition->m_hasGetterSetterProperties;
+ transition->m_hasNonEnumerableProperties = structure->m_hasNonEnumerableProperties;
// Don't set m_offset, as one can not transition to this.
@@ -510,6 +515,7 @@ PassRefPtr<Structure> Structure::toDictionaryTransition(Structure* structure, Di
transition->m_dictionaryKind = kind;
transition->m_propertyStorageCapacity = structure->m_propertyStorageCapacity;
transition->m_hasGetterSetterProperties = structure->m_hasGetterSetterProperties;
+ transition->m_hasNonEnumerableProperties = structure->m_hasNonEnumerableProperties;
structure->materializePropertyMapIfNecessary();
transition->m_propertyTable = structure->copyPropertyTable();
@@ -550,6 +556,9 @@ size_t Structure::addPropertyWithoutTransition(const Identifier& propertyName, u
materializePropertyMapIfNecessary();
m_isPinnedPropertyTable = true;
+ if (attributes & DontEnum)
+ m_hasNonEnumerableProperties = true;
+
size_t offset = put(propertyName, attributes, specificValue);
if (propertyStorageSize() > propertyStorageCapacity())
growPropertyStorageCapacity();
diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/Structure.h b/src/3rdparty/webkit/JavaScriptCore/runtime/Structure.h
index 2496c1b..f355c53 100644
--- a/src/3rdparty/webkit/JavaScriptCore/runtime/Structure.h
+++ b/src/3rdparty/webkit/JavaScriptCore/runtime/Structure.h
@@ -95,8 +95,8 @@ namespace JSC {
Structure* previousID() const { return m_previous.get(); }
void growPropertyStorageCapacity();
- size_t propertyStorageCapacity() const { return m_propertyStorageCapacity; }
- size_t propertyStorageSize() const { return m_propertyTable ? m_propertyTable->keyCount + m_propertyTable->anonymousSlotCount + (m_propertyTable->deletedOffsets ? m_propertyTable->deletedOffsets->size() : 0) : m_offset + 1; }
+ unsigned propertyStorageCapacity() const { return m_propertyStorageCapacity; }
+ unsigned propertyStorageSize() const { return m_propertyTable ? m_propertyTable->keyCount + m_propertyTable->anonymousSlotCount + (m_propertyTable->deletedOffsets ? m_propertyTable->deletedOffsets->size() : 0) : m_offset + 1; }
bool isUsingInlineStorage() const;
size_t get(const Identifier& propertyName);
@@ -119,6 +119,10 @@ namespace JSC {
bool hasGetterSetterProperties() const { return m_hasGetterSetterProperties; }
void setHasGetterSetterProperties(bool hasGetterSetterProperties) { m_hasGetterSetterProperties = hasGetterSetterProperties; }
+ bool hasNonEnumerableProperties() const { return m_hasNonEnumerableProperties; }
+
+ bool hasAnonymousSlots() const { return m_propertyTable && m_propertyTable->anonymousSlotCount; }
+
bool isEmpty() const { return m_propertyTable ? !m_propertyTable->keyCount : m_offset == noOffset; }
JSCell* specificValue() { return m_specificValueInPrevious; }
@@ -190,12 +194,13 @@ namespace JSC {
PropertyMapHashTable* m_propertyTable;
- size_t m_propertyStorageCapacity;
+ uint32_t m_propertyStorageCapacity;
signed char m_offset;
unsigned m_dictionaryKind : 2;
bool m_isPinnedPropertyTable : 1;
bool m_hasGetterSetterProperties : 1;
+ bool m_hasNonEnumerableProperties : 1;
#if COMPILER(WINSCW)
// Workaround for Symbian WINSCW compiler that cannot resolve unsigned type of the declared
// bitfield, when used as argument in make_pair() function calls in structure.ccp.
diff --git a/src/3rdparty/webkit/JavaScriptCore/wtf/CurrentTime.cpp b/src/3rdparty/webkit/JavaScriptCore/wtf/CurrentTime.cpp
index a3d5290..b36cae5 100644
--- a/src/3rdparty/webkit/JavaScriptCore/wtf/CurrentTime.cpp
+++ b/src/3rdparty/webkit/JavaScriptCore/wtf/CurrentTime.cpp
@@ -63,6 +63,10 @@ extern "C" time_t mktime(struct tm *t);
#include <sys/time.h>
#endif
+#if PLATFORM(CHROMIUM)
+#error Chromium uses a different timer implementation
+#endif
+
namespace WTF {
const double msPerSecond = 1000.0;
diff --git a/src/3rdparty/webkit/JavaScriptCore/wtf/DateMath.cpp b/src/3rdparty/webkit/JavaScriptCore/wtf/DateMath.cpp
index 0386494..2110432 100644
--- a/src/3rdparty/webkit/JavaScriptCore/wtf/DateMath.cpp
+++ b/src/3rdparty/webkit/JavaScriptCore/wtf/DateMath.cpp
@@ -501,13 +501,13 @@ double gregorianDateTimeToMS(const GregorianDateTime& t, double milliSeconds, bo
return result;
}
+// input is UTC
void msToGregorianDateTime(double ms, bool outputIsUTC, GregorianDateTime& tm)
{
- // input is UTC
double dstOff = 0.0;
- const double utcOff = getUTCOffset();
-
- if (!outputIsUTC) { // convert to local time
+ double utcOff = 0.0;
+ if (!outputIsUTC) {
+ utcOff = getUTCOffset();
dstOff = getDSTOffset(ms, utcOff);
ms += dstOff + utcOff;
}
@@ -522,8 +522,7 @@ void msToGregorianDateTime(double ms, bool outputIsUTC, GregorianDateTime& tm)
tm.month = monthFromDayInYear(tm.yearDay, isLeapYear(year));
tm.year = year - 1900;
tm.isDST = dstOff != 0.0;
-
- tm.utcOffset = outputIsUTC ? 0 : static_cast<long>((dstOff + utcOff) / msPerSecond);
+ tm.utcOffset = static_cast<long>((dstOff + utcOff) / msPerSecond);
tm.timeZone = NULL;
}
diff --git a/src/3rdparty/webkit/JavaScriptCore/wtf/FastMalloc.h b/src/3rdparty/webkit/JavaScriptCore/wtf/FastMalloc.h
index ca0961c..541b05d 100644
--- a/src/3rdparty/webkit/JavaScriptCore/wtf/FastMalloc.h
+++ b/src/3rdparty/webkit/JavaScriptCore/wtf/FastMalloc.h
@@ -26,13 +26,19 @@
#include <stdlib.h>
#include <new>
+#if COMPILER(GCC)
+#define WTF_FAST_MALLOC_EXPORT __attribute__((visibility("default")))
+#else
+#define WTF_FAST_MALLOC_EXPORT
+#endif
+
namespace WTF {
// These functions call CRASH() if an allocation fails.
- void* fastMalloc(size_t);
+ void* fastMalloc(size_t) WTF_FAST_MALLOC_EXPORT;
void* fastZeroedMalloc(size_t);
- void* fastCalloc(size_t numElements, size_t elementSize);
- void* fastRealloc(void*, size_t);
+ void* fastCalloc(size_t numElements, size_t elementSize) WTF_FAST_MALLOC_EXPORT;
+ void* fastRealloc(void*, size_t) WTF_FAST_MALLOC_EXPORT;
struct TryMallocReturnValue {
TryMallocReturnValue(void* data)
@@ -71,7 +77,7 @@ namespace WTF {
TryMallocReturnValue tryFastCalloc(size_t n_elements, size_t element_size);
TryMallocReturnValue tryFastRealloc(void* p, size_t n);
- void fastFree(void*);
+ void fastFree(void*) WTF_FAST_MALLOC_EXPORT;
#ifndef NDEBUG
void fastMallocForbid();
diff --git a/src/3rdparty/webkit/JavaScriptCore/wtf/MessageQueue.h b/src/3rdparty/webkit/JavaScriptCore/wtf/MessageQueue.h
index 12291cc..9c9a4a7 100644
--- a/src/3rdparty/webkit/JavaScriptCore/wtf/MessageQueue.h
+++ b/src/3rdparty/webkit/JavaScriptCore/wtf/MessageQueue.h
@@ -55,9 +55,13 @@ namespace WTF {
bool waitForMessage(DataType&);
template<typename Predicate>
MessageQueueWaitResult waitForMessageFilteredWithTimeout(DataType&, Predicate&, double absoluteTime);
- void kill();
+
+ template<typename Predicate>
+ void removeIf(Predicate&);
bool tryGetMessage(DataType&);
+
+ void kill();
bool killed() const;
// The result of isEmpty() is only valid if no other thread is manipulating the queue at the same time.
@@ -149,6 +153,17 @@ namespace WTF {
}
template<typename DataType>
+ template<typename Predicate>
+ inline void MessageQueue<DataType>::removeIf(Predicate& predicate)
+ {
+ MutexLocker lock(m_mutex);
+ DequeConstIterator<DataType> found = m_queue.end();
+ while ((found = m_queue.findIf(predicate)) != m_queue.end()) {
+ m_queue.remove(found);
+ }
+ }
+
+ template<typename DataType>
inline bool MessageQueue<DataType>::isEmpty()
{
MutexLocker lock(m_mutex);
diff --git a/src/3rdparty/webkit/JavaScriptCore/wtf/Platform.h b/src/3rdparty/webkit/JavaScriptCore/wtf/Platform.h
index 7151b514..7632435 100644
--- a/src/3rdparty/webkit/JavaScriptCore/wtf/Platform.h
+++ b/src/3rdparty/webkit/JavaScriptCore/wtf/Platform.h
@@ -466,6 +466,7 @@
#if PLATFORM(MAC) && !PLATFORM(IPHONE)
#define WTF_PLATFORM_CF 1
#define WTF_USE_PTHREADS 1
+#define HAVE_PTHREAD_RWLOCK 1
#if !defined(BUILDING_ON_LEOPARD) && !defined(BUILDING_ON_TIGER) && defined(__x86_64__)
#define WTF_USE_PLUGIN_HOST_PROCESS 1
#endif
@@ -482,6 +483,7 @@
#if PLATFORM(CHROMIUM) && PLATFORM(DARWIN)
#define WTF_PLATFORM_CF 1
#define WTF_USE_PTHREADS 1
+#define HAVE_PTHREAD_RWLOCK 1
#endif
#if PLATFORM(IPHONE)
@@ -498,6 +500,7 @@
#define HAVE_READLINE 1
#define WTF_PLATFORM_CF 1
#define WTF_USE_PTHREADS 1
+#define HAVE_PTHREAD_RWLOCK 1
#endif
#if PLATFORM(WIN)
@@ -511,6 +514,7 @@
#if PLATFORM(GTK)
#if HAVE(PTHREAD_H)
#define WTF_USE_PTHREADS 1
+#define HAVE_PTHREAD_RWLOCK 1
#endif
#endif
@@ -518,6 +522,7 @@
#define HAVE_POSIX_MEMALIGN 1
#define WTF_USE_CURL 1
#define WTF_USE_PTHREADS 1
+#define HAVE_PTHREAD_RWLOCK 1
#define USE_SYSTEM_MALLOC 1
#define ENABLE_NETSCAPE_PLUGIN_API 0
#endif
@@ -698,7 +703,7 @@
#endif
#if !defined(WTF_USE_JSVALUE64) && !defined(WTF_USE_JSVALUE32) && !defined(WTF_USE_JSVALUE32_64)
-#if PLATFORM(X86_64) && (PLATFORM(DARWIN) || PLATFORM(LINUX))
+#if PLATFORM(X86_64) && (PLATFORM(DARWIN) || PLATFORM(LINUX) || PLATFORM(WIN_OS))
#define WTF_USE_JSVALUE64 1
#elif PLATFORM(ARM) || PLATFORM(PPC64)
#define WTF_USE_JSVALUE32 1
@@ -725,8 +730,7 @@ on MinGW. See https://bugs.webkit.org/show_bug.cgi?id=29268 */
#define ENABLE_JIT 1
#define WTF_USE_JIT_STUB_ARGUMENT_VA_LIST 1
#elif PLATFORM(ARM_THUMB2) && PLATFORM(IPHONE)
- /* Under development, temporarily disabled until 16Mb link range limit in assembler is fixed. */
- #define ENABLE_JIT 0
+ #define ENABLE_JIT 1
#define ENABLE_JIT_OPTIMIZE_NATIVE_CALL 0
/* The JIT is tested & working on x86 Windows */
#elif PLATFORM(X86) && PLATFORM(WIN)
@@ -792,8 +796,7 @@ on MinGW. See https://bugs.webkit.org/show_bug.cgi?id=29268 */
/* YARR supports x86 & x86-64, and has been tested on Mac and Windows. */
#if (PLATFORM(X86) && PLATFORM(MAC)) \
|| (PLATFORM(X86_64) && PLATFORM(MAC)) \
- /* Under development, temporarily disabled until 16Mb link range limit in assembler is fixed. */ \
- || (PLATFORM(ARM_THUMB2) && PLATFORM(IPHONE) && 0) \
+ || (PLATFORM(ARM_THUMB2) && PLATFORM(IPHONE)) \
|| (PLATFORM(X86) && PLATFORM(WIN))
#define ENABLE_YARR 1
#define ENABLE_YARR_JIT 1
diff --git a/src/3rdparty/webkit/JavaScriptCore/wtf/StdLibExtras.h b/src/3rdparty/webkit/JavaScriptCore/wtf/StdLibExtras.h
index d21d1ff..c9b5742 100644
--- a/src/3rdparty/webkit/JavaScriptCore/wtf/StdLibExtras.h
+++ b/src/3rdparty/webkit/JavaScriptCore/wtf/StdLibExtras.h
@@ -32,6 +32,7 @@
// Use these to declare and define a static local variable (static T;) so that
// it is leaked so that its destructors are not called at exit. Using this
// macro also allows workarounds a compiler bug present in Apple's version of GCC 4.0.1.
+#ifndef DEFINE_STATIC_LOCAL
#if COMPILER(GCC) && defined(__APPLE_CC__) && __GNUC__ == 4 && __GNUC_MINOR__ == 0 && __GNUC_PATCHLEVEL__ == 1
#define DEFINE_STATIC_LOCAL(type, name, arguments) \
static type* name##Ptr = new type arguments; \
@@ -40,6 +41,7 @@
#define DEFINE_STATIC_LOCAL(type, name, arguments) \
static type& name = *new type arguments
#endif
+#endif
// OBJECT_OFFSETOF: Like the C++ offsetof macro, but you can use it with classes.
// The magic number 0x4000 is insignificant. We use it to avoid using NULL, since
diff --git a/src/3rdparty/webkit/JavaScriptCore/wtf/Threading.cpp b/src/3rdparty/webkit/JavaScriptCore/wtf/Threading.cpp
index 56bf438..1d4185c 100644
--- a/src/3rdparty/webkit/JavaScriptCore/wtf/Threading.cpp
+++ b/src/3rdparty/webkit/JavaScriptCore/wtf/Threading.cpp
@@ -51,7 +51,7 @@ static void* threadEntryPoint(void* contextData)
setThreadNameInternal(context->name);
- // Block until our creating thread has completed any extra setup work
+ // Block until our creating thread has completed any extra setup work.
{
MutexLocker locker(context->creationMutex);
}
diff --git a/src/3rdparty/webkit/JavaScriptCore/wtf/Threading.h b/src/3rdparty/webkit/JavaScriptCore/wtf/Threading.h
index 5154545..71c9402 100644
--- a/src/3rdparty/webkit/JavaScriptCore/wtf/Threading.h
+++ b/src/3rdparty/webkit/JavaScriptCore/wtf/Threading.h
@@ -128,7 +128,11 @@ void detachThread(ThreadIdentifier);
#if USE(PTHREADS)
typedef pthread_mutex_t PlatformMutex;
+#if HAVE(PTHREAD_RWLOCK)
typedef pthread_rwlock_t PlatformReadWriteLock;
+#else
+typedef void* PlatformReadWriteLock;
+#endif
typedef pthread_cond_t PlatformCondition;
#elif PLATFORM(GTK)
typedef GOwnPtr<GMutex> PlatformMutex;
diff --git a/src/3rdparty/webkit/JavaScriptCore/wtf/ThreadingPthreads.cpp b/src/3rdparty/webkit/JavaScriptCore/wtf/ThreadingPthreads.cpp
index e4fb419..6cad5e3 100644
--- a/src/3rdparty/webkit/JavaScriptCore/wtf/ThreadingPthreads.cpp
+++ b/src/3rdparty/webkit/JavaScriptCore/wtf/ThreadingPthreads.cpp
@@ -167,6 +167,7 @@ ThreadIdentifier createThreadInternal(ThreadFunction entryPoint, void* data, con
if (pthread_create(&threadHandle, 0, runThreadWithRegistration, static_cast<void*>(threadData))) {
LOG_ERROR("Failed to create pthread at entry point %p with data %p", entryPoint, data);
+ delete threadData;
return 0;
}
return establishIdentifierForPthreadHandle(threadHandle);
@@ -270,7 +271,7 @@ void Mutex::unlock()
ASSERT_UNUSED(result, !result);
}
-
+#if HAVE(PTHREAD_RWLOCK)
ReadWriteLock::ReadWriteLock()
{
pthread_rwlock_init(&m_readWriteLock, NULL);
@@ -324,6 +325,7 @@ void ReadWriteLock::unlock()
int result = pthread_rwlock_unlock(&m_readWriteLock);
ASSERT_UNUSED(result, !result);
}
+#endif // HAVE(PTHREAD_RWLOCK)
ThreadCondition::ThreadCondition()
{
diff --git a/src/3rdparty/webkit/JavaScriptCore/yarr/RegexInterpreter.cpp b/src/3rdparty/webkit/JavaScriptCore/yarr/RegexInterpreter.cpp
index aafea3c..d088086 100644
--- a/src/3rdparty/webkit/JavaScriptCore/yarr/RegexInterpreter.cpp
+++ b/src/3rdparty/webkit/JavaScriptCore/yarr/RegexInterpreter.cpp
@@ -1490,7 +1490,7 @@ public:
closeBodyAlternative();
}
- void alterantiveBodyDisjunction()
+ void alternativeBodyDisjunction()
{
int newAlternativeIndex = m_bodyDisjunction->terms.size();
m_bodyDisjunction->terms[m_currentAlternativeIndex].alternative.next = newAlternativeIndex - m_currentAlternativeIndex;
@@ -1499,7 +1499,7 @@ public:
m_currentAlternativeIndex = newAlternativeIndex;
}
- void alterantiveDisjunction()
+ void alternativeDisjunction()
{
int newAlternativeIndex = m_bodyDisjunction->terms.size();
m_bodyDisjunction->terms[m_currentAlternativeIndex].alternative.next = newAlternativeIndex - m_currentAlternativeIndex;
@@ -1515,9 +1515,9 @@ public:
if (alt) {
if (disjunction == m_pattern.m_body)
- alterantiveBodyDisjunction();
+ alternativeBodyDisjunction();
else
- alterantiveDisjunction();
+ alternativeDisjunction();
}
PatternAlternative* alternative = disjunction->m_alternatives[alt];
diff --git a/src/3rdparty/webkit/JavaScriptCore/yarr/RegexJIT.cpp b/src/3rdparty/webkit/JavaScriptCore/yarr/RegexJIT.cpp
index b635a45..5ce579a 100644
--- a/src/3rdparty/webkit/JavaScriptCore/yarr/RegexJIT.cpp
+++ b/src/3rdparty/webkit/JavaScriptCore/yarr/RegexJIT.cpp
@@ -1264,7 +1264,7 @@ class RegexGenerator : private MacroAssembler {
// complex here in compilation, and in the common case we should end up coallescing the checks.
//
// FIXME: a nice improvement here may be to stop trying to match sooner, based on the least
- // of the minimum-alterantive-lengths. E.g. if I have two alternatives of length 200 and 150,
+ // of the minimum-alternative-lengths. E.g. if I have two alternatives of length 200 and 150,
// and a string of length 100, we'll end up looping index from 0 to 100, checking whether there
// is sufficient input to run either alternative (constantly failing). If there had been only
// one alternative, or if the shorter alternative had come first, we would have terminated
@@ -1309,9 +1309,6 @@ class RegexGenerator : private MacroAssembler {
loadPtr(Address(X86Registers::ebp, 2 * sizeof(void*)), output);
#endif
#elif PLATFORM(ARM)
-#if PLATFORM(ARM_TRADITIONAL)
- push(ARMRegisters::lr);
-#endif
push(ARMRegisters::r4);
push(ARMRegisters::r5);
push(ARMRegisters::r6);
diff --git a/src/3rdparty/webkit/VERSION b/src/3rdparty/webkit/VERSION
index 488c6a0..810781f 100644
--- a/src/3rdparty/webkit/VERSION
+++ b/src/3rdparty/webkit/VERSION
@@ -4,8 +4,8 @@ This is a snapshot of the Qt port of WebKit from
The commit imported was from the
- qtwebkit-4.6-snapshot-22102009 branch/tag
+ qtwebkit/qtwebkit-4.6 branch/tag
and has the sha1 checksum
- 0639bb8e812c8923287cd5523248ca64fa5f7a50
+ 16aab1b39e14195abdc2100265da2e45b96b739f
diff --git a/src/3rdparty/webkit/WebCore/ChangeLog b/src/3rdparty/webkit/WebCore/ChangeLog
index 4e5dff8..1dfc2f9 100644
--- a/src/3rdparty/webkit/WebCore/ChangeLog
+++ b/src/3rdparty/webkit/WebCore/ChangeLog
@@ -1,3 +1,4368 @@
+2009-11-03 Simon Hausmann <hausmann@webkit.org>
+
+ Unreviewed build fix for WebInspector with Qt build.
+
+ Simply re-generate the Qt resource file by running
+ WebKitTools/Scripts/generate-qt-inspector-resource
+
+ * inspector/front-end/WebKit.qrc:
+
+2009-11-03 Simon Hausmann <hausmann@webkit.org>
+
+ Reviewed by Tor Arne Vestbø.
+
+ Make QWebPluginDatabase private API for now.
+
+ https://bugs.webkit.org/show_bug.cgi?id=30775
+
+ * WebCore.pro:
+
+2009-11-03 Simon Hausmann <hausmann@webkit.org>
+
+ Reviewed by Tor Arne Vestbø.
+
+ Extended the conversion of the WebCore ResourceRequest to the
+ QNetworkRequest with a mandatory originating object argument,
+ which is meant to be the QWebFrame the request belongs to.
+
+ https://bugs.webkit.org/show_bug.cgi?id=29975
+
+ * platform/network/qt/QNetworkReplyHandler.cpp:
+ (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
+ (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
+ (WebCore::QNetworkReplyHandler::start):
+ * platform/network/qt/ResourceRequest.h:
+ * platform/network/qt/ResourceRequestQt.cpp:
+ (WebCore::ResourceRequest::toNetworkRequest):
+
+2009-11-02 Jedrzej Nowacki <jedrzej.nowacki@nokia.com>
+
+ Reviewed by Adam Barth.
+
+ QWebView crash fix.
+
+ The QWebView should not crash if the stop() method is called from
+ a function triggered by the loadProgress signal.
+
+ A null pointer protection was added in the ProgressTracker::incrementProgress.
+
+ New autotest was created.
+
+ https://bugs.webkit.org/show_bug.cgi?id=29425
+
+ * loader/ProgressTracker.cpp:
+ (WebCore::ProgressTracker::incrementProgress):
+
+2009-11-02 Kai Koehne <kai.koehne@nokia.com>
+
+ Reviewed by Holger Freyther.
+
+ Remove implementation of ImageDecocerQt::clearFrameBufferCache.
+ The implementation was buggy, and will visually break repeating
+ animations anyway.
+
+ https://bugs.webkit.org/show_bug.cgi?id=31009
+
+ * platform/graphics/qt/ImageDecoderQt.cpp:
+ (WebCore::ImageDecoderQt::clearFrameBufferCache):
+
+2009-11-01 Yael Aharon <yael.aharon@nokia.com>
+
+ Reviewed by Darin Adler.
+
+ Don't add '/' to the URL path if the it does not include '/' after the protocol component
+ https://bugs.webkit.org/show_bug.cgi?id=30971
+
+ Match IE8 behaviour, that does not add '/' if there is none after the protocol component.
+
+ * platform/KURL.cpp:
+ (WebCore::KURL::parse):
+
+2009-10-30 Kenneth Rohde Christiansen <kenneth@webkit.org>
+
+ Reviewed by Holger Hans Peter Freyther.
+
+ If the owner widget of the page has a palette set, we
+ should use that one. This was only working when the
+ owner was a QWebView. This patch fixes that.
+
+ * platform/qt/RenderThemeQt.cpp:
+ (WebCore::RenderThemeQt::applyTheme):
+
+2009-10-29 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Tor Arne Vestbø.
+
+ [Qt] Implement DELETE HTTP method for XmlHttpRequest
+ https://bugs.webkit.org/show_bug.cgi?id=30894
+
+ No new tests as this functionality is already tested by the
+ xmlhttprequest LayoutTests. As this patch depends on an unreleased
+ version of the dependent QtNetwork library and the tests will be
+ enabled later once the dependent library is released (and the
+ buildbot is updated).
+
+ * platform/network/qt/QNetworkReplyHandler.cpp:
+ (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
+ (WebCore::QNetworkReplyHandler::start):
+
+2009-11-02 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
+
+ Rubber-stamped by Antti Koivisto.
+
+ [Qt] Build fix for Windows CE
+
+ * plugins/PluginDatabase.cpp:
+
+2009-11-02 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
+
+ Reviewed by Tor Arne Vestbø.
+
+ [Qt] Fix Qt build on Windows.
+ https://bugs.webkit.org/show_bug.cgi?id=30905
+
+ * WebCore.pro:
+ * platform/graphics/BitmapImage.h:
+ * platform/graphics/qt/ImageQt.cpp:
+ (WebCore::BitmapImage::BitmapImage):
+ (WebCore::BitmapImage::create):
+
+2009-10-28 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Don't run JavaScript URLs in view source mode
+ https://bugs.webkit.org/show_bug.cgi?id=30881
+
+ Just say no.
+
+ Test: http/tests/security/view-source-no-javascript-url.html
+
+ * bindings/ScriptControllerBase.cpp:
+ (WebCore::ScriptController::executeIfJavaScriptURL):
+
+2009-10-29 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
+
+ Unreviewed. Fixes style problems pointed out by Evan Martin.
+
+ * platform/gtk/Language.cpp:
+ (WebCore::defaultLanguage):
+
+2009-10-29 Dan Bernstein <mitz@apple.com>
+
+ Rubber-stamped by Mark Rowe.
+
+ 64-bit Leopard build fix after r50259
+
+ * platform/graphics/mac/ComplexTextControllerATSUI.cpp:
+ Declared ATSUTextInserted in 64-bit.
+ (WebCore::fontHasMirroringInfo): Use %d format and cast to int.
+ (WebCore::disableLigatures): Ditto.
+ (WebCore::initializeATSUStyle): Ditto.
+ (WebCore::ComplexTextController::collectComplexTextRunsForCharacters): Ditto.
+
+2009-10-29 Dan Bernstein <mitz@apple.com>
+
+ Tiger build fix after r50259
+
+ * platform/graphics/mac/ComplexTextController.h:
+ * platform/graphics/mac/ComplexTextControllerATSUI.cpp:
+
+2009-10-29 Dan Bernstein <mitz@apple.com>
+
+ Attempted Tiger build fix after r50259
+
+ * platform/graphics/mac/ComplexTextControllerATSUI.cpp:
+
+2009-10-28 Steve Falkenburg <sfalken@apple.com>
+
+ Rubber stamped by Mark Rowe.
+
+ https://bugs.webkit.org/show_bug.cgi?id=30899
+ WebKit fails to build release on 32-bit Windows systems
+
+ * WebCore.vcproj/WebCore.vcproj: Excluded files from project.
+ * bindings/js/JSBindingsAllInOne.cpp: Added.
+
+2009-10-28 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Jon Honeycutt.
+
+ Fixed typos in color names.
+
+ * inspector/front-end/Color.js:
+
+2009-10-28 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Share code between the ATSUI- and Core Text-based Font implementations by doing the
+ following:
+ - Generalize CoreTextController as ComplexTextController, keeping the Core Text-specific
+ parts in ComplexTextControllerCoreText.cpp.
+ - Generalize FontMacCoreText as FontComplexTextMac using ComplexTextController
+ - Implement ATSUI-specific parts of ComplexTextController in ComplexTextControllerATSUI.
+ - Remove FontMacATSUI.
+
+ * WebCore.xcodeproj/project.pbxproj: Removed CoreTextController.{cpp,h}, FontMacATSUI.mm,
+ and FontMacCoreText.cpp, and added ComplexTextController.{cpp,h},
+ ComplexTextControllerATSUI.cpp, ComplexTextControllerCoreText.cpp, and
+ FontComplexTextMac.cpp.
+
+ * platform/graphics/mac/ComplexTextController.cpp: Copied from CoreTextController.cpp and
+ kept the non-Core Text-specific bits.
+ (WebCore::ComplexTextController::ComplexTextController): Updated for renames, including
+ its own.
+ (WebCore::ComplexTextController::offsetForPosition): Updated for renames and for
+ m_complexTextRuns holding references instead of objects.
+ (WebCore::ComplexTextController::collectComplexTextRuns): Updated for renames, including
+ its own.
+ (WebCore::ComplexTextController::advance): Updated for renames.
+ (WebCore::ComplexTextController::adjustGlyphsAndAdvances): Updated for renames and for
+ m_complexTextRuns holding references instead of objects, and changed to use the glyphs()
+ and advances() accessors.
+
+ * platform/graphics/mac/ComplexTextController.h: Copied from CoreTextController.h and
+ renamed CoreTextController to ComplexTextController and CoreTextRun to ComplexTextRun. Made
+ the latter RefCounted, added ATSUI-specific members to it, and made some other members
+ Core Text-specific. Renamed m_coreTextRuns to m_complexTextRuns and made it hold references
+ rather than objects.
+ (WebCore::ComplexTextController::ComplexTextRun::create):
+ (WebCore::ComplexTextController::ComplexTextRun::glyphs):
+ (WebCore::ComplexTextController::ComplexTextRun::advances):
+
+ * platform/graphics/mac/ComplexTextControllerATSUI.cpp: Added. Includes ATSUI-specific
+ parts of the ComplexTextController implementation.
+ (WebCore::ComplexTextController::ComplexTextRun::overrideLayoutOperation): This ATSUI
+ callback populates the ComplexTextRun’s glyphs, advances and indices vectors. It is invoked
+ when the ComplexTextRun constructor calls ATSUGetGlyphBounds().
+ (WebCore::isArabicLamWithAlefLigature): Helper function, copied from FontMacATSUI.mm.
+ (WebCore::shapeArabic): Helper function, adapted from FontMacATSUI.mm.
+ (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun): Sets up the
+ ATSUTextLayout, substituting the text buffer if necessary for things like shaping Arabic,
+ mirroring glyphs or directionality overrides, then calls ATSUGetGlyphBounds() in order to
+ get the glyphs, advances and indices vectors populated.
+ (WebCore::fontHasMirroringInfo): Helper function, copied from FontMacATSUI.mm.
+ (WebCore::disableLigatures): Ditto.
+ (WebCore::initializeATSUStyle): Ditto, somewhat cleaned up and simplified.
+ (WebCore::ComplexTextController::collectComplexTextRunsForCharacters): Constructs
+ ComplexTextRuns, either missing-glyphs ones or ATSUTextLayout-based ones.
+
+ * platform/graphics/mac/ComplexTextControllerCoreText.cpp: Copied from
+ CoreTextController.cpp and kept the Core Text-specific bits.
+ (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun): Updated for renames,
+ including its own, and moved the code to initialize m_glyphs and m_advances here. Previously
+ this was done in adjustGlyphsAndAdvances().
+ (WebCore::ComplexTextController::collectComplexTextRunsForCharacters): Updated for renames,
+ including its own.
+ * platform/graphics/mac/CoreTextController.cpp: Removed.
+ * platform/graphics/mac/CoreTextController.h: Removed.
+ * platform/graphics/mac/FontComplexTextMac.cpp: Renamed FontMacCoreText.cpp to this.
+ (WebCore::Font::selectionRectForComplexText): Changed to use ComplexTextController instead
+ of CoreTextController.
+ (WebCore::Font::drawComplexText): Ditto.
+ (WebCore::Font::floatWidthForComplexText): Ditto.
+ (WebCore::Font::offsetForPositionForComplexText): Ditto.
+ * platform/graphics/mac/FontMacATSUI.mm: Removed.
+ * platform/graphics/mac/FontMacCoreText.cpp: Removed.
+
+2009-10-27 Chris Fleizach <cfleizach@apple.com>
+
+ Reviewed by Darin Adler.
+
+ WAI-ARIA: add support for 'option' role
+ https://bugs.webkit.org/show_bug.cgi?id=30843
+
+ Test: accessibility/aria-option-role.html
+
+ * accessibility/AccessibilityListBoxOption.h:
+ (WebCore::AccessibilityListBoxOption::canHaveChildren):
+ * accessibility/AccessibilityRenderObject.cpp:
+ (WebCore::RoleEntry::):
+ (WebCore::AccessibilityRenderObject::canHaveChildren):
+
+2009-10-28 Jens Alfke <snej@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ Fix GCC compiler warnings in WebCore, and enable -Wall and -Werror for Chromium build.
+ https://bugs.webkit.org/show_bug.cgi?id=30716
+
+ * WebCore.gyp/WebCore.gyp: Enable "chromium_code" flag, just on Mac build for now.
+ * accessibility/AccessibilityRenderObject.cpp:
+ (WebCore::createARIARoleMap): Fix struct visibiity warning.
+ * bindings/v8/ScriptCallStack.h: Fix out-of-order member initialization warning.
+ * bindings/v8/V8Collection.h:
+ (WebCore::getV8Object): Function in header should not be 'static' (fixes unused-static warning.)
+ * bindings/v8/V8DOMWrapper.cpp:
+ (WebCore::V8DOMWrapper::convertNewNodeToV8Object): Fix signed/unsigned comparison warning.
+ * bindings/v8/V8GCController.cpp:
+ (WebCore::ObjectGrouperVisitor::applyGrouping): Fix unused-variable warning.
+ * css/CSSPrimitiveValueMappings.h:
+ (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Enable ListButtonPart case to avoid
+ warning about missing cases in 'switch' statement.
+ * editing/EditorCommand.cpp:
+ (WebCore::createCommandMap): Fix struct visibiity warning.
+ * platform/graphics/skia/PlatformContextSkia.cpp:
+ (PlatformContextSkia::State::State): Fix out-of-order member initialization warning.
+ * rendering/RenderMediaControlsChromium.cpp:
+ (WebCore::RenderMediaControlsChromium::shouldRenderMediaControlPart): Add empty 'default' case in
+ 'switch' statement to avoid missing-case warning.
+ (WebCore::RenderMediaControlsChromium::paintMediaControlsPart): Ditto.
+ * xml/XPathFunctions.cpp:
+ (WebCore::XPath::createFunctionMap): Fix struct visibiity warning.
+
+2009-10-29 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ REGRESSION: crashes in WebCore::RedirectScheduler::timerFired(WebCore::Timer<WebCore::RedirectScheduler>*)
+ https://bugs.webkit.org/show_bug.cgi?id=30839
+
+ Added null check for the case when the frame is detached from the page.
+
+ * loader/RedirectScheduler.cpp:
+ (WebCore::RedirectScheduler::timerFired):
+
+2009-10-28 Joanmarie Diggs <joanmarie.diggs@gmail.com>
+
+ Reviewed by Xan Lopez.
+
+ https://bugs.webkit.org/show_bug.cgi?id=30817
+ Use parentObjectUnignored instead of parentObject in webkit_accessible_get_parent
+
+ Also removes the hack I had originally added to solve bug 25411, because
+ the fix here is what I should have done in the first place.
+
+ * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
+ (webkit_accessible_get_parent):
+
+2009-10-28 Dmitry Titov <dimich@chromium.org>
+
+ Reviewed by David Levin.
+
+ https://bugs.webkit.org/show_bug.cgi?id=30805
+ Add MessageQueue::removeIf(Predicate&) to remove certain tasks without pulling them from the queue.
+ Existing Database tests cover this, no change in functionality.
+
+ * storage/DatabaseThread.cpp:
+ (WebCore::SameDatabasePredicate::SameDatabasePredicate): Added predicate that flags the tasks belonging to a specified database.
+ (WebCore::SameDatabasePredicate::operator()):
+ (WebCore::DatabaseThread::unscheduleDatabaseTasks): changed to use the new removeIf method.
+
+2009-10-28 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ Web Inspector: Glue subsequent timeline records with same category
+ and title together.
+
+ https://bugs.webkit.org/show_bug.cgi?id=30885
+
+ * English.lproj/localizedStrings.js:
+ * inspector/front-end/TimelinePanel.js:
+ (WebInspector.TimelinePanel.prototype.addRecordToTimeline):
+ (WebInspector.TimelinePanel.prototype._formatRecord):
+ (WebInspector.TimelineRecordTreeElement.prototype.onattach):
+ (WebInspector.TimelineRecordTreeElement.prototype.refresh):
+
+2009-10-28 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
+
+ Reviewed by Xan Lopez.
+
+ [GTK] Fails new test fast/js/navigator-language.html
+ https://bugs.webkit.org/show_bug.cgi?id=30440
+
+ Reimplement WebCore::defaultLanguage to account for changes in
+ locale done by setLocale.
+
+ Already existing test: fast/js/navigator-language.html
+
+ * platform/gtk/Language.cpp:
+ (WebCore::defaultLanguage):
+
+2009-10-28 Eric Carlson <eric.carlson@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ <rdar://problem/7303145>
+ Can't exit full screen mode or restart movie after pressing command -R.
+
+ * html/HTMLMediaElement.cpp:
+ (WebCore::HTMLMediaElement::removedFromDocument):
+ (WebCore::HTMLMediaElement::documentWillBecomeInactive):
+ Exit from fullscreen if necessary.
+ * html/HTMLMediaElement.h:
+
+2009-10-28 Alexey Proskuryakov <ap@apple.com>
+
+ Unreviewed - a trivial fix to get Windows bots running.
+
+ https://bugs.webkit.org/show_bug.cgi?id=30841
+ <rdar://problem/7342730> WebKit should not pass Referer header through a redirect to a non-secure site
+
+ * platform/network/cf/ResourceRequestCFNet.cpp: (WebCore::setHeaderFields): Don't try to
+ access empty vector's data.
+
+2009-10-28 Joanmarie Diggs <joanmarie.diggs@gmail.com>
+
+ Reviewed by Xan Lopez.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25897
+ [Gtk] Extraneous object of ROLE_PANEL in hierarchy for entries
+
+ Remove the extraneous object of ROLE_PANEL.
+
+ * accessibility/gtk/AccessibilityObjectAtk.cpp:
+ (AccessibilityObject::accessibilityPlatformIncludesObject):
+
+2009-10-28 Jonathan Dixon <joth@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ Bug 30547: (Chromium) searchbox not rendered properly due to the css property -webkit-border-radius
+ https://bugs.webkit.org/show_bug.cgi?id=30547
+
+ Test: fast/css/text-input-with-webkit-border-radius.html
+
+ * rendering/RenderThemeChromiumWin.cpp:
+ (WebCore::RenderThemeChromiumWin::paintTextFieldInternal):
+ Implemented rounded border rendering in Chromium Windows theme renderer.
+
+2009-10-28 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ Web Inspector: Pull items collections from resources panel and
+ timeline panel into AbstractTimelinePanel.
+
+ https://bugs.webkit.org/show_bug.cgi?id=30875
+
+ * inspector/front-end/AbstractTimelinePanel.js:
+ (WebInspector.AbstractTimelinePanel):
+ (WebInspector.AbstractTimelinePanel.prototype.populateSidebar):
+ (WebInspector.AbstractTimelinePanel.prototype.createItemTreeElement):
+ (WebInspector.AbstractTimelinePanel.prototype.createItemGraph):
+ (WebInspector.AbstractTimelinePanel.prototype._showCategory):
+ (WebInspector.AbstractTimelinePanel.prototype._hideCategory):
+ (WebInspector.AbstractTimelinePanel.prototype.filter):
+ (WebInspector.AbstractTimelinePanel.prototype._createGraph):
+ (WebInspector.AbstractTimelinePanel.prototype.updateMainViewWidth):
+ (WebInspector.AbstractTimelinePanel.prototype.refresh):
+ (WebInspector.AbstractTimelinePanel.prototype.reset):
+ (WebInspector.AbstractTimelinePanel.prototype.get calculator):
+ (WebInspector.AbstractTimelinePanel.prototype.set calculator):
+ (WebInspector.AbstractTimelinePanel.prototype.addItem):
+ (WebInspector.AbstractTimelinePanel.prototype.removeItem):
+ (WebInspector.AbstractTimelinePanel.prototype.refreshItem):
+ (WebInspector.AbstractTimelinePanel.prototype.revealAndSelectItem):
+ (WebInspector.AbstractTimelinePanel.prototype.sortItems):
+ (WebInspector.AbstractTimelinePanel.prototype.adjustScrollPosition):
+ (WebInspector.AbstractTimelineCategory):
+ (WebInspector.AbstractTimelineCategory.prototype.toString):
+ * inspector/front-end/ResourceCategory.js:
+ (WebInspector.ResourceCategory):
+ * inspector/front-end/ResourcesPanel.js:
+ (WebInspector.ResourcesPanel):
+ (WebInspector.ResourcesPanel.prototype.createItemTreeElement):
+ (WebInspector.ResourcesPanel.prototype.createItemGraph):
+ (WebInspector.ResourcesPanel.prototype.isCategoryVisible):
+ (WebInspector.ResourcesPanel.prototype.populateSidebar):
+ (WebInspector.ResourcesPanel.prototype.get searchableViews):
+ (WebInspector.ResourcesPanel.prototype.get searchResultsSortFunction.sortFuction):
+ (WebInspector.ResourcesPanel.prototype.get searchResultsSortFunction):
+ (WebInspector.ResourcesPanel.prototype.searchMatchFound):
+ (WebInspector.ResourcesPanel.prototype.searchCanceled):
+ (WebInspector.ResourcesPanel.prototype.performSearch):
+ (WebInspector.ResourcesPanel.prototype.refresh):
+ (WebInspector.ResourcesPanel.prototype.reset):
+ (WebInspector.ResourcesPanel.prototype.removeResource):
+ (WebInspector.ResourcesPanel.prototype.addMessageToResource):
+ (WebInspector.ResourcesPanel.prototype.clearMessages):
+ (WebInspector.ResourcesPanel.prototype.refreshResource):
+ (WebInspector.ResourcesPanel.prototype.recreateViewForResourceIfNeeded):
+ (WebInspector.ResourcesPanel.prototype.showResource):
+ (WebInspector.ResourcesPanel.prototype._sortResourcesIfNeeded):
+ (WebInspector.ResourcesPanel.prototype._toggleLargerResources):
+ (WebInspector.ResourcesPanel.prototype._toggleResourceTracking):
+ (WebInspector.ResourcesPanel.prototype.get _resources):
+ (WebInspector.ResourceTimeCalculator.prototype._upperBound):
+ * inspector/front-end/TimelinePanel.js:
+ (WebInspector.TimelinePanel):
+ (WebInspector.TimelinePanel.prototype.get categories):
+ (WebInspector.TimelinePanel.prototype.populateSidebar):
+ (WebInspector.TimelinePanel.prototype.addRecordToTimeline):
+ (WebInspector.TimelinePanel.prototype.createItemTreeElement):
+ (WebInspector.TimelinePanel.prototype.createItemGraph):
+ (WebInspector.TimelinePanel.prototype._formatRecord):
+ (WebInspector.TimelineCategory):
+ * inspector/front-end/inspector.css:
+ * inspector/front-end/inspector.html:
+
+2009-10-28 Kelly Norton <knorton@google.com>
+
+ Reviewed by Pavel Feldman.
+
+ Resets InspectorFrontend in InspectorTimelineAgent instead of removing it so
+ that it remains active on refreshs and page transitions.
+ https://bugs.webkit.org/show_bug.cgi?id=30874
+
+ * inspector/InspectorController.cpp:
+ (WebCore::InspectorController::setFrontendProxyObject):
+ * inspector/InspectorTimelineAgent.cpp:
+ (WebCore::InspectorTimelineAgent::resetFrontendProxyObject):
+ * inspector/InspectorTimelineAgent.h:
+
+2009-10-27 Shinichiro Hamaji <hamaji@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ Provide a way to get counter values with layoutTestContoller
+ https://bugs.webkit.org/show_bug.cgi?id=30555
+
+ Expose WebCore::counterValueForElement as a WebCore API.
+
+ * WebCore.base.exp:
+ * rendering/RenderTreeAsText.cpp:
+ (WebCore::writeCounterValuesFromChildren):
+ (WebCore::counterValueForElement):
+ * rendering/RenderTreeAsText.h:
+
+2009-10-28 Nate Chapin <japhet@chromium.org>
+
+ Unreviewed, Chromium build fix for r50225.
+
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::defaultObjectContentType):
+
+2009-10-28 Eric Z. Ayers <zundel@google.com>
+
+ Reviewed by Pavel Feldman.
+
+ Adds InspectorTimelineAgent instrumentation for encountering a
+ <SCRIPT> tag when parsing an HTML document.
+
+ https://bugs.webkit.org/show_bug.cgi?id=30861
+
+ * bindings/js/ScriptSourceCode.h:
+ (WebCore::ScriptSourceCode::ScriptSourceCode):
+ (WebCore::ScriptSourceCode::startLine):
+ (WebCore::ScriptSourceCode::url):
+ * html/HTMLTokenizer.cpp:
+ (WebCore::HTMLTokenizer::scriptHandler):
+ (WebCore::HTMLTokenizer::scriptExecution):
+ * inspector/InspectorTimelineAgent.cpp:
+ (WebCore::InspectorTimelineAgent::willLoadXHR):
+ (WebCore::InspectorTimelineAgent::willScriptTag):
+ (WebCore::InspectorTimelineAgent::didScriptTag):
+ * inspector/InspectorTimelineAgent.h:
+ (WebCore::):
+ * inspector/TimelineRecordFactory.cpp:
+ (WebCore::TimelineRecordFactory::createScriptTagTimelineRecord):
+ * inspector/TimelineRecordFactory.h:
+ * inspector/front-end/TimelineAgent.js:
+
+2009-10-28 Steve Block <steveblock@google.com>
+
+ Reviewed by Darin Adler.
+
+ Makes sure that Geolocation watch IDs remain positive on overflow.
+ https://bugs.webkit.org/show_bug.cgi?id=30122
+
+ No new tests possible.
+
+ * page/Geolocation.cpp: Modified.
+ (WebCore::Geolocation::watchPosition): Modified. Reset the watch ID to 1 on overflow.
+
+2009-10-28 George Staikos <george.staikos@torchmobile.com>
+
+ Attempt to fix the Mac debug build after 50225.
+
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::defaultObjectContentType):
+
+2009-10-28 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=30841
+ <rdar://problem/7342730> WebKit should not pass Referer header through a redirect to a non-secure site
+
+ Tests: http/tests/ssl/referer-301.html
+ http/tests/ssl/referer-303.html
+
+ * platform/network/mac/ResourceHandleMac.mm:
+ (-[WebCoreResourceHandleAsDelegate connection:willSendRequest:redirectResponse:]):
+ Remove Referer header if redirecting from https to another protocol.
+
+ * platform/network/ResourceRequestBase.cpp:
+ (WebCore::ResourceRequestBase::clearHTTPReferrer): Update request counterparts, as it is
+ always done when changing or adding header fields.
+ (WebCore::ResourceRequestBase::clearHTTPOrigin): Ditto.
+
+ * platform/network/ResourceRequestBase.h: clearHTTPReferrer() and clearHTTPOrigin() are
+ no longer inline, since they have non-trivial implementations.
+
+ * platform/network/mac/ResourceRequestMac.mm:
+ (WebCore::ResourceRequest::doUpdatePlatformRequest): Fixed to synchronize header field removals.
+ (WebCore::ResourceRequest::doUpdateResourceRequest): Ditto.
+
+ * platform/network/cf/ResourceHandleCFNet.cpp:
+ (WebCore::willSendRequest):
+ * platform/network/cf/ResourceRequestCFNet.cpp:
+ (WebCore::setHeaderFields):
+ (WebCore::ResourceRequest::doUpdatePlatformRequest):
+ (WebCore::ResourceRequest::doUpdateResourceRequest):
+ Match Mac changes.
+
+2009-10-28 Joe Mason <jmason@rim.com>
+
+ Reviewed by Adam Treat.
+
+ Add FrameLoader::defaultObjectContentType, containing common code for
+ implementing FrameLoaderClient::objectContentType. (Currently the gtk
+ and win ports have copied this code, and the qt port uses similar code
+ with a few extra clauses. Moving this to a utility function cuts down
+ on copied code.) This causes no behavioural change.
+
+ https://bugs.webkit.org/show_bug.cgi?id=30868
+
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::defaultObjectContentType):
+ * loader/FrameLoader.h:
+
+2009-10-28 Kenneth Rohde Christiansen <kenneth@webkit.org>
+
+ Reviewed by Tor Arne Vestbø.
+
+ [Qt] QWebHistory::saveState() is inconsistent with the Qt API
+ https://bugs.webkit.org/show_bug.cgi?id=30710
+
+ Enforce the versioning, by ignoring any version different
+ from 1.
+
+ * history/qt/HistoryItemQt.cpp:
+ (WebCore::HistoryItem::restoreState):
+ (WebCore::HistoryItem::saveState):
+
+2009-10-28 Pavel Feldman <pfeldman@chromium.org>
+
+ Not reviewed: follow up fix to InspectorControllerStub.
+ Define it after inspector.js due to namespace
+
+ https://bugs.webkit.org/show_bug.cgi?id=30866
+
+ * inspector/front-end/inspector.html:
+
+2009-10-28 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ Web Inspector: Add InspectorController stub in order to
+ support opening in standalone mode.
+
+ https://bugs.webkit.org/show_bug.cgi?id=30866
+
+ * WebCore.gypi:
+ * WebCore.vcproj/WebCore.vcproj:
+ * inspector/front-end/InspectorControllerStub.js: Added.
+ (.WebInspector.InspectorControllerStub):
+ (.WebInspector.InspectorControllerStub.prototype.wrapCallback):
+ (.WebInspector.InspectorControllerStub.prototype.isWindowVisible):
+ (.WebInspector.InspectorControllerStub.prototype.platform):
+ (.WebInspector.InspectorControllerStub.prototype.closeWindow):
+ (.WebInspector.InspectorControllerStub.prototype.attach):
+ (.WebInspector.InspectorControllerStub.prototype.detach):
+ (.WebInspector.InspectorControllerStub.prototype.storeLastActivePanel):
+ (.WebInspector.InspectorControllerStub.prototype.clearMessages):
+ (.WebInspector.InspectorControllerStub.prototype.searchingForNode):
+ (.WebInspector.InspectorControllerStub.prototype.search):
+ (.WebInspector.InspectorControllerStub.prototype.toggleNodeSearch):
+ (.WebInspector.InspectorControllerStub.prototype.setAttachedWindowHeight):
+ (.WebInspector.InspectorControllerStub.prototype.moveByUnrestricted):
+ (.WebInspector.InspectorControllerStub.prototype.addResourceSourceToFrame):
+ (.WebInspector.InspectorControllerStub.prototype.addSourceToFrame):
+ (.WebInspector.InspectorControllerStub.prototype.getResourceDocumentNode):
+ (.WebInspector.InspectorControllerStub.prototype.highlightDOMNode):
+ (.WebInspector.InspectorControllerStub.prototype.hideDOMNodeHighlight):
+ (.WebInspector.InspectorControllerStub.prototype.inspectedWindow):
+ (.WebInspector.InspectorControllerStub.prototype.loaded):
+ (.WebInspector.InspectorControllerStub.prototype.localizedStringsURL):
+ (.WebInspector.InspectorControllerStub.prototype.windowUnloading):
+ (.WebInspector.InspectorControllerStub.prototype.hiddenPanels):
+ (.WebInspector.InspectorControllerStub.prototype.debuggerEnabled):
+ (.WebInspector.InspectorControllerStub.prototype.enableResourceTracking):
+ (.WebInspector.InspectorControllerStub.prototype.disableResourceTracking):
+ (.WebInspector.InspectorControllerStub.prototype.resourceTrackingEnabled):
+ (.WebInspector.InspectorControllerStub.prototype.enableDebugger):
+ (.WebInspector.InspectorControllerStub.prototype.disableDebugger):
+ (.WebInspector.InspectorControllerStub.prototype.addBreakpoint):
+ (.WebInspector.InspectorControllerStub.prototype.removeBreakpoint):
+ (.WebInspector.InspectorControllerStub.prototype.updateBreakpoint):
+ (.WebInspector.InspectorControllerStub.prototype.pauseInDebugger):
+ (.WebInspector.InspectorControllerStub.prototype.pauseOnExceptions):
+ (.WebInspector.InspectorControllerStub.prototype.setPauseOnExceptions):
+ (.WebInspector.InspectorControllerStub.prototype.resumeDebugger):
+ (.WebInspector.InspectorControllerStub.prototype.profilerEnabled):
+ (.WebInspector.InspectorControllerStub.prototype.enableProfiler):
+ (.WebInspector.InspectorControllerStub.prototype.disableProfiler):
+ (.WebInspector.InspectorControllerStub.prototype.startProfiling):
+ (.WebInspector.InspectorControllerStub.prototype.stopProfiling):
+ (.WebInspector.InspectorControllerStub.prototype.getProfileHeaders):
+ (.WebInspector.InspectorControllerStub.prototype.getProfile):
+ (.WebInspector.InspectorControllerStub.prototype.takeHeapSnapshot):
+ (.WebInspector.InspectorControllerStub.prototype.databaseTableNames):
+ (.WebInspector.InspectorControllerStub.prototype.stepIntoStatementInDebugger):
+ (.WebInspector.InspectorControllerStub.prototype.stepOutOfFunctionInDebugger):
+ (.WebInspector.InspectorControllerStub.prototype.stepOverStatementInDebugger):
+ (.WebInspector.InspectorControllerStub.prototype.setSetting):
+ (.WebInspector.InspectorControllerStub.prototype.dispatchOnInjectedScript):
+ (.WebInspector.InspectorControllerStub.prototype.releaseWrapperObjectGroup):
+ (.WebInspector.InspectorControllerStub.prototype.setting):
+ * inspector/front-end/inspector.html:
+ * inspector/front-end/inspector.js:
+ (WebInspector.UIString):
+
+2009-10-28 Joanmarie Diggs <joanmarie.diggs@gmail.com>
+
+ Reviewed by Jan Alonzo.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25897
+ [Gtk] Extraneous object of ROLE_PANEL in hierarchy for entries
+
+ Expands upon the new funtionality which allows platforms to indicate
+ that a particular object should not be ignored, so that they can
+ specify that an object should be ignored or that it should be left up
+ to the default handling to decide.
+
+ * accessibility/AccessibilityObject.h:
+ * accessibility/chromium/AccessibilityObjectChromium.cpp:
+ * accessibility/gtk/AccessibilityObjectAtk.cpp:
+ * accessibility/mac/AccessibilityObjectMac.mm:
+ * accessibility/qt/AccessibilityObjectQt.cpp:
+ * accessibility/win/AccessibilityObjectWin.cpp:
+ * accessibility/wx/AccessibilityObjectWx.cpp:
+ (AccessibilityObject::accessibilityPlatformIncludesObject):
+ * accessibility/AccessibilityRenderObject.cpp:
+ (AccessibilityRenderObject::accessibilityIsIgnored):
+
+
+2009-10-28 Joanmarie Diggs <joanmarie.diggs@gmail.com>
+
+ Reviewed by Jan Alonzo.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25534
+ [GTK] Objects of ROLE_TABLE should implement the accessible table interface
+
+ Expose the table summary as the accessible description because there is no summary object.
+
+ * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
+ (webkit_accessible_get_description):
+
+2009-10-28 Steve Block <steveblock@google.com>
+
+ Reviewed by Eric Seidel.
+
+ Adds ScriptController::intializeThreading(), with both JSC and V8 implementations.
+ https://bugs.webkit.org/show_bug.cgi?id=30678
+
+ This new method is used from common code, rather than calling JSC::initializeThreading() (or the V8 equivalent) directly.
+
+ Build fix, no new tests required.
+
+ * bindings/js/ScriptController.cpp: Modified.
+ (WebCore::ScriptController::initializeThreading): Added.
+ * bindings/js/ScriptController.h: Modified. Adds ScriptController::initializeThreading().
+ * bindings/v8/ScriptController.cpp: Modified.
+ (WebCore::ScriptController::initializeThreading): Added.
+ * bindings/v8/ScriptController.h: Modified. Adds ScriptController::initializeThreading().
+ * loader/icon/IconDatabase.cpp: Modified.
+ (WebCore::iconDatabase): Call ScriptController::initializeThreading(), rather than JSC::initializeThreading().
+ * storage/Database.cpp: Modified.
+ (WebCore::Database::Database): Call ScriptController::initializeThreading(), rather than JSC::initializeThreading().
+
+2009-10-26 Holger Hans Peter Freyther <zecke@selfish.org>
+
+ Reviewed by Darin Adler.
+
+ Document a feature of the m_liveDecodedResources list.
+ https://bugs.webkit.org/show_bug.cgi?id=30209
+
+ The code made the assumption that the list is sorted by
+ the m_lastDecodedAccessTime property of the CachedResource.
+ The above is not true when CachedResource::setDecodedSize
+ is called and the item is inserted the first time. In this
+ case the m_lastDecodedAccessTime is still zero and the
+ m_liveDecodedResources list becomes unsorted.
+
+ It is impossible that Cache::pruneLiveResources will
+ stop to process the list too early due this feature and
+ the alternatives of updating m_lastDecodedAccessTime in
+ CachedResource::setDecodedSize or changing the insert
+ to search the right position have a negative impact on
+ performance. The best solution for now is to document
+ this feature.
+
+ * loader/Cache.cpp:
+ (WebCore::Cache::pruneLiveResources):
+ * loader/CachedResource.cpp:
+ (WebCore::CachedResource::setDecodedSize):
+
+2009-10-28 Xan Lopez <xlopez@igalia.com>
+
+ Reviewed by Jan Alonzo.
+
+ [Gtk] Extraneous object of ROLE_PANEL in hierarchy for entries
+ https://bugs.webkit.org/show_bug.cgi?id=25897
+
+ Make text controls always implement the text interface, and the
+ editable text interface when they are not read only. This is what
+ ATK-users expect.
+
+ * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
+ (getInterfaceMaskFromObject):
+
+2009-10-27 Holger Hans Peter Freyther <zecke@selfish.org>
+
+ Reviewed by Simon Fraser.
+
+ Change HitTestResult methods to use (3d) transformation aware methods
+ https://bugs.webkit.org/show_bug.cgi?id=27347
+
+ The current HitTestResult methods are not using the (3d)
+ transformation aware routines. This can lead to an assertion
+ SVGRenderBase::mapLocalToContainer method.
+
+ Change HitTestResult::imageRect to use the (3d) transformation
+ aware RenderBox::absoluteContentQuad to avoid running into
+ an assertion with SVG content.
+
+ Remove HitTestResult::boundingBox() as it is only used in
+ two places and conceptually doesn't belong into a HitTest
+ which is operating on points.
+
+ A classic test case is not possible as the methods are not excercised
+ from within HTML/SVG but from the WebKit API Layer. A unittest
+ for Qt/Gtk+/Mac would need to be written but Qt/Gtk+ currently
+ do not support 3d transformations making it impossible to write
+ a reliable test case and the Mac port is currently not doing
+ unit testing.
+
+
+ * rendering/HitTestResult.cpp: Remove boundingBox() method
+ (WebCore::HitTestResult::imageRect): Use transformation aware method
+ * rendering/HitTestResult.h: Remove boundingBox()
+
+2009-10-26 Holger Hans Peter Freyther <zecke@selfish.org>
+
+ Reviewed by Eric Seidel.
+
+ [Qt] Custom Cursor doesn't use hotspot.
+ https://bugs.webkit.org/show_bug.cgi?id=30820
+
+ Cursors loaded from a QPixmap didn't specifiy the
+ hotspot. Take the hotspot values from the mac
+ implementation.
+
+ * platform/qt/CursorQt.cpp:
+
+2009-10-27 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ Web Inspector: Initial revision of the Timeline grid.
+
+ https://bugs.webkit.org/show_bug.cgi?id=30834
+
+ * English.lproj/localizedStrings.js:
+ * WebCore.gypi:
+ * inspector/front-end/AbstractTimelinePanel.js:
+ (WebInspector.AbstractTimelinePanel.prototype.populateSidebar):
+ (WebInspector.AbstractTimelinePanel.prototype.refresh):
+ (WebInspector.AbstractTimelineCalculator):
+ * inspector/front-end/Images/timelineBarBlue.png: Added.
+ * inspector/front-end/Images/timelineBarGray.png: Added.
+ * inspector/front-end/Images/timelineBarGreen.png: Added.
+ * inspector/front-end/Images/timelineBarOrange.png: Added.
+ * inspector/front-end/Images/timelineBarPurple.png: Added.
+ * inspector/front-end/Images/timelineBarRed.png: Added.
+ * inspector/front-end/Images/timelineBarYellow.png: Added.
+ * inspector/front-end/Images/timelineCheckmarks.png: Added.
+ * inspector/front-end/Images/timelineDots.png: Added.
+ * inspector/front-end/ResourcesPanel.js:
+ (WebInspector.ResourceTimeCalculator):
+ (WebInspector.ResourceTransferSizeCalculator):
+ * inspector/front-end/TimelineAgent.js:
+ * inspector/front-end/TimelinePanel.js:
+ (WebInspector.TimelinePanel):
+ (WebInspector.TimelinePanel.prototype.get statusBarItems):
+ (WebInspector.TimelinePanel.prototype.get categories):
+ (WebInspector.TimelinePanel.prototype.populateSidebar):
+ (WebInspector.TimelinePanel.prototype._createStatusbarButtons):
+ (WebInspector.TimelinePanel.prototype.addItemToTimeline):
+ (WebInspector.TimelinePanel.prototype.refresh):
+ (WebInspector.TimelinePanel.prototype._toggleTimelineButtonClick):
+ (WebInspector.TimelinePanel.prototype.reset):
+ (WebInspector.TimelinePanel.prototype._formatRecord):
+ (WebInspector.TimelinePanel.prototype.showCategory):
+ (WebInspector.TimelinePanel.prototype.hideCategory):
+ (WebInspector.TimelineRecordTreeElement):
+ (WebInspector.TimelineRecordTreeElement.prototype.onattach):
+ (WebInspector.TimelineCalculator):
+ (WebInspector.TimelineCalculator.prototype.computeBarGraphPercentages):
+ (WebInspector.TimelineCalculator.prototype.computePercentageFromEventTime):
+ (WebInspector.TimelineCalculator.prototype.computeBarGraphLabels):
+ (WebInspector.TimelineCalculator.prototype.updateBoundaries):
+ (WebInspector.TimelineCalculator.prototype.formatValue):
+ (WebInspector.TimelineGraph):
+ (WebInspector.TimelineGraph.prototype.get graphElement):
+ (WebInspector.TimelineGraph.prototype.refreshLabelPositions):
+ (WebInspector.TimelineGraph.prototype.refresh):
+ * inspector/front-end/inspector.css:
+ * inspector/front-end/inspector.js:
+ (WebInspector._createPanels):
+
+2009-10-27 Joseph Pecoraro <joepeck@webkit.org>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector: Move runAfterPendingDispatches to TestController for Clarity
+ https://bugs.webkit.org/show_bug.cgi?id=30844
+
+ * inspector/front-end/TestController.js:
+ (WebInspector.TestController.prototype.runAfterPendingDispatches):
+ * inspector/front-end/inspector.js: moved runAfterPendingDispatches
+
+2009-10-27 Darin Fisher <darin@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Add missing forward declaration of FramelessScrollView.
+ https://bugs.webkit.org/show_bug.cgi?id=30824
+
+ * platform/chromium/FramelessScrollViewClient.h:
+
+2009-10-27 Chris Fleizach <cfleizach@apple.com>
+
+ Reviewed by Adele Peterson.
+
+ WAI-ARIA: add support for 'presentation' role
+ https://bugs.webkit.org/show_bug.cgi?id=30806
+
+ Test: accessibility/aria-presentational-role.html
+
+ * accessibility/AccessibilityObject.h:
+ (WebCore::):
+ * accessibility/AccessibilityRenderObject.cpp:
+ (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
+ (WebCore::RoleEntry::):
+
+2009-10-27 Chris Fleizach <cfleizach@apple.com>
+
+ Reviewed by Darin Adler.
+
+ ARIA menu/menu item need AXRoleDescription
+ https://bugs.webkit.org/show_bug.cgi?id=30804
+
+ Make sure that role descriptions will default to the system's first, before
+ returning an unknown role.
+
+ Test: platform/mac/accessibility/aria-menu-role-descriptions.html
+
+ * accessibility/mac/AccessibilityObjectWrapper.mm:
+ (-[AccessibilityObjectWrapper roleDescription]):
+
+2009-10-27 Geoffrey Garen <ggaren@apple.com>
+
+ Qt build fix: migrated away from API that no longer exists.
+
+ * bridge/qt/qt_runtime.cpp:
+ (JSC::Bindings::convertQVariantToValue):
+
+2009-10-27 Geoffrey Garen <ggaren@apple.com>
+
+ Qt build fix: migrated away from API that no longer exists.
+
+ * bridge/qt/qt_runtime.cpp:
+ (JSC::Bindings::convertValueToQVariant):
+
+2009-10-27 Oliver Hunt <oliver@apple.com>
+
+ Fix wording in comment.
+
+ * bridge/objc/objc_instance.mm:
+ (allocateAutoReleasePool):
+
+2009-10-27 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Crash occurs after launching Newsfire 1.6 for the first time
+ https://bugs.webkit.org/show_bug.cgi?id=30807
+
+ We allocate an autorelease pool but then store it off the stack. In a
+ GC environment this led to it being collected, and thus caused badness
+ to ensue. To work around this we simply avoid using a pool at all in
+ a GC environment as it would be a no-op anyway.
+
+ * bridge/objc/objc_instance.mm:
+ (allocateAutoReleasePool):
+ (ObjcInstance::virtualBegin):
+
+2009-10-27 Steve Block <steveblock@google.com>
+
+ Reviewed by Darin Adler.
+
+ When a Geolocation method is called, immediately calls the error calback asynchronously if permissions
+ have already been denied.
+ https://bugs.webkit.org/show_bug.cgi?id=27944.
+
+ Tests: fast/dom/Geolocation/permission-denied-already-error.html
+ fast/dom/Geolocation/permission-denied-already-success.html
+
+ * page/Geolocation.cpp: Modified.
+ (WebCore::Geolocation::GeoNotifier::GeoNotifier): Modified. GeoNotifier takes Geolocation object as constructor argument.
+ (WebCore::Geolocation::GeoNotifier::setFatalError): Added. Sets a fatal error for this notifier, causing it to terminate immediately and call the error callback asynchronously.
+ (WebCore::Geolocation::GeoNotifier::timerFired): Added. Used to call the error callback asynchronously on fatal error.
+ (WebCore::Geolocation::getCurrentPosition): Modified. Calls startRequest.
+ (WebCore::Geolocation::watchPosition): Modified. Calls startRequest.
+ (WebCore::Geolocation::startRequest): Added. Common functionality for starting a one-shot or watch request. Sets a fatal error on the notifier if permissions have already been denied.
+ (WebCore::Geolocation::fatalErrorOccurred): Added. Registers that a notifier has encountered a fatal error and should be destroyed.
+ (WebCore::Geolocation::setIsAllowed): Modified. Uses a standard error message for the error callback when permissions are denied.
+ * page/Geolocation.h: Modified.
+ (WebCore::Geolocation::isDenied): Added. Determines whether permissions have been denied.
+
+2009-10-27 Chris Marrin <cmarrin@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ Fixed a bug where I was using the wrong Canvas pointer to do a cross-domain check
+ https://bugs.webkit.org/show_bug.cgi?id=30840
+
+ * html/canvas/CanvasRenderingContext2D.cpp:
+ (WebCore::CanvasRenderingContext2D::drawImage):
+
+2009-10-27 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Nikolas Zimmermann.
+
+ SVGStyledElement::getPresentationAttribute() can return a shared CSSValue (some SVG tests randomly fail on the bot, and in release builds)
+ https://bugs.webkit.org/show_bug.cgi?id=29620
+
+ SVG was modifying CSSValues cached of off CSSMappedAttributeDeclarations.
+ This patch fixes the check to make sure that a new CSSMappedAttributeDeclaration is
+ created before returning a CSSValue that JavaScript can modify.
+
+ Test: svg/dom/getPresentationAttribute-cache-corruption.svg
+
+ * svg/SVGStyledElement.cpp:
+ (WebCore::SVGStyledElement::getPresentationAttribute):
+
+2009-10-27 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ Incomplete repaint of text field in relative positioned inline at imdb.com
+ https://bugs.webkit.org/show_bug.cgi?id=30047
+
+ Test: fast/repaint/inline-relative-positioned.html
+
+ Implemented offsetFromContainer(), mapLocalToContainer() and
+ mapAbsoluteToLocalPoint() in RenderInline.
+
+ * rendering/RenderBox.h: Fixed argument names in the declaration of
+ mapLocalToContainer().
+ * rendering/RenderInline.cpp:
+ (WebCore::RenderInline::offsetFromContainer):
+ (WebCore::RenderInline::mapLocalToContainer):
+ (WebCore::RenderInline::mapAbsoluteToLocalPoint):
+ * rendering/RenderInline.h:
+
+2009-10-27 Jeremy Orlow <jorlow@chromium.org>
+
+ Speculative build fix for Chromium.
+
+ * platform/graphics/GraphicsContext3D.h:
+
+2009-10-27 Chris Marrin <cmarrin@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ Make WebGL context failure more robust and make it succeed in more cases
+ https://bugs.webkit.org/show_bug.cgi?id=30349
+
+ Bubble a failure to get a CGLContext up to HTMLContextElement so it can
+ return null from getContext. Also added a more robust pixel format choosing
+ mechanism and can render correctly when a SW renderer is chosen.
+
+ * html/HTMLCanvasElement.cpp:
+ (WebCore::HTMLCanvasElement::getContext):
+ * html/canvas/CanvasRenderingContext.h:
+ * html/canvas/CanvasRenderingContext2D.cpp:
+ * html/canvas/CanvasRenderingContext3D.cpp:
+ * html/canvas/CanvasRenderingContext3D.h:
+ (WebCore::CanvasRenderingContext3D::graphicsContext3D):
+ (WebCore::CanvasRenderingContext3D::cleanupAfterGraphicsCall):
+ * platform/graphics/GraphicsContext3D.h:
+ * platform/graphics/mac/Canvas3DLayer.mm:
+ (-[Canvas3DLayer copyCGLPixelFormatForDisplayMask:]):
+ * platform/graphics/mac/GraphicsContext3DMac.cpp:
+ (WebCore::setPixelFormat):
+ (WebCore::GraphicsContext3D::create):
+ (WebCore::GraphicsContext3D::GraphicsContext3D):
+ (WebCore::GraphicsContext3D::~GraphicsContext3D):
+ (WebCore::GraphicsContext3D::reshape):
+ (WebCore::ensureContext):
+
+2009-10-27 Geoffrey Garen <ggaren@apple.com>
+
+ Mac build fix: a forwarding header.
+
+ * ForwardingHeaders/wtf/DateInstanceCache.h: Added.
+
+2009-10-27 Ryosuke Niwa <rniwa@webkit.org>
+
+ No Review.
+
+ Making fontWeightIsBold static to fix Snow Leopard build.
+
+ * editing/ApplyStyleCommand.cpp:
+ (WebCore::fontWeightIsBold):
+
+2009-10-27 Ryosuke Niwa <rniwa@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ WebKit cannot remove nested bold tags
+ https://bugs.webkit.org/show_bug.cgi?id=30784
+
+ This patch modifies getPropertiesNotInComputedStyle so that it compares font-weight
+ more flexibly. Instead of comparing cssText, it uses fontWeightIsBold which converts
+ all font weights to either bold or unbold state.
+
+ * editing/ApplyStyleCommand.cpp:
+ (WebCore::fontWeightIsBold):
+ (WebCore::getPropertiesNotInComputedStyle): Removes font-weight property
+ if two style have the same value under getFontWeightValue
+
+2009-10-27 Carol Szabo <carol.szabo@nokia.com>
+
+ Reviewed by Darin Adler.
+
+ Give an ability to WebKit to free statically allocated pointers
+ before quit.
+ https://bugs.webkit.org/show_bug.cgi?id=27980
+
+ No new tests for this as the change does not affect WebKit
+ functionality, but only memory usage.
+
+ * JavaScriptCore/wtf/StdLibExtras.h:
+ Allowed for the override of DEFINE_STATIC_LOCAL via compiler
+ commandline options or elsewhere in the code. Useful for
+ implementing custom builds that free resources allocated via
+ DEFINE_STATIC_LOCAL.
+
+2009-10-27 Dumitru Daniliuc <dumi@chromium.org>
+
+ Build fix, no review needed.
+
+ Fixing the BUILD. m_estimatedSize in Database.h should be of type
+ 'unsigned long' instead of 'unsigned long long'.
+
+ No tests required.
+
+ * storage/Database.h:
+
+2009-10-27 Dumitru Daniliuc <dumi@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Refactoring the Database class to not depend on
+ OriginQuotaManager. Also, adding a SecurityOrigin copy to each
+ Database instance, that is safe to use on the file
+ thread. Finally, adding new simple fields and getters to the
+ Database object for storing/getting the display name and estimated
+ size specified by the user in the openDatabase() call.
+
+ https://bugs.webkit.org/show_bug.cgi?id=30548
+
+ * page/SecurityOrigin.h:
+ * storage/Database.cpp:
+ (WebCore::Database::openDatabase): Storing the display name and
+ the estimated size in the Database object.
+ (WebCore::Database::Database): Storing the display name and the
+ estimated size in the Database object, as well as a SecurityOrigin
+ instance that is safe to use on the DB thread.
+ (WebCore::Database::maximumSize): Delegate the call to
+ DatabaseTracker::getMaxSizeForDatabase().
+ (WebCore::Database::databaseThreadSecurityOrigin): Return the
+ SecurityOrigin instance that's safe to use on the DB thread.
+ (WebCore::Database::threadSafeSecurityOrigin): Return the
+ SecurityOrigin instance that's safe to use on the current thread.
+ (WebCore::Database::displayName): Return the display name
+ specified by the user in the openDatabase() call.
+ (WebCore::Database::estimatedSize): Return the estimated size
+ specified by the user in the openDatabase() call.
+ (WebCore::Database::fileName): Return the name of the file where
+ the current Database is tored.
+ * storage/Database.h:
+ * storage/DatabaseTracker.cpp:
+ (WebCore::DatabaseTracker::getMaxSizeForDatabase): Returns the
+ maximum size for a DB file based on the current size of that file
+ and the space available for that origin.
+ * storage/DatabaseTracker.h:
+ * storage/SQLTransaction.cpp:
+ * storage/SQLTransactionClient.cpp:
+ (WebCore::SQLTransactionClient::didCommitTransaction): Use the
+ correct SecurityOrigin instance.
+
+2009-10-27 Joseph Pecoraro <joepeck@webkit.org>
+
+ Reviewed by Timothy Hatcher.
+
+ Web Inspector: Pretty Print all HTML Collection Types like we do for NodeList
+ https://bugs.webkit.org/show_bug.cgi?id=30709
+
+ Test: inspector/console-format-collections.html
+
+ * inspector/front-end/InjectedScript.js:
+ (Object.type): check for instances of HTMLCollection like we do for NodeList
+ * inspector/front-end/inspector.js: added WebInspector.pendingDispatches counter
+ (WebInspector.dispatch): increment and decrement dispatch counter
+ (WebInspector.runAfterPendingDispatches): run when there are no more dispatches
+
+2009-10-27 Kelly Norton <knorton@google.com>
+
+ Reviewed by Timothy Hatcher.
+
+ Adds XMLHttpRequest support to InspectorTimelineAgent.
+ https://bugs.webkit.org/show_bug.cgi?id=30578
+
+ * inspector/InspectorTimelineAgent.cpp:
+ (WebCore::InspectorTimelineAgent::willChangeXHRReadyState):
+ (WebCore::InspectorTimelineAgent::didChangeXHRReadyState):
+ (WebCore::InspectorTimelineAgent::willLoadXHR):
+ (WebCore::InspectorTimelineAgent::didLoadXHR):
+ * inspector/InspectorTimelineAgent.h:
+ (WebCore::):
+ * inspector/TimelineRecordFactory.cpp:
+ (WebCore::TimelineRecordFactory::createXHRReadyStateChangeTimelineRecord):
+ (WebCore::TimelineRecordFactory::createXHRLoadTimelineRecord):
+ * inspector/TimelineRecordFactory.h:
+ * inspector/front-end/TimelineAgent.js:
+ * xml/XMLHttpRequest.cpp:
+ (WebCore::XMLHttpRequest::callReadyStateChangeListener):
+
+2009-10-27 Enrica Casucci <enrica@apple.com>
+
+ Reviewed by Adele Peterson.
+
+ REGRESSION (Safari 4.0.3-ToT): After pressing Shift-PageDown, pressing Shift-Up
+ extends the top of the selection upwards (but should shrink the selection instead)
+ <rdar://problem/7269075>
+ https://bugs.webkit.org/show_bug.cgi?id=29981
+
+ * editing/SelectionController.cpp:
+ (WebCore::SelectionController::modify): Added setting m_lastChangeWasHorizontalExtension.
+
+2009-10-27 Brian Weinstein <bweinstein@apple.com>
+
+ Rubber-stamped by Tim Hatcher.
+
+ Removed an extra console.log from ElementsTreeOutline.
+
+ * inspector/front-end/ElementsTreeOutline.js:
+
+2009-10-27 Keishi Hattori <casey.hattori@gmail.com>
+
+ Reviewed by Timothy Hatcher.
+
+ Rewrote JavaScriptSourceSyntaxHighlighter to be more accurate
+ https://bugs.webkit.org/show_bug.cgi?id=27147
+
+ Tests: LayoutTests/inspector/javascript-syntax-highlight.html
+
+ * inspector/front-end/ElementsTreeOutline.js:
+ * inspector/front-end/SourceFrame.js:
+ (WebInspector.JavaScriptSourceSyntaxHighlighter.process): Added. Processes 100 tokens at a time.
+ (WebInspector.JavaScriptSourceSyntaxHighlighter.lex): Added. Scans for a token.
+ (WebInspector.JavaScriptSourceSyntaxHighlighter.appendNonToken): Added. Appends the non-token characters that lex ignored.
+ (WebInspector.JavaScriptSourceSyntaxHighlighter.syntaxHighlightNode): Added. To syntax highlight node in ElementsTreeOutline.
+
+2009-10-27 Mads Ager <ager@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ [V8] Missing null check after string conversion in error reporting
+ https://bugs.webkit.org/show_bug.cgi?id=30774
+
+ Add null check after string conversion in error reporting code.
+ ToString conversion can fail for instance when an exception is
+ thrown during conversion.
+
+ Test: fast/dom/error-to-string-stack-overflow.html
+
+ * bindings/v8/V8Utilities.cpp:
+ (WebCore::reportException):
+
+2009-10-27 Steve Block <steveblock@google.com>
+
+ Reviewed by Darin Adler.
+
+ Use a pair of maps to store Geolocation watchers.
+ https://bugs.webkit.org/show_bug.cgi?id=29178
+
+ The pair of maps allows us to look up a watcher either by its ID or by its GeoNotifier object.
+ The ability to look up by a watcher by its GeoNotifier object will be required when implementing
+ Geolocation::fatalErrorOccurred. See https://bugs.webkit.org/show_bug.cgi?id=27944
+
+ * page/Geolocation.cpp: Modified.
+ (WebCore::Geolocation::Watchers::set): Added. Adds a watcher with the given ID.
+ (WebCore::Geolocation::Watchers::remove): Added. Removes a watcher by ID.
+ (WebCore::Geolocation::Watchers::remove): Added. Removes a watcher by GeoNotifier object.
+ (WebCore::Geolocation::Watchers::clear): Added. Removes all watchers.
+ (WebCore::Geolocation::Watchers::isEmpty): Added. Determines if there are no watchers.
+ (WebCore::Geolocation::Watchers::getNotifiersVector): Added. Gets a vector of the GeoNotifier objects.
+ (WebCore::Geolocation::watchPosition): Modified. Rename watcher identifier static variable.
+ (WebCore::Geolocation::stopTimersForWatchers): Modified. Use Watchers::getNotifiersVector.
+ (WebCore::Geolocation::handleError): Modified. Use Watchers::getNotifiersVector.
+ (WebCore::Geolocation::makeSuccessCallbacks): Modified. Use Watchers::getNotifiersVector.
+ * page/Geolocation.h: Modified. Adds Geolocation::Watchers class.
+
+2009-10-27 Jeremy Orlow <jorlow@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ [V8] DOM Storage runtime flag should default to on
+ https://bugs.webkit.org/show_bug.cgi?id=30828
+
+ The DOM Storage runtime flag was supposed to default to on. I accidentally
+ changed the logic to default to false when I moved the flag.
+
+ * bindings/v8/RuntimeEnabledFeatures.cpp:
+
+2009-10-27 Fumitoshi Ukai <ukai@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Fix crash found in chromium test_shell.
+ https://bugs.webkit.org/show_bug.cgi?id=30808
+
+ When WebSocket is deleted without close, webkit would crash
+ when it handles didClose.
+
+ Check scriptExecutionContext before post task for event.
+ Use WebSocketChannel::disconnect() instead of close() in WebSocket
+ destructor, so that WebSocketChannel should not call deleted WebSocket
+ back in didClose().
+ To make sure WebSocketChannel alive while it is processing WebSocket
+ protocol over SocketStreamHandle, ref() in connect() and deref() in
+ didClose().
+
+ * websockets/WebSocket.cpp:
+ (WebCore::WebSocket::~WebSocket):
+ (WebCore::WebSocket::didConnect):
+ (WebCore::WebSocket::didReceiveMessage):
+ (WebCore::WebSocket::didClose):
+ * websockets/WebSocketChannel.cpp:
+ (WebCore::WebSocketChannel::connect):
+ (WebCore::WebSocketChannel::disconnect):
+ (WebCore::WebSocketChannel::didClose):
+ (WebCore::WebSocketChannel::didReceiveData):
+ * websockets/WebSocketChannel.h:
+
+2009-10-27 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Updated Apple license
+
+ * LICENSE-APPLE:
+
+2009-10-27 Brady Eidson <beidson@apple.com>
+
+ Rubberstamped by Sam Weinig.
+
+ Re-enable the check that disallows pages with unload handlers in the page cache.
+
+ <rdar://problem/7196485> and http://webkit.org/b/29021
+
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::canCachePageContainingThisFrame):
+ (WebCore::FrameLoader::logCanCacheFrameDecision):
+
+2009-10-27 Timothy Hatcher <timothy@apple.com>
+
+ Remove more empty files that didn't get removed earlier.
+
+ * inspector/DOMDispatchTimelineItem.cpp: Removed.
+ * inspector/DOMDispatchTimelineItem.h: Removed.
+
+2009-10-27 Andras Becsi <becsi.andras@stud.u-szeged.hu>
+
+ Reviewed by Tor Arne Vestbø.
+
+ [Qt] Fix assertion crashes introduced by changes made in r50110.
+
+ * dom/XMLTokenizerQt.cpp:
+ (WebCore::XMLTokenizer::parseEndElement): only call popCurrentNode() if there are nodes left in the stack.
+
+2009-10-27 Timothy Hatcher <timothy@apple.com>
+
+ Remove empty files that didn't get removed earlier.
+
+ * inspector/TimelineItem.cpp: Removed.
+ * inspector/TimelineItem.h: Removed.
+
+2009-10-27 Joanmarie Diggs <joanmarie.diggs@gmail.com>
+
+ Reviewed by Xan Lopez.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25534
+ [GTK] Objects of ROLE_TABLE should implement the accessible table interface
+
+ First part of the implementation of AtkTable.
+
+ * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
+ (getCell):
+ (getCellIndex):
+ (webkit_accessible_table_ref_at):
+ (webkit_accessible_table_get_index_at):
+ (webkit_accessible_table_get_n_columns):
+ (webkit_accessible_table_get_n_rows):
+ (webkit_accessible_table_get_column_extent_at):
+ (webkit_accessible_table_get_row_extent_at):
+ (webkit_accessible_table_get_row_header):
+ (atk_table_interface_init):
+ (AtkInterfacesInitFunctions):
+ (GetAtkInterfaceTypeFromWAIType):
+
+2009-10-27 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
+
+ Reviewed by Lars Knoll.
+
+ [Qt] Don't lose remainder when computing wheel event deltas
+
+ * platform/qt/WheelEventQt.cpp:
+
+2009-10-27 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Antti Koivisto.
+
+ Fix QtWebKit build for WIN_OS if Netscape plug-in support
+ is turned off and refactor some related code
+ https://bugs.webkit.org/show_bug.cgi?id=30786
+
+ No new tests as there is no new functionality introduced.
+
+ * platform/FileSystem.h: Refactor to make sure that each different
+ type definition is only repeated once.
+
+ * plugins/PluginPackage.cpp:
+ (WebCore::PluginPackage::compareFileVersion): Move it out from the
+ ENABLE_PLUGIN_PACKAGE_SIMPLE_HASH guard and combine it with the
+ function body from PluginPackageWin.
+
+ * plugins/win/PluginPackageWin.cpp: Remove compareFileVersion as
+ it is now in PluginPackage.cpp.
+
+2009-10-26 Xan Lopez <xlopez@igalia.com>
+
+ Reviewed by Gustavo Noronha.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27011
+ [Gtk] Implement support for get_index_in_parent
+
+ Implement atk_object_get_index_in_parent.
+
+ * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
+ (webkit_accessible_get_index_in_parent):
+
+2009-10-27 Eric Seidel <eric@webkit.org>
+
+ No review, rolling out r50131.
+ http://trac.webkit.org/changeset/50131
+
+ * bridge/objc/objc_instance.h:
+ * bridge/objc/objc_instance.mm:
+ (ObjcInstance::ObjcInstance):
+ (ObjcInstance::virtualEnd):
+
+2009-10-26 Daniel Bates <dbates@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=30491
+
+ Fixes an issue where pressing return/enter on the keyboard
+ in <isindex> does not submit it if is not within a <form>.
+
+ According to the HTML 2.0 thru HTML 4.01 spec
+ (http://www.w3.org/MarkUp/html-spec/html-spec_7.html#SEC7.5), the
+ <isindex> element does not need to be within a <form> element in
+ order to submit it. It can submitted on its own. Also, if present,
+ the href property of the <base> element will dictate where to submit
+ the value of the <isindex> element (this is analogous to the action
+ property of the <form> element).
+
+ Tests: http/tests/misc/isindex-with-no-form-base-href.html
+ http/tests/misc/isindex-with-no-form.html
+
+ * html/HTMLInputElement.cpp:
+ (WebCore::HTMLInputElement::defaultEventHandler): Calls createTemporaryFormForIsIndex()
+ to create a <form> if none is present and we are an <isindex> element.
+ (WebCore::HTMLInputElement::createTemporaryFormForIsIndex): Added.
+ * html/HTMLInputElement.h:
+
+2009-10-26 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ Crash occurs after launching Newsfire 1.6 for the first time
+ https://bugs.webkit.org/show_bug.cgi?id=30807
+
+ Use a RetainPtr in ObjcBinding to ensure that we adequately
+ protect the autorelease pool from GC in GC'd applications.
+
+ * bridge/objc/objc_instance.h:
+ * bridge/objc/objc_instance.mm:
+ (ObjcInstance::ObjcInstance):
+ (ObjcInstance::virtualEnd):
+
+2009-10-26 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Unreviewed.
+
+ [Qt] Build fix for QtWebKit after r50125.
+
+ * WebCore.pro: Rename TimelineItem to TimelineRecord.
+
+2009-10-26 Matt Mueller <mattm@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ Refactor synchronizable property handling to store one shouldSynchronize flag per set of properties rather than one per property.
+
+ Fixes reading uninitialized memory in SynchronizableProperty hash function as well as simplifying the code.
+
+ https://bugs.webkit.org/show_bug.cgi?id=30658
+
+ Covered by running various svg tests under valgrind, ex:
+ LayoutTests/svg/custom/js-late-mask-and-object-creation.svg
+
+ * svg/SynchronizablePropertyController.cpp:
+ (WebCore::SynchronizableProperties::addProperty):
+ (WebCore::SynchronizableProperties::synchronize):
+ (WebCore::SynchronizableProperties::startAnimation):
+ (WebCore::SynchronizableProperties::stopAnimation):
+ (WebCore::SynchronizablePropertyController::registerProperty):
+ (WebCore::SynchronizablePropertyController::setPropertyNeedsSynchronization):
+ (WebCore::SynchronizablePropertyController::synchronizeProperty):
+ (WebCore::SynchronizablePropertyController::synchronizeAllProperties):
+ (WebCore::SynchronizablePropertyController::startAnimation):
+ (WebCore::SynchronizablePropertyController::stopAnimation):
+ * svg/SynchronizablePropertyController.h:
+ (WebCore::SynchronizableProperties::SynchronizableProperties):
+ (WebCore::SynchronizableProperties::setNeedsSynchronization):
+
+2009-10-26 Kelly Norton <knorton@google.com>
+
+ Reviewed by Timothy Hatcher.
+
+ Renames TimelineItem to TimelineRecord and updates all call sites.
+ https://bugs.webkit.org/show_bug.cgi?id=30785
+
+ * GNUmakefile.am:
+ * WebCore.gypi:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * inspector/InspectorFrontend.cpp:
+ (WebCore::InspectorFrontend::addRecordToTimeline):
+ * inspector/InspectorFrontend.h:
+ * inspector/InspectorTimelineAgent.cpp:
+ (WebCore::InspectorTimelineAgent::willDispatchDOMEvent):
+ (WebCore::InspectorTimelineAgent::didDispatchDOMEvent):
+ (WebCore::InspectorTimelineAgent::willLayout):
+ (WebCore::InspectorTimelineAgent::didLayout):
+ (WebCore::InspectorTimelineAgent::willRecalculateStyle):
+ (WebCore::InspectorTimelineAgent::didRecalculateStyle):
+ (WebCore::InspectorTimelineAgent::willPaint):
+ (WebCore::InspectorTimelineAgent::didPaint):
+ (WebCore::InspectorTimelineAgent::willWriteHTML):
+ (WebCore::InspectorTimelineAgent::didWriteHTML):
+ (WebCore::InspectorTimelineAgent::didInstallTimer):
+ (WebCore::InspectorTimelineAgent::didRemoveTimer):
+ (WebCore::InspectorTimelineAgent::willFireTimer):
+ (WebCore::InspectorTimelineAgent::didFireTimer):
+ (WebCore::InspectorTimelineAgent::reset):
+ (WebCore::InspectorTimelineAgent::addRecordToTimeline):
+ (WebCore::InspectorTimelineAgent::didCompleteCurrentRecord):
+ (WebCore::InspectorTimelineAgent::pushCurrentRecord):
+ * inspector/InspectorTimelineAgent.h:
+ (WebCore::):
+ (WebCore::InspectorTimelineAgent::RecordEntry::RecordEntry):
+ * inspector/TimelineItemFactory.cpp: Removed.
+ * inspector/TimelineItemFactory.h: Removed.
+ * inspector/TimelineRecordFactory.cpp: Added.
+ (WebCore::TimelineRecordFactory::createGenericRecord):
+ (WebCore::TimelineRecordFactory::createDOMDispatchRecord):
+ (WebCore::TimelineRecordFactory::createGenericTimerRecord):
+ (WebCore::TimelineRecordFactory::createTimerInstallRecord):
+ * inspector/TimelineRecordFactory.h: Added.
+ (WebCore::TimelineRecordFactory::TimelineRecordFactory):
+ * inspector/front-end/TimelineAgent.js:
+ (WebInspector.addRecordToTimeline):
+ * inspector/front-end/TimelinePanel.js:
+ (WebInspector.TimelinePanel.prototype.addRecordToTimeline):
+ (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
+ (WebInspector.TimelinePanel.prototype.getRecordTypeName):
+ (WebInspector.TimelineRecordTreeElement.prototype.onattach):
+
+2009-10-26 Girish Ramakrishnan <girish@forwardbias.in>
+
+ Reviewed by Antti Koivisto.
+
+ [Qt] Windowless Plugins : Print preview shows only part of flash when view is scrolled
+
+ When printing, QPrinter's preview mode uses a QPicture to capture the output. The
+ QPicture holds a reference to the X Pixmap. As a result, the print preview would
+ update itself when the X Pixmap changes. To prevent the print preview from updating
+ whenever m_drawable is updated (i.e when the view updates), we create a copy.
+
+ We require that a QPixmap::copy() result in a QPixmap backed by a XPixmap
+ regardless of the graphicssystem. This is taken care of by
+ commit d310f7c710ecb331a9689861f0551eabd38e946e in Qt (4.6)
+
+ The beauty of this patch is that the newly created X Pixmap is managed by Qt and
+ it will free the Pixmap whenever the user closes the print preview dialog and
+ handles the case of displaying multiple preview dialogs nicely.
+
+ All credit to Samuel Rødal for suggesting usage of QPixmap::copy().
+
+ https://bugs.webkit.org/show_bug.cgi?id=30714
+
+ * plugins/qt/PluginViewQt.cpp:
+ (WebCore::PluginView::paint):
+
+2009-10-26 Benjamin Otte <otte@gnome.org>
+
+ Reviewed by Gustavo Noronha.
+
+ Don't store properties in the MediaPlayerPrivate class
+
+ Access them via the MediaPlayer class instead.
+ https://bugs.webkit.org/show_bug.cgi?id=30462
+
+ * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
+ (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
+ (WebCore::MediaPlayerPrivate::seek):
+ (WebCore::MediaPlayerPrivate::setVolume):
+ (WebCore::MediaPlayerPrivate::setRate):
+ (WebCore::MediaPlayerPrivate::setVisible):
+ (WebCore::MediaPlayerPrivate::paint):
+ (WebCore::MediaPlayerPrivate::createGSTPlayBin):
+ * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
+
+2009-10-26 Brian Weinstein <bweinstein@apple.com>
+
+ Reviewed by Timothy Hatcher.
+
+ Fixes <http://webkit.org/b/30801>.
+ Web Inspector: Control + ]/[ on Windows doesn't change Panels.
+
+ In my testing, Windows uses "U+00DB" and "U+00DD" to represent
+ [ and ], so we should honor those as well.
+
+ * inspector/front-end/inspector.js:
+ (WebInspector.documentKeyDown):
+
+2009-10-26 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Darin Adler.
+
+ Make .rc files compile on Windows without depending on MFC headers
+ https://bugs.webkit.org/show_bug.cgi?id=30750
+
+ * WebCore.vcproj/QTMovieWin.rc: Use winresrc.h because it exists
+ even when MFC is not installed, and is all that's needed here.
+
+2009-10-26 Brent Fulgham <bfulgham@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ Build corrections for ENABLE_FILTERS in Windows.
+ https://bugs.webkit.org/show_bug.cgi?id=30797
+
+ Build correction for ENABLE_FILTERS feature. No new tests needed.
+
+ * platform/graphics/filters/FEColorMatrix.cpp: Use MathExtras.h and
+ its piDouble constant.
+ * platform/graphics/filters/FEGaussianBlur.cpp: Use MathExtras.h and
+ its piDouble constant. Remove unnecessary call to floor used in
+ the division of an unsigned, converting to int.
+ * platform/graphics/win/SimpleFontDataCairoWin.cpp: Correct include
+ style for MathExtras.h.
+
+2009-10-26 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Darin Adler.
+
+ <rdar://problem/7289467> and http://webkit.org/b/30798 - REGRESSION (r48687): www.myuhc.com doesn't load.
+
+ Test: fast/loader/grandparent-completion-starts-redirect.html
+
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::completed): Notify all descendants that the load completed, not just direct children.
+
+2009-10-26 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Beth Dakin.
+
+ Re-add CSSPropertyWebkitBackgroundSize in one more place
+
+ Fixes transitions/multiple-background-size-transitions.html, transitions/background-transitions.html
+
+ * page/animation/AnimationBase.cpp:
+ (WebCore::FillLayersPropertyWrapper::FillLayersPropertyWrapper):
+
+2009-10-26 Jeremy Orlow <jorlow@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ [V8] Tidy up the DOM Storage runtime flag stuff
+ https://bugs.webkit.org/show_bug.cgi?id=30794
+
+ Clean up the DOM Storage runtime flag stuff to match the new way of doing
+ things. No behavioral changes.
+
+ * bindings/v8/RuntimeEnabledFeatures.cpp:
+ * bindings/v8/RuntimeEnabledFeatures.h:
+ (WebCore::RuntimeEnabledFeatures::setDatabaseEnabled):
+ (WebCore::RuntimeEnabledFeatures::databaseEnabled):
+ (WebCore::RuntimeEnabledFeatures::setLocalStorageEnabled):
+ (WebCore::RuntimeEnabledFeatures::localStorageEnabled):
+ (WebCore::RuntimeEnabledFeatures::setSessionStorageEnabled):
+ (WebCore::RuntimeEnabledFeatures::sessionStorageEnabled):
+ * bindings/v8/custom/V8DOMWindowCustom.cpp:
+ (WebCore::ACCESSOR_RUNTIME_ENABLER):
+ * storage/Storage.cpp:
+ * storage/Storage.h:
+
+2009-10-26 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Darin Adler.
+
+ <rdar://problem/7308952> and http://webkit.org/b/30424 - REGRESSION (r48687): Pages on ucas.com appear blank.
+
+ Test: fast/loader/history-forward-in-head.html
+
+ * loader/RedirectScheduler.cpp:
+ (WebCore::RedirectScheduler::scheduleHistoryNavigation): Restore the moved canGoBackOrForward() check.
+ This restores the side effect of an invalid history navigation canceling previous scheduled redirects
+ and also fixes the bug of scheduling an invalid history navigation canceling parsing of the current document.
+ (WebCore::RedirectScheduler::timerFired): Removed the canGoBackOrForward() check as it is now made before
+ the redirect is scheduled.
+
+2009-10-26 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=30049
+ <rdar://problem/7286002> Manipulating DOM from a script while parsing XHTML can cause a crash
+
+ Tests: fast/parser/remove-current-node-parent-x-2.xhtml
+ fast/parser/remove-current-node-parent-x.xhtml
+
+ * dom/XMLTokenizer.h: Store the whole stack of parent nodes - element.parentNode() is
+ unreliable after DOM manipulation.
+
+ * dom/XMLTokenizer.cpp:
+ (WebCore::XMLTokenizer::pushCurrentNode): Push the new node onto stack.
+ (WebCore::XMLTokenizer::popCurrentNode): This is now called instead of setCurrentNode when
+ exiting a node.
+ (WebCore::XMLTokenizer::clearCurrentNodeStack): We're aborting; or just done parsing. This
+ replaces setCurrentNode(0).
+ (WebCore::XMLTokenizer::enterText): Call pushCurrentNode().
+ (WebCore::XMLTokenizer::exitText): Call popCurrentNode(), removing a long-standing FIXME
+ (not sure if it was ever practical though - how can a parent become null while adding text?)
+
+ * dom/XMLTokenizerLibxml2.cpp:
+ (WebCore::XMLTokenizer::~XMLTokenizer): Call clearCurrentNodeStack().
+ (WebCore::XMLTokenizer::startElementNs): Call pushCurrentNode().
+ (WebCore::XMLTokenizer::endElementNs): Call popCurrentNode() to safely get to a parent. Also
+ added a check fo script element still being in document - Firefox parses those that aren't,
+ but doesn't execute them.
+
+ * dom/XMLTokenizerQt.cpp:
+ (WebCore::XMLTokenizer::~XMLTokenizer):
+ (WebCore::XMLTokenizer::parseStartElement):
+ (WebCore::XMLTokenizer::parseEndElement):
+ Match libxml2 version changes.
+
+2009-10-26 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Beth Dakin.
+
+ background-size: X treated as background-size: X X, not background-size: X auto
+ https://bugs.webkit.org/show_bug.cgi?id=28440
+
+ Updated fast/backgrounds/size/resources/parsing-background-size-values.js
+ and fast/backgrounds/size/resources/parsing-inherit.js
+
+ Reinstated -webkit-background-size and kept its behavior of filling in
+ the second value with the first one; and changed background-size to have
+ the behavior of filling in the second value with 'auto'.
+
+ * css/CSSComputedStyleDeclaration.cpp:
+ (computedProperties): Re-added CSSPropertyWebkitBackgroundSize.
+ (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Ditto.
+ * css/CSSParser.cpp:
+ (WebCore::CSSParser::parseValue): Ditto.
+ (WebCore::CSSParser::parseFillSize): Adapted for the new parsing rule.
+ (WebCore::CSSParser::parseFillProperty): Re-added
+ CSSPropertyWebkitBackgroundSize.
+ (WebCore::cssPropertyID): Removed mapping of -webkit-background-size to
+ background-size.
+ * css/CSSParser.h:
+ * css/CSSPropertyNames.in: Re-added -webkit-background-size.
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::applyProperty): Re-added
+ CSSPropertyWebkitBackgroundSize.
+
+2009-10-26 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Eric Seidel.
+
+ [Qt] Use "%lli" to format "long long" on WIN_OS to fix HTML5 WebDB crash
+ https://bugs.webkit.org/show_bug.cgi?id=30777
+
+ No new tests as the crash can be reproduced by existing storage
+ LayoutTests (by hitting an assert in debug mode Webkit on WIN_OS).
+
+ * platform/text/String.cpp:
+ (WebCore::String::number): Qt's QString::vsprintf does not
+ understand the "%I64u" format string. Always use the "%lli"
+ format string for Qt port.
+
+2009-10-26 Tony Chang <tony@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ Roll back r50073 because r50041-50043 were reverted. r50073 was
+ a chromium side fix for r50041.
+ https://bugs.webkit.org/show_bug.cgi?id=30789
+
+ * bindings/v8/V8Collection.h:
+ * bindings/v8/custom/V8CustomBinding.h:
+ * bindings/v8/custom/V8HTMLAllCollectionCustom.cpp:
+ (WebCore::getNamedItems):
+ (WebCore::getItem):
+ (WebCore::NAMED_PROPERTY_GETTER):
+ (WebCore::CALLBACK_FUNC_DECL):
+ * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
+ (WebCore::getNamedItems):
+ (WebCore::getItem):
+ (WebCore::NAMED_PROPERTY_GETTER):
+ (WebCore::CALLBACK_FUNC_DECL):
+ * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
+
+2009-10-26 Geoffrey Garen <ggaren@apple.com>
+
+ Reviewed by Dimitri Glazkov.
+
+ Fixed https://bugs.webkit.org/show_bug.cgi?id=30765
+ REGRESSION (r48701): Removing an event listener causes the one added just after it not to fire
+
+ and related bugs.
+
+ If the event listener being removed is prior to the current firing event
+ iterator, we need to decrement the current firing event iterator in
+ addition to the endpoint. (Otherwise, shrinking the event listener vector
+ by one implicity moves the current firing event iterator forward by one.
+ It's like relativity, only without the planets.)
+
+ Also took the opportunity to change some pointers to references, since
+ they can't be null.
+
+ * dom/EventTarget.cpp:
+ (WebCore::EventTarget::removeEventListener):
+ (WebCore::EventTarget::removeAllEventListeners): Update iterator in addition
+ to end, if need be.
+ (WebCore::EventTarget::fireEventListeners): Updated for interface changes.
+ Added a comment to explain a behavior that was implicit enough to be
+ confusing.
+
+ * dom/EventTarget.h:
+ (WebCore::FiringEventIterator::FiringEventIterator):
+ (WebCore::EventTarget::isFiringEventListeners): Updated for interface changes.
+
+2009-10-26 Brian Weinstein <bweinstein@apple.com>
+
+ Reviewed by Timothy Hatcher.
+
+ Fixes <http://webkit.org/b/30792>.
+ Web Inspector: When changing resource scope, resource graph can get in weird state.
+
+ If the user was scrolled down while looking at All resources, and then just
+ selects Fonts, or something that doesn't have many resources, then the graph
+ will stay scrolled down, even when there is no content there.
+
+ When the filter is updated, scroll to the top of the graph view, so this won't
+ happen.
+
+ * inspector/front-end/AbstractTimelinePanel.js:
+ (WebInspector.AbstractTimelinePanel.prototype._updateFilter):
+
+2009-10-26 Sam Weinig <sam@webkit.org>
+
+ Fix mac clean build.
+
+ * html/HTMLOptionsCollection.idl:
+
+2009-10-26 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ Web Inspector: Extract AbstractTimelinePanel that will be a base
+ class for ResourcesPanel and TimelinePanel.
+
+ https://bugs.webkit.org/show_bug.cgi?id=30776
+
+ * WebCore.gypi:
+ * WebCore.vcproj/WebCore.vcproj:
+ * inspector/front-end/AbstractTimelinePanel.js: Added.
+ (WebInspector.AbstractTimelinePanel):
+ (WebInspector.AbstractTimelinePanel.prototype.get categories):
+ (WebInspector.AbstractTimelinePanel.prototype.showCategory):
+ (WebInspector.AbstractTimelinePanel.prototype.hideCategory):
+ (WebInspector.AbstractTimelinePanel.prototype.createTimelinePanels):
+ (WebInspector.AbstractTimelinePanel.prototype._createFilterPanel.createFilterElement):
+ (WebInspector.AbstractTimelinePanel.prototype._createFilterPanel):
+ (WebInspector.AbstractTimelinePanel.prototype.filter):
+ (WebInspector.AbstractTimelinePanel.prototype._updateFilter):
+ (WebInspector.AbstractTimelinePanel.prototype._createGraph):
+ (WebInspector.AbstractTimelinePanel.prototype.updateGraphDividersIfNeeded):
+ (WebInspector.AbstractTimelinePanel.prototype._updateSummaryGraph):
+ (WebInspector.AbstractTimelinePanel.prototype._updateDividersLabelBarPosition):
+ (WebInspector.AbstractTimelinePanel.prototype.get needsRefresh):
+ (WebInspector.AbstractTimelinePanel.prototype.set needsRefresh):
+ (WebInspector.AbstractTimelinePanel.prototype.refreshIfNeeded):
+ (WebInspector.AbstractTimelinePanel.prototype.show):
+ (WebInspector.AbstractTimelinePanel.prototype.resize):
+ (WebInspector.AbstractTimelinePanel.prototype.updateMainViewWidth):
+ (WebInspector.TimelineCalculator):
+ (WebInspector.TimelineCalculator.prototype.computeSummaryValues):
+ (WebInspector.TimelineCalculator.prototype.computeBarGraphPercentages):
+ (WebInspector.TimelineCalculator.prototype.computeBarGraphLabels):
+ (WebInspector.TimelineCalculator.prototype.get boundarySpan):
+ (WebInspector.TimelineCalculator.prototype.updateBoundaries):
+ (WebInspector.TimelineCalculator.prototype.reset):
+ (WebInspector.TimelineCalculator.prototype._value):
+ (WebInspector.TimelineCalculator.prototype.formatValue):
+ * inspector/front-end/ResourceCategory.js:
+ (WebInspector.ResourceCategory):
+ * inspector/front-end/ResourcesPanel.js:
+ (WebInspector.ResourcesPanel):
+ (WebInspector.ResourcesPanel.prototype.toolbarItemClass.get toolbarItemLabel):
+ (WebInspector.ResourcesPanel.prototype.get statusBarItems):
+ (WebInspector.ResourcesPanel.prototype.get categories):
+ (WebInspector.ResourcesPanel.prototype.showCategory):
+ (WebInspector.ResourcesPanel.prototype.hideCategory):
+ (WebInspector.ResourcesPanel.prototype.isCategoryVisible):
+ (WebInspector.ResourcesPanel.prototype.populateSidebar):
+ (WebInspector.ResourcesPanel.prototype.createPanelEnabler):
+ (WebInspector.ResourcesPanel.prototype.createStatusbarButtons):
+ (WebInspector.ResourcesPanel.prototype.set mainResourceLoadTime):
+ (WebInspector.ResourcesPanel.prototype.set mainResourceDOMContentTime):
+ (WebInspector.ResourcesPanel.prototype.show):
+ (WebInspector.ResourcesPanel.prototype.resize):
+ (WebInspector.ResourcesPanel.prototype.reset):
+ (WebInspector.ResourcesPanel.prototype.updateGraphDividersIfNeeded):
+ (WebInspector.ResourcesPanel.prototype.updateMainViewWidth):
+ (WebInspector.ResourceTimeCalculator):
+ (WebInspector.ResourceTransferSizeCalculator):
+ (WebInspector.ResourceTransferSizeCalculator.prototype.computeBarGraphLabels):
+ * inspector/front-end/SummaryBar.js:
+ (WebInspector.SummaryBar.prototype.update):
+ * inspector/front-end/WebKit.qrc:
+ * inspector/front-end/inspector.html:
+ * inspector/front-end/inspector.js:
+ (WebInspector.loaded):
+
+2009-10-26 Avi Drissman <avi@google.com>
+
+ Reviewed by Darin Adler.
+
+ Use Helvetica in the Inspector as intended.
+ https://bugs.webkit.org/show_bug.cgi?id=30787
+
+ * inspector/front-end/inspector.css:
+
+2009-10-26 Nate Chapin <japhet@chromium.org>
+
+ Reviewed by Alexey Proskuryakov.
+
+ Don't set window.opener to 0 for the current FrameLoader if a noreferrer link was clicked, only suppress opener in a new frame.
+ https://bugs.webkit.org/show_bug.cgi?id=30781
+
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::urlSelected): Don't suppress opener in the current frame for noreferrer navigations.
+
+2009-10-26 Ryosuke Niwa <rniwa@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Data loss occurs when unbolding nested bold tags.
+ https://bugs.webkit.org/show_bug.cgi?id=30083
+
+ Fixes the loop in swapInNodePreservingAttributesAndChildren by saving nextSibling() of child
+ to a temporary valuable. It was originally calling nextSibling() after appending the child
+ to new parent, in which case, nextSibling is always 0.
+
+ Test: editing/style/unbolding-nested-b.html
+
+ * editing/ReplaceNodeWithSpanCommand.cpp:
+ (WebCore::swapInNodePreservingAttributesAndChildren):
+
+2009-10-21 Jeremy Orlow <jorlow@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ Storage events should use Document::url() rather than documentURI()
+ https://bugs.webkit.org/show_bug.cgi?id=30535
+
+ Storage events should use Document::url() rather than Document::documentURI()
+ per http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2009-October/023703.html
+
+ Test: storage/domstorage/documentURI.html
+
+ * storage/StorageEventDispatcher.cpp:
+ (WebCore::StorageEventDispatcher::dispatch):
+
+2009-10-26 Sam Weinig <sam@webkit.org>
+
+ Rubber-stamped by Darin Adler.
+
+ Rollout r50041-50043. The HTML5 spec changed to make HTMLOptionsCollection
+ inherit from HTMLCollection.
+
+ * GNUmakefile.am:
+ * WebCore.gypi:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * bindings/js/JSHTMLAllCollectionCustom.cpp:
+ (WebCore::getNamedItems):
+ (WebCore::callHTMLAllCollection):
+ (WebCore::JSHTMLAllCollection::nameGetter):
+ (WebCore::JSHTMLAllCollection::item):
+ (WebCore::JSHTMLAllCollection::namedItem):
+ * bindings/js/JSHTMLCollectionCustom.cpp:
+ (WebCore::getNamedItems):
+ (WebCore::callHTMLCollection):
+ (WebCore::JSHTMLCollection::nameGetter):
+ (WebCore::JSHTMLCollection::item):
+ (WebCore::JSHTMLCollection::namedItem):
+ (WebCore::toJS):
+ * bindings/js/JSHTMLCollectionFunctions.h: Removed.
+ * bindings/js/JSHTMLDocumentCustom.cpp:
+ * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
+ (WebCore::JSHTMLOptionsCollection::length):
+ (WebCore::JSHTMLOptionsCollection::indexSetter):
+ * bindings/objc/DOMHTML.mm:
+ (kitClass):
+ * bindings/objc/DOMUtility.mm:
+ (JSC::createDOMWrapper):
+ * bindings/scripts/CodeGeneratorJS.pm:
+ * html/HTMLCollection.idl:
+ * html/HTMLOptionsCollection.idl:
+
+2009-10-26 Brent Fulgham <bfulgham@webkit.org>
+
+ Reviewed by Adam Roben.
+
+ Build fix for ENABLE_FILTERS under Windows.
+ https://bugs.webkit.org/show_bug.cgi?id=30762
+
+ Build correction for ENABLE_FILTERS feature. No new tests needed.
+
+ * WebCore.vcproj/WebCore.vcproj: Make the following changes:
+ (1) Create a new 'filters' sub-folder of the platform/graphics
+ folder to properly show the sources held in this directory.
+ (2) Move the files that are currently shown in svn/graphics/filters
+ to platform/graphics/filters (where they actually live on disk).
+ (3) Add the missing SVGFilter, SVGFilterBuilder, and SVGFETile to
+ the project so they are built.
+ (4) Remove SVGFEFloodElement.cpp from the build, since it is already
+ being compiled by SVGAllInOne.cpp. Its presence as a separate
+ entity is causing a linker warning for duplicate symbols.
+ (5) Add ImageBuffer.cpp to the build to support color space
+ calculations for non-CG builds.
+ * WebCore.vcproj/WebCoreCommon.vsprops: Add the platform/graphics/filters
+ path to the search paths in the project.
+
+2009-10-26 Keishi Hattori <casey.hattori@gmail.com>
+
+ Reviewed by Timothy Hatcher.
+
+ console.assert should prefix messages with "Assertion failed: "
+ https://bugs.webkit.org/show_bug.cgi?id=19135
+
+ * English.lproj/localizedStrings.js:
+ * inspector/front-end/ConsoleView.js:
+ (WebInspector.ConsoleMessage.prototype.toMessageElement): Append "Assertion failed: " for AssertMessageType.
+ (WebInspector.ConsoleMessage.prototype.toString):
+ * page/Console.cpp:
+ (WebCore::Console::assertCondition): Use AssertMessageType.
+ * page/Console.h:
+ (WebCore::MessageType): Added AssertMessageType.
+
+2009-10-26 Rahul Kuchhal <kuchhal@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ Prevent crash when optgroup element is empty by adding a NULL check.
+
+ https://bugs.webkit.org/show_bug.cgi?id=30365
+
+ Test: fast/forms/select-empty-optgroup.html
+
+ * dom/SelectElement.cpp:
+ (WebCore::SelectElement::appendFormData):
+
+2009-10-21 Steven Knight <sgk@chromium.org>
+
+ Reviewed by David Levin.
+
+ Refactor gyp for separate webcore_bindings{,_sources} targets.
+
+ https://bugs.webkit.org/show_bug.cgi?id=30447
+
+ Handle long link lines by building .idl-generated bindings in a
+ separate webcore_bindings library target. Avoid Visual Studio
+ dependency issues by building additional generated .cpp and .h files
+ in a separate webcore_bindings_sources target.
+
+ Chrome should still build and test successfully.
+
+ * WebCore.gyp/WebCore.gyp:
+ * WebCore.gypi:
+
+2009-10-26 Mike Belshe <mike@belshe.com>
+
+ Reviewed by Darin Fisher.
+
+ Make the number of connections for chromium controlled by
+ chromium rather than by ResourceRequestBase.
+ https://bugs.webkit.org/show_bug.cgi?id=30661
+
+ * platform/network/ResourceRequestBase.cpp:
+ * platform/network/chromium/ResourceRequest.cpp:
+
+2009-10-26 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
+
+ Unreviewed. make distcheck build fixes.
+
+ * GNUmakefile.am:
+
+2009-10-26 Anton Muhin <antonm@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Unbreak Chromium build: that requires adding custom implementations
+ for HTMLOptionsCollection's item and namedItem. Keep v8 binding
+ close to JSC bindings as well.
+ https://bugs.webkit.org/show_bug.cgi?id=30780
+
+ * bindings/v8/V8Collection.h:
+ (WebCore::getNamedItemsFromCollection):
+ (WebCore::getItemFromCollection):
+ * bindings/v8/custom/V8CustomBinding.h:
+ * bindings/v8/custom/V8HTMLAllCollectionCustom.cpp:
+ (WebCore::NAMED_PROPERTY_GETTER):
+ (WebCore::CALLBACK_FUNC_DECL):
+ * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
+ (WebCore::NAMED_PROPERTY_GETTER):
+ (WebCore::CALLBACK_FUNC_DECL):
+ * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
+ (WebCore::CALLBACK_FUNC_DECL):
+
+2009-10-23 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Adam Barth and Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=30723
+ <rdar://problem/6189415> Input names added to multipart/form-data headers need to be escaped.
+
+ Test: http/tests/security/escape-form-data-field-names.html
+
+ * platform/network/FormDataBuilder.cpp:
+ (WebCore::appendQuotedString):
+ (WebCore::FormDataBuilder::beginMultiPartHeader):
+ (WebCore::FormDataBuilder::addFilenameToMultiPartHeader):
+ Percent-escape line breaks and quotation marks.
+
+2009-10-26 Kelly Norton <knorton@google.com>
+
+ Reviewed by Pavel Feldman.
+
+ Adds DOMTimer support to InspectorTimelineAgent.
+ https://bugs.webkit.org/show_bug.cgi?id=30467
+
+ * inspector/InspectorTimelineAgent.cpp: Added timer support and fixed some method names.
+ (WebCore::InspectorTimelineAgent::didDispatchDOMEvent):
+ (WebCore::InspectorTimelineAgent::didLayout):
+ (WebCore::InspectorTimelineAgent::didRecalculateStyle):
+ (WebCore::InspectorTimelineAgent::didPaint):
+ (WebCore::InspectorTimelineAgent::didWriteHTML):
+ (WebCore::InspectorTimelineAgent::didInstallTimer): Added.
+ (WebCore::InspectorTimelineAgent::didRemoveTimer): Added.
+ (WebCore::InspectorTimelineAgent::willFireTimer): Added.
+ (WebCore::InspectorTimelineAgent::didFireTimer): Added.
+ (WebCore::InspectorTimelineAgent::addItemToTimeline): Added.
+ (WebCore::InspectorTimelineAgent::didCompleteCurrentTimelineItem): Renamed.
+ * inspector/InspectorTimelineAgent.h:
+ (WebCore::):
+ * inspector/TimelineItemFactory.cpp: Add methods for timer-related ScriptObjects.
+ (WebCore::TimelineItemFactory::createGenericTimerTimelineItem):
+ (WebCore::TimelineItemFactory::createTimerInstallTimelineItem):
+ * inspector/TimelineItemFactory.h:
+ * page/DOMTimer.cpp: Added instrumentation points.
+ (WebCore::DOMTimer::install):
+ (WebCore::DOMTimer::removeById):
+ (WebCore::DOMTimer::fired):
+
+2009-10-26 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ <rdar://problem/6988966> Hardware layers do not show up in page snapshots
+
+ Add a method that gets called when snapshotting Canvas3DLayers for page snapshots,
+ that allows the layer to return a CGImageRef of its contents.
+
+ * platform/graphics/mac/Canvas3DLayer.h:
+ * platform/graphics/mac/Canvas3DLayer.mm:
+ (-[Canvas3DLayer copyImageSnapshotWithColorSpace:]):
+
+2009-10-26 Yury Semikhatsky <yurys@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Pass "console" as object group when evaluating selection.
+
+ https://bugs.webkit.org/show_bug.cgi?id=30738
+
+ * inspector/front-end/SourceFrame.js:
+ (WebInspector.SourceFrame.prototype._evalSelectionInCallFrame):
+
+2009-10-26 Keishi Hattori <casey.hattori@gmail.com>
+
+ Reviewed by Pavel Feldman.
+
+ Fix for Console not showing repeat count when repeatedly logging an Event
+ https://bugs.webkit.org/show_bug.cgi?id=30324
+
+ * inspector/ConsoleMessage.cpp:
+ (WebCore::ConsoleMessage::addToConsole):
+ (WebCore::ConsoleMessage::updateRepeatCountInConsole): Added.
+ * inspector/ConsoleMessage.h:
+ * inspector/InspectorController.cpp:
+ (WebCore::InspectorController::addConsoleMessage): Calls updateRepeatCountInConsole if it is a repeating message.
+ * inspector/InspectorFrontend.cpp:
+ (WebCore::InspectorFrontend::addConsoleMessage): Renamed WebCore::InspectorFrontend::addMessageToConsole
+ (WebCore::InspectorFrontend::updateConsoleMessageRepeatCount): Added. Called when repeatCount is incremented.
+ * inspector/InspectorFrontend.h:
+ * inspector/front-end/ConsoleView.js:
+ (WebInspector.ConsoleView.prototype.addMessage): Removed calls to msg.isEqual.
+ (WebInspector.ConsoleView.prototype.updateMessageRepeatCount): Added.
+ (WebInspector.ConsoleView.prototype._incrementErrorWarningCount): Added. Updates the error/warning count.
+ (WebInspector.ConsoleView.prototype.clearMessages):
+ (WebInspector.ConsoleMessage):
+ (WebInspector.ConsoleMessage.prototype.toMessageElement): Use ConsoleMessage._updateRepeatCount
+ (WebInspector.ConsoleMessage.prototype._updateRepeatCount):
+ * inspector/front-end/inspector.js:
+ (WebInspector.addConsoleMessage): Renamed WebInspector.addMessageToConsole.
+ (WebInspector.updateConsoleMessageRepeatCount): Added.
+
+2009-10-26 Chris Fleizach <cfleizach@apple.com>
+
+ Reviewed by Darin Adler.
+
+ crash with AX on when an image map contains an anchor tag
+ https://bugs.webkit.org/show_bug.cgi?id=30739
+
+ Tests: accessibility/crashing-a-tag-in-map.html
+
+ * accessibility/AccessibilityRenderObject.cpp:
+ (WebCore::AccessibilityRenderObject::addChildren):
+
+2009-10-26 Steve Block <steveblock@google.com>
+
+ Reviewed by Eric Seidel.
+
+ Adds feature ENABLE guards to V8 bindings.
+ https://bugs.webkit.org/show_bug.cgi?id=30697
+
+ This adds guards for the following features to the V8 bindings,
+ to allow builds with V8 to succeed when these features are not enabled.
+ - DATABASE
+ - WORKERS
+ - SHARED_WORKERS
+ - SVG
+ - XPATH
+ - XSLT
+ - INSPECTOR
+
+ This is a build fix only, no new tests required.
+
+ * bindings/v8/DOMObjectsInclude.h: Modified.
+ * bindings/v8/DerivedSourcesAllInOne.cpp: Modified.
+ * bindings/v8/V8Index.cpp: Modified.
+ * bindings/v8/V8Index.h: Modified.
+
+2009-10-26 Joanmarie Diggs <joanmarie.diggs@gmail.com>
+
+ Reviewed by Xan Lopez.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25679
+ [Gtk] Improve accessibility of focusable lists
+
+ Fixes the issues with the Atk states exposed for ListBoxOption
+
+ * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
+ (setAtkStateSetFromCoreObject):
+
+2009-10-26 Joanmarie Diggs <joanmarie.diggs@gmail.com>
+
+ Reviewed by Xan Lopez.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27085
+ [Gtk] Incorrect rendering of list
+
+ Adds a way for platforms to indicate that a particular object
+ should not be ignored.
+
+ * accessibility/AccessibilityObject.h:
+ * accessibility/chromium/AccessibilityObjectChromium.cpp:
+ * accessibility/gtk/AccessibilityObjectAtk.cpp:
+ * accessibility/mac/AccessibilityObjectMac.mm:
+ * accessibility/qt/AccessibilityObjectQt.cpp:
+ * accessibility/win/AccessibilityObjectWin.cpp:
+ * accessibility/wx/AccessibilityObjectWx.cpp:
+ (AccessibilityObject::accessibilityPlatformIncludesObject):
+ * accessibility/AccessibilityRenderObject.cpp:
+ (AccessibilityRenderObject::accessibilityIsIgnored):
+
+2009-10-26 Kinuko Yasuda <kinuko@google.com>
+
+ Reviewed by Jan Alonzo.
+
+ Bug 30619: [Linux] Menu key doesn't work
+ https://bugs.webkit.org/show_bug.cgi?id=30619
+
+ Test: manual-tests/keyboard-menukey-event.html
+ No new layout tests: testing this will require changes in the test
+ controller in a platform-specific way.
+
+ * platform/chromium/KeyCodeConversionGtk.cpp:
+ (WebCore::windowsKeyCodeForKeyEvent): changed switch-case code for
+ GDK_Menu to return VKEY_APPS instead of VKEY_MENU.
+ * platform/gtk/KeyEventGtk.cpp:
+ (WebCore::windowsKeyCodeForKeyEvent): changed switch-case code for
+ GDK_Menu to return V_APPS instead of VK_MENU.
+
+2009-10-25 Anton Muhin <antonm@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Reuse already fetched proxy.
+ https://bugs.webkit.org/show_bug.cgi?id=30747
+
+ * bindings/v8/V8DOMWrapper.cpp:
+ (WebCore::V8DOMWrapper::convertNewNodeToV8Object):
+
+2009-10-25 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Unreviewed build fix.
+
+ Build fix for WIN_OS if Netscape plugin support is turned off
+ https://bugs.webkit.org/show_bug.cgi?id=30753
+
+ * plugins/PluginDatabase.cpp:
+
+2009-10-25 Hironori Bono <hbono@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ A quick fix for Bug 29103.
+ Since String::startsWith() cannot fold non-ASCII characters, this change folds the prefix string
+ and the option string before calling String::startsWith().
+ https://bugs.webkit.org/show_bug.cgi?id=29103
+
+ Tests: fast/forms/listbox-typeahead-cyrillic.html
+ fast/forms/listbox-typeahead-greek.html
+
+ * dom/SelectElement.cpp:
+ (WebCore::SelectElement::typeAheadFind):
+
+2009-10-25 Keishi Hattori <casey.hattori@gmail.com>
+
+ Reviewed by Timothy Hatcher.
+
+ Web Inspector: Expanding a node in the Console should not show the element in Elements panel
+ https://bugs.webkit.org/show_bug.cgi?id=30749
+
+ * inspector/front-end/ElementsTreeOutline.js:
+ (WebInspector.ElementsTreeElement.prototype.onmousedown): Check if inside disclosure triangle.
+
+2009-10-25 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Dan Bernstein.
+
+ Fix for https://bugs.webkit.org/show_bug.cgi?id=30751
+ HTMLOptionsCollection should not inherit from HTMLCollection
+
+ * GNUmakefile.am:
+ * WebCore.gypi:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ Added JSHTMLCollectionFunctions.h
+
+ * bindings/js/JSHTMLAllCollectionCustom.cpp:
+ (WebCore::callHTMLAllCollection):
+ (WebCore::JSHTMLAllCollection::nameGetter):
+ (WebCore::JSHTMLAllCollection::item):
+ (WebCore::JSHTMLAllCollection::namedItem):
+ * bindings/js/JSHTMLCollectionCustom.cpp:
+ (WebCore::callHTMLCollection):
+ (WebCore::JSHTMLCollection::nameGetter):
+ (WebCore::JSHTMLCollection::item):
+ (WebCore::JSHTMLCollection::namedItem):
+ * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
+ (WebCore::callHTMLCollection):
+ (WebCore::JSHTMLOptionsCollection::getCallData):
+ (WebCore::JSHTMLOptionsCollection::canGetItemsForName):
+ (WebCore::JSHTMLOptionsCollection::nameGetter):
+ (WebCore::JSHTMLOptionsCollection::indexSetter):
+ (WebCore::JSHTMLOptionsCollection::item):
+ (WebCore::JSHTMLOptionsCollection::namedItem):
+ Refactor to use generic implementation of HTMLCollection bindings functions
+ from JSHTMLCollectionFunctions.h
+
+ * bindings/js/JSHTMLCollectionFunctions.h: Added.
+ (WebCore::getCollectionNamedItems):
+ (WebCore::getCollectionItems):
+ (WebCore::callHTMLCollectionGeneric):
+ Added generic functions that JSHTMLCollection, JSHTMLAllCollection and
+ JSHTMLOptionsCollection can all use.
+
+ * bindings/js/JSHTMLDocumentCustom.cpp: Add include of JSHTMLAllCollection.h
+ for toJS on document.all.
+
+ * bindings/objc/DOMHTML.mm:
+ * bindings/objc/DOMUtility.mm:
+ (JSC::createDOMWrapper):
+ Remove special cases for HTMLOptionsCollection.
+
+ * bindings/scripts/CodeGeneratorJS.pm:
+ * html/HTMLAllCollection.idl:
+ * html/HTMLCollection.idl:
+ * html/HTMLOptionsCollection.idl:
+
+2009-10-24 Keishi Hattori <casey.hattori@gmail.com>
+
+ Reviewed by Timothy Hatcher.
+
+ WebInspector: Fixed issue with IME inside console
+ https://bugs.webkit.org/show_bug.cgi?id=30660
+
+ * inspector/front-end/ConsoleView.js:
+ (WebInspector.ConsoleView.prototype._promptKeyDown):
+ * inspector/front-end/DatabaseQueryView.js:
+ (WebInspector.DatabaseQueryView.prototype._promptKeyDown):
+ * inspector/front-end/inspector.js:
+ (WebInspector.loaded):
+ (WebInspector.searchKeyDown): Moved performSearch here from WebInspector.searchKeyUp.
+ (WebInspector.startEditing.element.handleKeyEvent):
+ (WebInspector.startEditing):
+ * inspector/front-end/utilities.js:
+ (isEnterKey): Added. Check if in IME.
+
+2009-10-24 Brian Weinstein <bweinstein@apple.com>
+
+ Reviewed by Timothy Hatcher.
+
+ Fixes <https://bugs.webkit.org/show_bug.cgi?id=30752>.
+ Web Inspector: Multiple Selection on Scope Bars by default Conflicts with other behavior on OSX.
+
+ Have the scope bars select one scope by default, but if the multiple selection key
+ is pressed, allow for multiple selection.
+
+ * inspector/front-end/ConsoleView.js:
+ (WebInspector.ConsoleView):
+ (WebInspector.ConsoleView.prototype._updateFilter):
+ (WebInspector.ConsoleView.prototype.filter):
+ * inspector/front-end/ResourcesPanel.js:
+ (WebInspector.ResourcesPanel):
+ (WebInspector.ResourcesPanel.prototype.filter):
+ (WebInspector.ResourcesPanel.prototype._updateFilter):
+
+2009-10-24 Timothy Hatcher <timothy@apple.com>
+
+ Make the scope bars in the Web Inspector match other scope bars in Mac OS X.
+ Also cleans up the CSS to use classes instead of ID selectors.
+
+ https://bugs.webkit.org/show_bug.cgi?id=28186
+
+ Reviewed by Dan Bernstein.
+
+ * inspector/front-end/ResourcesPanel.js: Add the scope-bar class.
+ * inspector/front-end/inspector.css: Lots of changes to make it look right.
+ * inspector/front-end/inspector.html: Add the scope-bar class.
+
+2009-10-24 Timothy Hatcher <timothy@apple.com>
+
+ Fix selecting Resources in the Web Inspector's Resources panel.
+
+ https://bugs.webkit.org/show_bug.cgi?id=30743
+
+ Reviewed by Pavel Feldman.
+
+ * inspector/front-end/ResourcesPanel.js:
+ (WebInspector.ResourcesPanel.prototype.isCategoryVisible): Added.
+ (WebInspector.ResourceSidebarTreeElement.prototype.get selectable): Call
+ isCategoryVisible on the ResourcesPanel.
+
+2009-10-24 Timothy Hatcher <timothy@apple.com>
+
+ Fix the Scope Bar in the Web Inspector's Resource panel, so that selecting
+ All will deselect the other filters.
+
+ https://bugs.webkit.org/show_bug.cgi?id=30744
+
+ Reviewed by Pavel Feldman.
+
+ * inspector/front-end/ResourcesPanel.js:
+ (WebInspector.ResourcesPanel.createFilterElement): Better syntax.
+ (WebInspector.ResourcesPanel):
+ (WebInspector.ResourcesPanel.prototype.filter): Use a normal for loop,
+ and the child variable instead of target in the loop. Other clean up.
+
+2009-10-24 Timothy Hatcher <timothy@apple.com>
+
+ Make resizing the Web Inspector's Elements panel sidebar work again.
+ Also makes Resources panel use the sidebar code in Panel.
+
+ https://bugs.webkit.org/show_bug.cgi?id=30742
+
+ Reviewed by Pavel Feldman.
+
+ * inspector/front-end/Panel.js:
+ (WebInspector.Panel): Don't create the sidebar with an argument.
+ (WebInspector.Panel.prototype.show): Call updateSidebarWidth.
+ (WebInspector.Panel.prototype.handleKeyEvent): Call handleSidebarKeyEvent.
+ (WebInspector.Panel.prototype.handleSidebarKeyEvent): Added.
+ (WebInspector.Panel.prototype.createSidebar): Renamed from _createSidebar.
+ (WebInspector.Panel.prototype._sidebarDragging): Call updateSidebarWidth.
+ (WebInspector.Panel.prototype.updateSidebarWidth): Renamed from _updateSidebarWidth.
+ (WebInspector.Panel.prototype.setSidebarWidth): Added. Called by updateSidebarWidth.
+ (WebInspector.Panel.prototype.updateMainViewWidth): Renamed from setMainViewWidth.
+ * inspector/front-end/ProfilesPanel.js:
+ (WebInspector.ProfilesPanel): Call createSidebar.
+ (WebInspector.ProfilesPanel.prototype.updateMainViewWidth): Renamed from setMainViewWidth.
+ * inspector/front-end/ResourcesPanel.js:
+ (WebInspector.ResourcesPanel.prototype.show): Remove call to _updateSidebarWidth.
+ (WebInspector.ResourcesPanel.prototype.showResource): Call updateSidebarWidth
+ (WebInspector.ResourcesPanel.prototype.closeVisibleResource): Ditto.
+ (WebInspector.ResourcesPanel.prototype.setSidebarWidth): Added.
+ (WebInspector.ResourcesPanel.prototype.updateMainViewWidth): Added.
+ * inspector/front-end/StoragePanel.js:
+ (WebInspector.StoragePanel): Call createSidebar.
+ (WebInspector.StoragePanel.prototype.updateMainViewWidth): Renamed from setMainViewWidth.
+ * inspector/front-end/TimelinePanel.js:
+ (WebInspector.TimelinePanel): Call createSidebar.
+ (WebInspector.TimelinePanel.prototype.updateMainViewWidth): Renamed from setMainViewWidth.
+
+2009-10-24 Timothy Hatcher <timothy@apple.com>
+
+ Call updateSelection() in a few places so hovering in the Web Inspector's
+ Elements panel always has the correct row selection height.
+
+ https://bugs.webkit.org/show_bug.cgi?id=30735
+
+ Reviewed by Pavel Feldman.
+
+ * inspector/front-end/ElementsTreeOutline.js:
+ (WebInspector.ElementsTreeElement.prototype.toggleNewAttributeButton): Call updateSelection().
+ (WebInspector.ElementsTreeElement.prototype._insertInLastAttributePosition): Ditto.
+ * inspector/front-end/inspector.css: Prevent text wrapping in the middle of the add attribute text.
+
+2009-10-24 Timothy Hatcher <timothy@apple.com>
+
+ Remove the re-root tree feature from the Web Inspector's
+ Elements panel. This feature wasn't super useful and gets
+ in the way of double-click to edit.
+
+ https://bugs.webkit.org/show_bug.cgi?id=30736
+
+ Reviewed by Pavel Feldman.
+
+ * inspector/front-end/ElementsTreeOutline.js:
+ (WebInspector.ElementsTreeElement.prototype.ondblclick):
+
+2009-10-24 Anton Muhin <antonm@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Implements ReturnsNew hint for V8 bindings generation code.
+ https://bugs.webkit.org/show_bug.cgi?id=30745
+
+ * bindings/scripts/CodeGeneratorV8.pm:
+ * bindings/v8/V8DOMWrapper.h:
+ (WebCore::V8DOMWrapper::convertNewNodeToV8Object):
+
+2009-10-24 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Missing images at 350.org due to wrong URLs
+ https://bugs.webkit.org/show_bug.cgi?id=30748
+
+ Test: fast/dom/HTMLImageElement/parse-src.html
+
+ * dom/Element.cpp:
+ (WebCore::Element::getURLAttribute): Pass the attribute value through deprecateParseURL().
+ This matches what the Objective-C bindings do, as well as what HTMLImageLoader::sourceURI()
+ and SVGImageLoader::sourceURI() do.
+
+2009-10-24 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Unreviewed.
+
+ [Qt] Build fix for QtWebKit after r50013.
+
+ * WebCore.pro:
+
+2009-10-24 Dimitri Glazkov <dglazkov@chromium.org>
+
+ Unreviewed, build fix.
+
+ [V8] Fix up to accommodate for HTMLAllCollection changes in
+ http://trac.webkit.org/changeset/49998.
+
+ * WebCore.gypi:
+ * bindings/scripts/CodeGeneratorV8.pm:
+ * bindings/v8/custom/V8CustomBinding.h:
+ * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
+
+2009-10-23 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Alexey Proskuryakov.
+
+ <rdar://problem/7294131> Assertion failure in AuthenticationMac at
+ mac(const Credential&) after authenticating to MobileMe Gallery movie
+
+ * platform/network/Credential.cpp:
+ (WebCore::Credential::Credential): Initialize m_persistence.
+ (WebCore::Credential::isEmpty): Made this method const.
+ * platform/network/Credential.h:
+ * platform/network/mac/AuthenticationMac.mm:
+ (WebCore::mac): Return nil if the Credential is empty.
+
+2009-10-23 Brian Weinstein <bweinstein@apple.com>
+
+ Reviewed by Timothy Hatcher.
+
+ Fixes <https://bugs.webkit.org/show_bug.cgi?id=30617>.
+ Web Inspector: Resources Scope Bar Should Allow Combinations.
+
+ Refactor the filtering in ResourcePanel to make it match ConsoleView,
+ and add a divider between All, and the other choices of Resource types.
+
+ * inspector/front-end/ResourcesPanel.js:
+ (WebInspector.ResourcesPanel):
+ (WebInspector.ResourcesPanel.prototype.filter):
+ (WebInspector.ResourcesPanel.prototype._updateFilter):
+ * inspector/front-end/inspector.css:
+
+2009-10-23 Chris Evans <cevans@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Ignore the Refresh header if we're in view source mode.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27239
+
+ Test: http/tests/security/view-source-no-refresh.html
+
+ * loader/FrameLoader.cpp: ignore Refresh in view-source mode.
+
+2009-10-23 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ https://bugs.webkit.org/show_bug.cgi?id=30734
+ Remove XMLTokenizer::m_currentNodeIsReferenced
+
+ No change in behavior, no tests.
+
+ * dom/XMLTokenizer.cpp:
+ (WebCore::XMLTokenizer::setCurrentNode):
+ * dom/XMLTokenizer.h:
+ Don't store a boolean for the current node being the document - we can always check for that.
+
+ * dom/XMLTokenizerLibxml2.cpp:
+ (WebCore::XMLTokenizer::XMLTokenizer):
+ * dom/XMLTokenizerQt.cpp:
+ (WebCore::XMLTokenizer::XMLTokenizer):
+ A fragment passed to XMLTokenizer is never null - in fact, the first thing we do is dereference
+ it unconditionally, and then begin checking it for null, as if it could help.
+
+2009-10-23 Beth Dakin <bdakin@apple.com>
+
+ No review since this is a build fix.
+
+ Build fix for the Mac. (Build is only broken when SVG filters are
+ enabled.)
+
+ Labelled these function static.
+ * platform/graphics/filters/FEComponentTransfer.cpp:
+ (WebCore::identity):
+ (WebCore::table):
+ (WebCore::discrete):
+ (WebCore::linear):
+ (WebCore::gamma):
+ * platform/graphics/filters/FEGaussianBlur.cpp:
+ (WebCore::boxBlur):
+
+2009-10-23 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ Web Inspector: Implement a Timeline panel.
+
+ https://bugs.webkit.org/show_bug.cgi?id=30725
+
+ * WebCore.gypi:
+ * WebCore.vcproj/WebCore.vcproj:
+ * inspector/front-end/Images/timelineIcon.png: Added.
+ * inspector/front-end/TimelineAgent.js:
+ (WebInspector.addItemToTimeline):
+ (WebInspector.timelineProfilerWasStarted):
+ (WebInspector.timelineProfilerWasStopped):
+ * inspector/front-end/TimelinePanel.js: Added.
+ (WebInspector.TimelinePanel):
+ (WebInspector.TimelinePanel.prototype.toolbarItemClass.get toolbarItemLabel):
+ (WebInspector.TimelinePanel.prototype.get statusBarItems):
+ (WebInspector.TimelinePanel.prototype.handleKeyEvent):
+ (WebInspector.TimelinePanel.prototype.timelineWasStarted):
+ (WebInspector.TimelinePanel.prototype.timelineWasStopped):
+ (WebInspector.TimelinePanel.prototype.addItemToTimeline):
+ (WebInspector.TimelinePanel.prototype._innerAddItemToTimeline):
+ (WebInspector.TimelinePanel.prototype._toggleTimelineButton):
+ (WebInspector.TimelinePanel.prototype.setMainViewWidth):
+ (WebInspector.TimelinePanel.prototype.getItemTypeName):
+ (WebInspector.TimelineRecordTreeElement):
+ (WebInspector.TimelineRecordTreeElement.prototype.onattach):
+ * inspector/front-end/WebKit.qrc:
+ * inspector/front-end/inspector.css:
+ * inspector/front-end/inspector.html:
+ * inspector/front-end/inspector.js:
+ (WebInspector._createPanels):
+
+2009-10-23 Joseph Pecoraro <joepeck@webkit.org>
+
+ Reviewed by Timothy Hatcher.
+
+ Web Inspector: Clash Between Search's onkeyup and incremental search events
+ https://bugs.webkit.org/show_bug.cgi?id=30731
+
+ * inspector/front-end/inspector.js:
+ (WebInspector.performSearch): prevent incremental search event from clobbering a forced search
+
+2009-10-23 Kelly Norton <knorton@google.com>
+
+ Reviewed by Pavel Feldman.
+
+ Removes the need for C++ Timeline types in InspectorTimelineAgent in favor
+ of ScriptObjects.
+ https://bugs.webkit.org/show_bug.cgi?id=30707
+
+ * GNUmakefile.am:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * inspector/DOMDispatchTimelineItem.cpp: Removed.
+ * inspector/DOMDispatchTimelineItem.h: Removed.
+ * inspector/InspectorTimelineAgent.cpp:
+ (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
+ (WebCore::InspectorTimelineAgent::willDispatchDOMEvent):
+ (WebCore::InspectorTimelineAgent::didDispatchDOMEvent):
+ (WebCore::InspectorTimelineAgent::willLayout):
+ (WebCore::InspectorTimelineAgent::didLayout):
+ (WebCore::InspectorTimelineAgent::willRecalculateStyle):
+ (WebCore::InspectorTimelineAgent::didRecalculateStyle):
+ (WebCore::InspectorTimelineAgent::willPaint):
+ (WebCore::InspectorTimelineAgent::didPaint):
+ (WebCore::InspectorTimelineAgent::willWriteHTML):
+ (WebCore::InspectorTimelineAgent::didWriteHTML):
+ (WebCore::InspectorTimelineAgent::reset):
+ (WebCore::InspectorTimelineAgent::didCompleteCurrentRecord):
+ (WebCore::InspectorTimelineAgent::pushCurrentTimelineItem):
+ * inspector/InspectorTimelineAgent.h:
+ (WebCore::InspectorTimelineAgent::TimelineItemEntry::TimelineItemEntry):
+ * inspector/TimelineItem.cpp: Removed.
+ * inspector/TimelineItem.h: Removed.
+ * inspector/TimelineItemFactory.cpp: Added.
+ (WebCore::TimelineItemFactory::createGenericTimelineItem):
+ (WebCore::TimelineItemFactory::createDOMDispatchTimelineItem):
+ * inspector/TimelineItemFactory.h: Added.
+ (WebCore::):
+ (WebCore::TimelineItemFactory::TimelineItemFactory):
+
+2009-10-23 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by Geoff Garen.
+
+ https://bugs.webkit.org/show_bug.cgi?id=30729
+ Provide private API to request the global context for a specific world.
+ Used to initialize parameters on the global object.
+
+ * bindings/js/ScriptController.cpp:
+ (WebCore::ScriptController::globalObject):
+ * bindings/js/ScriptController.h:
+
+2009-10-23 Steve Block <steveblock@google.com>
+
+ Reviewed by Eric Seidel.
+
+ Fixes style problems in Android-specific files.
+ https://bugs.webkit.org/show_bug.cgi?id=30717
+
+ Style changes only, no new tests possible.
+
+ * page/android/EventHandlerAndroid.cpp: Modified.
+ (WebCore::EventHandler::passMouseDownEventToWidget): Fixes whitespace in method signature.
+ (WebCore::EventHandler::passSubframeEventToSubframe): Fixes whitespace in method signature.
+ (WebCore::EventHandler::passWheelEventToWidget): Fixes whitespace in method signature.
+ (WebCore::EventHandler::passMouseMoveEventToSubframe): Fixes whitespace in method signature.
+ * platform/android/ClipboardAndroid.h: Modified. Fixes header include order and indenting.
+ * platform/android/CursorAndroid.cpp: Modified.
+ (WebCore::grabCursor): Fixes function braces.
+ (WebCore::grabbingCursor): Fixes function braces.
+ * platform/android/FileChooserAndroid.cpp: Modified.
+ (WebCore::FileChooser::basenameForWidth): Fixes braces on while statement, and updates String::copy to String::threadsafeCopy.
+ * platform/android/FileSystemAndroid.cpp: Modified. Fixes header include order.
+ (WebCore::unloadModule): Fixes zero test.
+ (WebCore::writeToFile): Fixes if statement structure.
+ * platform/android/KeyEventAndroid.cpp: Modified.
+ (WebCore::windowsKeyCodeForKeyEvent): Fixes switch statement indenting.
+ (WebCore::keyIdentifierForAndroidKeyCode): Fixes switch statement indenting.
+ * platform/android/ScreenAndroid.cpp: Modified. Fixes header include order and switch statement indenting.
+ * platform/android/TemporaryLinkStubs.cpp: Modified. Fixes header include order.
+
+2009-10-23 Sam Weinig <sam@webkit.org>
+
+ Another shot at a fixed build.
+
+ * DerivedSources.cpp:
+
+2009-10-23 Sam Weinig <sam@webkit.org>
+
+ Another shot at a fixed build.
+
+ * html/HTMLOptionsCollection.idl:
+
+2009-10-23 Brady Eidson <beidson@apple.com>
+
+ 50,000!
+
+ * ChangeLog: Point out revision 50,000.
+
+2009-10-23 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Fix for https://bugs.webkit.org/show_bug.cgi?id=30695
+ Drop .tags() support from HTMLCollection
+
+ - Make .tags() only work for HTMLAllCollections in JS. .tags() is still
+ available for all HTMLCollection like objects in Objective-C since that
+ is API.
+ - Auto-generate HTMLAllCollection.
+
+ Test: fast/dom/HTMLDocument/document-all.html
+
+ * DerivedSources.make:
+ * GNUmakefile.am:
+ * WebCore.gypi:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * bindings/js/JSHTMLAllCollection.cpp: Removed.
+ * bindings/js/JSHTMLAllCollection.h: Removed.
+ * bindings/js/JSHTMLAllCollectionCustom.cpp: Added.
+ (WebCore::getNamedItems):
+ (WebCore::callHTMLAllCollection):
+ (WebCore::JSHTMLAllCollection::getCallData):
+ (WebCore::JSHTMLAllCollection::canGetItemsForName):
+ (WebCore::JSHTMLAllCollection::nameGetter):
+ (WebCore::JSHTMLAllCollection::item):
+ (WebCore::JSHTMLAllCollection::namedItem):
+ * bindings/js/JSHTMLCollectionCustom.cpp:
+ (WebCore::toJS):
+ * bindings/js/JSHTMLDocumentCustom.cpp:
+ * bindings/scripts/CodeGeneratorJS.pm:
+ * dom/Document.cpp:
+ (WebCore::Document::all):
+ * dom/Document.h:
+ * dom/HTMLAllCollection.idl: Removed.
+ * html/HTMLAllCollection.cpp: Added.
+ (WebCore::HTMLAllCollection::create):
+ (WebCore::HTMLAllCollection::HTMLAllCollection):
+ (WebCore::HTMLAllCollection::~HTMLAllCollection):
+ * html/HTMLAllCollection.h: Added.
+ * html/HTMLAllCollection.idl: Added.
+ * html/HTMLCollection.h:
+ * html/HTMLCollection.idl:
+ * html/HTMLDocument.idl:
+ * page/DOMWindow.idl:
+
+2009-10-23 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ Web Inspector: pull basic sidebar implementation into the Panel.
+
+ https://bugs.webkit.org/show_bug.cgi?id=30720
+
+ * inspector/front-end/Panel.js:
+ (WebInspector.Panel):
+ (WebInspector.Panel.prototype.jumpToPreviousSearchResult):
+ (WebInspector.Panel.prototype.handleKeyEvent):
+ (WebInspector.Panel.prototype._createSidebar):
+ (WebInspector.Panel.prototype._startSidebarDragging):
+ (WebInspector.Panel.prototype._sidebarDragging):
+ (WebInspector.Panel.prototype._endSidebarDragging):
+ (WebInspector.Panel.prototype._updateSidebarWidth):
+ (WebInspector.Panel.prototype.setCenterViewWidth):
+ * inspector/front-end/ProfilesPanel.js:
+ (WebInspector.ProfilesPanel):
+ (WebInspector.ProfilesPanel.prototype.setCenterViewWidth):
+ * inspector/front-end/StoragePanel.js:
+ (WebInspector.StoragePanel):
+ (WebInspector.StoragePanel.prototype.setCenterViewWidth):
+
+2009-10-23 Jens Alfke <snej@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Slight optimizations to object returning and exception handling in generated V8 bindings.
+ https://bugs.webkit.org/show_bug.cgi?id=30599
+
+ * bindings/scripts/CodeGeneratorV8.pm: Generate better code
+ * bindings/v8/V8DOMWrapper.h:
+ (WebCore::V8DOMWrapper::convertToV8Object): Added overload that takes a Ref<>
+ * bindings/v8/custom/V8InspectorBackendCustom.cpp:
+ (WebCore::CALLBACK_FUNC_DECL): Remove unnecessary template param to prevent compile error
+
+2009-10-23 Alpha Lam <hclam@chromium.org>
+
+ Reviewed by Eric Carlson.
+
+ Volume slider always starts at half volume
+ https://bugs.webkit.org/show_bug.cgi?id=28322
+
+ Sets the value attribute of volume slider to the volume attribute
+ of the media element. Also update the value attribute of the
+ input element for the volume slider when the volume attribute
+ of the media element is updated.
+
+ Test: media/video-volume-slider.html
+
+ * rendering/MediaControlElements.cpp:
+ (WebCore::MediaControlVolumeSliderElement::update):
+ Set the value attribute of the input element for the volume slider
+ using the current volume of the media element.
+ * rendering/MediaControlElements.h:
+ Add method definition of update().
+ * rendering/RenderMedia.cpp:
+ (WebCore::RenderMedia::createVolumeSlider):
+ Creates a volume slider with value attribute equals to the current
+ volume attribute of the media element.
+
+2009-10-23 Evan Martin <evan@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ Chrome Linux: fix caret positioning in LTR complex languages
+ The caret is positioned off by one in languages like Thai.
+
+ https://bugs.webkit.org/show_bug.cgi?id=28284
+
+ A group of us spent a while trying various approaches to write a test
+ for this; however, since it is only that the blinking cursor is
+ displayed incorrectly, we concluded it can not be tested.
+
+ (Patch by Hironori Bono.)
+
+ * platform/graphics/chromium/FontLinux.cpp:
+ (WebCore::Font::selectionRectForComplexText):
+
+2009-10-23 Tony Chang <tony@chromium.org>
+
+ Reviewed by David Levin.
+
+ Fix Chromium build after IsoldatedWorld change (r49963).
+ https://bugs.webkit.org/show_bug.cgi?id=30719
+
+ * bindings/ScriptControllerBase.cpp:
+ * bindings/js/ScriptController.cpp:
+ (WebCore::ScriptController::executeScriptInIsolatedWorld):
+ * bindings/v8/ScriptController.cpp:
+ (WebCore::mainThreadNormalWorld):
+ * bindings/v8/ScriptController.h:
+ (WebCore::ScriptController::windowShell):
+ (WebCore::ScriptController::existingWindowShell):
+ * dom/Document.cpp:
+ (WebCore::Document::createWrapperCache):
+ * dom/ScriptExecutionContext.cpp:
+ * dom/ScriptExecutionContext.h:
+ * xml/XMLHttpRequest.cpp:
+ * xml/XMLHttpRequest.h:
+
+2009-10-23 Xiaomei Ji <xji@chromium.org>
+
+ Reviewed by Sam Weinig.
+
+ Fix caretRangeFromPoint()/elementFromPoint() returns wrong result
+ for a zoomed and scrolled page.
+ https://bugs.webkit.org/show_bug.cgi?id=30689.
+
+ The real cause is the wrong calculation of event.clientX/Y when
+ page is zoomed and scolled.
+ After Sam fixed the event.clientX/Y in r49551, the hit test point
+ should be recalculated (revert r49490).
+
+ Test: fast/dom/Document/CaretRangeFromPoint/caretRangeFromPoint-in-zoom-and-scroll.html
+
+ * dom/Document.cpp:
+ (WebCore::Document::elementFromPoint): calculate the correct point
+ relative to document when page is zoomed and scrolled.
+ (WebCore::Document::caretRangeFromPoint): calculate the correct point
+ relative to document when page is zoomed and scrolled.
+
+2009-10-22 Dumitru Daniliuc <dumi@chromium.org>
+
+ Reviewed by Dmitry Titov.
+
+ Adding a class that allows us to enable/disable features at
+ runtime. Adding a flag to enable database support.
+
+ https://bugs.webkit.org/show_bug.cgi?id=30653
+
+ * WebCore.gypi:
+ * bindings/v8/RuntimeEnabledFeatures.cpp: Added.
+ * bindings/v8/RuntimeEnabledFeatures.h: Added.
+ (WebCore::RuntimeEnabledFeatures::setDatabaseEnabled):
+ (WebCore::RuntimeEnabledFeatures::databaseEnabled):
+ (WebCore::RuntimeEnabledFeatures::RuntimeEnabledFeatures):
+ * bindings/v8/custom/V8CustomBinding.h:
+ * bindings/v8/custom/V8DOMWindowCustom.cpp:
+ (WebCore::ACCESSOR_RUNTIME_ENABLER):
+ * page/DOMWindow.idl:
+
+2009-10-23 Keishi Hattori <casey.hattori@gmail.com>
+
+ Reviewed by Timothy Hatcher.
+
+ Inspector injects _inspectorCommandLineAPI into global object when opened
+ https://bugs.webkit.org/show_bug.cgi?id=30675
+
+ * inspector/front-end/InjectedScript.js:
+ (InjectedScript.getCompletions):
+ (InjectedScript._evaluateOn):
+ (InjectedScript.addInspectedNode):
+ (InjectedScript._ensureCommandLineAPIInstalled): Moved _inspectorCommandLineAPI from window to console.
+
+2009-10-23 Janne Koskinen <janne.p.koskinen@digia.com>
+
+ Reviewed by Tor Arne Vestbø.
+
+ [Qt] don't undef NULL in Symbian emulator
+
+ npapi.h way of defining mwerks compiler,__intel__
+ and win32 are all true for Symbian emulator.
+ Changed the definions so that NULL won't be undefined
+ when compiling for Symbian emulator nor target HW.
+
+ * bridge/npapi.h:
+
+2009-10-23 Janne Koskinen <janne.p.koskinen@digia.com>
+
+ Reviewed by Tor Arne Vestbø.
+
+ [Qt] Correct linking of sqlite3 for Symbian
+ https://bugs.webkit.org/show_bug.cgi?id=30569
+
+ ".lib" will try to include library as static library
+ causing the library to be searched from wrong directory and if found
+ will be statically linked instead of the inteded dynamic linking.
+
+ * WebCore.pro:
+
+2009-10-23 Enrica Casucci <enrica@apple.com>
+
+ Reviewed by Adele Peterson.
+
+ REGRESSION: Copy is copying incorrect background-color
+ <rdar://problem/7248529>
+ https://bugs.webkit.org/show_bug.cgi?id=29697
+
+ Test: editing/execCommand/indent-paragraphs.html
+
+ This change removes the BackgroundColor from the list
+ of inheritable CSS properties and changes significantly
+ the way we perform indentation.
+ The new implementation of IndentOutdentCommand uses a new method
+ defined in CompositeEditCommand called moveParagraphWithClones.
+ This is an improved version of the original moveParagraph that
+ is aimed at preserving the original markup of the paragraph being
+ moved.
+
+ * editing/ApplyStyleCommand.cpp:
+ (WebCore::): removed CSSPropertyBackgroundColor from editingStyleProperties.
+ * editing/CompositeEditCommand.cpp:
+ (WebCore::CompositeEditCommand::CompositeEditCommand): Removed trailing blanks.
+ (WebCore::CompositeEditCommand::rebalanceWhitespaceAt): Removed trailing blanks.
+ (WebCore::CompositeEditCommand::cloneParagraphUnderNewElement): Added.
+ (WebCore::CompositeEditCommand::cleanupAfterDeletion): Added.
+ (WebCore::CompositeEditCommand::moveParagraphWithClones): Added.
+ (WebCore::CompositeEditCommand::moveParagraphs): Modified to use cleanupAfterDeletion.
+ (WebCore::CompositeEditCommand::breakOutOfEmptyListItem): Removed trailing blanks.
+ (WebCore::CompositeEditCommand::breakOutOfEmptyMailBlockquotedParagraph): Removed trailing blanks.
+ (WebCore::CompositeEditCommand::positionAvoidingSpecialElementBoundary): Removed trailing blanks.
+ * editing/CompositeEditCommand.h: Added three new methods.
+ * editing/IndentOutdentCommand.cpp:
+ (WebCore::IndentOutdentCommand::tryIndentingAsListItem): Changed to use moveParagraphWithClones.
+ (WebCore::IndentOutdentCommand::indentIntoBlockquote): Changed to use moveParagraphWithClones.
+ (WebCore::IndentOutdentCommand::indentRegion): Removed comment.
+ * editing/IndentOutdentCommand.h: Removed prepareBlockquoteLevelForInsertion method.
+
+2009-10-23 Steve Block <steveblock@google.com>
+
+ Reviewed by Eric Seidel.
+
+ Adds missing UnusedParam.h includes, required when INSPECTOR is not enabled.
+ https://bugs.webkit.org/show_bug.cgi?id=30677
+
+ Build fix, no new tests required.
+
+ * page/Console.cpp: Modified. Added UnusedParam.h include.
+ * workers/WorkerContext.cpp: Modified. Added UnusedParam.h include.
+
+2009-10-23 Girish Ramakrishnan <girish@forwardbias.in>
+
+ Reviewed by Holger Freyther.
+
+ [Qt] Plugins : Use window's winId() instead of the widget's.
+
+ As per, https://developer.mozilla.org/en/NPN_GetValue
+ NPNVnetscapeWindow on Unix/X11: "Gets the browser toplevel window in which the
+ plug-in is displayed; returns Window".
+
+ The issue was found because NPNVNetscapeWindow winId() ends up creating
+ a native window resulting in flicker.
+
+ https://bugs.webkit.org/show_bug.cgi?id=30706
+
+ * plugins/qt/PluginViewQt.cpp:
+ (WebCore::PluginView::getValue):
+
+2009-10-23 Girish Ramakrishnan <girish@forwardbias.in>
+
+ Reviewed by Holger Freyther.
+
+ [Qt] Windowless Plugins : Don't use m_clipRect when painting.
+
+ Though it works, it is not correct to use m_clipRect for painting
+ in Windowless mode. Instead, the rect paramater that is passed
+ as a part of PluginView::paint() must be used. This change will
+ also result in some speedup since previously we used to paint all
+ the visible parts of a windowless plugin (even if those parts were
+ not dirty).
+
+ Also, fix invalidateRect() to compute the correct width and height.
+
+ https://bugs.webkit.org/show_bug.cgi?id=30711
+
+ * plugins/qt/PluginViewQt.cpp:
+ (WebCore::PluginView::paint):
+ (WebCore::PluginView::invalidateRect):
+
+2009-10-21 Girish Ramakrishnan <girish@forwardbias.in>
+
+ Reviewed by Holger Freyther.
+
+ Plugins : Use test.swf in the plugins manual tests.
+
+ They previously referenced youtube videos which among other things are
+ cumbersome to use without internet connection. The old youtube link is
+ just commented out so that testing with youtube can be done with
+ little effort.
+
+ https://bugs.webkit.org/show_bug.cgi?id=30662
+
+ * manual-tests/plugins/test.swf: Copied from LayoutTests/fast/replaced/resources/test.swf.
+ * manual-tests/plugins/windowed.html:
+ * manual-tests/plugins/windowless.html:
+ * manual-tests/qt/plugin-sibling-frame-include.html:
+
+2009-10-23 Brian Weinstein <bweinstein@apple.com>
+
+ Reviewed by Jon Honeycutt.
+
+ Fix the Windows Release build by moving Accessibility files
+ into all-in-one file and excluding them from the build.
+
+ * WebCore.vcproj/WebCore.vcproj:
+ * accessibility/AccessibilityAllInOne.cpp: Added.
+
+2009-10-16 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by Sam Weinig & Geoff Garen.
+
+ https://bugs.webkit.org/show_bug.cgi?id=30696
+ Add support for IsolatedWorlds to JSC bindings.
+
+ An IsolatedWorld is basically a parallel, separate copy of the window shells and DOM wrapper objects for
+ a given document. To support isolation this patch:
+
+ * Adds support to the ScriptController to track multiple window shells, one per world.
+ * Adds support to Document to support multiple separate wrapper-maps, one per world.
+ * Replaces the single global DOM wrapper map (on the WebCoreJSClientData) with separate maps,
+ stored on the (new) IsolatedWorld objects.
+
+ In addition to supporting separate copies of these objects, two other features are supported:
+
+ * It is necessary to track the current world on entry into JSC, so that within callbacks out to WebCore
+ we can determine which world (and as such, set of DOM bindings) we should be operating on.
+ * EventListeners & Callbacks are run in the world they were registered in.
+ This requires the handler to retain a reference to the world.
+
+ No new tests. (Enabled existing isolated world layout tests.)
+
+ * WebCore.base.exp:
+ * bindings/js/JSAbstractWorkerCustom.cpp:
+ (WebCore::JSAbstractWorker::addEventListener):
+ (WebCore::JSAbstractWorker::removeEventListener):
+ * bindings/js/JSCallbackData.cpp:
+ (WebCore::JSCallbackData::invokeCallback):
+ * bindings/js/JSCallbackData.h:
+ (WebCore::JSCallbackData::JSCallbackData):
+ * bindings/js/JSCustomXPathNSResolver.cpp:
+ (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
+ * bindings/js/JSDOMApplicationCacheCustom.cpp:
+ (WebCore::JSDOMApplicationCache::addEventListener):
+ (WebCore::JSDOMApplicationCache::removeEventListener):
+ * bindings/js/JSDOMBinding.cpp:
+ (WebCore::removeWrappers):
+ (WebCore::DOMObjectWrapperMap::get):
+ (WebCore::DOMObjectWrapperMap::set):
+ (WebCore::DOMObjectWrapperMap::remove):
+ (WebCore::DOMObjectWrapperMap::take):
+ (WebCore::IsolatedWorld::IsolatedWorld):
+ (WebCore::IsolatedWorld::~IsolatedWorld):
+ (WebCore::EnterIsolatedWorld::EnterIsolatedWorld):
+ (WebCore::EnterIsolatedWorld::~EnterIsolatedWorld):
+ (WebCore::JSGlobalDataWorldIterator::JSGlobalDataWorldIterator):
+ (WebCore::JSGlobalDataWorldIterator::operator bool):
+ (WebCore::JSGlobalDataWorldIterator::operator*):
+ (WebCore::JSGlobalDataWorldIterator::operator->):
+ (WebCore::JSGlobalDataWorldIterator::operator++):
+ (WebCore::getCurrentWorld):
+ (WebCore::getNormalWorld):
+ (WebCore::commonNormalWorld):
+ (WebCore::commonCurrentWorld):
+ (WebCore::DOMObjectHashTableMap::mapFor):
+ (WebCore::DOMObjectWrapperMap::mapFor):
+ (WebCore::forgetDOMObject):
+ (WebCore::getCachedDOMNodeWrapper):
+ (WebCore::forgetDOMNode):
+ (WebCore::cacheDOMNodeWrapper):
+ (WebCore::forgetAllDOMNodesForDocument):
+ (WebCore::forgetWorldOfDOMNodesForDocument):
+ (WebCore::isObservableThroughDOM):
+ (WebCore::markDOMNodesForDocument):
+ (WebCore::markActiveObjectsForContext):
+ (WebCore::takeWrappers):
+ (WebCore::updateDOMNodeDocument):
+ (WebCore::markDOMObjectWrapper):
+ (WebCore::allowsAccessFromFrame):
+ (WebCore::printErrorMessageForFrame):
+ (WebCore::JSC_DebuggerCallFrame_evaluateInWorld):
+ (WebCore::JSC_callInWorld):
+ (WebCore::JSC_constructInWorld):
+ (WebCore::JSC_evaluateInWorld):
+ * bindings/js/JSDOMBinding.h:
+ (WebCore::IsolatedWorld::rememberDocument):
+ (WebCore::IsolatedWorld::forgetDocument):
+ (WebCore::IsolatedWorld::rememberScriptController):
+ (WebCore::IsolatedWorld::forgetScriptController):
+ (WebCore::DOMObjectHashTableMap::~DOMObjectHashTableMap):
+ (WebCore::DOMObjectHashTableMap::get):
+ (WebCore::WebCoreJSClientData::WebCoreJSClientData):
+ (WebCore::WebCoreJSClientData::currentWorld):
+ (WebCore::WebCoreJSClientData::normalWorld):
+ (WebCore::WebCoreJSClientData::rememberWorld):
+ (WebCore::WebCoreJSClientData::forgetWorld):
+ (WebCore::debuggerWorld):
+ (WebCore::pluginWorld):
+ * bindings/js/JSDOMGlobalObject.cpp:
+ (WebCore::JSDOMGlobalObject::createJSAttributeEventListener):
+ (WebCore::toJSDOMGlobalObject):
+ * bindings/js/JSDOMGlobalObject.h:
+ * bindings/js/JSDOMWindowBase.cpp:
+ (WebCore::JSDOMWindowBase::printErrorMessage):
+ (WebCore::JSDOMWindowBase::commonJSGlobalData):
+ (WebCore::toJS):
+ (WebCore::toJSDOMWindow):
+ * bindings/js/JSDOMWindowBase.h:
+ * bindings/js/JSDOMWindowCustom.cpp:
+ (WebCore::createWindow):
+ (WebCore::JSDOMWindow::open):
+ (WebCore::JSDOMWindow::showModalDialog):
+ (WebCore::JSDOMWindow::setTimeout):
+ (WebCore::JSDOMWindow::setInterval):
+ (WebCore::JSDOMWindow::addEventListener):
+ (WebCore::JSDOMWindow::removeEventListener):
+ * bindings/js/JSDOMWindowShell.cpp:
+ (WebCore::toJS):
+ (WebCore::toJSDOMWindowShell):
+ * bindings/js/JSDOMWindowShell.h:
+ * bindings/js/JSDesktopNotificationsCustom.cpp:
+ (WebCore::JSNotification::addEventListener):
+ (WebCore::):
+ * bindings/js/JSEventListener.cpp:
+ (WebCore::JSEventListener::JSEventListener):
+ (WebCore::JSEventListener::handleEvent):
+ (WebCore::JSEventListener::reportError):
+ * bindings/js/JSEventListener.h:
+ (WebCore::JSEventListener::create):
+ * bindings/js/JSEventSourceCustom.cpp:
+ (WebCore::JSEventSource::addEventListener):
+ (WebCore::JSEventSource::removeEventListener):
+ * bindings/js/JSEventTarget.cpp:
+ (WebCore::toJS):
+ * bindings/js/JSHTMLDocumentCustom.cpp:
+ (WebCore::JSHTMLDocument::open):
+ * bindings/js/JSHTMLFrameSetElementCustom.cpp:
+ (WebCore::JSHTMLFrameSetElement::nameGetter):
+ * bindings/js/JSInspectorBackendCustom.cpp:
+ (WebCore::JSInspectorBackend::databaseForId):
+ (WebCore::JSInspectorBackend::inspectedWindow):
+ (WebCore::JSInspectorBackend::nodeForId):
+ * bindings/js/JSLazyEventListener.cpp:
+ (WebCore::JSLazyEventListener::JSLazyEventListener):
+ (WebCore::JSLazyEventListener::parseCode):
+ * bindings/js/JSLazyEventListener.h:
+ (WebCore::JSLazyEventListener::create):
+ * bindings/js/JSMessageChannelCustom.cpp:
+ (WebCore::JSMessageChannel::markChildren):
+ * bindings/js/JSMessagePortCustom.cpp:
+ (WebCore::JSMessagePort::markChildren):
+ (WebCore::JSMessagePort::addEventListener):
+ (WebCore::JSMessagePort::removeEventListener):
+ * bindings/js/JSNodeCustom.cpp:
+ (WebCore::JSNode::addEventListener):
+ (WebCore::JSNode::removeEventListener):
+ (WebCore::JSNode::markChildren):
+ * bindings/js/JSNodeFilterCondition.cpp:
+ (WebCore::JSNodeFilterCondition::acceptNode):
+ * bindings/js/JSQuarantinedObjectWrapper.cpp:
+ (WebCore::JSQuarantinedObjectWrapper::construct):
+ (WebCore::JSQuarantinedObjectWrapper::call):
+ * bindings/js/JSSVGElementInstanceCustom.cpp:
+ (WebCore::JSSVGElementInstance::addEventListener):
+ (WebCore::JSSVGElementInstance::removeEventListener):
+ * bindings/js/JSSharedWorkerCustom.cpp:
+ (WebCore::JSSharedWorker::markChildren):
+ * bindings/js/JSWebSocketCustom.cpp:
+ (WebCore::JSWebSocket::addEventListener):
+ (WebCore::JSWebSocket::removeEventListener):
+ * bindings/js/JSWorkerContextCustom.cpp:
+ (WebCore::JSWorkerContext::addEventListener):
+ (WebCore::JSWorkerContext::removeEventListener):
+ (WebCore::JSWorkerContext::setTimeout):
+ (WebCore::JSWorkerContext::setInterval):
+ * bindings/js/JSXMLHttpRequestConstructor.cpp:
+ (WebCore::constructXMLHttpRequest):
+ * bindings/js/JSXMLHttpRequestCustom.cpp:
+ (WebCore::JSXMLHttpRequest::markChildren):
+ (WebCore::JSXMLHttpRequest::addEventListener):
+ (WebCore::JSXMLHttpRequest::removeEventListener):
+ * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
+ (WebCore::JSXMLHttpRequestUpload::markChildren):
+ (WebCore::JSXMLHttpRequestUpload::addEventListener):
+ (WebCore::JSXMLHttpRequestUpload::removeEventListener):
+ * bindings/js/ScheduledAction.cpp:
+ (WebCore::ScheduledAction::create):
+ (WebCore::ScheduledAction::ScheduledAction):
+ (WebCore::ScheduledAction::executeFunctionInContext):
+ (WebCore::ScheduledAction::execute):
+ * bindings/js/ScheduledAction.h:
+ (WebCore::ScheduledAction::ScheduledAction):
+ * bindings/js/ScriptCachedFrameData.cpp:
+ (WebCore::ScriptCachedFrameData::ScriptCachedFrameData):
+ (WebCore::ScriptCachedFrameData::restore):
+ * bindings/js/ScriptController.cpp:
+ (WebCore::ScriptController::~ScriptController):
+ (WebCore::ScriptController::evaluateInWorld):
+ (WebCore::ScriptController::evaluate):
+ (WebCore::ScriptController::evaluateInIsolatedWorld):
+ (WebCore::ScriptController::clearWindowShell):
+ (WebCore::ScriptController::initScript):
+ (WebCore::ScriptController::processingUserGestureEvent):
+ (WebCore::ScriptController::attachDebugger):
+ (WebCore::ScriptController::updateDocument):
+ (WebCore::ScriptController::bindingRootObject):
+ (WebCore::ScriptController::createRootObject):
+ (WebCore::ScriptController::windowScriptNPObject):
+ (WebCore::ScriptController::jsObjectForPluginElement):
+ * bindings/js/ScriptController.h:
+ (WebCore::ScriptController::windowShell):
+ (WebCore::ScriptController::existingWindowShell):
+ (WebCore::ScriptController::globalObject):
+ (WebCore::ScriptController::forgetWorld):
+ * bindings/js/ScriptControllerMac.mm:
+ (WebCore::ScriptController::windowScriptObject):
+ * bindings/js/ScriptEventListener.cpp:
+ (WebCore::createAttributeEventListener):
+ * bindings/js/ScriptFunctionCall.cpp:
+ (WebCore::ScriptFunctionCall::call):
+ (WebCore::ScriptFunctionCall::construct):
+ * bindings/js/ScriptObjectQuarantine.cpp:
+ (WebCore::getQuarantinedScriptObject):
+ * bindings/js/ScriptState.cpp:
+ (WebCore::scriptStateFromNode):
+ (WebCore::scriptStateFromPage):
+ * bindings/js/ScriptState.h:
+ * bindings/js/WorkerScriptController.cpp:
+ (WebCore::WorkerScriptController::WorkerScriptController):
+ (WebCore::WorkerScriptController::evaluate):
+ * bindings/objc/DOMInternal.mm:
+ (-[WebScriptObject _initializeScriptDOMNodeImp]):
+ * bindings/objc/WebScriptObject.mm:
+ (-[WebScriptObject callWebScriptMethod:withArguments:]):
+ (-[WebScriptObject evaluateWebScript:]):
+ * bindings/scripts/CodeGeneratorJS.pm:
+ * bridge/NP_jsobject.cpp:
+ (_NPN_InvokeDefault):
+ (_NPN_Invoke):
+ (_NPN_Evaluate):
+ (_NPN_Construct):
+ * bridge/jni/jni_jsobject.mm:
+ (JavaJSObject::call):
+ (JavaJSObject::eval):
+ * dom/Document.cpp:
+ (WebCore::Document::createWrapperCache):
+ * dom/Document.h:
+ (WebCore::Document::wrapperCacheMap):
+ (WebCore::Document::getWrapperCache):
+ * inspector/InspectorController.cpp:
+ (WebCore::InspectorController::startUserInitiatedProfiling):
+ (WebCore::InspectorController::stopUserInitiatedProfiling):
+ * inspector/JavaScriptCallFrame.cpp:
+ (WebCore::JavaScriptCallFrame::evaluate):
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::dispatchWindowObjectAvailable):
+ * platform/network/mac/AuthenticationMac.mm:
+ * xml/XMLHttpRequest.cpp:
+ (WebCore::XMLHttpRequest::XMLHttpRequest):
+ (WebCore::XMLHttpRequest::dropProtection):
+ * xml/XMLHttpRequest.h:
+ (WebCore::XMLHttpRequest::create):
+
+2009-10-22 Joseph Pecoraro <joepeck@webkit.org>
+
+ Reviewed by Timothy Hatcher.
+
+ Web Inspector: EventListenersSidebarPane TODO No Longer Needed
+ https://bugs.webkit.org/show_bug.cgi?id=30705
+
+ * inspector/front-end/EventListenersSidebarPane.js:
+
+2009-10-22 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Tim Hatcher.
+
+ https://bugs.webkit.org/show_bug.cgi?id=30506
+ <rdar://problem/7319845> Resources that the server sent as 304 not modified are not shown
+ in the inspectors resource pane
+
+ I don't know how to make a test for this.
+
+ The issue here was that preloaded resources weren't added to DocLoader document resource set,
+ but Web Inspector asked DocLoader to fetch data from CachedResource. Even when (if) document
+ parser eventually requested the same resource for real and it got added to resource set, it
+ was too late - the Inspector wasn't updated.
+
+ * inspector/InspectorResource.cpp:
+ (WebCore::InspectorResource::cachedResource):
+ (WebCore::InspectorResource::type):
+ (WebCore::InspectorResource::resourceData):
+ * inspector/InspectorResource.h:
+ Fix the issue by trying to fetch corresponding CachedResource harder - also look in global
+ cache. This seems safe, and easier than updating the Inspector on transitions between
+ resource states (revalidate vs. revalidate done and preload vs. non-preload).
+
+2009-10-22 Beth Dakin <bdakin@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Fix for <rdar://problem/6942706> ER: Add a CSS property that allows
+ shadows to work for SVG content
+ -and corresponding-
+ https://bugs.webkit.org/show_bug.cgi?id=30479
+
+ This patch adds a new SVG-specific CSS property called -webkit-
+ shadow that has the same syntax as -webkit-box-shadow
+
+ Add CSSPropertyWebkitShadow to the list of SVG CSS properties, and
+ make valueForShadow a member function rather than a static function
+ * css/CSSComputedStyleDeclaration.cpp:
+ (WebCore::):
+ (WebCore::CSSComputedStyleDeclaration::valueForShadow):
+ (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
+ * css/CSSComputedStyleDeclaration.h:
+
+ Call valueForShadow for CSSPropertyWebkitShadow
+ * css/SVGCSSComputedStyleDeclaration.cpp:
+ (WebCore::CSSComputedStyleDeclaration::getSVGPropertyCSSValue):
+
+ Do standard CSS stuff for CSSPropertyWebkitShadow
+ * css/SVGCSSParser.cpp:
+ (WebCore::CSSParser::parseSVGValue):
+ * css/SVGCSSPropertyNames.in:
+ * css/SVGCSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::applySVGProperty):
+
+ Set the appropriate shadow on the paint context if we have one.
+ This seems to be all we have to do to have an SVG-shaped shadow.
+ * rendering/SVGRenderSupport.cpp:
+ (WebCore::SVGRenderBase::prepareToRenderSVGContent):
+
+ Add shadow to SVGRenderStyle. I added a new macro that I don't like
+ just because that's the way things are done here right now.
+ * rendering/style/SVGRenderStyle.cpp:
+ (WebCore::SVGRenderStyle::SVGRenderStyle):
+ (WebCore::SVGRenderStyle::operator==):
+ * rendering/style/SVGRenderStyle.h:
+ * rendering/style/SVGRenderStyleDefs.cpp:
+ (StyleShadowSVGData::StyleShadowSVGData):
+ (StyleShadowSVGData::operator==):
+ * rendering/style/SVGRenderStyleDefs.h:
+ (WebCore::StyleShadowSVGData::create):
+ (WebCore::StyleShadowSVGData::copy):
+ (WebCore::StyleShadowSVGData::operator!=):
+
+2009-10-22 Joanmarie Diggs <joanmarie.diggs@gmail.com>
+
+ Reviewed by Xan Lopez.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25530
+ [Gtk] Implement LABEL_FOR/LABELLED_BY relationship pair for labels
+
+ Implements atk_object_ref_relation_set and LABEL_FOR/LABELLED_BY.
+ Also causes the accessible name for labeled controls to be based on
+ the label as expected, rather than based on the contents.
+
+ * accessibility/AccessibilityRenderObject.h:
+ * accessibility/AccessibilityRenderObject.cpp:
+ (correspondingLabelForControlElement):
+ * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
+ (setAtkRelationSetFromCoreObject):
+ (webkit_accessible_ref_relation_set):
+ (webkit_accessible_class_init):
+ (webkit_accessible_get_name):
+
+2009-10-22 Joseph Pecoraro <joepeck@webkit.org>
+
+ Reviewed by Timothy Hatcher.
+
+ Web Inspector: windowFocused and windowBlured Fail to Clear/Mark Inspector as "inactive"
+ https://bugs.webkit.org/show_bug.cgi?id=30663
+
+ Correctly handle focusing/blurring on inner <iframe>'s such as Source Frames.
+
+ * inspector/front-end/inspector.js:
+ (WebInspector.windowFocused): fix for inner iframes
+ (WebInspector.windowBlurred): fix for inner iframes
+ (WebInspector.addMainEventListeners): change useCapture to false
+
+2009-10-22 Jaime Yap <jaimeyap@google.com>
+
+ Reviewed by Timothy Hatcher.
+
+ Makes a page reload optional when activating resource monitoring in
+ InspectorController. It leaves the default behavior as performing the reload.
+ Reload is an optional param so callsites do not have to change.
+
+ https://bugs.webkit.org/show_bug.cgi?id=30684
+
+ No new tests added.
+
+ * inspector/InspectorController.cpp:
+ (WebCore::InspectorController::enableResourceTracking):
+ * inspector/InspectorController.h:
+
+2009-10-22 Shu Chang <Chang.Shu@nokia.com>
+
+ Reviewed by Eric Seidel.
+
+ [Qt] Fix memory leak in QNetworkReplyHandler::abort().
+ In QNetworkReplyHandler::release(), m_reply should no longer point to its parent
+ after being released.
+ https://bugs.webkit.org/show_bug.cgi?id=30167
+
+ No layout test available as a non-functional fix.
+
+ * platform/network/qt/QNetworkReplyHandler.cpp:
+ (WebCore::QNetworkReplyHandler::abort):
+ (WebCore::QNetworkReplyHandler::release):
+
+2009-10-22 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ Web Inspector: Fix DOMAgent leak.
+
+ https://bugs.webkit.org/show_bug.cgi?id=30615
+
+ * inspector/InspectorController.cpp:
+ (WebCore::InspectorController::~InspectorController):
+ (WebCore::InspectorController::setFrontendProxyObject):
+ (WebCore::InspectorController::close):
+ (WebCore::InspectorController::releaseDOMAgent):
+ * inspector/InspectorController.h:
+ * inspector/InspectorDOMAgent.h:
+ (WebCore::InspectorDOMAgent::create):
+
+2009-10-22 Dimitri Glazkov <dglazkov@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ [V8] Rework event listeners to not hold references to frame or V8 context.
+
+ https://bugs.webkit.org/show_bug.cgi?id=30648
+
+ Covered by existing layout tests: fast/events/attribute-listener*
+
+ * bindings/scripts/CodeGeneratorV8.pm: Added passing ScriptExecutionContext*
+ to event listener handling code.
+ * bindings/v8/DateExtension.cpp:
+ (WebCore::DateExtension::setAllowSleep): Changed to use currentContext().
+ * bindings/v8/ScriptEventListener.cpp:
+ (WebCore::createAttributeEventListener): Reworked to match JSC logic.
+ (WebCore::getEventListenerHandlerBody): Added ScriptExecutionContext* param.
+ * bindings/v8/V8AbstractEventListener.cpp:
+ (WebCore::V8AbstractEventListener::V8AbstractEventListener): Removed Frame* param
+ and usage.
+ (WebCore::V8AbstractEventListener::handleEvent): Chaged to use ScriptExecutionContext*.
+ (WebCore::V8AbstractEventListener::invokeEventHandler): Ditto.
+ * bindings/v8/V8AbstractEventListener.h:
+ (WebCore::V8AbstractEventListener::getListenerObject): Ditto.
+ (WebCore::V8AbstractEventListener::prepareListenerObject): Ditto.
+ * bindings/v8/V8DOMWrapper.cpp:
+ (WebCore::V8DOMWrapper::convertEventListenerToV8Object): Added ScriptExecutionContext* param.
+ (WebCore::V8DOMWrapper::getEventListener): Ditto.
+ * bindings/v8/V8DOMWrapper.h:
+ (WebCore::V8DOMWrapper::convertEventListenerToV8Object): Ditto.
+ * bindings/v8/V8EventListenerList.h:
+ (WebCore::V8EventListenerList::findOrCreateWrapper): Removed ContextType* template param,
+ because it's no longer needed.
+ * bindings/v8/V8IsolatedWorld.h:
+ (WebCore::V8IsolatedWorld::sharedContext): Renamed from shared_context.
+ * bindings/v8/V8LazyEventListener.cpp:
+ (WebCore::V8LazyEventListener::V8LazyEventListener): Removed Frame* param and usage.
+ (WebCore::V8LazyEventListener::callListenerFunction): Added ScriptExecutionContext* param.
+ (WebCore::V8LazyEventListener::prepareListenerObject): Ditto.
+ * bindings/v8/V8LazyEventListener.h:
+ (WebCore::V8LazyEventListener::create): Reordered params to match JSC impl.
+ * bindings/v8/V8Proxy.cpp:
+ (WebCore::V8Proxy::V8Proxy): Adjusted formatting to match WebKit style.
+ (WebCore::V8Proxy::evaluateInNewContext): Changed to use m_context directly.
+ (WebCore::V8Proxy::setInjectedScriptContextDebugId): Ditto.
+ (WebCore::V8Proxy::createWrapperFromCacheSlowCase): Ditto.
+ (WebCore::V8Proxy::isContextInitialized): Ditto.
+ (WebCore::V8Proxy::updateDocumentWrapperCache): Ditto.
+ (WebCore::V8Proxy::clearDocumentWrapperCache): Ditto.
+ (WebCore::V8Proxy::disposeContextHandles): Added explicit disposing of m_context.
+ (WebCore::V8Proxy::clearForClose): Changed to use m_context directly.
+ (WebCore::V8Proxy::clearForNavigation): Ditto.
+ (WebCore::V8Proxy::setSecurityToken): Ditto.
+ (WebCore::V8Proxy::updateDocument): Ditto.
+ (WebCore::V8Proxy::initContextIfNeeded): Ditto.
+ (WebCore::V8Proxy::context): Changed to use v8::Local.
+ (WebCore::V8Proxy::mainWorldContext): Changed to use m_context directly.
+ (WebCore::V8Proxy::setContextDebugId): Ditto.
+ (WebCore::toV8Context):
+ * bindings/v8/V8Proxy.h: Removed shared_context decl, changed to use straight
+ v8::Persistent for m_context.
+ * bindings/v8/V8WorkerContextEventListener.cpp:
+ (WebCore::workerProxy): Added.
+ (WebCore::V8WorkerContextEventListener::V8WorkerContextEventListener): Removed
+ WorkerContextExecutionProxy* param.
+ (WebCore::V8WorkerContextEventListener::handleEvent): Started using ScriptExecutionContext*.
+ (WebCore::V8WorkerContextEventListener::reportError): Ditto.
+ (WebCore::V8WorkerContextEventListener::callListenerFunction): Ditto.
+ (WebCore::V8WorkerContextEventListener::getReceiverObject): Ditto.
+ * bindings/v8/V8WorkerContextEventListener.h:
+ (WebCore::V8WorkerContextEventListener::create): Removed
+ WorkerContextExecutionProxy* param.
+ * bindings/v8/WorkerContextExecutionProxy.cpp:
+ (WebCore::WorkerContextExecutionProxy::findOrCreateEventListener): Removed ContextType*
+ template param.
+ * bindings/v8/custom/V8CustomEventListener.cpp:
+ (WebCore::V8EventListener::V8EventListener): Removed Frame* param.
+ (WebCore::V8EventListener::getListenerFunction): Started using ScriptExecutionContext*.
+ (WebCore::V8EventListener::callListenerFunction): Ditto.
+ * bindings/v8/custom/V8CustomEventListener.h:
+ (WebCore::V8EventListener::create): Removed Frame* param.
+
+2009-10-14 Gaurav Shah <gauravsh@google.com>
+
+ Reviewed by Darin Fisher.
+
+ Replaces temporary link stub for <keygen> tag handler for the Chromium
+ browser with a call via the Chromium Bridge.
+
+ https://bugs.webkit.org/show_bug.cgi?id=30360
+
+ * platform/SSLKeyGenerator.h:
+ * platform/chromium/ChromiumBridge.h:
+ * platform/chromium/SSLKeyGeneratorChromium.cpp:
+ (WebCore::getSupportedKeySizes):
+ (WebCore::signedPublicKeyAndChallengeString):
+ * platform/chromium/TemporaryLinkStubs.cpp:
+ (WebCore::KURL::fileSystemPath):
+ (WebCore::SharedBuffer::createWithContentsOfFile):
+
+2009-10-22 Avi Drissman <avi@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ Fixes Chromium Mac pasteboard handling to flow through the same code paths as other platforms.
+
+ https://bugs.webkit.org/show_bug.cgi?id=30591
+
+ * platform/chromium/ChromiumBridge.h:
+ * platform/chromium/PasteboardChromium.cpp:
+ (WebCore::Pasteboard::writeImage):
+
+2009-10-20 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Make accelerated compositing debug indicators work in release builds
+ https://bugs.webkit.org/show_bug.cgi?id=30588
+
+ Allow some debug indicators, that show which page elements go into compositing layers,
+ to work in release builds, when the runtime prefs are set.
+
+ * platform/graphics/GraphicsLayer.cpp:
+ (WebCore::GraphicsLayer::GraphicsLayer):
+ (WebCore::GraphicsLayer::setZPosition):
+ * platform/graphics/GraphicsLayer.h:
+ * platform/graphics/mac/GraphicsLayerCA.h:
+ * platform/graphics/mac/GraphicsLayerCA.mm:
+ (WebCore::clearBorderColor):
+ (WebCore::GraphicsLayer::showRepaintCounter):
+ (WebCore::GraphicsLayerCA::GraphicsLayerCA):
+ (WebCore::GraphicsLayerCA::updateMasksToBounds):
+ (WebCore::GraphicsLayerCA::updateLayerDrawsContent):
+ (WebCore::GraphicsLayerCA::setDebugBorder):
+ (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer):
+ (WebCore::GraphicsLayerCA::setupContentsLayer):
+ * platform/graphics/mac/WebLayer.mm:
+
+2009-10-22 Keishi Hattori <casey.hattori@gmail.com>
+
+ Reviewed by Pavel Feldman.
+
+ Inspector should support monitorEvents/un monitorEvents() in the command line
+ https://bugs.webkit.org/show_bug.cgi?id=19879
+
+ * inspector/front-end/EventListenersSidebarPane.js:
+ (WebInspector.EventListenersSidebarPane.prototype.update.callback): Ignores event listeners generated by monitorEvent
+ * inspector/front-end/InjectedScript.js:
+ (InjectedScript._ensureCommandLineAPIInstalled): Added _inspectorCommandLineAPI._logEvent, _allEventTypes,
+ _normalizeEventTypes, monitorEvent, unmonitorEvent.
+
+2009-10-21 Joseph Pecoraro <joepeck@webkit.org>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector: windowFocused and windowBlurred Fail to Clear/Mark Inspector as "inactive"
+ https://bugs.webkit.org/show_bug.cgi?id=30663
+
+ * inspector/front-end/inspector.js:
+ (WebInspector.windowFocused):
+ (WebInspector.windowBlurred):
+
+2009-10-22 Joseph Pecoraro <joepeck@webkit.org>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector: Error - requestContentType [undefined] is not an object
+ https://bugs.webkit.org/show_bug.cgi?id=30666
+
+ * inspector/front-end/ResourceView.js:
+ (WebInspector.ResourceView.prototype._refreshFormData):
+
+2009-10-22 Maxime Simon <simon.maxime@gmail.com>
+
+ Reviewed by Holger Freyther.
+
+ [Haiku] Correction of the accented letter width (they were 2 characters long).
+ https://bugs.webkit.org/show_bug.cgi?id=30629
+
+ * platform/graphics/haiku/SimpleFontDataHaiku.cpp:
+ (WebCore::SimpleFontData::platformWidthForGlyph):
+
+2009-10-21 Jon Honeycutt <jhoneycutt@apple.com>
+
+ <rdar://problem/7270320> Screenshots of off-screen plug-ins are blank
+ <rdar://problem/7270314> After halting a transparent PluginView on
+ Windows, the transparency is applied twice
+
+ Replace use of Frame::nodeImage() with a function that takes a snapshot
+ of a PluginView.
+
+ Reviewed by Dan Bernstein.
+
+ * plugins/PluginView.h:
+ Made paintWindowedPluginIntoContext() non-const, as it now calls
+ paintIntoTransformedContext(). Declare paintIntoTransformedContext()
+ and snapshot() for Windows platforms.
+
+ * plugins/win/PluginViewWin.cpp:
+ (WebCore::PluginView::paintIntoTransformedContext):
+ Paints into the passed HDC without applying any coordinate translations.
+ Code moved from paintWindowedPluginIntoContext() and paint(). Removed
+ the memset() of windowpos in lieu of assignment.
+ (WebCore::PluginView::paintWindowedPluginIntoContext):
+ Code moved to paintIntoTransformedContext().
+ (WebCore::PluginView::paint):
+ Ditto.
+ (WebCore::PluginView::snapshot):
+ Create a context, and if the plug-in is windowless, translate it so the
+ plug-in will draw at the correct location. Create a bitmap, and select
+ it into the context. Paint the plug-in, and create a BitmapImage from
+ the bitmap.
+ (WebCore::PluginView::halt):
+ Use snapshot().
+
+2009-10-22 Fumitoshi Ukai <ukai@chromium.org>
+
+ Reviewed by Alexey Proskuryakov.
+
+ Fix calculation of length in WebSocketChannel.cpp
+ https://bugs.webkit.org/show_bug.cgi?id=30656
+
+ * websockets/WebSocketChannel.cpp:
+ (WebCore::WebSocketChannel::didReceiveData):
+
+2009-10-21 Dumitru Daniliuc <dumi@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Adding the ability to enable/disable functions in V8 at runtime.
+
+ https://bugs.webkit.org/show_bug.cgi?id=30650
+
+ * bindings/scripts/CodeGeneratorV8.pm:
+
+2009-10-21 Darin Adler <darin@apple.com>
+
+ Swedish search (and other languages as well) is broken while fixing Japanese search
+ https://bugs.webkit.org/show_bug.cgi?id=30646
+
+ Rolled Japanese tailoring out that was done to fix
+ https://bugs.webkit.org/show_bug.cgi?id=30437 earlier.
+ It was overriding the locale-specific tailoring.
+ We'll land a fix once we figure out how to add the
+ Japanese tailoring without removing anything.
+
+ * editing/TextIterator.cpp: Rolled out r49924.
+
+2009-10-21 Pavel Feldman <pfeldman@chromium.org>
+
+ Not reviewed: chromium build fix - add missing image to gypi.
+
+ * WebCore.gypi:
+
+2009-10-21 Brian Weinstein <bweinstein@apple.com>
+
+ Reviewed by Eric Seidel.
+
+ Fixes part of <http://webkit.org/b/30522>.
+ Web Inspector: DOM Exceptions throughout the Inspector should be more human readable.
+
+ Expose the description attribute that is now a member of
+ ExceptionBase as of r49723, so when a user logs an exception, they
+ can see the description in the Web Inspector.
+
+ Test: fast/dom/dom-exception-description.html
+
+ * dom/DOMCoreException.idl:
+ * dom/EventException.idl:
+ * dom/RangeException.idl:
+ * svg/SVGException.idl:
+ * xml/XMLHttpRequestException.idl:
+ * xml/XPathException.idl:
+
+2009-10-21 Brian Weinstein <bweinstein@apple.com>
+
+ Reviewed by Timothy Hatcher.
+
+ Fixes <https://bugs.webkit.org/show_bug.cgi?id=30616>.
+ REGRESSION (r49036): Web Inspector: Summary graph no longer switching to size summary.
+
+ Add a check to make sure a function we need to calculate percentages is
+ defined before we use it.
+
+ * inspector/front-end/ResourcesPanel.js:
+ (WebInspector.ResourcesPanel.prototype._updateGraphDividersIfNeeded):
+
+2009-10-21 Keishi Hattori <casey.hattori@gmail.com>
+
+ Reviewed by Timothy Hatcher.
+
+ REGRESSION: Clicking on nodes in the console should take you to the element in the DOM
+ https://bugs.webkit.org/show_bug.cgi?id=27231
+
+ * inspector/front-end/ConsoleView.js:
+ (WebInspector.ConsoleView.prototype._formatnode): Turns on ElementsTreeOutline.showInElementsPanelEnabled
+ * inspector/front-end/ElementsTreeOutline.js:
+ (WebInspector.ElementsTreeOutline): Added ElementsTreeOutline.showInElementsPanelEnabled
+ (WebInspector.ElementsTreeElement.prototype.onmousedown): Reveals the node in the Elements panel if
+ treeOutline.showInElementsPanelEnabled is true.
+
+2009-10-21 Jeremy Orlow <jorlow@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ https://bugs.webkit.org/show_bug.cgi?id=30637
+ Fix a compiler warning in windows.
+
+ * loader/ResourceLoadNotifier.h:
+
+2009-10-21 Dmitry Titov <dimich@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ Fix the crash when a node not in a document receives dispatchEvent.
+ https://bugs.webkit.org/show_bug.cgi?id=30611
+
+ Test: fast/events/dispatch-event-no-document.html
+
+ * dom/EventTarget.cpp: Check for scriptExecutionContext() at the moment of dispatchEvent; do nothing if no context.
+ (WebCore::EventTarget::dispatchEvent):
+
+2009-10-21 Adam Langley <agl@google.com>
+
+ Reviewed by Eric Seidel.
+
+ Chromium Linux: disable subpixel text on layers.
+
+ https://bugs.webkit.org/show_bug.cgi?id=30635
+ http://code.google.com/p/chromium/issues/detail?id=25365
+
+ With the addition of layers for drawing rounded corners in r49641,
+ subpixel text on rounded rectangles broke. This is because the layer
+ only contains a single alpha channel and this is insufficient to
+ compose subpixel text correctly.
+
+ On Windows, a large body of code in TransparencyWin.cpp exists to try
+ to deal with this. Even then, in some cases, it downgrades to
+ anti-aliased text. We need a fix for the grevious effects quickly thus
+ this patch disables subpixel text when rendering into a layer.
+
+ This would be covered by existing tests except that subpixel text is
+ disabled for pixel tests on Chromium Linux.
+
+ * platform/graphics/chromium/FontLinux.cpp:
+ (WebCore::isCanvasMultiLayered):
+ (WebCore::adjustTextRenderMode):
+ (WebCore::Font::drawGlyphs):
+ (WebCore::Font::drawComplexText):
+
+2009-10-21 Kevin Ollivier <kevino@theolliviers.com>
+
+ wxMac 10.4 build fix, make sure we specify the Sqlite3 dependency correctly as otherwise
+ it will use the sqlite3 system library rather than WebCoreSQLite3.
+
+ * wscript:
+
+2009-10-21 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Fixed background-clip parsing regressions introduced in r46240.
+
+ Test: fast/css/background-clip-text.html
+
+ * css/CSSParser.cpp:
+ (WebCore::parseBackgroundClip): Added this helper method.
+ (WebCore::CSSParser::parseFillShorthand): Use parseBackgroundClip() to
+ reparse the value. The old code called parseFillProperty() again, which
+ didn’t work, because parseFillProperty() advances the value list.
+ (WebCore::CSSParser::parseFillProperty): Changed to use
+ parseBackgroundClip().
+ * css/CSSPrimitiveValueMappings.h:
+ (WebCore::CSSPrimitiveValue::operator EFillBox): Added a case for
+ CSSValueWebkitText.
+
+2009-10-21 Alexander Pavlov <apavlov@chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ Enable creation of custom SidebarTreeElements for different ProfileTypes
+
+ ProfileTypes can now create sidebar tree elements of custom types.
+ https://bugs.webkit.org/show_bug.cgi?id=30520
+
+ * inspector/front-end/ProfileView.js:
+ (WebInspector.CPUProfileType.prototype.setRecordingProfile):
+ (WebInspector.CPUProfileType.prototype.createSidebarTreeElementForProfile):
+ (WebInspector.CPUProfileType.prototype.createView):
+ (WebInspector.CPUProfile.prototype.get head):
+ * inspector/front-end/ProfilesPanel.js:
+ (WebInspector.ProfileType.prototype.buttonClicked):
+ (WebInspector.ProfileType.prototype.viewForProfile):
+ (WebInspector.ProfileType.prototype.createView):
+ (WebInspector.ProfileType.prototype.createSidebarTreeElementForProfile):
+ (WebInspector.ProfilesPanel.prototype.addProfileHeader):
+ (WebInspector.ProfilesPanel.prototype.showProfile):
+
+2009-10-20 Joseph Pecoraro <joepeck@webkit.org>
+
+ Reviewed by Timothy Hatcher.
+
+ Web Inspector: Selectors in the Styles pane should trigger a search for that selector when clicked
+ https://bugs.webkit.org/show_bug.cgi?id=17126
+
+ * inspector/front-end/ElementsPanel.js:
+ (WebInspector.ElementsPanel.prototype.addNodesToSearchResult): only change focusedDOMNode on a manual search
+ * inspector/front-end/StylesSidebarPane.js:
+ (WebInspector.StylePropertiesSection.prototype._clickSelector): trigger a search
+ * inspector/front-end/ElementsTreeOutline.js:
+ (WebInspector.ElementsTreeElement.prototype._startEditing): correctly start editing attribute value instead of name
+
+2009-10-20 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ Web Inspector: Fix DOM Agent leak.
+
+ https://bugs.webkit.org/show_bug.cgi?id=30615
+
+ * inspector/InspectorController.cpp:
+ (WebCore::InspectorController::~InspectorController):
+
+2009-10-21 Girish Ramakrishnan <girish@forwardbias.in>
+
+ Reviewed by Holger Freyther.
+
+ Plugins: Create manual tests for testing plugins
+
+ Create two test files:
+ 1. windowed.html - Test plugin in windowed mode.
+ 2. windowless.html - Test plugin in windowless mode.
+
+ https://bugs.webkit.org/show_bug.cgi?id=30503
+
+ * manual-tests/plugins/windowed.html: Added.
+ * manual-tests/plugins/windowless.html: Added.
+
+2009-10-21 Satoshi Nakagawa <psychs@limechat.net>
+
+ Reviewed by Darin Adler.
+
+ Fixed Japanese text search problems.
+ Treat small kana letters and kana letters as different characters in search.
+ Do not ignore diacritic marks in search for Japanese texts.
+
+ https://bugs.webkit.org/show_bug.cgi?id=30437
+
+ Test: fast/text/international/japanese-kana-letters.html
+
+ * editing/TextIterator.cpp:
+ (WebCore::createCollator):
+ (WebCore::collator):
+ (WebCore::createSearcher):
+
+2009-10-20 Eric Z. Ayers <zundel@google.com>
+
+ Reviewed by Timothy Hatcher.
+
+ Changes TimelineItems to be created with raw timestamps as opposed
+ to a time relative to a start of session. Normalized timestamps cause
+ problems when monitoring a browsing session across multiple page
+ transitions.
+
+ * inspector/InspectorTimelineAgent.cpp:
+ (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
+ (WebCore::InspectorTimelineAgent::willDispatchDOMEvent):
+ (WebCore::InspectorTimelineAgent::willLayout):
+ (WebCore::InspectorTimelineAgent::willRecalculateStyle):
+ (WebCore::InspectorTimelineAgent::willPaint):
+ (WebCore::InspectorTimelineAgent::willWriteHTML):
+ (WebCore::InspectorTimelineAgent::reset):
+ (WebCore::InspectorTimelineAgent::didCompleteCurrentRecord):
+ * inspector/InspectorTimelineAgent.h:
+
+2009-10-20 Mark Rowe <mrowe@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ Fix leak of WebSocketChannel by adopting the newly-created reference.
+
+ * websockets/WebSocketChannel.h:
+ (WebCore::WebSocketChannel::create):
+
+2009-10-20 Jeremy Orlow <jorlow@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ DOM Storage runtime flag changes
+ https://bugs.webkit.org/show_bug.cgi?id=30602
+
+ Part 1/2. Removing sessionStorageEnabled in next patch after the
+ Chromium side of the changes lands.
+
+ Revert my changes to Settings and instead implement DOM Storage enabling via
+ the methods agreed upon in https://bugs.webkit.org/show_bug.cgi?id=30240
+
+ This stuff was (intentionally) never exposed to web pages or DRT, so there's no
+ LayoutTest visible changes and thus no tests.
+
+ * bindings/v8/custom/V8CustomBinding.h:
+ * bindings/v8/custom/V8DOMWindowCustom.cpp:
+ (WebCore::ACCESSOR_RUNTIME_ENABLER):
+ * page/DOMWindow.idl:
+ * storage/Storage.cpp:
+ (WebCore::Storage::setLocalStorageAvailable):
+ (WebCore::Storage::localStorageAvailable):
+ (WebCore::Storage::setSessionStorageAvailable):
+ (WebCore::Storage::sessionStorageAvailable):
+ * storage/Storage.h:
+
+2009-10-20 John Gregg <johnnyg@google.com>
+
+ Reviewed by David Levin.
+
+ Need to turn off notifications properly at runtime
+ https://bugs.webkit.org/show_bug.cgi?id=30409
+
+ This code only affects chromium, and is all behind a compile time
+ flag current turned off, so no new tests.
+
+ * bindings/v8/custom/V8CustomBinding.h:
+ * bindings/v8/custom/V8DOMWindowCustom.cpp:
+ (WebCore::ACCESSOR_RUNTIME_ENABLER):
+ * bindings/v8/custom/V8WorkerContextCustom.cpp:
+ (WebCore::ACCESSOR_RUNTIME_ENABLER):
+ * notifications/NotificationCenter.cpp:
+ (WebCore::NotificationCenter::setIsAvailable):
+ (WebCore::NotificationCenter::isAvailable):
+ * notifications/NotificationCenter.h:
+ * page/DOMWindow.idl:
+ * workers/WorkerContext.idl:
+
+2009-10-20 James Robinson <jamesr@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Fixes RefPtr initialization in the V8 implementation of WebCore::ScriptString to use the ::create() idiom and
+ use adoptRef() properly. I failed to read the RefPtr docs the first time through :(
+
+ No new tests, error was caught by valgrind on the Chromium builders.
+
+ * bindings/v8/ScriptString.h:
+ (WebCore::ScriptString::ScriptString):
+ (WebCore::ScriptString::operator=):
+ * bindings/v8/ScriptStringImpl.h:
+ (WebCore::ScriptStringImpl::create):
+
+2009-10-20 Mikhail Naganov <mnaganov@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector: populate child nodes before sorting them.
+
+ https://bugs.webkit.org/show_bug.cgi?id=29673
+
+ * inspector/front-end/BottomUpProfileDataGridTree.js:
+ (WebInspector.BottomUpProfileDataGridNode): Swapped with BottomUpProfileDataGridTree to be consistent with TopDownProfileDataGridNode.
+ (WebInspector.BottomUpProfileDataGridNode.prototype._takePropertiesFromProfileDataGridNode):
+ (WebInspector.BottomUpProfileDataGridNode.prototype._keepOnlyChild):
+ (WebInspector.BottomUpProfileDataGridNode.prototype._exclude):
+ (WebInspector.BottomUpProfileDataGridNode.prototype._merge):
+ (WebInspector.BottomUpProfileDataGridNode.prototype._sharedPopulate):
+ (WebInspector.BottomUpProfileDataGridTree.prototype.exclude):
+ * inspector/front-end/ProfileDataGridTree.js:
+ (WebInspector.ProfileDataGridNode.prototype.sort): Added missing parentheses.
+ (WebInspector.ProfileDataGridNode.prototype.get _parent):
+ (WebInspector.ProfileDataGridNode.prototype._populate):
+ * inspector/front-end/TopDownProfileDataGridTree.js:
+ (WebInspector.TopDownProfileDataGridNode.prototype._sharedPopulate):
+
+2009-10-20 Jens Alfke <snej@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ Remove redundant String ref/deref calls in generated V8 bindings.
+ https://bugs.webkit.org/show_bug.cgi?id=30579
+
+ * bindings/v8/V8Binding.h:
+ (WebCore::toString): Fix return type of 'toString' to make it truly a no-op
+ instead of constructing/destructing a String.
+
+2009-10-20 Joanmarie Diggs <joanmarie.diggs@gmail.com>
+
+ Reviewed by Xan Lopez.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25411
+ [GTK] ATK accessible ancestry broken
+
+ Work around for the problem of bogus additional objects in the ancestry.
+ We now set the parent when we ref the child, then ask the Atk child if
+ it knows its parent. This solves the bulk of the cases. For those it
+ doesn't, fall back to the existing logic.
+
+ * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
+ (webkit_accessible_get_parent):
+ (webkit_accessible_ref_child):
+
+2009-10-20 Brian Weinstein <bweinstein@apple.com>
+
+ Reviewed by Alice Liu.
+
+ Fixes <http://webkit.org/b/30421>.
+ Web Inpsector: Local Files can show up on Cookies List with Cookies from other Domain.
+
+ When a page like Google generates an about:blank, it shows up as a local file on
+ the list of Cookie domains, but has all of the cookies of Google. When we are adding
+ cookie domains to the inspector, we should only add the domain is the URL of the resource
+ is in the HTTP protocol family or a file URL.
+
+ * inspector/InspectorController.cpp:
+ (WebCore::InspectorController::populateScriptObjects):
+ (WebCore::InspectorController::didFinishLoading):
+
+2009-10-20 Mark Mentovai <mark@chromium.org>
+
+ Reviewed by Darin Fisher.
+
+ Use a version of libWebKitSystemInterface with global symbols marked
+ private_extern for Chromium Mac.
+
+ https://bugs.webkit.org/show_bug.cgi?id=30590
+
+ * WebCore.gyp/WebCore.gyp:
+ * WebCore.gyp/mac: Added.
+ * WebCore.gyp/mac/Empty.cpp: Added.
+ * WebCore.gyp/mac/adjust_visibility.sh: Added.
+
+2009-10-20 Zoltan Horvath <zoltan@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Allow custom memory allocation control for WebCore's CSSProperty
+ https://bugs.webkit.org/show_bug.cgi?id=30564
+
+ Inherits CSSProperty class from FastAllocBase because it has been
+ instantiated by 'new' in WebCore/css/CSSParser.cpp:367.
+
+ * css/CSSProperty.h:
+
+2009-10-20 Andrew Scherkus <scherkus@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ Hide Chromium's media slider thumb if no source has been loaded.
+
+ https://bugs.webkit.org/show_bug.cgi?id=30529
+
+ Covered by existing layout tests, notably:
+ LayoutTests/media/controls-rendering.html
+ LayoutTests/media/unsupported-tracks.html
+ LayoutTests/media/video-src-none.html
+
+ * rendering/RenderMediaControlsChromium.cpp:
+ (WebCore::hasSource): Returns true if an HTMLMediaElement has a valid source set.
+ (WebCore::paintMediaMuteButton): Refactored to use hasSource().
+ (WebCore::paintMediaPlayButton): Ditto.
+ (WebCore::paintMediaSliderThumb): Add call to hasSource() to determine if we should paint the thumb.
+
+2009-10-20 Nate Chapin <japhet@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Added getter for FrameLoader:m_suppressOpenerInNewFrame.
+ This will allow Chromium to more intelligently detect
+ noreferrer links and therefore open them in a new process.
+
+ https://bugs.webkit.org/show_bug.cgi?id=30581
+
+ * loader/FrameLoader.h:
+ (WebCore::FrameLoader::suppressOpenerInNewFrame): Added.
+
+2009-10-20 Zoltan Horvath <zoltan@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ Allow custom memory allocation control for WebCore's CSSParserFunction
+ https://bugs.webkit.org/show_bug.cgi?id=30563
+
+ Inherits CSSParserFunction struct from FastAllocBase because it has been
+ instantiated by 'new' in WebCore/css/CSSParser.cpp:4827.
+
+ * css/CSSProperty.h:
+
+2009-10-20 Joseph Pecoraro <joepeck@webkit.org>
+
+ Reviewed by Timothy Hatcher.
+
+ Web Inspector: Watched Expressions Buttons Do Not Match Inspector Styles
+ https://bugs.webkit.org/show_bug.cgi?id=30554
+
+ * inspector/front-end/inspector.css: added style to pane buttons
+
+2009-10-20 Yury Semikhatsky <yurys@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Set debug id for contexts of isolated worlds to distinguish them in debugger.
+
+ https://bugs.webkit.org/show_bug.cgi?id=30559
+
+ * bindings/v8/V8Proxy.cpp:
+ (WebCore::V8Proxy::evaluateInIsolatedWorld):
+ (WebCore::V8Proxy::evaluateInNewContext):
+ (WebCore::V8Proxy::setInjectedScriptContextDebugId):
+ * bindings/v8/V8Proxy.h:
+
+2009-10-20 Andras Becsi <becsi.andras@stud.u-szeged.hu>
+
+ Unreviewed buildfix.
+ [Qt] Add FEGaussianBlur.h and FEGaussianBlur.cpp which were refactored in r49778 to WebCore.pro.
+
+ * WebCore.pro:
+
2009-10-20 Fumitoshi Ukai <ukai@chromium.org>
Reviewed by David Levin.
@@ -2704,7 +7069,6 @@
(InjectedScript.CallFrameProxy.prototype._wrapScopeChain): don't send call frame properties until they're needed.
* inspector/front-end/ScriptsPanel.js:
->>>>>>> .r49765
2009-10-13 Yongjun Zhang <yongjun.zhang@nokia.com>
Reviewed by Ariya Hidayat.
diff --git a/src/3rdparty/webkit/WebCore/DerivedSources.cpp b/src/3rdparty/webkit/WebCore/DerivedSources.cpp
index be83136..1edbf7d 100644
--- a/src/3rdparty/webkit/WebCore/DerivedSources.cpp
+++ b/src/3rdparty/webkit/WebCore/DerivedSources.cpp
@@ -82,6 +82,7 @@
#include "JSFile.cpp"
#include "JSFileList.cpp"
#include "JSHistory.cpp"
+#include "JSHTMLAllCollection.cpp"
#include "JSHTMLAnchorElement.cpp"
#include "JSHTMLAppletElement.cpp"
#include "JSHTMLAreaElement.cpp"
diff --git a/src/3rdparty/webkit/WebCore/ForwardingHeaders/wtf/DateInstanceCache.h b/src/3rdparty/webkit/WebCore/ForwardingHeaders/wtf/DateInstanceCache.h
new file mode 100644
index 0000000..f39bdee
--- /dev/null
+++ b/src/3rdparty/webkit/WebCore/ForwardingHeaders/wtf/DateInstanceCache.h
@@ -0,0 +1,4 @@
+#ifndef WebCore_FWD_DateInstanceCache_h
+#define WebCore_FWD_DateInstanceCache_h
+#include <JavaScriptCore/DateInstanceCache.h>
+#endif
diff --git a/src/3rdparty/webkit/WebCore/LICENSE-APPLE b/src/3rdparty/webkit/WebCore/LICENSE-APPLE
index 92514e2..f29b41c 100644
--- a/src/3rdparty/webkit/WebCore/LICENSE-APPLE
+++ b/src/3rdparty/webkit/WebCore/LICENSE-APPLE
@@ -1,22 +1,21 @@
-Copyright (C) 2003, 2004, 2005, 2006 Apple Computer, Inc. All rights reserved.
+Copyright (C) 2005, 2006, 2007, 2008, 2009 Apple 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.
+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.
-THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``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 APPLE COMPUTER, INC. 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 SOFTWARE IS PROVIDED BY APPLE INC. AND ITS 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 APPLE INC. OR ITS 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.
diff --git a/src/3rdparty/webkit/WebCore/WebCore.gypi b/src/3rdparty/webkit/WebCore/WebCore.gypi
index c0da0ec..c0baaf4 100644
--- a/src/3rdparty/webkit/WebCore/WebCore.gypi
+++ b/src/3rdparty/webkit/WebCore/WebCore.gypi
@@ -1,6 +1,6 @@
{
'variables': {
- 'webcore_files': [
+ 'webcore_bindings_idl_files': [
#IDL files
'css/CSSCharsetRule.idl',
@@ -51,7 +51,6 @@
'dom/EventException.idl',
'dom/EventListener.idl',
'dom/EventTarget.idl',
- 'dom/HTMLAllCollection.idl',
'dom/KeyboardEvent.idl',
'dom/MessageChannel.idl',
'dom/MessageEvent.idl',
@@ -103,6 +102,7 @@
'html/DataGridColumnList.idl',
'html/File.idl',
'html/FileList.idl',
+ 'html/HTMLAllCollection.idl',
'html/HTMLAnchorElement.idl',
'html/HTMLAppletElement.idl',
'html/HTMLAreaElement.idl',
@@ -374,6 +374,8 @@
'xml/XPathNSResolver.idl',
'xml/XPathResult.idl',
'xml/XSLTProcessor.idl',
+ ],
+ 'webcore_files': [
# Source/Header Files
'accessibility/AXObjectCache.cpp',
@@ -491,8 +493,7 @@
'bindings/js/JSGeolocationCustom.cpp',
'bindings/js/JSHistoryCustom.cpp',
'bindings/js/JSHistoryCustom.h',
- 'bindings/js/JSHTMLAllCollection.cpp',
- 'bindings/js/JSHTMLAllCollection.h',
+ 'bindings/js/JSHTMLAllCollectionCustom.cpp',
'bindings/js/JSHTMLAppletElementCustom.cpp',
'bindings/js/JSHTMLAppletElementCustom.h',
'bindings/js/JSHTMLCanvasElementCustom.cpp',
@@ -677,6 +678,7 @@
'bindings/v8/custom/V8FileListCustom.cpp',
'bindings/v8/custom/V8HTMLAudioElementConstructor.cpp',
'bindings/v8/custom/V8HTMLAudioElementConstructor.h',
+ 'bindings/v8/custom/V8HTMLAllCollectionCustom.cpp',
'bindings/v8/custom/V8HTMLCanvasElementCustom.cpp',
'bindings/v8/custom/V8HTMLCollectionCustom.cpp',
'bindings/v8/custom/V8HTMLDataGridElementCustom.cpp',
@@ -742,6 +744,8 @@
'bindings/v8/NPV8Object.cpp',
'bindings/v8/NPV8Object.h',
'bindings/v8/OwnHandle.h',
+ 'bindings/v8/RuntimeEnabledFeatures.cpp',
+ 'bindings/v8/RuntimeEnabledFeatures.h',
'bindings/v8/ScheduledAction.cpp',
'bindings/v8/ScheduledAction.h',
'bindings/v8/ScopedDOMDataStore.cpp',
@@ -1325,6 +1329,8 @@
'html/FileList.h',
'html/FormDataList.cpp',
'html/FormDataList.h',
+ 'html/HTMLAllCollection.cpp',
+ 'html/HTMLAllCollection.h',
'html/HTMLAnchorElement.cpp',
'html/HTMLAnchorElement.h',
'html/HTMLAppletElement.cpp',
@@ -1507,8 +1513,6 @@
'inspector/InspectorClient.h',
'inspector/ConsoleMessage.cpp',
'inspector/ConsoleMessage.h',
- 'inspector/DOMDispatchTimelineItem.cpp',
- 'inspector/DOMDispatchTimelineItem.h',
'inspector/InspectorBackend.cpp',
'inspector/InspectorBackend.h',
'inspector/InspectorController.cpp',
@@ -1534,8 +1538,8 @@
'inspector/JavaScriptProfile.h',
'inspector/JavaScriptProfileNode.cpp',
'inspector/JavaScriptProfileNode.h',
- 'inspector/TimelineItem.cpp',
- 'inspector/TimelineItem.h',
+ 'inspector/TimelineRecordFactory.cpp',
+ 'inspector/TimelineRecordFactory.h',
'loader/appcache/ApplicationCache.cpp',
'loader/appcache/ApplicationCache.h',
'loader/appcache/ApplicationCacheGroup.cpp',
@@ -2376,6 +2380,7 @@
'platform/network/chromium/NetworkStateNotifierChromium.cpp',
'platform/network/chromium/NetworkStateNotifierPrivate.h',
'platform/network/chromium/ResourceError.h',
+ 'platform/network/chromium/ResourceRequest.cpp',
'platform/network/chromium/ResourceRequest.h',
'platform/network/chromium/ResourceResponse.h',
'platform/network/chromium/SocketStreamError.h',
@@ -3582,6 +3587,7 @@
'webinspector_files': [
'inspector/front-end/inspector.html',
+ 'inspector/front-end/AbstractTimelinePanel.js',
'inspector/front-end/BottomUpProfileDataGridTree.js',
'inspector/front-end/Breakpoint.js',
'inspector/front-end/BreakpointsSidebarPane.js',
@@ -3605,6 +3611,7 @@
'inspector/front-end/EventListenersSidebarPane.js',
'inspector/front-end/FontView.js',
'inspector/front-end/ImageView.js',
+ 'inspector/front-end/InspectorControllerStub.js',
'inspector/front-end/InjectedScript.js',
'inspector/front-end/InjectedScriptAccess.js',
'inspector/front-end/inspector.js',
@@ -3641,6 +3648,7 @@
'inspector/front-end/TestController.js',
'inspector/front-end/TextPrompt.js',
'inspector/front-end/TimelineAgent.js',
+ 'inspector/front-end/TimelinePanel.js',
'inspector/front-end/TopDownProfileDataGridTree.js',
'inspector/front-end/treeoutline.js',
'inspector/front-end/utilities.js',
@@ -3696,6 +3704,7 @@
'inspector/front-end/Images/paneBottomGrow.png',
'inspector/front-end/Images/paneBottomGrowActive.png',
'inspector/front-end/Images/paneGrowHandleLine.png',
+ 'inspector/front-end/Images/paneSettingsButtons.png',
'inspector/front-end/Images/pauseOnExceptionButtonGlyph.png',
'inspector/front-end/Images/percentButtonGlyph.png',
'inspector/front-end/Images/profileGroupIcon.png',
@@ -3747,6 +3756,16 @@
'inspector/front-end/Images/timelineHollowPillPurple.png',
'inspector/front-end/Images/timelineHollowPillRed.png',
'inspector/front-end/Images/timelineHollowPillYellow.png',
+ 'inspector/front-end/Images/timelineIcon.png',
+ 'inspector/front-end/Images/timelineBarBlue.png',
+ 'inspector/front-end/Images/timelineBarGray.png',
+ 'inspector/front-end/Images/timelineBarGreen.png',
+ 'inspector/front-end/Images/timelineBarOrange.png',
+ 'inspector/front-end/Images/timelineBarPurple.png',
+ 'inspector/front-end/Images/timelineBarRed.png',
+ 'inspector/front-end/Images/timelineBarYellow.png',
+ 'inspector/front-end/Images/timelineCheckmarks.png',
+ 'inspector/front-end/Images/timelineDots.png',
'inspector/front-end/Images/timelinePillBlue.png',
'inspector/front-end/Images/timelinePillGray.png',
'inspector/front-end/Images/timelinePillGreen.png',
diff --git a/src/3rdparty/webkit/WebCore/WebCore.pro b/src/3rdparty/webkit/WebCore/WebCore.pro
index f321aad..4e84a80 100644
--- a/src/3rdparty/webkit/WebCore/WebCore.pro
+++ b/src/3rdparty/webkit/WebCore/WebCore.pro
@@ -87,19 +87,6 @@ win32-g++ {
QMAKE_LIBDIR_POST += $$split(TMPPATH,";")
}
-# Temporary workaround to pick up the DEF file from the same place as all the others
-symbian {
- shared {
- MMP_RULES -= defBlock
-
- MMP_RULES += "$${LITERAL_HASH}ifdef WINSCW" \
- "DEFFILE ../../../s60installs/bwins/$${TARGET}.def" \
- "$${LITERAL_HASH}elif defined EABI" \
- "DEFFILE ../../../s60installs/eabi/$${TARGET}.def" \
- "$${LITERAL_HASH}endif"
- }
-}
-
# Assume that symbian OS always comes with sqlite
symbian:!CONFIG(QTDIR_build): CONFIG += system-sqlite
@@ -407,6 +394,7 @@ IDL_BINDINGS += \
html/DataGridColumnList.idl \
html/File.idl \
html/FileList.idl \
+ html/HTMLAllCollection.idl \
html/HTMLAudioElement.idl \
html/HTMLAnchorElement.idl \
html/HTMLAppletElement.idl \
@@ -716,10 +704,10 @@ SOURCES += \
bindings/js/JSEventTarget.cpp \
bindings/js/JSExceptionBase.cpp \
bindings/js/JSGeolocationCustom.cpp \
- bindings/js/JSHTMLAllCollection.cpp \
bindings/js/JSHistoryCustom.cpp \
bindings/js/JSHTMLAppletElementCustom.cpp \
bindings/js/JSHTMLCanvasElementCustom.cpp \
+ bindings/js/JSHTMLAllCollectionCustom.cpp \
bindings/js/JSHTMLCollectionCustom.cpp \
bindings/js/JSHTMLDataGridElementCustom.cpp \
bindings/js/JSHTMLDocumentCustom.cpp \
@@ -1003,6 +991,7 @@ SOURCES += \
html/File.cpp \
html/FileList.cpp \
html/FormDataList.cpp \
+ html/HTMLAllCollection.cpp \
html/HTMLAnchorElement.cpp \
html/HTMLAppletElement.cpp \
html/HTMLAreaElement.cpp \
@@ -1088,7 +1077,6 @@ SOURCES += \
html/PreloadScanner.cpp \
html/ValidityState.cpp \
inspector/ConsoleMessage.cpp \
- inspector/DOMDispatchTimelineItem.cpp \
inspector/InspectorBackend.cpp \
inspector/InspectorController.cpp \
inspector/InspectorDatabaseResource.cpp \
@@ -1097,7 +1085,7 @@ SOURCES += \
inspector/InspectorFrontend.cpp \
inspector/InspectorResource.cpp \
inspector/InspectorTimelineAgent.cpp \
- inspector/TimelineItem.cpp \
+ inspector/TimelineRecordFactory.cpp \
loader/archive/ArchiveFactory.cpp \
loader/archive/ArchiveResource.cpp \
loader/archive/ArchiveResourceCollection.cpp \
@@ -1200,6 +1188,7 @@ SOURCES += \
platform/FileChooser.cpp \
platform/GeolocationService.cpp \
platform/image-decoders/qt/RGBA32BufferQt.cpp \
+ platform/graphics/filters/FEGaussianBlur.cpp \
platform/graphics/FontDescription.cpp \
platform/graphics/FontFamily.cpp \
platform/graphics/BitmapImage.cpp \
@@ -1415,7 +1404,6 @@ HEADERS += \
bindings/js/JSEventSourceConstructor.h \
bindings/js/JSEventTarget.h \
bindings/js/JSHistoryCustom.h \
- bindings/js/JSHTMLAllCollection.h \
bindings/js/JSHTMLAppletElementCustom.h \
bindings/js/JSHTMLEmbedElementCustom.h \
bindings/js/JSHTMLInputElementCustom.h \
@@ -1676,6 +1664,7 @@ HEADERS += \
html/File.h \
html/FileList.h \
html/FormDataList.h \
+ html/HTMLAllCollection.h \
html/HTMLAnchorElement.h \
html/HTMLAppletElement.h \
html/HTMLAreaElement.h \
@@ -1765,7 +1754,6 @@ HEADERS += \
html/TimeRanges.h \
html/ValidityState.h \
inspector/ConsoleMessage.h \
- inspector/DOMDispatchTimelineItem.h \
inspector/InspectorBackend.h \
inspector/InspectorController.h \
inspector/InspectorDatabaseResource.h \
@@ -1777,7 +1765,7 @@ HEADERS += \
inspector/JavaScriptDebugServer.h \
inspector/JavaScriptProfile.h \
inspector/JavaScriptProfileNode.h \
- inspector/TimelineItem.h \
+ inspector/TimelineRecordFactory.h \
loader/appcache/ApplicationCacheGroup.h \
loader/appcache/ApplicationCacheHost.h \
loader/appcache/ApplicationCache.h \
@@ -1886,6 +1874,7 @@ HEADERS += \
platform/graphics/filters/FEColorMatrix.h \
platform/graphics/filters/FEComponentTransfer.h \
platform/graphics/filters/FEComposite.h \
+ platform/graphics/filters/FEGaussianBlur.h \
platform/graphics/filters/FilterEffect.h \
platform/graphics/filters/SourceAlpha.h \
platform/graphics/filters/SourceGraphic.h \
@@ -2338,6 +2327,7 @@ HEADERS += \
xml/XSLTExtensions.h \
xml/XSLTProcessor.h \
xml/XSLTUnicodeSort.h \
+ $$PWD/../WebKit/qt/Api/qwebplugindatabase_p.h \
$$PWD/../WebKit/qt/WebCoreSupport/FrameLoaderClientQt.h \
$$PWD/platform/network/qt/DnsPrefetchHelper.h
@@ -2511,13 +2501,15 @@ contains(DEFINES, ENABLE_NETSCAPE_PLUGIN_API=1) {
}
win32-* {
- INCLUDEPATH += $$PWD/plugins/win
+ INCLUDEPATH += $$PWD/plugins/win \
+ $$PWD/platform/win
SOURCES += page/win/PageWin.cpp \
plugins/win/PluginDatabaseWin.cpp \
plugins/win/PluginPackageWin.cpp \
plugins/win/PluginMessageThrottlerWin.cpp \
- plugins/win/PluginViewWin.cpp
+ plugins/win/PluginViewWin.cpp \
+ platform/win/BitmapInfo.cpp
LIBS += \
-ladvapi32 \
@@ -3389,3 +3381,18 @@ CONFIG(QTDIR_build):isEqual(QT_MAJOR_VERSION, 4):greaterThan(QT_MINOR_VERSION, 4
plugins/win/PaintHooks.asm
}
}
+
+# Temporary workaround to pick up the DEF file from the same place as all the others
+symbian {
+ shared {
+ contains(MMP_RULES, defBlock) {
+ MMP_RULES -= defBlock
+
+ MMP_RULES += "$${LITERAL_HASH}ifdef WINSCW" \
+ "DEFFILE ../../../s60installs/bwins/$${TARGET}.def" \
+ "$${LITERAL_HASH}elif defined EABI" \
+ "DEFFILE ../../../s60installs/eabi/$${TARGET}.def" \
+ "$${LITERAL_HASH}endif"
+ }
+ }
+}
diff --git a/src/3rdparty/webkit/WebCore/accessibility/AccessibilityAllInOne.cpp b/src/3rdparty/webkit/WebCore/accessibility/AccessibilityAllInOne.cpp
new file mode 100755
index 0000000..83cf5d0
--- /dev/null
+++ b/src/3rdparty/webkit/WebCore/accessibility/AccessibilityAllInOne.cpp
@@ -0,0 +1,44 @@
+/*
+ * Copyright (C) 2009 Apple 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.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``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 APPLE INC. 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 all-in-one cpp file cuts down on template bloat to allow us to build our Windows release build.
+
+#include <AccessibilityARIAGrid.cpp>
+#include <AccessibilityARIAGridCell.cpp>
+#include <AccessibilityARIAGridRow.cpp>
+#include <AccessibilityImageMapLink.cpp>
+#include <AccessibilityList.cpp>
+#include <AccessibilityListBox.cpp>
+#include <AccessibilityListBoxOption.cpp>
+#include <AccessibilityMediaControls.cpp>
+#include <AccessibilityObject.cpp>
+#include <AccessibilityRenderObject.cpp>
+#include <AccessibilitySlider.cpp>
+#include <AccessibilityTable.cpp>
+#include <AccessibilityTableCell.cpp>
+#include <AccessibilityTableColumn.cpp>
+#include <AccessibilityTableHeaderContainer.cpp>
+#include <AccessibilityTableRow.cpp>
+#include <AXObjectCache.cpp>
diff --git a/src/3rdparty/webkit/WebCore/accessibility/AccessibilityListBoxOption.h b/src/3rdparty/webkit/WebCore/accessibility/AccessibilityListBoxOption.h
index 1b588cd..933cdeb 100644
--- a/src/3rdparty/webkit/WebCore/accessibility/AccessibilityListBoxOption.h
+++ b/src/3rdparty/webkit/WebCore/accessibility/AccessibilityListBoxOption.h
@@ -68,6 +68,7 @@ public:
private:
HTMLElement* m_optionElement;
+ virtual bool canHaveChildren() const { return false; }
HTMLSelectElement* listBoxOptionParentNode() const;
int listBoxOptionIndex() const;
IntRect listBoxOptionRect() const;
diff --git a/src/3rdparty/webkit/WebCore/accessibility/AccessibilityObject.h b/src/3rdparty/webkit/WebCore/accessibility/AccessibilityObject.h
index c5ba1ed..8fc40e8 100644
--- a/src/3rdparty/webkit/WebCore/accessibility/AccessibilityObject.h
+++ b/src/3rdparty/webkit/WebCore/accessibility/AccessibilityObject.h
@@ -160,6 +160,7 @@ enum AccessibilityRole {
DefinitionListDefinitionRole,
AnnotationRole,
SliderThumbRole,
+ IgnoredRole,
// ARIA Grouping roles
LandmarkApplicationRole,
@@ -188,6 +189,12 @@ enum AccessibilityOrientation {
AccessibilityOrientationHorizontal,
};
+enum AccessibilityObjectPlatformInclusion {
+ IncludeObject,
+ IgnoreObject,
+ DefaultBehavior,
+};
+
struct VisiblePositionRange {
VisiblePosition start;
@@ -459,6 +466,13 @@ public:
bool accessibilityIgnoreAttachment() const { return true; }
#endif
+ // gives platforms the opportunity to indicate if and how an object should be included
+#if HAVE(ACCESSIBILITY)
+ AccessibilityObjectPlatformInclusion accessibilityPlatformIncludesObject() const;
+#else
+ AccessibilityObjectPlatformInclusion accessibilityPlatformIncludesObject() const { return DefaultBehavior; }
+#endif
+
// allows for an AccessibilityObject to update its render tree or perform
// other operations update type operations
virtual void updateBackingStore() { }
diff --git a/src/3rdparty/webkit/WebCore/accessibility/AccessibilityRenderObject.cpp b/src/3rdparty/webkit/WebCore/accessibility/AccessibilityRenderObject.cpp
index 834e931..4c50b9a 100644
--- a/src/3rdparty/webkit/WebCore/accessibility/AccessibilityRenderObject.cpp
+++ b/src/3rdparty/webkit/WebCore/accessibility/AccessibilityRenderObject.cpp
@@ -1258,6 +1258,14 @@ bool AccessibilityRenderObject::ariaIsHidden() const
bool AccessibilityRenderObject::accessibilityIsIgnored() const
{
+ // is the platform is interested in this object?
+ AccessibilityObjectPlatformInclusion decision = accessibilityPlatformIncludesObject();
+ if (decision == IncludeObject)
+ return false;
+ if (decision == IgnoreObject)
+ return true;
+ // the decision must, therefore, be DefaultBehavior.
+
// ignore invisible element
if (!m_renderer || m_renderer->style()->visibility() != VISIBLE)
return true;
@@ -1268,6 +1276,9 @@ bool AccessibilityRenderObject::accessibilityIsIgnored() const
if (isPresentationalChildOfAriaRole())
return true;
+ if (roleValue() == IgnoredRole)
+ return true;
+
// ignore popup menu items because AppKit does
for (RenderObject* parent = m_renderer->parent(); parent; parent = parent->parent()) {
if (parent->isMenuList())
@@ -2212,6 +2223,21 @@ AccessibilityObject* AccessibilityRenderObject::correspondingControlForLabelElem
return axObjectCache()->getOrCreate(correspondingControl->renderer());
}
+AccessibilityObject* AccessibilityRenderObject::correspondingLabelForControlElement() const
+{
+ if (!m_renderer)
+ return 0;
+
+ Node* node = m_renderer->node();
+ if (node && node->isHTMLElement()) {
+ HTMLLabelElement* label = labelForElement(static_cast<Element*>(node));
+ if (label)
+ return axObjectCache()->getOrCreate(label->renderer());
+ }
+
+ return 0;
+}
+
AccessibilityObject* AccessibilityRenderObject::observableObject() const
{
for (RenderObject* renderer = m_renderer; renderer && renderer->node(); renderer = renderer->parent()) {
@@ -2224,13 +2250,13 @@ AccessibilityObject* AccessibilityRenderObject::observableObject() const
typedef HashMap<String, AccessibilityRole, CaseFoldingHash> ARIARoleMap;
+struct RoleEntry {
+ String ariaRole;
+ AccessibilityRole webcoreRole;
+};
+
static const ARIARoleMap& createARIARoleMap()
{
- struct RoleEntry {
- String ariaRole;
- AccessibilityRole webcoreRole;
- };
-
const RoleEntry roles[] = {
{ "application", LandmarkApplicationRole },
{ "article", DocumentArticleRole },
@@ -2263,6 +2289,8 @@ static const ARIARoleMap& createARIARoleMap()
{ "menuitemradio", MenuItemRole },
{ "note", DocumentNoteRole },
{ "navigation", LandmarkNavigationRole },
+ { "option", ListBoxOptionRole },
+ { "presentation", IgnoredRole },
{ "progressbar", ProgressIndicatorRole },
{ "radio", RadioButtonRole },
{ "radiogroup", RadioGroupRole },
@@ -2508,6 +2536,8 @@ bool AccessibilityRenderObject::canHaveChildren() const
case PopUpButtonRole:
case CheckBoxRole:
case RadioButtonRole:
+ case StaticTextRole:
+ case ListBoxOptionRole:
return false;
default:
return true;
@@ -2561,7 +2591,7 @@ void AccessibilityRenderObject::addChildren()
for (Node* current = map->firstChild(); current; current = current->traverseNextNode(map)) {
// add an <area> element for this child if it has a link
- if (current->isLink()) {
+ if (current->hasTagName(areaTag) && current->isLink()) {
AccessibilityImageMapLink* areaObject = static_cast<AccessibilityImageMapLink*>(m_renderer->document()->axObjectCache()->getOrCreate(ImageMapLinkRole));
areaObject->setHTMLAreaElement(static_cast<HTMLAreaElement*>(current));
areaObject->setHTMLMapElement(map);
diff --git a/src/3rdparty/webkit/WebCore/accessibility/AccessibilityRenderObject.h b/src/3rdparty/webkit/WebCore/accessibility/AccessibilityRenderObject.h
index d82ca71..c6fd748 100644
--- a/src/3rdparty/webkit/WebCore/accessibility/AccessibilityRenderObject.h
+++ b/src/3rdparty/webkit/WebCore/accessibility/AccessibilityRenderObject.h
@@ -134,6 +134,7 @@ public:
virtual bool exposesTitleUIElement() const;
virtual AccessibilityObject* titleUIElement() const;
virtual AccessibilityObject* correspondingControlForLabelElement() const;
+ virtual AccessibilityObject* correspondingLabelForControlElement() const;
virtual AccessibilityRole ariaRoleAttribute() const;
virtual bool isPresentationalChildOfAriaRole() const;
diff --git a/src/3rdparty/webkit/WebCore/accessibility/qt/AccessibilityObjectQt.cpp b/src/3rdparty/webkit/WebCore/accessibility/qt/AccessibilityObjectQt.cpp
index 1710027..07f13d4 100644
--- a/src/3rdparty/webkit/WebCore/accessibility/qt/AccessibilityObjectQt.cpp
+++ b/src/3rdparty/webkit/WebCore/accessibility/qt/AccessibilityObjectQt.cpp
@@ -29,6 +29,11 @@ bool AccessibilityObject::accessibilityIgnoreAttachment() const
return false;
}
+AccessibilityObjectPlatformInclusion AccessibilityObject::accessibilityPlatformIncludesObject() const
+{
+ return DefaultBehavior;
+}
+
} // namespace WebCore
#endif // HAVE(ACCESSIBILITY)
diff --git a/src/3rdparty/webkit/WebCore/bindings/ScriptControllerBase.cpp b/src/3rdparty/webkit/WebCore/bindings/ScriptControllerBase.cpp
index 4d73d83..7dc68ef 100644
--- a/src/3rdparty/webkit/WebCore/bindings/ScriptControllerBase.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/ScriptControllerBase.cpp
@@ -53,6 +53,7 @@ ScriptValue ScriptController::executeScript(const ScriptSourceCode& sourceCode)
return result;
}
+
bool ScriptController::executeIfJavaScriptURL(const KURL& url, bool userGesture, bool replaceDocument)
{
if (!protocolIsJavaScript(url))
@@ -61,6 +62,9 @@ bool ScriptController::executeIfJavaScriptURL(const KURL& url, bool userGesture,
if (m_frame->page() && !m_frame->page()->javaScriptURLsAreAllowed())
return true;
+ if (m_frame->inViewSourceMode())
+ return true;
+
const int javascriptSchemeLength = sizeof("javascript:") - 1;
String script = decodeURLEscapeSequences(url.string().substring(javascriptSchemeLength));
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSAbstractWorkerCustom.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSAbstractWorkerCustom.cpp
index a6cbd91..6eca7bd 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSAbstractWorkerCustom.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSAbstractWorkerCustom.cpp
@@ -50,7 +50,7 @@ JSValue JSAbstractWorker::addEventListener(ExecState* exec, const ArgList& args)
if (!listener.isObject())
return jsUndefined();
- impl()->addEventListener(args.at(0).toString(exec), JSEventListener::create(asObject(listener), false), args.at(2).toBoolean(exec));
+ impl()->addEventListener(args.at(0).toString(exec), JSEventListener::create(asObject(listener), false, currentWorld(exec)), args.at(2).toBoolean(exec));
return jsUndefined();
}
@@ -60,7 +60,7 @@ JSValue JSAbstractWorker::removeEventListener(ExecState* exec, const ArgList& ar
if (!listener.isObject())
return jsUndefined();
- impl()->removeEventListener(args.at(0).toString(exec), JSEventListener::create(asObject(listener), false).get(), args.at(2).toBoolean(exec));
+ impl()->removeEventListener(args.at(0).toString(exec), JSEventListener::create(asObject(listener), false, currentWorld(exec)).get(), args.at(2).toBoolean(exec));
return jsUndefined();
}
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSBindingsAllInOne.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSBindingsAllInOne.cpp
new file mode 100644
index 0000000..f08303a
--- /dev/null
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSBindingsAllInOne.cpp
@@ -0,0 +1,150 @@
+/*
+ * Copyright (C) 2009 Apple 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.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``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 APPLE INC. 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 all-in-one cpp file cuts down on template bloat to allow us to build our Windows release build.
+
+#include "GCController.cpp"
+#include "JSAbstractWorkerCustom.cpp"
+#include "JSAttrCustom.cpp"
+#include "JSAudioConstructor.cpp"
+#include "JSCDATASectionCustom.cpp"
+#include "JSCSSRuleCustom.cpp"
+#include "JSCSSRuleListCustom.cpp"
+#include "JSCSSStyleDeclarationCustom.cpp"
+#include "JSCSSValueCustom.cpp"
+#include "JSCallbackData.cpp"
+#include "JSCanvasRenderingContext2DCustom.cpp"
+#include "JSCanvasRenderingContextCustom.cpp"
+#include "JSClipboardCustom.cpp"
+#include "JSConsoleCustom.cpp"
+#include "JSCoordinatesCustom.cpp"
+#include "JSCustomSQLStatementCallback.cpp"
+#include "JSCustomSQLStatementErrorCallback.cpp"
+#include "JSCustomSQLTransactionCallback.cpp"
+#include "JSCustomSQLTransactionErrorCallback.cpp"
+#include "JSCustomVoidCallback.cpp"
+#include "JSCustomXPathNSResolver.cpp"
+#include "JSDOMApplicationCacheCustom.cpp"
+#include "JSDOMBinding.cpp"
+#include "JSDOMGlobalObject.cpp"
+#include "JSDOMWindowBase.cpp"
+#include "JSDOMWindowCustom.cpp"
+#include "JSDOMWindowShell.cpp"
+#include "JSDataGridColumnListCustom.cpp"
+#include "JSDataGridDataSource.cpp"
+#include "JSDatabaseCustom.cpp"
+#include "JSDedicatedWorkerContextCustom.cpp"
+#include "JSDesktopNotificationsCustom.cpp"
+#include "JSDocumentCustom.cpp"
+#include "JSDocumentFragmentCustom.cpp"
+#include "JSElementCustom.cpp"
+#include "JSEventCustom.cpp"
+#include "JSEventListener.cpp"
+#include "JSEventSourceConstructor.cpp"
+#include "JSEventSourceCustom.cpp"
+#include "JSEventTarget.cpp"
+#include "JSExceptionBase.cpp"
+#include "JSHTMLAllCollectionCustom.cpp"
+#include "JSHTMLAppletElementCustom.cpp"
+#include "JSHTMLCanvasElementCustom.cpp"
+#include "JSHTMLCollectionCustom.cpp"
+#include "JSHTMLDataGridElementCustom.cpp"
+#include "JSHTMLDocumentCustom.cpp"
+#include "JSHTMLElementCustom.cpp"
+#include "JSHTMLEmbedElementCustom.cpp"
+#include "JSHTMLFormElementCustom.cpp"
+#include "JSHTMLFrameElementCustom.cpp"
+#include "JSHTMLFrameSetElementCustom.cpp"
+#include "JSHTMLIFrameElementCustom.cpp"
+#include "JSHTMLInputElementCustom.cpp"
+#include "JSHTMLObjectElementCustom.cpp"
+#include "JSHTMLOptionsCollectionCustom.cpp"
+#include "JSHTMLSelectElementCustom.cpp"
+#include "JSHistoryCustom.cpp"
+#include "JSImageConstructor.cpp"
+#include "JSImageDataCustom.cpp"
+#include "JSInspectedObjectWrapper.cpp"
+#include "JSInspectorBackendCustom.cpp"
+#include "JSJavaScriptCallFrameCustom.cpp"
+#include "JSLazyEventListener.cpp"
+#include "JSLocationCustom.cpp"
+#include "JSMessageChannelConstructor.cpp"
+#include "JSMessageChannelCustom.cpp"
+#include "JSMessageEventCustom.cpp"
+#include "JSMessagePortCustom.cpp"
+#include "JSMimeTypeArrayCustom.cpp"
+#include "JSNamedNodeMapCustom.cpp"
+#include "JSNavigatorCustom.cpp"
+#include "JSNodeCustom.cpp"
+#include "JSNodeFilterCondition.cpp"
+#include "JSNodeFilterCustom.cpp"
+#include "JSNodeIteratorCustom.cpp"
+#include "JSNodeListCustom.cpp"
+#include "JSOptionConstructor.cpp"
+#include "JSPluginArrayCustom.cpp"
+#include "JSPluginCustom.cpp"
+#include "JSPluginElementFunctions.cpp"
+#include "JSQuarantinedObjectWrapper.cpp"
+#include "JSSQLResultSetRowListCustom.cpp"
+#include "JSSQLTransactionCustom.cpp"
+#include "JSSVGElementInstanceCustom.cpp"
+#include "JSSVGLengthCustom.cpp"
+#include "JSSVGMatrixCustom.cpp"
+#include "JSSVGPathSegCustom.cpp"
+#include "JSSVGPathSegListCustom.cpp"
+#include "JSSVGPointListCustom.cpp"
+#include "JSSharedWorkerConstructor.cpp"
+#include "JSSharedWorkerCustom.cpp"
+#include "JSStorageCustom.cpp"
+#include "JSStyleSheetCustom.cpp"
+#include "JSStyleSheetListCustom.cpp"
+#include "JSTextCustom.cpp"
+#include "JSTreeWalkerCustom.cpp"
+#include "JSWebKitCSSMatrixConstructor.cpp"
+#include "JSWebKitPointConstructor.cpp"
+#include "JSWebSocketConstructor.cpp"
+#include "JSWebSocketCustom.cpp"
+#include "JSWorkerConstructor.cpp"
+#include "JSWorkerContextBase.cpp"
+#include "JSWorkerContextCustom.cpp"
+#include "JSWorkerCustom.cpp"
+#include "JSXMLHttpRequestConstructor.cpp"
+#include "JSXMLHttpRequestCustom.cpp"
+#include "JSXMLHttpRequestUploadCustom.cpp"
+#include "JSXSLTProcessorConstructor.cpp"
+#include "JSXSLTProcessorCustom.cpp"
+#include "ScheduledAction.cpp"
+#include "ScriptArray.cpp"
+#include "ScriptCachedFrameData.cpp"
+#include "ScriptCallFrame.cpp"
+#include "ScriptCallStack.cpp"
+#include "ScriptController.cpp"
+#include "ScriptControllerWin.cpp"
+#include "ScriptEventListener.cpp"
+#include "ScriptFunctionCall.cpp"
+#include "ScriptObjectQuarantine.cpp"
+#include "ScriptState.cpp"
+#include "SerializedScriptValue.cpp"
+#include "WorkerScriptController.cpp"
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSCallbackData.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSCallbackData.cpp
index d08f760..38292c7 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSCallbackData.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSCallbackData.cpp
@@ -48,7 +48,12 @@ JSValue JSCallbackData::invokeCallback(MarkedArgumentBuffer& args, bool* raisedE
ExecState* exec = globalObject()->globalExec();
- JSValue function = callback()->get(exec, Identifier(exec, "handleEvent"));
+ JSValue function;
+ {
+ // Switch worlds, just in case handleEvent is a getter and causes JS execution!
+ EnterDOMWrapperWorld worldEntry(exec, m_isolatedWorld.get());
+ function = callback()->get(exec, Identifier(exec, "handleEvent"));
+ }
CallData callData;
CallType callType = function.getCallData(callData);
if (callType == CallTypeNone) {
@@ -59,7 +64,7 @@ JSValue JSCallbackData::invokeCallback(MarkedArgumentBuffer& args, bool* raisedE
}
globalObject()->globalData()->timeoutChecker.start();
- JSValue result = call(exec, function, callType, callData, callback(), args);
+ JSValue result = callInWorld(exec, function, callType, callData, callback(), args, m_isolatedWorld.get());
globalObject()->globalData()->timeoutChecker.stop();
Document::updateStyleForAllDocuments();
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSCallbackData.h b/src/3rdparty/webkit/WebCore/bindings/js/JSCallbackData.h
index 4fc9f84..5c86701 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSCallbackData.h
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSCallbackData.h
@@ -29,6 +29,7 @@
#ifndef JSCallbackData_h
#define JSCallbackData_h
+#include "JSDOMBinding.h"
#include "JSDOMGlobalObject.h"
#include <runtime/JSObject.h>
#include <runtime/Protect.h>
@@ -47,6 +48,7 @@ public:
JSCallbackData(JSC::JSObject* callback, JSDOMGlobalObject* globalObject)
: m_callback(callback)
, m_globalObject(globalObject)
+ , m_isolatedWorld(currentWorld(globalObject->globalExec()))
{
}
@@ -63,6 +65,7 @@ public:
private:
JSC::ProtectedPtr<JSC::JSObject> m_callback;
JSC::ProtectedPtr<JSDOMGlobalObject> m_globalObject;
+ RefPtr<DOMWrapperWorld> m_isolatedWorld;
};
} // namespace WebCore
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSCustomXPathNSResolver.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSCustomXPathNSResolver.cpp
index da4a53a..c2884d7 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSCustomXPathNSResolver.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSCustomXPathNSResolver.cpp
@@ -90,7 +90,7 @@ String JSCustomXPathNSResolver::lookupNamespaceURI(const String& prefix)
args.append(jsString(exec, prefix));
m_globalObject->globalData()->timeoutChecker.start();
- JSValue retval = call(exec, function, callType, callData, m_customResolver, args);
+ JSValue retval = callInWorld(exec, function, callType, callData, m_customResolver, args, currentWorld(m_globalObject->globalExec()));
m_globalObject->globalData()->timeoutChecker.stop();
String result;
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSDOMApplicationCacheCustom.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSDOMApplicationCacheCustom.cpp
index 8634589..91ee51a 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSDOMApplicationCacheCustom.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSDOMApplicationCacheCustom.cpp
@@ -91,7 +91,7 @@ JSValue JSDOMApplicationCache::addEventListener(ExecState* exec, const ArgList&
if (!listener.isObject())
return jsUndefined();
- impl()->addEventListener(args.at(0).toString(exec), JSEventListener::create(asObject(listener), false), args.at(2).toBoolean(exec));
+ impl()->addEventListener(args.at(0).toString(exec), JSEventListener::create(asObject(listener), false, currentWorld(exec)), args.at(2).toBoolean(exec));
return jsUndefined();
}
@@ -101,7 +101,7 @@ JSValue JSDOMApplicationCache::removeEventListener(ExecState* exec, const ArgLis
if (!listener.isObject())
return jsUndefined();
- impl()->removeEventListener(args.at(0).toString(exec), JSEventListener::create(asObject(listener), false).get(), args.at(2).toBoolean(exec));
+ impl()->removeEventListener(args.at(0).toString(exec), JSEventListener::create(asObject(listener), false, currentWorld(exec)).get(), args.at(2).toBoolean(exec));
return jsUndefined();
}
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSDOMBinding.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSDOMBinding.cpp
index 8168323..ef69c7b 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSDOMBinding.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSDOMBinding.cpp
@@ -21,6 +21,8 @@
#include "config.h"
#include "JSDOMBinding.h"
+#include "debugger/DebuggerCallFrame.h"
+
#include "ActiveDOMObject.h"
#include "DOMCoreException.h"
#include "Document.h"
@@ -44,6 +46,7 @@
#include "MessagePort.h"
#include "RangeException.h"
#include "ScriptController.h"
+#include "Settings.h"
#include "XMLHttpRequestException.h"
#include <runtime/Error.h>
#include <runtime/JSFunction.h>
@@ -72,6 +75,7 @@ namespace WebCore {
using namespace HTMLNames;
typedef Document::JSWrapperCache JSWrapperCache;
+typedef Document::JSWrapperCacheMap JSWrapperCacheMap;
// For debugging, keep a set of wrappers currently registered, and check that
// all are unregistered before they are destroyed. This has helped us fix at
@@ -80,6 +84,7 @@ typedef Document::JSWrapperCache JSWrapperCache;
static void addWrapper(DOMObject* wrapper);
static void removeWrapper(DOMObject* wrapper);
static void removeWrappers(const JSWrapperCache& wrappers);
+static void removeWrappers(const DOMObjectWrapperMap& wrappers);
#ifdef NDEBUG
@@ -95,6 +100,10 @@ static inline void removeWrappers(const JSWrapperCache&)
{
}
+static inline void removeWrappers(const DOMObjectWrapperMap&)
+{
+}
+
#else
static HashSet<DOMObject*>& wrapperSet()
@@ -124,7 +133,15 @@ static void removeWrapper(DOMObject* wrapper)
static void removeWrappers(const JSWrapperCache& wrappers)
{
- for (JSWrapperCache::const_iterator it = wrappers.begin(); it != wrappers.end(); ++it)
+ JSWrapperCache::const_iterator wrappersEnd = wrappers.end();
+ for (JSWrapperCache::const_iterator it = wrappers.begin(); it != wrappersEnd; ++it)
+ removeWrapper(it->second);
+}
+
+static inline void removeWrappers(const DOMObjectWrapperMap& wrappers)
+{
+ DOMObjectWrapperMap::const_iterator wrappersEnd = wrappers.end();
+ for (DOMObjectWrapperMap::const_iterator it = wrappers.begin(); it != wrappersEnd; ++it)
removeWrapper(it->second);
}
@@ -135,67 +152,120 @@ DOMObject::~DOMObject()
#endif
-class DOMObjectWrapperMap {
-public:
- static DOMObjectWrapperMap& mapFor(JSGlobalData&);
+DOMWrapperWorld::DOMWrapperWorld(JSC::JSGlobalData* globalData)
+ : m_globalData(globalData)
+{
+}
+
+DOMWrapperWorld::~DOMWrapperWorld()
+{
+ JSGlobalData::ClientData* clientData = m_globalData->clientData;
+ ASSERT(clientData);
+ static_cast<WebCoreJSClientData*>(clientData)->forgetWorld(this);
+
+ removeWrappers(m_wrappers);
- DOMObject* get(void* objectHandle)
+ for (HashSet<Document*>::iterator iter = documentsWithWrappers.begin(); iter != documentsWithWrappers.end(); ++iter)
+ forgetWorldOfDOMNodesForDocument(*iter, this);
+ for (HashSet<ScriptController*>::iterator iter = scriptControllersWithShells.begin(); iter != scriptControllersWithShells.end(); ++iter)
+ (*iter)->forgetWorld(this);
+}
+
+EnterDOMWrapperWorld::EnterDOMWrapperWorld(JSC::JSGlobalData& globalData, DOMWrapperWorld* isolatedWorld)
+{
+ JSGlobalData::ClientData* clientData = globalData.clientData;
+ ASSERT(clientData);
+ m_clientData = static_cast<WebCoreJSClientData*>(clientData);
+ m_clientData->m_worldStack.append(isolatedWorld);
+}
+
+EnterDOMWrapperWorld::EnterDOMWrapperWorld(JSC::ExecState* exec, DOMWrapperWorld* isolatedWorld)
+{
+ JSGlobalData::ClientData* clientData = exec->globalData().clientData;
+ ASSERT(clientData);
+ m_clientData = static_cast<WebCoreJSClientData*>(clientData);
+ m_clientData->m_worldStack.append(isolatedWorld);
+}
+
+EnterDOMWrapperWorld::~EnterDOMWrapperWorld()
+{
+ m_clientData->m_worldStack.removeLast();
+}
+
+class JSGlobalDataWorldIterator {
+public:
+ JSGlobalDataWorldIterator(JSGlobalData* globalData)
+ : m_pos(static_cast<WebCoreJSClientData*>(globalData->clientData)->m_worldSet.begin())
+ , m_end(static_cast<WebCoreJSClientData*>(globalData->clientData)->m_worldSet.end())
{
- return m_map.get(objectHandle);
}
- void set(void* objectHandle, DOMObject* wrapper)
+ operator bool()
{
- addWrapper(wrapper);
- m_map.set(objectHandle, wrapper);
+ return m_pos != m_end;
}
- void remove(void* objectHandle)
+ DOMWrapperWorld* operator*()
{
- removeWrapper(m_map.take(objectHandle));
+ ASSERT(m_pos != m_end);
+ return *m_pos;
}
-private:
- HashMap<void*, DOMObject*> m_map;
-};
-
-// Map from static HashTable instances to per-GlobalData ones.
-class DOMObjectHashTableMap {
-public:
- static DOMObjectHashTableMap& mapFor(JSGlobalData&);
-
- ~DOMObjectHashTableMap()
+ DOMWrapperWorld* operator->()
{
- HashMap<const JSC::HashTable*, JSC::HashTable>::iterator mapEnd = m_map.end();
- for (HashMap<const JSC::HashTable*, JSC::HashTable>::iterator iter = m_map.begin(); iter != m_map.end(); ++iter)
- iter->second.deleteTable();
+ ASSERT(m_pos != m_end);
+ return *m_pos;
}
- const JSC::HashTable* get(const JSC::HashTable* staticTable)
+ JSGlobalDataWorldIterator& operator++()
{
- HashMap<const JSC::HashTable*, JSC::HashTable>::iterator iter = m_map.find(staticTable);
- if (iter != m_map.end())
- return &iter->second;
- return &m_map.set(staticTable, JSC::HashTable(*staticTable)).first->second;
+ ++m_pos;
+ return *this;
}
private:
- HashMap<const JSC::HashTable*, JSC::HashTable> m_map;
+ HashSet<DOMWrapperWorld*>::iterator m_pos;
+ HashSet<DOMWrapperWorld*>::iterator m_end;
};
-class WebCoreJSClientData : public JSGlobalData::ClientData {
-public:
- DOMObjectHashTableMap hashTableMap;
- DOMObjectWrapperMap wrapperMap;
-};
+static inline DOMWrapperWorld* currentWorld(JSC::JSGlobalData& globalData)
+{
+ JSGlobalData::ClientData* clientData = globalData.clientData;
+ ASSERT(clientData);
+ return static_cast<WebCoreJSClientData*>(clientData)->currentWorld();
+}
+
+DOMWrapperWorld* currentWorld(JSC::ExecState* exec)
+{
+ return currentWorld(exec->globalData());
+}
+
+DOMWrapperWorld* normalWorld(JSC::JSGlobalData& globalData)
+{
+ JSGlobalData::ClientData* clientData = globalData.clientData;
+ ASSERT(clientData);
+ return static_cast<WebCoreJSClientData*>(clientData)->normalWorld();
+}
+
+DOMWrapperWorld* mainThreadNormalWorld()
+{
+ ASSERT(isMainThread());
+ return normalWorld(*JSDOMWindow::commonJSGlobalData());
+}
+
+DOMWrapperWorld* mainThreadCurrentWorld()
+{
+ ASSERT(isMainThread());
+
+ JSGlobalData::ClientData* clientData = JSDOMWindowBase::commonJSGlobalData()->clientData;
+ ASSERT(clientData);
+ return static_cast<WebCoreJSClientData*>(clientData)->currentWorld();
+}
DOMObjectHashTableMap& DOMObjectHashTableMap::mapFor(JSGlobalData& globalData)
{
JSGlobalData::ClientData* clientData = globalData.clientData;
- if (!clientData) {
- clientData = new WebCoreJSClientData;
- globalData.clientData = clientData;
- }
+ ASSERT(clientData);
return static_cast<WebCoreJSClientData*>(clientData)->hashTableMap;
}
@@ -204,64 +274,102 @@ const JSC::HashTable* getHashTableForGlobalData(JSGlobalData& globalData, const
return DOMObjectHashTableMap::mapFor(globalData).get(staticTable);
}
-inline DOMObjectWrapperMap& DOMObjectWrapperMap::mapFor(JSGlobalData& globalData)
+//inline DOMObjectWrapperMap& DOMObjectWrapperMap::mapFor(JSGlobalData& globalData)
+inline DOMObjectWrapperMap& DOMObjectWrapperMapFor(JSGlobalData& globalData)
{
- JSGlobalData::ClientData* clientData = globalData.clientData;
- if (!clientData) {
- clientData = new WebCoreJSClientData;
- globalData.clientData = clientData;
- }
- return static_cast<WebCoreJSClientData*>(clientData)->wrapperMap;
+ return currentWorld(globalData)->m_wrappers;
}
DOMObject* getCachedDOMObjectWrapper(JSGlobalData& globalData, void* objectHandle)
{
- return DOMObjectWrapperMap::mapFor(globalData).get(objectHandle);
+ return DOMObjectWrapperMapFor(globalData).get(objectHandle);
}
void cacheDOMObjectWrapper(JSGlobalData& globalData, void* objectHandle, DOMObject* wrapper)
{
- DOMObjectWrapperMap::mapFor(globalData).set(objectHandle, wrapper);
+ addWrapper(wrapper);
+ DOMObjectWrapperMapFor(globalData).set(objectHandle, wrapper);
}
-void forgetDOMObject(JSGlobalData& globalData, void* objectHandle)
+JSNode* getCachedDOMNodeWrapper(Document* document, Node* node)
{
- DOMObjectWrapperMap::mapFor(globalData).remove(objectHandle);
+ if (document)
+ return document->getWrapperCache(mainThreadCurrentWorld())->get(node);
+ return static_cast<JSNode*>(DOMObjectWrapperMapFor(*JSDOMWindow::commonJSGlobalData()).get(node));
}
-JSNode* getCachedDOMNodeWrapper(Document* document, Node* node)
+void forgetDOMObject(DOMObject* wrapper, void* objectHandle)
{
- if (!document)
- return static_cast<JSNode*>(DOMObjectWrapperMap::mapFor(*JSDOMWindow::commonJSGlobalData()).get(node));
- return document->wrapperCache().get(node);
+ JSC::JSGlobalData* globalData = Heap::heap(wrapper)->globalData();
+ for (JSGlobalDataWorldIterator worldIter(globalData); worldIter; ++worldIter) {
+ DOMObjectWrapperMap& wrappers = worldIter->m_wrappers;
+ DOMObjectWrapperMap::iterator iter = wrappers.find(objectHandle);
+ if ((iter != wrappers.end()) && (iter->second == wrapper)) {
+ removeWrapper(wrapper);
+ wrappers.remove(iter);
+ return;
+ }
+ }
+
+ // If the world went away, it should have removed this wrapper from the set.
+ ASSERT(!wrapperSet().contains(wrapper));
}
-void forgetDOMNode(Document* document, Node* node)
+void forgetDOMNode(DOMObject* wrapper, Node* node, Document* document)
{
if (!document) {
- DOMObjectWrapperMap::mapFor(*JSDOMWindow::commonJSGlobalData()).remove(node);
+ forgetDOMObject(wrapper, node);
return;
}
- removeWrapper(document->wrapperCache().take(node));
+
+ JSWrapperCacheMap& wrapperCacheMap = document->wrapperCacheMap();
+ for (JSWrapperCacheMap::iterator wrappersIter = wrapperCacheMap.begin(); wrappersIter != wrapperCacheMap.end(); ++wrappersIter) {
+ JSWrapperCache* wrappers = wrappersIter->second;
+ JSWrapperCache::iterator iter = wrappers->find(node);
+ if ((iter != wrappers->end()) && (iter->second == wrapper)) {
+ wrappers->remove(iter);
+ removeWrapper(wrapper);
+ return;
+ }
+ }
+
+ // If the world went away, it should have removed this wrapper from the set.
+ ASSERT(!wrapperSet().contains(wrapper));
}
void cacheDOMNodeWrapper(Document* document, Node* node, JSNode* wrapper)
{
if (!document) {
- DOMObjectWrapperMap::mapFor(*JSDOMWindow::commonJSGlobalData()).set(node, wrapper);
+ addWrapper(wrapper);
+ DOMObjectWrapperMapFor(*JSDOMWindow::commonJSGlobalData()).set(node, wrapper);
return;
}
addWrapper(wrapper);
- document->wrapperCache().set(node, wrapper);
+ document->getWrapperCache(mainThreadCurrentWorld())->set(node, wrapper);
}
void forgetAllDOMNodesForDocument(Document* document)
{
ASSERT(document);
- removeWrappers(document->wrapperCache());
+ JSWrapperCacheMap& wrapperCacheMap = document->wrapperCacheMap();
+ JSWrapperCacheMap::const_iterator wrappersMapEnd = wrapperCacheMap.end();
+ for (JSWrapperCacheMap::const_iterator wrappersMapIter = wrapperCacheMap.begin(); wrappersMapIter != wrappersMapEnd; ++wrappersMapIter) {
+ JSWrapperCache* wrappers = wrappersMapIter->second;
+ removeWrappers(*wrappers);
+ delete wrappers;
+ wrappersMapIter->first->forgetDocument(document);
+ }
+}
+
+void forgetWorldOfDOMNodesForDocument(Document* document, DOMWrapperWorld* world)
+{
+ JSWrapperCache* wrappers = document->wrapperCacheMap().take(world);
+ ASSERT(wrappers); // 'world' should only know about 'document' if 'document' knows about 'world'!
+ removeWrappers(*wrappers);
+ delete wrappers;
}
-static inline bool isObservableThroughDOM(JSNode* jsNode)
+static inline bool isObservableThroughDOM(JSNode* jsNode, DOMWrapperWorld* world)
{
// Certain conditions implicitly make a JS DOM node wrapper observable
// through the DOM, even if no explicit reference to it remains.
@@ -287,14 +395,14 @@ static inline bool isObservableThroughDOM(JSNode* jsNode)
// the custom markChildren functions rather than here.
if (node->isElementNode()) {
if (NamedNodeMap* attributes = static_cast<Element*>(node)->attributeMap()) {
- if (DOMObject* wrapper = getCachedDOMObjectWrapper(*jsNode->globalObject()->globalData(), attributes)) {
+ if (DOMObject* wrapper = world->m_wrappers.get(attributes)) {
if (wrapper->hasCustomProperties())
return true;
}
}
if (node->isStyledElement()) {
if (CSSMutableStyleDeclaration* style = static_cast<StyledElement*>(node)->inlineStyleDecl()) {
- if (DOMObject* wrapper = getCachedDOMObjectWrapper(*jsNode->globalObject()->globalData(), style)) {
+ if (DOMObject* wrapper = world->m_wrappers.get(style)) {
if (wrapper->hasCustomProperties())
return true;
}
@@ -302,7 +410,7 @@ static inline bool isObservableThroughDOM(JSNode* jsNode)
}
if (static_cast<Element*>(node)->hasTagName(canvasTag)) {
if (CanvasRenderingContext* context = static_cast<HTMLCanvasElement*>(node)->renderingContext()) {
- if (DOMObject* wrapper = getCachedDOMObjectWrapper(*jsNode->globalObject()->globalData(), context)) {
+ if (DOMObject* wrapper = world->m_wrappers.get(context)) {
if (wrapper->hasCustomProperties())
return true;
}
@@ -333,14 +441,19 @@ static inline bool isObservableThroughDOM(JSNode* jsNode)
return false;
}
-void markDOMNodesForDocument(MarkStack& markStack, Document* doc)
+void markDOMNodesForDocument(MarkStack& markStack, Document* document)
{
- JSWrapperCache& nodeDict = doc->wrapperCache();
- JSWrapperCache::iterator nodeEnd = nodeDict.end();
- for (JSWrapperCache::iterator nodeIt = nodeDict.begin(); nodeIt != nodeEnd; ++nodeIt) {
- JSNode* jsNode = nodeIt->second;
- if (isObservableThroughDOM(jsNode))
- markStack.append(jsNode);
+ JSWrapperCacheMap& wrapperCacheMap = document->wrapperCacheMap();
+ for (JSWrapperCacheMap::iterator wrappersIter = wrapperCacheMap.begin(); wrappersIter != wrapperCacheMap.end(); ++wrappersIter) {
+ DOMWrapperWorld* world = wrappersIter->first;
+ JSWrapperCache* nodeDict = wrappersIter->second;
+
+ JSWrapperCache::iterator nodeEnd = nodeDict->end();
+ for (JSWrapperCache::iterator nodeIt = nodeDict->begin(); nodeIt != nodeEnd; ++nodeIt) {
+ JSNode* jsNode = nodeIt->second;
+ if (isObservableThroughDOM(jsNode, world))
+ markStack.append(jsNode);
+ }
}
}
@@ -353,12 +466,10 @@ void markActiveObjectsForContext(MarkStack& markStack, JSGlobalData& globalData,
HashMap<ActiveDOMObject*, void*>::const_iterator activeObjectsEnd = activeObjects.end();
for (HashMap<ActiveDOMObject*, void*>::const_iterator iter = activeObjects.begin(); iter != activeObjectsEnd; ++iter) {
if (iter->first->hasPendingActivity()) {
- DOMObject* wrapper = getCachedDOMObjectWrapper(globalData, iter->second);
// Generally, an active object with pending activity must have a wrapper to mark its listeners.
// However, some ActiveDOMObjects don't have JS wrappers (timers created by setTimeout is one example).
// FIXME: perhaps need to make sure even timers have a markable 'wrapper'.
- if (wrapper)
- markStack.append(wrapper);
+ markDOMObjectWrapper(markStack, globalData, iter->second);
}
}
@@ -366,10 +477,31 @@ void markActiveObjectsForContext(MarkStack& markStack, JSGlobalData& globalData,
HashSet<MessagePort*>::const_iterator portsEnd = messagePorts.end();
for (HashSet<MessagePort*>::const_iterator iter = messagePorts.begin(); iter != portsEnd; ++iter) {
// If the message port is remotely entangled, then always mark it as in-use because we can't determine reachability across threads.
- if (!(*iter)->locallyEntangledPort() || (*iter)->hasPendingActivity()) {
- DOMObject* wrapper = getCachedDOMObjectWrapper(globalData, *iter);
- if (wrapper)
- markStack.append(wrapper);
+ if (!(*iter)->locallyEntangledPort() || (*iter)->hasPendingActivity())
+ markDOMObjectWrapper(markStack, globalData, *iter);
+ }
+}
+
+typedef std::pair<JSNode*, DOMWrapperWorld*> WrapperAndWorld;
+typedef WTF::Vector<WrapperAndWorld, 8> WrapperSet;
+
+static inline void takeWrappers(Node* node, Document* document, WrapperSet& wrapperSet)
+{
+ if (document) {
+ JSWrapperCacheMap& wrapperCacheMap = document->wrapperCacheMap();
+ for (JSWrapperCacheMap::iterator iter = wrapperCacheMap.begin(); iter != wrapperCacheMap.end(); ++iter) {
+ if (JSNode* wrapper = iter->second->take(node)) {
+ removeWrapper(wrapper);
+ wrapperSet.append(WrapperAndWorld(wrapper, iter->first));
+ }
+ }
+ } else {
+ for (JSGlobalDataWorldIterator worldIter(JSDOMWindow::commonJSGlobalData()); worldIter; ++worldIter) {
+ DOMWrapperWorld* world = *worldIter;
+ if (JSNode* wrapper = static_cast<JSNode*>(world->m_wrappers.take(node))) {
+ removeWrapper(wrapper);
+ wrapperSet.append(WrapperAndWorld(wrapper, world));
+ }
}
}
}
@@ -377,13 +509,18 @@ void markActiveObjectsForContext(MarkStack& markStack, JSGlobalData& globalData,
void updateDOMNodeDocument(Node* node, Document* oldDocument, Document* newDocument)
{
ASSERT(oldDocument != newDocument);
- JSNode* wrapper = getCachedDOMNodeWrapper(oldDocument, node);
- if (!wrapper)
- return;
- removeWrapper(wrapper);
- cacheDOMNodeWrapper(newDocument, node, wrapper);
- forgetDOMNode(oldDocument, node);
- addWrapper(wrapper);
+
+ WrapperSet wrapperSet;
+ takeWrappers(node, oldDocument, wrapperSet);
+
+ for (unsigned i = 0; i < wrapperSet.size(); ++i) {
+ JSNode* wrapper = wrapperSet[i].first;
+ if (newDocument)
+ newDocument->getWrapperCache(wrapperSet[i].second)->set(node, wrapper);
+ else
+ wrapperSet[i].second->m_wrappers.set(node, wrapper);
+ addWrapper(wrapper);
+ }
}
void markDOMObjectWrapper(MarkStack& markStack, JSGlobalData& globalData, void* object)
@@ -393,10 +530,11 @@ void markDOMObjectWrapper(MarkStack& markStack, JSGlobalData& globalData, void*
// but doing this correctly would be challenging.
if (!object)
return;
- DOMObject* wrapper = getCachedDOMObjectWrapper(globalData, object);
- if (!wrapper)
- return;
- markStack.append(wrapper);
+
+ for (JSGlobalDataWorldIterator worldIter(&globalData); worldIter; ++worldIter) {
+ if (DOMObject* wrapper = worldIter->m_wrappers.get(object))
+ markStack.append(wrapper);
+ }
}
JSValue jsStringOrNull(ExecState* exec, const String& s)
@@ -543,7 +681,7 @@ bool allowsAccessFromFrame(ExecState* exec, Frame* frame)
{
if (!frame)
return false;
- JSDOMWindow* window = toJSDOMWindow(frame);
+ JSDOMWindow* window = toJSDOMWindow(frame, currentWorld(exec));
return window && window->allowsAccessFrom(exec);
}
@@ -551,7 +689,7 @@ bool allowsAccessFromFrame(ExecState* exec, Frame* frame, String& message)
{
if (!frame)
return false;
- JSDOMWindow* window = toJSDOMWindow(frame);
+ JSDOMWindow* window = toJSDOMWindow(frame, currentWorld(exec));
return window && window->allowsAccessFrom(exec, message);
}
@@ -565,8 +703,16 @@ void printErrorMessageForFrame(Frame* frame, const String& message)
{
if (!frame)
return;
- if (JSDOMWindow* window = toJSDOMWindow(frame))
- window->printErrorMessage(message);
+ if (message.isEmpty())
+ return;
+
+ Settings* settings = frame->settings();
+ if (!settings)
+ return;
+ if (settings->privateBrowsingEnabled())
+ return;
+
+ frame->domWindow()->console()->addMessage(JSMessageSource, LogMessageType, ErrorMessageLevel, message, 1, String()); // FIXME: provide a real line number and source URL.
}
Frame* toLexicalFrame(ExecState* exec)
@@ -664,4 +810,28 @@ bool DOMObject::defineOwnProperty(ExecState* exec, const Identifier&, PropertyDe
return false;
}
+JSValue DebuggerCallFrame_evaluateInWorld(const JSC::DebuggerCallFrame& debuggerCallFrame, const UString& script, JSValue& exception)
+{
+ EnterDOMWrapperWorld worldEntry(debuggerCallFrame.dynamicGlobalObject()->globalExec(), debuggerWorld());
+ return debuggerCallFrame.evaluate(script, exception);
+}
+
+JSValue callInWorld(ExecState* exec, JSValue function, CallType callType, const CallData& callData, JSValue thisValue, const ArgList& args, DOMWrapperWorld* isolatedWorld)
+{
+ EnterDOMWrapperWorld worldEntry(exec, isolatedWorld);
+ return JSC::call(exec, function, callType, callData, thisValue, args);
+}
+
+JSObject* constructInWorld(ExecState* exec, JSValue object, ConstructType constructType, const ConstructData& constructData, const ArgList& args, DOMWrapperWorld* isolatedWorld)
+{
+ EnterDOMWrapperWorld worldEntry(exec, isolatedWorld);
+ return JSC::construct(exec, object, constructType, constructData, args);
+}
+
+Completion evaluateInWorld(ExecState* exec, ScopeChain& scopeChain, const SourceCode& sourceCode, JSValue thisValue, DOMWrapperWorld* isolatedWorld)
+{
+ EnterDOMWrapperWorld worldEntry(exec, isolatedWorld);
+ return JSC::evaluate(exec, scopeChain, sourceCode, thisValue);
+}
+
} // namespace WebCore
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSDOMBinding.h b/src/3rdparty/webkit/WebCore/bindings/js/JSDOMBinding.h
index 9af45d7..ba41d85 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSDOMBinding.h
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSDOMBinding.h
@@ -30,16 +30,18 @@
namespace JSC {
class JSGlobalData;
+ class DebuggerCallFrame;
}
namespace WebCore {
class Document;
class Frame;
+ class JSNode;
class KURL;
class Node;
class String;
- class JSNode;
+ class ScriptController;
typedef int ExceptionCode;
@@ -136,14 +138,104 @@ namespace WebCore {
}
};
+ typedef HashMap<void*, DOMObject*> DOMObjectWrapperMap;
+
+ class DOMWrapperWorld : public RefCounted<DOMWrapperWorld> {
+ public:
+ DOMWrapperWorld(JSC::JSGlobalData*);
+ ~DOMWrapperWorld();
+
+ void rememberDocument(Document* document) { documentsWithWrappers.add(document); }
+ void forgetDocument(Document* document) { documentsWithWrappers.remove(document); }
+ void rememberScriptController(ScriptController* scriptController) { scriptControllersWithShells.add(scriptController); }
+ void forgetScriptController(ScriptController* scriptController) { scriptControllersWithShells.remove(scriptController); }
+
+ // FIXME: can we make this private?
+ DOMObjectWrapperMap m_wrappers;
+
+ private:
+ JSC::JSGlobalData* m_globalData;
+ HashSet<Document*> documentsWithWrappers;
+ HashSet<ScriptController*> scriptControllersWithShells;
+ };
+
+ // Map from static HashTable instances to per-GlobalData ones.
+ class DOMObjectHashTableMap {
+ public:
+ static DOMObjectHashTableMap& mapFor(JSC::JSGlobalData&);
+
+ ~DOMObjectHashTableMap()
+ {
+ HashMap<const JSC::HashTable*, JSC::HashTable>::iterator mapEnd = m_map.end();
+ for (HashMap<const JSC::HashTable*, JSC::HashTable>::iterator iter = m_map.begin(); iter != m_map.end(); ++iter)
+ iter->second.deleteTable();
+ }
+
+ const JSC::HashTable* get(const JSC::HashTable* staticTable)
+ {
+ HashMap<const JSC::HashTable*, JSC::HashTable>::iterator iter = m_map.find(staticTable);
+ if (iter != m_map.end())
+ return &iter->second;
+ return &m_map.set(staticTable, JSC::HashTable(*staticTable)).first->second;
+ }
+
+ private:
+ HashMap<const JSC::HashTable*, JSC::HashTable> m_map;
+ };
+
+ class WebCoreJSClientData : public JSC::JSGlobalData::ClientData {
+ friend class EnterDOMWrapperWorld;
+ friend class JSGlobalDataWorldIterator;
+
+ public:
+ WebCoreJSClientData(JSC::JSGlobalData* globalData)
+ : m_normalWorld(globalData)
+ {
+ m_worldStack.append(&m_normalWorld);
+ m_worldSet.add(&m_normalWorld);
+ }
+ // FIXME: add a destructor to assert m_worldSet only contains m_normalWorld?
+
+ DOMWrapperWorld* currentWorld() { return m_worldStack.last(); }
+ DOMWrapperWorld* normalWorld() { return &m_normalWorld; }
+
+ void rememberWorld(DOMWrapperWorld* world)
+ {
+ ASSERT(!m_worldSet.contains(world));
+ m_worldSet.add(world);
+ }
+ void forgetWorld(DOMWrapperWorld* world)
+ {
+ ASSERT(m_worldSet.contains(world));
+ m_worldSet.remove(world);
+ }
+
+ DOMObjectHashTableMap hashTableMap;
+ private:
+ Vector<DOMWrapperWorld*> m_worldStack;
+ HashSet<DOMWrapperWorld*> m_worldSet;
+ DOMWrapperWorld m_normalWorld;
+ };
+
+ class EnterDOMWrapperWorld {
+ public:
+ EnterDOMWrapperWorld(JSC::JSGlobalData&, DOMWrapperWorld*);
+ EnterDOMWrapperWorld(JSC::ExecState*, DOMWrapperWorld*);
+ ~EnterDOMWrapperWorld();
+
+ private:
+ WebCoreJSClientData* m_clientData;
+ };
+
DOMObject* getCachedDOMObjectWrapper(JSC::JSGlobalData&, void* objectHandle);
void cacheDOMObjectWrapper(JSC::JSGlobalData&, void* objectHandle, DOMObject* wrapper);
- void forgetDOMObject(JSC::JSGlobalData&, void* objectHandle);
+ void forgetDOMNode(DOMObject* wrapper, Node* node, Document* document);
+ void forgetDOMObject(DOMObject* wrapper, void* objectHandle);
JSNode* getCachedDOMNodeWrapper(Document*, Node*);
void cacheDOMNodeWrapper(Document*, Node*, JSNode* wrapper);
- void forgetDOMNode(Document*, Node*);
void forgetAllDOMNodesForDocument(Document*);
+ void forgetWorldOfDOMNodesForDocument(Document*, DOMWrapperWorld*);
void updateDOMNodeDocument(Node*, Document* oldDocument, Document* newDocument);
void markDOMNodesForDocument(JSC::MarkStack&, Document*);
void markActiveObjectsForContext(JSC::MarkStack&, JSC::JSGlobalData&, ScriptExecutionContext*);
@@ -154,6 +246,13 @@ namespace WebCore {
JSC::Structure* getCachedDOMStructure(JSC::ExecState*, const JSC::ClassInfo*);
JSC::Structure* cacheDOMStructure(JSC::ExecState*, NonNullPassRefPtr<JSC::Structure>, const JSC::ClassInfo*);
+ DOMWrapperWorld* currentWorld(JSC::ExecState*);
+ DOMWrapperWorld* normalWorld(JSC::JSGlobalData&);
+ DOMWrapperWorld* mainThreadCurrentWorld();
+ DOMWrapperWorld* mainThreadNormalWorld();
+ inline DOMWrapperWorld* debuggerWorld() { return mainThreadNormalWorld(); }
+ inline DOMWrapperWorld* pluginWorld() { return mainThreadNormalWorld(); }
+
JSC::JSObject* getCachedDOMConstructor(JSC::ExecState*, const JSC::ClassInfo*);
void cacheDOMConstructor(JSC::ExecState*, const JSC::ClassInfo*, JSC::JSObject* constructor);
@@ -305,6 +404,11 @@ namespace WebCore {
bool processingUserGesture(JSC::ExecState*);
KURL completeURL(JSC::ExecState*, const String& relativeURL);
+ JSC::JSValue DebuggerCallFrame_evaluateInWorld(const JSC::DebuggerCallFrame& debuggerCallFrame, const JSC::UString& script, JSC::JSValue& exception);
+ JSC::JSValue callInWorld(JSC::ExecState*, JSC::JSValue function, JSC::CallType, const JSC::CallData&, JSC::JSValue thisValue, const JSC::ArgList&, DOMWrapperWorld*);
+ JSC::JSObject* constructInWorld(JSC::ExecState* exec, JSC::JSValue object, JSC::ConstructType constructType, const JSC::ConstructData& constructData, const JSC::ArgList& args, DOMWrapperWorld*);
+ JSC::Completion evaluateInWorld(JSC::ExecState*, JSC::ScopeChain&, const JSC::SourceCode&, JSC::JSValue thisValue, DOMWrapperWorld*);
+
} // namespace WebCore
#endif // JSDOMBinding_h
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSDOMGlobalObject.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSDOMGlobalObject.cpp
index 53bb26b..011a4e4 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSDOMGlobalObject.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSDOMGlobalObject.cpp
@@ -63,7 +63,7 @@ PassRefPtr<JSEventListener> JSDOMGlobalObject::createJSAttributeEventListener(JS
if (!val.isObject())
return 0;
- return JSEventListener::create(asObject(val), true).get();
+ return JSEventListener::create(asObject(val), true, currentWorld(globalExec())).get();
}
void JSDOMGlobalObject::setCurrentEvent(Event* evt)
@@ -81,15 +81,34 @@ void JSDOMGlobalObject::destroyJSDOMGlobalObjectData(void* jsDOMGlobalObjectData
delete static_cast<JSDOMGlobalObjectData*>(jsDOMGlobalObjectData);
}
-JSDOMGlobalObject* toJSDOMGlobalObject(Document* document)
+JSDOMGlobalObject* toJSDOMGlobalObject(Document* document, JSC::ExecState* exec)
{
- return toJSDOMWindow(document->frame());
+ return toJSDOMWindow(document->frame(), currentWorld(exec));
}
-JSDOMGlobalObject* toJSDOMGlobalObject(ScriptExecutionContext* scriptExecutionContext)
+JSDOMGlobalObject* toJSDOMGlobalObject(ScriptExecutionContext* scriptExecutionContext, JSC::ExecState* exec)
{
if (scriptExecutionContext->isDocument())
- return toJSDOMGlobalObject(static_cast<Document*>(scriptExecutionContext));
+ return toJSDOMGlobalObject(static_cast<Document*>(scriptExecutionContext), exec);
+
+#if ENABLE(WORKERS)
+ if (scriptExecutionContext->isWorkerContext())
+ return static_cast<WorkerContext*>(scriptExecutionContext)->script()->workerContextWrapper();
+#endif
+
+ ASSERT_NOT_REACHED();
+ return 0;
+}
+
+JSDOMGlobalObject* toJSDOMGlobalObject(Document* document, DOMWrapperWorld* world)
+{
+ return toJSDOMWindow(document->frame(), world);
+}
+
+JSDOMGlobalObject* toJSDOMGlobalObject(ScriptExecutionContext* scriptExecutionContext, DOMWrapperWorld* world)
+{
+ if (scriptExecutionContext->isDocument())
+ return toJSDOMGlobalObject(static_cast<Document*>(scriptExecutionContext), world);
#if ENABLE(WORKERS)
if (scriptExecutionContext->isWorkerContext())
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSDOMGlobalObject.h b/src/3rdparty/webkit/WebCore/bindings/js/JSDOMGlobalObject.h
index ce26857..6b75a6f 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSDOMGlobalObject.h
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSDOMGlobalObject.h
@@ -33,6 +33,7 @@ namespace WebCore {
class Document;
class Event;
+ class DOMWrapperWorld;
class JSLazyEventListener;
class JSEventListener;
class ScriptExecutionContext;
@@ -102,8 +103,11 @@ namespace WebCore {
return constructor;
}
- JSDOMGlobalObject* toJSDOMGlobalObject(Document*);
- JSDOMGlobalObject* toJSDOMGlobalObject(ScriptExecutionContext*);
+ JSDOMGlobalObject* toJSDOMGlobalObject(Document*, JSC::ExecState*);
+ JSDOMGlobalObject* toJSDOMGlobalObject(ScriptExecutionContext*, JSC::ExecState*);
+
+ JSDOMGlobalObject* toJSDOMGlobalObject(Document*, DOMWrapperWorld*);
+ JSDOMGlobalObject* toJSDOMGlobalObject(ScriptExecutionContext*, DOMWrapperWorld*);
} // namespace WebCore
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSDOMWindowBase.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSDOMWindowBase.cpp
index a04ef89..86ff149 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSDOMWindowBase.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSDOMWindowBase.cpp
@@ -53,10 +53,11 @@ JSDOMWindowBase::JSDOMWindowBase(NonNullPassRefPtr<Structure> structure, PassRef
addStaticGlobals(staticGlobals, sizeof(staticGlobals) / sizeof(GlobalPropertyInfo));
}
-void JSDOMWindowBase::updateDocument()
+void JSDOMWindowBase::updateDocument(DOMWrapperWorld* world)
{
ASSERT(d()->impl->document());
ExecState* exec = globalExec();
+ EnterDOMWrapperWorld worldEntry(exec, world);
symbolTablePutWithAttributes(Identifier(exec, "document"), toJS(exec, this, d()->impl->document()), DontDelete | ReadOnly);
}
@@ -79,21 +80,7 @@ String JSDOMWindowBase::crossDomainAccessErrorMessage(const JSGlobalObject* othe
void JSDOMWindowBase::printErrorMessage(const String& message) const
{
- if (message.isEmpty())
- return;
-
- Frame* frame = impl()->frame();
- if (!frame)
- return;
-
- Settings* settings = frame->settings();
- if (!settings)
- return;
-
- if (settings->privateBrowsingEnabled())
- return;
-
- impl()->console()->addMessage(JSMessageSource, LogMessageType, ErrorMessageLevel, message, 1, String()); // FIXME: provide a real line number and source URL.
+ printErrorMessageForFrame(impl()->frame(), message);
}
ExecState* JSDOMWindowBase::globalExec()
@@ -157,13 +144,16 @@ JSDOMWindowShell* JSDOMWindowBase::shell() const
JSGlobalData* JSDOMWindowBase::commonJSGlobalData()
{
- static JSGlobalData* globalData;
+ ASSERT(isMainThread());
+
+ static JSGlobalData* globalData = 0;
if (!globalData) {
globalData = JSGlobalData::createLeaked().releaseRef();
globalData->timeoutChecker.setTimeoutInterval(10000); // 10 seconds
#ifndef NDEBUG
globalData->mainThreadOnly = true;
#endif
+ globalData->clientData = new WebCoreJSClientData(globalData);
}
return globalData;
@@ -181,21 +171,21 @@ JSValue toJS(ExecState* exec, JSDOMGlobalObject*, DOMWindow* domWindow)
return toJS(exec, domWindow);
}
-JSValue toJS(ExecState*, DOMWindow* domWindow)
+JSValue toJS(ExecState* exec, DOMWindow* domWindow)
{
if (!domWindow)
return jsNull();
Frame* frame = domWindow->frame();
if (!frame)
return jsNull();
- return frame->script()->windowShell();
+ return frame->script()->windowShell(currentWorld(exec));
}
-JSDOMWindow* toJSDOMWindow(Frame* frame)
+JSDOMWindow* toJSDOMWindow(Frame* frame, DOMWrapperWorld* world)
{
if (!frame)
return 0;
- return frame->script()->windowShell()->window();
+ return frame->script()->windowShell(world)->window();
}
JSDOMWindow* toJSDOMWindow(JSValue value)
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSDOMWindowBase.h b/src/3rdparty/webkit/WebCore/bindings/js/JSDOMWindowBase.h
index 52c3c1d..31e2486 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSDOMWindowBase.h
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSDOMWindowBase.h
@@ -32,6 +32,7 @@ namespace WebCore {
class DOMWindow;
class Event;
class Frame;
+ class DOMWrapperWorld;
class JSDOMWindow;
class JSDOMWindowShell;
class JSLocation;
@@ -46,7 +47,7 @@ namespace WebCore {
JSDOMWindowBase(NonNullPassRefPtr<JSC::Structure>, PassRefPtr<DOMWindow>, JSDOMWindowShell*);
public:
- void updateDocument();
+ void updateDocument(DOMWrapperWorld*);
DOMWindow* impl() const { return d()->impl.get(); }
virtual ScriptExecutionContext* scriptExecutionContext() const;
@@ -102,7 +103,7 @@ namespace WebCore {
JSC::JSValue toJS(JSC::ExecState*, DOMWindow*);
// Returns JSDOMWindow or 0
- JSDOMWindow* toJSDOMWindow(Frame*);
+ JSDOMWindow* toJSDOMWindow(Frame*, DOMWrapperWorld*);
JSDOMWindow* toJSDOMWindow(JSC::JSValue);
} // namespace WebCore
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSDOMWindowCustom.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSDOMWindowCustom.cpp
index deb92cb..2804b3c 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSDOMWindowCustom.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSDOMWindowCustom.cpp
@@ -771,7 +771,8 @@ static Frame* createWindow(ExecState* exec, Frame* lexicalFrame, Frame* dynamicF
newFrame->loader()->setOpener(openerFrame);
newFrame->page()->setOpenedByDOM();
- JSDOMWindow* newWindow = toJSDOMWindow(newFrame);
+ // FIXME: If a window is created from an isolated world, what are the consequences of this? 'dialogArguments' only appears back in the normal world?
+ JSDOMWindow* newWindow = toJSDOMWindow(newFrame, normalWorld(exec->globalData()));
if (dialogArgs)
newWindow->putDirect(Identifier(exec, "dialogArguments"), dialogArgs);
@@ -831,7 +832,7 @@ JSValue JSDOMWindow::open(ExecState* exec, const ArgList& args)
if (!shouldAllowNavigation(exec, frame))
return jsUndefined();
- const JSDOMWindow* targetedWindow = toJSDOMWindow(frame);
+ const JSDOMWindow* targetedWindow = toJSDOMWindow(frame, currentWorld(exec));
if (!completedURL.isEmpty() && (!protocolIsJavaScript(completedURL) || (targetedWindow && targetedWindow->allowsAccessFrom(exec)))) {
bool userGesture = processingUserGesture(exec);
@@ -932,7 +933,7 @@ JSValue JSDOMWindow::showModalDialog(ExecState* exec, const ArgList& args)
if (!dialogFrame)
return jsUndefined();
- JSDOMWindow* dialogWindow = toJSDOMWindow(dialogFrame);
+ JSDOMWindow* dialogWindow = toJSDOMWindow(dialogFrame, currentWorld(exec));
dialogFrame->page()->chrome()->runModal();
Identifier returnValue(exec, "returnValue");
@@ -975,7 +976,7 @@ JSValue JSDOMWindow::postMessage(ExecState* exec, const ArgList& args)
JSValue JSDOMWindow::setTimeout(ExecState* exec, const ArgList& args)
{
- ScheduledAction* action = ScheduledAction::create(exec, args);
+ ScheduledAction* action = ScheduledAction::create(exec, args, currentWorld(exec));
if (exec->hadException())
return jsUndefined();
int delay = args.at(1).toInt32(exec);
@@ -984,7 +985,7 @@ JSValue JSDOMWindow::setTimeout(ExecState* exec, const ArgList& args)
JSValue JSDOMWindow::setInterval(ExecState* exec, const ArgList& args)
{
- ScheduledAction* action = ScheduledAction::create(exec, args);
+ ScheduledAction* action = ScheduledAction::create(exec, args, currentWorld(exec));
if (exec->hadException())
return jsUndefined();
int delay = args.at(1).toInt32(exec);
@@ -1052,7 +1053,7 @@ JSValue JSDOMWindow::addEventListener(ExecState* exec, const ArgList& args)
if (!listener.isObject())
return jsUndefined();
- impl()->addEventListener(args.at(0).toString(exec), JSEventListener::create(asObject(listener), false), args.at(2).toBoolean(exec));
+ impl()->addEventListener(args.at(0).toString(exec), JSEventListener::create(asObject(listener), false, currentWorld(exec)), args.at(2).toBoolean(exec));
return jsUndefined();
}
@@ -1066,7 +1067,7 @@ JSValue JSDOMWindow::removeEventListener(ExecState* exec, const ArgList& args)
if (!listener.isObject())
return jsUndefined();
- impl()->removeEventListener(args.at(0).toString(exec), JSEventListener::create(asObject(listener), false).get(), args.at(2).toBoolean(exec));
+ impl()->removeEventListener(args.at(0).toString(exec), JSEventListener::create(asObject(listener), false, currentWorld(exec)).get(), args.at(2).toBoolean(exec));
return jsUndefined();
}
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSDOMWindowShell.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSDOMWindowShell.cpp
index 3c3ff4c..9072f91 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSDOMWindowShell.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSDOMWindowShell.cpp
@@ -171,18 +171,18 @@ void* JSDOMWindowShell::operator new(size_t size)
// Conversion methods
// ----
-JSValue toJS(ExecState*, Frame* frame)
+JSValue toJS(ExecState* exec, Frame* frame)
{
if (!frame)
return jsNull();
- return frame->script()->windowShell();
+ return frame->script()->windowShell(currentWorld(exec));
}
-JSDOMWindowShell* toJSDOMWindowShell(Frame* frame)
+JSDOMWindowShell* toJSDOMWindowShell(Frame* frame, DOMWrapperWorld* isolatedWorld)
{
if (!frame)
return 0;
- return frame->script()->windowShell();
+ return frame->script()->windowShell(isolatedWorld);
}
} // namespace WebCore
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSDOMWindowShell.h b/src/3rdparty/webkit/WebCore/bindings/js/JSDOMWindowShell.h
index 1bb0938..36cb8d6 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSDOMWindowShell.h
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSDOMWindowShell.h
@@ -88,7 +88,7 @@ namespace WebCore {
};
JSC::JSValue toJS(JSC::ExecState*, Frame*);
- JSDOMWindowShell* toJSDOMWindowShell(Frame*);
+ JSDOMWindowShell* toJSDOMWindowShell(Frame*, DOMWrapperWorld*);
} // namespace WebCore
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSDesktopNotificationsCustom.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSDesktopNotificationsCustom.cpp
index 9bff637..7485c1f 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSDesktopNotificationsCustom.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSDesktopNotificationsCustom.cpp
@@ -67,7 +67,7 @@ JSValue JSNotification::addEventListener(ExecState* exec, const ArgList& args)
if (!listener.isObject())
return jsUndefined();
- impl()->addEventListener(args.at(0).toString(exec), JSEventListener::create(asObject(listener)), false), args.at(2).toBoolean(exec));
+ impl()->addEventListener(args.at(0).toString(exec), JSEventListener::create(asObject(listener)), false, currentWorld(exec)), args.at(2).toBoolean(exec));
return jsUndefined();
}
@@ -77,7 +77,7 @@ JSValue JSNotification::removeEventListener(ExecState* exec, const ArgList& args
if (!listener.isObject())
return jsUndefined();
- impl()->removeEventListener(args.at(0).toString(exec), JSEventListener::create(asObject(listener), false).get(), args.at(2).toBoolean(exec));
+ impl()->removeEventListener(args.at(0).toString(exec), JSEventListener::create(asObject(listener), false, currentWorld(exec)).get(), args.at(2).toBoolean(exec));
return jsUndefined();
}
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSEventListener.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSEventListener.cpp
index 4f273fe..1a999a8 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSEventListener.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSEventListener.cpp
@@ -31,10 +31,11 @@ using namespace JSC;
namespace WebCore {
-JSEventListener::JSEventListener(JSObject* function, bool isAttribute)
+JSEventListener::JSEventListener(JSObject* function, bool isAttribute, DOMWrapperWorld* isolatedWorld)
: EventListener(JSEventListenerType)
, m_jsFunction(function)
, m_isAttribute(isAttribute)
+ , m_isolatedWorld(isolatedWorld)
{
}
@@ -65,7 +66,7 @@ void JSEventListener::handleEvent(ScriptExecutionContext* scriptExecutionContext
if (!jsFunction)
return;
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(scriptExecutionContext);
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(scriptExecutionContext, m_isolatedWorld.get());
if (!globalObject)
return;
@@ -86,7 +87,12 @@ void JSEventListener::handleEvent(ScriptExecutionContext* scriptExecutionContext
ExecState* exec = globalObject->globalExec();
- JSValue handleEventFunction = jsFunction->get(exec, Identifier(exec, "handleEvent"));
+ JSValue handleEventFunction;
+ {
+ // Switch worlds, just in case handleEvent is a getter and causes JS execution!
+ EnterDOMWrapperWorld worldEntry(exec, m_isolatedWorld.get());
+ handleEventFunction = jsFunction->get(exec, Identifier(exec, "handleEvent"));
+ }
CallData callData;
CallType callType = handleEventFunction.getCallData(callData);
if (callType == CallTypeNone) {
@@ -108,8 +114,8 @@ void JSEventListener::handleEvent(ScriptExecutionContext* scriptExecutionContext
globalData->timeoutChecker.start();
JSValue retval = handleEventFunction
- ? call(exec, handleEventFunction, callType, callData, jsFunction, args)
- : call(exec, jsFunction, callType, callData, toJS(exec, globalObject, event->currentTarget()), args);
+ ? callInWorld(exec, handleEventFunction, callType, callData, jsFunction, args, m_isolatedWorld.get())
+ : callInWorld(exec, jsFunction, callType, callData, toJS(exec, globalObject, event->currentTarget()), args, m_isolatedWorld.get());
globalData->timeoutChecker.stop();
globalObject->setCurrentEvent(savedEvent);
@@ -140,7 +146,7 @@ bool JSEventListener::reportError(ScriptExecutionContext* context, const String&
if (!jsFunction)
return false;
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(context);
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(context, m_isolatedWorld.get());
ExecState* exec = globalObject->globalExec();
CallData callData;
@@ -160,7 +166,7 @@ bool JSEventListener::reportError(ScriptExecutionContext* context, const String&
JSValue thisValue = globalObject->toThisObject(exec);
globalData->timeoutChecker.start();
- JSValue returnValue = call(exec, jsFunction, callType, callData, thisValue, args);
+ JSValue returnValue = callInWorld(exec, jsFunction, callType, callData, thisValue, args, m_isolatedWorld.get());
globalData->timeoutChecker.stop();
// If an error occurs while handling the script error, it should be bubbled up.
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSEventListener.h b/src/3rdparty/webkit/WebCore/bindings/js/JSEventListener.h
index 285a9c4..bf3af48 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSEventListener.h
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSEventListener.h
@@ -30,9 +30,9 @@ namespace WebCore {
class JSEventListener : public EventListener {
public:
- static PassRefPtr<JSEventListener> create(JSC::JSObject* listener, bool isAttribute)
+ static PassRefPtr<JSEventListener> create(JSC::JSObject* listener, bool isAttribute, DOMWrapperWorld* isolatedWorld)
{
- return adoptRef(new JSEventListener(listener, isAttribute));
+ return adoptRef(new JSEventListener(listener, isAttribute, isolatedWorld));
}
static const JSEventListener* cast(const EventListener* listener)
@@ -59,10 +59,11 @@ namespace WebCore {
void clearJSFunctionInline();
protected:
- JSEventListener(JSC::JSObject* function, bool isAttribute);
+ JSEventListener(JSC::JSObject* function, bool isAttribute, DOMWrapperWorld* isolatedWorld);
mutable JSC::JSObject* m_jsFunction;
bool m_isAttribute;
+ RefPtr<DOMWrapperWorld> m_isolatedWorld;
};
} // namespace WebCore
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSEventSourceCustom.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSEventSourceCustom.cpp
index 00dfe12..8f0dfb1 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSEventSourceCustom.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSEventSourceCustom.cpp
@@ -49,7 +49,7 @@ JSValue JSEventSource::addEventListener(ExecState* exec, const ArgList& args)
if (!listener.isObject())
return jsUndefined();
- impl()->addEventListener(args.at(0).toString(exec), JSEventListener::create(asObject(listener), false).get(), args.at(2).toBoolean(exec));
+ impl()->addEventListener(args.at(0).toString(exec), JSEventListener::create(asObject(listener), false, currentWorld(exec)).get(), args.at(2).toBoolean(exec));
return jsUndefined();
}
@@ -59,7 +59,7 @@ JSValue JSEventSource::removeEventListener(ExecState* exec, const ArgList& args)
if (!listener.isObject())
return jsUndefined();
- impl()->removeEventListener(args.at(0).toString(exec), JSEventListener::create(asObject(listener), false).get(), args.at(2).toBoolean(exec));
+ impl()->removeEventListener(args.at(0).toString(exec), JSEventListener::create(asObject(listener), false, currentWorld(exec)).get(), args.at(2).toBoolean(exec));
return jsUndefined();
}
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSEventTarget.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSEventTarget.cpp
index 0421d10..6ea1135 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSEventTarget.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSEventTarget.cpp
@@ -128,7 +128,7 @@ JSValue toJS(ExecState* exec, JSDOMGlobalObject* globalObject, EventTarget* targ
return toJS(exec, globalObject, worker);
if (DedicatedWorkerContext* workerContext = target->toDedicatedWorkerContext())
- return toJSDOMGlobalObject(workerContext);
+ return toJSDOMGlobalObject(workerContext, exec);
#endif
#if ENABLE(SHARED_WORKERS)
@@ -136,7 +136,7 @@ JSValue toJS(ExecState* exec, JSDOMGlobalObject* globalObject, EventTarget* targ
return toJS(exec, globalObject, sharedWorker);
if (SharedWorkerContext* workerContext = target->toSharedWorkerContext())
- return toJSDOMGlobalObject(workerContext);
+ return toJSDOMGlobalObject(workerContext, exec);
#endif
#if ENABLE(NOTIFICATIONS)
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSExceptionBase.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSExceptionBase.cpp
index 3749eed..a588ab1 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSExceptionBase.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSExceptionBase.cpp
@@ -1,64 +1,64 @@
-/*
- * Copyright (C) 2009 Apple 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.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``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 APPLE INC. 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.
- */
-
-#include "config.h"
-#include "JSExceptionBase.h"
-
-#include "JSDOMCoreException.h"
-#include "JSEventException.h"
-#include "JSRangeException.h"
-#include "JSXMLHttpRequestException.h"
-#if ENABLE(SVG)
-#include "JSSVGException.h"
-#endif
-#if ENABLE(XPATH)
-#include "JSXPathException.h"
-#endif
-
-namespace WebCore {
-
-ExceptionBase* toExceptionBase(JSC::JSValue value)
-{
- if (DOMCoreException* domException = toDOMCoreException(value))
- return reinterpret_cast<ExceptionBase*>(domException);
- if (RangeException* rangeException = toRangeException(value))
- return reinterpret_cast<ExceptionBase*>(rangeException);
- if (EventException* eventException = toEventException(value))
- return reinterpret_cast<ExceptionBase*>(eventException);
- if (XMLHttpRequestException* xmlHttpException = toXMLHttpRequestException(value))
- return reinterpret_cast<ExceptionBase*>(xmlHttpException);
-#if ENABLE(SVG)
- if (SVGException* svgException = toSVGException(value))
- return reinterpret_cast<ExceptionBase*>(svgException);
-#endif
-#if ENABLE(XPATH)
- if (XPathException* pathException = toXPathException(value))
- return reinterpret_cast<ExceptionBase*>(pathException);
-#endif
-
- return 0;
-}
-
-} // namespace WebCore
+/*
+ * Copyright (C) 2009 Apple 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.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``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 APPLE INC. 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.
+ */
+
+#include "config.h"
+#include "JSExceptionBase.h"
+
+#include "JSDOMCoreException.h"
+#include "JSEventException.h"
+#include "JSRangeException.h"
+#include "JSXMLHttpRequestException.h"
+#if ENABLE(SVG)
+#include "JSSVGException.h"
+#endif
+#if ENABLE(XPATH)
+#include "JSXPathException.h"
+#endif
+
+namespace WebCore {
+
+ExceptionBase* toExceptionBase(JSC::JSValue value)
+{
+ if (DOMCoreException* domException = toDOMCoreException(value))
+ return reinterpret_cast<ExceptionBase*>(domException);
+ if (RangeException* rangeException = toRangeException(value))
+ return reinterpret_cast<ExceptionBase*>(rangeException);
+ if (EventException* eventException = toEventException(value))
+ return reinterpret_cast<ExceptionBase*>(eventException);
+ if (XMLHttpRequestException* xmlHttpException = toXMLHttpRequestException(value))
+ return reinterpret_cast<ExceptionBase*>(xmlHttpException);
+#if ENABLE(SVG)
+ if (SVGException* svgException = toSVGException(value))
+ return reinterpret_cast<ExceptionBase*>(svgException);
+#endif
+#if ENABLE(XPATH)
+ if (XPathException* pathException = toXPathException(value))
+ return reinterpret_cast<ExceptionBase*>(pathException);
+#endif
+
+ return 0;
+}
+
+} // namespace WebCore
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSExceptionBase.h b/src/3rdparty/webkit/WebCore/bindings/js/JSExceptionBase.h
index 01c6ac2..a9366ed 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSExceptionBase.h
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSExceptionBase.h
@@ -1,43 +1,43 @@
-/*
- * Copyright (C) 2009 Apple 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.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``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 APPLE INC. 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.
- */
-
-#ifndef JSExceptionBase_h
-#define JSExceptionBase_h
-
-namespace JSC {
-
-class JSValue;
-
-} // namespace JSC
-
-namespace WebCore {
-
-class ExceptionBase;
-
-ExceptionBase* toExceptionBase(JSC::JSValue);
-
-} // namespace WebCore
-
-#endif // JSExceptionBase_h
+/*
+ * Copyright (C) 2009 Apple 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.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``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 APPLE INC. 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.
+ */
+
+#ifndef JSExceptionBase_h
+#define JSExceptionBase_h
+
+namespace JSC {
+
+class JSValue;
+
+} // namespace JSC
+
+namespace WebCore {
+
+class ExceptionBase;
+
+ExceptionBase* toExceptionBase(JSC::JSValue);
+
+} // namespace WebCore
+
+#endif // JSExceptionBase_h
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSHTMLAllCollectionCustom.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSHTMLAllCollectionCustom.cpp
new file mode 100644
index 0000000..fd1dd11
--- /dev/null
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSHTMLAllCollectionCustom.cpp
@@ -0,0 +1,135 @@
+/*
+ * Copyright (C) 2009 Apple 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.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``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 APPLE INC. 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.
+ */
+
+#include "config.h"
+#include "JSHTMLAllCollection.h"
+
+#include "AtomicString.h"
+#include "HTMLAllCollection.h"
+#include "JSDOMBinding.h"
+#include "JSHTMLAllCollection.h"
+#include "JSNode.h"
+#include "JSNodeList.h"
+#include "Node.h"
+#include "StaticNodeList.h"
+#include <wtf/Vector.h>
+
+using namespace JSC;
+
+namespace WebCore {
+
+static JSValue getNamedItems(ExecState* exec, JSHTMLAllCollection* collection, const Identifier& propertyName)
+{
+ Vector<RefPtr<Node> > namedItems;
+ collection->impl()->namedItems(propertyName, namedItems);
+
+ if (namedItems.isEmpty())
+ return jsUndefined();
+ if (namedItems.size() == 1)
+ return toJS(exec, collection->globalObject(), namedItems[0].get());
+
+ // FIXME: HTML5 specifies that this should be a DynamicNodeList.
+ // FIXME: HTML5 specifies that non-HTMLOptionsCollection collections should return
+ // the first matching item instead of a NodeList.
+ return toJS(exec, collection->globalObject(), StaticNodeList::adopt(namedItems).get());
+}
+
+// HTMLCollections are strange objects, they support both get and call,
+// so that document.forms.item(0) and document.forms(0) both work.
+static JSValue JSC_HOST_CALL callHTMLAllCollection(ExecState* exec, JSObject* function, JSValue, const ArgList& args)
+{
+ if (args.size() < 1)
+ return jsUndefined();
+
+ // Do not use thisObj here. It can be the JSHTMLDocument, in the document.forms(i) case.
+ JSHTMLAllCollection* jsCollection = static_cast<JSHTMLAllCollection*>(function);
+ HTMLAllCollection* collection = static_cast<HTMLAllCollection*>(jsCollection->impl());
+
+ // Also, do we need the TypeError test here ?
+
+ if (args.size() == 1) {
+ // Support for document.all(<index>) etc.
+ bool ok;
+ UString string = args.at(0).toString(exec);
+ unsigned index = string.toUInt32(&ok, false);
+ if (ok)
+ return toJS(exec, jsCollection->globalObject(), collection->item(index));
+
+ // Support for document.images('<name>') etc.
+ return getNamedItems(exec, jsCollection, Identifier(exec, string));
+ }
+
+ // The second arg, if set, is the index of the item we want
+ bool ok;
+ UString string = args.at(0).toString(exec);
+ unsigned index = args.at(1).toString(exec).toUInt32(&ok, false);
+ if (ok) {
+ String pstr = string;
+ Node* node = collection->namedItem(pstr);
+ while (node) {
+ if (!index)
+ return toJS(exec, jsCollection->globalObject(), node);
+ node = collection->nextNamedItem(pstr);
+ --index;
+ }
+ }
+
+ return jsUndefined();
+}
+
+CallType JSHTMLAllCollection::getCallData(CallData& callData)
+{
+ callData.native.function = callHTMLAllCollection;
+ return CallTypeHost;
+}
+
+bool JSHTMLAllCollection::canGetItemsForName(ExecState*, HTMLAllCollection* collection, const Identifier& propertyName)
+{
+ Vector<RefPtr<Node> > namedItems;
+ collection->namedItems(propertyName, namedItems);
+ return !namedItems.isEmpty();
+}
+
+JSValue JSHTMLAllCollection::nameGetter(ExecState* exec, const Identifier& propertyName, const PropertySlot& slot)
+{
+ JSHTMLAllCollection* thisObj = static_cast<JSHTMLAllCollection*>(asObject(slot.slotBase()));
+ return getNamedItems(exec, thisObj, propertyName);
+}
+
+JSValue JSHTMLAllCollection::item(ExecState* exec, const ArgList& args)
+{
+ bool ok;
+ uint32_t index = args.at(0).toString(exec).toUInt32(&ok, false);
+ if (ok)
+ return toJS(exec, globalObject(), impl()->item(index));
+ return getNamedItems(exec, this, Identifier(exec, args.at(0).toString(exec)));
+}
+
+JSValue JSHTMLAllCollection::namedItem(ExecState* exec, const ArgList& args)
+{
+ return getNamedItems(exec, this, Identifier(exec, args.at(0).toString(exec)));
+}
+
+} // namespace WebCore
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSHTMLCollectionCustom.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSHTMLCollectionCustom.cpp
index 8ffddf7..dd4ceaa 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSHTMLCollectionCustom.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSHTMLCollectionCustom.cpp
@@ -23,6 +23,7 @@
#include "AtomicString.h"
#include "HTMLCollection.h"
#include "HTMLOptionsCollection.h"
+#include "HTMLAllCollection.h"
#include "JSDOMBinding.h"
#include "JSHTMLAllCollection.h"
#include "JSHTMLOptionsCollection.h"
@@ -143,7 +144,6 @@ JSValue toJS(ExecState* exec, JSDOMGlobalObject* globalObject, HTMLCollection* c
wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, globalObject, HTMLOptionsCollection, collection);
break;
case DocAll:
- typedef HTMLCollection HTMLAllCollection;
wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, globalObject, HTMLAllCollection, collection);
break;
default:
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSHTMLDocumentCustom.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSHTMLDocumentCustom.cpp
index c113ec7..a65ca7c 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSHTMLDocumentCustom.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSHTMLDocumentCustom.cpp
@@ -28,6 +28,7 @@
#include "CharacterNames.h"
#include "Frame.h"
+#include "HTMLAllCollection.h"
#include "HTMLBodyElement.h"
#include "HTMLCollection.h"
#include "HTMLDocument.h"
@@ -105,14 +106,14 @@ JSValue JSHTMLDocument::open(ExecState* exec, const ArgList& args)
if (args.size() > 2) {
Frame* frame = static_cast<HTMLDocument*>(impl())->frame();
if (frame) {
- JSDOMWindowShell* wrapper = toJSDOMWindowShell(frame);
+ JSDOMWindowShell* wrapper = toJSDOMWindowShell(frame, currentWorld(exec));
if (wrapper) {
JSValue function = wrapper->get(exec, Identifier(exec, "open"));
CallData callData;
CallType callType = function.getCallData(callData);
if (callType == CallTypeNone)
return throwError(exec, TypeError);
- return call(exec, function, callType, callData, wrapper, args);
+ return callInWorld(exec, function, callType, callData, wrapper, args, currentWorld(exec));
}
}
return jsUndefined();
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSHTMLFrameSetElementCustom.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSHTMLFrameSetElementCustom.cpp
index 05972e6..68769d6 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSHTMLFrameSetElementCustom.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSHTMLFrameSetElementCustom.cpp
@@ -47,14 +47,14 @@ bool JSHTMLFrameSetElement::canGetItemsForName(ExecState*, HTMLFrameSetElement*
return frame && frame->hasTagName(frameTag);
}
-JSValue JSHTMLFrameSetElement::nameGetter(ExecState*, const Identifier& propertyName, const PropertySlot& slot)
+JSValue JSHTMLFrameSetElement::nameGetter(ExecState* exec, const Identifier& propertyName, const PropertySlot& slot)
{
JSHTMLElement* thisObj = static_cast<JSHTMLElement*>(asObject(slot.slotBase()));
HTMLElement* element = static_cast<HTMLElement*>(thisObj->impl());
Node* frame = element->children()->namedItem(propertyName);
if (Document* doc = static_cast<HTMLFrameElement*>(frame)->contentDocument()) {
- if (JSDOMWindowShell* window = toJSDOMWindowShell(doc->frame()))
+ if (JSDOMWindowShell* window = toJSDOMWindowShell(doc->frame(), currentWorld(exec)))
return window;
}
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSInspectorBackendCustom.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSInspectorBackendCustom.cpp
index 391cacc..439f532 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSInspectorBackendCustom.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSInspectorBackendCustom.cpp
@@ -131,7 +131,8 @@ JSValue JSInspectorBackend::databaseForId(ExecState* exec, const ArgList& args)
Database* database = impl()->databaseForId(args.at(0).toInt32(exec));
if (!database)
return jsUndefined();
- JSDOMWindow* inspectedWindow = toJSDOMWindow(ic->inspectedPage()->mainFrame());
+ // Could use currentWorld(exec) ... but which exec! The following mixed use of exec & inspectedWindow->globalExec() scares me!
+ JSDOMWindow* inspectedWindow = toJSDOMWindow(ic->inspectedPage()->mainFrame(), debuggerWorld());
return JSInspectedObjectWrapper::wrap(inspectedWindow->globalExec(), toJS(exec, database));
}
#endif
@@ -141,7 +142,7 @@ JSValue JSInspectorBackend::inspectedWindow(ExecState*, const ArgList&)
InspectorController* ic = impl()->inspectorController();
if (!ic)
return jsUndefined();
- JSDOMWindow* inspectedWindow = toJSDOMWindow(ic->inspectedPage()->mainFrame());
+ JSDOMWindow* inspectedWindow = toJSDOMWindow(ic->inspectedPage()->mainFrame(), debuggerWorld());
return JSInspectedObjectWrapper::wrap(inspectedWindow->globalExec(), inspectedWindow);
}
@@ -266,7 +267,7 @@ JSValue JSInspectorBackend::nodeForId(ExecState* exec, const ArgList& args)
return jsUndefined();
JSLock lock(SilenceAssertionsOnly);
- JSDOMWindow* inspectedWindow = toJSDOMWindow(ic->inspectedPage()->mainFrame());
+ JSDOMWindow* inspectedWindow = toJSDOMWindow(ic->inspectedPage()->mainFrame(), debuggerWorld());
return JSInspectedObjectWrapper::wrap(inspectedWindow->globalExec(), toJS(exec, deprecatedGlobalObjectForPrototype(inspectedWindow->globalExec()), node));
}
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSLazyEventListener.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSLazyEventListener.cpp
index 0d6cb57..6d75f4f 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSLazyEventListener.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSLazyEventListener.cpp
@@ -35,8 +35,8 @@ namespace WebCore {
static WTF::RefCountedLeakCounter eventListenerCounter("JSLazyEventListener");
#endif
-JSLazyEventListener::JSLazyEventListener(const String& functionName, const String& eventParameterName, const String& code, Node* node, const String& sourceURL, int lineNumber)
- : JSEventListener(0, true)
+JSLazyEventListener::JSLazyEventListener(const String& functionName, const String& eventParameterName, const String& code, Node* node, const String& sourceURL, int lineNumber, DOMWrapperWorld* isolatedWorld)
+ : JSEventListener(0, true, isolatedWorld)
, m_functionName(functionName)
, m_eventParameterName(eventParameterName)
, m_code(code)
@@ -92,7 +92,7 @@ void JSLazyEventListener::parseCode(ScriptExecutionContext* executionContext) co
if (!scriptController->isEnabled())
return;
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(executionContext);
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(executionContext, m_isolatedWorld.get());
if (!globalObject)
return;
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSLazyEventListener.h b/src/3rdparty/webkit/WebCore/bindings/js/JSLazyEventListener.h
index e3137b8..ba26ef6 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSLazyEventListener.h
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSLazyEventListener.h
@@ -29,14 +29,14 @@ namespace WebCore {
class JSLazyEventListener : public JSEventListener {
public:
- static PassRefPtr<JSLazyEventListener> create(const String& functionName, const String& eventParameterName, const String& code, Node* node, const String& sourceURL, int lineNumber)
+ static PassRefPtr<JSLazyEventListener> create(const String& functionName, const String& eventParameterName, const String& code, Node* node, const String& sourceURL, int lineNumber, DOMWrapperWorld* isolatedWorld)
{
- return adoptRef(new JSLazyEventListener(functionName, eventParameterName, code, node, sourceURL, lineNumber));
+ return adoptRef(new JSLazyEventListener(functionName, eventParameterName, code, node, sourceURL, lineNumber, isolatedWorld));
}
virtual ~JSLazyEventListener();
private:
- JSLazyEventListener(const String& functionName, const String& eventParameterName, const String& code, Node*, const String& sourceURL, int lineNumber);
+ JSLazyEventListener(const String& functionName, const String& eventParameterName, const String& code, Node*, const String& sourceURL, int lineNumber, DOMWrapperWorld* isolatedWorld);
virtual JSC::JSObject* jsFunction(ScriptExecutionContext*) const;
virtual bool wasCreatedFromMarkup() const { return true; }
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSMessageChannelCustom.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSMessageChannelCustom.cpp
index 574e28a..d28d494 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSMessageChannelCustom.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSMessageChannelCustom.cpp
@@ -36,17 +36,11 @@ void JSMessageChannel::markChildren(MarkStack& markStack)
{
Base::markChildren(markStack);
- if (MessagePort* port = m_impl->port1()) {
- DOMObject* wrapper = getCachedDOMObjectWrapper(*Heap::heap(this)->globalData(), port);
- if (wrapper)
- markStack.append(wrapper);
- }
+ if (MessagePort* port = m_impl->port1())
+ markDOMObjectWrapper(markStack, *Heap::heap(this)->globalData(), port);
- if (MessagePort* port = m_impl->port2()) {
- DOMObject* wrapper = getCachedDOMObjectWrapper(*Heap::heap(this)->globalData(), port);
- if (wrapper)
- markStack.append(wrapper);
- }
+ if (MessagePort* port = m_impl->port2())
+ markDOMObjectWrapper(markStack, *Heap::heap(this)->globalData(), port);
}
} // namespace WebCore
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSMessagePortCustom.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSMessagePortCustom.cpp
index a0a92be..2c09620 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSMessagePortCustom.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSMessagePortCustom.cpp
@@ -46,11 +46,8 @@ void JSMessagePort::markChildren(MarkStack& markStack)
Base::markChildren(markStack);
// If we have a locally entangled port, we can directly mark it as reachable. Ports that are remotely entangled are marked in-use by markActiveObjectsForContext().
- if (MessagePort* entangledPort = m_impl->locallyEntangledPort()) {
- DOMObject* wrapper = getCachedDOMObjectWrapper(*Heap::heap(this)->globalData(), entangledPort);
- if (wrapper)
- markStack.append(wrapper);
- }
+ if (MessagePort* entangledPort = m_impl->locallyEntangledPort())
+ markDOMObjectWrapper(markStack, *Heap::heap(this)->globalData(), entangledPort);
m_impl->markEventListeners(markStack);
}
@@ -61,7 +58,7 @@ JSValue JSMessagePort::addEventListener(ExecState* exec, const ArgList& args)
if (!listener.isObject())
return jsUndefined();
- impl()->addEventListener(args.at(0).toString(exec), JSEventListener::create(asObject(listener), false).get(), args.at(2).toBoolean(exec));
+ impl()->addEventListener(args.at(0).toString(exec), JSEventListener::create(asObject(listener), false, currentWorld(exec)).get(), args.at(2).toBoolean(exec));
return jsUndefined();
}
@@ -71,7 +68,7 @@ JSValue JSMessagePort::removeEventListener(ExecState* exec, const ArgList& args)
if (!listener.isObject())
return jsUndefined();
- impl()->removeEventListener(args.at(0).toString(exec), JSEventListener::create(asObject(listener), false).get(), args.at(2).toBoolean(exec));
+ impl()->removeEventListener(args.at(0).toString(exec), JSEventListener::create(asObject(listener), false, currentWorld(exec)).get(), args.at(2).toBoolean(exec));
return jsUndefined();
}
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSNodeCustom.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSNodeCustom.cpp
index 4e7d622..2a4aa80 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSNodeCustom.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSNodeCustom.cpp
@@ -114,7 +114,7 @@ JSValue JSNode::addEventListener(ExecState* exec, const ArgList& args)
if (!listener.isObject())
return jsUndefined();
- impl()->addEventListener(args.at(0).toString(exec), JSEventListener::create(asObject(listener), false), args.at(2).toBoolean(exec));
+ impl()->addEventListener(args.at(0).toString(exec), JSEventListener::create(asObject(listener), false, currentWorld(exec)), args.at(2).toBoolean(exec));
return jsUndefined();
}
@@ -124,7 +124,7 @@ JSValue JSNode::removeEventListener(ExecState* exec, const ArgList& args)
if (!listener.isObject())
return jsUndefined();
- impl()->removeEventListener(args.at(0).toString(exec), JSEventListener::create(asObject(listener), false).get(), args.at(2).toBoolean(exec));
+ impl()->removeEventListener(args.at(0).toString(exec), JSEventListener::create(asObject(listener), false, currentWorld(exec)).get(), args.at(2).toBoolean(exec));
return jsUndefined();
}
@@ -143,10 +143,8 @@ void JSNode::markChildren(MarkStack& markStack)
// the document, we need to mark the document, but we don't need to explicitly
// mark any other nodes.
if (node->inDocument()) {
- if (Document* doc = node->ownerDocument()) {
- if (DOMObject* docWrapper = getCachedDOMObjectWrapper(*Heap::heap(this)->globalData(), doc))
- markStack.append(docWrapper);
- }
+ if (Document* doc = node->ownerDocument())
+ markDOMObjectWrapper(markStack, *Heap::heap(this)->globalData(), doc);
return;
}
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSNodeFilterCondition.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSNodeFilterCondition.cpp
index a199417..54dc020 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSNodeFilterCondition.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSNodeFilterCondition.cpp
@@ -66,7 +66,7 @@ short JSNodeFilterCondition::acceptNode(JSC::ExecState* exec, Node* filterNode)
if (exec->hadException())
return NodeFilter::FILTER_REJECT;
- JSValue result = call(exec, m_filter, callType, callData, m_filter, args);
+ JSValue result = callInWorld(exec, m_filter, callType, callData, m_filter, args, currentWorld(exec));
if (exec->hadException())
return NodeFilter::FILTER_REJECT;
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSQuarantinedObjectWrapper.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSQuarantinedObjectWrapper.cpp
index a0551a1..2ab2c00 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSQuarantinedObjectWrapper.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSQuarantinedObjectWrapper.cpp
@@ -26,6 +26,8 @@
#include "config.h"
#include "JSQuarantinedObjectWrapper.h"
+#include "JSDOMBinding.h"
+
#include <runtime/JSGlobalObject.h>
using namespace JSC;
@@ -243,7 +245,8 @@ JSObject* JSQuarantinedObjectWrapper::construct(ExecState* exec, JSObject* const
ConstructType unwrappedConstructType = wrapper->m_unwrappedObject->getConstructData(unwrappedConstructData);
ASSERT(unwrappedConstructType != ConstructTypeNone);
- JSValue unwrappedResult = JSC::construct(wrapper->unwrappedExecState(), wrapper->m_unwrappedObject, unwrappedConstructType, unwrappedConstructData, preparedArgs);
+ // FIXME: Quarantined objects are all in the debuggerWorld(), for now. Instead, we should remove the quarantined objects, & replace them with an isolated world?
+ JSValue unwrappedResult = constructInWorld(wrapper->unwrappedExecState(), wrapper->m_unwrappedObject, unwrappedConstructType, unwrappedConstructData, preparedArgs, debuggerWorld());
JSValue resultValue = wrapper->wrapOutgoingValue(wrapper->unwrappedExecState(), unwrappedResult);
ASSERT(resultValue.isObject());
@@ -293,7 +296,8 @@ JSValue JSQuarantinedObjectWrapper::call(ExecState* exec, JSObject* function, JS
CallType unwrappedCallType = wrapper->m_unwrappedObject->getCallData(unwrappedCallData);
ASSERT(unwrappedCallType != CallTypeNone);
- JSValue unwrappedResult = JSC::call(wrapper->unwrappedExecState(), wrapper->m_unwrappedObject, unwrappedCallType, unwrappedCallData, preparedThisValue, preparedArgs);
+ // FIXME: Quarantined objects are all in the debuggerWorld(), for now. Instead, we should remove the quarantined objects, & replace them with an isolated world?
+ JSValue unwrappedResult = callInWorld(wrapper->unwrappedExecState(), wrapper->m_unwrappedObject, unwrappedCallType, unwrappedCallData, preparedThisValue, preparedArgs, debuggerWorld());
JSValue result = wrapper->wrapOutgoingValue(wrapper->unwrappedExecState(), unwrappedResult);
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSSVGElementInstanceCustom.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSSVGElementInstanceCustom.cpp
index fd3742d..ba1cf22 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSSVGElementInstanceCustom.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSSVGElementInstanceCustom.cpp
@@ -54,7 +54,7 @@ JSValue JSSVGElementInstance::addEventListener(ExecState* exec, const ArgList& a
if (!listener.isObject())
return jsUndefined();
- impl()->addEventListener(args.at(0).toString(exec), JSEventListener::create(asObject(listener), false), args.at(2).toBoolean(exec));
+ impl()->addEventListener(args.at(0).toString(exec), JSEventListener::create(asObject(listener), false, currentWorld(exec)), args.at(2).toBoolean(exec));
return jsUndefined();
}
@@ -64,7 +64,7 @@ JSValue JSSVGElementInstance::removeEventListener(ExecState* exec, const ArgList
if (!listener.isObject())
return jsUndefined();
- impl()->removeEventListener(args.at(0).toString(exec), JSEventListener::create(asObject(listener), false).get(), args.at(2).toBoolean(exec));
+ impl()->removeEventListener(args.at(0).toString(exec), JSEventListener::create(asObject(listener), false, currentWorld(exec)).get(), args.at(2).toBoolean(exec));
return jsUndefined();
}
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSSharedWorkerCustom.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSSharedWorkerCustom.cpp
index f21f50c..4617087 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSSharedWorkerCustom.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSSharedWorkerCustom.cpp
@@ -45,11 +45,8 @@ void JSSharedWorker::markChildren(MarkStack& markStack)
{
Base::markChildren(markStack);
- if (MessagePort* port = impl()->port()) {
- DOMObject* wrapper = getCachedDOMObjectWrapper(*Heap::heap(this)->globalData(), port);
- if (wrapper)
- markStack.append(wrapper);
- }
+ if (MessagePort* port = impl()->port())
+ markDOMObjectWrapper(markStack, *Heap::heap(this)->globalData(), port);
}
} // namespace WebCore
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSWebSocketCustom.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSWebSocketCustom.cpp
index bea3563..33c3fcd 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSWebSocketCustom.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSWebSocketCustom.cpp
@@ -66,7 +66,7 @@ JSValue JSWebSocket::addEventListener(ExecState* exec, const ArgList& args)
if (!listener.isObject())
return jsUndefined();
- impl()->addEventListener(args.at(0).toString(exec), JSEventListener::create(asObject(listener), false), args.at(2).toBoolean(exec));
+ impl()->addEventListener(args.at(0).toString(exec), JSEventListener::create(asObject(listener), false, currentWorld(exec)), args.at(2).toBoolean(exec));
return jsUndefined();
}
@@ -76,7 +76,7 @@ JSValue JSWebSocket::removeEventListener(ExecState* exec, const ArgList& args)
if (!listener.isObject())
return jsUndefined();
- impl()->removeEventListener(args.at(0).toString(exec), JSEventListener::create(asObject(listener), false).get(), args.at(2).toBoolean(exec));
+ impl()->removeEventListener(args.at(0).toString(exec), JSEventListener::create(asObject(listener), false, currentWorld(exec)).get(), args.at(2).toBoolean(exec));
return jsUndefined();
}
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSWorkerContextCustom.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSWorkerContextCustom.cpp
index e1c8a8c..490d9b1 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSWorkerContextCustom.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSWorkerContextCustom.cpp
@@ -122,7 +122,7 @@ JSValue JSWorkerContext::addEventListener(ExecState* exec, const ArgList& args)
if (!listener.isObject())
return jsUndefined();
- impl()->addEventListener(args.at(0).toString(exec), JSEventListener::create(asObject(listener), false), args.at(2).toBoolean(exec));
+ impl()->addEventListener(args.at(0).toString(exec), JSEventListener::create(asObject(listener), false, currentWorld(exec)), args.at(2).toBoolean(exec));
return jsUndefined();
}
@@ -132,13 +132,13 @@ JSValue JSWorkerContext::removeEventListener(ExecState* exec, const ArgList& arg
if (!listener.isObject())
return jsUndefined();
- impl()->removeEventListener(args.at(0).toString(exec), JSEventListener::create(asObject(listener), false).get(), args.at(2).toBoolean(exec));
+ impl()->removeEventListener(args.at(0).toString(exec), JSEventListener::create(asObject(listener), false, currentWorld(exec)).get(), args.at(2).toBoolean(exec));
return jsUndefined();
}
JSValue JSWorkerContext::setTimeout(ExecState* exec, const ArgList& args)
{
- ScheduledAction* action = ScheduledAction::create(exec, args);
+ ScheduledAction* action = ScheduledAction::create(exec, args, currentWorld(exec));
if (exec->hadException())
return jsUndefined();
int delay = args.at(1).toInt32(exec);
@@ -147,7 +147,7 @@ JSValue JSWorkerContext::setTimeout(ExecState* exec, const ArgList& args)
JSValue JSWorkerContext::setInterval(ExecState* exec, const ArgList& args)
{
- ScheduledAction* action = ScheduledAction::create(exec, args);
+ ScheduledAction* action = ScheduledAction::create(exec, args, currentWorld(exec));
if (exec->hadException())
return jsUndefined();
int delay = args.at(1).toInt32(exec);
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSXMLHttpRequestCustom.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSXMLHttpRequestCustom.cpp
index 7d3f8af..7ee2720 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSXMLHttpRequestCustom.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSXMLHttpRequestCustom.cpp
@@ -53,11 +53,8 @@ void JSXMLHttpRequest::markChildren(MarkStack& markStack)
{
Base::markChildren(markStack);
- if (XMLHttpRequestUpload* upload = m_impl->optionalUpload()) {
- DOMObject* wrapper = getCachedDOMObjectWrapper(*Heap::heap(this)->globalData(), upload);
- if (wrapper)
- markStack.append(wrapper);
- }
+ if (XMLHttpRequestUpload* upload = m_impl->optionalUpload())
+ markDOMObjectWrapper(markStack, *Heap::heap(this)->globalData(), upload);
m_impl->markEventListeners(markStack);
}
@@ -156,7 +153,7 @@ JSValue JSXMLHttpRequest::addEventListener(ExecState* exec, const ArgList& args)
if (!listener.isObject())
return jsUndefined();
- impl()->addEventListener(args.at(0).toString(exec), JSEventListener::create(asObject(listener), false), args.at(2).toBoolean(exec));
+ impl()->addEventListener(args.at(0).toString(exec), JSEventListener::create(asObject(listener), false, currentWorld(exec)), args.at(2).toBoolean(exec));
return jsUndefined();
}
@@ -166,7 +163,7 @@ JSValue JSXMLHttpRequest::removeEventListener(ExecState* exec, const ArgList& ar
if (!listener.isObject())
return jsUndefined();
- impl()->removeEventListener(args.at(0).toString(exec), JSEventListener::create(asObject(listener), false).get(), args.at(2).toBoolean(exec));
+ impl()->removeEventListener(args.at(0).toString(exec), JSEventListener::create(asObject(listener), false, currentWorld(exec)).get(), args.at(2).toBoolean(exec));
return jsUndefined();
}
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSXMLHttpRequestUploadCustom.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSXMLHttpRequestUploadCustom.cpp
index 275d1fb..fa7cfec 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSXMLHttpRequestUploadCustom.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSXMLHttpRequestUploadCustom.cpp
@@ -45,11 +45,8 @@ void JSXMLHttpRequestUpload::markChildren(MarkStack& markStack)
{
Base::markChildren(markStack);
- if (XMLHttpRequest* xmlHttpRequest = m_impl->associatedXMLHttpRequest()) {
- DOMObject* wrapper = getCachedDOMObjectWrapper(*Heap::heap(this)->globalData(), xmlHttpRequest);
- if (wrapper)
- markStack.append(wrapper);
- }
+ if (XMLHttpRequest* xmlHttpRequest = m_impl->associatedXMLHttpRequest())
+ markDOMObjectWrapper(markStack, *Heap::heap(this)->globalData(), xmlHttpRequest);
m_impl->markEventListeners(markStack);
}
@@ -60,7 +57,7 @@ JSValue JSXMLHttpRequestUpload::addEventListener(ExecState* exec, const ArgList&
if (!listener.isObject())
return jsUndefined();
- impl()->addEventListener(args.at(0).toString(exec), JSEventListener::create(asObject(listener), false), args.at(2).toBoolean(exec));
+ impl()->addEventListener(args.at(0).toString(exec), JSEventListener::create(asObject(listener), false, currentWorld(exec)), args.at(2).toBoolean(exec));
return jsUndefined();
}
@@ -70,7 +67,7 @@ JSValue JSXMLHttpRequestUpload::removeEventListener(ExecState* exec, const ArgLi
if (!listener.isObject())
return jsUndefined();
- impl()->removeEventListener(args.at(0).toString(exec), JSEventListener::create(asObject(listener), false).get(), args.at(2).toBoolean(exec));
+ impl()->removeEventListener(args.at(0).toString(exec), JSEventListener::create(asObject(listener), false, currentWorld(exec)).get(), args.at(2).toBoolean(exec));
return jsUndefined();
}
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/ScheduledAction.cpp b/src/3rdparty/webkit/WebCore/bindings/js/ScheduledAction.cpp
index 93155e1..9a21b6b 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/ScheduledAction.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/ScheduledAction.cpp
@@ -47,7 +47,7 @@ using namespace JSC;
namespace WebCore {
-ScheduledAction* ScheduledAction::create(ExecState* exec, const ArgList& args)
+ScheduledAction* ScheduledAction::create(ExecState* exec, const ArgList& args, DOMWrapperWorld* isolatedWorld)
{
JSValue v = args.at(0);
CallData callData;
@@ -55,15 +55,16 @@ ScheduledAction* ScheduledAction::create(ExecState* exec, const ArgList& args)
UString string = v.toString(exec);
if (exec->hadException())
return 0;
- return new ScheduledAction(string);
+ return new ScheduledAction(string, isolatedWorld);
}
ArgList argsTail;
args.getSlice(2, argsTail);
- return new ScheduledAction(v, argsTail);
+ return new ScheduledAction(v, argsTail, isolatedWorld);
}
-ScheduledAction::ScheduledAction(JSValue function, const ArgList& args)
+ScheduledAction::ScheduledAction(JSValue function, const ArgList& args, DOMWrapperWorld* isolatedWorld)
: m_function(function)
+ , m_isolatedWorld(isolatedWorld)
{
ArgList::const_iterator end = args.end();
for (ArgList::const_iterator it = args.begin(); it != end; ++it)
@@ -102,7 +103,7 @@ void ScheduledAction::executeFunctionInContext(JSGlobalObject* globalObject, JSV
args.append(m_args[i]);
globalObject->globalData()->timeoutChecker.start();
- call(exec, m_function, callType, callData, thisValue, args);
+ callInWorld(exec, m_function, callType, callData, thisValue, args, m_isolatedWorld.get());
globalObject->globalData()->timeoutChecker.stop();
if (exec->hadException())
@@ -111,7 +112,7 @@ void ScheduledAction::executeFunctionInContext(JSGlobalObject* globalObject, JSV
void ScheduledAction::execute(Document* document)
{
- JSDOMWindow* window = toJSDOMWindow(document->frame());
+ JSDOMWindow* window = toJSDOMWindow(document->frame(), m_isolatedWorld.get());
if (!window)
return;
@@ -125,7 +126,7 @@ void ScheduledAction::execute(Document* document)
executeFunctionInContext(window, window->shell());
Document::updateStyleForAllDocuments();
} else
- frame->script()->executeScript(m_code);
+ frame->script()->executeScriptInIsolatedWorld(m_isolatedWorld.get(), m_code);
frame->script()->setProcessingTimerCallback(false);
}
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/ScheduledAction.h b/src/3rdparty/webkit/WebCore/bindings/js/ScheduledAction.h
index 2cd36ed..4ea727d 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/ScheduledAction.h
+++ b/src/3rdparty/webkit/WebCore/bindings/js/ScheduledAction.h
@@ -21,6 +21,7 @@
#define ScheduledAction_h
#include "PlatformString.h"
+#include <JSDOMBinding.h>
#include <runtime/JSCell.h>
#include <runtime/Protect.h>
#include <wtf/Vector.h>
@@ -41,14 +42,15 @@ namespace WebCore {
*/
class ScheduledAction {
public:
- static ScheduledAction* create(JSC::ExecState*, const JSC::ArgList&);
+ static ScheduledAction* create(JSC::ExecState*, const JSC::ArgList&, DOMWrapperWorld* isolatedWorld);
void execute(ScriptExecutionContext*);
private:
- ScheduledAction(JSC::JSValue function, const JSC::ArgList&);
- ScheduledAction(const String& code)
+ ScheduledAction(JSC::JSValue function, const JSC::ArgList&, DOMWrapperWorld* isolatedWorld);
+ ScheduledAction(const String& code, DOMWrapperWorld* isolatedWorld)
: m_code(code)
+ , m_isolatedWorld(isolatedWorld)
{
}
@@ -61,6 +63,7 @@ namespace WebCore {
JSC::ProtectedJSValue m_function;
Vector<JSC::ProtectedJSValue> m_args;
String m_code;
+ RefPtr<DOMWrapperWorld> m_isolatedWorld;
};
} // namespace WebCore
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/ScriptCachedFrameData.cpp b/src/3rdparty/webkit/WebCore/bindings/js/ScriptCachedFrameData.cpp
index 77b8ca4..e01324e 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/ScriptCachedFrameData.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/ScriptCachedFrameData.cpp
@@ -48,8 +48,9 @@ ScriptCachedFrameData::ScriptCachedFrameData(Frame* frame)
JSLock lock(SilenceAssertionsOnly);
ScriptController* scriptController = frame->script();
- if (scriptController->haveWindowShell()) {
- m_window = scriptController->windowShell()->window();
+ // FIXME: explicitly save and restore isolated worlds' global objects when using the back/forward cache. <rdar://problem/7328111>
+ if (JSDOMWindowShell* windowShell = scriptController->existingWindowShell(mainThreadNormalWorld())) {
+ m_window = windowShell->window();
scriptController->attachDebugger(0);
}
}
@@ -70,11 +71,11 @@ void ScriptCachedFrameData::restore(Frame* frame)
JSLock lock(SilenceAssertionsOnly);
ScriptController* scriptController = frame->script();
- if (scriptController->haveWindowShell()) {
- JSDOMWindowShell* windowShell = scriptController->windowShell();
- if (m_window) {
+ // FIXME: explicitly save and restore isolated worlds' global objects when using the back/forward cache. <rdar://problem/7328111>
+ if (JSDOMWindowShell* windowShell = scriptController->existingWindowShell(mainThreadNormalWorld())) {
+ if (m_window)
windowShell->setWindow(m_window.get());
- } else {
+ else {
windowShell->setWindow(frame->domWindow());
scriptController->attachDebugger(page->debugger());
windowShell->window()->setProfileGroup(page->group().identifier());
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/ScriptController.cpp b/src/3rdparty/webkit/WebCore/bindings/js/ScriptController.cpp
index 54acc90..4a1d413 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/ScriptController.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/ScriptController.cpp
@@ -21,6 +21,7 @@
#include "config.h"
#include "ScriptController.h"
+#include "CString.h"
#include "Event.h"
#include "EventNames.h"
#include "Frame.h"
@@ -38,12 +39,18 @@
#include "npruntime_impl.h"
#include "runtime_root.h"
#include <debugger/Debugger.h>
+#include <runtime/InitializeThreading.h>
#include <runtime/JSLock.h>
using namespace JSC;
namespace WebCore {
+void ScriptController::initializeThreading()
+{
+ JSC::initializeThreading();
+}
+
ScriptController::ScriptController(Frame* frame)
: m_frame(frame)
, m_handlerLineNumber(0)
@@ -71,8 +78,11 @@ ScriptController::ScriptController(Frame* frame)
ScriptController::~ScriptController()
{
- if (m_windowShell) {
- m_windowShell = 0;
+ if (!m_windowShells.isEmpty()) {
+ for (ShellMap::iterator iter = m_windowShells.begin(); iter != m_windowShells.end(); ++iter)
+ iter->first->forgetScriptController(this);
+
+ m_windowShells.clear();
// It's likely that releasing the global object has created a lot of garbage.
gcController().garbageCollectSoon();
@@ -81,7 +91,7 @@ ScriptController::~ScriptController()
disconnectPlatformScriptObjects();
}
-ScriptValue ScriptController::evaluate(const ScriptSourceCode& sourceCode)
+ScriptValue ScriptController::evaluateInWorld(const ScriptSourceCode& sourceCode, DOMWrapperWorld* world)
{
const SourceCode& jsSourceCode = sourceCode.jsSourceCode();
String sourceURL = jsSourceCode.provider()->url();
@@ -94,12 +104,12 @@ ScriptValue ScriptController::evaluate(const ScriptSourceCode& sourceCode)
// evaluate code. Returns the JS return value or 0
// if there was none, an error occured or the type couldn't be converted.
- initScriptIfNeeded();
// inlineCode is true for <a href="javascript:doSomething()">
// and false for <script>doSomething()</script>. Check if it has the
// expected value in all cases.
// See smart window.open policy for where this is used.
- ExecState* exec = m_windowShell->window()->globalExec();
+ JSDOMWindowShell* shell = windowShell(world);
+ ExecState* exec = shell->window()->globalExec();
const String* savedSourceURL = m_sourceURL;
m_sourceURL = &sourceURL;
@@ -107,9 +117,9 @@ ScriptValue ScriptController::evaluate(const ScriptSourceCode& sourceCode)
RefPtr<Frame> protect = m_frame;
- m_windowShell->window()->globalData()->timeoutChecker.start();
- Completion comp = JSC::evaluate(exec, exec->dynamicGlobalObject()->globalScopeChain(), jsSourceCode, m_windowShell);
- m_windowShell->window()->globalData()->timeoutChecker.stop();
+ exec->globalData().timeoutChecker.start();
+ Completion comp = WebCore::evaluateInWorld(exec, exec->dynamicGlobalObject()->globalScopeChain(), jsSourceCode, shell, world);
+ exec->globalData().timeoutChecker.stop();
// Evaluating the JavaScript could cause the frame to be deallocated
// so we start the keep alive timer here.
@@ -127,52 +137,114 @@ ScriptValue ScriptController::evaluate(const ScriptSourceCode& sourceCode)
return JSValue();
}
-void ScriptController::evaluateInIsolatedWorld(unsigned /* worldID */, const Vector<ScriptSourceCode>& sourceCode)
+ScriptValue ScriptController::evaluate(const ScriptSourceCode& sourceCode)
+{
+ return evaluateInWorld(sourceCode, mainThreadNormalWorld());
+}
+
+// An DOMWrapperWorld other than the thread's normal world.
+class IsolatedWorld : public DOMWrapperWorld {
+public:
+ IsolatedWorld(JSGlobalData* globalData)
+ : DOMWrapperWorld(globalData)
+ {
+ JSGlobalData::ClientData* clientData = globalData->clientData;
+ ASSERT(clientData);
+ static_cast<WebCoreJSClientData*>(clientData)->rememberWorld(this);
+ }
+
+ static PassRefPtr<IsolatedWorld> create(JSGlobalData* globalData) { return adoptRef(new IsolatedWorld(globalData)); }
+};
+
+static PassRefPtr<IsolatedWorld> findWorld(unsigned worldID)
+{
+ if (!worldID)
+ return IsolatedWorld::create(JSDOMWindow::commonJSGlobalData());
+
+ typedef HashMap<unsigned, RefPtr<IsolatedWorld> > WorldMap;
+ DEFINE_STATIC_LOCAL(WorldMap, isolatedWorlds, ());
+
+ WorldMap::iterator iter = isolatedWorlds.find(worldID);
+ if (iter != isolatedWorlds.end())
+ return iter->second;
+
+ RefPtr<IsolatedWorld> newWorld = IsolatedWorld::create(JSDOMWindow::commonJSGlobalData());
+ isolatedWorlds.add(worldID, newWorld);
+ return newWorld;
+}
+
+JSDOMWindow* ScriptController::globalObject(unsigned worldID)
+{
+ RefPtr<DOMWrapperWorld> world = findWorld(worldID);
+ return windowShell(world.get())->window();
+}
+
+ScriptValue ScriptController::evaluateInIsolatedWorld(unsigned worldID, const ScriptSourceCode& sourceCode)
+{
+ RefPtr<DOMWrapperWorld> world = findWorld(worldID);
+ return evaluateInWorld(sourceCode, world.get());
+}
+
+void ScriptController::evaluateInIsolatedWorld(unsigned worldID, const Vector<ScriptSourceCode>& sourceCode)
{
- // FIXME: Actually support isolated worlds!
+ RefPtr<DOMWrapperWorld> world = findWorld(worldID);
+
unsigned size = sourceCode.size();
for (unsigned i = 0; i < size; ++i)
- evaluate(sourceCode[i]);
+ evaluateInWorld(sourceCode[i], world.get());
}
void ScriptController::clearWindowShell()
{
- if (!m_windowShell)
+ if (m_windowShells.isEmpty())
return;
JSLock lock(SilenceAssertionsOnly);
// Clear the debugger from the current window before setting the new window.
+ DOMWrapperWorld* debugWorld = debuggerWorld();
attachDebugger(0);
- m_windowShell->window()->willRemoveFromWindowShell();
- m_windowShell->setWindow(m_frame->domWindow());
+ for (ShellMap::iterator iter = m_windowShells.begin(); iter != m_windowShells.end(); ++iter) {
+ DOMWrapperWorld* world = iter->first;
+ JSDOMWindowShell* windowShell = iter->second;
+ windowShell->window()->willRemoveFromWindowShell();
+ windowShell->setWindow(m_frame->domWindow());
- if (Page* page = m_frame->page()) {
- attachDebugger(page->debugger());
- m_windowShell->window()->setProfileGroup(page->group().identifier());
+ if (Page* page = m_frame->page()) {
+ if (world == debugWorld)
+ attachDebugger(page->debugger());
+ windowShell->window()->setProfileGroup(page->group().identifier());
+ }
}
// There is likely to be a lot of garbage now.
gcController().garbageCollectSoon();
}
-void ScriptController::initScript()
+JSDOMWindowShell* ScriptController::initScript(DOMWrapperWorld* world)
{
- if (m_windowShell)
- return;
+ ASSERT(!m_windowShells.contains(world));
JSLock lock(SilenceAssertionsOnly);
- m_windowShell = new JSDOMWindowShell(m_frame->domWindow());
- m_windowShell->window()->updateDocument();
+ JSDOMWindowShell* windowShell = new JSDOMWindowShell(m_frame->domWindow());
+ m_windowShells.add(world, windowShell);
+ world->rememberScriptController(this);
+ windowShell->window()->updateDocument(world);
if (Page* page = m_frame->page()) {
- attachDebugger(page->debugger());
- m_windowShell->window()->setProfileGroup(page->group().identifier());
+ if (world == debuggerWorld())
+ attachDebugger(page->debugger());
+ windowShell->window()->setProfileGroup(page->group().identifier());
+ }
+
+ {
+ EnterDOMWrapperWorld worldEntry(*JSDOMWindow::commonJSGlobalData(), world);
+ m_frame->loader()->dispatchWindowObjectAvailable();
}
- m_frame->loader()->dispatchWindowObjectAvailable();
+ return windowShell;
}
bool ScriptController::processingUserGesture() const
@@ -182,10 +254,11 @@ bool ScriptController::processingUserGesture() const
bool ScriptController::processingUserGestureEvent() const
{
- if (!m_windowShell)
+ JSDOMWindowShell* shell = existingWindowShell(mainThreadNormalWorld());
+ if (!shell)
return false;
- if (Event* event = m_windowShell->window()->currentEvent()) {
+ if (Event* event = shell->window()->currentEvent()) {
if (event->createdByDOM())
return false;
@@ -243,13 +316,16 @@ bool ScriptController::isEnabled()
void ScriptController::attachDebugger(JSC::Debugger* debugger)
{
- if (!m_windowShell)
+ // FIXME: Should be able to debug isolated worlds.
+ JSDOMWindowShell* shell = existingWindowShell(debuggerWorld());
+ if (!shell)
return;
+ JSDOMWindow* globalObject = shell->window();
if (debugger)
- debugger->attach(m_windowShell->window());
- else if (JSC::Debugger* currentDebugger = m_windowShell->window()->debugger())
- currentDebugger->detach(m_windowShell->window());
+ debugger->attach(globalObject);
+ else if (JSC::Debugger* currentDebugger = globalObject->debugger())
+ currentDebugger->detach(globalObject);
}
void ScriptController::updateDocument()
@@ -258,8 +334,8 @@ void ScriptController::updateDocument()
return;
JSLock lock(SilenceAssertionsOnly);
- if (m_windowShell)
- m_windowShell->window()->updateDocument();
+ for (ShellMap::iterator iter = m_windowShells.begin(); iter != m_windowShells.end(); ++iter)
+ iter->second->window()->updateDocument(iter->first);
}
void ScriptController::updateSecurityOrigin()
@@ -274,7 +350,7 @@ Bindings::RootObject* ScriptController::bindingRootObject()
if (!m_bindingRootObject) {
JSLock lock(SilenceAssertionsOnly);
- m_bindingRootObject = Bindings::RootObject::create(0, globalObject());
+ m_bindingRootObject = Bindings::RootObject::create(0, globalObject(pluginWorld()));
}
return m_bindingRootObject.get();
}
@@ -285,7 +361,7 @@ PassRefPtr<Bindings::RootObject> ScriptController::createRootObject(void* native
if (it != m_rootObjects.end())
return it->second;
- RefPtr<Bindings::RootObject> rootObject = Bindings::RootObject::create(nativeHandle, globalObject());
+ RefPtr<Bindings::RootObject> rootObject = Bindings::RootObject::create(nativeHandle, globalObject(pluginWorld()));
m_rootObjects.set(nativeHandle, rootObject);
return rootObject.release();
@@ -300,7 +376,7 @@ NPObject* ScriptController::windowScriptNPObject()
// JavaScript is enabled, so there is a JavaScript window object.
// Return an NPObject bound to the window object.
JSC::JSLock lock(SilenceAssertionsOnly);
- JSObject* win = windowShell()->window();
+ JSObject* win = windowShell(pluginWorld())->window();
ASSERT(win);
Bindings::RootObject* root = bindingRootObject();
m_windowScriptNPObject = _NPN_CreateScriptObject(0, win, root);
@@ -334,8 +410,9 @@ JSObject* ScriptController::jsObjectForPluginElement(HTMLPlugInElement* plugin)
// Create a JSObject bound to this element
JSLock lock(SilenceAssertionsOnly);
- ExecState* exec = globalObject()->globalExec();
- JSValue jsElementValue = toJS(exec, globalObject(), plugin);
+ JSDOMWindow* globalObj = globalObject(pluginWorld());
+ // FIXME: is normal okay? - used for NP plugins?
+ JSValue jsElementValue = toJS(globalObj->globalExec(), globalObj, plugin);
if (!jsElementValue || !jsElementValue.isObject())
return 0;
@@ -391,4 +468,44 @@ void ScriptController::clearScriptObjects()
#endif
}
+ScriptValue ScriptController::executeScriptInIsolatedWorld(unsigned worldID, const String& script, bool forceUserGesture)
+{
+ ScriptSourceCode sourceCode(script, forceUserGesture ? KURL() : m_frame->loader()->url());
+
+ if (!isEnabled() || isPaused())
+ return ScriptValue();
+
+ bool wasInExecuteScript = m_inExecuteScript;
+ m_inExecuteScript = true;
+
+ ScriptValue result = evaluateInIsolatedWorld(worldID, sourceCode);
+
+ if (!wasInExecuteScript) {
+ m_inExecuteScript = false;
+ Document::updateStyleForAllDocuments();
+ }
+
+ return result;
+}
+
+ScriptValue ScriptController::executeScriptInIsolatedWorld(DOMWrapperWorld* world, const String& script, bool forceUserGesture)
+{
+ ScriptSourceCode sourceCode(script, forceUserGesture ? KURL() : m_frame->loader()->url());
+
+ if (!isEnabled() || isPaused())
+ return ScriptValue();
+
+ bool wasInExecuteScript = m_inExecuteScript;
+ m_inExecuteScript = true;
+
+ ScriptValue result = evaluateInWorld(sourceCode, world);
+
+ if (!wasInExecuteScript) {
+ m_inExecuteScript = false;
+ Document::updateStyleForAllDocuments();
+ }
+
+ return result;
+}
+
} // namespace WebCore
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/ScriptController.h b/src/3rdparty/webkit/WebCore/bindings/js/ScriptController.h
index bd4b65e..f2a497d 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/ScriptController.h
+++ b/src/3rdparty/webkit/WebCore/bindings/js/ScriptController.h
@@ -63,31 +63,49 @@ class XSSAuditor;
typedef HashMap<void*, RefPtr<JSC::Bindings::RootObject> > RootObjectMap;
class ScriptController {
+ typedef WTF::HashMap<DOMWrapperWorld*, JSC::ProtectedPtr<JSDOMWindowShell> > ShellMap;
+
public:
ScriptController(Frame*);
~ScriptController();
- bool haveWindowShell() const { return m_windowShell; }
- JSDOMWindowShell* windowShell()
+ JSDOMWindowShell* windowShell(DOMWrapperWorld* world)
+ {
+ ShellMap::iterator iter = m_windowShells.find(world);
+ return (iter != m_windowShells.end()) ? iter->second.get() : initScript(world);
+ }
+ JSDOMWindowShell* existingWindowShell(DOMWrapperWorld* world) const
+ {
+ ShellMap::const_iterator iter = m_windowShells.find(world);
+ return (iter != m_windowShells.end()) ? iter->second.get() : 0;
+ }
+ JSDOMWindow* globalObject(DOMWrapperWorld* world)
{
- initScriptIfNeeded();
- return m_windowShell;
+ return windowShell(world)->window();
}
+ JSDOMWindow* globalObject(unsigned worldID);
- JSDOMWindow* globalObject()
+ void forgetWorld(DOMWrapperWorld* world)
{
- initScriptIfNeeded();
- return m_windowShell->window();
+ m_windowShells.remove(world);
}
ScriptValue executeScript(const ScriptSourceCode&);
ScriptValue executeScript(const String& script, bool forceUserGesture = false);
+ ScriptValue executeScriptInIsolatedWorld(unsigned worldID, const String& script, bool forceUserGesture = false);
+ ScriptValue executeScriptInIsolatedWorld(DOMWrapperWorld* world, const String& script, bool forceUserGesture = false);
// Returns true if argument is a JavaScript URL.
bool executeIfJavaScriptURL(const KURL&, bool userGesture = false, bool replaceDocument = true);
+ // This function must be called from the main thread. It is safe to call it repeatedly.
+ // Darwin is an exception to this rule: it is OK to call this function from any thread, even reentrantly.
+ static void initializeThreading();
+
ScriptValue evaluate(const ScriptSourceCode&);
- void evaluateInIsolatedWorld(unsigned worldID, const Vector<ScriptSourceCode>&);
+ ScriptValue evaluateInWorld(const ScriptSourceCode&, DOMWrapperWorld*);
+ ScriptValue evaluateInIsolatedWorld(unsigned /*worldID*/, const ScriptSourceCode&);
+ void evaluateInIsolatedWorld(unsigned /*worldID*/, const Vector<ScriptSourceCode>&);
void setEventHandlerLineNumber(int lineno) { m_handlerLineNumber = lineno; }
int eventHandlerLineNumber() { return m_handlerLineNumber; }
@@ -144,19 +162,14 @@ public:
XSSAuditor* xssAuditor() { return m_XSSAuditor.get(); }
private:
- void initScriptIfNeeded()
- {
- if (!m_windowShell)
- initScript();
- }
- void initScript();
+ JSDOMWindowShell* initScript(DOMWrapperWorld* world);
void disconnectPlatformScriptObjects();
bool processingUserGestureEvent() const;
bool isJavaScriptAnchorNavigation() const;
- JSC::ProtectedPtr<JSDOMWindowShell> m_windowShell;
+ ShellMap m_windowShells;
Frame* m_frame;
int m_handlerLineNumber;
const String* m_sourceURL;
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/ScriptControllerMac.mm b/src/3rdparty/webkit/WebCore/bindings/js/ScriptControllerMac.mm
index e6a654f..21ec0f2 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/ScriptControllerMac.mm
+++ b/src/3rdparty/webkit/WebCore/bindings/js/ScriptControllerMac.mm
@@ -114,7 +114,7 @@ WebScriptObject* ScriptController::windowScriptObject()
if (!m_windowScriptObject) {
JSC::JSLock lock(JSC::SilenceAssertionsOnly);
JSC::Bindings::RootObject* root = bindingRootObject();
- m_windowScriptObject = [WebScriptObject scriptObjectForJSObject:toRef(windowShell()) originRootObject:root rootObject:root];
+ m_windowScriptObject = [WebScriptObject scriptObjectForJSObject:toRef(windowShell(pluginWorld())) originRootObject:root rootObject:root];
}
ASSERT([m_windowScriptObject.get() isKindOfClass:[DOMAbstractView class]]);
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/ScriptEventListener.cpp b/src/3rdparty/webkit/WebCore/bindings/js/ScriptEventListener.cpp
index 0b0047b..8399c7a 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/ScriptEventListener.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/ScriptEventListener.cpp
@@ -71,7 +71,7 @@ PassRefPtr<JSLazyEventListener> createAttributeEventListener(Node* node, Attribu
sourceURL = node->document()->url().string();
}
- return JSLazyEventListener::create(attr->localName().string(), eventParameterName(node->isSVGElement()), attr->value(), node, sourceURL, lineNumber);
+ return JSLazyEventListener::create(attr->localName().string(), eventParameterName(node->isSVGElement()), attr->value(), node, sourceURL, lineNumber, mainThreadNormalWorld());
}
PassRefPtr<JSLazyEventListener> createAttributeEventListener(Frame* frame, Attribute* attr)
@@ -93,7 +93,7 @@ PassRefPtr<JSLazyEventListener> createAttributeEventListener(Frame* frame, Attri
lineNumber = scriptController->eventHandlerLineNumber();
sourceURL = frame->document()->url().string();
- return JSLazyEventListener::create(attr->localName().string(), eventParameterName(frame->document()->isSVGDocument()), attr->value(), 0, sourceURL, lineNumber);
+ return JSLazyEventListener::create(attr->localName().string(), eventParameterName(frame->document()->isSVGDocument()), attr->value(), 0, sourceURL, lineNumber, mainThreadNormalWorld());
}
String getEventListenerHandlerBody(ScriptExecutionContext* context, ScriptState* scriptState, EventListener* eventListener)
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/ScriptFunctionCall.cpp b/src/3rdparty/webkit/WebCore/bindings/js/ScriptFunctionCall.cpp
index 46e80ac..91b2a57 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/ScriptFunctionCall.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/ScriptFunctionCall.cpp
@@ -123,7 +123,8 @@ ScriptValue ScriptFunctionCall::call(bool& hadException, bool reportExceptions)
if (callType == CallTypeNone)
return ScriptValue();
- JSValue result = JSC::call(m_exec, function, callType, callData, thisObject, m_arguments);
+ // FIXME: Should this function take a worldID? - only used by inspector?
+ JSValue result = callInWorld(m_exec, function, callType, callData, thisObject, m_arguments, debuggerWorld());
if (m_exec->hadException()) {
if (reportExceptions)
reportException(m_exec, m_exec->exception());
@@ -161,7 +162,8 @@ ScriptObject ScriptFunctionCall::construct(bool& hadException, bool reportExcept
if (constructType == ConstructTypeNone)
return ScriptObject();
- JSValue result = JSC::construct(m_exec, constructor, constructType, constructData, m_arguments);
+ // FIXME: Currently this method constructs objects in debuggerWorld(). We could use the current world, or pass a worldID to this function?
+ JSValue result = constructInWorld(m_exec, constructor, constructType, constructData, m_arguments, debuggerWorld());
if (m_exec->hadException()) {
if (reportExceptions)
reportException(m_exec, m_exec->exception());
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/ScriptObjectQuarantine.cpp b/src/3rdparty/webkit/WebCore/bindings/js/ScriptObjectQuarantine.cpp
index b48556e..313530f 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/ScriptObjectQuarantine.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/ScriptObjectQuarantine.cpp
@@ -72,7 +72,7 @@ bool getQuarantinedScriptObject(Database* database, ScriptObject& quarantinedObj
if (!frame)
return false;
- JSDOMGlobalObject* globalObject = toJSDOMWindow(frame);
+ JSDOMGlobalObject* globalObject = toJSDOMWindow(frame, debuggerWorld());
ExecState* exec = globalObject->globalExec();
JSLock lock(SilenceAssertionsOnly);
@@ -89,7 +89,7 @@ bool getQuarantinedScriptObject(Storage* storage, ScriptObject& quarantinedObjec
Frame* frame = storage->frame();
ASSERT(frame);
- JSDOMGlobalObject* globalObject = toJSDOMWindow(frame);
+ JSDOMGlobalObject* globalObject = toJSDOMWindow(frame, debuggerWorld());
ExecState* exec = globalObject->globalExec();
JSLock lock(SilenceAssertionsOnly);
@@ -116,7 +116,7 @@ bool getQuarantinedScriptObject(DOMWindow* domWindow, ScriptObject& quarantinedO
{
ASSERT(domWindow);
- JSDOMWindow* window = toJSDOMWindow(domWindow->frame());
+ JSDOMWindow* window = toJSDOMWindow(domWindow->frame(), debuggerWorld());
ExecState* exec = window->globalExec();
JSLock lock(SilenceAssertionsOnly);
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/ScriptSourceCode.h b/src/3rdparty/webkit/WebCore/bindings/js/ScriptSourceCode.h
index 1b05ded..32d6298 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/ScriptSourceCode.h
+++ b/src/3rdparty/webkit/WebCore/bindings/js/ScriptSourceCode.h
@@ -44,6 +44,7 @@ public:
ScriptSourceCode(const String& source, const KURL& url = KURL(), int startLine = 1)
: m_provider(StringSourceProvider::create(source, url.isNull() ? String() : url.string()))
, m_code(m_provider, startLine)
+ , m_url(url)
{
}
@@ -59,10 +60,17 @@ public:
const String& source() const { return m_provider->source(); }
+ int startLine() const { return m_code.firstLine(); }
+
+ const KURL& url() const { return m_url; }
+
private:
RefPtr<ScriptSourceProvider> m_provider;
JSC::SourceCode m_code;
+
+ KURL m_url;
+
};
} // namespace WebCore
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/ScriptState.cpp b/src/3rdparty/webkit/WebCore/bindings/js/ScriptState.cpp
index 8bfa33d..60ba2a0 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/ScriptState.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/ScriptState.cpp
@@ -32,6 +32,7 @@
#include "ScriptState.h"
#include "Frame.h"
+#include "JSDOMWindowBase.h"
#include "Node.h"
#include "Page.h"
@@ -49,12 +50,12 @@ ScriptState* scriptStateFromNode(Node* node)
return 0;
if (!frame->script()->isEnabled())
return 0;
- return frame->script()->globalObject()->globalExec();
+ return frame->script()->globalObject(mainThreadCurrentWorld())->globalExec();
}
ScriptState* scriptStateFromPage(Page* page)
{
- return page->mainFrame()->script()->globalObject()->globalExec();
+ return page->mainFrame()->script()->globalObject(mainThreadCurrentWorld())->globalExec();
}
}
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/ScriptState.h b/src/3rdparty/webkit/WebCore/bindings/js/ScriptState.h
index fa5c4a8..279234e 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/ScriptState.h
+++ b/src/3rdparty/webkit/WebCore/bindings/js/ScriptState.h
@@ -35,6 +35,7 @@
#include "JSDOMBinding.h"
namespace WebCore {
+ class DOMWrapperWorld;
class Node;
class Page;
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/WorkerScriptController.cpp b/src/3rdparty/webkit/WebCore/bindings/js/WorkerScriptController.cpp
index 3590dad..b66b0e8 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/WorkerScriptController.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/WorkerScriptController.cpp
@@ -52,6 +52,7 @@ WorkerScriptController::WorkerScriptController(WorkerContext* workerContext)
, m_workerContext(workerContext)
, m_executionForbidden(false)
{
+ m_globalData->clientData = new WebCoreJSClientData(m_globalData.get());
}
WorkerScriptController::~WorkerScriptController()
@@ -122,7 +123,7 @@ ScriptValue WorkerScriptController::evaluate(const ScriptSourceCode& sourceCode,
ExecState* exec = m_workerContextWrapper->globalExec();
m_workerContextWrapper->globalData()->timeoutChecker.start();
- Completion comp = JSC::evaluate(exec, exec->dynamicGlobalObject()->globalScopeChain(), sourceCode.jsSourceCode(), m_workerContextWrapper);
+ Completion comp = evaluateInWorld(exec, exec->dynamicGlobalObject()->globalScopeChain(), sourceCode.jsSourceCode(), m_workerContextWrapper, currentWorld(exec));
m_workerContextWrapper->globalData()->timeoutChecker.stop();
if (comp.complType() == Normal || comp.complType() == ReturnValue)
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/WorkerScriptController.h b/src/3rdparty/webkit/WebCore/bindings/js/WorkerScriptController.h
index bb33f60..c820cd9 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/WorkerScriptController.h
+++ b/src/3rdparty/webkit/WebCore/bindings/js/WorkerScriptController.h
@@ -62,6 +62,9 @@ namespace WebCore {
void setException(ScriptValue);
void forbidExecution();
+
+ JSC::JSGlobalData* globalData() { return m_globalData.get(); }
+
private:
void initScriptIfNeeded()
{
diff --git a/src/3rdparty/webkit/WebCore/bindings/scripts/CodeGeneratorJS.pm b/src/3rdparty/webkit/WebCore/bindings/scripts/CodeGeneratorJS.pm
index ff7b52f..d8367ac 100644
--- a/src/3rdparty/webkit/WebCore/bindings/scripts/CodeGeneratorJS.pm
+++ b/src/3rdparty/webkit/WebCore/bindings/scripts/CodeGeneratorJS.pm
@@ -292,7 +292,7 @@ sub GenerateGetOwnPropertySlotBody
my @getOwnPropertySlotImpl = ();
- if ($interfaceName eq "NamedNodeMap" or $interfaceName eq "HTMLCollection") {
+ if ($interfaceName eq "NamedNodeMap" or $interfaceName eq "HTMLCollection" or $interfaceName eq "HTMLAllCollection") {
push(@getOwnPropertySlotImpl, " ${namespaceMaybe}JSValue proto = prototype();\n");
push(@getOwnPropertySlotImpl, " if (proto.isObject() && static_cast<${namespaceMaybe}JSObject*>(asObject(proto))->hasProperty(exec, propertyName))\n");
push(@getOwnPropertySlotImpl, " return false;\n\n");
@@ -369,7 +369,7 @@ sub GenerateGetOwnPropertyDescriptorBody
my @getOwnPropertyDescriptorImpl = ();
- if ($interfaceName eq "NamedNodeMap" or $interfaceName eq "HTMLCollection") {
+ if ($interfaceName eq "NamedNodeMap" or $interfaceName eq "HTMLCollection" or $interfaceName eq "HTMLAllCollection") {
push(@getOwnPropertyDescriptorImpl, " ${namespaceMaybe}JSValue proto = prototype();\n");
push(@getOwnPropertyDescriptorImpl, " if (proto.isObject() && static_cast<${namespaceMaybe}JSObject*>(asObject(proto))->hasProperty(exec, propertyName))\n");
push(@getOwnPropertyDescriptorImpl, " return false;\n\n");
@@ -658,6 +658,12 @@ sub GenerateHeader
# Custom lookupSetter function
push(@headerContent, " virtual JSC::JSValue lookupSetter(JSC::ExecState*, const JSC::Identifier& propertyName);\n") if $dataNode->extendedAttributes->{"CustomLookupSetter"};
+ # Override toBoolean to return false for objects that want to 'MasqueradesAsUndefined'.
+ if ($dataNode->extendedAttributes->{"MasqueradesAsUndefined"}) {
+ push(@headerContent, " virtual bool toBoolean(JSC::ExecState*) const { return false; };\n");
+ $structureFlags{"JSC::MasqueradesAsUndefined"} = 1;
+ }
+
# Constructor object getter
push(@headerContent, " static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);\n") if $dataNode->extendedAttributes->{"GenerateConstructor"};
@@ -1188,19 +1194,21 @@ sub GenerateImplementation
push(@implContent, " impl()->invalidateEventListeners();\n");
}
- if ($interfaceName eq "Node") {
- push(@implContent, " forgetDOMNode(impl()->document(), impl());\n");
- } else {
- if ($podType) {
- my $animatedType = $implClassName;
- $animatedType =~ s/SVG/SVGAnimated/;
+ if (!$dataNode->extendedAttributes->{"ExtendsDOMGlobalObject"}) {
+ if ($interfaceName eq "Node") {
+ push(@implContent, " forgetDOMNode(this, impl(), impl()->document());\n");
+ } else {
+ if ($podType) {
+ my $animatedType = $implClassName;
+ $animatedType =~ s/SVG/SVGAnimated/;
- # Special case for JSSVGNumber
- if ($codeGenerator->IsSVGAnimatedType($animatedType) and $podType ne "float") {
- push(@implContent, " JSSVGDynamicPODTypeWrapperCache<$podType, $animatedType>::forgetWrapper(m_impl.get());\n");
+ # Special case for JSSVGNumber
+ if ($codeGenerator->IsSVGAnimatedType($animatedType) and $podType ne "float") {
+ push(@implContent, " JSSVGDynamicPODTypeWrapperCache<$podType, $animatedType>::forgetWrapper(m_impl.get());\n");
+ }
}
+ push(@implContent, " forgetDOMObject(this, impl());\n");
}
- push(@implContent, " forgetDOMObject(*Heap::heap(this)->globalData(), impl());\n");
}
push(@implContent, "}\n\n");
@@ -1210,7 +1218,7 @@ sub GenerateImplementation
# its own special handling rather than relying on the caching that Node normally does.
if ($interfaceName eq "Document") {
push(@implContent, "${className}::~$className()\n");
- push(@implContent, "{\n forgetDOMObject(*Heap::heap(this)->globalData(), static_cast<${implClassName}*>(impl()));\n}\n\n");
+ push(@implContent, "{\n forgetDOMObject(this, static_cast<${implClassName}*>(impl()));\n}\n\n");
}
if ($needsMarkChildren && !$dataNode->extendedAttributes->{"CustomMarkFunction"}) {
@@ -1476,7 +1484,7 @@ sub GenerateImplementation
} else {
$implIncludes{"Frame.h"} = 1;
$implIncludes{"JSDOMGlobalObject.h"} = 1;
- push(@implContent, " JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());\n");
+ push(@implContent, " JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);\n");
push(@implContent, " if (!globalObject)\n");
push(@implContent, " return;\n");
}
@@ -1700,7 +1708,7 @@ sub GenerateImplementation
push(@implContent, " return toJS(exec, thisObj->globalObject(), static_cast<$implClassName*>(thisObj->impl())->item(slot.index()));\n");
}
push(@implContent, "}\n");
- if ($interfaceName eq "HTMLCollection") {
+ if ($interfaceName eq "HTMLCollection" or $interfaceName eq "HTMLAllCollection") {
$implIncludes{"JSNode.h"} = 1;
$implIncludes{"Node.h"} = 1;
}
@@ -1711,7 +1719,7 @@ sub GenerateImplementation
push(@implContent, "{\n");
push(@implContent, " return jsNumber(exec, static_cast<$implClassName*>(impl())->item(index));\n");
push(@implContent, "}\n");
- if ($interfaceName eq "HTMLCollection") {
+ if ($interfaceName eq "HTMLCollection" or $interfaceName eq "HTMLAllCollection") {
$implIncludes{"JSNode.h"} = 1;
$implIncludes{"Node.h"} = 1;
}
diff --git a/src/3rdparty/webkit/WebCore/bindings/scripts/CodeGeneratorV8.pm b/src/3rdparty/webkit/WebCore/bindings/scripts/CodeGeneratorV8.pm
index 28562f1..95b2aa2 100644
--- a/src/3rdparty/webkit/WebCore/bindings/scripts/CodeGeneratorV8.pm
+++ b/src/3rdparty/webkit/WebCore/bindings/scripts/CodeGeneratorV8.pm
@@ -215,7 +215,6 @@ sub AddClassForwardIfNeeded
sub GetImplementationFileName
{
my $iface = shift;
- return "HTMLCollection.h" if $iface eq "HTMLAllCollection";
return "Event.h" if $iface eq "DOMTimeStamp";
return "NamedAttrMap.h" if $iface eq "NamedNodeMap";
return "NameNodeList.h" if $iface eq "NodeList";
@@ -307,7 +306,7 @@ sub GenerateSetDOMException
my $indent = shift;
my $result = "";
- $result .= $indent . "if (ec) {\n";
+ $result .= $indent . "if (UNLIKELY(ec)) {\n";
$result .= $indent . " V8Proxy::setDOMException(ec);\n";
$result .= $indent . " return v8::Handle<v8::Value>();\n";
$result .= $indent . "}\n";
@@ -622,15 +621,17 @@ END
push(@implContentDecls, " if (!imp->document())\n");
push(@implContentDecls, " return v8::Undefined();\n");
}
- push(@implContentDecls, " $nativeType v = ");
-
- push(@implContentDecls, "$getterString;\n");
if ($useExceptions) {
+ push(@implContentDecls, " $nativeType v = ");
+ push(@implContentDecls, "$getterString;\n");
push(@implContentDecls, GenerateSetDOMException(" "));
+ $result = "v";
+ $result .= ".release()" if (IsRefPtrType($returnType));
+ } else {
+ # Can inline the function call into the return statement to avoid overhead of using a Ref<> temporary
+ $result = $getterString;
}
-
- $result = "v";
}
if (IsSVGTypeNeedingContextParameter($attrType) && !$skipContext) {
@@ -646,7 +647,6 @@ END
my $classIndex = uc($attrType);
push(@implContentDecls, " return V8DOMWrapper::convertToV8Object(V8ClassIndex::$classIndex, wrapper.release());\n");
} else {
- $result .= ".release()" if (IsRefPtrType($attrType));
push(@implContentDecls, " " . ReturnNativeToJSValue($attribute->signature, $result, " ").";\n");
}
@@ -784,7 +784,8 @@ END
}
if ($useExceptions) {
- push(@implContentDecls, " V8Proxy::setDOMException(ec);\n");
+ push(@implContentDecls, " if (UNLIKELY(ec))\n");
+ push(@implContentDecls, " V8Proxy::setDOMException(ec);\n");
}
if ($isPodType) {
@@ -917,7 +918,7 @@ END
if (TypeCanFailConversion($parameter)) {
$implIncludes{"ExceptionCode.h"} = 1;
push(@implContentDecls,
-" if (!$parameterName" . (BasicTypeCanFailConversion($parameter) ? "Ok" : "") . ") {\n" .
+" if (UNLIKELY(!$parameterName" . (BasicTypeCanFailConversion($parameter) ? "Ok" : "") . ")) {\n" .
" V8Proxy::setDOMException(TYPE_MISMATCH_ERR);\n" .
" return v8::Handle<v8::Value>();\n" .
" }\n");
@@ -926,7 +927,7 @@ END
if ($parameter->extendedAttributes->{"IsIndex"}) {
$implIncludes{"ExceptionCode.h"} = 1;
push(@implContentDecls,
-" if ($parameterName < 0) {\n" .
+" if (UNLIKELY($parameterName < 0)) {\n" .
" V8Proxy::setDOMException(INDEX_SIZE_ERR);\n" .
" return v8::Handle<v8::Value>();\n" .
" }\n");
@@ -1322,6 +1323,13 @@ END
$template = "instance";
}
+ my $conditional = "";
+ if ($attrExt->{"EnabledAtRuntime"}) {
+ # Only call Set()/SetAccessor() if this method should be enabled
+ $enable_function = $interfaceName . $codeGenerator->WK_ucfirst($function->signature->name);
+ $conditional = "if (V8Custom::v8${enable_function}Enabled())\n";
+ }
+
if ($attrExt->{"DoNotCheckDomainSecurity"} &&
($dataNode->extendedAttributes->{"CheckDomainSecurity"} || $interfaceName eq "DOMWindow")) {
# Mark the accessor as ReadOnly and set it on the proto object so
@@ -1342,7 +1350,7 @@ END
push(@implContent, <<END);
// $commentInfo
- $template->SetAccessor(
+ $conditional $template->SetAccessor(
v8::String::New("$name"),
${interfaceName}Internal::${name}AttrGetter,
0,
@@ -1370,7 +1378,7 @@ END
push(@implContent, <<END);
// $commentInfo
- ${template}->Set(
+ $conditional ${template}->Set(
v8::String::New("$name"),
$templateFunction,
static_cast<v8::PropertyAttribute>($property_attributes));
@@ -1388,7 +1396,7 @@ END
}
# Set the class name. This is used when printing objects.
- push(@implContent, " desc->SetClassName(v8::String::New(\"" . GetClassName(${interfaceName}) . "\"));\n");
+ push(@implContent, " desc->SetClassName(v8::String::New(\"${interfaceName}\"));\n");
if ($has_constants) {
push(@implContent, <<END);
@@ -1530,6 +1538,9 @@ sub GenerateFunctionCallString()
}
$functionString .= ")";
+ my $return = "result";
+ my $returnIsRef = IsRefPtrType($returnType);
+
if ($nodeToReturn) {
# Special case for insertBefore, replaceChild, removeChild and
# appendChild functions from Node.
@@ -1550,16 +1561,18 @@ sub GenerateFunctionCallString()
$indent . "$functionString;\n";
} elsif ($returnsListItemPodType) {
$result .= $indent . "RefPtr<SVGPODListItem<$nativeReturnType> > result = $functionString;\n";
- } else {
+ } elsif (@{$function->raisesExceptions} or $returnsPodType or $isPodType or IsSVGTypeNeedingContextParameter($returnType)) {
$result .= $indent . $nativeReturnType . " result = $functionString;\n";
+ } else {
+ # Can inline the function call into the return statement to avoid overhead of using a Ref<> temporary
+ $return = $functionString;
+ $returnIsRef = 0;
}
if (@{$function->raisesExceptions}) {
$result .= GenerateSetDOMException($indent);
}
- my $return = "result";
-
# If the return type is a POD type, separate out the wrapper generation
if ($returnsListItemPodType) {
$result .= $indent . "RefPtr<V8SVGPODTypeWrapper<" . $nativeReturnType . "> > wrapper = ";
@@ -1602,7 +1615,7 @@ sub GenerateFunctionCallString()
my $classIndex = uc($returnType);
$result .= $indent . "return V8DOMWrapper::convertToV8Object(V8ClassIndex::$classIndex, wrapper.release());\n";
} else {
- $return .= ".release()" if (IsRefPtrType($returnType));
+ $return .= ".release()" if ($returnIsRef);
$result .= $indent . ReturnNativeToJSValue($function->signature, $return, $indent) . ";\n";
}
@@ -1610,15 +1623,6 @@ sub GenerateFunctionCallString()
}
-# Get the class name used for printing javascript DOM-object wrappers.
-sub GetClassName
-{
- my $type = shift;
- return "HTMLCollection" if $type eq "HTMLAllCollection";
- return $type;
-}
-
-
sub GetTypeFromSignature
{
my $signature = shift;
@@ -1696,6 +1700,7 @@ sub IsRefPtrType
return 1 if $type eq "EventListener";
return 1 if $type eq "FileList";
return 1 if $type eq "HTMLCollection";
+ return 1 if $type eq "HTMLAllCollection";
return 1 if $type eq "HTMLDocument";
return 1 if $type eq "HTMLElement";
return 1 if $type eq "HTMLOptionsCollection";
@@ -2147,7 +2152,11 @@ sub ReturnNativeToJSValue
# special case for non-DOM node interfaces
if (IsDOMNodeType($type)) {
- return "return V8DOMWrapper::convertNodeToV8Object($value)";
+ if ($signature->extendedAttributes->{"ReturnsNew"}) {
+ return "return V8DOMWrapper::convertNewNodeToV8Object($value)";
+ } else {
+ return "return V8DOMWrapper::convertNodeToV8Object($value)";
+ }
}
if ($type eq "EventTarget" or $type eq "SVGElementInstance") {
@@ -2159,7 +2168,7 @@ sub ReturnNativeToJSValue
}
if ($type eq "EventListener") {
- return "return V8DOMWrapper::convertEventListenerToV8Object($value)";
+ return "return V8DOMWrapper::convertEventListenerToV8Object(imp->scriptExecutionContext(), $value)";
}
if ($type eq "SerializedScriptValue") {
diff --git a/src/3rdparty/webkit/WebCore/bridge/NP_jsobject.cpp b/src/3rdparty/webkit/WebCore/bridge/NP_jsobject.cpp
index 006f17f..6a89652 100644
--- a/src/3rdparty/webkit/WebCore/bridge/NP_jsobject.cpp
+++ b/src/3rdparty/webkit/WebCore/bridge/NP_jsobject.cpp
@@ -34,6 +34,7 @@
#include "c_utility.h"
#include "c_instance.h"
#include "IdentifierRep.h"
+#include "JSDOMBinding.h"
#include "npruntime_impl.h"
#include "npruntime_priv.h"
#include "runtime_root.h"
@@ -123,7 +124,7 @@ bool _NPN_InvokeDefault(NPP, NPObject* o, const NPVariant* args, uint32_t argCou
getListFromVariantArgs(exec, args, argCount, rootObject, argList);
ProtectedPtr<JSGlobalObject> globalObject = rootObject->globalObject();
globalObject->globalData()->timeoutChecker.start();
- JSValue resultV = call(exec, function, callType, callData, function, argList);
+ JSValue resultV = callInWorld(exec, function, callType, callData, function, argList, pluginWorld());
globalObject->globalData()->timeoutChecker.stop();
// Convert and return the result of the function call.
@@ -173,7 +174,7 @@ bool _NPN_Invoke(NPP npp, NPObject* o, NPIdentifier methodName, const NPVariant*
getListFromVariantArgs(exec, args, argCount, rootObject, argList);
ProtectedPtr<JSGlobalObject> globalObject = rootObject->globalObject();
globalObject->globalData()->timeoutChecker.start();
- JSValue resultV = call(exec, function, callType, callData, obj->imp, argList);
+ JSValue resultV = callInWorld(exec, function, callType, callData, obj->imp, argList, pluginWorld());
globalObject->globalData()->timeoutChecker.stop();
// Convert and return the result of the function call.
@@ -203,7 +204,7 @@ bool _NPN_Evaluate(NPP, NPObject* o, NPString* s, NPVariant* variant)
String scriptString = convertNPStringToUTF16(s);
ProtectedPtr<JSGlobalObject> globalObject = rootObject->globalObject();
globalObject->globalData()->timeoutChecker.start();
- Completion completion = JSC::evaluate(globalObject->globalExec(), globalObject->globalScopeChain(), makeSource(scriptString));
+ Completion completion = evaluateInWorld(globalObject->globalExec(), globalObject->globalScopeChain(), makeSource(scriptString), JSC::JSValue(), pluginWorld());
globalObject->globalData()->timeoutChecker.stop();
ComplType type = completion.complType();
@@ -443,7 +444,7 @@ bool _NPN_Construct(NPP, NPObject* o, const NPVariant* args, uint32_t argCount,
getListFromVariantArgs(exec, args, argCount, rootObject, argList);
ProtectedPtr<JSGlobalObject> globalObject = rootObject->globalObject();
globalObject->globalData()->timeoutChecker.start();
- JSValue resultV = construct(exec, constructor, constructType, constructData, argList);
+ JSValue resultV = constructInWorld(exec, constructor, constructType, constructData, argList, pluginWorld());
globalObject->globalData()->timeoutChecker.stop();
// Convert and return the result.
diff --git a/src/3rdparty/webkit/WebCore/bridge/jni/jni_jsobject.mm b/src/3rdparty/webkit/WebCore/bridge/jni/jni_jsobject.mm
index eb4a6bd..cc28a75 100644
--- a/src/3rdparty/webkit/WebCore/bridge/jni/jni_jsobject.mm
+++ b/src/3rdparty/webkit/WebCore/bridge/jni/jni_jsobject.mm
@@ -29,6 +29,7 @@
#if ENABLE(MAC_JAVA_BRIDGE)
#include "Frame.h"
+#include "JSDOMBinding.h"
#include "ScriptController.h"
#include "StringSourceProvider.h"
#include "WebCoreFrameView.h"
@@ -302,7 +303,7 @@ jobject JavaJSObject::call(jstring methodName, jobjectArray args) const
MarkedArgumentBuffer argList;
getListFromJArray(exec, args, argList);
rootObject->globalObject()->globalData()->timeoutChecker.start();
- JSValue result = JSC::call(exec, function, callType, callData, _imp, argList);
+ JSValue result = WebCore::callInWorld(exec, function, callType, callData, _imp, argList, WebCore::pluginWorld());
rootObject->globalObject()->globalData()->timeoutChecker.stop();
return convertValueToJObject(result);
@@ -321,7 +322,7 @@ jobject JavaJSObject::eval(jstring script) const
return 0;
rootObject->globalObject()->globalData()->timeoutChecker.start();
- Completion completion = JSC::evaluate(rootObject->globalObject()->globalExec(), rootObject->globalObject()->globalScopeChain(), makeSource(JavaString(script)));
+ Completion completion = WebCore::evaluateInWorld(rootObject->globalObject()->globalExec(), rootObject->globalObject()->globalScopeChain(), makeSource(JavaString(script)), JSC::JSValue(), WebCore::pluginWorld());
rootObject->globalObject()->globalData()->timeoutChecker.stop();
ComplType type = completion.complType();
diff --git a/src/3rdparty/webkit/WebCore/bridge/npapi.h b/src/3rdparty/webkit/WebCore/bridge/npapi.h
index 5d48b0d..c6cd557 100644
--- a/src/3rdparty/webkit/WebCore/bridge/npapi.h
+++ b/src/3rdparty/webkit/WebCore/bridge/npapi.h
@@ -56,6 +56,12 @@
# endif /* XP_WIN */
#endif /* _WIN32 */
+#ifdef __SYMBIAN32__
+# ifndef XP_SYMBIAN
+# define XP_SYMBIAN 1
+# endif
+#endif /* __SYMBIAN32__ */
+
#ifdef __MWERKS__
# define _declspec __declspec
# ifdef macintosh
@@ -64,22 +70,15 @@
# endif /* XP_MAC */
# endif /* macintosh */
# ifdef __INTEL__
-# ifndef __SYMBIAN32__
+# ifndef XP_SYMBIAN
# undef NULL
-# endif
-# ifndef XP_WIN
-# define XP_WIN 1
-# endif /* __INTEL__ */
-# endif /* XP_PC */
+# ifndef XP_WIN
+# define XP_WIN 1
+# endif /* XP_WIN */
+# endif /* XP_SYMBIAN */
+# endif /* __INTEL__ */
#endif /* __MWERKS__ */
-#ifdef __SYMBIAN32__
-# ifndef XP_SYMBIAN
-# define XP_SYMBIAN 1
-# undef XP_WIN
-# endif
-#endif /* __SYMBIAN32__ */
-
#if defined(__APPLE_CC__) && !defined(__MACOS_CLASSIC__) && !defined(XP_UNIX)
# define XP_MACOSX
#endif
diff --git a/src/3rdparty/webkit/WebCore/bridge/qt/qt_runtime.cpp b/src/3rdparty/webkit/WebCore/bridge/qt/qt_runtime.cpp
index 3cb2156..6887325 100644
--- a/src/3rdparty/webkit/WebCore/bridge/qt/qt_runtime.cpp
+++ b/src/3rdparty/webkit/WebCore/bridge/qt/qt_runtime.cpp
@@ -458,7 +458,7 @@ QVariant convertValueToQVariant(ExecState* exec, JSValue value, QMetaType::Type
if (type == Date) {
DateInstance* date = static_cast<DateInstance*>(object);
WTF::GregorianDateTime gdt;
- date->getUTCTime(gdt);
+ WTF::msToGregorianDateTime(date->internalNumber(), true, gdt);
if (hint == QMetaType::QDateTime) {
ret = QDateTime(QDate(gdt.year + 1900, gdt.month + 1, gdt.monthDay), QTime(gdt.hour, gdt.minute, gdt.second), Qt::UTC);
dist = 0;
@@ -834,9 +834,7 @@ JSValue convertQVariantToValue(ExecState* exec, PassRefPtr<RootObject> root, con
dt.isDST = -1;
double ms = WTF::gregorianDateTimeToMS(dt, time.msec(), /*inputIsUTC*/ false);
- DateInstance* instance = new (exec) DateInstance(exec->lexicalGlobalObject()->dateStructure());
- instance->setInternalValue(jsNumber(exec, trunc(ms)));
- return instance;
+ return new (exec) DateInstance(exec, trunc(ms));
}
if (type == QMetaType::QByteArray) {
diff --git a/src/3rdparty/webkit/WebCore/css/CSSComputedStyleDeclaration.cpp b/src/3rdparty/webkit/WebCore/css/CSSComputedStyleDeclaration.cpp
index 4e067ce..b8769f9 100644
--- a/src/3rdparty/webkit/WebCore/css/CSSComputedStyleDeclaration.cpp
+++ b/src/3rdparty/webkit/WebCore/css/CSSComputedStyleDeclaration.cpp
@@ -157,6 +157,7 @@ static const int computedProperties[] = {
CSSPropertyWebkitBackgroundClip,
CSSPropertyWebkitBackgroundComposite,
CSSPropertyWebkitBackgroundOrigin,
+ CSSPropertyWebkitBackgroundSize,
CSSPropertyWebkitBorderFit,
CSSPropertyWebkitBorderHorizontalSpacing,
CSSPropertyWebkitBorderImage,
@@ -260,30 +261,13 @@ static const int computedProperties[] = {
CSSPropertyTextAnchor,
CSSPropertyWritingMode,
CSSPropertyGlyphOrientationHorizontal,
- CSSPropertyGlyphOrientationVertical
+ CSSPropertyGlyphOrientationVertical,
+ CSSPropertyWebkitShadow
#endif
};
const unsigned numComputedProperties = sizeof(computedProperties) / sizeof(computedProperties[0]);
-static PassRefPtr<CSSValue> valueForShadow(const ShadowData* shadow, CSSPropertyID propertyID)
-{
- if (!shadow)
- return CSSPrimitiveValue::createIdentifier(CSSValueNone);
-
- RefPtr<CSSValueList> list = CSSValueList::createCommaSeparated();
- for (const ShadowData* s = shadow; s; s = s->next) {
- RefPtr<CSSPrimitiveValue> x = CSSPrimitiveValue::create(s->x, CSSPrimitiveValue::CSS_PX);
- RefPtr<CSSPrimitiveValue> y = CSSPrimitiveValue::create(s->y, CSSPrimitiveValue::CSS_PX);
- RefPtr<CSSPrimitiveValue> blur = CSSPrimitiveValue::create(s->blur, CSSPrimitiveValue::CSS_PX);
- RefPtr<CSSPrimitiveValue> spread = propertyID == CSSPropertyTextShadow ? 0 : CSSPrimitiveValue::create(s->spread, CSSPrimitiveValue::CSS_PX);
- RefPtr<CSSPrimitiveValue> style = propertyID == CSSPropertyTextShadow || s->style == Normal ? 0 : CSSPrimitiveValue::createIdentifier(CSSValueInset);
- RefPtr<CSSPrimitiveValue> color = CSSPrimitiveValue::createColor(s->color.rgb());
- list->prepend(ShadowValue::create(x.release(), y.release(), blur.release(), spread.release(), style.release(), color.release()));
- }
- return list.release();
-}
-
static int valueForRepeatRule(int rule)
{
switch (rule) {
@@ -571,6 +555,26 @@ PassRefPtr<CSSValue> CSSComputedStyleDeclaration::getFontSizeCSSValuePreferringK
return CSSPrimitiveValue::create(style->fontDescription().computedPixelSize(), CSSPrimitiveValue::CSS_PX);
}
+PassRefPtr<CSSValue> CSSComputedStyleDeclaration::valueForShadow(const ShadowData* shadow, int id) const
+{
+ if (!shadow)
+ return CSSPrimitiveValue::createIdentifier(CSSValueNone);
+
+ CSSPropertyID propertyID = static_cast<CSSPropertyID>(id);
+
+ RefPtr<CSSValueList> list = CSSValueList::createCommaSeparated();
+ for (const ShadowData* s = shadow; s; s = s->next) {
+ RefPtr<CSSPrimitiveValue> x = CSSPrimitiveValue::create(s->x, CSSPrimitiveValue::CSS_PX);
+ RefPtr<CSSPrimitiveValue> y = CSSPrimitiveValue::create(s->y, CSSPrimitiveValue::CSS_PX);
+ RefPtr<CSSPrimitiveValue> blur = CSSPrimitiveValue::create(s->blur, CSSPrimitiveValue::CSS_PX);
+ RefPtr<CSSPrimitiveValue> spread = propertyID == CSSPropertyTextShadow ? 0 : CSSPrimitiveValue::create(s->spread, CSSPrimitiveValue::CSS_PX);
+ RefPtr<CSSPrimitiveValue> style = propertyID == CSSPropertyTextShadow || s->style == Normal ? 0 : CSSPrimitiveValue::createIdentifier(CSSValueInset);
+ RefPtr<CSSPrimitiveValue> color = CSSPrimitiveValue::createColor(s->color.rgb());
+ list->prepend(ShadowValue::create(x.release(), y.release(), blur.release(), spread.release(), style.release(), color.release()));
+ }
+ return list.release();
+}
+
PassRefPtr<CSSValue> CSSComputedStyleDeclaration::getPropertyCSSValue(int propertyID) const
{
return getPropertyCSSValue(propertyID, UpdateLayout);
@@ -676,7 +680,8 @@ PassRefPtr<CSSValue> CSSComputedStyleDeclaration::getPropertyCSSValue(int proper
if (style->backgroundImage())
return style->backgroundImage()->cssValue();
return CSSPrimitiveValue::createIdentifier(CSSValueNone);
- case CSSPropertyBackgroundSize: {
+ case CSSPropertyBackgroundSize:
+ case CSSPropertyWebkitBackgroundSize: {
EFillSizeType size = style->backgroundSizeType();
if (size == Contain)
return CSSPrimitiveValue::createIdentifier(CSSValueContain);
@@ -777,7 +782,7 @@ PassRefPtr<CSSValue> CSSComputedStyleDeclaration::getPropertyCSSValue(int proper
case CSSPropertyWebkitBoxReflect:
return valueForReflection(style->boxReflect());
case CSSPropertyWebkitBoxShadow:
- return valueForShadow(style->boxShadow(), static_cast<CSSPropertyID>(propertyID));
+ return valueForShadow(style->boxShadow(), propertyID);
case CSSPropertyCaptionSide:
return CSSPrimitiveValue::create(style->captionSide());
case CSSPropertyClear:
@@ -1061,7 +1066,7 @@ PassRefPtr<CSSValue> CSSComputedStyleDeclaration::getPropertyCSSValue(int proper
case CSSPropertyTextIndent:
return CSSPrimitiveValue::create(style->textIndent());
case CSSPropertyTextShadow:
- return valueForShadow(style->textShadow(), static_cast<CSSPropertyID>(propertyID));
+ return valueForShadow(style->textShadow(), propertyID);
case CSSPropertyTextRendering:
return CSSPrimitiveValue::create(style->fontDescription().textRenderingMode());
case CSSPropertyTextOverflow:
diff --git a/src/3rdparty/webkit/WebCore/css/CSSComputedStyleDeclaration.h b/src/3rdparty/webkit/WebCore/css/CSSComputedStyleDeclaration.h
index c1f34c3..842a995 100644
--- a/src/3rdparty/webkit/WebCore/css/CSSComputedStyleDeclaration.h
+++ b/src/3rdparty/webkit/WebCore/css/CSSComputedStyleDeclaration.h
@@ -27,6 +27,7 @@
namespace WebCore {
class CSSMutableStyleDeclaration;
+class ShadowData;
enum EUpdateLayout { DoNotUpdateLayout = false, UpdateLayout = true };
@@ -66,6 +67,8 @@ private:
virtual String removeProperty(int propertyID, ExceptionCode&);
virtual void setProperty(int propertyId, const String& value, bool important, ExceptionCode&);
+ PassRefPtr<CSSValue> valueForShadow(const ShadowData*, int) const;
+
RefPtr<Node> m_node;
};
diff --git a/src/3rdparty/webkit/WebCore/css/CSSParser.cpp b/src/3rdparty/webkit/WebCore/css/CSSParser.cpp
index 10949dd..6024a5b 100644
--- a/src/3rdparty/webkit/WebCore/css/CSSParser.cpp
+++ b/src/3rdparty/webkit/WebCore/css/CSSParser.cpp
@@ -873,6 +873,7 @@ bool CSSParser::parseValue(int propId, bool important)
case CSSPropertyBackgroundPositionX:
case CSSPropertyBackgroundPositionY:
case CSSPropertyBackgroundSize:
+ case CSSPropertyWebkitBackgroundSize:
case CSSPropertyBackgroundRepeat:
case CSSPropertyBackgroundRepeatX:
case CSSPropertyBackgroundRepeatY:
@@ -1726,6 +1727,15 @@ void CSSParser::addFillValue(RefPtr<CSSValue>& lval, PassRefPtr<CSSValue> rval)
lval = rval;
}
+static bool parseBackgroundClip(CSSParserValue* parserValue, RefPtr<CSSValue>& cssValue)
+{
+ if (parserValue->id == CSSValueBorderBox || parserValue->id == CSSValuePaddingBox || parserValue->id == CSSValueWebkitText) {
+ cssValue = CSSPrimitiveValue::createIdentifier(parserValue->id);
+ return true;
+ }
+ return false;
+}
+
const int cMaxFillProperties = 9;
bool CSSParser::parseFillShorthand(int propId, const int* properties, int numProperties, bool important)
@@ -1777,6 +1787,7 @@ bool CSSParser::parseFillShorthand(int propId, const int* properties, int numPro
RefPtr<CSSValue> val1;
RefPtr<CSSValue> val2;
int propId1, propId2;
+ CSSParserValue* parserValue = m_valueList->current();
if (parseFillProperty(properties[i], propId1, propId2, val1, val2)) {
parsedProperty[i] = found = true;
addFillValue(values[i], val1.release());
@@ -1786,7 +1797,7 @@ bool CSSParser::parseFillShorthand(int propId, const int* properties, int numPro
addFillValue(repeatYValue, val2.release());
if (properties[i] == CSSPropertyBackgroundOrigin || properties[i] == CSSPropertyWebkitMaskOrigin) {
// Reparse the value as a clip, and see if we succeed.
- if (parseFillProperty(CSSPropertyBackgroundClip, propId1, propId2, val1, val2))
+ if (parseBackgroundClip(parserValue, val1))
addFillValue(clipValue, val1.release()); // The property parsed successfully.
else
addFillValue(clipValue, CSSInitialValue::createImplicit()); // Some value was used for origin that is not supported by clip. Just reset clip instead.
@@ -2319,7 +2330,7 @@ void CSSParser::parseFillRepeat(RefPtr<CSSValue>& value1, RefPtr<CSSValue>& valu
}
}
-PassRefPtr<CSSValue> CSSParser::parseFillSize(bool& allowComma)
+PassRefPtr<CSSValue> CSSParser::parseFillSize(int propId, bool& allowComma)
{
allowComma = true;
CSSParserValue* value = m_valueList->current();
@@ -2328,7 +2339,7 @@ PassRefPtr<CSSValue> CSSParser::parseFillSize(bool& allowComma)
return CSSPrimitiveValue::createIdentifier(value->id);
RefPtr<CSSPrimitiveValue> parsedValue1;
-
+
if (value->id == CSSValueAuto)
parsedValue1 = CSSPrimitiveValue::create(0, CSSPrimitiveValue::CSS_UNKNOWN);
else {
@@ -2336,8 +2347,9 @@ PassRefPtr<CSSValue> CSSParser::parseFillSize(bool& allowComma)
return 0;
parsedValue1 = CSSPrimitiveValue::create(value->fValue, (CSSPrimitiveValue::UnitTypes)value->unit);
}
-
- RefPtr<CSSPrimitiveValue> parsedValue2 = parsedValue1;
+
+ CSSPropertyID property = static_cast<CSSPropertyID>(propId);
+ RefPtr<CSSPrimitiveValue> parsedValue2;
if ((value = m_valueList->next())) {
if (value->id == CSSValueAuto)
parsedValue2 = CSSPrimitiveValue::create(0, CSSPrimitiveValue::CSS_UNKNOWN);
@@ -2349,7 +2361,13 @@ PassRefPtr<CSSValue> CSSParser::parseFillSize(bool& allowComma)
parsedValue2 = CSSPrimitiveValue::create(value->fValue, (CSSPrimitiveValue::UnitTypes)value->unit);
}
}
-
+ if (!parsedValue2) {
+ if (property == CSSPropertyWebkitBackgroundSize || property == CSSPropertyWebkitMaskSize)
+ parsedValue2 = parsedValue1;
+ else
+ parsedValue2 = CSSPrimitiveValue::create(0, CSSPrimitiveValue::CSS_UNKNOWN);
+ }
+
return CSSPrimitiveValue::create(Pair::create(parsedValue1.release(), parsedValue2.release()));
}
@@ -2425,10 +2443,8 @@ bool CSSParser::parseFillProperty(int propId, int& propId1, int& propId2,
}
break;
case CSSPropertyBackgroundClip:
- if (val->id == CSSValueBorderBox || val->id == CSSValuePaddingBox || val->id == CSSValueWebkitText) {
- currValue = CSSPrimitiveValue::createIdentifier(val->id);
+ if (parseBackgroundClip(val, currValue))
m_valueList->next();
- }
break;
case CSSPropertyBackgroundOrigin:
if (val->id == CSSValueBorderBox || val->id == CSSValuePaddingBox || val->id == CSSValueContentBox) {
@@ -2470,8 +2486,9 @@ bool CSSParser::parseFillProperty(int propId, int& propId1, int& propId2,
// parseFillRepeat advances the m_valueList pointer
break;
case CSSPropertyBackgroundSize:
+ case CSSPropertyWebkitBackgroundSize:
case CSSPropertyWebkitMaskSize: {
- currValue = parseFillSize(allowComma);
+ currValue = parseFillSize(propId, allowComma);
if (currValue)
m_valueList->next();
break;
@@ -3736,7 +3753,11 @@ bool CSSParser::parseShadow(int propId, bool important)
// Other operators aren't legal or we aren't done with the current shadow
// value. Treat as invalid.
return false;
-
+#if ENABLE(SVG)
+ // -webkit-shadow does not support multiple values.
+ if (static_cast<CSSPropertyID>(propId) == CSSPropertyWebkitShadow)
+ return false;
+#endif
// The value is good. Commit it.
context.commitValue();
} else if (validUnit(val, FLength, true)) {
@@ -5182,11 +5203,6 @@ static int cssPropertyID(const UChar* propertyName, unsigned length)
const char* const opacity = "opacity";
name = opacity;
length = strlen(opacity);
- } else if (strcmp(buffer, "-webkit-background-size") == 0) {
- // CSS Backgrounds/Borders. -webkit-background-size worked in Safari 4 and earlier.
- const char* const backgroundSize = "background-size";
- name = backgroundSize;
- length = strlen(backgroundSize);
} else if (hasPrefix(buffer + 7, length - 7, "-border-")) {
// -webkit-border-*-*-radius worked in Safari 4 and earlier. -webkit-border-radius syntax
// differs from border-radius, so it is remains as a distinct property.
diff --git a/src/3rdparty/webkit/WebCore/css/CSSParser.h b/src/3rdparty/webkit/WebCore/css/CSSParser.h
index 1a156da..6d1bb32 100644
--- a/src/3rdparty/webkit/WebCore/css/CSSParser.h
+++ b/src/3rdparty/webkit/WebCore/css/CSSParser.h
@@ -83,7 +83,7 @@ namespace WebCore {
PassRefPtr<CSSValue> parseFillPositionXY(bool& xFound, bool& yFound);
void parseFillPosition(RefPtr<CSSValue>&, RefPtr<CSSValue>&);
void parseFillRepeat(RefPtr<CSSValue>&, RefPtr<CSSValue>&);
- PassRefPtr<CSSValue> parseFillSize(bool &allowComma);
+ PassRefPtr<CSSValue> parseFillSize(int propId, bool &allowComma);
bool parseFillProperty(int propId, int& propId1, int& propId2, RefPtr<CSSValue>&, RefPtr<CSSValue>&);
bool parseFillShorthand(int propId, const int* properties, int numProperties, bool important);
diff --git a/src/3rdparty/webkit/WebCore/css/CSSParserValues.h b/src/3rdparty/webkit/WebCore/css/CSSParserValues.h
index 242cda8..1e9767a 100644
--- a/src/3rdparty/webkit/WebCore/css/CSSParserValues.h
+++ b/src/3rdparty/webkit/WebCore/css/CSSParserValues.h
@@ -88,7 +88,7 @@ private:
unsigned m_variablesCount;
};
-struct CSSParserFunction {
+struct CSSParserFunction : FastAllocBase {
CSSParserString name;
CSSParserValueList* args;
diff --git a/src/3rdparty/webkit/WebCore/css/CSSPrimitiveValueMappings.h b/src/3rdparty/webkit/WebCore/css/CSSPrimitiveValueMappings.h
index 3616aa5..6f89df9 100644
--- a/src/3rdparty/webkit/WebCore/css/CSSPrimitiveValueMappings.h
+++ b/src/3rdparty/webkit/WebCore/css/CSSPrimitiveValueMappings.h
@@ -200,11 +200,11 @@ template<> inline CSSPrimitiveValue::CSSPrimitiveValue(ControlPart e)
case ListboxPart:
m_value.ident = CSSValueListbox;
break;
-#if ENABLE(DATALIST)
case ListButtonPart:
+#if ENABLE(DATALIST)
m_value.ident = CSSValueListButton;
- break;
#endif
+ break;
case ListItemPart:
m_value.ident = CSSValueListitem;
break;
@@ -378,6 +378,7 @@ template<> inline CSSPrimitiveValue::operator EFillBox() const
case CSSValueContentBox:
return ContentFillBox;
case CSSValueText:
+ case CSSValueWebkitText:
return TextFillBox;
default:
ASSERT_NOT_REACHED();
diff --git a/src/3rdparty/webkit/WebCore/css/CSSProperty.h b/src/3rdparty/webkit/WebCore/css/CSSProperty.h
index 7af8348..b5635d0 100644
--- a/src/3rdparty/webkit/WebCore/css/CSSProperty.h
+++ b/src/3rdparty/webkit/WebCore/css/CSSProperty.h
@@ -29,7 +29,7 @@
namespace WebCore {
-class CSSProperty {
+class CSSProperty : public FastAllocBase {
public:
CSSProperty(int propID, PassRefPtr<CSSValue> value, bool important = false, int shorthandID = 0, bool implicit = false)
: m_id(propID)
diff --git a/src/3rdparty/webkit/WebCore/css/CSSPropertyNames.in b/src/3rdparty/webkit/WebCore/css/CSSPropertyNames.in
index 5ef6605..48a18e7 100644
--- a/src/3rdparty/webkit/WebCore/css/CSSPropertyNames.in
+++ b/src/3rdparty/webkit/WebCore/css/CSSPropertyNames.in
@@ -160,6 +160,10 @@ zoom
-webkit-background-clip
-webkit-background-composite
-webkit-background-origin
+# -webkit-background-size differs from background-size only in the interpretation of
+# a single value: -webkit-background-size: l; is equivalent to background-size: l l;
+# whereas background-size: l; is equivalent to background-size: l auto;
+-webkit-background-size
-webkit-binding
-webkit-border-fit
-webkit-border-horizontal-spacing
diff --git a/src/3rdparty/webkit/WebCore/css/CSSStyleSelector.cpp b/src/3rdparty/webkit/WebCore/css/CSSStyleSelector.cpp
index 181e480..40627cf 100644
--- a/src/3rdparty/webkit/WebCore/css/CSSStyleSelector.cpp
+++ b/src/3rdparty/webkit/WebCore/css/CSSStyleSelector.cpp
@@ -2961,6 +2961,7 @@ void CSSStyleSelector::applyProperty(int id, CSSValue *value)
HANDLE_BACKGROUND_VALUE(origin, Origin, value)
return;
case CSSPropertyBackgroundSize:
+ case CSSPropertyWebkitBackgroundSize:
HANDLE_BACKGROUND_VALUE(size, Size, value)
return;
case CSSPropertyWebkitMaskAttachment:
diff --git a/src/3rdparty/webkit/WebCore/css/SVGCSSComputedStyleDeclaration.cpp b/src/3rdparty/webkit/WebCore/css/SVGCSSComputedStyleDeclaration.cpp
index e8492d4..1f19983 100644
--- a/src/3rdparty/webkit/WebCore/css/SVGCSSComputedStyleDeclaration.cpp
+++ b/src/3rdparty/webkit/WebCore/css/SVGCSSComputedStyleDeclaration.cpp
@@ -166,6 +166,8 @@ PassRefPtr<CSSValue> CSSComputedStyleDeclaration::getSVGPropertyCSSValue(int pro
return 0;
}
+ case CSSPropertyWebkitShadow:
+ return valueForShadow(svgStyle->shadow(), propertyID);
case CSSPropertyMarker:
case CSSPropertyEnableBackground:
case CSSPropertyColorProfile:
diff --git a/src/3rdparty/webkit/WebCore/css/SVGCSSParser.cpp b/src/3rdparty/webkit/WebCore/css/SVGCSSParser.cpp
index 0ae9fbc..8730e49 100644
--- a/src/3rdparty/webkit/WebCore/css/SVGCSSParser.cpp
+++ b/src/3rdparty/webkit/WebCore/css/SVGCSSParser.cpp
@@ -257,6 +257,11 @@ bool CSSParser::parseSVGValue(int propId, bool important)
m_valueList->next();
}
break;
+ case CSSPropertyWebkitShadow:
+ if (id == CSSValueNone)
+ valid_primitive = true;
+ else
+ return parseShadow(propId, important);
/* shorthand properties */
case CSSPropertyMarker:
diff --git a/src/3rdparty/webkit/WebCore/css/SVGCSSPropertyNames.in b/src/3rdparty/webkit/WebCore/css/SVGCSSPropertyNames.in
index e400ffe..809eabe 100644
--- a/src/3rdparty/webkit/WebCore/css/SVGCSSPropertyNames.in
+++ b/src/3rdparty/webkit/WebCore/css/SVGCSSPropertyNames.in
@@ -46,3 +46,5 @@ glyph-orientation-vertical
kerning
text-anchor
writing-mode
+
+-webkit-shadow
diff --git a/src/3rdparty/webkit/WebCore/css/SVGCSSStyleSelector.cpp b/src/3rdparty/webkit/WebCore/css/SVGCSSStyleSelector.cpp
index b81b4f2..7e4483f 100644
--- a/src/3rdparty/webkit/WebCore/css/SVGCSSStyleSelector.cpp
+++ b/src/3rdparty/webkit/WebCore/css/SVGCSSStyleSelector.cpp
@@ -37,6 +37,7 @@
#include "CSSPropertyNames.h"
#include "CSSValueList.h"
#include "Document.h"
+#include "ShadowValue.h"
#include "SVGColor.h"
#include "SVGNames.h"
#include "SVGPaint.h"
@@ -526,6 +527,35 @@ void CSSStyleSelector::applySVGProperty(int id, CSSValue* value)
// Silently ignoring this property for now
// http://bugs.webkit.org/show_bug.cgi?id=6022
break;
+ case CSSPropertyWebkitShadow: {
+ if (isInherit)
+ return svgstyle->setShadow(m_parentStyle->svgStyle()->shadow() ? new ShadowData(*m_parentStyle->svgStyle()->shadow()) : 0);
+ if (isInitial || primitiveValue) // initial | none
+ return svgstyle->setShadow(0);
+
+ if (!value->isValueList())
+ return;
+
+ float zoomFactor = m_style->effectiveZoom();
+
+ CSSValueList *list = static_cast<CSSValueList*>(value);
+ ASSERT(list->length() == 1);
+ ShadowValue* item = static_cast<ShadowValue*>(list->itemWithoutBoundsCheck(0));
+ int x = item->x->computeLengthInt(style(), m_rootElementStyle, zoomFactor);
+ int y = item->y->computeLengthInt(style(), m_rootElementStyle, zoomFactor);
+ int blur = item->blur ? item->blur->computeLengthInt(style(), m_rootElementStyle, zoomFactor) : 0;
+ Color color;
+ if (item->color)
+ color = getColorFromPrimitiveValue(item->color.get());
+
+ // -webkit-shadow does should not have a spread or style
+ ASSERT(!item->spread);
+ ASSERT(!item->style);
+
+ ShadowData* shadowData = new ShadowData(x, y, blur, 0, Normal, color.isValid() ? color : Color::transparent);
+ svgstyle->setShadow(shadowData);
+ return;
+ }
default:
// If you crash here, it's because you added a css property and are not handling it
// in either this switch statement or the one in CSSStyleSelector::applyProperty
diff --git a/src/3rdparty/webkit/WebCore/dom/Document.cpp b/src/3rdparty/webkit/WebCore/dom/Document.cpp
index 475a8c1..4eb44f7 100644
--- a/src/3rdparty/webkit/WebCore/dom/Document.cpp
+++ b/src/3rdparty/webkit/WebCore/dom/Document.cpp
@@ -58,6 +58,7 @@
#include "FrameLoader.h"
#include "FrameTree.h"
#include "FrameView.h"
+#include "HTMLAllCollection.h"
#include "HTMLAnchorElement.h"
#include "HTMLBodyElement.h"
#include "HTMLCanvasElement.h"
@@ -511,6 +512,16 @@ Document::~Document()
m_styleSheets->documentDestroyed();
}
+Document::JSWrapperCache* Document::createWrapperCache(DOMWrapperWorld* world)
+{
+ JSWrapperCache* wrapperCache = new JSWrapperCache();
+ m_wrapperCacheMap.set(world, wrapperCache);
+#if USE(JSC)
+ world->rememberDocument(this);
+#endif
+ return wrapperCache;
+}
+
void Document::resetLinkColor()
{
m_linkColor = Color(0, 0, 238);
@@ -943,7 +954,7 @@ Element* Document::elementFromPoint(int x, int y) const
return 0;
float zoomFactor = frame->pageZoomFactor();
- IntPoint point = roundedIntPoint(FloatPoint((x + view()->scrollX()) * zoomFactor, (y + view()->scrollY()) * zoomFactor));
+ IntPoint point = roundedIntPoint(FloatPoint(x * zoomFactor + view()->scrollX(), y * zoomFactor + view()->scrollY()));
if (!frameView->visibleContentRect().contains(point))
return 0;
@@ -973,7 +984,7 @@ PassRefPtr<Range> Document::caretRangeFromPoint(int x, int y)
return 0;
float zoomFactor = frame->pageZoomFactor();
- IntPoint point = roundedIntPoint(FloatPoint((x + view()->scrollX()) * zoomFactor, (y + view()->scrollY()) * zoomFactor));
+ IntPoint point = roundedIntPoint(FloatPoint(x * zoomFactor + view()->scrollX(), y * zoomFactor + view()->scrollY()));
if (!frameView->visibleContentRect().contains(point))
return 0;
@@ -3988,9 +3999,9 @@ PassRefPtr<HTMLCollection> Document::anchors()
return HTMLCollection::create(this, DocAnchors);
}
-PassRefPtr<HTMLCollection> Document::all()
+PassRefPtr<HTMLAllCollection> Document::all()
{
- return HTMLCollection::create(this, DocAll);
+ return HTMLAllCollection::create(this);
}
PassRefPtr<HTMLCollection> Document::windowNamedItems(const String &name)
diff --git a/src/3rdparty/webkit/WebCore/dom/Document.h b/src/3rdparty/webkit/WebCore/dom/Document.h
index 09bba58..0632be1 100644
--- a/src/3rdparty/webkit/WebCore/dom/Document.h
+++ b/src/3rdparty/webkit/WebCore/dom/Document.h
@@ -71,6 +71,7 @@ namespace WebCore {
class HitTestRequest;
class HTMLCanvasElement;
class HTMLCollection;
+ class HTMLAllCollection;
class HTMLDocument;
class HTMLElement;
class HTMLFormElement;
@@ -79,6 +80,7 @@ namespace WebCore {
class HTMLMapElement;
class InspectorTimelineAgent;
class IntPoint;
+ class DOMWrapperWorld;
class JSNode;
class MouseEventWithHitTestResults;
class NodeFilter;
@@ -315,12 +317,13 @@ public:
PassRefPtr<HTMLCollection> links();
PassRefPtr<HTMLCollection> forms();
PassRefPtr<HTMLCollection> anchors();
- PassRefPtr<HTMLCollection> all();
PassRefPtr<HTMLCollection> objects();
PassRefPtr<HTMLCollection> scripts();
PassRefPtr<HTMLCollection> windowNamedItems(const String& name);
PassRefPtr<HTMLCollection> documentNamedItems(const String& name);
+ PassRefPtr<HTMLAllCollection> all();
+
// Find first anchor with the given name.
// First searches for an element with the given ID, but if that fails, then looks
// for an anchor with the given name. ID matching is always case sensitive, but
@@ -819,7 +822,15 @@ public:
virtual void postTask(PassRefPtr<Task>); // Executes the task on context's thread asynchronously.
typedef HashMap<WebCore::Node*, JSNode*> JSWrapperCache;
- JSWrapperCache& wrapperCache() { return m_wrapperCache; }
+ typedef HashMap<DOMWrapperWorld*, JSWrapperCache*> JSWrapperCacheMap;
+ JSWrapperCacheMap& wrapperCacheMap() { return m_wrapperCacheMap; }
+ JSWrapperCache* getWrapperCache(DOMWrapperWorld* world)
+ {
+ if (JSWrapperCache* wrapperCache = m_wrapperCacheMap.get(world))
+ return wrapperCache;
+ return createWrapperCache(world);
+ }
+ JSWrapperCache* createWrapperCache(DOMWrapperWorld*);
virtual void finishedParsing();
@@ -1137,7 +1148,7 @@ private:
unsigned m_numNodeListCaches;
- JSWrapperCache m_wrapperCache;
+ JSWrapperCacheMap m_wrapperCacheMap;
#if ENABLE(DATABASE)
RefPtr<DatabaseThread> m_databaseThread;
diff --git a/src/3rdparty/webkit/WebCore/dom/Element.cpp b/src/3rdparty/webkit/WebCore/dom/Element.cpp
index 621c63a..9edde25 100644
--- a/src/3rdparty/webkit/WebCore/dom/Element.cpp
+++ b/src/3rdparty/webkit/WebCore/dom/Element.cpp
@@ -1414,7 +1414,7 @@ KURL Element::getURLAttribute(const QualifiedName& name) const
ASSERT(isURLAttribute(attribute));
}
#endif
- return document()->completeURL(getAttribute(name));
+ return document()->completeURL(deprecatedParseURL(getAttribute(name)));
}
} // namespace WebCore
diff --git a/src/3rdparty/webkit/WebCore/dom/EventTarget.cpp b/src/3rdparty/webkit/WebCore/dom/EventTarget.cpp
index ceb5221..694e78a 100644
--- a/src/3rdparty/webkit/WebCore/dom/EventTarget.cpp
+++ b/src/3rdparty/webkit/WebCore/dom/EventTarget.cpp
@@ -192,9 +192,16 @@ bool EventTarget::removeEventListener(const AtomicString& eventType, EventListen
// Notify firing events planning to invoke the listener at 'index' that
// they have one less listener to invoke.
- for (size_t i = 0; i < d->firingEventEndIterators.size(); ++i) {
- if (eventType == *d->firingEventEndIterators[i].eventType && index < *d->firingEventEndIterators[i].value)
- --*d->firingEventEndIterators[i].value;
+ for (size_t i = 0; i < d->firingEventIterators.size(); ++i) {
+ if (eventType != d->firingEventIterators[i].eventType)
+ continue;
+
+ if (index >= d->firingEventIterators[i].end)
+ continue;
+
+ --d->firingEventIterators[i].end;
+ if (index <= d->firingEventIterators[i].iterator)
+ --d->firingEventIterators[i].iterator;
}
return true;
@@ -232,6 +239,10 @@ bool EventTarget::dispatchEvent(PassRefPtr<Event> event, ExceptionCode& ec)
ec = EventException::UNSPECIFIED_EVENT_TYPE_ERR;
return false;
}
+
+ if (!scriptExecutionContext())
+ return false;
+
return dispatchEvent(event);
}
@@ -259,9 +270,15 @@ bool EventTarget::fireEventListeners(Event* event)
RefPtr<EventTarget> protect = this;
+ // Fire all listeners registered for this event. Don't fire listeners removed
+ // during event dispatch. Also, don't fire event listeners added during event
+ // dispatch. Conveniently, all new event listeners will be added after 'end',
+ // so iterating to 'end' naturally excludes new event listeners.
+
+ size_t i = 0;
size_t end = entry.size();
- d->firingEventEndIterators.append(FiringEventEndIterator(&event->type(), &end));
- for (size_t i = 0; i < end; ++i) {
+ d->firingEventIterators.append(FiringEventIterator(event->type(), i, end));
+ for ( ; i < end; ++i) {
RegisteredEventListener& registeredListener = entry[i];
if (event->eventPhase() == Event::CAPTURING_PHASE && !registeredListener.useCapture)
continue;
@@ -271,7 +288,7 @@ bool EventTarget::fireEventListeners(Event* event)
// event listeners, even though that violates some versions of the DOM spec.
registeredListener.listener->handleEvent(scriptExecutionContext(), event);
}
- d->firingEventEndIterators.removeLast();
+ d->firingEventIterators.removeLast();
return !event->defaultPrevented();
}
@@ -298,8 +315,10 @@ void EventTarget::removeAllEventListeners()
// Notify firing events planning to invoke the listener at 'index' that
// they have one less listener to invoke.
- for (size_t i = 0; i < d->firingEventEndIterators.size(); ++i)
- *d->firingEventEndIterators[i].value = 0;
+ for (size_t i = 0; i < d->firingEventIterators.size(); ++i) {
+ d->firingEventIterators[i].iterator = 0;
+ d->firingEventIterators[i].end = 0;
+ }
}
} // namespace WebCore
diff --git a/src/3rdparty/webkit/WebCore/dom/EventTarget.h b/src/3rdparty/webkit/WebCore/dom/EventTarget.h
index 2d612e1..9a1975c 100644
--- a/src/3rdparty/webkit/WebCore/dom/EventTarget.h
+++ b/src/3rdparty/webkit/WebCore/dom/EventTarget.h
@@ -61,24 +61,26 @@ namespace WebCore {
typedef int ExceptionCode;
- struct FiringEventEndIterator {
- FiringEventEndIterator(const AtomicString* eventType, size_t* value)
+ struct FiringEventIterator {
+ FiringEventIterator(const AtomicString& eventType, size_t& iterator, size_t& end)
: eventType(eventType)
- , value(value)
+ , iterator(iterator)
+ , end(end)
{
}
-
- const AtomicString* eventType;
- size_t* value;
+
+ const AtomicString& eventType;
+ size_t& iterator;
+ size_t& end;
};
- typedef Vector<FiringEventEndIterator, 1> FiringEventEndIteratorVector;
+ typedef Vector<FiringEventIterator, 1> FiringEventIteratorVector;
typedef Vector<RegisteredEventListener, 1> EventListenerVector;
typedef HashMap<AtomicString, EventListenerVector> EventListenerMap;
struct EventTargetData {
EventListenerMap eventListenerMap;
- FiringEventEndIteratorVector firingEventEndIterators;
+ FiringEventIteratorVector firingEventIterators;
};
class EventTarget {
@@ -209,7 +211,7 @@ namespace WebCore {
EventTargetData* d = eventTargetData();
if (!d)
return false;
- return d->firingEventEndIterators.size() != 0;
+ return d->firingEventIterators.size() != 0;
}
inline bool EventTarget::hasEventListeners()
diff --git a/src/3rdparty/webkit/WebCore/dom/ScriptExecutionContext.cpp b/src/3rdparty/webkit/WebCore/dom/ScriptExecutionContext.cpp
index 45d4e23..f7046e3 100644
--- a/src/3rdparty/webkit/WebCore/dom/ScriptExecutionContext.cpp
+++ b/src/3rdparty/webkit/WebCore/dom/ScriptExecutionContext.cpp
@@ -36,6 +36,10 @@
#include <wtf/MainThread.h>
#include <wtf/PassRefPtr.h>
+#if USE(JSC)
+#include "JSDOMWindow.h"
+#endif
+
namespace WebCore {
class ProcessMessagesSoonTask : public ScriptExecutionContext::Task {
@@ -195,4 +199,20 @@ ScriptExecutionContext::Task::~Task()
{
}
+#if USE(JSC)
+JSC::JSGlobalData* ScriptExecutionContext::globalData()
+{
+ if (isDocument())
+ return JSDOMWindow::commonJSGlobalData();
+
+#if ENABLE(WORKERS)
+ if (isWorkerContext())
+ return static_cast<WorkerContext*>(this)->script()->globalData();
+#endif
+
+ ASSERT_NOT_REACHED();
+ return 0;
+}
+#endif
+
} // namespace WebCore
diff --git a/src/3rdparty/webkit/WebCore/dom/ScriptExecutionContext.h b/src/3rdparty/webkit/WebCore/dom/ScriptExecutionContext.h
index bb78b6f..398afec 100644
--- a/src/3rdparty/webkit/WebCore/dom/ScriptExecutionContext.h
+++ b/src/3rdparty/webkit/WebCore/dom/ScriptExecutionContext.h
@@ -104,6 +104,10 @@ namespace WebCore {
void removeTimeout(int timeoutId);
DOMTimer* findTimeout(int timeoutId);
+#if USE(JSC)
+ JSC::JSGlobalData* globalData();
+#endif
+
protected:
// Explicitly override the security origin for this script context.
// Note: It is dangerous to change the security origin of a script context
diff --git a/src/3rdparty/webkit/WebCore/dom/SelectElement.cpp b/src/3rdparty/webkit/WebCore/dom/SelectElement.cpp
index 49713ba..3d2a549 100644
--- a/src/3rdparty/webkit/WebCore/dom/SelectElement.cpp
+++ b/src/3rdparty/webkit/WebCore/dom/SelectElement.cpp
@@ -479,12 +479,14 @@ bool SelectElement::appendFormData(SelectElementData& data, Element* element, Fo
// We return the first one if it was a combobox select
if (!successful && !data.multiple() && data.size() <= 1 && items.size()) {
OptionElement* optionElement = toOptionElement(items[0]);
- const AtomicString& value = optionElement->value();
- if (value.isNull())
- list.appendData(name, optionElement->text().stripWhiteSpace());
- else
- list.appendData(name, value);
- successful = true;
+ if (optionElement) {
+ const AtomicString& value = optionElement->value();
+ if (value.isNull())
+ list.appendData(name, optionElement->text().stripWhiteSpace());
+ else
+ list.appendData(name, value);
+ successful = true;
+ }
}
return successful;
@@ -874,13 +876,19 @@ void SelectElement::typeAheadFind(SelectElementData& data, Element* element, Key
int index = (optionToListIndex(data, element, selected >= 0 ? selected : 0) + searchStartOffset) % itemCount;
ASSERT(index >= 0);
+ // Compute a case-folded copy of the prefix string before beginning the search for
+ // a matching element. This code uses foldCase to work around the fact that
+ // String::startWith does not fold non-ASCII characters. This code can be changed
+ // to use startWith once that is fixed.
+ String prefixWithCaseFolded(prefix.foldCase());
for (int i = 0; i < itemCount; ++i, index = (index + 1) % itemCount) {
OptionElement* optionElement = toOptionElement(items[index]);
if (!optionElement || items[index]->disabled())
continue;
+ // Fold the option string and check if its prefix is equal to the folded prefix.
String text = optionElement->textIndentedToRespectGroupLabel();
- if (stripLeadingWhiteSpace(text).startsWith(prefix, false)) {
+ if (stripLeadingWhiteSpace(text).foldCase().startsWith(prefixWithCaseFolded)) {
setSelectedIndex(data, element, listToOptionIndex(data, element, index));
if (!data.usesMenuList())
listBoxOnChange(data, element);
diff --git a/src/3rdparty/webkit/WebCore/dom/XMLTokenizer.cpp b/src/3rdparty/webkit/WebCore/dom/XMLTokenizer.cpp
index 543927d..30d39e0 100644
--- a/src/3rdparty/webkit/WebCore/dom/XMLTokenizer.cpp
+++ b/src/3rdparty/webkit/WebCore/dom/XMLTokenizer.cpp
@@ -79,15 +79,41 @@ bool XMLTokenizer::isWMLDocument() const
}
#endif
-void XMLTokenizer::setCurrentNode(Node* n)
+void XMLTokenizer::pushCurrentNode(Node* n)
{
- bool nodeNeedsReference = n && n != m_doc;
- if (nodeNeedsReference)
- n->ref();
- if (m_currentNodeIsReferenced)
- m_currentNode->deref();
+ ASSERT(n);
+ ASSERT(m_currentNode);
+ if (n != m_doc)
+ n->ref();
+ m_currentNodeStack.append(m_currentNode);
m_currentNode = n;
- m_currentNodeIsReferenced = nodeNeedsReference;
+}
+
+void XMLTokenizer::popCurrentNode()
+{
+ ASSERT(m_currentNode);
+ ASSERT(m_currentNodeStack.size());
+
+ if (m_currentNode != m_doc)
+ m_currentNode->deref();
+
+ m_currentNode = m_currentNodeStack.last();
+ m_currentNodeStack.removeLast();
+}
+
+void XMLTokenizer::clearCurrentNodeStack()
+{
+ if (m_currentNode && m_currentNode != m_doc)
+ m_currentNode->deref();
+ m_currentNode = 0;
+
+ if (m_currentNodeStack.size()) { // Aborted parsing.
+ for (size_t i = m_currentNodeStack.size() - 1; i != 0; --i)
+ m_currentNodeStack[i]->deref();
+ if (m_currentNodeStack[0] && m_currentNodeStack[0] != m_doc)
+ m_currentNodeStack[0]->deref();
+ m_currentNodeStack.clear();
+ }
}
void XMLTokenizer::write(const SegmentedString& s, bool /*appendData*/)
@@ -143,7 +169,7 @@ bool XMLTokenizer::enterText()
RefPtr<Node> newNode = Text::create(m_doc, "");
if (!m_currentNode->addChild(newNode.get()))
return false;
- setCurrentNode(newNode.get());
+ pushCurrentNode(newNode.get());
return true;
}
@@ -173,10 +199,7 @@ void XMLTokenizer::exitText()
if (m_view && m_currentNode && !m_currentNode->attached())
m_currentNode->attach();
- // FIXME: What's the right thing to do if the parent is really 0?
- // Just leaving the current node set to the text node doesn't make much sense.
- if (Node* par = m_currentNode->parentNode())
- setCurrentNode(par);
+ popCurrentNode();
}
void XMLTokenizer::end()
@@ -190,7 +213,7 @@ void XMLTokenizer::end()
m_doc->updateStyleSelector();
}
- setCurrentNode(0);
+ clearCurrentNodeStack();
if (!m_parsingFragment)
m_doc->finishedParsing();
}
diff --git a/src/3rdparty/webkit/WebCore/dom/XMLTokenizer.h b/src/3rdparty/webkit/WebCore/dom/XMLTokenizer.h
index 019a831..e1ee09f 100644
--- a/src/3rdparty/webkit/WebCore/dom/XMLTokenizer.h
+++ b/src/3rdparty/webkit/WebCore/dom/XMLTokenizer.h
@@ -124,7 +124,10 @@ public:
friend bool parseXMLDocumentFragment(const String& chunk, DocumentFragment* fragment, Element* parent);
void initializeParserContext(const char* chunk = 0);
- void setCurrentNode(Node*);
+
+ void pushCurrentNode(Node*);
+ void popCurrentNode();
+ void clearCurrentNodeStack();
void insertErrorMessageBlock();
@@ -148,7 +151,7 @@ public:
Vector<xmlChar> m_bufferedText;
#endif
Node* m_currentNode;
- bool m_currentNodeIsReferenced;
+ Vector<Node*> m_currentNodeStack;
bool m_sawError;
bool m_sawXSLTransform;
diff --git a/src/3rdparty/webkit/WebCore/dom/XMLTokenizerLibxml2.cpp b/src/3rdparty/webkit/WebCore/dom/XMLTokenizerLibxml2.cpp
index 6cc0a0c..9aa0961 100644
--- a/src/3rdparty/webkit/WebCore/dom/XMLTokenizerLibxml2.cpp
+++ b/src/3rdparty/webkit/WebCore/dom/XMLTokenizerLibxml2.cpp
@@ -530,7 +530,6 @@ XMLTokenizer::XMLTokenizer(Document* _doc, FrameView* _view)
, m_context(0)
, m_pendingCallbacks(new PendingCallbacks)
, m_currentNode(_doc)
- , m_currentNodeIsReferenced(false)
, m_sawError(false)
, m_sawXSLTransform(false)
, m_sawFirstElement(false)
@@ -557,7 +556,6 @@ XMLTokenizer::XMLTokenizer(DocumentFragment* fragment, Element* parentElement)
, m_context(0)
, m_pendingCallbacks(new PendingCallbacks)
, m_currentNode(fragment)
- , m_currentNodeIsReferenced(fragment)
, m_sawError(false)
, m_sawXSLTransform(false)
, m_sawFirstElement(false)
@@ -576,8 +574,7 @@ XMLTokenizer::XMLTokenizer(DocumentFragment* fragment, Element* parentElement)
, m_scriptStartLine(0)
, m_parsingFragment(true)
{
- if (fragment)
- fragment->ref();
+ fragment->ref();
if (m_doc)
m_doc->ref();
@@ -614,7 +611,7 @@ XMLTokenizer::XMLTokenizer(DocumentFragment* fragment, Element* parentElement)
XMLTokenizer::~XMLTokenizer()
{
- setCurrentNode(0);
+ clearCurrentNodeStack();
if (m_parsingFragment && m_doc)
m_doc->deref();
if (m_pendingScript)
@@ -801,7 +798,7 @@ void XMLTokenizer::startElementNs(const xmlChar* xmlLocalName, const xmlChar* xm
return;
}
- setCurrentNode(newElement.get());
+ pushCurrentNode(newElement.get());
if (m_view && !newElement->attached())
newElement->attach();
@@ -822,22 +819,29 @@ void XMLTokenizer::endElementNs()
exitText();
Node* n = m_currentNode;
- RefPtr<Node> parent = n->parentNode();
n->finishParsingChildren();
if (!n->isElementNode() || !m_view) {
- setCurrentNode(parent.get());
+ popCurrentNode();
return;
}
Element* element = static_cast<Element*>(n);
+
+ // The element's parent may have already been removed from document.
+ // Parsing continues in this case, but scripts aren't executed.
+ if (!element->inDocument()) {
+ popCurrentNode();
+ return;
+ }
+
ScriptElement* scriptElement = toScriptElement(element);
if (!scriptElement) {
- setCurrentNode(parent.get());
+ popCurrentNode();
return;
}
- // don't load external scripts for standalone documents (for now)
+ // Don't load external scripts for standalone documents (for now).
ASSERT(!m_pendingScript);
m_requestingScript = true;
@@ -865,7 +869,7 @@ void XMLTokenizer::endElementNs()
m_view->frame()->script()->executeScript(ScriptSourceCode(scriptElement->scriptContent(), m_doc->url(), m_scriptStartLine));
}
m_requestingScript = false;
- setCurrentNode(parent.get());
+ popCurrentNode();
}
void XMLTokenizer::characters(const xmlChar* s, int len)
diff --git a/src/3rdparty/webkit/WebCore/dom/XMLTokenizerQt.cpp b/src/3rdparty/webkit/WebCore/dom/XMLTokenizerQt.cpp
index 65cbc21..c6e73ba 100644
--- a/src/3rdparty/webkit/WebCore/dom/XMLTokenizerQt.cpp
+++ b/src/3rdparty/webkit/WebCore/dom/XMLTokenizerQt.cpp
@@ -85,7 +85,6 @@ XMLTokenizer::XMLTokenizer(Document* _doc, FrameView* _view)
, m_view(_view)
, m_wroteText(false)
, m_currentNode(_doc)
- , m_currentNodeIsReferenced(false)
, m_sawError(false)
, m_sawXSLTransform(false)
, m_sawFirstElement(false)
@@ -114,7 +113,6 @@ XMLTokenizer::XMLTokenizer(DocumentFragment* fragment, Element* parentElement)
, m_view(0)
, m_wroteText(false)
, m_currentNode(fragment)
- , m_currentNodeIsReferenced(fragment)
, m_sawError(false)
, m_sawXSLTransform(false)
, m_sawFirstElement(false)
@@ -133,8 +131,7 @@ XMLTokenizer::XMLTokenizer(DocumentFragment* fragment, Element* parentElement)
, m_scriptStartLine(0)
, m_parsingFragment(true)
{
- if (fragment)
- fragment->ref();
+ fragment->ref();
if (m_doc)
m_doc->ref();
@@ -188,7 +185,7 @@ XMLTokenizer::XMLTokenizer(DocumentFragment* fragment, Element* parentElement)
XMLTokenizer::~XMLTokenizer()
{
- setCurrentNode(0);
+ clearCurrentNodeStack();
if (m_parsingFragment && m_doc)
m_doc->deref();
if (m_pendingScript)
@@ -569,7 +566,7 @@ void XMLTokenizer::parseStartElement()
return;
}
- setCurrentNode(newElement.get());
+ pushCurrentNode(newElement.get());
if (m_view && !newElement->attached())
newElement->attach();
@@ -582,18 +579,26 @@ void XMLTokenizer::parseEndElement()
exitText();
Node* n = m_currentNode;
- RefPtr<Node> parent = n->parentNode();
n->finishParsingChildren();
if (!n->isElementNode() || !m_view) {
- setCurrentNode(parent.get());
+ if (!m_currentNodeStack.isEmpty())
+ popCurrentNode();
return;
}
Element* element = static_cast<Element*>(n);
+
+ // The element's parent may have already been removed from document.
+ // Parsing continues in this case, but scripts aren't executed.
+ if (!element->inDocument()) {
+ popCurrentNode();
+ return;
+ }
+
ScriptElement* scriptElement = toScriptElement(element);
if (!scriptElement) {
- setCurrentNode(parent.get());
+ popCurrentNode();
return;
}
@@ -625,7 +630,7 @@ void XMLTokenizer::parseEndElement()
m_view->frame()->script()->executeScript(ScriptSourceCode(scriptElement->scriptContent(), m_doc->url(), m_scriptStartLine));
}
m_requestingScript = false;
- setCurrentNode(parent.get());
+ popCurrentNode();
}
void XMLTokenizer::parseCharacters()
diff --git a/src/3rdparty/webkit/WebCore/editing/ApplyStyleCommand.cpp b/src/3rdparty/webkit/WebCore/editing/ApplyStyleCommand.cpp
index 89d862f..7a8f025 100644
--- a/src/3rdparty/webkit/WebCore/editing/ApplyStyleCommand.cpp
+++ b/src/3rdparty/webkit/WebCore/editing/ApplyStyleCommand.cpp
@@ -334,6 +334,38 @@ static void diffTextDecorations(CSSMutableStyleDeclaration* style, int propertID
setTextDecorationProperty(style, newTextDecoration.get(), propertID);
}
+static bool fontWeightIsBold(CSSStyleDeclaration* style)
+{
+ ASSERT(style);
+ RefPtr<CSSValue> fontWeight = style->getPropertyCSSValue(CSSPropertyFontWeight);
+
+ if (!fontWeight)
+ return false;
+ if (!fontWeight->isPrimitiveValue())
+ return false;
+
+ // Because b tag can only bold text, there are only two states in plain html: bold and not bold.
+ // Collapse all other values to either one of these two states for editing purposes.
+ switch (static_cast<CSSPrimitiveValue*>(fontWeight.get())->getIdent()) {
+ case CSSValue100:
+ case CSSValue200:
+ case CSSValue300:
+ case CSSValue400:
+ case CSSValue500:
+ case CSSValueNormal:
+ return false;
+ case CSSValueBold:
+ case CSSValue600:
+ case CSSValue700:
+ case CSSValue800:
+ case CSSValue900:
+ return true;
+ }
+
+ ASSERT_NOT_REACHED(); // For CSSValueBolder and CSSValueLighter
+ return false; // Make compiler happy
+}
+
RefPtr<CSSMutableStyleDeclaration> getPropertiesNotInComputedStyle(CSSStyleDeclaration* style, CSSComputedStyleDeclaration* computedStyle)
{
ASSERT(style);
@@ -345,6 +377,9 @@ RefPtr<CSSMutableStyleDeclaration> getPropertiesNotInComputedStyle(CSSStyleDecla
diffTextDecorations(result.get(), CSSPropertyTextDecoration, computedTextDecorationsInEffect.get());
diffTextDecorations(result.get(), CSSPropertyWebkitTextDecorationsInEffect, computedTextDecorationsInEffect.get());
+ if (fontWeightIsBold(result.get()) == fontWeightIsBold(computedStyle))
+ result->removeProperty(CSSPropertyFontWeight);
+
return result;
}
@@ -352,7 +387,6 @@ RefPtr<CSSMutableStyleDeclaration> getPropertiesNotInComputedStyle(CSSStyleDecla
// e.g. when a user inserts a new paragraph, all properties listed here must be copied to the new paragraph.
// FIXME: The current editingStyleProperties contains all inheritableProperties but we may not need to preserve all inheritable properties
static const int editingStyleProperties[] = {
- CSSPropertyBackgroundColor,
// CSS inheritable properties
CSSPropertyBorderCollapse,
CSSPropertyColor,
diff --git a/src/3rdparty/webkit/WebCore/editing/CompositeEditCommand.cpp b/src/3rdparty/webkit/WebCore/editing/CompositeEditCommand.cpp
index 0496a8f..1617be8 100644
--- a/src/3rdparty/webkit/WebCore/editing/CompositeEditCommand.cpp
+++ b/src/3rdparty/webkit/WebCore/editing/CompositeEditCommand.cpp
@@ -20,7 +20,7 @@
* 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.
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
#include "config.h"
@@ -71,7 +71,7 @@ namespace WebCore {
using namespace HTMLNames;
-CompositeEditCommand::CompositeEditCommand(Document *document)
+CompositeEditCommand::CompositeEditCommand(Document *document)
: EditCommand(document)
{
}
@@ -396,7 +396,7 @@ void CompositeEditCommand::rebalanceWhitespaceAt(const Position& position)
Node* node = position.node();
if (!node || !node->isTextNode())
return;
- Text* textNode = static_cast<Text*>(node);
+ Text* textNode = static_cast<Text*>(node);
if (textNode->length() == 0)
return;
@@ -739,6 +739,129 @@ void CompositeEditCommand::pushPartiallySelectedAnchorElementsDown()
setEndingSelection(originalSelection);
}
+// Clone the paragraph between start and end under blockElement,
+// preserving the hierarchy up to outerNode.
+
+void CompositeEditCommand::cloneParagraphUnderNewElement(Position& start, Position& end, Node* outerNode, Element* blockElement)
+{
+ // First we clone the outerNode
+
+ RefPtr<Node> lastNode = outerNode->cloneNode(isTableElement(outerNode));
+ appendNode(lastNode, blockElement);
+
+ if (start.node() != outerNode) {
+ Vector<RefPtr<Node> > ancestors;
+
+ // Insert each node from innerNode to outerNode (excluded) in a list.
+ for (Node* n = start.node(); n && n != outerNode; n = n->parentNode())
+ ancestors.append(n);
+
+ // Clone every node between start.node() and outerBlock.
+
+ for (size_t i = ancestors.size(); i != 0; --i) {
+ Node* item = ancestors[i - 1].get();
+ RefPtr<Node> child = item->cloneNode(isTableElement(item));
+ appendNode(child, static_cast<Element *>(lastNode.get()));
+ lastNode = child.release();
+ }
+ }
+
+ // Handle the case of paragraphs with more than one node,
+ // cloning all the siblings until end.node() is reached.
+
+ if (start.node() != end.node()) {
+ for (Node* n = start.node()->nextSibling(); n != NULL; n = n->nextSibling()) {
+ RefPtr<Node> clonedNode = n->cloneNode(true);
+ insertNodeAfter(clonedNode, lastNode);
+ lastNode = clonedNode.release();
+ if (n == end.node())
+ break;
+ }
+ }
+}
+
+
+// There are bugs in deletion when it removes a fully selected table/list.
+// It expands and removes the entire table/list, but will let content
+// before and after the table/list collapse onto one line.
+// Deleting a paragraph will leave a placeholder. Remove it (and prune
+// empty or unrendered parents).
+
+void CompositeEditCommand::cleanupAfterDeletion()
+{
+ VisiblePosition caretAfterDelete = endingSelection().visibleStart();
+ if (isStartOfParagraph(caretAfterDelete) && isEndOfParagraph(caretAfterDelete)) {
+ // Note: We want the rightmost candidate.
+ Position position = caretAfterDelete.deepEquivalent().downstream();
+ Node* node = position.node();
+ // Normally deletion will leave a br as a placeholder.
+ if (node->hasTagName(brTag))
+ removeNodeAndPruneAncestors(node);
+ // If the selection to move was empty and in an empty block that
+ // doesn't require a placeholder to prop itself open (like a bordered
+ // div or an li), remove it during the move (the list removal code
+ // expects this behavior).
+ else if (isBlock(node))
+ removeNodeAndPruneAncestors(node);
+ else if (lineBreakExistsAtPosition(position)) {
+ // There is a preserved '\n' at caretAfterDelete.
+ // We can safely assume this is a text node.
+ Text* textNode = static_cast<Text*>(node);
+ if (textNode->length() == 1)
+ removeNodeAndPruneAncestors(node);
+ else
+ deleteTextFromNode(textNode, position.deprecatedEditingOffset(), 1);
+ }
+ }
+}
+
+// This is a version of moveParagraph that preserves style by keeping the original markup
+// It is currently used only by IndentOutdentCommand but it is meant to be used in the
+// future by several other commands such as InsertList and the align commands.
+// The blockElement parameter is the element to move the paragraph to,
+// outerNode is the top element of the paragraph hierarchy.
+
+void CompositeEditCommand::moveParagraphWithClones(const VisiblePosition& startOfParagraphToMove, const VisiblePosition& endOfParagraphToMove, Element* blockElement, Node* outerNode)
+{
+ ASSERT(outerNode);
+ ASSERT(blockElement);
+
+ VisiblePosition beforeParagraph = startOfParagraphToMove.previous();
+ VisiblePosition afterParagraph(endOfParagraphToMove.next());
+
+ // We upstream() the end and downstream() the start so that we don't include collapsed whitespace in the move.
+ // When we paste a fragment, spaces after the end and before the start are treated as though they were rendered.
+ Position start = startOfParagraphToMove.deepEquivalent().downstream();
+ Position end = endOfParagraphToMove.deepEquivalent().upstream();
+
+ cloneParagraphUnderNewElement(start, end, outerNode, blockElement);
+
+ setEndingSelection(VisibleSelection(start, end, DOWNSTREAM));
+ deleteSelection(false, false, false, false);
+
+ // There are bugs in deletion when it removes a fully selected table/list.
+ // It expands and removes the entire table/list, but will let content
+ // before and after the table/list collapse onto one line.
+
+ cleanupAfterDeletion();
+
+ // Add a br if pruning an empty block level element caused a collapse. For example:
+ // foo^
+ // <div>bar</div>
+ // baz
+ // Imagine moving 'bar' to ^. 'bar' will be deleted and its div pruned. That would
+ // cause 'baz' to collapse onto the line with 'foobar' unless we insert a br.
+ // Must recononicalize these two VisiblePositions after the pruning above.
+ beforeParagraph = VisiblePosition(beforeParagraph.deepEquivalent());
+ afterParagraph = VisiblePosition(afterParagraph.deepEquivalent());
+
+ if (beforeParagraph.isNotNull() && !isTableElement(beforeParagraph.deepEquivalent().node()) && (!isEndOfParagraph(beforeParagraph) || beforeParagraph == afterParagraph)) {
+ // FIXME: Trim text between beforeParagraph and afterParagraph if they aren't equal.
+ insertNodeAt(createBreakElement(document()), beforeParagraph.deepEquivalent());
+ }
+}
+
+
// This moves a paragraph preserving its style.
void CompositeEditCommand::moveParagraph(const VisiblePosition& startOfParagraphToMove, const VisiblePosition& endOfParagraphToMove, const VisiblePosition& destination, bool preserveSelection, bool preserveStyle)
{
@@ -784,7 +907,7 @@ void CompositeEditCommand::moveParagraphs(const VisiblePosition& startOfParagrap
VisiblePosition afterParagraph(endOfParagraphToMove.next());
// We upstream() the end and downstream() the start so that we don't include collapsed whitespace in the move.
- // When we paste a fragment, spaces after the end and before the start are treated as though they were rendered.
+ // When we paste a fragment, spaces after the end and before the start are treated as though they were rendered.
Position start = startOfParagraphToMove.deepEquivalent().downstream();
Position end = endOfParagraphToMove.deepEquivalent().upstream();
@@ -793,7 +916,7 @@ void CompositeEditCommand::moveParagraphs(const VisiblePosition& startOfParagrap
Position endRangeCompliant = rangeCompliantEquivalent(end);
RefPtr<Range> range = Range::create(document(), startRangeCompliant.node(), startRangeCompliant.deprecatedEditingOffset(), endRangeCompliant.node(), endRangeCompliant.deprecatedEditingOffset());
- // FIXME: This is an inefficient way to preserve style on nodes in the paragraph to move. It
+ // FIXME: This is an inefficient way to preserve style on nodes in the paragraph to move. It
// shouldn't matter though, since moved paragraphs will usually be quite small.
RefPtr<DocumentFragment> fragment = startOfParagraphToMove != endOfParagraphToMove ? createFragmentFromMarkup(document(), createMarkup(range.get(), 0, DoNotAnnotateForInterchange, true), "") : 0;
@@ -813,42 +936,14 @@ void CompositeEditCommand::moveParagraphs(const VisiblePosition& startOfParagrap
deleteSelection(false, false, false, false);
ASSERT(destination.deepEquivalent().node()->inDocument());
-
- // There are bugs in deletion when it removes a fully selected table/list.
- // It expands and removes the entire table/list, but will let content
- // before and after the table/list collapse onto one line.
-
- // Deleting a paragraph will leave a placeholder. Remove it (and prune
- // empty or unrendered parents).
- VisiblePosition caretAfterDelete = endingSelection().visibleStart();
- if (isStartOfParagraph(caretAfterDelete) && isEndOfParagraph(caretAfterDelete)) {
- // Note: We want the rightmost candidate.
- Position position = caretAfterDelete.deepEquivalent().downstream();
- Node* node = position.node();
- // Normally deletion will leave a br as a placeholder.
- if (node->hasTagName(brTag))
- removeNodeAndPruneAncestors(node);
- // If the selection to move was empty and in an empty block that
- // doesn't require a placeholder to prop itself open (like a bordered
- // div or an li), remove it during the move (the list removal code
- // expects this behavior).
- else if (isBlock(node))
- removeNodeAndPruneAncestors(node);
- else if (lineBreakExistsAtVisiblePosition(caretAfterDelete)) {
- // There is a preserved '\n' at caretAfterDelete.
- Text* textNode = static_cast<Text*>(node);
- if (textNode->length() == 1)
- removeNodeAndPruneAncestors(node);
- else
- deleteTextFromNode(textNode, position.deprecatedEditingOffset(), 1);
- }
- }
- // Add a br if pruning an empty block level element caused a collapse. For example:
+ cleanupAfterDeletion();
+
+ // Add a br if pruning an empty block level element caused a collapse. For example:
// foo^
// <div>bar</div>
// baz
- // Imagine moving 'bar' to ^. 'bar' will be deleted and its div pruned. That would
+ // Imagine moving 'bar' to ^. 'bar' will be deleted and its div pruned. That would
// cause 'baz' to collapse onto the line with 'foobar' unless we insert a br.
// Must recononicalize these two VisiblePositions after the pruning above.
beforeParagraph = VisiblePosition(beforeParagraph.deepEquivalent());
@@ -912,7 +1007,7 @@ bool CompositeEditCommand::breakOutOfEmptyListItem()
removeNodePreservingChildren(listNode->parentNode());
newBlock = createListItemElement(document());
}
- // If listNode does NOT appear at the end of the outer list item, then behave as if in a regular paragraph.
+ // If listNode does NOT appear at the end of the outer list item, then behave as if in a regular paragraph.
} else if (blockEnclosingList->hasTagName(olTag) || blockEnclosingList->hasTagName(ulTag))
newBlock = createListItemElement(document());
}
@@ -971,7 +1066,7 @@ bool CompositeEditCommand::breakOutOfEmptyMailBlockquotedParagraph()
// to hold the caret before the highest blockquote.
insertNodeBefore(br, highestBlockquote);
VisiblePosition atBR(Position(br.get(), 0));
- // If the br we inserted collapsed, for example foo<br><blockquote>...</blockquote>, insert
+ // If the br we inserted collapsed, for example foo<br><blockquote>...</blockquote>, insert
// a second one.
if (!isStartOfParagraph(atBR))
insertNodeBefore(createBreakElement(document()), br);
@@ -1002,7 +1097,7 @@ bool CompositeEditCommand::breakOutOfEmptyMailBlockquotedParagraph()
return true;
}
-// Operations use this function to avoid inserting content into an anchor when at the start or the end of
+// Operations use this function to avoid inserting content into an anchor when at the start or the end of
// that anchor, as in NSTextView.
// FIXME: This is only an approximation of NSTextViews insertion behavior, which varies depending on how
// the caret was made.
@@ -1022,7 +1117,7 @@ Position CompositeEditCommand::positionAvoidingSpecialElementBoundary(const Posi
if (enclosingAnchor && !isBlock(enclosingAnchor)) {
VisiblePosition firstInAnchor(firstDeepEditingPositionForNode(enclosingAnchor));
VisiblePosition lastInAnchor(lastDeepEditingPositionForNode(enclosingAnchor));
- // If visually just after the anchor, insert *inside* the anchor unless it's the last
+ // If visually just after the anchor, insert *inside* the anchor unless it's the last
// VisiblePosition in the document, to match NSTextView.
if (visiblePos == lastInAnchor) {
// Make sure anchors are pushed down before avoiding them so that we don't
diff --git a/src/3rdparty/webkit/WebCore/editing/CompositeEditCommand.h b/src/3rdparty/webkit/WebCore/editing/CompositeEditCommand.h
index 2c6403e..0cceaaa 100644
--- a/src/3rdparty/webkit/WebCore/editing/CompositeEditCommand.h
+++ b/src/3rdparty/webkit/WebCore/editing/CompositeEditCommand.h
@@ -102,6 +102,9 @@ protected:
void moveParagraph(const VisiblePosition&, const VisiblePosition&, const VisiblePosition&, bool preserveSelection = false, bool preserveStyle = true);
void moveParagraphs(const VisiblePosition&, const VisiblePosition&, const VisiblePosition&, bool preserveSelection = false, bool preserveStyle = true);
+ void moveParagraphWithClones(const VisiblePosition& startOfParagraphToMove, const VisiblePosition& endOfParagraphToMove, Element* blockElement, Node* outerNode);
+ void cloneParagraphUnderNewElement(Position& start, Position& end, Node* outerNode, Element* blockElement);
+ void cleanupAfterDeletion();
bool breakOutOfEmptyListItem();
bool breakOutOfEmptyMailBlockquotedParagraph();
diff --git a/src/3rdparty/webkit/WebCore/editing/EditorCommand.cpp b/src/3rdparty/webkit/WebCore/editing/EditorCommand.cpp
index abd0174..3379b3c 100644
--- a/src/3rdparty/webkit/WebCore/editing/EditorCommand.cpp
+++ b/src/3rdparty/webkit/WebCore/editing/EditorCommand.cpp
@@ -1291,10 +1291,10 @@ static String valueForeColor(Frame* frame, Event*)
// Map of functions
+struct CommandEntry { const char* name; EditorInternalCommand command; };
+
static const CommandMap& createCommandMap()
{
- struct CommandEntry { const char* name; EditorInternalCommand command; };
-
static const CommandEntry commands[] = {
{ "AlignCenter", { executeJustifyCenter, supportedFromMenuOrKeyBinding, enabledInRichlyEditableText, stateNone, valueNull, notTextInsertion, doNotAllowExecutionWhenDisabled } },
{ "AlignJustified", { executeJustifyFull, supportedFromMenuOrKeyBinding, enabledInRichlyEditableText, stateNone, valueNull, notTextInsertion, doNotAllowExecutionWhenDisabled } },
diff --git a/src/3rdparty/webkit/WebCore/editing/IndentOutdentCommand.cpp b/src/3rdparty/webkit/WebCore/editing/IndentOutdentCommand.cpp
index 84fa147..808a2f8 100644
--- a/src/3rdparty/webkit/WebCore/editing/IndentOutdentCommand.cpp
+++ b/src/3rdparty/webkit/WebCore/editing/IndentOutdentCommand.cpp
@@ -67,37 +67,6 @@ IndentOutdentCommand::IndentOutdentCommand(Document* document, EIndentType typeO
{
}
-// This function is a workaround for moveParagraph's tendency to strip blockquotes. It updates lastBlockquote to point to the
-// correct level for the current paragraph, and returns a pointer to a placeholder br where the insertion should be performed.
-PassRefPtr<Element> IndentOutdentCommand::prepareBlockquoteLevelForInsertion(const VisiblePosition& currentParagraph, RefPtr<Element>& lastBlockquote)
-{
- int currentBlockquoteLevel = 0;
- int lastBlockquoteLevel = 0;
- Node* node = currentParagraph.deepEquivalent().node();
- while ((node = enclosingNodeWithTag(Position(node->parentNode(), 0), blockquoteTag)))
- currentBlockquoteLevel++;
- node = lastBlockquote.get();
- while ((node = enclosingNodeWithTag(Position(node->parentNode(), 0), blockquoteTag)))
- lastBlockquoteLevel++;
- while (currentBlockquoteLevel > lastBlockquoteLevel) {
- RefPtr<Element> newBlockquote = createIndentBlockquoteElement(document());
- appendNode(newBlockquote, lastBlockquote);
- lastBlockquote = newBlockquote;
- lastBlockquoteLevel++;
- }
- while (currentBlockquoteLevel < lastBlockquoteLevel) {
- lastBlockquote = static_cast<Element*>(enclosingNodeWithTag(Position(lastBlockquote->parentNode(), 0), blockquoteTag));
- lastBlockquoteLevel--;
- }
- RefPtr<Element> placeholder = createBreakElement(document());
- appendNode(placeholder, lastBlockquote);
- // Add another br before the placeholder if it collapsed.
- VisiblePosition visiblePos(Position(placeholder.get(), 0));
- if (!isStartOfParagraph(visiblePos))
- insertNodeBefore(createBreakElement(document()), placeholder);
- return placeholder.release();
-}
-
bool IndentOutdentCommand::tryIndentingAsListItem(const VisiblePosition& endOfCurrentParagraph)
{
// If our selection is not inside a list, bail out.
@@ -117,13 +86,9 @@ bool IndentOutdentCommand::tryIndentingAsListItem(const VisiblePosition& endOfCu
Element* nextList = selectedListItem->nextElementSibling();
RefPtr<Element> newList = document()->createElement(listNode->tagQName(), false);
- RefPtr<Element> newListItem = selectedListItem->cloneElementWithoutChildren();
- RefPtr<Element> placeholder = createBreakElement(document());
insertNodeBefore(newList, selectedListItem);
- appendNode(newListItem, newList);
- appendNode(placeholder, newListItem);
- moveParagraph(startOfParagraph(endOfCurrentParagraph), endOfCurrentParagraph, VisiblePosition(Position(placeholder, 0)), true);
+ moveParagraphWithClones(startOfParagraph(endOfCurrentParagraph), endOfCurrentParagraph, newList.get(), selectedListItem);
if (canMergeLists(previousList, newList.get()))
mergeIdenticalElements(previousList, newList);
@@ -137,25 +102,31 @@ void IndentOutdentCommand::indentIntoBlockquote(const VisiblePosition& endOfCurr
{
Node* enclosingCell = 0;
+ Position start = startOfParagraph(endOfCurrentParagraph).deepEquivalent();
+ enclosingCell = enclosingNodeOfType(start, &isTableCell);
+ Node* nodeToSplitTo;
+ if (enclosingCell)
+ nodeToSplitTo = enclosingCell;
+ else if (enclosingList(start.node()))
+ nodeToSplitTo = enclosingBlock(start.node());
+ else
+ nodeToSplitTo = editableRootForPosition(start);
+
+ RefPtr<Node> outerBlock = splitTreeToNode(start.node(), nodeToSplitTo);
+
if (!targetBlockquote) {
// Create a new blockquote and insert it as a child of the root editable element. We accomplish
// this by splitting all parents of the current paragraph up to that point.
targetBlockquote = createIndentBlockquoteElement(document());
- Position start = startOfParagraph(endOfCurrentParagraph).deepEquivalent();
- enclosingCell = enclosingNodeOfType(start, &isTableCell);
- Node* nodeToSplitTo = enclosingCell ? enclosingCell : editableRootForPosition(start);
- RefPtr<Node> startOfNewBlock = splitTreeToNode(start.node(), nodeToSplitTo);
- insertNodeBefore(targetBlockquote, startOfNewBlock);
+ insertNodeBefore(targetBlockquote, outerBlock);
}
- RefPtr<Element> insertionPoint = prepareBlockquoteLevelForInsertion(endOfCurrentParagraph, targetBlockquote);
-
+ moveParagraphWithClones(startOfParagraph(endOfCurrentParagraph), endOfCurrentParagraph, targetBlockquote.get(), outerBlock.get());
+
// Don't put the next paragraph in the blockquote we just created for this paragraph unless
// the next paragraph is in the same cell.
if (enclosingCell && enclosingCell != enclosingNodeOfType(endOfNextParagraph.deepEquivalent(), &isTableCell))
targetBlockquote = 0;
-
- moveParagraph(startOfParagraph(endOfCurrentParagraph), endOfCurrentParagraph, VisiblePosition(Position(insertionPoint, 0)), true);
}
void IndentOutdentCommand::indentRegion()
@@ -191,8 +162,6 @@ void IndentOutdentCommand::indentRegion()
blockquoteForNextIndent = 0;
else
indentIntoBlockquote(endOfCurrentParagraph, endOfNextParagraph, blockquoteForNextIndent);
- // blockquoteForNextIndent maybe updated
- // this is due to the way prepareBlockquoteLevelForInsertion was designed.
// Sanity check: Make sure our moveParagraph calls didn't remove endOfNextParagraph.deepEquivalent().node()
// If somehow we did, return to prevent crashes.
if (endOfNextParagraph.isNotNull() && !endOfNextParagraph.deepEquivalent().node()->inDocument()) {
diff --git a/src/3rdparty/webkit/WebCore/editing/IndentOutdentCommand.h b/src/3rdparty/webkit/WebCore/editing/IndentOutdentCommand.h
index 419f832f..817b4c8 100644
--- a/src/3rdparty/webkit/WebCore/editing/IndentOutdentCommand.h
+++ b/src/3rdparty/webkit/WebCore/editing/IndentOutdentCommand.h
@@ -49,7 +49,6 @@ private:
void indentRegion();
void outdentRegion();
void outdentParagraph();
- PassRefPtr<Element> prepareBlockquoteLevelForInsertion(const VisiblePosition&, RefPtr<Element>&);
bool tryIndentingAsListItem(const VisiblePosition&);
void indentIntoBlockquote(const VisiblePosition&, const VisiblePosition&, RefPtr<Element>&);
diff --git a/src/3rdparty/webkit/WebCore/editing/ReplaceNodeWithSpanCommand.cpp b/src/3rdparty/webkit/WebCore/editing/ReplaceNodeWithSpanCommand.cpp
index 21ca924..0874201 100644
--- a/src/3rdparty/webkit/WebCore/editing/ReplaceNodeWithSpanCommand.cpp
+++ b/src/3rdparty/webkit/WebCore/editing/ReplaceNodeWithSpanCommand.cpp
@@ -57,7 +57,9 @@ static void swapInNodePreservingAttributesAndChildren(Node* newNode, Node* nodeT
parentNode->insertBefore(newNode, nodeToReplace, ec);
ASSERT(!ec);
- for (Node* child = nodeToReplace->firstChild(); child; child = child->nextSibling()) {
+ Node* nextChild;
+ for (Node* child = nodeToReplace->firstChild(); child; child = nextChild) {
+ nextChild = child->nextSibling();
newNode->appendChild(child, ec);
ASSERT(!ec);
}
diff --git a/src/3rdparty/webkit/WebCore/editing/SelectionController.cpp b/src/3rdparty/webkit/WebCore/editing/SelectionController.cpp
index 7d99916..00672f2 100644
--- a/src/3rdparty/webkit/WebCore/editing/SelectionController.cpp
+++ b/src/3rdparty/webkit/WebCore/editing/SelectionController.cpp
@@ -725,6 +725,8 @@ bool SelectionController::modify(EAlteration alter, int verticalDistance, bool u
if (userTriggered)
m_frame->setSelectionGranularity(CharacterGranularity);
+ m_lastChangeWasHorizontalExtension = alter == EXTEND;
+
return true;
}
diff --git a/src/3rdparty/webkit/WebCore/generated/CSSPropertyNames.cpp b/src/3rdparty/webkit/WebCore/generated/CSSPropertyNames.cpp
index 8780c36..919eb24 100644
--- a/src/3rdparty/webkit/WebCore/generated/CSSPropertyNames.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/CSSPropertyNames.cpp
@@ -226,7 +226,7 @@ findProp (register const char *str, register unsigned int len)
{
enum
{
- TOTAL_KEYWORDS = 278,
+ TOTAL_KEYWORDS = 280,
MIN_WORD_LENGTH = 3,
MAX_WORD_LENGTH = 43,
MIN_HASH_VALUE = 6,
@@ -241,67 +241,67 @@ findProp (register const char *str, register unsigned int len)
{"zoom", CSSPropertyZoom},
#line 23 "CSSPropertyNames.gperf"
{"border", CSSPropertyBorder},
-#line 267 "CSSPropertyNames.gperf"
+#line 268 "CSSPropertyNames.gperf"
{"marker", CSSPropertyMarker},
#line 24 "CSSPropertyNames.gperf"
{"border-bottom", CSSPropertyBorderBottom},
-#line 269 "CSSPropertyNames.gperf"
+#line 270 "CSSPropertyNames.gperf"
{"marker-mid", CSSPropertyMarkerMid},
#line 78 "CSSPropertyNames.gperf"
{"margin", CSSPropertyMargin},
-#line 285 "CSSPropertyNames.gperf"
+#line 286 "CSSPropertyNames.gperf"
{"kerning", CSSPropertyKerning},
-#line 268 "CSSPropertyNames.gperf"
+#line 269 "CSSPropertyNames.gperf"
{"marker-end", CSSPropertyMarkerEnd},
#line 79 "CSSPropertyNames.gperf"
{"margin-bottom", CSSPropertyMarginBottom},
-#line 251 "CSSPropertyNames.gperf"
+#line 252 "CSSPropertyNames.gperf"
{"mask", CSSPropertyMask},
-#line 272 "CSSPropertyNames.gperf"
+#line 273 "CSSPropertyNames.gperf"
{"stroke", CSSPropertyStroke},
#line 111 "CSSPropertyNames.gperf"
{"size", CSSPropertySize},
#line 144 "CSSPropertyNames.gperf"
{"word-break", CSSPropertyWordBreak},
-#line 287 "CSSPropertyNames.gperf"
+#line 288 "CSSPropertyNames.gperf"
{"writing-mode", CSSPropertyWritingMode},
-#line 162 "CSSPropertyNames.gperf"
+#line 163 "CSSPropertyNames.gperf"
{"-webkit-binding", CSSPropertyWebkitBinding},
#line 109 "CSSPropertyNames.gperf"
{"resize", CSSPropertyResize},
-#line 266 "CSSPropertyNames.gperf"
+#line 267 "CSSPropertyNames.gperf"
{"image-rendering", CSSPropertyImageRendering},
#line 149 "CSSPropertyNames.gperf"
{"-webkit-animation", CSSPropertyWebkitAnimation},
-#line 165 "CSSPropertyNames.gperf"
+#line 166 "CSSPropertyNames.gperf"
{"-webkit-border-image", CSSPropertyWebkitBorderImage},
-#line 205 "CSSPropertyNames.gperf"
+#line 206 "CSSPropertyNames.gperf"
{"-webkit-mask", CSSPropertyWebkitMask},
#line 136 "CSSPropertyNames.gperf"
{"top", CSSPropertyTop},
#line 142 "CSSPropertyNames.gperf"
{"widows", CSSPropertyWidows},
-#line 270 "CSSPropertyNames.gperf"
+#line 271 "CSSPropertyNames.gperf"
{"marker-start", CSSPropertyMarkerStart},
#line 154 "CSSPropertyNames.gperf"
{"-webkit-animation-name", CSSPropertyWebkitAnimationName},
#line 102 "CSSPropertyNames.gperf"
{"page", CSSPropertyPage},
-#line 210 "CSSPropertyNames.gperf"
+#line 211 "CSSPropertyNames.gperf"
{"-webkit-mask-image", CSSPropertyWebkitMaskImage},
#line 43 "CSSPropertyNames.gperf"
{"border-top", CSSPropertyBorderTop},
#line 97 "CSSPropertyNames.gperf"
{"padding", CSSPropertyPadding},
-#line 240 "CSSPropertyNames.gperf"
+#line 241 "CSSPropertyNames.gperf"
{"-webkit-transition", CSSPropertyWebkitTransition},
-#line 211 "CSSPropertyNames.gperf"
+#line 212 "CSSPropertyNames.gperf"
{"-webkit-mask-origin", CSSPropertyWebkitMaskOrigin},
#line 98 "CSSPropertyNames.gperf"
{"padding-bottom", CSSPropertyPaddingBottom},
#line 82 "CSSPropertyNames.gperf"
{"margin-top", CSSPropertyMarginTop},
-#line 197 "CSSPropertyNames.gperf"
+#line 198 "CSSPropertyNames.gperf"
{"-webkit-margin-start", CSSPropertyWebkitMarginStart},
#line 55 "CSSPropertyNames.gperf"
{"content", CSSPropertyContent},
@@ -309,35 +309,35 @@ findProp (register const char *str, register unsigned int len)
{"position", CSSPropertyPosition},
#line 59 "CSSPropertyNames.gperf"
{"direction", CSSPropertyDirection},
-#line 218 "CSSPropertyNames.gperf"
+#line 219 "CSSPropertyNames.gperf"
{"-webkit-mask-size", CSSPropertyWebkitMaskSize},
#line 112 "CSSPropertyNames.gperf"
{"src", CSSPropertySrc},
#line 146 "CSSPropertyNames.gperf"
{"word-wrap", CSSPropertyWordWrap},
-#line 220 "CSSPropertyNames.gperf"
+#line 221 "CSSPropertyNames.gperf"
{"-webkit-nbsp-mode", CSSPropertyWebkitNbspMode},
#line 105 "CSSPropertyNames.gperf"
{"page-break-inside", CSSPropertyPageBreakInside},
-#line 215 "CSSPropertyNames.gperf"
+#line 216 "CSSPropertyNames.gperf"
{"-webkit-mask-repeat", CSSPropertyWebkitMaskRepeat},
#line 101 "CSSPropertyNames.gperf"
{"padding-top", CSSPropertyPaddingTop},
-#line 221 "CSSPropertyNames.gperf"
+#line 222 "CSSPropertyNames.gperf"
{"-webkit-padding-start", CSSPropertyWebkitPaddingStart},
#line 151 "CSSPropertyNames.gperf"
{"-webkit-animation-direction", CSSPropertyWebkitAnimationDirection},
-#line 212 "CSSPropertyNames.gperf"
+#line 213 "CSSPropertyNames.gperf"
{"-webkit-mask-position", CSSPropertyWebkitMaskPosition},
-#line 193 "CSSPropertyNames.gperf"
+#line 194 "CSSPropertyNames.gperf"
{"-webkit-line-break", CSSPropertyWebkitLineBreak},
-#line 277 "CSSPropertyNames.gperf"
+#line 278 "CSSPropertyNames.gperf"
{"stroke-miterlimit", CSSPropertyStrokeMiterlimit},
-#line 226 "CSSPropertyNames.gperf"
+#line 227 "CSSPropertyNames.gperf"
{"-webkit-rtl-ordering", CSSPropertyWebkitRtlOrdering},
-#line 276 "CSSPropertyNames.gperf"
+#line 277 "CSSPropertyNames.gperf"
{"stroke-linejoin", CSSPropertyStrokeLinejoin},
-#line 282 "CSSPropertyNames.gperf"
+#line 283 "CSSPropertyNames.gperf"
{"dominant-baseline", CSSPropertyDominantBaseline},
#line 51 "CSSPropertyNames.gperf"
{"caption-side", CSSPropertyCaptionSide},
@@ -357,25 +357,25 @@ findProp (register const char *str, register unsigned int len)
{"word-spacing", CSSPropertyWordSpacing},
#line 31 "CSSPropertyNames.gperf"
{"border-color", CSSPropertyBorderColor},
-#line 199 "CSSPropertyNames.gperf"
+#line 200 "CSSPropertyNames.gperf"
{"-webkit-marquee", CSSPropertyWebkitMarquee},
#line 25 "CSSPropertyNames.gperf"
{"border-bottom-color", CSSPropertyBorderBottomColor},
#line 152 "CSSPropertyNames.gperf"
{"-webkit-animation-duration", CSSPropertyWebkitAnimationDuration},
-#line 245 "CSSPropertyNames.gperf"
+#line 246 "CSSPropertyNames.gperf"
{"-webkit-user-drag", CSSPropertyWebkitUserDrag},
-#line 166 "CSSPropertyNames.gperf"
+#line 167 "CSSPropertyNames.gperf"
{"-webkit-border-radius", CSSPropertyWebkitBorderRadius},
-#line 209 "CSSPropertyNames.gperf"
+#line 210 "CSSPropertyNames.gperf"
{"-webkit-mask-composite", CSSPropertyWebkitMaskComposite},
-#line 262 "CSSPropertyNames.gperf"
+#line 263 "CSSPropertyNames.gperf"
{"color-rendering", CSSPropertyColorRendering},
#line 137 "CSSPropertyNames.gperf"
{"unicode-bidi", CSSPropertyUnicodeBidi},
#line 53 "CSSPropertyNames.gperf"
{"clip", CSSPropertyClip},
-#line 242 "CSSPropertyNames.gperf"
+#line 243 "CSSPropertyNames.gperf"
{"-webkit-transition-duration", CSSPropertyWebkitTransitionDuration},
#line 157 "CSSPropertyNames.gperf"
{"-webkit-appearance", CSSPropertyWebkitAppearance},
@@ -395,33 +395,35 @@ findProp (register const char *str, register unsigned int len)
{"background-origin", CSSPropertyBackgroundOrigin},
#line 57 "CSSPropertyNames.gperf"
{"counter-reset", CSSPropertyCounterReset},
-#line 257 "CSSPropertyNames.gperf"
+#line 258 "CSSPropertyNames.gperf"
{"stop-color", CSSPropertyStopColor},
-#line 280 "CSSPropertyNames.gperf"
+#line 281 "CSSPropertyNames.gperf"
{"alignment-baseline", CSSPropertyAlignmentBaseline},
#line 22 "CSSPropertyNames.gperf"
{"background-size", CSSPropertyBackgroundSize},
-#line 202 "CSSPropertyNames.gperf"
+#line 203 "CSSPropertyNames.gperf"
{"-webkit-marquee-repetition", CSSPropertyWebkitMarqueeRepetition},
-#line 275 "CSSPropertyNames.gperf"
+#line 276 "CSSPropertyNames.gperf"
{"stroke-linecap", CSSPropertyStrokeLinecap},
#line 161 "CSSPropertyNames.gperf"
{"-webkit-background-origin", CSSPropertyWebkitBackgroundOrigin},
#line 72 "CSSPropertyNames.gperf"
{"letter-spacing", CSSPropertyLetterSpacing},
-#line 203 "CSSPropertyNames.gperf"
+#line 204 "CSSPropertyNames.gperf"
{"-webkit-marquee-speed", CSSPropertyWebkitMarqueeSpeed},
-#line 208 "CSSPropertyNames.gperf"
+#line 209 "CSSPropertyNames.gperf"
{"-webkit-mask-clip", CSSPropertyWebkitMaskClip},
#line 153 "CSSPropertyNames.gperf"
{"-webkit-animation-iteration-count", CSSPropertyWebkitAnimationIterationCount},
-#line 200 "CSSPropertyNames.gperf"
- {"-webkit-marquee-direction", CSSPropertyWebkitMarqueeDirection},
#line 201 "CSSPropertyNames.gperf"
+ {"-webkit-marquee-direction", CSSPropertyWebkitMarqueeDirection},
+#line 162 "CSSPropertyNames.gperf"
+ {"-webkit-background-size", CSSPropertyWebkitBackgroundSize},
+#line 202 "CSSPropertyNames.gperf"
{"-webkit-marquee-increment", CSSPropertyWebkitMarqueeIncrement},
#line 19 "CSSPropertyNames.gperf"
{"background-repeat", CSSPropertyBackgroundRepeat},
-#line 222 "CSSPropertyNames.gperf"
+#line 223 "CSSPropertyNames.gperf"
{"-webkit-perspective", CSSPropertyWebkitPerspective},
#line 110 "CSSPropertyNames.gperf"
{"right", CSSPropertyRight},
@@ -433,7 +435,7 @@ findProp (register const char *str, register unsigned int len)
{"background-position", CSSPropertyBackgroundPosition},
#line 86 "CSSPropertyNames.gperf"
{"min-width", CSSPropertyMinWidth},
-#line 223 "CSSPropertyNames.gperf"
+#line 224 "CSSPropertyNames.gperf"
{"-webkit-perspective-origin", CSSPropertyWebkitPerspectiveOrigin},
#line 37 "CSSPropertyNames.gperf"
{"border-right", CSSPropertyBorderRight},
@@ -445,18 +447,20 @@ findProp (register const char *str, register unsigned int len)
{"margin-right", CSSPropertyMarginRight},
#line 29 "CSSPropertyNames.gperf"
{"border-bottom-width", CSSPropertyBorderBottomWidth},
-#line 252 "CSSPropertyNames.gperf"
+#line 253 "CSSPropertyNames.gperf"
{"enable-background", CSSPropertyEnableBackground},
-#line 279 "CSSPropertyNames.gperf"
+#line 280 "CSSPropertyNames.gperf"
{"stroke-width", CSSPropertyStrokeWidth},
-#line 189 "CSSPropertyNames.gperf"
+#line 190 "CSSPropertyNames.gperf"
{"-webkit-columns", CSSPropertyWebkitColumns},
-#line 194 "CSSPropertyNames.gperf"
+#line 195 "CSSPropertyNames.gperf"
{"-webkit-line-clamp", CSSPropertyWebkitLineClamp},
-#line 259 "CSSPropertyNames.gperf"
+#line 260 "CSSPropertyNames.gperf"
{"color-interpolation", CSSPropertyColorInterpolation},
-#line 163 "CSSPropertyNames.gperf"
+#line 164 "CSSPropertyNames.gperf"
{"-webkit-border-fit", CSSPropertyWebkitBorderFit},
+#line 289 "CSSPropertyNames.gperf"
+ {"-webkit-shadow", CSSPropertyWebkitShadow},
#line 65 "CSSPropertyNames.gperf"
{"font-size", CSSPropertyFontSize},
#line 30 "CSSPropertyNames.gperf"
@@ -467,11 +471,11 @@ findProp (register const char *str, register unsigned int len)
{"z-index", CSSPropertyZIndex},
#line 139 "CSSPropertyNames.gperf"
{"vertical-align", CSSPropertyVerticalAlign},
-#line 181 "CSSPropertyNames.gperf"
+#line 182 "CSSPropertyNames.gperf"
{"-webkit-column-break-inside", CSSPropertyWebkitColumnBreakInside},
#line 100 "CSSPropertyNames.gperf"
{"padding-right", CSSPropertyPaddingRight},
-#line 247 "CSSPropertyNames.gperf"
+#line 248 "CSSPropertyNames.gperf"
{"-webkit-user-select", CSSPropertyWebkitUserSelect},
#line 48 "CSSPropertyNames.gperf"
{"border-top-width", CSSPropertyBorderTopWidth},
@@ -479,49 +483,49 @@ findProp (register const char *str, register unsigned int len)
{"text-rendering", CSSPropertyTextRendering},
#line 88 "CSSPropertyNames.gperf"
{"orphans", CSSPropertyOrphans},
-#line 174 "CSSPropertyNames.gperf"
+#line 175 "CSSPropertyNames.gperf"
{"-webkit-box-orient", CSSPropertyWebkitBoxOrient},
-#line 234 "CSSPropertyNames.gperf"
+#line 235 "CSSPropertyNames.gperf"
{"-webkit-transform", CSSPropertyWebkitTransform},
-#line 183 "CSSPropertyNames.gperf"
+#line 184 "CSSPropertyNames.gperf"
{"-webkit-column-gap", CSSPropertyWebkitColumnGap},
-#line 196 "CSSPropertyNames.gperf"
+#line 197 "CSSPropertyNames.gperf"
{"-webkit-margin-collapse", CSSPropertyWebkitMarginCollapse},
#line 160 "CSSPropertyNames.gperf"
{"-webkit-background-composite", CSSPropertyWebkitBackgroundComposite},
-#line 195 "CSSPropertyNames.gperf"
+#line 196 "CSSPropertyNames.gperf"
{"-webkit-margin-bottom-collapse", CSSPropertyWebkitMarginBottomCollapse},
#line 13 "CSSPropertyNames.gperf"
{"background-color", CSSPropertyBackgroundColor},
-#line 231 "CSSPropertyNames.gperf"
+#line 232 "CSSPropertyNames.gperf"
{"-webkit-text-stroke", CSSPropertyWebkitTextStroke},
-#line 271 "CSSPropertyNames.gperf"
+#line 272 "CSSPropertyNames.gperf"
{"shape-rendering", CSSPropertyShapeRendering},
#line 104 "CSSPropertyNames.gperf"
{"page-break-before", CSSPropertyPageBreakBefore},
-#line 235 "CSSPropertyNames.gperf"
+#line 236 "CSSPropertyNames.gperf"
{"-webkit-transform-origin", CSSPropertyWebkitTransformOrigin},
#line 103 "CSSPropertyNames.gperf"
{"page-break-after", CSSPropertyPageBreakAfter},
#line 90 "CSSPropertyNames.gperf"
{"outline-color", CSSPropertyOutlineColor},
-#line 207 "CSSPropertyNames.gperf"
+#line 208 "CSSPropertyNames.gperf"
{"-webkit-mask-box-image", CSSPropertyWebkitMaskBoxImage},
-#line 178 "CSSPropertyNames.gperf"
+#line 179 "CSSPropertyNames.gperf"
{"-webkit-box-sizing", CSSPropertyWebkitBoxSizing},
#line 71 "CSSPropertyNames.gperf"
{"left", CSSPropertyLeft},
-#line 238 "CSSPropertyNames.gperf"
+#line 239 "CSSPropertyNames.gperf"
{"-webkit-transform-origin-z", CSSPropertyWebkitTransformOriginZ},
#line 68 "CSSPropertyNames.gperf"
{"font-variant", CSSPropertyFontVariant},
#line 62 "CSSPropertyNames.gperf"
{"float", CSSPropertyFloat},
-#line 253 "CSSPropertyNames.gperf"
+#line 254 "CSSPropertyNames.gperf"
{"filter", CSSPropertyFilter},
#line 32 "CSSPropertyNames.gperf"
{"border-left", CSSPropertyBorderLeft},
-#line 206 "CSSPropertyNames.gperf"
+#line 207 "CSSPropertyNames.gperf"
{"-webkit-mask-attachment", CSSPropertyWebkitMaskAttachment},
#line 115 "CSSPropertyNames.gperf"
{"text-decoration", CSSPropertyTextDecoration},
@@ -529,31 +533,31 @@ findProp (register const char *str, register unsigned int len)
{"margin-left", CSSPropertyMarginLeft},
#line 12 "CSSPropertyNames.gperf"
{"background-clip", CSSPropertyBackgroundClip},
-#line 198 "CSSPropertyNames.gperf"
+#line 199 "CSSPropertyNames.gperf"
{"-webkit-margin-top-collapse", CSSPropertyWebkitMarginTopCollapse},
-#line 167 "CSSPropertyNames.gperf"
+#line 168 "CSSPropertyNames.gperf"
{"-webkit-border-vertical-spacing", CSSPropertyWebkitBorderVerticalSpacing},
-#line 250 "CSSPropertyNames.gperf"
+#line 251 "CSSPropertyNames.gperf"
{"clip-rule", CSSPropertyClipRule},
-#line 169 "CSSPropertyNames.gperf"
+#line 170 "CSSPropertyNames.gperf"
{"-webkit-box-direction", CSSPropertyWebkitBoxDirection},
#line 141 "CSSPropertyNames.gperf"
{"white-space", CSSPropertyWhiteSpace},
#line 114 "CSSPropertyNames.gperf"
{"text-align", CSSPropertyTextAlign},
-#line 216 "CSSPropertyNames.gperf"
+#line 217 "CSSPropertyNames.gperf"
{"-webkit-mask-repeat-x", CSSPropertyWebkitMaskRepeatX},
#line 159 "CSSPropertyNames.gperf"
{"-webkit-background-clip", CSSPropertyWebkitBackgroundClip},
-#line 217 "CSSPropertyNames.gperf"
+#line 218 "CSSPropertyNames.gperf"
{"-webkit-mask-repeat-y", CSSPropertyWebkitMaskRepeatY},
-#line 168 "CSSPropertyNames.gperf"
+#line 169 "CSSPropertyNames.gperf"
{"-webkit-box-align", CSSPropertyWebkitBoxAlign},
-#line 213 "CSSPropertyNames.gperf"
+#line 214 "CSSPropertyNames.gperf"
{"-webkit-mask-position-x", CSSPropertyWebkitMaskPositionX},
#line 99 "CSSPropertyNames.gperf"
{"padding-left", CSSPropertyPaddingLeft},
-#line 190 "CSSPropertyNames.gperf"
+#line 191 "CSSPropertyNames.gperf"
{"-webkit-font-size-delta", CSSPropertyWebkitFontSizeDelta},
#line 27 "CSSPropertyNames.gperf"
{"border-bottom-right-radius", CSSPropertyBorderBottomRightRadius},
@@ -561,61 +565,61 @@ findProp (register const char *str, register unsigned int len)
{"opacity", CSSPropertyOpacity},
#line 38 "CSSPropertyNames.gperf"
{"border-right-color", CSSPropertyBorderRightColor},
-#line 175 "CSSPropertyNames.gperf"
+#line 176 "CSSPropertyNames.gperf"
{"-webkit-box-pack", CSSPropertyWebkitBoxPack},
-#line 172 "CSSPropertyNames.gperf"
+#line 173 "CSSPropertyNames.gperf"
{"-webkit-box-lines", CSSPropertyWebkitBoxLines},
#line 42 "CSSPropertyNames.gperf"
{"border-style", CSSPropertyBorderStyle},
-#line 214 "CSSPropertyNames.gperf"
+#line 215 "CSSPropertyNames.gperf"
{"-webkit-mask-position-y", CSSPropertyWebkitMaskPositionY},
#line 94 "CSSPropertyNames.gperf"
{"overflow", CSSPropertyOverflow},
#line 28 "CSSPropertyNames.gperf"
{"border-bottom-style", CSSPropertyBorderBottomStyle},
-#line 263 "CSSPropertyNames.gperf"
+#line 264 "CSSPropertyNames.gperf"
{"fill", CSSPropertyFill},
#line 150 "CSSPropertyNames.gperf"
{"-webkit-animation-delay", CSSPropertyWebkitAnimationDelay},
-#line 278 "CSSPropertyNames.gperf"
+#line 279 "CSSPropertyNames.gperf"
{"stroke-opacity", CSSPropertyStrokeOpacity},
#line 123 "CSSPropertyNames.gperf"
{"text-overline", CSSPropertyTextOverline},
-#line 182 "CSSPropertyNames.gperf"
+#line 183 "CSSPropertyNames.gperf"
{"-webkit-column-count", CSSPropertyWebkitColumnCount},
#line 125 "CSSPropertyNames.gperf"
{"text-overline-mode", CSSPropertyTextOverlineMode},
#line 46 "CSSPropertyNames.gperf"
{"border-top-right-radius", CSSPropertyBorderTopRightRadius},
-#line 241 "CSSPropertyNames.gperf"
+#line 242 "CSSPropertyNames.gperf"
{"-webkit-transition-delay", CSSPropertyWebkitTransitionDelay},
#line 60 "CSSPropertyNames.gperf"
{"display", CSSPropertyDisplay},
#line 93 "CSSPropertyNames.gperf"
{"outline-width", CSSPropertyOutlineWidth},
-#line 243 "CSSPropertyNames.gperf"
+#line 244 "CSSPropertyNames.gperf"
{"-webkit-transition-property", CSSPropertyWebkitTransitionProperty},
#line 47 "CSSPropertyNames.gperf"
{"border-top-style", CSSPropertyBorderTopStyle},
-#line 184 "CSSPropertyNames.gperf"
+#line 185 "CSSPropertyNames.gperf"
{"-webkit-column-rule", CSSPropertyWebkitColumnRule},
#line 140 "CSSPropertyNames.gperf"
{"visibility", CSSPropertyVisibility},
-#line 249 "CSSPropertyNames.gperf"
+#line 250 "CSSPropertyNames.gperf"
{"clip-path", CSSPropertyClipPath},
-#line 258 "CSSPropertyNames.gperf"
+#line 259 "CSSPropertyNames.gperf"
{"stop-opacity", CSSPropertyStopOpacity},
-#line 248 "CSSPropertyNames.gperf"
+#line 249 "CSSPropertyNames.gperf"
{"-webkit-variable-declaration-block", CSSPropertyWebkitVariableDeclarationBlock},
-#line 230 "CSSPropertyNames.gperf"
+#line 231 "CSSPropertyNames.gperf"
{"-webkit-text-size-adjust", CSSPropertyWebkitTextSizeAdjust},
-#line 232 "CSSPropertyNames.gperf"
+#line 233 "CSSPropertyNames.gperf"
{"-webkit-text-stroke-color", CSSPropertyWebkitTextStrokeColor},
-#line 256 "CSSPropertyNames.gperf"
+#line 257 "CSSPropertyNames.gperf"
{"lighting-color", CSSPropertyLightingColor},
#line 70 "CSSPropertyNames.gperf"
{"height", CSSPropertyHeight},
-#line 254 "CSSPropertyNames.gperf"
+#line 255 "CSSPropertyNames.gperf"
{"flood-color", CSSPropertyFloodColor},
#line 156 "CSSPropertyNames.gperf"
{"-webkit-animation-timing-function", CSSPropertyWebkitAnimationTimingFunction},
@@ -635,21 +639,21 @@ findProp (register const char *str, register unsigned int len)
{"border-left-color", CSSPropertyBorderLeftColor},
#line 74 "CSSPropertyNames.gperf"
{"list-style", CSSPropertyListStyle},
-#line 164 "CSSPropertyNames.gperf"
+#line 165 "CSSPropertyNames.gperf"
{"-webkit-border-horizontal-spacing", CSSPropertyWebkitBorderHorizontalSpacing},
-#line 244 "CSSPropertyNames.gperf"
+#line 245 "CSSPropertyNames.gperf"
{"-webkit-transition-timing-function", CSSPropertyWebkitTransitionTimingFunction},
#line 75 "CSSPropertyNames.gperf"
{"list-style-image", CSSPropertyListStyleImage},
#line 40 "CSSPropertyNames.gperf"
{"border-right-width", CSSPropertyBorderRightWidth},
-#line 188 "CSSPropertyNames.gperf"
+#line 189 "CSSPropertyNames.gperf"
{"-webkit-column-width", CSSPropertyWebkitColumnWidth},
#line 20 "CSSPropertyNames.gperf"
{"background-repeat-x", CSSPropertyBackgroundRepeatX},
#line 69 "CSSPropertyNames.gperf"
{"font-weight", CSSPropertyFontWeight},
-#line 261 "CSSPropertyNames.gperf"
+#line 262 "CSSPropertyNames.gperf"
{"color-profile", CSSPropertyColorProfile},
#line 45 "CSSPropertyNames.gperf"
{"border-top-left-radius", CSSPropertyBorderTopLeftRadius},
@@ -659,21 +663,21 @@ findProp (register const char *str, register unsigned int len)
{"background-position-x", CSSPropertyBackgroundPositionX},
#line 84 "CSSPropertyNames.gperf"
{"max-width", CSSPropertyMaxWidth},
-#line 224 "CSSPropertyNames.gperf"
+#line 225 "CSSPropertyNames.gperf"
{"-webkit-perspective-origin-x", CSSPropertyWebkitPerspectiveOriginX},
-#line 180 "CSSPropertyNames.gperf"
+#line 181 "CSSPropertyNames.gperf"
{"-webkit-column-break-before", CSSPropertyWebkitColumnBreakBefore},
-#line 179 "CSSPropertyNames.gperf"
+#line 180 "CSSPropertyNames.gperf"
{"-webkit-column-break-after", CSSPropertyWebkitColumnBreakAfter},
#line 18 "CSSPropertyNames.gperf"
{"background-position-y", CSSPropertyBackgroundPositionY},
-#line 191 "CSSPropertyNames.gperf"
+#line 192 "CSSPropertyNames.gperf"
{"-webkit-font-smoothing", CSSPropertyWebkitFontSmoothing},
-#line 173 "CSSPropertyNames.gperf"
+#line 174 "CSSPropertyNames.gperf"
{"-webkit-box-ordinal-group", CSSPropertyWebkitBoxOrdinalGroup},
-#line 204 "CSSPropertyNames.gperf"
+#line 205 "CSSPropertyNames.gperf"
{"-webkit-marquee-style", CSSPropertyWebkitMarqueeStyle},
-#line 225 "CSSPropertyNames.gperf"
+#line 226 "CSSPropertyNames.gperf"
{"-webkit-perspective-origin-y", CSSPropertyWebkitPerspectiveOriginY},
#line 129 "CSSPropertyNames.gperf"
{"text-shadow", CSSPropertyTextShadow},
@@ -683,13 +687,13 @@ findProp (register const char *str, register unsigned int len)
{"list-style-position", CSSPropertyListStylePosition},
#line 113 "CSSPropertyNames.gperf"
{"table-layout", CSSPropertyTableLayout},
-#line 177 "CSSPropertyNames.gperf"
+#line 178 "CSSPropertyNames.gperf"
{"-webkit-box-shadow", CSSPropertyWebkitBoxShadow},
#line 124 "CSSPropertyNames.gperf"
{"text-overline-color", CSSPropertyTextOverlineColor},
#line 61 "CSSPropertyNames.gperf"
{"empty-cells", CSSPropertyEmptyCells},
-#line 233 "CSSPropertyNames.gperf"
+#line 234 "CSSPropertyNames.gperf"
{"-webkit-text-stroke-width", CSSPropertyWebkitTextStrokeWidth},
#line 130 "CSSPropertyNames.gperf"
{"text-transform", CSSPropertyTextTransform},
@@ -697,25 +701,25 @@ findProp (register const char *str, register unsigned int len)
{"font-stretch", CSSPropertyFontStretch},
#line 92 "CSSPropertyNames.gperf"
{"outline-style", CSSPropertyOutlineStyle},
-#line 286 "CSSPropertyNames.gperf"
+#line 287 "CSSPropertyNames.gperf"
{"text-anchor", CSSPropertyTextAnchor},
-#line 185 "CSSPropertyNames.gperf"
+#line 186 "CSSPropertyNames.gperf"
{"-webkit-column-rule-color", CSSPropertyWebkitColumnRuleColor},
-#line 273 "CSSPropertyNames.gperf"
+#line 274 "CSSPropertyNames.gperf"
{"stroke-dasharray", CSSPropertyStrokeDasharray},
#line 35 "CSSPropertyNames.gperf"
{"border-left-width", CSSPropertyBorderLeftWidth},
-#line 265 "CSSPropertyNames.gperf"
+#line 266 "CSSPropertyNames.gperf"
{"fill-rule", CSSPropertyFillRule},
-#line 236 "CSSPropertyNames.gperf"
+#line 237 "CSSPropertyNames.gperf"
{"-webkit-transform-origin-x", CSSPropertyWebkitTransformOriginX},
-#line 281 "CSSPropertyNames.gperf"
+#line 282 "CSSPropertyNames.gperf"
{"baseline-shift", CSSPropertyBaselineShift},
#line 132 "CSSPropertyNames.gperf"
{"text-underline-color", CSSPropertyTextUnderlineColor},
-#line 237 "CSSPropertyNames.gperf"
+#line 238 "CSSPropertyNames.gperf"
{"-webkit-transform-origin-y", CSSPropertyWebkitTransformOriginY},
-#line 260 "CSSPropertyNames.gperf"
+#line 261 "CSSPropertyNames.gperf"
{"color-interpolation-filters", CSSPropertyColorInterpolationFilters},
#line 39 "CSSPropertyNames.gperf"
{"border-right-style", CSSPropertyBorderRightStyle},
@@ -727,63 +731,63 @@ findProp (register const char *str, register unsigned int len)
{"overflow-x", CSSPropertyOverflowX},
#line 122 "CSSPropertyNames.gperf"
{"text-overflow", CSSPropertyTextOverflow},
-#line 176 "CSSPropertyNames.gperf"
+#line 177 "CSSPropertyNames.gperf"
{"-webkit-box-reflect", CSSPropertyWebkitBoxReflect},
-#line 246 "CSSPropertyNames.gperf"
+#line 247 "CSSPropertyNames.gperf"
{"-webkit-user-modify", CSSPropertyWebkitUserModify},
-#line 187 "CSSPropertyNames.gperf"
+#line 188 "CSSPropertyNames.gperf"
{"-webkit-column-rule-width", CSSPropertyWebkitColumnRuleWidth},
#line 96 "CSSPropertyNames.gperf"
{"overflow-y", CSSPropertyOverflowY},
-#line 239 "CSSPropertyNames.gperf"
+#line 240 "CSSPropertyNames.gperf"
{"-webkit-transform-style", CSSPropertyWebkitTransformStyle},
#line 91 "CSSPropertyNames.gperf"
{"outline-offset", CSSPropertyOutlineOffset},
#line 135 "CSSPropertyNames.gperf"
{"text-underline-width", CSSPropertyTextUnderlineWidth},
-#line 255 "CSSPropertyNames.gperf"
+#line 256 "CSSPropertyNames.gperf"
{"flood-opacity", CSSPropertyFloodOpacity},
#line 34 "CSSPropertyNames.gperf"
{"border-left-style", CSSPropertyBorderLeftStyle},
#line 83 "CSSPropertyNames.gperf"
{"max-height", CSSPropertyMaxHeight},
-#line 229 "CSSPropertyNames.gperf"
+#line 230 "CSSPropertyNames.gperf"
{"-webkit-text-security", CSSPropertyWebkitTextSecurity},
-#line 192 "CSSPropertyNames.gperf"
+#line 193 "CSSPropertyNames.gperf"
{"-webkit-highlight", CSSPropertyWebkitHighlight},
-#line 264 "CSSPropertyNames.gperf"
+#line 265 "CSSPropertyNames.gperf"
{"fill-opacity", CSSPropertyFillOpacity},
-#line 274 "CSSPropertyNames.gperf"
+#line 275 "CSSPropertyNames.gperf"
{"stroke-dashoffset", CSSPropertyStrokeDashoffset},
#line 126 "CSSPropertyNames.gperf"
{"text-overline-style", CSSPropertyTextOverlineStyle},
#line 77 "CSSPropertyNames.gperf"
{"list-style-type", CSSPropertyListStyleType},
-#line 219 "CSSPropertyNames.gperf"
+#line 220 "CSSPropertyNames.gperf"
{"-webkit-match-nearest-mail-blockquote-color", CSSPropertyWebkitMatchNearestMailBlockquoteColor},
-#line 186 "CSSPropertyNames.gperf"
+#line 187 "CSSPropertyNames.gperf"
{"-webkit-column-rule-style", CSSPropertyWebkitColumnRuleStyle},
#line 158 "CSSPropertyNames.gperf"
{"-webkit-backface-visibility", CSSPropertyWebkitBackfaceVisibility},
-#line 228 "CSSPropertyNames.gperf"
+#line 229 "CSSPropertyNames.gperf"
{"-webkit-text-fill-color", CSSPropertyWebkitTextFillColor},
#line 134 "CSSPropertyNames.gperf"
{"text-underline-style", CSSPropertyTextUnderlineStyle},
-#line 284 "CSSPropertyNames.gperf"
+#line 285 "CSSPropertyNames.gperf"
{"glyph-orientation-vertical", CSSPropertyGlyphOrientationVertical},
#line 64 "CSSPropertyNames.gperf"
{"font-family", CSSPropertyFontFamily},
-#line 170 "CSSPropertyNames.gperf"
+#line 171 "CSSPropertyNames.gperf"
{"-webkit-box-flex", CSSPropertyWebkitBoxFlex},
#line 117 "CSSPropertyNames.gperf"
{"text-line-through", CSSPropertyTextLineThrough},
#line 119 "CSSPropertyNames.gperf"
{"text-line-through-mode", CSSPropertyTextLineThroughMode},
-#line 227 "CSSPropertyNames.gperf"
+#line 228 "CSSPropertyNames.gperf"
{"-webkit-text-decorations-in-effect", CSSPropertyWebkitTextDecorationsInEffect},
-#line 283 "CSSPropertyNames.gperf"
+#line 284 "CSSPropertyNames.gperf"
{"glyph-orientation-horizontal", CSSPropertyGlyphOrientationHorizontal},
-#line 171 "CSSPropertyNames.gperf"
+#line 172 "CSSPropertyNames.gperf"
{"-webkit-box-flex-group", CSSPropertyWebkitBoxFlexGroup},
#line 118 "CSSPropertyNames.gperf"
{"text-line-through-color", CSSPropertyTextLineThroughColor},
@@ -825,113 +829,113 @@ findProp (register const char *str, register unsigned int len)
-1, -1, -1, -1, -1, 80, -1, -1, -1, -1,
-1, -1, -1, 81, -1, 82, 83, -1, -1, 84,
85, -1, -1, -1, 86, -1, 87, 88, -1, -1,
- -1, -1, -1, 89, -1, 90, -1, -1, -1, -1,
- 91, -1, -1, -1, -1, -1, -1, 92, -1, -1,
- -1, -1, -1, -1, 93, -1, -1, -1, -1, -1,
- 94, -1, 95, -1, -1, 96, -1, -1, -1, 97,
- -1, -1, -1, -1, 98, -1, 99, 100, -1, -1,
- -1, -1, 101, -1, 102, -1, -1, 103, -1, 104,
- -1, -1, -1, -1, -1, -1, -1, 105, -1, -1,
- -1, -1, 106, -1, -1, -1, -1, -1, -1, -1,
- 107, -1, -1, 108, 109, -1, -1, -1, 110, -1,
- -1, -1, -1, -1, 111, 112, 113, 114, -1, 115,
- -1, -1, -1, -1, -1, -1, -1, 116, 117, 118,
- -1, 119, -1, -1, 120, -1, -1, 121, 122, -1,
- -1, -1, 123, 124, -1, -1, -1, -1, 125, -1,
- -1, -1, -1, 126, -1, 127, 128, -1, -1, 129,
- 130, -1, 131, -1, 132, -1, 133, -1, 134, -1,
- -1, -1, 135, 136, 137, -1, 138, 139, -1, -1,
- 140, 141, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 142, -1, 143, -1, -1, -1, -1, -1, -1,
- 144, 145, -1, -1, -1, 146, -1, 147, -1, -1,
- -1, 148, -1, -1, 149, -1, 150, -1, -1, -1,
- -1, 151, -1, -1, -1, 152, 153, -1, 154, -1,
+ -1, -1, -1, 89, -1, 90, -1, -1, 91, -1,
+ 92, -1, -1, -1, -1, -1, -1, 93, -1, -1,
+ -1, -1, -1, -1, 94, -1, -1, -1, -1, -1,
+ 95, -1, 96, -1, -1, 97, -1, -1, -1, 98,
+ -1, -1, -1, -1, 99, -1, 100, 101, -1, -1,
+ -1, -1, 102, -1, 103, -1, -1, 104, -1, 105,
+ -1, -1, -1, -1, -1, -1, -1, 106, -1, -1,
+ -1, -1, 107, -1, -1, -1, -1, -1, -1, -1,
+ 108, -1, -1, 109, 110, -1, -1, -1, 111, 112,
+ -1, -1, -1, -1, 113, 114, 115, 116, -1, 117,
+ -1, -1, -1, -1, -1, -1, -1, 118, 119, 120,
+ -1, 121, -1, -1, 122, -1, -1, 123, 124, -1,
+ -1, -1, 125, 126, -1, -1, -1, -1, 127, -1,
+ -1, -1, -1, 128, -1, 129, 130, -1, -1, 131,
+ 132, -1, 133, -1, 134, -1, 135, -1, 136, -1,
+ -1, -1, 137, 138, 139, -1, 140, 141, -1, -1,
+ 142, 143, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 144, -1, 145, -1, -1, -1, -1, -1, -1,
+ 146, 147, -1, -1, -1, 148, -1, 149, -1, -1,
+ -1, 150, -1, -1, 151, -1, 152, -1, -1, -1,
+ -1, 153, -1, -1, -1, 154, 155, -1, 156, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 155, 156, 157, -1,
- -1, -1, 158, 159, -1, -1, 160, 161, 162, -1,
- -1, 163, 164, -1, -1, -1, -1, 165, 166, -1,
- -1, -1, -1, 167, 168, -1, -1, -1, -1, 169,
- -1, -1, -1, 170, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 171, -1, -1, -1, 172, -1,
- 173, -1, -1, 174, -1, -1, -1, -1, 175, 176,
- -1, -1, 177, 178, -1, -1, -1, -1, -1, -1,
- -1, -1, 179, -1, -1, -1, 180, -1, -1, 181,
- 182, -1, -1, -1, -1, -1, -1, -1, -1, 183,
- -1, -1, 184, -1, 185, -1, -1, -1, -1, 186,
- 187, -1, -1, -1, 188, -1, -1, -1, -1, -1,
- -1, 189, -1, -1, -1, -1, 190, -1, 191, 192,
- 193, -1, -1, 194, 195, -1, -1, -1, -1, -1,
- 196, 197, 198, -1, -1, 199, -1, -1, -1, -1,
- -1, -1, -1, 200, 201, -1, -1, -1, -1, -1,
- -1, 202, -1, 203, -1, -1, -1, -1, -1, -1,
- 204, -1, -1, -1, 205, -1, 206, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 207, -1,
- -1, -1, 208, -1, 209, -1, 210, -1, -1, 211,
- -1, -1, -1, 212, -1, -1, -1, 213, -1, -1,
- -1, 214, -1, -1, -1, -1, 215, 216, -1, -1,
- 217, 218, -1, 219, -1, -1, 220, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 221, -1, -1, 222,
- -1, -1, -1, -1, -1, -1, -1, 223, 224, 225,
- -1, 226, -1, -1, -1, 227, -1, -1, -1, 228,
- -1, -1, 229, -1, -1, -1, -1, -1, 230, -1,
- -1, 231, -1, -1, -1, -1, -1, -1, -1, -1,
- 232, -1, -1, -1, -1, -1, 233, 234, -1, -1,
- -1, -1, -1, -1, 235, -1, -1, -1, -1, -1,
- -1, 236, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 237,
- 238, 239, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 157, 158, 159, -1,
+ -1, -1, 160, 161, -1, -1, 162, 163, 164, -1,
+ -1, 165, 166, -1, -1, -1, -1, 167, 168, -1,
+ -1, -1, -1, 169, 170, -1, -1, -1, -1, 171,
+ -1, -1, -1, 172, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 173, -1, -1, -1, 174, -1,
+ 175, -1, -1, 176, -1, -1, -1, -1, 177, 178,
+ -1, -1, 179, 180, -1, -1, -1, -1, -1, -1,
+ -1, -1, 181, -1, -1, -1, 182, -1, -1, 183,
+ 184, -1, -1, -1, -1, -1, -1, -1, -1, 185,
+ -1, -1, 186, -1, 187, -1, -1, -1, -1, 188,
+ 189, -1, -1, -1, 190, -1, -1, -1, -1, -1,
+ -1, 191, -1, -1, -1, -1, 192, -1, 193, 194,
+ 195, -1, -1, 196, 197, -1, -1, -1, -1, -1,
+ 198, 199, 200, -1, -1, 201, -1, -1, -1, -1,
+ -1, -1, -1, 202, 203, -1, -1, -1, -1, -1,
+ -1, 204, -1, 205, -1, -1, -1, -1, -1, -1,
+ 206, -1, -1, -1, 207, -1, 208, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 209, -1,
+ -1, -1, 210, -1, 211, -1, 212, -1, -1, 213,
+ -1, -1, -1, 214, -1, -1, -1, 215, -1, -1,
+ -1, 216, -1, -1, -1, -1, 217, 218, -1, -1,
+ 219, 220, -1, 221, -1, -1, 222, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 223, -1, -1, 224,
+ -1, -1, -1, -1, -1, -1, -1, 225, 226, 227,
+ -1, 228, -1, -1, -1, 229, -1, -1, -1, 230,
+ -1, -1, 231, -1, -1, -1, -1, -1, 232, -1,
+ -1, 233, -1, -1, -1, -1, -1, -1, -1, -1,
+ 234, -1, -1, -1, -1, -1, 235, 236, -1, -1,
+ -1, -1, -1, -1, 237, -1, -1, -1, -1, -1,
+ -1, 238, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 239,
+ 240, 241, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 240, -1, -1, -1, -1, -1, 241, -1,
- -1, -1, -1, -1, -1, 242, -1, -1, -1, -1,
+ -1, -1, 242, -1, -1, -1, -1, -1, 243, -1,
+ -1, -1, -1, -1, -1, 244, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 243, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 245, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 244, -1, -1, 245, -1, -1, -1, -1, -1, 246,
- -1, -1, -1, -1, 247, 248, -1, -1, -1, -1,
- 249, -1, -1, 250, -1, -1, -1, -1, -1, -1,
+ 246, -1, -1, 247, -1, -1, -1, -1, -1, 248,
+ -1, -1, -1, -1, 249, 250, -1, -1, -1, -1,
+ 251, -1, -1, 252, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 251,
- -1, -1, -1, -1, -1, 252, -1, -1, -1, -1,
- -1, -1, -1, 253, -1, -1, -1, -1, -1, -1,
- -1, -1, 254, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 253,
+ -1, -1, -1, -1, -1, 254, -1, -1, -1, -1,
+ -1, -1, -1, 255, -1, -1, -1, -1, -1, -1,
+ -1, -1, 256, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 255, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 257, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 256, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 258, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 257, -1, -1, -1, -1, 258, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 259, -1, 260,
+ -1, -1, 259, -1, -1, -1, -1, 260, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 261, -1, 262,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 261, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 262, -1,
- 263, -1, -1, -1, -1, -1, -1, 264, -1, -1,
- -1, -1, -1, 265, -1, -1, -1, -1, -1, -1,
+ 263, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 264, -1,
+ 265, -1, -1, -1, -1, -1, -1, 266, -1, -1,
+ -1, -1, -1, 267, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 266, -1, -1, -1, -1, -1, 267, -1, -1, -1,
+ 268, -1, -1, -1, -1, -1, 269, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 268, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 270, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 269, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 271, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 270, -1, -1, -1, -1, 271, -1, -1,
+ -1, -1, 272, -1, -1, -1, -1, 273, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 272,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 274,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 273, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 275, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
@@ -939,10 +943,10 @@ findProp (register const char *str, register unsigned int len)
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 274, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 276, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 275, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 277, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
@@ -956,7 +960,7 @@ findProp (register const char *str, register unsigned int len)
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 276, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 278, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
@@ -976,7 +980,7 @@ findProp (register const char *str, register unsigned int len)
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 277
+ -1, -1, -1, 279
};
if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
@@ -998,9 +1002,9 @@ findProp (register const char *str, register unsigned int len)
}
return 0;
}
-#line 288 "CSSPropertyNames.gperf"
+#line 290 "CSSPropertyNames.gperf"
-static const char * const propertyNameStrings[278] = {
+static const char * const propertyNameStrings[280] = {
"background",
"background-attachment",
"background-clip",
@@ -1153,6 +1157,7 @@ static const char * const propertyNameStrings[278] = {
"-webkit-background-clip",
"-webkit-background-composite",
"-webkit-background-origin",
+"-webkit-background-size",
"-webkit-binding",
"-webkit-border-fit",
"-webkit-border-horizontal-spacing",
@@ -1279,6 +1284,7 @@ static const char * const propertyNameStrings[278] = {
"kerning",
"text-anchor",
"writing-mode",
+"-webkit-shadow",
};
const char* getPropertyName(CSSPropertyID id)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/CSSPropertyNames.h b/src/3rdparty/webkit/WebCore/generated/CSSPropertyNames.h
index f1332e3..8957af8 100644
--- a/src/3rdparty/webkit/WebCore/generated/CSSPropertyNames.h
+++ b/src/3rdparty/webkit/WebCore/generated/CSSPropertyNames.h
@@ -157,136 +157,138 @@ enum CSSPropertyID {
CSSPropertyWebkitBackgroundClip = 1150,
CSSPropertyWebkitBackgroundComposite = 1151,
CSSPropertyWebkitBackgroundOrigin = 1152,
- CSSPropertyWebkitBinding = 1153,
- CSSPropertyWebkitBorderFit = 1154,
- CSSPropertyWebkitBorderHorizontalSpacing = 1155,
- CSSPropertyWebkitBorderImage = 1156,
- CSSPropertyWebkitBorderRadius = 1157,
- CSSPropertyWebkitBorderVerticalSpacing = 1158,
- CSSPropertyWebkitBoxAlign = 1159,
- CSSPropertyWebkitBoxDirection = 1160,
- CSSPropertyWebkitBoxFlex = 1161,
- CSSPropertyWebkitBoxFlexGroup = 1162,
- CSSPropertyWebkitBoxLines = 1163,
- CSSPropertyWebkitBoxOrdinalGroup = 1164,
- CSSPropertyWebkitBoxOrient = 1165,
- CSSPropertyWebkitBoxPack = 1166,
- CSSPropertyWebkitBoxReflect = 1167,
- CSSPropertyWebkitBoxShadow = 1168,
- CSSPropertyWebkitBoxSizing = 1169,
- CSSPropertyWebkitColumnBreakAfter = 1170,
- CSSPropertyWebkitColumnBreakBefore = 1171,
- CSSPropertyWebkitColumnBreakInside = 1172,
- CSSPropertyWebkitColumnCount = 1173,
- CSSPropertyWebkitColumnGap = 1174,
- CSSPropertyWebkitColumnRule = 1175,
- CSSPropertyWebkitColumnRuleColor = 1176,
- CSSPropertyWebkitColumnRuleStyle = 1177,
- CSSPropertyWebkitColumnRuleWidth = 1178,
- CSSPropertyWebkitColumnWidth = 1179,
- CSSPropertyWebkitColumns = 1180,
- CSSPropertyWebkitFontSizeDelta = 1181,
- CSSPropertyWebkitFontSmoothing = 1182,
- CSSPropertyWebkitHighlight = 1183,
- CSSPropertyWebkitLineBreak = 1184,
- CSSPropertyWebkitLineClamp = 1185,
- CSSPropertyWebkitMarginBottomCollapse = 1186,
- CSSPropertyWebkitMarginCollapse = 1187,
- CSSPropertyWebkitMarginStart = 1188,
- CSSPropertyWebkitMarginTopCollapse = 1189,
- CSSPropertyWebkitMarquee = 1190,
- CSSPropertyWebkitMarqueeDirection = 1191,
- CSSPropertyWebkitMarqueeIncrement = 1192,
- CSSPropertyWebkitMarqueeRepetition = 1193,
- CSSPropertyWebkitMarqueeSpeed = 1194,
- CSSPropertyWebkitMarqueeStyle = 1195,
- CSSPropertyWebkitMask = 1196,
- CSSPropertyWebkitMaskAttachment = 1197,
- CSSPropertyWebkitMaskBoxImage = 1198,
- CSSPropertyWebkitMaskClip = 1199,
- CSSPropertyWebkitMaskComposite = 1200,
- CSSPropertyWebkitMaskImage = 1201,
- CSSPropertyWebkitMaskOrigin = 1202,
- CSSPropertyWebkitMaskPosition = 1203,
- CSSPropertyWebkitMaskPositionX = 1204,
- CSSPropertyWebkitMaskPositionY = 1205,
- CSSPropertyWebkitMaskRepeat = 1206,
- CSSPropertyWebkitMaskRepeatX = 1207,
- CSSPropertyWebkitMaskRepeatY = 1208,
- CSSPropertyWebkitMaskSize = 1209,
- CSSPropertyWebkitMatchNearestMailBlockquoteColor = 1210,
- CSSPropertyWebkitNbspMode = 1211,
- CSSPropertyWebkitPaddingStart = 1212,
- CSSPropertyWebkitPerspective = 1213,
- CSSPropertyWebkitPerspectiveOrigin = 1214,
- CSSPropertyWebkitPerspectiveOriginX = 1215,
- CSSPropertyWebkitPerspectiveOriginY = 1216,
- CSSPropertyWebkitRtlOrdering = 1217,
- CSSPropertyWebkitTextDecorationsInEffect = 1218,
- CSSPropertyWebkitTextFillColor = 1219,
- CSSPropertyWebkitTextSecurity = 1220,
- CSSPropertyWebkitTextSizeAdjust = 1221,
- CSSPropertyWebkitTextStroke = 1222,
- CSSPropertyWebkitTextStrokeColor = 1223,
- CSSPropertyWebkitTextStrokeWidth = 1224,
- CSSPropertyWebkitTransform = 1225,
- CSSPropertyWebkitTransformOrigin = 1226,
- CSSPropertyWebkitTransformOriginX = 1227,
- CSSPropertyWebkitTransformOriginY = 1228,
- CSSPropertyWebkitTransformOriginZ = 1229,
- CSSPropertyWebkitTransformStyle = 1230,
- CSSPropertyWebkitTransition = 1231,
- CSSPropertyWebkitTransitionDelay = 1232,
- CSSPropertyWebkitTransitionDuration = 1233,
- CSSPropertyWebkitTransitionProperty = 1234,
- CSSPropertyWebkitTransitionTimingFunction = 1235,
- CSSPropertyWebkitUserDrag = 1236,
- CSSPropertyWebkitUserModify = 1237,
- CSSPropertyWebkitUserSelect = 1238,
- CSSPropertyWebkitVariableDeclarationBlock = 1239,
- CSSPropertyClipPath = 1240,
- CSSPropertyClipRule = 1241,
- CSSPropertyMask = 1242,
- CSSPropertyEnableBackground = 1243,
- CSSPropertyFilter = 1244,
- CSSPropertyFloodColor = 1245,
- CSSPropertyFloodOpacity = 1246,
- CSSPropertyLightingColor = 1247,
- CSSPropertyStopColor = 1248,
- CSSPropertyStopOpacity = 1249,
- CSSPropertyColorInterpolation = 1250,
- CSSPropertyColorInterpolationFilters = 1251,
- CSSPropertyColorProfile = 1252,
- CSSPropertyColorRendering = 1253,
- CSSPropertyFill = 1254,
- CSSPropertyFillOpacity = 1255,
- CSSPropertyFillRule = 1256,
- CSSPropertyImageRendering = 1257,
- CSSPropertyMarker = 1258,
- CSSPropertyMarkerEnd = 1259,
- CSSPropertyMarkerMid = 1260,
- CSSPropertyMarkerStart = 1261,
- CSSPropertyShapeRendering = 1262,
- CSSPropertyStroke = 1263,
- CSSPropertyStrokeDasharray = 1264,
- CSSPropertyStrokeDashoffset = 1265,
- CSSPropertyStrokeLinecap = 1266,
- CSSPropertyStrokeLinejoin = 1267,
- CSSPropertyStrokeMiterlimit = 1268,
- CSSPropertyStrokeOpacity = 1269,
- CSSPropertyStrokeWidth = 1270,
- CSSPropertyAlignmentBaseline = 1271,
- CSSPropertyBaselineShift = 1272,
- CSSPropertyDominantBaseline = 1273,
- CSSPropertyGlyphOrientationHorizontal = 1274,
- CSSPropertyGlyphOrientationVertical = 1275,
- CSSPropertyKerning = 1276,
- CSSPropertyTextAnchor = 1277,
- CSSPropertyWritingMode = 1278,
+ CSSPropertyWebkitBackgroundSize = 1153,
+ CSSPropertyWebkitBinding = 1154,
+ CSSPropertyWebkitBorderFit = 1155,
+ CSSPropertyWebkitBorderHorizontalSpacing = 1156,
+ CSSPropertyWebkitBorderImage = 1157,
+ CSSPropertyWebkitBorderRadius = 1158,
+ CSSPropertyWebkitBorderVerticalSpacing = 1159,
+ CSSPropertyWebkitBoxAlign = 1160,
+ CSSPropertyWebkitBoxDirection = 1161,
+ CSSPropertyWebkitBoxFlex = 1162,
+ CSSPropertyWebkitBoxFlexGroup = 1163,
+ CSSPropertyWebkitBoxLines = 1164,
+ CSSPropertyWebkitBoxOrdinalGroup = 1165,
+ CSSPropertyWebkitBoxOrient = 1166,
+ CSSPropertyWebkitBoxPack = 1167,
+ CSSPropertyWebkitBoxReflect = 1168,
+ CSSPropertyWebkitBoxShadow = 1169,
+ CSSPropertyWebkitBoxSizing = 1170,
+ CSSPropertyWebkitColumnBreakAfter = 1171,
+ CSSPropertyWebkitColumnBreakBefore = 1172,
+ CSSPropertyWebkitColumnBreakInside = 1173,
+ CSSPropertyWebkitColumnCount = 1174,
+ CSSPropertyWebkitColumnGap = 1175,
+ CSSPropertyWebkitColumnRule = 1176,
+ CSSPropertyWebkitColumnRuleColor = 1177,
+ CSSPropertyWebkitColumnRuleStyle = 1178,
+ CSSPropertyWebkitColumnRuleWidth = 1179,
+ CSSPropertyWebkitColumnWidth = 1180,
+ CSSPropertyWebkitColumns = 1181,
+ CSSPropertyWebkitFontSizeDelta = 1182,
+ CSSPropertyWebkitFontSmoothing = 1183,
+ CSSPropertyWebkitHighlight = 1184,
+ CSSPropertyWebkitLineBreak = 1185,
+ CSSPropertyWebkitLineClamp = 1186,
+ CSSPropertyWebkitMarginBottomCollapse = 1187,
+ CSSPropertyWebkitMarginCollapse = 1188,
+ CSSPropertyWebkitMarginStart = 1189,
+ CSSPropertyWebkitMarginTopCollapse = 1190,
+ CSSPropertyWebkitMarquee = 1191,
+ CSSPropertyWebkitMarqueeDirection = 1192,
+ CSSPropertyWebkitMarqueeIncrement = 1193,
+ CSSPropertyWebkitMarqueeRepetition = 1194,
+ CSSPropertyWebkitMarqueeSpeed = 1195,
+ CSSPropertyWebkitMarqueeStyle = 1196,
+ CSSPropertyWebkitMask = 1197,
+ CSSPropertyWebkitMaskAttachment = 1198,
+ CSSPropertyWebkitMaskBoxImage = 1199,
+ CSSPropertyWebkitMaskClip = 1200,
+ CSSPropertyWebkitMaskComposite = 1201,
+ CSSPropertyWebkitMaskImage = 1202,
+ CSSPropertyWebkitMaskOrigin = 1203,
+ CSSPropertyWebkitMaskPosition = 1204,
+ CSSPropertyWebkitMaskPositionX = 1205,
+ CSSPropertyWebkitMaskPositionY = 1206,
+ CSSPropertyWebkitMaskRepeat = 1207,
+ CSSPropertyWebkitMaskRepeatX = 1208,
+ CSSPropertyWebkitMaskRepeatY = 1209,
+ CSSPropertyWebkitMaskSize = 1210,
+ CSSPropertyWebkitMatchNearestMailBlockquoteColor = 1211,
+ CSSPropertyWebkitNbspMode = 1212,
+ CSSPropertyWebkitPaddingStart = 1213,
+ CSSPropertyWebkitPerspective = 1214,
+ CSSPropertyWebkitPerspectiveOrigin = 1215,
+ CSSPropertyWebkitPerspectiveOriginX = 1216,
+ CSSPropertyWebkitPerspectiveOriginY = 1217,
+ CSSPropertyWebkitRtlOrdering = 1218,
+ CSSPropertyWebkitTextDecorationsInEffect = 1219,
+ CSSPropertyWebkitTextFillColor = 1220,
+ CSSPropertyWebkitTextSecurity = 1221,
+ CSSPropertyWebkitTextSizeAdjust = 1222,
+ CSSPropertyWebkitTextStroke = 1223,
+ CSSPropertyWebkitTextStrokeColor = 1224,
+ CSSPropertyWebkitTextStrokeWidth = 1225,
+ CSSPropertyWebkitTransform = 1226,
+ CSSPropertyWebkitTransformOrigin = 1227,
+ CSSPropertyWebkitTransformOriginX = 1228,
+ CSSPropertyWebkitTransformOriginY = 1229,
+ CSSPropertyWebkitTransformOriginZ = 1230,
+ CSSPropertyWebkitTransformStyle = 1231,
+ CSSPropertyWebkitTransition = 1232,
+ CSSPropertyWebkitTransitionDelay = 1233,
+ CSSPropertyWebkitTransitionDuration = 1234,
+ CSSPropertyWebkitTransitionProperty = 1235,
+ CSSPropertyWebkitTransitionTimingFunction = 1236,
+ CSSPropertyWebkitUserDrag = 1237,
+ CSSPropertyWebkitUserModify = 1238,
+ CSSPropertyWebkitUserSelect = 1239,
+ CSSPropertyWebkitVariableDeclarationBlock = 1240,
+ CSSPropertyClipPath = 1241,
+ CSSPropertyClipRule = 1242,
+ CSSPropertyMask = 1243,
+ CSSPropertyEnableBackground = 1244,
+ CSSPropertyFilter = 1245,
+ CSSPropertyFloodColor = 1246,
+ CSSPropertyFloodOpacity = 1247,
+ CSSPropertyLightingColor = 1248,
+ CSSPropertyStopColor = 1249,
+ CSSPropertyStopOpacity = 1250,
+ CSSPropertyColorInterpolation = 1251,
+ CSSPropertyColorInterpolationFilters = 1252,
+ CSSPropertyColorProfile = 1253,
+ CSSPropertyColorRendering = 1254,
+ CSSPropertyFill = 1255,
+ CSSPropertyFillOpacity = 1256,
+ CSSPropertyFillRule = 1257,
+ CSSPropertyImageRendering = 1258,
+ CSSPropertyMarker = 1259,
+ CSSPropertyMarkerEnd = 1260,
+ CSSPropertyMarkerMid = 1261,
+ CSSPropertyMarkerStart = 1262,
+ CSSPropertyShapeRendering = 1263,
+ CSSPropertyStroke = 1264,
+ CSSPropertyStrokeDasharray = 1265,
+ CSSPropertyStrokeDashoffset = 1266,
+ CSSPropertyStrokeLinecap = 1267,
+ CSSPropertyStrokeLinejoin = 1268,
+ CSSPropertyStrokeMiterlimit = 1269,
+ CSSPropertyStrokeOpacity = 1270,
+ CSSPropertyStrokeWidth = 1271,
+ CSSPropertyAlignmentBaseline = 1272,
+ CSSPropertyBaselineShift = 1273,
+ CSSPropertyDominantBaseline = 1274,
+ CSSPropertyGlyphOrientationHorizontal = 1275,
+ CSSPropertyGlyphOrientationVertical = 1276,
+ CSSPropertyKerning = 1277,
+ CSSPropertyTextAnchor = 1278,
+ CSSPropertyWritingMode = 1279,
+ CSSPropertyWebkitShadow = 1280,
};
const int firstCSSProperty = 1001;
-const int numCSSProperties = 278;
+const int numCSSProperties = 280;
const size_t maxCSSPropertyNameLength = 43;
const char* getPropertyName(CSSPropertyID);
diff --git a/src/3rdparty/webkit/WebCore/generated/JSAbstractWorker.cpp b/src/3rdparty/webkit/WebCore/generated/JSAbstractWorker.cpp
index d472340..bee17ac 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSAbstractWorker.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSAbstractWorker.cpp
@@ -149,7 +149,7 @@ JSAbstractWorker::JSAbstractWorker(NonNullPassRefPtr<Structure> structure, JSDOM
JSAbstractWorker::~JSAbstractWorker()
{
impl()->invalidateEventListeners();
- forgetDOMObject(*Heap::heap(this)->globalData(), impl());
+ forgetDOMObject(this, impl());
}
void JSAbstractWorker::markChildren(MarkStack& markStack)
@@ -199,7 +199,7 @@ void setJSAbstractWorkerOnerror(ExecState* exec, JSObject* thisObject, JSValue v
{
UNUSED_PARAM(exec);
AbstractWorker* imp = static_cast<AbstractWorker*>(static_cast<JSAbstractWorker*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOnerror(globalObject->createJSAttributeEventListener(value));
diff --git a/src/3rdparty/webkit/WebCore/generated/JSBarInfo.cpp b/src/3rdparty/webkit/WebCore/generated/JSBarInfo.cpp
index 2f02580..348c086 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSBarInfo.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSBarInfo.cpp
@@ -76,7 +76,7 @@ JSBarInfo::JSBarInfo(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject*
JSBarInfo::~JSBarInfo()
{
- forgetDOMObject(*Heap::heap(this)->globalData(), impl());
+ forgetDOMObject(this, impl());
}
JSObject* JSBarInfo::createPrototype(ExecState* exec, JSGlobalObject* globalObject)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSCSSRule.cpp b/src/3rdparty/webkit/WebCore/generated/JSCSSRule.cpp
index 307b17a..8d99056 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSCSSRule.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSCSSRule.cpp
@@ -162,7 +162,7 @@ JSCSSRule::JSCSSRule(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject*
JSCSSRule::~JSCSSRule()
{
- forgetDOMObject(*Heap::heap(this)->globalData(), impl());
+ forgetDOMObject(this, impl());
}
JSObject* JSCSSRule::createPrototype(ExecState* exec, JSGlobalObject* globalObject)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSCSSRuleList.cpp b/src/3rdparty/webkit/WebCore/generated/JSCSSRuleList.cpp
index e02a6ce..0bb58c2 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSCSSRuleList.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSCSSRuleList.cpp
@@ -140,7 +140,7 @@ JSCSSRuleList::JSCSSRuleList(NonNullPassRefPtr<Structure> structure, JSDOMGlobal
JSCSSRuleList::~JSCSSRuleList()
{
- forgetDOMObject(*Heap::heap(this)->globalData(), impl());
+ forgetDOMObject(this, impl());
}
JSObject* JSCSSRuleList::createPrototype(ExecState* exec, JSGlobalObject* globalObject)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSCSSStyleDeclaration.cpp b/src/3rdparty/webkit/WebCore/generated/JSCSSStyleDeclaration.cpp
index 6292b64..5fbf986 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSCSSStyleDeclaration.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSCSSStyleDeclaration.cpp
@@ -154,7 +154,7 @@ JSCSSStyleDeclaration::JSCSSStyleDeclaration(NonNullPassRefPtr<Structure> struct
JSCSSStyleDeclaration::~JSCSSStyleDeclaration()
{
- forgetDOMObject(*Heap::heap(this)->globalData(), impl());
+ forgetDOMObject(this, impl());
}
JSObject* JSCSSStyleDeclaration::createPrototype(ExecState* exec, JSGlobalObject* globalObject)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSCSSValue.cpp b/src/3rdparty/webkit/WebCore/generated/JSCSSValue.cpp
index 22f6c30..1cb1b75 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSCSSValue.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSCSSValue.cpp
@@ -145,7 +145,7 @@ JSCSSValue::JSCSSValue(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject
JSCSSValue::~JSCSSValue()
{
- forgetDOMObject(*Heap::heap(this)->globalData(), impl());
+ forgetDOMObject(this, impl());
}
JSObject* JSCSSValue::createPrototype(ExecState* exec, JSGlobalObject* globalObject)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSCSSVariablesDeclaration.cpp b/src/3rdparty/webkit/WebCore/generated/JSCSSVariablesDeclaration.cpp
index ef1d726..975d56d 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSCSSVariablesDeclaration.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSCSSVariablesDeclaration.cpp
@@ -147,7 +147,7 @@ JSCSSVariablesDeclaration::JSCSSVariablesDeclaration(NonNullPassRefPtr<Structure
JSCSSVariablesDeclaration::~JSCSSVariablesDeclaration()
{
- forgetDOMObject(*Heap::heap(this)->globalData(), impl());
+ forgetDOMObject(this, impl());
}
JSObject* JSCSSVariablesDeclaration::createPrototype(ExecState* exec, JSGlobalObject* globalObject)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSCanvasArray.cpp b/src/3rdparty/webkit/WebCore/generated/JSCanvasArray.cpp
index aeeeb4f..05be08c 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSCanvasArray.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSCanvasArray.cpp
@@ -93,7 +93,7 @@ JSCanvasArray::JSCanvasArray(NonNullPassRefPtr<Structure> structure, JSDOMGlobal
JSCanvasArray::~JSCanvasArray()
{
- forgetDOMObject(*Heap::heap(this)->globalData(), impl());
+ forgetDOMObject(this, impl());
}
JSObject* JSCanvasArray::createPrototype(ExecState* exec, JSGlobalObject* globalObject)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSCanvasArrayBuffer.cpp b/src/3rdparty/webkit/WebCore/generated/JSCanvasArrayBuffer.cpp
index cf1c0fe..7099ce9 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSCanvasArrayBuffer.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSCanvasArrayBuffer.cpp
@@ -80,7 +80,7 @@ JSCanvasArrayBuffer::JSCanvasArrayBuffer(NonNullPassRefPtr<Structure> structure,
JSCanvasArrayBuffer::~JSCanvasArrayBuffer()
{
- forgetDOMObject(*Heap::heap(this)->globalData(), impl());
+ forgetDOMObject(this, impl());
}
JSObject* JSCanvasArrayBuffer::createPrototype(ExecState* exec, JSGlobalObject* globalObject)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSCanvasGradient.cpp b/src/3rdparty/webkit/WebCore/generated/JSCanvasGradient.cpp
index 22de482..4d2bfa3 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSCanvasGradient.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSCanvasGradient.cpp
@@ -74,7 +74,7 @@ JSCanvasGradient::JSCanvasGradient(NonNullPassRefPtr<Structure> structure, JSDOM
JSCanvasGradient::~JSCanvasGradient()
{
- forgetDOMObject(*Heap::heap(this)->globalData(), impl());
+ forgetDOMObject(this, impl());
}
JSObject* JSCanvasGradient::createPrototype(ExecState* exec, JSGlobalObject* globalObject)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSCanvasPattern.cpp b/src/3rdparty/webkit/WebCore/generated/JSCanvasPattern.cpp
index 7356770..cfb521b 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSCanvasPattern.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSCanvasPattern.cpp
@@ -61,7 +61,7 @@ JSCanvasPattern::JSCanvasPattern(NonNullPassRefPtr<Structure> structure, JSDOMGl
JSCanvasPattern::~JSCanvasPattern()
{
- forgetDOMObject(*Heap::heap(this)->globalData(), impl());
+ forgetDOMObject(this, impl());
}
JSObject* JSCanvasPattern::createPrototype(ExecState* exec, JSGlobalObject* globalObject)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSCanvasRenderingContext.cpp b/src/3rdparty/webkit/WebCore/generated/JSCanvasRenderingContext.cpp
index 1d06dfe..07710a1 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSCanvasRenderingContext.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSCanvasRenderingContext.cpp
@@ -126,7 +126,7 @@ JSCanvasRenderingContext::JSCanvasRenderingContext(NonNullPassRefPtr<Structure>
JSCanvasRenderingContext::~JSCanvasRenderingContext()
{
- forgetDOMObject(*Heap::heap(this)->globalData(), impl());
+ forgetDOMObject(this, impl());
}
JSObject* JSCanvasRenderingContext::createPrototype(ExecState* exec, JSGlobalObject* globalObject)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSClientRect.cpp b/src/3rdparty/webkit/WebCore/generated/JSClientRect.cpp
index 175d660..48dccd3 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSClientRect.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSClientRect.cpp
@@ -130,7 +130,7 @@ JSClientRect::JSClientRect(NonNullPassRefPtr<Structure> structure, JSDOMGlobalOb
JSClientRect::~JSClientRect()
{
- forgetDOMObject(*Heap::heap(this)->globalData(), impl());
+ forgetDOMObject(this, impl());
}
JSObject* JSClientRect::createPrototype(ExecState* exec, JSGlobalObject* globalObject)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSClientRectList.cpp b/src/3rdparty/webkit/WebCore/generated/JSClientRectList.cpp
index 143ee8c..ff9d963 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSClientRectList.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSClientRectList.cpp
@@ -141,7 +141,7 @@ JSClientRectList::JSClientRectList(NonNullPassRefPtr<Structure> structure, JSDOM
JSClientRectList::~JSClientRectList()
{
- forgetDOMObject(*Heap::heap(this)->globalData(), impl());
+ forgetDOMObject(this, impl());
}
JSObject* JSClientRectList::createPrototype(ExecState* exec, JSGlobalObject* globalObject)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSClipboard.cpp b/src/3rdparty/webkit/WebCore/generated/JSClipboard.cpp
index f72e341..8f4a7d4 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSClipboard.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSClipboard.cpp
@@ -145,7 +145,7 @@ JSClipboard::JSClipboard(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObje
JSClipboard::~JSClipboard()
{
- forgetDOMObject(*Heap::heap(this)->globalData(), impl());
+ forgetDOMObject(this, impl());
}
JSObject* JSClipboard::createPrototype(ExecState* exec, JSGlobalObject* globalObject)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSConsole.cpp b/src/3rdparty/webkit/WebCore/generated/JSConsole.cpp
index 4bb40c6..0657890 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSConsole.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSConsole.cpp
@@ -104,7 +104,7 @@ JSConsole::JSConsole(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject*
JSConsole::~JSConsole()
{
- forgetDOMObject(*Heap::heap(this)->globalData(), impl());
+ forgetDOMObject(this, impl());
}
JSObject* JSConsole::createPrototype(ExecState* exec, JSGlobalObject* globalObject)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSCoordinates.cpp b/src/3rdparty/webkit/WebCore/generated/JSCoordinates.cpp
index 6919ad2..348bcc6 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSCoordinates.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSCoordinates.cpp
@@ -83,7 +83,7 @@ JSCoordinates::JSCoordinates(NonNullPassRefPtr<Structure> structure, JSDOMGlobal
JSCoordinates::~JSCoordinates()
{
- forgetDOMObject(*Heap::heap(this)->globalData(), impl());
+ forgetDOMObject(this, impl());
}
JSObject* JSCoordinates::createPrototype(ExecState* exec, JSGlobalObject* globalObject)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSCounter.cpp b/src/3rdparty/webkit/WebCore/generated/JSCounter.cpp
index d17a368..7c22959 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSCounter.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSCounter.cpp
@@ -128,7 +128,7 @@ JSCounter::JSCounter(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject*
JSCounter::~JSCounter()
{
- forgetDOMObject(*Heap::heap(this)->globalData(), impl());
+ forgetDOMObject(this, impl());
}
JSObject* JSCounter::createPrototype(ExecState* exec, JSGlobalObject* globalObject)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSDOMApplicationCache.cpp b/src/3rdparty/webkit/WebCore/generated/JSDOMApplicationCache.cpp
index 2b65699..17a527e 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSDOMApplicationCache.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSDOMApplicationCache.cpp
@@ -118,7 +118,7 @@ JSDOMApplicationCache::JSDOMApplicationCache(NonNullPassRefPtr<Structure> struct
JSDOMApplicationCache::~JSDOMApplicationCache()
{
impl()->invalidateEventListeners();
- forgetDOMObject(*Heap::heap(this)->globalData(), impl());
+ forgetDOMObject(this, impl());
}
void JSDOMApplicationCache::markChildren(MarkStack& markStack)
@@ -255,7 +255,7 @@ void setJSDOMApplicationCacheOnchecking(ExecState* exec, JSObject* thisObject, J
{
UNUSED_PARAM(exec);
DOMApplicationCache* imp = static_cast<DOMApplicationCache*>(static_cast<JSDOMApplicationCache*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOnchecking(globalObject->createJSAttributeEventListener(value));
@@ -265,7 +265,7 @@ void setJSDOMApplicationCacheOnerror(ExecState* exec, JSObject* thisObject, JSVa
{
UNUSED_PARAM(exec);
DOMApplicationCache* imp = static_cast<DOMApplicationCache*>(static_cast<JSDOMApplicationCache*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOnerror(globalObject->createJSAttributeEventListener(value));
@@ -275,7 +275,7 @@ void setJSDOMApplicationCacheOnnoupdate(ExecState* exec, JSObject* thisObject, J
{
UNUSED_PARAM(exec);
DOMApplicationCache* imp = static_cast<DOMApplicationCache*>(static_cast<JSDOMApplicationCache*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOnnoupdate(globalObject->createJSAttributeEventListener(value));
@@ -285,7 +285,7 @@ void setJSDOMApplicationCacheOndownloading(ExecState* exec, JSObject* thisObject
{
UNUSED_PARAM(exec);
DOMApplicationCache* imp = static_cast<DOMApplicationCache*>(static_cast<JSDOMApplicationCache*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOndownloading(globalObject->createJSAttributeEventListener(value));
@@ -295,7 +295,7 @@ void setJSDOMApplicationCacheOnprogress(ExecState* exec, JSObject* thisObject, J
{
UNUSED_PARAM(exec);
DOMApplicationCache* imp = static_cast<DOMApplicationCache*>(static_cast<JSDOMApplicationCache*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOnprogress(globalObject->createJSAttributeEventListener(value));
@@ -305,7 +305,7 @@ void setJSDOMApplicationCacheOnupdateready(ExecState* exec, JSObject* thisObject
{
UNUSED_PARAM(exec);
DOMApplicationCache* imp = static_cast<DOMApplicationCache*>(static_cast<JSDOMApplicationCache*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOnupdateready(globalObject->createJSAttributeEventListener(value));
@@ -315,7 +315,7 @@ void setJSDOMApplicationCacheOncached(ExecState* exec, JSObject* thisObject, JSV
{
UNUSED_PARAM(exec);
DOMApplicationCache* imp = static_cast<DOMApplicationCache*>(static_cast<JSDOMApplicationCache*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOncached(globalObject->createJSAttributeEventListener(value));
@@ -325,7 +325,7 @@ void setJSDOMApplicationCacheOnobsolete(ExecState* exec, JSObject* thisObject, J
{
UNUSED_PARAM(exec);
DOMApplicationCache* imp = static_cast<DOMApplicationCache*>(static_cast<JSDOMApplicationCache*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOnobsolete(globalObject->createJSAttributeEventListener(value));
diff --git a/src/3rdparty/webkit/WebCore/generated/JSDOMCoreException.cpp b/src/3rdparty/webkit/WebCore/generated/JSDOMCoreException.cpp
index d625e2b..ff88905 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSDOMCoreException.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSDOMCoreException.cpp
@@ -185,7 +185,7 @@ JSDOMCoreException::JSDOMCoreException(NonNullPassRefPtr<Structure> structure, J
JSDOMCoreException::~JSDOMCoreException()
{
- forgetDOMObject(*Heap::heap(this)->globalData(), impl());
+ forgetDOMObject(this, impl());
}
JSObject* JSDOMCoreException::createPrototype(ExecState* exec, JSGlobalObject* globalObject)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSDOMImplementation.cpp b/src/3rdparty/webkit/WebCore/generated/JSDOMImplementation.cpp
index 62eef6c..268647b 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSDOMImplementation.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSDOMImplementation.cpp
@@ -148,7 +148,7 @@ JSDOMImplementation::JSDOMImplementation(NonNullPassRefPtr<Structure> structure,
JSDOMImplementation::~JSDOMImplementation()
{
- forgetDOMObject(*Heap::heap(this)->globalData(), impl());
+ forgetDOMObject(this, impl());
}
JSObject* JSDOMImplementation::createPrototype(ExecState* exec, JSGlobalObject* globalObject)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSDOMParser.cpp b/src/3rdparty/webkit/WebCore/generated/JSDOMParser.cpp
index 4af88cb..ecd336a 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSDOMParser.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSDOMParser.cpp
@@ -147,7 +147,7 @@ JSDOMParser::JSDOMParser(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObje
JSDOMParser::~JSDOMParser()
{
- forgetDOMObject(*Heap::heap(this)->globalData(), impl());
+ forgetDOMObject(this, impl());
}
JSObject* JSDOMParser::createPrototype(ExecState* exec, JSGlobalObject* globalObject)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSDOMSelection.cpp b/src/3rdparty/webkit/WebCore/generated/JSDOMSelection.cpp
index 45ec248..e3a69b0 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSDOMSelection.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSDOMSelection.cpp
@@ -119,7 +119,7 @@ JSDOMSelection::JSDOMSelection(NonNullPassRefPtr<Structure> structure, JSDOMGlob
JSDOMSelection::~JSDOMSelection()
{
- forgetDOMObject(*Heap::heap(this)->globalData(), impl());
+ forgetDOMObject(this, impl());
}
JSObject* JSDOMSelection::createPrototype(ExecState* exec, JSGlobalObject* globalObject)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSDOMWindow.cpp b/src/3rdparty/webkit/WebCore/generated/JSDOMWindow.cpp
index dc53217..12edc42 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSDOMWindow.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSDOMWindow.cpp
@@ -92,6 +92,7 @@
#include "JSEventSource.h"
#include "JSFile.h"
#include "JSFileList.h"
+#include "JSHTMLAllCollection.h"
#include "JSHTMLAnchorElement.h"
#include "JSHTMLAppletElement.h"
#include "JSHTMLAreaElement.h"
@@ -246,7 +247,7 @@ ASSERT_CLASS_FITS_IN_CELL(JSDOMWindow);
/* Hash table */
-static const HashTableValue JSDOMWindowTableValues[296] =
+static const HashTableValue JSDOMWindowTableValues[297] =
{
{ "screen", DontDelete|ReadOnly, (intptr_t)jsDOMWindowScreen, (intptr_t)0 },
{ "history", DontDelete|ReadOnly, (intptr_t)jsDOMWindowHistory, (intptr_t)0 },
@@ -468,6 +469,7 @@ static const HashTableValue JSDOMWindowTableValues[296] =
{ "HTMLTitleElement", DontDelete, (intptr_t)jsDOMWindowHTMLTitleElementConstructor, (intptr_t)setJSDOMWindowHTMLTitleElementConstructor },
{ "HTMLUListElement", DontDelete, (intptr_t)jsDOMWindowHTMLUListElementConstructor, (intptr_t)setJSDOMWindowHTMLUListElementConstructor },
{ "HTMLCollection", DontDelete, (intptr_t)jsDOMWindowHTMLCollectionConstructor, (intptr_t)setJSDOMWindowHTMLCollectionConstructor },
+ { "HTMLAllCollection", DontDelete, (intptr_t)jsDOMWindowHTMLAllCollectionConstructor, (intptr_t)setJSDOMWindowHTMLAllCollectionConstructor },
{ "Image", DontDelete, (intptr_t)jsDOMWindowImageConstructor, (intptr_t)setJSDOMWindowImageConstructor },
{ "Option", DontDelete, (intptr_t)jsDOMWindowOptionConstructor, (intptr_t)setJSDOMWindowOptionConstructor },
{ "CanvasRenderingContext2D", DontDelete, (intptr_t)jsDOMWindowCanvasRenderingContext2DConstructor, (intptr_t)setJSDOMWindowCanvasRenderingContext2DConstructor },
@@ -666,7 +668,6 @@ JSDOMWindow::JSDOMWindow(NonNullPassRefPtr<Structure> structure, PassRefPtr<DOMW
JSDOMWindow::~JSDOMWindow()
{
impl()->invalidateEventListeners();
- forgetDOMObject(*Heap::heap(this)->globalData(), impl());
}
JSValue jsDOMWindowScreen(ExecState* exec, const Identifier&, const PropertySlot& slot)
@@ -2846,6 +2847,14 @@ JSValue jsDOMWindowHTMLCollectionConstructor(ExecState* exec, const Identifier&,
return JSHTMLCollection::getConstructor(exec, castedThis);
}
+JSValue jsDOMWindowHTMLAllCollectionConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
+{
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
+ return jsUndefined();
+ return JSHTMLAllCollection::getConstructor(exec, castedThis);
+}
+
JSValue jsDOMWindowImageConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
@@ -5261,6 +5270,14 @@ void setJSDOMWindowHTMLCollectionConstructor(ExecState* exec, JSObject* thisObje
static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "HTMLCollection"), value);
}
+void setJSDOMWindowHTMLAllCollectionConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
+{
+ if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
+ return;
+ // Shadowing a built-in constructor
+ static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "HTMLAllCollection"), value);
+}
+
void setJSDOMWindowImageConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
diff --git a/src/3rdparty/webkit/WebCore/generated/JSDOMWindow.h b/src/3rdparty/webkit/WebCore/generated/JSDOMWindow.h
index 232c8eb..afc8106 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSDOMWindow.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSDOMWindow.h
@@ -577,6 +577,8 @@ JSC::JSValue jsDOMWindowHTMLUListElementConstructor(JSC::ExecState*, const JSC::
void setJSDOMWindowHTMLUListElementConstructor(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
JSC::JSValue jsDOMWindowHTMLCollectionConstructor(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
void setJSDOMWindowHTMLCollectionConstructor(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
+JSC::JSValue jsDOMWindowHTMLAllCollectionConstructor(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
+void setJSDOMWindowHTMLAllCollectionConstructor(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
JSC::JSValue jsDOMWindowImageConstructor(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
void setJSDOMWindowImageConstructor(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
JSC::JSValue jsDOMWindowOptionConstructor(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
diff --git a/src/3rdparty/webkit/WebCore/generated/JSDataGridColumn.cpp b/src/3rdparty/webkit/WebCore/generated/JSDataGridColumn.cpp
index 586edd1..42b91d1 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSDataGridColumn.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSDataGridColumn.cpp
@@ -157,7 +157,7 @@ JSDataGridColumn::JSDataGridColumn(NonNullPassRefPtr<Structure> structure, JSDOM
JSDataGridColumn::~JSDataGridColumn()
{
- forgetDOMObject(*Heap::heap(this)->globalData(), impl());
+ forgetDOMObject(this, impl());
}
JSObject* JSDataGridColumn::createPrototype(ExecState* exec, JSGlobalObject* globalObject)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSDataGridColumnList.cpp b/src/3rdparty/webkit/WebCore/generated/JSDataGridColumnList.cpp
index 08585fe..945c257 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSDataGridColumnList.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSDataGridColumnList.cpp
@@ -151,7 +151,7 @@ JSDataGridColumnList::JSDataGridColumnList(NonNullPassRefPtr<Structure> structur
JSDataGridColumnList::~JSDataGridColumnList()
{
- forgetDOMObject(*Heap::heap(this)->globalData(), impl());
+ forgetDOMObject(this, impl());
}
JSObject* JSDataGridColumnList::createPrototype(ExecState* exec, JSGlobalObject* globalObject)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSDatabase.cpp b/src/3rdparty/webkit/WebCore/generated/JSDatabase.cpp
index 5acd5b1..c5ac44d 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSDatabase.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSDatabase.cpp
@@ -95,7 +95,7 @@ JSDatabase::JSDatabase(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject
JSDatabase::~JSDatabase()
{
- forgetDOMObject(*Heap::heap(this)->globalData(), impl());
+ forgetDOMObject(this, impl());
}
JSObject* JSDatabase::createPrototype(ExecState* exec, JSGlobalObject* globalObject)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSDocument.cpp b/src/3rdparty/webkit/WebCore/generated/JSDocument.cpp
index 47a2936..1fb3b46 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSDocument.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSDocument.cpp
@@ -304,7 +304,7 @@ JSDocument::JSDocument(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject
JSDocument::~JSDocument()
{
- forgetDOMObject(*Heap::heap(this)->globalData(), static_cast<Document*>(impl()));
+ forgetDOMObject(this, static_cast<Document*>(impl()));
}
JSObject* JSDocument::createPrototype(ExecState* exec, JSGlobalObject* globalObject)
@@ -1099,7 +1099,7 @@ void setJSDocumentOnabort(ExecState* exec, JSObject* thisObject, JSValue value)
{
UNUSED_PARAM(exec);
Document* imp = static_cast<Document*>(static_cast<JSDocument*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOnabort(globalObject->createJSAttributeEventListener(value));
@@ -1109,7 +1109,7 @@ void setJSDocumentOnblur(ExecState* exec, JSObject* thisObject, JSValue value)
{
UNUSED_PARAM(exec);
Document* imp = static_cast<Document*>(static_cast<JSDocument*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOnblur(globalObject->createJSAttributeEventListener(value));
@@ -1119,7 +1119,7 @@ void setJSDocumentOnchange(ExecState* exec, JSObject* thisObject, JSValue value)
{
UNUSED_PARAM(exec);
Document* imp = static_cast<Document*>(static_cast<JSDocument*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOnchange(globalObject->createJSAttributeEventListener(value));
@@ -1129,7 +1129,7 @@ void setJSDocumentOnclick(ExecState* exec, JSObject* thisObject, JSValue value)
{
UNUSED_PARAM(exec);
Document* imp = static_cast<Document*>(static_cast<JSDocument*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOnclick(globalObject->createJSAttributeEventListener(value));
@@ -1139,7 +1139,7 @@ void setJSDocumentOncontextmenu(ExecState* exec, JSObject* thisObject, JSValue v
{
UNUSED_PARAM(exec);
Document* imp = static_cast<Document*>(static_cast<JSDocument*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOncontextmenu(globalObject->createJSAttributeEventListener(value));
@@ -1149,7 +1149,7 @@ void setJSDocumentOndblclick(ExecState* exec, JSObject* thisObject, JSValue valu
{
UNUSED_PARAM(exec);
Document* imp = static_cast<Document*>(static_cast<JSDocument*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOndblclick(globalObject->createJSAttributeEventListener(value));
@@ -1159,7 +1159,7 @@ void setJSDocumentOndrag(ExecState* exec, JSObject* thisObject, JSValue value)
{
UNUSED_PARAM(exec);
Document* imp = static_cast<Document*>(static_cast<JSDocument*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOndrag(globalObject->createJSAttributeEventListener(value));
@@ -1169,7 +1169,7 @@ void setJSDocumentOndragend(ExecState* exec, JSObject* thisObject, JSValue value
{
UNUSED_PARAM(exec);
Document* imp = static_cast<Document*>(static_cast<JSDocument*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOndragend(globalObject->createJSAttributeEventListener(value));
@@ -1179,7 +1179,7 @@ void setJSDocumentOndragenter(ExecState* exec, JSObject* thisObject, JSValue val
{
UNUSED_PARAM(exec);
Document* imp = static_cast<Document*>(static_cast<JSDocument*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOndragenter(globalObject->createJSAttributeEventListener(value));
@@ -1189,7 +1189,7 @@ void setJSDocumentOndragleave(ExecState* exec, JSObject* thisObject, JSValue val
{
UNUSED_PARAM(exec);
Document* imp = static_cast<Document*>(static_cast<JSDocument*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOndragleave(globalObject->createJSAttributeEventListener(value));
@@ -1199,7 +1199,7 @@ void setJSDocumentOndragover(ExecState* exec, JSObject* thisObject, JSValue valu
{
UNUSED_PARAM(exec);
Document* imp = static_cast<Document*>(static_cast<JSDocument*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOndragover(globalObject->createJSAttributeEventListener(value));
@@ -1209,7 +1209,7 @@ void setJSDocumentOndragstart(ExecState* exec, JSObject* thisObject, JSValue val
{
UNUSED_PARAM(exec);
Document* imp = static_cast<Document*>(static_cast<JSDocument*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOndragstart(globalObject->createJSAttributeEventListener(value));
@@ -1219,7 +1219,7 @@ void setJSDocumentOndrop(ExecState* exec, JSObject* thisObject, JSValue value)
{
UNUSED_PARAM(exec);
Document* imp = static_cast<Document*>(static_cast<JSDocument*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOndrop(globalObject->createJSAttributeEventListener(value));
@@ -1229,7 +1229,7 @@ void setJSDocumentOnerror(ExecState* exec, JSObject* thisObject, JSValue value)
{
UNUSED_PARAM(exec);
Document* imp = static_cast<Document*>(static_cast<JSDocument*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOnerror(globalObject->createJSAttributeEventListener(value));
@@ -1239,7 +1239,7 @@ void setJSDocumentOnfocus(ExecState* exec, JSObject* thisObject, JSValue value)
{
UNUSED_PARAM(exec);
Document* imp = static_cast<Document*>(static_cast<JSDocument*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOnfocus(globalObject->createJSAttributeEventListener(value));
@@ -1249,7 +1249,7 @@ void setJSDocumentOninput(ExecState* exec, JSObject* thisObject, JSValue value)
{
UNUSED_PARAM(exec);
Document* imp = static_cast<Document*>(static_cast<JSDocument*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOninput(globalObject->createJSAttributeEventListener(value));
@@ -1259,7 +1259,7 @@ void setJSDocumentOninvalid(ExecState* exec, JSObject* thisObject, JSValue value
{
UNUSED_PARAM(exec);
Document* imp = static_cast<Document*>(static_cast<JSDocument*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOninvalid(globalObject->createJSAttributeEventListener(value));
@@ -1269,7 +1269,7 @@ void setJSDocumentOnkeydown(ExecState* exec, JSObject* thisObject, JSValue value
{
UNUSED_PARAM(exec);
Document* imp = static_cast<Document*>(static_cast<JSDocument*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOnkeydown(globalObject->createJSAttributeEventListener(value));
@@ -1279,7 +1279,7 @@ void setJSDocumentOnkeypress(ExecState* exec, JSObject* thisObject, JSValue valu
{
UNUSED_PARAM(exec);
Document* imp = static_cast<Document*>(static_cast<JSDocument*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOnkeypress(globalObject->createJSAttributeEventListener(value));
@@ -1289,7 +1289,7 @@ void setJSDocumentOnkeyup(ExecState* exec, JSObject* thisObject, JSValue value)
{
UNUSED_PARAM(exec);
Document* imp = static_cast<Document*>(static_cast<JSDocument*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOnkeyup(globalObject->createJSAttributeEventListener(value));
@@ -1299,7 +1299,7 @@ void setJSDocumentOnload(ExecState* exec, JSObject* thisObject, JSValue value)
{
UNUSED_PARAM(exec);
Document* imp = static_cast<Document*>(static_cast<JSDocument*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOnload(globalObject->createJSAttributeEventListener(value));
@@ -1309,7 +1309,7 @@ void setJSDocumentOnmousedown(ExecState* exec, JSObject* thisObject, JSValue val
{
UNUSED_PARAM(exec);
Document* imp = static_cast<Document*>(static_cast<JSDocument*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOnmousedown(globalObject->createJSAttributeEventListener(value));
@@ -1319,7 +1319,7 @@ void setJSDocumentOnmousemove(ExecState* exec, JSObject* thisObject, JSValue val
{
UNUSED_PARAM(exec);
Document* imp = static_cast<Document*>(static_cast<JSDocument*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOnmousemove(globalObject->createJSAttributeEventListener(value));
@@ -1329,7 +1329,7 @@ void setJSDocumentOnmouseout(ExecState* exec, JSObject* thisObject, JSValue valu
{
UNUSED_PARAM(exec);
Document* imp = static_cast<Document*>(static_cast<JSDocument*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOnmouseout(globalObject->createJSAttributeEventListener(value));
@@ -1339,7 +1339,7 @@ void setJSDocumentOnmouseover(ExecState* exec, JSObject* thisObject, JSValue val
{
UNUSED_PARAM(exec);
Document* imp = static_cast<Document*>(static_cast<JSDocument*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOnmouseover(globalObject->createJSAttributeEventListener(value));
@@ -1349,7 +1349,7 @@ void setJSDocumentOnmouseup(ExecState* exec, JSObject* thisObject, JSValue value
{
UNUSED_PARAM(exec);
Document* imp = static_cast<Document*>(static_cast<JSDocument*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOnmouseup(globalObject->createJSAttributeEventListener(value));
@@ -1359,7 +1359,7 @@ void setJSDocumentOnmousewheel(ExecState* exec, JSObject* thisObject, JSValue va
{
UNUSED_PARAM(exec);
Document* imp = static_cast<Document*>(static_cast<JSDocument*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOnmousewheel(globalObject->createJSAttributeEventListener(value));
@@ -1369,7 +1369,7 @@ void setJSDocumentOnscroll(ExecState* exec, JSObject* thisObject, JSValue value)
{
UNUSED_PARAM(exec);
Document* imp = static_cast<Document*>(static_cast<JSDocument*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOnscroll(globalObject->createJSAttributeEventListener(value));
@@ -1379,7 +1379,7 @@ void setJSDocumentOnselect(ExecState* exec, JSObject* thisObject, JSValue value)
{
UNUSED_PARAM(exec);
Document* imp = static_cast<Document*>(static_cast<JSDocument*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOnselect(globalObject->createJSAttributeEventListener(value));
@@ -1389,7 +1389,7 @@ void setJSDocumentOnsubmit(ExecState* exec, JSObject* thisObject, JSValue value)
{
UNUSED_PARAM(exec);
Document* imp = static_cast<Document*>(static_cast<JSDocument*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOnsubmit(globalObject->createJSAttributeEventListener(value));
@@ -1399,7 +1399,7 @@ void setJSDocumentOnbeforecut(ExecState* exec, JSObject* thisObject, JSValue val
{
UNUSED_PARAM(exec);
Document* imp = static_cast<Document*>(static_cast<JSDocument*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOnbeforecut(globalObject->createJSAttributeEventListener(value));
@@ -1409,7 +1409,7 @@ void setJSDocumentOncut(ExecState* exec, JSObject* thisObject, JSValue value)
{
UNUSED_PARAM(exec);
Document* imp = static_cast<Document*>(static_cast<JSDocument*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOncut(globalObject->createJSAttributeEventListener(value));
@@ -1419,7 +1419,7 @@ void setJSDocumentOnbeforecopy(ExecState* exec, JSObject* thisObject, JSValue va
{
UNUSED_PARAM(exec);
Document* imp = static_cast<Document*>(static_cast<JSDocument*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOnbeforecopy(globalObject->createJSAttributeEventListener(value));
@@ -1429,7 +1429,7 @@ void setJSDocumentOncopy(ExecState* exec, JSObject* thisObject, JSValue value)
{
UNUSED_PARAM(exec);
Document* imp = static_cast<Document*>(static_cast<JSDocument*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOncopy(globalObject->createJSAttributeEventListener(value));
@@ -1439,7 +1439,7 @@ void setJSDocumentOnbeforepaste(ExecState* exec, JSObject* thisObject, JSValue v
{
UNUSED_PARAM(exec);
Document* imp = static_cast<Document*>(static_cast<JSDocument*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOnbeforepaste(globalObject->createJSAttributeEventListener(value));
@@ -1449,7 +1449,7 @@ void setJSDocumentOnpaste(ExecState* exec, JSObject* thisObject, JSValue value)
{
UNUSED_PARAM(exec);
Document* imp = static_cast<Document*>(static_cast<JSDocument*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOnpaste(globalObject->createJSAttributeEventListener(value));
@@ -1459,7 +1459,7 @@ void setJSDocumentOnreset(ExecState* exec, JSObject* thisObject, JSValue value)
{
UNUSED_PARAM(exec);
Document* imp = static_cast<Document*>(static_cast<JSDocument*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOnreset(globalObject->createJSAttributeEventListener(value));
@@ -1469,7 +1469,7 @@ void setJSDocumentOnsearch(ExecState* exec, JSObject* thisObject, JSValue value)
{
UNUSED_PARAM(exec);
Document* imp = static_cast<Document*>(static_cast<JSDocument*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOnsearch(globalObject->createJSAttributeEventListener(value));
@@ -1479,7 +1479,7 @@ void setJSDocumentOnselectstart(ExecState* exec, JSObject* thisObject, JSValue v
{
UNUSED_PARAM(exec);
Document* imp = static_cast<Document*>(static_cast<JSDocument*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOnselectstart(globalObject->createJSAttributeEventListener(value));
diff --git a/src/3rdparty/webkit/WebCore/generated/JSElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSElement.cpp
index 869c23f..3d3187f 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSElement.cpp
@@ -897,7 +897,7 @@ void setJSElementOnabort(ExecState* exec, JSObject* thisObject, JSValue value)
{
UNUSED_PARAM(exec);
Element* imp = static_cast<Element*>(static_cast<JSElement*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOnabort(globalObject->createJSAttributeEventListener(value));
@@ -907,7 +907,7 @@ void setJSElementOnblur(ExecState* exec, JSObject* thisObject, JSValue value)
{
UNUSED_PARAM(exec);
Element* imp = static_cast<Element*>(static_cast<JSElement*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOnblur(globalObject->createJSAttributeEventListener(value));
@@ -917,7 +917,7 @@ void setJSElementOnchange(ExecState* exec, JSObject* thisObject, JSValue value)
{
UNUSED_PARAM(exec);
Element* imp = static_cast<Element*>(static_cast<JSElement*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOnchange(globalObject->createJSAttributeEventListener(value));
@@ -927,7 +927,7 @@ void setJSElementOnclick(ExecState* exec, JSObject* thisObject, JSValue value)
{
UNUSED_PARAM(exec);
Element* imp = static_cast<Element*>(static_cast<JSElement*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOnclick(globalObject->createJSAttributeEventListener(value));
@@ -937,7 +937,7 @@ void setJSElementOncontextmenu(ExecState* exec, JSObject* thisObject, JSValue va
{
UNUSED_PARAM(exec);
Element* imp = static_cast<Element*>(static_cast<JSElement*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOncontextmenu(globalObject->createJSAttributeEventListener(value));
@@ -947,7 +947,7 @@ void setJSElementOndblclick(ExecState* exec, JSObject* thisObject, JSValue value
{
UNUSED_PARAM(exec);
Element* imp = static_cast<Element*>(static_cast<JSElement*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOndblclick(globalObject->createJSAttributeEventListener(value));
@@ -957,7 +957,7 @@ void setJSElementOndrag(ExecState* exec, JSObject* thisObject, JSValue value)
{
UNUSED_PARAM(exec);
Element* imp = static_cast<Element*>(static_cast<JSElement*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOndrag(globalObject->createJSAttributeEventListener(value));
@@ -967,7 +967,7 @@ void setJSElementOndragend(ExecState* exec, JSObject* thisObject, JSValue value)
{
UNUSED_PARAM(exec);
Element* imp = static_cast<Element*>(static_cast<JSElement*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOndragend(globalObject->createJSAttributeEventListener(value));
@@ -977,7 +977,7 @@ void setJSElementOndragenter(ExecState* exec, JSObject* thisObject, JSValue valu
{
UNUSED_PARAM(exec);
Element* imp = static_cast<Element*>(static_cast<JSElement*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOndragenter(globalObject->createJSAttributeEventListener(value));
@@ -987,7 +987,7 @@ void setJSElementOndragleave(ExecState* exec, JSObject* thisObject, JSValue valu
{
UNUSED_PARAM(exec);
Element* imp = static_cast<Element*>(static_cast<JSElement*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOndragleave(globalObject->createJSAttributeEventListener(value));
@@ -997,7 +997,7 @@ void setJSElementOndragover(ExecState* exec, JSObject* thisObject, JSValue value
{
UNUSED_PARAM(exec);
Element* imp = static_cast<Element*>(static_cast<JSElement*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOndragover(globalObject->createJSAttributeEventListener(value));
@@ -1007,7 +1007,7 @@ void setJSElementOndragstart(ExecState* exec, JSObject* thisObject, JSValue valu
{
UNUSED_PARAM(exec);
Element* imp = static_cast<Element*>(static_cast<JSElement*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOndragstart(globalObject->createJSAttributeEventListener(value));
@@ -1017,7 +1017,7 @@ void setJSElementOndrop(ExecState* exec, JSObject* thisObject, JSValue value)
{
UNUSED_PARAM(exec);
Element* imp = static_cast<Element*>(static_cast<JSElement*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOndrop(globalObject->createJSAttributeEventListener(value));
@@ -1027,7 +1027,7 @@ void setJSElementOnerror(ExecState* exec, JSObject* thisObject, JSValue value)
{
UNUSED_PARAM(exec);
Element* imp = static_cast<Element*>(static_cast<JSElement*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOnerror(globalObject->createJSAttributeEventListener(value));
@@ -1037,7 +1037,7 @@ void setJSElementOnfocus(ExecState* exec, JSObject* thisObject, JSValue value)
{
UNUSED_PARAM(exec);
Element* imp = static_cast<Element*>(static_cast<JSElement*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOnfocus(globalObject->createJSAttributeEventListener(value));
@@ -1047,7 +1047,7 @@ void setJSElementOninput(ExecState* exec, JSObject* thisObject, JSValue value)
{
UNUSED_PARAM(exec);
Element* imp = static_cast<Element*>(static_cast<JSElement*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOninput(globalObject->createJSAttributeEventListener(value));
@@ -1057,7 +1057,7 @@ void setJSElementOninvalid(ExecState* exec, JSObject* thisObject, JSValue value)
{
UNUSED_PARAM(exec);
Element* imp = static_cast<Element*>(static_cast<JSElement*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOninvalid(globalObject->createJSAttributeEventListener(value));
@@ -1067,7 +1067,7 @@ void setJSElementOnkeydown(ExecState* exec, JSObject* thisObject, JSValue value)
{
UNUSED_PARAM(exec);
Element* imp = static_cast<Element*>(static_cast<JSElement*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOnkeydown(globalObject->createJSAttributeEventListener(value));
@@ -1077,7 +1077,7 @@ void setJSElementOnkeypress(ExecState* exec, JSObject* thisObject, JSValue value
{
UNUSED_PARAM(exec);
Element* imp = static_cast<Element*>(static_cast<JSElement*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOnkeypress(globalObject->createJSAttributeEventListener(value));
@@ -1087,7 +1087,7 @@ void setJSElementOnkeyup(ExecState* exec, JSObject* thisObject, JSValue value)
{
UNUSED_PARAM(exec);
Element* imp = static_cast<Element*>(static_cast<JSElement*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOnkeyup(globalObject->createJSAttributeEventListener(value));
@@ -1097,7 +1097,7 @@ void setJSElementOnload(ExecState* exec, JSObject* thisObject, JSValue value)
{
UNUSED_PARAM(exec);
Element* imp = static_cast<Element*>(static_cast<JSElement*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOnload(globalObject->createJSAttributeEventListener(value));
@@ -1107,7 +1107,7 @@ void setJSElementOnmousedown(ExecState* exec, JSObject* thisObject, JSValue valu
{
UNUSED_PARAM(exec);
Element* imp = static_cast<Element*>(static_cast<JSElement*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOnmousedown(globalObject->createJSAttributeEventListener(value));
@@ -1117,7 +1117,7 @@ void setJSElementOnmousemove(ExecState* exec, JSObject* thisObject, JSValue valu
{
UNUSED_PARAM(exec);
Element* imp = static_cast<Element*>(static_cast<JSElement*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOnmousemove(globalObject->createJSAttributeEventListener(value));
@@ -1127,7 +1127,7 @@ void setJSElementOnmouseout(ExecState* exec, JSObject* thisObject, JSValue value
{
UNUSED_PARAM(exec);
Element* imp = static_cast<Element*>(static_cast<JSElement*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOnmouseout(globalObject->createJSAttributeEventListener(value));
@@ -1137,7 +1137,7 @@ void setJSElementOnmouseover(ExecState* exec, JSObject* thisObject, JSValue valu
{
UNUSED_PARAM(exec);
Element* imp = static_cast<Element*>(static_cast<JSElement*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOnmouseover(globalObject->createJSAttributeEventListener(value));
@@ -1147,7 +1147,7 @@ void setJSElementOnmouseup(ExecState* exec, JSObject* thisObject, JSValue value)
{
UNUSED_PARAM(exec);
Element* imp = static_cast<Element*>(static_cast<JSElement*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOnmouseup(globalObject->createJSAttributeEventListener(value));
@@ -1157,7 +1157,7 @@ void setJSElementOnmousewheel(ExecState* exec, JSObject* thisObject, JSValue val
{
UNUSED_PARAM(exec);
Element* imp = static_cast<Element*>(static_cast<JSElement*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOnmousewheel(globalObject->createJSAttributeEventListener(value));
@@ -1167,7 +1167,7 @@ void setJSElementOnscroll(ExecState* exec, JSObject* thisObject, JSValue value)
{
UNUSED_PARAM(exec);
Element* imp = static_cast<Element*>(static_cast<JSElement*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOnscroll(globalObject->createJSAttributeEventListener(value));
@@ -1177,7 +1177,7 @@ void setJSElementOnselect(ExecState* exec, JSObject* thisObject, JSValue value)
{
UNUSED_PARAM(exec);
Element* imp = static_cast<Element*>(static_cast<JSElement*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOnselect(globalObject->createJSAttributeEventListener(value));
@@ -1187,7 +1187,7 @@ void setJSElementOnsubmit(ExecState* exec, JSObject* thisObject, JSValue value)
{
UNUSED_PARAM(exec);
Element* imp = static_cast<Element*>(static_cast<JSElement*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOnsubmit(globalObject->createJSAttributeEventListener(value));
@@ -1197,7 +1197,7 @@ void setJSElementOnbeforecut(ExecState* exec, JSObject* thisObject, JSValue valu
{
UNUSED_PARAM(exec);
Element* imp = static_cast<Element*>(static_cast<JSElement*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOnbeforecut(globalObject->createJSAttributeEventListener(value));
@@ -1207,7 +1207,7 @@ void setJSElementOncut(ExecState* exec, JSObject* thisObject, JSValue value)
{
UNUSED_PARAM(exec);
Element* imp = static_cast<Element*>(static_cast<JSElement*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOncut(globalObject->createJSAttributeEventListener(value));
@@ -1217,7 +1217,7 @@ void setJSElementOnbeforecopy(ExecState* exec, JSObject* thisObject, JSValue val
{
UNUSED_PARAM(exec);
Element* imp = static_cast<Element*>(static_cast<JSElement*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOnbeforecopy(globalObject->createJSAttributeEventListener(value));
@@ -1227,7 +1227,7 @@ void setJSElementOncopy(ExecState* exec, JSObject* thisObject, JSValue value)
{
UNUSED_PARAM(exec);
Element* imp = static_cast<Element*>(static_cast<JSElement*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOncopy(globalObject->createJSAttributeEventListener(value));
@@ -1237,7 +1237,7 @@ void setJSElementOnbeforepaste(ExecState* exec, JSObject* thisObject, JSValue va
{
UNUSED_PARAM(exec);
Element* imp = static_cast<Element*>(static_cast<JSElement*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOnbeforepaste(globalObject->createJSAttributeEventListener(value));
@@ -1247,7 +1247,7 @@ void setJSElementOnpaste(ExecState* exec, JSObject* thisObject, JSValue value)
{
UNUSED_PARAM(exec);
Element* imp = static_cast<Element*>(static_cast<JSElement*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOnpaste(globalObject->createJSAttributeEventListener(value));
@@ -1257,7 +1257,7 @@ void setJSElementOnreset(ExecState* exec, JSObject* thisObject, JSValue value)
{
UNUSED_PARAM(exec);
Element* imp = static_cast<Element*>(static_cast<JSElement*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOnreset(globalObject->createJSAttributeEventListener(value));
@@ -1267,7 +1267,7 @@ void setJSElementOnsearch(ExecState* exec, JSObject* thisObject, JSValue value)
{
UNUSED_PARAM(exec);
Element* imp = static_cast<Element*>(static_cast<JSElement*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOnsearch(globalObject->createJSAttributeEventListener(value));
@@ -1277,7 +1277,7 @@ void setJSElementOnselectstart(ExecState* exec, JSObject* thisObject, JSValue va
{
UNUSED_PARAM(exec);
Element* imp = static_cast<Element*>(static_cast<JSElement*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOnselectstart(globalObject->createJSAttributeEventListener(value));
diff --git a/src/3rdparty/webkit/WebCore/generated/JSEvent.cpp b/src/3rdparty/webkit/WebCore/generated/JSEvent.cpp
index acd952f..67eefd0 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSEvent.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSEvent.cpp
@@ -199,7 +199,7 @@ JSEvent::JSEvent(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* glob
JSEvent::~JSEvent()
{
- forgetDOMObject(*Heap::heap(this)->globalData(), impl());
+ forgetDOMObject(this, impl());
}
JSObject* JSEvent::createPrototype(ExecState* exec, JSGlobalObject* globalObject)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSEventException.cpp b/src/3rdparty/webkit/WebCore/generated/JSEventException.cpp
index 2246c8f..bd25734 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSEventException.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSEventException.cpp
@@ -151,7 +151,7 @@ JSEventException::JSEventException(NonNullPassRefPtr<Structure> structure, JSDOM
JSEventException::~JSEventException()
{
- forgetDOMObject(*Heap::heap(this)->globalData(), impl());
+ forgetDOMObject(this, impl());
}
JSObject* JSEventException::createPrototype(ExecState* exec, JSGlobalObject* globalObject)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSEventSource.cpp b/src/3rdparty/webkit/WebCore/generated/JSEventSource.cpp
index dcec14e..526d8af 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSEventSource.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSEventSource.cpp
@@ -120,7 +120,7 @@ JSEventSource::JSEventSource(NonNullPassRefPtr<Structure> structure, JSDOMGlobal
JSEventSource::~JSEventSource()
{
impl()->invalidateEventListeners();
- forgetDOMObject(*Heap::heap(this)->globalData(), impl());
+ forgetDOMObject(this, impl());
}
void JSEventSource::markChildren(MarkStack& markStack)
@@ -205,7 +205,7 @@ void setJSEventSourceOnopen(ExecState* exec, JSObject* thisObject, JSValue value
{
UNUSED_PARAM(exec);
EventSource* imp = static_cast<EventSource*>(static_cast<JSEventSource*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOnopen(globalObject->createJSAttributeEventListener(value));
@@ -215,7 +215,7 @@ void setJSEventSourceOnmessage(ExecState* exec, JSObject* thisObject, JSValue va
{
UNUSED_PARAM(exec);
EventSource* imp = static_cast<EventSource*>(static_cast<JSEventSource*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOnmessage(globalObject->createJSAttributeEventListener(value));
@@ -225,7 +225,7 @@ void setJSEventSourceOnerror(ExecState* exec, JSObject* thisObject, JSValue valu
{
UNUSED_PARAM(exec);
EventSource* imp = static_cast<EventSource*>(static_cast<JSEventSource*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOnerror(globalObject->createJSAttributeEventListener(value));
diff --git a/src/3rdparty/webkit/WebCore/generated/JSFile.cpp b/src/3rdparty/webkit/WebCore/generated/JSFile.cpp
index 2ee62ae..59192af 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSFile.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSFile.cpp
@@ -128,7 +128,7 @@ JSFile::JSFile(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* global
JSFile::~JSFile()
{
- forgetDOMObject(*Heap::heap(this)->globalData(), impl());
+ forgetDOMObject(this, impl());
}
JSObject* JSFile::createPrototype(ExecState* exec, JSGlobalObject* globalObject)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSFileList.cpp b/src/3rdparty/webkit/WebCore/generated/JSFileList.cpp
index 931aae4..50e1f0a 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSFileList.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSFileList.cpp
@@ -141,7 +141,7 @@ JSFileList::JSFileList(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject
JSFileList::~JSFileList()
{
- forgetDOMObject(*Heap::heap(this)->globalData(), impl());
+ forgetDOMObject(this, impl());
}
JSObject* JSFileList::createPrototype(ExecState* exec, JSGlobalObject* globalObject)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSGeolocation.cpp b/src/3rdparty/webkit/WebCore/generated/JSGeolocation.cpp
index 17a0509..be50fac 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSGeolocation.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSGeolocation.cpp
@@ -92,7 +92,7 @@ JSGeolocation::JSGeolocation(NonNullPassRefPtr<Structure> structure, JSDOMGlobal
JSGeolocation::~JSGeolocation()
{
- forgetDOMObject(*Heap::heap(this)->globalData(), impl());
+ forgetDOMObject(this, impl());
}
JSObject* JSGeolocation::createPrototype(ExecState* exec, JSGlobalObject* globalObject)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSGeoposition.cpp b/src/3rdparty/webkit/WebCore/generated/JSGeoposition.cpp
index a77413b..ab42d2b 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSGeoposition.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSGeoposition.cpp
@@ -80,7 +80,7 @@ JSGeoposition::JSGeoposition(NonNullPassRefPtr<Structure> structure, JSDOMGlobal
JSGeoposition::~JSGeoposition()
{
- forgetDOMObject(*Heap::heap(this)->globalData(), impl());
+ forgetDOMObject(this, impl());
}
JSObject* JSGeoposition::createPrototype(ExecState* exec, JSGlobalObject* globalObject)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLAllCollection.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLAllCollection.cpp
new file mode 100644
index 0000000..4a8fc83
--- /dev/null
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLAllCollection.cpp
@@ -0,0 +1,292 @@
+/*
+ This file is part of the WebKit open source project.
+ This file has been generated by generate-bindings.pl. DO NOT MODIFY!
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "config.h"
+#include "JSHTMLAllCollection.h"
+
+#include "AtomicString.h"
+#include "HTMLAllCollection.h"
+#include "JSNode.h"
+#include "JSNodeList.h"
+#include "NameNodeList.h"
+#include "Node.h"
+#include "NodeList.h"
+#include <runtime/Error.h>
+#include <runtime/JSNumberCell.h>
+#include <runtime/PropertyNameArray.h>
+#include <wtf/GetPtr.h>
+
+using namespace JSC;
+
+namespace WebCore {
+
+ASSERT_CLASS_FITS_IN_CELL(JSHTMLAllCollection);
+
+/* Hash table */
+
+static const HashTableValue JSHTMLAllCollectionTableValues[3] =
+{
+ { "length", DontDelete|ReadOnly, (intptr_t)jsHTMLAllCollectionLength, (intptr_t)0 },
+ { "constructor", DontEnum|ReadOnly, (intptr_t)jsHTMLAllCollectionConstructor, (intptr_t)0 },
+ { 0, 0, 0, 0 }
+};
+
+static JSC_CONST_HASHTABLE HashTable JSHTMLAllCollectionTable =
+#if ENABLE(PERFECT_HASH_SIZE)
+ { 15, JSHTMLAllCollectionTableValues, 0 };
+#else
+ { 5, 3, JSHTMLAllCollectionTableValues, 0 };
+#endif
+
+/* Hash table for constructor */
+
+static const HashTableValue JSHTMLAllCollectionConstructorTableValues[1] =
+{
+ { 0, 0, 0, 0 }
+};
+
+static JSC_CONST_HASHTABLE HashTable JSHTMLAllCollectionConstructorTable =
+#if ENABLE(PERFECT_HASH_SIZE)
+ { 0, JSHTMLAllCollectionConstructorTableValues, 0 };
+#else
+ { 1, 0, JSHTMLAllCollectionConstructorTableValues, 0 };
+#endif
+
+class JSHTMLAllCollectionConstructor : public DOMConstructorObject {
+public:
+ JSHTMLAllCollectionConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSHTMLAllCollectionConstructor::createStructure(globalObject->objectPrototype()), globalObject)
+ {
+ putDirect(exec->propertyNames().prototype, JSHTMLAllCollectionPrototype::self(exec, globalObject), None);
+ }
+ virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
+ virtual bool getOwnPropertyDescriptor(ExecState*, const Identifier&, PropertyDescriptor&);
+ virtual const ClassInfo* classInfo() const { return &s_info; }
+ static const ClassInfo s_info;
+
+ static PassRefPtr<Structure> createStructure(JSValue proto)
+ {
+ return Structure::create(proto, TypeInfo(ObjectType, StructureFlags));
+ }
+
+protected:
+ static const unsigned StructureFlags = OverridesGetOwnPropertySlot | ImplementsHasInstance | DOMConstructorObject::StructureFlags;
+};
+
+const ClassInfo JSHTMLAllCollectionConstructor::s_info = { "HTMLAllCollectionConstructor", 0, &JSHTMLAllCollectionConstructorTable, 0 };
+
+bool JSHTMLAllCollectionConstructor::getOwnPropertySlot(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
+{
+ return getStaticValueSlot<JSHTMLAllCollectionConstructor, DOMObject>(exec, &JSHTMLAllCollectionConstructorTable, this, propertyName, slot);
+}
+
+bool JSHTMLAllCollectionConstructor::getOwnPropertyDescriptor(ExecState* exec, const Identifier& propertyName, PropertyDescriptor& descriptor)
+{
+ return getStaticValueDescriptor<JSHTMLAllCollectionConstructor, DOMObject>(exec, &JSHTMLAllCollectionConstructorTable, this, propertyName, descriptor);
+}
+
+/* Hash table for prototype */
+
+static const HashTableValue JSHTMLAllCollectionPrototypeTableValues[4] =
+{
+ { "item", DontDelete|Function, (intptr_t)jsHTMLAllCollectionPrototypeFunctionItem, (intptr_t)1 },
+ { "namedItem", DontDelete|Function, (intptr_t)jsHTMLAllCollectionPrototypeFunctionNamedItem, (intptr_t)1 },
+ { "tags", DontDelete|Function, (intptr_t)jsHTMLAllCollectionPrototypeFunctionTags, (intptr_t)1 },
+ { 0, 0, 0, 0 }
+};
+
+static JSC_CONST_HASHTABLE HashTable JSHTMLAllCollectionPrototypeTable =
+#if ENABLE(PERFECT_HASH_SIZE)
+ { 7, JSHTMLAllCollectionPrototypeTableValues, 0 };
+#else
+ { 8, 7, JSHTMLAllCollectionPrototypeTableValues, 0 };
+#endif
+
+const ClassInfo JSHTMLAllCollectionPrototype::s_info = { "HTMLAllCollectionPrototype", 0, &JSHTMLAllCollectionPrototypeTable, 0 };
+
+JSObject* JSHTMLAllCollectionPrototype::self(ExecState* exec, JSGlobalObject* globalObject)
+{
+ return getDOMPrototype<JSHTMLAllCollection>(exec, globalObject);
+}
+
+bool JSHTMLAllCollectionPrototype::getOwnPropertySlot(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
+{
+ return getStaticFunctionSlot<JSObject>(exec, &JSHTMLAllCollectionPrototypeTable, this, propertyName, slot);
+}
+
+bool JSHTMLAllCollectionPrototype::getOwnPropertyDescriptor(ExecState* exec, const Identifier& propertyName, PropertyDescriptor& descriptor)
+{
+ return getStaticFunctionDescriptor<JSObject>(exec, &JSHTMLAllCollectionPrototypeTable, this, propertyName, descriptor);
+}
+
+const ClassInfo JSHTMLAllCollection::s_info = { "HTMLAllCollection", 0, &JSHTMLAllCollectionTable, 0 };
+
+JSHTMLAllCollection::JSHTMLAllCollection(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLAllCollection> impl)
+ : DOMObjectWithGlobalPointer(structure, globalObject)
+ , m_impl(impl)
+{
+}
+
+JSHTMLAllCollection::~JSHTMLAllCollection()
+{
+ forgetDOMObject(this, impl());
+}
+
+JSObject* JSHTMLAllCollection::createPrototype(ExecState* exec, JSGlobalObject* globalObject)
+{
+ return new (exec) JSHTMLAllCollectionPrototype(JSHTMLAllCollectionPrototype::createStructure(globalObject->objectPrototype()));
+}
+
+bool JSHTMLAllCollection::getOwnPropertySlot(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
+{
+ JSValue proto = prototype();
+ if (proto.isObject() && static_cast<JSObject*>(asObject(proto))->hasProperty(exec, propertyName))
+ return false;
+
+ const HashEntry* entry = JSHTMLAllCollectionTable.entry(exec, propertyName);
+ if (entry) {
+ slot.setCustom(this, entry->propertyGetter());
+ return true;
+ }
+ bool ok;
+ unsigned index = propertyName.toUInt32(&ok, false);
+ if (ok && index < static_cast<HTMLAllCollection*>(impl())->length()) {
+ slot.setCustomIndex(this, index, indexGetter);
+ return true;
+ }
+ if (canGetItemsForName(exec, static_cast<HTMLAllCollection*>(impl()), propertyName)) {
+ slot.setCustom(this, nameGetter);
+ return true;
+ }
+ return getStaticValueSlot<JSHTMLAllCollection, Base>(exec, &JSHTMLAllCollectionTable, this, propertyName, slot);
+}
+
+bool JSHTMLAllCollection::getOwnPropertyDescriptor(ExecState* exec, const Identifier& propertyName, PropertyDescriptor& descriptor)
+{
+ JSValue proto = prototype();
+ if (proto.isObject() && static_cast<JSObject*>(asObject(proto))->hasProperty(exec, propertyName))
+ return false;
+
+ const HashEntry* entry = JSHTMLAllCollectionTable.entry(exec, propertyName);
+ if (entry) {
+ PropertySlot slot;
+ slot.setCustom(this, entry->propertyGetter());
+ descriptor.setDescriptor(slot.getValue(exec, propertyName), entry->attributes());
+ return true;
+ }
+ bool ok;
+ unsigned index = propertyName.toUInt32(&ok, false);
+ if (ok && index < static_cast<HTMLAllCollection*>(impl())->length()) {
+ PropertySlot slot;
+ slot.setCustomIndex(this, index, indexGetter);
+ descriptor.setDescriptor(slot.getValue(exec, propertyName), DontDelete | ReadOnly);
+ return true;
+ }
+ if (canGetItemsForName(exec, static_cast<HTMLAllCollection*>(impl()), propertyName)) {
+ PropertySlot slot;
+ slot.setCustom(this, nameGetter);
+ descriptor.setDescriptor(slot.getValue(exec, propertyName), ReadOnly | DontDelete | DontEnum);
+ return true;
+ }
+ return getStaticValueDescriptor<JSHTMLAllCollection, Base>(exec, &JSHTMLAllCollectionTable, this, propertyName, descriptor);
+}
+
+bool JSHTMLAllCollection::getOwnPropertySlot(ExecState* exec, unsigned propertyName, PropertySlot& slot)
+{
+ if (propertyName < static_cast<HTMLAllCollection*>(impl())->length()) {
+ slot.setCustomIndex(this, propertyName, indexGetter);
+ return true;
+ }
+ return getOwnPropertySlot(exec, Identifier::from(exec, propertyName), slot);
+}
+
+JSValue jsHTMLAllCollectionLength(ExecState* exec, const Identifier&, const PropertySlot& slot)
+{
+ JSHTMLAllCollection* castedThis = static_cast<JSHTMLAllCollection*>(asObject(slot.slotBase()));
+ UNUSED_PARAM(exec);
+ HTMLAllCollection* imp = static_cast<HTMLAllCollection*>(castedThis->impl());
+ return jsNumber(exec, imp->length());
+}
+
+JSValue jsHTMLAllCollectionConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
+{
+ JSHTMLAllCollection* domObject = static_cast<JSHTMLAllCollection*>(asObject(slot.slotBase()));
+ return JSHTMLAllCollection::getConstructor(exec, domObject->globalObject());
+}
+void JSHTMLAllCollection::getOwnPropertyNames(ExecState* exec, PropertyNameArray& propertyNames)
+{
+ for (unsigned i = 0; i < static_cast<HTMLAllCollection*>(impl())->length(); ++i)
+ propertyNames.add(Identifier::from(exec, i));
+ Base::getOwnPropertyNames(exec, propertyNames);
+}
+
+JSValue JSHTMLAllCollection::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
+{
+ return getDOMConstructor<JSHTMLAllCollectionConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
+}
+
+JSValue JSC_HOST_CALL jsHTMLAllCollectionPrototypeFunctionItem(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+{
+ UNUSED_PARAM(args);
+ if (!thisValue.inherits(&JSHTMLAllCollection::s_info))
+ return throwError(exec, TypeError);
+ JSHTMLAllCollection* castedThisObj = static_cast<JSHTMLAllCollection*>(asObject(thisValue));
+ return castedThisObj->item(exec, args);
+}
+
+JSValue JSC_HOST_CALL jsHTMLAllCollectionPrototypeFunctionNamedItem(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+{
+ UNUSED_PARAM(args);
+ if (!thisValue.inherits(&JSHTMLAllCollection::s_info))
+ return throwError(exec, TypeError);
+ JSHTMLAllCollection* castedThisObj = static_cast<JSHTMLAllCollection*>(asObject(thisValue));
+ return castedThisObj->namedItem(exec, args);
+}
+
+JSValue JSC_HOST_CALL jsHTMLAllCollectionPrototypeFunctionTags(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+{
+ UNUSED_PARAM(args);
+ if (!thisValue.inherits(&JSHTMLAllCollection::s_info))
+ return throwError(exec, TypeError);
+ JSHTMLAllCollection* castedThisObj = static_cast<JSHTMLAllCollection*>(asObject(thisValue));
+ HTMLAllCollection* imp = static_cast<HTMLAllCollection*>(castedThisObj->impl());
+ const UString& name = args.at(0).toString(exec);
+
+
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->tags(name)));
+ return result;
+}
+
+
+JSValue JSHTMLAllCollection::indexGetter(ExecState* exec, const Identifier&, const PropertySlot& slot)
+{
+ JSHTMLAllCollection* thisObj = static_cast<JSHTMLAllCollection*>(asObject(slot.slotBase()));
+ return toJS(exec, thisObj->globalObject(), static_cast<HTMLAllCollection*>(thisObj->impl())->item(slot.index()));
+}
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, HTMLAllCollection* object)
+{
+ return getDOMObjectWrapper<JSHTMLAllCollection>(exec, globalObject, object);
+}
+HTMLAllCollection* toHTMLAllCollection(JSC::JSValue value)
+{
+ return value.inherits(&JSHTMLAllCollection::s_info) ? static_cast<JSHTMLAllCollection*>(asObject(value))->impl() : 0;
+}
+
+}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLAllCollection.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLAllCollection.h
new file mode 100644
index 0000000..000986e
--- /dev/null
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLAllCollection.h
@@ -0,0 +1,104 @@
+/*
+ This file is part of the WebKit open source project.
+ This file has been generated by generate-bindings.pl. DO NOT MODIFY!
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef JSHTMLAllCollection_h
+#define JSHTMLAllCollection_h
+
+#include "DOMObjectWithSVGContext.h"
+#include "JSDOMBinding.h"
+#include <runtime/CallData.h>
+#include <runtime/JSGlobalObject.h>
+#include <runtime/ObjectPrototype.h>
+
+namespace WebCore {
+
+class HTMLAllCollection;
+
+class JSHTMLAllCollection : public DOMObjectWithGlobalPointer {
+ typedef DOMObjectWithGlobalPointer Base;
+public:
+ JSHTMLAllCollection(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLAllCollection>);
+ virtual ~JSHTMLAllCollection();
+ static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
+ virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
+ virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&);
+ virtual bool getOwnPropertySlot(JSC::ExecState*, unsigned propertyName, JSC::PropertySlot&);
+ virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
+ static const JSC::ClassInfo s_info;
+
+ static PassRefPtr<JSC::Structure> createStructure(JSC::JSValue prototype)
+ {
+ return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags));
+ }
+
+ virtual JSC::CallType getCallData(JSC::CallData&);
+
+ virtual void getOwnPropertyNames(JSC::ExecState*, JSC::PropertyNameArray&);
+ virtual bool toBoolean(JSC::ExecState*) const { return false; };
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
+
+ // Custom functions
+ JSC::JSValue item(JSC::ExecState*, const JSC::ArgList&);
+ JSC::JSValue namedItem(JSC::ExecState*, const JSC::ArgList&);
+ HTMLAllCollection* impl() const { return m_impl.get(); }
+
+private:
+ RefPtr<HTMLAllCollection> m_impl;
+protected:
+ static const unsigned StructureFlags = JSC::OverridesGetPropertyNames | JSC::OverridesGetOwnPropertySlot | JSC::MasqueradesAsUndefined | Base::StructureFlags;
+ static JSC::JSValue indexGetter(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
+private:
+ static bool canGetItemsForName(JSC::ExecState*, HTMLAllCollection*, const JSC::Identifier&);
+ static JSC::JSValue nameGetter(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
+};
+
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, HTMLAllCollection*);
+HTMLAllCollection* toHTMLAllCollection(JSC::JSValue);
+
+class JSHTMLAllCollectionPrototype : public JSC::JSObject {
+ typedef JSC::JSObject Base;
+public:
+ static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*);
+ virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
+ static const JSC::ClassInfo s_info;
+ virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier&, JSC::PropertySlot&);
+ virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier&, JSC::PropertyDescriptor&);
+ static PassRefPtr<JSC::Structure> createStructure(JSC::JSValue prototype)
+ {
+ return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags));
+ }
+ JSHTMLAllCollectionPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { }
+protected:
+ static const unsigned StructureFlags = JSC::OverridesGetOwnPropertySlot | Base::StructureFlags;
+};
+
+// Functions
+
+JSC::JSValue JSC_HOST_CALL jsHTMLAllCollectionPrototypeFunctionItem(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
+JSC::JSValue JSC_HOST_CALL jsHTMLAllCollectionPrototypeFunctionNamedItem(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
+JSC::JSValue JSC_HOST_CALL jsHTMLAllCollectionPrototypeFunctionTags(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
+// Attributes
+
+JSC::JSValue jsHTMLAllCollectionLength(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
+JSC::JSValue jsHTMLAllCollectionConstructor(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
+
+} // namespace WebCore
+
+#endif
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLBodyElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLBodyElement.cpp
index 920f152..5e81799 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLBodyElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLBodyElement.cpp
@@ -350,7 +350,7 @@ void setJSHTMLBodyElementOnbeforeunload(ExecState* exec, JSObject* thisObject, J
{
UNUSED_PARAM(exec);
HTMLBodyElement* imp = static_cast<HTMLBodyElement*>(static_cast<JSHTMLBodyElement*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOnbeforeunload(globalObject->createJSAttributeEventListener(value));
@@ -360,7 +360,7 @@ void setJSHTMLBodyElementOnhashchange(ExecState* exec, JSObject* thisObject, JSV
{
UNUSED_PARAM(exec);
HTMLBodyElement* imp = static_cast<HTMLBodyElement*>(static_cast<JSHTMLBodyElement*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOnhashchange(globalObject->createJSAttributeEventListener(value));
@@ -370,7 +370,7 @@ void setJSHTMLBodyElementOnmessage(ExecState* exec, JSObject* thisObject, JSValu
{
UNUSED_PARAM(exec);
HTMLBodyElement* imp = static_cast<HTMLBodyElement*>(static_cast<JSHTMLBodyElement*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOnmessage(globalObject->createJSAttributeEventListener(value));
@@ -380,7 +380,7 @@ void setJSHTMLBodyElementOnoffline(ExecState* exec, JSObject* thisObject, JSValu
{
UNUSED_PARAM(exec);
HTMLBodyElement* imp = static_cast<HTMLBodyElement*>(static_cast<JSHTMLBodyElement*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOnoffline(globalObject->createJSAttributeEventListener(value));
@@ -390,7 +390,7 @@ void setJSHTMLBodyElementOnonline(ExecState* exec, JSObject* thisObject, JSValue
{
UNUSED_PARAM(exec);
HTMLBodyElement* imp = static_cast<HTMLBodyElement*>(static_cast<JSHTMLBodyElement*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOnonline(globalObject->createJSAttributeEventListener(value));
@@ -400,7 +400,7 @@ void setJSHTMLBodyElementOnresize(ExecState* exec, JSObject* thisObject, JSValue
{
UNUSED_PARAM(exec);
HTMLBodyElement* imp = static_cast<HTMLBodyElement*>(static_cast<JSHTMLBodyElement*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOnresize(globalObject->createJSAttributeEventListener(value));
@@ -410,7 +410,7 @@ void setJSHTMLBodyElementOnstorage(ExecState* exec, JSObject* thisObject, JSValu
{
UNUSED_PARAM(exec);
HTMLBodyElement* imp = static_cast<HTMLBodyElement*>(static_cast<JSHTMLBodyElement*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOnstorage(globalObject->createJSAttributeEventListener(value));
@@ -420,7 +420,7 @@ void setJSHTMLBodyElementOnunload(ExecState* exec, JSObject* thisObject, JSValue
{
UNUSED_PARAM(exec);
HTMLBodyElement* imp = static_cast<HTMLBodyElement*>(static_cast<JSHTMLBodyElement*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOnunload(globalObject->createJSAttributeEventListener(value));
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLCollection.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLCollection.cpp
index 63c0d93..213b3c5 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLCollection.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLCollection.cpp
@@ -24,10 +24,7 @@
#include "AtomicString.h"
#include "HTMLCollection.h"
#include "JSNode.h"
-#include "JSNodeList.h"
-#include "NameNodeList.h"
#include "Node.h"
-#include "NodeList.h"
#include <runtime/Error.h>
#include <runtime/JSNumberCell.h>
#include <runtime/PropertyNameArray.h>
@@ -104,11 +101,10 @@ bool JSHTMLCollectionConstructor::getOwnPropertyDescriptor(ExecState* exec, cons
/* Hash table for prototype */
-static const HashTableValue JSHTMLCollectionPrototypeTableValues[4] =
+static const HashTableValue JSHTMLCollectionPrototypeTableValues[3] =
{
{ "item", DontDelete|Function, (intptr_t)jsHTMLCollectionPrototypeFunctionItem, (intptr_t)1 },
{ "namedItem", DontDelete|Function, (intptr_t)jsHTMLCollectionPrototypeFunctionNamedItem, (intptr_t)1 },
- { "tags", DontDelete|Function, (intptr_t)jsHTMLCollectionPrototypeFunctionTags, (intptr_t)1 },
{ 0, 0, 0, 0 }
};
@@ -116,7 +112,7 @@ static JSC_CONST_HASHTABLE HashTable JSHTMLCollectionPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 7, JSHTMLCollectionPrototypeTableValues, 0 };
#else
- { 8, 7, JSHTMLCollectionPrototypeTableValues, 0 };
+ { 5, 3, JSHTMLCollectionPrototypeTableValues, 0 };
#endif
const ClassInfo JSHTMLCollectionPrototype::s_info = { "HTMLCollectionPrototype", 0, &JSHTMLCollectionPrototypeTable, 0 };
@@ -146,7 +142,7 @@ JSHTMLCollection::JSHTMLCollection(NonNullPassRefPtr<Structure> structure, JSDOM
JSHTMLCollection::~JSHTMLCollection()
{
- forgetDOMObject(*Heap::heap(this)->globalData(), impl());
+ forgetDOMObject(this, impl());
}
JSObject* JSHTMLCollection::createPrototype(ExecState* exec, JSGlobalObject* globalObject)
@@ -260,20 +256,6 @@ JSValue JSC_HOST_CALL jsHTMLCollectionPrototypeFunctionNamedItem(ExecState* exec
return castedThisObj->namedItem(exec, args);
}
-JSValue JSC_HOST_CALL jsHTMLCollectionPrototypeFunctionTags(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
-{
- UNUSED_PARAM(args);
- if (!thisValue.inherits(&JSHTMLCollection::s_info))
- return throwError(exec, TypeError);
- JSHTMLCollection* castedThisObj = static_cast<JSHTMLCollection*>(asObject(thisValue));
- HTMLCollection* imp = static_cast<HTMLCollection*>(castedThisObj->impl());
- const UString& name = args.at(0).toString(exec);
-
-
- JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->tags(name)));
- return result;
-}
-
JSValue JSHTMLCollection::indexGetter(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLCollection.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLCollection.h
index 447f620..e14a2c2 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLCollection.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLCollection.h
@@ -92,7 +92,6 @@ protected:
JSC::JSValue JSC_HOST_CALL jsHTMLCollectionPrototypeFunctionItem(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
JSC::JSValue JSC_HOST_CALL jsHTMLCollectionPrototypeFunctionNamedItem(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
-JSC::JSValue JSC_HOST_CALL jsHTMLCollectionPrototypeFunctionTags(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
// Attributes
JSC::JSValue jsHTMLCollectionLength(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLFrameSetElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLFrameSetElement.cpp
index f336c76..9e506a0 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLFrameSetElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLFrameSetElement.cpp
@@ -300,7 +300,7 @@ void setJSHTMLFrameSetElementOnbeforeunload(ExecState* exec, JSObject* thisObjec
{
UNUSED_PARAM(exec);
HTMLFrameSetElement* imp = static_cast<HTMLFrameSetElement*>(static_cast<JSHTMLFrameSetElement*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOnbeforeunload(globalObject->createJSAttributeEventListener(value));
@@ -310,7 +310,7 @@ void setJSHTMLFrameSetElementOnhashchange(ExecState* exec, JSObject* thisObject,
{
UNUSED_PARAM(exec);
HTMLFrameSetElement* imp = static_cast<HTMLFrameSetElement*>(static_cast<JSHTMLFrameSetElement*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOnhashchange(globalObject->createJSAttributeEventListener(value));
@@ -320,7 +320,7 @@ void setJSHTMLFrameSetElementOnmessage(ExecState* exec, JSObject* thisObject, JS
{
UNUSED_PARAM(exec);
HTMLFrameSetElement* imp = static_cast<HTMLFrameSetElement*>(static_cast<JSHTMLFrameSetElement*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOnmessage(globalObject->createJSAttributeEventListener(value));
@@ -330,7 +330,7 @@ void setJSHTMLFrameSetElementOnoffline(ExecState* exec, JSObject* thisObject, JS
{
UNUSED_PARAM(exec);
HTMLFrameSetElement* imp = static_cast<HTMLFrameSetElement*>(static_cast<JSHTMLFrameSetElement*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOnoffline(globalObject->createJSAttributeEventListener(value));
@@ -340,7 +340,7 @@ void setJSHTMLFrameSetElementOnonline(ExecState* exec, JSObject* thisObject, JSV
{
UNUSED_PARAM(exec);
HTMLFrameSetElement* imp = static_cast<HTMLFrameSetElement*>(static_cast<JSHTMLFrameSetElement*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOnonline(globalObject->createJSAttributeEventListener(value));
@@ -350,7 +350,7 @@ void setJSHTMLFrameSetElementOnresize(ExecState* exec, JSObject* thisObject, JSV
{
UNUSED_PARAM(exec);
HTMLFrameSetElement* imp = static_cast<HTMLFrameSetElement*>(static_cast<JSHTMLFrameSetElement*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOnresize(globalObject->createJSAttributeEventListener(value));
@@ -360,7 +360,7 @@ void setJSHTMLFrameSetElementOnstorage(ExecState* exec, JSObject* thisObject, JS
{
UNUSED_PARAM(exec);
HTMLFrameSetElement* imp = static_cast<HTMLFrameSetElement*>(static_cast<JSHTMLFrameSetElement*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOnstorage(globalObject->createJSAttributeEventListener(value));
@@ -370,7 +370,7 @@ void setJSHTMLFrameSetElementOnunload(ExecState* exec, JSObject* thisObject, JSV
{
UNUSED_PARAM(exec);
HTMLFrameSetElement* imp = static_cast<HTMLFrameSetElement*>(static_cast<JSHTMLFrameSetElement*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOnunload(globalObject->createJSAttributeEventListener(value));
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHistory.cpp b/src/3rdparty/webkit/WebCore/generated/JSHistory.cpp
index 5331441..02be6ba 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHistory.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSHistory.cpp
@@ -92,7 +92,7 @@ JSHistory::JSHistory(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject*
JSHistory::~JSHistory()
{
- forgetDOMObject(*Heap::heap(this)->globalData(), impl());
+ forgetDOMObject(this, impl());
}
JSObject* JSHistory::createPrototype(ExecState* exec, JSGlobalObject* globalObject)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSImageData.cpp b/src/3rdparty/webkit/WebCore/generated/JSImageData.cpp
index a21fb87..1de3c43 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSImageData.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSImageData.cpp
@@ -126,7 +126,7 @@ JSImageData::JSImageData(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObje
JSImageData::~JSImageData()
{
- forgetDOMObject(*Heap::heap(this)->globalData(), impl());
+ forgetDOMObject(this, impl());
}
JSObject* JSImageData::createPrototype(ExecState* exec, JSGlobalObject* globalObject)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSInspectorBackend.cpp b/src/3rdparty/webkit/WebCore/generated/JSInspectorBackend.cpp
index 8da82cc..f72baaa 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSInspectorBackend.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSInspectorBackend.cpp
@@ -214,7 +214,7 @@ JSInspectorBackend::JSInspectorBackend(NonNullPassRefPtr<Structure> structure, J
JSInspectorBackend::~JSInspectorBackend()
{
- forgetDOMObject(*Heap::heap(this)->globalData(), impl());
+ forgetDOMObject(this, impl());
}
JSObject* JSInspectorBackend::createPrototype(ExecState* exec, JSGlobalObject* globalObject)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSJavaScriptCallFrame.cpp b/src/3rdparty/webkit/WebCore/generated/JSJavaScriptCallFrame.cpp
index 798d540..2acd1af 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSJavaScriptCallFrame.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSJavaScriptCallFrame.cpp
@@ -101,7 +101,7 @@ JSJavaScriptCallFrame::JSJavaScriptCallFrame(NonNullPassRefPtr<Structure> struct
JSJavaScriptCallFrame::~JSJavaScriptCallFrame()
{
- forgetDOMObject(*Heap::heap(this)->globalData(), impl());
+ forgetDOMObject(this, impl());
}
JSObject* JSJavaScriptCallFrame::createPrototype(ExecState* exec, JSGlobalObject* globalObject)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSLocation.cpp b/src/3rdparty/webkit/WebCore/generated/JSLocation.cpp
index ca21205..bb4d56c 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSLocation.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSLocation.cpp
@@ -108,7 +108,7 @@ JSLocation::JSLocation(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject
JSLocation::~JSLocation()
{
- forgetDOMObject(*Heap::heap(this)->globalData(), impl());
+ forgetDOMObject(this, impl());
}
JSObject* JSLocation::createPrototype(ExecState* exec, JSGlobalObject* globalObject)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSMedia.cpp b/src/3rdparty/webkit/WebCore/generated/JSMedia.cpp
index b7d4c19..93cde9f 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSMedia.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSMedia.cpp
@@ -138,7 +138,7 @@ JSMedia::JSMedia(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* glob
JSMedia::~JSMedia()
{
- forgetDOMObject(*Heap::heap(this)->globalData(), impl());
+ forgetDOMObject(this, impl());
}
JSObject* JSMedia::createPrototype(ExecState* exec, JSGlobalObject* globalObject)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSMediaError.cpp b/src/3rdparty/webkit/WebCore/generated/JSMediaError.cpp
index 97e35e0..534a585 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSMediaError.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSMediaError.cpp
@@ -146,7 +146,7 @@ JSMediaError::JSMediaError(NonNullPassRefPtr<Structure> structure, JSDOMGlobalOb
JSMediaError::~JSMediaError()
{
- forgetDOMObject(*Heap::heap(this)->globalData(), impl());
+ forgetDOMObject(this, impl());
}
JSObject* JSMediaError::createPrototype(ExecState* exec, JSGlobalObject* globalObject)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSMediaList.cpp b/src/3rdparty/webkit/WebCore/generated/JSMediaList.cpp
index 93a17b4..e7b758e 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSMediaList.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSMediaList.cpp
@@ -142,7 +142,7 @@ JSMediaList::JSMediaList(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObje
JSMediaList::~JSMediaList()
{
- forgetDOMObject(*Heap::heap(this)->globalData(), impl());
+ forgetDOMObject(this, impl());
}
JSObject* JSMediaList::createPrototype(ExecState* exec, JSGlobalObject* globalObject)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSMessageChannel.cpp b/src/3rdparty/webkit/WebCore/generated/JSMessageChannel.cpp
index 4fdac64..8ba6f01 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSMessageChannel.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSMessageChannel.cpp
@@ -87,7 +87,7 @@ JSMessageChannel::JSMessageChannel(NonNullPassRefPtr<Structure> structure, JSDOM
JSMessageChannel::~JSMessageChannel()
{
- forgetDOMObject(*Heap::heap(this)->globalData(), impl());
+ forgetDOMObject(this, impl());
}
JSObject* JSMessageChannel::createPrototype(ExecState* exec, JSGlobalObject* globalObject)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSMessagePort.cpp b/src/3rdparty/webkit/WebCore/generated/JSMessagePort.cpp
index 28e1492..a65091c 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSMessagePort.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSMessagePort.cpp
@@ -158,7 +158,7 @@ JSMessagePort::JSMessagePort(NonNullPassRefPtr<Structure> structure, JSDOMGlobal
JSMessagePort::~JSMessagePort()
{
impl()->invalidateEventListeners();
- forgetDOMObject(*Heap::heap(this)->globalData(), impl());
+ forgetDOMObject(this, impl());
}
JSObject* JSMessagePort::createPrototype(ExecState* exec, JSGlobalObject* globalObject)
@@ -202,7 +202,7 @@ void setJSMessagePortOnmessage(ExecState* exec, JSObject* thisObject, JSValue va
{
UNUSED_PARAM(exec);
MessagePort* imp = static_cast<MessagePort*>(static_cast<JSMessagePort*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOnmessage(globalObject->createJSAttributeEventListener(value));
diff --git a/src/3rdparty/webkit/WebCore/generated/JSMimeType.cpp b/src/3rdparty/webkit/WebCore/generated/JSMimeType.cpp
index f797df2..c91aaeb 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSMimeType.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSMimeType.cpp
@@ -131,7 +131,7 @@ JSMimeType::JSMimeType(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject
JSMimeType::~JSMimeType()
{
- forgetDOMObject(*Heap::heap(this)->globalData(), impl());
+ forgetDOMObject(this, impl());
}
JSObject* JSMimeType::createPrototype(ExecState* exec, JSGlobalObject* globalObject)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSMimeTypeArray.cpp b/src/3rdparty/webkit/WebCore/generated/JSMimeTypeArray.cpp
index 0384539..3c7b740 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSMimeTypeArray.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSMimeTypeArray.cpp
@@ -142,7 +142,7 @@ JSMimeTypeArray::JSMimeTypeArray(NonNullPassRefPtr<Structure> structure, JSDOMGl
JSMimeTypeArray::~JSMimeTypeArray()
{
- forgetDOMObject(*Heap::heap(this)->globalData(), impl());
+ forgetDOMObject(this, impl());
}
JSObject* JSMimeTypeArray::createPrototype(ExecState* exec, JSGlobalObject* globalObject)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSNamedNodeMap.cpp b/src/3rdparty/webkit/WebCore/generated/JSNamedNodeMap.cpp
index e3cc8d2..e9c79a1 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSNamedNodeMap.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSNamedNodeMap.cpp
@@ -147,7 +147,7 @@ JSNamedNodeMap::JSNamedNodeMap(NonNullPassRefPtr<Structure> structure, JSDOMGlob
JSNamedNodeMap::~JSNamedNodeMap()
{
- forgetDOMObject(*Heap::heap(this)->globalData(), impl());
+ forgetDOMObject(this, impl());
}
JSObject* JSNamedNodeMap::createPrototype(ExecState* exec, JSGlobalObject* globalObject)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSNavigator.cpp b/src/3rdparty/webkit/WebCore/generated/JSNavigator.cpp
index 6dcda62..1c8e190 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSNavigator.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSNavigator.cpp
@@ -108,7 +108,7 @@ JSNavigator::JSNavigator(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObje
JSNavigator::~JSNavigator()
{
- forgetDOMObject(*Heap::heap(this)->globalData(), impl());
+ forgetDOMObject(this, impl());
}
JSObject* JSNavigator::createPrototype(ExecState* exec, JSGlobalObject* globalObject)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSNode.cpp b/src/3rdparty/webkit/WebCore/generated/JSNode.cpp
index e132829..e3a2006 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSNode.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSNode.cpp
@@ -221,7 +221,7 @@ JSNode::JSNode(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* global
JSNode::~JSNode()
{
impl()->invalidateEventListeners();
- forgetDOMNode(impl()->document(), impl());
+ forgetDOMNode(this, impl(), impl()->document());
}
JSObject* JSNode::createPrototype(ExecState* exec, JSGlobalObject* globalObject)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSNodeFilter.cpp b/src/3rdparty/webkit/WebCore/generated/JSNodeFilter.cpp
index 141a060..22726f6 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSNodeFilter.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSNodeFilter.cpp
@@ -167,7 +167,7 @@ JSNodeFilter::JSNodeFilter(NonNullPassRefPtr<Structure> structure, JSDOMGlobalOb
JSNodeFilter::~JSNodeFilter()
{
- forgetDOMObject(*Heap::heap(this)->globalData(), impl());
+ forgetDOMObject(this, impl());
}
JSObject* JSNodeFilter::createPrototype(ExecState* exec, JSGlobalObject* globalObject)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSNodeIterator.cpp b/src/3rdparty/webkit/WebCore/generated/JSNodeIterator.cpp
index cf85e40..8570d24 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSNodeIterator.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSNodeIterator.cpp
@@ -148,7 +148,7 @@ JSNodeIterator::JSNodeIterator(NonNullPassRefPtr<Structure> structure, JSDOMGlob
JSNodeIterator::~JSNodeIterator()
{
- forgetDOMObject(*Heap::heap(this)->globalData(), impl());
+ forgetDOMObject(this, impl());
}
JSObject* JSNodeIterator::createPrototype(ExecState* exec, JSGlobalObject* globalObject)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSNodeList.cpp b/src/3rdparty/webkit/WebCore/generated/JSNodeList.cpp
index 01ee9ac..3f3131e 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSNodeList.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSNodeList.cpp
@@ -142,7 +142,7 @@ JSNodeList::JSNodeList(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject
JSNodeList::~JSNodeList()
{
- forgetDOMObject(*Heap::heap(this)->globalData(), impl());
+ forgetDOMObject(this, impl());
}
JSObject* JSNodeList::createPrototype(ExecState* exec, JSGlobalObject* globalObject)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSPlugin.cpp b/src/3rdparty/webkit/WebCore/generated/JSPlugin.cpp
index 035a352..1c7b6ec 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSPlugin.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSPlugin.cpp
@@ -147,7 +147,7 @@ JSPlugin::JSPlugin(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* gl
JSPlugin::~JSPlugin()
{
- forgetDOMObject(*Heap::heap(this)->globalData(), impl());
+ forgetDOMObject(this, impl());
}
JSObject* JSPlugin::createPrototype(ExecState* exec, JSGlobalObject* globalObject)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSPluginArray.cpp b/src/3rdparty/webkit/WebCore/generated/JSPluginArray.cpp
index bd0b579..38a9346 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSPluginArray.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSPluginArray.cpp
@@ -143,7 +143,7 @@ JSPluginArray::JSPluginArray(NonNullPassRefPtr<Structure> structure, JSDOMGlobal
JSPluginArray::~JSPluginArray()
{
- forgetDOMObject(*Heap::heap(this)->globalData(), impl());
+ forgetDOMObject(this, impl());
}
JSObject* JSPluginArray::createPrototype(ExecState* exec, JSGlobalObject* globalObject)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSPositionError.cpp b/src/3rdparty/webkit/WebCore/generated/JSPositionError.cpp
index e178bd9..fffa0c1 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSPositionError.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSPositionError.cpp
@@ -146,7 +146,7 @@ JSPositionError::JSPositionError(NonNullPassRefPtr<Structure> structure, JSDOMGl
JSPositionError::~JSPositionError()
{
- forgetDOMObject(*Heap::heap(this)->globalData(), impl());
+ forgetDOMObject(this, impl());
}
JSObject* JSPositionError::createPrototype(ExecState* exec, JSGlobalObject* globalObject)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSRGBColor.cpp b/src/3rdparty/webkit/WebCore/generated/JSRGBColor.cpp
index 0dff99a..e45ce66 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSRGBColor.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSRGBColor.cpp
@@ -128,7 +128,7 @@ JSRGBColor::JSRGBColor(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject
JSRGBColor::~JSRGBColor()
{
- forgetDOMObject(*Heap::heap(this)->globalData(), impl());
+ forgetDOMObject(this, impl());
}
JSObject* JSRGBColor::createPrototype(ExecState* exec, JSGlobalObject* globalObject)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSRange.cpp b/src/3rdparty/webkit/WebCore/generated/JSRange.cpp
index cc59119..bc9979b 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSRange.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSRange.cpp
@@ -194,7 +194,7 @@ JSRange::JSRange(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* glob
JSRange::~JSRange()
{
- forgetDOMObject(*Heap::heap(this)->globalData(), impl());
+ forgetDOMObject(this, impl());
}
JSObject* JSRange::createPrototype(ExecState* exec, JSGlobalObject* globalObject)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSRangeException.cpp b/src/3rdparty/webkit/WebCore/generated/JSRangeException.cpp
index 2f8e618..bbb172d 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSRangeException.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSRangeException.cpp
@@ -145,7 +145,7 @@ JSRangeException::JSRangeException(NonNullPassRefPtr<Structure> structure, JSDOM
JSRangeException::~JSRangeException()
{
- forgetDOMObject(*Heap::heap(this)->globalData(), impl());
+ forgetDOMObject(this, impl());
}
JSObject* JSRangeException::createPrototype(ExecState* exec, JSGlobalObject* globalObject)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSRect.cpp b/src/3rdparty/webkit/WebCore/generated/JSRect.cpp
index 37c4669..e57d688 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSRect.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSRect.cpp
@@ -129,7 +129,7 @@ JSRect::JSRect(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* global
JSRect::~JSRect()
{
- forgetDOMObject(*Heap::heap(this)->globalData(), impl());
+ forgetDOMObject(this, impl());
}
JSObject* JSRect::createPrototype(ExecState* exec, JSGlobalObject* globalObject)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSQLError.cpp b/src/3rdparty/webkit/WebCore/generated/JSSQLError.cpp
index a318e1d..79fdc89 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSQLError.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSQLError.cpp
@@ -83,7 +83,7 @@ JSSQLError::JSSQLError(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject
JSSQLError::~JSSQLError()
{
- forgetDOMObject(*Heap::heap(this)->globalData(), impl());
+ forgetDOMObject(this, impl());
}
JSObject* JSSQLError::createPrototype(ExecState* exec, JSGlobalObject* globalObject)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSQLResultSet.cpp b/src/3rdparty/webkit/WebCore/generated/JSSQLResultSet.cpp
index 223de95..fa85ad6 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSQLResultSet.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSQLResultSet.cpp
@@ -84,7 +84,7 @@ JSSQLResultSet::JSSQLResultSet(NonNullPassRefPtr<Structure> structure, JSDOMGlob
JSSQLResultSet::~JSSQLResultSet()
{
- forgetDOMObject(*Heap::heap(this)->globalData(), impl());
+ forgetDOMObject(this, impl());
}
JSObject* JSSQLResultSet::createPrototype(ExecState* exec, JSGlobalObject* globalObject)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSQLResultSetRowList.cpp b/src/3rdparty/webkit/WebCore/generated/JSSQLResultSetRowList.cpp
index dddf0c4..090e4f7 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSQLResultSetRowList.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSQLResultSetRowList.cpp
@@ -92,7 +92,7 @@ JSSQLResultSetRowList::JSSQLResultSetRowList(NonNullPassRefPtr<Structure> struct
JSSQLResultSetRowList::~JSSQLResultSetRowList()
{
- forgetDOMObject(*Heap::heap(this)->globalData(), impl());
+ forgetDOMObject(this, impl());
}
JSObject* JSSQLResultSetRowList::createPrototype(ExecState* exec, JSGlobalObject* globalObject)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSQLTransaction.cpp b/src/3rdparty/webkit/WebCore/generated/JSSQLTransaction.cpp
index c2c0e54..e165dad 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSQLTransaction.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSQLTransaction.cpp
@@ -76,7 +76,7 @@ JSSQLTransaction::JSSQLTransaction(NonNullPassRefPtr<Structure> structure, JSDOM
JSSQLTransaction::~JSSQLTransaction()
{
- forgetDOMObject(*Heap::heap(this)->globalData(), impl());
+ forgetDOMObject(this, impl());
}
JSObject* JSSQLTransaction::createPrototype(ExecState* exec, JSGlobalObject* globalObject)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGAngle.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGAngle.cpp
index 220f4a6..e6d4795 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGAngle.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGAngle.cpp
@@ -156,7 +156,7 @@ JSSVGAngle::JSSVGAngle(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject
JSSVGAngle::~JSSVGAngle()
{
- forgetDOMObject(*Heap::heap(this)->globalData(), impl());
+ forgetDOMObject(this, impl());
}
JSObject* JSSVGAngle::createPrototype(ExecState* exec, JSGlobalObject* globalObject)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedAngle.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedAngle.cpp
index c09ce1c..599f5ca 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedAngle.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedAngle.cpp
@@ -81,7 +81,7 @@ JSSVGAnimatedAngle::JSSVGAnimatedAngle(NonNullPassRefPtr<Structure> structure, J
JSSVGAnimatedAngle::~JSSVGAnimatedAngle()
{
- forgetDOMObject(*Heap::heap(this)->globalData(), impl());
+ forgetDOMObject(this, impl());
}
JSObject* JSSVGAnimatedAngle::createPrototype(ExecState* exec, JSGlobalObject* globalObject)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedBoolean.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedBoolean.cpp
index fb3f4c8..131b358 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedBoolean.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedBoolean.cpp
@@ -79,7 +79,7 @@ JSSVGAnimatedBoolean::JSSVGAnimatedBoolean(NonNullPassRefPtr<Structure> structur
JSSVGAnimatedBoolean::~JSSVGAnimatedBoolean()
{
- forgetDOMObject(*Heap::heap(this)->globalData(), impl());
+ forgetDOMObject(this, impl());
}
JSObject* JSSVGAnimatedBoolean::createPrototype(ExecState* exec, JSGlobalObject* globalObject)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedEnumeration.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedEnumeration.cpp
index 8fbe43e..6a27988 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedEnumeration.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedEnumeration.cpp
@@ -80,7 +80,7 @@ JSSVGAnimatedEnumeration::JSSVGAnimatedEnumeration(NonNullPassRefPtr<Structure>
JSSVGAnimatedEnumeration::~JSSVGAnimatedEnumeration()
{
- forgetDOMObject(*Heap::heap(this)->globalData(), impl());
+ forgetDOMObject(this, impl());
}
JSObject* JSSVGAnimatedEnumeration::createPrototype(ExecState* exec, JSGlobalObject* globalObject)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedInteger.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedInteger.cpp
index f52a51b..86c388b 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedInteger.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedInteger.cpp
@@ -80,7 +80,7 @@ JSSVGAnimatedInteger::JSSVGAnimatedInteger(NonNullPassRefPtr<Structure> structur
JSSVGAnimatedInteger::~JSSVGAnimatedInteger()
{
- forgetDOMObject(*Heap::heap(this)->globalData(), impl());
+ forgetDOMObject(this, impl());
}
JSObject* JSSVGAnimatedInteger::createPrototype(ExecState* exec, JSGlobalObject* globalObject)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedLength.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedLength.cpp
index 50826a7..f5fff5e 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedLength.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedLength.cpp
@@ -80,7 +80,7 @@ JSSVGAnimatedLength::JSSVGAnimatedLength(NonNullPassRefPtr<Structure> structure,
JSSVGAnimatedLength::~JSSVGAnimatedLength()
{
- forgetDOMObject(*Heap::heap(this)->globalData(), impl());
+ forgetDOMObject(this, impl());
}
JSObject* JSSVGAnimatedLength::createPrototype(ExecState* exec, JSGlobalObject* globalObject)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedLengthList.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedLengthList.cpp
index b0c3743..5525640 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedLengthList.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedLengthList.cpp
@@ -81,7 +81,7 @@ JSSVGAnimatedLengthList::JSSVGAnimatedLengthList(NonNullPassRefPtr<Structure> st
JSSVGAnimatedLengthList::~JSSVGAnimatedLengthList()
{
- forgetDOMObject(*Heap::heap(this)->globalData(), impl());
+ forgetDOMObject(this, impl());
}
JSObject* JSSVGAnimatedLengthList::createPrototype(ExecState* exec, JSGlobalObject* globalObject)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedNumber.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedNumber.cpp
index ef16117..69f1490 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedNumber.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedNumber.cpp
@@ -80,7 +80,7 @@ JSSVGAnimatedNumber::JSSVGAnimatedNumber(NonNullPassRefPtr<Structure> structure,
JSSVGAnimatedNumber::~JSSVGAnimatedNumber()
{
- forgetDOMObject(*Heap::heap(this)->globalData(), impl());
+ forgetDOMObject(this, impl());
}
JSObject* JSSVGAnimatedNumber::createPrototype(ExecState* exec, JSGlobalObject* globalObject)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedNumberList.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedNumberList.cpp
index af11dbd..0fa8afa 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedNumberList.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedNumberList.cpp
@@ -81,7 +81,7 @@ JSSVGAnimatedNumberList::JSSVGAnimatedNumberList(NonNullPassRefPtr<Structure> st
JSSVGAnimatedNumberList::~JSSVGAnimatedNumberList()
{
- forgetDOMObject(*Heap::heap(this)->globalData(), impl());
+ forgetDOMObject(this, impl());
}
JSObject* JSSVGAnimatedNumberList::createPrototype(ExecState* exec, JSGlobalObject* globalObject)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedPreserveAspectRatio.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedPreserveAspectRatio.cpp
index 53f0b60..b64ee3a 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedPreserveAspectRatio.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedPreserveAspectRatio.cpp
@@ -81,7 +81,7 @@ JSSVGAnimatedPreserveAspectRatio::JSSVGAnimatedPreserveAspectRatio(NonNullPassRe
JSSVGAnimatedPreserveAspectRatio::~JSSVGAnimatedPreserveAspectRatio()
{
- forgetDOMObject(*Heap::heap(this)->globalData(), impl());
+ forgetDOMObject(this, impl());
}
JSObject* JSSVGAnimatedPreserveAspectRatio::createPrototype(ExecState* exec, JSGlobalObject* globalObject)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedRect.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedRect.cpp
index 432a4d5..0db579b 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedRect.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedRect.cpp
@@ -81,7 +81,7 @@ JSSVGAnimatedRect::JSSVGAnimatedRect(NonNullPassRefPtr<Structure> structure, JSD
JSSVGAnimatedRect::~JSSVGAnimatedRect()
{
- forgetDOMObject(*Heap::heap(this)->globalData(), impl());
+ forgetDOMObject(this, impl());
}
JSObject* JSSVGAnimatedRect::createPrototype(ExecState* exec, JSGlobalObject* globalObject)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedString.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedString.cpp
index c3ccd92..a26a070 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedString.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedString.cpp
@@ -82,7 +82,7 @@ JSSVGAnimatedString::JSSVGAnimatedString(NonNullPassRefPtr<Structure> structure,
JSSVGAnimatedString::~JSSVGAnimatedString()
{
- forgetDOMObject(*Heap::heap(this)->globalData(), impl());
+ forgetDOMObject(this, impl());
}
JSObject* JSSVGAnimatedString::createPrototype(ExecState* exec, JSGlobalObject* globalObject)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedTransformList.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedTransformList.cpp
index 52b2395..62c3121 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedTransformList.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedTransformList.cpp
@@ -81,7 +81,7 @@ JSSVGAnimatedTransformList::JSSVGAnimatedTransformList(NonNullPassRefPtr<Structu
JSSVGAnimatedTransformList::~JSSVGAnimatedTransformList()
{
- forgetDOMObject(*Heap::heap(this)->globalData(), impl());
+ forgetDOMObject(this, impl());
}
JSObject* JSSVGAnimatedTransformList::createPrototype(ExecState* exec, JSGlobalObject* globalObject)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGElementInstance.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGElementInstance.cpp
index 10d375d..1bb0736 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGElementInstance.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGElementInstance.cpp
@@ -153,7 +153,7 @@ JSSVGElementInstance::JSSVGElementInstance(NonNullPassRefPtr<Structure> structur
JSSVGElementInstance::~JSSVGElementInstance()
{
- forgetDOMObject(*Heap::heap(this)->globalData(), impl());
+ forgetDOMObject(this, impl());
}
JSObject* JSSVGElementInstance::createPrototype(ExecState* exec, JSGlobalObject* globalObject)
@@ -724,7 +724,7 @@ void setJSSVGElementInstanceOnabort(ExecState* exec, JSObject* thisObject, JSVal
{
UNUSED_PARAM(exec);
SVGElementInstance* imp = static_cast<SVGElementInstance*>(static_cast<JSSVGElementInstance*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOnabort(globalObject->createJSAttributeEventListener(value));
@@ -734,7 +734,7 @@ void setJSSVGElementInstanceOnblur(ExecState* exec, JSObject* thisObject, JSValu
{
UNUSED_PARAM(exec);
SVGElementInstance* imp = static_cast<SVGElementInstance*>(static_cast<JSSVGElementInstance*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOnblur(globalObject->createJSAttributeEventListener(value));
@@ -744,7 +744,7 @@ void setJSSVGElementInstanceOnchange(ExecState* exec, JSObject* thisObject, JSVa
{
UNUSED_PARAM(exec);
SVGElementInstance* imp = static_cast<SVGElementInstance*>(static_cast<JSSVGElementInstance*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOnchange(globalObject->createJSAttributeEventListener(value));
@@ -754,7 +754,7 @@ void setJSSVGElementInstanceOnclick(ExecState* exec, JSObject* thisObject, JSVal
{
UNUSED_PARAM(exec);
SVGElementInstance* imp = static_cast<SVGElementInstance*>(static_cast<JSSVGElementInstance*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOnclick(globalObject->createJSAttributeEventListener(value));
@@ -764,7 +764,7 @@ void setJSSVGElementInstanceOncontextmenu(ExecState* exec, JSObject* thisObject,
{
UNUSED_PARAM(exec);
SVGElementInstance* imp = static_cast<SVGElementInstance*>(static_cast<JSSVGElementInstance*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOncontextmenu(globalObject->createJSAttributeEventListener(value));
@@ -774,7 +774,7 @@ void setJSSVGElementInstanceOndblclick(ExecState* exec, JSObject* thisObject, JS
{
UNUSED_PARAM(exec);
SVGElementInstance* imp = static_cast<SVGElementInstance*>(static_cast<JSSVGElementInstance*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOndblclick(globalObject->createJSAttributeEventListener(value));
@@ -784,7 +784,7 @@ void setJSSVGElementInstanceOnerror(ExecState* exec, JSObject* thisObject, JSVal
{
UNUSED_PARAM(exec);
SVGElementInstance* imp = static_cast<SVGElementInstance*>(static_cast<JSSVGElementInstance*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOnerror(globalObject->createJSAttributeEventListener(value));
@@ -794,7 +794,7 @@ void setJSSVGElementInstanceOnfocus(ExecState* exec, JSObject* thisObject, JSVal
{
UNUSED_PARAM(exec);
SVGElementInstance* imp = static_cast<SVGElementInstance*>(static_cast<JSSVGElementInstance*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOnfocus(globalObject->createJSAttributeEventListener(value));
@@ -804,7 +804,7 @@ void setJSSVGElementInstanceOninput(ExecState* exec, JSObject* thisObject, JSVal
{
UNUSED_PARAM(exec);
SVGElementInstance* imp = static_cast<SVGElementInstance*>(static_cast<JSSVGElementInstance*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOninput(globalObject->createJSAttributeEventListener(value));
@@ -814,7 +814,7 @@ void setJSSVGElementInstanceOnkeydown(ExecState* exec, JSObject* thisObject, JSV
{
UNUSED_PARAM(exec);
SVGElementInstance* imp = static_cast<SVGElementInstance*>(static_cast<JSSVGElementInstance*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOnkeydown(globalObject->createJSAttributeEventListener(value));
@@ -824,7 +824,7 @@ void setJSSVGElementInstanceOnkeypress(ExecState* exec, JSObject* thisObject, JS
{
UNUSED_PARAM(exec);
SVGElementInstance* imp = static_cast<SVGElementInstance*>(static_cast<JSSVGElementInstance*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOnkeypress(globalObject->createJSAttributeEventListener(value));
@@ -834,7 +834,7 @@ void setJSSVGElementInstanceOnkeyup(ExecState* exec, JSObject* thisObject, JSVal
{
UNUSED_PARAM(exec);
SVGElementInstance* imp = static_cast<SVGElementInstance*>(static_cast<JSSVGElementInstance*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOnkeyup(globalObject->createJSAttributeEventListener(value));
@@ -844,7 +844,7 @@ void setJSSVGElementInstanceOnload(ExecState* exec, JSObject* thisObject, JSValu
{
UNUSED_PARAM(exec);
SVGElementInstance* imp = static_cast<SVGElementInstance*>(static_cast<JSSVGElementInstance*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOnload(globalObject->createJSAttributeEventListener(value));
@@ -854,7 +854,7 @@ void setJSSVGElementInstanceOnmousedown(ExecState* exec, JSObject* thisObject, J
{
UNUSED_PARAM(exec);
SVGElementInstance* imp = static_cast<SVGElementInstance*>(static_cast<JSSVGElementInstance*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOnmousedown(globalObject->createJSAttributeEventListener(value));
@@ -864,7 +864,7 @@ void setJSSVGElementInstanceOnmousemove(ExecState* exec, JSObject* thisObject, J
{
UNUSED_PARAM(exec);
SVGElementInstance* imp = static_cast<SVGElementInstance*>(static_cast<JSSVGElementInstance*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOnmousemove(globalObject->createJSAttributeEventListener(value));
@@ -874,7 +874,7 @@ void setJSSVGElementInstanceOnmouseout(ExecState* exec, JSObject* thisObject, JS
{
UNUSED_PARAM(exec);
SVGElementInstance* imp = static_cast<SVGElementInstance*>(static_cast<JSSVGElementInstance*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOnmouseout(globalObject->createJSAttributeEventListener(value));
@@ -884,7 +884,7 @@ void setJSSVGElementInstanceOnmouseover(ExecState* exec, JSObject* thisObject, J
{
UNUSED_PARAM(exec);
SVGElementInstance* imp = static_cast<SVGElementInstance*>(static_cast<JSSVGElementInstance*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOnmouseover(globalObject->createJSAttributeEventListener(value));
@@ -894,7 +894,7 @@ void setJSSVGElementInstanceOnmouseup(ExecState* exec, JSObject* thisObject, JSV
{
UNUSED_PARAM(exec);
SVGElementInstance* imp = static_cast<SVGElementInstance*>(static_cast<JSSVGElementInstance*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOnmouseup(globalObject->createJSAttributeEventListener(value));
@@ -904,7 +904,7 @@ void setJSSVGElementInstanceOnmousewheel(ExecState* exec, JSObject* thisObject,
{
UNUSED_PARAM(exec);
SVGElementInstance* imp = static_cast<SVGElementInstance*>(static_cast<JSSVGElementInstance*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOnmousewheel(globalObject->createJSAttributeEventListener(value));
@@ -914,7 +914,7 @@ void setJSSVGElementInstanceOnbeforecut(ExecState* exec, JSObject* thisObject, J
{
UNUSED_PARAM(exec);
SVGElementInstance* imp = static_cast<SVGElementInstance*>(static_cast<JSSVGElementInstance*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOnbeforecut(globalObject->createJSAttributeEventListener(value));
@@ -924,7 +924,7 @@ void setJSSVGElementInstanceOncut(ExecState* exec, JSObject* thisObject, JSValue
{
UNUSED_PARAM(exec);
SVGElementInstance* imp = static_cast<SVGElementInstance*>(static_cast<JSSVGElementInstance*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOncut(globalObject->createJSAttributeEventListener(value));
@@ -934,7 +934,7 @@ void setJSSVGElementInstanceOnbeforecopy(ExecState* exec, JSObject* thisObject,
{
UNUSED_PARAM(exec);
SVGElementInstance* imp = static_cast<SVGElementInstance*>(static_cast<JSSVGElementInstance*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOnbeforecopy(globalObject->createJSAttributeEventListener(value));
@@ -944,7 +944,7 @@ void setJSSVGElementInstanceOncopy(ExecState* exec, JSObject* thisObject, JSValu
{
UNUSED_PARAM(exec);
SVGElementInstance* imp = static_cast<SVGElementInstance*>(static_cast<JSSVGElementInstance*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOncopy(globalObject->createJSAttributeEventListener(value));
@@ -954,7 +954,7 @@ void setJSSVGElementInstanceOnbeforepaste(ExecState* exec, JSObject* thisObject,
{
UNUSED_PARAM(exec);
SVGElementInstance* imp = static_cast<SVGElementInstance*>(static_cast<JSSVGElementInstance*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOnbeforepaste(globalObject->createJSAttributeEventListener(value));
@@ -964,7 +964,7 @@ void setJSSVGElementInstanceOnpaste(ExecState* exec, JSObject* thisObject, JSVal
{
UNUSED_PARAM(exec);
SVGElementInstance* imp = static_cast<SVGElementInstance*>(static_cast<JSSVGElementInstance*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOnpaste(globalObject->createJSAttributeEventListener(value));
@@ -974,7 +974,7 @@ void setJSSVGElementInstanceOndragenter(ExecState* exec, JSObject* thisObject, J
{
UNUSED_PARAM(exec);
SVGElementInstance* imp = static_cast<SVGElementInstance*>(static_cast<JSSVGElementInstance*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOndragenter(globalObject->createJSAttributeEventListener(value));
@@ -984,7 +984,7 @@ void setJSSVGElementInstanceOndragover(ExecState* exec, JSObject* thisObject, JS
{
UNUSED_PARAM(exec);
SVGElementInstance* imp = static_cast<SVGElementInstance*>(static_cast<JSSVGElementInstance*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOndragover(globalObject->createJSAttributeEventListener(value));
@@ -994,7 +994,7 @@ void setJSSVGElementInstanceOndragleave(ExecState* exec, JSObject* thisObject, J
{
UNUSED_PARAM(exec);
SVGElementInstance* imp = static_cast<SVGElementInstance*>(static_cast<JSSVGElementInstance*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOndragleave(globalObject->createJSAttributeEventListener(value));
@@ -1004,7 +1004,7 @@ void setJSSVGElementInstanceOndrop(ExecState* exec, JSObject* thisObject, JSValu
{
UNUSED_PARAM(exec);
SVGElementInstance* imp = static_cast<SVGElementInstance*>(static_cast<JSSVGElementInstance*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOndrop(globalObject->createJSAttributeEventListener(value));
@@ -1014,7 +1014,7 @@ void setJSSVGElementInstanceOndragstart(ExecState* exec, JSObject* thisObject, J
{
UNUSED_PARAM(exec);
SVGElementInstance* imp = static_cast<SVGElementInstance*>(static_cast<JSSVGElementInstance*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOndragstart(globalObject->createJSAttributeEventListener(value));
@@ -1024,7 +1024,7 @@ void setJSSVGElementInstanceOndrag(ExecState* exec, JSObject* thisObject, JSValu
{
UNUSED_PARAM(exec);
SVGElementInstance* imp = static_cast<SVGElementInstance*>(static_cast<JSSVGElementInstance*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOndrag(globalObject->createJSAttributeEventListener(value));
@@ -1034,7 +1034,7 @@ void setJSSVGElementInstanceOndragend(ExecState* exec, JSObject* thisObject, JSV
{
UNUSED_PARAM(exec);
SVGElementInstance* imp = static_cast<SVGElementInstance*>(static_cast<JSSVGElementInstance*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOndragend(globalObject->createJSAttributeEventListener(value));
@@ -1044,7 +1044,7 @@ void setJSSVGElementInstanceOnreset(ExecState* exec, JSObject* thisObject, JSVal
{
UNUSED_PARAM(exec);
SVGElementInstance* imp = static_cast<SVGElementInstance*>(static_cast<JSSVGElementInstance*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOnreset(globalObject->createJSAttributeEventListener(value));
@@ -1054,7 +1054,7 @@ void setJSSVGElementInstanceOnresize(ExecState* exec, JSObject* thisObject, JSVa
{
UNUSED_PARAM(exec);
SVGElementInstance* imp = static_cast<SVGElementInstance*>(static_cast<JSSVGElementInstance*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOnresize(globalObject->createJSAttributeEventListener(value));
@@ -1064,7 +1064,7 @@ void setJSSVGElementInstanceOnscroll(ExecState* exec, JSObject* thisObject, JSVa
{
UNUSED_PARAM(exec);
SVGElementInstance* imp = static_cast<SVGElementInstance*>(static_cast<JSSVGElementInstance*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOnscroll(globalObject->createJSAttributeEventListener(value));
@@ -1074,7 +1074,7 @@ void setJSSVGElementInstanceOnsearch(ExecState* exec, JSObject* thisObject, JSVa
{
UNUSED_PARAM(exec);
SVGElementInstance* imp = static_cast<SVGElementInstance*>(static_cast<JSSVGElementInstance*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOnsearch(globalObject->createJSAttributeEventListener(value));
@@ -1084,7 +1084,7 @@ void setJSSVGElementInstanceOnselect(ExecState* exec, JSObject* thisObject, JSVa
{
UNUSED_PARAM(exec);
SVGElementInstance* imp = static_cast<SVGElementInstance*>(static_cast<JSSVGElementInstance*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOnselect(globalObject->createJSAttributeEventListener(value));
@@ -1094,7 +1094,7 @@ void setJSSVGElementInstanceOnselectstart(ExecState* exec, JSObject* thisObject,
{
UNUSED_PARAM(exec);
SVGElementInstance* imp = static_cast<SVGElementInstance*>(static_cast<JSSVGElementInstance*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOnselectstart(globalObject->createJSAttributeEventListener(value));
@@ -1104,7 +1104,7 @@ void setJSSVGElementInstanceOnsubmit(ExecState* exec, JSObject* thisObject, JSVa
{
UNUSED_PARAM(exec);
SVGElementInstance* imp = static_cast<SVGElementInstance*>(static_cast<JSSVGElementInstance*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOnsubmit(globalObject->createJSAttributeEventListener(value));
@@ -1114,7 +1114,7 @@ void setJSSVGElementInstanceOnunload(ExecState* exec, JSObject* thisObject, JSVa
{
UNUSED_PARAM(exec);
SVGElementInstance* imp = static_cast<SVGElementInstance*>(static_cast<JSSVGElementInstance*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOnunload(globalObject->createJSAttributeEventListener(value));
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGElementInstanceList.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGElementInstanceList.cpp
index 8bc5bc0..893cc76 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGElementInstanceList.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGElementInstanceList.cpp
@@ -94,7 +94,7 @@ JSSVGElementInstanceList::JSSVGElementInstanceList(NonNullPassRefPtr<Structure>
JSSVGElementInstanceList::~JSSVGElementInstanceList()
{
- forgetDOMObject(*Heap::heap(this)->globalData(), impl());
+ forgetDOMObject(this, impl());
}
JSObject* JSSVGElementInstanceList::createPrototype(ExecState* exec, JSGlobalObject* globalObject)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGException.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGException.cpp
index 039182f..8906774 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGException.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGException.cpp
@@ -150,7 +150,7 @@ JSSVGException::JSSVGException(NonNullPassRefPtr<Structure> structure, JSDOMGlob
JSSVGException::~JSSVGException()
{
- forgetDOMObject(*Heap::heap(this)->globalData(), impl());
+ forgetDOMObject(this, impl());
}
JSObject* JSSVGException::createPrototype(ExecState* exec, JSGlobalObject* globalObject)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGLength.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGLength.cpp
index f97df89..0bcf836 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGLength.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGLength.cpp
@@ -169,7 +169,7 @@ JSSVGLength::JSSVGLength(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObje
JSSVGLength::~JSSVGLength()
{
JSSVGDynamicPODTypeWrapperCache<SVGLength, SVGAnimatedLength>::forgetWrapper(m_impl.get());
- forgetDOMObject(*Heap::heap(this)->globalData(), impl());
+ forgetDOMObject(this, impl());
}
JSObject* JSSVGLength::createPrototype(ExecState* exec, JSGlobalObject* globalObject)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGLengthList.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGLengthList.cpp
index 952a5f0..a984bd1 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGLengthList.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGLengthList.cpp
@@ -100,7 +100,7 @@ JSSVGLengthList::JSSVGLengthList(NonNullPassRefPtr<Structure> structure, JSDOMGl
JSSVGLengthList::~JSSVGLengthList()
{
- forgetDOMObject(*Heap::heap(this)->globalData(), impl());
+ forgetDOMObject(this, impl());
}
JSObject* JSSVGLengthList::createPrototype(ExecState* exec, JSGlobalObject* globalObject)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGMatrix.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGMatrix.cpp
index ba8dfe8..d46ce6f 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGMatrix.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGMatrix.cpp
@@ -107,7 +107,7 @@ JSSVGMatrix::JSSVGMatrix(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObje
JSSVGMatrix::~JSSVGMatrix()
{
- forgetDOMObject(*Heap::heap(this)->globalData(), impl());
+ forgetDOMObject(this, impl());
}
JSObject* JSSVGMatrix::createPrototype(ExecState* exec, JSGlobalObject* globalObject)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGNumber.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGNumber.cpp
index 2bfe658..8ba2042 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGNumber.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGNumber.cpp
@@ -79,7 +79,7 @@ JSSVGNumber::JSSVGNumber(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObje
JSSVGNumber::~JSSVGNumber()
{
- forgetDOMObject(*Heap::heap(this)->globalData(), impl());
+ forgetDOMObject(this, impl());
}
JSObject* JSSVGNumber::createPrototype(ExecState* exec, JSGlobalObject* globalObject)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGNumberList.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGNumberList.cpp
index dc6f5a4..fa0e3cf 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGNumberList.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGNumberList.cpp
@@ -99,7 +99,7 @@ JSSVGNumberList::JSSVGNumberList(NonNullPassRefPtr<Structure> structure, JSDOMGl
JSSVGNumberList::~JSSVGNumberList()
{
- forgetDOMObject(*Heap::heap(this)->globalData(), impl());
+ forgetDOMObject(this, impl());
}
JSObject* JSSVGNumberList::createPrototype(ExecState* exec, JSGlobalObject* globalObject)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSeg.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSeg.cpp
index 2f1ecbd..767098b 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSeg.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSeg.cpp
@@ -181,7 +181,7 @@ JSSVGPathSeg::JSSVGPathSeg(NonNullPassRefPtr<Structure> structure, JSDOMGlobalOb
JSSVGPathSeg::~JSSVGPathSeg()
{
- forgetDOMObject(*Heap::heap(this)->globalData(), impl());
+ forgetDOMObject(this, impl());
}
JSObject* JSSVGPathSeg::createPrototype(ExecState* exec, JSGlobalObject* globalObject)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegList.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegList.cpp
index 0043533..9a35c1b 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegList.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegList.cpp
@@ -99,7 +99,7 @@ JSSVGPathSegList::JSSVGPathSegList(NonNullPassRefPtr<Structure> structure, JSDOM
JSSVGPathSegList::~JSSVGPathSegList()
{
- forgetDOMObject(*Heap::heap(this)->globalData(), impl());
+ forgetDOMObject(this, impl());
}
JSObject* JSSVGPathSegList::createPrototype(ExecState* exec, JSGlobalObject* globalObject)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPoint.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGPoint.cpp
index e4c2415..67c35e2 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGPoint.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPoint.cpp
@@ -94,7 +94,7 @@ JSSVGPoint::JSSVGPoint(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject
JSSVGPoint::~JSSVGPoint()
{
- forgetDOMObject(*Heap::heap(this)->globalData(), impl());
+ forgetDOMObject(this, impl());
}
JSObject* JSSVGPoint::createPrototype(ExecState* exec, JSGlobalObject* globalObject)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPointList.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGPointList.cpp
index 4a22ff9..6968c80 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGPointList.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPointList.cpp
@@ -98,7 +98,7 @@ JSSVGPointList::JSSVGPointList(NonNullPassRefPtr<Structure> structure, JSDOMGlob
JSSVGPointList::~JSSVGPointList()
{
- forgetDOMObject(*Heap::heap(this)->globalData(), impl());
+ forgetDOMObject(this, impl());
}
JSObject* JSSVGPointList::createPrototype(ExecState* exec, JSGlobalObject* globalObject)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPreserveAspectRatio.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGPreserveAspectRatio.cpp
index 0f3329c..578cd34 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGPreserveAspectRatio.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPreserveAspectRatio.cpp
@@ -167,7 +167,7 @@ JSSVGPreserveAspectRatio::JSSVGPreserveAspectRatio(NonNullPassRefPtr<Structure>
JSSVGPreserveAspectRatio::~JSSVGPreserveAspectRatio()
{
- forgetDOMObject(*Heap::heap(this)->globalData(), impl());
+ forgetDOMObject(this, impl());
}
JSObject* JSSVGPreserveAspectRatio::createPrototype(ExecState* exec, JSGlobalObject* globalObject)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGRect.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGRect.cpp
index 8360b4b..e60a309 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGRect.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGRect.cpp
@@ -83,7 +83,7 @@ JSSVGRect::JSSVGRect(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject*
JSSVGRect::~JSSVGRect()
{
JSSVGDynamicPODTypeWrapperCache<FloatRect, SVGAnimatedRect>::forgetWrapper(m_impl.get());
- forgetDOMObject(*Heap::heap(this)->globalData(), impl());
+ forgetDOMObject(this, impl());
}
JSObject* JSSVGRect::createPrototype(ExecState* exec, JSGlobalObject* globalObject)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGRenderingIntent.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGRenderingIntent.cpp
index b484fbf..1793c23 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGRenderingIntent.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGRenderingIntent.cpp
@@ -148,7 +148,7 @@ JSSVGRenderingIntent::JSSVGRenderingIntent(NonNullPassRefPtr<Structure> structur
JSSVGRenderingIntent::~JSSVGRenderingIntent()
{
- forgetDOMObject(*Heap::heap(this)->globalData(), impl());
+ forgetDOMObject(this, impl());
}
JSObject* JSSVGRenderingIntent::createPrototype(ExecState* exec, JSGlobalObject* globalObject)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGStringList.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGStringList.cpp
index d4a6935..591ca64 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGStringList.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGStringList.cpp
@@ -100,7 +100,7 @@ JSSVGStringList::JSSVGStringList(NonNullPassRefPtr<Structure> structure, JSDOMGl
JSSVGStringList::~JSSVGStringList()
{
- forgetDOMObject(*Heap::heap(this)->globalData(), impl());
+ forgetDOMObject(this, impl());
}
JSObject* JSSVGStringList::createPrototype(ExecState* exec, JSGlobalObject* globalObject)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGTransform.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGTransform.cpp
index 82cddb6..2f51e56 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGTransform.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGTransform.cpp
@@ -162,7 +162,7 @@ JSSVGTransform::JSSVGTransform(NonNullPassRefPtr<Structure> structure, JSDOMGlob
JSSVGTransform::~JSSVGTransform()
{
- forgetDOMObject(*Heap::heap(this)->globalData(), impl());
+ forgetDOMObject(this, impl());
}
JSObject* JSSVGTransform::createPrototype(ExecState* exec, JSGlobalObject* globalObject)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGTransformList.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGTransformList.cpp
index 51c0cca..8ce9342 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGTransformList.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGTransformList.cpp
@@ -103,7 +103,7 @@ JSSVGTransformList::JSSVGTransformList(NonNullPassRefPtr<Structure> structure, J
JSSVGTransformList::~JSSVGTransformList()
{
- forgetDOMObject(*Heap::heap(this)->globalData(), impl());
+ forgetDOMObject(this, impl());
}
JSObject* JSSVGTransformList::createPrototype(ExecState* exec, JSGlobalObject* globalObject)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGUnitTypes.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGUnitTypes.cpp
index 452fc9c..fb3321a 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGUnitTypes.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGUnitTypes.cpp
@@ -142,7 +142,7 @@ JSSVGUnitTypes::JSSVGUnitTypes(NonNullPassRefPtr<Structure> structure, JSDOMGlob
JSSVGUnitTypes::~JSSVGUnitTypes()
{
- forgetDOMObject(*Heap::heap(this)->globalData(), impl());
+ forgetDOMObject(this, impl());
}
JSObject* JSSVGUnitTypes::createPrototype(ExecState* exec, JSGlobalObject* globalObject)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSScreen.cpp b/src/3rdparty/webkit/WebCore/generated/JSScreen.cpp
index 574f44c..7ccffa3 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSScreen.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSScreen.cpp
@@ -84,7 +84,7 @@ JSScreen::JSScreen(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* gl
JSScreen::~JSScreen()
{
- forgetDOMObject(*Heap::heap(this)->globalData(), impl());
+ forgetDOMObject(this, impl());
}
JSObject* JSScreen::createPrototype(ExecState* exec, JSGlobalObject* globalObject)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSStorage.cpp b/src/3rdparty/webkit/WebCore/generated/JSStorage.cpp
index 998b8cf..e0ae01b 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSStorage.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSStorage.cpp
@@ -147,7 +147,7 @@ JSStorage::JSStorage(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject*
JSStorage::~JSStorage()
{
- forgetDOMObject(*Heap::heap(this)->globalData(), impl());
+ forgetDOMObject(this, impl());
}
JSObject* JSStorage::createPrototype(ExecState* exec, JSGlobalObject* globalObject)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSStyleSheet.cpp b/src/3rdparty/webkit/WebCore/generated/JSStyleSheet.cpp
index ae7011d..b84ab6b 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSStyleSheet.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSStyleSheet.cpp
@@ -136,7 +136,7 @@ JSStyleSheet::JSStyleSheet(NonNullPassRefPtr<Structure> structure, JSDOMGlobalOb
JSStyleSheet::~JSStyleSheet()
{
- forgetDOMObject(*Heap::heap(this)->globalData(), impl());
+ forgetDOMObject(this, impl());
}
JSObject* JSStyleSheet::createPrototype(ExecState* exec, JSGlobalObject* globalObject)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSStyleSheetList.cpp b/src/3rdparty/webkit/WebCore/generated/JSStyleSheetList.cpp
index 5d07cc1..db3d083 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSStyleSheetList.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSStyleSheetList.cpp
@@ -141,7 +141,7 @@ JSStyleSheetList::JSStyleSheetList(NonNullPassRefPtr<Structure> structure, JSDOM
JSStyleSheetList::~JSStyleSheetList()
{
- forgetDOMObject(*Heap::heap(this)->globalData(), impl());
+ forgetDOMObject(this, impl());
}
JSObject* JSStyleSheetList::createPrototype(ExecState* exec, JSGlobalObject* globalObject)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSTextMetrics.cpp b/src/3rdparty/webkit/WebCore/generated/JSTextMetrics.cpp
index 627ad3b..940498a 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSTextMetrics.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSTextMetrics.cpp
@@ -125,7 +125,7 @@ JSTextMetrics::JSTextMetrics(NonNullPassRefPtr<Structure> structure, JSDOMGlobal
JSTextMetrics::~JSTextMetrics()
{
- forgetDOMObject(*Heap::heap(this)->globalData(), impl());
+ forgetDOMObject(this, impl());
}
JSObject* JSTextMetrics::createPrototype(ExecState* exec, JSGlobalObject* globalObject)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSTimeRanges.cpp b/src/3rdparty/webkit/WebCore/generated/JSTimeRanges.cpp
index 825ca1b..1306ccb 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSTimeRanges.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSTimeRanges.cpp
@@ -93,7 +93,7 @@ JSTimeRanges::JSTimeRanges(NonNullPassRefPtr<Structure> structure, JSDOMGlobalOb
JSTimeRanges::~JSTimeRanges()
{
- forgetDOMObject(*Heap::heap(this)->globalData(), impl());
+ forgetDOMObject(this, impl());
}
JSObject* JSTimeRanges::createPrototype(ExecState* exec, JSGlobalObject* globalObject)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSTreeWalker.cpp b/src/3rdparty/webkit/WebCore/generated/JSTreeWalker.cpp
index a26425e..10645db 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSTreeWalker.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSTreeWalker.cpp
@@ -151,7 +151,7 @@ JSTreeWalker::JSTreeWalker(NonNullPassRefPtr<Structure> structure, JSDOMGlobalOb
JSTreeWalker::~JSTreeWalker()
{
- forgetDOMObject(*Heap::heap(this)->globalData(), impl());
+ forgetDOMObject(this, impl());
}
JSObject* JSTreeWalker::createPrototype(ExecState* exec, JSGlobalObject* globalObject)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSValidityState.cpp b/src/3rdparty/webkit/WebCore/generated/JSValidityState.cpp
index b355874..7616c58 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSValidityState.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSValidityState.cpp
@@ -84,7 +84,7 @@ JSValidityState::JSValidityState(NonNullPassRefPtr<Structure> structure, JSDOMGl
JSValidityState::~JSValidityState()
{
- forgetDOMObject(*Heap::heap(this)->globalData(), impl());
+ forgetDOMObject(this, impl());
}
JSObject* JSValidityState::createPrototype(ExecState* exec, JSGlobalObject* globalObject)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSVoidCallback.cpp b/src/3rdparty/webkit/WebCore/generated/JSVoidCallback.cpp
index a084949..94ad1c5 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSVoidCallback.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSVoidCallback.cpp
@@ -73,7 +73,7 @@ JSVoidCallback::JSVoidCallback(NonNullPassRefPtr<Structure> structure, JSDOMGlob
JSVoidCallback::~JSVoidCallback()
{
- forgetDOMObject(*Heap::heap(this)->globalData(), impl());
+ forgetDOMObject(this, impl());
}
JSObject* JSVoidCallback::createPrototype(ExecState* exec, JSGlobalObject* globalObject)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSWebKitCSSMatrix.cpp b/src/3rdparty/webkit/WebCore/generated/JSWebKitCSSMatrix.cpp
index bcf8286..0bb2267 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSWebKitCSSMatrix.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSWebKitCSSMatrix.cpp
@@ -120,7 +120,7 @@ JSWebKitCSSMatrix::JSWebKitCSSMatrix(NonNullPassRefPtr<Structure> structure, JSD
JSWebKitCSSMatrix::~JSWebKitCSSMatrix()
{
- forgetDOMObject(*Heap::heap(this)->globalData(), impl());
+ forgetDOMObject(this, impl());
}
JSObject* JSWebKitCSSMatrix::createPrototype(ExecState* exec, JSGlobalObject* globalObject)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSWebKitPoint.cpp b/src/3rdparty/webkit/WebCore/generated/JSWebKitPoint.cpp
index 255df0a..ea88682 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSWebKitPoint.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSWebKitPoint.cpp
@@ -78,7 +78,7 @@ JSWebKitPoint::JSWebKitPoint(NonNullPassRefPtr<Structure> structure, JSDOMGlobal
JSWebKitPoint::~JSWebKitPoint()
{
- forgetDOMObject(*Heap::heap(this)->globalData(), impl());
+ forgetDOMObject(this, impl());
}
JSObject* JSWebKitPoint::createPrototype(ExecState* exec, JSGlobalObject* globalObject)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSWebSocket.cpp b/src/3rdparty/webkit/WebCore/generated/JSWebSocket.cpp
index ea8ff3d..7e48815 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSWebSocket.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSWebSocket.cpp
@@ -122,7 +122,7 @@ JSWebSocket::JSWebSocket(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObje
JSWebSocket::~JSWebSocket()
{
impl()->invalidateEventListeners();
- forgetDOMObject(*Heap::heap(this)->globalData(), impl());
+ forgetDOMObject(this, impl());
}
void JSWebSocket::markChildren(MarkStack& markStack)
@@ -215,7 +215,7 @@ void setJSWebSocketOnopen(ExecState* exec, JSObject* thisObject, JSValue value)
{
UNUSED_PARAM(exec);
WebSocket* imp = static_cast<WebSocket*>(static_cast<JSWebSocket*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOnopen(globalObject->createJSAttributeEventListener(value));
@@ -225,7 +225,7 @@ void setJSWebSocketOnmessage(ExecState* exec, JSObject* thisObject, JSValue valu
{
UNUSED_PARAM(exec);
WebSocket* imp = static_cast<WebSocket*>(static_cast<JSWebSocket*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOnmessage(globalObject->createJSAttributeEventListener(value));
@@ -235,7 +235,7 @@ void setJSWebSocketOnclose(ExecState* exec, JSObject* thisObject, JSValue value)
{
UNUSED_PARAM(exec);
WebSocket* imp = static_cast<WebSocket*>(static_cast<JSWebSocket*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOnclose(globalObject->createJSAttributeEventListener(value));
diff --git a/src/3rdparty/webkit/WebCore/generated/JSWorker.cpp b/src/3rdparty/webkit/WebCore/generated/JSWorker.cpp
index 42cc502..14153e2 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSWorker.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSWorker.cpp
@@ -129,7 +129,7 @@ void setJSWorkerOnmessage(ExecState* exec, JSObject* thisObject, JSValue value)
{
UNUSED_PARAM(exec);
Worker* imp = static_cast<Worker*>(static_cast<JSWorker*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOnmessage(globalObject->createJSAttributeEventListener(value));
diff --git a/src/3rdparty/webkit/WebCore/generated/JSWorkerContext.cpp b/src/3rdparty/webkit/WebCore/generated/JSWorkerContext.cpp
index e29cb32..5b7b105 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSWorkerContext.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSWorkerContext.cpp
@@ -129,7 +129,6 @@ JSWorkerContext::JSWorkerContext(NonNullPassRefPtr<Structure> structure, PassRef
JSWorkerContext::~JSWorkerContext()
{
impl()->invalidateEventListeners();
- forgetDOMObject(*Heap::heap(this)->globalData(), impl());
}
bool JSWorkerContext::getOwnPropertySlot(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSWorkerLocation.cpp b/src/3rdparty/webkit/WebCore/generated/JSWorkerLocation.cpp
index e24d0d6..6046aa6 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSWorkerLocation.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSWorkerLocation.cpp
@@ -156,7 +156,7 @@ JSWorkerLocation::JSWorkerLocation(NonNullPassRefPtr<Structure> structure, JSDOM
JSWorkerLocation::~JSWorkerLocation()
{
- forgetDOMObject(*Heap::heap(this)->globalData(), impl());
+ forgetDOMObject(this, impl());
}
JSObject* JSWorkerLocation::createPrototype(ExecState* exec, JSGlobalObject* globalObject)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSWorkerNavigator.cpp b/src/3rdparty/webkit/WebCore/generated/JSWorkerNavigator.cpp
index 8efab1e..29c2364 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSWorkerNavigator.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSWorkerNavigator.cpp
@@ -93,7 +93,7 @@ JSWorkerNavigator::JSWorkerNavigator(NonNullPassRefPtr<Structure> structure, JSD
JSWorkerNavigator::~JSWorkerNavigator()
{
- forgetDOMObject(*Heap::heap(this)->globalData(), impl());
+ forgetDOMObject(this, impl());
}
JSObject* JSWorkerNavigator::createPrototype(ExecState* exec, JSGlobalObject* globalObject)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSXMLHttpRequest.cpp b/src/3rdparty/webkit/WebCore/generated/JSXMLHttpRequest.cpp
index 9927f5e..d81c689 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSXMLHttpRequest.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSXMLHttpRequest.cpp
@@ -137,7 +137,7 @@ JSXMLHttpRequest::JSXMLHttpRequest(NonNullPassRefPtr<Structure> structure, JSDOM
JSXMLHttpRequest::~JSXMLHttpRequest()
{
impl()->invalidateEventListeners();
- forgetDOMObject(*Heap::heap(this)->globalData(), impl());
+ forgetDOMObject(this, impl());
}
JSObject* JSXMLHttpRequest::createPrototype(ExecState* exec, JSGlobalObject* globalObject)
@@ -294,7 +294,7 @@ void setJSXMLHttpRequestOnabort(ExecState* exec, JSObject* thisObject, JSValue v
{
UNUSED_PARAM(exec);
XMLHttpRequest* imp = static_cast<XMLHttpRequest*>(static_cast<JSXMLHttpRequest*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOnabort(globalObject->createJSAttributeEventListener(value));
@@ -304,7 +304,7 @@ void setJSXMLHttpRequestOnerror(ExecState* exec, JSObject* thisObject, JSValue v
{
UNUSED_PARAM(exec);
XMLHttpRequest* imp = static_cast<XMLHttpRequest*>(static_cast<JSXMLHttpRequest*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOnerror(globalObject->createJSAttributeEventListener(value));
@@ -314,7 +314,7 @@ void setJSXMLHttpRequestOnload(ExecState* exec, JSObject* thisObject, JSValue va
{
UNUSED_PARAM(exec);
XMLHttpRequest* imp = static_cast<XMLHttpRequest*>(static_cast<JSXMLHttpRequest*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOnload(globalObject->createJSAttributeEventListener(value));
@@ -324,7 +324,7 @@ void setJSXMLHttpRequestOnloadstart(ExecState* exec, JSObject* thisObject, JSVal
{
UNUSED_PARAM(exec);
XMLHttpRequest* imp = static_cast<XMLHttpRequest*>(static_cast<JSXMLHttpRequest*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOnloadstart(globalObject->createJSAttributeEventListener(value));
@@ -334,7 +334,7 @@ void setJSXMLHttpRequestOnprogress(ExecState* exec, JSObject* thisObject, JSValu
{
UNUSED_PARAM(exec);
XMLHttpRequest* imp = static_cast<XMLHttpRequest*>(static_cast<JSXMLHttpRequest*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOnprogress(globalObject->createJSAttributeEventListener(value));
@@ -344,7 +344,7 @@ void setJSXMLHttpRequestOnreadystatechange(ExecState* exec, JSObject* thisObject
{
UNUSED_PARAM(exec);
XMLHttpRequest* imp = static_cast<XMLHttpRequest*>(static_cast<JSXMLHttpRequest*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOnreadystatechange(globalObject->createJSAttributeEventListener(value));
diff --git a/src/3rdparty/webkit/WebCore/generated/JSXMLHttpRequestException.cpp b/src/3rdparty/webkit/WebCore/generated/JSXMLHttpRequestException.cpp
index 30e0d72..6de17c7 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSXMLHttpRequestException.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSXMLHttpRequestException.cpp
@@ -153,7 +153,7 @@ JSXMLHttpRequestException::JSXMLHttpRequestException(NonNullPassRefPtr<Structure
JSXMLHttpRequestException::~JSXMLHttpRequestException()
{
- forgetDOMObject(*Heap::heap(this)->globalData(), impl());
+ forgetDOMObject(this, impl());
}
JSObject* JSXMLHttpRequestException::createPrototype(ExecState* exec, JSGlobalObject* globalObject)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSXMLHttpRequestUpload.cpp b/src/3rdparty/webkit/WebCore/generated/JSXMLHttpRequestUpload.cpp
index bc5fff9..9ca7972 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSXMLHttpRequestUpload.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSXMLHttpRequestUpload.cpp
@@ -158,7 +158,7 @@ JSXMLHttpRequestUpload::JSXMLHttpRequestUpload(NonNullPassRefPtr<Structure> stru
JSXMLHttpRequestUpload::~JSXMLHttpRequestUpload()
{
impl()->invalidateEventListeners();
- forgetDOMObject(*Heap::heap(this)->globalData(), impl());
+ forgetDOMObject(this, impl());
}
JSObject* JSXMLHttpRequestUpload::createPrototype(ExecState* exec, JSGlobalObject* globalObject)
@@ -250,7 +250,7 @@ void setJSXMLHttpRequestUploadOnabort(ExecState* exec, JSObject* thisObject, JSV
{
UNUSED_PARAM(exec);
XMLHttpRequestUpload* imp = static_cast<XMLHttpRequestUpload*>(static_cast<JSXMLHttpRequestUpload*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOnabort(globalObject->createJSAttributeEventListener(value));
@@ -260,7 +260,7 @@ void setJSXMLHttpRequestUploadOnerror(ExecState* exec, JSObject* thisObject, JSV
{
UNUSED_PARAM(exec);
XMLHttpRequestUpload* imp = static_cast<XMLHttpRequestUpload*>(static_cast<JSXMLHttpRequestUpload*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOnerror(globalObject->createJSAttributeEventListener(value));
@@ -270,7 +270,7 @@ void setJSXMLHttpRequestUploadOnload(ExecState* exec, JSObject* thisObject, JSVa
{
UNUSED_PARAM(exec);
XMLHttpRequestUpload* imp = static_cast<XMLHttpRequestUpload*>(static_cast<JSXMLHttpRequestUpload*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOnload(globalObject->createJSAttributeEventListener(value));
@@ -280,7 +280,7 @@ void setJSXMLHttpRequestUploadOnloadstart(ExecState* exec, JSObject* thisObject,
{
UNUSED_PARAM(exec);
XMLHttpRequestUpload* imp = static_cast<XMLHttpRequestUpload*>(static_cast<JSXMLHttpRequestUpload*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOnloadstart(globalObject->createJSAttributeEventListener(value));
@@ -290,7 +290,7 @@ void setJSXMLHttpRequestUploadOnprogress(ExecState* exec, JSObject* thisObject,
{
UNUSED_PARAM(exec);
XMLHttpRequestUpload* imp = static_cast<XMLHttpRequestUpload*>(static_cast<JSXMLHttpRequestUpload*>(thisObject)->impl());
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext(), exec);
if (!globalObject)
return;
imp->setOnprogress(globalObject->createJSAttributeEventListener(value));
diff --git a/src/3rdparty/webkit/WebCore/generated/JSXMLSerializer.cpp b/src/3rdparty/webkit/WebCore/generated/JSXMLSerializer.cpp
index e6cdd6b..2fd7e29 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSXMLSerializer.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSXMLSerializer.cpp
@@ -147,7 +147,7 @@ JSXMLSerializer::JSXMLSerializer(NonNullPassRefPtr<Structure> structure, JSDOMGl
JSXMLSerializer::~JSXMLSerializer()
{
- forgetDOMObject(*Heap::heap(this)->globalData(), impl());
+ forgetDOMObject(this, impl());
}
JSObject* JSXMLSerializer::createPrototype(ExecState* exec, JSGlobalObject* globalObject)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSXPathEvaluator.cpp b/src/3rdparty/webkit/WebCore/generated/JSXPathEvaluator.cpp
index e25be26..aa8840a 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSXPathEvaluator.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSXPathEvaluator.cpp
@@ -158,7 +158,7 @@ JSXPathEvaluator::JSXPathEvaluator(NonNullPassRefPtr<Structure> structure, JSDOM
JSXPathEvaluator::~JSXPathEvaluator()
{
- forgetDOMObject(*Heap::heap(this)->globalData(), impl());
+ forgetDOMObject(this, impl());
}
JSObject* JSXPathEvaluator::createPrototype(ExecState* exec, JSGlobalObject* globalObject)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSXPathException.cpp b/src/3rdparty/webkit/WebCore/generated/JSXPathException.cpp
index 3894ac2..fb6a00a 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSXPathException.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSXPathException.cpp
@@ -148,7 +148,7 @@ JSXPathException::JSXPathException(NonNullPassRefPtr<Structure> structure, JSDOM
JSXPathException::~JSXPathException()
{
- forgetDOMObject(*Heap::heap(this)->globalData(), impl());
+ forgetDOMObject(this, impl());
}
JSObject* JSXPathException::createPrototype(ExecState* exec, JSGlobalObject* globalObject)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSXPathExpression.cpp b/src/3rdparty/webkit/WebCore/generated/JSXPathExpression.cpp
index 9464146..af059df 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSXPathExpression.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSXPathExpression.cpp
@@ -141,7 +141,7 @@ JSXPathExpression::JSXPathExpression(NonNullPassRefPtr<Structure> structure, JSD
JSXPathExpression::~JSXPathExpression()
{
- forgetDOMObject(*Heap::heap(this)->globalData(), impl());
+ forgetDOMObject(this, impl());
}
JSObject* JSXPathExpression::createPrototype(ExecState* exec, JSGlobalObject* globalObject)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSXPathNSResolver.cpp b/src/3rdparty/webkit/WebCore/generated/JSXPathNSResolver.cpp
index c3bdef1..7ba29c0 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSXPathNSResolver.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSXPathNSResolver.cpp
@@ -79,7 +79,7 @@ JSXPathNSResolver::JSXPathNSResolver(NonNullPassRefPtr<Structure> structure, JSD
JSXPathNSResolver::~JSXPathNSResolver()
{
- forgetDOMObject(*Heap::heap(this)->globalData(), impl());
+ forgetDOMObject(this, impl());
}
JSObject* JSXPathNSResolver::createPrototype(ExecState* exec, JSGlobalObject* globalObject)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSXPathResult.cpp b/src/3rdparty/webkit/WebCore/generated/JSXPathResult.cpp
index 337f473..d70ad29 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSXPathResult.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSXPathResult.cpp
@@ -171,7 +171,7 @@ JSXPathResult::JSXPathResult(NonNullPassRefPtr<Structure> structure, JSDOMGlobal
JSXPathResult::~JSXPathResult()
{
- forgetDOMObject(*Heap::heap(this)->globalData(), impl());
+ forgetDOMObject(this, impl());
}
JSObject* JSXPathResult::createPrototype(ExecState* exec, JSGlobalObject* globalObject)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSXSLTProcessor.cpp b/src/3rdparty/webkit/WebCore/generated/JSXSLTProcessor.cpp
index 7dcd9c9..add8a84 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSXSLTProcessor.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSXSLTProcessor.cpp
@@ -86,7 +86,7 @@ JSXSLTProcessor::JSXSLTProcessor(NonNullPassRefPtr<Structure> structure, JSDOMGl
JSXSLTProcessor::~JSXSLTProcessor()
{
- forgetDOMObject(*Heap::heap(this)->globalData(), impl());
+ forgetDOMObject(this, impl());
}
JSObject* JSXSLTProcessor::createPrototype(ExecState* exec, JSGlobalObject* globalObject)
diff --git a/src/3rdparty/webkit/WebCore/generated/WebKitVersion.h b/src/3rdparty/webkit/WebCore/generated/WebKitVersion.h
index 11e6af2..568670b 100644
--- a/src/3rdparty/webkit/WebCore/generated/WebKitVersion.h
+++ b/src/3rdparty/webkit/WebCore/generated/WebKitVersion.h
@@ -31,6 +31,6 @@
#define WebKitVersion_h
#define WEBKIT_MAJOR_VERSION 532
-#define WEBKIT_MINOR_VERSION 3
+#define WEBKIT_MINOR_VERSION 4
#endif //WebKitVersion_h
diff --git a/src/3rdparty/webkit/WebCore/history/qt/HistoryItemQt.cpp b/src/3rdparty/webkit/WebCore/history/qt/HistoryItemQt.cpp
index 098a786..c5fb069 100644
--- a/src/3rdparty/webkit/WebCore/history/qt/HistoryItemQt.cpp
+++ b/src/3rdparty/webkit/WebCore/history/qt/HistoryItemQt.cpp
@@ -23,10 +23,13 @@
#include "CString.h"
#include "FormData.h"
-bool WebCore::HistoryItem::restoreState(QDataStream& in, int /*version*/)
+bool WebCore::HistoryItem::restoreState(QDataStream& in, int version)
{
- // there is no different version right now
- // switch (version) {
+ // we only support version 1 for now
+
+ if (version != 1)
+ return false;
+
WebCore::String url;
WebCore::String title;
WebCore::String altTitle;
@@ -87,10 +90,12 @@ bool WebCore::HistoryItem::restoreState(QDataStream& in, int /*version*/)
return in.status() == QDataStream::Ok;
}
-QDataStream& WebCore::HistoryItem::saveState(QDataStream& out, int /*version*/) const
+QDataStream& WebCore::HistoryItem::saveState(QDataStream& out, int version) const
{
- // there is no different version right now
- // switch (version) {
+ // we only support version 1 for now.
+ if (version != 1)
+ return out;
+
out << urlString() << title() << alternateTitle() << lastVisitedTime();
out << originalURLString() << referrer() << target() << parent();
out << lastVisitWasHTTPNonGet() << lastVisitWasFailure() << isTargetItem();
diff --git a/src/3rdparty/webkit/WebCore/html/HTMLAllCollection.cpp b/src/3rdparty/webkit/WebCore/html/HTMLAllCollection.cpp
new file mode 100644
index 0000000..dbfed28
--- /dev/null
+++ b/src/3rdparty/webkit/WebCore/html/HTMLAllCollection.cpp
@@ -0,0 +1,47 @@
+/*
+ * Copyright (C) 2009 Apple 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.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``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 APPLE INC. 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.
+ */
+
+#include "config.h"
+#include "HTMLAllCollection.h"
+
+#include "Node.h"
+
+namespace WebCore {
+
+PassRefPtr<HTMLAllCollection> HTMLAllCollection::create(PassRefPtr<Node> base)
+{
+ return adoptRef(new HTMLAllCollection(base));
+}
+
+HTMLAllCollection::HTMLAllCollection(PassRefPtr<Node> base)
+ : HTMLCollection(base, DocAll)
+{
+}
+
+HTMLAllCollection::~HTMLAllCollection()
+{
+}
+
+} // namespace WebCore
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSHTMLAllCollection.h b/src/3rdparty/webkit/WebCore/html/HTMLAllCollection.h
index da3a758..1dd3ede 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSHTMLAllCollection.h
+++ b/src/3rdparty/webkit/WebCore/html/HTMLAllCollection.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2007, 2008 Apple Inc. All rights reserved.
+ * Copyright (C) 2009 Apple Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -10,49 +10,35 @@
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
- * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``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 APPLE COMPUTER, INC. OR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. 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.
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-#ifndef JSHTMLAllCollection_h
-#define JSHTMLAllCollection_h
+#ifndef HTMLAllCollection_h
+#define HTMLAllCollection_h
#include "HTMLCollection.h"
-#include "JSHTMLCollection.h"
namespace WebCore {
- class HTMLCollection;
+class HTMLAllCollection : public HTMLCollection {
+public:
+ static PassRefPtr<HTMLAllCollection> create(PassRefPtr<Node>);
+ virtual ~HTMLAllCollection();
- class JSHTMLAllCollection : public JSHTMLCollection {
- public:
- JSHTMLAllCollection(NonNullPassRefPtr<JSC::Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLCollection> collection)
- : JSHTMLCollection(structure, globalObject, collection)
- {
- }
-
- static PassRefPtr<JSC::Structure> createStructure(JSC::JSValue proto)
- {
- return JSC::Structure::create(proto, JSC::TypeInfo(JSC::ObjectType, StructureFlags));
- }
-
- static const JSC::ClassInfo s_info;
- protected:
- static const unsigned StructureFlags = JSC::OverridesGetOwnPropertySlot | JSC::MasqueradesAsUndefined | JSC::OverridesMarkChildren | JSC::OverridesGetPropertyNames | JSHTMLCollection::StructureFlags;
-
- private:
- virtual bool toBoolean(JSC::ExecState*) const { return false; }
- };
+private:
+ HTMLAllCollection(PassRefPtr<Node>);
+};
} // namespace WebCore
-#endif // JSHTMLAllCollection_h
+#endif // HTMLAllCollection_h
diff --git a/src/3rdparty/webkit/WebCore/html/HTMLAllCollection.idl b/src/3rdparty/webkit/WebCore/html/HTMLAllCollection.idl
new file mode 100644
index 0000000..d36f41e
--- /dev/null
+++ b/src/3rdparty/webkit/WebCore/html/HTMLAllCollection.idl
@@ -0,0 +1,43 @@
+/*
+ * Copyright (C) 2009 Apple 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.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``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 APPLE INC. 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.
+ */
+
+module html {
+
+ interface [
+ GenerateConstructor,
+ HasIndexGetter,
+ HasNameGetter,
+ CustomCall,
+ MasqueradesAsUndefined
+ ] HTMLAllCollection {
+ readonly attribute unsigned long length;
+ [Custom] Node item(in unsigned long index);
+ [Custom] Node namedItem(in DOMString name);
+
+ // FIXME: This should return an HTMLAllCollection.
+ NodeList tags(in DOMString name);
+ };
+
+}
diff --git a/src/3rdparty/webkit/WebCore/html/HTMLCanvasElement.cpp b/src/3rdparty/webkit/WebCore/html/HTMLCanvasElement.cpp
index 335b20f..7bae6e3 100644
--- a/src/3rdparty/webkit/WebCore/html/HTMLCanvasElement.cpp
+++ b/src/3rdparty/webkit/WebCore/html/HTMLCanvasElement.cpp
@@ -172,10 +172,11 @@ CanvasRenderingContext* HTMLCanvasElement::getContext(const String& type)
if (m_context && !m_context->is3d())
return 0;
if (!m_context) {
- m_context = new CanvasRenderingContext3D(this);
-
- // Need to make sure a RenderLayer and compositing layer get created for the Canvas
- setNeedsStyleRecalc(SyntheticStyleChange);
+ m_context = CanvasRenderingContext3D::create(this);
+ if (m_context) {
+ // Need to make sure a RenderLayer and compositing layer get created for the Canvas
+ setNeedsStyleRecalc(SyntheticStyleChange);
+ }
}
return m_context.get();
}
diff --git a/src/3rdparty/webkit/WebCore/html/HTMLCollection.h b/src/3rdparty/webkit/WebCore/html/HTMLCollection.h
index b04bcbc..eea1777 100644
--- a/src/3rdparty/webkit/WebCore/html/HTMLCollection.h
+++ b/src/3rdparty/webkit/WebCore/html/HTMLCollection.h
@@ -64,6 +64,7 @@ public:
protected:
HTMLCollection(PassRefPtr<Node> base, CollectionType, CollectionCache*);
+ HTMLCollection(PassRefPtr<Node> base, CollectionType);
CollectionCache* info() const { return m_info; }
void resetCollectionInfo() const;
@@ -71,8 +72,6 @@ protected:
mutable bool m_idsDone; // for nextNamedItem()
private:
- HTMLCollection(PassRefPtr<Node> base, CollectionType);
-
virtual Element* itemAfter(Element*) const;
virtual unsigned calcLength() const;
virtual void updateNameCache() const;
diff --git a/src/3rdparty/webkit/WebCore/html/HTMLCollection.idl b/src/3rdparty/webkit/WebCore/html/HTMLCollection.idl
index 1ba5ec7..45d1127 100644
--- a/src/3rdparty/webkit/WebCore/html/HTMLCollection.idl
+++ b/src/3rdparty/webkit/WebCore/html/HTMLCollection.idl
@@ -34,8 +34,9 @@ module html {
[Custom] Node item(in unsigned long index);
[Custom] Node namedItem(in DOMString name);
- // Extensions
+#if defined(LANGUAGE_OBJECTIVE_C) && LANGUAGE_OBJECTIVE_C
NodeList tags(in DOMString name);
+#endif
};
}
diff --git a/src/3rdparty/webkit/WebCore/html/HTMLDocument.idl b/src/3rdparty/webkit/WebCore/html/HTMLDocument.idl
index 3dd7a07..d250741 100644
--- a/src/3rdparty/webkit/WebCore/html/HTMLDocument.idl
+++ b/src/3rdparty/webkit/WebCore/html/HTMLDocument.idl
@@ -39,7 +39,7 @@ module html {
#if defined(LANGUAGE_JAVASCRIPT) && LANGUAGE_JAVASCRIPT
// FIXME: This should eventually be available (if they are wanted) for all languages.
- attribute [Custom, Deletable] HTMLCollection all;
+ attribute [Custom, Deletable] HTMLAllCollection all;
#endif
void clear();
diff --git a/src/3rdparty/webkit/WebCore/html/HTMLInputElement.cpp b/src/3rdparty/webkit/WebCore/html/HTMLInputElement.cpp
index ed3405a..f25c908 100644
--- a/src/3rdparty/webkit/WebCore/html/HTMLInputElement.cpp
+++ b/src/3rdparty/webkit/WebCore/html/HTMLInputElement.cpp
@@ -1549,9 +1549,16 @@ void HTMLInputElement::defaultEventHandler(Event* evt)
if (r && r->isTextField())
toRenderTextControl(r)->setEdited(false);
}
- // Form may never have been present, or may have been destroyed by the change event.
- if (form())
- form()->submitClick(evt);
+
+ RefPtr<HTMLFormElement> formForSubmission = form();
+ // If there is no form and the element is an <isindex>, then create a temporary form just to be used for submission.
+ if (!formForSubmission && inputType() == ISINDEX)
+ formForSubmission = createTemporaryFormForIsIndex();
+
+ // Form may never have been present, or may have been destroyed by code responding to the change event.
+ if (formForSubmission)
+ formForSubmission->submitClick(evt);
+
evt->setDefaultHandled();
return;
}
@@ -1569,6 +1576,19 @@ void HTMLInputElement::defaultEventHandler(Event* evt)
HTMLFormControlElementWithState::defaultEventHandler(evt);
}
+PassRefPtr<HTMLFormElement> HTMLInputElement::createTemporaryFormForIsIndex()
+{
+ RefPtr<HTMLFormElement> form = new HTMLFormElement(formTag, document());
+ form->registerFormElement(this);
+ form->setMethod("GET");
+ if (!document()->baseURL().isEmpty()) {
+ // We treat the href property of the <base> element as the form action, as per section 7.5
+ // "Queries and Indexes" of the HTML 2.0 spec. <http://www.w3.org/MarkUp/html-spec/html-spec_7.html#SEC7.5>.
+ form->setAction(document()->baseURL().string());
+ }
+ return form.release();
+}
+
bool HTMLInputElement::isURLAttribute(Attribute *attr) const
{
return (attr->name() == srcAttr);
diff --git a/src/3rdparty/webkit/WebCore/html/HTMLInputElement.h b/src/3rdparty/webkit/WebCore/html/HTMLInputElement.h
index 799d92c..0e2da32 100644
--- a/src/3rdparty/webkit/WebCore/html/HTMLInputElement.h
+++ b/src/3rdparty/webkit/WebCore/html/HTMLInputElement.h
@@ -256,6 +256,8 @@ private:
virtual bool isOptionalFormControl() const { return !isRequiredFormControl(); }
virtual bool isRequiredFormControl() const;
+ PassRefPtr<HTMLFormElement> createTemporaryFormForIsIndex();
+
#if ENABLE(DATALIST)
HTMLDataListElement* dataList() const;
#endif
diff --git a/src/3rdparty/webkit/WebCore/html/HTMLMediaElement.cpp b/src/3rdparty/webkit/WebCore/html/HTMLMediaElement.cpp
index 11ca3ba..729aceb 100644
--- a/src/3rdparty/webkit/WebCore/html/HTMLMediaElement.cpp
+++ b/src/3rdparty/webkit/WebCore/html/HTMLMediaElement.cpp
@@ -247,16 +247,12 @@ void HTMLMediaElement::insertedIntoDocument()
scheduleLoad();
}
-void HTMLMediaElement::willRemove()
-{
- if (m_isFullscreen)
- exitFullscreen();
- HTMLElement::willRemove();
-}
void HTMLMediaElement::removedFromDocument()
{
if (m_networkState > NETWORK_EMPTY)
pause();
+ if (m_isFullscreen)
+ exitFullscreen();
HTMLElement::removedFromDocument();
}
@@ -1678,6 +1674,9 @@ void HTMLMediaElement::userCancelledLoad()
void HTMLMediaElement::documentWillBecomeInactive()
{
+ if (m_isFullscreen)
+ exitFullscreen();
+
m_inActiveDocument = false;
userCancelledLoad();
diff --git a/src/3rdparty/webkit/WebCore/html/HTMLMediaElement.h b/src/3rdparty/webkit/WebCore/html/HTMLMediaElement.h
index 0005e07..405f013 100644
--- a/src/3rdparty/webkit/WebCore/html/HTMLMediaElement.h
+++ b/src/3rdparty/webkit/WebCore/html/HTMLMediaElement.h
@@ -57,7 +57,6 @@ public:
virtual bool rendererIsNeeded(RenderStyle*);
virtual RenderObject* createRenderer(RenderArena*, RenderStyle*);
virtual void insertedIntoDocument();
- virtual void willRemove();
virtual void removedFromDocument();
virtual void attach();
virtual void recalcStyle(StyleChange);
diff --git a/src/3rdparty/webkit/WebCore/html/HTMLOptionsCollection.idl b/src/3rdparty/webkit/WebCore/html/HTMLOptionsCollection.idl
index 5f85fcb..a7e191a 100644
--- a/src/3rdparty/webkit/WebCore/html/HTMLOptionsCollection.idl
+++ b/src/3rdparty/webkit/WebCore/html/HTMLOptionsCollection.idl
@@ -21,7 +21,6 @@
module html {
// FIXME: The W3C spec says that HTMLOptionsCollection should not have a parent class.
-
interface [
GenerateNativeConverter,
HasCustomIndexSetter,
@@ -36,9 +35,9 @@ module html {
raises (DOMException);
[Custom] void remove(in unsigned long index);
-#if !defined(LANGUAGE_JAVASCRIPT) || !LANGUAGE_JAVASCRIPT
- Node item(in unsigned long index);
- Node namedItem(in DOMString name);
+#if defined(LANGUAGE_OBJECTIVE_C) && LANGUAGE_OBJECTIVE_C
+ Node item(in unsigned long index);
+ Node namedItem(in DOMString name);
#endif
};
diff --git a/src/3rdparty/webkit/WebCore/html/HTMLTokenizer.cpp b/src/3rdparty/webkit/WebCore/html/HTMLTokenizer.cpp
index 33af997..91285d9 100644
--- a/src/3rdparty/webkit/WebCore/html/HTMLTokenizer.cpp
+++ b/src/3rdparty/webkit/WebCore/html/HTMLTokenizer.cpp
@@ -416,13 +416,13 @@ HTMLTokenizer::State HTMLTokenizer::parseNonHTMLText(SegmentedString& src, State
return state;
}
-
+
HTMLTokenizer::State HTMLTokenizer::scriptHandler(State state)
{
// We are inside a <script>
bool doScriptExec = false;
int startLine = m_currentScriptTagStartLineNumber + 1; // Script line numbers are 1 based, HTMLTokenzier line numbers are 0 based
-
+
// Reset m_currentScriptTagStartLineNumber to indicate that we've finished parsing the current script element
m_currentScriptTagStartLineNumber = 0;
@@ -551,7 +551,13 @@ HTMLTokenizer::State HTMLTokenizer::scriptExecution(const ScriptSourceCode& sour
if (m_fragment || !m_doc->frame())
return state;
m_executingScript++;
-
+
+#if ENABLE(INSPECTOR)
+ InspectorTimelineAgent* timelineAgent = m_doc->inspectorTimelineAgent();
+ if (timelineAgent)
+ timelineAgent->willEvaluateScriptTag(sourceCode.url().isNull() ? String() : sourceCode.url().string(), sourceCode.startLine());
+#endif
+
SegmentedString* savedPrependingSrc = m_currentPrependingSrc;
SegmentedString prependingSrc;
m_currentPrependingSrc = &prependingSrc;
@@ -608,7 +614,12 @@ HTMLTokenizer::State HTMLTokenizer::scriptExecution(const ScriptSourceCode& sour
}
m_currentPrependingSrc = savedPrependingSrc;
-
+
+#if ENABLE(INSPECTOR)
+ if (timelineAgent)
+ timelineAgent->didEvaluateScriptTag();
+#endif
+
return state;
}
@@ -1613,7 +1624,7 @@ inline bool HTMLTokenizer::continueProcessing(int& processedCount, double startT
processedCount++;
return true;
}
-
+
void HTMLTokenizer::write(const SegmentedString& str, bool appendData)
{
if (!m_buffer)
diff --git a/src/3rdparty/webkit/WebCore/html/canvas/CanvasRenderingContext.h b/src/3rdparty/webkit/WebCore/html/canvas/CanvasRenderingContext.h
index 9ac9e57..f752377 100644
--- a/src/3rdparty/webkit/WebCore/html/canvas/CanvasRenderingContext.h
+++ b/src/3rdparty/webkit/WebCore/html/canvas/CanvasRenderingContext.h
@@ -38,6 +38,7 @@ namespace WebCore {
CanvasRenderingContext(HTMLCanvasElement*);
virtual ~CanvasRenderingContext() { }
+ // Ref and deref the m_canvas
void ref();
void deref();
@@ -46,7 +47,7 @@ namespace WebCore {
virtual bool is2d() const { return false; }
virtual bool is3d() const { return false; }
- protected:
+ private:
HTMLCanvasElement* m_canvas;
};
diff --git a/src/3rdparty/webkit/WebCore/html/canvas/CanvasRenderingContext2D.cpp b/src/3rdparty/webkit/WebCore/html/canvas/CanvasRenderingContext2D.cpp
index 5e25b93..3341901 100644
--- a/src/3rdparty/webkit/WebCore/html/canvas/CanvasRenderingContext2D.cpp
+++ b/src/3rdparty/webkit/WebCore/html/canvas/CanvasRenderingContext2D.cpp
@@ -165,10 +165,10 @@ void CanvasRenderingContext2D::setStrokeStyle(PassRefPtr<CanvasStyle> style)
if (!style)
return;
- if (m_canvas->originClean()) {
+ if (canvas()->originClean()) {
if (CanvasPattern* pattern = style->canvasPattern()) {
if (!pattern->originClean())
- m_canvas->setOriginTainted();
+ canvas()->setOriginTainted();
}
}
@@ -189,10 +189,10 @@ void CanvasRenderingContext2D::setFillStyle(PassRefPtr<CanvasStyle> style)
if (!style)
return;
- if (m_canvas->originClean()) {
+ if (canvas()->originClean()) {
if (CanvasPattern* pattern = style->canvasPattern()) {
if (!pattern->originClean())
- m_canvas->setOriginTainted();
+ canvas()->setOriginTainted();
}
}
@@ -447,7 +447,7 @@ void CanvasRenderingContext2D::setTransform(float m11, float m12, float m21, flo
if (!ctm.isInvertible())
return;
c->concatCTM(c->getCTM().inverse());
- c->concatCTM(m_canvas->baseTransform());
+ c->concatCTM(canvas()->baseTransform());
state().m_transform.multiply(ctm.inverse());
m_path.transform(ctm);
@@ -630,7 +630,7 @@ void CanvasRenderingContext2D::rect(float x, float y, float width, float height)
#if ENABLE(DASHBOARD_SUPPORT)
void CanvasRenderingContext2D::clearPathForDashboardBackwardCompatibilityMode()
{
- if (Settings* settings = m_canvas->document()->settings())
+ if (Settings* settings = canvas()->document()->settings())
if (settings->usesDashboardBackwardCompatibilityMode())
m_path.clear();
}
@@ -935,8 +935,8 @@ static inline FloatRect normalizeRect(const FloatRect& rect)
void CanvasRenderingContext2D::checkOrigin(const KURL& url)
{
- if (m_canvas->document()->securityOrigin()->taintsCanvas(url))
- m_canvas->setOriginTainted();
+ if (canvas()->document()->securityOrigin()->taintsCanvas(url))
+ canvas()->setOriginTainted();
}
void CanvasRenderingContext2D::checkOrigin(const String& url)
@@ -986,11 +986,11 @@ void CanvasRenderingContext2D::drawImage(HTMLImageElement* image, const FloatRec
if (!cachedImage)
return;
- if (m_canvas->originClean())
+ if (canvas()->originClean())
checkOrigin(cachedImage->response().url());
- if (m_canvas->originClean() && !cachedImage->image()->hasSingleSecurityOrigin())
- m_canvas->setOriginTainted();
+ if (canvas()->originClean() && !cachedImage->image()->hasSingleSecurityOrigin())
+ canvas()->setOriginTainted();
FloatRect sourceRect = c->roundToDevicePixels(srcRect);
FloatRect destRect = c->roundToDevicePixels(dstRect);
@@ -1012,14 +1012,14 @@ void CanvasRenderingContext2D::drawImage(HTMLCanvasElement* canvas,
drawImage(canvas, FloatRect(0, 0, canvas->width(), canvas->height()), FloatRect(x, y, width, height), ec);
}
-void CanvasRenderingContext2D::drawImage(HTMLCanvasElement* canvas, const FloatRect& srcRect,
+void CanvasRenderingContext2D::drawImage(HTMLCanvasElement* sourceCanvas, const FloatRect& srcRect,
const FloatRect& dstRect, ExceptionCode& ec)
{
- ASSERT(canvas);
+ ASSERT(sourceCanvas);
ec = 0;
- FloatRect srcCanvasRect = FloatRect(FloatPoint(), canvas->size());
+ FloatRect srcCanvasRect = FloatRect(FloatPoint(), sourceCanvas->size());
if (!srcCanvasRect.contains(normalizeRect(srcRect)) || srcRect.width() == 0 || srcRect.height() == 0) {
ec = INDEX_SIZE_ERR;
return;
@@ -1038,12 +1038,12 @@ void CanvasRenderingContext2D::drawImage(HTMLCanvasElement* canvas, const FloatR
FloatRect destRect = c->roundToDevicePixels(dstRect);
// FIXME: Do this through platform-independent GraphicsContext API.
- ImageBuffer* buffer = canvas->buffer();
+ ImageBuffer* buffer = sourceCanvas->buffer();
if (!buffer)
return;
- if (!canvas->originClean())
- m_canvas->setOriginTainted();
+ if (!sourceCanvas->originClean())
+ canvas()->setOriginTainted();
c->drawImage(buffer->image(), destRect, sourceRect, state().m_globalComposite);
willDraw(destRect); // This call comes after drawImage, since the buffer we draw into may be our own, and we need to make sure it is dirty.
@@ -1088,11 +1088,11 @@ void CanvasRenderingContext2D::drawImage(HTMLVideoElement* video, const FloatRec
if (!state().m_invertibleCTM)
return;
- if (m_canvas->originClean())
+ if (canvas()->originClean())
checkOrigin(video->currentSrc());
- if (m_canvas->originClean() && !video->hasSingleSecurityOrigin())
- m_canvas->setOriginTainted();
+ if (canvas()->originClean() && !video->hasSingleSecurityOrigin())
+ canvas()->setOriginTainted();
FloatRect sourceRect = c->roundToDevicePixels(srcRect);
FloatRect destRect = c->roundToDevicePixels(dstRect);
@@ -1121,11 +1121,11 @@ void CanvasRenderingContext2D::drawImageFromRect(HTMLImageElement* image,
if (!cachedImage)
return;
- if (m_canvas->originClean())
+ if (canvas()->originClean())
checkOrigin(cachedImage->response().url());
- if (m_canvas->originClean() && !cachedImage->image()->hasSingleSecurityOrigin())
- m_canvas->setOriginTainted();
+ if (canvas()->originClean() && !cachedImage->image()->hasSingleSecurityOrigin())
+ canvas()->setOriginTainted();
GraphicsContext* c = drawingContext();
if (!c)
@@ -1155,7 +1155,7 @@ void CanvasRenderingContext2D::setCompositeOperation(const String& operation)
void CanvasRenderingContext2D::prepareGradientForDashboard(CanvasGradient* gradient) const
{
#if ENABLE(DASHBOARD_SUPPORT)
- if (Settings* settings = m_canvas->document()->settings())
+ if (Settings* settings = canvas()->document()->settings())
if (settings->usesDashboardBackwardCompatibilityMode())
gradient->setDashboardCompatibilityMode();
#else
@@ -1205,7 +1205,7 @@ PassRefPtr<CanvasPattern> CanvasRenderingContext2D::createPattern(HTMLImageEleme
if (!cachedImage || !image->cachedImage()->image())
return CanvasPattern::create(Image::nullImage(), repeatX, repeatY, true);
- bool originClean = !m_canvas->document()->securityOrigin()->taintsCanvas(KURL(KURL(), cachedImage->url()));
+ bool originClean = !canvas()->document()->securityOrigin()->taintsCanvas(KURL(KURL(), cachedImage->url()));
return CanvasPattern::create(cachedImage->image(), repeatX, repeatY, originClean);
}
@@ -1253,12 +1253,12 @@ void CanvasRenderingContext2D::willDraw(const FloatRect& r, unsigned options)
// we'd have to keep the clip path around.
}
- m_canvas->willDraw(dirtyRect);
+ canvas()->willDraw(dirtyRect);
}
GraphicsContext* CanvasRenderingContext2D::drawingContext() const
{
- return m_canvas->drawingContext();
+ return canvas()->drawingContext();
}
static PassRefPtr<ImageData> createEmptyImageData(const IntSize& size)
@@ -1276,7 +1276,7 @@ PassRefPtr<ImageData> CanvasRenderingContext2D::createImageData(float sw, float
return 0;
}
FloatSize unscaledSize(sw, sh);
- IntSize scaledSize = m_canvas->convertLogicalToDevice(unscaledSize);
+ IntSize scaledSize = canvas()->convertLogicalToDevice(unscaledSize);
if (scaledSize.width() < 1)
scaledSize.setWidth(1);
if (scaledSize.height() < 1)
@@ -1287,18 +1287,18 @@ PassRefPtr<ImageData> CanvasRenderingContext2D::createImageData(float sw, float
PassRefPtr<ImageData> CanvasRenderingContext2D::getImageData(float sx, float sy, float sw, float sh, ExceptionCode& ec) const
{
- if (!m_canvas->originClean()) {
+ if (!canvas()->originClean()) {
ec = SECURITY_ERR;
return 0;
}
FloatRect unscaledRect(sx, sy, sw, sh);
- IntRect scaledRect = m_canvas->convertLogicalToDevice(unscaledRect);
+ IntRect scaledRect = canvas()->convertLogicalToDevice(unscaledRect);
if (scaledRect.width() < 1)
scaledRect.setWidth(1);
if (scaledRect.height() < 1)
scaledRect.setHeight(1);
- ImageBuffer* buffer = m_canvas ? m_canvas->buffer() : 0;
+ ImageBuffer* buffer = canvas() ? canvas()->buffer() : 0;
if (!buffer)
return createEmptyImageData(scaledRect.size());
return buffer->getUnmultipliedImageData(scaledRect);
@@ -1326,7 +1326,7 @@ void CanvasRenderingContext2D::putImageData(ImageData* data, float dx, float dy,
return;
}
- ImageBuffer* buffer = m_canvas->buffer();
+ ImageBuffer* buffer = canvas()->buffer();
if (!buffer)
return;
@@ -1363,7 +1363,7 @@ String CanvasRenderingContext2D::font() const
void CanvasRenderingContext2D::setFont(const String& newFont)
{
RefPtr<CSSMutableStyleDeclaration> tempDecl = CSSMutableStyleDeclaration::create();
- CSSParser parser(!m_canvas->document()->inCompatMode()); // Use the parse mode of the canvas' document when parsing CSS.
+ CSSParser parser(!canvas()->document()->inCompatMode()); // Use the parse mode of the canvas' document when parsing CSS.
String declarationText("font: ");
declarationText += newFont;
@@ -1377,11 +1377,11 @@ void CanvasRenderingContext2D::setFont(const String& newFont)
// Map the <canvas> font into the text style. If the font uses keywords like larger/smaller, these will work
// relative to the canvas.
RefPtr<RenderStyle> newStyle = RenderStyle::create();
- if (m_canvas->computedStyle())
- newStyle->setFontDescription(m_canvas->computedStyle()->fontDescription());
+ if (canvas()->computedStyle())
+ newStyle->setFontDescription(canvas()->computedStyle()->fontDescription());
// Now map the font property into the style.
- CSSStyleSelector* styleSelector = m_canvas->document()->styleSelector();
+ CSSStyleSelector* styleSelector = canvas()->document()->styleSelector();
styleSelector->applyPropertyToStyle(CSSPropertyFont, tempDecl->getPropertyCSSValue(CSSPropertyFont).get(), newStyle.get());
state().m_font = newStyle->font();
@@ -1455,8 +1455,8 @@ void CanvasRenderingContext2D::drawTextInternal(const String& text, float x, flo
// FIXME: Handle maxWidth.
// FIXME: Need to turn off font smoothing.
- bool rtl = m_canvas->computedStyle() ? m_canvas->computedStyle()->direction() == RTL : false;
- bool override = m_canvas->computedStyle() ? m_canvas->computedStyle()->unicodeBidi() == Override : false;
+ bool rtl = canvas()->computedStyle() ? canvas()->computedStyle()->direction() == RTL : false;
+ bool override = canvas()->computedStyle() ? canvas()->computedStyle()->unicodeBidi() == Override : false;
unsigned length = text.length();
const UChar* string = text.characters();
@@ -1508,11 +1508,11 @@ void CanvasRenderingContext2D::drawTextInternal(const String& text, float x, flo
textRect.inflate(c->strokeThickness() / 2);
if (fill)
- m_canvas->willDraw(textRect);
+ canvas()->willDraw(textRect);
else {
// When stroking text, pointy miters can extend outside of textRect, so we
// punt and dirty the whole canvas.
- m_canvas->willDraw(FloatRect(0, 0, m_canvas->width(), m_canvas->height()));
+ canvas()->willDraw(FloatRect(0, 0, canvas()->width(), canvas()->height()));
}
#if PLATFORM(CG)
diff --git a/src/3rdparty/webkit/WebCore/html/canvas/CanvasRenderingContext3D.cpp b/src/3rdparty/webkit/WebCore/html/canvas/CanvasRenderingContext3D.cpp
index 9cca57b..612b4c3 100644
--- a/src/3rdparty/webkit/WebCore/html/canvas/CanvasRenderingContext3D.cpp
+++ b/src/3rdparty/webkit/WebCore/html/canvas/CanvasRenderingContext3D.cpp
@@ -42,12 +42,23 @@
namespace WebCore {
-CanvasRenderingContext3D::CanvasRenderingContext3D(HTMLCanvasElement* canvas)
- : CanvasRenderingContext(canvas)
+PassOwnPtr<CanvasRenderingContext3D> CanvasRenderingContext3D::create(HTMLCanvasElement* canvas)
+{
+ OwnPtr<GraphicsContext3D> context(GraphicsContext3D::create());
+ if (!context)
+ return 0;
+
+ return new CanvasRenderingContext3D(canvas, context.release());
+}
+
+CanvasRenderingContext3D::CanvasRenderingContext3D(HTMLCanvasElement* passedCanvas, PassOwnPtr<GraphicsContext3D> context)
+ : CanvasRenderingContext(passedCanvas)
+ , m_context(context)
, m_needsUpdate(true)
, m_markedCanvasDirty(false)
{
- m_context.reshape(m_canvas->width(), m_canvas->height());
+ ASSERT(m_context);
+ m_context->reshape(canvas()->width(), canvas()->height());
}
CanvasRenderingContext3D::~CanvasRenderingContext3D()
@@ -58,14 +69,14 @@ CanvasRenderingContext3D::~CanvasRenderingContext3D()
void CanvasRenderingContext3D::markContextChanged()
{
#if USE(ACCELERATED_COMPOSITING)
- if (m_canvas->renderBox() && m_canvas->renderBox()->hasLayer()) {
- m_canvas->renderBox()->layer()->rendererContentChanged();
+ if (canvas()->renderBox() && canvas()->renderBox()->hasLayer()) {
+ canvas()->renderBox()->layer()->rendererContentChanged();
} else {
#endif
if (!m_markedCanvasDirty) {
// Make sure the canvas's image buffer is allocated.
- m_canvas->buffer();
- m_canvas->willDraw(FloatRect(0, 0, m_canvas->width(), m_canvas->height()));
+ canvas()->buffer();
+ canvas()->willDraw(FloatRect(0, 0, canvas()->width(), canvas()->height()));
m_markedCanvasDirty = true;
}
#if USE(ACCELERATED_COMPOSITING)
@@ -76,7 +87,7 @@ void CanvasRenderingContext3D::markContextChanged()
void CanvasRenderingContext3D::beginPaint()
{
if (m_markedCanvasDirty) {
- m_context.beginPaint(this);
+ m_context->beginPaint(this);
}
}
@@ -84,7 +95,7 @@ void CanvasRenderingContext3D::endPaint()
{
if (m_markedCanvasDirty) {
m_markedCanvasDirty = false;
- m_context.endPaint();
+ m_context->endPaint();
}
}
@@ -92,18 +103,18 @@ void CanvasRenderingContext3D::reshape(int width, int height)
{
if (m_needsUpdate) {
#if USE(ACCELERATED_COMPOSITING)
- if (m_canvas->renderBox() && m_canvas->renderBox()->hasLayer())
- m_canvas->renderBox()->layer()->rendererContentChanged();
+ if (canvas()->renderBox() && canvas()->renderBox()->hasLayer())
+ canvas()->renderBox()->layer()->rendererContentChanged();
#endif
m_needsUpdate = false;
}
- m_context.reshape(width, height);
+ m_context->reshape(width, height);
}
int CanvasRenderingContext3D::sizeInBytes(int type, ExceptionCode& ec)
{
- int result = m_context.sizeInBytes(type);
+ int result = m_context->sizeInBytes(type);
if (result <= 0) {
ec = SYNTAX_ERR;
}
@@ -112,7 +123,7 @@ int CanvasRenderingContext3D::sizeInBytes(int type, ExceptionCode& ec)
void CanvasRenderingContext3D::activeTexture(unsigned long texture)
{
- m_context.activeTexture(texture);
+ m_context->activeTexture(texture);
cleanupAfterGraphicsCall(false);
}
@@ -120,7 +131,7 @@ void CanvasRenderingContext3D::attachShader(CanvasProgram* program, CanvasShader
{
if (!program || !shader)
return;
- m_context.attachShader(program, shader);
+ m_context->attachShader(program, shader);
cleanupAfterGraphicsCall(false);
}
@@ -128,94 +139,94 @@ void CanvasRenderingContext3D::bindAttribLocation(CanvasProgram* program, unsign
{
if (!program)
return;
- m_context.bindAttribLocation(program, index, name);
+ m_context->bindAttribLocation(program, index, name);
cleanupAfterGraphicsCall(false);
}
void CanvasRenderingContext3D::bindBuffer(unsigned long target, CanvasBuffer* buffer)
{
- m_context.bindBuffer(target, buffer);
+ m_context->bindBuffer(target, buffer);
cleanupAfterGraphicsCall(false);
}
void CanvasRenderingContext3D::bindFramebuffer(unsigned long target, CanvasFramebuffer* buffer)
{
- m_context.bindFramebuffer(target, buffer);
+ m_context->bindFramebuffer(target, buffer);
cleanupAfterGraphicsCall(false);
}
void CanvasRenderingContext3D::bindRenderbuffer(unsigned long target, CanvasRenderbuffer* renderbuffer)
{
- m_context.bindRenderbuffer(target, renderbuffer);
+ m_context->bindRenderbuffer(target, renderbuffer);
cleanupAfterGraphicsCall(false);
}
void CanvasRenderingContext3D::bindTexture(unsigned long target, CanvasTexture* texture)
{
- m_context.bindTexture(target, texture);
+ m_context->bindTexture(target, texture);
cleanupAfterGraphicsCall(false);
}
void CanvasRenderingContext3D::blendColor(double red, double green, double blue, double alpha)
{
- m_context.blendColor(red, green, blue, alpha);
+ m_context->blendColor(red, green, blue, alpha);
cleanupAfterGraphicsCall(false);
}
void CanvasRenderingContext3D::blendEquation( unsigned long mode )
{
- m_context.blendEquation(mode);
+ m_context->blendEquation(mode);
cleanupAfterGraphicsCall(false);
}
void CanvasRenderingContext3D::blendEquationSeparate(unsigned long modeRGB, unsigned long modeAlpha)
{
- m_context.blendEquationSeparate(modeRGB, modeAlpha);
+ m_context->blendEquationSeparate(modeRGB, modeAlpha);
cleanupAfterGraphicsCall(false);
}
void CanvasRenderingContext3D::blendFunc(unsigned long sfactor, unsigned long dfactor)
{
- m_context.blendFunc(sfactor, dfactor);
+ m_context->blendFunc(sfactor, dfactor);
cleanupAfterGraphicsCall(false);
}
void CanvasRenderingContext3D::blendFuncSeparate(unsigned long srcRGB, unsigned long dstRGB, unsigned long srcAlpha, unsigned long dstAlpha)
{
- m_context.blendFuncSeparate(srcRGB, dstRGB, srcAlpha, dstAlpha);
+ m_context->blendFuncSeparate(srcRGB, dstRGB, srcAlpha, dstAlpha);
cleanupAfterGraphicsCall(false);
}
void CanvasRenderingContext3D::bufferData(unsigned long target, int size, unsigned long usage)
{
- m_context.bufferData(target, size, usage);
+ m_context->bufferData(target, size, usage);
cleanupAfterGraphicsCall(false);
}
void CanvasRenderingContext3D::bufferData(unsigned long target, CanvasArray* data, unsigned long usage)
{
- m_context.bufferData(target, data, usage);
+ m_context->bufferData(target, data, usage);
cleanupAfterGraphicsCall(false);
}
void CanvasRenderingContext3D::bufferSubData(unsigned long target, long offset, CanvasArray* data)
{
- m_context.bufferSubData(target, offset, data);
+ m_context->bufferSubData(target, offset, data);
cleanupAfterGraphicsCall(false);
}
unsigned long CanvasRenderingContext3D::checkFramebufferStatus(unsigned long target)
{
- return m_context.checkFramebufferStatus(target);
+ return m_context->checkFramebufferStatus(target);
cleanupAfterGraphicsCall(false);
}
void CanvasRenderingContext3D::clear(unsigned long mask)
{
- m_context.clear(mask);
+ m_context->clear(mask);
cleanupAfterGraphicsCall(true);
}
@@ -229,43 +240,43 @@ void CanvasRenderingContext3D::clearColor(double r, double g, double b, double a
b = 0;
if (isnan(a))
a = 1;
- m_context.clearColor(r, g, b, a);
+ m_context->clearColor(r, g, b, a);
cleanupAfterGraphicsCall(false);
}
void CanvasRenderingContext3D::clearDepth(double depth)
{
- m_context.clearDepth(depth);
+ m_context->clearDepth(depth);
cleanupAfterGraphicsCall(false);
}
void CanvasRenderingContext3D::clearStencil(long s)
{
- m_context.clearStencil(s);
+ m_context->clearStencil(s);
cleanupAfterGraphicsCall(false);
}
void CanvasRenderingContext3D::colorMask(bool red, bool green, bool blue, bool alpha)
{
- m_context.colorMask(red, green, blue, alpha);
+ m_context->colorMask(red, green, blue, alpha);
cleanupAfterGraphicsCall(false);
}
void CanvasRenderingContext3D::compileShader(CanvasShader* shader)
{
- m_context.compileShader(shader);
+ m_context->compileShader(shader);
cleanupAfterGraphicsCall(false);
}
void CanvasRenderingContext3D::copyTexImage2D(unsigned long target, long level, unsigned long internalformat, long x, long y, unsigned long width, unsigned long height, long border)
{
- m_context.copyTexImage2D(target, level, internalformat, x, y, width, height, border);
+ m_context->copyTexImage2D(target, level, internalformat, x, y, width, height, border);
cleanupAfterGraphicsCall(false);
}
void CanvasRenderingContext3D::copyTexSubImage2D(unsigned long target, long level, long xoffset, long yoffset, long x, long y, unsigned long width, unsigned long height)
{
- m_context.copyTexSubImage2D(target, level, xoffset, yoffset, x, y, width, height);
+ m_context->copyTexSubImage2D(target, level, xoffset, yoffset, x, y, width, height);
cleanupAfterGraphicsCall(false);
}
@@ -319,7 +330,7 @@ PassRefPtr<CanvasShader> CanvasRenderingContext3D::createShader(unsigned long ty
void CanvasRenderingContext3D::cullFace(unsigned long mode)
{
- m_context.cullFace(mode);
+ m_context->cullFace(mode);
cleanupAfterGraphicsCall(false);
}
@@ -373,19 +384,19 @@ void CanvasRenderingContext3D::deleteTexture(CanvasTexture* texture)
void CanvasRenderingContext3D::depthFunc(unsigned long func)
{
- m_context.depthFunc(func);
+ m_context->depthFunc(func);
cleanupAfterGraphicsCall(false);
}
void CanvasRenderingContext3D::depthMask(bool flag)
{
- m_context.depthMask(flag);
+ m_context->depthMask(flag);
cleanupAfterGraphicsCall(false);
}
void CanvasRenderingContext3D::depthRange(double zNear, double zFar)
{
- m_context.depthRange(zNear, zFar);
+ m_context->depthRange(zNear, zFar);
cleanupAfterGraphicsCall(false);
}
@@ -394,58 +405,58 @@ void CanvasRenderingContext3D::detachShader(CanvasProgram* program, CanvasShader
if (!program || !shader)
return;
- m_context.detachShader(program, shader);
+ m_context->detachShader(program, shader);
cleanupAfterGraphicsCall(false);
}
void CanvasRenderingContext3D::disable(unsigned long cap)
{
- m_context.disable(cap);
+ m_context->disable(cap);
cleanupAfterGraphicsCall(false);
}
void CanvasRenderingContext3D::disableVertexAttribArray(unsigned long index)
{
- m_context.disableVertexAttribArray(index);
+ m_context->disableVertexAttribArray(index);
cleanupAfterGraphicsCall(false);
}
void CanvasRenderingContext3D::drawArrays(unsigned long mode, long first, long count)
{
- m_context.drawArrays(mode, first, count);
+ m_context->drawArrays(mode, first, count);
cleanupAfterGraphicsCall(true);
}
void CanvasRenderingContext3D::drawElements(unsigned long mode, unsigned long count, unsigned long type, long offset)
{
- m_context.drawElements(mode, count, type, offset);
+ m_context->drawElements(mode, count, type, offset);
cleanupAfterGraphicsCall(true);
}
void CanvasRenderingContext3D::enable(unsigned long cap)
{
- m_context.enable(cap);
+ m_context->enable(cap);
cleanupAfterGraphicsCall(false);
}
void CanvasRenderingContext3D::enableVertexAttribArray(unsigned long index)
{
- m_context.enableVertexAttribArray(index);
+ m_context->enableVertexAttribArray(index);
cleanupAfterGraphicsCall(false);
}
void CanvasRenderingContext3D::finish()
{
- m_context.finish();
+ m_context->finish();
cleanupAfterGraphicsCall(true);
}
void CanvasRenderingContext3D::flush()
{
- m_context.flush();
+ m_context->flush();
cleanupAfterGraphicsCall(true);
}
@@ -454,7 +465,7 @@ void CanvasRenderingContext3D::framebufferRenderbuffer(unsigned long target, uns
if (!buffer)
return;
- m_context.framebufferRenderbuffer(target, attachment, renderbuffertarget, buffer);
+ m_context->framebufferRenderbuffer(target, attachment, renderbuffertarget, buffer);
cleanupAfterGraphicsCall(false);
}
@@ -463,26 +474,26 @@ void CanvasRenderingContext3D::framebufferTexture2D(unsigned long target, unsign
if (!texture)
return;
- m_context.framebufferTexture2D(target, attachment, textarget, texture, level);
+ m_context->framebufferTexture2D(target, attachment, textarget, texture, level);
cleanupAfterGraphicsCall(false);
}
void CanvasRenderingContext3D::frontFace(unsigned long mode)
{
- m_context.frontFace(mode);
+ m_context->frontFace(mode);
cleanupAfterGraphicsCall(false);
}
void CanvasRenderingContext3D::generateMipmap(unsigned long target)
{
- m_context.generateMipmap(target);
+ m_context->generateMipmap(target);
cleanupAfterGraphicsCall(false);
}
PassRefPtr<CanvasActiveInfo> CanvasRenderingContext3D::getActiveAttrib(CanvasProgram* program, unsigned long index, ExceptionCode& ec)
{
ActiveInfo info;
- if (!program || program->context() != this || !m_context.getActiveAttrib(program, index, info)) {
+ if (!program || program->context() != this || !m_context->getActiveAttrib(program, index, info)) {
ec = INDEX_SIZE_ERR;
return 0;
}
@@ -492,7 +503,7 @@ PassRefPtr<CanvasActiveInfo> CanvasRenderingContext3D::getActiveAttrib(CanvasPro
PassRefPtr<CanvasActiveInfo> CanvasRenderingContext3D::getActiveUniform(CanvasProgram* program, unsigned long index, ExceptionCode& ec)
{
ActiveInfo info;
- if (!program || program->context() != this || !m_context.getActiveUniform(program, index, info)) {
+ if (!program || program->context() != this || !m_context->getActiveUniform(program, index, info)) {
ec = INDEX_SIZE_ERR;
return 0;
}
@@ -501,251 +512,251 @@ PassRefPtr<CanvasActiveInfo> CanvasRenderingContext3D::getActiveUniform(CanvasPr
int CanvasRenderingContext3D::getAttribLocation(CanvasProgram* program, const String& name)
{
- return m_context.getAttribLocation(program, name);
+ return m_context->getAttribLocation(program, name);
}
bool CanvasRenderingContext3D::getBoolean(unsigned long pname)
{
- bool result = m_context.getBoolean(pname);
+ bool result = m_context->getBoolean(pname);
cleanupAfterGraphicsCall(false);
return result;
}
PassRefPtr<CanvasUnsignedByteArray> CanvasRenderingContext3D::getBooleanv(unsigned long pname)
{
- RefPtr<CanvasUnsignedByteArray> array = m_context.getBooleanv(pname);
+ RefPtr<CanvasUnsignedByteArray> array = m_context->getBooleanv(pname);
cleanupAfterGraphicsCall(false);
return array;
}
int CanvasRenderingContext3D::getBufferParameteri(unsigned long target, unsigned long pname)
{
- int result = m_context.getBufferParameteri(target, pname);
+ int result = m_context->getBufferParameteri(target, pname);
cleanupAfterGraphicsCall(false);
return result;
}
PassRefPtr<CanvasIntArray> CanvasRenderingContext3D::getBufferParameteriv(unsigned long target, unsigned long pname)
{
- RefPtr<CanvasIntArray> array = m_context.getBufferParameteriv(target, pname);
+ RefPtr<CanvasIntArray> array = m_context->getBufferParameteriv(target, pname);
cleanupAfterGraphicsCall(false);
return array;
}
unsigned long CanvasRenderingContext3D::getError()
{
- return m_context.getError();
+ return m_context->getError();
}
float CanvasRenderingContext3D::getFloat(unsigned long pname)
{
- float result = m_context.getFloat(pname);
+ float result = m_context->getFloat(pname);
cleanupAfterGraphicsCall(false);
return result;
}
PassRefPtr<CanvasFloatArray> CanvasRenderingContext3D::getFloatv(unsigned long pname)
{
- RefPtr<CanvasFloatArray> array = m_context.getFloatv(pname);
+ RefPtr<CanvasFloatArray> array = m_context->getFloatv(pname);
cleanupAfterGraphicsCall(false);
return array;
}
int CanvasRenderingContext3D::getFramebufferAttachmentParameteri(unsigned long target, unsigned long attachment, unsigned long pname)
{
- int result = m_context.getFramebufferAttachmentParameteri(target, attachment, pname);
+ int result = m_context->getFramebufferAttachmentParameteri(target, attachment, pname);
cleanupAfterGraphicsCall(false);
return result;
}
PassRefPtr<CanvasIntArray> CanvasRenderingContext3D::getFramebufferAttachmentParameteriv(unsigned long target, unsigned long attachment, unsigned long pname)
{
- RefPtr<CanvasIntArray> array = m_context.getFramebufferAttachmentParameteriv(target, attachment, pname);
+ RefPtr<CanvasIntArray> array = m_context->getFramebufferAttachmentParameteriv(target, attachment, pname);
cleanupAfterGraphicsCall(false);
return array;
}
int CanvasRenderingContext3D::getInteger(unsigned long pname)
{
- float result = m_context.getInteger(pname);
+ float result = m_context->getInteger(pname);
cleanupAfterGraphicsCall(false);
return result;
}
PassRefPtr<CanvasIntArray> CanvasRenderingContext3D::getIntegerv(unsigned long pname)
{
- RefPtr<CanvasIntArray> array = m_context.getIntegerv(pname);
+ RefPtr<CanvasIntArray> array = m_context->getIntegerv(pname);
cleanupAfterGraphicsCall(false);
return array;
}
int CanvasRenderingContext3D::getProgrami(CanvasProgram* program, unsigned long pname)
{
- int result = m_context.getProgrami(program, pname);
+ int result = m_context->getProgrami(program, pname);
cleanupAfterGraphicsCall(false);
return result;
}
PassRefPtr<CanvasIntArray> CanvasRenderingContext3D::getProgramiv(CanvasProgram* program, unsigned long pname)
{
- RefPtr<CanvasIntArray> array = m_context.getProgramiv(program, pname);
+ RefPtr<CanvasIntArray> array = m_context->getProgramiv(program, pname);
cleanupAfterGraphicsCall(false);
return array;
}
String CanvasRenderingContext3D::getProgramInfoLog(CanvasProgram* program)
{
- String s = m_context.getProgramInfoLog(program);
+ String s = m_context->getProgramInfoLog(program);
cleanupAfterGraphicsCall(false);
return s;
}
int CanvasRenderingContext3D::getRenderbufferParameteri(unsigned long target, unsigned long pname)
{
- int result = m_context.getRenderbufferParameteri(target, pname);
+ int result = m_context->getRenderbufferParameteri(target, pname);
cleanupAfterGraphicsCall(false);
return result;
}
PassRefPtr<CanvasIntArray> CanvasRenderingContext3D::getRenderbufferParameteriv(unsigned long target, unsigned long pname)
{
- RefPtr<CanvasIntArray> array = m_context.getRenderbufferParameteriv(target, pname);
+ RefPtr<CanvasIntArray> array = m_context->getRenderbufferParameteriv(target, pname);
cleanupAfterGraphicsCall(false);
return array;
}
int CanvasRenderingContext3D::getShaderi(CanvasShader* shader, unsigned long pname)
{
- int result = m_context.getShaderi(shader, pname);
+ int result = m_context->getShaderi(shader, pname);
cleanupAfterGraphicsCall(false);
return result;
}
PassRefPtr<CanvasIntArray> CanvasRenderingContext3D::getShaderiv(CanvasShader* shader, unsigned long pname)
{
- RefPtr<CanvasIntArray> array = m_context.getShaderiv(shader, pname);
+ RefPtr<CanvasIntArray> array = m_context->getShaderiv(shader, pname);
cleanupAfterGraphicsCall(false);
return array;
}
String CanvasRenderingContext3D::getShaderInfoLog(CanvasShader* shader)
{
- String s = m_context.getShaderInfoLog(shader);
+ String s = m_context->getShaderInfoLog(shader);
cleanupAfterGraphicsCall(false);
return s;
}
String CanvasRenderingContext3D::getShaderSource(CanvasShader* shader)
{
- String s = m_context.getShaderSource(shader);
+ String s = m_context->getShaderSource(shader);
cleanupAfterGraphicsCall(false);
return s;
}
String CanvasRenderingContext3D::getString(unsigned long name)
{
- return m_context.getString(name);
+ return m_context->getString(name);
}
float CanvasRenderingContext3D::getTexParameterf(unsigned long target, unsigned long pname)
{
- float result = m_context.getTexParameterf(target, pname);
+ float result = m_context->getTexParameterf(target, pname);
cleanupAfterGraphicsCall(false);
return result;
}
PassRefPtr<CanvasFloatArray> CanvasRenderingContext3D::getTexParameterfv(unsigned long target, unsigned long pname)
{
- RefPtr<CanvasFloatArray> array = m_context.getTexParameterfv(target, pname);
+ RefPtr<CanvasFloatArray> array = m_context->getTexParameterfv(target, pname);
cleanupAfterGraphicsCall(false);
return array;
}
int CanvasRenderingContext3D::getTexParameteri(unsigned long target, unsigned long pname)
{
- int result = m_context.getTexParameteri(target, pname);
+ int result = m_context->getTexParameteri(target, pname);
cleanupAfterGraphicsCall(false);
return result;
}
PassRefPtr<CanvasIntArray> CanvasRenderingContext3D::getTexParameteriv(unsigned long target, unsigned long pname)
{
- RefPtr<CanvasIntArray> array = m_context.getTexParameteriv(target, pname);
+ RefPtr<CanvasIntArray> array = m_context->getTexParameteriv(target, pname);
cleanupAfterGraphicsCall(false);
return array;
}
float CanvasRenderingContext3D::getUniformf(CanvasProgram* program, long location)
{
- float result = m_context.getUniformf(program, location);
+ float result = m_context->getUniformf(program, location);
cleanupAfterGraphicsCall(false);
return result;
}
PassRefPtr<CanvasFloatArray> CanvasRenderingContext3D::getUniformfv(CanvasProgram* program, long location)
{
- RefPtr<CanvasFloatArray> array = m_context.getUniformfv(program, location);
+ RefPtr<CanvasFloatArray> array = m_context->getUniformfv(program, location);
cleanupAfterGraphicsCall(false);
return array;
}
long CanvasRenderingContext3D::getUniformi(CanvasProgram* program, long location)
{
- long result = m_context.getUniformi(program, location);
+ long result = m_context->getUniformi(program, location);
cleanupAfterGraphicsCall(false);
return result;
}
PassRefPtr<CanvasIntArray> CanvasRenderingContext3D::getUniformiv(CanvasProgram* program, long location)
{
- RefPtr<CanvasIntArray> array = m_context.getUniformiv(program, location);
+ RefPtr<CanvasIntArray> array = m_context->getUniformiv(program, location);
cleanupAfterGraphicsCall(false);
return array;
}
long CanvasRenderingContext3D::getUniformLocation(CanvasProgram* program, const String& name)
{
- return m_context.getUniformLocation(program, name);
+ return m_context->getUniformLocation(program, name);
}
float CanvasRenderingContext3D::getVertexAttribf(unsigned long index, unsigned long pname)
{
- float result = m_context.getVertexAttribf(index, pname);
+ float result = m_context->getVertexAttribf(index, pname);
cleanupAfterGraphicsCall(false);
return result;
}
PassRefPtr<CanvasFloatArray> CanvasRenderingContext3D::getVertexAttribfv(unsigned long index, unsigned long pname)
{
- RefPtr<CanvasFloatArray> array = m_context.getVertexAttribfv(index, pname);
+ RefPtr<CanvasFloatArray> array = m_context->getVertexAttribfv(index, pname);
cleanupAfterGraphicsCall(false);
return array;
}
long CanvasRenderingContext3D::getVertexAttribi(unsigned long index, unsigned long pname)
{
- long result = m_context.getVertexAttribi(index, pname);
+ long result = m_context->getVertexAttribi(index, pname);
cleanupAfterGraphicsCall(false);
return result;
}
PassRefPtr<CanvasIntArray> CanvasRenderingContext3D::getVertexAttribiv(unsigned long index, unsigned long pname)
{
- RefPtr<CanvasIntArray> array = m_context.getVertexAttribiv(index, pname);
+ RefPtr<CanvasIntArray> array = m_context->getVertexAttribiv(index, pname);
cleanupAfterGraphicsCall(false);
return array;
}
long CanvasRenderingContext3D::getVertexAttribOffset(unsigned long index, unsigned long pname)
{
- long result = m_context.getVertexAttribOffset(index, pname);
+ long result = m_context->getVertexAttribOffset(index, pname);
cleanupAfterGraphicsCall(false);
return result;
}
void CanvasRenderingContext3D::hint(unsigned long target, unsigned long mode)
{
- m_context.hint(target, mode);
+ m_context->hint(target, mode);
cleanupAfterGraphicsCall(false);
}
@@ -754,42 +765,42 @@ bool CanvasRenderingContext3D::isBuffer(CanvasBuffer* buffer)
if (!buffer)
return false;
- return m_context.isBuffer(buffer);
+ return m_context->isBuffer(buffer);
}
bool CanvasRenderingContext3D::isEnabled(unsigned long cap)
{
- return m_context.isEnabled(cap);
+ return m_context->isEnabled(cap);
}
bool CanvasRenderingContext3D::isFramebuffer(CanvasFramebuffer* framebuffer)
{
- return m_context.isFramebuffer(framebuffer);
+ return m_context->isFramebuffer(framebuffer);
}
bool CanvasRenderingContext3D::isProgram(CanvasProgram* program)
{
- return m_context.isProgram(program);
+ return m_context->isProgram(program);
}
bool CanvasRenderingContext3D::isRenderbuffer(CanvasRenderbuffer* renderbuffer)
{
- return m_context.isRenderbuffer(renderbuffer);
+ return m_context->isRenderbuffer(renderbuffer);
}
bool CanvasRenderingContext3D::isShader(CanvasShader* shader)
{
- return m_context.isShader(shader);
+ return m_context->isShader(shader);
}
bool CanvasRenderingContext3D::isTexture(CanvasTexture* texture)
{
- return m_context.isTexture(texture);
+ return m_context->isTexture(texture);
}
void CanvasRenderingContext3D::lineWidth(double width)
{
- m_context.lineWidth((float) width);
+ m_context->lineWidth((float) width);
cleanupAfterGraphicsCall(false);
}
@@ -798,92 +809,92 @@ void CanvasRenderingContext3D::linkProgram(CanvasProgram* program)
if (!program)
return;
- m_context.linkProgram(program);
+ m_context->linkProgram(program);
cleanupAfterGraphicsCall(false);
}
void CanvasRenderingContext3D::pixelStorei(unsigned long pname, long param)
{
- m_context.pixelStorei(pname, param);
+ m_context->pixelStorei(pname, param);
cleanupAfterGraphicsCall(false);
}
void CanvasRenderingContext3D::polygonOffset(double factor, double units)
{
- m_context.polygonOffset((float) factor, (float) units);
+ m_context->polygonOffset((float) factor, (float) units);
cleanupAfterGraphicsCall(false);
}
PassRefPtr<CanvasArray> CanvasRenderingContext3D::readPixels(long x, long y, unsigned long width, unsigned long height, unsigned long format, unsigned long type)
{
- RefPtr<CanvasArray> array = m_context.readPixels(x, y, width, height, format, type);
+ RefPtr<CanvasArray> array = m_context->readPixels(x, y, width, height, format, type);
cleanupAfterGraphicsCall(false);
return array;
}
void CanvasRenderingContext3D::releaseShaderCompiler()
{
- m_context.releaseShaderCompiler();
+ m_context->releaseShaderCompiler();
cleanupAfterGraphicsCall(false);
}
void CanvasRenderingContext3D::renderbufferStorage(unsigned long target, unsigned long internalformat, unsigned long width, unsigned long height)
{
- m_context.renderbufferStorage(target, internalformat, width, height);
+ m_context->renderbufferStorage(target, internalformat, width, height);
cleanupAfterGraphicsCall(false);
}
void CanvasRenderingContext3D::sampleCoverage(double value, bool invert)
{
- m_context.sampleCoverage((float) value, invert);
+ m_context->sampleCoverage((float) value, invert);
cleanupAfterGraphicsCall(false);
}
void CanvasRenderingContext3D::scissor(long x, long y, unsigned long width, unsigned long height)
{
- m_context.scissor(x, y, width, height);
+ m_context->scissor(x, y, width, height);
cleanupAfterGraphicsCall(false);
}
void CanvasRenderingContext3D::shaderSource(CanvasShader* shader, const String& string)
{
- m_context.shaderSource(shader, string);
+ m_context->shaderSource(shader, string);
cleanupAfterGraphicsCall(false);
}
void CanvasRenderingContext3D::stencilFunc(unsigned long func, long ref, unsigned long mask)
{
- m_context.stencilFunc(func, ref, mask);
+ m_context->stencilFunc(func, ref, mask);
cleanupAfterGraphicsCall(false);
}
void CanvasRenderingContext3D::stencilFuncSeparate(unsigned long face, unsigned long func, long ref, unsigned long mask)
{
- m_context.stencilFuncSeparate(face, func, ref, mask);
+ m_context->stencilFuncSeparate(face, func, ref, mask);
cleanupAfterGraphicsCall(false);
}
void CanvasRenderingContext3D::stencilMask(unsigned long mask)
{
- m_context.stencilMask(mask);
+ m_context->stencilMask(mask);
cleanupAfterGraphicsCall(false);
}
void CanvasRenderingContext3D::stencilMaskSeparate(unsigned long face, unsigned long mask)
{
- m_context.stencilMaskSeparate(face, mask);
+ m_context->stencilMaskSeparate(face, mask);
cleanupAfterGraphicsCall(false);
}
void CanvasRenderingContext3D::stencilOp(unsigned long fail, unsigned long zfail, unsigned long zpass)
{
- m_context.stencilOp(fail, zfail, zpass);
+ m_context->stencilOp(fail, zfail, zpass);
cleanupAfterGraphicsCall(false);
}
void CanvasRenderingContext3D::stencilOpSeparate(unsigned long face, unsigned long fail, unsigned long zfail, unsigned long zpass)
{
- m_context.stencilOpSeparate(face, fail, zfail, zpass);
+ m_context->stencilOpSeparate(face, fail, zfail, zpass);
cleanupAfterGraphicsCall(false);
}
@@ -893,7 +904,7 @@ void CanvasRenderingContext3D::texImage2D(unsigned target, unsigned level, unsig
{
// FIXME: For now we ignore any errors returned
ec = 0;
- m_context.texImage2D(target, level, internalformat, width, height,
+ m_context->texImage2D(target, level, internalformat, width, height,
border, format, type, pixels);
cleanupAfterGraphicsCall(false);
}
@@ -904,7 +915,7 @@ void CanvasRenderingContext3D::texImage2D(unsigned target, unsigned level, unsig
{
// FIXME: For now we ignore any errors returned
ec = 0;
- m_context.texImage2D(target, level, internalformat, width, height,
+ m_context->texImage2D(target, level, internalformat, width, height,
border, format, type, pixels);
cleanupAfterGraphicsCall(false);
}
@@ -914,7 +925,7 @@ void CanvasRenderingContext3D::texImage2D(unsigned target, unsigned level, HTMLI
{
// FIXME: For now we ignore any errors returned
ec = 0;
- m_context.texImage2D(target, level, image, flipY, premultiplyAlpha);
+ m_context->texImage2D(target, level, image, flipY, premultiplyAlpha);
cleanupAfterGraphicsCall(false);
}
@@ -923,7 +934,7 @@ void CanvasRenderingContext3D::texImage2D(unsigned target, unsigned level, HTMLC
{
// FIXME: For now we ignore any errors returned
ec = 0;
- m_context.texImage2D(target, level, canvas, flipY, premultiplyAlpha);
+ m_context->texImage2D(target, level, canvas, flipY, premultiplyAlpha);
cleanupAfterGraphicsCall(false);
}
@@ -932,19 +943,19 @@ void CanvasRenderingContext3D::texImage2D(unsigned target, unsigned level, HTMLV
{
// FIXME: For now we ignore any errors returned
ec = 0;
- m_context.texImage2D(target, level, video, flipY, premultiplyAlpha);
+ m_context->texImage2D(target, level, video, flipY, premultiplyAlpha);
cleanupAfterGraphicsCall(false);
}
void CanvasRenderingContext3D::texParameterf(unsigned target, unsigned pname, float param)
{
- m_context.texParameterf(target, pname, param);
+ m_context->texParameterf(target, pname, param);
cleanupAfterGraphicsCall(false);
}
void CanvasRenderingContext3D::texParameteri(unsigned target, unsigned pname, int param)
{
- m_context.texParameteri(target, pname, param);
+ m_context->texParameteri(target, pname, param);
cleanupAfterGraphicsCall(false);
}
@@ -954,7 +965,7 @@ void CanvasRenderingContext3D::texSubImage2D(unsigned target, unsigned level, un
{
// FIXME: For now we ignore any errors returned
ec = 0;
- m_context.texSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels);
+ m_context->texSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels);
cleanupAfterGraphicsCall(false);
}
@@ -964,7 +975,7 @@ void CanvasRenderingContext3D::texSubImage2D(unsigned target, unsigned level, un
{
// FIXME: For now we ignore any errors returned
ec = 0;
- m_context.texSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels);
+ m_context->texSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels);
cleanupAfterGraphicsCall(false);
}
@@ -974,7 +985,7 @@ void CanvasRenderingContext3D::texSubImage2D(unsigned target, unsigned level, un
{
// FIXME: For now we ignore any errors returned
ec = 0;
- m_context.texSubImage2D(target, level, xoffset, yoffset, width, height, image, flipY, premultiplyAlpha);
+ m_context->texSubImage2D(target, level, xoffset, yoffset, width, height, image, flipY, premultiplyAlpha);
cleanupAfterGraphicsCall(false);
}
@@ -984,7 +995,7 @@ void CanvasRenderingContext3D::texSubImage2D(unsigned target, unsigned level, un
{
// FIXME: For now we ignore any errors returned
ec = 0;
- m_context.texSubImage2D(target, level, xoffset, yoffset, width, height, canvas, flipY, premultiplyAlpha);
+ m_context->texSubImage2D(target, level, xoffset, yoffset, width, height, canvas, flipY, premultiplyAlpha);
cleanupAfterGraphicsCall(false);
}
@@ -994,13 +1005,13 @@ void CanvasRenderingContext3D::texSubImage2D(unsigned target, unsigned level, un
{
// FIXME: For now we ignore any errors returned
ec = 0;
- m_context.texSubImage2D(target, level, xoffset, yoffset, width, height, video, flipY, premultiplyAlpha);
+ m_context->texSubImage2D(target, level, xoffset, yoffset, width, height, video, flipY, premultiplyAlpha);
cleanupAfterGraphicsCall(false);
}
void CanvasRenderingContext3D::uniform1f(long location, float x)
{
- m_context.uniform1f(location, x);
+ m_context->uniform1f(location, x);
cleanupAfterGraphicsCall(false);
}
@@ -1010,7 +1021,7 @@ void CanvasRenderingContext3D::uniform1fv(long location, CanvasFloatArray* v)
if (!v)
return;
- m_context.uniform1fv(location, v->data(), v->length());
+ m_context->uniform1fv(location, v->data(), v->length());
cleanupAfterGraphicsCall(false);
}
@@ -1020,13 +1031,13 @@ void CanvasRenderingContext3D::uniform1fv(long location, float* v, int size)
if (!v)
return;
- m_context.uniform1fv(location, v, size);
+ m_context->uniform1fv(location, v, size);
cleanupAfterGraphicsCall(false);
}
void CanvasRenderingContext3D::uniform1i(long location, int x)
{
- m_context.uniform1i(location, x);
+ m_context->uniform1i(location, x);
cleanupAfterGraphicsCall(false);
}
@@ -1036,7 +1047,7 @@ void CanvasRenderingContext3D::uniform1iv(long location, CanvasIntArray* v)
if (!v)
return;
- m_context.uniform1iv(location, v->data(), v->length());
+ m_context->uniform1iv(location, v->data(), v->length());
cleanupAfterGraphicsCall(false);
}
@@ -1046,13 +1057,13 @@ void CanvasRenderingContext3D::uniform1iv(long location, int* v, int size)
if (!v)
return;
- m_context.uniform1iv(location, v, size);
+ m_context->uniform1iv(location, v, size);
cleanupAfterGraphicsCall(false);
}
void CanvasRenderingContext3D::uniform2f(long location, float x, float y)
{
- m_context.uniform2f(location, x, y);
+ m_context->uniform2f(location, x, y);
cleanupAfterGraphicsCall(false);
}
@@ -1063,7 +1074,7 @@ void CanvasRenderingContext3D::uniform2fv(long location, CanvasFloatArray* v)
return;
// FIXME: length needs to be a multiple of 2
- m_context.uniform2fv(location, v->data(), v->length() / 2);
+ m_context->uniform2fv(location, v->data(), v->length() / 2);
cleanupAfterGraphicsCall(false);
}
@@ -1074,13 +1085,13 @@ void CanvasRenderingContext3D::uniform2fv(long location, float* v, int size)
return;
// FIXME: length needs to be a multiple of 2
- m_context.uniform2fv(location, v, size / 2);
+ m_context->uniform2fv(location, v, size / 2);
cleanupAfterGraphicsCall(false);
}
void CanvasRenderingContext3D::uniform2i(long location, int x, int y)
{
- m_context.uniform2i(location, x, y);
+ m_context->uniform2i(location, x, y);
cleanupAfterGraphicsCall(false);
}
@@ -1091,7 +1102,7 @@ void CanvasRenderingContext3D::uniform2iv(long location, CanvasIntArray* v)
return;
// FIXME: length needs to be a multiple of 2
- m_context.uniform2iv(location, v->data(), v->length() / 2);
+ m_context->uniform2iv(location, v->data(), v->length() / 2);
cleanupAfterGraphicsCall(false);
}
@@ -1102,13 +1113,13 @@ void CanvasRenderingContext3D::uniform2iv(long location, int* v, int size)
return;
// FIXME: length needs to be a multiple of 2
- m_context.uniform2iv(location, v, size / 2);
+ m_context->uniform2iv(location, v, size / 2);
cleanupAfterGraphicsCall(false);
}
void CanvasRenderingContext3D::uniform3f(long location, float x, float y, float z)
{
- m_context.uniform3f(location, x, y, z);
+ m_context->uniform3f(location, x, y, z);
cleanupAfterGraphicsCall(false);
}
@@ -1119,7 +1130,7 @@ void CanvasRenderingContext3D::uniform3fv(long location, CanvasFloatArray* v)
return;
// FIXME: length needs to be a multiple of 3
- m_context.uniform3fv(location, v->data(), v->length() / 3);
+ m_context->uniform3fv(location, v->data(), v->length() / 3);
cleanupAfterGraphicsCall(false);
}
@@ -1130,13 +1141,13 @@ void CanvasRenderingContext3D::uniform3fv(long location, float* v, int size)
return;
// FIXME: length needs to be a multiple of 3
- m_context.uniform3fv(location, v, size / 3);
+ m_context->uniform3fv(location, v, size / 3);
cleanupAfterGraphicsCall(false);
}
void CanvasRenderingContext3D::uniform3i(long location, int x, int y, int z)
{
- m_context.uniform3i(location, x, y, z);
+ m_context->uniform3i(location, x, y, z);
cleanupAfterGraphicsCall(false);
}
@@ -1147,7 +1158,7 @@ void CanvasRenderingContext3D::uniform3iv(long location, CanvasIntArray* v)
return;
// FIXME: length needs to be a multiple of 3
- m_context.uniform3iv(location, v->data(), v->length() / 3);
+ m_context->uniform3iv(location, v->data(), v->length() / 3);
cleanupAfterGraphicsCall(false);
}
@@ -1158,13 +1169,13 @@ void CanvasRenderingContext3D::uniform3iv(long location, int* v, int size)
return;
// FIXME: length needs to be a multiple of 3
- m_context.uniform3iv(location, v, size / 3);
+ m_context->uniform3iv(location, v, size / 3);
cleanupAfterGraphicsCall(false);
}
void CanvasRenderingContext3D::uniform4f(long location, float x, float y, float z, float w)
{
- m_context.uniform4f(location, x, y, z, w);
+ m_context->uniform4f(location, x, y, z, w);
cleanupAfterGraphicsCall(false);
}
@@ -1175,7 +1186,7 @@ void CanvasRenderingContext3D::uniform4fv(long location, CanvasFloatArray* v)
return;
// FIXME: length needs to be a multiple of 4
- m_context.uniform4fv(location, v->data(), v->length() / 4);
+ m_context->uniform4fv(location, v->data(), v->length() / 4);
cleanupAfterGraphicsCall(false);
}
@@ -1186,13 +1197,13 @@ void CanvasRenderingContext3D::uniform4fv(long location, float* v, int size)
return;
// FIXME: length needs to be a multiple of 4
- m_context.uniform4fv(location, v, size / 4);
+ m_context->uniform4fv(location, v, size / 4);
cleanupAfterGraphicsCall(false);
}
void CanvasRenderingContext3D::uniform4i(long location, int x, int y, int z, int w)
{
- m_context.uniform4i(location, x, y, z, w);
+ m_context->uniform4i(location, x, y, z, w);
cleanupAfterGraphicsCall(false);
}
@@ -1203,7 +1214,7 @@ void CanvasRenderingContext3D::uniform4iv(long location, CanvasIntArray* v)
return;
// FIXME: length needs to be a multiple of 4
- m_context.uniform4iv(location, v->data(), v->length() / 4);
+ m_context->uniform4iv(location, v->data(), v->length() / 4);
cleanupAfterGraphicsCall(false);
}
@@ -1214,7 +1225,7 @@ void CanvasRenderingContext3D::uniform4iv(long location, int* v, int size)
return;
// FIXME: length needs to be a multiple of 4
- m_context.uniform4iv(location, v, size / 4);
+ m_context->uniform4iv(location, v, size / 4);
cleanupAfterGraphicsCall(false);
}
@@ -1225,7 +1236,7 @@ void CanvasRenderingContext3D::uniformMatrix2fv(long location, bool transpose, C
return;
// FIXME: length needs to be a multiple of 4
- m_context.uniformMatrix2fv(location, transpose, v->data(), v->length() / 4);
+ m_context->uniformMatrix2fv(location, transpose, v->data(), v->length() / 4);
cleanupAfterGraphicsCall(false);
}
@@ -1236,7 +1247,7 @@ void CanvasRenderingContext3D::uniformMatrix2fv(long location, bool transpose, f
return;
// FIXME: length needs to be a multiple of 4
- m_context.uniformMatrix2fv(location, transpose, v, size / 4);
+ m_context->uniformMatrix2fv(location, transpose, v, size / 4);
cleanupAfterGraphicsCall(false);
}
@@ -1247,7 +1258,7 @@ void CanvasRenderingContext3D::uniformMatrix3fv(long location, bool transpose, C
return;
// FIXME: length needs to be a multiple of 9
- m_context.uniformMatrix3fv(location, transpose, v->data(), v->length() / 9);
+ m_context->uniformMatrix3fv(location, transpose, v->data(), v->length() / 9);
cleanupAfterGraphicsCall(false);
}
@@ -1258,7 +1269,7 @@ void CanvasRenderingContext3D::uniformMatrix3fv(long location, bool transpose, f
return;
// FIXME: length needs to be a multiple of 9
- m_context.uniformMatrix3fv(location, transpose, v, size / 9);
+ m_context->uniformMatrix3fv(location, transpose, v, size / 9);
cleanupAfterGraphicsCall(false);
}
@@ -1269,7 +1280,7 @@ void CanvasRenderingContext3D::uniformMatrix4fv(long location, bool transpose, C
return;
// FIXME: length needs to be a multiple of 16
- m_context.uniformMatrix4fv(location, transpose, v->data(), v->length() / 16);
+ m_context->uniformMatrix4fv(location, transpose, v->data(), v->length() / 16);
cleanupAfterGraphicsCall(false);
}
@@ -1280,32 +1291,32 @@ void CanvasRenderingContext3D::uniformMatrix4fv(long location, bool transpose, f
return;
// FIXME: length needs to be a multiple of 16
- m_context.uniformMatrix4fv(location, transpose, v, size / 16);
+ m_context->uniformMatrix4fv(location, transpose, v, size / 16);
cleanupAfterGraphicsCall(false);
}
void CanvasRenderingContext3D::useProgram(CanvasProgram* program)
{
- m_context.useProgram(program);
+ m_context->useProgram(program);
cleanupAfterGraphicsCall(false);
}
void CanvasRenderingContext3D::validateProgram(CanvasProgram* program)
{
- m_context.validateProgram(program);
+ m_context->validateProgram(program);
cleanupAfterGraphicsCall(false);
}
void CanvasRenderingContext3D::vertexAttrib1f(unsigned long indx, float v0)
{
- m_context.vertexAttrib1f(indx, v0);
+ m_context->vertexAttrib1f(indx, v0);
cleanupAfterGraphicsCall(false);
}
void CanvasRenderingContext3D::vertexAttrib1fv(unsigned long indx, CanvasFloatArray* v)
{
// FIXME: Need to make sure array is big enough for attribute being set
- m_context.vertexAttrib1fv(indx, v->data());
+ m_context->vertexAttrib1fv(indx, v->data());
cleanupAfterGraphicsCall(false);
}
@@ -1314,20 +1325,20 @@ void CanvasRenderingContext3D::vertexAttrib1fv(unsigned long indx, float* v, int
// FIXME: Need to make sure array is big enough for attribute being set
UNUSED_PARAM(size);
- m_context.vertexAttrib1fv(indx, v);
+ m_context->vertexAttrib1fv(indx, v);
cleanupAfterGraphicsCall(false);
}
void CanvasRenderingContext3D::vertexAttrib2f(unsigned long indx, float v0, float v1)
{
- m_context.vertexAttrib2f(indx, v0, v1);
+ m_context->vertexAttrib2f(indx, v0, v1);
cleanupAfterGraphicsCall(false);
}
void CanvasRenderingContext3D::vertexAttrib2fv(unsigned long indx, CanvasFloatArray* v)
{
// FIXME: Need to make sure array is big enough for attribute being set
- m_context.vertexAttrib2fv(indx, v->data());
+ m_context->vertexAttrib2fv(indx, v->data());
cleanupAfterGraphicsCall(false);
}
@@ -1336,20 +1347,20 @@ void CanvasRenderingContext3D::vertexAttrib2fv(unsigned long indx, float* v, int
// FIXME: Need to make sure array is big enough for attribute being set
UNUSED_PARAM(size);
- m_context.vertexAttrib2fv(indx, v);
+ m_context->vertexAttrib2fv(indx, v);
cleanupAfterGraphicsCall(false);
}
void CanvasRenderingContext3D::vertexAttrib3f(unsigned long indx, float v0, float v1, float v2)
{
- m_context.vertexAttrib3f(indx, v0, v1, v2);
+ m_context->vertexAttrib3f(indx, v0, v1, v2);
cleanupAfterGraphicsCall(false);
}
void CanvasRenderingContext3D::vertexAttrib3fv(unsigned long indx, CanvasFloatArray* v)
{
// FIXME: Need to make sure array is big enough for attribute being set
- m_context.vertexAttrib3fv(indx, v->data());
+ m_context->vertexAttrib3fv(indx, v->data());
cleanupAfterGraphicsCall(false);
}
@@ -1358,20 +1369,20 @@ void CanvasRenderingContext3D::vertexAttrib3fv(unsigned long indx, float* v, int
// FIXME: Need to make sure array is big enough for attribute being set
UNUSED_PARAM(size);
- m_context.vertexAttrib3fv(indx, v);
+ m_context->vertexAttrib3fv(indx, v);
cleanupAfterGraphicsCall(false);
}
void CanvasRenderingContext3D::vertexAttrib4f(unsigned long indx, float v0, float v1, float v2, float v3)
{
- m_context.vertexAttrib4f(indx, v0, v1, v2, v3);
+ m_context->vertexAttrib4f(indx, v0, v1, v2, v3);
cleanupAfterGraphicsCall(false);
}
void CanvasRenderingContext3D::vertexAttrib4fv(unsigned long indx, CanvasFloatArray* v)
{
// FIXME: Need to make sure array is big enough for attribute being set
- m_context.vertexAttrib4fv(indx, v->data());
+ m_context->vertexAttrib4fv(indx, v->data());
cleanupAfterGraphicsCall(false);
}
@@ -1380,13 +1391,13 @@ void CanvasRenderingContext3D::vertexAttrib4fv(unsigned long indx, float* v, int
// FIXME: Need to make sure array is big enough for attribute being set
UNUSED_PARAM(size);
- m_context.vertexAttrib4fv(indx, v);
+ m_context->vertexAttrib4fv(indx, v);
cleanupAfterGraphicsCall(false);
}
void CanvasRenderingContext3D::vertexAttribPointer(unsigned long indx, long size, unsigned long type, bool normalized, unsigned long stride, unsigned long offset)
{
- m_context.vertexAttribPointer(indx, size, type, normalized, stride, offset);
+ m_context->vertexAttribPointer(indx, size, type, normalized, stride, offset);
cleanupAfterGraphicsCall(false);
}
@@ -1400,7 +1411,7 @@ void CanvasRenderingContext3D::viewport(long x, long y, unsigned long width, uns
width = 100;
if (isnan(height))
height = 100;
- m_context.viewport(x, y, width, height);
+ m_context->viewport(x, y, width, height);
cleanupAfterGraphicsCall(false);
}
diff --git a/src/3rdparty/webkit/WebCore/html/canvas/CanvasRenderingContext3D.h b/src/3rdparty/webkit/WebCore/html/canvas/CanvasRenderingContext3D.h
index 526281b..70d9b95 100644
--- a/src/3rdparty/webkit/WebCore/html/canvas/CanvasRenderingContext3D.h
+++ b/src/3rdparty/webkit/WebCore/html/canvas/CanvasRenderingContext3D.h
@@ -51,8 +51,8 @@ class WebKitCSSMatrix;
class CanvasRenderingContext3D : public CanvasRenderingContext {
public:
- CanvasRenderingContext3D(HTMLCanvasElement*);
- ~CanvasRenderingContext3D();
+ static PassOwnPtr<CanvasRenderingContext3D> create(HTMLCanvasElement*);
+ virtual ~CanvasRenderingContext3D();
virtual bool is3d() const { return true; }
@@ -288,7 +288,7 @@ class WebKitCSSMatrix;
void viewport(long x, long y, unsigned long width, unsigned long height);
- GraphicsContext3D* graphicsContext3D() { return &m_context; }
+ GraphicsContext3D* graphicsContext3D() const { return m_context.get(); }
void reshape(int width, int height);
@@ -300,18 +300,21 @@ class WebKitCSSMatrix;
private:
friend class CanvasObject;
+
+ CanvasRenderingContext3D(HTMLCanvasElement*, PassOwnPtr<GraphicsContext3D>);
+
void addObject(CanvasObject*);
void detachAndRemoveAllObjects();
void markContextChanged();
void cleanupAfterGraphicsCall(bool changed)
{
- m_context.checkError();
+ m_context->checkError();
if (changed)
markContextChanged();
}
- GraphicsContext3D m_context;
+ OwnPtr<GraphicsContext3D> m_context;
bool m_needsUpdate;
bool m_markedCanvasDirty;
// FIXME: I think this is broken -- it does not increment any
diff --git a/src/3rdparty/webkit/WebCore/inspector/ConsoleMessage.cpp b/src/3rdparty/webkit/WebCore/inspector/ConsoleMessage.cpp
index 6cfb75e..eb8d49a 100644
--- a/src/3rdparty/webkit/WebCore/inspector/ConsoleMessage.cpp
+++ b/src/3rdparty/webkit/WebCore/inspector/ConsoleMessage.cpp
@@ -90,7 +90,12 @@ void ConsoleMessage::addToConsole(InspectorFrontend* frontend)
jsonObj.set("url", m_url);
jsonObj.set("groupLevel", static_cast<int>(m_groupLevel));
jsonObj.set("repeatCount", static_cast<int>(m_repeatCount));
- frontend->addMessageToConsole(jsonObj, m_frames, m_wrappedArguments, m_message);
+ frontend->addConsoleMessage(jsonObj, m_frames, m_wrappedArguments, m_message);
+}
+
+void ConsoleMessage::updateRepeatCountInConsole(InspectorFrontend* frontend)
+{
+ frontend->updateConsoleMessageRepeatCount(m_repeatCount);
}
#endif // ENABLE(INSPECTOR)
diff --git a/src/3rdparty/webkit/WebCore/inspector/ConsoleMessage.h b/src/3rdparty/webkit/WebCore/inspector/ConsoleMessage.h
index d03f2b7..8ed6660 100644
--- a/src/3rdparty/webkit/WebCore/inspector/ConsoleMessage.h
+++ b/src/3rdparty/webkit/WebCore/inspector/ConsoleMessage.h
@@ -49,6 +49,7 @@ namespace WebCore {
#if ENABLE(INSPECTOR)
void addToConsole(InspectorFrontend* frontend);
+ void updateRepeatCountInConsole(InspectorFrontend* frontend);
#endif
void incrementCount() { ++m_repeatCount; };
bool isEqual(ScriptState*, ConsoleMessage* msg) const;
diff --git a/src/3rdparty/webkit/WebCore/inspector/DOMDispatchTimelineItem.cpp b/src/3rdparty/webkit/WebCore/inspector/DOMDispatchTimelineItem.cpp
deleted file mode 100644
index acff513..0000000
--- a/src/3rdparty/webkit/WebCore/inspector/DOMDispatchTimelineItem.cpp
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
-* Copyright (C) 2009 Google 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:
-*
-* * 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 Google Inc. 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.
-*/
-
-#include "config.h"
-#include "DOMDispatchTimelineItem.h"
-
-#if ENABLE(INSPECTOR)
-
-#include "Event.h"
-#include "InspectorFrontend.h"
-
-namespace WebCore {
-
-DOMDispatchTimelineItem::DOMDispatchTimelineItem(PassOwnPtr<TimelineItem> previous, double startTime, const Event& event)
- : TimelineItem(previous, startTime, DOMDispatchTimelineItemType)
- , m_eventType(event.type().string())
-{
-}
-
-ScriptObject DOMDispatchTimelineItem::convertToScriptObject(InspectorFrontend* frontend)
-{
- ScriptObject selfObj = TimelineItem::convertToScriptObject(frontend);
- ScriptObject dataObj = frontend->newScriptObject();
- dataObj.set("type", m_eventType);
- selfObj.set("data", dataObj);
- return selfObj;
-}
-
-} // namespace WebCore
-
-#endif // ENABLE(INSPECTOR)
diff --git a/src/3rdparty/webkit/WebCore/inspector/DOMDispatchTimelineItem.h b/src/3rdparty/webkit/WebCore/inspector/DOMDispatchTimelineItem.h
deleted file mode 100644
index 384ce25f..0000000
--- a/src/3rdparty/webkit/WebCore/inspector/DOMDispatchTimelineItem.h
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
-* Copyright (C) 2009 Google 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:
-*
-* * 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 Google Inc. 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.
-*/
-
-#ifndef DOMDispatchTimelineItem_h
-#define DOMDispatchTimelineItem_h
-
-#include "TimelineItem.h"
-#include "PlatformString.h"
-
-namespace WebCore {
-
- class Event;
- class InspectorFrontend;
-
- class DOMDispatchTimelineItem : public TimelineItem {
- public:
- DOMDispatchTimelineItem(PassOwnPtr<TimelineItem> previous, double startTime, const Event&);
-
- virtual ~DOMDispatchTimelineItem() { }
-
- protected:
- virtual ScriptObject convertToScriptObject(InspectorFrontend*);
-
- private:
- String m_eventType;
- };
-
-} // namespace WebCore
-
-#endif // !defined(DOMDispatchTimelineItem_h)
-
diff --git a/src/3rdparty/webkit/WebCore/inspector/InspectorController.cpp b/src/3rdparty/webkit/WebCore/inspector/InspectorController.cpp
index a5b8cbf..a6628cd 100644
--- a/src/3rdparty/webkit/WebCore/inspector/InspectorController.cpp
+++ b/src/3rdparty/webkit/WebCore/inspector/InspectorController.cpp
@@ -171,6 +171,8 @@ InspectorController::~InspectorController()
s_settingCache = 0;
}
+ releaseDOMAgent();
+
m_inspectorBackend->disconnectController();
}
@@ -372,13 +374,14 @@ void InspectorController::addConsoleMessage(ScriptState* scriptState, ConsoleMes
if (m_previousMessage && m_previousMessage->isEqual(scriptState, consoleMessage)) {
m_previousMessage->incrementCount();
delete consoleMessage;
+ if (windowVisible())
+ m_previousMessage->updateRepeatCountInConsole(m_frontend.get());
} else {
m_previousMessage = consoleMessage;
m_consoleMessages.append(consoleMessage);
+ if (windowVisible())
+ m_previousMessage->addToConsole(m_frontend.get());
}
-
- if (windowVisible())
- m_previousMessage->addToConsole(m_frontend.get());
}
void InspectorController::clearConsoleMessages(bool clearUI)
@@ -552,8 +555,10 @@ void InspectorController::setFrontendProxyObject(ScriptState* scriptState, Scrip
m_scriptState = scriptState;
m_injectedScriptObj = injectedScriptObj;
m_frontend.set(new InspectorFrontend(this, scriptState, webInspectorObj));
- m_domAgent = new InspectorDOMAgent(m_frontend.get());
- m_timelineAgent = 0;
+ releaseDOMAgent();
+ m_domAgent = InspectorDOMAgent::create(m_frontend.get());
+ if (m_timelineAgent)
+ m_timelineAgent->resetFrontendProxyObject(m_frontend.get());
}
void InspectorController::show()
@@ -608,11 +613,7 @@ void InspectorController::close()
m_frontend.set(0);
m_injectedScriptObj = ScriptObject();
- // m_domAgent is RefPtr. Remove DOM listeners first to ensure that there are
- // no references to the DOM agent from the DOM tree.
- if (m_domAgent)
- m_domAgent->setDocument(0);
- m_domAgent = 0;
+ releaseDOMAgent();
m_timelineAgent = 0;
m_scriptState = 0;
if (m_page)
@@ -642,6 +643,15 @@ void InspectorController::closeWindow()
m_client->closeWindow();
}
+void InspectorController::releaseDOMAgent()
+{
+ // m_domAgent is RefPtr. Remove DOM listeners first to ensure that there are
+ // no references to the DOM agent from the DOM tree.
+ if (m_domAgent)
+ m_domAgent->setDocument(0);
+ m_domAgent = 0;
+}
+
void InspectorController::populateScriptObjects()
{
ASSERT(m_frontend);
@@ -653,7 +663,9 @@ void InspectorController::populateScriptObjects()
ResourcesMap::iterator resourcesEnd = m_resources.end();
for (ResourcesMap::iterator it = m_resources.begin(); it != resourcesEnd; ++it) {
it->second->createScriptObject(m_frontend.get());
- m_frontend->addCookieDomain(it->second->frame()->document()->url().host());
+ KURL resourceURL = it->second->frame()->document()->url();
+ if (resourceURL.protocolInHTTPFamily() || resourceURL.protocolIs("file"))
+ m_frontend->addCookieDomain(resourceURL.host());
}
unsigned messageCount = m_consoleMessages.size();
@@ -982,7 +994,9 @@ void InspectorController::didFinishLoading(DocumentLoader*, unsigned long identi
if (windowVisible()) {
resource->updateScriptObject(m_frontend.get());
- m_frontend->addCookieDomain(resource->frame()->document()->url().host());
+ KURL resourceURL = resource->frame()->document()->url();
+ if (resourceURL.protocolInHTTPFamily() || resourceURL.protocolIs("file"))
+ m_frontend->addCookieDomain(resourceURL.host());
}
}
@@ -1035,7 +1049,7 @@ void InspectorController::scriptImported(unsigned long identifier, const String&
resource->updateScriptObject(m_frontend.get());
}
-void InspectorController::enableResourceTracking(bool always)
+void InspectorController::enableResourceTracking(bool always, bool reload)
{
if (!enabled())
return;
@@ -1051,7 +1065,8 @@ void InspectorController::enableResourceTracking(bool always)
if (m_frontend)
m_frontend->resourceTrackingWasEnabled();
- m_inspectedPage->mainFrame()->loader()->reload();
+ if (reload)
+ m_inspectedPage->mainFrame()->loader()->reload();
}
void InspectorController::disableResourceTracking(bool always)
@@ -1431,7 +1446,7 @@ void InspectorController::startUserInitiatedProfiling(Timer<InspectorController>
UString title = getCurrentUserInitiatedProfileName(true);
- ExecState* scriptState = toJSDOMWindow(m_inspectedPage->mainFrame())->globalExec();
+ ExecState* scriptState = toJSDOMWindow(m_inspectedPage->mainFrame(), debuggerWorld())->globalExec();
Profiler::profiler()->startProfiling(scriptState, title);
addStartProfilingMessageToConsole(title, 0, UString());
@@ -1448,7 +1463,7 @@ void InspectorController::stopUserInitiatedProfiling()
UString title = getCurrentUserInitiatedProfileName();
- ExecState* scriptState = toJSDOMWindow(m_inspectedPage->mainFrame())->globalExec();
+ ExecState* scriptState = toJSDOMWindow(m_inspectedPage->mainFrame(), debuggerWorld())->globalExec();
RefPtr<Profile> profile = Profiler::profiler()->stopProfiling(scriptState, title);
if (profile)
addProfile(profile, 0, UString());
diff --git a/src/3rdparty/webkit/WebCore/inspector/InspectorController.h b/src/3rdparty/webkit/WebCore/inspector/InspectorController.h
index 8c14532..382d887 100644
--- a/src/3rdparty/webkit/WebCore/inspector/InspectorController.h
+++ b/src/3rdparty/webkit/WebCore/inspector/InspectorController.h
@@ -223,7 +223,7 @@ public:
void resourceRetrievedByXMLHttpRequest(unsigned long identifier, const ScriptString& sourceString);
void scriptImported(unsigned long identifier, const String& sourceString);
- void enableResourceTracking(bool always = false);
+ void enableResourceTracking(bool always = false, bool reload = true);
void disableResourceTracking(bool always = false);
bool resourceTrackingEnabled() const { return m_resourceTrackingEnabled; }
void ensureResourceTrackingSettingsLoaded();
@@ -300,6 +300,7 @@ private:
void storeLastActivePanel(const String& panelName);
void closeWindow();
InspectorDOMAgent* domAgent() { return m_domAgent.get(); }
+ void releaseDOMAgent();
friend class InspectorFrontend;
// Following are used from InspectorFrontend only. We don't want to expose them to the
diff --git a/src/3rdparty/webkit/WebCore/inspector/InspectorDOMAgent.h b/src/3rdparty/webkit/WebCore/inspector/InspectorDOMAgent.h
index b9bdb6b..3f736f7 100644
--- a/src/3rdparty/webkit/WebCore/inspector/InspectorDOMAgent.h
+++ b/src/3rdparty/webkit/WebCore/inspector/InspectorDOMAgent.h
@@ -68,6 +68,11 @@ namespace WebCore {
class InspectorDOMAgent : public EventListener {
public:
+ static PassRefPtr<InspectorDOMAgent> create(InspectorFrontend* frontend)
+ {
+ return adoptRef(new InspectorDOMAgent(frontend));
+ }
+
static const InspectorDOMAgent* cast(const EventListener* listener)
{
return listener->type() == InspectorDOMAgentType
diff --git a/src/3rdparty/webkit/WebCore/inspector/InspectorFrontend.cpp b/src/3rdparty/webkit/WebCore/inspector/InspectorFrontend.cpp
index 2e6dc2b..2c422ac 100644
--- a/src/3rdparty/webkit/WebCore/inspector/InspectorFrontend.cpp
+++ b/src/3rdparty/webkit/WebCore/inspector/InspectorFrontend.cpp
@@ -78,9 +78,9 @@ void InspectorFrontend::didCommitLoad()
callSimpleFunction("didCommitLoad");
}
-void InspectorFrontend::addMessageToConsole(const ScriptObject& messageObj, const Vector<ScriptString>& frames, const Vector<ScriptValue> wrappedArguments, const String& message)
+void InspectorFrontend::addConsoleMessage(const ScriptObject& messageObj, const Vector<ScriptString>& frames, const Vector<ScriptValue> wrappedArguments, const String& message)
{
- OwnPtr<ScriptFunctionCall> function(newFunctionCall("addMessageToConsole"));
+ OwnPtr<ScriptFunctionCall> function(newFunctionCall("addConsoleMessage"));
function->appendArgument(messageObj);
if (!frames.isEmpty()) {
for (unsigned i = 0; i < frames.size(); ++i)
@@ -93,6 +93,13 @@ void InspectorFrontend::addMessageToConsole(const ScriptObject& messageObj, cons
function->call();
}
+void InspectorFrontend::updateConsoleMessageRepeatCount(const int count)
+{
+ OwnPtr<ScriptFunctionCall> function(newFunctionCall("updateConsoleMessageRepeatCount"));
+ function->appendArgument(count);
+ function->call();
+}
+
void InspectorFrontend::clearConsoleMessages()
{
callSimpleFunction("clearConsoleMessages");
@@ -207,10 +214,10 @@ void InspectorFrontend::timelineProfilerWasStopped()
callSimpleFunction("timelineProfilerWasStopped");
}
-void InspectorFrontend::addItemToTimeline(const ScriptObject& itemObj)
+void InspectorFrontend::addRecordToTimeline(const ScriptObject& record)
{
- OwnPtr<ScriptFunctionCall> function(newFunctionCall("addItemToTimeline"));
- function->appendArgument(itemObj);
+ OwnPtr<ScriptFunctionCall> function(newFunctionCall("addRecordToTimeline"));
+ function->appendArgument(record);
function->call();
}
diff --git a/src/3rdparty/webkit/WebCore/inspector/InspectorFrontend.h b/src/3rdparty/webkit/WebCore/inspector/InspectorFrontend.h
index 0883ac2..3cb9b8c 100644
--- a/src/3rdparty/webkit/WebCore/inspector/InspectorFrontend.h
+++ b/src/3rdparty/webkit/WebCore/inspector/InspectorFrontend.h
@@ -63,7 +63,8 @@ namespace WebCore {
ScriptObject newScriptObject();
void didCommitLoad();
- void addMessageToConsole(const ScriptObject& messageObj, const Vector<ScriptString>& frames, const Vector<ScriptValue> wrappedArguments, const String& message);
+ void addConsoleMessage(const ScriptObject& messageObj, const Vector<ScriptString>& frames, const Vector<ScriptValue> wrappedArguments, const String& message);
+ void updateConsoleMessageRepeatCount(const int count);
void clearConsoleMessages();
bool addResource(long long identifier, const ScriptObject& resourceObj);
@@ -126,7 +127,7 @@ namespace WebCore {
void timelineProfilerWasStarted();
void timelineProfilerWasStopped();
- void addItemToTimeline(const ScriptObject& itemObj);
+ void addRecordToTimeline(const ScriptObject&);
void didGetCookies(int callId, const ScriptArray& cookies, const String& cookiesString);
void didDispatchOnInjectedScript(int callId, const String& result, bool isException);
diff --git a/src/3rdparty/webkit/WebCore/inspector/InspectorResource.cpp b/src/3rdparty/webkit/WebCore/inspector/InspectorResource.cpp
index 69ab39b..b8bb22b 100644
--- a/src/3rdparty/webkit/WebCore/inspector/InspectorResource.cpp
+++ b/src/3rdparty/webkit/WebCore/inspector/InspectorResource.cpp
@@ -33,6 +33,7 @@
#if ENABLE(INSPECTOR)
+#include "Cache.h"
#include "CachedResource.h"
#include "DocLoader.h"
#include "DocumentLoader.h"
@@ -227,6 +228,18 @@ void InspectorResource::releaseScriptObject(InspectorFrontend* frontend, bool ca
frontend->removeResource(m_identifier);
}
+CachedResource* InspectorResource::cachedResource() const
+{
+ // Try hard to find a corresponding CachedResource. During preloading, DocLoader may not have the resource in document resources set yet,
+ // but Inspector will already try to fetch data that is only available via CachedResource (and it won't update once the resource is added,
+ // because m_changes will not have the appropriate bits set).
+ const String& url = requestURL();
+ CachedResource* cachedResource = m_frame->document()->docLoader()->cachedResource(url);
+ if (!cachedResource)
+ cachedResource = cache()->resourceForURL(url);
+ return cachedResource;
+}
+
InspectorResource::Type InspectorResource::type() const
{
if (!m_xmlHttpResponseText.isNull())
@@ -238,7 +251,7 @@ InspectorResource::Type InspectorResource::type() const
if (m_loader->frameLoader() && m_requestURL == m_loader->frameLoader()->iconURL())
return Image;
- CachedResource* cachedResource = m_frame->document()->docLoader()->cachedResource(requestURL());
+ CachedResource* cachedResource = this->cachedResource();
if (!cachedResource)
return Other;
@@ -281,13 +294,14 @@ String InspectorResource::sourceString() const
return encoding.decode(buffer->data(), buffer->size());
}
-PassRefPtr<SharedBuffer> InspectorResource::resourceData(String* textEncodingName) const {
+PassRefPtr<SharedBuffer> InspectorResource::resourceData(String* textEncodingName) const
+{
if (m_requestURL == m_loader->requestURL()) {
*textEncodingName = m_frame->document()->inputEncoding();
return m_loader->mainResourceData();
}
- CachedResource* cachedResource = m_frame->document()->docLoader()->cachedResource(requestURL());
+ CachedResource* cachedResource = this->cachedResource();
if (!cachedResource)
return 0;
diff --git a/src/3rdparty/webkit/WebCore/inspector/InspectorResource.h b/src/3rdparty/webkit/WebCore/inspector/InspectorResource.h
index 880eab7..0335586 100644
--- a/src/3rdparty/webkit/WebCore/inspector/InspectorResource.h
+++ b/src/3rdparty/webkit/WebCore/inspector/InspectorResource.h
@@ -145,6 +145,8 @@ namespace WebCore {
InspectorResource(long long identifier, DocumentLoader*);
Type type() const;
+ CachedResource* cachedResource() const;
+
long long m_identifier;
RefPtr<DocumentLoader> m_loader;
RefPtr<Frame> m_frame;
diff --git a/src/3rdparty/webkit/WebCore/inspector/InspectorTimelineAgent.cpp b/src/3rdparty/webkit/WebCore/inspector/InspectorTimelineAgent.cpp
index c3ad075..4f7b736 100644
--- a/src/3rdparty/webkit/WebCore/inspector/InspectorTimelineAgent.cpp
+++ b/src/3rdparty/webkit/WebCore/inspector/InspectorTimelineAgent.cpp
@@ -33,19 +33,16 @@
#if ENABLE(INSPECTOR)
-#include "DOMDispatchTimelineItem.h"
#include "Event.h"
#include "InspectorFrontend.h"
-#include "TimelineItem.h"
+#include "TimelineRecordFactory.h"
#include <wtf/CurrentTime.h>
namespace WebCore {
InspectorTimelineAgent::InspectorTimelineAgent(InspectorFrontend* frontend)
- : m_sessionStartTime(currentTimeInMilliseconds())
- , m_frontend(frontend)
- , m_currentTimelineItem(0)
+ : m_frontend(frontend)
{
ASSERT(m_frontend);
}
@@ -56,75 +53,140 @@ InspectorTimelineAgent::~InspectorTimelineAgent()
void InspectorTimelineAgent::willDispatchDOMEvent(const Event& event)
{
- m_currentTimelineItem = new DOMDispatchTimelineItem(m_currentTimelineItem.release(), sessionTimeInMilliseconds(), event);
+ pushCurrentRecord(TimelineRecordFactory::createDOMDispatchRecord(m_frontend, currentTimeInMilliseconds(), event), DOMDispatchTimelineRecordType);
}
void InspectorTimelineAgent::didDispatchDOMEvent()
{
- ASSERT(m_currentTimelineItem->type() == DOMDispatchTimelineItemType);
- didCompleteCurrentRecord();
+ didCompleteCurrentRecord(DOMDispatchTimelineRecordType);
}
void InspectorTimelineAgent::willLayout()
{
- m_currentTimelineItem = new TimelineItem(m_currentTimelineItem.release(), sessionTimeInMilliseconds(), LayoutTimelineItemType);
+ pushCurrentRecord(TimelineRecordFactory::createGenericRecord(m_frontend, currentTimeInMilliseconds()), LayoutTimelineRecordType);
}
void InspectorTimelineAgent::didLayout()
{
- ASSERT(m_currentTimelineItem->type() == LayoutTimelineItemType);
- didCompleteCurrentRecord();
+ didCompleteCurrentRecord(LayoutTimelineRecordType);
}
void InspectorTimelineAgent::willRecalculateStyle()
{
- m_currentTimelineItem = new TimelineItem(m_currentTimelineItem.release(), sessionTimeInMilliseconds(), RecalculateStylesTimelineItemType);
+ pushCurrentRecord(TimelineRecordFactory::createGenericRecord(m_frontend, currentTimeInMilliseconds()), RecalculateStylesTimelineRecordType);
}
void InspectorTimelineAgent::didRecalculateStyle()
{
- ASSERT(m_currentTimelineItem->type() == RecalculateStylesTimelineItemType);
- didCompleteCurrentRecord();
+ didCompleteCurrentRecord(RecalculateStylesTimelineRecordType);
}
void InspectorTimelineAgent::willPaint()
{
- m_currentTimelineItem = new TimelineItem(m_currentTimelineItem.release(), sessionTimeInMilliseconds(), PaintTimelineItemType);
+ pushCurrentRecord(TimelineRecordFactory::createGenericRecord(m_frontend, currentTimeInMilliseconds()), PaintTimelineRecordType);
}
void InspectorTimelineAgent::didPaint()
{
- ASSERT(m_currentTimelineItem->type() == PaintTimelineItemType);
- didCompleteCurrentRecord();
+ didCompleteCurrentRecord(PaintTimelineRecordType);
}
void InspectorTimelineAgent::willWriteHTML()
{
- m_currentTimelineItem = new TimelineItem(m_currentTimelineItem.release(), sessionTimeInMilliseconds(), ParseHTMLTimelineItemType);
+ pushCurrentRecord(TimelineRecordFactory::createGenericRecord(m_frontend, currentTimeInMilliseconds()), ParseHTMLTimelineRecordType);
}
void InspectorTimelineAgent::didWriteHTML()
{
- ASSERT(m_currentTimelineItem->type() == ParseHTMLTimelineItemType);
- didCompleteCurrentRecord();
+ didCompleteCurrentRecord(ParseHTMLTimelineRecordType);
+}
+
+void InspectorTimelineAgent::didInstallTimer(int timerId, int timeout, bool singleShot)
+{
+ addRecordToTimeline(TimelineRecordFactory::createTimerInstallRecord(m_frontend, currentTimeInMilliseconds(), timerId,
+ timeout, singleShot), TimerInstallTimelineRecordType);
+}
+
+void InspectorTimelineAgent::didRemoveTimer(int timerId)
+{
+ addRecordToTimeline(TimelineRecordFactory::createGenericTimerRecord(m_frontend, currentTimeInMilliseconds(), timerId),
+ TimerRemoveTimelineRecordType);
+}
+
+void InspectorTimelineAgent::willFireTimer(int timerId)
+{
+ pushCurrentRecord(TimelineRecordFactory::createGenericTimerRecord(m_frontend, currentTimeInMilliseconds(), timerId),
+ TimerFireTimelineRecordType);
+}
+
+void InspectorTimelineAgent::didFireTimer()
+{
+ didCompleteCurrentRecord(TimerFireTimelineRecordType);
+}
+
+void InspectorTimelineAgent::willChangeXHRReadyState(const String& url, int readyState)
+{
+ pushCurrentRecord(TimelineRecordFactory::createXHRReadyStateChangeTimelineRecord(m_frontend, currentTimeInMilliseconds(), url, readyState),
+ XHRReadyStateChangeRecordType);
+}
+
+void InspectorTimelineAgent::didChangeXHRReadyState()
+{
+ didCompleteCurrentRecord(XHRReadyStateChangeRecordType);
+}
+
+void InspectorTimelineAgent::willLoadXHR(const String& url)
+{
+ pushCurrentRecord(TimelineRecordFactory::createXHRLoadTimelineRecord(m_frontend, currentTimeInMilliseconds(), url), XHRLoadRecordType);
+}
+
+void InspectorTimelineAgent::didLoadXHR()
+{
+ didCompleteCurrentRecord(XHRLoadRecordType);
+}
+
+void InspectorTimelineAgent::willEvaluateScriptTag(const String& url, int lineNumber)
+{
+ pushCurrentRecord(TimelineRecordFactory::createEvaluateScriptTagTimelineRecord(m_frontend, currentTimeInMilliseconds(), url, lineNumber), EvaluateScriptTagTimelineRecordType);
+}
+
+void InspectorTimelineAgent::didEvaluateScriptTag()
+{
+ didCompleteCurrentRecord(EvaluateScriptTagTimelineRecordType);
}
void InspectorTimelineAgent::reset()
{
- m_sessionStartTime = currentTimeInMilliseconds();
- m_currentTimelineItem.set(0);
+ m_recordStack.clear();
+}
+
+void InspectorTimelineAgent::resetFrontendProxyObject(InspectorFrontend* frontend)
+{
+ ASSERT(frontend);
+ reset();
+ m_frontend = frontend;
}
-void InspectorTimelineAgent::didCompleteCurrentRecord()
+void InspectorTimelineAgent::addRecordToTimeline(ScriptObject record, TimelineRecordType type)
{
- OwnPtr<TimelineItem> item(m_currentTimelineItem.release());
- m_currentTimelineItem = item->releasePrevious();
+ record.set("type", type);
+ if (m_recordStack.isEmpty())
+ m_frontend->addRecordToTimeline(record);
+ else {
+ TimelineRecordEntry parent = m_recordStack.last();
+ parent.children.set(parent.children.length(), record);
+ }
+}
- item->setEndTime(sessionTimeInMilliseconds());
- if (m_currentTimelineItem.get())
- m_currentTimelineItem->addChildItem(item.release());
- else
- item->addToTimeline(m_frontend);
+void InspectorTimelineAgent::didCompleteCurrentRecord(TimelineRecordType type)
+{
+ ASSERT(!m_recordStack.isEmpty());
+ TimelineRecordEntry entry = m_recordStack.last();
+ m_recordStack.removeLast();
+ ASSERT(entry.type == type);
+ entry.record.set("children", entry.children);
+ entry.record.set("endTime", currentTimeInMilliseconds());
+ addRecordToTimeline(entry.record, type);
}
double InspectorTimelineAgent::currentTimeInMilliseconds()
@@ -132,9 +194,9 @@ double InspectorTimelineAgent::currentTimeInMilliseconds()
return currentTime() * 1000.0;
}
-double InspectorTimelineAgent::sessionTimeInMilliseconds()
+void InspectorTimelineAgent::pushCurrentRecord(ScriptObject record, TimelineRecordType type)
{
- return currentTimeInMilliseconds() - m_sessionStartTime;
+ m_recordStack.append(TimelineRecordEntry(record, m_frontend->newScriptArray(), type));
}
} // namespace WebCore
diff --git a/src/3rdparty/webkit/WebCore/inspector/InspectorTimelineAgent.h b/src/3rdparty/webkit/WebCore/inspector/InspectorTimelineAgent.h
index 4095fed..0401977 100644
--- a/src/3rdparty/webkit/WebCore/inspector/InspectorTimelineAgent.h
+++ b/src/3rdparty/webkit/WebCore/inspector/InspectorTimelineAgent.h
@@ -31,16 +31,30 @@
#ifndef InspectorTimelineAgent_h
#define InspectorTimelineAgent_h
+#include "Document.h"
+#include "ScriptExecutionContext.h"
#include "ScriptObject.h"
#include "ScriptArray.h"
-
-#include <wtf/OwnPtr.h>
-#include <wtf/PassOwnPtr.h>
+#include <wtf/Vector.h>
namespace WebCore {
class Event;
class InspectorFrontend;
- class TimelineItem;
+
+ // Must be kept in sync with TimelineAgent.js
+ enum TimelineRecordType {
+ DOMDispatchTimelineRecordType = 0,
+ LayoutTimelineRecordType = 1,
+ RecalculateStylesTimelineRecordType = 2,
+ PaintTimelineRecordType = 3,
+ ParseHTMLTimelineRecordType = 4,
+ TimerInstallTimelineRecordType = 5,
+ TimerRemoveTimelineRecordType = 6,
+ TimerFireTimelineRecordType = 7,
+ XHRReadyStateChangeRecordType = 8,
+ XHRLoadRecordType = 9,
+ EvaluateScriptTagTimelineRecordType = 10,
+ };
class InspectorTimelineAgent {
public:
@@ -48,30 +62,66 @@ namespace WebCore {
~InspectorTimelineAgent();
void reset();
+ void resetFrontendProxyObject(InspectorFrontend*);
// Methods called from WebCore.
void willDispatchDOMEvent(const Event&);
void didDispatchDOMEvent();
+
void willLayout();
void didLayout();
+
void willRecalculateStyle();
void didRecalculateStyle();
+
void willPaint();
void didPaint();
- void didWriteHTML();
+
void willWriteHTML();
- private:
- double sessionTimeInMilliseconds();
+ void didWriteHTML();
+
+ void didInstallTimer(int timerId, int timeout, bool singleShot);
+ void didRemoveTimer(int timerId);
+ void willFireTimer(int timerId);
+ void didFireTimer();
+
+ void willChangeXHRReadyState(const String&, int);
+ void didChangeXHRReadyState();
+ void willLoadXHR(const String&);
+ void didLoadXHR();
+ void willEvaluateScriptTag(const String&, int);
+ void didEvaluateScriptTag();
+
+ static InspectorTimelineAgent* retrieve(ScriptExecutionContext*);
+ private:
+ struct TimelineRecordEntry {
+ TimelineRecordEntry(ScriptObject record, ScriptArray children, TimelineRecordType type) : record(record), children(children), type(type) { }
+ ScriptObject record;
+ ScriptArray children;
+ TimelineRecordType type;
+ };
+
+ void pushCurrentRecord(ScriptObject, TimelineRecordType);
+
static double currentTimeInMilliseconds();
- void didCompleteCurrentRecord();
+ void didCompleteCurrentRecord(TimelineRecordType);
+
+ void addRecordToTimeline(ScriptObject, TimelineRecordType);
- double m_sessionStartTime;
InspectorFrontend* m_frontend;
- OwnPtr<TimelineItem> m_currentTimelineItem;
+
+ Vector< TimelineRecordEntry > m_recordStack;
};
+inline InspectorTimelineAgent* InspectorTimelineAgent::retrieve(ScriptExecutionContext* context)
+{
+ if (context->isDocument())
+ return static_cast<Document*>(context)->inspectorTimelineAgent();
+ return 0;
+}
+
} // namespace WebCore
#endif // !defined(InspectorTimelineAgent_h)
diff --git a/src/3rdparty/webkit/WebCore/inspector/JavaScriptCallFrame.cpp b/src/3rdparty/webkit/WebCore/inspector/JavaScriptCallFrame.cpp
index 9225a03..1559d82 100644
--- a/src/3rdparty/webkit/WebCore/inspector/JavaScriptCallFrame.cpp
+++ b/src/3rdparty/webkit/WebCore/inspector/JavaScriptCallFrame.cpp
@@ -25,6 +25,7 @@
#include "config.h"
#include "JavaScriptCallFrame.h"
+#include "JSDOMBinding.h"
#if ENABLE(JAVASCRIPT_DEBUGGER)
@@ -105,7 +106,7 @@ JSValue JavaScriptCallFrame::evaluate(const UString& script, JSValue& exception)
return jsNull();
JSLock lock(SilenceAssertionsOnly);
- return m_debuggerCallFrame.evaluate(script, exception);
+ return DebuggerCallFrame_evaluateInWorld(m_debuggerCallFrame, script, exception);
}
} // namespace WebCore
diff --git a/src/3rdparty/webkit/WebCore/inspector/TimelineItem.cpp b/src/3rdparty/webkit/WebCore/inspector/TimelineItem.cpp
deleted file mode 100644
index b368c49..0000000
--- a/src/3rdparty/webkit/WebCore/inspector/TimelineItem.cpp
+++ /dev/null
@@ -1,81 +0,0 @@
-/*
-* Copyright (C) 2009 Google 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:
-*
-* * 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 Google Inc. 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.
-*/
-
-#include "config.h"
-#include "TimelineItem.h"
-
-#if ENABLE(INSPECTOR)
-
-#include "InspectorFrontend.h"
-#include "ScriptArray.h"
-#include "ScriptObject.h"
-
-namespace WebCore {
-
-TimelineItem::TimelineItem(PassOwnPtr<TimelineItem> previous, double startTime, TimelineItemType itemType)
- : m_startTime(startTime)
- , m_endTime(0.0)
- , m_itemType(itemType)
- , m_previous(previous)
-{
-}
-
-void TimelineItem::addToTimeline(InspectorFrontend* frontend)
-{
- frontend->addItemToTimeline(convertToScriptObject(frontend));
-}
-
-ScriptObject TimelineItem::convertToScriptObject(InspectorFrontend* frontend)
-{
- ScriptObject selfObj = frontend->newScriptObject();
- selfObj.set("time", m_startTime);
- selfObj.set("type", static_cast<int>(m_itemType));
- selfObj.set("duration", m_endTime - m_startTime);
- ScriptArray children = convertChildrenToScriptArray(frontend);
- selfObj.set("children", children);
- return selfObj;
-}
-
-ScriptArray TimelineItem::convertChildrenToScriptArray(InspectorFrontend* frontend)
-{
- ScriptArray children = frontend->newScriptArray();
- for (unsigned i = 0; i < m_children.size(); ++i)
- children.set(i, m_children[i]->convertToScriptObject(frontend));
- return children;
-}
-
-void TimelineItem::addChildItem(PassOwnPtr<TimelineItem> timelineItem)
-{
- m_children.append(timelineItem);
-}
-
-} // namespace WebCore
-
-#endif // ENABLE(INSPECTOR)
diff --git a/src/3rdparty/webkit/WebCore/inspector/TimelineItem.h b/src/3rdparty/webkit/WebCore/inspector/TimelineItem.h
deleted file mode 100644
index 1909230..0000000
--- a/src/3rdparty/webkit/WebCore/inspector/TimelineItem.h
+++ /dev/null
@@ -1,88 +0,0 @@
-/*
-* Copyright (C) 2009 Google 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:
-*
-* * 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 Google Inc. 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.
-*/
-
-#ifndef TimelineItem_h
-#define TimelineItem_h
-
-#include <wtf/OwnPtr.h>
-#include <wtf/PassOwnPtr.h>
-#include <wtf/Vector.h>
-
-namespace WebCore {
-
- class InspectorFrontend;
- class TimelineItem;
- class ScriptArray;
- class ScriptObject;
-
- typedef Vector<OwnPtr<TimelineItem> > TimelineItems;
-
- // Must be kept in sync with TimelineAgent.js
- enum TimelineItemType {
- DOMDispatchTimelineItemType = 0,
- LayoutTimelineItemType = 1,
- RecalculateStylesTimelineItemType = 2,
- PaintTimelineItemType = 3,
- ParseHTMLTimelineItemType = 4,
- };
-
- class TimelineItem {
- public:
- TimelineItem(PassOwnPtr<TimelineItem>, double startTime, TimelineItemType);
-
- virtual ~TimelineItem() { }
-
- TimelineItem* previous() const { return m_previous.get(); }
-
- PassOwnPtr<TimelineItem*> releasePrevious() { return m_previous.release(); }
-
- void addToTimeline(InspectorFrontend*);
-
- void addChildItem(PassOwnPtr<TimelineItem>);
-
- void setEndTime(double endTime) { m_endTime = endTime; }
-
- TimelineItemType type() { return m_itemType; }
- protected:
- virtual ScriptObject convertToScriptObject(InspectorFrontend*);
-
- ScriptArray convertChildrenToScriptArray(InspectorFrontend*);
-
- private:
- double m_startTime;
- double m_endTime;
- TimelineItemType m_itemType;
- OwnPtr<TimelineItem> m_previous;
- TimelineItems m_children;
- };
-
-} // namespace WebCore
-
-#endif // !defined(TimelineItem_h)
diff --git a/src/3rdparty/webkit/WebCore/inspector/TimelineRecordFactory.cpp b/src/3rdparty/webkit/WebCore/inspector/TimelineRecordFactory.cpp
new file mode 100644
index 0000000..085bcd9
--- /dev/null
+++ b/src/3rdparty/webkit/WebCore/inspector/TimelineRecordFactory.cpp
@@ -0,0 +1,116 @@
+/*
+ * Copyright (C) 2009 Google 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:
+ *
+ * * 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 Google Inc. 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.
+ */
+
+#include "config.h"
+#include "TimelineRecordFactory.h"
+
+#if ENABLE(INSPECTOR)
+
+#include "Event.h"
+#include "InspectorFrontend.h"
+#include "ScriptArray.h"
+#include "ScriptObject.h"
+namespace WebCore {
+
+// static
+ScriptObject TimelineRecordFactory::createGenericRecord(InspectorFrontend* frontend, double startTime)
+{
+ ScriptObject record = frontend->newScriptObject();
+ record.set("startTime", startTime);
+ return record;
+}
+
+// static
+ScriptObject TimelineRecordFactory::createDOMDispatchRecord(InspectorFrontend* frontend, double startTime, const Event& event)
+{
+ ScriptObject record = createGenericRecord(frontend, startTime);
+ ScriptObject data = frontend->newScriptObject();
+ data.set("type", event.type().string());
+ record.set("data", data);
+ return record;
+}
+
+// static
+ScriptObject TimelineRecordFactory::createGenericTimerRecord(InspectorFrontend* frontend, double startTime, int timerId)
+{
+ ScriptObject record = createGenericRecord(frontend, startTime);
+ ScriptObject data = frontend->newScriptObject();
+ data.set("timerId", timerId);
+ record.set("data", data);
+ return record;
+}
+
+// static
+ScriptObject TimelineRecordFactory::createTimerInstallRecord(InspectorFrontend* frontend, double startTime, int timerId, int timeout, bool singleShot)
+{
+ ScriptObject record = createGenericRecord(frontend, startTime);
+ ScriptObject data = frontend->newScriptObject();
+ data.set("timerId", timerId);
+ data.set("timeout", timeout);
+ data.set("singleShot", singleShot);
+ record.set("data", data);
+ return record;
+}
+
+// static
+ScriptObject TimelineRecordFactory::createXHRReadyStateChangeTimelineRecord(InspectorFrontend* frontend, double startTime, const String& url, int readyState)
+{
+ ScriptObject record = createGenericRecord(frontend, startTime);
+ ScriptObject data = frontend->newScriptObject();
+ data.set("url", url);
+ data.set("readyState", readyState);
+ record.set("data", data);
+ return record;
+}
+
+// static
+ScriptObject TimelineRecordFactory::createXHRLoadTimelineRecord(InspectorFrontend* frontend, double startTime, const String& url)
+{
+ ScriptObject record = createGenericRecord(frontend, startTime);
+ ScriptObject data = frontend->newScriptObject();
+ data.set("url", url);
+ record.set("data", data);
+ return record;
+}
+
+// static
+ScriptObject TimelineRecordFactory::createEvaluateScriptTagTimelineRecord(InspectorFrontend* frontend, double startTime, const String& url, double lineNumber)
+{
+ ScriptObject item = createGenericRecord(frontend, startTime);
+ ScriptObject data = frontend->newScriptObject();
+ data.set("url", url);
+ data.set("lineNumber", lineNumber);
+ item.set("data", data);
+ return item;
+}
+
+} // namespace WebCore
+
+#endif // ENABLE(INSPECTOR)
diff --git a/src/3rdparty/webkit/WebCore/dom/HTMLAllCollection.idl b/src/3rdparty/webkit/WebCore/inspector/TimelineRecordFactory.h
index dee365f..3d36649 100644
--- a/src/3rdparty/webkit/WebCore/dom/HTMLAllCollection.idl
+++ b/src/3rdparty/webkit/WebCore/inspector/TimelineRecordFactory.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2008, 2009 Google Inc. All rights reserved.
+ * Copyright (C) 2009 Google Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are
@@ -27,14 +27,37 @@
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
+
+#ifndef TimelineRecordFactory_h
+#define TimelineRecordFactory_h
-module html {
+#include "PlatformString.h"
- // This interface is used for undetectable HTMLCollections.
- // An undetectable HTMLCollection behaves like an HTMLCollection
- // when used, but the 'typeof' operator returns undefined and
- // ToBoolean returns false.
- interface HTMLAllCollection : HTMLCollection {
+namespace WebCore {
+
+ class Event;
+ class InspectorFrontend;
+ class ScriptObject;
+
+ class TimelineRecordFactory {
+ public:
+ static ScriptObject createGenericRecord(InspectorFrontend*, double startTime);
+
+ static ScriptObject createDOMDispatchRecord(InspectorFrontend*, double startTime, const Event&);
+
+ static ScriptObject createGenericTimerRecord(InspectorFrontend*, double startTime, int timerId);
+
+ static ScriptObject createTimerInstallRecord(InspectorFrontend*, double startTime, int timerId, int timeout, bool singleShot);
+
+ static ScriptObject createXHRReadyStateChangeTimelineRecord(InspectorFrontend*, double startTime, const String& url, int readyState);
+ static ScriptObject createXHRLoadTimelineRecord(InspectorFrontend*, double startTime, const String& url);
+
+ static ScriptObject createEvaluateScriptTagTimelineRecord(InspectorFrontend*, double startTime, const String&, double lineNumber);
+
+ private:
+ TimelineRecordFactory() { }
};
-}
+} // namespace WebCore
+
+#endif // !defined(TimelineRecordFactory_h)
diff --git a/src/3rdparty/webkit/WebCore/inspector/front-end/AbstractTimelinePanel.js b/src/3rdparty/webkit/WebCore/inspector/front-end/AbstractTimelinePanel.js
new file mode 100644
index 0000000..75e4062
--- /dev/null
+++ b/src/3rdparty/webkit/WebCore/inspector/front-end/AbstractTimelinePanel.js
@@ -0,0 +1,548 @@
+/*
+ * Copyright (C) 2007, 2008 Apple Inc. All rights reserved.
+ * Copyright (C) 2008, 2009 Anthony Ricaud <rik@webkit.org>
+ * Copyright (C) 2009 Google 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 Apple Computer, Inc. ("Apple") 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 APPLE AND ITS 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 APPLE OR ITS 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.
+ */
+
+WebInspector.AbstractTimelinePanel = function()
+{
+ WebInspector.Panel.call(this);
+ this._items = [];
+ this._staleItems = [];
+}
+
+WebInspector.AbstractTimelinePanel.prototype = {
+ get categories()
+ {
+ // Should be implemented by the concrete subclasses.
+ return {};
+ },
+
+ populateSidebar: function()
+ {
+ // Should be implemented by the concrete subclasses.
+ },
+
+ createItemTreeElement: function(item)
+ {
+ // Should be implemented by the concrete subclasses.
+ },
+
+ createItemGraph: function(item)
+ {
+ // Should be implemented by the concrete subclasses.
+ },
+
+ createInterface: function()
+ {
+ this._createFilterPanel();
+
+ this.containerElement = document.createElement("div");
+ this.containerElement.id = "resources-container";
+ this.containerElement.addEventListener("scroll", this._updateDividersLabelBarPosition.bind(this), false);
+ this.element.appendChild(this.containerElement);
+
+ this.createSidebar(this.containerElement, this.element);
+ this.sidebarElement.id = "resources-sidebar";
+ this.populateSidebar();
+
+ this._createGraph();
+ },
+
+ _createFilterPanel: function()
+ {
+ this.filterBarElement = document.createElement("div");
+ this.filterBarElement.id = "resources-filter";
+ this.filterBarElement.className = "scope-bar";
+ this.element.appendChild(this.filterBarElement);
+
+ function createFilterElement(category)
+ {
+ if (category === "all")
+ var label = WebInspector.UIString("All");
+ else if (this.categories[category])
+ var label = this.categories[category].title;
+
+ var categoryElement = document.createElement("li");
+ categoryElement.category = category;
+ categoryElement.addStyleClass(category);
+ categoryElement.appendChild(document.createTextNode(label));
+ categoryElement.addEventListener("click", this._updateFilter.bind(this), false);
+ this.filterBarElement.appendChild(categoryElement);
+
+ return categoryElement;
+ }
+
+ this.filterAllElement = createFilterElement.call(this, "all");
+
+ // Add a divider
+ var dividerElement = document.createElement("div");
+ dividerElement.addStyleClass("divider");
+ this.filterBarElement.appendChild(dividerElement);
+
+ for (var category in this.categories)
+ createFilterElement.call(this, category);
+ },
+
+ _showCategory: function(category)
+ {
+ var filterClass = "filter-" + category.toLowerCase();
+ this.itemsGraphsElement.addStyleClass(filterClass);
+ this.itemsTreeElement.childrenListElement.addStyleClass(filterClass);
+ },
+
+ _hideCategory: function(category)
+ {
+ var filterClass = "filter-" + category.toLowerCase();
+ this.itemsGraphsElement.removeStyleClass(filterClass);
+ this.itemsTreeElement.childrenListElement.removeStyleClass(filterClass);
+ },
+
+ filter: function(target, selectMultiple)
+ {
+ function unselectAll()
+ {
+ for (var i = 0; i < this.filterBarElement.childNodes.length; ++i) {
+ var child = this.filterBarElement.childNodes[i];
+ if (!child.category)
+ continue;
+
+ child.removeStyleClass("selected");
+ this._hideCategory(child.category);
+ }
+ }
+
+ if (target === this.filterAllElement) {
+ if (target.hasStyleClass("selected")) {
+ // We can't unselect All, so we break early here
+ return;
+ }
+
+ // If All wasn't selected, and now is, unselect everything else.
+ unselectAll.call(this);
+ } else {
+ // Something other than All is being selected, so we want to unselect All.
+ if (this.filterAllElement.hasStyleClass("selected")) {
+ this.filterAllElement.removeStyleClass("selected");
+ this._hideCategory("all");
+ }
+ }
+
+ if (!selectMultiple) {
+ // If multiple selection is off, we want to unselect everything else
+ // and just select ourselves.
+ unselectAll.call(this);
+
+ target.addStyleClass("selected");
+ this._showCategory(target.category);
+ return;
+ }
+
+ if (target.hasStyleClass("selected")) {
+ // If selectMultiple is turned on, and we were selected, we just
+ // want to unselect ourselves.
+ target.removeStyleClass("selected");
+ this._hideCategory(target.category);
+ } else {
+ // If selectMultiple is turned on, and we weren't selected, we just
+ // want to select ourselves.
+ target.addStyleClass("selected");
+ this._showCategory(target.category);
+ }
+ },
+
+ _updateFilter: function(e)
+ {
+ var isMac = InspectorController.platform().indexOf("mac-") === 0;
+ var selectMultiple = false;
+ if (isMac && e.metaKey && !e.ctrlKey && !e.altKey && !e.shiftKey)
+ selectMultiple = true;
+ if (!isMac && e.ctrlKey && !e.metaKey && !e.altKey && !e.shiftKey)
+ selectMultiple = true;
+
+ this.filter(e.target, selectMultiple);
+
+ // When we are updating our filtering, scroll to the top so we don't end up
+ // in blank graph under all the resources.
+ this.containerElement.scrollTop = 0;
+ },
+
+ _createGraph: function()
+ {
+ this._containerContentElement = document.createElement("div");
+ this._containerContentElement.id = "resources-container-content";
+ this.containerElement.appendChild(this._containerContentElement);
+
+ this.summaryBar = new WebInspector.SummaryBar(this.categories);
+ this.summaryBar.element.id = "resources-summary";
+ this._containerContentElement.appendChild(this.summaryBar.element);
+
+ this.itemsGraphsElement = document.createElement("div");
+ this.itemsGraphsElement.id = "resources-graphs";
+ this._containerContentElement.appendChild(this.itemsGraphsElement);
+
+ this.dividersElement = document.createElement("div");
+ this.dividersElement.id = "resources-dividers";
+ this._containerContentElement.appendChild(this.dividersElement);
+
+ this.eventDividersElement = document.createElement("div");
+ this.eventDividersElement.id = "resources-event-dividers";
+ this._containerContentElement.appendChild(this.eventDividersElement);
+
+ this.dividersLabelBarElement = document.createElement("div");
+ this.dividersLabelBarElement.id = "resources-dividers-label-bar";
+ this._containerContentElement.appendChild(this.dividersLabelBarElement);
+ },
+
+ updateGraphDividersIfNeeded: function(force)
+ {
+ if (!this.visible) {
+ this.needsRefresh = true;
+ return false;
+ }
+
+ if (document.body.offsetWidth <= 0) {
+ // The stylesheet hasn't loaded yet or the window is closed,
+ // so we can't calculate what is need. Return early.
+ return false;
+ }
+
+ var dividerCount = Math.round(this.dividersElement.offsetWidth / 64);
+ var slice = this.calculator.boundarySpan / dividerCount;
+ if (!force && this._currentDividerSlice === slice)
+ return false;
+
+ this._currentDividerSlice = slice;
+
+ this.dividersElement.removeChildren();
+ this.eventDividersElement.removeChildren();
+ this.dividersLabelBarElement.removeChildren();
+
+ for (var i = 1; i <= dividerCount; ++i) {
+ var divider = document.createElement("div");
+ divider.className = "resources-divider";
+ if (i === dividerCount)
+ divider.addStyleClass("last");
+ divider.style.left = ((i / dividerCount) * 100) + "%";
+
+ this.dividersElement.appendChild(divider.cloneNode());
+
+ var label = document.createElement("div");
+ label.className = "resources-divider-label";
+ if (!isNaN(slice))
+ label.textContent = this.calculator.formatValue(slice * i);
+ divider.appendChild(label);
+
+ this.dividersLabelBarElement.appendChild(divider);
+ }
+ },
+
+ _updateDividersLabelBarPosition: function()
+ {
+ var scrollTop = this.containerElement.scrollTop;
+ var dividersTop = (scrollTop < this.summaryBar.element.offsetHeight ? this.summaryBar.element.offsetHeight : scrollTop);
+ this.dividersElement.style.top = scrollTop + "px";
+ this.eventDividersElement.style.top = scrollTop + "px";
+ this.dividersLabelBarElement.style.top = dividersTop + "px";
+ },
+
+ get needsRefresh()
+ {
+ return this._needsRefresh;
+ },
+
+ set needsRefresh(x)
+ {
+ if (this._needsRefresh === x)
+ return;
+
+ this._needsRefresh = x;
+
+ if (x) {
+ if (this.visible && !("_refreshTimeout" in this))
+ this._refreshTimeout = setTimeout(this.refresh.bind(this), 500);
+ } else {
+ if ("_refreshTimeout" in this) {
+ clearTimeout(this._refreshTimeout);
+ delete this._refreshTimeout;
+ }
+ }
+ },
+
+ refreshIfNeeded: function()
+ {
+ if (this.needsRefresh)
+ this.refresh();
+ },
+
+ show: function()
+ {
+ WebInspector.Panel.prototype.show.call(this);
+
+ this._updateDividersLabelBarPosition();
+ this.refreshIfNeeded();
+ },
+
+ resize: function()
+ {
+ this.updateGraphDividersIfNeeded();
+ },
+
+ updateMainViewWidth: function(width)
+ {
+ this._containerContentElement.style.left = width + "px";
+ this.updateGraphDividersIfNeeded();
+ },
+
+ refresh: function()
+ {
+ this.needsRefresh = false;
+
+ var staleItemsLength = this._staleItems.length;
+ var boundariesChanged = false;
+
+ for (var i = 0; i < staleItemsLength; ++i) {
+ var item = this._staleItems[i];
+ if (!item._itemTreeElement) {
+ // Create the timeline tree element and graph.
+ item._itemTreeElement = this.createItemTreeElement(item);
+ item._itemTreeElement._itemGraph = this.createItemGraph(item);
+
+ this.itemsTreeElement.appendChild(item._itemTreeElement);
+ this.itemsGraphsElement.appendChild(item._itemTreeElement._itemGraph.graphElement);
+ }
+
+ if (item._itemTreeElement.refresh)
+ item._itemTreeElement.refresh();
+
+ if (this.calculator.updateBoundaries(item))
+ boundariesChanged = true;
+ }
+
+ if (boundariesChanged) {
+ // The boundaries changed, so all item graphs are stale.
+ this._staleItems = this._items;
+ staleItemsLength = this._staleItems.length;
+ }
+
+ for (var i = 0; i < staleItemsLength; ++i)
+ this._staleItems[i]._itemTreeElement._itemGraph.refresh(this.calculator);
+
+ this._staleItems = [];
+
+ this.updateGraphDividersIfNeeded();
+ },
+
+ reset: function()
+ {
+ this.containerElement.scrollTop = 0;
+
+ if (this._calculator)
+ this._calculator.reset();
+
+ if (this._items) {
+ var itemsLength = this._items.length;
+ for (var i = 0; i < itemsLength; ++i) {
+ var item = this._items[i];
+ delete item._itemsTreeElement;
+ }
+ }
+
+ this._items = [];
+ this._staleItems = [];
+
+ this.itemsTreeElement.removeChildren();
+ this.itemsGraphsElement.removeChildren();
+
+ this.updateGraphDividersIfNeeded(true);
+ },
+
+ get calculator()
+ {
+ return this._calculator;
+ },
+
+ set calculator(x)
+ {
+ if (!x || this._calculator === x)
+ return;
+
+ this._calculator = x;
+ this._calculator.reset();
+
+ this._staleItems = this._items;
+ this.refresh();
+ },
+
+ addItem: function(item)
+ {
+ this._items.push(item);
+ this.refreshItem(item);
+ },
+
+ removeItem: function(item)
+ {
+ this._items.remove(item, true);
+
+ if (item._itemTreeElement) {
+ this.itemsTreeElement.removeChild(resource._itemTreeElement);
+ this.itemsGraphsElement.removeChild(resource._itemTreeElement._itemGraph.graphElement);
+ }
+
+ delete item._itemTreeElement;
+ this.adjustScrollPosition();
+ },
+
+ refreshItem: function(item)
+ {
+ this._staleItems.push(item);
+ this.needsRefresh = true;
+ },
+
+ revealAndSelectItem: function(item)
+ {
+ if (item._itemsTreeElement) {
+ item._itemsTreeElement.reveal();
+ item._itemsTreeElement.select(true);
+ }
+ },
+
+ sortItems: function(sortingFunction)
+ {
+ var sortedElements = [].concat(this.itemsTreeElement.children);
+ sortedElements.sort(sortingFunction);
+
+ var sortedElementsLength = sortedElements.length;
+ for (var i = 0; i < sortedElementsLength; ++i) {
+ var treeElement = sortedElements[i];
+ if (treeElement === this.itemsTreeElement.children[i])
+ continue;
+
+ var wasSelected = treeElement.selected;
+ this.itemsTreeElement.removeChild(treeElement);
+ this.itemsTreeElement.insertChild(treeElement, i);
+ if (wasSelected)
+ treeElement.select(true);
+
+ var graphElement = treeElement._itemGraph.graphElement;
+ this.itemsGraphsElement.insertBefore(graphElement, this.itemsGraphsElement.children[i]);
+ }
+ },
+
+ adjustScrollPosition: function()
+ {
+ // Prevent the container from being scrolled off the end.
+ if ((this.containerElement.scrollTop + this.containerElement.offsetHeight) > this.sidebarElement.offsetHeight)
+ this.containerElement.scrollTop = (this.sidebarElement.offsetHeight - this.containerElement.offsetHeight);
+ }
+}
+
+WebInspector.AbstractTimelinePanel.prototype.__proto__ = WebInspector.Panel.prototype;
+
+WebInspector.AbstractTimelineCalculator = function()
+{
+}
+
+WebInspector.AbstractTimelineCalculator.prototype = {
+ computeSummaryValues: function(items)
+ {
+ var total = 0;
+ var categoryValues = {};
+
+ var itemsLength = items.length;
+ for (var i = 0; i < itemsLength; ++i) {
+ var item = items[i];
+ var value = this._value(item);
+ if (typeof value === "undefined")
+ continue;
+ if (!(item.category.name in categoryValues))
+ categoryValues[item.category.name] = 0;
+ categoryValues[item.category.name] += value;
+ total += value;
+ }
+
+ return {categoryValues: categoryValues, total: total};
+ },
+
+ computeBarGraphPercentages: function(item)
+ {
+ return {start: 0, middle: 0, end: (this._value(item) / this.boundarySpan) * 100};
+ },
+
+ computeBarGraphLabels: function(item)
+ {
+ const label = this.formatValue(this._value(item));
+ return {left: label, right: label, tooltip: label};
+ },
+
+ get boundarySpan()
+ {
+ return this.maximumBoundary - this.minimumBoundary;
+ },
+
+ updateBoundaries: function(item)
+ {
+ this.minimumBoundary = 0;
+
+ var value = this._value(item);
+ if (typeof this.maximumBoundary === "undefined" || value > this.maximumBoundary) {
+ this.maximumBoundary = value;
+ return true;
+ }
+ return false;
+ },
+
+ reset: function()
+ {
+ delete this.minimumBoundary;
+ delete this.maximumBoundary;
+ },
+
+ _value: function(item)
+ {
+ return 0;
+ },
+
+ formatValue: function(value)
+ {
+ return value.toString();
+ }
+}
+
+WebInspector.AbstractTimelineCategory = function(name, title, color)
+{
+ this.name = name;
+ this.title = title;
+ this.color = color;
+}
+
+WebInspector.AbstractTimelineCategory.prototype = {
+ toString: function()
+ {
+ return this.title;
+ }
+}
diff --git a/src/3rdparty/webkit/WebCore/inspector/front-end/BottomUpProfileDataGridTree.js b/src/3rdparty/webkit/WebCore/inspector/front-end/BottomUpProfileDataGridTree.js
index 89b4ddc..41a8a3a 100644
--- a/src/3rdparty/webkit/WebCore/inspector/front-end/BottomUpProfileDataGridTree.js
+++ b/src/3rdparty/webkit/WebCore/inspector/front-end/BottomUpProfileDataGridTree.js
@@ -29,6 +29,110 @@
// each child still represent the root node. We have to be particularly careful of recursion with this mode
// because a root node can represent itself AND an ancestor.
+WebInspector.BottomUpProfileDataGridNode = function(/*ProfileView*/ profileView, /*ProfileNode*/ profileNode, /*BottomUpProfileDataGridTree*/ owningTree)
+{
+ // In bottom up mode, our parents are our children since we display an inverted tree.
+ // However, we don't want to show the very top parent since it is redundant.
+ var hasChildren = !!(profileNode.parent && profileNode.parent.parent);
+
+ WebInspector.ProfileDataGridNode.call(this, profileView, profileNode, owningTree, hasChildren);
+
+ this._remainingNodeInfos = [];
+}
+
+WebInspector.BottomUpProfileDataGridNode.prototype = {
+ _takePropertiesFromProfileDataGridNode: function(/*ProfileDataGridNode*/ profileDataGridNode)
+ {
+ this._save();
+
+ this.selfTime = profileDataGridNode.selfTime;
+ this.totalTime = profileDataGridNode.totalTime;
+ this.numberOfCalls = profileDataGridNode.numberOfCalls;
+ },
+
+ // When focusing, we keep just the members of the callstack.
+ _keepOnlyChild: function(/*ProfileDataGridNode*/ child)
+ {
+ this._save();
+
+ this.removeChildren();
+ this.appendChild(child);
+ },
+
+ _exclude: function(aCallUID)
+ {
+ if (this._remainingNodeInfos)
+ this._populate();
+
+ this._save();
+
+ var children = this.children;
+ var index = this.children.length;
+
+ while (index--)
+ children[index]._exclude(aCallUID);
+
+ var child = this.childrenByCallUID[aCallUID];
+
+ if (child)
+ this._merge(child, true);
+ },
+
+ _merge: function(/*ProfileDataGridNode*/ child, /*Boolean*/ shouldAbsorb)
+ {
+ this.selfTime -= child.selfTime;
+
+ WebInspector.ProfileDataGridNode.prototype._merge.call(this, child, shouldAbsorb);
+ },
+
+ _sharedPopulate: function()
+ {
+ var remainingNodeInfos = this._remainingNodeInfos;
+ var count = remainingNodeInfos.length;
+
+ for (var index = 0; index < count; ++index) {
+ var nodeInfo = remainingNodeInfos[index];
+ var ancestor = nodeInfo.ancestor;
+ var focusNode = nodeInfo.focusNode;
+ var child = this.findChild(ancestor);
+
+ // If we already have this child, then merge the data together.
+ if (child) {
+ var totalTimeAccountedFor = nodeInfo.totalTimeAccountedFor;
+
+ child.selfTime += focusNode.selfTime;
+ child.numberOfCalls += focusNode.numberOfCalls;
+
+ if (!totalTimeAccountedFor)
+ child.totalTime += focusNode.totalTime;
+ } else {
+ // If not, add it as a true ancestor.
+ // In heavy mode, we take our visual identity from ancestor node...
+ var child = new WebInspector.BottomUpProfileDataGridNode(this.profileView, ancestor, this.tree);
+
+ if (ancestor !== focusNode) {
+ // but the actual statistics from the "root" node (bottom of the callstack).
+ child.selfTime = focusNode.selfTime;
+ child.totalTime = focusNode.totalTime;
+ child.numberOfCalls = focusNode.numberOfCalls;
+ }
+
+ this.appendChild(child);
+ }
+
+ var parent = ancestor.parent;
+ if (parent && parent.parent) {
+ nodeInfo.ancestor = parent;
+ child._remainingNodeInfos.push(nodeInfo);
+ }
+ }
+
+ delete this._remainingNodeInfos;
+ }
+}
+
+WebInspector.BottomUpProfileDataGridNode.prototype.__proto__ = WebInspector.ProfileDataGridNode.prototype;
+
WebInspector.BottomUpProfileDataGridTree = function(/*ProfileView*/ aProfileView, /*ProfileNode*/ aProfileNode)
{
WebInspector.ProfileDataGridTree.call(this, aProfileView, aProfileNode);
@@ -139,114 +243,10 @@ WebInspector.BottomUpProfileDataGridTree.prototype = {
if (this.lastComparator)
this.sort(this.lastComparator, true);
- }
-}
-
-WebInspector.BottomUpProfileDataGridTree.prototype.__proto__ = WebInspector.ProfileDataGridTree.prototype;
-
-WebInspector.BottomUpProfileDataGridNode = function(/*ProfileView*/ profileView, /*ProfileNode*/ profileNode, /*BottomUpProfileDataGridTree*/ owningTree)
-{
- // In bottom up mode, our parents are our children since we display an inverted tree.
- // However, we don't want to show the very top parent since it is redundant.
- var hasChildren = !!(profileNode.parent && profileNode.parent.parent);
-
- WebInspector.ProfileDataGridNode.call(this, profileView, profileNode, owningTree, hasChildren);
-
- this._remainingNodeInfos = [];
-}
-
-WebInspector.BottomUpProfileDataGridNode.prototype = {
- _takePropertiesFromProfileDataGridNode: function(/*ProfileDataGridNode*/ profileDataGridNode)
- {
- this._save();
-
- this.selfTime = profileDataGridNode.selfTime;
- this.totalTime = profileDataGridNode.totalTime;
- this.numberOfCalls = profileDataGridNode.numberOfCalls;
- },
-
- // When focusing, we keep just the members of the callstack.
- _keepOnlyChild: function(/*ProfileDataGridNode*/ child)
- {
- this._save();
-
- this.removeChildren();
- this.appendChild(child);
- },
-
- _exclude: function(aCallUID)
- {
- if (this._remainingNodeInfos)
- this._populate();
-
- this._save();
-
- var children = this.children;
- var index = this.children.length;
-
- while (index--)
- children[index]._exclude(aCallUID);
-
- var child = this.childrenByCallUID[aCallUID];
-
- if (child)
- this._merge(child, true);
- },
-
- _merge: function(/*ProfileDataGridNode*/ child, /*Boolean*/ shouldAbsorb)
- {
- this.selfTime -= child.selfTime;
-
- WebInspector.ProfileDataGridNode.prototype._merge.call(this, child, shouldAbsorb);
},
- _populate: function(event)
- {
- var remainingNodeInfos = this._remainingNodeInfos;
- var count = remainingNodeInfos.length;
-
- for (var index = 0; index < count; ++index) {
- var nodeInfo = remainingNodeInfos[index];
- var ancestor = nodeInfo.ancestor;
- var focusNode = nodeInfo.focusNode;
- var child = this.findChild(ancestor);
-
- // If we already have this child, then merge the data together.
- if (child) {
- var totalTimeAccountedFor = nodeInfo.totalTimeAccountedFor;
-
- child.selfTime += focusNode.selfTime;
- child.numberOfCalls += focusNode.numberOfCalls;
-
- if (!totalTimeAccountedFor)
- child.totalTime += focusNode.totalTime;
- } else {
- // If not, add it as a true ancestor.
- // In heavy mode, we take our visual identity from ancestor node...
- var child = new WebInspector.BottomUpProfileDataGridNode(this.profileView, ancestor, this.tree);
-
- if (ancestor !== focusNode) {
- // but the actual statistics from the "root" node (bottom of the callstack).
- child.selfTime = focusNode.selfTime;
- child.totalTime = focusNode.totalTime;
- child.numberOfCalls = focusNode.numberOfCalls;
- }
-
- this.appendChild(child);
- }
-
- var parent = ancestor.parent;
- if (parent && parent.parent) {
- nodeInfo.ancestor = parent;
- child._remainingNodeInfos.push(nodeInfo);
- }
- }
-
- delete this._remainingNodeInfos;
-
- if (this.removeEventListener)
- this.removeEventListener("populate", this._populate, this);
- }
+ _sharedPopulate: WebInspector.BottomUpProfileDataGridNode.prototype._sharedPopulate
}
-WebInspector.BottomUpProfileDataGridNode.prototype.__proto__ = WebInspector.ProfileDataGridNode.prototype;
+WebInspector.BottomUpProfileDataGridTree.prototype.__proto__ = WebInspector.ProfileDataGridTree.prototype;
+
diff --git a/src/3rdparty/webkit/WebCore/inspector/front-end/Color.js b/src/3rdparty/webkit/WebCore/inspector/front-end/Color.js
index 9d9cd76..11d6bad 100644
--- a/src/3rdparty/webkit/WebCore/inspector/front-end/Color.js
+++ b/src/3rdparty/webkit/WebCore/inspector/front-end/Color.js
@@ -437,7 +437,7 @@ WebInspector.Color.HexTable = {
"B0C4DE": [[176, 196, 222], [214, 41, 78], "lightSteelBlue"],
"B0E0E6": [[176, 224, 230], [187, 52, 80], "powderBlue"],
"B22222": [[178, 34, 34], [0, 68, 42], "fireBrick"],
- "B8860B": [[184, 134, 11], [43, 89, 38], "darkGoldenRod"],
+ "B8860B": [[184, 134, 11], [43, 89, 38], "darkGoldenrod"],
"BA55D3": [[186, 85, 211], [288, 59, 58], "mediumOrchid"],
"BC8F8F": [[188, 143, 143], [0, 25, 65], "rosyBrown"],
"BDB76B": [[189, 183, 107], [56, 38, 58], "darkKhaki"],
@@ -451,7 +451,7 @@ WebInspector.Color.HexTable = {
"D87093": [[219, 112, 147], [340, 60, 65], "paleVioletRed"],
"D8BFD8": [[216, 191, 216], [300, 24, 80], "thistle"],
"DA70D6": [[218, 112, 214], [302, 59, 65], "orchid"],
- "DAA520": [[218, 165, 32], [43, 74, 49], "goldenRod"],
+ "DAA520": [[218, 165, 32], [43, 74, 49], "goldenrod"],
"DC143C": [[237, 164, 61], [35, 83, 58], "crimson"],
"DCDCDC": [[220, 220, 220], [0, 0, 86], "gainsboro"],
"DDA0DD": [[221, 160, 221], [300, 47, 75], "plum"],
@@ -460,7 +460,7 @@ WebInspector.Color.HexTable = {
"E6E6FA": [[230, 230, 250], [240, 67, 94], "lavender"],
"E9967A": [[233, 150, 122], [15, 72, 70], "darkSalmon"],
"EE82EE": [[238, 130, 238], [300, 76, 72], "violet"],
- "EEE8AA": [[238, 232, 170], [55, 67, 80], "paleGoldenRod"],
+ "EEE8AA": [[238, 232, 170], [55, 67, 80], "paleGoldenrod"],
"F08080": [[240, 128, 128], [0, 79, 72], "lightCoral"],
"F0E68C": [[240, 230, 140], [54, 77, 75], "khaki"],
"F0F8FF": [[240, 248, 255], [208, 100, 97], "aliceBlue"],
@@ -475,7 +475,7 @@ WebInspector.Color.HexTable = {
"FA8072": [[250, 128, 114], [6, 93, 71], "salmon"],
"FAEBD7": [[250, 235, 215], [34, 78, 91], "antiqueWhite"],
"FAF0E6": [[250, 240, 230], [30, 67, 94], "linen"],
- "FAFAD2": [[250, 250, 210], [60, 80, 90], "lightGoldenRodYellow"],
+ "FAFAD2": [[250, 250, 210], [60, 80, 90], "lightGoldenrodYellow"],
"FDF5E6": [[253, 245, 230], [39, 85, 95], "oldLace"],
"FF0000": [[255, 0, 0], [0, 100, 50], "red"],
"FF00FF": [[255, 0, 255], [300, 100, 50], "magenta"],
diff --git a/src/3rdparty/webkit/WebCore/inspector/front-end/ConsoleView.js b/src/3rdparty/webkit/WebCore/inspector/front-end/ConsoleView.js
index aa0e08c..9317824 100644
--- a/src/3rdparty/webkit/WebCore/inspector/front-end/ConsoleView.js
+++ b/src/3rdparty/webkit/WebCore/inspector/front-end/ConsoleView.js
@@ -94,49 +94,76 @@ WebInspector.ConsoleView = function(drawer)
this.warningElement = createFilterElement.call(this, "Warnings");
this.logElement = createFilterElement.call(this, "Logs");
- this.filter(this.allElement);
+ this.filter(this.allElement, false);
}
WebInspector.ConsoleView.prototype = {
_updateFilter: function(e)
{
- this.filter(e.target);
+ var isMac = InspectorController.platform().indexOf("mac-") === 0;
+ var selectMultiple = false;
+ if (isMac && e.metaKey && !e.ctrlKey && !e.altKey && !e.shiftKey)
+ selectMultiple = true;
+ if (!isMac && e.ctrlKey && !e.metaKey && !e.altKey && !e.shiftKey)
+ selectMultiple = true;
+
+ this.filter(e.target, selectMultiple);
},
- filter: function(target)
+ filter: function(target, selectMultiple)
{
+ function unselectAll()
+ {
+ this.allElement.removeStyleClass("selected");
+ this.errorElement.removeStyleClass("selected");
+ this.warningElement.removeStyleClass("selected");
+ this.logElement.removeStyleClass("selected");
+
+ this.messagesElement.removeStyleClass("filter-all");
+ this.messagesElement.removeStyleClass("filter-errors");
+ this.messagesElement.removeStyleClass("filter-warnings");
+ this.messagesElement.removeStyleClass("filter-logs");
+ }
+
+ var targetFilterClass = "filter-" + target.category.toLowerCase();
+
if (target.category == "All") {
if (target.hasStyleClass("selected")) {
// We can't unselect all, so we break early here
return;
}
-
- this.errorElement.removeStyleClass("selected");
- this.warningElement.removeStyleClass("selected");
- this.logElement.removeStyleClass("selected");
-
- document.getElementById("console-messages").removeStyleClass("filter-errors");
- document.getElementById("console-messages").removeStyleClass("filter-warnings");
- document.getElementById("console-messages").removeStyleClass("filter-logs");
+
+ unselectAll.call(this);
} else {
// Something other than all is being selected, so we want to unselect all
if (this.allElement.hasStyleClass("selected")) {
this.allElement.removeStyleClass("selected");
- document.getElementById("console-messages").removeStyleClass("filter-all");
+ this.messagesElement.removeStyleClass("filter-all");
}
}
+ if (!selectMultiple) {
+ // If multiple selection is off, we want to unselect everything else
+ // and just select ourselves.
+ unselectAll.call(this);
+
+ target.addStyleClass("selected");
+ this.messagesElement.addStyleClass(targetFilterClass);
+
+ return;
+ }
+
if (target.hasStyleClass("selected")) {
+ // If selectMultiple is turned on, and we were selected, we just
+ // want to unselect ourselves.
target.removeStyleClass("selected");
- var newClass = "filter-" + target.category.toLowerCase();
- var filterElement = document.getElementById("console-messages");
- filterElement.removeStyleClass(newClass);
+ this.messagesElement.removeStyleClass(targetFilterClass);
} else {
+ // If selectMultiple is turned on, and we weren't selected, we just
+ // want to select ourselves.
target.addStyleClass("selected");
- var newClass = "filter-" + target.category.toLowerCase();
- var filterElement = document.getElementById("console-messages");
- filterElement.addStyleClass(newClass);
+ this.messagesElement.addStyleClass(targetFilterClass);
}
},
@@ -174,40 +201,7 @@ WebInspector.ConsoleView.prototype = {
addMessage: function(msg)
{
if (msg instanceof WebInspector.ConsoleMessage && !(msg instanceof WebInspector.ConsoleCommandResult)) {
- msg.totalRepeatCount = msg.repeatCount;
- msg.repeatDelta = msg.repeatCount;
-
- var messageRepeated = false;
-
- if (msg.isEqual && msg.isEqual(this.previousMessage)) {
- // Because sometimes we get a large number of repeated messages and sometimes
- // we get them one at a time, we need to know the difference between how many
- // repeats we used to have and how many we have now.
- msg.repeatDelta -= this.previousMessage.totalRepeatCount;
-
- if (!isNaN(this.repeatCountBeforeCommand))
- msg.repeatCount -= this.repeatCountBeforeCommand;
-
- if (!this.commandSincePreviousMessage) {
- // Recreate the previous message element to reset the repeat count.
- var messagesElement = this.currentGroup.messagesElement;
- messagesElement.removeChild(messagesElement.lastChild);
- messagesElement.appendChild(msg.toMessageElement());
-
- messageRepeated = true;
- }
- } else
- delete this.repeatCountBeforeCommand;
-
- // Increment the error or warning count
- switch (msg.level) {
- case WebInspector.ConsoleMessage.MessageLevel.Warning:
- WebInspector.warnings += msg.repeatDelta;
- break;
- case WebInspector.ConsoleMessage.MessageLevel.Error:
- WebInspector.errors += msg.repeatDelta;
- break;
- }
+ this._incrementErrorWarningCount(msg);
// Add message to the resource panel
if (msg.url in WebInspector.resourceURLMap) {
@@ -218,13 +212,9 @@ WebInspector.ConsoleView.prototype = {
this.commandSincePreviousMessage = false;
this.previousMessage = msg;
-
- if (messageRepeated)
- return;
} else if (msg instanceof WebInspector.ConsoleCommand) {
if (this.previousMessage) {
this.commandSincePreviousMessage = true;
- this.repeatCountBeforeCommand = this.previousMessage.totalRepeatCount;
}
}
@@ -252,6 +242,35 @@ WebInspector.ConsoleView.prototype = {
this.promptElement.scrollIntoView(false);
},
+ updateMessageRepeatCount: function(count) {
+ var msg = this.previousMessage;
+ var prevRepeatCount = msg.totalRepeatCount;
+
+ if (!this.commandSincePreviousMessage) {
+ msg.repeatDelta = count - prevRepeatCount;
+ msg.repeatCount = msg.repeatCount + msg.repeatDelta;
+ msg.totalRepeatCount = count;
+ msg._updateRepeatCount();
+ this._incrementErrorWarningCount(msg);
+ } else {
+ msgCopy = new WebInspector.ConsoleMessage(msg.source, msg.type, msg.level, msg.line, msg.url, msg.groupLevel, count - prevRepeatCount);
+ msgCopy.totalRepeatCount = count;
+ msgCopy.setMessageBody(msg.args);
+ this.addMessage(msgCopy);
+ }
+ },
+
+ _incrementErrorWarningCount: function(msg) {
+ switch (msg.level) {
+ case WebInspector.ConsoleMessage.MessageLevel.Warning:
+ WebInspector.warnings += msg.repeatDelta;
+ break;
+ case WebInspector.ConsoleMessage.MessageLevel.Error:
+ WebInspector.errors += msg.repeatDelta;
+ break;
+ }
+ },
+
clearMessages: function(clearInspectorController)
{
if (clearInspectorController)
@@ -269,7 +288,6 @@ WebInspector.ConsoleView.prototype = {
WebInspector.warnings = 0;
delete this.commandSincePreviousMessage;
- delete this.repeatCountBeforeCommand;
delete this.previousMessage;
},
@@ -373,10 +391,9 @@ WebInspector.ConsoleView.prototype = {
_promptKeyDown: function(event)
{
- switch (event.keyIdentifier) {
- case "Enter":
- this._enterKeyPressed(event);
- return;
+ if (isEnterKey(event)) {
+ this._enterKeyPressed(event);
+ return;
}
this.prompt.handleKeyEvent(event);
@@ -539,6 +556,7 @@ WebInspector.ConsoleView.prototype = {
if (!nodeId)
return;
var treeOutline = new WebInspector.ElementsTreeOutline();
+ treeOutline.showInElementsPanelEnabled = true;
treeOutline.rootDOMNode = WebInspector.domAgent.nodeForId(nodeId);
treeOutline.element.addStyleClass("outline-disclosure");
if (!treeOutline.children[0].hasChildren)
@@ -590,6 +608,8 @@ WebInspector.ConsoleMessage = function(source, type, level, line, url, groupLeve
this.url = url;
this.groupLevel = groupLevel;
this.repeatCount = repeatCount;
+ this.repeatDelta = repeatCount;
+ this.totalRepeatCount = repeatCount;
if (arguments.length > 7)
this.setMessageBody(Array.prototype.slice.call(arguments, 7));
}
@@ -597,6 +617,7 @@ WebInspector.ConsoleMessage = function(source, type, level, line, url, groupLeve
WebInspector.ConsoleMessage.prototype = {
setMessageBody: function(args)
{
+ this.args = args;
switch (this.type) {
case WebInspector.ConsoleMessage.MessageType.Trace:
var span = document.createElement("span");
@@ -692,13 +713,15 @@ WebInspector.ConsoleMessage.prototype = {
toMessageElement: function()
{
- if (this.propertiesSection)
- return this.propertiesSection.element;
+ if (this._element)
+ return this._element;
var element = document.createElement("div");
element.message = this;
element.className = "console-message";
+ this._element = element;
+
switch (this.source) {
case WebInspector.ConsoleMessage.MessageSource.HTML:
element.addStyleClass("console-html-source");
@@ -738,9 +761,8 @@ WebInspector.ConsoleMessage.prototype = {
break;
}
- if (this.type === WebInspector.ConsoleMessage.MessageType.StartGroup) {
+ if (this.type === WebInspector.ConsoleMessage.MessageType.StartGroup)
element.addStyleClass("console-group-title");
- }
if (this.elementsTreeOutline) {
element.addStyleClass("outline-disclosure");
@@ -748,15 +770,6 @@ WebInspector.ConsoleMessage.prototype = {
return element;
}
- if (this.repeatCount > 1) {
- var messageRepeatCountElement = document.createElement("span");
- messageRepeatCountElement.className = "bubble";
- messageRepeatCountElement.textContent = this.repeatCount;
-
- element.appendChild(messageRepeatCountElement);
- element.addStyleClass("repeated-message");
- }
-
if (this.url && this.url !== "undefined") {
var urlElement = document.createElement("a");
urlElement.className = "console-message-url webkit-html-resource-link";
@@ -776,12 +789,28 @@ WebInspector.ConsoleMessage.prototype = {
var messageTextElement = document.createElement("span");
messageTextElement.className = "console-message-text";
+ if (this.type === WebInspector.ConsoleMessage.MessageType.Assert)
+ messageTextElement.appendChild(document.createTextNode(WebInspector.UIString("Assertion failed: ")));
messageTextElement.appendChild(this.formattedMessage);
element.appendChild(messageTextElement);
+ if (this.repeatCount > 1)
+ this._updateRepeatCount();
+
return element;
},
+ _updateRepeatCount: function() {
+ if (!this.repeatCountElement) {
+ this.repeatCountElement = document.createElement("span");
+ this.repeatCountElement.className = "bubble";
+
+ this._element.insertBefore(this.repeatCountElement, this._element.firstChild);
+ this._element.addStyleClass("repeated-message");
+ }
+ this.repeatCountElement.textContent = this.repeatCount;
+ },
+
toString: function()
{
var sourceString;
@@ -823,6 +852,9 @@ WebInspector.ConsoleMessage.prototype = {
case WebInspector.ConsoleMessage.MessageType.EndGroup:
typeString = "End Group";
break;
+ case WebInspector.ConsoleMessage.MessageType.Assert:
+ typeString = "Assert";
+ break;
}
var levelString;
@@ -878,7 +910,8 @@ WebInspector.ConsoleMessage.MessageType = {
Object: 1,
Trace: 2,
StartGroup: 3,
- EndGroup: 4
+ EndGroup: 4,
+ Assert: 5
}
WebInspector.ConsoleMessage.MessageLevel = {
diff --git a/src/3rdparty/webkit/WebCore/inspector/front-end/DatabaseQueryView.js b/src/3rdparty/webkit/WebCore/inspector/front-end/DatabaseQueryView.js
index 6c5fa02..e85af66 100644
--- a/src/3rdparty/webkit/WebCore/inspector/front-end/DatabaseQueryView.js
+++ b/src/3rdparty/webkit/WebCore/inspector/front-end/DatabaseQueryView.js
@@ -94,10 +94,9 @@ WebInspector.DatabaseQueryView.prototype = {
_promptKeyDown: function(event)
{
- switch (event.keyIdentifier) {
- case "Enter":
- this._enterKeyPressed(event);
- return;
+ if (isEnterKey(event)) {
+ this._enterKeyPressed(event);
+ return;
}
this.prompt.handleKeyEvent(event);
diff --git a/src/3rdparty/webkit/WebCore/inspector/front-end/ElementsPanel.js b/src/3rdparty/webkit/WebCore/inspector/front-end/ElementsPanel.js
index 5d0e6d7..aa6319c 100644
--- a/src/3rdparty/webkit/WebCore/inspector/front-end/ElementsPanel.js
+++ b/src/3rdparty/webkit/WebCore/inspector/front-end/ElementsPanel.js
@@ -268,7 +268,12 @@ WebInspector.ElementsPanel.prototype = {
if (!this._searchResults.length) {
this._currentSearchResultIndex = 0;
- this.focusedDOMNode = node;
+
+ // Only change the focusedDOMNode if the search was manually performed, because
+ // the search may have been performed programmatically and we wouldn't want to
+ // change the current focusedDOMNode.
+ if (WebInspector.currentFocusElement === document.getElementById("search"))
+ this.focusedDOMNode = node;
}
this._searchResults.push(node);
diff --git a/src/3rdparty/webkit/WebCore/inspector/front-end/ElementsTreeOutline.js b/src/3rdparty/webkit/WebCore/inspector/front-end/ElementsTreeOutline.js
index c4bd372..be01647 100644
--- a/src/3rdparty/webkit/WebCore/inspector/front-end/ElementsTreeOutline.js
+++ b/src/3rdparty/webkit/WebCore/inspector/front-end/ElementsTreeOutline.js
@@ -38,6 +38,7 @@ WebInspector.ElementsTreeOutline = function() {
this.includeRootDOMNode = true;
this.selectEnabled = false;
+ this.showInElementsPanelEnabled = false;
this.rootDOMNode = null;
this.focusedDOMNode = null;
}
@@ -327,6 +328,8 @@ WebInspector.ElementsTreeElement.prototype = {
if (this._addAttributeElement && this._addAttributeElement.parentNode)
this._addAttributeElement.parentNode.removeChild(this._addAttributeElement);
delete this._addAttributeElement;
+
+ this.updateSelection();
}
if (!this._addAttributeElement && visible && !this._editing) {
@@ -341,7 +344,7 @@ WebInspector.ElementsTreeElement.prototype = {
} else if (!visible && this._addAttributeElement)
removeAddAttributeSpan.call(this);
},
-
+
updateSelection: function()
{
var listItemElement = this.listItemElement;
@@ -509,6 +512,14 @@ WebInspector.ElementsTreeElement.prototype = {
if (this._editing)
return;
+ if (this.isEventWithinDisclosureTriangle(event))
+ return;
+
+ if (this.treeOutline.showInElementsPanelEnabled) {
+ WebInspector.showElementsPanel();
+ WebInspector.panels.elements.focusedDOMNode = this.representedObject;
+ }
+
// Prevent selecting the nearest word on double click.
if (event.detail >= 2)
event.preventDefault();
@@ -522,11 +533,6 @@ WebInspector.ElementsTreeElement.prototype = {
if (this._startEditingFromEvent(event, treeElement))
return;
- if (this.treeOutline.panel) {
- this.treeOutline.rootDOMNode = this.representedObject.parentNode;
- this.treeOutline.focusedDOMNode = this.representedObject;
- }
-
if (this.hasChildren && !this.expanded)
this.expand();
},
@@ -542,6 +548,8 @@ WebInspector.ElementsTreeElement.prototype = {
tag.appendChild(node);
tag.appendChild(document.createTextNode('>'));
}
+
+ this.updateSelection();
},
_startEditingFromEvent: function(event, treeElement)
@@ -578,7 +586,7 @@ WebInspector.ElementsTreeElement.prototype = {
this.toggleNewAttributeButton(false);
var attribute = listItem.getElementsByClassName("webkit-html-attribute")[0];
if (attribute)
- return this._startEditingAttribute(attribute, attribute.getElementsByClassName("webkit-html-attribute-name")[0]);
+ return this._startEditingAttribute(attribute, attribute.getElementsByClassName("webkit-html-attribute-value")[0]);
return this._addNewAttribute(listItem);
}
@@ -830,9 +838,9 @@ WebInspector.ElementsTreeElement.prototype = {
if (node.parentNode && node.parentNode.nodeName.toLowerCase() == "script") {
var newNode = document.createElement("span");
newNode.textContent = node.textContent;
-
+
var javascriptSyntaxHighlighter = new WebInspector.JavaScriptSourceSyntaxHighlighter(null, null);
- javascriptSyntaxHighlighter.syntaxHighlightLine(newNode, null);
+ javascriptSyntaxHighlighter.syntaxHighlightNode(newNode);
info.title = "<span class=\"webkit-html-text-node webkit-html-js-node\">" + newNode.innerHTML.replace(/^[\n\r]*/, "").replace(/\s*$/, "") + "</span>";
} else if (node.parentNode && node.parentNode.nodeName.toLowerCase() == "style") {
diff --git a/src/3rdparty/webkit/WebCore/inspector/front-end/EventListenersSidebarPane.js b/src/3rdparty/webkit/WebCore/inspector/front-end/EventListenersSidebarPane.js
index 55b8e55..2938196 100644
--- a/src/3rdparty/webkit/WebCore/inspector/front-end/EventListenersSidebarPane.js
+++ b/src/3rdparty/webkit/WebCore/inspector/front-end/EventListenersSidebarPane.js
@@ -71,6 +71,8 @@ WebInspector.EventListenersSidebarPane.prototype = {
var eventListener = eventListeners[i];
eventListener.node = WebInspector.domAgent.nodeForId(eventListener.nodeId);
delete eventListener.nodeId; // no longer needed
+ if (/^function _inspectorCommandLineAPI_logEvent\(/.test(eventListener.listener.toString()))
+ continue; // ignore event listeners generated by monitorEvent
var type = eventListener.type;
var section = sectionMap[type];
if (!section) {
@@ -201,18 +203,13 @@ WebInspector.EventListenerBar.prototype = {
if (node.nodeType === Node.DOCUMENT_NODE)
return "document";
-
+
return appropriateSelectorForNode(node);
},
_getFunctionDisplayName: function()
{
- // TODO: v8 does not yet provide the raw function, this handles such a case with a placeholder
- // I didn't make this a UIString because it should be implemented eventually.
- if (!this.eventListener.listener)
- return "(listener)";
-
- // Requires that Function.toString() return at least the function's signature
+ // Requires that Function.toString() return at least the function's signature.
var match = this.eventListener.listener.toString().match(/function ([^\(]+?)\(/);
return (match ? match[1] : WebInspector.UIString("(anonymous function)"));
}
diff --git a/src/3rdparty/webkit/WebCore/inspector/front-end/Images/timelineBarBlue.png b/src/3rdparty/webkit/WebCore/inspector/front-end/Images/timelineBarBlue.png
new file mode 100644
index 0000000..22641b5
--- /dev/null
+++ b/src/3rdparty/webkit/WebCore/inspector/front-end/Images/timelineBarBlue.png
Binary files differ
diff --git a/src/3rdparty/webkit/WebCore/inspector/front-end/Images/timelineBarGray.png b/src/3rdparty/webkit/WebCore/inspector/front-end/Images/timelineBarGray.png
new file mode 100644
index 0000000..f66cf43
--- /dev/null
+++ b/src/3rdparty/webkit/WebCore/inspector/front-end/Images/timelineBarGray.png
Binary files differ
diff --git a/src/3rdparty/webkit/WebCore/inspector/front-end/Images/timelineBarGreen.png b/src/3rdparty/webkit/WebCore/inspector/front-end/Images/timelineBarGreen.png
new file mode 100644
index 0000000..cc59082
--- /dev/null
+++ b/src/3rdparty/webkit/WebCore/inspector/front-end/Images/timelineBarGreen.png
Binary files differ
diff --git a/src/3rdparty/webkit/WebCore/inspector/front-end/Images/timelineBarOrange.png b/src/3rdparty/webkit/WebCore/inspector/front-end/Images/timelineBarOrange.png
new file mode 100644
index 0000000..e5ae6f5
--- /dev/null
+++ b/src/3rdparty/webkit/WebCore/inspector/front-end/Images/timelineBarOrange.png
Binary files differ
diff --git a/src/3rdparty/webkit/WebCore/inspector/front-end/Images/timelineBarPurple.png b/src/3rdparty/webkit/WebCore/inspector/front-end/Images/timelineBarPurple.png
new file mode 100644
index 0000000..f891252
--- /dev/null
+++ b/src/3rdparty/webkit/WebCore/inspector/front-end/Images/timelineBarPurple.png
Binary files differ
diff --git a/src/3rdparty/webkit/WebCore/inspector/front-end/Images/timelineBarRed.png b/src/3rdparty/webkit/WebCore/inspector/front-end/Images/timelineBarRed.png
new file mode 100644
index 0000000..b850037
--- /dev/null
+++ b/src/3rdparty/webkit/WebCore/inspector/front-end/Images/timelineBarRed.png
Binary files differ
diff --git a/src/3rdparty/webkit/WebCore/inspector/front-end/Images/timelineBarYellow.png b/src/3rdparty/webkit/WebCore/inspector/front-end/Images/timelineBarYellow.png
new file mode 100644
index 0000000..2b3e9a7
--- /dev/null
+++ b/src/3rdparty/webkit/WebCore/inspector/front-end/Images/timelineBarYellow.png
Binary files differ
diff --git a/src/3rdparty/webkit/WebCore/inspector/front-end/Images/timelineCheckmarks.png b/src/3rdparty/webkit/WebCore/inspector/front-end/Images/timelineCheckmarks.png
new file mode 100644
index 0000000..9afa9bb
--- /dev/null
+++ b/src/3rdparty/webkit/WebCore/inspector/front-end/Images/timelineCheckmarks.png
Binary files differ
diff --git a/src/3rdparty/webkit/WebCore/inspector/front-end/Images/timelineDots.png b/src/3rdparty/webkit/WebCore/inspector/front-end/Images/timelineDots.png
new file mode 100644
index 0000000..e9ba4d3
--- /dev/null
+++ b/src/3rdparty/webkit/WebCore/inspector/front-end/Images/timelineDots.png
Binary files differ
diff --git a/src/3rdparty/webkit/WebCore/inspector/front-end/Images/timelineIcon.png b/src/3rdparty/webkit/WebCore/inspector/front-end/Images/timelineIcon.png
new file mode 100644
index 0000000..09bcf30
--- /dev/null
+++ b/src/3rdparty/webkit/WebCore/inspector/front-end/Images/timelineIcon.png
Binary files differ
diff --git a/src/3rdparty/webkit/WebCore/inspector/front-end/InjectedScript.js b/src/3rdparty/webkit/WebCore/inspector/front-end/InjectedScript.js
index 3ce96d0..3bed8da 100644
--- a/src/3rdparty/webkit/WebCore/inspector/front-end/InjectedScript.js
+++ b/src/3rdparty/webkit/WebCore/inspector/front-end/InjectedScript.js
@@ -540,7 +540,7 @@ InjectedScript.getCompletions = function(expression, includeInspectorCommandLine
for (var prop in expressionResult)
props[prop] = true;
if (includeInspectorCommandLineAPI)
- for (var prop in InjectedScript._window()._inspectorCommandLineAPI)
+ for (var prop in InjectedScript._window().console._inspectorCommandLineAPI)
if (prop.charAt(0) !== '_')
props[prop] = true;
} catch(e) {
@@ -575,7 +575,7 @@ InjectedScript._evaluateOn = function(evalFunction, object, expression)
InjectedScript._ensureCommandLineAPIInstalled(evalFunction, object);
// Surround the expression in with statements to inject our command line API so that
// the window object properties still take more precedent than our API functions.
- expression = "with (window._inspectorCommandLineAPI) { with (window) { " + expression + " } }";
+ expression = "with (window.console._inspectorCommandLineAPI) { with (window) { " + expression + " } }";
var value = evalFunction.call(object, expression);
// When evaluating on call frame error is not thrown, but returned as a value.
@@ -592,7 +592,7 @@ InjectedScript.addInspectedNode = function(nodeId)
return false;
InjectedScript._ensureCommandLineAPIInstalled(InjectedScript._window().eval, InjectedScript._window());
- var inspectedNodes = InjectedScript._window()._inspectorCommandLineAPI._inspectedNodes;
+ var inspectedNodes = InjectedScript._window().console._inspectorCommandLineAPI._inspectedNodes;
inspectedNodes.unshift(node);
if (inspectedNodes.length >= 5)
inspectedNodes.pop();
@@ -901,9 +901,9 @@ InjectedScript._inspectObject = function(o)
InjectedScript._ensureCommandLineAPIInstalled = function(evalFunction, evalObject)
{
- if (evalFunction.call(evalObject, "window._inspectorCommandLineAPI"))
+ if (evalFunction.call(evalObject, "window.console._inspectorCommandLineAPI"))
return;
- var inspectorCommandLineAPI = evalFunction.call(evalObject, "window._inspectorCommandLineAPI = { \
+ var inspectorCommandLineAPI = evalFunction.call(evalObject, "window.console._inspectorCommandLineAPI = { \
$: function() { return document.getElementById.apply(document, arguments) }, \
$$: function() { return document.querySelectorAll.apply(document, arguments) }, \
$x: function(xpath, context) { \
@@ -922,12 +922,50 @@ InjectedScript._ensureCommandLineAPIInstalled = function(evalFunction, evalObjec
values: function(o) { var a = []; for (var k in o) a.push(o[k]); return a; }, \
profile: function() { return console.profile.apply(console, arguments) }, \
profileEnd: function() { return console.profileEnd.apply(console, arguments) }, \
+ _logEvent: function _inspectorCommandLineAPI_logEvent(e) { console.log(e.type, e); }, \
+ _allEventTypes: [\"mouse\", \"key\", \"load\", \"unload\", \"abort\", \"error\", \
+ \"select\", \"change\", \"submit\", \"reset\", \"focus\", \"blur\", \
+ \"resize\", \"scroll\"], \
+ _normalizeEventTypes: function(t) { \
+ if (typeof t === \"undefined\") \
+ t = _inspectorCommandLineAPI._allEventTypes; \
+ else if (typeof t === \"string\") \
+ t = [t]; \
+ var i, te = []; \
+ for (i = 0; i < t.length; i++) { \
+ if (t[i] === \"mouse\") \
+ te.splice(0, 0, \"mousedown\", \"mouseup\", \"click\", \"dblclick\", \
+ \"mousemove\", \"mouseover\", \"mouseout\"); \
+ else if (t[i] === \"key\") \
+ te.splice(0, 0, \"keydown\", \"keyup\", \"keypress\"); \
+ else \
+ te.push(t[i]); \
+ } \
+ return te; \
+ }, \
+ monitorEvent: function(o, t) { \
+ if (!o || !o.addEventListener || !o.removeEventListener) \
+ return; \
+ t = _inspectorCommandLineAPI._normalizeEventTypes(t); \
+ for (i = 0; i < t.length; i++) { \
+ o.removeEventListener(t[i], _inspectorCommandLineAPI._logEvent, false); \
+ o.addEventListener(t[i], _inspectorCommandLineAPI._logEvent, false); \
+ } \
+ }, \
+ unmonitorEvent: function(o, t) { \
+ if (!o || !o.removeEventListener) \
+ return; \
+ t = _inspectorCommandLineAPI._normalizeEventTypes(t); \
+ for (i = 0; i < t.length; i++) { \
+ o.removeEventListener(t[i], _inspectorCommandLineAPI._logEvent, false); \
+ } \
+ }, \
_inspectedNodes: [], \
- get $0() { return _inspectorCommandLineAPI._inspectedNodes[0] }, \
- get $1() { return _inspectorCommandLineAPI._inspectedNodes[1] }, \
- get $2() { return _inspectorCommandLineAPI._inspectedNodes[2] }, \
- get $3() { return _inspectorCommandLineAPI._inspectedNodes[3] }, \
- get $4() { return _inspectorCommandLineAPI._inspectedNodes[4] } \
+ get $0() { return console._inspectorCommandLineAPI._inspectedNodes[0] }, \
+ get $1() { return console._inspectorCommandLineAPI._inspectedNodes[1] }, \
+ get $2() { return console._inspectorCommandLineAPI._inspectedNodes[2] }, \
+ get $3() { return console._inspectorCommandLineAPI._inspectedNodes[3] }, \
+ get $4() { return console._inspectorCommandLineAPI._inspectedNodes[4] } \
};");
inspectorCommandLineAPI.clear = InspectorController.wrapCallback(InjectedScript._clearConsoleMessages);
@@ -1120,6 +1158,8 @@ Object.type = function(obj)
return "regexp";
if (obj instanceof win.NodeList)
return "array";
+ if (obj instanceof win.HTMLCollection || obj instanceof win.HTMLAllCollection)
+ return "array";
if (obj instanceof win.Error)
return "error";
return type;
diff --git a/src/3rdparty/webkit/WebCore/inspector/front-end/InspectorControllerStub.js b/src/3rdparty/webkit/WebCore/inspector/front-end/InspectorControllerStub.js
new file mode 100644
index 0000000..6fb5a1b
--- /dev/null
+++ b/src/3rdparty/webkit/WebCore/inspector/front-end/InspectorControllerStub.js
@@ -0,0 +1,291 @@
+/*
+ * Copyright (C) 2009 Google 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:
+ *
+ * * 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 Google Inc. 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.
+ */
+
+if (!window.InspectorController) {
+
+WebInspector.InspectorControllerStub = function()
+{
+ this._searchingForNode = false;
+ this._windowVisible = true;
+ this._attachedWindowHeight = 0;
+ this._debuggerEnabled = true;
+ this._profilerEnabled = true;
+ this._resourceTrackingEnabled = false;
+ this._timelineEnabled = false;
+ this._settings = {};
+}
+
+WebInspector.InspectorControllerStub.prototype = {
+ wrapCallback: function(func)
+ {
+ return func;
+ },
+
+ isWindowVisible: function()
+ {
+ return this._windowVisible;
+ },
+
+ platform: function()
+ {
+ return "mac-leopard";
+ },
+
+
+ closeWindow: function()
+ {
+ this._windowVisible = false;
+ },
+
+ attach: function()
+ {
+ },
+
+ detach: function()
+ {
+ },
+
+ storeLastActivePanel: function(panel)
+ {
+ },
+
+ clearMessages: function()
+ {
+ },
+
+ searchingForNode: function()
+ {
+ return this._searchingForNode;
+ },
+
+ search: function(sourceRow, query)
+ {
+ },
+
+ toggleNodeSearch: function()
+ {
+ this._searchingForNode = !this._searchingForNode;
+ },
+
+ setAttachedWindowHeight: function(height)
+ {
+ },
+
+ moveByUnrestricted: function(x, y)
+ {
+ },
+
+
+ addResourceSourceToFrame: function(identifier, element)
+ {
+ },
+
+ addSourceToFrame: function(mimeType, source, element)
+ {
+ return false;
+ },
+
+ getResourceDocumentNode: function(identifier)
+ {
+ return undefined;
+ },
+
+ highlightDOMNode: function(node)
+ {
+ },
+
+ hideDOMNodeHighlight: function()
+ {
+ },
+
+ inspectedWindow: function()
+ {
+ return window;
+ },
+
+ loaded: function()
+ {
+ },
+
+ localizedStringsURL: function()
+ {
+ return undefined;
+ },
+
+ windowUnloading: function()
+ {
+ return false;
+ },
+
+ hiddenPanels: function()
+ {
+ return "";
+ },
+
+ debuggerEnabled: function()
+ {
+ return this._debuggerEnabled;
+ },
+
+ enableResourceTracking: function()
+ {
+ this._resourceTrackingEnabled = true;
+ WebInspector.resourceTrackingWasEnabled();
+ },
+
+ disableResourceTracking: function()
+ {
+ this._resourceTrackingEnabled = false;
+ WebInspector.resourceTrackingWasDisabled();
+ },
+
+ resourceTrackingEnabled: function()
+ {
+ return this._resourceTrackingEnabled;
+ },
+
+ enableDebugger: function()
+ {
+ this._debuggerEnabled = true;
+ },
+
+ disableDebugger: function()
+ {
+ this._debuggerEnabled = false;
+ },
+
+ addBreakpoint: function(sourceID, line, condition)
+ {
+ },
+
+ removeBreakpoint: function(sourceID, line)
+ {
+ },
+
+ updateBreakpoint: function(sourceID, line, condition)
+ {
+ },
+
+ pauseInDebugger: function()
+ {
+ },
+
+ pauseOnExceptions: function()
+ {
+ return false;
+ },
+
+ setPauseOnExceptions: function(value)
+ {
+ },
+
+ resumeDebugger: function()
+ {
+ },
+
+ profilerEnabled: function()
+ {
+ return true;
+ },
+
+ enableProfiler: function()
+ {
+ this._profilerEnabled = true;
+ },
+
+ disableProfiler: function()
+ {
+ this._profilerEnabled = false;
+ },
+
+ startProfiling: function()
+ {
+ },
+
+ stopProfiling: function()
+ {
+ },
+
+ getProfileHeaders: function(callId)
+ {
+ WebInspector.didGetProfileHeaders(callId, []);
+ },
+
+ getProfile: function(callId, uid)
+ {
+ if (WebInspector.__fullProfiles && (uid in WebInspector.__fullProfiles))
+ {
+ WebInspector.didGetProfile(callId, WebInspector.__fullProfiles[uid]);
+ }
+ },
+
+ takeHeapSnapshot: function()
+ {
+ },
+
+ databaseTableNames: function(database)
+ {
+ return [];
+ },
+
+ stepIntoStatementInDebugger: function()
+ {
+ },
+
+ stepOutOfFunctionInDebugger: function()
+ {
+ },
+
+ stepOverStatementInDebugger: function()
+ {
+ },
+
+ setSetting: function(setting, value)
+ {
+ this._settings[setting] = value;
+ },
+
+ dispatchOnInjectedScript: function()
+ {
+ },
+
+ releaseWrapperObjectGroup: function()
+ {
+ },
+
+ setting: function(setting)
+ {
+ return this._settings[setting];
+ }
+}
+
+window.InspectorController = new WebInspector.InspectorControllerStub();
+
+}
diff --git a/src/3rdparty/webkit/WebCore/inspector/front-end/Panel.js b/src/3rdparty/webkit/WebCore/inspector/front-end/Panel.js
index 5046f6b..6cd200b 100644
--- a/src/3rdparty/webkit/WebCore/inspector/front-end/Panel.js
+++ b/src/3rdparty/webkit/WebCore/inspector/front-end/Panel.js
@@ -82,6 +82,8 @@ WebInspector.Panel.prototype = {
this._toolbarItem.addStyleClass("toggled-on");
WebInspector.currentFocusElement = document.getElementById("main-panels");
+
+ this.updateSidebarWidth();
},
hide: function()
@@ -267,6 +269,103 @@ WebInspector.Panel.prototype = {
currentView.jumpToLastSearchResult();
else
currentView.jumpToPreviousSearchResult();
+ },
+
+ handleKeyEvent: function(event)
+ {
+ this.handleSidebarKeyEvent(event);
+ },
+
+ handleSidebarKeyEvent: function(event)
+ {
+ if (this.hasSidebar && this.sidebarTree)
+ this.sidebarTree.handleKeyEvent(event);
+ },
+
+ createSidebar: function(parentElement, resizerParentElement)
+ {
+ if (this.hasSidebar)
+ return;
+
+ if (!parentElement)
+ parentElement = this.element;
+
+ if (!resizerParentElement)
+ resizerParentElement = parentElement;
+
+ this.hasSidebar = true;
+
+ this.sidebarElement = document.createElement("div");
+ this.sidebarElement.className = "sidebar";
+ parentElement.appendChild(this.sidebarElement);
+
+ this.sidebarResizeElement = document.createElement("div");
+ this.sidebarResizeElement.className = "sidebar-resizer-vertical";
+ this.sidebarResizeElement.addEventListener("mousedown", this._startSidebarDragging.bind(this), false);
+ resizerParentElement.appendChild(this.sidebarResizeElement);
+
+ this.sidebarTreeElement = document.createElement("ol");
+ this.sidebarTreeElement.className = "sidebar-tree";
+ this.sidebarElement.appendChild(this.sidebarTreeElement);
+
+ this.sidebarTree = new TreeOutline(this.sidebarTreeElement);
+ },
+
+ _startSidebarDragging: function(event)
+ {
+ WebInspector.elementDragStart(this.sidebarResizeElement, this._sidebarDragging.bind(this), this._endSidebarDragging.bind(this), event, "col-resize");
+ },
+
+ _sidebarDragging: function(event)
+ {
+ this.updateSidebarWidth(event.pageX);
+
+ event.preventDefault();
+ },
+
+ _endSidebarDragging: function(event)
+ {
+ WebInspector.elementDragEnd(event);
+ },
+
+ updateSidebarWidth: function(width)
+ {
+ if (!this.hasSidebar)
+ return;
+
+ if (this.sidebarElement.offsetWidth <= 0) {
+ // The stylesheet hasn't loaded yet or the window is closed,
+ // so we can't calculate what is need. Return early.
+ return;
+ }
+
+ if (!("_currentSidebarWidth" in this))
+ this._currentSidebarWidth = this.sidebarElement.offsetWidth;
+
+ if (typeof width === "undefined")
+ width = this._currentSidebarWidth;
+
+ width = Number.constrain(width, Preferences.minSidebarWidth, window.innerWidth / 2);
+
+ this._currentSidebarWidth = width;
+ this.setSidebarWidth(width);
+
+ this.updateMainViewWidth(width);
+
+ var visibleView = this.visibleView;
+ if (visibleView && "resize" in visibleView)
+ visibleView.resize();
+ },
+
+ setSidebarWidth: function(width)
+ {
+ this.sidebarElement.style.width = width + "px";
+ this.sidebarResizeElement.style.left = (width - 3) + "px";
+ },
+
+ updateMainViewWidth: function(width)
+ {
+ // Should be implemented by ancestors.
}
}
diff --git a/src/3rdparty/webkit/WebCore/inspector/front-end/ProfileDataGridTree.js b/src/3rdparty/webkit/WebCore/inspector/front-end/ProfileDataGridTree.js
index 3fb0e00..9a7c741 100644
--- a/src/3rdparty/webkit/WebCore/inspector/front-end/ProfileDataGridTree.js
+++ b/src/3rdparty/webkit/WebCore/inspector/front-end/ProfileDataGridTree.js
@@ -126,20 +126,6 @@ WebInspector.ProfileDataGridNode.prototype = {
this.profileView._dataGridNodeDeselected(this);
},
- expand: function()
- {
- if (!this.parent) {
- var currentComparator = this.parent.lastComparator;
-
- if (!currentComparator || (currentComparator === this.lastComparator))
- return;
-
- this.sort(currentComparator);
- }
-
- WebInspector.DataGridNode.prototype.expand.call(this);
- },
-
sort: function(/*Function*/ comparator, /*Boolean*/ force)
{
var gridNodeGroups = [[this]];
@@ -153,7 +139,7 @@ WebInspector.ProfileDataGridNode.prototype = {
// If the grid node is collapsed, then don't sort children (save operation for later).
// If the grid node has the same sorting as previously, then there is no point in sorting it again.
- if (!force && !gridNode.expanded || gridNode.lastComparator === comparator) {
+ if (!force && (!gridNode.expanded || gridNode.lastComparator === comparator)) {
if (gridNode.children.length)
gridNode.shouldRefreshChildren = true;
continue;
@@ -224,6 +210,26 @@ WebInspector.ProfileDataGridNode.prototype = {
return this.totalTime / this.tree.totalTime * 100.0;
},
+ get _parent()
+ {
+ return this.parent !== this.dataGrid ? this.parent : this.tree;
+ },
+
+ _populate: function(event)
+ {
+ this._sharedPopulate();
+
+ if (this._parent) {
+ var currentComparator = this._parent.lastComparator;
+
+ if (currentComparator)
+ this.sort(currentComparator, true);
+ }
+
+ if (this.removeEventListener)
+ this.removeEventListener("populate", this._populate, this);
+ },
+
// When focusing and collapsing we modify lots of nodes in the tree.
// This allows us to restore them all to their original state when we revert.
_save: function()
diff --git a/src/3rdparty/webkit/WebCore/inspector/front-end/ProfileView.js b/src/3rdparty/webkit/WebCore/inspector/front-end/ProfileView.js
index ee96345..afced41 100644
--- a/src/3rdparty/webkit/WebCore/inspector/front-end/ProfileView.js
+++ b/src/3rdparty/webkit/WebCore/inspector/front-end/ProfileView.js
@@ -602,6 +602,16 @@ WebInspector.CPUProfileType.prototype = {
setRecordingProfile: function(isProfiling)
{
this._recording = isProfiling;
+ },
+
+ createSidebarTreeElementForProfile: function(profile)
+ {
+ return new WebInspector.ProfileSidebarTreeElement(profile);
+ },
+
+ createView: function(profile)
+ {
+ return new WebInspector.CPUProfileView(profile);
}
}
@@ -627,18 +637,5 @@ WebInspector.CPUProfile.prototype = {
get head()
{
return this.representedObject.head;
- },
-
- createView: function()
- {
- return new WebInspector.CPUProfileView(this);
- },
-
- // FIXME: Extract this into a superclass so that createView can be simply overridden by subclasses.
- viewForProfile: function()
- {
- if (!this._profileView)
- this._profileView = this.createView();
- return this._profileView;
}
}
diff --git a/src/3rdparty/webkit/WebCore/inspector/front-end/ProfilesPanel.js b/src/3rdparty/webkit/WebCore/inspector/front-end/ProfilesPanel.js
index 55e286e..74c2bb6 100644
--- a/src/3rdparty/webkit/WebCore/inspector/front-end/ProfilesPanel.js
+++ b/src/3rdparty/webkit/WebCore/inspector/front-end/ProfilesPanel.js
@@ -61,6 +61,25 @@ WebInspector.ProfileType.prototype = {
buttonClicked: function()
{
+ },
+
+ viewForProfile: function(profile)
+ {
+ if (!profile._profileView)
+ profile._profileView = this.createView(profile);
+ return profile._profileView;
+ },
+
+ // Must be implemented by subclasses.
+ createView: function(profile)
+ {
+ throw new Error("Needs implemented.");
+ },
+
+ // Must be implemented by subclasses.
+ createSidebarTreeElementForProfile: function(profile)
+ {
+ throw new Error("Needs implemented.");
}
}
@@ -68,6 +87,8 @@ WebInspector.ProfilesPanel = function()
{
WebInspector.Panel.call(this);
+ this.createSidebar();
+
this.element.addStyleClass("profiles");
this._profileTypesByIdMap = {};
this._profileTypeButtonsByIdMap = {};
@@ -80,21 +101,6 @@ WebInspector.ProfilesPanel = function()
this.element.appendChild(this.panelEnablerView.element);
- this.sidebarElement = document.createElement("div");
- this.sidebarElement.id = "profiles-sidebar";
- this.sidebarElement.className = "sidebar";
- this.element.appendChild(this.sidebarElement);
-
- this.sidebarResizeElement = document.createElement("div");
- this.sidebarResizeElement.className = "sidebar-resizer-vertical";
- this.sidebarResizeElement.addEventListener("mousedown", this._startSidebarDragging.bind(this), false);
- this.element.appendChild(this.sidebarResizeElement);
-
- this.sidebarTreeElement = document.createElement("ol");
- this.sidebarTreeElement.className = "sidebar-tree";
- this.sidebarElement.appendChild(this.sidebarTreeElement);
- this.sidebarTree = new TreeOutline(this.sidebarTreeElement);
-
this.profileViews = document.createElement("div");
this.profileViews.id = "profile-views";
this.element.appendChild(this.profileViews);
@@ -143,7 +149,6 @@ WebInspector.ProfilesPanel.prototype = {
show: function()
{
WebInspector.Panel.prototype.show.call(this);
- this._updateSidebarWidth();
if (this._shouldPopulateProfiles)
this._populateProfiles();
},
@@ -192,11 +197,6 @@ WebInspector.ProfilesPanel.prototype = {
this._updateInterface();
},
- handleKeyEvent: function(event)
- {
- this.sidebarTree.handleKeyEvent(event);
- },
-
registerProfileType: function(profileType)
{
this._profileTypesByIdMap[profileType.id] = profileType;
@@ -212,10 +212,12 @@ WebInspector.ProfilesPanel.prototype = {
addProfileHeader: function(typeId, profile)
{
- var sidebarParent = this.getProfileType(typeId).treeElement;
+ var profileType = this.getProfileType(typeId);
+ var sidebarParent = profileType.treeElement;
var small = false;
var alternateTitle;
+ profile.__profilesPanelProfileType = profileType;
this._profiles.push(profile);
this._profilesIdMap[this._makeKey(profile.uid, typeId)] = profile;
@@ -257,7 +259,7 @@ WebInspector.ProfilesPanel.prototype = {
}
}
- var profileTreeElement = new WebInspector.ProfileSidebarTreeElement(profile);
+ var profileTreeElement = profileType.createSidebarTreeElementForProfile(profile);
profileTreeElement.small = small;
if (alternateTitle)
profileTreeElement.mainTitle = alternateTitle;
@@ -276,7 +278,7 @@ WebInspector.ProfilesPanel.prototype = {
if (this.visibleView)
this.visibleView.hide();
- var view = profile.viewForProfile();
+ var view = profile.__profilesPanelProfileType.viewForProfile(profile);
view.show(this.profileViews);
@@ -449,49 +451,10 @@ WebInspector.ProfilesPanel.prototype = {
delete this._shouldPopulateProfiles;
},
- _startSidebarDragging: function(event)
- {
- WebInspector.elementDragStart(this.sidebarResizeElement, this._sidebarDragging.bind(this), this._endSidebarDragging.bind(this), event, "col-resize");
- },
-
- _sidebarDragging: function(event)
+ updateMainViewWidth: function(width)
{
- this._updateSidebarWidth(event.pageX);
-
- event.preventDefault();
- },
-
- _endSidebarDragging: function(event)
- {
- WebInspector.elementDragEnd(event);
- },
-
- _updateSidebarWidth: function(width)
- {
- if (this.sidebarElement.offsetWidth <= 0) {
- // The stylesheet hasn't loaded yet or the window is closed,
- // so we can't calculate what is need. Return early.
- return;
- }
-
- if (!("_currentSidebarWidth" in this))
- this._currentSidebarWidth = this.sidebarElement.offsetWidth;
-
- if (typeof width === "undefined")
- width = this._currentSidebarWidth;
-
- width = Number.constrain(width, Preferences.minSidebarWidth, window.innerWidth / 2);
-
- this._currentSidebarWidth = width;
-
- this.sidebarElement.style.width = width + "px";
this.profileViews.style.left = width + "px";
this.profileViewStatusBarItemsContainer.style.left = width + "px";
- this.sidebarResizeElement.style.left = (width - 3) + "px";
-
- var visibleView = this.visibleView;
- if (visibleView && "resize" in visibleView)
- visibleView.resize();
}
}
diff --git a/src/3rdparty/webkit/WebCore/inspector/front-end/ResourceCategory.js b/src/3rdparty/webkit/WebCore/inspector/front-end/ResourceCategory.js
index fc508d0..6e94265 100644
--- a/src/3rdparty/webkit/WebCore/inspector/front-end/ResourceCategory.js
+++ b/src/3rdparty/webkit/WebCore/inspector/front-end/ResourceCategory.js
@@ -26,18 +26,13 @@
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-WebInspector.ResourceCategory = function(title, name)
+WebInspector.ResourceCategory = function(name, title, color)
{
- this.name = name;
- this.title = title;
+ WebInspector.AbstractTimelineCategory.call(this, name, title, color);
this.resources = [];
}
WebInspector.ResourceCategory.prototype = {
- toString: function()
- {
- return this.title;
- },
addResource: function(resource)
{
@@ -66,3 +61,5 @@ WebInspector.ResourceCategory.prototype = {
this.resources = [];
}
}
+
+WebInspector.ResourceCategory.prototype.__proto__ = WebInspector.AbstractTimelineCategory.prototype;
diff --git a/src/3rdparty/webkit/WebCore/inspector/front-end/ResourceView.js b/src/3rdparty/webkit/WebCore/inspector/front-end/ResourceView.js
index 28586f6..2ea7fdb 100644
--- a/src/3rdparty/webkit/WebCore/inspector/front-end/ResourceView.js
+++ b/src/3rdparty/webkit/WebCore/inspector/front-end/ResourceView.js
@@ -178,7 +178,7 @@ WebInspector.ResourceView.prototype = {
var isFormEncoded = false;
var requestContentType = this._getHeaderValue(this.resource.requestHeaders, "Content-Type");
- if (requestContentType.match(/^application\/x-www-form-urlencoded\s*(;.*)?$/i))
+ if (requestContentType && requestContentType.match(/^application\/x-www-form-urlencoded\s*(;.*)?$/i))
isFormEncoded = true;
if (isFormEncoded) {
diff --git a/src/3rdparty/webkit/WebCore/inspector/front-end/ResourcesPanel.js b/src/3rdparty/webkit/WebCore/inspector/front-end/ResourcesPanel.js
index 0f873e7..940570f 100644
--- a/src/3rdparty/webkit/WebCore/inspector/front-end/ResourcesPanel.js
+++ b/src/3rdparty/webkit/WebCore/inspector/front-end/ResourcesPanel.js
@@ -29,190 +29,129 @@
WebInspector.ResourcesPanel = function()
{
- WebInspector.Panel.call(this);
+ WebInspector.AbstractTimelinePanel.call(this);
this.element.addStyleClass("resources");
- this.filterBarElement = document.createElement("div");
- this.filterBarElement.id = "resources-filter";
- this.element.appendChild(this.filterBarElement);
+ this._createPanelEnabler();
this.viewsContainerElement = document.createElement("div");
this.viewsContainerElement.id = "resource-views";
this.element.appendChild(this.viewsContainerElement);
- this.containerElement = document.createElement("div");
- this.containerElement.id = "resources-container";
- this.containerElement.addEventListener("scroll", this._updateDividersLabelBarPosition.bind(this), false);
- this.element.appendChild(this.containerElement);
+ this.createInterface();
- this.sidebarElement = document.createElement("div");
- this.sidebarElement.id = "resources-sidebar";
- this.sidebarElement.className = "sidebar";
- this.containerElement.appendChild(this.sidebarElement);
+ this._createStatusbarButtons();
- this.sidebarResizeElement = document.createElement("div");
- this.sidebarResizeElement.className = "sidebar-resizer-vertical";
- this.sidebarResizeElement.addEventListener("mousedown", this._startSidebarDragging.bind(this), false);
- this.element.appendChild(this.sidebarResizeElement);
-
- this.containerContentElement = document.createElement("div");
- this.containerContentElement.id = "resources-container-content";
- this.containerElement.appendChild(this.containerContentElement);
-
- this.summaryBar = new WebInspector.SummaryBar(this.categories);
- this.summaryBar.element.id = "resources-summary";
- this.containerContentElement.appendChild(this.summaryBar.element);
-
- this.resourcesGraphsElement = document.createElement("div");
- this.resourcesGraphsElement.id = "resources-graphs";
- this.containerContentElement.appendChild(this.resourcesGraphsElement);
-
- this.dividersElement = document.createElement("div");
- this.dividersElement.id = "resources-dividers";
- this.containerContentElement.appendChild(this.dividersElement);
-
- this.eventDividersElement = document.createElement("div");
- this.eventDividersElement.id = "resources-event-dividers";
- this.containerContentElement.appendChild(this.eventDividersElement);
-
- this.dividersLabelBarElement = document.createElement("div");
- this.dividersLabelBarElement.id = "resources-dividers-label-bar";
- this.containerContentElement.appendChild(this.dividersLabelBarElement);
+ this.reset();
+ this.filter(this.filterAllElement, false);
+ this.graphsTreeElement.children[0].select();
+}
- this.sidebarTreeElement = document.createElement("ol");
- this.sidebarTreeElement.className = "sidebar-tree";
- this.sidebarElement.appendChild(this.sidebarTreeElement);
+WebInspector.ResourcesPanel.prototype = {
+ toolbarItemClass: "resources",
- this.sidebarTree = new TreeOutline(this.sidebarTreeElement);
+ get toolbarItemLabel()
+ {
+ return WebInspector.UIString("Resources");
+ },
- var timeGraphItem = new WebInspector.SidebarTreeElement("resources-time-graph-sidebar-item", WebInspector.UIString("Time"));
- timeGraphItem.onselect = this._graphSelected.bind(this);
+ get statusBarItems()
+ {
+ return [this.enableToggleButton.element, this.largerResourcesButton.element, this.sortingSelectElement];
+ },
- var transferTimeCalculator = new WebInspector.ResourceTransferTimeCalculator();
- var transferDurationCalculator = new WebInspector.ResourceTransferDurationCalculator();
+ get categories()
+ {
+ return WebInspector.resourceCategories;
+ },
- timeGraphItem.sortingOptions = [
- { name: WebInspector.UIString("Sort by Start Time"), sortingFunction: WebInspector.ResourceSidebarTreeElement.CompareByAscendingStartTime, calculator: transferTimeCalculator },
- { name: WebInspector.UIString("Sort by Response Time"), sortingFunction: WebInspector.ResourceSidebarTreeElement.CompareByAscendingResponseReceivedTime, calculator: transferTimeCalculator },
- { name: WebInspector.UIString("Sort by End Time"), sortingFunction: WebInspector.ResourceSidebarTreeElement.CompareByAscendingEndTime, calculator: transferTimeCalculator },
- { name: WebInspector.UIString("Sort by Duration"), sortingFunction: WebInspector.ResourceSidebarTreeElement.CompareByDescendingDuration, calculator: transferDurationCalculator },
- { name: WebInspector.UIString("Sort by Latency"), sortingFunction: WebInspector.ResourceSidebarTreeElement.CompareByDescendingLatency, calculator: transferDurationCalculator },
- ];
+ createItemTreeElement: function(item)
+ {
+ return new WebInspector.ResourceSidebarTreeElement(item);
+ },
- timeGraphItem.selectedSortingOptionIndex = 1;
+ createItemGraph: function(item)
+ {
+ return new WebInspector.ResourceGraph(item);
+ },
- var sizeGraphItem = new WebInspector.SidebarTreeElement("resources-size-graph-sidebar-item", WebInspector.UIString("Size"));
- sizeGraphItem.onselect = this._graphSelected.bind(this);
+ isCategoryVisible: function(categoryName)
+ {
+ return (this.itemsGraphsElement.hasStyleClass("filter-all") || this.itemsGraphsElement.hasStyleClass("filter-" + categoryName.toLowerCase()));
+ },
- var transferSizeCalculator = new WebInspector.ResourceTransferSizeCalculator();
- sizeGraphItem.sortingOptions = [
- { name: WebInspector.UIString("Sort by Size"), sortingFunction: WebInspector.ResourceSidebarTreeElement.CompareByDescendingSize, calculator: transferSizeCalculator },
- ];
+ populateSidebar: function()
+ {
+ var timeGraphItem = new WebInspector.SidebarTreeElement("resources-time-graph-sidebar-item", WebInspector.UIString("Time"));
+ timeGraphItem.onselect = this._graphSelected.bind(this);
- sizeGraphItem.selectedSortingOptionIndex = 0;
+ var transferTimeCalculator = new WebInspector.ResourceTransferTimeCalculator();
+ var transferDurationCalculator = new WebInspector.ResourceTransferDurationCalculator();
- this.graphsTreeElement = new WebInspector.SidebarSectionTreeElement(WebInspector.UIString("GRAPHS"), {}, true);
- this.sidebarTree.appendChild(this.graphsTreeElement);
+ timeGraphItem.sortingOptions = [
+ { name: WebInspector.UIString("Sort by Start Time"), sortingFunction: WebInspector.ResourceSidebarTreeElement.CompareByAscendingStartTime, calculator: transferTimeCalculator },
+ { name: WebInspector.UIString("Sort by Response Time"), sortingFunction: WebInspector.ResourceSidebarTreeElement.CompareByAscendingResponseReceivedTime, calculator: transferTimeCalculator },
+ { name: WebInspector.UIString("Sort by End Time"), sortingFunction: WebInspector.ResourceSidebarTreeElement.CompareByAscendingEndTime, calculator: transferTimeCalculator },
+ { name: WebInspector.UIString("Sort by Duration"), sortingFunction: WebInspector.ResourceSidebarTreeElement.CompareByDescendingDuration, calculator: transferDurationCalculator },
+ { name: WebInspector.UIString("Sort by Latency"), sortingFunction: WebInspector.ResourceSidebarTreeElement.CompareByDescendingLatency, calculator: transferDurationCalculator },
+ ];
- this.graphsTreeElement.appendChild(timeGraphItem);
- this.graphsTreeElement.appendChild(sizeGraphItem);
- this.graphsTreeElement.expand();
+ timeGraphItem.selectedSortingOptionIndex = 1;
- this.resourcesTreeElement = new WebInspector.SidebarSectionTreeElement(WebInspector.UIString("RESOURCES"), {}, true);
- this.sidebarTree.appendChild(this.resourcesTreeElement);
+ var sizeGraphItem = new WebInspector.SidebarTreeElement("resources-size-graph-sidebar-item", WebInspector.UIString("Size"));
+ sizeGraphItem.onselect = this._graphSelected.bind(this);
- this.resourcesTreeElement.expand();
+ var transferSizeCalculator = new WebInspector.ResourceTransferSizeCalculator();
+ sizeGraphItem.sortingOptions = [
+ { name: WebInspector.UIString("Sort by Size"), sortingFunction: WebInspector.ResourceSidebarTreeElement.CompareByDescendingSize, calculator: transferSizeCalculator },
+ ];
- var panelEnablerHeading = WebInspector.UIString("You need to enable resource tracking to use this panel.");
- var panelEnablerDisclaimer = WebInspector.UIString("Enabling resource tracking will reload the page and make page loading slower.");
- var panelEnablerButton = WebInspector.UIString("Enable resource tracking");
+ sizeGraphItem.selectedSortingOptionIndex = 0;
- this.panelEnablerView = new WebInspector.PanelEnablerView("resources", panelEnablerHeading, panelEnablerDisclaimer, panelEnablerButton);
- this.panelEnablerView.addEventListener("enable clicked", this._enableResourceTracking, this);
+ this.graphsTreeElement = new WebInspector.SidebarSectionTreeElement(WebInspector.UIString("GRAPHS"), {}, true);
+ this.sidebarTree.appendChild(this.graphsTreeElement);
- this.element.appendChild(this.panelEnablerView.element);
+ this.graphsTreeElement.appendChild(timeGraphItem);
+ this.graphsTreeElement.appendChild(sizeGraphItem);
+ this.graphsTreeElement.expand();
- this.enableToggleButton = new WebInspector.StatusBarButton("", "enable-toggle-status-bar-item");
- this.enableToggleButton.addEventListener("click", this._toggleResourceTracking.bind(this), false);
+ this.itemsTreeElement = new WebInspector.SidebarSectionTreeElement(WebInspector.UIString("RESOURCES"), {}, true);
+ this.sidebarTree.appendChild(this.itemsTreeElement);
- this.largerResourcesButton = new WebInspector.StatusBarButton(WebInspector.UIString("Use small resource rows."), "resources-larger-resources-status-bar-item");
- this.largerResourcesButton.toggled = Preferences.resourcesLargeRows;
- this.largerResourcesButton.addEventListener("click", this._toggleLargerResources.bind(this), false);
- if (!Preferences.resourcesLargeRows) {
- Preferences.resourcesLargeRows = !Preferences.resourcesLargeRows;
- this._toggleLargerResources(); // this will toggle the preference back to the original
- }
-
- this.sortingSelectElement = document.createElement("select");
- this.sortingSelectElement.className = "status-bar-item";
- this.sortingSelectElement.addEventListener("change", this._changeSortingFunction.bind(this), false);
-
- var createFilterElement = function (category) {
- var categoryElement = document.createElement("li");
- categoryElement.category = category;
- categoryElement.addStyleClass(category);
- var label = WebInspector.UIString("All");
- if (WebInspector.resourceCategories[category])
- label = WebInspector.resourceCategories[category].title;
- categoryElement.appendChild(document.createTextNode(label));
- categoryElement.addEventListener("click", this._updateFilter.bind(this), false);
- this.filterBarElement.appendChild(categoryElement);
- return categoryElement;
- };
-
- var allElement = createFilterElement.call(this, "all");
- this.filter(allElement.category);
- for (var category in this.categories)
- createFilterElement.call(this, category);
+ this.itemsTreeElement.expand();
+ },
- this.reset();
+ _createPanelEnabler: function()
+ {
+ var panelEnablerHeading = WebInspector.UIString("You need to enable resource tracking to use this panel.");
+ var panelEnablerDisclaimer = WebInspector.UIString("Enabling resource tracking will reload the page and make page loading slower.");
+ var panelEnablerButton = WebInspector.UIString("Enable resource tracking");
- timeGraphItem.select();
-}
+ this.panelEnablerView = new WebInspector.PanelEnablerView("resources", panelEnablerHeading, panelEnablerDisclaimer, panelEnablerButton);
+ this.panelEnablerView.addEventListener("enable clicked", this._enableResourceTracking, this);
-WebInspector.ResourcesPanel.prototype = {
- toolbarItemClass: "resources",
+ this.element.appendChild(this.panelEnablerView.element);
- get categories()
- {
- if (!this._categories) {
- this._categories = {documents: {color: {r: 47, g: 102, b: 236}}, stylesheets: {color: {r: 157, g: 231, b: 119}}, images: {color: {r: 164, g: 60, b: 255}}, scripts: {color: {r: 255, g: 121, b: 0}}, xhr: {color: {r: 231, g: 231, b: 10}}, fonts: {color: {r: 255, g: 82, b: 62}}, other: {color: {r: 186, g: 186, b: 186}}};
- for (var category in this._categories) {
- this._categories[category].title = WebInspector.resourceCategories[category].title;
- }
- }
- return this._categories;
+ this.enableToggleButton = new WebInspector.StatusBarButton("", "enable-toggle-status-bar-item");
+ this.enableToggleButton.addEventListener("click", this._toggleResourceTracking.bind(this), false);
},
- filter: function (category) {
- if (this._filterCategory && this._filterCategory === category)
- return;
-
- if (this._filterCategory) {
- var filterElement = this.filterBarElement.getElementsByClassName(this._filterCategory)[0];
- filterElement.removeStyleClass("selected");
- var oldClass = "filter-" + this._filterCategory;
- this.resourcesTreeElement.childrenListElement.removeStyleClass(oldClass);
- this.resourcesGraphsElement.removeStyleClass(oldClass);
+ _createStatusbarButtons: function()
+ {
+ this.largerResourcesButton = new WebInspector.StatusBarButton(WebInspector.UIString("Use small resource rows."), "resources-larger-resources-status-bar-item");
+ this.largerResourcesButton.toggled = Preferences.resourcesLargeRows;
+ this.largerResourcesButton.addEventListener("click", this._toggleLargerResources.bind(this), false);
+ if (!Preferences.resourcesLargeRows) {
+ Preferences.resourcesLargeRows = !Preferences.resourcesLargeRows;
+ this._toggleLargerResources(); // this will toggle the preference back to the original
}
- this._filterCategory = category;
- var filterElement = this.filterBarElement.getElementsByClassName(this._filterCategory)[0];
- filterElement.addStyleClass("selected");
- var newClass = "filter-" + this._filterCategory;
- this.resourcesTreeElement.childrenListElement.addStyleClass(newClass);
- this.resourcesGraphsElement.addStyleClass(newClass);
- },
- _updateFilter: function (e) {
- this.filter(e.target.category);
+ this.sortingSelectElement = document.createElement("select");
+ this.sortingSelectElement.className = "status-bar-item";
+ this.sortingSelectElement.addEventListener("change", this._changeSortingFunction.bind(this), false);
},
- get toolbarItemLabel()
- {
- return WebInspector.UIString("Resources");
- },
-
get mainResourceLoadTime()
{
return this._mainResourceLoadTime || -1;
@@ -226,7 +165,7 @@ WebInspector.ResourcesPanel.prototype = {
this._mainResourceLoadTime = x;
// Update the dividers to draw the new line
- this._updateGraphDividersIfNeeded(true);
+ this.updateGraphDividersIfNeeded(true);
},
get mainResourceDOMContentTime()
@@ -241,21 +180,12 @@ WebInspector.ResourcesPanel.prototype = {
this._mainResourceDOMContentTime = x;
- this._updateGraphDividersIfNeeded(true);
- },
-
- get statusBarItems()
- {
- return [this.enableToggleButton.element, this.largerResourcesButton.element, this.sortingSelectElement];
+ this.updateGraphDividersIfNeeded(true);
},
show: function()
{
- WebInspector.Panel.prototype.show.call(this);
-
- this._updateDividersLabelBarPosition();
- this._updateSidebarWidth();
- this.refreshIfNeeded();
+ WebInspector.AbstractTimelinePanel.prototype.show.call(this);
var visibleView = this.visibleView;
if (visibleView) {
@@ -278,7 +208,7 @@ WebInspector.ResourcesPanel.prototype = {
resize: function()
{
- this._updateGraphDividersIfNeeded();
+ WebInspector.AbstractTimelinePanel.prototype.resize.call(this);
var visibleView = this.visibleView;
if (visibleView && "resize" in visibleView)
@@ -296,7 +226,7 @@ WebInspector.ResourcesPanel.prototype = {
var resourcesLength = this._resources.length;
for (var i = 0; i < resourcesLength; ++i) {
var resource = this._resources[i];
- if (!resource._resourcesTreeElement)
+ if (!resource._itemsTreeElement)
continue;
var resourceView = this.resourceViewForResource(resource);
if (!resourceView.performSearch || resourceView === visibleView)
@@ -313,7 +243,7 @@ WebInspector.ResourcesPanel.prototype = {
function sortFuction(a, b)
{
- return resourceTreeElementSortFunction(a.resource._resourcesTreeElement, b.resource._resourcesTreeElement);
+ return resourceTreeElementSortFunction(a.resource._itemsTreeElement, b.resource._itemsTreeElement);
}
return sortFuction;
@@ -321,7 +251,7 @@ WebInspector.ResourcesPanel.prototype = {
searchMatchFound: function(view, matches)
{
- view.resource._resourcesTreeElement.searchMatches = matches;
+ view.resource._itemsTreeElement.searchMatches = matches;
},
searchCanceled: function(startingNewSearch)
@@ -333,8 +263,8 @@ WebInspector.ResourcesPanel.prototype = {
for (var i = 0; i < this._resources.length; ++i) {
var resource = this._resources[i];
- if (resource._resourcesTreeElement)
- resource._resourcesTreeElement.updateErrorsAndWarnings();
+ if (resource._itemsTreeElement)
+ resource._itemsTreeElement.updateErrorsAndWarnings();
}
},
@@ -342,8 +272,8 @@ WebInspector.ResourcesPanel.prototype = {
{
for (var i = 0; i < this._resources.length; ++i) {
var resource = this._resources[i];
- if (resource._resourcesTreeElement)
- resource._resourcesTreeElement.resetBubble();
+ if (resource._itemsTreeElement)
+ resource._itemsTreeElement.resetBubble();
}
WebInspector.Panel.prototype.performSearch.call(this, query);
@@ -356,23 +286,6 @@ WebInspector.ResourcesPanel.prototype = {
return null;
},
- get calculator()
- {
- return this._calculator;
- },
-
- set calculator(x)
- {
- if (!x || this._calculator === x)
- return;
-
- this._calculator = x;
- this._calculator.reset();
-
- this._staleResources = this._resources;
- this.refresh();
- },
-
get sortingFunction()
{
return this._sortingFunction;
@@ -384,75 +297,19 @@ WebInspector.ResourcesPanel.prototype = {
this._sortResourcesIfNeeded();
},
- get needsRefresh()
- {
- return this._needsRefresh;
- },
-
- set needsRefresh(x)
- {
- if (this._needsRefresh === x)
- return;
-
- this._needsRefresh = x;
-
- if (x) {
- if (this.visible && !("_refreshTimeout" in this))
- this._refreshTimeout = setTimeout(this.refresh.bind(this), 500);
- } else {
- if ("_refreshTimeout" in this) {
- clearTimeout(this._refreshTimeout);
- delete this._refreshTimeout;
- }
- }
- },
-
- refreshIfNeeded: function()
- {
- if (this.needsRefresh)
- this.refresh();
- },
-
refresh: function()
{
- this.needsRefresh = false;
-
- var staleResourcesLength = this._staleResources.length;
- var boundariesChanged = false;
-
- for (var i = 0; i < staleResourcesLength; ++i) {
- var resource = this._staleResources[i];
- if (!resource._resourcesTreeElement) {
- // Create the resource tree element and graph.
- resource._resourcesTreeElement = new WebInspector.ResourceSidebarTreeElement(resource);
- resource._resourcesTreeElement._resourceGraph = new WebInspector.ResourceGraph(resource);
-
- this.resourcesTreeElement.appendChild(resource._resourcesTreeElement);
- this.resourcesGraphsElement.appendChild(resource._resourcesTreeElement._resourceGraph.graphElement);
- }
-
- resource._resourcesTreeElement.refresh();
+ WebInspector.AbstractTimelinePanel.prototype.refresh.call(this);
- if (this.calculator.updateBoundaries(resource))
- boundariesChanged = true;
- }
-
- if (boundariesChanged) {
- // The boundaries changed, so all resource graphs are stale.
- this._staleResources = this._resources;
- staleResourcesLength = this._staleResources.length;
- }
-
- for (var i = 0; i < staleResourcesLength; ++i)
- this._staleResources[i]._resourcesTreeElement._resourceGraph.refresh(this.calculator);
-
- this._staleResources = [];
-
- this._updateGraphDividersIfNeeded();
this._sortResourcesIfNeeded();
this._updateSummaryGraph();
},
+ _updateSummaryGraph: function()
+ {
+ this.summaryBar.update(this._resources);
+ },
+
resourceTrackingWasEnabled: function()
{
this.reset();
@@ -467,14 +324,9 @@ WebInspector.ResourcesPanel.prototype = {
{
this.closeVisibleResource();
- this.containerElement.scrollTop = 0;
-
delete this.currentQuery;
this.searchCanceled();
- if (this._calculator)
- this._calculator.reset();
-
if (this._resources) {
var resourcesLength = this._resources.length;
for (var i = 0; i < resourcesLength; ++i) {
@@ -483,23 +335,18 @@ WebInspector.ResourcesPanel.prototype = {
resource.warnings = 0;
resource.errors = 0;
- delete resource._resourcesTreeElement;
delete resource._resourcesView;
}
}
- this._resources = [];
- this._staleResources = [];
+ WebInspector.AbstractTimelinePanel.prototype.reset.call(this);
this.mainResourceLoadTime = -1;
this.mainResourceDOMContentTime = -1;
-
- this.resourcesTreeElement.removeChildren();
+
this.viewsContainerElement.removeChildren();
- this.resourcesGraphsElement.removeChildren();
- this.summaryBar.reset();
- this._updateGraphDividersIfNeeded(true);
+ this.summaryBar.reset();
if (InspectorController.resourceTrackingEnabled()) {
this.enableToggleButton.title = WebInspector.UIString("Resource tracking enabled. Click to disable.");
@@ -527,20 +374,12 @@ WebInspector.ResourcesPanel.prototype = {
if (this.visibleView === resource._resourcesView)
this.closeVisibleResource();
- this._resources.remove(resource, true);
-
- if (resource._resourcesTreeElement) {
- this.resourcesTreeElement.removeChild(resource._resourcesTreeElement);
- this.resourcesGraphsElement.removeChild(resource._resourcesTreeElement._resourceGraph.graphElement);
- }
+ this.removeItem(resource);
resource.warnings = 0;
resource.errors = 0;
- delete resource._resourcesTreeElement;
delete resource._resourcesView;
-
- this._adjustScrollPosition();
},
addMessageToResource: function(resource, msg)
@@ -557,8 +396,8 @@ WebInspector.ResourcesPanel.prototype = {
break;
}
- if (!this.currentQuery && resource._resourcesTreeElement)
- resource._resourcesTreeElement.updateErrorsAndWarnings();
+ if (!this.currentQuery && resource._itemsTreeElement)
+ resource._itemsTreeElement.updateErrorsAndWarnings();
var view = this.resourceViewForResource(resource);
if (view.addMessage)
@@ -573,8 +412,8 @@ WebInspector.ResourcesPanel.prototype = {
resource.warnings = 0;
resource.errors = 0;
- if (!this.currentQuery && resource._resourcesTreeElement)
- resource._resourcesTreeElement.updateErrorsAndWarnings();
+ if (!this.currentQuery && resource._itemsTreeElement)
+ resource._itemsTreeElement.updateErrorsAndWarnings();
var view = resource._resourcesView;
if (!view || !view.clearMessages)
@@ -585,8 +424,7 @@ WebInspector.ResourcesPanel.prototype = {
refreshResource: function(resource)
{
- this._staleResources.push(resource);
- this.needsRefresh = true;
+ this.refreshItem(resource);
},
recreateViewForResourceIfNeeded: function(resource)
@@ -601,8 +439,8 @@ WebInspector.ResourcesPanel.prototype = {
resource.warnings = 0;
resource.errors = 0;
- if (!this.currentQuery && resource._resourcesTreeElement)
- resource._resourcesTreeElement.updateErrorsAndWarnings();
+ if (!this.currentQuery && resource._itemsTreeElement)
+ resource._itemsTreeElement.updateErrorsAndWarnings();
var oldView = resource._resourcesView;
@@ -638,14 +476,11 @@ WebInspector.ResourcesPanel.prototype = {
view.highlightLine(line);
}
- if (resource._resourcesTreeElement) {
- resource._resourcesTreeElement.reveal();
- resource._resourcesTreeElement.select(true);
- }
+ this.revealAndSelectItem(resource);
this.visibleResource = resource;
- this._updateSidebarWidth();
+ this.updateSidebarWidth();
},
showView: function(view)
@@ -667,7 +502,7 @@ WebInspector.ResourcesPanel.prototype = {
if (this._lastSelectedGraphTreeElement)
this._lastSelectedGraphTreeElement.select(true);
- this._updateSidebarWidth();
+ this.updateSidebarWidth();
},
resourceViewForResource: function(resource)
@@ -696,79 +531,25 @@ WebInspector.ResourcesPanel.prototype = {
return view.sourceFrame;
},
- handleKeyEvent: function(event)
- {
- this.sidebarTree.handleKeyEvent(event);
- },
-
_sortResourcesIfNeeded: function()
{
- var sortedElements = [].concat(this.resourcesTreeElement.children);
- sortedElements.sort(this.sortingFunction);
-
- var sortedElementsLength = sortedElements.length;
- for (var i = 0; i < sortedElementsLength; ++i) {
- var treeElement = sortedElements[i];
- if (treeElement === this.resourcesTreeElement.children[i])
- continue;
-
- var wasSelected = treeElement.selected;
- this.resourcesTreeElement.removeChild(treeElement);
- this.resourcesTreeElement.insertChild(treeElement, i);
- if (wasSelected)
- treeElement.select(true);
-
- var graphElement = treeElement._resourceGraph.graphElement;
- this.resourcesGraphsElement.insertBefore(graphElement, this.resourcesGraphsElement.children[i]);
- }
+ this.sortItems(this.sortingFunction);
},
- _updateGraphDividersIfNeeded: function(force)
+ updateGraphDividersIfNeeded: function(force)
{
- if (!this.visible) {
- this.needsRefresh = true;
- return;
- }
-
- if (document.body.offsetWidth <= 0) {
- // The stylesheet hasn't loaded yet or the window is closed,
- // so we can't calculate what is need. Return early.
- return;
- }
-
- var dividerCount = Math.round(this.dividersElement.offsetWidth / 64);
- var slice = this.calculator.boundarySpan / dividerCount;
- if (!force && this._currentDividerSlice === slice)
+ var proceed = WebInspector.AbstractTimelinePanel.prototype.updateGraphDividersIfNeeded.call(this, force);
+
+ if (!proceed)
return;
- this._currentDividerSlice = slice;
-
- this.dividersElement.removeChildren();
- this.eventDividersElement.removeChildren();
- this.dividersLabelBarElement.removeChildren();
-
- for (var i = 1; i <= dividerCount; ++i) {
- var divider = document.createElement("div");
- divider.className = "resources-divider";
- if (i === dividerCount)
- divider.addStyleClass("last");
- divider.style.left = ((i / dividerCount) * 100) + "%";
-
- this.dividersElement.appendChild(divider.cloneNode());
-
- var label = document.createElement("div");
- label.className = "resources-divider-label";
- if (!isNaN(slice))
- label.textContent = this.calculator.formatValue(slice * i);
- divider.appendChild(label);
-
- this.dividersLabelBarElement.appendChild(divider);
- }
-
- if (this.calculator.startAtZero) {
+ if (this.calculator.startAtZero || !this.calculator.computePercentageFromEventTime) {
// If our current sorting method starts at zero, that means it shows all
// resources starting at the same point, and so onLoad event and DOMContent
// event lines really wouldn't make much sense here, so don't render them.
+ // Additionally, if the calculator doesn't have the computePercentageFromEventTime
+ // function defined, we are probably sorting by size, and event times aren't relevant
+ // in this case.
return;
}
@@ -803,20 +584,6 @@ WebInspector.ResourcesPanel.prototype = {
}
},
- _updateSummaryGraph: function()
- {
- this.summaryBar.update(this._resources);
- },
-
- _updateDividersLabelBarPosition: function()
- {
- var scrollTop = this.containerElement.scrollTop;
- var dividersTop = (scrollTop < this.summaryBar.element.offsetHeight ? this.summaryBar.element.offsetHeight : scrollTop);
- this.dividersElement.style.top = scrollTop + "px";
- this.eventDividersElement.style.top = scrollTop + "px";
- this.dividersLabelBarElement.style.top = dividersTop + "px";
- },
-
_graphSelected: function(treeElement)
{
if (this._lastSelectedGraphTreeElement)
@@ -843,32 +610,25 @@ WebInspector.ResourcesPanel.prototype = {
_toggleLargerResources: function()
{
- if (!this.resourcesTreeElement._childrenListNode)
+ if (!this.itemsTreeElement._childrenListNode)
return;
- this.resourcesTreeElement.smallChildren = !this.resourcesTreeElement.smallChildren;
+ this.itemsTreeElement.smallChildren = !this.itemsTreeElement.smallChildren;
Preferences.resourcesLargeRows = !Preferences.resourcesLargeRows;
InspectorController.setSetting("resources-large-rows", Preferences.resourcesLargeRows);
- if (this.resourcesTreeElement.smallChildren) {
- this.resourcesGraphsElement.addStyleClass("small");
+ if (this.itemsTreeElement.smallChildren) {
+ this.itemsGraphsElement.addStyleClass("small");
this.largerResourcesButton.title = WebInspector.UIString("Use large resource rows.");
this.largerResourcesButton.toggled = false;
- this._adjustScrollPosition();
+ this.adjustScrollPosition();
} else {
- this.resourcesGraphsElement.removeStyleClass("small");
+ this.itemsGraphsElement.removeStyleClass("small");
this.largerResourcesButton.title = WebInspector.UIString("Use small resource rows.");
this.largerResourcesButton.toggled = true;
}
},
- _adjustScrollPosition: function()
- {
- // Prevent the container from being scrolled off the end.
- if ((this.containerElement.scrollTop + this.containerElement.offsetHeight) > this.sidebarElement.offsetHeight)
- this.containerElement.scrollTop = (this.sidebarElement.offsetHeight - this.containerElement.offsetHeight);
- },
-
_changeSortingFunction: function()
{
var selectedOption = this.sortingSelectElement[this.sortingSelectElement.selectedIndex];
@@ -893,41 +653,8 @@ WebInspector.ResourcesPanel.prototype = {
}
},
- _startSidebarDragging: function(event)
- {
- WebInspector.elementDragStart(this.sidebarResizeElement, this._sidebarDragging.bind(this), this._endSidebarDragging.bind(this), event, "col-resize");
- },
-
- _sidebarDragging: function(event)
+ setSidebarWidth: function(width)
{
- this._updateSidebarWidth(event.pageX);
-
- event.preventDefault();
- },
-
- _endSidebarDragging: function(event)
- {
- WebInspector.elementDragEnd(event);
- },
-
- _updateSidebarWidth: function(width)
- {
- if (this.sidebarElement.offsetWidth <= 0) {
- // The stylesheet hasn't loaded yet or the window is closed,
- // so we can't calculate what is need. Return early.
- return;
- }
-
- if (!("_currentSidebarWidth" in this))
- this._currentSidebarWidth = this.sidebarElement.offsetWidth;
-
- if (typeof width === "undefined")
- width = this._currentSidebarWidth;
-
- width = Number.constrain(width, Preferences.minSidebarWidth, window.innerWidth / 2);
-
- this._currentSidebarWidth = width;
-
if (this.visibleResource) {
this.containerElement.style.width = width + "px";
this.sidebarElement.style.removeProperty("width");
@@ -936,15 +663,13 @@ WebInspector.ResourcesPanel.prototype = {
this.containerElement.style.removeProperty("width");
}
- this.containerContentElement.style.left = width + "px";
- this.viewsContainerElement.style.left = width + "px";
this.sidebarResizeElement.style.left = (width - 3) + "px";
+ },
- this._updateGraphDividersIfNeeded();
-
- var visibleView = this.visibleView;
- if (visibleView && "resize" in visibleView)
- visibleView.resize();
+ updateMainViewWidth: function(width)
+ {
+ WebInspector.AbstractTimelinePanel.prototype.updateMainViewWidth.call(this, width);
+ this.viewsContainerElement.style.left = width + "px";
},
_enableResourceTracking: function()
@@ -965,88 +690,19 @@ WebInspector.ResourcesPanel.prototype = {
this.sortingSelectElement.visible = true;
InspectorController.enableResourceTracking(!!optionalAlways);
}
- }
-}
-
-WebInspector.ResourcesPanel.prototype.__proto__ = WebInspector.Panel.prototype;
-
-WebInspector.ResourceCalculator = function()
-{
-}
-
-WebInspector.ResourceCalculator.prototype = {
- computeSummaryValues: function(resources)
- {
- var total = 0;
- var categoryValues = {};
-
- var resourcesLength = resources.length;
- for (var i = 0; i < resourcesLength; ++i) {
- var resource = resources[i];
- var value = this._value(resource);
- if (typeof value === "undefined")
- continue;
- if (!(resource.category.name in categoryValues))
- categoryValues[resource.category.name] = 0;
- categoryValues[resource.category.name] += value;
- total += value;
- }
-
- return {categoryValues: categoryValues, total: total};
- },
-
- computeBarGraphPercentages: function(resource)
- {
- return {start: 0, middle: 0, end: (this._value(resource) / this.boundarySpan) * 100};
- },
-
- computeBarGraphLabels: function(resource)
- {
- const label = this.formatValue(this._value(resource));
- var tooltip = label;
- if (resource.cached)
- tooltip = WebInspector.UIString("%s (from cache)", tooltip);
- return {left: label, right: label, tooltip: tooltip};
- },
-
- get boundarySpan()
- {
- return this.maximumBoundary - this.minimumBoundary;
- },
-
- updateBoundaries: function(resource)
- {
- this.minimumBoundary = 0;
-
- var value = this._value(resource);
- if (typeof this.maximumBoundary === "undefined" || value > this.maximumBoundary) {
- this.maximumBoundary = value;
- return true;
- }
-
- return false;
- },
-
- reset: function()
- {
- delete this.minimumBoundary;
- delete this.maximumBoundary;
- },
-
- _value: function(resource)
- {
- return 0;
},
- formatValue: function(value)
+ get _resources()
{
- return value.toString();
+ return this._items;
}
}
+WebInspector.ResourcesPanel.prototype.__proto__ = WebInspector.AbstractTimelinePanel.prototype;
+
WebInspector.ResourceTimeCalculator = function(startAtZero)
{
- WebInspector.ResourceCalculator.call(this);
+ WebInspector.AbstractTimelineCalculator.call(this);
this.startAtZero = startAtZero;
}
@@ -1204,10 +860,10 @@ WebInspector.ResourceTimeCalculator.prototype = {
_upperBound: function(resource)
{
return 0;
- },
+ }
}
-WebInspector.ResourceTimeCalculator.prototype.__proto__ = WebInspector.ResourceCalculator.prototype;
+WebInspector.ResourceTimeCalculator.prototype.__proto__ = WebInspector.AbstractTimelineCalculator.prototype;
WebInspector.ResourceTransferTimeCalculator = function()
{
@@ -1254,10 +910,19 @@ WebInspector.ResourceTransferDurationCalculator.prototype.__proto__ = WebInspect
WebInspector.ResourceTransferSizeCalculator = function()
{
- WebInspector.ResourceCalculator.call(this);
+ WebInspector.AbstractTimelineCalculator.call(this);
}
WebInspector.ResourceTransferSizeCalculator.prototype = {
+ computeBarGraphLabels: function(resource)
+ {
+ const label = this.formatValue(this._value(resource));
+ var tooltip = label;
+ if (resource.cached)
+ tooltip = WebInspector.UIString("%s (from cache)", tooltip);
+ return {left: label, right: label, tooltip: tooltip};
+ },
+
_value: function(resource)
{
return resource.contentLength;
@@ -1269,7 +934,7 @@ WebInspector.ResourceTransferSizeCalculator.prototype = {
}
}
-WebInspector.ResourceTransferSizeCalculator.prototype.__proto__ = WebInspector.ResourceCalculator.prototype;
+WebInspector.ResourceTransferSizeCalculator.prototype.__proto__ = WebInspector.AbstractTimelineCalculator.prototype;
WebInspector.ResourceSidebarTreeElement = function(resource)
{
@@ -1342,7 +1007,7 @@ WebInspector.ResourceSidebarTreeElement.prototype = {
get selectable()
{
- return WebInspector.panels.resources._filterCategory == "all" || WebInspector.panels.resources._filterCategory == this.resource.category.name;
+ return WebInspector.panels.resources.isCategoryVisible(this.resource.category.name);
},
createIconElement: function()
diff --git a/src/3rdparty/webkit/WebCore/inspector/front-end/SourceFrame.js b/src/3rdparty/webkit/WebCore/inspector/front-end/SourceFrame.js
index 790055a..1c11f76 100644
--- a/src/3rdparty/webkit/WebCore/inspector/front-end/SourceFrame.js
+++ b/src/3rdparty/webkit/WebCore/inspector/front-end/SourceFrame.js
@@ -425,7 +425,7 @@ WebInspector.SourceFrame.prototype = {
return;
var expression = selection.getRangeAt(0).toString().trimWhitespace();
- WebInspector.panels.scripts.evaluateInSelectedCallFrame(expression, false, function(result, exception) {
+ WebInspector.panels.scripts.evaluateInSelectedCallFrame(expression, false, "console", function(result, exception) {
WebInspector.showConsole();
var commandMessage = new WebInspector.ConsoleCommand(expression);
WebInspector.console.addMessage(commandMessage);
@@ -980,132 +980,377 @@ WebInspector.CSSSourceSyntaxHighligher.prototype.__proto__ = WebInspector.Source
WebInspector.JavaScriptSourceSyntaxHighlighter = function(table, sourceFrame) {
WebInspector.SourceSyntaxHighligher.call(this, table, sourceFrame);
- this.findNumber = this.generateFinder(/^(-?(\d+\.?\d*([eE][+-]\d+)?|0[xX]\h+|Infinity)|NaN)(?:\W|$)/, 1, "webkit-javascript-number");
- this.findKeyword = this.generateFinder(/^(null|true|false|break|case|catch|const|default|finally|for|instanceof|new|var|continue|function|return|void|delete|if|this|do|while|else|in|switch|throw|try|typeof|with|debugger|class|enum|export|extends|import|super|get|set)(?:\W|$)/, 1, "webkit-javascript-keyword");
- this.findSingleLineString = this.generateFinder(/^"(?:[^"\\]|\\.)*"|^'([^'\\]|\\.)*'/, 0, "webkit-javascript-string"); // " this quote keeps Xcode happy
- this.findMultilineCommentStart = this.generateFinder(/^\/\*.*$/, 0, "webkit-javascript-comment");
- this.findMultilineCommentEnd = this.generateFinder(/^.*?\*\//, 0, "webkit-javascript-comment");
- this.findMultilineSingleQuoteStringStart = this.generateFinder(/^'(?:[^'\\]|\\.)*\\$/, 0, "webkit-javascript-string");
- this.findMultilineSingleQuoteStringEnd = this.generateFinder(/^(?:[^'\\]|\\.)*?'/, 0, "webkit-javascript-string");
- this.findMultilineDoubleQuoteStringStart = this.generateFinder(/^"(?:[^"\\]|\\.)*\\$/, 0, "webkit-javascript-string");
- this.findMultilineDoubleQuoteStringEnd = this.generateFinder(/^(?:[^"\\]|\\.)*?"/, 0, "webkit-javascript-string");
- this.findMultilineRegExpEnd = this.generateFinder(/^(?:[^\/\\]|\\.)*?\/([gim]{0,3})/, 0, "webkit-javascript-regexp");
- this.findSingleLineComment = this.generateFinder(/^\/\/.*|^\/\*.*?\*\//, 0, "webkit-javascript-comment");
-}
-
-WebInspector.JavaScriptSourceSyntaxHighlighter.prototype = {
- deleteContinueFlags: function(cell)
+ this.LexState = {
+ Initial: 1,
+ DivisionAllowed: 2,
+ };
+ this.ContinueState = {
+ None: 0,
+ Comment: 1,
+ SingleQuoteString: 2,
+ DoubleQuoteString: 3,
+ RegExp: 4
+ };
+
+ this.nonToken = "";
+ this.cursor = 0;
+ this.lineIndex = -1;
+ this.lineCode = "";
+ this.lineFragment = null;
+ this.lexState = this.LexState.Initial;
+ this.continueState = this.ContinueState.None;
+
+ this.rules = [{
+ pattern: /^(?:\/\/.*)/,
+ action: singleLineCommentAction
+ }, {
+ pattern: /^(?:\/\*(?:[^\*]|\*[^\/])*\*+\/)/,
+ action: multiLineSingleLineCommentAction
+ }, {
+ pattern: /^(?:\/\*(?:[^\*]|\*[^\/])*)/,
+ action: multiLineCommentStartAction
+ }, {
+ pattern: /^(?:(?:[^\*]|\*[^\/])*\*+\/)/,
+ action: multiLineCommentEndAction,
+ continueStateCondition: this.ContinueState.Comment
+ }, {
+ pattern: /^.*/,
+ action: multiLineCommentMiddleAction,
+ continueStateCondition: this.ContinueState.Comment
+ }, {
+ pattern: /^(?:(?:0|[1-9]\d*)\.\d+?(?:[eE](?:\d+|\+\d+|-\d+))?|\.\d+(?:[eE](?:\d+|\+\d+|-\d+))?|(?:0|[1-9]\d*)(?:[eE](?:\d+|\+\d+|-\d+))?|0x[0-9a-fA-F]+|0X[0-9a-fA-F]+)/,
+ action: numericLiteralAction
+ }, {
+ pattern: /^(?:"(?:[^"\\]|\\(?:['"\bfnrtv]|[^'"\bfnrtv0-9xu]|0|x[0-9a-fA-F][0-9a-fA-F]|(?:u[0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F])))*"|'(?:[^'\\]|\\(?:['"\bfnrtv]|[^'"\bfnrtv0-9xu]|0|x[0-9a-fA-F][0-9a-fA-F]|(?:u[0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F])))*')/,
+ action: stringLiteralAction
+ }, {
+ pattern: /^(?:'(?:[^'\\]|\\(?:['"\bfnrtv]|[^'"\bfnrtv0-9xu]|0|x[0-9a-fA-F][0-9a-fA-F]|(?:u[0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F])))*)\\$/,
+ action: singleQuoteStringStartAction
+ }, {
+ pattern: /^(?:(?:[^'\\]|\\(?:['"\bfnrtv]|[^'"\bfnrtv0-9xu]|0|x[0-9a-fA-F][0-9a-fA-F]|(?:u[0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F])))*')/,
+ action: singleQuoteStringEndAction,
+ continueStateCondition: this.ContinueState.SingleQuoteString
+ }, {
+ pattern: /^(?:(?:[^'\\]|\\(?:['"\bfnrtv]|[^'"\bfnrtv0-9xu]|0|x[0-9a-fA-F][0-9a-fA-F]|(?:u[0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F])))*)\\$/,
+ action: singleQuoteStringMiddleAction,
+ continueStateCondition: this.ContinueState.SingleQuoteString
+ }, {
+ pattern: /^(?:"(?:[^"\\]|\\(?:['"\bfnrtv]|[^'"\bfnrtv0-9xu]|0|x[0-9a-fA-F][0-9a-fA-F]|(?:u[0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F])))*)\\$/,
+ action: doubleQuoteStringStartAction
+ }, {
+ pattern: /^(?:(?:[^"\\]|\\(?:['"\bfnrtv]|[^'"\bfnrtv0-9xu]|0|x[0-9a-fA-F][0-9a-fA-F]|(?:u[0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F])))*")/,
+ action: doubleQuoteStringEndAction,
+ continueStateCondition: this.ContinueState.DoubleQuoteString
+ }, {
+ pattern: /^(?:(?:[^"\\]|\\(?:['"\bfnrtv]|[^'"\bfnrtv0-9xu]|0|x[0-9a-fA-F][0-9a-fA-F]|(?:u[0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F])))*)\\$/,
+ action: doubleQuoteStringMiddleAction,
+ continueStateCondition: this.ContinueState.DoubleQuoteString
+ }, {
+ pattern: /^(?:(?:[a-zA-Z]|[$_]|\\(?:u[0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F]))(?:(?:[a-zA-Z]|[$_]|\\(?:u[0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F]))|[0-9])*)/,
+ action: identOrKeywordAction,
+ dontAppendNonToken: true
+ }, {
+ pattern: /^\)/,
+ action: rightParenAction,
+ dontAppendNonToken: true
+ }, {
+ pattern: /^(?:<=|>=|===|==|!=|!==|\+\+|\-\-|<<|>>|>>>|&&|\|\||\+=|\-=|\*=|%=|<<=|>>=|>>>=|&=|\|=|^=|[{}\(\[\]\.;,<>\+\-\*%&\|\^!~\?:=])/,
+ action: punctuatorAction,
+ dontAppendNonToken: true
+ }, {
+ pattern: /^(?:\/=?)/,
+ action: divPunctuatorAction,
+ stateCondition: this.LexState.DivisionAllowed,
+ dontAppendNonToken: true
+ }, {
+ pattern: /^(?:\/(?:(?:\\.)|[^\\*\/])(?:(?:\\.)|[^\\/])*\/(?:(?:[a-zA-Z]|[$_]|\\(?:u[0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F]))|[0-9])*)/,
+ action: regExpLiteralAction
+ }, {
+ pattern: /^(?:\/(?:(?:\\.)|[^\\*\/])(?:(?:\\.)|[^\\/])*)\\$/,
+ action: regExpStartAction
+ }, {
+ pattern: /^(?:(?:(?:\\.)|[^\\/])*\/(?:(?:[a-zA-Z]|[$_]|\\(?:u[0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F]))|[0-9])*)/,
+ action: regExpEndAction,
+ continueStateCondition: this.ContinueState.RegExp
+ }, {
+ pattern: /^(?:(?:(?:\\.)|[^\\/])*)\\$/,
+ action: regExpMiddleAction,
+ continueStateCondition: this.ContinueState.RegExp
+ }];
+
+ function singleLineCommentAction(token)
{
- if (!cell)
- return;
- delete cell._commentContinues;
- delete cell._singleQuoteStringContinues;
- delete cell._doubleQuoteStringContinues;
- delete cell._regexpContinues;
- },
-
- findMultilineRegExpStart: function(str)
+ this.cursor += token.length;
+ this.lineFragment.appendChild(this.createSpan(token, "webkit-javascript-comment"));
+ }
+
+ function multiLineSingleLineCommentAction(token)
{
- var match = /^\/(?:[^\/\\]|\\.)*\\$/.exec(str);
- if (!match || !/\\|\$|\.[\?\*\+]|[^\|]\|[^\|]/.test(match[0]))
- return null;
- this.previousMatchLength = match[0].length;
- return this.createSpan(match[0], "webkit-javascript-regexp");
- },
-
- findSingleLineRegExp: function(str)
+ this.cursor += token.length;
+ this.lineFragment.appendChild(this.createSpan(token, "webkit-javascript-comment"));
+ }
+
+ function multiLineCommentStartAction(token)
{
- var match = /^(\/(?:[^\/\\]|\\.)*\/([gim]{0,3}))(.?)/.exec(str);
- if (!match || !(match[2].length > 0 || /\\|\$|\.[\?\*\+]|[^\|]\|[^\|]/.test(match[1]) || /\.|;|,/.test(match[3])))
- return null;
- this.previousMatchLength = match[1].length;
- return this.createSpan(match[1], "webkit-javascript-regexp");
- },
+ this.cursor += token.length;
+ this.lineFragment.appendChild(this.createSpan(token, "webkit-javascript-comment"));
+ this.continueState = this.ContinueState.Comment;
+ }
+
+ function multiLineCommentEndAction(token)
+ {
+ this.cursor += token.length;
+ this.lineFragment.appendChild(this.createSpan(token, "webkit-javascript-comment"));
+ this.continueState = this.ContinueState.None;
+ }
+
+ function multiLineCommentMiddleAction(token)
+ {
+ this.cursor += token.length;
+ this.lineFragment.appendChild(this.createSpan(token, "webkit-javascript-comment"));
+ }
+
+ function numericLiteralAction(token)
+ {
+ this.cursor += token.length;
+ this.lineFragment.appendChild(this.createSpan(token, "webkit-javascript-number"));
+ this.lexState = this.LexState.DivisionAllowed;
+ }
+
+ function stringLiteralAction(token)
+ {
+ this.cursor += token.length;
+ this.lineFragment.appendChild(this.createSpan(token, "webkit-javascript-string"));
+ this.lexState = this.LexState.Initial;
+ }
+
+ function singleQuoteStringStartAction(token)
+ {
+ this.cursor += token.length;
+ this.lineFragment.appendChild(this.createSpan(token, "webkit-javascript-string"));
+ this.continueState = this.ContinueState.SingleQuoteString;
+ }
+
+ function singleQuoteStringEndAction(token)
+ {
+ this.cursor += token.length;
+ this.lineFragment.appendChild(this.createSpan(token, "webkit-javascript-string"));
+ this.continueState = this.ContinueState.None;
+ }
+
+ function singleQuoteStringMiddleAction(token)
+ {
+ this.cursor += token.length;
+ this.lineFragment.appendChild(this.createSpan(token, "webkit-javascript-string"));
+ }
+
+ function doubleQuoteStringStartAction(token)
+ {
+ this.cursor += token.length;
+ this.lineFragment.appendChild(this.createSpan(token, "webkit-javascript-string"));
+ this.continueState = this.ContinueState.DoubleQuoteString;
+ }
+
+ function doubleQuoteStringEndAction(token)
+ {
+ this.cursor += token.length;
+ this.lineFragment.appendChild(this.createSpan(token, "webkit-javascript-string"));
+ this.continueState = this.ContinueState.None;
+ }
+
+ function doubleQuoteStringMiddleAction(token)
+ {
+ this.cursor += token.length;
+ this.lineFragment.appendChild(this.createSpan(token, "webkit-javascript-string"));
+ }
+
+ function regExpLiteralAction(token)
+ {
+ this.cursor += token.length;
+ this.lineFragment.appendChild(this.createSpan(token, "webkit-javascript-regexp"));
+ this.lexState = this.LexState.Initial;
+ }
- syntaxHighlightLine: function(line, prevLine)
+ function regExpStartAction(token)
{
- var messageBubble = line.lastChild;
- if (messageBubble && messageBubble.nodeType === Node.ELEMENT_NODE && messageBubble.hasStyleClass("webkit-html-message-bubble"))
- line.removeChild(messageBubble);
- else
- messageBubble = null;
+ this.cursor += token.length;
+ this.lineFragment.appendChild(this.createSpan(token, "webkit-javascript-regexp"));
+ this.continueState = this.ContinueState.RegExp;
+ }
- var code = line.textContent;
+ function regExpEndAction(token)
+ {
+ this.cursor += token.length;
+ this.lineFragment.appendChild(this.createSpan(token, "webkit-javascript-regexp"));
+ this.continueState = this.ContinueState.None;
+ }
- while (line.firstChild)
- line.removeChild(line.firstChild);
+ function regExpMiddleAction(token)
+ {
+ this.cursor += token.length;
+ this.lineFragment.appendChild(this.createSpan(token, "webkit-javascript-regexp"));
+ }
+
+ function identOrKeywordAction(token)
+ {
+ const keywords = ["null", "true", "false", "break", "case", "catch", "const", "default", "finally", "for", "instanceof", "new", "var", "continue", "function", "return", "void", "delete", "if", "this", "do", "while", "else", "in", "switch", "throw", "try", "typeof", "with", "debugger", "class", "enum", "export", "extends", "import", "super", "get", "set"];
+ this.cursor += token.length;
+ if (keywords.indexOf(token) === -1) {
+ this.nonToken += token;
+ this.lexState = this.LexState.DivisionAllowed;
+ } else {
+ this.appendNonToken();
+ this.lineFragment.appendChild(this.createSpan(token, "webkit-javascript-keyword"));
+ this.lexState = this.LexState.Initial;
+ }
+ }
+
+ function divPunctuatorAction(token)
+ {
+ this.cursor += token.length;
+ this.nonToken += token;
+ this.lexState = this.LexState.Initial;
+ }
+
+ function rightParenAction(token)
+ {
+ this.cursor += token.length;
+ this.nonToken += token;
+ this.lexState = this.LexState.DivisionAllowed;
+ }
+
+ function punctuatorAction(token)
+ {
+ this.cursor += token.length;
+ this.nonToken += token;
+ this.lexState = this.LexState.Initial;
+ }
+}
- var token;
- var tmp = 0;
- var i = 0;
- this.previousMatchLength = 0;
+WebInspector.JavaScriptSourceSyntaxHighlighter.prototype = {
+ process: function()
+ {
+ // Split up the work into chunks so we don't block the
+ // UI thread while processing.
- if (prevLine) {
- if (prevLine._commentContinues) {
- if (!(token = this.findMultilineCommentEnd(code))) {
- token = this.createSpan(code, "webkit-javascript-comment");
- line._commentContinues = true;
- }
- } else if (prevLine._singleQuoteStringContinues) {
- if (!(token = this.findMultilineSingleQuoteStringEnd(code))) {
- token = this.createSpan(code, "webkit-javascript-string");
- line._singleQuoteStringContinues = true;
+ var rows = this.table.rows;
+ var rowsLength = rows.length;
+ const tokensPerChunk = 100;
+ const lineLengthLimit = 20000;
+
+ var boundProcessChunk = processChunk.bind(this);
+ var processChunkInterval = setInterval(boundProcessChunk, 25);
+ boundProcessChunk();
+
+ function processChunk()
+ {
+ for (var i = 0; i < tokensPerChunk; i++) {
+ if (this.cursor >= this.lineCode.length)
+ moveToNextLine.call(this);
+ if (this.lineIndex >= rowsLength) {
+ this.sourceFrame.dispatchEventToListeners("syntax highlighting complete");
+ return;
}
- } else if (prevLine._doubleQuoteStringContinues) {
- if (!(token = this.findMultilineDoubleQuoteStringEnd(code))) {
- token = this.createSpan(code, "webkit-javascript-string");
- line._doubleQuoteStringContinues = true;
+ if (this.cursor > lineLengthLimit) {
+ var codeFragment = this.lineCode.substring(this.cursor);
+ this.nonToken += codeFragment;
+ this.cursor += codeFragment.length;
}
- } else if (prevLine._regexpContinues) {
- if (!(token = this.findMultilineRegExpEnd(code))) {
- token = this.createSpan(code, "webkit-javascript-regexp");
- line._regexpContinues = true;
+
+ this.lex();
+ }
+ }
+
+ function moveToNextLine()
+ {
+ this.appendNonToken();
+
+ var row = rows[this.lineIndex];
+ var line = row ? row.cells[1] : null;
+ if (line && this.lineFragment) {
+ var messageBubble = null;
+ if (line.lastChild && line.lastChild.nodeType === Node.ELEMENT_NODE && line.lastChild.hasStyleClass("webkit-html-message-bubble")) {
+ messageBubble = line.lastChild;
+ line.removeChild(messageBubble);
}
+
+ Element.prototype.removeChildren.call(line);
+
+ line.appendChild(this.lineFragment);
+ if (messageBubble)
+ line.appendChild(messageBubble);
+ this.lineFragment = null;
}
- if (token) {
- i += this.previousMatchLength ? this.previousMatchLength : code.length;
- tmp = i;
- line.appendChild(token);
+ this.lineIndex++;
+ if (this.lineIndex >= rowsLength && processChunkInterval) {
+ clearInterval(processChunkInterval);
+ this.sourceFrame.dispatchEventToListeners("syntax highlighting complete");
+ return;
}
+ row = rows[this.lineIndex];
+ line = row ? row.cells[1] : null;
+ this.lineCode = line.textContent;
+ this.lineFragment = document.createDocumentFragment();
+ this.cursor = 0;
+ if (!line)
+ moveToNextLine();
}
-
- for ( ; i < code.length; ++i) {
- var codeFragment = code.substr(i);
- var prevChar = code[i - 1];
- token = this.findSingleLineComment(codeFragment);
- if (!token) {
- if ((token = this.findMultilineCommentStart(codeFragment)))
- line._commentContinues = true;
- else if (!prevChar || /^\W/.test(prevChar)) {
- token = this.findNumber(codeFragment) ||
- this.findKeyword(codeFragment) ||
- this.findSingleLineString(codeFragment) ||
- this.findSingleLineRegExp(codeFragment);
- if (!token) {
- if (token = this.findMultilineSingleQuoteStringStart(codeFragment))
- line._singleQuoteStringContinues = true;
- else if (token = this.findMultilineDoubleQuoteStringStart(codeFragment))
- line._doubleQuoteStringContinues = true;
- else if (token = this.findMultilineRegExpStart(codeFragment))
- line._regexpContinues = true;
+ },
+
+ lex: function()
+ {
+ var token = null;
+ var codeFragment = this.lineCode.substring(this.cursor);
+
+ for (var i = 0; i < this.rules.length; i++) {
+ var rule = this.rules[i];
+ var ruleContinueStateCondition = typeof rule.continueStateCondition === "undefined" ? this.ContinueState.None : rule.continueStateCondition;
+ if (this.continueState === ruleContinueStateCondition) {
+ if (typeof rule.stateCondition !== "undefined" && this.lexState !== rule.stateCondition)
+ continue;
+ var match = rule.pattern.exec(codeFragment);
+ if (match) {
+ token = match[0];
+ if (token) {
+ if (!rule.dontAppendNonToken)
+ this.appendNonToken();
+ return rule.action.call(this, token);
}
}
}
-
- if (token) {
- if (tmp !== i)
- line.appendChild(document.createTextNode(code.substring(tmp, i)));
- line.appendChild(token);
- i += this.previousMatchLength - 1;
- tmp = i + 1;
- }
}
+ this.nonToken += codeFragment[0];
+ this.cursor++;
+ },
+
+ appendNonToken: function ()
+ {
+ if (this.nonToken.length > 0) {
+ this.lineFragment.appendChild(document.createTextNode(this.nonToken));
+ this.nonToken = "";
+ }
+ },
+
+ syntaxHighlightNode: function(node)
+ {
+ this.lineCode = node.textContent;
+ this.lineFragment = document.createDocumentFragment();
+ this.cursor = 0;
+ while (true) {
+ if (this.cursor >= this.lineCode.length) {
+ var codeFragment = this.lineCode.substring(this.cursor);
+ this.nonToken += codeFragment;
+ this.cursor += codeFragment.length;
+ this.appendNonToken();
+ while (node.firstChild)
+ node.removeChild(node.firstChild);
+ node.appendChild(this.lineFragment);
+ this.lineFragment =null;
+ return;
+ }
- if (tmp < code.length)
- line.appendChild(document.createTextNode(code.substring(tmp, i)));
-
- if (messageBubble)
- line.appendChild(messageBubble);
+ this.lex();
+ }
}
}
diff --git a/src/3rdparty/webkit/WebCore/inspector/front-end/StoragePanel.js b/src/3rdparty/webkit/WebCore/inspector/front-end/StoragePanel.js
index 66b4a92..1aa11ee 100644
--- a/src/3rdparty/webkit/WebCore/inspector/front-end/StoragePanel.js
+++ b/src/3rdparty/webkit/WebCore/inspector/front-end/StoragePanel.js
@@ -31,21 +31,7 @@ WebInspector.StoragePanel = function(database)
{
WebInspector.Panel.call(this);
- this.sidebarElement = document.createElement("div");
- this.sidebarElement.id = "storage-sidebar";
- this.sidebarElement.className = "sidebar";
- this.element.appendChild(this.sidebarElement);
-
- this.sidebarResizeElement = document.createElement("div");
- this.sidebarResizeElement.className = "sidebar-resizer-vertical";
- this.sidebarResizeElement.addEventListener("mousedown", this._startSidebarDragging.bind(this), false);
- this.element.appendChild(this.sidebarResizeElement);
-
- this.sidebarTreeElement = document.createElement("ol");
- this.sidebarTreeElement.className = "sidebar-tree";
- this.sidebarElement.appendChild(this.sidebarTreeElement);
-
- this.sidebarTree = new TreeOutline(this.sidebarTreeElement);
+ this.createSidebar();
this.databasesListTreeElement = new WebInspector.SidebarSectionTreeElement(WebInspector.UIString("DATABASES"), {}, true);
this.sidebarTree.appendChild(this.databasesListTreeElement);
@@ -86,12 +72,6 @@ WebInspector.StoragePanel.prototype = {
return [this.storageViewStatusBarItemsContainer];
},
- show: function()
- {
- WebInspector.Panel.prototype.show.call(this);
- this._updateSidebarWidth();
- },
-
reset: function()
{
if (this._databases) {
@@ -133,11 +113,6 @@ WebInspector.StoragePanel.prototype = {
this.sidebarTree.selectedTreeElement.deselect();
},
- handleKeyEvent: function(event)
- {
- this.sidebarTree.handleKeyEvent(event);
- },
-
addDatabase: function(database)
{
this._databases.push(database);
@@ -416,49 +391,10 @@ WebInspector.StoragePanel.prototype = {
return null;
},
- _startSidebarDragging: function(event)
- {
- WebInspector.elementDragStart(this.sidebarResizeElement, this._sidebarDragging.bind(this), this._endSidebarDragging.bind(this), event, "col-resize");
- },
-
- _sidebarDragging: function(event)
- {
- this._updateSidebarWidth(event.pageX);
-
- event.preventDefault();
- },
-
- _endSidebarDragging: function(event)
- {
- WebInspector.elementDragEnd(event);
- },
-
- _updateSidebarWidth: function(width)
+ updateMainViewWidth: function(width)
{
- if (this.sidebarElement.offsetWidth <= 0) {
- // The stylesheet hasn't loaded yet or the window is closed,
- // so we can't calculate what is need. Return early.
- return;
- }
-
- if (!("_currentSidebarWidth" in this))
- this._currentSidebarWidth = this.sidebarElement.offsetWidth;
-
- if (typeof width === "undefined")
- width = this._currentSidebarWidth;
-
- width = Number.constrain(width, Preferences.minSidebarWidth, window.innerWidth / 2);
-
- this._currentSidebarWidth = width;
-
- this.sidebarElement.style.width = width + "px";
this.storageViews.style.left = width + "px";
this.storageViewStatusBarItemsContainer.style.left = width + "px";
- this.sidebarResizeElement.style.left = (width - 3) + "px";
-
- var visibleView = this.visibleView;
- if (visibleView && "resize" in visibleView)
- visibleView.resize();
}
}
diff --git a/src/3rdparty/webkit/WebCore/inspector/front-end/StylesSidebarPane.js b/src/3rdparty/webkit/WebCore/inspector/front-end/StylesSidebarPane.js
index 3582f96..a95dae3 100644
--- a/src/3rdparty/webkit/WebCore/inspector/front-end/StylesSidebarPane.js
+++ b/src/3rdparty/webkit/WebCore/inspector/front-end/StylesSidebarPane.js
@@ -376,7 +376,7 @@ WebInspector.StylePropertiesSection = function(styleRule, subtitle, computedStyl
{
WebInspector.PropertiesSection.call(this, styleRule.selectorText);
- this.titleElement.addEventListener("click", function(e) { e.stopPropagation(); }, false);
+ this.titleElement.addEventListener("click", this._clickSelector.bind(this), false);
this.titleElement.addEventListener("dblclick", this._dblclickSelector.bind(this), false);
this.element.addEventListener("dblclick", this._dblclickEmptySpace.bind(this), false);
@@ -591,6 +591,19 @@ WebInspector.StylePropertiesSection.prototype = {
return item;
},
+ _clickSelector: function(event)
+ {
+ event.stopPropagation();
+
+ // Don't search "Computed Styles", "Style Attribute", or Mapped Attributes.
+ if (this.computedStyle || !this.rule || this.rule.isUser)
+ return;
+
+ var searchElement = document.getElementById("search");
+ searchElement.value = this.styleRule.selectorText;
+ WebInspector.performSearch({ target: searchElement });
+ },
+
_dblclickEmptySpace: function(event)
{
this.expand();
diff --git a/src/3rdparty/webkit/WebCore/inspector/front-end/SummaryBar.js b/src/3rdparty/webkit/WebCore/inspector/front-end/SummaryBar.js
index bbf2b1a..1c31449 100644
--- a/src/3rdparty/webkit/WebCore/inspector/front-end/SummaryBar.js
+++ b/src/3rdparty/webkit/WebCore/inspector/front-end/SummaryBar.js
@@ -74,8 +74,7 @@ WebInspector.SummaryBar.prototype = {
if (!size)
continue;
- var color = this.categories[category].color;
- var colorString = "rgb(" + color.r + ", " + color.g + ", " + color.b + ")";
+ var colorString = this.categories[category].color;
var fillSegment = {color: colorString, value: size};
fillSegments.push(fillSegment);
diff --git a/src/3rdparty/webkit/WebCore/inspector/front-end/TestController.js b/src/3rdparty/webkit/WebCore/inspector/front-end/TestController.js
index 8da59e7..12e1ac7 100644
--- a/src/3rdparty/webkit/WebCore/inspector/front-end/TestController.js
+++ b/src/3rdparty/webkit/WebCore/inspector/front-end/TestController.js
@@ -44,6 +44,16 @@ WebInspector.TestController.prototype = {
{
var message = typeof result === "undefined" ? "<undefined>" : JSON.stringify(result);
InspectorController.didEvaluateForTestInFrontend(this._callId, message);
+ },
+
+ runAfterPendingDispatches: function(callback)
+ {
+ if (WebInspector.pendingDispatches === 0) {
+ callback();
+ return;
+ }
+
+ setTimeout(this.runAfterPendingDispatches.bind(this), 0, callback);
}
}
diff --git a/src/3rdparty/webkit/WebCore/inspector/front-end/TimelineAgent.js b/src/3rdparty/webkit/WebCore/inspector/front-end/TimelineAgent.js
index 4363da8..cbbb736 100644
--- a/src/3rdparty/webkit/WebCore/inspector/front-end/TimelineAgent.js
+++ b/src/3rdparty/webkit/WebCore/inspector/front-end/TimelineAgent.js
@@ -33,22 +33,31 @@ WebInspector.TimelineAgent = function() {
}
// Must be kept in sync with TimelineItem.h
-WebInspector.TimelineAgent.ItemType = {
- DOMDispatch : 0,
- Layout : 1,
- RecalculateStyles : 2,
- Paint : 3,
- ParseHTML : 4
+WebInspector.TimelineAgent.RecordType = {
+ DOMDispatch : 0,
+ Layout : 1,
+ RecalculateStyles : 2,
+ Paint : 3,
+ ParseHTML : 4,
+ TimerInstall : 5,
+ TimerRemove : 6,
+ TimerFire : 7,
+ XHRReadyStateChange : 8,
+ XHRLoad : 9,
+ EvaluateScriptTag : 10
};
-WebInspector.addItemToTimeline = function(record) {
- // Not implemented.
+WebInspector.addRecordToTimeline = function(record) {
+ if (WebInspector.panels.timeline)
+ WebInspector.panels.timeline.addRecordToTimeline(record);
}
WebInspector.timelineProfilerWasStarted = function() {
- // Not implemented.
+ if (WebInspector.panels.timeline)
+ WebInspector.panels.timeline.timelineWasStarted();
}
WebInspector.timelineProfilerWasStopped = function() {
- // Not implemented.
+ if (WebInspector.panels.timeline)
+ WebInspector.panels.timeline.timelineWasStopped();
}
diff --git a/src/3rdparty/webkit/WebCore/inspector/front-end/TimelinePanel.js b/src/3rdparty/webkit/WebCore/inspector/front-end/TimelinePanel.js
new file mode 100644
index 0000000..df63a0b
--- /dev/null
+++ b/src/3rdparty/webkit/WebCore/inspector/front-end/TimelinePanel.js
@@ -0,0 +1,362 @@
+/*
+ * Copyright (C) 2009 Google 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:
+ *
+ * * 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 Google Inc. 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.
+ */
+
+WebInspector.TimelinePanel = function()
+{
+ WebInspector.AbstractTimelinePanel.call(this);
+
+ this.element.addStyleClass("timeline");
+
+ this.createInterface();
+ this.summaryBar.element.id = "timeline-summary";
+ this.itemsGraphsElement.id = "timeline-graphs";
+
+ this._createStatusbarButtons();
+
+ this.calculator = new WebInspector.TimelineCalculator();
+
+ this.filter(this.filterAllElement, false);
+}
+
+WebInspector.TimelinePanel.prototype = {
+ toolbarItemClass: "timeline",
+
+ get toolbarItemLabel()
+ {
+ return WebInspector.UIString("Timeline");
+ },
+
+ get statusBarItems()
+ {
+ return [this.toggleTimelineButton.element, this.clearButton.element];
+ },
+
+ get categories()
+ {
+ if (!this._categories) {
+ this._categories = {
+ loading: new WebInspector.TimelineCategory("loading", WebInspector.UIString("Loading"), "rgb(47,102,236)"),
+ scripting: new WebInspector.TimelineCategory("scripting", WebInspector.UIString("Scripting"), "rgb(157,231,119)"),
+ rendering: new WebInspector.TimelineCategory("rendering", WebInspector.UIString("Rendering"), "rgb(164,60,255)"),
+ other: new WebInspector.TimelineCategory("other", WebInspector.UIString("Other"), "rgb(186,186,186)")
+ };
+ }
+ return this._categories;
+ },
+
+ populateSidebar: function()
+ {
+ this.itemsTreeElement = new WebInspector.SidebarSectionTreeElement(WebInspector.UIString("RECORDS"), {}, true);
+ this.itemsTreeElement.expanded = true;
+ this.sidebarTree.appendChild(this.itemsTreeElement);
+ },
+
+ _createStatusbarButtons: function()
+ {
+ this.toggleTimelineButton = new WebInspector.StatusBarButton("", "record-profile-status-bar-item");
+ this.toggleTimelineButton.addEventListener("click", this._toggleTimelineButtonClicked.bind(this), false);
+
+ this.clearButton = new WebInspector.StatusBarButton("", "timeline-clear-status-bar-item");
+ this.clearButton.addEventListener("click", this.reset.bind(this), false);
+ },
+
+ timelineWasStarted: function()
+ {
+ this.toggleTimelineButton.toggled = true;
+ },
+
+ timelineWasStopped: function()
+ {
+ this.toggleTimelineButton.toggled = false;
+ },
+
+ addRecordToTimeline: function(record)
+ {
+ var formattedRecord = this._formatRecord(record);
+ // Glue subsequent records with same category and title together if they are closer than 100ms to each other.
+ if (this._lastRecord && (!record.children || !record.children.length) &&
+ this._lastRecord.category == formattedRecord.category &&
+ this._lastRecord.title == formattedRecord.title &&
+ this._lastRecord.details == formattedRecord.details &&
+ formattedRecord.startTime - this._lastRecord.endTime < 0.1) {
+ this._lastRecord.endTime = formattedRecord.endTime;
+ this._lastRecord.count++;
+ this.refreshItem(this._lastRecord);
+ } else {
+ this.addItem(formattedRecord);
+
+ for (var i = 0; record.children && i < record.children.length; ++i)
+ this.addRecordToTimeline(record.children[i]);
+ this._lastRecord = record.children && record.children.length ? null : formattedRecord;
+ }
+ },
+
+ createItemTreeElement: function(item)
+ {
+ return new WebInspector.TimelineRecordTreeElement(item);
+ },
+
+ createItemGraph: function(item)
+ {
+ return new WebInspector.TimelineGraph(item);
+ },
+
+ _toggleTimelineButtonClicked: function()
+ {
+ if (InspectorController.timelineProfilerEnabled())
+ InspectorController.stopTimelineProfiler();
+ else
+ InspectorController.startTimelineProfiler();
+ },
+
+ _formatRecord: function(record)
+ {
+ if (!this._recordStyles) {
+ this._recordStyles = {};
+ var recordTypes = WebInspector.TimelineAgent.RecordType;
+ this._recordStyles[recordTypes.DOMDispatch] = { title: WebInspector.UIString("DOM Event"), category: this.categories.scripting };
+ this._recordStyles[recordTypes.Layout] = { title: WebInspector.UIString("Layout"), category: this.categories.rendering };
+ this._recordStyles[recordTypes.RecalculateStyles] = { title: WebInspector.UIString("Recalculate Style"), category: this.categories.rendering };
+ this._recordStyles[recordTypes.Paint] = { title: WebInspector.UIString("Paint"), category: this.categories.rendering };
+ this._recordStyles[recordTypes.ParseHTML] = { title: WebInspector.UIString("Parse"), category: this.categories.loading };
+ this._recordStyles[recordTypes.TimerInstall] = { title: WebInspector.UIString("Install Timer"), category: this.categories.scripting };
+ this._recordStyles[recordTypes.TimerRemove] = { title: WebInspector.UIString("Remove Timer"), category: this.categories.scripting };
+ this._recordStyles[recordTypes.TimerFire] = { title: WebInspector.UIString("Timer Fired"), category: this.categories.scripting };
+ this._recordStyles[recordTypes.XHRReadyStateChange] = { title: WebInspector.UIString("XHR Ready State Change"), category: this.categories.scripting };
+ this._recordStyles[recordTypes.XHRLoad] = { title: WebInspector.UIString("XHR Load"), category: this.categories.scripting };
+ this._recordStyles[recordTypes.EvaluateScriptTag] = { title: WebInspector.UIString("Evaluate Script"), category: this.categories.scripting };
+ this._recordStyles["Other"] = { title: WebInspector.UIString("Other"), icon: 0, category: this.categories.other };
+ }
+
+ var style = this._recordStyles[record.type];
+ if (!style)
+ style = this._recordStyles["Other"];
+
+ var formattedRecord = {};
+ formattedRecord.category = style.category;
+ formattedRecord.title = style.title;
+ formattedRecord.startTime = record.startTime / 1000;
+ formattedRecord.data = record.data;
+ formattedRecord.count = 1;
+ formattedRecord.type = record.type;
+ formattedRecord.details = this._getRecordDetails(record);
+ formattedRecord.endTime = (typeof record.endTime !== "undefined") ? record.endTime / 1000 : formattedRecord.startTime;
+ return formattedRecord;
+ },
+
+ _getRecordDetails: function(record)
+ {
+ switch (record.type) {
+ case WebInspector.TimelineAgent.RecordType.DOMDispatch:
+ return record.data.type;
+ case WebInspector.TimelineAgent.RecordType.TimerInstall:
+ case WebInspector.TimelineAgent.RecordType.TimerRemove:
+ case WebInspector.TimelineAgent.RecordType.TimerFire:
+ return record.data.timerId;
+ case WebInspector.TimelineAgent.RecordType.XHRReadyStateChange:
+ case WebInspector.TimelineAgent.RecordType.XHRLoad:
+ case WebInspector.TimelineAgent.RecordType.EvaluateScriptTag:
+ return record.data.url;
+ default:
+ return "";
+ }
+ },
+
+ reset: function()
+ {
+ WebInspector.AbstractTimelinePanel.prototype.reset.call(this);
+ this._lastRecord = null;
+ }
+}
+
+WebInspector.TimelinePanel.prototype.__proto__ = WebInspector.AbstractTimelinePanel.prototype;
+
+
+WebInspector.TimelineCategory = function(name, title, color)
+{
+ WebInspector.AbstractTimelineCategory.call(this, name, title, color);
+}
+
+WebInspector.TimelineCategory.prototype = {
+}
+
+WebInspector.TimelineCategory.prototype.__proto__ = WebInspector.AbstractTimelineCategory.prototype;
+
+
+WebInspector.TimelineRecordTreeElement = function(record)
+{
+ this._record = record;
+
+ // Pass an empty title, the title gets made later in onattach.
+ TreeElement.call(this, "", null, false);
+}
+
+WebInspector.TimelineRecordTreeElement.prototype = {
+ onattach: function()
+ {
+ this.listItemElement.removeChildren();
+ this.listItemElement.addStyleClass("timeline-tree-item");
+ this.listItemElement.addStyleClass("timeline-category-" + this._record.category.name);
+
+ var iconElement = document.createElement("span");
+ iconElement.className = "timeline-tree-icon";
+ this.listItemElement.appendChild(iconElement);
+
+ this.typeElement = document.createElement("span");
+ this.typeElement.className = "type";
+ this.typeElement.textContent = this._record.title;
+ this.listItemElement.appendChild(this.typeElement);
+
+ if (this._record.details) {
+ var separatorElement = document.createElement("span");
+ separatorElement.className = "separator";
+ separatorElement.textContent = " ";
+
+ var dataElement = document.createElement("span");
+ dataElement.className = "data";
+ dataElement.textContent = "(" + this._record.details + ")";
+ dataElement.addStyleClass("dimmed");
+ this.listItemElement.appendChild(separatorElement);
+ this.listItemElement.appendChild(dataElement);
+ }
+ },
+
+ refresh: function()
+ {
+ if (this._record.count > 1)
+ this.typeElement.textContent = this._record.title + " x " + this._record.count;
+ }
+}
+
+WebInspector.TimelineRecordTreeElement.prototype.__proto__ = TreeElement.prototype;
+
+
+WebInspector.TimelineCalculator = function()
+{
+ WebInspector.AbstractTimelineCalculator.call(this);
+}
+
+WebInspector.TimelineCalculator.prototype = {
+ computeBarGraphPercentages: function(record)
+ {
+ var start = ((record.startTime - this.minimumBoundary) / this.boundarySpan) * 100;
+ var end = ((record.endTime - this.minimumBoundary) / this.boundarySpan) * 100;
+ return {start: start, end: end};
+ },
+
+ computePercentageFromEventTime: function(eventTime)
+ {
+ return ((eventTime - this.minimumBoundary) / this.boundarySpan) * 100;
+ },
+
+ computeBarGraphLabels: function(record)
+ {
+ return {tooltip: record.title};
+ },
+
+ updateBoundaries: function(record)
+ {
+ var didChange = false;
+
+ var lowerBound = record.startTime;
+
+ if (typeof this.minimumBoundary === "undefined" || lowerBound < this.minimumBoundary) {
+ this.minimumBoundary = lowerBound;
+ didChange = true;
+ }
+
+ var upperBound = record.endTime;
+ if (typeof this.maximumBoundary === "undefined" || upperBound > this.maximumBoundary) {
+ this.maximumBoundary = upperBound;
+ didChange = true;
+ }
+
+ return didChange;
+ },
+
+ formatValue: function(value)
+ {
+ return Number.secondsToString(value, WebInspector.UIString.bind(WebInspector));
+ },
+
+}
+
+WebInspector.TimelineCalculator.prototype.__proto__ = WebInspector.AbstractTimelineCalculator.prototype;
+
+
+WebInspector.TimelineGraph = function(record)
+{
+ this.record = record;
+
+ this._graphElement = document.createElement("div");
+ this._graphElement.className = "timeline-graph-side";
+
+ this._barAreaElement = document.createElement("div");
+ this._barAreaElement.className = "timeline-graph-bar-area hidden";
+ this._graphElement.appendChild(this._barAreaElement);
+
+ this._barElement = document.createElement("div");
+ this._barElement.className = "timeline-graph-bar";
+ this._barAreaElement.appendChild(this._barElement);
+
+ this._graphElement.addStyleClass("timeline-category-" + record.category.name);
+}
+
+WebInspector.TimelineGraph.prototype = {
+ get graphElement()
+ {
+ return this._graphElement;
+ },
+
+ refreshLabelPositions: function()
+ {
+ },
+
+ refresh: function(calculator)
+ {
+ var percentages = calculator.computeBarGraphPercentages(this.record);
+ var labels = calculator.computeBarGraphLabels(this.record);
+
+ this._percentages = percentages;
+
+ this._barAreaElement.removeStyleClass("hidden");
+
+ if (!this._graphElement.hasStyleClass("timeline-category-" + this.record.category.name)) {
+ this._graphElement.removeMatchingStyleClasses("timeline-category-\\w+");
+ this._graphElement.addStyleClass("timeline-category-" + this.record.category.name);
+ }
+
+ this._barElement.style.setProperty("left", percentages.start + "%");
+ this._barElement.style.setProperty("right", (100 - percentages.end) + "%");
+
+ var tooltip = (labels.tooltip || "");
+ this._barElement.title = tooltip;
+ }
+}
diff --git a/src/3rdparty/webkit/WebCore/inspector/front-end/TopDownProfileDataGridTree.js b/src/3rdparty/webkit/WebCore/inspector/front-end/TopDownProfileDataGridTree.js
index b9d8b94..1b07883 100644
--- a/src/3rdparty/webkit/WebCore/inspector/front-end/TopDownProfileDataGridTree.js
+++ b/src/3rdparty/webkit/WebCore/inspector/front-end/TopDownProfileDataGridTree.js
@@ -33,7 +33,7 @@ WebInspector.TopDownProfileDataGridNode = function(/*ProfileView*/ profileView,
}
WebInspector.TopDownProfileDataGridNode.prototype = {
- _populate: function(event)
+ _sharedPopulate: function()
{
var children = this._remainingChildren;
var childrenLength = children.length;
@@ -41,9 +41,6 @@ WebInspector.TopDownProfileDataGridNode.prototype = {
for (var i = 0; i < childrenLength; ++i)
this.appendChild(new WebInspector.TopDownProfileDataGridNode(this.profileView, children[i], this.tree));
- if (this.removeEventListener)
- this.removeEventListener("populate", this._populate, this);
-
this._remainingChildren = null;
},
@@ -105,7 +102,9 @@ WebInspector.TopDownProfileDataGridTree.prototype = {
this.sort(this.lastComparator, true);
},
- _merge: WebInspector.TopDownProfileDataGridNode.prototype._merge
+ _merge: WebInspector.TopDownProfileDataGridNode.prototype._merge,
+
+ _sharedPopulate: WebInspector.TopDownProfileDataGridNode.prototype._sharedPopulate
}
WebInspector.TopDownProfileDataGridTree.prototype.__proto__ = WebInspector.ProfileDataGridTree.prototype;
diff --git a/src/3rdparty/webkit/WebCore/inspector/front-end/WebKit.qrc b/src/3rdparty/webkit/WebCore/inspector/front-end/WebKit.qrc
index 32f15ce..0347952 100644
--- a/src/3rdparty/webkit/WebCore/inspector/front-end/WebKit.qrc
+++ b/src/3rdparty/webkit/WebCore/inspector/front-end/WebKit.qrc
@@ -1,6 +1,7 @@
<!DOCTYPE RCC><RCC version="1.0">
<qresource prefix="/webkit/inspector">
<file>inspector.html</file>
+ <file>AbstractTimelinePanel.js</file>
<file>BottomUpProfileDataGridTree.js</file>
<file>Breakpoint.js</file>
<file>BreakpointsSidebarPane.js</file>
@@ -27,6 +28,7 @@
<file>InjectedScript.js</file>
<file>InjectedScriptAccess.js</file>
<file>inspector.js</file>
+ <file>InspectorControllerStub.js</file>
<file>KeyboardShortcut.js</file>
<file>MetricsSidebarPane.js</file>
<file>Object.js</file>
@@ -60,6 +62,7 @@
<file>TestController.js</file>
<file>TextPrompt.js</file>
<file>TimelineAgent.js</file>
+ <file>TimelinePanel.js</file>
<file>TopDownProfileDataGridTree.js</file>
<file>treeoutline.js</file>
<file>utilities.js</file>
@@ -159,6 +162,15 @@
<file>Images/statusbarResizerVertical.png</file>
<file>Images/storageIcon.png</file>
<file>Images/successGreenDot.png</file>
+ <file>Images/timelineBarBlue.png</file>
+ <file>Images/timelineBarGray.png</file>
+ <file>Images/timelineBarGreen.png</file>
+ <file>Images/timelineBarOrange.png</file>
+ <file>Images/timelineBarPurple.png</file>
+ <file>Images/timelineBarRed.png</file>
+ <file>Images/timelineBarYellow.png</file>
+ <file>Images/timelineCheckmarks.png</file>
+ <file>Images/timelineDots.png</file>
<file>Images/timelineHollowPillBlue.png</file>
<file>Images/timelineHollowPillGray.png</file>
<file>Images/timelineHollowPillGreen.png</file>
@@ -166,6 +178,7 @@
<file>Images/timelineHollowPillPurple.png</file>
<file>Images/timelineHollowPillRed.png</file>
<file>Images/timelineHollowPillYellow.png</file>
+ <file>Images/timelineIcon.png</file>
<file>Images/timelinePillBlue.png</file>
<file>Images/timelinePillGray.png</file>
<file>Images/timelinePillGreen.png</file>
diff --git a/src/3rdparty/webkit/WebCore/inspector/front-end/inspector.css b/src/3rdparty/webkit/WebCore/inspector/front-end/inspector.css
index fc08bc2..78ab23d 100644
--- a/src/3rdparty/webkit/WebCore/inspector/front-end/inspector.css
+++ b/src/3rdparty/webkit/WebCore/inspector/front-end/inspector.css
@@ -203,6 +203,10 @@ body.attached #search-results-matches {
background-image: url(Images/scriptsIcon.png);
}
+.toolbar-item.timeline .toolbar-icon {
+ background-image: url(Images/timelineIcon.png);
+}
+
.toolbar-item.storage .toolbar-icon {
background-image: url(Images/storageIcon.png);
}
@@ -548,7 +552,7 @@ body.drawer-visible #drawer {
margin-right: 4px;
text-align: left;
font-size: 11px;
- font-family: Helvetia, Arial, sans-serif;
+ font-family: Helvetica, Arial, sans-serif;
font-weight: bold;
text-shadow: none;
color: white;
@@ -1159,6 +1163,7 @@ body.drawer-visible #drawer {
.add-attribute {
margin-left: 1px;
margin-right: 1px;
+ white-space: nowrap;
}
.placard {
@@ -2212,12 +2217,8 @@ body.inactive .data-grid th.sort-ascending, body.inactive .data-grid th.sort-des
margin: 0 0 5px 20px;
}
-.panel-enabler-view button {
- font-size: 13px;
- margin: 6px 0 0 0;
- padding: 3px 20px;
+.panel-enabler-view button, .pane button {
color: rgb(6, 6, 6);
- height: 24px;
background-color: transparent;
border: 1px solid rgb(165, 165, 165);
background-color: rgb(237, 237, 237);
@@ -2226,12 +2227,24 @@ body.inactive .data-grid th.sort-ascending, body.inactive .data-grid th.sort-des
-webkit-appearance: none;
}
-.panel-enabler-view button:active {
+.panel-enabler-view button {
+ font-size: 13px;
+ margin: 6px 0 0 0;
+ padding: 3px 20px;
+ height: 24px;
+}
+
+.pane button {
+ margin: 6px 0 6px 3px;
+ padding: 2px 9px;
+}
+
+.panel-enabler-view button:active, .pane button:active {
background-color: rgb(215, 215, 215);
background-image: -webkit-gradient(linear, left top, left bottom, from(rgb(194, 194, 194)), to(rgb(239, 239, 239)));
}
-body.inactive .panel-enabler-view button, .panel-enabler-view button:disabled {
+body.inactive .panel-enabler-view button, .panel-enabler-view button:disabled, body.inactive .pane button, .pane button:disabled {
color: rgb(130, 130, 130);
border-color: rgb(212, 212, 212);
background-color: rgb(239, 239, 239);
@@ -2401,67 +2414,65 @@ button.enable-toggle-status-bar-item.toggled-on .glyph {
}
#resources-filter {
- height: 24px;
- padding: 2px 10px 0;
- background: -webkit-gradient(linear, left top, left bottom, from(rgb(233, 233, 233)), to(rgb(207, 207, 207)));
- border-bottom: 1px solid rgb(177, 177, 177);
- overflow: hidden;
+ background: -webkit-gradient(linear, left top, left bottom, from(rgb(236, 236, 236)), to(rgb(217, 217, 217)));
+ border-bottom: 1px solid rgb(64%, 64%, 64%);
}
#console-filter {
- height: 24px;
+ margin-top: 1px;
+}
+
+.scope-bar {
+ height: 23px;
padding: 2px 10px 0;
overflow: hidden;
}
-#resources-filter li, #console-filter li {
+.scope-bar li {
display: inline-block;
- margin: 1px 1px 0 0;
- padding: 0 6px 3px;
- font-size: 12px;
+ margin: 1px 2px 0 0;
+ padding: 1px 7px 3px;
+ font-size: 11px;
line-height: 12px;
font-weight: bold;
- color: rgb(40, 40, 40);
- border: 1px solid transparent;
- border-bottom: 0;
+ color: rgb(46, 46, 46);
background: transparent;
+ text-shadow: rgba(255, 255, 255, 0.5) 0 1px 0;
-webkit-border-radius: 8px;
- text-shadow: rgba(255, 255, 255, 0.5) 1px 1px 0;
+ vertical-align: middle;
}
-#console-filter div.divider {
- margin-left: 5px;
- margin-right: 5px;
- /* Only want a border-left here because border on both sides
- made the divider too thick */
- border-left: 1px solid gray;
- display: inline;
+.scope-bar .divider {
+ margin: 1px 9px 0 8px;
+ background-color: rgba(0, 0, 0, 0.4);
+ height: 16px;
+ width: 1px;
+ vertical-align: middle;
+ display: inline-block;
}
-#resources-filter li.selected, #resources-filter li:hover, #resources-filter li:active,
-#console-filter li.selected, #console-filter li:hover, #console-filter li:active {
+.scope-bar li.selected, .scope-bar li:hover, .scope-bar li:active {
color: white;
- text-shadow: rgb(80, 80, 80) 1px 1px 1px;
- background: rgba(20, 20, 20, 0.4);
- border-color: rgba(20, 20, 20, 0.2);
- -webkit-box-shadow: 0 1px 0px rgba(255, 255, 255, 0.5);
+ text-shadow: rgba(0, 0, 0, 0.4) 0 1px 0;
}
-#resources-filter li:hover,
-#console-filter li:hover {
- background: rgba(20, 20, 20, 0.4);
- border-color: transparent;
- -webkit-box-shadow: none;
+.scope-bar li:hover {
+ background: rgba(0, 0, 0, 0.2);
}
-#resources-filter li:active,
-#console-filter li:active {
- background: rgba(20, 20, 20, 0.6);
+.scope-bar li.selected {
+ background: rgba(0, 0, 0, 0.3);
+ -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.5) inset, 0 -1px 1px rgba(255, 255, 255, 0.25) inset, 0 1px 0 rgba(255, 255, 255, 0.5);
+}
+
+.scope-bar li:active {
+ background: rgba(0, 0, 0, 0.5);
+ -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.5) inset, 0 -1px 1px rgba(255, 255, 255, 0.25) inset, 0 1px 0 rgba(255, 255, 255, 0.5);
}
#resources-container {
position: absolute;
- top: 24px;
+ top: 23px;
left: 0;
bottom: 0;
right: 0;
@@ -2832,7 +2843,7 @@ button.enable-toggle-status-bar-item.toggled-on .glyph {
#resource-views {
position: absolute;
- top: 24px;
+ top: 23px;
right: 0;
left: 200px;
bottom: 0;
@@ -2853,7 +2864,7 @@ button.enable-toggle-status-bar-item.toggled-on .glyph {
}
.resources .sidebar-resizer-vertical {
- top: 24px;
+ top: 23px;
}
.sidebar-tree, .sidebar-tree .children {
@@ -3000,7 +3011,7 @@ body.inactive .sidebar-tree-item .disclosure-button:active {
padding: 1px 4px;
text-align: center;
font-size: 11px;
- font-family: Helvetia, Arial, sans-serif;
+ font-family: Helvetica, Arial, sans-serif;
font-weight: bold;
text-shadow: none;
color: white;
@@ -3253,6 +3264,125 @@ body.inactive .sidebar-tree-item.selected .bubble.search-matches {
background-image: url(Images/searchSmallGray.png);
}
+/* Timeline Style */
+
+#timeline-summary {
+ position: absolute;
+ top: 0;
+ left: 0;
+ width: 0;
+ height: 0;
+}
+
+.timeline-clear-status-bar-item .glyph {
+ -webkit-mask-image: url(Images/clearConsoleButtonGlyph.png);
+}
+
+.timeline-tree-item {
+ height: 18px;
+ padding-left: 10px;
+ padding-top: 2px;
+ white-space: nowrap;
+ text-overflow: ellipsis;
+ overflow: hidden;
+}
+
+.timeline-tree-item .type {
+ padding-left: 14px;
+}
+
+.timeline-tree-item .timeline-tree-icon {
+ background-image: url(Images/timelineDots.png);
+ margin-top: 2px;
+ width: 12px;
+ height: 12px;
+ position: absolute;
+}
+
+.timeline-tree-item:nth-of-type(2n) {
+ background-color: rgba(0, 0, 0, 0.05);
+}
+
+.timeline-tree-item .data.dimmed {
+ color: rgba(0, 0, 0, 0.7);
+}
+
+.timeline-category-loading, .timeline-category-scripting, .timeline-category-rendering {
+ display: none;
+}
+
+.filter-all .timeline-category-loading, .filter-loading .timeline-category-loading,
+.filter-all .timeline-category-scripting, .filter-scripting .timeline-category-scripting,
+.filter-all .timeline-category-rendering, .filter-rendering .timeline-category-rendering {
+ display: list-item;
+}
+
+#timeline-graphs {
+ position: absolute;
+ left: 0;
+ right: 0;
+ max-height: 100%;
+ top: 19px;
+}
+
+.timeline-graph-side {
+ position: relative;
+ height: 18px;
+ padding: 0 5px;
+ white-space: nowrap;
+ margin-top: 0px;
+ border-top: 1px solid transparent;
+ overflow: hidden;
+}
+
+.timeline-graph-bar-area {
+ position: absolute;
+ top: 0;
+ bottom: 0;
+ right: 8px;
+ left: 9px;
+}
+
+.timeline-graph-bar {
+ position: absolute;
+ top: 0;
+ bottom: 0;
+ margin: auto -5px;
+ border-width: 4px 4px 5px;
+ height: 9px;
+ min-width: 7px;
+ opacity: 0.8;
+ -webkit-border-image: url(Images/timelineBarGray.png) 4 4 5 4;
+}
+
+.timeline-graph-side:nth-of-type(2n) {
+ background-color: rgba(0, 0, 0, 0.05);
+}
+
+.timeline-category-loading .timeline-graph-bar {
+ -webkit-border-image: url(Images/timelineBarBlue.png) 4 4 5 4;
+}
+
+.timeline-category-scripting .timeline-graph-bar {
+ -webkit-border-image: url(Images/timelineBarOrange.png) 4 4 5 4;
+}
+
+.timeline-category-rendering .timeline-graph-bar {
+ -webkit-border-image: url(Images/timelineBarPurple.png) 4 4 5 4;
+}
+
+.timeline-category-loading .timeline-tree-icon {
+ background-position-y: 0px;
+}
+
+.timeline-category-scripting .timeline-tree-icon {
+ background-position-y: 48px;
+}
+
+.timeline-category-rendering .timeline-tree-icon {
+ background-position-y: 72px;
+}
+
/* Profiler Style */
#profile-views {
diff --git a/src/3rdparty/webkit/WebCore/inspector/front-end/inspector.html b/src/3rdparty/webkit/WebCore/inspector/front-end/inspector.html
index 4fa69e0..04ab07a 100644
--- a/src/3rdparty/webkit/WebCore/inspector/front-end/inspector.html
+++ b/src/3rdparty/webkit/WebCore/inspector/front-end/inspector.html
@@ -34,6 +34,7 @@ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
<script type="text/javascript" src="utilities.js"></script>
<script type="text/javascript" src="treeoutline.js"></script>
<script type="text/javascript" src="inspector.js"></script>
+ <script type="text/javascript" src="InspectorControllerStub.js"></script>
<script type="text/javascript" src="Object.js"></script>
<script type="text/javascript" src="KeyboardShortcut.js"></script>
<script type="text/javascript" src="TextPrompt.js"></script>
@@ -44,6 +45,8 @@ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
<script type="text/javascript" src="Drawer.js"></script>
<script type="text/javascript" src="ChangesView.js"></script>
<script type="text/javascript" src="ConsoleView.js"></script>
+ <script type="text/javascript" src="Panel.js"></script>
+ <script type="text/javascript" src="AbstractTimelinePanel.js"></script>
<script type="text/javascript" src="Resource.js"></script>
<script type="text/javascript" src="ResourceCategory.js"></script>
<script type="text/javascript" src="Database.js"></script>
@@ -69,7 +72,6 @@ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
<script type="text/javascript" src="EventListenersSidebarPane.js"></script>
<script type="text/javascript" src="Color.js"></script>
<script type="text/javascript" src="StylesSidebarPane.js"></script>
- <script type="text/javascript" src="Panel.js"></script>
<script type="text/javascript" src="PanelEnablerView.js"></script>
<script type="text/javascript" src="StatusBarButton.js"></script>
<script type="text/javascript" src="SummaryBar.js"></script>
@@ -94,6 +96,7 @@ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
<script type="text/javascript" src="InjectedScript.js"></script>
<script type="text/javascript" src="InjectedScriptAccess.js"></script>
<script type="text/javascript" src="TimelineAgent.js"></script>
+ <script type="text/javascript" src="TimelinePanel.js"></script>
<script type="text/javascript" src="TestController.js"></script>
</head>
<body class="detached">
@@ -110,7 +113,7 @@ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
</div>
<div id="drawer">
<div id="console-view"><div id="console-messages"><div id="console-prompt" spellcheck="false"><br></div></div></div>
- <div id="drawer-status-bar" class="status-bar"><div id="other-drawer-status-bar-items"><button id="clear-console-status-bar-item" class="status-bar-item"><div class="glyph"></div><div class="glyph shadow"></div></button><div id="console-filter" class="status-bar-item"></div></div></div>
+ <div id="drawer-status-bar" class="status-bar"><div id="other-drawer-status-bar-items"><button id="clear-console-status-bar-item" class="status-bar-item"><div class="glyph"></div><div class="glyph shadow"></div></button><div id="console-filter" class="scope-bar status-bar-item"></div></div></div>
</div>
</body>
</html>
diff --git a/src/3rdparty/webkit/WebCore/inspector/front-end/inspector.js b/src/3rdparty/webkit/WebCore/inspector/front-end/inspector.js
index 17b02a1..c24d589 100644
--- a/src/3rdparty/webkit/WebCore/inspector/front-end/inspector.js
+++ b/src/3rdparty/webkit/WebCore/inspector/front-end/inspector.js
@@ -143,8 +143,11 @@ var WebInspector = {
this.panels.profiles = new WebInspector.ProfilesPanel();
this.panels.profiles.registerProfileType(new WebInspector.CPUProfileType());
}
+ if (hiddenPanels.indexOf("timeline") === -1 && hiddenPanels.indexOf("timeline") === -1)
+ this.panels.timeline = new WebInspector.TimelinePanel();
+
if (hiddenPanels.indexOf("storage") === -1 && hiddenPanels.indexOf("databases") === -1)
- this.panels.storage = new WebInspector.StoragePanel();
+ this.panels.storage = new WebInspector.StoragePanel();
},
_loadPreferences: function()
@@ -369,6 +372,7 @@ WebInspector.loaded = function()
document.body.addStyleClass("platform-" + platform);
this._loadPreferences();
+ this.pendingDispatches = 0;
this.drawer = new WebInspector.Drawer();
this.console = new WebInspector.ConsoleView(this.drawer);
@@ -379,13 +383,13 @@ WebInspector.loaded = function()
this.domAgent = new WebInspector.DOMAgent();
this.resourceCategories = {
- documents: new WebInspector.ResourceCategory(WebInspector.UIString("Documents"), "documents"),
- stylesheets: new WebInspector.ResourceCategory(WebInspector.UIString("Stylesheets"), "stylesheets"),
- images: new WebInspector.ResourceCategory(WebInspector.UIString("Images"), "images"),
- scripts: new WebInspector.ResourceCategory(WebInspector.UIString("Scripts"), "scripts"),
- xhr: new WebInspector.ResourceCategory(WebInspector.UIString("XHR"), "xhr"),
- fonts: new WebInspector.ResourceCategory(WebInspector.UIString("Fonts"), "fonts"),
- other: new WebInspector.ResourceCategory(WebInspector.UIString("Other"), "other")
+ documents: new WebInspector.ResourceCategory("documents", WebInspector.UIString("Documents"), "rgb(47,102,236)"),
+ stylesheets: new WebInspector.ResourceCategory("stylesheets", WebInspector.UIString("Stylesheets"), "rgb(157,231,119)"),
+ images: new WebInspector.ResourceCategory("images", WebInspector.UIString("Images"), "rgb(164,60,255)"),
+ scripts: new WebInspector.ResourceCategory("scripts", WebInspector.UIString("Scripts"), "rgb(255,121,0)"),
+ xhr: new WebInspector.ResourceCategory("xhr", WebInspector.UIString("XHR"), "rgb(231,231,10)"),
+ fonts: new WebInspector.ResourceCategory("fonts", WebInspector.UIString("Fonts"), "rgb(255,82,62)"),
+ other: new WebInspector.ResourceCategory("other", WebInspector.UIString("Other"), "rgb(186,186,186)")
};
this.panels = {};
@@ -456,8 +460,6 @@ WebInspector.loaded = function()
// this._updateErrorAndWarningCounts();
var searchField = document.getElementById("search");
- searchField.addEventListener("keydown", this.searchKeyDown.bind(this), false);
- searchField.addEventListener("keyup", this.searchKeyUp.bind(this), false);
searchField.addEventListener("search", this.performSearch.bind(this), false); // when the search is emptied
toolbarElement.addEventListener("mousedown", this.toolbarDragStart, true);
@@ -494,7 +496,9 @@ WebInspector.dispatch = function() {
function delayDispatch()
{
WebInspector[methodName].apply(WebInspector, parameters);
+ WebInspector.pendingDispatches--;
}
+ WebInspector.pendingDispatches++;
setTimeout(delayDispatch, 0);
}
@@ -511,13 +515,19 @@ WebInspector.windowResize = function(event)
WebInspector.windowFocused = function(event)
{
- if (event.target.nodeType === Node.DOCUMENT_NODE)
+ // Fires after blur, so when focusing on either the main inspector
+ // or an <iframe> within the inspector we should always remove the
+ // "inactive" class.
+ if (event.target.document.nodeType === Node.DOCUMENT_NODE)
document.body.removeStyleClass("inactive");
}
-WebInspector.windowBlured = function(event)
+WebInspector.windowBlurred = function(event)
{
- if (event.target.nodeType === Node.DOCUMENT_NODE)
+ // Leaving the main inspector or an <iframe> within the inspector.
+ // We can add "inactive" now, and if we are moving the focus to another
+ // part of the inspector then windowFocused will correct this.
+ if (event.target.document.nodeType === Node.DOCUMENT_NODE)
document.body.addStyleClass("inactive");
}
@@ -626,7 +636,9 @@ WebInspector.documentKeyDown = function(event)
break;
- case "U+005B": // [ key
+ // Windows and Mac have two different definitions of [, so accept both.
+ case "U+005B":
+ case "U+00DB": // [ key
if (isMac)
var isRotateLeft = event.metaKey && !event.shiftKey && !event.ctrlKey && !event.altKey;
else
@@ -641,7 +653,9 @@ WebInspector.documentKeyDown = function(event)
break;
- case "U+005D": // ] key
+ // Windows and Mac have two different definitions of ], so accept both.
+ case "U+005D":
+ case "U+00DD": // ] key
if (isMac)
var isRotateRight = event.metaKey && !event.shiftKey && !event.ctrlKey && !event.altKey;
else
@@ -1165,7 +1179,7 @@ WebInspector.didCommitLoad = function()
WebInspector.setDocument(null);
}
-WebInspector.addMessageToConsole = function(payload)
+WebInspector.addConsoleMessage = function(payload)
{
var consoleMessage = new WebInspector.ConsoleMessage(
payload.source,
@@ -1179,6 +1193,11 @@ WebInspector.addMessageToConsole = function(payload)
this.console.addMessage(consoleMessage);
}
+WebInspector.updateConsoleMessageRepeatCount = function(count)
+{
+ this.console.updateMessageRepeatCount(count);
+}
+
WebInspector.log = function(message)
{
// remember 'this' for setInterval() callback
@@ -1423,26 +1442,15 @@ WebInspector.linkifyURL = function(url, linkText, classes, isExternal)
WebInspector.addMainEventListeners = function(doc)
{
- doc.defaultView.addEventListener("focus", this.windowFocused.bind(this), true);
- doc.defaultView.addEventListener("blur", this.windowBlured.bind(this), true);
+ doc.defaultView.addEventListener("focus", this.windowFocused.bind(this), false);
+ doc.defaultView.addEventListener("blur", this.windowBlurred.bind(this), false);
doc.addEventListener("click", this.documentClick.bind(this), true);
}
WebInspector.searchKeyDown = function(event)
{
- if (event.keyIdentifier !== "Enter")
- return;
-
- // Call preventDefault since this was the Enter key. This prevents a "search" event
- // from firing for key down. We handle the Enter key on key up in searchKeyUp. This
- // stops performSearch from being called twice in a row.
- event.preventDefault();
-}
-
-WebInspector.searchKeyUp = function(event)
-{
- if (event.keyIdentifier !== "Enter")
- return;
+ if (!isEnterKey(event))
+ return false;
// Select all of the text so the user can easily type an entirely new query.
event.target.select();
@@ -1451,14 +1459,33 @@ WebInspector.searchKeyUp = function(event)
// performance is poor because of searching on every key. The search field has
// the incremental attribute set, so we still get incremental searches.
this.performSearch(event);
+
+ // Call preventDefault since this was the Enter key. This prevents a "search" event
+ // from firing for key down. This stops performSearch from being called twice in a row.
+ event.preventDefault();
}
WebInspector.performSearch = function(event)
{
var query = event.target.value;
var forceSearch = event.keyIdentifier === "Enter";
+ var isShortSearch = (query.length < 3);
+
+ // Clear a leftover short search flag due to a non-conflicting forced search.
+ if (isShortSearch && this.shortSearchWasForcedByKeyEvent && this.currentQuery !== query)
+ delete this.shortSearchWasForcedByKeyEvent;
+
+ // Indicate this was a forced search on a short query.
+ if (isShortSearch && forceSearch)
+ this.shortSearchWasForcedByKeyEvent = true;
+
+ if (!query || !query.length || (!forceSearch && isShortSearch)) {
+ // Prevent clobbering a short search forced by the user.
+ if (this.shortSearchWasForcedByKeyEvent) {
+ delete this.shortSearchWasForcedByKeyEvent;
+ return;
+ }
- if (!query || !query.length || (!forceSearch && query.length < 3)) {
delete this.currentQuery;
for (var panelName in this.panels) {
@@ -1531,7 +1558,8 @@ WebInspector.UIString = function(string)
string = window.localizedStrings[string];
else {
if (!(string in this.missingLocalizedStrings)) {
- console.error("Localized string \"" + string + "\" not found.");
+ if (!WebInspector.InspectorControllerStub)
+ console.error("Localized string \"" + string + "\" not found.");
this.missingLocalizedStrings[string] = true;
}
@@ -1614,7 +1642,7 @@ WebInspector.startEditing = function(element, committedCallback, cancelledCallba
if (event.handled)
return;
- if (event.keyIdentifier === "Enter") {
+ if (isEnterKey(event)) {
editingCommitted.call(element);
event.preventDefault();
} else if (event.keyCode === 27) { // Escape key
diff --git a/src/3rdparty/webkit/WebCore/inspector/front-end/utilities.js b/src/3rdparty/webkit/WebCore/inspector/front-end/utilities.js
index 6df23de..e9d185f 100644
--- a/src/3rdparty/webkit/WebCore/inspector/front-end/utilities.js
+++ b/src/3rdparty/webkit/WebCore/inspector/front-end/utilities.js
@@ -817,3 +817,8 @@ String.format = function(format, substitutions, formatters, initialValue, append
return { formattedResult: result, unusedSubstitutions: unusedSubstitutions };
}
+
+function isEnterKey(event) {
+ // Check if in IME.
+ return event.keyCode !== 229 && event.keyIdentifier === "Enter";
+}
diff --git a/src/3rdparty/webkit/WebCore/loader/Cache.cpp b/src/3rdparty/webkit/WebCore/loader/Cache.cpp
index 391790f..46fb068 100644
--- a/src/3rdparty/webkit/WebCore/loader/Cache.cpp
+++ b/src/3rdparty/webkit/WebCore/loader/Cache.cpp
@@ -275,6 +275,12 @@ void Cache::pruneLiveResources()
// Destroy any decoded data in live objects that we can.
// Start from the tail, since this is the least recently accessed of the objects.
+
+ // The list might not be sorted by the m_lastDecodedAccessTime. The impact
+ // of this weaker invariant is minor as the below if statement to check the
+ // elapsedTime will evaluate to false as the currentTime will be a lot
+ // greater than the current->m_lastDecodedAccessTime.
+ // For more details see: https://bugs.webkit.org/show_bug.cgi?id=30209
CachedResource* current = m_liveDecodedResources.m_tail;
while (current) {
CachedResource* prev = current->m_prevInLiveResourcesList;
diff --git a/src/3rdparty/webkit/WebCore/loader/CachedResource.cpp b/src/3rdparty/webkit/WebCore/loader/CachedResource.cpp
index 43de633..f2f52b0 100644
--- a/src/3rdparty/webkit/WebCore/loader/CachedResource.cpp
+++ b/src/3rdparty/webkit/WebCore/loader/CachedResource.cpp
@@ -242,6 +242,12 @@ void CachedResource::setDecodedSize(unsigned size)
cache()->insertInLRUList(this);
// Insert into or remove from the live decoded list if necessary.
+ // When inserting into the LiveDecodedResourcesList it is possible
+ // that the m_lastDecodedAccessTime is still zero or smaller than
+ // the m_lastDecodedAccessTime of the current list head. This is a
+ // violation of the invariant that the list is to be kept sorted
+ // by access time. The weakening of the invariant does not pose
+ // a problem. For more details please see: https://bugs.webkit.org/show_bug.cgi?id=30209
if (m_decodedSize && !m_inLiveDecodedResourcesList && hasClients())
cache()->insertInLiveDecodedResourcesList(this);
else if (!m_decodedSize && m_inLiveDecodedResourcesList)
diff --git a/src/3rdparty/webkit/WebCore/loader/FrameLoader.cpp b/src/3rdparty/webkit/WebCore/loader/FrameLoader.cpp
index df46397..9b15448 100644
--- a/src/3rdparty/webkit/WebCore/loader/FrameLoader.cpp
+++ b/src/3rdparty/webkit/WebCore/loader/FrameLoader.cpp
@@ -2,6 +2,8 @@
* Copyright (C) 2006, 2007, 2008, 2009 Apple Inc. All rights reserved.
* Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies)
* Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved. (http://www.torchmobile.com/)
+ * Copyright (C) 2008 Alp Toker <alp@atoker.com>
+ * Copyright (C) Research In Motion Limited 2009. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -75,6 +77,7 @@
#include "PageTransitionEvent.h"
#include "PlaceholderDocument.h"
#include "PluginData.h"
+#include "PluginDatabase.h"
#include "PluginDocument.h"
#include "ProgressTracker.h"
#include "RenderPart.h"
@@ -113,10 +116,6 @@
#include "SVGViewSpec.h"
#endif
-#if PLATFORM(MAC) || PLATFORM(WIN)
-#define PAGE_CACHE_ACCEPTS_UNLOAD_HANDLERS
-#endif
-
namespace WebCore {
#if ENABLE(SVG)
@@ -337,10 +336,9 @@ void FrameLoader::urlSelected(const ResourceRequest& request, const String& pass
FrameLoadRequest frameRequest(request, target);
- if (referrerPolicy == NoReferrer) {
+ if (referrerPolicy == NoReferrer)
m_suppressOpenerInNewFrame = true;
- setOpener(0);
- } else if (frameRequest.resourceRequest().httpReferrer().isEmpty())
+ else if (frameRequest.resourceRequest().httpReferrer().isEmpty())
frameRequest.resourceRequest().setHTTPReferrer(m_outgoingReferrer);
addHTTPOriginIfNeeded(frameRequest.resourceRequest(), outgoingOrigin());
@@ -757,6 +755,8 @@ void FrameLoader::receivedFirstData()
String url;
if (!m_documentLoader)
return;
+ if (m_frame->inViewSourceMode())
+ return;
if (!parseHTTPRefresh(m_documentLoader->response().httpHeaderField("Refresh"), false, delay, url))
return;
@@ -1288,6 +1288,30 @@ bool FrameLoader::shouldUsePlugin(const KURL& url, const String& mimeType, bool
return objectType == ObjectContentNone || objectType == ObjectContentNetscapePlugin || objectType == ObjectContentOtherPlugin;
}
+ObjectContentType FrameLoader::defaultObjectContentType(const KURL& url, const String& mimeTypeIn)
+{
+ String mimeType = mimeTypeIn;
+ // We don't use MIMETypeRegistry::getMIMETypeForPath() because it returns "application/octet-stream" upon failure
+ if (mimeType.isEmpty())
+ mimeType = MIMETypeRegistry::getMIMETypeForExtension(url.path().substring(url.path().reverseFind('.') + 1));
+
+ if (mimeType.isEmpty())
+ return ObjectContentFrame; // Go ahead and hope that we can display the content.
+
+ if (MIMETypeRegistry::isSupportedImageMIMEType(mimeType))
+ return WebCore::ObjectContentImage;
+
+#if !PLATFORM(MAC) && !PLATFORM(CHROMIUM) // Mac has no PluginDatabase, nor does Chromium
+ if (PluginDatabase::installedPlugins()->isMIMETypeRegistered(mimeType))
+ return WebCore::ObjectContentNetscapePlugin;
+#endif
+
+ if (MIMETypeRegistry::isSupportedNonImageMIMEType(mimeType))
+ return WebCore::ObjectContentFrame;
+
+ return WebCore::ObjectContentNone;
+}
+
static HTMLPlugInElement* toPlugInElement(Node* node)
{
if (!node)
@@ -1467,9 +1491,7 @@ bool FrameLoader::canCachePageContainingThisFrame()
// the right NPObjects. See <rdar://problem/5197041> for more information.
&& !m_containsPlugIns
&& !m_URL.protocolIs("https")
-#ifndef PAGE_CACHE_ACCEPTS_UNLOAD_HANDLERS
&& (!m_frame->domWindow() || !m_frame->domWindow()->hasEventListeners(eventNames().unloadEvent))
-#endif
#if ENABLE(DATABASE)
&& !m_frame->document()->hasOpenDatabases()
#endif
@@ -1614,10 +1636,8 @@ bool FrameLoader::logCanCacheFrameDecision(int indentLevel)
{ PCLOG(" -Frame contains plugins"); cannotCache = true; }
if (m_URL.protocolIs("https"))
{ PCLOG(" -Frame is HTTPS"); cannotCache = true; }
-#ifndef PAGE_CACHE_ACCEPTS_UNLOAD_HANDLERS
if (m_frame->domWindow() && m_frame->domWindow()->hasEventListeners(eventNames().unloadEvent))
{ PCLOG(" -Frame has an unload event listener"); cannotCache = true; }
-#endif
#if ENABLE(DATABASE)
if (m_frame->document()->hasOpenDatabases())
{ PCLOG(" -Frame has open database handles"); cannotCache = true; }
@@ -1728,10 +1748,13 @@ bool FrameLoader::isComplete() const
void FrameLoader::completed()
{
RefPtr<Frame> protect(m_frame);
- for (Frame* child = m_frame->tree()->firstChild(); child; child = child->tree()->nextSibling())
- child->redirectScheduler()->startTimer();
+
+ for (Frame* descendant = m_frame->tree()->traverseNext(m_frame); descendant; descendant = descendant->tree()->traverseNext(m_frame))
+ descendant->redirectScheduler()->startTimer();
+
if (Frame* parent = m_frame->tree()->parent())
parent->loader()->checkCompleted();
+
if (m_frame->view())
m_frame->view()->maintainScrollPositionAtAnchor(0);
}
@@ -3845,7 +3868,8 @@ void FrameLoader::dispatchDocumentElementAvailable()
void FrameLoader::dispatchWindowObjectAvailable()
{
- if (!m_frame->script()->isEnabled() || !m_frame->script()->haveWindowShell())
+ // FIXME: should this be isolated-worlds-aware?
+ if (!m_frame->script()->isEnabled() || !m_frame->script()->existingWindowShell(mainThreadNormalWorld()))
return;
m_client->windowObjectCleared();
diff --git a/src/3rdparty/webkit/WebCore/loader/FrameLoader.h b/src/3rdparty/webkit/WebCore/loader/FrameLoader.h
index bf0eebc..3bf6196 100644
--- a/src/3rdparty/webkit/WebCore/loader/FrameLoader.h
+++ b/src/3rdparty/webkit/WebCore/loader/FrameLoader.h
@@ -1,6 +1,7 @@
/*
* Copyright (C) 2006, 2007, 2008, 2009 Apple Inc. All rights reserved.
* Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved. (http://www.torchmobile.com/)
+ * Copyright (C) Research In Motion Limited 2009. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -322,6 +323,10 @@ public:
// uses the policy machinery (and therefore is called via the PolicyChecker). Once we
// introduce a proper callback type for this function, we should make it private again.
void continueLoadAfterWillSubmitForm();
+
+ bool suppressOpenerInNewFrame() const { return m_suppressOpenerInNewFrame; }
+
+ static ObjectContentType defaultObjectContentType(const KURL& url, const String& mimeType);
private:
bool canCachePageContainingThisFrame();
diff --git a/src/3rdparty/webkit/WebCore/loader/ProgressTracker.cpp b/src/3rdparty/webkit/WebCore/loader/ProgressTracker.cpp
index e682b9b..6b6ce1b 100644
--- a/src/3rdparty/webkit/WebCore/loader/ProgressTracker.cpp
+++ b/src/3rdparty/webkit/WebCore/loader/ProgressTracker.cpp
@@ -176,8 +176,10 @@ void ProgressTracker::incrementProgress(unsigned long identifier, const char*, i
// FIXME: Can this ever happen?
if (!item)
return;
+
+ RefPtr<Frame> frame = m_originatingProgressFrame;
- m_originatingProgressFrame->loader()->client()->willChangeEstimatedProgress();
+ frame->loader()->client()->willChangeEstimatedProgress();
unsigned bytesReceived = length;
double increment, percentOfRemainingBytes;
@@ -189,7 +191,7 @@ void ProgressTracker::incrementProgress(unsigned long identifier, const char*, i
item->estimatedLength = item->bytesReceived * 2;
}
- int numPendingOrLoadingRequests = m_originatingProgressFrame->loader()->numPendingOrLoadingRequests(true);
+ int numPendingOrLoadingRequests = frame->loader()->numPendingOrLoadingRequests(true);
estimatedBytesForPendingRequests = progressItemDefaultEstimatedLength * numPendingOrLoadingRequests;
remainingBytes = ((m_totalPageAndResourceBytesToLoad + estimatedBytesForPendingRequests) - m_totalBytesReceived);
if (remainingBytes > 0) // Prevent divide by 0.
@@ -199,8 +201,8 @@ void ProgressTracker::incrementProgress(unsigned long identifier, const char*, i
// For documents that use WebCore's layout system, treat first layout as the half-way point.
// FIXME: The hasHTMLView function is a sort of roundabout way of asking "do you use WebCore's layout system".
- bool useClampedMaxProgress = m_originatingProgressFrame->loader()->client()->hasHTMLView()
- && !m_originatingProgressFrame->loader()->firstLayoutDone();
+ bool useClampedMaxProgress = frame->loader()->client()->hasHTMLView()
+ && !frame->loader()->firstLayoutDone();
double maxProgressValue = useClampedMaxProgress ? 0.5 : finalProgressValue;
increment = (maxProgressValue - m_progressValue) * percentOfRemainingBytes;
m_progressValue += increment;
@@ -221,14 +223,14 @@ void ProgressTracker::incrementProgress(unsigned long identifier, const char*, i
if (m_progressValue == 1)
m_finalProgressChangedSent = true;
- m_originatingProgressFrame->loader()->client()->postProgressEstimateChangedNotification();
+ frame->loader()->client()->postProgressEstimateChangedNotification();
m_lastNotifiedProgressValue = m_progressValue;
m_lastNotifiedProgressTime = now;
}
}
- m_originatingProgressFrame->loader()->client()->didChangeEstimatedProgress();
+ frame->loader()->client()->didChangeEstimatedProgress();
}
void ProgressTracker::completeProgress(unsigned long identifier)
diff --git a/src/3rdparty/webkit/WebCore/loader/RedirectScheduler.cpp b/src/3rdparty/webkit/WebCore/loader/RedirectScheduler.cpp
index f015c12..c0d78ae 100644
--- a/src/3rdparty/webkit/WebCore/loader/RedirectScheduler.cpp
+++ b/src/3rdparty/webkit/WebCore/loader/RedirectScheduler.cpp
@@ -255,12 +255,20 @@ void RedirectScheduler::scheduleHistoryNavigation(int steps)
if (!m_frame->page())
return;
+ // Invalid history navigations (such as history.forward() during a new load) have the side effect of cancelling any scheduled
+ // redirects. We also avoid the possibility of cancelling the current load by avoiding the scheduled redirection altogether.
+ if (!m_frame->page()->canGoBackOrForward(steps)) {
+ cancel();
+ return;
+ }
+
schedule(new ScheduledRedirection(steps));
}
void RedirectScheduler::timerFired(Timer<RedirectScheduler>*)
{
- ASSERT(m_frame->page());
+ if (!m_frame->page())
+ return;
if (m_frame->page()->defersLoading())
return;
@@ -282,8 +290,7 @@ void RedirectScheduler::timerFired(Timer<RedirectScheduler>*)
}
// go(i!=0) from a frame navigates into the history of the frame only,
// in both IE and NS (but not in Mozilla). We can't easily do that.
- if (m_frame->page()->canGoBackOrForward(redirection->historySteps))
- m_frame->page()->goBackOrForward(redirection->historySteps);
+ m_frame->page()->goBackOrForward(redirection->historySteps);
return;
case ScheduledRedirection::formSubmission:
// The submitForm function will find a target frame before using the redirection timer.
diff --git a/src/3rdparty/webkit/WebCore/loader/ResourceLoadNotifier.h b/src/3rdparty/webkit/WebCore/loader/ResourceLoadNotifier.h
index f06ecde..b09d7be 100644
--- a/src/3rdparty/webkit/WebCore/loader/ResourceLoadNotifier.h
+++ b/src/3rdparty/webkit/WebCore/loader/ResourceLoadNotifier.h
@@ -40,13 +40,8 @@ class Frame;
class ResourceError;
class ResourceLoader;
class ResourceResponse;
-//### tempfix, to be removed
-#ifdef __SYMBIAN32__
-struct ResourceRequest;
-#else
-class ResourceRequest;
-#endif
class ScriptString;
+struct ResourceRequest;
class ResourceLoadNotifier : public Noncopyable {
public:
diff --git a/src/3rdparty/webkit/WebCore/loader/icon/IconDatabase.cpp b/src/3rdparty/webkit/WebCore/loader/icon/IconDatabase.cpp
index 78ca0a5..4be3684 100644
--- a/src/3rdparty/webkit/WebCore/loader/icon/IconDatabase.cpp
+++ b/src/3rdparty/webkit/WebCore/loader/icon/IconDatabase.cpp
@@ -36,10 +36,10 @@
#include "IconRecord.h"
#include "IntSize.h"
#include "Logging.h"
+#include "ScriptController.h"
#include "SQLiteStatement.h"
#include "SQLiteTransaction.h"
#include "SuddenTermination.h"
-#include <runtime/InitializeThreading.h>
#include <wtf/CurrentTime.h>
#include <wtf/MainThread.h>
#include <wtf/StdLibExtras.h>
@@ -93,7 +93,7 @@ static IconDatabaseClient* defaultClient()
IconDatabase* iconDatabase()
{
if (!sharedIconDatabase) {
- JSC::initializeThreading();
+ ScriptController::initializeThreading();
sharedIconDatabase = new IconDatabase;
}
return sharedIconDatabase;
diff --git a/src/3rdparty/webkit/WebCore/notifications/NotificationCenter.cpp b/src/3rdparty/webkit/WebCore/notifications/NotificationCenter.cpp
index 94976a2..69b0075 100644
--- a/src/3rdparty/webkit/WebCore/notifications/NotificationCenter.cpp
+++ b/src/3rdparty/webkit/WebCore/notifications/NotificationCenter.cpp
@@ -40,6 +40,20 @@
namespace WebCore {
+#if USE(V8)
+static bool notificationCenterAvailable = false;
+
+void NotificationCenter::setIsAvailable(bool available)
+{
+ notificationCenterAvailable = available;
+}
+
+bool NotificationCenter::isAvailable()
+{
+ return notificationCenterAvailable;
+}
+#endif
+
NotificationCenter::NotificationCenter(ScriptExecutionContext* context, NotificationPresenter* presenter)
: ActiveDOMObject(context, this)
, m_scriptExecutionContext(context)
diff --git a/src/3rdparty/webkit/WebCore/notifications/NotificationCenter.h b/src/3rdparty/webkit/WebCore/notifications/NotificationCenter.h
index 596ab8b..1084442 100644
--- a/src/3rdparty/webkit/WebCore/notifications/NotificationCenter.h
+++ b/src/3rdparty/webkit/WebCore/notifications/NotificationCenter.h
@@ -47,8 +47,12 @@ namespace WebCore {
class NotificationCenter : public RefCounted<NotificationCenter>, public ActiveDOMObject {
public:
+#if USE(V8)
+ static void setIsAvailable(bool);
+ static bool isAvailable();
+#endif
static PassRefPtr<NotificationCenter> create(ScriptExecutionContext* context, NotificationPresenter* presenter) { return adoptRef(new NotificationCenter(context, presenter)); }
-
+
Notification* createHTMLNotification(const String& URI, ExceptionCode& ec)
{
return Notification::create(KURL(ParsedURLString, URI), context(), ec, presenter());
diff --git a/src/3rdparty/webkit/WebCore/page/Console.cpp b/src/3rdparty/webkit/WebCore/page/Console.cpp
index 79613d3..7d0f697 100644
--- a/src/3rdparty/webkit/WebCore/page/Console.cpp
+++ b/src/3rdparty/webkit/WebCore/page/Console.cpp
@@ -46,6 +46,7 @@
#include "ScriptCallStack.h"
#include <stdio.h>
+#include <wtf/UnusedParam.h>
namespace WebCore {
@@ -247,8 +248,7 @@ void Console::assertCondition(bool condition, ScriptCallStack* callStack)
if (condition)
return;
- // FIXME: <https://bugs.webkit.org/show_bug.cgi?id=19135> It would be nice to prefix assertion failures with a message like "Assertion failed: ".
- addMessage(LogMessageType, ErrorMessageLevel, callStack, true);
+ addMessage(AssertMessageType, ErrorMessageLevel, callStack, true);
}
void Console::count(ScriptCallStack* callStack)
diff --git a/src/3rdparty/webkit/WebCore/page/Console.h b/src/3rdparty/webkit/WebCore/page/Console.h
index 08d43e3..1b93a4a 100644
--- a/src/3rdparty/webkit/WebCore/page/Console.h
+++ b/src/3rdparty/webkit/WebCore/page/Console.h
@@ -64,7 +64,8 @@ namespace WebCore {
ObjectMessageType,
TraceMessageType,
StartGroupMessageType,
- EndGroupMessageType
+ EndGroupMessageType,
+ AssertMessageType
};
enum MessageLevel {
diff --git a/src/3rdparty/webkit/WebCore/page/DOMTimer.cpp b/src/3rdparty/webkit/WebCore/page/DOMTimer.cpp
index dd1e842..83bcb02 100644
--- a/src/3rdparty/webkit/WebCore/page/DOMTimer.cpp
+++ b/src/3rdparty/webkit/WebCore/page/DOMTimer.cpp
@@ -27,6 +27,7 @@
#include "config.h"
#include "DOMTimer.h"
+#include "InspectorTimelineAgent.h"
#include "ScheduledAction.h"
#include "ScriptExecutionContext.h"
#include <wtf/HashSet.h>
@@ -87,6 +88,12 @@ int DOMTimer::install(ScriptExecutionContext* context, ScheduledAction* action,
// The timer is deleted when context is deleted (DOMTimer::contextDestroyed) or explicitly via DOMTimer::removeById(),
// or if it is a one-time timer and it has fired (DOMTimer::fired).
DOMTimer* timer = new DOMTimer(context, action, timeout, singleShot);
+
+#if ENABLE(INSPECTOR)
+ if (InspectorTimelineAgent* timelineAgent = InspectorTimelineAgent::retrieve(context))
+ timelineAgent->didInstallTimer(timer->m_timeoutId, timeout, singleShot);
+#endif
+
return timer->m_timeoutId;
}
@@ -97,6 +104,12 @@ void DOMTimer::removeById(ScriptExecutionContext* context, int timeoutId)
// respectively
if (timeoutId <= 0)
return;
+
+#if ENABLE(INSPECTOR)
+ if (InspectorTimelineAgent* timelineAgent = InspectorTimelineAgent::retrieve(context))
+ timelineAgent->didRemoveTimer(timeoutId);
+#endif
+
delete context->findTimeout(timeoutId);
}
@@ -105,6 +118,12 @@ void DOMTimer::fired()
ScriptExecutionContext* context = scriptExecutionContext();
timerNestingLevel = m_nestingLevel;
+#if ENABLE(INSPECTOR)
+ InspectorTimelineAgent* timelineAgent = InspectorTimelineAgent::retrieve(context);
+ if (timelineAgent)
+ timelineAgent->willFireTimer(m_timeoutId);
+#endif
+
// Simple case for non-one-shot timers.
if (isActive()) {
if (repeatInterval() && repeatInterval() < s_minTimerInterval) {
@@ -115,6 +134,10 @@ void DOMTimer::fired()
// No access to member variables after this point, it can delete the timer.
m_action->execute(context);
+#if ENABLE(INSPECTOR)
+ if (timelineAgent)
+ timelineAgent->didFireTimer();
+#endif
return;
}
@@ -125,6 +148,10 @@ void DOMTimer::fired()
delete this;
action->execute(context);
+#if ENABLE(INSPECTOR)
+ if (timelineAgent)
+ timelineAgent->didFireTimer();
+#endif
delete action;
timerNestingLevel = 0;
}
diff --git a/src/3rdparty/webkit/WebCore/page/DOMTimer.h b/src/3rdparty/webkit/WebCore/page/DOMTimer.h
index 3c65258..460430f 100644
--- a/src/3rdparty/webkit/WebCore/page/DOMTimer.h
+++ b/src/3rdparty/webkit/WebCore/page/DOMTimer.h
@@ -33,6 +33,7 @@
namespace WebCore {
+ class InspectorTimelineAgent;
class ScheduledAction;
class DOMTimer : public TimerBase, public ActiveDOMObject {
diff --git a/src/3rdparty/webkit/WebCore/page/DOMWindow.idl b/src/3rdparty/webkit/WebCore/page/DOMWindow.idl
index 4587001..5addb83 100644
--- a/src/3rdparty/webkit/WebCore/page/DOMWindow.idl
+++ b/src/3rdparty/webkit/WebCore/page/DOMWindow.idl
@@ -160,15 +160,15 @@ module window {
readonly attribute DOMApplicationCache applicationCache;
#endif
#if defined(ENABLE_DATABASE) && ENABLE_DATABASE
- Database openDatabase(in DOMString name, in DOMString version, in DOMString displayName, in unsigned long estimatedSize)
+ [EnabledAtRuntime] Database openDatabase(in DOMString name, in DOMString version, in DOMString displayName, in unsigned long estimatedSize)
raises(DOMException);
#endif
#if defined(ENABLE_DOM_STORAGE) && ENABLE_DOM_STORAGE
- readonly attribute Storage sessionStorage;
- readonly attribute Storage localStorage;
+ readonly attribute [EnabledAtRuntime] Storage sessionStorage;
+ readonly attribute [EnabledAtRuntime] Storage localStorage;
#endif
#if defined(ENABLE_NOTIFICATIONS) && ENABLE_NOTIFICATIONS
- readonly attribute NotificationCenter webkitNotifications;
+ readonly attribute [EnabledAtRuntime] NotificationCenter webkitNotifications;
#endif
#if defined(ENABLE_ORIENTATION_EVENTS) && ENABLE_ORIENTATION_EVENTS
@@ -426,6 +426,7 @@ module window {
attribute HTMLUListElementConstructor HTMLUListElement;
attribute HTMLCollectionConstructor HTMLCollection;
+ attribute HTMLAllCollectionConstructor HTMLAllCollection;
attribute [CustomGetter] HTMLImageElementConstructor Image; // Usable with new operator
attribute [CustomGetter] HTMLOptionElementConstructor Option; // Usable with new operator
diff --git a/src/3rdparty/webkit/WebCore/page/Geolocation.cpp b/src/3rdparty/webkit/WebCore/page/Geolocation.cpp
index 86127d7..de4a9a1 100644
--- a/src/3rdparty/webkit/WebCore/page/Geolocation.cpp
+++ b/src/3rdparty/webkit/WebCore/page/Geolocation.cpp
@@ -31,10 +31,11 @@
#include "Document.h"
#include "Frame.h"
#include "Page.h"
-#include "PositionError.h"
namespace WebCore {
+static const char permissionDeniedErrorMessage[] = "User denied Geolocation";
+
Geolocation::GeoNotifier::GeoNotifier(Geolocation* geolocation, PassRefPtr<PositionCallback> successCallback, PassRefPtr<PositionErrorCallback> errorCallback, PassRefPtr<PositionOptions> options)
: m_geolocation(geolocation)
, m_successCallback(successCallback)
@@ -42,12 +43,21 @@ Geolocation::GeoNotifier::GeoNotifier(Geolocation* geolocation, PassRefPtr<Posit
, m_options(options)
, m_timer(this, &Geolocation::GeoNotifier::timerFired)
{
+ ASSERT(m_geolocation);
ASSERT(m_successCallback);
// If no options were supplied from JS, we should have created a default set
// of options in JSGeolocationCustom.cpp.
ASSERT(m_options);
}
+void Geolocation::GeoNotifier::setFatalError(PassRefPtr<PositionError> error)
+{
+ // This method is called at most once on a given GeoNotifier object.
+ ASSERT(!m_fatalError);
+ m_fatalError = error;
+ m_timer.startOneShot(0);
+}
+
bool Geolocation::GeoNotifier::hasZeroTimeout() const
{
return m_options->hasTimeout() && m_options->timeout() == 0;
@@ -63,6 +73,14 @@ void Geolocation::GeoNotifier::timerFired(Timer<GeoNotifier>*)
{
m_timer.stop();
+ if (m_fatalError) {
+ if (m_errorCallback)
+ m_errorCallback->handleEvent(m_fatalError.get());
+ // This will cause this notifier to be deleted.
+ m_geolocation->fatalErrorOccurred(this);
+ return;
+ }
+
if (m_errorCallback) {
RefPtr<PositionError> error = PositionError::create(PositionError::TIMEOUT, "Timeout expired");
m_errorCallback->handleEvent(error.get());
@@ -70,6 +88,46 @@ void Geolocation::GeoNotifier::timerFired(Timer<GeoNotifier>*)
m_geolocation->requestTimedOut(this);
}
+void Geolocation::Watchers::set(int id, PassRefPtr<GeoNotifier> notifier)
+{
+ m_idToNotifierMap.set(id, notifier);
+ m_notifierToIdMap.set(notifier, id);
+}
+
+void Geolocation::Watchers::remove(int id)
+{
+ IdToNotifierMap::iterator iter = m_idToNotifierMap.find(id);
+ if (iter == m_idToNotifierMap.end())
+ return;
+ m_notifierToIdMap.remove(iter->second);
+ m_idToNotifierMap.remove(iter);
+}
+
+void Geolocation::Watchers::remove(GeoNotifier* notifier)
+{
+ NotifierToIdMap::iterator iter = m_notifierToIdMap.find(notifier);
+ if (iter == m_notifierToIdMap.end())
+ return;
+ m_idToNotifierMap.remove(iter->second);
+ m_notifierToIdMap.remove(iter);
+}
+
+void Geolocation::Watchers::clear()
+{
+ m_idToNotifierMap.clear();
+ m_notifierToIdMap.clear();
+}
+
+bool Geolocation::Watchers::isEmpty() const
+{
+ return m_idToNotifierMap.isEmpty();
+}
+
+void Geolocation::Watchers::getNotifiersVector(Vector<RefPtr<GeoNotifier> >& copy) const
+{
+ copyValuesToVector(m_idToNotifierMap, copy);
+}
+
Geolocation::Geolocation(Frame* frame)
: m_frame(frame)
, m_service(GeolocationService::create(this))
@@ -92,40 +150,58 @@ void Geolocation::disconnectFrame()
void Geolocation::getCurrentPosition(PassRefPtr<PositionCallback> successCallback, PassRefPtr<PositionErrorCallback> errorCallback, PassRefPtr<PositionOptions> options)
{
- RefPtr<GeoNotifier> notifier = GeoNotifier::create(this, successCallback, errorCallback, options);
-
- if (notifier->hasZeroTimeout() || m_service->startUpdating(notifier->m_options.get()))
- notifier->startTimerIfNeeded();
- else {
- if (notifier->m_errorCallback) {
- RefPtr<PositionError> error = PositionError::create(PositionError::PERMISSION_DENIED, "Unable to Start");
- notifier->m_errorCallback->handleEvent(error.get());
- }
+ RefPtr<GeoNotifier> notifier = startRequest(successCallback, errorCallback, options);
+ if (!notifier)
return;
- }
m_oneShots.add(notifier);
}
int Geolocation::watchPosition(PassRefPtr<PositionCallback> successCallback, PassRefPtr<PositionErrorCallback> errorCallback, PassRefPtr<PositionOptions> options)
{
+ RefPtr<GeoNotifier> notifier = startRequest(successCallback, errorCallback, options);
+ if (!notifier)
+ return 0;
+
+ static int nextAvailableWatchId = 1;
+ // In case of overflow, make sure the ID remains positive, but reuse the ID values.
+ if (nextAvailableWatchId < 1)
+ nextAvailableWatchId = 1;
+ m_watchers.set(nextAvailableWatchId, notifier.release());
+ return nextAvailableWatchId++;
+}
+
+PassRefPtr<Geolocation::GeoNotifier> Geolocation::startRequest(PassRefPtr<PositionCallback> successCallback, PassRefPtr<PositionErrorCallback> errorCallback, PassRefPtr<PositionOptions> options)
+{
RefPtr<GeoNotifier> notifier = GeoNotifier::create(this, successCallback, errorCallback, options);
- if (notifier->hasZeroTimeout() || m_service->startUpdating(notifier->m_options.get()))
- notifier->startTimerIfNeeded();
+ // Check whether permissions have already been denied. Note that if this is the case,
+ // the permission state can not change again in the lifetime of this page.
+ if (isDenied())
+ notifier->setFatalError(PositionError::create(PositionError::PERMISSION_DENIED, permissionDeniedErrorMessage));
else {
- if (notifier->m_errorCallback) {
- RefPtr<PositionError> error = PositionError::create(PositionError::PERMISSION_DENIED, "Unable to Start");
- notifier->m_errorCallback->handleEvent(error.get());
+ if (notifier->hasZeroTimeout() || m_service->startUpdating(notifier->m_options.get()))
+ notifier->startTimerIfNeeded();
+ else {
+ if (notifier->m_errorCallback) {
+ RefPtr<PositionError> error = PositionError::create(PositionError::PERMISSION_DENIED, "Unable to Start");
+ notifier->m_errorCallback->handleEvent(error.get());
+ }
+ return 0;
}
- return 0;
}
-
- static int sIdentifier = 0;
-
- m_watchers.set(++sIdentifier, notifier);
- return sIdentifier;
+ return notifier.release();
+}
+
+void Geolocation::fatalErrorOccurred(Geolocation::GeoNotifier* notifier)
+{
+ // This request has failed fatally. Remove it from our lists.
+ m_oneShots.remove(notifier);
+ m_watchers.remove(notifier);
+
+ if (!hasListeners())
+ m_service->stopUpdating();
}
void Geolocation::requestTimedOut(GeoNotifier* notifier)
@@ -164,7 +240,7 @@ void Geolocation::setIsAllowed(bool allowed)
if (isAllowed())
makeSuccessCallbacks();
else {
- RefPtr<PositionError> error = PositionError::create(PositionError::PERMISSION_DENIED, "User disallowed Geolocation");
+ RefPtr<PositionError> error = PositionError::create(PositionError::PERMISSION_DENIED, permissionDeniedErrorMessage);
error->setIsFatal(true);
handleError(error.get());
}
@@ -212,7 +288,7 @@ void Geolocation::stopTimersForOneShots()
void Geolocation::stopTimersForWatchers()
{
Vector<RefPtr<GeoNotifier> > copy;
- copyValuesToVector(m_watchers, copy);
+ m_watchers.getNotifiersVector(copy);
stopTimer(copy);
}
@@ -231,7 +307,7 @@ void Geolocation::handleError(PositionError* error)
copyToVector(m_oneShots, oneShotsCopy);
Vector<RefPtr<GeoNotifier> > watchersCopy;
- copyValuesToVector(m_watchers, watchersCopy);
+ m_watchers.getNotifiersVector(watchersCopy);
// Clear the lists before we make the callbacks, to avoid clearing notifiers
// added by calls to Geolocation methods from the callbacks, and to prevent
@@ -294,7 +370,7 @@ void Geolocation::makeSuccessCallbacks()
copyToVector(m_oneShots, oneShotsCopy);
Vector<RefPtr<GeoNotifier> > watchersCopy;
- copyValuesToVector(m_watchers, watchersCopy);
+ m_watchers.getNotifiersVector(watchersCopy);
// Clear the lists before we make the callbacks, to avoid clearing notifiers
// added by calls to Geolocation methods from the callbacks, and to prevent
diff --git a/src/3rdparty/webkit/WebCore/page/Geolocation.h b/src/3rdparty/webkit/WebCore/page/Geolocation.h
index 07a587f..4827664 100644
--- a/src/3rdparty/webkit/WebCore/page/Geolocation.h
+++ b/src/3rdparty/webkit/WebCore/page/Geolocation.h
@@ -28,6 +28,7 @@
#include "GeolocationService.h"
#include "PositionCallback.h"
+#include "PositionError.h"
#include "PositionErrorCallback.h"
#include "PositionOptions.h"
#include "Timer.h"
@@ -64,6 +65,7 @@ public:
void setIsAllowed(bool);
bool isAllowed() const { return m_allowGeolocation == Yes; }
+ bool isDenied() const { return m_allowGeolocation == No; }
void setShouldClearCache(bool shouldClearCache) { m_shouldClearCache = shouldClearCache; }
bool shouldClearCache() const { return m_shouldClearCache; }
@@ -75,6 +77,7 @@ private:
public:
static PassRefPtr<GeoNotifier> create(Geolocation* geolocation, PassRefPtr<PositionCallback> positionCallback, PassRefPtr<PositionErrorCallback> positionErrorCallback, PassRefPtr<PositionOptions> options) { return adoptRef(new GeoNotifier(geolocation, positionCallback, positionErrorCallback, options)); }
+ void setFatalError(PassRefPtr<PositionError>);
bool hasZeroTimeout() const;
void startTimerIfNeeded();
void timerFired(Timer<GeoNotifier>*);
@@ -84,11 +87,27 @@ private:
RefPtr<PositionErrorCallback> m_errorCallback;
RefPtr<PositionOptions> m_options;
Timer<GeoNotifier> m_timer;
+ RefPtr<PositionError> m_fatalError;
private:
GeoNotifier(Geolocation*, PassRefPtr<PositionCallback>, PassRefPtr<PositionErrorCallback>, PassRefPtr<PositionOptions>);
};
+ class Watchers {
+ public:
+ void set(int id, PassRefPtr<GeoNotifier>);
+ void remove(int id);
+ void remove(GeoNotifier*);
+ void clear();
+ bool isEmpty() const;
+ void getNotifiersVector(Vector<RefPtr<GeoNotifier> >&) const;
+ private:
+ typedef HashMap<int, RefPtr<GeoNotifier> > IdToNotifierMap;
+ typedef HashMap<RefPtr<GeoNotifier>, int> NotifierToIdMap;
+ IdToNotifierMap m_idToNotifierMap;
+ NotifierToIdMap m_notifierToIdMap;
+ };
+
bool hasListeners() const { return !m_oneShots.isEmpty() || !m_watchers.isEmpty(); }
void sendError(Vector<RefPtr<GeoNotifier> >&, PositionError*);
@@ -108,13 +127,15 @@ private:
virtual void geolocationServicePositionChanged(GeolocationService*);
virtual void geolocationServiceErrorOccurred(GeolocationService*);
+ PassRefPtr<GeoNotifier> startRequest(PassRefPtr<PositionCallback>, PassRefPtr<PositionErrorCallback>, PassRefPtr<PositionOptions>);
+
+ void fatalErrorOccurred(GeoNotifier*);
void requestTimedOut(GeoNotifier*);
typedef HashSet<RefPtr<GeoNotifier> > GeoNotifierSet;
- typedef HashMap<int, RefPtr<GeoNotifier> > GeoNotifierMap;
GeoNotifierSet m_oneShots;
- GeoNotifierMap m_watchers;
+ Watchers m_watchers;
Frame* m_frame;
OwnPtr<GeolocationService> m_service;
diff --git a/src/3rdparty/webkit/WebCore/page/SecurityOrigin.h b/src/3rdparty/webkit/WebCore/page/SecurityOrigin.h
index 46e6fad..6d4ce1f 100644
--- a/src/3rdparty/webkit/WebCore/page/SecurityOrigin.h
+++ b/src/3rdparty/webkit/WebCore/page/SecurityOrigin.h
@@ -127,9 +127,8 @@ namespace WebCore {
// SecurityOrigin is represented with the string "null".
String toString() const;
- // Serialize the security origin for storage in the database. This format is
- // deprecated and should be used only for compatibility with old databases;
- // use toString() and createFromString() instead.
+ // Serialize the security origin to a string that could be used as part of
+ // file names. This format should be used in storage APIs only.
String databaseIdentifier() const;
// This method checks for equality between SecurityOrigins, not whether
diff --git a/src/3rdparty/webkit/WebCore/page/android/EventHandlerAndroid.cpp b/src/3rdparty/webkit/WebCore/page/android/EventHandlerAndroid.cpp
index dcd25f2..cf2acfb 100644
--- a/src/3rdparty/webkit/WebCore/page/android/EventHandlerAndroid.cpp
+++ b/src/3rdparty/webkit/WebCore/page/android/EventHandlerAndroid.cpp
@@ -68,7 +68,7 @@ bool EventHandler::passWidgetMouseDownEventToWidget(RenderWidget* renderWidget)
// This function is used to route the mouse down event to the native widgets, it seems like a
// work around for the Mac platform which does not support double clicks, but browsers do.
-bool EventHandler::passMouseDownEventToWidget(Widget* )
+bool EventHandler::passMouseDownEventToWidget(Widget*)
{
// return false so the normal propogation handles the event
return false;
@@ -84,7 +84,7 @@ bool EventHandler::eventActivatedView(const PlatformMouseEvent&) const
// It is used to ensure that events are sync'ed correctly between frames. For example
// if the user presses down in one frame and up in another frame, this function will
// returns true, and pass the event to the correct frame.
-bool EventHandler::passSubframeEventToSubframe(MouseEventWithHitTestResults& , Frame* , HitTestResult* )
+bool EventHandler::passSubframeEventToSubframe(MouseEventWithHitTestResults&, Frame*, HitTestResult*)
{
notImplemented();
return false;
@@ -93,7 +93,7 @@ bool EventHandler::passSubframeEventToSubframe(MouseEventWithHitTestResults& , F
// This is called to route wheel events to child widgets when they are RenderWidget
// as the parent usually gets wheel event. Don't have a mouse with a wheel to confirm
// the operation of this function.
-bool EventHandler::passWheelEventToWidget(PlatformWheelEvent& , Widget* )
+bool EventHandler::passWheelEventToWidget(PlatformWheelEvent&, Widget*)
{
notImplemented();
return false;
@@ -105,7 +105,7 @@ bool EventHandler::passMousePressEventToSubframe(MouseEventWithHitTestResults& m
}
bool EventHandler::passMouseMoveEventToSubframe(MouseEventWithHitTestResults& mev,
- Frame* subframe, HitTestResult* )
+ Frame* subframe, HitTestResult*)
{
return passSubframeEventToSubframe(mev, subframe);
}
diff --git a/src/3rdparty/webkit/WebCore/page/animation/AnimationBase.cpp b/src/3rdparty/webkit/WebCore/page/animation/AnimationBase.cpp
index ec0e284..59797da 100644
--- a/src/3rdparty/webkit/WebCore/page/animation/AnimationBase.cpp
+++ b/src/3rdparty/webkit/WebCore/page/animation/AnimationBase.cpp
@@ -468,6 +468,7 @@ public:
m_fillLayerPropertyWrapper = new FillLayerPropertyWrapper<Length>(&FillLayer::yPosition, &FillLayer::setYPosition);
break;
case CSSPropertyBackgroundSize:
+ case CSSPropertyWebkitBackgroundSize:
case CSSPropertyWebkitMaskSize:
m_fillLayerPropertyWrapper = new FillLayerPropertyWrapper<LengthSize>(&FillLayer::sizeLength, &FillLayer::setSizeLength);
break;
@@ -592,6 +593,7 @@ static void ensurePropertyMap()
gPropertyWrappers->append(new FillLayersPropertyWrapper(CSSPropertyBackgroundPositionX, &RenderStyle::backgroundLayers, &RenderStyle::accessBackgroundLayers));
gPropertyWrappers->append(new FillLayersPropertyWrapper(CSSPropertyBackgroundPositionY, &RenderStyle::backgroundLayers, &RenderStyle::accessBackgroundLayers));
gPropertyWrappers->append(new FillLayersPropertyWrapper(CSSPropertyBackgroundSize, &RenderStyle::backgroundLayers, &RenderStyle::accessBackgroundLayers));
+ gPropertyWrappers->append(new FillLayersPropertyWrapper(CSSPropertyWebkitBackgroundSize, &RenderStyle::backgroundLayers, &RenderStyle::accessBackgroundLayers));
gPropertyWrappers->append(new FillLayersPropertyWrapper(CSSPropertyWebkitMaskPositionX, &RenderStyle::maskLayers, &RenderStyle::accessMaskLayers));
gPropertyWrappers->append(new FillLayersPropertyWrapper(CSSPropertyWebkitMaskPositionY, &RenderStyle::maskLayers, &RenderStyle::accessMaskLayers));
diff --git a/src/3rdparty/webkit/WebCore/platform/FileSystem.h b/src/3rdparty/webkit/WebCore/platform/FileSystem.h
index 958eb73..791198d 100644
--- a/src/3rdparty/webkit/WebCore/platform/FileSystem.h
+++ b/src/3rdparty/webkit/WebCore/platform/FileSystem.h
@@ -65,15 +65,23 @@ namespace WebCore {
class CString;
-#if PLATFORM(QT)
-
-typedef QFile* PlatformFileHandle;
-const PlatformFileHandle invalidPlatformFileHandle = 0;
+// PlatformModule
+#if PLATFORM(WIN_OS)
+typedef HMODULE PlatformModule;
+#elif PLATFORM(QT)
#if defined(Q_WS_MAC)
typedef CFBundleRef PlatformModule;
-typedef unsigned PlatformModuleVersion;
-#elif defined(Q_OS_WIN)
-typedef HMODULE PlatformModule;
+#else
+typedef QLibrary* PlatformModule;
+#endif // defined(Q_WS_MAC)
+#elif PLATFORM(GTK)
+typedef GModule* PlatformModule;
+#else
+typedef void* PlatformModule;
+#endif
+
+// PlatformModuleVersion
+#if PLATFORM(WIN_OS)
struct PlatformModuleVersion {
unsigned leastSig;
unsigned mostSig;
@@ -90,46 +98,34 @@ struct PlatformModuleVersion {
{
}
+ bool operator != (const PlatformModuleVersion& rhs) const
+ {
+ return mostSig != rhs.mostSig && leastSig != rhs.leastSig;
+ }
+
+
+ bool operator > (const PlatformModuleVersion& rhs) const
+ {
+ return mostSig > rhs.mostSig && leastSig > rhs.leastSig;
+ }
+
};
#else
-typedef QLibrary* PlatformModule;
typedef unsigned PlatformModuleVersion;
#endif
+// PlatformFileHandle
+#if PLATFORM(QT)
+typedef QFile* PlatformFileHandle;
+const PlatformFileHandle invalidPlatformFileHandle = 0;
#elif PLATFORM(WIN_OS)
typedef HANDLE PlatformFileHandle;
-typedef HMODULE PlatformModule;
// FIXME: -1 is INVALID_HANDLE_VALUE, defined in <winbase.h>. Chromium tries to
// avoid using Windows headers in headers. We'd rather move this into the .cpp.
const PlatformFileHandle invalidPlatformFileHandle = reinterpret_cast<HANDLE>(-1);
-
-struct PlatformModuleVersion {
- unsigned leastSig;
- unsigned mostSig;
-
- PlatformModuleVersion(unsigned)
- : leastSig(0)
- , mostSig(0)
- {
- }
-
- PlatformModuleVersion(unsigned lsb, unsigned msb)
- : leastSig(lsb)
- , mostSig(msb)
- {
- }
-
-};
#else
typedef int PlatformFileHandle;
-#if PLATFORM(GTK)
-typedef GModule* PlatformModule;
-#else
-typedef void* PlatformModule;
-#endif
const PlatformFileHandle invalidPlatformFileHandle = -1;
-
-typedef unsigned PlatformModuleVersion;
#endif
bool fileExists(const String&);
diff --git a/src/3rdparty/webkit/WebCore/platform/KURL.cpp b/src/3rdparty/webkit/WebCore/platform/KURL.cpp
index ffacc19..c5829d2 100644
--- a/src/3rdparty/webkit/WebCore/platform/KURL.cpp
+++ b/src/3rdparty/webkit/WebCore/platform/KURL.cpp
@@ -1269,8 +1269,8 @@ void KURL::parse(const char* url, const String* originalString)
m_userStart = m_userEnd = m_passwordEnd = m_hostEnd = m_portEnd = p - buffer.data();
// For canonicalization, ensure we have a '/' for no path.
- // Only do this for http and https.
- if (m_protocolInHTTPFamily && pathEnd - pathStart == 0)
+ // Do this only for hierarchical URL with protocol http or https.
+ if (m_protocolInHTTPFamily && hierarchical && pathEnd == pathStart)
*p++ = '/';
// add path, escaping bad characters
diff --git a/src/3rdparty/webkit/WebCore/platform/SSLKeyGenerator.h b/src/3rdparty/webkit/WebCore/platform/SSLKeyGenerator.h
index 398a009..f81f0a5 100644
--- a/src/3rdparty/webkit/WebCore/platform/SSLKeyGenerator.h
+++ b/src/3rdparty/webkit/WebCore/platform/SSLKeyGenerator.h
@@ -33,7 +33,14 @@ namespace WebCore {
class KURL;
- void getSupportedKeySizes(Vector<String>&);
+ // Returns strings representing key sizes that may be used
+ // for the <keygen> tag. The first string is displayed as the default
+ // key size in the <keygen> menu.
+ void getSupportedKeySizes(Vector<String>& sizes);
+
+ // This function handles the <keygen> tag in form elements.
+ // Returns a signed copy of the combined challenge string and public
+ // key (from a newly generated key pair).
String signedPublicKeyAndChallengeString(unsigned keySizeIndex, const String& challengeString, const KURL&);
} // namespace WebCore
diff --git a/src/3rdparty/webkit/WebCore/platform/android/ClipboardAndroid.h b/src/3rdparty/webkit/WebCore/platform/android/ClipboardAndroid.h
index 7761704..8c9d9fa 100644
--- a/src/3rdparty/webkit/WebCore/platform/android/ClipboardAndroid.h
+++ b/src/3rdparty/webkit/WebCore/platform/android/ClipboardAndroid.h
@@ -33,31 +33,31 @@
namespace WebCore {
- class CachedImage;
+class CachedImage;
- class ClipboardAndroid : public Clipboard, public CachedResourceClient {
- public:
- ClipboardAndroid(ClipboardAccessPolicy policy, bool isForDragging);
- ~ClipboardAndroid();
-
- void clearData(const String&);
- void clearAllData();
- String getData(const String&, bool& success) const;
- bool setData(const String&, const String&);
-
- // extensions beyond IE's API
- HashSet<String> types() const;
+class ClipboardAndroid : public Clipboard, public CachedResourceClient {
+public:
+ ClipboardAndroid(ClipboardAccessPolicy policy, bool isForDragging);
+ ~ClipboardAndroid();
+
+ void clearData(const String&);
+ void clearAllData();
+ String getData(const String&, bool& success) const;
+ bool setData(const String&, const String&);
+
+ // extensions beyond IE's API
+ HashSet<String> types() const;
+
+ void setDragImage(CachedImage*, const IntPoint&);
+ void setDragImageElement(Node*, const IntPoint&);
- void setDragImage(CachedImage*, const IntPoint&);
- void setDragImageElement(Node*, const IntPoint&);
-
- virtual DragImageRef createDragImage(IntPoint&) const;
- virtual void declareAndWriteDragImage(Element*, const KURL&, const String&, Frame*);
- virtual void writeURL(const KURL&, const String&, Frame*);
- virtual void writeRange(Range*, Frame*);
+ virtual DragImageRef createDragImage(IntPoint&) const;
+ virtual void declareAndWriteDragImage(Element*, const KURL&, const String&, Frame*);
+ virtual void writeURL(const KURL&, const String&, Frame*);
+ virtual void writeRange(Range*, Frame*);
- virtual bool hasData();
- };
+ virtual bool hasData();
+};
} // namespace WebCore
diff --git a/src/3rdparty/webkit/WebCore/platform/android/CursorAndroid.cpp b/src/3rdparty/webkit/WebCore/platform/android/CursorAndroid.cpp
index 5c6e473..beef3b2 100644
--- a/src/3rdparty/webkit/WebCore/platform/android/CursorAndroid.cpp
+++ b/src/3rdparty/webkit/WebCore/platform/android/CursorAndroid.cpp
@@ -23,6 +23,7 @@
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
+
#define LOG_TAG "WebCore"
#include "config.h"
@@ -282,12 +283,14 @@ const Cursor& westPanningCursor()
return c;
}
-const Cursor& grabCursor() {
+const Cursor& grabCursor()
+{
notImplemented();
return c;
}
-const Cursor& grabbingCursor() {
+const Cursor& grabbingCursor()
+{
notImplemented();
return c;
}
diff --git a/src/3rdparty/webkit/WebCore/platform/android/FileChooserAndroid.cpp b/src/3rdparty/webkit/WebCore/platform/android/FileChooserAndroid.cpp
index ec1b758..caedc7a 100644
--- a/src/3rdparty/webkit/WebCore/platform/android/FileChooserAndroid.cpp
+++ b/src/3rdparty/webkit/WebCore/platform/android/FileChooserAndroid.cpp
@@ -36,10 +36,9 @@ String FileChooser::basenameForWidth(const Font& font, int width) const
return String();
// FIXME: This could be a lot faster, but assuming the data will not
// often be much longer than the provided width, this may be fast enough.
- String output = m_filenames[0].copy();
- while (font.width(TextRun(output.impl())) > width && output.length() > 4) {
+ String output = m_filenames[0].threadsafeCopy();
+ while (font.width(TextRun(output.impl())) > width && output.length() > 4)
output = output.replace(output.length() - 4, 4, String("..."));
- }
return output;
}
diff --git a/src/3rdparty/webkit/WebCore/platform/android/FileSystemAndroid.cpp b/src/3rdparty/webkit/WebCore/platform/android/FileSystemAndroid.cpp
index f2665a2..46c1297 100644
--- a/src/3rdparty/webkit/WebCore/platform/android/FileSystemAndroid.cpp
+++ b/src/3rdparty/webkit/WebCore/platform/android/FileSystemAndroid.cpp
@@ -30,12 +30,12 @@
#include "CString.h"
#include "StringBuilder.h"
-#include <fnmatch.h>
-#include <dlfcn.h>
+#include "cutils/log.h"
#include <dirent.h>
+#include <dlfcn.h>
#include <errno.h>
+#include <fnmatch.h>
#include <sys/stat.h>
-#include "cutils/log.h"
namespace WebCore {
@@ -72,7 +72,7 @@ CString openTemporaryFile(const char* prefix, PlatformFileHandle& handle)
bool unloadModule(PlatformModule module)
{
- return dlclose(module) == 0;
+ return !dlclose(module);
}
void closeFile(PlatformFileHandle& handle)
@@ -90,7 +90,7 @@ int writeToFile(PlatformFileHandle handle, const char* data, int length)
int bytesWritten = write(handle, data, (size_t)(length - totalBytesWritten));
if (bytesWritten < 0 && errno != EINTR)
return -1;
- else if (bytesWritten > 0)
+ if (bytesWritten > 0)
totalBytesWritten += bytesWritten;
}
diff --git a/src/3rdparty/webkit/WebCore/platform/android/KeyEventAndroid.cpp b/src/3rdparty/webkit/WebCore/platform/android/KeyEventAndroid.cpp
index ab848bd..d3c48f5 100644
--- a/src/3rdparty/webkit/WebCore/platform/android/KeyEventAndroid.cpp
+++ b/src/3rdparty/webkit/WebCore/platform/android/KeyEventAndroid.cpp
@@ -41,128 +41,128 @@ namespace WebCore {
static int windowsKeyCodeForKeyEvent(unsigned int keyCode)
{
// Does not provide all key codes, and does not handle all keys.
- switch(keyCode) {
- case kKeyCodeDel:
- return VK_BACK;
- case kKeyCodeTab:
- return VK_TAB;
- case kKeyCodeClear:
- return VK_CLEAR;
- case kKeyCodeDpadCenter:
- case kKeyCodeNewline:
- return VK_RETURN;
- case kKeyCodeShiftLeft:
- case kKeyCodeShiftRight:
- return VK_SHIFT;
- // back will serve as escape, although we probably do not have access to it
- case kKeyCodeBack:
- return VK_ESCAPE;
- case kKeyCodeSpace:
- return VK_SPACE;
- case kKeyCodeHome:
- return VK_HOME;
- case kKeyCodeDpadLeft:
- return VK_LEFT;
- case kKeyCodeDpadUp:
- return VK_UP;
- case kKeyCodeDpadRight:
- return VK_RIGHT;
- case kKeyCodeDpadDown:
- return VK_DOWN;
- case kKeyCode0:
- return VK_0;
- case kKeyCode1:
- return VK_1;
- case kKeyCode2:
- return VK_2;
- case kKeyCode3:
- return VK_3;
- case kKeyCode4:
- return VK_4;
- case kKeyCode5:
- return VK_5;
- case kKeyCode6:
- return VK_6;
- case kKeyCode7:
- return VK_7;
- case kKeyCode8:
- return VK_8;
- case kKeyCode9:
- return VK_9;
- case kKeyCodeA:
- return VK_A;
- case kKeyCodeB:
- return VK_B;
- case kKeyCodeC:
- return VK_C;
- case kKeyCodeD:
- return VK_D;
- case kKeyCodeE:
- return VK_E;
- case kKeyCodeF:
- return VK_F;
- case kKeyCodeG:
- return VK_G;
- case kKeyCodeH:
- return VK_H;
- case kKeyCodeI:
- return VK_I;
- case kKeyCodeJ:
- return VK_J;
- case kKeyCodeK:
- return VK_K;
- case kKeyCodeL:
- return VK_L;
- case kKeyCodeM:
- return VK_M;
- case kKeyCodeN:
- return VK_N;
- case kKeyCodeO:
- return VK_O;
- case kKeyCodeP:
- return VK_P;
- case kKeyCodeQ:
- return VK_Q;
- case kKeyCodeR:
- return VK_R;
- case kKeyCodeS:
- return VK_S;
- case kKeyCodeT:
- return VK_T;
- case kKeyCodeU:
- return VK_U;
- case kKeyCodeV:
- return VK_V;
- case kKeyCodeW:
- return VK_W;
- case kKeyCodeX:
- return VK_X;
- case kKeyCodeY:
- return VK_Y;
- case kKeyCodeZ:
- return VK_Z;
- // colon
- case kKeyCodeSemicolon:
- return VK_OEM_1;
- case kKeyCodeComma:
- return VK_OEM_COMMA;
- case kKeyCodeMinus:
- return VK_OEM_MINUS;
- case kKeyCodeEquals:
- return VK_OEM_PLUS;
- case kKeyCodePeriod:
- return VK_OEM_PERIOD;
- case kKeyCodeSlash:
- return VK_OEM_2;
- // maybe not the right choice
- case kKeyCodeLeftBracket:
- return VK_OEM_4;
- case kKeyCodeBackslash:
- return VK_OEM_5;
- case kKeyCodeRightBracket:
- return VK_OEM_6;
- default:
- return 0;
+ switch (keyCode) {
+ case kKeyCodeDel:
+ return VK_BACK;
+ case kKeyCodeTab:
+ return VK_TAB;
+ case kKeyCodeClear:
+ return VK_CLEAR;
+ case kKeyCodeDpadCenter:
+ case kKeyCodeNewline:
+ return VK_RETURN;
+ case kKeyCodeShiftLeft:
+ case kKeyCodeShiftRight:
+ return VK_SHIFT;
+ // back will serve as escape, although we probably do not have access to it
+ case kKeyCodeBack:
+ return VK_ESCAPE;
+ case kKeyCodeSpace:
+ return VK_SPACE;
+ case kKeyCodeHome:
+ return VK_HOME;
+ case kKeyCodeDpadLeft:
+ return VK_LEFT;
+ case kKeyCodeDpadUp:
+ return VK_UP;
+ case kKeyCodeDpadRight:
+ return VK_RIGHT;
+ case kKeyCodeDpadDown:
+ return VK_DOWN;
+ case kKeyCode0:
+ return VK_0;
+ case kKeyCode1:
+ return VK_1;
+ case kKeyCode2:
+ return VK_2;
+ case kKeyCode3:
+ return VK_3;
+ case kKeyCode4:
+ return VK_4;
+ case kKeyCode5:
+ return VK_5;
+ case kKeyCode6:
+ return VK_6;
+ case kKeyCode7:
+ return VK_7;
+ case kKeyCode8:
+ return VK_8;
+ case kKeyCode9:
+ return VK_9;
+ case kKeyCodeA:
+ return VK_A;
+ case kKeyCodeB:
+ return VK_B;
+ case kKeyCodeC:
+ return VK_C;
+ case kKeyCodeD:
+ return VK_D;
+ case kKeyCodeE:
+ return VK_E;
+ case kKeyCodeF:
+ return VK_F;
+ case kKeyCodeG:
+ return VK_G;
+ case kKeyCodeH:
+ return VK_H;
+ case kKeyCodeI:
+ return VK_I;
+ case kKeyCodeJ:
+ return VK_J;
+ case kKeyCodeK:
+ return VK_K;
+ case kKeyCodeL:
+ return VK_L;
+ case kKeyCodeM:
+ return VK_M;
+ case kKeyCodeN:
+ return VK_N;
+ case kKeyCodeO:
+ return VK_O;
+ case kKeyCodeP:
+ return VK_P;
+ case kKeyCodeQ:
+ return VK_Q;
+ case kKeyCodeR:
+ return VK_R;
+ case kKeyCodeS:
+ return VK_S;
+ case kKeyCodeT:
+ return VK_T;
+ case kKeyCodeU:
+ return VK_U;
+ case kKeyCodeV:
+ return VK_V;
+ case kKeyCodeW:
+ return VK_W;
+ case kKeyCodeX:
+ return VK_X;
+ case kKeyCodeY:
+ return VK_Y;
+ case kKeyCodeZ:
+ return VK_Z;
+ // colon
+ case kKeyCodeSemicolon:
+ return VK_OEM_1;
+ case kKeyCodeComma:
+ return VK_OEM_COMMA;
+ case kKeyCodeMinus:
+ return VK_OEM_MINUS;
+ case kKeyCodeEquals:
+ return VK_OEM_PLUS;
+ case kKeyCodePeriod:
+ return VK_OEM_PERIOD;
+ case kKeyCodeSlash:
+ return VK_OEM_2;
+ // maybe not the right choice
+ case kKeyCodeLeftBracket:
+ return VK_OEM_4;
+ case kKeyCodeBackslash:
+ return VK_OEM_5;
+ case kKeyCodeRightBracket:
+ return VK_OEM_6;
+ default:
+ return 0;
}
}
@@ -171,28 +171,28 @@ static String keyIdentifierForAndroidKeyCode(int keyCode)
// Does not return all of the same key identifiers, and
// does not handle all the keys.
switch (keyCode) {
- case kKeyCodeClear:
- return "Clear";
- case kKeyCodeNewline:
- case kKeyCodeDpadCenter:
- return "Enter";
- case kKeyCodeHome:
- return "Home";
- case kKeyCodeDpadDown:
- return "Down";
- case kKeyCodeDpadLeft:
- return "Left";
- case kKeyCodeDpadRight:
- return "Right";
- case kKeyCodeDpadUp:
- return "Up";
- // Standard says that DEL becomes U+00007F.
- case kKeyCodeDel:
- return "U+00007F";
- default:
- char upper[16];
- sprintf(upper, "U+%06X", windowsKeyCodeForKeyEvent(keyCode));
- return String(upper);
+ case kKeyCodeClear:
+ return "Clear";
+ case kKeyCodeNewline:
+ case kKeyCodeDpadCenter:
+ return "Enter";
+ case kKeyCodeHome:
+ return "Home";
+ case kKeyCodeDpadDown:
+ return "Down";
+ case kKeyCodeDpadLeft:
+ return "Left";
+ case kKeyCodeDpadRight:
+ return "Right";
+ case kKeyCodeDpadUp:
+ return "Up";
+ // Standard says that DEL becomes U+00007F.
+ case kKeyCodeDel:
+ return "U+00007F";
+ default:
+ char upper[16];
+ sprintf(upper, "U+%06X", windowsKeyCodeForKeyEvent(keyCode));
+ return String(upper);
}
}
diff --git a/src/3rdparty/webkit/WebCore/platform/android/ScreenAndroid.cpp b/src/3rdparty/webkit/WebCore/platform/android/ScreenAndroid.cpp
index 2439c1f..dcd2d10 100644
--- a/src/3rdparty/webkit/WebCore/platform/android/ScreenAndroid.cpp
+++ b/src/3rdparty/webkit/WebCore/platform/android/ScreenAndroid.cpp
@@ -31,14 +31,12 @@
#include "FloatRect.h"
#include "Widget.h"
-
+#include "ui/DisplayInfo.h"
+#include "ui/PixelFormat.h"
+#include "ui/SurfaceComposerClient.h"
#undef LOG // FIXME: Still have to do this to get the log to show up
#include "utils/Log.h"
-#include "ui/SurfaceComposerClient.h"
-#include "ui/PixelFormat.h"
-#include "ui/DisplayInfo.h"
-
namespace WebCore {
int screenDepth(Widget* page)
@@ -70,18 +68,18 @@ int Screen::orientation() const
// to the values described here
// (http://developer.apple.com/documentation/AppleApplications/Reference/SafariWebContent/HandlingEvents/chapter_8_section_6.html)
switch (info.orientation) {
- case android::ISurfaceComposer::eOrientationDefault:
- return 0;
- case android::ISurfaceComposer::eOrientation90:
- return 90;
- case android::ISurfaceComposer::eOrientation180:
- return 180;
- case android::ISurfaceComposer::eOrientation270:
- return -90;
- default:
- LOGE("Bad orientation returned from getDisplayIndo %d",
- info.orientation);
- return 0;
+ case android::ISurfaceComposer::eOrientationDefault:
+ return 0;
+ case android::ISurfaceComposer::eOrientation90:
+ return 90;
+ case android::ISurfaceComposer::eOrientation180:
+ return 180;
+ case android::ISurfaceComposer::eOrientation270:
+ return -90;
+ default:
+ LOGE("Bad orientation returned from getDisplayIndo %d",
+ info.orientation);
+ return 0;
}
}
#endif
diff --git a/src/3rdparty/webkit/WebCore/platform/android/TemporaryLinkStubs.cpp b/src/3rdparty/webkit/WebCore/platform/android/TemporaryLinkStubs.cpp
index c0b57a6..b82edaf 100644
--- a/src/3rdparty/webkit/WebCore/platform/android/TemporaryLinkStubs.cpp
+++ b/src/3rdparty/webkit/WebCore/platform/android/TemporaryLinkStubs.cpp
@@ -28,17 +28,15 @@
#define ANDROID_COMPILE_HACK
-#include <stdio.h>
-#include <stdlib.h>
#include "AXObjectCache.h"
+#include "CString.h"
#include "CachedPage.h"
#include "CachedResource.h"
-#include "CookieJar.h"
+#include "Clipboard.h"
#include "Console.h"
#include "ContextMenu.h"
#include "ContextMenuItem.h"
-#include "Clipboard.h"
-#include "CString.h"
+#include "CookieJar.h"
#include "Cursor.h"
#include "Database.h"
#include "DocumentFragment.h"
@@ -49,8 +47,8 @@
#include "FileList.h"
#include "Font.h"
#include "Frame.h"
-#include "FrameLoader.h"
#include "FrameLoadRequest.h"
+#include "FrameLoader.h"
#include "FrameView.h"
#include "GraphicsContext.h"
#include "HTMLFrameOwnerElement.h"
@@ -60,21 +58,11 @@
#include "IconDatabase.h"
#include "IconLoader.h"
#include "IntPoint.h"
-
-#if USE(JSC)
-#include "JavaScriptCallFrame.h"
-#include "JavaScriptDebugServer.h"
-#include "API/JSClassRef.h"
-#include "JavaScriptProfile.h"
-#include "jni_utility.h"
-#endif
-
#include "KURL.h"
#include "Language.h"
-#include "loader.h"
#include "LocalizedStrings.h"
-#include "MainResourceLoader.h"
#include "MIMETypeRegistry.h"
+#include "MainResourceLoader.h"
#include "Node.h"
#include "NotImplemented.h"
#include "PageCache.h"
@@ -89,6 +77,17 @@
#include "ScrollbarTheme.h"
#include "SmartReplace.h"
#include "Widget.h"
+#include "loader.h"
+#include <stdio.h>
+#include <stdlib.h>
+
+#if USE(JSC)
+#include "API/JSClassRef.h"
+#include "JavaScriptCallFrame.h"
+#include "JavaScriptDebugServer.h"
+#include "JavaScriptProfile.h"
+#include "jni_utility.h"
+#endif
using namespace WebCore;
diff --git a/src/3rdparty/webkit/WebCore/platform/graphics/BitmapImage.h b/src/3rdparty/webkit/WebCore/platform/graphics/BitmapImage.h
index d712efb..7e8f2b0 100644
--- a/src/3rdparty/webkit/WebCore/platform/graphics/BitmapImage.h
+++ b/src/3rdparty/webkit/WebCore/platform/graphics/BitmapImage.h
@@ -140,8 +140,10 @@ public:
virtual CGImageRef getCGImageRef();
#endif
-#if PLATFORM(WIN)
+#if PLATFORM(WIN) || (PLATFORM(QT) && PLATFORM(WIN_OS))
static PassRefPtr<BitmapImage> create(HBITMAP);
+#endif
+#if PLATFORM(WIN)
virtual bool getHBITMAP(HBITMAP);
virtual bool getHBITMAPOfSize(HBITMAP, LPSIZE);
#endif
diff --git a/src/3rdparty/webkit/WebCore/platform/graphics/GraphicsContext3D.h b/src/3rdparty/webkit/WebCore/platform/graphics/GraphicsContext3D.h
index 67224e2..07ec04d 100644
--- a/src/3rdparty/webkit/WebCore/platform/graphics/GraphicsContext3D.h
+++ b/src/3rdparty/webkit/WebCore/platform/graphics/GraphicsContext3D.h
@@ -29,6 +29,7 @@
#include "PlatformString.h"
#include <wtf/Noncopyable.h>
+#include <wtf/PassOwnPtr.h>
#if PLATFORM(MAC)
#include <OpenGL/OpenGL.h>
@@ -74,11 +75,11 @@ namespace WebCore {
class GraphicsContext3DInternal;
#endif
- class GraphicsContext3D : Noncopyable {
+ class GraphicsContext3D : public Noncopyable {
public:
enum ShaderType { FRAGMENT_SHADER, VERTEX_SHADER };
- GraphicsContext3D();
+ static PassOwnPtr<GraphicsContext3D> create();
virtual ~GraphicsContext3D();
#if PLATFORM(MAC)
@@ -92,7 +93,6 @@ namespace WebCore {
Platform3DObject platformTexture() const { return NullPlatform3DObject; }
#endif
void checkError() const;
-
void makeContextCurrent();
// Helper to return the size in bytes of OpenGL data types
@@ -320,6 +320,8 @@ namespace WebCore {
void deleteTexture(unsigned);
private:
+ GraphicsContext3D();
+
int m_currentWidth, m_currentHeight;
#if PLATFORM(MAC)
diff --git a/src/3rdparty/webkit/WebCore/platform/graphics/GraphicsLayer.cpp b/src/3rdparty/webkit/WebCore/platform/graphics/GraphicsLayer.cpp
index d196a0c..c8582bb 100644
--- a/src/3rdparty/webkit/WebCore/platform/graphics/GraphicsLayer.cpp
+++ b/src/3rdparty/webkit/WebCore/platform/graphics/GraphicsLayer.cpp
@@ -59,9 +59,7 @@ GraphicsLayer::GraphicsLayer(GraphicsLayerClient* client)
: m_client(client)
, m_anchorPoint(0.5f, 0.5f, 0)
, m_opacity(1)
-#ifndef NDEBUG
, m_zPosition(0)
-#endif
, m_backgroundColorSet(false)
, m_contentsOpaque(false)
, m_preserves3D(false)
@@ -74,9 +72,7 @@ GraphicsLayer::GraphicsLayer(GraphicsLayerClient* client)
, m_contentsOrientation(CompositingCoordinatesTopDown)
, m_parent(0)
, m_maskLayer(0)
-#ifndef NDEBUG
, m_repaintCount(0)
-#endif
{
}
@@ -229,7 +225,6 @@ void GraphicsLayer::resumeAnimations()
{
}
-#ifndef NDEBUG
void GraphicsLayer::updateDebugIndicators()
{
if (GraphicsLayer::showDebugBorders()) {
@@ -251,7 +246,6 @@ void GraphicsLayer::setZPosition(float position)
{
m_zPosition = position;
}
-#endif
float GraphicsLayer::accumulatedOpacity() const
{
diff --git a/src/3rdparty/webkit/WebCore/platform/graphics/GraphicsLayer.h b/src/3rdparty/webkit/WebCore/platform/graphics/GraphicsLayer.h
index e5b17a6..85eace0 100644
--- a/src/3rdparty/webkit/WebCore/platform/graphics/GraphicsLayer.h
+++ b/src/3rdparty/webkit/WebCore/platform/graphics/GraphicsLayer.h
@@ -276,10 +276,8 @@ public:
void dumpLayer(TextStream&, int indent = 0) const;
-#ifndef NDEBUG
int repaintCount() const { return m_repaintCount; }
int incrementRepaintCount() { return ++m_repaintCount; }
-#endif
// Report whether the underlying compositing system uses a top-down
// or a bottom-up coordinate system.
@@ -294,7 +292,6 @@ public:
virtual void setContentsOrientation(CompositingCoordinatesOrientation orientation) { m_contentsOrientation = orientation; }
CompositingCoordinatesOrientation contentsOrientation() const { return m_contentsOrientation; }
-#ifndef NDEBUG
static bool showDebugBorders();
static bool showRepaintCounter();
@@ -305,7 +302,6 @@ public:
// z-position is the z-equivalent of position(). It's only used for debugging purposes.
virtual float zPosition() const { return m_zPosition; }
virtual void setZPosition(float);
-#endif
virtual void distributeOpacity(float);
virtual float accumulatedOpacity() const;
@@ -342,9 +338,7 @@ protected:
Color m_backgroundColor;
float m_opacity;
-#ifndef NDEBUG
float m_zPosition;
-#endif
bool m_backgroundColorSet : 1;
bool m_contentsOpaque : 1;
@@ -365,9 +359,7 @@ protected:
IntRect m_contentsRect;
-#ifndef NDEBUG
int m_repaintCount;
-#endif
};
diff --git a/src/3rdparty/webkit/WebCore/platform/graphics/filters/FEColorMatrix.cpp b/src/3rdparty/webkit/WebCore/platform/graphics/filters/FEColorMatrix.cpp
index 1e2e552..a2ed9bd 100644
--- a/src/3rdparty/webkit/WebCore/platform/graphics/filters/FEColorMatrix.cpp
+++ b/src/3rdparty/webkit/WebCore/platform/graphics/filters/FEColorMatrix.cpp
@@ -30,6 +30,7 @@
#include "GraphicsContext.h"
#include "ImageData.h"
#include <math.h>
+#include <wtf/MathExtras.h>
namespace WebCore {
@@ -92,8 +93,8 @@ inline void saturate(double& red, double& green, double& blue, const float& s)
inline void huerotate(double& red, double& green, double& blue, const float& hue)
{
- double cosHue = cos(hue * M_PI / 180);
- double sinHue = sin(hue * M_PI / 180);
+ double cosHue = cos(hue * piDouble / 180);
+ double sinHue = sin(hue * piDouble / 180);
double r = red * (0.213 + cosHue * 0.787 - sinHue * 0.213) +
green * (0.715 - cosHue * 0.715 - sinHue * 0.715) +
blue * (0.072 - cosHue * 0.072 + sinHue * 0.928);
diff --git a/src/3rdparty/webkit/WebCore/platform/graphics/filters/FEComponentTransfer.cpp b/src/3rdparty/webkit/WebCore/platform/graphics/filters/FEComponentTransfer.cpp
index 43e5edd..0d76d8d 100644
--- a/src/3rdparty/webkit/WebCore/platform/graphics/filters/FEComponentTransfer.cpp
+++ b/src/3rdparty/webkit/WebCore/platform/graphics/filters/FEComponentTransfer.cpp
@@ -92,11 +92,11 @@ void FEComponentTransfer::setAlphaFunction(const ComponentTransferFunction& func
m_alphaFunc = func;
}
-void identity(unsigned char*, const ComponentTransferFunction&)
+static void identity(unsigned char*, const ComponentTransferFunction&)
{
}
-void table(unsigned char* values, const ComponentTransferFunction& transferFunction)
+static void table(unsigned char* values, const ComponentTransferFunction& transferFunction)
{
const Vector<float>& tableValues = transferFunction.tableValues;
unsigned n = tableValues.size();
@@ -113,7 +113,7 @@ void table(unsigned char* values, const ComponentTransferFunction& transferFunct
}
}
-void discrete(unsigned char* values, const ComponentTransferFunction& transferFunction)
+static void discrete(unsigned char* values, const ComponentTransferFunction& transferFunction)
{
const Vector<float>& tableValues = transferFunction.tableValues;
unsigned n = tableValues.size();
@@ -128,7 +128,7 @@ void discrete(unsigned char* values, const ComponentTransferFunction& transferFu
}
}
-void linear(unsigned char* values, const ComponentTransferFunction& transferFunction)
+static void linear(unsigned char* values, const ComponentTransferFunction& transferFunction)
{
for (unsigned i = 0; i < 256; ++i) {
double val = transferFunction.slope * i + 255 * transferFunction.intercept;
@@ -137,7 +137,7 @@ void linear(unsigned char* values, const ComponentTransferFunction& transferFunc
}
}
-void gamma(unsigned char* values, const ComponentTransferFunction& transferFunction)
+static void gamma(unsigned char* values, const ComponentTransferFunction& transferFunction)
{
for (unsigned i = 0; i < 256; ++i) {
double val = 255.0 * (transferFunction.amplitude * pow((i / 255.0), transferFunction.exponent) + transferFunction.offset);
diff --git a/src/3rdparty/webkit/WebCore/platform/graphics/filters/FEGaussianBlur.cpp b/src/3rdparty/webkit/WebCore/platform/graphics/filters/FEGaussianBlur.cpp
index a62dfdc..f480f10 100644
--- a/src/3rdparty/webkit/WebCore/platform/graphics/filters/FEGaussianBlur.cpp
+++ b/src/3rdparty/webkit/WebCore/platform/graphics/filters/FEGaussianBlur.cpp
@@ -30,6 +30,7 @@
#include "GraphicsContext.h"
#include "ImageData.h"
#include <math.h>
+#include <wtf/MathExtras.h>
namespace WebCore {
@@ -66,10 +67,10 @@ void FEGaussianBlur::setStdDeviationY(float y)
m_y = y;
}
-void boxBlur(CanvasPixelArray*& srcPixelArray, CanvasPixelArray*& dstPixelArray,
+static void boxBlur(CanvasPixelArray*& srcPixelArray, CanvasPixelArray*& dstPixelArray,
unsigned dx, int stride, int strideLine, int effectWidth, int effectHeight, bool alphaImage)
{
- int dxLeft = static_cast<int>(floor(dx / 2));
+ int dxLeft = dx / 2;
int dxRight = dx - dxLeft;
for (int y = 0; y < effectHeight; ++y) {
@@ -110,8 +111,8 @@ void FEGaussianBlur::apply(Filter* filter)
if (m_x == 0 || m_y == 0)
return;
- unsigned sdx = static_cast<unsigned>(floor(m_x * 3 * sqrt(2 * M_PI) / 4.f + 0.5f));
- unsigned sdy = static_cast<unsigned>(floor(m_y * 3 * sqrt(2 * M_PI) / 4.f + 0.5f));
+ unsigned sdx = static_cast<unsigned>(floor(m_x * 3 * sqrt(2 * piDouble) / 4.f + 0.5f));
+ unsigned sdy = static_cast<unsigned>(floor(m_y * 3 * sqrt(2 * piDouble) / 4.f + 0.5f));
IntRect effectDrawingRect = calculateDrawingIntRect(m_in->subRegion());
RefPtr<ImageData> srcImageData(m_in->resultImage()->getPremultipliedImageData(effectDrawingRect));
diff --git a/src/3rdparty/webkit/WebCore/platform/graphics/qt/ImageDecoderQt.cpp b/src/3rdparty/webkit/WebCore/platform/graphics/qt/ImageDecoderQt.cpp
index f8403b7..b6823dd 100644
--- a/src/3rdparty/webkit/WebCore/platform/graphics/qt/ImageDecoderQt.cpp
+++ b/src/3rdparty/webkit/WebCore/platform/graphics/qt/ImageDecoderQt.cpp
@@ -145,16 +145,8 @@ RGBA32Buffer* ImageDecoderQt::frameBufferAtIndex(size_t index)
return &frame;
}
-void ImageDecoderQt::clearFrameBufferCache(size_t index)
+void ImageDecoderQt::clearFrameBufferCache(size_t /*index*/)
{
- // Currently QImageReader will be asked to read everything. This
- // might change when we read gif images on demand. For now we
- // can have a rather simple implementation.
- if (index > m_frameBufferCache.size())
- return;
-
- for (size_t i = 0; i < index; ++index)
- m_frameBufferCache[index].clear();
}
void ImageDecoderQt::internalDecodeSize()
diff --git a/src/3rdparty/webkit/WebCore/platform/graphics/qt/ImageQt.cpp b/src/3rdparty/webkit/WebCore/platform/graphics/qt/ImageQt.cpp
index da6ddac..b671107 100644
--- a/src/3rdparty/webkit/WebCore/platform/graphics/qt/ImageQt.cpp
+++ b/src/3rdparty/webkit/WebCore/platform/graphics/qt/ImageQt.cpp
@@ -120,6 +120,38 @@ void Image::drawPattern(GraphicsContext* ctxt, const FloatRect& tileRect, const
imageObserver()->didDraw(this);
}
+BitmapImage::BitmapImage(QPixmap* pixmap, ImageObserver* observer)
+ : Image(observer)
+ , m_currentFrame(0)
+ , m_frames(0)
+ , m_frameTimer(0)
+ , m_repetitionCount(cAnimationNone)
+ , m_repetitionCountStatus(Unknown)
+ , m_repetitionsComplete(0)
+ , m_isSolidColor(false)
+ , m_checkedForSolidColor(false)
+ , m_animationFinished(true)
+ , m_allDataReceived(true)
+ , m_haveSize(true)
+ , m_sizeAvailable(true)
+ , m_decodedSize(0)
+ , m_haveFrameCount(true)
+ , m_frameCount(1)
+{
+ initPlatformData();
+
+ int width = pixmap->width();
+ int height = pixmap->height();
+ m_decodedSize = width * height * 4;
+ m_size = IntSize(width, height);
+
+ m_frames.grow(1);
+ m_frames[0].m_frame = pixmap;
+ m_frames[0].m_hasAlpha = pixmap->hasAlpha();
+ m_frames[0].m_haveMetadata = true;
+ checkForSolidColor();
+}
+
void BitmapImage::initPlatformData()
{
}
@@ -181,6 +213,13 @@ void BitmapImage::checkForSolidColor()
m_solidColor = QColor::fromRgba(framePixmap->toImage().pixel(0, 0));
}
+#if PLATFORM(WIN_OS)
+PassRefPtr<BitmapImage> BitmapImage::create(HBITMAP hBitmap)
+{
+ return BitmapImage::create(new QPixmap(QPixmap::fromWinHBITMAP(hBitmap)));
+}
+#endif
+
}
diff --git a/src/3rdparty/webkit/WebCore/platform/network/Credential.cpp b/src/3rdparty/webkit/WebCore/platform/network/Credential.cpp
index caca785..f905743 100644
--- a/src/3rdparty/webkit/WebCore/platform/network/Credential.cpp
+++ b/src/3rdparty/webkit/WebCore/platform/network/Credential.cpp
@@ -32,6 +32,7 @@ namespace WebCore {
Credential::Credential()
: m_user("")
, m_password("")
+ , m_persistence(CredentialPersistenceNone)
{
}
@@ -44,7 +45,7 @@ Credential::Credential(const String& user, const String& password, CredentialPer
{
}
-bool Credential::isEmpty()
+bool Credential::isEmpty() const
{
return m_user.isEmpty() && m_password.isEmpty();
}
diff --git a/src/3rdparty/webkit/WebCore/platform/network/Credential.h b/src/3rdparty/webkit/WebCore/platform/network/Credential.h
index ca4a45a..0471fbc 100644
--- a/src/3rdparty/webkit/WebCore/platform/network/Credential.h
+++ b/src/3rdparty/webkit/WebCore/platform/network/Credential.h
@@ -41,7 +41,7 @@ public:
Credential();
Credential(const String& user, const String& password, CredentialPersistence);
- bool isEmpty();
+ bool isEmpty() const;
const String& user() const;
const String& password() const;
diff --git a/src/3rdparty/webkit/WebCore/platform/network/FormDataBuilder.cpp b/src/3rdparty/webkit/WebCore/platform/network/FormDataBuilder.cpp
index 27bdee3..04c7527 100644
--- a/src/3rdparty/webkit/WebCore/platform/network/FormDataBuilder.cpp
+++ b/src/3rdparty/webkit/WebCore/platform/network/FormDataBuilder.cpp
@@ -108,6 +108,34 @@ static inline void append(Vector<char>& buffer, const CString& string)
buffer.append(string.data(), string.length());
}
+static void appendQuotedString(Vector<char>& buffer, const CString& string)
+{
+ // Append a string as a quoted value, escaping quotes and line breaks.
+ // FIXME: Is it correct to use percent escaping here? Other browsers do not encode these characters yet,
+ // so we should test popular servers to find out if there is an encoding form they can handle.
+ unsigned length = string.length();
+ for (unsigned i = 0; i < length; ++i) {
+ unsigned char c = string.data()[i];
+
+ switch (c) {
+ case 0x0a:
+ append(buffer, "%0A");
+ break;
+ case 0x0d:
+ append(buffer, "%0D");
+ break;
+ case '"':
+ append(buffer, "%22");
+ break;
+ case '%':
+ append(buffer, "%25");
+ break;
+ default:
+ append(buffer, c);
+ }
+ }
+}
+
Vector<char> FormDataBuilder::generateUniqueBoundaryString()
{
Vector<char> boundary;
@@ -161,8 +189,10 @@ void FormDataBuilder::beginMultiPartHeader(Vector<char>& buffer, const CString&
{
addBoundaryToMultiPartHeader(buffer, boundary);
+ // FIXME: This loses data irreversibly if the input name includes characters you can't encode
+ // in the website's character set.
append(buffer, "Content-Disposition: form-data; name=\"");
- append(buffer, name);
+ appendQuotedString(buffer, name);
append(buffer, '"');
}
@@ -179,12 +209,10 @@ void FormDataBuilder::addBoundaryToMultiPartHeader(Vector<char>& buffer, const C
void FormDataBuilder::addFilenameToMultiPartHeader(Vector<char>& buffer, const TextEncoding& encoding, const String& filename)
{
- // FIXME: This won't work if the filename includes a " mark,
- // or control characters like CR or LF. This also does strange
- // things if the filename includes characters you can't encode
+ // FIXME: This loses data irreversibly if the filename includes characters you can't encode
// in the website's character set.
append(buffer, "; filename=\"");
- append(buffer, encoding.encode(filename.characters(), filename.length(), QuestionMarksForUnencodables));
+ appendQuotedString(buffer, encoding.encode(filename.characters(), filename.length(), QuestionMarksForUnencodables));
append(buffer, '"');
}
diff --git a/src/3rdparty/webkit/WebCore/platform/network/ResourceRequestBase.cpp b/src/3rdparty/webkit/WebCore/platform/network/ResourceRequestBase.cpp
index 4c77999..e0707d9 100644
--- a/src/3rdparty/webkit/WebCore/platform/network/ResourceRequestBase.cpp
+++ b/src/3rdparty/webkit/WebCore/platform/network/ResourceRequestBase.cpp
@@ -218,6 +218,26 @@ void ResourceRequestBase::setHTTPHeaderField(const AtomicString& name, const Str
m_platformRequestUpdated = false;
}
+void ResourceRequestBase::clearHTTPReferrer()
+{
+ updateResourceRequest();
+
+ m_httpHeaderFields.remove("Referer");
+
+ if (url().protocolInHTTPFamily())
+ m_platformRequestUpdated = false;
+}
+
+void ResourceRequestBase::clearHTTPOrigin()
+{
+ updateResourceRequest();
+
+ m_httpHeaderFields.remove("Origin");
+
+ if (url().protocolInHTTPFamily())
+ m_platformRequestUpdated = false;
+}
+
void ResourceRequestBase::setResponseContentDispositionEncodingFallbackArray(const String& encoding1, const String& encoding2, const String& encoding3)
{
updateResourceRequest();
@@ -358,7 +378,7 @@ void ResourceRequestBase::updateResourceRequest() const
m_resourceRequestUpdated = true;
}
-#if !PLATFORM(MAC) && !USE(CFNETWORK) && !USE(SOUP)
+#if !PLATFORM(MAC) && !USE(CFNETWORK) && !USE(SOUP) && !PLATFORM(CHROMIUM)
unsigned initializeMaximumHTTPConnectionCountPerHost()
{
// This is used by the loader to control the number of issued parallel load requests.
diff --git a/src/3rdparty/webkit/WebCore/platform/network/ResourceRequestBase.h b/src/3rdparty/webkit/WebCore/platform/network/ResourceRequestBase.h
index 348e6b3..84a7bd0 100644
--- a/src/3rdparty/webkit/WebCore/platform/network/ResourceRequestBase.h
+++ b/src/3rdparty/webkit/WebCore/platform/network/ResourceRequestBase.h
@@ -88,11 +88,11 @@ namespace WebCore {
String httpReferrer() const { return httpHeaderField("Referer"); }
void setHTTPReferrer(const String& httpReferrer) { setHTTPHeaderField("Referer", httpReferrer); }
- void clearHTTPReferrer() { m_httpHeaderFields.remove("Referer"); }
+ void clearHTTPReferrer();
String httpOrigin() const { return httpHeaderField("Origin"); }
void setHTTPOrigin(const String& httpOrigin) { setHTTPHeaderField("Origin", httpOrigin); }
- void clearHTTPOrigin() { m_httpHeaderFields.remove("Origin"); }
+ void clearHTTPOrigin();
String httpUserAgent() const { return httpHeaderField("User-Agent"); }
void setHTTPUserAgent(const String& httpUserAgent) { setHTTPHeaderField("User-Agent", httpUserAgent); }
diff --git a/src/3rdparty/webkit/WebCore/platform/network/qt/QNetworkReplyHandler.cpp b/src/3rdparty/webkit/WebCore/platform/network/qt/QNetworkReplyHandler.cpp
index 202346d..bbf5525 100644
--- a/src/3rdparty/webkit/WebCore/platform/network/qt/QNetworkReplyHandler.cpp
+++ b/src/3rdparty/webkit/WebCore/platform/network/qt/QNetworkReplyHandler.cpp
@@ -140,10 +140,14 @@ QNetworkReplyHandler::QNetworkReplyHandler(ResourceHandle* handle, LoadMode load
m_method = QNetworkAccessManager::PostOperation;
else if (r.httpMethod() == "PUT")
m_method = QNetworkAccessManager::PutOperation;
+#if QT_VERSION >= 0x040600
+ else if (r.httpMethod() == "DELETE")
+ m_method = QNetworkAccessManager::DeleteOperation;
+#endif
else
m_method = QNetworkAccessManager::UnknownOperation;
- m_request = r.toNetworkRequest();
+ m_request = r.toNetworkRequest(m_resourceHandle->getInternal()->m_frame);
if (m_loadMode == LoadNormal)
start();
@@ -175,8 +179,8 @@ void QNetworkReplyHandler::abort()
QNetworkReply* reply = release();
reply->abort();
reply->deleteLater();
- deleteLater();
}
+ deleteLater();
}
QNetworkReply* QNetworkReplyHandler::release()
@@ -188,6 +192,7 @@ QNetworkReply* QNetworkReplyHandler::release()
// posted meta call events that were the result of a signal emission
// don't reach the slots in our instance.
QCoreApplication::removePostedEvents(this, QEvent::MetaCall);
+ m_reply->setParent(0);
m_reply = 0;
}
return reply;
@@ -322,10 +327,7 @@ void QNetworkReplyHandler::sendResponseIfNeeded()
client->willSendRequest(m_resourceHandle, newRequest, response);
m_redirected = true;
- m_request = newRequest.toNetworkRequest();
-
- ResourceHandleInternal* d = m_resourceHandle->getInternal();
- emit d->m_frame->page()->networkRequestStarted(d->m_frame, &m_request);
+ m_request = newRequest.toNetworkRequest(m_resourceHandle->getInternal()->m_frame);
return;
}
@@ -367,8 +369,6 @@ void QNetworkReplyHandler::start()
QNetworkAccessManager* manager = d->m_frame->page()->networkAccessManager();
- emit d->m_frame->page()->networkRequestStarted(d->m_frame, &m_request);
-
const QUrl url = m_request.url();
const QString scheme = url.scheme();
// Post requests on files and data don't really make sense, but for
@@ -397,6 +397,12 @@ void QNetworkReplyHandler::start()
putDevice->setParent(m_reply);
break;
}
+#if QT_VERSION >= 0x040600
+ case QNetworkAccessManager::DeleteOperation: {
+ m_reply = manager->deleteResource(m_request);
+ break;
+ }
+#endif
case QNetworkAccessManager::UnknownOperation: {
m_reply = 0;
ResourceHandleClient* client = m_resourceHandle->client();
diff --git a/src/3rdparty/webkit/WebCore/platform/network/qt/ResourceRequest.h b/src/3rdparty/webkit/WebCore/platform/network/qt/ResourceRequest.h
index 93dacf3..60d32dd 100644
--- a/src/3rdparty/webkit/WebCore/platform/network/qt/ResourceRequest.h
+++ b/src/3rdparty/webkit/WebCore/platform/network/qt/ResourceRequest.h
@@ -31,6 +31,7 @@
QT_BEGIN_NAMESPACE
class QNetworkRequest;
+class QObject;
QT_END_NAMESPACE
namespace WebCore {
@@ -59,7 +60,7 @@ namespace WebCore {
}
#if QT_VERSION >= 0x040400
- QNetworkRequest toNetworkRequest() const;
+ QNetworkRequest toNetworkRequest(QObject* originatingObject) const;
#endif
private:
diff --git a/src/3rdparty/webkit/WebCore/platform/network/qt/ResourceRequestQt.cpp b/src/3rdparty/webkit/WebCore/platform/network/qt/ResourceRequestQt.cpp
index c8f6ad5..c866a54 100644
--- a/src/3rdparty/webkit/WebCore/platform/network/qt/ResourceRequestQt.cpp
+++ b/src/3rdparty/webkit/WebCore/platform/network/qt/ResourceRequestQt.cpp
@@ -28,10 +28,13 @@
namespace WebCore {
-QNetworkRequest ResourceRequest::toNetworkRequest() const
+QNetworkRequest ResourceRequest::toNetworkRequest(QObject* originatingFrame) const
{
QNetworkRequest request;
request.setUrl(url());
+#if QT_VERSION >= QT_VERSION_CHECK(4, 6, 0)
+ request.setOriginatingObject(originatingFrame);
+#endif
const HTTPHeaderMap &headers = httpHeaderFields();
for (HTTPHeaderMap::const_iterator it = headers.begin(), end = headers.end();
diff --git a/src/3rdparty/webkit/WebCore/platform/qt/CursorQt.cpp b/src/3rdparty/webkit/WebCore/platform/qt/CursorQt.cpp
index aad84be..3fc83f9 100644
--- a/src/3rdparty/webkit/WebCore/platform/qt/CursorQt.cpp
+++ b/src/3rdparty/webkit/WebCore/platform/qt/CursorQt.cpp
@@ -2,7 +2,7 @@
* Copyright (C) 2006 Dirk Mueller <mueller@kde.org>
* Copyright (C) 2006 George Staikos <staikos@kde.org>
* Copyright (C) 2006 Charles Samuels <charles@kde.org>
- * Copyright (C) 2008 Holger Hans Peter Freyther
+ * Copyright (C) 2008, 2009 Holger Hans Peter Freyther
*
* All rights reserved.
*
@@ -92,14 +92,14 @@ protected:
, SplitVCursor(Qt::SplitVCursor)
, NoDropCursor(Qt::ForbiddenCursor)
, BlankCursor(Qt::BlankCursor)
- , ZoomInCursor(QPixmap(QLatin1String(":/webkit/resources/zoomInCursor.png")))
- , ZoomOutCursor(QPixmap(QLatin1String(":/webkit/resources/zoomOutCursor.png")))
- , VerticalTextCursor(QPixmap(QLatin1String(":/webkit/resources/verticalTextCursor.png")))
- , CellCursor(QPixmap(QLatin1String(":/webkit/resources/cellCursor.png")))
- , ContextMenuCursor(QPixmap(QLatin1String(":/webkit/resources/contextMenuCursor.png")))
- , CopyCursor(QPixmap(QLatin1String(":/webkit/resources/copyCursor.png")))
- , ProgressCursor(QPixmap(QLatin1String(":/webkit/resources/progressCursor.png")))
- , AliasCursor(QPixmap(QLatin1String(":/webkit/resources/aliasCursor.png")))
+ , ZoomInCursor(QCursor(QPixmap(QLatin1String(":/webkit/resources/zoomInCursor.png")), 7, 7))
+ , ZoomOutCursor(QCursor(QPixmap(QLatin1String(":/webkit/resources/zoomOutCursor.png")), 7, 7))
+ , VerticalTextCursor(QCursor(QPixmap(QLatin1String(":/webkit/resources/verticalTextCursor.png")), 7, 7))
+ , CellCursor(QCursor(QPixmap(QLatin1String(":/webkit/resources/cellCursor.png")), 7, 7))
+ , ContextMenuCursor(QCursor(QPixmap(QLatin1String(":/webkit/resources/contextMenuCursor.png")), 3, 2))
+ , CopyCursor(QCursor(QPixmap(QLatin1String(":/webkit/resources/copyCursor.png")), 3, 2))
+ , ProgressCursor(QCursor(QPixmap(QLatin1String(":/webkit/resources/progressCursor.png")), 3, 2))
+ , AliasCursor(QCursor(QPixmap(QLatin1String(":/webkit/resources/aliasCursor.png")), 11, 3))
#endif
{
diff --git a/src/3rdparty/webkit/WebCore/platform/qt/RenderThemeQt.cpp b/src/3rdparty/webkit/WebCore/platform/qt/RenderThemeQt.cpp
index b61d356..501a28b 100644
--- a/src/3rdparty/webkit/WebCore/platform/qt/RenderThemeQt.cpp
+++ b/src/3rdparty/webkit/WebCore/platform/qt/RenderThemeQt.cpp
@@ -45,6 +45,7 @@
#include "RenderBox.h"
#include "RenderTheme.h"
#include "UserAgentStyleSheets.h"
+#include "QWebPageClient.h"
#include "qwebpage.h"
#include <QApplication>
@@ -757,12 +758,13 @@ ControlPart RenderThemeQt::applyTheme(QStyleOption& option, RenderObject* o) con
if (result == RadioPart || result == CheckboxPart)
option.state |= (isChecked(o) ? QStyle::State_On : QStyle::State_Off);
- // If the webview has a custom palette, use it
+ // If the owner widget has a custom palette, use it
Page* page = o->document()->page();
if (page) {
- QWidget* view = static_cast<ChromeClientQt*>(page->chrome()->client())->m_webPage->view();
- if (view)
- option.palette = view->palette();
+ ChromeClient* client = page->chrome()->client();
+ QWebPageClient* pageClient = client->platformPageClient();
+ if (pageClient)
+ option.palette = pageClient->palette();
}
return result;
diff --git a/src/3rdparty/webkit/WebCore/platform/qt/WheelEventQt.cpp b/src/3rdparty/webkit/WebCore/platform/qt/WheelEventQt.cpp
index 66118e1..9cc27ab 100644
--- a/src/3rdparty/webkit/WebCore/platform/qt/WheelEventQt.cpp
+++ b/src/3rdparty/webkit/WebCore/platform/qt/WheelEventQt.cpp
@@ -32,11 +32,11 @@ namespace WebCore {
void PlatformWheelEvent::applyDelta(int delta, Qt::Orientation orientation)
{
if (orientation == Qt::Horizontal) {
- m_deltaX = (delta / 120);
+ m_deltaX = (delta / 120.0f);
m_deltaY = 0;
} else {
m_deltaX = 0;
- m_deltaY = (delta / 120);
+ m_deltaY = (delta / 120.0f);
}
m_wheelTicksX = m_deltaX;
diff --git a/src/3rdparty/webkit/WebCore/platform/text/String.cpp b/src/3rdparty/webkit/WebCore/platform/text/String.cpp
index bef2674..44582a9 100644
--- a/src/3rdparty/webkit/WebCore/platform/text/String.cpp
+++ b/src/3rdparty/webkit/WebCore/platform/text/String.cpp
@@ -441,7 +441,7 @@ String String::number(unsigned long n)
String String::number(long long n)
{
-#if PLATFORM(WIN_OS)
+#if PLATFORM(WIN_OS) && !PLATFORM(QT)
return String::format("%I64i", n);
#else
return String::format("%lli", n);
@@ -450,7 +450,7 @@ String String::number(long long n)
String String::number(unsigned long long n)
{
-#if PLATFORM(WIN_OS)
+#if PLATFORM(WIN_OS) && !PLATFORM(QT)
return String::format("%I64u", n);
#else
return String::format("%llu", n);
diff --git a/src/3rdparty/webkit/WebCore/platform/win/BitmapInfo.cpp b/src/3rdparty/webkit/WebCore/platform/win/BitmapInfo.cpp
new file mode 100644
index 0000000..9a2312c
--- /dev/null
+++ b/src/3rdparty/webkit/WebCore/platform/win/BitmapInfo.cpp
@@ -0,0 +1,66 @@
+/*
+ * Copyright (C) 2009 Apple Inc. All Rights Reserved.
+ * Copyright (C) 2009 Brent Fulgham
+ *
+ * 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.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``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 APPLE INC. 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.
+ */
+
+#include "config.h"
+#include "BitmapInfo.h"
+
+namespace WebCore {
+
+BitmapInfo bitmapInfoForSize(int width, int height)
+{
+ BitmapInfo bitmapInfo;
+ bitmapInfo.bmiHeader.biSize = sizeof(BITMAPINFOHEADER);
+ bitmapInfo.bmiHeader.biWidth = width;
+ bitmapInfo.bmiHeader.biHeight = height;
+ bitmapInfo.bmiHeader.biPlanes = 1;
+ bitmapInfo.bmiHeader.biBitCount = 32;
+ bitmapInfo.bmiHeader.biCompression = BI_RGB;
+ bitmapInfo.bmiHeader.biSizeImage = 0;
+ bitmapInfo.bmiHeader.biXPelsPerMeter = 0;
+ bitmapInfo.bmiHeader.biYPelsPerMeter = 0;
+ bitmapInfo.bmiHeader.biClrUsed = 0;
+ bitmapInfo.bmiHeader.biClrImportant = 0;
+
+ return bitmapInfo;
+}
+
+BitmapInfo::BitmapInfo()
+{
+ memset(&bmiHeader, 0, sizeof(bmiHeader));
+ bmiHeader.biSize = sizeof(BITMAPINFOHEADER);
+}
+
+BitmapInfo BitmapInfo::create(const IntSize& size)
+{
+ return bitmapInfoForSize(size.width(), size.height());
+}
+
+BitmapInfo BitmapInfo::createBottomUp(const IntSize& size)
+{
+ return bitmapInfoForSize(size.width(), -size.height());
+}
+
+} // namespace WebCore
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSHTMLAllCollection.cpp b/src/3rdparty/webkit/WebCore/platform/win/BitmapInfo.h
index ce2609c..0127fdb 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSHTMLAllCollection.cpp
+++ b/src/3rdparty/webkit/WebCore/platform/win/BitmapInfo.h
@@ -1,5 +1,6 @@
/*
- * Copyright (C) 2008 Apple Inc. All rights reserved.
+ * Copyright (C) 2009 Apple Inc. All Rights Reserved.
+ * Copyright (C) 2009 Brent Fulgham
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -10,10 +11,10 @@
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
- * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``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 APPLE COMPUTER, INC. OR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. 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
@@ -23,13 +24,20 @@
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-#include "config.h"
-#include "JSHTMLAllCollection.h"
+#ifndef BitmapInfo_h
+#define BitmapInfo_h
-using namespace JSC;
+#include <windows.h>
+#include "IntSize.h"
namespace WebCore {
-const ClassInfo JSHTMLAllCollection::s_info = { "HTMLAllCollection", 0, 0, 0 };
+struct BitmapInfo : public BITMAPINFO {
+ BitmapInfo ();
+ static BitmapInfo create(const IntSize&);
+ static BitmapInfo createBottomUp(const IntSize&);
+};
} // namespace WebCore
+
+#endif // BitmapInfo_h
diff --git a/src/3rdparty/webkit/WebCore/plugins/PluginDatabase.cpp b/src/3rdparty/webkit/WebCore/plugins/PluginDatabase.cpp
index c7979d1..ea8e4ad 100644
--- a/src/3rdparty/webkit/WebCore/plugins/PluginDatabase.cpp
+++ b/src/3rdparty/webkit/WebCore/plugins/PluginDatabase.cpp
@@ -320,7 +320,7 @@ void PluginDatabase::clear()
m_preferredPlugins.clear();
}
-#if (!PLATFORM(SYMBIAN)) && (!PLATFORM(WIN_OS) || PLATFORM(WX))
+#if (!PLATFORM(WINCE)) && (!PLATFORM(SYMBIAN)) && (!PLATFORM(WIN_OS) || PLATFORM(WX) || !ENABLE(NETSCAPE_PLUGIN_API))
// For Safari/Win the following three methods are implemented
// in PluginDatabaseWin.cpp, but if we can use WebCore constructs
// for the logic we should perhaps move it here under XP_WIN?
@@ -380,7 +380,7 @@ Vector<String> PluginDatabase::defaultPluginDirectories()
// Add paths specific to each port
#if PLATFORM(QT)
Vector<String> qtPaths;
- String qtPath(getenv("QTWEBKIT_PLUGIN_PATH"));
+ String qtPath(qgetenv("QTWEBKIT_PLUGIN_PATH").constData());
qtPath.split(UChar(':'), /* allowEmptyEntries */ false, qtPaths);
paths.append(qtPaths);
#endif
diff --git a/src/3rdparty/webkit/WebCore/plugins/PluginPackage.cpp b/src/3rdparty/webkit/WebCore/plugins/PluginPackage.cpp
index 19337f0..8f2dfa9 100644
--- a/src/3rdparty/webkit/WebCore/plugins/PluginPackage.cpp
+++ b/src/3rdparty/webkit/WebCore/plugins/PluginPackage.cpp
@@ -319,15 +319,24 @@ bool PluginPackage::equal(const PluginPackage& a, const PluginPackage& b)
{
return a.m_description == b.m_description;
}
+#endif
int PluginPackage::compareFileVersion(const PlatformModuleVersion& compareVersion) const
{
// return -1, 0, or 1 if plug-in version is less than, equal to, or greater than
// the passed version
+
+#if PLATFORM(WIN_OS)
+ if (m_moduleVersion.mostSig != compareVersion.mostSig)
+ return m_moduleVersion.mostSig > compareVersion.mostSig ? 1 : -1;
+ if (m_moduleVersion.leastSig != compareVersion.leastSig)
+ return m_moduleVersion.leastSig > compareVersion.leastSig ? 1 : -1;
+#else
if (m_moduleVersion != compareVersion)
return m_moduleVersion > compareVersion ? 1 : -1;
+#endif
+
return 0;
}
-#endif
}
diff --git a/src/3rdparty/webkit/WebCore/plugins/PluginView.cpp b/src/3rdparty/webkit/WebCore/plugins/PluginView.cpp
index 8320bc4..d69f8a7 100644
--- a/src/3rdparty/webkit/WebCore/plugins/PluginView.cpp
+++ b/src/3rdparty/webkit/WebCore/plugins/PluginView.cpp
@@ -394,7 +394,7 @@ static bool getString(ScriptController* proxy, JSValue result, String& string)
return false;
JSLock lock(JSC::SilenceAssertionsOnly);
- ExecState* exec = proxy->globalObject()->globalExec();
+ ExecState* exec = proxy->globalObject(pluginWorld())->globalExec();
UString ustring = result.toString(exec);
exec->clearException();
diff --git a/src/3rdparty/webkit/WebCore/plugins/PluginView.h b/src/3rdparty/webkit/WebCore/plugins/PluginView.h
index 1477561..0a57fa6 100644
--- a/src/3rdparty/webkit/WebCore/plugins/PluginView.h
+++ b/src/3rdparty/webkit/WebCore/plugins/PluginView.h
@@ -61,6 +61,7 @@ namespace JSC {
namespace WebCore {
class Element;
class Frame;
+ class Image;
class KeyboardEvent;
class MouseEvent;
class KURL;
@@ -226,7 +227,7 @@ namespace WebCore {
void invalidateWindowlessPluginRect(const IntRect&);
#if PLATFORM(WIN_OS) && !PLATFORM(WX) && ENABLE(NETSCAPE_PLUGIN_API)
- void paintWindowedPluginIntoContext(GraphicsContext*, const IntRect&) const;
+ void paintWindowedPluginIntoContext(GraphicsContext*, const IntRect&);
static HDC WINAPI hookedBeginPaint(HWND, PAINTSTRUCT*);
static BOOL WINAPI hookedEndPaint(HWND, const PAINTSTRUCT*);
#endif
@@ -263,6 +264,11 @@ namespace WebCore {
void handleFocusOutEvent();
#endif
+#if PLATFORM(WIN_OS)
+ void paintIntoTransformedContext(HDC);
+ PassRefPtr<Image> snapshot();
+#endif
+
int m_mode;
int m_paramCount;
char** m_paramNames;
diff --git a/src/3rdparty/webkit/WebCore/plugins/qt/PluginViewQt.cpp b/src/3rdparty/webkit/WebCore/plugins/qt/PluginViewQt.cpp
index 28637a1..e61736b 100644
--- a/src/3rdparty/webkit/WebCore/plugins/qt/PluginViewQt.cpp
+++ b/src/3rdparty/webkit/WebCore/plugins/qt/PluginViewQt.cpp
@@ -178,11 +178,20 @@ void PluginView::paint(GraphicsContext* context, const IntRect& rect)
const bool syncX = m_pluginDisplay && m_pluginDisplay != QX11Info::display();
QPainter* painter = context->platformContext();
+ IntRect exposedRect(rect);
+ exposedRect.intersect(frameRect());
+ exposedRect.move(-frameRect().x(), -frameRect().y());
QPixmap qtDrawable = QPixmap::fromX11Pixmap(m_drawable, QPixmap::ExplicitlyShared);
const int drawableDepth = ((NPSetWindowCallbackStruct*)m_npWindow.ws_info)->depth;
ASSERT(drawableDepth == qtDrawable.depth());
+ // When printing, Qt uses a QPicture to capture the output in preview mode. The
+ // QPicture holds a reference to the X Pixmap. As a result, the print preview would
+ // update itself when the X Pixmap changes. To prevent this, we create a copy.
+ if (m_element->document()->printing())
+ qtDrawable = qtDrawable.copy();
+
if (m_isTransparent && drawableDepth != 32) {
// Attempt content propagation for drawable with no alpha by copying over from the backing store
QPoint offset;
@@ -202,11 +211,11 @@ void PluginView::paint(GraphicsContext* context, const IntRect& rect)
&& backingStoreHasUntransformedContents) {
GC gc = XDefaultGC(QX11Info::display(), QX11Info::appScreen());
XCopyArea(QX11Info::display(), backingStorePixmap->handle(), m_drawable, gc,
- offset.x() + m_windowRect.x() + m_clipRect.x(), offset.y() + m_windowRect.y() + m_clipRect.y(),
- m_clipRect.width(), m_clipRect.height(), m_clipRect.x(), m_clipRect.y());
+ offset.x() + m_windowRect.x() + exposedRect.x(), offset.y() + m_windowRect.y() + exposedRect.y(),
+ exposedRect.width(), exposedRect.height(), exposedRect.x(), exposedRect.y());
} else { // no backing store, clean the pixmap because the plugin thinks its transparent
QPainter painter(&qtDrawable);
- painter.fillRect(m_clipRect, Qt::white);
+ painter.fillRect(exposedRect, Qt::white);
}
if (syncX)
@@ -218,19 +227,19 @@ void PluginView::paint(GraphicsContext* context, const IntRect& rect)
XGraphicsExposeEvent& exposeEvent = xevent.xgraphicsexpose;
exposeEvent.type = GraphicsExpose;
exposeEvent.display = QX11Info::display();
- exposeEvent.drawable = m_drawable;
- exposeEvent.x = m_clipRect.x();
- exposeEvent.y = m_clipRect.y();
- exposeEvent.width = m_clipRect.x() + m_clipRect.width(); // flash bug? it thinks width is the right
- exposeEvent.height = m_clipRect.y() + m_clipRect.height(); // flash bug? it thinks height is the bottom
+ exposeEvent.drawable = qtDrawable.handle();
+ exposeEvent.x = exposedRect.x();
+ exposeEvent.y = exposedRect.y();
+ exposeEvent.width = exposedRect.x() + exposedRect.width(); // flash bug? it thinks width is the right in transparent mode
+ exposeEvent.height = exposedRect.y() + exposedRect.height(); // flash bug? it thinks height is the bottom in transparent mode
dispatchNPEvent(xevent);
if (syncX)
XSync(m_pluginDisplay, False); // sync changes by plugin
- painter->drawPixmap(frameRect().x() + m_clipRect.x(), frameRect().y() + m_clipRect.y(), qtDrawable,
- m_clipRect.x(), m_clipRect.y(), m_clipRect.width(), m_clipRect.height());
+ painter->drawPixmap(QPoint(frameRect().x() + exposedRect.x(), frameRect().y() + exposedRect.y()), qtDrawable,
+ exposedRect);
}
// TODO: Unify across ports.
@@ -630,7 +639,7 @@ NPError PluginView::getValue(NPNVariable variable, void* value)
case NPNVnetscapeWindow: {
void* w = reinterpret_cast<void*>(value);
QWebPageClient* client = m_parentFrame->view()->hostWindow()->platformPageClient();
- *((XID *)w) = client ? client->ownerWidget()->winId() : 0;
+ *((XID *)w) = client ? client->ownerWidget()->window()->winId() : 0;
return NPERR_NO_ERROR;
}
@@ -661,7 +670,7 @@ void PluginView::invalidateRect(NPRect* rect)
invalidate();
return;
}
- IntRect r(rect->left, rect->top, rect->right + rect->left, rect->bottom + rect->top);
+ IntRect r(rect->left, rect->top, rect->right - rect->left, rect->bottom - rect->top);
invalidateWindowlessPluginRect(r);
}
diff --git a/src/3rdparty/webkit/WebCore/plugins/win/PluginPackageWin.cpp b/src/3rdparty/webkit/WebCore/plugins/win/PluginPackageWin.cpp
index e6fb9d5..dc9ec17 100644
--- a/src/3rdparty/webkit/WebCore/plugins/win/PluginPackageWin.cpp
+++ b/src/3rdparty/webkit/WebCore/plugins/win/PluginPackageWin.cpp
@@ -56,17 +56,6 @@ static String getVersionInfo(const LPVOID versionInfoData, const String& info)
return String(reinterpret_cast<UChar*>(buffer), bufferLength - 1);
}
-int PluginPackage::compareFileVersion(const PlatformModuleVersion& compareVersion) const
-{
- // return -1, 0, or 1 if plug-in version is less than, equal to, or greater than
- // the passed version
- if (m_moduleVersion.mostSig != compareVersion.mostSig)
- return m_moduleVersion.mostSig > compareVersion.mostSig ? 1 : -1;
- if (m_moduleVersion.leastSig != compareVersion.leastSig)
- return m_moduleVersion.leastSig > compareVersion.leastSig ? 1 : -1;
- return 0;
-}
-
bool PluginPackage::isPluginBlacklisted()
{
if (name() == "Citrix ICA Client") {
diff --git a/src/3rdparty/webkit/WebCore/plugins/win/PluginViewWin.cpp b/src/3rdparty/webkit/WebCore/plugins/win/PluginViewWin.cpp
index e1bf8d6..5ccce0e 100644
--- a/src/3rdparty/webkit/WebCore/plugins/win/PluginViewWin.cpp
+++ b/src/3rdparty/webkit/WebCore/plugins/win/PluginViewWin.cpp
@@ -30,6 +30,7 @@
#include "PluginView.h"
#include "BitmapImage.h"
+#include "BitmapInfo.h"
#include "Document.h"
#include "DocumentLoader.h"
#include "Element.h"
@@ -495,7 +496,54 @@ bool PluginView::dispatchNPEvent(NPEvent& npEvent)
return result;
}
-void PluginView::paintWindowedPluginIntoContext(GraphicsContext* context, const IntRect& rect) const
+void PluginView::paintIntoTransformedContext(HDC hdc)
+{
+ if (m_isWindowed) {
+ SendMessage(platformPluginWidget(), WM_PRINTCLIENT, reinterpret_cast<WPARAM>(hdc), PRF_CLIENT | PRF_CHILDREN | PRF_OWNED);
+ return;
+ }
+
+ m_npWindow.type = NPWindowTypeDrawable;
+ m_npWindow.window = hdc;
+
+ WINDOWPOS windowpos = { 0 };
+
+#if PLATFORM(WINCE)
+ IntRect r = static_cast<FrameView*>(parent())->contentsToWindow(frameRect());
+
+ windowpos.x = r.x();
+ windowpos.y = r.y();
+ windowpos.cx = r.width();
+ windowpos.cy = r.height();
+#else
+ IntPoint p = static_cast<FrameView*>(parent())->contentsToWindow(frameRect().location());
+
+ windowpos.x = p.x();
+ windowpos.y = p.y();
+ windowpos.cx = frameRect().width();
+ windowpos.cy = frameRect().height();
+#endif
+
+ NPEvent npEvent;
+ npEvent.event = WM_WINDOWPOSCHANGED;
+ npEvent.lParam = reinterpret_cast<uint32>(&windowpos);
+ npEvent.wParam = 0;
+
+ dispatchNPEvent(npEvent);
+
+ setNPWindowRect(frameRect());
+
+ npEvent.event = WM_PAINT;
+ npEvent.wParam = reinterpret_cast<uint32>(hdc);
+
+ // This is supposed to be a pointer to the dirty rect, but it seems that the Flash plugin
+ // ignores it so we just pass null.
+ npEvent.lParam = 0;
+
+ dispatchNPEvent(npEvent);
+}
+
+void PluginView::paintWindowedPluginIntoContext(GraphicsContext* context, const IntRect& rect)
{
#if !PLATFORM(WINCE)
ASSERT(m_isWindowed);
@@ -517,7 +565,7 @@ void PluginView::paintWindowedPluginIntoContext(GraphicsContext* context, const
SetWorldTransform(hdc, &transform);
- SendMessage(platformPluginWidget(), WM_PRINTCLIENT, reinterpret_cast<WPARAM>(hdc), PRF_CLIENT | PRF_CHILDREN | PRF_OWNED);
+ paintIntoTransformedContext(hdc);
SetWorldTransform(hdc, &originalTransform);
@@ -547,7 +595,6 @@ void PluginView::paint(GraphicsContext* context, const IntRect& rect)
ASSERT(parent()->isFrameView());
IntRect rectInWindow = static_cast<FrameView*>(parent())->contentsToWindow(frameRect());
HDC hdc = context->getWindowsContext(rectInWindow, m_isTransparent);
- NPEvent npEvent;
// On Safari/Windows without transparency layers the GraphicsContext returns the HDC
// of the window and the plugin expects that the passed in DC has window coordinates.
@@ -563,44 +610,7 @@ void PluginView::paint(GraphicsContext* context, const IntRect& rect)
}
#endif
- m_npWindow.type = NPWindowTypeDrawable;
- m_npWindow.window = hdc;
-
- WINDOWPOS windowpos;
- memset(&windowpos, 0, sizeof(windowpos));
-
-#if PLATFORM(WINCE)
- IntRect r = static_cast<FrameView*>(parent())->contentsToWindow(frameRect());
-
- windowpos.x = r.x();
- windowpos.y = r.y();
- windowpos.cx = r.width();
- windowpos.cy = r.height();
-#else
- IntPoint p = static_cast<FrameView*>(parent())->contentsToWindow(frameRect().location());
-
- windowpos.x = p.x();
- windowpos.y = p.y();
- windowpos.cx = frameRect().width();
- windowpos.cy = frameRect().height();
-#endif
-
- npEvent.event = WM_WINDOWPOSCHANGED;
- npEvent.lParam = reinterpret_cast<uint32>(&windowpos);
- npEvent.wParam = 0;
-
- dispatchNPEvent(npEvent);
-
- setNPWindowRect(frameRect());
-
- npEvent.event = WM_PAINT;
- npEvent.wParam = reinterpret_cast<uint32>(hdc);
-
- // This is supposed to be a pointer to the dirty rect, but it seems that the Flash plugin
- // ignores it so we just pass null.
- npEvent.lParam = 0;
-
- dispatchNPEvent(npEvent);
+ paintIntoTransformedContext(hdc);
context->releaseWindowsContext(hdc, frameRect(), m_isTransparent);
}
@@ -1018,6 +1028,39 @@ void PluginView::platformDestroy()
setPlatformPluginWidget(0);
}
+PassRefPtr<Image> PluginView::snapshot()
+{
+ OwnPtr<HDC> hdc(CreateCompatibleDC(0));
+
+ if (!m_isWindowed) {
+ // Enable world transforms.
+ SetGraphicsMode(hdc.get(), GM_ADVANCED);
+
+ XFORM transform;
+ GetWorldTransform(hdc.get(), &transform);
+
+ // Windowless plug-ins assume that they're drawing onto the view's DC.
+ // Translate the context so that the plug-in draws at (0, 0).
+ ASSERT(parent()->isFrameView());
+ IntPoint position = static_cast<FrameView*>(parent())->contentsToWindow(frameRect()).location();
+ transform.eDx = -position.x();
+ transform.eDy = -position.y();
+ SetWorldTransform(hdc.get(), &transform);
+ }
+
+ void* bits;
+ BitmapInfo bmp = BitmapInfo::createBottomUp(frameRect().size());
+ OwnPtr<HBITMAP> hbmp(CreateDIBSection(0, &bmp, DIB_RGB_COLORS, &bits, 0, 0));
+
+ HBITMAP hbmpOld = static_cast<HBITMAP>(SelectObject(hdc.get(), hbmp.get()));
+
+ paintIntoTransformedContext(hdc.get());
+
+ SelectObject(hdc.get(), hbmpOld);
+
+ return BitmapImage::create(hbmp.get());
+}
+
void PluginView::halt()
{
ASSERT(!m_isHalted);
@@ -1025,8 +1068,7 @@ void PluginView::halt()
#if !PLATFORM(QT)
// Show a screenshot of the plug-in.
- OwnPtr<HBITMAP> nodeImage(m_parentFrame->nodeImage(m_element));
- toRenderWidget(m_element->renderer())->showSubstituteImage(BitmapImage::create(nodeImage.get()));
+ toRenderWidget(m_element->renderer())->showSubstituteImage(snapshot());
#endif
m_isHalted = true;
diff --git a/src/3rdparty/webkit/WebCore/rendering/HitTestResult.cpp b/src/3rdparty/webkit/WebCore/rendering/HitTestResult.cpp
index 0aaddc9..50933c6 100644
--- a/src/3rdparty/webkit/WebCore/rendering/HitTestResult.cpp
+++ b/src/3rdparty/webkit/WebCore/rendering/HitTestResult.cpp
@@ -123,17 +123,6 @@ Frame* HitTestResult::targetFrame() const
return frame->tree()->find(m_innerURLElement->target());
}
-IntRect HitTestResult::boundingBox() const
-{
- if (m_innerNonSharedNode) {
- RenderObject* renderer = m_innerNonSharedNode->renderer();
- if (renderer)
- return renderer->absoluteBoundingBoxRect();
- }
-
- return IntRect();
-}
-
bool HitTestResult::isSelected() const
{
if (!m_innerNonSharedNode)
@@ -246,7 +235,7 @@ IntRect HitTestResult::imageRect() const
{
if (!image())
return IntRect();
- return m_innerNonSharedNode->renderBox()->absoluteContentBox();
+ return m_innerNonSharedNode->renderBox()->absoluteContentQuad().enclosingBoundingBox();
}
KURL HitTestResult::absoluteImageURL() const
diff --git a/src/3rdparty/webkit/WebCore/rendering/HitTestResult.h b/src/3rdparty/webkit/WebCore/rendering/HitTestResult.h
index f29ca41..25e1058 100644
--- a/src/3rdparty/webkit/WebCore/rendering/HitTestResult.h
+++ b/src/3rdparty/webkit/WebCore/rendering/HitTestResult.h
@@ -63,7 +63,6 @@ public:
void setIsOverWidget(bool b) { m_isOverWidget = b; }
Frame* targetFrame() const;
- IntRect boundingBox() const;
bool isSelected() const;
String spellingToolTip(TextDirection&) const;
String replacedString() const;
diff --git a/src/3rdparty/webkit/WebCore/rendering/MediaControlElements.cpp b/src/3rdparty/webkit/WebCore/rendering/MediaControlElements.cpp
index 73b9a3a..9611660 100644
--- a/src/3rdparty/webkit/WebCore/rendering/MediaControlElements.cpp
+++ b/src/3rdparty/webkit/WebCore/rendering/MediaControlElements.cpp
@@ -646,6 +646,15 @@ void MediaControlVolumeSliderElement::defaultEventHandler(Event* event)
}
}
+void MediaControlVolumeSliderElement::update()
+{
+ float volume = m_mediaElement->volume();
+ if (value().toFloat() != volume) {
+ setValue(String::number(volume));
+ MediaControlInputElement::update();
+ }
+}
+
// ----------------------------
MediaControlFullscreenButtonElement::MediaControlFullscreenButtonElement(Document* document, HTMLMediaElement* element)
diff --git a/src/3rdparty/webkit/WebCore/rendering/MediaControlElements.h b/src/3rdparty/webkit/WebCore/rendering/MediaControlElements.h
index e562bb5..8b297733 100644
--- a/src/3rdparty/webkit/WebCore/rendering/MediaControlElements.h
+++ b/src/3rdparty/webkit/WebCore/rendering/MediaControlElements.h
@@ -234,6 +234,7 @@ class MediaControlVolumeSliderElement : public MediaControlInputElement {
public:
MediaControlVolumeSliderElement(Document*, HTMLMediaElement*);
virtual void defaultEventHandler(Event*);
+ virtual void update();
};
// ----------------------------
diff --git a/src/3rdparty/webkit/WebCore/rendering/RenderBox.h b/src/3rdparty/webkit/WebCore/rendering/RenderBox.h
index 41c5622..9050dcb 100644
--- a/src/3rdparty/webkit/WebCore/rendering/RenderBox.h
+++ b/src/3rdparty/webkit/WebCore/rendering/RenderBox.h
@@ -318,7 +318,7 @@ protected:
virtual bool shouldCalculateSizeAsReplaced() const { return isReplaced() && !isInlineBlockOrInlineTable(); }
- virtual void mapLocalToContainer(RenderBoxModelObject* repaintContainer, bool useTransforms, bool fixed, TransformState&) const;
+ virtual void mapLocalToContainer(RenderBoxModelObject* repaintContainer, bool fixed, bool useTransforms, TransformState&) const;
virtual void mapAbsoluteToLocalPoint(bool fixed, bool useTransforms, TransformState&) const;
private:
diff --git a/src/3rdparty/webkit/WebCore/rendering/RenderInline.cpp b/src/3rdparty/webkit/WebCore/rendering/RenderInline.cpp
index 05d29d0..0302113 100644
--- a/src/3rdparty/webkit/WebCore/rendering/RenderInline.cpp
+++ b/src/3rdparty/webkit/WebCore/rendering/RenderInline.cpp
@@ -30,6 +30,7 @@
#include "RenderArena.h"
#include "RenderBlock.h"
#include "RenderView.h"
+#include "TransformState.h"
#include "VisiblePosition.h"
#if ENABLE(DASHBOARD_SUPPORT)
@@ -705,6 +706,92 @@ void RenderInline::computeRectForRepaint(RenderBoxModelObject* repaintContainer,
o->computeRectForRepaint(repaintContainer, rect, fixed);
}
+IntSize RenderInline::offsetFromContainer(RenderObject* container) const
+{
+ ASSERT(container == this->container());
+
+ IntSize offset;
+ if (isRelPositioned())
+ offset += relativePositionOffset();
+
+ if (!isInline() || isReplaced()) {
+ RenderBlock* cb;
+ if (container->isBlockFlow() && (cb = toRenderBlock(container))->hasColumns()) {
+ IntRect rect(0, 0, 1, 1);
+ cb->adjustRectForColumns(rect);
+ }
+ }
+
+ if (container->hasOverflowClip())
+ offset -= toRenderBox(container)->layer()->scrolledContentOffset();
+
+ return offset;
+}
+
+void RenderInline::mapLocalToContainer(RenderBoxModelObject* repaintContainer, bool fixed, bool useTransforms, TransformState& transformState) const
+{
+ if (repaintContainer == this)
+ return;
+
+ if (RenderView *v = view()) {
+ if (v->layoutStateEnabled() && !repaintContainer) {
+ LayoutState* layoutState = v->layoutState();
+ IntSize offset = layoutState->m_offset;
+ if (style()->position() == RelativePosition && layer())
+ offset += layer()->relativePositionOffset();
+ transformState.move(offset);
+ return;
+ }
+ }
+
+ bool containerSkipped;
+ RenderObject* o = container(repaintContainer, &containerSkipped);
+ if (!o)
+ return;
+
+ IntSize containerOffset = offsetFromContainer(o);
+
+ bool preserve3D = useTransforms && (o->style()->preserves3D() || style()->preserves3D());
+ if (useTransforms && shouldUseTransformFromContainer(o)) {
+ TransformationMatrix t;
+ getTransformFromContainer(o, containerOffset, t);
+ transformState.applyTransform(t, preserve3D ? TransformState::AccumulateTransform : TransformState::FlattenTransform);
+ } else
+ transformState.move(containerOffset.width(), containerOffset.height(), preserve3D ? TransformState::AccumulateTransform : TransformState::FlattenTransform);
+
+ if (containerSkipped) {
+ // There can't be a transform between repaintContainer and o, because transforms create containers, so it should be safe
+ // to just subtract the delta between the repaintContainer and o.
+ IntSize containerOffset = repaintContainer->offsetFromAncestorContainer(o);
+ transformState.move(-containerOffset.width(), -containerOffset.height(), preserve3D ? TransformState::AccumulateTransform : TransformState::FlattenTransform);
+ return;
+ }
+
+ o->mapLocalToContainer(repaintContainer, fixed, useTransforms, transformState);
+}
+
+void RenderInline::mapAbsoluteToLocalPoint(bool fixed, bool useTransforms, TransformState& transformState) const
+{
+ // We don't expect this function to be called during layout.
+ ASSERT(!view() || !view()->layoutStateEnabled());
+
+ RenderObject* o = container();
+ if (!o)
+ return;
+
+ o->mapAbsoluteToLocalPoint(fixed, useTransforms, transformState);
+
+ IntSize containerOffset = offsetFromContainer(o);
+
+ bool preserve3D = useTransforms && (o->style()->preserves3D() || style()->preserves3D());
+ if (useTransforms && shouldUseTransformFromContainer(o)) {
+ TransformationMatrix t;
+ getTransformFromContainer(o, containerOffset, t);
+ transformState.applyTransform(t, preserve3D ? TransformState::AccumulateTransform : TransformState::FlattenTransform);
+ } else
+ transformState.move(-containerOffset.width(), -containerOffset.height(), preserve3D ? TransformState::AccumulateTransform : TransformState::FlattenTransform);
+}
+
void RenderInline::updateDragState(bool dragOn)
{
RenderBoxModelObject::updateDragState(dragOn);
diff --git a/src/3rdparty/webkit/WebCore/rendering/RenderInline.h b/src/3rdparty/webkit/WebCore/rendering/RenderInline.h
index 8e0064e..8e9715c 100644
--- a/src/3rdparty/webkit/WebCore/rendering/RenderInline.h
+++ b/src/3rdparty/webkit/WebCore/rendering/RenderInline.h
@@ -44,6 +44,8 @@ public:
virtual void absoluteRects(Vector<IntRect>&, int tx, int ty);
virtual void absoluteQuads(Vector<FloatQuad>&);
+ virtual IntSize offsetFromContainer(RenderObject*) const;
+
IntRect linesBoundingBox() const;
IntRect linesVisibleOverflowBoundingBox() const;
@@ -107,6 +109,9 @@ private:
virtual IntRect rectWithOutlineForRepaint(RenderBoxModelObject* repaintContainer, int outlineWidth);
virtual void computeRectForRepaint(RenderBoxModelObject* repaintContainer, IntRect& rect, bool fixed);
+ virtual void mapLocalToContainer(RenderBoxModelObject* repaintContainer, bool fixed, bool useTransforms, TransformState&) const;
+ virtual void mapAbsoluteToLocalPoint(bool fixed, bool useTransforms, TransformState&) const;
+
virtual VisiblePosition positionForPoint(const IntPoint&);
virtual IntRect borderBoundingBox() const
diff --git a/src/3rdparty/webkit/WebCore/rendering/RenderMedia.cpp b/src/3rdparty/webkit/WebCore/rendering/RenderMedia.cpp
index 1da2628..1d4da23 100644
--- a/src/3rdparty/webkit/WebCore/rendering/RenderMedia.cpp
+++ b/src/3rdparty/webkit/WebCore/rendering/RenderMedia.cpp
@@ -258,6 +258,7 @@ void RenderMedia::createVolumeSlider()
m_volumeSlider = new MediaControlVolumeSliderElement(document(), mediaElement());
m_volumeSlider->setAttribute(precisionAttr, "float");
m_volumeSlider->setAttribute(maxAttr, "1");
+ m_volumeSlider->setAttribute(valueAttr, String::number(mediaElement()->volume()));
m_volumeSlider->attachToParent(m_volumeSliderContainer.get());
}
diff --git a/src/3rdparty/webkit/WebCore/rendering/RenderMediaControlsChromium.cpp b/src/3rdparty/webkit/WebCore/rendering/RenderMediaControlsChromium.cpp
index ed20ecf..56fbec4 100644
--- a/src/3rdparty/webkit/WebCore/rendering/RenderMediaControlsChromium.cpp
+++ b/src/3rdparty/webkit/WebCore/rendering/RenderMediaControlsChromium.cpp
@@ -54,6 +54,12 @@ static Image* platformResource(const char* name)
return 0;
}
+static bool hasSource(const HTMLMediaElement* mediaElement)
+{
+ return mediaElement->networkState() != HTMLMediaElement::NETWORK_EMPTY
+ && mediaElement->networkState() != HTMLMediaElement::NETWORK_NO_SOURCE;
+}
+
static bool paintMediaButton(GraphicsContext* context, const IntRect& rect, Image* image)
{
IntRect imageRect = image->rect();
@@ -71,7 +77,7 @@ static bool paintMediaMuteButton(RenderObject* object, const RenderObject::Paint
static Image* soundNone = platformResource("mediaSoundNone");
static Image* soundDisabled = platformResource("mediaSoundDisabled");
- if (mediaElement->networkState() == HTMLMediaElement::NETWORK_NO_SOURCE || !mediaElement->hasAudio())
+ if (!hasSource(mediaElement) || !mediaElement->hasAudio())
return paintMediaButton(paintInfo.context, rect, soundDisabled);
return paintMediaButton(paintInfo.context, rect, mediaElement->muted() ? soundNone: soundFull);
@@ -87,8 +93,7 @@ static bool paintMediaPlayButton(RenderObject* object, const RenderObject::Paint
static Image* mediaPause = platformResource("mediaPause");
static Image* mediaPlayDisabled = platformResource("mediaPlayDisabled");
- if (mediaElement->networkState() == HTMLMediaElement::NETWORK_EMPTY ||
- mediaElement->networkState() == HTMLMediaElement::NETWORK_NO_SOURCE)
+ if (!hasSource(mediaElement))
return paintMediaButton(paintInfo.context, rect, mediaPlayDisabled);
return paintMediaButton(paintInfo.context, rect, mediaElement->paused() ? mediaPlay : mediaPause);
@@ -147,6 +152,13 @@ static bool paintMediaSliderThumb(RenderObject* object, const RenderObject::Pain
if (!object->parent()->isSlider())
return false;
+ HTMLMediaElement* mediaElement = toParentMediaElement(object->parent());
+ if (!mediaElement)
+ return false;
+
+ if (!hasSource(mediaElement))
+ return true;
+
static Image* mediaSliderThumb = platformResource("mediaSliderThumb");
return paintMediaButton(paintInfo.context, rect, mediaSliderThumb);
}
@@ -228,6 +240,8 @@ bool RenderMediaControlsChromium::shouldRenderMediaControlPart(ControlPart part,
case MediaCurrentTimePart:
case MediaTimeRemainingPart:
return true;
+ default:
+ ;
}
return false;
}
@@ -258,6 +272,9 @@ bool RenderMediaControlsChromium::paintMediaControlsPart(MediaControlElementType
case MediaCurrentTimeDisplay:
case MediaTimeRemainingDisplay:
case MediaControlsPanel:
+ case MediaRewindButton:
+ case MediaReturnToRealtimeButton:
+ case MediaStatusDisplay:
ASSERT_NOT_REACHED();
break;
}
diff --git a/src/3rdparty/webkit/WebCore/rendering/RenderThemeChromiumWin.cpp b/src/3rdparty/webkit/WebCore/rendering/RenderThemeChromiumWin.cpp
index 20503f3..4b38d53 100644
--- a/src/3rdparty/webkit/WebCore/rendering/RenderThemeChromiumWin.cpp
+++ b/src/3rdparty/webkit/WebCore/rendering/RenderThemeChromiumWin.cpp
@@ -611,21 +611,11 @@ bool RenderThemeChromiumWin::paintTextFieldInternal(RenderObject* o,
const IntRect& r,
bool drawEdges)
{
- // Nasty hack to make us not paint the border on text fields with a
- // border-radius. Webkit paints elements with border-radius for us.
- // FIXME: Get rid of this if-check once we can properly clip rounded
- // borders: http://b/1112604 and http://b/1108635
- // FIXME: make sure we do the right thing if css background-clip is set.
- if (o->style()->hasBorderRadius())
- return false;
-
- const ThemeData& themeData = getThemeData(o);
-
// Fallback to white if the specified color object is invalid.
+ // (Note ChromiumBridge::paintTextField duplicates this check).
Color backgroundColor(Color::white);
- if (o->style()->backgroundColor().isValid()) {
+ if (o->style()->backgroundColor().isValid())
backgroundColor = o->style()->backgroundColor();
- }
// If we have background-image, don't fill the content area to expose the
// parent's background. Also, we shouldn't fill the content area if the
@@ -634,17 +624,32 @@ bool RenderThemeChromiumWin::paintTextFieldInternal(RenderObject* o,
// Note that we should paint the content area white if we have neither the
// background color nor background image explicitly specified to keep the
// appearance of select element consistent with other browsers.
- bool fillContentArea = !o->style()->hasBackgroundImage() && backgroundColor.alpha() != 0;
-
- WebCore::ThemePainter painter(i.context, r);
- ChromiumBridge::paintTextField(painter.context(),
- themeData.m_part,
- themeData.m_state,
- themeData.m_classicState,
- painter.drawRect(),
- backgroundColor,
- fillContentArea,
- drawEdges);
+ bool fillContentArea = !o->style()->hasBackgroundImage() && backgroundColor.alpha();
+
+ if (o->style()->hasBorderRadius()) {
+ // If the style has rounded borders, setup the context to clip the
+ // background (themed or filled) appropriately.
+ // FIXME: make sure we do the right thing if css background-clip is set.
+ i.context->save();
+ IntSize topLeft, topRight, bottomLeft, bottomRight;
+ o->style()->getBorderRadiiForRect(r, topLeft, topRight, bottomLeft, bottomRight);
+ i.context->addRoundedRectClip(r, topLeft, topRight, bottomLeft, bottomRight);
+ }
+ {
+ const ThemeData& themeData = getThemeData(o);
+ WebCore::ThemePainter painter(i.context, r);
+ ChromiumBridge::paintTextField(painter.context(),
+ themeData.m_part,
+ themeData.m_state,
+ themeData.m_classicState,
+ painter.drawRect(),
+ backgroundColor,
+ fillContentArea,
+ drawEdges);
+ // End of block commits the painter before restoring context.
+ }
+ if (o->style()->hasBorderRadius())
+ i.context->restore();
return false;
}
diff --git a/src/3rdparty/webkit/WebCore/rendering/RenderTreeAsText.cpp b/src/3rdparty/webkit/WebCore/rendering/RenderTreeAsText.cpp
index 5c6e738..b7ab191 100644
--- a/src/3rdparty/webkit/WebCore/rendering/RenderTreeAsText.cpp
+++ b/src/3rdparty/webkit/WebCore/rendering/RenderTreeAsText.cpp
@@ -28,6 +28,7 @@
#include "CSSMutableStyleDeclaration.h"
#include "CharacterNames.h"
+#include "CString.h"
#include "Document.h"
#include "Frame.h"
#include "FrameView.h"
@@ -553,4 +554,31 @@ String externalRepresentation(RenderObject* o)
return ts.release();
}
+static void writeCounterValuesFromChildren(TextStream& stream, RenderObject* parent)
+{
+ for (RenderObject* child = parent->firstChild(); child; child = child->nextSibling()) {
+ if (child->isCounter()) {
+ String str(toRenderText(child)->text());
+ stream << str;
+ }
+ }
+}
+
+String counterValueForElement(Element* element)
+{
+ // Make sure the element is not freed during the layout.
+ RefPtr<Element> elementRef(element);
+ element->document()->updateLayout();
+ TextStream stream;
+ // The counter renderers should be children of anonymous children
+ // (i.e., :before or :after pseudo-elements).
+ if (RenderObject* renderer = element->renderer()) {
+ for (RenderObject* child = renderer->firstChild(); child; child = child->nextSibling()) {
+ if (child->isAnonymous())
+ writeCounterValuesFromChildren(stream, child);
+ }
+ }
+ return stream.release();
+}
+
} // namespace WebCore
diff --git a/src/3rdparty/webkit/WebCore/rendering/RenderTreeAsText.h b/src/3rdparty/webkit/WebCore/rendering/RenderTreeAsText.h
index daca253..325f109 100644
--- a/src/3rdparty/webkit/WebCore/rendering/RenderTreeAsText.h
+++ b/src/3rdparty/webkit/WebCore/rendering/RenderTreeAsText.h
@@ -28,15 +28,18 @@
namespace WebCore {
- class RenderObject;
- class String;
- class TextStream;
+class Element;
+class RenderObject;
+class String;
+class TextStream;
- String externalRepresentation(RenderObject*);
- void write(TextStream&, const RenderObject&, int indent = 0);
+String externalRepresentation(RenderObject*);
+void write(TextStream&, const RenderObject&, int indent = 0);
- // Helper function shared with SVGRenderTreeAsText
- String quoteAndEscapeNonPrintables(const String&);
+// Helper function shared with SVGRenderTreeAsText
+String quoteAndEscapeNonPrintables(const String&);
+
+String counterValueForElement(Element*);
} // namespace WebCore
diff --git a/src/3rdparty/webkit/WebCore/rendering/SVGRenderSupport.cpp b/src/3rdparty/webkit/WebCore/rendering/SVGRenderSupport.cpp
index 0f295e4..ea087f9 100644
--- a/src/3rdparty/webkit/WebCore/rendering/SVGRenderSupport.cpp
+++ b/src/3rdparty/webkit/WebCore/rendering/SVGRenderSupport.cpp
@@ -94,6 +94,9 @@ void SVGRenderBase::prepareToRenderSVGContent(RenderObject* object, RenderObject
paintInfo.context->beginTransparencyLayer(opacity);
}
+ if (ShadowData* shadow = svgStyle->shadow())
+ paintInfo.context->setShadow(IntSize(shadow->x, shadow->y), shadow->blur, shadow->color);
+
#if ENABLE(FILTERS)
AtomicString filterId(svgStyle->filter());
#endif
diff --git a/src/3rdparty/webkit/WebCore/rendering/style/SVGRenderStyle.cpp b/src/3rdparty/webkit/WebCore/rendering/style/SVGRenderStyle.cpp
index 1289b06..e8827c4 100644
--- a/src/3rdparty/webkit/WebCore/rendering/style/SVGRenderStyle.cpp
+++ b/src/3rdparty/webkit/WebCore/rendering/style/SVGRenderStyle.cpp
@@ -51,6 +51,7 @@ SVGRenderStyle::SVGRenderStyle()
mask = defaultStyle->mask;
misc = defaultStyle->misc;
markers = defaultStyle->markers;
+ shadowSVG = defaultStyle->shadowSVG;
setBitDefaults();
}
@@ -67,6 +68,7 @@ SVGRenderStyle::SVGRenderStyle(CreateDefaultType)
mask.init();
misc.init();
markers.init();
+ shadowSVG.init();
}
SVGRenderStyle::SVGRenderStyle(const SVGRenderStyle& other)
@@ -80,6 +82,7 @@ SVGRenderStyle::SVGRenderStyle(const SVGRenderStyle& other)
mask = other.mask;
misc = other.misc;
markers = other.markers;
+ shadowSVG = other.shadowSVG;
svg_inherited_flags = other.svg_inherited_flags;
svg_noninherited_flags = other.svg_noninherited_flags;
@@ -93,7 +96,7 @@ bool SVGRenderStyle::operator==(const SVGRenderStyle& o) const
{
return (fill == o.fill && stroke == o.stroke && text == o.text &&
stops == o.stops && clip == o.clip && mask == o.mask &&
- misc == o.misc && markers == o.markers &&
+ misc == o.misc && markers == o.markers && shadowSVG == o.shadowSVG &&
svg_inherited_flags == o.svg_inherited_flags &&
svg_noninherited_flags == o.svg_noninherited_flags);
}
diff --git a/src/3rdparty/webkit/WebCore/rendering/style/SVGRenderStyle.h b/src/3rdparty/webkit/WebCore/rendering/style/SVGRenderStyle.h
index e50d349..12477d7 100644
--- a/src/3rdparty/webkit/WebCore/rendering/style/SVGRenderStyle.h
+++ b/src/3rdparty/webkit/WebCore/rendering/style/SVGRenderStyle.h
@@ -30,6 +30,7 @@
#include "GraphicsTypes.h"
#include "SVGPaint.h"
#include "SVGRenderStyleDefs.h"
+#include "ShadowData.h"
#include <wtf/Platform.h>
@@ -98,6 +99,8 @@ namespace WebCore {
SVG_RS_DEFINE_ATTRIBUTE_DATAREF_WITH_INITIAL(Color, misc, lightingColor, LightingColor, lightingColor, Color(255, 255, 255))
SVG_RS_DEFINE_ATTRIBUTE_DATAREF_WITH_INITIAL_REFCOUNTED(CSSValue, misc, baselineShiftValue, BaselineShiftValue, baselineShiftValue, 0)
+ SVG_RS_DEFINE_ATTRIBUTE_DATAREF_WITH_INITIAL_OWNPTR(ShadowData, shadowSVG, shadow, Shadow, shadow, 0)
+
// convenience
bool hasStroke() const { return (strokePaint()->paintType() != SVGPaint::SVG_PAINTTYPE_NONE); }
bool hasFill() const { return (fillPaint()->paintType() != SVGPaint::SVG_PAINTTYPE_NONE); }
@@ -172,6 +175,7 @@ namespace WebCore {
DataRef<StyleClipData> clip;
DataRef<StyleMaskData> mask;
DataRef<StyleMiscData> misc;
+ DataRef<StyleShadowSVGData> shadowSVG;
private:
enum CreateDefaultType { CreateDefault };
diff --git a/src/3rdparty/webkit/WebCore/rendering/style/SVGRenderStyleDefs.cpp b/src/3rdparty/webkit/WebCore/rendering/style/SVGRenderStyleDefs.cpp
index f5faad3..2ed1d8f 100644
--- a/src/3rdparty/webkit/WebCore/rendering/style/SVGRenderStyleDefs.cpp
+++ b/src/3rdparty/webkit/WebCore/rendering/style/SVGRenderStyleDefs.cpp
@@ -213,6 +213,25 @@ bool StyleMiscData::operator==(const StyleMiscData &other) const
&& baselineShiftValue == other.baselineShiftValue;
}
+StyleShadowSVGData::StyleShadowSVGData()
+{
+}
+
+StyleShadowSVGData::StyleShadowSVGData(const StyleShadowSVGData& other)
+ : RefCounted<StyleShadowSVGData>()
+ , shadow(other.shadow ? new ShadowData(*other.shadow) : 0)
+{
+}
+
+bool StyleShadowSVGData::operator==(const StyleShadowSVGData& other) const
+{
+ if ((!shadow && other.shadow) || (shadow && !other.shadow))
+ return false;
+ if (shadow && other.shadow && (*shadow != *other.shadow))
+ return false;
+ return true;
+}
+
#endif // ENABLE(SVG)
// vim:ts=4:noet
diff --git a/src/3rdparty/webkit/WebCore/rendering/style/SVGRenderStyleDefs.h b/src/3rdparty/webkit/WebCore/rendering/style/SVGRenderStyleDefs.h
index c0f5d4e..f4cf932 100644
--- a/src/3rdparty/webkit/WebCore/rendering/style/SVGRenderStyleDefs.h
+++ b/src/3rdparty/webkit/WebCore/rendering/style/SVGRenderStyleDefs.h
@@ -33,6 +33,9 @@
#include "Color.h"
#include "Path.h"
#include "PlatformString.h"
+#include "ShadowData.h"
+#include <wtf/OwnPtr.h>
+#include <wtf/PassOwnPtr.h>
#include <wtf/RefCounted.h>
#include <wtf/RefPtr.h>
@@ -65,6 +68,13 @@
} \
static Data* initial##Type() { return Initial; }
+#define SVG_RS_DEFINE_ATTRIBUTE_DATAREF_WITH_INITIAL_OWNPTR(Data, Group, Variable, Type, Name, Initial) \
+ Data* Name() const { return Group->Variable.get(); } \
+ void set##Type(Data* obj) { \
+ Group.access()->Variable.set(obj); \
+ } \
+ static Data* initial##Type() { return Initial; }
+
#define SVG_RS_SET_VARIABLE(Group, Variable, Value) \
if (!(Group->Variable == Value)) \
Group.access()->Variable = Value;
@@ -279,6 +289,24 @@ namespace WebCore {
StyleMiscData();
StyleMiscData(const StyleMiscData&);
};
+
+ class StyleShadowSVGData : public RefCounted<StyleShadowSVGData> {
+ public:
+ static PassRefPtr<StyleShadowSVGData> create() { return adoptRef(new StyleShadowSVGData); }
+ PassRefPtr<StyleShadowSVGData> copy() const { return adoptRef(new StyleShadowSVGData(*this)); }
+
+ bool operator==(const StyleShadowSVGData& other) const;
+ bool operator!=(const StyleShadowSVGData& other) const
+ {
+ return !(*this == other);
+ }
+
+ OwnPtr<ShadowData> shadow;
+
+ private:
+ StyleShadowSVGData();
+ StyleShadowSVGData(const StyleShadowSVGData& other);
+ };
} // namespace WebCore
diff --git a/src/3rdparty/webkit/WebCore/storage/Database.cpp b/src/3rdparty/webkit/WebCore/storage/Database.cpp
index 08ea289..5aaa26f 100644
--- a/src/3rdparty/webkit/WebCore/storage/Database.cpp
+++ b/src/3rdparty/webkit/WebCore/storage/Database.cpp
@@ -46,6 +46,7 @@
#include "NotImplemented.h"
#include "Page.h"
#include "OriginQuotaManager.h"
+#include "ScriptController.h"
#include "SQLiteDatabase.h"
#include "SQLiteFileSystem.h"
#include "SQLiteStatement.h"
@@ -57,7 +58,6 @@
#if USE(JSC)
#include "JSDOMWindow.h"
-#include <runtime/InitializeThreading.h>
#endif
namespace WebCore {
@@ -128,7 +128,7 @@ PassRefPtr<Database> Database::openDatabase(Document* document, const String& na
return 0;
}
- RefPtr<Database> database = adoptRef(new Database(document, name, expectedVersion));
+ RefPtr<Database> database = adoptRef(new Database(document, name, expectedVersion, displayName, estimatedSize));
if (!database->openAndVerifyVersion(e)) {
LOG(StorageAPI, "Failed to open and verify version (expected %s) of database %s", expectedVersion.ascii().data(), database->databaseDebugName().ascii().data());
@@ -147,27 +147,28 @@ PassRefPtr<Database> Database::openDatabase(Document* document, const String& na
return database;
}
-Database::Database(Document* document, const String& name, const String& expectedVersion)
+Database::Database(Document* document, const String& name, const String& expectedVersion, const String& displayName, unsigned long estimatedSize)
: m_transactionInProgress(false)
, m_document(document)
, m_name(name.crossThreadString())
, m_guid(0)
, m_expectedVersion(expectedVersion)
+ , m_displayName(displayName)
+ , m_estimatedSize(estimatedSize)
, m_deleted(false)
, m_stopped(false)
, m_opened(false)
{
ASSERT(document);
- m_securityOrigin = document->securityOrigin();
+ m_mainThreadSecurityOrigin = document->securityOrigin();
+ m_databaseThreadSecurityOrigin = m_mainThreadSecurityOrigin->threadsafeCopy();
if (m_name.isNull())
m_name = "";
-#if USE(JSC)
- JSC::initializeThreading();
-#endif
+ ScriptController::initializeThreading();
- m_guid = guidForOriginAndName(m_securityOrigin->toString(), name);
+ m_guid = guidForOriginAndName(m_mainThreadSecurityOrigin->toString(), name);
{
MutexLocker locker(guidMutex());
@@ -183,7 +184,7 @@ Database::Database(Document* document, const String& name, const String& expecte
ASSERT(m_document->databaseThread());
- m_filename = DatabaseTracker::tracker().fullPathForDatabase(m_securityOrigin.get(), m_name);
+ m_filename = DatabaseTracker::tracker().fullPathForDatabase(m_mainThreadSecurityOrigin.get(), m_name);
DatabaseTracker::tracker().addOpenDatabase(this);
m_document->addOpenDatabase(this);
@@ -366,20 +367,9 @@ void Database::stop()
}
}
-unsigned long long Database::databaseSize() const
-{
- return SQLiteFileSystem::getDatabaseFileSize(m_filename);
-}
-
unsigned long long Database::maximumSize() const
{
- // The maximum size for this database is the full quota for this origin, minus the current usage within this origin,
- // except for the current usage of this database
-
- OriginQuotaManager& manager(DatabaseTracker::tracker().originQuotaManager());
- Locker<OriginQuotaManager> locker(manager);
-
- return DatabaseTracker::tracker().quotaForOrigin(m_securityOrigin.get()) - manager.diskUsage(m_securityOrigin.get()) + databaseSize();
+ return DatabaseTracker::tracker().getMaxSizeForDatabase(this);
}
void Database::disableAuthorizer()
@@ -647,9 +637,13 @@ void Database::setExpectedVersion(const String& version)
updateGuidVersionMap(m_guid, version);
}
-PassRefPtr<SecurityOrigin> Database::securityOriginCopy() const
+SecurityOrigin* Database::securityOrigin() const
{
- return m_securityOrigin->threadsafeCopy();
+ if (isMainThread())
+ return m_mainThreadSecurityOrigin.get();
+ if (currentThread() == document()->databaseThread()->getThreadID())
+ return m_databaseThreadSecurityOrigin.get();
+ return 0;
}
String Database::stringIdentifier() const
@@ -658,6 +652,23 @@ String Database::stringIdentifier() const
return m_name.threadsafeCopy();
}
+String Database::displayName() const
+{
+ // Return a deep copy for ref counting thread safety
+ return m_displayName.threadsafeCopy();
+}
+
+unsigned long Database::estimatedSize() const
+{
+ return m_estimatedSize;
+}
+
+String Database::fileName() const
+{
+ // Return a deep copy for ref counting thread safety
+ return m_filename.threadsafeCopy();
+}
+
#endif
}
diff --git a/src/3rdparty/webkit/WebCore/storage/Database.h b/src/3rdparty/webkit/WebCore/storage/Database.h
index b850686..f275027 100644
--- a/src/3rdparty/webkit/WebCore/storage/Database.h
+++ b/src/3rdparty/webkit/WebCore/storage/Database.h
@@ -89,8 +89,11 @@ public:
Vector<String> tableNames();
Document* document() const { return m_document.get(); }
- PassRefPtr<SecurityOrigin> securityOriginCopy() const;
+ SecurityOrigin* securityOrigin() const;
String stringIdentifier() const;
+ String displayName() const;
+ unsigned long estimatedSize() const;
+ String fileName() const;
bool getVersionFromDatabase(String&);
bool setVersionInDatabase(const String&);
@@ -121,7 +124,8 @@ public:
SQLTransactionCoordinator* transactionCoordinator() const;
private:
- Database(Document* document, const String& name, const String& expectedVersion);
+ Database(Document* document, const String& name, const String& expectedVersion,
+ const String& displayName, unsigned long estimatedSize);
bool openAndVerifyVersion(ExceptionCode&);
@@ -136,10 +140,13 @@ private:
static void deliverPendingCallback(void*);
RefPtr<Document> m_document;
- RefPtr<SecurityOrigin> m_securityOrigin;
+ RefPtr<SecurityOrigin> m_mainThreadSecurityOrigin;
+ RefPtr<SecurityOrigin> m_databaseThreadSecurityOrigin;
String m_name;
int m_guid;
String m_expectedVersion;
+ String m_displayName;
+ unsigned long m_estimatedSize;
String m_filename;
bool m_deleted;
@@ -152,7 +159,7 @@ private:
RefPtr<DatabaseAuthorizer> m_databaseAuthorizer;
#ifndef NDEBUG
- String databaseDebugName() const { return m_securityOrigin->toString() + "::" + m_name; }
+ String databaseDebugName() const { return m_mainThreadSecurityOrigin->toString() + "::" + m_name; }
#endif
};
diff --git a/src/3rdparty/webkit/WebCore/storage/DatabaseThread.cpp b/src/3rdparty/webkit/WebCore/storage/DatabaseThread.cpp
index 9e3afdd..40c83ee 100644
--- a/src/3rdparty/webkit/WebCore/storage/DatabaseThread.cpp
+++ b/src/3rdparty/webkit/WebCore/storage/DatabaseThread.cpp
@@ -152,22 +152,20 @@ void DatabaseThread::scheduleImmediateTask(PassRefPtr<DatabaseTask> task)
m_queue.prepend(task);
}
+class SameDatabasePredicate {
+public:
+ SameDatabasePredicate(const Database* database) : m_database(database) { }
+ bool operator()(RefPtr<DatabaseTask>& task) const { return task->database() == m_database; }
+private:
+ const Database* m_database;
+};
+
void DatabaseThread::unscheduleDatabaseTasks(Database* database)
{
// Note that the thread loop is running, so some tasks for the database
// may still be executed. This is unavoidable.
-
- Deque<RefPtr<DatabaseTask> > filteredReverseQueue;
- RefPtr<DatabaseTask> task;
- while (m_queue.tryGetMessage(task)) {
- if (task->database() != database)
- filteredReverseQueue.append(task);
- }
-
- while (!filteredReverseQueue.isEmpty()) {
- m_queue.append(filteredReverseQueue.first());
- filteredReverseQueue.removeFirst();
- }
+ SameDatabasePredicate predicate(database);
+ m_queue.removeIf(predicate);
}
} // namespace WebCore
diff --git a/src/3rdparty/webkit/WebCore/storage/DatabaseTracker.cpp b/src/3rdparty/webkit/WebCore/storage/DatabaseTracker.cpp
index 265cd0d..c0c4242 100644
--- a/src/3rdparty/webkit/WebCore/storage/DatabaseTracker.cpp
+++ b/src/3rdparty/webkit/WebCore/storage/DatabaseTracker.cpp
@@ -33,6 +33,7 @@
#include "ChromeClient.h"
#include "Database.h"
+#include "DatabaseThread.h"
#include "DatabaseTrackerClient.h"
#include "Document.h"
#include "Logging.h"
@@ -182,6 +183,16 @@ bool DatabaseTracker::hasEntryForDatabase(SecurityOrigin* origin, const String&
return statement.step() == SQLResultRow;
}
+unsigned long long DatabaseTracker::getMaxSizeForDatabase(const Database* database)
+{
+ ASSERT(currentThread() == database->document()->databaseThread()->getThreadID());
+ // The maximum size for a database is the full quota for its origin, minus the current usage within the origin,
+ // plus the current usage of the given database
+ Locker<OriginQuotaManager> locker(originQuotaManager());
+ SecurityOrigin* origin = database->securityOrigin();
+ return quotaForOrigin(origin) - originQuotaManager().diskUsage(origin) + SQLiteFileSystem::getDatabaseFileSize(database->fileName());
+}
+
String DatabaseTracker::originPath(SecurityOrigin* origin) const
{
ASSERT(currentThread() == m_thread);
@@ -409,13 +420,11 @@ void DatabaseTracker::addOpenDatabase(Database* database)
if (!m_openDatabaseMap)
m_openDatabaseMap.set(new DatabaseOriginMap);
- RefPtr<SecurityOrigin> origin(database->securityOriginCopy());
String name(database->stringIdentifier());
-
- DatabaseNameMap* nameMap = m_openDatabaseMap->get(origin);
+ DatabaseNameMap* nameMap = m_openDatabaseMap->get(database->securityOrigin());
if (!nameMap) {
nameMap = new DatabaseNameMap;
- m_openDatabaseMap->set(origin, nameMap);
+ m_openDatabaseMap->set(database->securityOrigin(), nameMap);
}
DatabaseSet* databaseSet = nameMap->get(name);
@@ -441,10 +450,8 @@ void DatabaseTracker::removeOpenDatabase(Database* database)
return;
}
- RefPtr<SecurityOrigin> origin(database->securityOriginCopy());
String name(database->stringIdentifier());
-
- DatabaseNameMap* nameMap = m_openDatabaseMap->get(origin);
+ DatabaseNameMap* nameMap = m_openDatabaseMap->get(database->securityOrigin());
if (!nameMap) {
ASSERT_NOT_REACHED();
return;
@@ -469,7 +476,7 @@ void DatabaseTracker::removeOpenDatabase(Database* database)
if (!nameMap->isEmpty())
return;
- m_openDatabaseMap->remove(origin);
+ m_openDatabaseMap->remove(database->securityOrigin());
delete nameMap;
}
diff --git a/src/3rdparty/webkit/WebCore/storage/DatabaseTracker.h b/src/3rdparty/webkit/WebCore/storage/DatabaseTracker.h
index 2f6e06d..85e4858 100644
--- a/src/3rdparty/webkit/WebCore/storage/DatabaseTracker.h
+++ b/src/3rdparty/webkit/WebCore/storage/DatabaseTracker.h
@@ -86,6 +86,8 @@ public:
bool hasEntryForOrigin(SecurityOrigin*);
+ unsigned long long getMaxSizeForDatabase(const Database*);
+
private:
DatabaseTracker();
diff --git a/src/3rdparty/webkit/WebCore/storage/OriginQuotaManager.cpp b/src/3rdparty/webkit/WebCore/storage/OriginQuotaManager.cpp
index 20bb34d..30b3271 100644
--- a/src/3rdparty/webkit/WebCore/storage/OriginQuotaManager.cpp
+++ b/src/3rdparty/webkit/WebCore/storage/OriginQuotaManager.cpp
@@ -104,8 +104,7 @@ void OriginQuotaManager::markDatabase(Database* database)
{
ASSERT(database);
ASSERT(m_usageRecordGuardLocked);
- RefPtr<SecurityOrigin> origin = database->securityOriginCopy();
- OriginUsageRecord* usageRecord = m_usageMap.get(origin);
+ OriginUsageRecord* usageRecord = m_usageMap.get(database->securityOrigin());
ASSERT(usageRecord);
usageRecord->markDatabase(database->stringIdentifier());
diff --git a/src/3rdparty/webkit/WebCore/storage/SQLTransaction.cpp b/src/3rdparty/webkit/WebCore/storage/SQLTransaction.cpp
index 149b384..165685b 100644
--- a/src/3rdparty/webkit/WebCore/storage/SQLTransaction.cpp
+++ b/src/3rdparty/webkit/WebCore/storage/SQLTransaction.cpp
@@ -40,7 +40,6 @@
#include "Logging.h"
#include "Page.h"
#include "PlatformString.h"
-#include "SecurityOrigin.h"
#include "Settings.h"
#include "SQLError.h"
#include "SQLiteTransaction.h"
diff --git a/src/3rdparty/webkit/WebCore/storage/SQLTransactionClient.cpp b/src/3rdparty/webkit/WebCore/storage/SQLTransactionClient.cpp
index e72f5ed..5918bd8 100644
--- a/src/3rdparty/webkit/WebCore/storage/SQLTransactionClient.cpp
+++ b/src/3rdparty/webkit/WebCore/storage/SQLTransactionClient.cpp
@@ -47,7 +47,7 @@ void SQLTransactionClient::didCommitTransaction(SQLTransaction* transaction)
ASSERT(currentThread() == transaction->database()->document()->databaseThread()->getThreadID());
Database* database = transaction->database();
DatabaseTracker::tracker().scheduleNotifyDatabaseChanged(
- database->document()->securityOrigin(), database->stringIdentifier());
+ database->securityOrigin(), database->stringIdentifier());
}
void SQLTransactionClient::didExecuteStatement(SQLTransaction* transaction)
@@ -65,11 +65,9 @@ bool SQLTransactionClient::didExceedQuota(SQLTransaction* transaction)
Page* page = database->document()->page();
ASSERT(page);
- RefPtr<SecurityOrigin> origin = database->securityOriginCopy();
-
- unsigned long long currentQuota = DatabaseTracker::tracker().quotaForOrigin(origin.get());
+ unsigned long long currentQuota = DatabaseTracker::tracker().quotaForOrigin(database->securityOrigin());
page->chrome()->client()->exceededDatabaseQuota(database->document()->frame(), database->stringIdentifier());
- unsigned long long newQuota = DatabaseTracker::tracker().quotaForOrigin(origin.get());
+ unsigned long long newQuota = DatabaseTracker::tracker().quotaForOrigin(database->securityOrigin());
return (newQuota > currentQuota);
}
diff --git a/src/3rdparty/webkit/WebCore/storage/StorageEventDispatcher.cpp b/src/3rdparty/webkit/WebCore/storage/StorageEventDispatcher.cpp
index d2eab66..9763e07 100644
--- a/src/3rdparty/webkit/WebCore/storage/StorageEventDispatcher.cpp
+++ b/src/3rdparty/webkit/WebCore/storage/StorageEventDispatcher.cpp
@@ -55,7 +55,7 @@ void StorageEventDispatcher::dispatch(const String& key, const String& oldValue,
}
for (unsigned i = 0; i < frames.size(); ++i)
- frames[i]->document()->dispatchWindowEvent(StorageEvent::create(eventNames().storageEvent, key, oldValue, newValue, sourceFrame->document()->documentURI(), frames[i]->domWindow()->sessionStorage()));
+ frames[i]->document()->dispatchWindowEvent(StorageEvent::create(eventNames().storageEvent, key, oldValue, newValue, sourceFrame->document()->url(), frames[i]->domWindow()->sessionStorage()));
} else {
// Send events to every page.
const HashSet<Page*>& pages = page->group().pages();
@@ -68,7 +68,7 @@ void StorageEventDispatcher::dispatch(const String& key, const String& oldValue,
}
for (unsigned i = 0; i < frames.size(); ++i)
- frames[i]->document()->dispatchWindowEvent(StorageEvent::create(eventNames().storageEvent, key, oldValue, newValue, sourceFrame->document()->documentURI(), frames[i]->domWindow()->localStorage()));
+ frames[i]->document()->dispatchWindowEvent(StorageEvent::create(eventNames().storageEvent, key, oldValue, newValue, sourceFrame->document()->url(), frames[i]->domWindow()->localStorage()));
}
}
diff --git a/src/3rdparty/webkit/WebCore/svg/SVGStyledElement.cpp b/src/3rdparty/webkit/WebCore/svg/SVGStyledElement.cpp
index 98b6459..6960519 100644
--- a/src/3rdparty/webkit/WebCore/svg/SVGStyledElement.cpp
+++ b/src/3rdparty/webkit/WebCore/svg/SVGStyledElement.cpp
@@ -245,20 +245,23 @@ PassRefPtr<CSSValue> SVGStyledElement::getPresentationAttribute(const String& na
if (!mappedAttributes())
return 0;
- Attribute* attr = mappedAttributes()->getAttributeItem(QualifiedName(nullAtom, name, nullAtom));
+ QualifiedName attributeName(nullAtom, name, nullAtom);
+ Attribute* attr = mappedAttributes()->getAttributeItem(attributeName);
if (!attr || !attr->isMappedAttribute() || !attr->style())
return 0;
MappedAttribute* cssSVGAttr = static_cast<MappedAttribute*>(attr);
-
- // FIXME: Is it possible that the style will not be shared at the time this
- // is called, but a later addition to the DOM will make it shared?
- if (!cssSVGAttr->style()->hasOneRef()) {
+ // This function returns a pointer to a CSSValue which can be mutated from JavaScript.
+ // If the associated MappedAttribute uses the same CSSMappedAttributeDeclaration
+ // as StyledElement's mappedAttributeDecls cache, create a new CSSMappedAttributeDeclaration
+ // before returning so that any modifications to the CSSValue will not affect other attributes.
+ MappedAttributeEntry entry;
+ mapToEntry(attributeName, entry);
+ if (getMappedAttributeDecl(entry, cssSVGAttr) == cssSVGAttr->decl()) {
cssSVGAttr->setDecl(0);
int propId = SVGStyledElement::cssPropertyIdForSVGAttributeName(cssSVGAttr->name());
addCSSProperty(cssSVGAttr, propId, cssSVGAttr->value());
}
-
return cssSVGAttr->style()->getPropertyCSSValue(name);
}
diff --git a/src/3rdparty/webkit/WebCore/svg/SynchronizablePropertyController.cpp b/src/3rdparty/webkit/WebCore/svg/SynchronizablePropertyController.cpp
index e969514..be8ab78 100644
--- a/src/3rdparty/webkit/WebCore/svg/SynchronizablePropertyController.cpp
+++ b/src/3rdparty/webkit/WebCore/svg/SynchronizablePropertyController.cpp
@@ -28,6 +28,52 @@
namespace WebCore {
+void SynchronizableProperties::addProperty(SVGAnimatedPropertyBase* base)
+{
+ m_bases.add(base);
+}
+
+void SynchronizableProperties::synchronize()
+{
+ ASSERT(!m_bases.isEmpty());
+ if (m_shouldSynchronize) {
+ BaseSet::iterator it = m_bases.begin();
+ BaseSet::iterator end = m_bases.end();
+
+ for (; it != end; ++it) {
+ SVGAnimatedPropertyBase* base = *it;
+ ASSERT(base);
+ base->synchronize();
+ }
+ }
+}
+
+void SynchronizableProperties::startAnimation()
+{
+ ASSERT(!m_bases.isEmpty());
+ BaseSet::iterator it = m_bases.begin();
+ BaseSet::iterator end = m_bases.end();
+
+ for (; it != end; ++it) {
+ SVGAnimatedPropertyBase* base = *it;
+ ASSERT(base);
+ base->startAnimation();
+ }
+}
+
+void SynchronizableProperties::stopAnimation()
+{
+ ASSERT(!m_bases.isEmpty());
+ BaseSet::iterator it = m_bases.begin();
+ BaseSet::iterator end = m_bases.end();
+
+ for (; it != end; ++it) {
+ SVGAnimatedPropertyBase* base = *it;
+ ASSERT(base);
+ base->stopAnimation();
+ }
+}
+
SynchronizablePropertyController::SynchronizablePropertyController()
{
}
@@ -36,20 +82,15 @@ void SynchronizablePropertyController::registerProperty(const QualifiedName& att
{
// 'attrName' is ambigious. For instance in SVGMarkerElement both 'orientType' / 'orientAngle'
// SVG DOM objects are synchronized with the 'orient' attribute. This why we need a HashSet.
- SynchronizableProperty property(base);
-
PropertyMap::iterator it = m_map.find(attrName.localName());
if (it == m_map.end()) {
- Properties properties;
- properties.add(property);
+ SynchronizableProperties properties;
+ properties.addProperty(base);
m_map.set(attrName.localName(), properties);
return;
}
- Properties& properties = it->second;
- ASSERT(!properties.isEmpty());
-
- properties.add(property);
+ it->second.addProperty(base);
}
void SynchronizablePropertyController::setPropertyNeedsSynchronization(const QualifiedName& attrName)
@@ -57,17 +98,7 @@ void SynchronizablePropertyController::setPropertyNeedsSynchronization(const Qua
PropertyMap::iterator itProp = m_map.find(attrName.localName());
ASSERT(itProp != m_map.end());
- Properties& properties = itProp->second;
- ASSERT(!properties.isEmpty());
-
- Properties::iterator it = properties.begin();
- Properties::iterator end = properties.end();
-
- for (; it != end; ++it) {
- SynchronizableProperty& property = *it;
- ASSERT(property.base);
- property.shouldSynchronize = true;
- }
+ itProp->second.setNeedsSynchronization();
}
void SynchronizablePropertyController::synchronizeProperty(const String& name)
@@ -76,21 +107,7 @@ void SynchronizablePropertyController::synchronizeProperty(const String& name)
if (itProp == m_map.end())
return;
- Properties& properties = itProp->second;
- ASSERT(!properties.isEmpty());
-
- Properties::iterator it = properties.begin();
- Properties::iterator end = properties.end();
-
- for (; it != end; ++it) {
- SynchronizableProperty& property = *it;
- ASSERT(property.base);
-
- if (!property.shouldSynchronize)
- continue;
-
- property.base->synchronize();
- }
+ itProp->second.synchronize();
}
void SynchronizablePropertyController::synchronizeAllProperties()
@@ -101,23 +118,8 @@ void SynchronizablePropertyController::synchronizeAllProperties()
PropertyMap::iterator itProp = m_map.begin();
PropertyMap::iterator endProp = m_map.end();
- for (; itProp != endProp; ++itProp) {
- Properties& properties = itProp->second;
- ASSERT(!properties.isEmpty());
-
- Properties::iterator it = properties.begin();
- Properties::iterator end = properties.end();
-
- for (; it != end; ++it) {
- SynchronizableProperty& property = *it;
- ASSERT(property.base);
-
- if (!property.shouldSynchronize)
- continue;
-
- property.base->synchronize();
- }
- }
+ for (; itProp != endProp; ++itProp)
+ itProp->second.synchronize();
}
void SynchronizablePropertyController::startAnimation(const String& name)
@@ -126,17 +128,7 @@ void SynchronizablePropertyController::startAnimation(const String& name)
if (itProp == m_map.end())
return;
- Properties& properties = itProp->second;
- ASSERT(!properties.isEmpty());
-
- Properties::iterator it = properties.begin();
- Properties::iterator end = properties.end();
-
- for (; it != end; ++it) {
- SynchronizableProperty& property = *it;
- ASSERT(property.base);
- property.base->startAnimation();
- }
+ itProp->second.startAnimation();
}
void SynchronizablePropertyController::stopAnimation(const String& name)
@@ -145,17 +137,7 @@ void SynchronizablePropertyController::stopAnimation(const String& name)
if (itProp == m_map.end())
return;
- Properties& properties = itProp->second;
- ASSERT(!properties.isEmpty());
-
- Properties::iterator it = properties.begin();
- Properties::iterator end = properties.end();
-
- for (; it != end; ++it) {
- SynchronizableProperty& property = *it;
- ASSERT(property.base);
- property.base->stopAnimation();
- }
+ itProp->second.stopAnimation();
}
}
diff --git a/src/3rdparty/webkit/WebCore/svg/SynchronizablePropertyController.h b/src/3rdparty/webkit/WebCore/svg/SynchronizablePropertyController.h
index b7f101b..1ec5026 100644
--- a/src/3rdparty/webkit/WebCore/svg/SynchronizablePropertyController.h
+++ b/src/3rdparty/webkit/WebCore/svg/SynchronizablePropertyController.h
@@ -31,65 +31,28 @@ namespace WebCore {
class QualifiedName;
class SVGAnimatedPropertyBase;
-struct SynchronizableProperty {
- SynchronizableProperty()
- : base(0)
- , shouldSynchronize(false)
- {
- }
-
- explicit SynchronizableProperty(SVGAnimatedPropertyBase* _base)
- : base(_base)
- , shouldSynchronize(false)
- {
- }
-
- explicit SynchronizableProperty(WTF::HashTableDeletedValueType)
- : base(reinterpret_cast<SVGAnimatedPropertyBase*>(-1))
- , shouldSynchronize(false)
- {
- }
-
- bool isHashTableDeletedValue() const
- {
- return base == reinterpret_cast<SVGAnimatedPropertyBase*>(-1);
- }
-
- bool operator==(const SynchronizableProperty& other) const
- {
- return base == other.base && shouldSynchronize == other.shouldSynchronize;
- }
-
- SVGAnimatedPropertyBase* base;
- bool shouldSynchronize;
-};
-
-struct SynchronizablePropertyHash {
- static unsigned hash(const SynchronizableProperty& key)
+class SynchronizableProperties {
+public:
+ SynchronizableProperties()
+ : m_shouldSynchronize(false)
{
- return StringImpl::computeHash(reinterpret_cast<const UChar*>(&key), sizeof(SynchronizableProperty) / sizeof(UChar));
}
- static bool equal(const SynchronizableProperty& a, const SynchronizableProperty& b)
+ void setNeedsSynchronization()
{
- return a == b;
+ m_shouldSynchronize = true;
}
- static const bool safeToCompareToEmptyOrDeleted = true;
-};
-
-struct SynchronizablePropertyHashTraits : WTF::GenericHashTraits<SynchronizableProperty> {
- static const bool emptyValueIsZero = true;
+ void addProperty(SVGAnimatedPropertyBase*);
+ void synchronize();
+ void startAnimation();
+ void stopAnimation();
- static void constructDeletedValue(SynchronizableProperty& slot)
- {
- new (&slot) SynchronizableProperty(WTF::HashTableDeletedValue);
- }
+private:
+ typedef HashSet<SVGAnimatedPropertyBase*> BaseSet;
- static bool isDeletedValue(const SynchronizableProperty& value)
- {
- return value.isHashTableDeletedValue();
- }
+ BaseSet m_bases;
+ bool m_shouldSynchronize;
};
// Helper class used exclusively by SVGElement to keep track of all animatable properties within a SVGElement,
@@ -110,8 +73,7 @@ private:
SynchronizablePropertyController();
private:
- typedef HashSet<SynchronizableProperty, SynchronizablePropertyHash, SynchronizablePropertyHashTraits> Properties;
- typedef HashMap<String, Properties> PropertyMap;
+ typedef HashMap<String, SynchronizableProperties> PropertyMap;
PropertyMap m_map;
};
diff --git a/src/3rdparty/webkit/WebCore/websockets/WebSocket.cpp b/src/3rdparty/webkit/WebCore/websockets/WebSocket.cpp
index f3bbdd7..32e0559 100644
--- a/src/3rdparty/webkit/WebCore/websockets/WebSocket.cpp
+++ b/src/3rdparty/webkit/WebCore/websockets/WebSocket.cpp
@@ -110,7 +110,8 @@ WebSocket::WebSocket(ScriptExecutionContext* context)
WebSocket::~WebSocket()
{
- close();
+ if (m_channel.get())
+ m_channel->disconnect();
}
void WebSocket::connect(const KURL& url, ExceptionCode& ec)
@@ -190,7 +191,7 @@ ScriptExecutionContext* WebSocket::scriptExecutionContext() const
void WebSocket::didConnect()
{
LOG(Network, "WebSocket %p didConnect", this);
- if (m_state != CONNECTING) {
+ if (m_state != CONNECTING || !scriptExecutionContext()) {
didClose();
return;
}
@@ -201,7 +202,7 @@ void WebSocket::didConnect()
void WebSocket::didReceiveMessage(const String& msg)
{
LOG(Network, "WebSocket %p didReceiveMessage %s", this, msg.utf8().data());
- if (m_state != OPEN)
+ if (m_state != OPEN || !scriptExecutionContext())
return;
RefPtr<MessageEvent> evt = MessageEvent::create();
// FIXME: origin, lastEventId, source, messagePort.
@@ -213,7 +214,8 @@ void WebSocket::didClose()
{
LOG(Network, "WebSocket %p didClose", this);
m_state = CLOSED;
- scriptExecutionContext()->postTask(ProcessWebSocketEventTask::create(this, Event::create(eventNames().closeEvent, false, false)));
+ if (scriptExecutionContext())
+ scriptExecutionContext()->postTask(ProcessWebSocketEventTask::create(this, Event::create(eventNames().closeEvent, false, false)));
}
EventTargetData* WebSocket::eventTargetData()
diff --git a/src/3rdparty/webkit/WebCore/websockets/WebSocketChannel.cpp b/src/3rdparty/webkit/WebCore/websockets/WebSocketChannel.cpp
index 145cd34..be388b4 100644
--- a/src/3rdparty/webkit/WebCore/websockets/WebSocketChannel.cpp
+++ b/src/3rdparty/webkit/WebCore/websockets/WebSocketChannel.cpp
@@ -71,6 +71,7 @@ void WebSocketChannel::connect()
LOG(Network, "WebSocketChannel %p connect", this);
ASSERT(!m_handle.get());
m_handshake.reset();
+ ref();
m_handle = SocketStreamHandle::create(m_handshake.url(), this);
}
@@ -103,6 +104,14 @@ void WebSocketChannel::close()
m_handle->close(); // will call didClose()
}
+void WebSocketChannel::disconnect()
+{
+ LOG(Network, "WebSocketChannel %p disconnect", this);
+ m_client = 0;
+ if (m_handle.get())
+ m_handle->close();
+}
+
void WebSocketChannel::willOpenStream(SocketStreamHandle*, const KURL&)
{
}
@@ -126,13 +135,15 @@ void WebSocketChannel::didClose(SocketStreamHandle* handle)
{
LOG(Network, "WebSocketChannel %p didClose", this);
ASSERT(handle == m_handle.get() || !m_handle.get());
- if (!m_handle.get())
- return;
- m_unhandledBufferSize = handle->bufferedAmount();
- WebSocketChannelClient* client = m_client;
- m_client = 0;
- m_handle = 0;
- client->didClose();
+ if (m_handle.get()) {
+ m_unhandledBufferSize = handle->bufferedAmount();
+ WebSocketChannelClient* client = m_client;
+ m_client = 0;
+ m_handle = 0;
+ if (client)
+ client->didClose();
+ }
+ deref();
}
void WebSocketChannel::didReceiveData(SocketStreamHandle* handle, const char* data, int len)
@@ -143,6 +154,10 @@ void WebSocketChannel::didReceiveData(SocketStreamHandle* handle, const char* da
handle->close();
return;
}
+ if (!m_client) {
+ handle->close();
+ return;
+ }
if (m_handshake.mode() != WebSocketHandshake::Connected) {
int headerLength = m_handshake.readServerHandshake(m_buffer, m_bufferSize);
if (headerLength <= 0)
@@ -184,7 +199,7 @@ void WebSocketChannel::didReceiveData(SocketStreamHandle* handle, const char* da
handle->close();
return;
}
- length = length * 128 + *p & 0x7f;
+ length = length * 128 + (*p & 0x7f);
++p;
}
if (p + length < end) {
diff --git a/src/3rdparty/webkit/WebCore/websockets/WebSocketChannel.h b/src/3rdparty/webkit/WebCore/websockets/WebSocketChannel.h
index 75f41f6..ad38163 100644
--- a/src/3rdparty/webkit/WebCore/websockets/WebSocketChannel.h
+++ b/src/3rdparty/webkit/WebCore/websockets/WebSocketChannel.h
@@ -47,7 +47,7 @@ namespace WebCore {
class WebSocketChannel : public RefCounted<WebSocketChannel>, public SocketStreamHandleClient {
public:
- static PassRefPtr<WebSocketChannel> create(ScriptExecutionContext* context, WebSocketChannelClient* client, const KURL& url, const String& protocol) { return new WebSocketChannel(context, client, url, protocol); }
+ static PassRefPtr<WebSocketChannel> create(ScriptExecutionContext* context, WebSocketChannelClient* client, const KURL& url, const String& protocol) { return adoptRef(new WebSocketChannel(context, client, url, protocol)); }
virtual ~WebSocketChannel();
virtual void connect();
@@ -57,6 +57,8 @@ namespace WebCore {
virtual void close();
+ virtual void disconnect();
+
virtual void willOpenStream(SocketStreamHandle*, const KURL&);
virtual void willSendData(SocketStreamHandle*, const char*, int);
virtual void didOpen(SocketStreamHandle*);
diff --git a/src/3rdparty/webkit/WebCore/workers/WorkerContext.cpp b/src/3rdparty/webkit/WebCore/workers/WorkerContext.cpp
index f4d795b..9a88309 100644
--- a/src/3rdparty/webkit/WebCore/workers/WorkerContext.cpp
+++ b/src/3rdparty/webkit/WebCore/workers/WorkerContext.cpp
@@ -49,6 +49,7 @@
#include "WorkerThreadableLoader.h"
#include "XMLHttpRequestException.h"
#include <wtf/RefPtr.h>
+#include <wtf/UnusedParam.h>
#if ENABLE(NOTIFICATIONS)
#include "NotificationCenter.h"
diff --git a/src/3rdparty/webkit/WebCore/workers/WorkerContext.idl b/src/3rdparty/webkit/WebCore/workers/WorkerContext.idl
index 17bee55..0a5817c 100644
--- a/src/3rdparty/webkit/WebCore/workers/WorkerContext.idl
+++ b/src/3rdparty/webkit/WebCore/workers/WorkerContext.idl
@@ -72,7 +72,7 @@ module threads {
#if defined(ENABLE_NOTIFICATIONS) && ENABLE_NOTIFICATIONS
// Notification interface
- readonly attribute NotificationCenter webkitNotifications;
+ readonly attribute [EnabledAtRuntime] NotificationCenter webkitNotifications;
#endif
// Constructors
diff --git a/src/3rdparty/webkit/WebCore/xml/XMLHttpRequest.cpp b/src/3rdparty/webkit/WebCore/xml/XMLHttpRequest.cpp
index ca48d8d..87a6540 100644
--- a/src/3rdparty/webkit/WebCore/xml/XMLHttpRequest.cpp
+++ b/src/3rdparty/webkit/WebCore/xml/XMLHttpRequest.cpp
@@ -33,6 +33,7 @@
#include "EventNames.h"
#include "File.h"
#include "HTTPParsers.h"
+#include "InspectorTimelineAgent.h"
#include "ResourceError.h"
#include "ResourceRequest.h"
#include "SecurityOrigin.h"
@@ -47,7 +48,9 @@
#include <wtf/RefCountedLeakCounter.h>
#if USE(JSC)
+#include "JSDOMBinding.h"
#include "JSDOMWindow.h"
+#include <runtime/Protect.h>
#endif
namespace WebCore {
@@ -248,10 +251,32 @@ void XMLHttpRequest::callReadyStateChangeListener()
if (!scriptExecutionContext())
return;
+#if ENABLE(INSPECTOR)
+ InspectorTimelineAgent* timelineAgent = InspectorTimelineAgent::retrieve(scriptExecutionContext());
+ if (timelineAgent)
+ timelineAgent->willChangeXHRReadyState(m_url.string(), m_state);
+#endif
+
dispatchEvent(XMLHttpRequestProgressEvent::create(eventNames().readystatechangeEvent));
- if (m_state == DONE && !m_error)
+#if ENABLE(INSPECTOR)
+ if (timelineAgent)
+ timelineAgent->didChangeXHRReadyState();
+#endif
+
+ if (m_state == DONE && !m_error) {
+#if ENABLE(INSPECTOR)
+ if (timelineAgent)
+ timelineAgent->willLoadXHR(m_url.string());
+#endif
+
dispatchEvent(XMLHttpRequestProgressEvent::create(eventNames().loadEvent));
+
+#if ENABLE(INSPECTOR)
+ if (timelineAgent)
+ timelineAgent->didLoadXHR();
+#endif
+ }
}
void XMLHttpRequest::setWithCredentials(bool value, ExceptionCode& ec)
@@ -604,10 +629,8 @@ void XMLHttpRequest::dropProtection()
// out. But it is protected from GC while loading, so this
// can't be recouped until the load is done, so only
// report the extra cost at that point.
-
- if (JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(scriptExecutionContext()))
- if (DOMObject* wrapper = getCachedDOMObjectWrapper(*globalObject->globalData(), this))
- JSC::Heap::heap(wrapper)->reportExtraMemoryCost(m_responseText.size() * 2);
+ if (DOMObject* wrapper = getCachedDOMObjectWrapper(*scriptExecutionContext()->globalData(), this))
+ JSC::Heap::heap(wrapper)->reportExtraMemoryCost(m_responseText.size() * 2);
#endif
unsetPendingActivity(this);
diff --git a/src/3rdparty/webkit/WebCore/xml/XMLHttpRequest.h b/src/3rdparty/webkit/WebCore/xml/XMLHttpRequest.h
index 30744a0..c7e0192 100644
--- a/src/3rdparty/webkit/WebCore/xml/XMLHttpRequest.h
+++ b/src/3rdparty/webkit/WebCore/xml/XMLHttpRequest.h
@@ -182,7 +182,7 @@ private:
unsigned m_lastSendLineNumber;
String m_lastSendURL;
ExceptionCode m_exceptionCode;
-
+
EventTargetData m_eventTargetData;
};
diff --git a/src/3rdparty/webkit/WebCore/xml/XPathFunctions.cpp b/src/3rdparty/webkit/WebCore/xml/XPathFunctions.cpp
index da39443..1089f7c 100644
--- a/src/3rdparty/webkit/WebCore/xml/XPathFunctions.cpp
+++ b/src/3rdparty/webkit/WebCore/xml/XPathFunctions.cpp
@@ -667,12 +667,13 @@ Value FunRound::evaluate() const
return round(arg(0)->evaluate().toNumber());
}
+struct FunctionMapping {
+ const char* name;
+ FunctionRec function;
+};
+
static void createFunctionMap()
{
- struct FunctionMapping {
- const char *name;
- FunctionRec function;
- };
static const FunctionMapping functions[] = {
{ "boolean", { &createFunBoolean, 1 } },
{ "ceiling", { &createFunCeiling, 1 } },
diff --git a/src/3rdparty/webkit/WebKit.pri b/src/3rdparty/webkit/WebKit.pri
index 2dba0d4..10291b4 100644
--- a/src/3rdparty/webkit/WebKit.pri
+++ b/src/3rdparty/webkit/WebKit.pri
@@ -25,6 +25,10 @@ building-libs {
LIBS += -lQtWebKit$${QT_MAJOR_VERSION}
} else {
LIBS += -lQtWebKit
+ symbian {
+ TARGET.EPOCSTACKSIZE = 0x14000 // 80 kB
+ TARGET.EPOCHEAPSIZE = 0x20000 0x2000000 // Min 128kB, Max 32MB
+ }
}
}
}
diff --git a/src/3rdparty/webkit/WebKit/ChangeLog b/src/3rdparty/webkit/WebKit/ChangeLog
index 607a039..5006da7 100644
--- a/src/3rdparty/webkit/WebKit/ChangeLog
+++ b/src/3rdparty/webkit/WebKit/ChangeLog
@@ -1,3 +1,19 @@
+2009-10-27 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Updated license
+
+ * LICENSE:
+
+2009-10-26 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Move some WebView event handling code into its own file, WebViewEventHandling.mm
+
+ * WebKit.xcodeproj/project.pbxproj:
+
2009-10-19 John Gregg <johnnyg@google.com>
Reviewed by Dimitri Glazkov.
diff --git a/src/3rdparty/webkit/WebKit/LICENSE b/src/3rdparty/webkit/WebKit/LICENSE
index 47dee86..f29b41c 100644
--- a/src/3rdparty/webkit/WebKit/LICENSE
+++ b/src/3rdparty/webkit/WebKit/LICENSE
@@ -1,25 +1,21 @@
-Copyright (C) 2005 Apple Computer, Inc. All rights reserved.
+Copyright (C) 2005, 2006, 2007, 2008, 2009 Apple 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.
+ 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 Apple Computer, Inc. ("Apple") nor the names of
- its contributors may be used to endorse or promote products derived
- from this software without specific prior written permission.
+ documentation and/or other materials provided with the distribution.
-THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
+THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS 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 APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
+DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS 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.
+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.
diff --git a/src/3rdparty/webkit/WebKit/mac/Configurations/Version.xcconfig b/src/3rdparty/webkit/WebKit/mac/Configurations/Version.xcconfig
index 6572d2c..fabc009 100644
--- a/src/3rdparty/webkit/WebKit/mac/Configurations/Version.xcconfig
+++ b/src/3rdparty/webkit/WebKit/mac/Configurations/Version.xcconfig
@@ -22,7 +22,7 @@
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
MAJOR_VERSION = 532;
-MINOR_VERSION = 3;
+MINOR_VERSION = 4;
TINY_VERSION = 0;
FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION);
@@ -36,6 +36,7 @@ SYSTEM_VERSION_PREFIX_ = 4; // Some Tiger versions of Xcode don't set MAC_OS_X_V
SYSTEM_VERSION_PREFIX_1040 = 4;
SYSTEM_VERSION_PREFIX_1050 = 5;
SYSTEM_VERSION_PREFIX_1060 = 6;
+SYSTEM_VERSION_PREFIX_1070 = 7;
// The production build always uses the full version with a system version prefix.
BUNDLE_VERSION_Production = $(SYSTEM_VERSION_PREFIX)$(FULL_VERSION);
diff --git a/src/3rdparty/webkit/WebKit/qt/Api/headers.pri b/src/3rdparty/webkit/WebKit/qt/Api/headers.pri
index 5a95c67..1a42597 100644
--- a/src/3rdparty/webkit/WebKit/qt/Api/headers.pri
+++ b/src/3rdparty/webkit/WebKit/qt/Api/headers.pri
@@ -8,7 +8,6 @@ WEBKIT_API_HEADERS = $$PWD/qwebframe.h \
$$PWD/qwebdatabase.h \
$$PWD/qwebsecurityorigin.h \
$$PWD/qwebelement.h \
- $$PWD/qwebplugindatabase.h \
$$PWD/qwebpluginfactory.h \
$$PWD/qwebhistory.h \
$$PWD/qwebinspector.h \
diff --git a/src/3rdparty/webkit/WebKit/qt/Api/qgraphicswebview.cpp b/src/3rdparty/webkit/WebKit/qt/Api/qgraphicswebview.cpp
index 7e485a0..b22109b 100644
--- a/src/3rdparty/webkit/WebKit/qt/Api/qgraphicswebview.cpp
+++ b/src/3rdparty/webkit/WebKit/qt/Api/qgraphicswebview.cpp
@@ -164,17 +164,101 @@ void QGraphicsWebViewPrivate::_q_setStatusBarMessage(const QString& s)
/*!
\class QGraphicsWebView
- \brief The QGraphicsWebView class allows web content to be added to a GraphicsView.
+ \brief The QGraphicsWebView class allows Web content to be added to a GraphicsView.
\since 4.6
- A WebGraphicsItem renders web content based on a URL or set data.
+ An instance of this class renders Web content from a URL or supplied as data, using
+ features of the QtWebKit module.
- If the width and height of the item is not set, they will
- dynamically adjust to a size appropriate for the content.
- This width may be large (eg. 980) for typical online web pages.
+ If the width and height of the item is not set, they will dynamically adjust to
+ a size appropriate for the content. This width may be large (e.g., 980 pixels or
+ more) for typical online Web pages.
+
+ \section1 Browser Features
+
+ Many of the functions, signals and properties provided by QWebView are also available
+ for this item, making it simple to adapt existing code to use QGraphicsWebView instead
+ of QWebView.
+
+ The item uses a QWebPage object to perform the rendering of Web content, and this can
+ be obtained with the page() function, enabling the document itself to be accessed and
+ modified.
+
+ As with QWebView, the item records the browsing history using a QWebHistory object,
+ accessible using the history() function. The QWebSettings object that defines the
+ configuration of the browser can be obtained with the settings() function, enabling
+ features like plugin support to be customized for each item.
+
+ \sa QWebView, QGraphicsTextItem
+*/
+
+/*!
+ \fn void QGraphicsWebView::titleChanged(const QString &title)
+
+ This signal is emitted whenever the \a title of the main frame changes.
+
+ \sa title()
*/
/*!
+ \fn void QGraphicsWebView::urlChanged(const QUrl &url)
+
+ This signal is emitted when the \a url of the view changes.
+
+ \sa url(), load()
+*/
+
+/*!
+ \fn void QGraphicsWebView::statusChanged()
+
+ This signal is emitted when the status bar text is changed by the page.
+*/
+
+/*!
+ \fn void QGraphicsWebView::iconChanged()
+
+ This signal is emitted whenever the icon of the page is loaded or changes.
+
+ In order for icons to be loaded, you will need to set an icon database path
+ using QWebSettings::setIconDatabasePath().
+
+ \sa icon(), QWebSettings::setIconDatabasePath()
+*/
+
+/*!
+ \fn void QGraphicsWebView::loadStarted()
+
+ This signal is emitted when a new load of the page is started.
+
+ \sa progressChanged(), loadFinished()
+*/
+
+/*!
+ \fn void QGraphicsWebView::loadFinished(bool ok)
+
+ This signal is emitted when a load of the page is finished.
+ \a ok will indicate whether the load was successful or any error occurred.
+
+ \sa loadStarted()
+*/
+
+/*!
+ \fn void QGraphicsWebView::progressChanged(qreal progress)
+
+ This signal is emitted every time an element in the web page
+ completes loading and the overall loading progress advances.
+
+ This signal tracks the progress of all child frames.
+
+ The current value is provided by \a progress and scales from 0.0 to 1.0,
+ which is the default range of QProgressBar.
+
+ \sa loadStarted(), loadFinished()
+*/
+
+
+
+/*!
Constructs an empty QGraphicsWebView with parent \a parent.
\sa load()
@@ -191,12 +275,16 @@ QGraphicsWebView::QGraphicsWebView(QGraphicsItem* parent)
}
/*!
- Destroys the web graphicsitem.
+ Destroys the item.
*/
QGraphicsWebView::~QGraphicsWebView()
{
if (d->page) {
+#if QT_VERSION >= 0x040600
+ d->page->d->view.clear();
+#else
d->page->d->view = 0;
+#endif
d->page->d->client = 0; // unset the page client
}
@@ -246,6 +334,28 @@ bool QGraphicsWebView::sceneEvent(QEvent* event)
/*! \reimp
*/
+QVariant QGraphicsWebView::itemChange(GraphicsItemChange change, const QVariant& value)
+{
+ switch (change) {
+ // Differently from QWebView, it is interesting to QGraphicsWebView to handle
+ // post mouse cursor change notifications. Reason: 'ItemCursorChange' is sent
+ // as the first action in QGraphicsItem::setCursor implementation, and at that
+ // item widget's cursor has not been effectively changed yet.
+ // After cursor is properly set (at 'ItemCursorHasChanged' emission time), we
+ // fire 'CursorChange'.
+ case ItemCursorChange:
+ return value;
+ case ItemCursorHasChanged:
+ QEvent event(QEvent::CursorChange);
+ QApplication::sendEvent(this, &event);
+ return value;
+ }
+
+ return QGraphicsWidget::itemChange(change, value);
+}
+
+/*! \reimp
+*/
bool QGraphicsWebView::event(QEvent* event)
{
// Re-implemented in order to allows fixing event-related bugs in patch releases.
diff --git a/src/3rdparty/webkit/WebKit/qt/Api/qgraphicswebview.h b/src/3rdparty/webkit/WebKit/qt/Api/qgraphicswebview.h
index 26f7374..43cf59a 100644
--- a/src/3rdparty/webkit/WebKit/qt/Api/qgraphicswebview.h
+++ b/src/3rdparty/webkit/WebKit/qt/Api/qgraphicswebview.h
@@ -85,6 +85,7 @@ public:
virtual void setGeometry(const QRectF& rect);
virtual void updateGeometry();
virtual void paint(QPainter*, const QStyleOptionGraphicsItem* options, QWidget* widget = 0);
+ virtual QVariant itemChange(GraphicsItemChange change, const QVariant& value);
virtual bool event(QEvent*);
public Q_SLOTS:
diff --git a/src/3rdparty/webkit/WebKit/qt/Api/qwebelement.cpp b/src/3rdparty/webkit/WebKit/qt/Api/qwebelement.cpp
index 5b83870..6305d10 100644
--- a/src/3rdparty/webkit/WebKit/qt/Api/qwebelement.cpp
+++ b/src/3rdparty/webkit/WebKit/qt/Api/qwebelement.cpp
@@ -202,23 +202,9 @@ bool QWebElement::isNull() const
\sa findFirst()
*/
-QList<QWebElement> QWebElement::findAll(const QString &selectorQuery) const
+QWebElementCollection QWebElement::findAll(const QString &selectorQuery) const
{
- QList<QWebElement> elements;
- if (!m_element)
- return elements;
-
- ExceptionCode exception = 0; // ###
- RefPtr<NodeList> nodes = m_element->querySelectorAll(selectorQuery, exception);
- if (!nodes)
- return elements;
-
- for (unsigned i = 0; i < nodes->length(); ++i) {
- WebCore::Node* n = nodes->item(i);
- elements.append(QWebElement(static_cast<Element*>(n)));
- }
-
- return elements;
+ return QWebElementCollection(*this, selectorQuery);
}
/*!
@@ -682,7 +668,7 @@ static bool setupScriptContext(WebCore::Element* element, JSC::JSValue& thisValu
if (!scriptController)
return false;
- state = scriptController->globalObject()->globalExec();
+ state = scriptController->globalObject(mainThreadNormalWorld())->globalExec();
if (!state)
return false;
@@ -1137,7 +1123,7 @@ QWebElement QWebElement::clone() const
The element is still valid after removal, and can be inserted into other
parts of the document.
- \sa removeChildren(), removeFromDocument()
+ \sa removeAllChildren(), removeFromDocument()
*/
QWebElement &QWebElement::takeFromDocument()
{
@@ -1153,7 +1139,7 @@ QWebElement &QWebElement::takeFromDocument()
/*!
Removes this element from the document and makes it a null element.
- \sa removeChildren(), takeFromDocument()
+ \sa removeAllChildren(), takeFromDocument()
*/
void QWebElement::removeFromDocument()
{
@@ -1171,7 +1157,7 @@ void QWebElement::removeFromDocument()
\sa removeFromDocument(), takeFromDocument()
*/
-void QWebElement::removeChildren()
+void QWebElement::removeAllChildren()
{
if (!m_element)
return;
@@ -1450,3 +1436,391 @@ void QWebElement::render(QPainter* painter)
context.restore();
}
+class QWebElementCollectionPrivate : public QSharedData
+{
+public:
+ static QWebElementCollectionPrivate* create(const PassRefPtr<Node> &context, const QString &query);
+
+ RefPtr<NodeList> m_result;
+
+private:
+ inline QWebElementCollectionPrivate() {}
+};
+
+QWebElementCollectionPrivate* QWebElementCollectionPrivate::create(const PassRefPtr<Node> &context, const QString &query)
+{
+ if (!context)
+ return 0;
+
+ // Let WebKit do the hard work hehehe
+ ExceptionCode exception = 0; // ###
+ RefPtr<NodeList> nodes = context->querySelectorAll(query, exception);
+ if (!nodes)
+ return 0;
+
+ QWebElementCollectionPrivate* priv = new QWebElementCollectionPrivate;
+ priv->m_result = nodes;
+ return priv;
+}
+
+/*!
+ \class QWebElementCollection
+ \since 4.6
+ \brief The QWebElementCollection class represents a collection of web elements.
+ \preliminary
+
+ Elements in a document can be selected using QWebElement::findAll() or using the
+ QWebElement constructor. The collection is composed by choosing all elements in the
+ document that match a specified CSS selector expression.
+
+ The number of selected elements is provided through the count() property. Individual
+ elements can be retrieved by index using at().
+
+ It is also possible to iterate through all elements in the collection using Qt's foreach
+ macro:
+
+ \code
+ QWebElementCollection collection = document.findAll("p");
+ foreach (QWebElement paraElement, collection) {
+ ...
+ }
+ \endcode
+*/
+
+/*!
+ Constructs an empty collection.
+*/
+QWebElementCollection::QWebElementCollection()
+{
+}
+
+/*!
+ Constructs a copy of \a other.
+*/
+QWebElementCollection::QWebElementCollection(const QWebElementCollection &other)
+ : d(other.d)
+{
+}
+
+/*!
+ Constructs a collection of elements from the list of child elements of \a contextElement that
+ match the specified CSS selector \a query.
+*/
+QWebElementCollection::QWebElementCollection(const QWebElement &contextElement, const QString &query)
+{
+ d = QExplicitlySharedDataPointer<QWebElementCollectionPrivate>(QWebElementCollectionPrivate::create(contextElement.m_element, query));
+}
+
+/*!
+ Assigns \a other to this collection and returns a reference to this collection.
+*/
+QWebElementCollection &QWebElementCollection::operator=(const QWebElementCollection &other)
+{
+ d = other.d;
+ return *this;
+}
+
+/*!
+ Destroys the collection.
+*/
+QWebElementCollection::~QWebElementCollection()
+{
+}
+
+/*! \fn QWebElementCollection &QWebElementCollection::operator+=(const QWebElementCollection &other)
+
+ Appends the items of the \a other list to this list and returns a
+ reference to this list.
+
+ \sa operator+(), append()
+*/
+
+/*!
+ Returns a collection that contains all the elements of this collection followed
+ by all the elements in the \a other collection. Duplicates may occur in the result.
+
+ \sa operator+=()
+*/
+QWebElementCollection QWebElementCollection::operator+(const QWebElementCollection &other) const
+{
+ QWebElementCollection n = *this; n.d.detach(); n += other; return n;
+}
+
+/*!
+ Extends the collection by appending all items of \a other.
+
+ The resulting collection may include duplicate elements.
+
+ \sa operator+=()
+*/
+void QWebElementCollection::append(const QWebElementCollection &other)
+{
+ if (!d) {
+ *this = other;
+ return;
+ }
+ if (!other.d)
+ return;
+ Vector<RefPtr<Node> > nodes;
+ RefPtr<NodeList> results[] = { d->m_result, other.d->m_result };
+ nodes.reserveInitialCapacity(results[0]->length() + results[1]->length());
+
+ for (int i = 0; i < 2; ++i) {
+ int j = 0;
+ Node* n = results[i]->item(j);
+ while (n) {
+ nodes.append(n);
+ n = results[i]->item(++j);
+ }
+ }
+
+ d->m_result = StaticNodeList::adopt(nodes);
+}
+
+/*!
+ Returns the number of elements in the collection.
+*/
+int QWebElementCollection::count() const
+{
+ if (!d)
+ return 0;
+ return d->m_result->length();
+}
+
+/*!
+ Returns the element at index position \a i in the collection.
+*/
+QWebElement QWebElementCollection::at(int i) const
+{
+ if (!d)
+ return QWebElement();
+ Node* n = d->m_result->item(i);
+ return QWebElement(static_cast<Element*>(n));
+}
+
+/*!
+ \fn const QWebElement QWebElementCollection::operator[](int position) const
+
+ Returns the element at the specified \a position in the collection.
+*/
+
+/*! \fn QWebElement QWebElementCollection::first() const
+
+ Returns the first element in the collection.
+
+ \sa last(), operator[](), at(), count()
+*/
+
+/*! \fn QWebElement QWebElementCollection::last() const
+
+ Returns the last element in the collection.
+
+ \sa first(), operator[](), at(), count()
+*/
+
+/*!
+ Returns a QList object with the elements contained in this collection.
+*/
+QList<QWebElement> QWebElementCollection::toList() const
+{
+ if (!d)
+ return QList<QWebElement>();
+ QList<QWebElement> elements;
+ int i = 0;
+ Node* n = d->m_result->item(i);
+ while (n) {
+ if (n->isElementNode())
+ elements.append(QWebElement(static_cast<Element*>(n)));
+ n = d->m_result->item(++i);
+ }
+ return elements;
+}
+
+/*!
+ \fn QWebElementCollection::const_iterator QWebElementCollection::begin() const
+
+ Returns an STL-style iterator pointing to the first element in the collection.
+
+ \sa end()
+*/
+
+/*!
+ \fn QWebElementCollection::const_iterator QWebElementCollection::end() const
+
+ Returns an STL-style iterator pointing to the imaginary element after the
+ last element in the list.
+
+ \sa begin()
+*/
+
+/*!
+ \class QWebElementCollection::const_iterator
+ \since 4.6
+ \brief The QWebElementCollection::const_iterator class provides an STL-style const iterator for QWebElementCollection.
+
+ QWebElementCollection provides STL style const iterators for fast low-level access to the elements.
+
+ QWebElementCollection::const_iterator allows you to iterate over a QWebElementCollection.
+
+ The default QWebElementCollection::const_iterator constructors creates an uninitialized iterator. You must initialize
+ it using a QWebElementCollection function like QWebElementCollection::begin() or QWebElementCollection::end() before you
+ can start iterating.
+*/
+
+/*!
+ \fn QWebElementCollection::const_iterator::const_iterator()
+
+ Constructs an uninitialized iterator.
+
+ Functions like operator*() and operator++() should not be called on
+ an uninitialized iterator. Use operator=() to assign a value
+ to it before using it.
+
+ \sa QWebElementCollection::begin()
+*/
+
+/*!
+ \fn QWebElementCollection::const_iterator::const_iterator(const const_iterator &other)
+
+ Constructs a copy of \a other.
+*/
+
+/*!
+ \fn QWebElementCollection::const_iterator::const_iterator(const QWebElementCollection *collection, int index)
+ \internal
+*/
+
+/*!
+ \fn const QWebElement QWebElementCollection::const_iterator::operator*() const
+
+ Returns the current element.
+*/
+
+/*!
+ \fn bool QWebElementCollection::const_iterator::operator==(const const_iterator &other) const
+
+ Returns true if \a other points to the same item as this iterator;
+ otherwise returns false.
+
+ \sa operator!=()
+*/
+
+/*!
+ \fn bool QWebElementCollection::const_iterator::operator!=(const const_iterator &other) const
+
+ Returns true if \a other points to a different element than this;
+ iterator; otherwise returns false.
+
+ \sa operator==()
+*/
+
+/*!
+ \fn QWebElementCollection::const_iterator &QWebElementCollection::const_iterator::operator++()
+
+ The prefix ++ operator (\c{++it}) advances the iterator to the next element in the collection
+ and returns an iterator to the new current element.
+
+ Calling this function on QWebElementCollection::end() leads to undefined results.
+
+ \sa operator--()
+*/
+
+/*!
+ \fn QWebElementCollection::const_iterator QWebElementCollection::const_iterator::operator++(int)
+
+ \overload
+
+ The postfix ++ operator (\c{it++}) advances the iterator to the next element in the collection
+ and returns an iterator to the previously current element.
+
+ Calling this function on QWebElementCollection::end() leads to undefined results.
+*/
+
+/*!
+ \fn QWebElementCollection::const_iterator &QWebElementCollection::const_iterator::operator--()
+
+ The prefix -- operator (\c{--it}) makes the preceding element current and returns an
+ iterator to the new current element.
+
+ Calling this function on QWebElementCollection::begin() leads to undefined results.
+
+ \sa operator++()
+*/
+
+/*!
+ \fn QWebElementCollection::const_iterator QWebElementCollection::const_iterator::operator--(int)
+
+ \overload
+
+ The postfix -- operator (\c{it--}) makes the preceding element current and returns
+ an iterator to the previously current element.
+*/
+
+/*!
+ \fn QWebElementCollection::const_iterator &QWebElementCollection::const_iterator::operator+=(int j)
+
+ Advances the iterator by \a j elements. If \a j is negative, the iterator goes backward.
+
+ \sa operator-=(), operator+()
+*/
+
+/*!
+ \fn QWebElementCollection::const_iterator &QWebElementCollection::const_iterator::operator-=(int j)
+
+ Makes the iterator go back by \a j elements. If \a j is negative, the iterator goes forward.
+
+ \sa operator+=(), operator-()
+*/
+
+/*!
+ \fn QWebElementCollection::const_iterator QWebElementCollection::const_iterator::operator+(int j) const
+
+ Returns an iterator to the element at \a j positions forward from this iterator. If \a j
+ is negative, the iterator goes backward.
+
+ \sa operator-(), operator+=()
+*/
+
+/*!
+ \fn QWebElementCollection::const_iterator QWebElementCollection::const_iterator::operator-(int j) const
+
+ Returns an iterator to the element at \a j positiosn backward from this iterator.
+ If \a j is negative, the iterator goes forward.
+
+ \sa operator+(), operator-=()
+*/
+
+/*!
+ \fn int QWebElementCollection::const_iterator::operator-(const_iterator other) const
+
+ Returns the number of elements between the item point to by \a other
+ and the element pointed to by this iterator.
+*/
+
+/*!
+ \fn bool QWebElementCollection::const_iterator::operator<(const const_iterator &other) const
+
+ Returns true if the element pointed to by this iterator is less than the element pointed to
+ by the \a other iterator.
+*/
+
+/*!
+ \fn bool QWebElementCollection::const_iterator::operator<=(const const_iterator &other) const
+
+ Returns true if the element pointed to by this iterator is less than or equal to the
+ element pointed to by the \a other iterator.
+*/
+
+/*!
+ \fn bool QWebElementCollection::const_iterator::operator>(const const_iterator &other) const
+
+ Returns true if the element pointed to by this iterator is greater than the element pointed to
+ by the \a other iterator.
+*/
+
+/*!
+ \fn bool QWebElementCollection::const_iterator::operator>=(const const_iterator &other) const
+
+ Returns true if the element pointed to by this iterator is greater than or equal to the
+ element pointed to by the \a other iterator.
+*/
diff --git a/src/3rdparty/webkit/WebKit/qt/Api/qwebelement.h b/src/3rdparty/webkit/WebKit/qt/Api/qwebelement.h
index 351ccb4..a18d262 100644
--- a/src/3rdparty/webkit/WebKit/qt/Api/qwebelement.h
+++ b/src/3rdparty/webkit/WebKit/qt/Api/qwebelement.h
@@ -36,6 +36,7 @@ class QPainter;
QT_END_NAMESPACE
class QWebFrame;
+class QWebElementCollection;
class QWebElementPrivate;
class QWEBKIT_EXPORT QWebElement {
@@ -50,8 +51,8 @@ public:
bool isNull() const;
- QList<QWebElement> findAll(const QString& selectorQuery) const;
- QWebElement findFirst(const QString& selectorQuery) const;
+ QWebElementCollection findAll(const QString &selectorQuery) const;
+ QWebElement findFirst(const QString &selectorQuery) const;
void setPlainText(const QString& text);
QString toPlainText() const;
@@ -96,7 +97,7 @@ public:
QWebElement document() const;
QWebFrame *webFrame() const;
- // TODO: Add QList<QWebElement> overloads
+ // TODO: Add QWebElementCollection overloads
// docs need example snippet
void appendInside(const QString& markup);
void appendInside(const QWebElement& element);
@@ -125,7 +126,7 @@ public:
QWebElement clone() const;
QWebElement& takeFromDocument();
void removeFromDocument();
- void removeChildren();
+ void removeAllChildren();
QVariant evaluateJavaScript(const QString& scriptSource);
@@ -146,6 +147,7 @@ private:
static QWebElement enclosingElement(WebCore::Node*);
friend class QWebFrame;
+ friend class QWebElementCollection;
friend class QWebHitTestResult;
friend class QWebHitTestResultPrivate;
friend class QWebPage;
@@ -154,4 +156,70 @@ private:
WebCore::Element* m_element;
};
+class QWebElementCollectionPrivate;
+
+class QWEBKIT_EXPORT QWebElementCollection
+{
+public:
+ QWebElementCollection();
+ QWebElementCollection(const QWebElement &contextElement, const QString &query);
+ QWebElementCollection(const QWebElementCollection &);
+ QWebElementCollection &operator=(const QWebElementCollection &);
+ ~QWebElementCollection();
+
+ QWebElementCollection operator+(const QWebElementCollection &other) const;
+ inline QWebElementCollection &operator+=(const QWebElementCollection &other)
+ {
+ append(other); return *this;
+ }
+
+ void append(const QWebElementCollection &collection);
+
+ int count() const;
+ QWebElement at(int i) const;
+
+ inline QWebElement first() const { return at(0); }
+ inline QWebElement last() const { return at(count() - 1); }
+
+ QList<QWebElement> toList() const;
+
+ class const_iterator {
+ public:
+ int i;
+ const QWebElementCollection *s;
+
+ inline const_iterator(const QWebElementCollection *collection, int index) : i(index), s(collection) {}
+ inline const_iterator(const const_iterator &o) : i(o.i), s(o.s) {}
+
+ inline const QWebElement operator*() const { return s->at(i); }
+
+ inline bool operator==(const const_iterator& o) const { return i == o.i && s == o.s; }
+ inline bool operator!=(const const_iterator& o) const { return i != o.i || s != o.s; }
+ inline bool operator<(const const_iterator& o) const { return i < o.i; }
+ inline bool operator<=(const const_iterator& o) const { return i <= o.i; }
+ inline bool operator>(const const_iterator& o) const { return i > o.i; }
+ inline bool operator>=(const const_iterator& o) const { return i >= o.i; }
+
+ inline const_iterator &operator++() { ++i; return *this; }
+ inline const_iterator operator++(int) { const_iterator n(s, i); ++i; return n; }
+ inline const_iterator &operator--() { i--; return *this; }
+ inline const_iterator operator--(int) { const_iterator n(s, i); i--; return n; }
+ inline const_iterator &operator+=(int j) { i += j; return *this; }
+ inline const_iterator &operator-=(int j) { i -= j; return *this; }
+ inline const_iterator operator+(int j) const { return const_iterator(s, i + j); }
+ inline const_iterator operator-(int j) const { return const_iterator(s, i - j); }
+ inline int operator-(const_iterator j) const { return i - j.i; }
+ private:
+ inline const_iterator() : i(0), s(0) {}
+ };
+ friend class const_iterator;
+
+ inline const_iterator begin() const { return const_iterator(this, 0); }
+ inline const_iterator end() const { return const_iterator(this, count()); }
+ inline QWebElement operator[](int i) const { return at(i); }
+
+private:
+ QExplicitlySharedDataPointer<QWebElementCollectionPrivate> d;
+};
+
#endif // QWEBELEMENT_H
diff --git a/src/3rdparty/webkit/WebKit/qt/Api/qwebframe.cpp b/src/3rdparty/webkit/WebKit/qt/Api/qwebframe.cpp
index d2c324d..17a0118 100644
--- a/src/3rdparty/webkit/WebKit/qt/Api/qwebframe.cpp
+++ b/src/3rdparty/webkit/WebKit/qt/Api/qwebframe.cpp
@@ -185,6 +185,17 @@ void QWEBKIT_EXPORT qt_drt_garbageCollector_collectOnAlternateThread(bool waitUn
gcController().garbageCollectOnAlternateThreadForDebugging(waitUntilDone);
}
+// Returns the value of counter in the element specified by \a id.
+QString QWEBKIT_EXPORT qt_drt_counterValueForElementById(QWebFrame* qFrame, const QString& id)
+{
+ Frame* frame = QWebFramePrivate::core(qFrame);
+ if (Document* document = frame->document()) {
+ Element* element = document->getElementById(id);
+ return WebCore::counterValueForElement(element);
+ }
+ return QString();
+}
+
QWebFrameData::QWebFrameData(WebCore::Page* parentPage, WebCore::Frame* parentFrame,
WebCore::HTMLFrameOwnerElement* ownerFrameElement,
const WebCore::String& frameName)
@@ -232,7 +243,7 @@ WebCore::Scrollbar* QWebFramePrivate::verticalScrollBar() const
return frame->view()->verticalScrollbar();
}
-void QWebFramePrivate::renderPrivate(QPainter *painter, const QRegion &clip)
+void QWebFramePrivate::renderPrivate(QPainter *painter, QWebFrame::RenderLayer layer, const QRegion &clip)
{
if (!frame->view() || !frame->contentRenderer())
return;
@@ -241,24 +252,58 @@ void QWebFramePrivate::renderPrivate(QPainter *painter, const QRegion &clip)
if (vector.isEmpty())
return;
- WebCore::FrameView* view = frame->view();
- view->layoutIfNeededRecursive();
-
GraphicsContext context(painter);
+ if (context.paintingDisabled() && !context.updatingControlTints())
+ return;
- if (clipRenderToViewport)
- view->paint(&context, vector.first());
- else
- view->paintContents(&context, vector.first());
+ WebCore::FrameView* view = frame->view();
+ view->layoutIfNeededRecursive();
- for (int i = 1; i < vector.size(); ++i) {
+ for (int i = 0; i < vector.size(); ++i) {
const QRect& clipRect = vector.at(i);
+ QRect intersectedRect = clipRect.intersected(view->frameRect());
+
painter->save();
painter->setClipRect(clipRect, Qt::IntersectClip);
- if (clipRenderToViewport)
- view->paint(&context, clipRect);
- else
- view->paintContents(&context, clipRect);
+
+ int x = view->x();
+ int y = view->y();
+
+ if (layer & QWebFrame::ContentsLayer) {
+ context.save();
+
+ int scrollX = view->scrollX();
+ int scrollY = view->scrollY();
+
+ QRect rect = intersectedRect;
+ context.translate(x, y);
+ rect.translate(-x, -y);
+ context.translate(-scrollX, -scrollY);
+ rect.translate(scrollX, scrollY);
+ context.clip(view->visibleContentRect());
+
+ view->paintContents(&context, rect);
+
+ context.restore();
+ }
+
+ if (layer & QWebFrame::ScrollBarLayer
+ && !view->scrollbarsSuppressed()
+ && (view->horizontalScrollbar() || view->verticalScrollbar())) {
+ context.save();
+
+ QRect rect = intersectedRect;
+ context.translate(x, y);
+ rect.translate(-x, -y);
+
+ view->paintScrollbars(&context, rect);
+
+ context.restore();
+ }
+
+ if (layer & QWebFrame::PanIconLayer)
+ view->paintPanScrollIcon(&context);
+
painter->restore();
}
}
@@ -386,7 +431,7 @@ void QWebFrame::addToJavaScriptWindowObject(const QString &name, QObject *object
return;
JSC::JSLock lock(JSC::SilenceAssertionsOnly);
- JSDOMWindow* window = toJSDOMWindow(d->frame);
+ JSDOMWindow* window = toJSDOMWindow(d->frame, mainThreadNormalWorld());
JSC::Bindings::RootObject* root = d->frame->script()->bindingRootObject();
if (!window) {
qDebug() << "Warning: couldn't get window object";
@@ -689,6 +734,11 @@ void QWebFrame::load(const QNetworkRequest &req,
case QNetworkAccessManager::PostOperation:
request.setHTTPMethod("POST");
break;
+#if QT_VERSION >= 0x040600
+ case QNetworkAccessManager::DeleteOperation:
+ request.setHTTPMethod("DELETE");
+ break;
+#endif
case QNetworkAccessManager::UnknownOperation:
// eh?
break;
@@ -946,44 +996,37 @@ void QWebFrame::setScrollPosition(const QPoint &pos)
}
/*!
- Render the frame into \a painter clipping to \a clip.
+ \since 4.6
+ Render the \a layer of the frame using \a painter clipping to \a clip.
\sa print()
*/
-void QWebFrame::render(QPainter *painter, const QRegion &clip)
-{
- d->renderPrivate(painter, clip);
-}
-/*!
- Render the frame into \a painter.
-*/
-void QWebFrame::render(QPainter *painter)
+void QWebFrame::render(QPainter* painter, RenderLayer layer, const QRegion& clip)
{
- if (!d->frame->view())
- return;
-
- d->renderPrivate(painter, QRegion(d->frame->view()->frameRect()));
+ if (!clip.isEmpty())
+ d->renderPrivate(painter, layer, clip);
+ else if (d->frame->view())
+ d->renderPrivate(painter, layer, QRegion(d->frame->view()->frameRect()));
}
/*!
- \since 4.6
- \property QWebFrame::clipRenderToViewport
-
- Returns true if render will clip content to viewport; otherwise returns false.
+ Render the frame into \a painter clipping to \a clip.
*/
-bool QWebFrame::clipRenderToViewport() const
+void QWebFrame::render(QPainter *painter, const QRegion &clip)
{
- return d->clipRenderToViewport;
+ d->renderPrivate(painter, AllLayers, clip);
}
/*!
- \since 4.6
- Sets whether the content of a frame will be clipped to viewport when rendered.
+ Render the frame into \a painter.
*/
-void QWebFrame::setClipRenderToViewport(bool clipRenderToViewport)
+void QWebFrame::render(QPainter *painter)
{
- d->clipRenderToViewport = clipRenderToViewport;
+ if (!d->frame->view())
+ return;
+
+ d->renderPrivate(painter, AllLayers, QRegion(d->frame->view()->frameRect()));
}
/*!
@@ -1114,7 +1157,7 @@ QWebElement QWebFrame::documentElement() const
\sa QWebElement::findAll()
*/
-QList<QWebElement> QWebFrame::findAllElements(const QString &selectorQuery) const
+QWebElementCollection QWebFrame::findAllElements(const QString &selectorQuery) const
{
return documentElement().findAll(selectorQuery);
}
@@ -1264,7 +1307,7 @@ QVariant QWebFrame::evaluateJavaScript(const QString& scriptSource)
if (proxy) {
JSC::JSValue v = d->frame->script()->executeScript(ScriptSourceCode(scriptSource)).jsValue();
int distance = 0;
- rc = JSC::Bindings::convertValueToQVariant(proxy->globalObject()->globalExec(), v, QMetaType::Void, &distance);
+ rc = JSC::Bindings::convertValueToQVariant(proxy->globalObject(mainThreadNormalWorld())->globalExec(), v, QMetaType::Void, &distance);
}
return rc;
}
@@ -1402,7 +1445,6 @@ QWebHitTestResultPrivate::QWebHitTestResultPrivate(const WebCore::HitTestResult
if (!hitTest.innerNode())
return;
pos = hitTest.point();
- boundingRect = hitTest.boundingBox();
WebCore::TextDirection dir;
title = hitTest.title(dir);
linkText = hitTest.textContent();
@@ -1412,6 +1454,7 @@ QWebHitTestResultPrivate::QWebHitTestResultPrivate(const WebCore::HitTestResult
imageUrl = hitTest.absoluteImageURL();
innerNode = hitTest.innerNode();
innerNonSharedNode = hitTest.innerNonSharedNode();
+ boundingRect = innerNonSharedNode ? innerNonSharedNode->renderer()->absoluteBoundingBoxRect(true) : IntRect();
WebCore::Image *img = hitTest.image();
if (img) {
QPixmap *pix = img->nativeImageForCurrentFrame();
@@ -1659,4 +1702,3 @@ QWebFrame *QWebHitTestResult::frame() const
return 0;
return d->frame;
}
-
diff --git a/src/3rdparty/webkit/WebKit/qt/Api/qwebframe.h b/src/3rdparty/webkit/WebKit/qt/Api/qwebframe.h
index 55c73b4..08285f8 100644
--- a/src/3rdparty/webkit/WebKit/qt/Api/qwebframe.h
+++ b/src/3rdparty/webkit/WebKit/qt/Api/qwebframe.h
@@ -50,6 +50,7 @@ class QWebHitTestResult;
class QWebHistoryItem;
class QWebSecurityOrigin;
class QWebElement;
+class QWebElementCollection;
namespace WebCore {
class WidgetPrivate;
@@ -112,7 +113,6 @@ class QWEBKIT_EXPORT QWebFrame : public QObject {
Q_PROPERTY(QIcon icon READ icon)
Q_PROPERTY(QSize contentsSize READ contentsSize)
Q_PROPERTY(QPoint scrollPosition READ scrollPosition WRITE setScrollPosition)
- Q_PROPERTY(bool clipRenderToViewport READ clipRenderToViewport WRITE setClipRenderToViewport)
Q_PROPERTY(bool focus READ hasFocus)
private:
QWebFrame(QWebPage *parent, QWebFrameData *frameData);
@@ -165,10 +165,17 @@ public:
QPoint scrollPosition() const;
void setScrollPosition(const QPoint &pos);
- void render(QPainter *painter, const QRegion &clip);
- void render(QPainter *painter);
- bool clipRenderToViewport() const;
- void setClipRenderToViewport(bool clipRenderToViewport);
+ enum RenderLayer {
+ ContentsLayer = 0x10,
+ ScrollBarLayer = 0x20,
+ PanIconLayer = 0x40,
+
+ AllLayers = 0xff
+ };
+
+ void render(QPainter*);
+ void render(QPainter*, const QRegion& clip);
+ void render(QPainter*, RenderLayer layer, const QRegion& clip = QRegion());
void setTextSizeMultiplier(qreal factor);
qreal textSizeMultiplier() const;
@@ -184,7 +191,7 @@ public:
QSize contentsSize() const;
QWebElement documentElement() const;
- QList<QWebElement> findAllElements(const QString &selectorQuery) const;
+ QWebElementCollection findAllElements(const QString &selectorQuery) const;
QWebElement findFirstElement(const QString &selectorQuery) const;
QWebHitTestResult hitTestContent(const QPoint &pos) const;
diff --git a/src/3rdparty/webkit/WebKit/qt/Api/qwebframe_p.h b/src/3rdparty/webkit/WebKit/qt/Api/qwebframe_p.h
index 632f83a..081e65d 100644
--- a/src/3rdparty/webkit/WebKit/qt/Api/qwebframe_p.h
+++ b/src/3rdparty/webkit/WebKit/qt/Api/qwebframe_p.h
@@ -70,7 +70,6 @@ public:
, allowsScrolling(true)
, marginWidth(-1)
, marginHeight(-1)
- , clipRenderToViewport(true)
{}
void init(QWebFrame* qframe, QWebFrameData* frameData);
@@ -82,7 +81,7 @@ public:
static WebCore::Frame* core(QWebFrame*);
static QWebFrame* kit(WebCore::Frame*);
- void renderPrivate(QPainter *painter, const QRegion &clip);
+ void renderPrivate(QPainter*, QWebFrame::RenderLayer, const QRegion& clip);
QWebFrame *q;
Qt::ScrollBarPolicy horizontalScrollBarPolicy;
@@ -94,7 +93,6 @@ public:
bool allowsScrolling;
int marginWidth;
int marginHeight;
- bool clipRenderToViewport;
};
class QWebHitTestResultPrivate {
diff --git a/src/3rdparty/webkit/WebKit/qt/Api/qwebhistory.cpp b/src/3rdparty/webkit/WebKit/qt/Api/qwebhistory.cpp
index 5752d66..d852012 100644
--- a/src/3rdparty/webkit/WebKit/qt/Api/qwebhistory.cpp
+++ b/src/3rdparty/webkit/WebKit/qt/Api/qwebhistory.cpp
@@ -31,6 +31,11 @@
#include <QSharedData>
#include <QDebug>
+enum {
+ InitialHistoryVersion = 1,
+ DefaultHistoryVersion = InitialHistoryVersion
+};
+
/*!
\class QWebHistoryItem
\since 4.4
@@ -226,7 +231,8 @@ bool QWebHistoryItem::isValid() const
number of items is given by count(), and the history can be cleared with the
clear() function.
- QWebHistory's state can be saved with saveState() and loaded with restoreState().
+ QWebHistory's state can be saved to a QDataStream using the >> operator and loaded
+ by using the << operator.
\sa QWebHistoryItem, QWebHistoryInterface, QWebPage
*/
@@ -475,135 +481,72 @@ void QWebHistory::setMaximumItemCount(int count)
}
/*!
- \enum QWebHistory::HistoryStateVersion
+ \since 4.6
+ \fn QDataStream& operator<<(QDataStream& stream, const QWebHistory& history)
+ \relates QWebHistory
- This enum describes the versions available for QWebHistory's saveState() function:
+ \brief The operator<< function streams a history into a data stream.
- \value HistoryVersion_1 Version 1 (Qt 4.6)
- \value DefaultHistoryVersion The current default version in 1.
+ It saves the \a history into the specified \a stream.
*/
+QDataStream& operator<<(QDataStream& target, const QWebHistory& history)
+{
+ QWebHistoryPrivate* d = history.d;
+
+ int version = DefaultHistoryVersion;
+
+ target << version;
+ target << history.count() << history.currentItemIndex();
+
+ const WebCore::HistoryItemVector &items = d->lst->entries();
+ for (unsigned i = 0; i < items.size(); i++)
+ items[i].get()->saveState(target, version);
+
+ return target;
+}
+
/*!
+ \fn QDataStream& operator>>(QDataStream& stream, QWebHistory& history)
+ \relates QWebHistory
\since 4.6
- Restores the state of QWebHistory from the given \a buffer. Returns true
- if the history was successfully restored; otherwise returns false.
+ \brief The operator>> function loads a history from a data stream.
- \sa saveState()
+ Loads a QWebHistory from the specified \a stream into the given \a history.
*/
-bool QWebHistory::restoreState(const QByteArray& buffer)
+
+QDataStream& operator>>(QDataStream& source, QWebHistory& history)
{
- QDataStream stream(buffer);
+ QWebHistoryPrivate* d = history.d;
+
int version;
- bool result = false;
- stream >> version;
- switch (version) {
- case HistoryVersion_1: {
+ source >> version;
+
+ if (version == 1) {
int count;
int currentIndex;
- stream >> count >> currentIndex;
+ source >> count >> currentIndex;
- clear();
+ history.clear();
// only if there are elements
if (count) {
// after clear() is new clear HistoryItem (at the end we had to remove it)
- WebCore::HistoryItem *nullItem = d->lst->currentItem();
- for (int i = 0;i < count;i++) {
+ WebCore::HistoryItem* nullItem = d->lst->currentItem();
+ for (int i = 0; i < count; i++) {
WTF::PassRefPtr<WebCore::HistoryItem> item = WebCore::HistoryItem::create();
- item->restoreState(stream, version);
+ item->restoreState(source, version);
d->lst->addItem(item);
}
d->lst->removeItem(nullItem);
- goToItem(itemAt(currentIndex));
- result = stream.status() == QDataStream::Ok;
+ history.goToItem(history.itemAt(currentIndex));
}
- break;
- }
- default: {} // result is false;
}
d->page()->updateNavigationActions();
- return result;
-};
-
-/*!
- \since 4.6
- Saves the state of this QWebHistory into a QByteArray.
-
- Saves the current state of this QWebHistory. The version number, \a version, is
- stored as part of the data.
-
- To restore the saved state, pass the return value to restoreState().
-
- \sa restoreState()
-*/
-QByteArray QWebHistory::saveState(HistoryStateVersion version) const
-{
- QByteArray buffer;
- QDataStream stream(&buffer, QIODevice::WriteOnly);
- stream << version;
-
- switch (version) {
- case HistoryVersion_1: {
- stream << count() << currentItemIndex();
-
- const WebCore::HistoryItemVector &items = d->lst->entries();
- for (unsigned i = 0; i < items.size(); i++)
- items[i].get()->saveState(stream, version);
-
- if (stream.status() != QDataStream::Ok)
- buffer = QByteArray(); // make buffer isNull()==true and isEmpty()==true
- break;
- }
- default:
- buffer.clear();
-
- }
-
- return buffer;
-}
-
-/*!
- \since 4.6
- \fn QDataStream& operator<<(QDataStream& stream, const QWebHistory& history)
- \relates QWebHistory
-
- \brief The operator<< function streams a history into a data stream.
-
- It saves the \a history into the specified \a stream. This is a
- convenience function and is equivalent to calling the saveState()
- method.
-
- \sa QWebHistory::saveState()
-*/
-
-QDataStream& operator<<(QDataStream& stream, const QWebHistory& history)
-{
- return stream << history.saveState();
-}
-
-/*!
- \fn QDataStream& operator>>(QDataStream& stream, QWebHistory& history)
- \relates QWebHistory
- \since 4.6
-
- \brief The operator>> function loads a history from a data stream.
-
- Loads a QWebHistory from the specified \a stream into the given \a history.
- This is a convenience function and it is equivalent to calling the restoreState()
- method.
-
- \sa QWebHistory::restoreState()
-*/
-
-QDataStream& operator>>(QDataStream& stream, QWebHistory& history)
-{
- QByteArray buffer;
- stream >> buffer;
- history.restoreState(buffer);
- return stream;
+ return source;
}
QWebPagePrivate* QWebHistoryPrivate::page()
diff --git a/src/3rdparty/webkit/WebKit/qt/Api/qwebhistory.h b/src/3rdparty/webkit/WebKit/qt/Api/qwebhistory.h
index e46f124..cce4553 100644
--- a/src/3rdparty/webkit/WebKit/qt/Api/qwebhistory.h
+++ b/src/3rdparty/webkit/WebKit/qt/Api/qwebhistory.h
@@ -42,9 +42,6 @@ public:
QWebHistoryItem &operator=(const QWebHistoryItem &other);
~QWebHistoryItem();
- //bool restoreState(QByteArray& buffer);
- //QByteArray saveState(QWebHistory::HistoryStateVersion version = DefaultHistoryVersion) const;
-
QUrl originalUrl() const;
QUrl url() const;
@@ -69,22 +66,10 @@ private:
QExplicitlySharedDataPointer<QWebHistoryItemPrivate> d;
};
-//QWEBKIT_EXPORT QDataStream & operator<<(QDataStream& out,const QWebHistoryItem& hist);
-//QWEBKIT_EXPORT QDataStream & operator>>(QDataStream& in,QWebHistoryItem& hist);
-
class QWebHistoryPrivate;
class QWEBKIT_EXPORT QWebHistory {
public:
- enum HistoryStateVersion {
- HistoryVersion_1,
- /*, HistoryVersion_2, */
- DefaultHistoryVersion = HistoryVersion_1
- };
-
- bool restoreState(const QByteArray& buffer);
- QByteArray saveState(HistoryStateVersion version = DefaultHistoryVersion) const;
-
void clear();
QList<QWebHistoryItem> items() const;
diff --git a/src/3rdparty/webkit/WebKit/qt/Api/qwebinspector.cpp b/src/3rdparty/webkit/WebKit/qt/Api/qwebinspector.cpp
index 4578dc9..409e1a0 100644
--- a/src/3rdparty/webkit/WebKit/qt/Api/qwebinspector.cpp
+++ b/src/3rdparty/webkit/WebKit/qt/Api/qwebinspector.cpp
@@ -188,9 +188,3 @@ void QWebInspectorPrivate::adjustFrontendSize(const QSize& size)
frontend->resize(size);
}
-/*!
- \fn void QWebInspector::windowTitleChanged(const QString& newTitle);
-
- This is emitted to signal that this widget's title changed to \a newTitle.
-*/
-
diff --git a/src/3rdparty/webkit/WebKit/qt/Api/qwebinspector.h b/src/3rdparty/webkit/WebKit/qt/Api/qwebinspector.h
index bb5bd64..a5c1ed5 100644
--- a/src/3rdparty/webkit/WebKit/qt/Api/qwebinspector.h
+++ b/src/3rdparty/webkit/WebKit/qt/Api/qwebinspector.h
@@ -39,9 +39,6 @@ public:
QSize sizeHint() const;
bool event(QEvent*);
-Q_SIGNALS:
- void windowTitleChanged(const QString& newTitle);
-
protected:
void resizeEvent(QResizeEvent* event);
void showEvent(QShowEvent* event);
diff --git a/src/3rdparty/webkit/WebKit/qt/Api/qwebpage.cpp b/src/3rdparty/webkit/WebKit/qt/Api/qwebpage.cpp
index 31d193e..a1e131a 100644
--- a/src/3rdparty/webkit/WebKit/qt/Api/qwebpage.cpp
+++ b/src/3rdparty/webkit/WebKit/qt/Api/qwebpage.cpp
@@ -77,6 +77,8 @@
#include "LocalizedStrings.h"
#include "Cache.h"
#include "runtime/InitializeThreading.h"
+#include "PageGroup.h"
+#include "QWebPageClient.h"
#include <QApplication>
#include <QBasicTimer>
@@ -106,6 +108,9 @@
#else
#include "qwebnetworkinterface.h"
#endif
+#if defined(Q_WS_X11)
+#include <QX11Info>
+#endif
using namespace WebCore;
@@ -137,6 +142,95 @@ QString QWEBKIT_EXPORT qt_webpage_groupName(QWebPage* page)
return page->handle()->page->groupName();
}
+class QWebPageWidgetClient : public QWebPageClient {
+public:
+ QWebPageWidgetClient(QWidget* view)
+ : view(view)
+ {
+ Q_ASSERT(view);
+ }
+
+ virtual void scroll(int dx, int dy, const QRect&);
+ virtual void update(const QRect& dirtyRect);
+ virtual void setInputMethodEnabled(bool enable);
+#if QT_VERSION >= 0x040600
+ virtual void setInputMethodHint(Qt::InputMethodHint hint, bool enable);
+#endif
+
+#ifndef QT_NO_CURSOR
+ virtual QCursor cursor() const;
+ virtual void updateCursor(const QCursor& cursor);
+#endif
+
+ virtual QPalette palette() const;
+ virtual int screenNumber() const;
+ virtual QWidget* ownerWidget() const;
+
+ virtual QObject* pluginParent() const;
+
+ QWidget* view;
+};
+
+void QWebPageWidgetClient::scroll(int dx, int dy, const QRect& rectToScroll)
+{
+ view->scroll(qreal(dx), qreal(dy), rectToScroll);
+}
+
+void QWebPageWidgetClient::update(const QRect & dirtyRect)
+{
+ view->update(dirtyRect);
+}
+
+void QWebPageWidgetClient::setInputMethodEnabled(bool enable)
+{
+ view->setAttribute(Qt::WA_InputMethodEnabled, enable);
+}
+#if QT_VERSION >= 0x040600
+void QWebPageWidgetClient::setInputMethodHint(Qt::InputMethodHint hint, bool enable)
+{
+ if (enable)
+ view->setInputMethodHints(view->inputMethodHints() | hint);
+ else
+ view->setInputMethodHints(view->inputMethodHints() & ~hint);
+}
+#endif
+#ifndef QT_NO_CURSOR
+QCursor QWebPageWidgetClient::cursor() const
+{
+ return view->cursor();
+}
+
+void QWebPageWidgetClient::updateCursor(const QCursor& cursor)
+{
+ view->setCursor(cursor);
+}
+#endif
+
+QPalette QWebPageWidgetClient::palette() const
+{
+ return view->palette();
+}
+
+int QWebPageWidgetClient::screenNumber() const
+{
+#if defined(Q_WS_X11)
+ if (view)
+ return view->x11Info().screen();
+#endif
+
+ return 0;
+}
+
+QWidget* QWebPageWidgetClient::ownerWidget() const
+{
+ return view;
+}
+
+QObject* QWebPageWidgetClient::pluginParent() const
+{
+ return view;
+}
+
// Lookup table mapping QWebPage::WebActions to the associated Editor commands
static const char* editorCommandWebActions[] =
{
@@ -262,7 +356,9 @@ static inline Qt::DropAction dragOpToDropAction(unsigned actions)
QWebPagePrivate::QWebPagePrivate(QWebPage *qq)
: q(qq)
, client(0)
+#if QT_VERSION < 0x040600
, view(0)
+#endif
, inspectorFrontend(0)
, inspector(0)
, inspectorIsInternalOnly(false)
@@ -302,6 +398,8 @@ QWebPagePrivate::QWebPagePrivate(QWebPage *qq)
history.d = new QWebHistoryPrivate(page->backForwardList());
memset(actions, 0, sizeof(actions));
+
+ PageGroup::setShouldTrackVisitedLinks(true);
}
QWebPagePrivate::~QWebPagePrivate()
@@ -378,7 +476,7 @@ static QWebPage::WebAction webActionForContextMenuAction(WebCore::ContextMenuAct
QMenu *QWebPagePrivate::createContextMenu(const WebCore::ContextMenu *webcoreMenu,
const QList<WebCore::ContextMenuItem> *items, QBitArray *visitedWebActions)
{
- QMenu* menu = new QMenu(view);
+ QMenu* menu = new QMenu(q->view());
for (int i = 0; i < items->count(); ++i) {
const ContextMenuItem &item = items->at(i);
switch (item.type()) {
@@ -759,13 +857,13 @@ void QWebPagePrivate::mouseReleaseEvent(QGraphicsSceneMouseEvent* ev)
void QWebPagePrivate::handleSoftwareInputPanel(Qt::MouseButton button)
{
#if QT_VERSION >= QT_VERSION_CHECK(4, 6, 0)
- if (view && view->testAttribute(Qt::WA_InputMethodEnabled)
+ if (q->view() && q->view()->testAttribute(Qt::WA_InputMethodEnabled)
&& button == Qt::LeftButton && qApp->autoSipEnabled()) {
QStyle::RequestSoftwareInputPanel behavior = QStyle::RequestSoftwareInputPanel(
- view->style()->styleHint(QStyle::SH_RequestSoftwareInputPanel));
+ q->view()->style()->styleHint(QStyle::SH_RequestSoftwareInputPanel));
if (!clickCausedFocus || behavior == QStyle::RSIP_OnMouseClick) {
QEvent event(QEvent::RequestSoftwareInputPanel);
- QApplication::sendEvent(view, &event);
+ QApplication::sendEvent(q->view(), &event);
}
}
@@ -909,8 +1007,8 @@ void QWebPagePrivate::keyPressEvent(QKeyEvent *ev)
if (!handled) {
handled = true;
QFont defaultFont;
- if (view)
- defaultFont = view->font();
+ if (q->view())
+ defaultFont = q->view()->font();
QFontMetrics fm(defaultFont);
if (!handleScrolling(ev, frame)) {
switch (ev->key()) {
@@ -1665,8 +1763,17 @@ QWebHistory *QWebPage::history() const
*/
void QWebPage::setView(QWidget *view)
{
- if (d->view != view) {
+ if (this->view() != view) {
d->view = view;
+ if (!view) {
+ delete d->client;
+ d->client = 0;
+ } else {
+ if (!d->client)
+ d->client = new QWebPageWidgetClient(view);
+ else
+ static_cast<QWebPageWidgetClient*>(d->client)->view = view;
+ }
setViewportSize(view ? view->size() : QSize(0, 0));
}
}
@@ -1678,7 +1785,11 @@ void QWebPage::setView(QWidget *view)
*/
QWidget *QWebPage::view() const
{
+#if QT_VERSION < 0x040600
return d->view;
+#else
+ return d->view.data();
+#endif
}
/*!
@@ -1705,7 +1816,7 @@ void QWebPage::javaScriptAlert(QWebFrame *frame, const QString& msg)
{
Q_UNUSED(frame)
#ifndef QT_NO_MESSAGEBOX
- QMessageBox::information(d->view, tr("JavaScript Alert - %1").arg(mainFrame()->url().host()), msg, QMessageBox::Ok);
+ QMessageBox::information(view(), tr("JavaScript Alert - %1").arg(mainFrame()->url().host()), msg, QMessageBox::Ok);
#endif
}
@@ -1721,7 +1832,7 @@ bool QWebPage::javaScriptConfirm(QWebFrame *frame, const QString& msg)
#ifdef QT_NO_MESSAGEBOX
return true;
#else
- return QMessageBox::Yes == QMessageBox::information(d->view, tr("JavaScript Confirm - %1").arg(mainFrame()->url().host()), msg, QMessageBox::Yes, QMessageBox::No);
+ return QMessageBox::Yes == QMessageBox::information(view(), tr("JavaScript Confirm - %1").arg(mainFrame()->url().host()), msg, QMessageBox::Yes, QMessageBox::No);
#endif
}
@@ -1739,7 +1850,7 @@ bool QWebPage::javaScriptPrompt(QWebFrame *frame, const QString& msg, const QStr
Q_UNUSED(frame)
bool ok = false;
#ifndef QT_NO_INPUTDIALOG
- QString x = QInputDialog::getText(d->view, tr("JavaScript Prompt - %1").arg(mainFrame()->url().host()), msg, QLineEdit::Normal, defaultValue, &ok);
+ QString x = QInputDialog::getText(view(), tr("JavaScript Prompt - %1").arg(mainFrame()->url().host()), msg, QLineEdit::Normal, defaultValue, &ok);
if (ok && result)
*result = x;
#endif
@@ -1764,7 +1875,7 @@ bool QWebPage::shouldInterruptJavaScript()
#ifdef QT_NO_MESSAGEBOX
return false;
#else
- return QMessageBox::Yes == QMessageBox::information(d->view, tr("JavaScript Problem - %1").arg(mainFrame()->url().host()), tr("The script on this page appears to have a problem. Do you want to stop the script?"), QMessageBox::Yes, QMessageBox::No);
+ return QMessageBox::Yes == QMessageBox::information(view(), tr("JavaScript Problem - %1").arg(mainFrame()->url().host()), tr("The script on this page appears to have a problem. Do you want to stop the script?"), QMessageBox::Yes, QMessageBox::No);
#endif
}
@@ -1781,7 +1892,7 @@ bool QWebPage::shouldInterruptJavaScript()
*/
QWebPage *QWebPage::createWindow(WebWindowType type)
{
- QWebView *webView = qobject_cast<QWebView *>(d->view);
+ QWebView *webView = qobject_cast<QWebView *>(view());
if (webView) {
QWebView *newView = webView->createWindow(type);
if (newView)
@@ -2652,6 +2763,17 @@ void QWebPage::updatePositionDependentActions(const QPoint &pos)
as a result of the user clicking on a "file upload" button in a HTML form where multiple
file selection is allowed.
+ \omitvalue ErrorPageExtension (introduced in Qt 4.6)
+*/
+
+/*!
+ \enum QWebPage::ErrorDomain
+ \since 4.6
+ \internal
+
+ \value QtNetwork
+ \value Http
+ \value WebKit
*/
/*!
@@ -2702,6 +2824,12 @@ void QWebPage::updatePositionDependentActions(const QPoint &pos)
*/
/*!
+ \fn QWebPage::ErrorPageExtensionReturn::ErrorPageExtensionReturn()
+
+ Constructs a new error page object.
+*/
+
+/*!
\class QWebPage::ChooseMultipleFilesExtensionOption
\since 4.5
\brief The ChooseMultipleFilesExtensionOption class describes the option
@@ -2747,7 +2875,7 @@ bool QWebPage::extension(Extension extension, const ExtensionOption *option, Ext
if (extension == ChooseMultipleFilesExtension) {
// FIXME: do not ignore suggestedFiles
QStringList suggestedFiles = static_cast<const ChooseMultipleFilesExtensionOption*>(option)->suggestedFileNames;
- QStringList names = QFileDialog::getOpenFileNames(d->view, QString::null);
+ QStringList names = QFileDialog::getOpenFileNames(view(), QString::null);
static_cast<ChooseMultipleFilesExtensionReturn*>(output)->fileNames = names;
return true;
}
@@ -2829,7 +2957,7 @@ QString QWebPage::chooseFile(QWebFrame *parentFrame, const QString& suggestedFil
{
Q_UNUSED(parentFrame)
#ifndef QT_NO_FILEDIALOG
- return QFileDialog::getOpenFileName(d->view, QString::null, suggestedFile);
+ return QFileDialog::getOpenFileName(view(), QString::null, suggestedFile);
#else
return QString::null;
#endif
@@ -3092,8 +3220,8 @@ QString QWebPage::userAgentForUrl(const QUrl& url) const
// Language
QLocale locale;
- if (d->view)
- locale = d->view->locale();
+ if (view())
+ locale = view()->locale();
QString name = locale.name();
name[2] = QLatin1Char('-');
ua.append(name);
@@ -3380,16 +3508,6 @@ quint64 QWebPage::bytesReceived() const
*/
/*!
- \since 4.6
- \fn void QWebPage::networkRequestStarted(QWebFrame* frame, QNetworkRequest* request);
- \preliminary
-
- This signal is emitted when a \a frame of the current page requests a web resource. The application
- may want to associate the \a request with the \a frame that initiated it by storing the \a frame
- as an attribute of the \a request.
-*/
-
-/*!
\fn QWebPagePrivate* QWebPage::handle() const
\internal
*/
diff --git a/src/3rdparty/webkit/WebKit/qt/Api/qwebpage.h b/src/3rdparty/webkit/WebKit/qt/Api/qwebpage.h
index f2bbde0..f39209c 100644
--- a/src/3rdparty/webkit/WebKit/qt/Api/qwebpage.h
+++ b/src/3rdparty/webkit/WebKit/qt/Api/qwebpage.h
@@ -347,8 +347,6 @@ Q_SIGNALS:
void saveFrameStateRequested(QWebFrame* frame, QWebHistoryItem* item);
void restoreFrameStateRequested(QWebFrame* frame);
- void networkRequestStarted(QWebFrame* frame, QNetworkRequest* request);
-
protected:
virtual QWebPage *createWindow(WebWindowType type);
virtual QObject *createPlugin(const QString &classid, const QUrl &url, const QStringList &paramNames, const QStringList &paramValues);
diff --git a/src/3rdparty/webkit/WebKit/qt/Api/qwebpage_p.h b/src/3rdparty/webkit/WebKit/qt/Api/qwebpage_p.h
index b9571fa..f0f842d 100644
--- a/src/3rdparty/webkit/WebKit/qt/Api/qwebpage_p.h
+++ b/src/3rdparty/webkit/WebKit/qt/Api/qwebpage_p.h
@@ -135,7 +135,12 @@ public:
#ifndef QT_NO_UNDOSTACK
QUndoStack *undoStack;
#endif
+
+#if QT_VERSION >= 0x040600
+ QWeakPointer<QWidget> view;
+#else
QWidget* view;
+#endif
bool insideOpenCall;
quint64 m_totalBytes;
diff --git a/src/3rdparty/webkit/WebKit/qt/Api/qwebplugindatabase.cpp b/src/3rdparty/webkit/WebKit/qt/Api/qwebplugindatabase.cpp
index 623895f..758e257 100644
--- a/src/3rdparty/webkit/WebKit/qt/Api/qwebplugindatabase.cpp
+++ b/src/3rdparty/webkit/WebKit/qt/Api/qwebplugindatabase.cpp
@@ -18,7 +18,7 @@
*/
#include "config.h"
-#include "qwebplugindatabase.h"
+#include "qwebplugindatabase_p.h"
#include "PluginDatabase.h"
#include "PluginPackage.h"
@@ -26,6 +26,7 @@
using namespace WebCore;
/*!
+ \internal
\typedef QWebPluginInfo::MimeType
\since 4.6
\brief Represents a single MIME type supported by a plugin.
@@ -33,6 +34,7 @@ using namespace WebCore;
/*!
\class QWebPluginInfo
+ \internal
\since 4.6
\brief The QWebPluginInfo class represents a single Netscape plugin.
@@ -232,6 +234,7 @@ QWebPluginInfo &QWebPluginInfo::operator=(const QWebPluginInfo& other)
/*!
\class QWebPluginDatabase
+ \internal
\since 4.6
\brief The QWebPluginDatabase class provides an interface for managing
Netscape plugins used by WebKit in QWebPages.
diff --git a/src/3rdparty/webkit/WebKit/qt/Api/qwebplugindatabase.h b/src/3rdparty/webkit/WebKit/qt/Api/qwebplugindatabase_p.h
index b22c3de..b22c3de 100644
--- a/src/3rdparty/webkit/WebKit/qt/Api/qwebplugindatabase.h
+++ b/src/3rdparty/webkit/WebKit/qt/Api/qwebplugindatabase_p.h
diff --git a/src/3rdparty/webkit/WebKit/qt/Api/qwebsecurityorigin.cpp b/src/3rdparty/webkit/WebKit/qt/Api/qwebsecurityorigin.cpp
index 7c44e37..2a225c5 100644
--- a/src/3rdparty/webkit/WebKit/qt/Api/qwebsecurityorigin.cpp
+++ b/src/3rdparty/webkit/WebKit/qt/Api/qwebsecurityorigin.cpp
@@ -30,6 +30,16 @@
using namespace WebCore;
+void QWEBKIT_EXPORT qt_drt_whiteListAccessFromOrigin(const QString& sourceOrigin, const QString& destinationProtocol, const QString& destinationHost, bool allowDestinationSubdomains)
+{
+ SecurityOrigin::whiteListAccessFromOrigin(*SecurityOrigin::createFromString(sourceOrigin), destinationProtocol, destinationHost, allowDestinationSubdomains);
+}
+
+void QWEBKIT_EXPORT qt_drt_resetOriginAccessWhiteLists()
+{
+ SecurityOrigin::resetOriginAccessWhiteLists();
+}
+
/*!
\class QWebSecurityOrigin
\since 4.5
@@ -239,21 +249,3 @@ QStringList QWebSecurityOrigin::localSchemes()
}
return list;
}
-
-/*!
- \since 4.6
- \internal
-*/
-void QWebSecurityOrigin::whiteListAccessFromOrigin(const QString& sourceOrigin, const QString& destinationProtocol, const QString& destinationHost, bool allowDestinationSubdomains)
-{
- SecurityOrigin::whiteListAccessFromOrigin(*SecurityOrigin::createFromString(sourceOrigin), destinationProtocol, destinationHost, allowDestinationSubdomains);
-}
-
-/*!
- \since 4.6
- \internal
-*/
-void QWebSecurityOrigin::resetOriginAccessWhiteLists()
-{
- SecurityOrigin::resetOriginAccessWhiteLists();
-}
diff --git a/src/3rdparty/webkit/WebKit/qt/Api/qwebsecurityorigin.h b/src/3rdparty/webkit/WebKit/qt/Api/qwebsecurityorigin.h
index 94b96f0..16f8bc1 100644
--- a/src/3rdparty/webkit/WebKit/qt/Api/qwebsecurityorigin.h
+++ b/src/3rdparty/webkit/WebKit/qt/Api/qwebsecurityorigin.h
@@ -40,8 +40,6 @@ public:
static void addLocalScheme(const QString& scheme);
static void removeLocalScheme(const QString& scheme);
static QStringList localSchemes();
- static void whiteListAccessFromOrigin(const QString& sourceOrigin, const QString& destinationProtocol, const QString& destinationHost, bool allowDestinationSubdomains);
- static void resetOriginAccessWhiteLists();
~QWebSecurityOrigin();
diff --git a/src/3rdparty/webkit/WebKit/qt/Api/qwebsettings.cpp b/src/3rdparty/webkit/WebKit/qt/Api/qwebsettings.cpp
index ffa21e4..3052056 100644
--- a/src/3rdparty/webkit/WebKit/qt/Api/qwebsettings.cpp
+++ b/src/3rdparty/webkit/WebKit/qt/Api/qwebsettings.cpp
@@ -22,7 +22,7 @@
#include "qwebpage.h"
#include "qwebpage_p.h"
-#include "qwebplugindatabase.h"
+#include "qwebplugindatabase_p.h"
#include "Cache.h"
#include "CrossOriginPreflightResultCache.h"
@@ -627,7 +627,7 @@ QIcon QWebSettings::iconForUrl(const QUrl& url)
/*!
Returns the plugin database object.
-*/
+
QWebPluginDatabase *QWebSettings::pluginDatabase()
{
static QWebPluginDatabase* database = 0;
@@ -635,6 +635,7 @@ QWebPluginDatabase *QWebSettings::pluginDatabase()
database = new QWebPluginDatabase();
return database;
}
+*/
/*!
Sets \a graphic to be drawn when QtWebKit needs to draw an image of the
diff --git a/src/3rdparty/webkit/WebKit/qt/Api/qwebsettings.h b/src/3rdparty/webkit/WebKit/qt/Api/qwebsettings.h
index e68ea53..c958ae7 100644
--- a/src/3rdparty/webkit/WebKit/qt/Api/qwebsettings.h
+++ b/src/3rdparty/webkit/WebKit/qt/Api/qwebsettings.h
@@ -114,7 +114,7 @@ public:
static void clearIconDatabase();
static QIcon iconForUrl(const QUrl &url);
- static QWebPluginDatabase *pluginDatabase();
+ //static QWebPluginDatabase *pluginDatabase();
static void setWebGraphic(WebGraphic type, const QPixmap &graphic);
static QPixmap webGraphic(WebGraphic type);
diff --git a/src/3rdparty/webkit/WebKit/qt/Api/qwebview.cpp b/src/3rdparty/webkit/WebKit/qt/Api/qwebview.cpp
index 95d7183..55ce1f7 100644
--- a/src/3rdparty/webkit/WebKit/qt/Api/qwebview.cpp
+++ b/src/3rdparty/webkit/WebKit/qt/Api/qwebview.cpp
@@ -32,11 +32,8 @@
#include "qprinter.h"
#include "qdir.h"
#include "qfile.h"
-#if defined(Q_WS_X11)
-#include <QX11Info>
-#endif
-class QWebViewPrivate : public QWebPageClient {
+class QWebViewPrivate {
public:
QWebViewPrivate(QWebView *view)
: view(view)
@@ -46,24 +43,6 @@ public:
Q_ASSERT(view);
}
- virtual void scroll(int dx, int dy, const QRect&);
- virtual void update(const QRect& dirtyRect);
- virtual void setInputMethodEnabled(bool enable);
-#if QT_VERSION >= 0x040600
- virtual void setInputMethodHint(Qt::InputMethodHint hint, bool enable);
-#endif
-
-#ifndef QT_NO_CURSOR
- virtual QCursor cursor() const;
- virtual void updateCursor(const QCursor& cursor);
-#endif
-
- virtual QPalette palette() const;
- virtual int screenNumber() const;
- virtual QWidget* ownerWidget() const;
-
- virtual QObject* pluginParent() const;
-
void _q_pageDestroyed();
QWebView *view;
@@ -72,66 +51,6 @@ public:
QPainter::RenderHints renderHints;
};
-void QWebViewPrivate::scroll(int dx, int dy, const QRect& rectToScroll)
-{
- view->scroll(qreal(dx), qreal(dy), rectToScroll);
-}
-
-void QWebViewPrivate::update(const QRect & dirtyRect)
-{
- view->update(dirtyRect);
-}
-
-void QWebViewPrivate::setInputMethodEnabled(bool enable)
-{
- view->setAttribute(Qt::WA_InputMethodEnabled, enable);
-}
-#if QT_VERSION >= 0x040600
-void QWebViewPrivate::setInputMethodHint(Qt::InputMethodHint hint, bool enable)
-{
- if (enable)
- view->setInputMethodHints(view->inputMethodHints() | hint);
- else
- view->setInputMethodHints(view->inputMethodHints() & ~hint);
-}
-#endif
-#ifndef QT_NO_CURSOR
-QCursor QWebViewPrivate::cursor() const
-{
- return view->cursor();
-}
-
-void QWebViewPrivate::updateCursor(const QCursor& cursor)
-{
- view->setCursor(cursor);
-}
-#endif
-
-QPalette QWebViewPrivate::palette() const
-{
- return view->palette();
-}
-
-int QWebViewPrivate::screenNumber() const
-{
-#if defined(Q_WS_X11)
- if (view)
- return view->x11Info().screen();
-#endif
-
- return 0;
-}
-
-QWidget* QWebViewPrivate::ownerWidget() const
-{
- return view;
-}
-
-QObject* QWebViewPrivate::pluginParent() const
-{
- return view;
-}
-
void QWebViewPrivate::_q_pageDestroyed()
{
page = 0;
@@ -246,7 +165,12 @@ QWebView::QWebView(QWidget *parent)
QWebView::~QWebView()
{
if (d->page) {
+#if QT_VERSION >= 0x040600
+ d->page->d->view.clear();
+#else
d->page->d->view = 0;
+#endif
+ delete d->page->d->client;
d->page->d->client = 0;
}
@@ -292,7 +216,6 @@ void QWebView::setPage(QWebPage* page)
d->page = page;
if (d->page) {
d->page->setView(this);
- d->page->d->client = d; // set the page client
d->page->setPalette(palette());
// #### connect signals
QWebFrame *mainFrame = d->page->mainFrame();
@@ -324,79 +247,6 @@ void QWebView::setPage(QWebPage* page)
}
/*!
- Returns a valid URL from a user supplied \a string if one can be deducted.
- In the case that is not possible, an invalid QUrl() is returned.
-
- \since 4.6
-
- Most applications that can browse the web, allow the user to input a URL
- in the form of a plain string. This string can be manually typed into
- a location bar, obtained from the clipboard, or passed in via command
- line arguments.
-
- When the string is not already a valid URL, a best guess is performed,
- making various web related assumptions.
-
- In the case the string corresponds to a valid file path on the system,
- a file:// URL is constructed, using QUrl::fromLocalFile().
-
- If that is not the case, an attempt is made to turn the string into a
- http:// or ftp:// URL. The latter in the case the string starts with
- 'ftp'. The result is then passed through QUrl's tolerant parser, and
- in the case or success, a valid QUrl is returned, or else a QUrl().
-
- \section1 Examples:
-
- \list
- \o webkit.org becomes http://webkit.org
- \o ftp.webkit.org becomes ftp://ftp.webkit.org
- \o localhost becomes http://localhost
- \o /home/user/test.html becomes file:///home/user/test.html (if exists)
- \endlist
-
- \section2 Tips when dealing with URLs and strings:
-
- \list
- \o When creating a QString from a QByteArray or a char*, always use
- QString::fromUtf8().
- \o Do not use QUrl(string), nor QUrl::toString() anywhere where the URL might
- be used, such as in the location bar, as those functions loose data.
- Instead use QUrl::fromEncoded() and QUrl::toEncoded(), respectively.
- \endlist
- */
-QUrl QWebView::guessUrlFromString(const QString &string)
-{
- QString trimmedString = string.trimmed();
-
- // Check the most common case of a valid url with scheme and host first
- QUrl url = QUrl::fromEncoded(trimmedString.toUtf8(), QUrl::TolerantMode);
- if (url.isValid() && !url.scheme().isEmpty() && !url.host().isEmpty())
- return url;
-
- // Absolute files that exists
- if (QDir::isAbsolutePath(trimmedString) && QFile::exists(trimmedString))
- return QUrl::fromLocalFile(trimmedString);
-
- // If the string is missing the scheme or the scheme is not valid prepend a scheme
- QString scheme = url.scheme();
- if (scheme.isEmpty() || scheme.contains(QLatin1Char('.')) || scheme == QLatin1String("localhost")) {
- // Do not do anything for strings such as "foo", only "foo.com"
- int dotIndex = trimmedString.indexOf(QLatin1Char('.'));
- if (dotIndex != -1 || trimmedString.startsWith(QLatin1String("localhost"))) {
- const QString hostscheme = trimmedString.left(dotIndex).toLower();
- QByteArray scheme = (hostscheme == QLatin1String("ftp")) ? "ftp" : "http";
- trimmedString = QLatin1String(scheme) + QLatin1String("://") + trimmedString;
- }
- url = QUrl::fromEncoded(trimmedString.toUtf8(), QUrl::TolerantMode);
- }
-
- if (url.isValid())
- return url;
-
- return QUrl();
-}
-
-/*!
Loads the specified \a url and displays it.
\note The view remains the same until enough data has arrived to display the new \a url.
@@ -684,24 +534,38 @@ qreal QWebView::textSizeMultiplier() const
return page()->mainFrame()->textSizeMultiplier();
}
-#if !defined(Q_OS_SYMBIAN)
/*!
\property QWebView::renderHints
\since 4.6
\brief the default render hints for the view
- These hints are used to initialize QPainter before painting the web page.
+ These hints are used to initialize QPainter before painting the Web page.
QPainter::TextAntialiasing is enabled by default.
+ \note This property is not available on Symbian. However, the getter and
+ setter functions can still be used directly.
+
+ \sa QPainter::renderHints()
+*/
+
+/*!
+ \since 4.6
+ Returns the render hints used by the view to render content.
+
\sa QPainter::renderHints()
*/
-#endif
QPainter::RenderHints QWebView::renderHints() const
{
return d->renderHints;
}
+/*!
+ \since 4.6
+ Sets the render hints used by the view to the specified \a hints.
+
+ \sa QPainter::setRenderHints()
+*/
void QWebView::setRenderHints(QPainter::RenderHints hints)
{
if (hints == d->renderHints)
@@ -711,11 +575,11 @@ void QWebView::setRenderHints(QPainter::RenderHints hints)
}
/*!
- If \a enabled is true, the render hint \a hint is enabled; otherwise it
- is disabled.
-
\since 4.6
- \sa renderHints
+ If \a enabled is true, enables the specified render \a hint; otherwise
+ disables it.
+
+ \sa renderHints, QPainter::renderHints()
*/
void QWebView::setRenderHint(QPainter::RenderHint hint, bool enabled)
{
@@ -783,7 +647,7 @@ bool QWebView::event(QEvent *e)
// WebCore.
// FIXME: Add a QEvent::CursorUnset or similar to Qt.
if (cursor().shape() == Qt::ArrowCursor)
- d->resetCursor();
+ d->page->d->client->resetCursor();
#endif
#endif
} else if (e->type() == QEvent::Leave)
@@ -1110,7 +974,7 @@ void QWebView::changeEvent(QEvent *e)
/*!
\fn void QWebView::statusBarMessage(const QString& text)
- This signal is emitted when the statusbar \a text is changed by the page.
+ This signal is emitted when the status bar \a text is changed by the page.
*/
/*!
diff --git a/src/3rdparty/webkit/WebKit/qt/Api/qwebview.h b/src/3rdparty/webkit/WebKit/qt/Api/qwebview.h
index 15b5836..e9c1ec8 100644
--- a/src/3rdparty/webkit/WebKit/qt/Api/qwebview.h
+++ b/src/3rdparty/webkit/WebKit/qt/Api/qwebview.h
@@ -53,9 +53,8 @@ class QWEBKIT_EXPORT QWebView : public QWidget {
// FIXME: temporary work around for elftran issue that it couldn't find the QPainter::staticMetaObject
// symbol from Qt lib; it should be reverted after the right symbol is exported.
-// remember to revert the qdoc \property comment as well.
// See bug: http://qt.nokia.com/developer/task-tracker/index_html?method=entry&id=258893
-#if !defined(Q_OS_SYMBIAN)
+#if defined(Q_QDOC) || !defined(Q_OS_SYMBIAN)
Q_PROPERTY(QPainter::RenderHints renderHints READ renderHints WRITE setRenderHints)
#endif
Q_FLAGS(QPainter::RenderHints)
@@ -66,8 +65,6 @@ public:
QWebPage* page() const;
void setPage(QWebPage* page);
- static QUrl guessUrlFromString(const QString& string);
-
void load(const QUrl& url);
#if QT_VERSION < 0x040400 && !defined(qdoc)
void load(const QWebNetworkRequest& request);
diff --git a/src/3rdparty/webkit/WebKit/qt/ChangeLog b/src/3rdparty/webkit/WebKit/qt/ChangeLog
index 7987613..84c5d43 100644
--- a/src/3rdparty/webkit/WebKit/qt/ChangeLog
+++ b/src/3rdparty/webkit/WebKit/qt/ChangeLog
@@ -1,3 +1,613 @@
+2009-11-04 Yael Aharon <yael.aharon@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] REGRESSION: Allow applications to use their own QWidget bypassing QWebView.
+ https://bugs.webkit.org/show_bug.cgi?id=30979
+
+ Decouple QWebViewPrivate from QWebPageClient, and automatically create
+ QWebPageWidgetClient whenever the view is QWidget based.
+
+ * Api/qwebpage.cpp:
+ (QWebPageWidgetClient::QWebPageWidgetClient):
+ (QWebPageWidgetClient::scroll):
+ (QWebPageWidgetClient::update):
+ (QWebPageWidgetClient::setInputMethodEnabled):
+ (QWebPageWidgetClient::setInputMethodHint):
+ (QWebPageWidgetClient::cursor):
+ (QWebPageWidgetClient::updateCursor):
+ (QWebPageWidgetClient::palette):
+ (QWebPageWidgetClient::screenNumber):
+ (QWebPageWidgetClient::ownerWidget):
+ (QWebPageWidgetClient::pluginParent):
+ (QWebPage::setView):
+ * Api/qwebview.cpp:
+ (QWebView::~QWebView):
+ (QWebView::setPage):
+ (QWebView::event):
+
+2009-11-03 Andras Becsi <becsi.andras@stud.u-szeged.hu>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Fix build of unit-test after r50454.
+
+ * tests/qwebpage/tst_qwebpage.cpp:
+
+2009-11-03 Simon Hausmann <hausmann@webkit.org>
+
+ Reviewed by Tor Arne Vestbø.
+
+ Make QWebPluginDatabase private API for now.
+
+ https://bugs.webkit.org/show_bug.cgi?id=30775
+
+ * Api/headers.pri:
+ * Api/qwebplugindatabase.cpp:
+ * Api/qwebplugindatabase_p.h: Renamed from WebKit/qt/Api/qwebplugindatabase.h.
+ * Api/qwebsettings.cpp:
+ * Api/qwebsettings.h:
+ * QtLauncher/main.cpp:
+ (MainWindow::setupUI):
+ * tests/tests.pro:
+
+2009-11-03 Simon Hausmann <hausmann@webkit.org>
+
+ Rubber-stamped by Tor Arne Vestbø.
+
+ Oops, also remove the API docs of the removed networkRequestStarted() signal.
+
+ * Api/qwebpage.cpp:
+
+2009-11-03 Simon Hausmann <hausmann@webkit.org>
+
+ Reviewed by Tor Arne Vestbø.
+
+ Replace the QWebPage::networkRequestStarted() signal with the originatingObject
+ property set to the QWebFrame that belongs to the request.
+
+ https://bugs.webkit.org/show_bug.cgi?id=29975
+
+ * Api/qwebpage.h:
+ * WebCoreSupport/FrameLoaderClientQt.cpp:
+ (WebCore::FrameLoaderClientQt::dispatchDecidePolicyForNewWindowAction):
+ (WebCore::FrameLoaderClientQt::dispatchDecidePolicyForNavigationAction):
+ (WebCore::FrameLoaderClientQt::startDownload):
+ * tests/qwebpage/tst_qwebpage.cpp:
+ (tst_QWebPage::loadFinished):
+ (TestNetworkManager::createRequest):
+ (tst_QWebPage::originatingObjectInNetworkRequests):
+
+2009-11-02 Jedrzej Nowacki <jedrzej.nowacki@nokia.com>
+
+ Reviewed by Adam Barth.
+
+ QWebView crash fix.
+
+ The QWebView should not crash if the stop() method is called from
+ a function triggered by the loadProgress signal.
+
+ A null pointer protection was added in the ProgressTracker::incrementProgress.
+
+ New autotest was created.
+
+ https://bugs.webkit.org/show_bug.cgi?id=29425
+
+ * tests/qwebview/tst_qwebview.cpp:
+ (WebViewCrashTest::WebViewCrashTest):
+ (WebViewCrashTest::loading):
+ (tst_QWebView::crashTests):
+
+2009-10-30 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
+
+ Reviewed by Tor Arne Vestbø.
+
+ [Qt] Remove the QWebInspector::windowTitleChanged signal,
+ QEvent::WindowTitleChange can be used to achieve the same.
+ https://bugs.webkit.org/show_bug.cgi?id=30927
+
+ * Api/qwebinspector.cpp:
+ * Api/qwebinspector.h:
+ * WebCoreSupport/InspectorClientQt.cpp:
+ (WebCore::InspectorClientQt::updateWindowTitle):
+
+2009-10-29 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Tor Arne Vestbø.
+
+ [Qt] Implement DELETE HTTP method for XmlHttpRequest
+ https://bugs.webkit.org/show_bug.cgi?id=30894
+
+ No new tests as this functionality is already tested by the
+ xmlhttprequest LayoutTests. As this patch depends on an unreleased
+ version of the dependent QtNetwork library and the tests will be
+ enabled later once the dependent library is released (and the
+ buildbot is updated).
+
+ * Api/qwebframe.cpp:
+ (QWebFrame::load):
+
+2009-10-29 Kenneth Rohde Christiansen <kenneth@webkit.org>
+
+ Reviewed by Tor Arne Vestbø.
+
+ Remove QWebView::guessUrlFromString() and replace its use
+ with the new QUrl::fromUserInput() if using Qt 4.6 or newer.
+
+ * Api/qwebview.cpp:
+ * Api/qwebview.h:
+ * QGVLauncher/main.cpp:
+ (urlFromUserInput):
+ (WebPage::applyProxy):
+ (MainWindow::load):
+ * QtLauncher/main.cpp:
+ (urlFromUserInput):
+ (MainWindow::MainWindow):
+ (MainWindow::changeLocation):
+ * tests/qwebview/tst_qwebview.cpp:
+
+2009-10-28 Kenneth Rohde Christiansen <kenneth@webkit.org>
+
+ Reviewed by Tor Arne Vestbø.
+
+ Serialize directly to the stream, and not first to an QByteArray,
+ that is later serialized. That is slower and also uses more bytes.
+
+ * Api/qwebhistory.cpp:
+ (operator<<):
+ (operator>>):
+
+2009-10-28 Shinichiro Hamaji <hamaji@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ [Qt] WebFrame::counterValueForElementById must not be exposed
+ https://bugs.webkit.org/show_bug.cgi?id=30882
+
+ * Api/qwebframe.cpp:
+ (qt_drt_counterValueForElementById):
+ * Api/qwebframe.h:
+
+2009-10-27 Shinichiro Hamaji <hamaji@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ Provide a way to get counter values with layoutTestContoller
+ https://bugs.webkit.org/show_bug.cgi?id=30555
+
+ * Api/qwebframe.cpp:
+ (QWebFrame::counterValueForElementById):
+ (QWebHitTestResult::frame):
+ * Api/qwebframe.h:
+
+2009-10-28 Antonio Gomes <tonikitoo@webkit.org>
+
+ Pushing missing WebKit/qt/tests/qwebframe/resources/ dir from bug 29248.
+
+ [Qt] [API] Make it possible to have 'invisible' loads
+ https://bugs.webkit.org/show_bug.cgi?id=29248
+
+ * tests/qwebframe/resources/image2.png: Copied from WebKit/qt/tests/qwebelement/image.png.
+
+2009-10-28 Kenneth Rohde Christiansen <kenneth@webkit.org>
+
+ Reviewed by Tor Arne Vestbø.
+
+ [Qt] QWebHistory::saveState() is inconsistent with the Qt API
+ https://bugs.webkit.org/show_bug.cgi?id=30710
+
+ Make the versioning internal and enforce it in the WebCore
+ part. Adjust the comments, as well as remove now dead code.
+
+ * Api/qwebhistory.cpp:
+ (operator<<):
+ (operator>>):
+ * Api/qwebhistory.h:
+
+2009-10-28 Kenneth Rohde Christiansen <kenneth@webkit.org>
+
+ Reviewed by Holger Freyther.
+
+ [Qt] QWebHistory::saveState() is inconsistent with the Qt API
+ https://bugs.webkit.org/show_bug.cgi?id=30710
+
+ Remove the QWebHistory::saveState() and ::restoreState() as
+ they are inconsistent with the Qt API.
+
+ Update unittests to reflect the change.
+
+ * Api/qwebhistory.cpp:
+ (operator<<):
+ (operator>>):
+ * Api/qwebhistory.h:
+ * tests/qwebhistory/tst_qwebhistory.cpp:
+ (saveHistory):
+ (restoreHistory):
+ (tst_QWebHistory::saveAndRestore_crash_1):
+ (tst_QWebHistory::saveAndRestore_crash_2):
+ (tst_QWebHistory::saveAndRestore_crash_3):
+ (tst_QWebHistory::clear):
+
+2009-10-27 Antonio Gomes <tonikitoo@webkit.org>
+
+ Reviewed by Holger Freyther.
+
+ Complementary fix to bug 30779.
+
+ By mistake I used QWeakPointer's toStrongRef() method which docs
+ explicitly say to not be used in this situation (when the tracked
+ pointer is devired from QObject). Instead QWeakPointer's data()
+ is recommended.
+
+ * Api/qwebpage.cpp:
+ (QWebPage::view):
+
+2009-10-27 Holger Hans Peter Freyther <zecke@selfish.org>
+
+ Reviewed by Simon Fraser.
+
+ Change HitTestResult methods to use (3d) transformation aware methods
+ https://bugs.webkit.org/show_bug.cgi?id=27347
+
+ The HitTestResult::boundingBox method was removed. The
+ RenderObject must be used directly. In contrast to the
+ old HitTestResult::boundingBox method this code must use
+ a (3d) transformation aware method to not run into an
+ assert in SVGRenderBase::mapLocalToContainer.
+
+ * Api/qwebframe.cpp:
+ (QWebHitTestResultPrivate::QWebHitTestResultPrivate):
+
+2009-10-27 Kenneth Rohde Christiansen <kenneth@webkit.org>
+
+ Rubberstamped by Oliver Hunt.
+
+ Change two methods to be internal for DRT use only.
+
+ Part of [Qt] Review all new API in Qt 4.6
+ https://bugs.webkit.org/show_bug.cgi?id=29843#c11
+
+ * Api/qwebsecurityorigin.cpp:
+ (qt_drt_whiteListAccessFromOrigin):
+ (qt_drt_resetOriginAccessWhiteLists):
+ (QWebSecurityOrigin::localSchemes):
+ * Api/qwebsecurityorigin.h:
+
+2009-10-27 Kenneth Rohde Christiansen <kenneth@webkit.org>
+
+ Reviewed by Tor Arne Vestbø.
+
+ Make sure that initiating a rotation while rotating won't make
+ it end up at rotation positions that are not a multiply of
+ 180 degrees.
+
+ * QGVLauncher/main.cpp:
+ (MainView::animatedFlip):
+
+2009-10-27 Kenneth Rohde Christiansen <kenneth@webkit.org>
+
+ Unreviewed Qt build fix.
+
+ Update the tests as well to the new API change.
+
+ * tests/qwebelement/tst_qwebelement.cpp:
+ (tst_QWebElement::clear):
+
+2009-10-27 Kenneth Rohde Christiansen <kenneth@webkit.org>
+
+ Rubberstamped by Tor Arne Vestbø.
+
+ [Qt] QWebElement::removeChildren() should be
+ QWebElement::removeAllChildren()
+ https://bugs.webkit.org/show_bug.cgi?id=30630
+
+ * Api/qwebelement.cpp:
+ (QWebElement::removeAllChildren):
+ * Api/qwebelement.h:
+
+2009-10-27 Antonio Gomes <tonikitoo@webkit.org>
+
+ Reviewed by Antti Koivisto and Holger Freyther.
+
+ Make QWebPagePrivate's (QWidget) view to be a QWeakPointer.
+ https://bugs.webkit.org/show_bug.cgi?id=30779
+
+ The fact that it was been set from external objects of qwebpage
+ and not being deleted internally can lead to dangling references.
+
+ * Api/qgraphicswebview.cpp:
+ (QGraphicsWebView::~QGraphicsWebView):
+ * Api/qwebpage.cpp:
+ (QWebPagePrivate::QWebPagePrivate):
+ (QWebPagePrivate::createContextMenu):
+ (QWebPagePrivate::handleSoftwareInputPanel):
+ (QWebPagePrivate::keyPressEvent):
+ (QWebPage::setView):
+ (QWebPage::view):
+ (QWebPage::javaScriptAlert):
+ (QWebPage::javaScriptConfirm):
+ (QWebPage::javaScriptPrompt):
+ (QWebPage::shouldInterruptJavaScript):
+ (QWebPage::createWindow):
+ (QWebPage::extension):
+ (QWebPage::chooseFile):
+ (QWebPage::userAgentForUrl):
+ * Api/qwebpage_p.h:
+ * Api/qwebview.cpp:
+ (QWebView::~QWebView):
+
+2009-10-26 Kenneth Rohde Christiansen <kenneth@webkit.org>
+
+ Unreviewed documentation fix from David Boddie (Qt Doc Team)
+
+ Removes the check around the RenderHints property documentation
+ that was clearly added to synchronize the source and header files
+ when the #if !defined(Q_OS_SYMBIAN) guards was added to the
+ property.
+
+ The documentation has also been updated to ensure that Symbian
+ users know that there is no actual RenderHints property on their
+ platform.
+
+ * Api/qwebview.cpp:
+
+2009-10-26 Kenneth Rohde Christiansen <kenneth@webkit.org>
+
+ Unreviewed documentation fix from David Boddie (Qt Doc Team)
+
+ Ensure that qdoc will always see the RenderHints property.
+
+ The property was only defined in the header file if the Q_OS_SYMBIAN
+ symbol was not defined, resulting in the property not showing up
+ in the Qt documentation just because one platform doesn't support it.
+
+ A follow up commit will improve the documentation for the property
+ and note that it is not supported on the Symbiam platform.
+
+ * Api/qwebview.h:
+
+2009-10-26 Benjamin Poulain <benjamin.poulain@nokia.com>
+
+ Reviewed by Tor Arne Vestbø.
+
+ [Qt] Reintroduce QWebElementCollection
+
+ Revert the patch that has replaced QWebElementCollection
+ with QList<QWebElement>. Update the tests accordingly.
+
+ Remove the constness of the return type of QWebElement operator[].
+
+ https://bugs.webkit.org/show_bug.cgi?id=30767
+
+ * Api/qwebelement.cpp:
+ (QWebElement::findAll):
+ (QWebElementCollectionPrivate::QWebElementCollectionPrivate):
+ (QWebElementCollectionPrivate::create):
+ (QWebElementCollection::QWebElementCollection):
+ (QWebElementCollection::operator=):
+ (QWebElementCollection::~QWebElementCollection):
+ (QWebElementCollection::operator+):
+ (QWebElementCollection::append):
+ (QWebElementCollection::count):
+ (QWebElementCollection::at):
+ (QWebElementCollection::toList):
+ * Api/qwebelement.h:
+ (const_iterator::begin):
+ (const_iterator::end):
+ (const_iterator::operator[]):
+ * Api/qwebframe.cpp:
+ (QWebFrame::findAllElements):
+ * Api/qwebframe.h:
+ * QtLauncher/main.cpp:
+ (MainWindow::selectElements):
+ * tests/qwebelement/tst_qwebelement.cpp:
+ (tst_QWebElement::simpleCollection):
+ (tst_QWebElement::iteration):
+ (tst_QWebElement::emptyCollection):
+ (tst_QWebElement::appendCollection):
+ (tst_QWebElement::nullSelect):
+ (tst_QWebElement::hasSetFocus):
+ (tst_QWebElement::render):
+ * tests/qwebpage/tst_qwebpage.cpp:
+ (tst_QWebPage::inputMethods):
+
+2009-10-24 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Holger Freyther.
+
+ [Qt] [Symbian] Set the capability and memory required to run QtWebKit for Symbian
+ https://bugs.webkit.org/show_bug.cgi?id=30476
+
+ Assign ReadUserData WriteUserData NetworkServices Symbian capabilities
+ to all QtWebkit executables.
+
+ * QGVLauncher/QGVLauncher.pro:
+ * QtLauncher/QtLauncher.pro:
+ * tests/benchmarks/loading/tst_loading.pro:
+ * tests/benchmarks/painting/tst_painting.pro:
+ * tests/qgraphicswebview/qgraphicswebview.pro:
+ * tests/qwebelement/qwebelement.pro:
+ * tests/qwebframe/qwebframe.pro:
+ * tests/qwebhistory/qwebhistory.pro:
+ * tests/qwebhistoryinterface/qwebhistoryinterface.pro:
+ * tests/qwebpage/qwebpage.pro:
+ * tests/qwebplugindatabase/qwebplugindatabase.pro:
+ * tests/qwebview/qwebview.pro:
+
+2009-10-22 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by NOBODY (speculative build fix - qt is currently already broken!)
+ Build fix following bug #30696.
+
+ * Api/qwebelement.cpp:
+ (setupScriptContext):
+ * Api/qwebframe.cpp:
+ (QWebFrame::evaluateJavaScript):
+
+2009-10-22 Shu Chang <Chang.Shu@nokia.com>
+
+ Reviewed by Eric Seidel.
+
+ [Qt] Enable track visited links in QWebPage
+ https://bugs.webkit.org/show_bug.cgi?id=30574
+
+ Test: fast/history/clicked-link-is-visited.html
+
+ * Api/qwebpage.cpp:
+ (QWebPagePrivate::QWebPagePrivate):
+
+2009-10-22 Girish Ramakrishnan <girish@forwardbias.in>
+
+ Reviewed by Eric Seidel.
+
+ [Qt] Add Print Shortcut to QtLauncher
+
+ https://bugs.webkit.org/show_bug.cgi?id=30682
+
+ * QtLauncher/main.cpp:
+ (MainWindow::setupUI):
+
+2009-10-22 Antonio Gomes <tonikitoo@webkit.org>
+
+ Rubberstamped by Tor Arne Vestbø.
+
+ Code standarlization for QGVLauncher.
+
+ 1) Made member initilization lists in constructors
+ to be per line.
+ 2) Made applyProxy method inline as all other methods in
+ WebPage class.
+
+ * QGVLauncher/main.cpp:
+ (WebPage::WebPage):
+ (WebPage::applyProxy):
+ (MainView::MainView):
+ (MainWindow::MainWindow):
+ (MainWindow::init):
+
+2009-10-22 Antonio Gomes <tonikitoo@webkit.org>
+
+ Reviewed by Tor Arne Vestbø.
+
+ Add a Y-Axis rotation to QGVLauncher.
+
+ It uses the QStateMachine API from Qt 4.6.
+
+ * QGVLauncher/main.cpp:
+ (WebView::WebView):
+ (WebView::setYRotation):
+ (WebView::yRotation):
+ (MainView::flip):
+ (MainView::animatedYFlip):
+ (SharedScene::SharedScene):
+ (SharedScene::webView):
+ (MainWindow::init):
+ (MainWindow::animatedYFlip):
+ (MainWindow::buildUI):
+
+2009-10-20 Kenneth Rohde Christiansen <kenneth@webkit.org>
+
+ Reviewed By Adam Barth.
+
+ Add some actions to the menu for cursor debugging.
+
+ GraphicsView based launcher only.
+
+ * QGVLauncher/main.cpp:
+ (MainView::setWaitCursor):
+ (MainView::resetCursor):
+ (MainView::flip):
+ (MainWindow::setWaitCursor):
+ (MainWindow::resetCursor):
+ (MainWindow::buildUI):
+
+2009-10-20 Kenneth Rohde Christiansen <kenneth@webkit.org>
+
+ Rubberstamped by Adam Barth.
+
+ Remove clipRenderToViewport as agreed upon in
+ https://bugs.webkit.org/show_bug.cgi?id=29843
+
+ * Api/qwebframe.cpp:
+ * Api/qwebframe.h:
+ * Api/qwebframe_p.h:
+ (QWebFramePrivate::QWebFramePrivate):
+
+2009-10-20 Kenneth Rohde Christiansen <kenneth@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ Update the tests to test the new render functionality, and take
+ into consideration that render() clips to the frame itself as well
+ as the viewport.
+
+ QWebFrame::render() now always clips, so the old tests were bogus.
+
+ Rendering pure contents (no scrollbars etc) without clipping can now
+ be accomplished using QWebFrame::documentElement()->render(...)
+
+ * Api/qwebframe.cpp:
+ * Api/qwebframe.h:
+ * Api/qwebframe_p.h:
+ (QWebFramePrivate::QWebFramePrivate):
+ * tests/qwebframe/tst_qwebframe.cpp:
+
+2009-10-20 Kenneth Rohde Christiansen <kenneth@webkit.org>
+
+ Rubberstamped by Adam Barth.
+
+ As we do not support rendering a QWebFrame without it being clipped
+ the the frame as well as the viewport, we now set the viewport size
+ to the size of the contents.
+
+ Rendering pure contents (no scrollbars etc) without clipping can be
+ acomplished using QWebFrame::documentElement()->render(...)
+
+ * tests/qwebelement/tst_qwebelement.cpp:
+ (tst_QWebElement::render):
+
+2009-10-20 Kenneth Rohde Christiansen <kenneth@webkit.org>
+
+ Reviewed by Tor Arne Vestbø.
+
+ Add menu item to dump the plugin list to the console,
+ which can be handy for debugging.
+
+ * QtLauncher/main.cpp:
+ (MainWindow::dumpPlugins):
+ (MainWindow::setupUI):
+
+2009-10-19 Kenneth Rohde Christiansen <kenneth@webkit.org>
+
+ Reviewed by Tor Arne Vestbø.
+
+ Introduce new render method on QWebFrame, which supports specifying
+ which layers to render (scrollbars, contents, pan-icon).
+
+ * Api/qwebframe.cpp:
+ (QWebFramePrivate::renderPrivate):
+ (QWebFrame::render):
+ * Api/qwebframe.h:
+ * Api/qwebframe_p.h:
+
+2009-10-19 Antonio Gomes <tonikitoo@webkit.org>
+
+ Reviewed by Ariya Hidayat.
+
+ [Qt] Infinite loop (leading to crash) when setting cursor in QGraphicsWebView
+ https://bugs.webkit.org/show_bug.cgi?id=30549
+
+ Patch reimplements QGraphicsItem's itemChange method, and make
+ CursorChange event to be emitted after cursor has already been
+ set.
+
+ QWidget::setCursor send the event just after it sets the cursor,
+ then patch makes both behaviors compatible.
+
+ * Api/qgraphicswebview.cpp:
+ (QGraphicsWebView::itemChange):
+ * Api/qgraphicswebview.h:
+
2009-10-19 Nate Chapin <japhet@chromium.org>
Unreviewed, build fix.
diff --git a/src/3rdparty/webkit/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp b/src/3rdparty/webkit/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp
index 81ccbe8..f706d77 100644
--- a/src/3rdparty/webkit/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp
+++ b/src/3rdparty/webkit/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp
@@ -946,7 +946,7 @@ void FrameLoaderClientQt::dispatchDecidePolicyForNewWindowAction(FramePolicyFunc
#if QT_VERSION < 0x040400
QWebNetworkRequest r(request);
#else
- QNetworkRequest r(request.toNetworkRequest());
+ QNetworkRequest r(request.toNetworkRequest(m_webFrame));
#endif
QWebPage* page = m_webFrame->page();
@@ -971,7 +971,7 @@ void FrameLoaderClientQt::dispatchDecidePolicyForNavigationAction(FramePolicyFun
#if QT_VERSION < 0x040400
QWebNetworkRequest r(request);
#else
- QNetworkRequest r(request.toNetworkRequest());
+ QNetworkRequest r(request.toNetworkRequest(m_webFrame));
#endif
QWebPage*page = m_webFrame->page();
@@ -1001,7 +1001,7 @@ void FrameLoaderClientQt::startDownload(const WebCore::ResourceRequest& request)
if (!m_webFrame)
return;
- emit m_webFrame->page()->downloadRequested(request.toNetworkRequest());
+ emit m_webFrame->page()->downloadRequested(request.toNetworkRequest(m_webFrame));
#endif
}
diff --git a/src/3rdparty/webkit/WebKit/qt/WebCoreSupport/InspectorClientQt.cpp b/src/3rdparty/webkit/WebKit/qt/WebCoreSupport/InspectorClientQt.cpp
index 12f405c..7a1bfd5 100644
--- a/src/3rdparty/webkit/WebKit/qt/WebCoreSupport/InspectorClientQt.cpp
+++ b/src/3rdparty/webkit/WebKit/qt/WebCoreSupport/InspectorClientQt.cpp
@@ -166,7 +166,6 @@ void InspectorClientQt::updateWindowTitle()
if (m_inspectedWebPage->d->inspector) {
QString caption = QCoreApplication::translate("QWebPage", "Web Inspector - %2").arg(m_inspectedURL);
m_inspectedWebPage->d->inspector->setWindowTitle(caption);
- emit m_inspectedWebPage->d->inspector->windowTitleChanged(caption);
}
}
diff --git a/src/3rdparty/webkit/WebKit/qt/tests/benchmarks/loading/tst_loading.pro b/src/3rdparty/webkit/WebKit/qt/tests/benchmarks/loading/tst_loading.pro
index 80717c2..bc5e75f 100644
--- a/src/3rdparty/webkit/WebKit/qt/tests/benchmarks/loading/tst_loading.pro
+++ b/src/3rdparty/webkit/WebKit/qt/tests/benchmarks/loading/tst_loading.pro
@@ -5,4 +5,7 @@ SOURCES += tst_loading.cpp
QT += testlib network
QMAKE_RPATHDIR = $$OUTPUT_DIR/lib $$QMAKE_RPATHDIR
-symbian:TARGET.UID3 = 0xA000E541
+symbian {
+ TARGET.UID3 = 0xA000E541
+ TARGET.CAPABILITY = ReadUserData WriteUserData NetworkServices
+}
diff --git a/src/3rdparty/webkit/WebKit/qt/tests/benchmarks/painting/tst_painting.pro b/src/3rdparty/webkit/WebKit/qt/tests/benchmarks/painting/tst_painting.pro
index f45d804..48c7072 100644
--- a/src/3rdparty/webkit/WebKit/qt/tests/benchmarks/painting/tst_painting.pro
+++ b/src/3rdparty/webkit/WebKit/qt/tests/benchmarks/painting/tst_painting.pro
@@ -5,4 +5,7 @@ SOURCES += tst_painting.cpp
QT += testlib network
QMAKE_RPATHDIR = $$OUTPUT_DIR/lib $$QMAKE_RPATHDIR
-symbian:TARGET.UID3 = 0xA000E542
+symbian {
+ TARGET.UID3 = 0xA000E542
+ TARGET.CAPABILITY = ReadUserData WriteUserData NetworkServices
+}
diff --git a/src/3rdparty/webkit/WebKit/qt/tests/qgraphicswebview/qgraphicswebview.pro b/src/3rdparty/webkit/WebKit/qt/tests/qgraphicswebview/qgraphicswebview.pro
index cba6f11..57b4437 100644
--- a/src/3rdparty/webkit/WebKit/qt/tests/qgraphicswebview/qgraphicswebview.pro
+++ b/src/3rdparty/webkit/WebKit/qt/tests/qgraphicswebview/qgraphicswebview.pro
@@ -4,3 +4,7 @@ include(../../../../WebKit.pri)
SOURCES += tst_qgraphicswebview.cpp
QT += testlib network
QMAKE_RPATHDIR = $$OUTPUT_DIR/lib $$QMAKE_RPATHDIR
+
+symbian {
+ TARGET.CAPABILITY = ReadUserData WriteUserData NetworkServices
+}
diff --git a/src/3rdparty/webkit/WebKit/qt/tests/qwebelement/qwebelement.pro b/src/3rdparty/webkit/WebKit/qt/tests/qwebelement/qwebelement.pro
index 0a140ad..c45a9ac 100644
--- a/src/3rdparty/webkit/WebKit/qt/tests/qwebelement/qwebelement.pro
+++ b/src/3rdparty/webkit/WebKit/qt/tests/qwebelement/qwebelement.pro
@@ -6,4 +6,7 @@ RESOURCES += qwebelement.qrc
QT += testlib network
QMAKE_RPATHDIR = $$OUTPUT_DIR/lib $$QMAKE_RPATHDIR
-symbian:TARGET.UID3 = 0xA000E53A
+symbian {
+ TARGET.UID3 = 0xA000E53A
+ TARGET.CAPABILITY = ReadUserData WriteUserData NetworkServices
+}
diff --git a/src/3rdparty/webkit/WebKit/qt/tests/qwebelement/tst_qwebelement.cpp b/src/3rdparty/webkit/WebKit/qt/tests/qwebelement/tst_qwebelement.cpp
index db2f7d7..cf83fe8 100644
--- a/src/3rdparty/webkit/WebKit/qt/tests/qwebelement/tst_qwebelement.cpp
+++ b/src/3rdparty/webkit/WebKit/qt/tests/qwebelement/tst_qwebelement.cpp
@@ -70,7 +70,10 @@ private slots:
void attributesNS();
void classes();
void namespaceURI();
+ void iteration();
void foreachManipulation();
+ void emptyCollection();
+ void appendCollection();
void evaluateJavaScript();
void documentElement();
void frame();
@@ -134,7 +137,7 @@ void tst_QWebElement::simpleCollection()
m_mainFrame->setHtml(html);
QWebElement body = m_mainFrame->documentElement();
- QList<QWebElement> list = body.findAll("p");
+ QWebElementCollection list = body.findAll("p");
QCOMPARE(list.count(), 2);
QCOMPARE(list.at(0).toPlainText(), QString("first para"));
QCOMPARE(list.at(1).toPlainText(), QString("second para"));
@@ -267,6 +270,41 @@ void tst_QWebElement::namespaceURI()
}
+void tst_QWebElement::iteration()
+{
+ QString html = "<body><p>first para</p><p>second para</p></body>";
+ m_mainFrame->setHtml(html);
+ QWebElement body = m_mainFrame->documentElement();
+
+ QWebElementCollection paras = body.findAll("p");
+ QList<QWebElement> referenceList = paras.toList();
+
+ QList<QWebElement> foreachList;
+ foreach(QWebElement p, paras) {
+ foreachList.append(p);
+ }
+ QVERIFY(foreachList.count() == 2);
+ QCOMPARE(foreachList.count(), referenceList.count());
+ QCOMPARE(foreachList.at(0), referenceList.at(0));
+ QCOMPARE(foreachList.at(1), referenceList.at(1));
+
+ QList<QWebElement> forLoopList;
+ for (int i = 0; i < paras.count(); ++i) {
+ forLoopList.append(paras.at(i));
+ }
+ QVERIFY(foreachList.count() == 2);
+ QCOMPARE(foreachList.count(), referenceList.count());
+ QCOMPARE(foreachList.at(0), referenceList.at(0));
+ QCOMPARE(foreachList.at(1), referenceList.at(1));
+
+ for (int i = 0; i < paras.count(); ++i) {
+ QCOMPARE(paras.at(i), paras[i]);
+ }
+
+ QCOMPARE(paras.at(0), paras.first());
+ QCOMPARE(paras.at(1), paras.last());
+}
+
void tst_QWebElement::foreachManipulation()
{
QString html = "<body><p>first para</p><p>second para</p></body>";
@@ -280,6 +318,43 @@ void tst_QWebElement::foreachManipulation()
QCOMPARE(body.findAll("div").count(), 4);
}
+void tst_QWebElement::emptyCollection()
+{
+ QWebElementCollection emptyCollection;
+ QCOMPARE(emptyCollection.count(), 0);
+}
+
+void tst_QWebElement::appendCollection()
+{
+ QString html = "<body><span class='a'>aaa</span><p>first para</p><div>foo</div>"
+ "<span class='b'>bbb</span><p>second para</p><div>bar</div></body>";
+ m_mainFrame->setHtml(html);
+ QWebElement body = m_mainFrame->documentElement();
+
+ QWebElementCollection collection = body.findAll("p");
+ QCOMPARE(collection.count(), 2);
+
+ collection.append(body.findAll("div"));
+ QCOMPARE(collection.count(), 4);
+
+ collection += body.findAll("span.a");
+ QCOMPARE(collection.count(), 5);
+
+ QWebElementCollection all = collection + body.findAll("span.b");
+ QCOMPARE(all.count(), 6);
+ QCOMPARE(collection.count(), 5);
+
+ all += collection;
+ QCOMPARE(all.count(), 11);
+
+ QCOMPARE(collection.count(), 5);
+ QWebElementCollection test;
+ test.append(collection);
+ QCOMPARE(test.count(), 5);
+ test.append(QWebElementCollection());
+ QCOMPARE(test.count(), 5);
+}
+
void tst_QWebElement::evaluateJavaScript()
{
QVariant result;
@@ -629,7 +704,7 @@ void tst_QWebElement::clear()
QCOMPARE(body.findAll("div").count(), 1);
QCOMPARE(body.findAll("p").count(), 3);
- body.findFirst("div").removeChildren();
+ body.findFirst("div").removeAllChildren();
QCOMPARE(body.findAll("div").count(), 1);
QCOMPARE(body.findAll("p").count(), 2);
}
@@ -773,7 +848,7 @@ void tst_QWebElement::nullSelect()
{
m_mainFrame->setHtml("<body><p>Test");
- QList<QWebElement> collection = m_mainFrame->findAllElements("invalid{syn(tax;;%#$f223e>>");
+ QWebElementCollection collection = m_mainFrame->findAllElements("invalid{syn(tax;;%#$f223e>>");
QVERIFY(collection.count() == 0);
}
@@ -815,7 +890,7 @@ void tst_QWebElement::hasSetFocus()
"<input type='text' id='input2'/>" \
"</body></html>");
- QList<QWebElement> inputs = m_mainFrame->documentElement().findAll("input");
+ QWebElementCollection inputs = m_mainFrame->documentElement().findAll("input");
QWebElement input1 = inputs.at(0);
input1.setFocus();
QVERIFY(input1.hasFocus());
@@ -851,7 +926,10 @@ void tst_QWebElement::render()
waitForSignal(&page, SIGNAL(loadFinished(bool)));
QCOMPARE(loadSpy.count(), 1);
- QList<QWebElement> imgs = page.mainFrame()->findAllElements("img");
+ QSize size = page.mainFrame()->contentsSize();
+ page.setViewportSize(size);
+
+ QWebElementCollection imgs = page.mainFrame()->findAllElements("img");
QCOMPARE(imgs.count(), 1);
QImage resource(":/image.png");
@@ -882,7 +960,7 @@ void tst_QWebElement::render()
// compare table rendered through QWebElement::render to whole page table rendering
QRect tableRect(0, 0, 300, 300);
- QList<QWebElement> tables = page.mainFrame()->findAllElements("table");
+ QWebElementCollection tables = page.mainFrame()->findAllElements("table");
QCOMPARE(tables.count(), 1);
QImage image3(300, 300, QImage::Format_ARGB32);
@@ -893,7 +971,6 @@ void tst_QWebElement::render()
QImage image4(300, 300, QImage::Format_ARGB32);
QPainter painter4(&image4);
- page.mainFrame()->setClipRenderToViewport(false);
page.mainFrame()->render(&painter4, tableRect);
painter4.end();
diff --git a/src/3rdparty/webkit/WebKit/qt/tests/qwebframe/qwebframe.pro b/src/3rdparty/webkit/WebKit/qt/tests/qwebframe/qwebframe.pro
index 4c92e91..b8734cd 100644
--- a/src/3rdparty/webkit/WebKit/qt/tests/qwebframe/qwebframe.pro
+++ b/src/3rdparty/webkit/WebKit/qt/tests/qwebframe/qwebframe.pro
@@ -5,6 +5,9 @@ SOURCES += tst_qwebframe.cpp
RESOURCES += qwebframe.qrc
QT += testlib network
QMAKE_RPATHDIR = $$OUTPUT_DIR/lib $$QMAKE_RPATHDIR
-DEFINES += SRCDIR=\\\"$$PWD/resources\\\"
+!symbian:DEFINES += SRCDIR=\\\"$$PWD/resources\\\"
-symbian:TARGET.UID3 = 0xA000E53D
+symbian {
+ TARGET.UID3 = 0xA000E53D
+ TARGET.CAPABILITY = ReadUserData WriteUserData NetworkServices
+}
diff --git a/src/3rdparty/webkit/WebKit/qt/tests/qwebframe/resources/image2.png b/src/3rdparty/webkit/WebKit/qt/tests/qwebframe/resources/image2.png
new file mode 100644
index 0000000..8d70364
--- /dev/null
+++ b/src/3rdparty/webkit/WebKit/qt/tests/qwebframe/resources/image2.png
Binary files differ
diff --git a/src/3rdparty/webkit/WebKit/qt/tests/qwebframe/tst_qwebframe.cpp b/src/3rdparty/webkit/WebKit/qt/tests/qwebframe/tst_qwebframe.cpp
index 80c9d72..6f07e90 100644
--- a/src/3rdparty/webkit/WebKit/qt/tests/qwebframe/tst_qwebframe.cpp
+++ b/src/3rdparty/webkit/WebKit/qt/tests/qwebframe/tst_qwebframe.cpp
@@ -38,6 +38,10 @@
#endif
#include "../util.h"
+#if defined(Q_OS_SYMBIAN)
+# define SRCDIR ""
+#endif
+
//TESTED_CLASS=
//TESTED_FILES=
@@ -2691,26 +2695,24 @@ void tst_QWebFrame::render()
QPicture picture;
- // render clipping to Viewport
- frame->setClipRenderToViewport(true);
+ QSize size = page.mainFrame()->contentsSize();
+ page.setViewportSize(size);
+
+ // render contents layer only (the iframe is smaller than the image, so it will have scrollbars)
QPainter painter1(&picture);
- frame->render(&painter1);
+ frame->render(&painter1, QWebFrame::ContentsLayer);
painter1.end();
- QSize size = page.mainFrame()->contentsSize();
- page.setViewportSize(size);
- QCOMPARE(size.width(), picture.boundingRect().width()); // 100px
- QCOMPARE(size.height(), picture.boundingRect().height()); // 100px
+ QCOMPARE(size.width(), picture.boundingRect().width() + frame->scrollBarGeometry(Qt::Vertical).width());
+ QCOMPARE(size.height(), picture.boundingRect().height() + frame->scrollBarGeometry(Qt::Horizontal).height());
- // render without clipping to Viewport
- frame->setClipRenderToViewport(false);
+ // render everything, should be the size of the iframe
QPainter painter2(&picture);
- frame->render(&painter2);
+ frame->render(&painter2, QWebFrame::AllLayers);
painter2.end();
- QImage resource(":/image.png");
- QCOMPARE(resource.width(), picture.boundingRect().width()); // resource width: 128px
- QCOMPARE(resource.height(), picture.boundingRect().height()); // resource height: 128px
+ QCOMPARE(size.width(), picture.boundingRect().width()); // width: 100px
+ QCOMPARE(size.height(), picture.boundingRect().height()); // height: 100px
}
void tst_QWebFrame::scrollPosition()
diff --git a/src/3rdparty/webkit/WebKit/qt/tests/qwebhistory/qwebhistory.pro b/src/3rdparty/webkit/WebKit/qt/tests/qwebhistory/qwebhistory.pro
index 8ee63cc..7445e3b 100644
--- a/src/3rdparty/webkit/WebKit/qt/tests/qwebhistory/qwebhistory.pro
+++ b/src/3rdparty/webkit/WebKit/qt/tests/qwebhistory/qwebhistory.pro
@@ -6,4 +6,7 @@ RESOURCES += tst_qwebhistory.qrc
QT += testlib network
QMAKE_RPATHDIR = $$OUTPUT_DIR/lib $$QMAKE_RPATHDIR
-symbian:TARGET.UID3 = 0xA000E53B
+symbian {
+ TARGET.UID3 = 0xA000E53B
+ TARGET.CAPABILITY = ReadUserData WriteUserData NetworkServices
+}
diff --git a/src/3rdparty/webkit/WebKit/qt/tests/qwebhistory/tst_qwebhistory.cpp b/src/3rdparty/webkit/WebKit/qt/tests/qwebhistory/tst_qwebhistory.cpp
index 4f4d3c4..ec2d497 100644
--- a/src/3rdparty/webkit/WebKit/qt/tests/qwebhistory/tst_qwebhistory.cpp
+++ b/src/3rdparty/webkit/WebKit/qt/tests/qwebhistory/tst_qwebhistory.cpp
@@ -56,9 +56,6 @@ private slots:
void serialize_1(); //QWebHistory countity
void serialize_2(); //QWebHistory index
void serialize_3(); //QWebHistoryItem
- void saveAndRestore_1(); //simple checks saveState and restoreState
- void saveAndRestore_2(); //bad parameters saveState and restoreState
- void saveAndRestore_3(); //try use different version
void saveAndRestore_crash_1();
void saveAndRestore_crash_2();
void saveAndRestore_crash_3();
@@ -294,67 +291,40 @@ void tst_QWebHistory::serialize_3()
QVERIFY(load.atEnd());
}
-/** Simple checks should be a bit redundant to streaming operators */
-void tst_QWebHistory::saveAndRestore_1()
+static void saveHistory(QWebHistory* history, QByteArray* in)
{
- QAction* actionBack = page->action(QWebPage::Back);
- hist->back();
- waitForLoadFinished.exec();
- QVERIFY(actionBack->isEnabled());
- QByteArray buffer(hist->saveState());
- hist->clear();
- QVERIFY(!actionBack->isEnabled());
- QVERIFY(hist->count() == 1);
- hist->restoreState(buffer);
-
- //check only few values, do not make full test
- //because most of the code is shared with streaming operators
- //and these are checked before
- QCOMPARE(hist->count(), histsize);
- QCOMPARE(hist->currentItemIndex(), histsize - 2);
- QCOMPARE(hist->itemAt(0).title(), QString("page1"));
- QCOMPARE(hist->itemAt(histsize - 1).title(), QString("page") + QString::number(histsize));
- QVERIFY(actionBack->isEnabled());
+ in->clear();
+ QDataStream save(in, QIODevice::WriteOnly);
+ save << *history;
}
-/** Check returns value if there are bad parameters. Actually, result
- * is no so importent. The test shouldn't crash :-) */
-void tst_QWebHistory::saveAndRestore_2()
+static void restoreHistory(QWebHistory* history, QByteArray* out)
{
- QByteArray buffer;
- hist->restoreState(buffer);
- QVERIFY(hist->count() == 1);
- QVERIFY(hist->itemAt(0).isValid());
-}
-
-/** Try to use bad version value */
-void tst_QWebHistory::saveAndRestore_3()
-{
- QByteArray tmp = hist->saveState((QWebHistory::HistoryStateVersion)29999);
- QVERIFY(hist->saveState((QWebHistory::HistoryStateVersion)29999).isEmpty());
- QVERIFY(hist->count() == histsize);
- QVERIFY(hist->itemAt(3).isValid());
+ QDataStream load(out, QIODevice::ReadOnly);
+ load >> *history;
}
/** The test shouldn't crash */
void tst_QWebHistory::saveAndRestore_crash_1()
{
- QByteArray tmp = hist->saveState();
- for (unsigned i = 0; i < 5; i++){
- hist->restoreState(tmp);
- hist->saveState();
+ QByteArray buffer;
+ saveHistory(hist, &buffer);
+ for (unsigned i = 0; i < 5; i++) {
+ restoreHistory(hist, &buffer);
+ saveHistory(hist, &buffer);
}
}
/** The test shouldn't crash */
void tst_QWebHistory::saveAndRestore_crash_2()
{
- QByteArray tmp = hist->saveState();
+ QByteArray buffer;
+ saveHistory(hist, &buffer);
QWebPage* page2 = new QWebPage(this);
QWebHistory* hist2 = page2->history();
- for (unsigned i = 0; i < 5; i++){
- hist2->restoreState(tmp);
- hist2->saveState();
+ for (unsigned i = 0; i < 5; i++) {
+ restoreHistory(hist2, &buffer);
+ saveHistory(hist2, &buffer);
}
delete page2;
}
@@ -362,17 +332,18 @@ void tst_QWebHistory::saveAndRestore_crash_2()
/** The test shouldn't crash */
void tst_QWebHistory::saveAndRestore_crash_3()
{
- QByteArray tmp = hist->saveState();
+ QByteArray buffer;
+ saveHistory(hist, &buffer);
QWebPage* page2 = new QWebPage(this);
QWebHistory* hist1 = hist;
QWebHistory* hist2 = page2->history();
- for (unsigned i = 0; i < 5; i++){
- hist1->restoreState(tmp);
- hist2->restoreState(tmp);
+ for (unsigned i = 0; i < 5; i++) {
+ restoreHistory(hist1, &buffer);
+ restoreHistory(hist2, &buffer);
QVERIFY(hist1->count() == hist2->count());
QVERIFY(hist1->count() == histsize);
hist2->back();
- tmp = hist2->saveState();
+ saveHistory(hist2, &buffer);
hist2->clear();
}
delete page2;
@@ -381,15 +352,16 @@ void tst_QWebHistory::saveAndRestore_crash_3()
/** ::clear */
void tst_QWebHistory::clear()
{
+ QByteArray buffer;
+
QAction* actionBack = page->action(QWebPage::Back);
QVERIFY(actionBack->isEnabled());
- hist->saveState();
+ saveHistory(hist, &buffer);
QVERIFY(hist->count() > 1);
hist->clear();
QVERIFY(hist->count() == 1); // Leave current item.
QVERIFY(!actionBack->isEnabled());
-
QWebPage* page2 = new QWebPage(this);
QWebHistory* hist2 = page2->history();
QVERIFY(hist2->count() == 0);
diff --git a/src/3rdparty/webkit/WebKit/qt/tests/qwebhistoryinterface/qwebhistoryinterface.pro b/src/3rdparty/webkit/WebKit/qt/tests/qwebhistoryinterface/qwebhistoryinterface.pro
index 53e1afe..764f806 100644
--- a/src/3rdparty/webkit/WebKit/qt/tests/qwebhistoryinterface/qwebhistoryinterface.pro
+++ b/src/3rdparty/webkit/WebKit/qt/tests/qwebhistoryinterface/qwebhistoryinterface.pro
@@ -5,4 +5,7 @@ SOURCES += tst_qwebhistoryinterface.cpp
QT += testlib network
QMAKE_RPATHDIR = $$OUTPUT_DIR/lib $$QMAKE_RPATHDIR
-symbian:TARGET.UID3 = 0xA000E53C
+symbian {
+ TARGET.UID3 = 0xA000E53C
+ TARGET.CAPABILITY = ReadUserData WriteUserData NetworkServices
+}
diff --git a/src/3rdparty/webkit/WebKit/qt/tests/qwebpage/qwebpage.pro b/src/3rdparty/webkit/WebKit/qt/tests/qwebpage/qwebpage.pro
index 101837a..7853b28 100644
--- a/src/3rdparty/webkit/WebKit/qt/tests/qwebpage/qwebpage.pro
+++ b/src/3rdparty/webkit/WebKit/qt/tests/qwebpage/qwebpage.pro
@@ -5,6 +5,9 @@ SOURCES += tst_qwebpage.cpp
RESOURCES += tst_qwebpage.qrc
QT += testlib network
QMAKE_RPATHDIR = $$OUTPUT_DIR/lib $$QMAKE_RPATHDIR
-DEFINES += SRCDIR=\\\"$$PWD/\\\"
+!symbian:DEFINES += SRCDIR=\\\"$$PWD/\\\"
-symbian:TARGET.UID3 = 0xA000E53E
+symbian {
+ TARGET.UID3 = 0xA000E53E
+ TARGET.CAPABILITY = ReadUserData WriteUserData NetworkServices
+}
diff --git a/src/3rdparty/webkit/WebKit/qt/tests/qwebpage/tst_qwebpage.cpp b/src/3rdparty/webkit/WebKit/qt/tests/qwebpage/tst_qwebpage.cpp
index 21b3bc7..3eead92 100644
--- a/src/3rdparty/webkit/WebKit/qt/tests/qwebpage/tst_qwebpage.cpp
+++ b/src/3rdparty/webkit/WebKit/qt/tests/qwebpage/tst_qwebpage.cpp
@@ -37,6 +37,10 @@
#include <QPushButton>
#include <QDir>
+#if defined(Q_OS_SYMBIAN)
+# define SRCDIR ""
+#endif
+
// Will try to wait for the condition while allowing event processing
#define QTRY_COMPARE(__expr, __expected) \
do { \
@@ -129,6 +133,8 @@ private slots:
void screenshot_data();
void screenshot();
+ void originatingObjectInNetworkRequests();
+
private:
QWebView* m_view;
QWebPage* m_page;
@@ -234,7 +240,6 @@ void tst_QWebPage::loadFinished()
{
qRegisterMetaType<QWebFrame*>("QWebFrame*");
qRegisterMetaType<QNetworkRequest*>("QNetworkRequest*");
- QSignalSpy spyNetworkRequestStarted(m_page, SIGNAL(networkRequestStarted(QWebFrame*, QNetworkRequest*)));
QSignalSpy spyLoadStarted(m_view, SIGNAL(loadStarted()));
QSignalSpy spyLoadFinished(m_view, SIGNAL(loadFinished(bool)));
@@ -245,7 +250,6 @@ void tst_QWebPage::loadFinished()
QTest::qWait(3000);
- QVERIFY(spyNetworkRequestStarted.count() > 1);
QVERIFY(spyLoadStarted.count() > 1);
QVERIFY(spyLoadFinished.count() > 1);
@@ -346,9 +350,11 @@ public:
TestNetworkManager(QObject* parent) : QNetworkAccessManager(parent) {}
QList<QUrl> requestedUrls;
+ QList<QNetworkRequest> requests;
protected:
virtual QNetworkReply* createRequest(Operation op, const QNetworkRequest &request, QIODevice* outgoingData) {
+ requests.append(request);
requestedUrls.append(request.url());
return QNetworkAccessManager::createRequest(op, request, outgoingData);
}
@@ -1270,7 +1276,7 @@ void tst_QWebPage::inputMethods()
"</body></html>");
m_view->page()->mainFrame()->setFocus();
- QList<QWebElement> inputs = m_view->page()->mainFrame()->documentElement().findAll("input");
+ QWebElementCollection inputs = m_view->page()->mainFrame()->documentElement().findAll("input");
QMouseEvent evpres(QEvent::MouseButtonPress, inputs.at(0).geometry().center(), Qt::LeftButton, Qt::NoButton, Qt::NoModifier);
m_view->page()->event(&evpres);
@@ -1609,5 +1615,27 @@ void tst_QWebPage::screenshot()
QDir::setCurrent(QApplication::applicationDirPath());
}
+void tst_QWebPage::originatingObjectInNetworkRequests()
+{
+ TestNetworkManager* networkManager = new TestNetworkManager(m_page);
+ m_page->setNetworkAccessManager(networkManager);
+ networkManager->requests.clear();
+
+ m_view->setHtml(QString("data:text/html,<frameset cols=\"25%,75%\"><frame src=\"data:text/html,"
+ "<head><meta http-equiv='refresh' content='1'></head>foo \">"
+ "<frame src=\"data:text/html,bar\"></frameset>"), QUrl());
+ QVERIFY(::waitForSignal(m_view, SIGNAL(loadFinished(bool))));
+
+ QCOMPARE(networkManager->requests.count(), 2);
+
+ QList<QWebFrame*> childFrames = m_page->mainFrame()->childFrames();
+ QCOMPARE(childFrames.count(), 2);
+
+#if QT_VERSION >= QT_VERSION_CHECK(4, 6, 0)
+ for (int i = 0; i < 2; ++i)
+ QVERIFY(qobject_cast<QWebFrame*>(networkManager->requests.at(i).originatingObject()) == childFrames.at(i));
+#endif
+}
+
QTEST_MAIN(tst_QWebPage)
#include "tst_qwebpage.moc"
diff --git a/src/3rdparty/webkit/WebKit/qt/tests/qwebplugindatabase/qwebplugindatabase.pro b/src/3rdparty/webkit/WebKit/qt/tests/qwebplugindatabase/qwebplugindatabase.pro
index 1376ca5..569146a 100644
--- a/src/3rdparty/webkit/WebKit/qt/tests/qwebplugindatabase/qwebplugindatabase.pro
+++ b/src/3rdparty/webkit/WebKit/qt/tests/qwebplugindatabase/qwebplugindatabase.pro
@@ -5,4 +5,7 @@ SOURCES += tst_qwebplugindatabase.cpp
QT += testlib network
QMAKE_RPATHDIR = $$OUTPUT_DIR/lib $$QMAKE_RPATHDIR
-symbian:TARGET.UID3 = 0xA000E540
+symbian {
+ TARGET.UID3 = 0xA000E540
+ TARGET.CAPABILITY = ReadUserData WriteUserData NetworkServices
+}
diff --git a/src/3rdparty/webkit/WebKit/qt/tests/qwebview/data/frame_a.html b/src/3rdparty/webkit/WebKit/qt/tests/qwebview/data/frame_a.html
new file mode 100644
index 0000000..9ff68f1
--- /dev/null
+++ b/src/3rdparty/webkit/WebKit/qt/tests/qwebview/data/frame_a.html
@@ -0,0 +1,2 @@
+<a href="http://google.com" target="frame_b"><img src="" width=100 height=100 alt="Google"></a>
+<a href="http://yahoo.com" target="frame_b"><img src="" width=100 height=100 alt="Yahoo"></a>
diff --git a/src/3rdparty/webkit/WebKit/qt/tests/qwebview/data/index.html b/src/3rdparty/webkit/WebKit/qt/tests/qwebview/data/index.html
new file mode 100644
index 0000000..c53ad09
--- /dev/null
+++ b/src/3rdparty/webkit/WebKit/qt/tests/qwebview/data/index.html
@@ -0,0 +1,4 @@
+<frameset cols="25%,75%">
+ <frame src="frame_a.html" name="frame_a">
+ <frame src="frame_b.html" name="frame_b">
+</frameset>
diff --git a/src/3rdparty/webkit/WebKit/qt/tests/qwebview/qwebview.pro b/src/3rdparty/webkit/WebKit/qt/tests/qwebview/qwebview.pro
index bba7c39..735537b 100644
--- a/src/3rdparty/webkit/WebKit/qt/tests/qwebview/qwebview.pro
+++ b/src/3rdparty/webkit/WebKit/qt/tests/qwebview/qwebview.pro
@@ -4,6 +4,10 @@ include(../../../../WebKit.pri)
SOURCES += tst_qwebview.cpp
QT += testlib network
QMAKE_RPATHDIR = $$OUTPUT_DIR/lib $$QMAKE_RPATHDIR
+RESOURCES += tst_qwebview.qrc
DEFINES += SRCDIR=\\\"$$PWD/\\\"
-symbian:TARGET.UID3 = 0xA000E53F
+symbian {
+ TARGET.UID3 = 0xA000E53F
+ TARGET.CAPABILITY = ReadUserData WriteUserData NetworkServices
+}
diff --git a/src/3rdparty/webkit/WebKit/qt/tests/qwebview/tst_qwebview.cpp b/src/3rdparty/webkit/WebKit/qt/tests/qwebview/tst_qwebview.cpp
index 9204223..27daf38 100644
--- a/src/3rdparty/webkit/WebKit/qt/tests/qwebview/tst_qwebview.cpp
+++ b/src/3rdparty/webkit/WebKit/qt/tests/qwebview/tst_qwebview.cpp
@@ -20,6 +20,7 @@
*/
#include <qtest.h>
+#include "../util.h"
#include <qpainter.h>
#include <qwebview.h>
@@ -41,12 +42,12 @@ public slots:
private slots:
void renderHints();
- void guessUrlFromString_data();
- void guessUrlFromString();
void getWebKitVersion();
void reusePage_data();
void reusePage();
+
+ void crashTests();
};
// This will be called before the first test function is executed.
@@ -105,68 +106,6 @@ void tst_QWebView::renderHints()
QVERIFY(!(webView.renderHints() & QPainter::HighQualityAntialiasing));
}
-void tst_QWebView::guessUrlFromString_data()
-{
- QTest::addColumn<QString>("string");
- QTest::addColumn<QUrl>("guessUrlFromString");
-
- // Null
- QTest::newRow("null") << QString() << QUrl();
-
- // File
- QDirIterator it(QDir::homePath());
- QString fileString;
- int c = 0;
- while (it.hasNext()) {
- it.next();
- QTest::newRow(QString("file-%1").arg(c++).toLatin1()) << it.filePath() << QUrl::fromLocalFile(it.filePath());
- }
-
- // basic latin1
- QTest::newRow("unicode-0") << QString::fromUtf8("å.com/") << QUrl::fromEncoded(QString::fromUtf8("http://å.com/").toUtf8(), QUrl::TolerantMode);
- // unicode
- QTest::newRow("unicode-1") << QString::fromUtf8("λ.com/") << QUrl::fromEncoded(QString::fromUtf8("http://λ.com/").toUtf8(), QUrl::TolerantMode);
-
- // no scheme
- QTest::newRow("add scheme-0") << "webkit.org" << QUrl("http://webkit.org");
- QTest::newRow("add scheme-1") << "www.webkit.org" << QUrl("http://www.webkit.org");
- QTest::newRow("add scheme-2") << "ftp.webkit.org" << QUrl("ftp://ftp.webkit.org");
- QTest::newRow("add scheme-3") << "webkit" << QUrl("webkit");
-
- // QUrl's tolerant parser should already handle this
- QTest::newRow("not-encoded-0") << "http://webkit.org/test page.html" << QUrl("http://webkit.org/test%20page.html");
-
- // Make sure the :80, i.e. port doesn't screw anything up
- QUrl portUrl("http://webkit.org");
- portUrl.setPort(80);
- QTest::newRow("port-0") << "webkit.org:80" << portUrl;
- QTest::newRow("port-1") << "http://webkit.org:80" << portUrl;
-
- // mailto doesn't have a ://, but is valid
- QUrl mailto("ben@meyerhome.net");
- mailto.setScheme("mailto");
- QTest::newRow("mailto") << "mailto:ben@meyerhome.net" << mailto;
-
- // misc
- QTest::newRow("localhost-0") << "localhost" << QUrl("http://localhost");
- QTest::newRow("localhost-1") << "localhost:80" << QUrl("http://localhost:80");
- QTest::newRow("spaces-0") << " http://webkit.org/test page.html " << QUrl("http://webkit.org/test%20page.html");
-
- // FYI: The scheme in the resulting url user
- QUrl authUrl("user:pass@domain.com");
- QTest::newRow("misc-1") << "user:pass@domain.com" << authUrl;
-}
-
-// public static QUrl guessUrlFromString(QString const& string)
-void tst_QWebView::guessUrlFromString()
-{
- QFETCH(QString, string);
- QFETCH(QUrl, guessUrlFromString);
-
- QUrl url = QWebView::guessUrlFromString(string);
- QCOMPARE(url, guessUrlFromString);
-}
-
void tst_QWebView::getWebKitVersion()
{
QVERIFY(qWebKitVersion().toDouble() > 0);
@@ -212,6 +151,46 @@ void tst_QWebView::reusePage()
QDir::setCurrent(QApplication::applicationDirPath());
}
+// Class used in crashTests
+class WebViewCrashTest : public QObject {
+ Q_OBJECT
+ QWebView* m_view;
+public:
+ bool m_executed;
+
+
+ WebViewCrashTest(QWebView* view)
+ : m_view(view)
+ , m_executed(false)
+ {
+ view->connect(view, SIGNAL(loadProgress(int)), this, SLOT(loading(int)));
+ }
+
+private slots:
+ void loading(int progress)
+ {
+ if (progress >= 20 && progress < 90) {
+ QVERIFY(!m_executed);
+ m_view->stop();
+ m_executed = true;
+ }
+ }
+};
+
+
+// Should not crash.
+void tst_QWebView::crashTests()
+{
+ // Test if loading can be stopped in loadProgress handler without crash.
+ // Test page should have frames.
+ QWebView view;
+ WebViewCrashTest tester(&view);
+ QUrl url("qrc:///data/index.html");
+ view.load(url);
+ QTRY_VERIFY(tester.m_executed); // If fail it means that the test wasn't executed.
+}
+
+
QTEST_MAIN(tst_QWebView)
#include "tst_qwebview.moc"
diff --git a/src/3rdparty/webkit/WebKit/qt/tests/qwebview/tst_qwebview.qrc b/src/3rdparty/webkit/WebKit/qt/tests/qwebview/tst_qwebview.qrc
new file mode 100644
index 0000000..ede34a9
--- /dev/null
+++ b/src/3rdparty/webkit/WebKit/qt/tests/qwebview/tst_qwebview.qrc
@@ -0,0 +1,7 @@
+<!DOCTYPE RCC><RCC version="1.0">
+<qresource>
+ <file>data/index.html</file>
+ <file>data/frame_a.html</file>
+</qresource>
+</RCC>
+
diff --git a/src/3rdparty/webkit/WebKit/qt/tests/tests.pro b/src/3rdparty/webkit/WebKit/qt/tests/tests.pro
index 81cc8f3..939cd22 100644
--- a/src/3rdparty/webkit/WebKit/qt/tests/tests.pro
+++ b/src/3rdparty/webkit/WebKit/qt/tests/tests.pro
@@ -1,4 +1,4 @@
TEMPLATE = subdirs
-SUBDIRS = qwebframe qwebpage qwebelement qgraphicswebview qwebhistoryinterface qwebplugindatabase qwebview qwebhistory
+SUBDIRS = qwebframe qwebpage qwebelement qgraphicswebview qwebhistoryinterface qwebview qwebhistory
greaterThan(QT_MINOR_VERSION, 4): SUBDIRS += benchmarks/painting/tst_painting.pro benchmarks/loading/tst_loading.pro
diff --git a/src/corelib/animation/qabstractanimation.cpp b/src/corelib/animation/qabstractanimation.cpp
index f83c2a1..a4c7e29 100644
--- a/src/corelib/animation/qabstractanimation.cpp
+++ b/src/corelib/animation/qabstractanimation.cpp
@@ -157,19 +157,7 @@
#ifndef QT_NO_ANIMATION
#define DEFAULT_TIMER_INTERVAL 16
-
-#ifdef Q_WS_WIN
- /// Fix for Qt 4.7
- //on windows if you're currently dragging a widget an inner eventloop was started by the system
- //to make sure that this timer is getting fired, we need to make sure to use the system timers
- //that will send a WM_TIMER event. We do that by settings the timer interval to 11
- //It is 16 because QEventDispatcherWin32Private::registerTimer specifically checks if the interval
- //is greater than 11 to determine if it should use a system timer (or the multimedia timer).
-#define STARTSTOP_TIMER_DELAY 16
-#else
#define STARTSTOP_TIMER_DELAY 0
-#endif
-
QT_BEGIN_NAMESPACE
@@ -194,15 +182,10 @@ QUnifiedTimer *QUnifiedTimer::instance()
return inst;
}
-void QUnifiedTimer::ensureTimerUpdate(QAbstractAnimation *animation)
+void QUnifiedTimer::ensureTimerUpdate()
{
- if (isPauseTimerActive) {
+ if (isPauseTimerActive)
updateAnimationsTime();
- } else {
- // this code is needed when ensureTimerUpdate is called from setState because we update
- // the currentTime when an animation starts running (otherwise we could remove it)
- animation->setCurrentTime(animation->currentTime());
- }
}
void QUnifiedTimer::updateAnimationsTime()
@@ -381,7 +364,7 @@ void QAbstractAnimationPrivate::setState(QAbstractAnimation::State newState)
case QAbstractAnimation::Paused:
if (hasRegisteredTimer)
// currentTime needs to be updated if pauseTimer is active
- QUnifiedTimer::instance()->ensureTimerUpdate(q);
+ QUnifiedTimer::instance()->ensureTimerUpdate();
if (!guard)
return;
//here we're sure that we were in running state before and that the
@@ -395,9 +378,11 @@ void QAbstractAnimationPrivate::setState(QAbstractAnimation::State newState)
// this ensures that the value is updated now that the animation is running
if (oldState == QAbstractAnimation::Stopped) {
- if (isTopLevel)
+ if (isTopLevel) {
// currentTime needs to be updated if pauseTimer is active
- QUnifiedTimer::instance()->ensureTimerUpdate(q);
+ QUnifiedTimer::instance()->ensureTimerUpdate();
+ q->setCurrentTime(totalCurrentTime);
+ }
}
}
break;
@@ -558,7 +543,7 @@ void QAbstractAnimation::setDirection(Direction direction)
// the commands order below is important: first we need to setCurrentTime with the old direction,
// then update the direction on this and all children and finally restart the pauseTimer if needed
if (d->hasRegisteredTimer)
- QUnifiedTimer::instance()->ensureTimerUpdate(this);
+ QUnifiedTimer::instance()->ensureTimerUpdate();
d->direction = direction;
updateDirection(direction);
diff --git a/src/corelib/animation/qabstractanimation.h b/src/corelib/animation/qabstractanimation.h
index 50b07d7..3d608b6 100644
--- a/src/corelib/animation/qabstractanimation.h
+++ b/src/corelib/animation/qabstractanimation.h
@@ -59,6 +59,8 @@ class QAbstractAnimationPrivate;
class Q_CORE_EXPORT QAbstractAnimation : public QObject
{
Q_OBJECT
+ Q_ENUMS(State)
+ Q_ENUMS(Direction)
Q_PROPERTY(State state READ state NOTIFY stateChanged)
Q_PROPERTY(int loopCount READ loopCount WRITE setLoopCount)
Q_PROPERTY(int currentTime READ currentTime WRITE setCurrentTime)
diff --git a/src/corelib/animation/qabstractanimation_p.h b/src/corelib/animation/qabstractanimation_p.h
index bef0499..f989bce 100644
--- a/src/corelib/animation/qabstractanimation_p.h
+++ b/src/corelib/animation/qabstractanimation_p.h
@@ -142,7 +142,7 @@ public:
this is used for updating the currentTime of all animations in case the pause
timer is active or, otherwise, only of the animation passed as parameter.
*/
- void ensureTimerUpdate(QAbstractAnimation *animation);
+ void ensureTimerUpdate();
/*
this will evaluate the need of restarting the pause timer in case there is still
diff --git a/src/corelib/arch/qatomic_symbian.h b/src/corelib/arch/qatomic_symbian.h
index 5880120..3721aca 100644
--- a/src/corelib/arch/qatomic_symbian.h
+++ b/src/corelib/arch/qatomic_symbian.h
@@ -42,8 +42,6 @@
#ifndef QATOMIC_SYMBIAN_H
#define QATOMIC_SYMBIAN_H
-QT_BEGIN_HEADER
-
#if defined(Q_CC_RVCT)
# define QT_NO_ARM_EABI
# include <QtCore/qatomic_arm.h>
@@ -51,6 +49,16 @@ QT_BEGIN_HEADER
# include <QtCore/qatomic_generic.h>
#endif
+QT_BEGIN_HEADER
+
+QT_BEGIN_NAMESPACE
+
+QT_MODULE(Core)
+
+// Empty, but needed to avoid warnings
+
+QT_END_NAMESPACE
+
QT_END_HEADER
#endif // QATOMIC_SYMBIAN_H
diff --git a/src/corelib/corelib.pro b/src/corelib/corelib.pro
index f835bee..9a15bf1 100644
--- a/src/corelib/corelib.pro
+++ b/src/corelib/corelib.pro
@@ -35,4 +35,4 @@ symbian: {
# Workaroud for problems with paging this dll
MMP_RULES -= PAGED
MMP_RULES *= UNPAGED
-} \ No newline at end of file
+}
diff --git a/src/corelib/eval.pri b/src/corelib/eval.pri
new file mode 100644
index 0000000..efda56b
--- /dev/null
+++ b/src/corelib/eval.pri
@@ -0,0 +1,4 @@
+SOURCES += \
+ $$QT_SOURCE_TREE/src/corelib/kernel/qtcore_eval.cpp
+INCLUDEPATH += \
+ $$QT_BUILD_TREE/src/corelib/global
diff --git a/src/corelib/global/qconfig-minimal.h b/src/corelib/global/qconfig-minimal.h
index 3d9539e..58565d6 100644
--- a/src/corelib/global/qconfig-minimal.h
+++ b/src/corelib/global/qconfig-minimal.h
@@ -123,9 +123,6 @@
#endif
/* Images */
-#ifndef QT_NO_ICON
-# define QT_NO_ICON
-#endif
#ifndef QT_NO_IMAGEFORMATPLUGIN
# define QT_NO_IMAGEFORMATPLUGIN
#endif
@@ -258,9 +255,6 @@
#ifndef QT_NO_TEXTHTMLPARSER
# define QT_NO_TEXTHTMLPARSER
#endif
-#ifndef QT_NO_THREAD
-# define QT_NO_THREAD
-#endif
#ifndef QT_NO_CONCURRENT
# define QT_NO_CONCURRENT
#endif
diff --git a/src/corelib/global/qfeatures.h b/src/corelib/global/qfeatures.h
index 36c2cf9..77785e8 100644
--- a/src/corelib/global/qfeatures.h
+++ b/src/corelib/global/qfeatures.h
@@ -43,6 +43,7 @@
* All features and their dependencies.
*
* This list is generated from $QTDIR/src/corelib/global/qfeatures.txt
+ * by $QTSRCDIR/util/scripts/make_qfeatures_dot_h
*/
// QAction
@@ -54,6 +55,9 @@
// Color Names
//#define QT_NO_COLORNAMES
+// QtConcurrent
+//#define QT_NO_CONCURRENT
+
// QCopChannel
//#define QT_NO_COP
@@ -75,15 +79,15 @@
// Effects
//#define QT_NO_EFFECTS
+// QFileSystemWatcher
+//#define QT_NO_FILESYSTEMWATCHER
+
// Freetype Font Engine
//#define QT_NO_FREETYPE
// QGroupBox
//#define QT_NO_GROUPBOX
-// QIcon
-//#define QT_NO_ICON
-
// QImageIOPlugin
//#define QT_NO_IMAGEFORMATPLUGIN
@@ -147,15 +151,15 @@
// Phonon::ObjectDescriptionModel
//#define QT_NO_PHONON_OBJECTDESCRIPTIONMODEL
-// Phonon::PlatformPlugin
-//#define QT_NO_PHONON_PLATFORMPLUGIN
-
// Phonon::VideoWidget
//#define QT_NO_PHONON_VIDEO
// QPicture
//#define QT_NO_PICTURE
+// QProcess
+//#define QT_NO_PROCESS
+
// QProgressBar
//#define QT_NO_PROGRESSBAR
@@ -174,9 +178,6 @@
// Decoration
//#define QT_NO_QWS_DECORATION_DEFAULT
-// QWSInputMethod
-//#define QT_NO_QWS_INPUTMETHODS
-
// Keyboard
//#define QT_NO_QWS_KEYBOARD
@@ -261,6 +262,9 @@
// QSystemSemaphore
//#define QT_NO_SYSTEMSEMAPHORE
+// QSystemTrayIcon
+//#define QT_NO_SYSTEMTRAYICON
+
// QTabletEvent
//#define QT_NO_TABLETEVENT
@@ -279,9 +283,6 @@
// QTextStream
//#define QT_NO_TEXTSTREAM
-// QThread
-//#define QT_NO_THREAD
-
// QToolTip
//#define QT_NO_TOOLTIP
@@ -306,11 +307,6 @@
//
//#define QT_NO_XMLSTREAM
-// Accessibility
-#if !defined(QT_NO_ACCESSIBILITY) && (defined(QT_NO_PROPERTIES))
-#define QT_NO_ACCESSIBILITY
-#endif
-
// Animation
#if !defined(QT_NO_ANIMATION) && (defined(QT_NO_PROPERTIES))
#define QT_NO_ANIMATION
@@ -331,11 +327,6 @@
#define QT_NO_CODECS
#endif
-// QtConcurrent
-#if !defined(QT_NO_CONCURRENT) && (defined(QT_NO_THREAD))
-#define QT_NO_CONCURRENT
-#endif
-
// QDate/QTime/QDateTime
#if !defined(QT_NO_DATESTRING) && (defined(QT_NO_TEXTDATE))
#define QT_NO_DATESTRING
@@ -346,9 +337,9 @@
#define QT_NO_DIAL
#endif
-// QFileSystemWatcher
-#if !defined(QT_NO_FILESYSTEMWATCHER) && (defined(QT_NO_THREAD))
-#define QT_NO_FILESYSTEMWATCHER
+// QFileSystemModel
+#if !defined(QT_NO_FILESYSTEMMODEL) && (defined(QT_NO_FILESYSTEMWATCHER))
+#define QT_NO_FILESYSTEMMODEL
#endif
// QHostInfo
@@ -386,16 +377,6 @@
#define QT_NO_PHONON_VOLUMEFADEREFFECT
#endif
-// Phonon::VolumeSlider
-#if !defined(QT_NO_PHONON_VOLUMESLIDER) && (defined(QT_NO_SLIDER))
-#define QT_NO_PHONON_VOLUMESLIDER
-#endif
-
-// QProcess
-#if !defined(QT_NO_PROCESS) && (defined(QT_NO_THREAD))
-#define QT_NO_PROCESS
-#endif
-
// QProgressDialog
#if !defined(QT_NO_PROGRESSDIALOG) && (defined(QT_NO_PROGRESSBAR))
#define QT_NO_PROGRESSDIALOG
@@ -426,6 +407,16 @@
#define QT_NO_QWS_MANAGER
#endif
+// QVncTransformed
+#if !defined(QT_NO_QWS_TRANSFORMED) && (defined(QT_NO_QWS_PROXYSCREEN))
+#define QT_NO_QWS_TRANSFORMED
+#endif
+
+// QVncScreen
+#if !defined(QT_NO_QWS_VNC) && (defined(QT_NO_QWS_PROXYSCREEN))
+#define QT_NO_QWS_VNC
+#endif
+
// QScrollBar
#if !defined(QT_NO_SCROLLBAR) && (defined(QT_NO_SLIDER))
#define QT_NO_SCROLLBAR
@@ -441,6 +432,11 @@
#define QT_NO_SOCKS5
#endif
+// QSoftKeyManager
+#if !defined(QT_NO_SOFTKEYMANAGER) && (defined(QT_NO_ACTION))
+#define QT_NO_SOFTKEYMANAGER
+#endif
+
// QSplitter
#if !defined(QT_NO_SPLITTER) && (defined(QT_NO_RUBBERBAND))
#define QT_NO_SPLITTER
@@ -466,9 +462,9 @@
#define QT_NO_SXE
#endif
-// QSystemTrayIcon
-#if !defined(QT_NO_SYSTEMTRAYICON) && (defined(QT_NO_ICON))
-#define QT_NO_SYSTEMTRAYICON
+// QToolButton
+#if !defined(QT_NO_TOOLBUTTON) && (defined(QT_NO_ACTION))
+#define QT_NO_TOOLBUTTON
#endif
// QUndoStack
@@ -501,11 +497,6 @@
#define QT_NO_CONTEXTMENU
#endif
-// QFileSystemModel
-#if !defined(QT_NO_FILESYSTEMMODEL) && (defined(QT_NO_FILESYSTEMWATCHER))
-#define QT_NO_FILESYSTEMMODEL
-#endif
-
// File Transfer Protocol
#if !defined(QT_NO_FTP) && (defined(QT_NO_URLINFO) || defined(QT_NO_TEXTDATE))
#define QT_NO_FTP
@@ -521,9 +512,9 @@
#define QT_NO_LIBRARY
#endif
-// QPrinter
-#if !defined(QT_NO_PRINTER) && (defined(QT_NO_TEXTSTREAM) || defined(QT_NO_PICTURE))
-#define QT_NO_PRINTER
+// Phonon::AbstractMediaStream
+#if !defined(QT_NO_PHONON_SETTINGSGROUP) && (defined(QT_NO_SETTINGS))
+#define QT_NO_PHONON_SETTINGSGROUP
#endif
// QScrollArea
@@ -531,21 +522,36 @@
#define QT_NO_SCROLLAREA
#endif
+// QWindowsVistaStyle
+#if !defined(QT_NO_STYLE_WINDOWSVISTA) && (defined(QT_NO_STYLE_WINDOWSXP))
+#define QT_NO_STYLE_WINDOWSVISTA
+#endif
+
+// QTabBar
+#if !defined(QT_NO_TABBAR) && (defined(QT_NO_TOOLBUTTON))
+#define QT_NO_TABBAR
+#endif
+
// OdfWriter
#if !defined(QT_NO_TEXTODFWRITER) && (defined(QT_NO_XMLSTREAMWRITER))
#define QT_NO_TEXTODFWRITER
#endif
-// QToolButton
-#if !defined(QT_NO_TOOLBUTTON) && (defined(QT_NO_ICON) || defined(QT_NO_ACTION))
-#define QT_NO_TOOLBUTTON
-#endif
-
// Translation (UTF-8 representation)
#if !defined(QT_NO_TRANSLATION_UTF8) && (defined(QT_NO_TRANSLATION) || defined(QT_NO_TEXTCODEC))
#define QT_NO_TRANSLATION_UTF8
#endif
+// QUndoGroup
+#if !defined(QT_NO_UNDOGROUP) && (defined(QT_NO_UNDOSTACK))
+#define QT_NO_UNDOGROUP
+#endif
+
+// QWhatsThis
+#if !defined(QT_NO_WHATSTHIS) && (defined(QT_NO_TOOLBUTTON))
+#define QT_NO_WHATSTHIS
+#endif
+
// Drag and drop
#if !defined(QT_NO_DRAGANDDROP) && (defined(QT_NO_QWS_PROPERTIES) || defined(QT_NO_IMAGEFORMAT_XPM))
#define QT_NO_DRAGANDDROP
@@ -556,11 +562,31 @@
#define QT_NO_GRAPHICSVIEW
#endif
+// QInputContext
+#if !defined(QT_NO_IM) && (defined(QT_NO_LIBRARY))
+#define QT_NO_IM
+#endif
+
// QMdiArea
#if !defined(QT_NO_MDIAREA) && (defined(QT_NO_SCROLLAREA))
#define QT_NO_MDIAREA
#endif
+// Phonon::PlatformPlugin
+#if !defined(QT_NO_PHONON_PLATFORMPLUGIN) && (defined(QT_NO_LIBRARY))
+#define QT_NO_PHONON_PLATFORMPLUGIN
+#endif
+
+// Phonon::VolumeSlider
+#if !defined(QT_NO_PHONON_VOLUMESLIDER) && (defined(QT_NO_SLIDER) || defined(QT_NO_TOOLBUTTON))
+#define QT_NO_PHONON_VOLUMESLIDER
+#endif
+
+// QPrinter
+#if !defined(QT_NO_PRINTER) && (defined(QT_NO_TEXTSTREAM) || defined(QT_NO_PICTURE) || defined(QT_NO_TEMPORARYFILE))
+#define QT_NO_PRINTER
+#endif
+
// QSpinBox
#if !defined(QT_NO_SPINBOX) && (defined(QT_NO_SPINWIDGET) || defined(QT_NO_LINEEDIT) || defined(QT_NO_VALIDATOR))
#define QT_NO_SPINBOX
@@ -591,24 +617,24 @@
#define QT_NO_STYLE_WINDOWSMOBILE
#endif
-// QWindowsVistaStyle
-#if !defined(QT_NO_STYLE_WINDOWSVISTA) && (defined(QT_NO_STYLE_WINDOWS) || defined(QT_NO_STYLE_WINDOWSXP))
-#define QT_NO_STYLE_WINDOWSVISTA
-#endif
-
// QtSvg module
#if !defined(QT_NO_SVG) && (defined(QT_NO_XMLSTREAMREADER) || defined(QT_NO_CSSPARSER))
#define QT_NO_SVG
#endif
-// QTabBar
-#if !defined(QT_NO_TABBAR) && (defined(QT_NO_TOOLBUTTON))
-#define QT_NO_TABBAR
+// Q3TabDialog
+#if !defined(QT_NO_TABDIALOG) && (defined(QT_NO_TABBAR))
+#define QT_NO_TABDIALOG
#endif
-// QUndoGroup
-#if !defined(QT_NO_UNDOGROUP) && (defined(QT_NO_UNDOCOMMAND) || defined(QT_NO_UNDOSTACK))
-#define QT_NO_UNDOGROUP
+// QColorDialog
+#if !defined(QT_NO_COLORDIALOG) && (defined(QT_NO_SPINBOX))
+#define QT_NO_COLORDIALOG
+#endif
+
+// QGraphicsEffect
+#if !defined(QT_NO_GRAPHICSEFFECT) && (defined(QT_NO_GRAPHICSVIEW))
+#define QT_NO_GRAPHICSEFFECT
#endif
// The Model/View Framework
@@ -616,6 +642,16 @@
#define QT_NO_ITEMVIEWS
#endif
+// QMenuBar
+#if !defined(QT_NO_MENUBAR) && (defined(QT_NO_MENU) || defined(QT_NO_TOOLBUTTON))
+#define QT_NO_MENUBAR
+#endif
+
+// QWSInputMethod
+#if !defined(QT_NO_QWS_INPUTMETHODS) && (defined(QT_NO_IM))
+#define QT_NO_QWS_INPUTMETHODS
+#endif
+
// Sound Server
#if !defined(QT_NO_QWS_SOUNDSERVER) && (defined(QT_NO_SOUND) || defined(QT_NO_HOSTINFO) || defined(QT_NO_QWS_MULTIPROCESS))
#define QT_NO_QWS_SOUNDSERVER
@@ -631,9 +667,9 @@
#define QT_NO_SVGRENDERER
#endif
-// Q3TabDialog
-#if !defined(QT_NO_TABDIALOG) && (defined(QT_NO_TABBAR))
-#define QT_NO_TABDIALOG
+// QTabWidget
+#if !defined(QT_NO_TABWIDGET) && (defined(QT_NO_TABBAR) || defined(QT_NO_STACKEDWIDGET))
+#define QT_NO_TABWIDGET
#endif
// QTextCodecPlugin
@@ -646,16 +682,6 @@
#define QT_NO_TEXTEDIT
#endif
-// QWhatsThis
-#if !defined(QT_NO_WHATSTHIS) && (defined(QT_NO_TOOLBUTTON) || defined(QT_NO_ACTION))
-#define QT_NO_WHATSTHIS
-#endif
-
-// QDirModel
-#if !defined(QT_NO_DIRMODEL) && (defined(QT_NO_ITEMVIEWS))
-#define QT_NO_DIRMODEL
-#endif
-
// QErrorMessage
#if !defined(QT_NO_ERRORMESSAGE) && (defined(QT_NO_TEXTEDIT))
#define QT_NO_ERRORMESSAGE
@@ -666,9 +692,9 @@
#define QT_NO_LISTVIEW
#endif
-// QMenuBar
-#if !defined(QT_NO_MENUBAR) && (defined(QT_NO_MENU) || defined(QT_NO_TOOLBUTTON))
-#define QT_NO_MENUBAR
+// QMainWindow
+#if !defined(QT_NO_MAINWINDOW) && (defined(QT_NO_MENU) || defined(QT_NO_RESIZEHANDLER) || defined(QT_NO_TOOLBUTTON))
+#define QT_NO_MAINWINDOW
#endif
// QAbstractProxyModel
@@ -701,24 +727,24 @@
#define QT_NO_TABLEVIEW
#endif
-// QTabWidget
-#if !defined(QT_NO_TABWIDGET) && (defined(QT_NO_TABBAR) || defined(QT_NO_STACKEDWIDGET))
-#define QT_NO_TABWIDGET
-#endif
-
// QTextBrowser
#if !defined(QT_NO_TEXTBROWSER) && (defined(QT_NO_TEXTEDIT))
#define QT_NO_TEXTBROWSER
#endif
+// QToolBox
+#if !defined(QT_NO_TOOLBOX) && (defined(QT_NO_TOOLBUTTON) || defined(QT_NO_SCROLLAREA))
+#define QT_NO_TOOLBOX
+#endif
+
// QTreeView
#if !defined(QT_NO_TREEVIEW) && (defined(QT_NO_ITEMVIEWS))
#define QT_NO_TREEVIEW
#endif
-// QColorDialog
-#if !defined(QT_NO_COLORDIALOG) && (defined(QT_NO_LINEEDIT) || defined(QT_NO_VALIDATOR) || defined(QT_NO_SPINBOX))
-#define QT_NO_COLORDIALOG
+// Accessibility
+#if !defined(QT_NO_ACCESSIBILITY) && (defined(QT_NO_PROPERTIES) || defined(QT_NO_MENUBAR))
+#define QT_NO_ACCESSIBILITY
#endif
// QColumnView
@@ -731,11 +757,6 @@
#define QT_NO_COMPLETER
#endif
-// Common UNIX Printing System
-#if !defined(QT_NO_CUPS) && (defined(QT_NO_PRINTER) || defined(QT_NO_LIBRARY))
-#define QT_NO_CUPS
-#endif
-
// QDataWidgetMapper
#if !defined(QT_NO_DATAWIDGETMAPPER) && (defined(QT_NO_ITEMVIEWS) || defined(QT_NO_PROPERTIES))
#define QT_NO_DATAWIDGETMAPPER
@@ -746,11 +767,6 @@
#define QT_NO_LISTWIDGET
#endif
-// QMainWindow
-#if !defined(QT_NO_MAINWINDOW) && (defined(QT_NO_MENU) || defined(QT_NO_RESIZEHANDLER) || defined(QT_NO_TOOLBUTTON))
-#define QT_NO_MAINWINDOW
-#endif
-
// QSortFilterProxyModel
#if !defined(QT_NO_SORTFILTERPROXYMODEL) && (defined(QT_NO_PROXYMODEL))
#define QT_NO_SORTFILTERPROXYMODEL
@@ -761,24 +777,24 @@
#define QT_NO_TABLEWIDGET
#endif
+// QToolBar
+#if !defined(QT_NO_TOOLBAR) && (defined(QT_NO_MAINWINDOW))
+#define QT_NO_TOOLBAR
+#endif
+
// QTreeWidget
#if !defined(QT_NO_TREEWIDGET) && (defined(QT_NO_TREEVIEW))
#define QT_NO_TREEWIDGET
#endif
-// QPrintPreviewWidget
-#if !defined(QT_NO_PRINTPREVIEWWIDGET) && (defined(QT_NO_GRAPHICSVIEW) || defined(QT_NO_PRINTER))
-#define QT_NO_PRINTPREVIEWWIDGET
-#endif
-
-// QToolBar
-#if !defined(QT_NO_TOOLBAR) && (defined(QT_NO_MAINWINDOW))
-#define QT_NO_TOOLBAR
+// Common UNIX Printing System
+#if !defined(QT_NO_CUPS) && (defined(QT_NO_PRINTER) || defined(QT_NO_LIBRARY))
+#define QT_NO_CUPS
#endif
-// QToolBox
-#if !defined(QT_NO_TOOLBOX) && (defined(QT_NO_ICON) || defined(QT_NO_TOOLBUTTON) || defined(QT_NO_SCROLLAREA))
-#define QT_NO_TOOLBOX
+// QDirModel
+#if !defined(QT_NO_DIRMODEL) && (defined(QT_NO_ITEMVIEWS) || defined(QT_NO_FILESYSTEMMODEL))
+#define QT_NO_DIRMODEL
#endif
// QDockwidget
@@ -791,6 +807,11 @@
#define QT_NO_UNDOVIEW
#endif
+// QCompleter
+#if !defined(QT_NO_FSCOMPLETER) && (defined(QT_NO_FILESYSTEMMODEL) || defined(QT_NO_COMPLETER))
+#define QT_NO_FSCOMPLETER
+#endif
+
// QGraphicsSvgItem
#if !defined(QT_NO_GRAPHICSSVGITEM) && (defined(QT_NO_SVGRENDERER) || defined(QT_NO_GRAPHICSVIEW))
#define QT_NO_GRAPHICSSVGITEM
@@ -801,6 +822,16 @@
#define QT_NO_COMBOBOX
#endif
+// QWorkSpace
+#if !defined(QT_NO_WORKSPACE) && (defined(QT_NO_SCROLLBAR) || defined(QT_NO_MAINWINDOW) || defined(QT_NO_MENUBAR))
+#define QT_NO_WORKSPACE
+#endif
+
+// QPrintPreviewWidget
+#if !defined(QT_NO_PRINTPREVIEWWIDGET) && (defined(QT_NO_GRAPHICSVIEW) || defined(QT_NO_PRINTER) || defined(QT_NO_MAINWINDOW))
+#define QT_NO_PRINTPREVIEWWIDGET
+#endif
+
// QCalendarWidget
#if !defined(QT_NO_CALENDARWIDGET) && (defined(QT_NO_TABLEVIEW) || defined(QT_NO_MENU) || defined(QT_NO_TEXTDATE) || defined(QT_NO_SPINBOX) || defined(QT_NO_TOOLBUTTON))
#define QT_NO_CALENDARWIDGET
@@ -831,23 +862,18 @@
#define QT_NO_FONTDIALOG
#endif
-// QWorkSpace
-#if !defined(QT_NO_WORKSPACE) && (defined(QT_NO_SCROLLBAR) || defined(QT_NO_RESIZEHANDLER) || defined(QT_NO_MENU) || defined(QT_NO_TOOLBUTTON) || defined(QT_NO_MAINWINDOW) || defined(QT_NO_TOOLBAR) || defined(QT_NO_MENUBAR))
-#define QT_NO_WORKSPACE
-#endif
-
// QPrintDialog
-#if !defined(QT_NO_PRINTDIALOG) && (defined(QT_NO_PRINTER) || defined(QT_NO_COMBOBOX) || defined(QT_NO_BUTTONGROUP) || defined(QT_NO_SPINBOX) || defined(QT_NO_TREEVIEW) || defined(QT_NO_STACKEDWIDGET) || defined(QT_NO_TABWIDGET))
+#if !defined(QT_NO_PRINTDIALOG) && (defined(QT_NO_PRINTER) || defined(QT_NO_COMBOBOX) || defined(QT_NO_BUTTONGROUP) || defined(QT_NO_SPINBOX) || defined(QT_NO_TREEVIEW) || defined(QT_NO_TABWIDGET))
#define QT_NO_PRINTDIALOG
#endif
// QFileDialog
-#if !defined(QT_NO_FILEDIALOG) && (defined(QT_NO_DIRMODEL) || defined(QT_NO_TREEVIEW) || defined(QT_NO_COMBOBOX) || defined(QT_NO_TOOLBUTTON) || defined(QT_NO_BUTTONGROUP) || defined(QT_NO_TOOLTIP) || defined(QT_NO_SPLITTER) || defined(QT_NO_STACKEDWIDGET) || defined(QT_NO_FILESYSTEMMODEL))
+#if !defined(QT_NO_FILEDIALOG) && (defined(QT_NO_DIRMODEL) || defined(QT_NO_TREEVIEW) || defined(QT_NO_COMBOBOX) || defined(QT_NO_TOOLBUTTON) || defined(QT_NO_BUTTONGROUP) || defined(QT_NO_TOOLTIP) || defined(QT_NO_SPLITTER) || defined(QT_NO_STACKEDWIDGET) || defined(QT_NO_PROXYMODEL))
#define QT_NO_FILEDIALOG
#endif
// QPrintPreviewDialog
-#if !defined(QT_NO_PRINTPREVIEWDIALOG) && (defined(QT_NO_PRINTPREVIEWWIDGET) || defined(QT_NO_PRINTDIALOG) || defined(QT_NO_MAINWINDOW))
+#if !defined(QT_NO_PRINTPREVIEWDIALOG) && (defined(QT_NO_PRINTPREVIEWWIDGET) || defined(QT_NO_PRINTDIALOG) || defined(QT_NO_TOOLBAR))
#define QT_NO_PRINTPREVIEWDIALOG
#endif
diff --git a/src/corelib/global/qfeatures.txt b/src/corelib/global/qfeatures.txt
index ec47883..ec4945f 100644
--- a/src/corelib/global/qfeatures.txt
+++ b/src/corelib/global/qfeatures.txt
@@ -28,17 +28,10 @@ Requires:
Name: CssParser
SeeAlso: ???
-Feature: THREAD
-Description: Supports multithreaded programming.
-Section: Kernel
-Requires:
-Name: QThread
-SeeAlso: ???
-
Feature: CONCURRENT
Description: Provides a high-level multi-threaded APIs
Section: Kernel
-Requires: THREAD
+Requires:
Name: QtConcurrent
SeeAlso: ???
@@ -70,6 +63,13 @@ Requires:
Name: QAction
SeeAlso: ???
+Feature: SOFTKEYMANAGER
+Description: Supports softkeys.
+Section: Gui
+Requires: ACTION
+Name: QSoftKeyManager
+SeeAlso: ???
+
Feature: CURSOR
Description: Supports mouse cursors.
Section: Kernel
@@ -147,6 +147,12 @@ Requires: XMLSTREAM
Name: QXmlStreamWriter
SeeAlso: ???
+Feature: IM
+Description: Inputmethods with QInputContext
+Section: Kernel
+Requires: LIBRARY
+Name: QInputContext
+SeeAlso: ???
# Data structures
Feature: STL
@@ -182,7 +188,7 @@ SeeAlso: ???
Feature: PROCESS
Description: Supports external process invocation.
Section: File I/O
-Requires: THREAD
+Requires:
Name: QProcess
SeeAlso: ???
@@ -232,7 +238,7 @@ Feature: FILESYSTEMWATCHER
Description: Provides an interface for monitoring files and directories
for modications.
Section: File I/O
-Requires: THREAD
+Requires:
Name: QFileSystemWatcher
SeeAlso: ???
@@ -339,7 +345,7 @@ SeeAlso: ???
Feature: COMBOBOX
Description: Supports comboboxes presenting a list of options to the user.
Section: Widgets
-Requires: LINEEDIT STANDARDITEMMODEL LISTVIEW
+Requires: LINEEDIT STANDARDITEMMODEL LISTVIEW
Name: QComboBox
SeeAlso: ???
@@ -353,7 +359,7 @@ SeeAlso: ???
Feature: TOOLBUTTON
Description: Supports quick-access buttons to commands and options.
Section: Widgets
-Requires: ICON ACTION
+Requires: ACTION
Name: QToolButton
SeeAlso: ???
@@ -367,7 +373,7 @@ SeeAlso: ???
Feature: TOOLBOX
Description: Supports columns of tabbed widget items.
Section: Widgets
-Requires: ICON TOOLBUTTON SCROLLAREA
+Requires: TOOLBUTTON SCROLLAREA
Name: QToolBox
SeeAlso: ???
@@ -403,7 +409,7 @@ SeeAlso: ???
Feature: WORKSPACE
Description: Supports workspace windows, e.g. used in an MDI application.
Section: Widgets
-Requires: SCROLLBAR RESIZEHANDLER MENU TOOLBUTTON MAINWINDOW TOOLBAR MENUBAR
+Requires: SCROLLBAR MAINWINDOW MENUBAR
Name: QWorkSpace
SeeAlso: ???
@@ -485,6 +491,13 @@ Requires: SCROLLAREA
Name: QGraphicsView
SeeAlso: ???
+Feature: GRAPHICSEFFECT
+Description: Supports the graphicseffect classes.
+Section: Widgets
+Requires: GRAPHICSVIEW
+Name: QGraphicsEffect
+SeeAlso: ???
+
Feature: SPINWIDGET
Description: Supports spinbox control widgets.
Section: Widgets
@@ -537,7 +550,7 @@ SeeAlso: ???
Feature: WHATSTHIS
Description: Supports displaying "What's this" help.
Section: Widgets
-Requires: TOOLBUTTON ACTION
+Requires: TOOLBUTTON
Name: QWhatsThis
SeeAlso: ???
@@ -567,7 +580,7 @@ Feature: PRINTPREVIEWWIDGET
Description: Provides a widget for previewing page layouts for printer output.
a date.
Section: Widgets
-Requires: GRAPHICSVIEW PRINTER
+Requires: GRAPHICSVIEW PRINTER MAINWINDOW
Name: QPrintPreviewWidget
SeeAlso: ???
@@ -584,14 +597,14 @@ SeeAlso: ???
Feature: COLORDIALOG
Description: Supports a dialog widget for specifying colors.
Section: Dialogs
-Requires: LINEEDIT VALIDATOR SPINBOX
+Requires: SPINBOX
Name: QColorDialog
SeeAlso: ???
Feature: FILEDIALOG
Description: Supports a dialog widget for selecting files or directories.
Section: Dialogs
-Requires: DIRMODEL TREEVIEW COMBOBOX TOOLBUTTON BUTTONGROUP TOOLTIP SPLITTER STACKEDWIDGET FILESYSTEMMODEL
+Requires: DIRMODEL TREEVIEW COMBOBOX TOOLBUTTON BUTTONGROUP TOOLTIP SPLITTER STACKEDWIDGET PROXYMODEL
Name: QFileDialog
SeeAlso: ???
@@ -605,14 +618,14 @@ SeeAlso: ???
Feature: PRINTDIALOG
Description: Supports a dialog widget for specifying printer configuration.
Section: Dialogs
-Requires: PRINTER COMBOBOX BUTTONGROUP SPINBOX TREEVIEW STACKEDWIDGET TABWIDGET
+Requires: PRINTER COMBOBOX BUTTONGROUP SPINBOX TREEVIEW TABWIDGET
Name: QPrintDialog
SeeAlso: ???
Feature: PRINTPREVIEWDIALOG
Description: Provides a dialog for previewing and configuring page layouts for printer output.
Section: Dialogs
-Requires: PRINTPREVIEWWIDGET PRINTDIALOG MAINWINDOW
+Requires: PRINTPREVIEWWIDGET PRINTDIALOG TOOLBAR
Name: QPrintPreviewDialog
SeeAlso: ???
@@ -664,7 +677,7 @@ SeeAlso: ???
Feature: DIRMODEL
Description: Supports a data model for the local filesystem.
Section: ItemViews
-Requires: ITEMVIEWS
+Requires: ITEMVIEWS FILESYSTEMMODEL
Name: QDirModel
SeeAlso: ???
@@ -772,7 +785,7 @@ SeeAlso: ???
Feature: STYLE_WINDOWSVISTA
Description: Supports a Microsoft WindowsVista-like look and feel.
Section: Styles
-Requires: STYLE_WINDOWS STYLE_WINDOWSXP
+Requires: STYLE_WINDOWSXP
Name: QWindowsVistaStyle
SeeAlso: ???
@@ -813,13 +826,6 @@ Requires:
Name: QImageIOPlugin
SeeAlso: ???
-Feature: ICON
-Description: Supports scalable icons in different modes and states.
-Section: Images
-Requires:
-Name: QIcon
-SeeAlso: ???
-
Feature: MOVIE
Description: Supports animated images.
Section: Images
@@ -910,7 +916,7 @@ SeeAlso: ???
Feature: PRINTER
Description: Supports printing
Section: Painting
-Requires: TEXTSTREAM PICTURE
+Requires: TEXTSTREAM PICTURE TEMPORARYFILE
Name: QPrinter
SeeAlso: ???
@@ -1014,7 +1020,7 @@ SeeAlso: ???
Feature: QWS_INPUTMETHODS
Description: Supports international input methods.
Section: Internationalization
-Requires:
+Requires: IM
Name: QWSInputMethod
SeeAlso: ???
@@ -1101,6 +1107,13 @@ Requires: PROXYMODEL
Name: QCompleter
SeeAlso: ???
+Feature: FSCOMPLETER
+Description: Provides completions based on an item model.
+Section: Utilities
+Requires: FILESYSTEMMODEL COMPLETER
+Name: QCompleter
+SeeAlso: ???
+
Feature: DESKTOPSERVICES
Description: Provides methods for accessing common desktop services.
Section: Utilities
@@ -1111,7 +1124,7 @@ SeeAlso: ???
Feature: SYSTEMTRAYICON
Description: Provides an icon for an application in the system tray.
Section: Utilities
-Requires: ICON
+Requires:
Name: QSystemTrayIcon
SeeAlso: ???
@@ -1132,7 +1145,7 @@ SeeAlso: ???
Feature: UNDOGROUP
Description:
Section: Utilities
-Requires: UNDOCOMMAND UNDOSTACK
+Requires: UNDOSTACK
Name: QUndoGroup
SeeAlso: ???
@@ -1146,7 +1159,7 @@ SeeAlso: ???
Feature: ACCESSIBILITY
Description: Provides accessibility support.
Section: Utilities
-Requires: PROPERTIES
+Requires: PROPERTIES MENUBAR
Name: Accessibility
SeeAlso: ???
@@ -1317,6 +1330,20 @@ Requires:
Name: QProxyScreen
SeeAlso: ???
+Feature: QWS_VNC
+Description: Provides VNC screen driver
+Section: Qt for Embedded Linux
+Requires: QWS_PROXYSCREEN
+Name: QVncScreen
+SeeAlso: ???
+
+Feature: QWS_TRANSFORMED
+Description: Provides Transformed screen driver
+Section: Qt for Embedded Linux
+Requires: QWS_PROXYSCREEN
+Name: QVncTransformed
+SeeAlso: ???
+
Feature: QWS_DYNAMICSCREENTRANSFORMATION
Description: Enables dynamic setting of screen transformation/rotation.
Section: Qt for Embedded Linux
@@ -1338,7 +1365,7 @@ SeeAlso: ???
Feature: PHONON_PLATFORMPLUGIN
Description: Support for platform plugin
Section: Phonon
-Requires:
+Requires: LIBRARY
Name: Phonon::PlatformPlugin
SeeAlso: ???
@@ -1403,7 +1430,7 @@ SeeAlso: ???
Feature: PHONON_VOLUMESLIDER
Description: Support for the Volume Slider class
Section: Phonon
-Requires: SLIDER
+Requires: SLIDER TOOLBUTTON
Name: Phonon::VolumeSlider
SeeAlso: ???
@@ -1420,3 +1447,10 @@ Section: Phonon
Requires:
Name: Phonon::AbstractMediaStream
SeeAlso: ???
+
+Feature: PHONON_SETTINGSGROUP
+Description: Phonon settingsgroup
+Section: Phonon
+Requires: SETTINGS
+Name: Phonon::AbstractMediaStream
+SeeAlso: ???
diff --git a/src/corelib/global/qglobal.cpp b/src/corelib/global/qglobal.cpp
index 907be24..f630f96 100644
--- a/src/corelib/global/qglobal.cpp
+++ b/src/corelib/global/qglobal.cpp
@@ -965,7 +965,7 @@ QT_BEGIN_NAMESPACE
\relates <QtGlobal>
Turns the major, minor and patch numbers of a version into an
- integer, 0xMMNNPP (MM = major, NN = minor, PP = patch). This can
+ integer, 0xMMNNPP (MM = major, NN = minor, PP = patch). This can
be compared with another similarly processed version id.
\sa QT_VERSION
@@ -1196,6 +1196,10 @@ bool qSharedBuild()
\value SV_9_2 Symbian OS v9.2
\value SV_9_3 Symbian OS v9.3
\value SV_9_4 Symbian OS v9.4
+ \value SV_SF_1 Symbian^1
+ \value SV_SF_2 Symbian^2
+ \value SV_SF_3 Symbian^3
+ \value SV_SF_4 Symbian^4
\value SV_Unknown An unknown and currently unsupported platform
\sa S60Version, WinVersion, MacVersion
@@ -1212,6 +1216,8 @@ bool qSharedBuild()
\value SV_S60_3_1 S60 3rd Edition Feature Pack 1
\value SV_S60_3_2 S60 3rd Edition Feature Pack 2
\value SV_S60_5_0 S60 5th Edition
+ \value SV_S60_5_1 S60 5th Edition Feature Pack 1
+ \value SV_S60_5_2 S60 5th Edition Feature Pack 2
\value SV_S60_Unknown An unknown and currently unsupported platform
\omitvalue SV_S60_None
@@ -1800,7 +1806,7 @@ QSysInfo::S60Version QSysInfo::s60Version()
TInt err = fileFinder.FindWildByDir(qt_S60Filter, qt_S60SystemInstallDir, contents);
if (err == KErrNone) {
err = contents->Sort(EDescending|ESortByName);
- if (err == KErrNone) {
+ if (err == KErrNone && contents->Count() > 0 && (*contents)[0].iName.Length() >= 12) {
TInt major = (*contents)[0].iName[9] - '0';
TInt minor = (*contents)[0].iName[11] - '0';
if (major == 3) {
@@ -1813,6 +1819,12 @@ QSysInfo::S60Version QSysInfo::s60Version()
if (minor == 0) {
return cachedS60Version = SV_S60_5_0;
}
+ else if (minor == 1) {
+ return cachedS60Version = SV_S60_5_1;
+ }
+ else if (minor == 2) {
+ return cachedS60Version = SV_S60_5_2;
+ }
}
}
delete contents;
@@ -1827,12 +1839,10 @@ QSysInfo::S60Version QSysInfo::s60Version()
return cachedS60Version = SV_S60_3_2;
# elif defined(__S60_50__)
return cachedS60Version = SV_S60_5_0;
-# else
- return cachedS60Version = SV_S60_Unknown;
# endif
-# else
- return cachedS60Version = SV_S60_Unknown;
# endif
+ //If reaching here, it was not possible to determine the version
+ return cachedS60Version = SV_S60_Unknown;
}
QSysInfo::SymbianVersion QSysInfo::symbianVersion()
{
@@ -1843,6 +1853,10 @@ QSysInfo::SymbianVersion QSysInfo::symbianVersion()
return SV_9_3;
case SV_S60_5_0:
return SV_9_4;
+ case SV_S60_5_1:
+ return SV_9_4;
+ case SV_S60_5_2:
+ return SV_9_4;
default:
return SV_Unknown;
}
@@ -2518,10 +2532,19 @@ Q_GLOBAL_STATIC(SeedStorage, randTLS) // Thread Local Storage for seed value
void qsrand(uint seed)
{
#if defined(Q_OS_UNIX) && !defined(QT_NO_THREAD) && !defined(Q_OS_SYMBIAN)
- SeedStorageType *pseed = randTLS()->localData();
- if (!pseed)
- randTLS()->setLocalData(pseed = new SeedStorageType);
- *pseed = seed;
+ SeedStorage *seedStorage = randTLS();
+ if (seedStorage) {
+ SeedStorageType *pseed = seedStorage->localData();
+ if (!pseed)
+ seedStorage->setLocalData(pseed = new SeedStorageType);
+ *pseed = seed;
+ } else {
+ //golbal static seed storage should always exist,
+ //except after being deleted by QGlobalStaticDeleter.
+ //But since it still can be called from destructor of another
+ //global static object, fallback to sqrand(seed)
+ srand(seed);
+ }
#else
// On Windows srand() and rand() already use Thread-Local-Storage
// to store the seed between calls
@@ -2541,21 +2564,24 @@ void qsrand(uint seed)
void qsrand()
{
#if (defined(Q_OS_UNIX) || defined(Q_OS_WIN)) && !defined(QT_NO_THREAD) && !defined(Q_OS_SYMBIAN)
- SeedStorageType *pseed = randTLS()->localData();
- if (pseed) {
- // already seeded
- return;
- }
- randTLS()->setLocalData(pseed = new SeedStorageType);
- // start beyond 1 to avoid the sequence reset
- static QBasicAtomicInt serial = Q_BASIC_ATOMIC_INITIALIZER(2);
- *pseed = QDateTime::currentDateTime().toTime_t()
- + quintptr(&pseed)
- + serial.fetchAndAddRelaxed(1);
+ SeedStorage *seedStorage = randTLS();
+ if (seedStorage) {
+ SeedStorageType *pseed = seedStorage->localData();
+ if (pseed) {
+ // already seeded
+ return;
+ }
+ seedStorage->setLocalData(pseed = new SeedStorageType);
+ // start beyond 1 to avoid the sequence reset
+ static QBasicAtomicInt serial = Q_BASIC_ATOMIC_INITIALIZER(2);
+ *pseed = QDateTime::currentDateTime().toTime_t()
+ + quintptr(&pseed)
+ + serial.fetchAndAddRelaxed(1);
#if defined(Q_OS_WIN)
- // for Windows the srand function must still be called.
- srand(*pseed);
+ // for Windows the srand function must still be called.
+ srand(*pseed);
#endif
+ }
#elif defined(Q_OS_WIN)
static unsigned int seed = 0;
@@ -2565,7 +2591,7 @@ void qsrand()
seed = GetTickCount();
srand(seed);
-#else
+#else
// Symbian?
#endif // defined(Q_OS_UNIX) || defined(Q_OS_WIN)) && !defined(QT_NO_THREAD) && !defined(Q_OS_SYMBIAN)
@@ -2589,12 +2615,21 @@ void qsrand()
int qrand()
{
#if defined(Q_OS_UNIX) && !defined(QT_NO_THREAD) && !defined(Q_OS_SYMBIAN)
- SeedStorageType *pseed = randTLS()->localData();
- if (!pseed) {
- randTLS()->setLocalData(pseed = new SeedStorageType);
- *pseed = 1;
+ SeedStorage *seedStorage = randTLS();
+ if (seedStorage) {
+ SeedStorageType *pseed = seedStorage->localData();
+ if (!pseed) {
+ seedStorage->setLocalData(pseed = new SeedStorageType);
+ *pseed = 1;
+ }
+ return rand_r(pseed);
+ } else {
+ //golbal static seed storage should always exist,
+ //except after being deleted by QGlobalStaticDeleter.
+ //But since it still can be called from destructor of another
+ //global static object, fallback to qrand()
+ return rand();
}
- return rand_r(pseed);
#else
// On Windows srand() and rand() already use Thread-Local-Storage
// to store the seed between calls
diff --git a/src/corelib/global/qglobal.h b/src/corelib/global/qglobal.h
index df17546..d113e02 100644
--- a/src/corelib/global/qglobal.h
+++ b/src/corelib/global/qglobal.h
@@ -466,7 +466,7 @@ namespace QT_NAMESPACE {}
# define Q_NO_USING_KEYWORD
# define QT_NO_STL_WCHAR
# endif
-# if __GNUC__ >= 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 95)
+# if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 95)
# define Q_ALIGNOF(type) __alignof__(type)
# define Q_TYPEOF(expr) __typeof__(expr)
# define Q_DECL_ALIGN(n) __attribute__((__aligned__(n)))
@@ -1207,6 +1207,11 @@ class QDataStream;
# else
# define Q_SVG_EXPORT Q_DECL_IMPORT
# endif
+# if defined(QT_BUILD_DECLARATIVE_LIB)
+# define Q_DECLARATIVE_EXPORT Q_DECL_EXPORT
+# else
+# define Q_DECLARATIVE_EXPORT Q_DECL_IMPORT
+# endif
# if defined(QT_BUILD_OPENGL_LIB)
# define Q_OPENGL_EXPORT Q_DECL_EXPORT
# else
@@ -1259,6 +1264,7 @@ class QDataStream;
# define Q_SQL_EXPORT Q_DECL_IMPORT
# define Q_NETWORK_EXPORT Q_DECL_IMPORT
# define Q_SVG_EXPORT Q_DECL_IMPORT
+# define Q_DECLARATIVE_EXPORT Q_DECL_IMPORT
# define Q_CANVAS_EXPORT Q_DECL_IMPORT
# define Q_OPENGL_EXPORT Q_DECL_IMPORT
# define Q_MULTIMEDIA_EXPORT Q_DECL_IMPORT
@@ -1287,6 +1293,7 @@ class QDataStream;
# define Q_SQL_EXPORT Q_DECL_EXPORT
# define Q_NETWORK_EXPORT Q_DECL_EXPORT
# define Q_SVG_EXPORT Q_DECL_EXPORT
+# define Q_DECLARATIVE_EXPORT Q_DECL_EXPORT
# define Q_OPENGL_EXPORT Q_DECL_EXPORT
# define Q_MULTIMEDIA_EXPORT Q_DECL_EXPORT
# define Q_OPENVG_EXPORT Q_DECL_EXPORT
@@ -1301,6 +1308,7 @@ class QDataStream;
# define Q_SQL_EXPORT
# define Q_NETWORK_EXPORT
# define Q_SVG_EXPORT
+# define Q_DECLARATIVE_EXPORT
# define Q_OPENGL_EXPORT
# define Q_MULTIMEDIA_EXPORT
# define Q_XML_EXPORT
@@ -1478,17 +1486,26 @@ public:
#ifdef Q_OS_SYMBIAN
enum SymbianVersion {
SV_Unknown = 0x0000,
+ //These are the Symbian Ltd versions 9.2-9.4
SV_9_2 = 10,
SV_9_3 = 20,
- SV_9_4 = 30
+ SV_9_4 = 30,
+ //Following values are the symbian foundation versions, i.e. Symbian^1 == SV_SF_1
+ SV_SF_1 = SV_9_4,
+ SV_SF_2 = 40,
+ SV_SF_3 = 50,
+ SV_SF_4 = 60
};
static SymbianVersion symbianVersion();
enum S60Version {
SV_S60_None = 0,
SV_S60_Unknown = 1,
- SV_S60_3_1 = 10,
- SV_S60_3_2 = 20,
- SV_S60_5_0 = 30
+ SV_S60_3_1 = SV_9_2,
+ SV_S60_3_2 = SV_9_3,
+ SV_S60_5_0 = SV_9_4,
+ //versions beyond 5.0 are to be confirmed - it is better to use symbian version
+ SV_S60_5_1 = SV_SF_2,
+ SV_S60_5_2 = SV_SF_3
};
static S60Version s60Version();
#endif
@@ -2065,6 +2082,9 @@ Q_DECLARE_TYPEINFO(long double, Q_PRIMITIVE_TYPE);
Q_CORE_EXPORT void *qMalloc(size_t size);
Q_CORE_EXPORT void qFree(void *ptr);
Q_CORE_EXPORT void *qRealloc(void *ptr, size_t size);
+Q_CORE_EXPORT void *qMallocAligned(size_t size, size_t alignment);
+Q_CORE_EXPORT void *qReallocAligned(void *ptr, size_t size, size_t oldsize, size_t alignment);
+Q_CORE_EXPORT void qFreeAligned(void *ptr);
Q_CORE_EXPORT void *qMemCopy(void *dest, const void *src, size_t n);
Q_CORE_EXPORT void *qMemSet(void *dest, int c, size_t n);
@@ -2459,6 +2479,7 @@ Q_CORE_EXPORT int qt_symbian_exception2Error(const std::exception& ex);
#define QT_MODULE_SCRIPTTOOLS 0x10000
#define QT_MODULE_OPENVG 0x20000
#define QT_MODULE_MULTIMEDIA 0x40000
+#define QT_MODULE_DECLARATIVE 0x80000
/* Qt editions */
#define QT_EDITION_CONSOLE (QT_MODULE_CORE \
@@ -2489,6 +2510,7 @@ Q_CORE_EXPORT int qt_symbian_exception2Error(const std::exception& ex);
| QT_MODULE_QT3SUPPORTLIGHT \
| QT_MODULE_QT3SUPPORT \
| QT_MODULE_SVG \
+ | QT_MODULE_DECLARATIVE \
| QT_MODULE_GRAPHICSVIEW \
| QT_MODULE_HELP \
| QT_MODULE_TEST \
@@ -2560,6 +2582,9 @@ QT_LICENSED_MODULE(Qt3Support)
#if (QT_EDITION & QT_MODULE_SVG)
QT_LICENSED_MODULE(Svg)
#endif
+#if (QT_EDITION & QT_MODULE_DECLARATIVE)
+QT_LICENSED_MODULE(Declarative)
+#endif
#if (QT_EDITION & QT_MODULE_ACTIVEQT)
QT_LICENSED_MODULE(ActiveQt)
#endif
diff --git a/src/corelib/global/qlibraryinfo.cpp b/src/corelib/global/qlibraryinfo.cpp
index e227403..15a06d7 100644
--- a/src/corelib/global/qlibraryinfo.cpp
+++ b/src/corelib/global/qlibraryinfo.cpp
@@ -208,6 +208,17 @@ QLibraryInfo::buildKey()
}
/*!
+ \since 4.6
+ Returns the installation date for this build of Qt. The install date will
+ usually be the last time that Qt sources were configured.
+*/
+QDate
+QLibraryInfo::buildDate()
+{
+ return QDate::fromString(QString::fromLatin1(qt_configure_installation + 12), Qt::ISODate);
+}
+
+/*!
Returns the location specified by \a loc.
*/
@@ -481,12 +492,20 @@ void qt_core_boilerplate()
"Contact: Nokia Corporation (qt-info@nokia.com)\n"
"\n"
"Build key: " QT_BUILD_KEY "\n"
+ "Build date: %s\n"
"Installation prefix: %s\n"
"Library path: %s\n"
"Include path: %s\n",
+ qt_configure_installation + 12,
qt_configure_prefix_path_str + 12,
qt_configure_libraries_path_str + 12,
qt_configure_headers_path_str + 12);
+
+#ifdef QT_EVAL
+ extern void qt_core_eval_init(uint);
+ qt_core_eval_init(1);
+#endif
+
exit(0);
}
diff --git a/src/corelib/global/qlibraryinfo.h b/src/corelib/global/qlibraryinfo.h
index 3195777..88e8566 100644
--- a/src/corelib/global/qlibraryinfo.h
+++ b/src/corelib/global/qlibraryinfo.h
@@ -43,6 +43,7 @@
#define QLIBRARYINFO_H
#include <QtCore/qstring.h>
+#include <QtCore/QDate>
QT_BEGIN_HEADER
@@ -59,6 +60,7 @@ public:
static QString licensedProducts();
static QString buildKey();
+ static QDate buildDate();
enum LibraryLocation
{
diff --git a/src/corelib/global/qmalloc.cpp b/src/corelib/global/qmalloc.cpp
index a9f103c..4aab1bd 100644
--- a/src/corelib/global/qmalloc.cpp
+++ b/src/corelib/global/qmalloc.cpp
@@ -65,4 +65,62 @@ void *qRealloc(void *ptr, size_t size)
return ::realloc(ptr, size);
}
+void *qMallocAligned(size_t size, size_t alignment)
+{
+ return qReallocAligned(0, size, 0, alignment);
+}
+
+void *qReallocAligned(void *oldptr, size_t newsize, size_t oldsize, size_t alignment)
+{
+ // fake an aligned allocation
+ Q_UNUSED(oldsize);
+
+ void *actualptr = oldptr ? static_cast<void **>(oldptr)[-1] : 0;
+ if (alignment <= sizeof(void*)) {
+ // special, fast case
+ void **newptr = static_cast<void **>(qRealloc(actualptr, newsize + sizeof(void*)));
+ if (!newptr)
+ return 0;
+ if (newptr == actualptr) {
+ // realloc succeeded without reallocating
+ return oldptr;
+ }
+
+ *newptr = newptr;
+ return newptr + 1;
+ }
+
+ union { void *ptr; void **pptr; quintptr n; } real, faked;
+
+ // qMalloc returns pointers aligned at least at sizeof(size_t) boundaries
+ // but usually more (8- or 16-byte boundaries).
+ // So we overallocate by alignment-sizeof(size_t) bytes, so we're guaranteed to find a
+ // somewhere within the first alignment-sizeof(size_t) that is properly aligned.
+
+ // However, we need to store the actual pointer, so we need to allocate actually size +
+ // alignment anyway.
+
+ real.ptr = qRealloc(actualptr, newsize + alignment);
+ if (!real.ptr)
+ return 0;
+
+ faked.n = real.n + alignment;
+ faked.n &= ~(alignment - 1);
+
+ // now save the value of the real pointer at faked-sizeof(void*)
+ // by construction, alignment > sizeof(void*) and is a power of 2, so
+ // faked-sizeof(void*) is properly aligned for a pointer
+ faked.pptr[-1] = real.ptr;
+
+ return faked.ptr;
+}
+
+void qFreeAligned(void *ptr)
+{
+ if (!ptr)
+ return;
+ void **ptr2 = static_cast<void **>(ptr);
+ free(ptr2[-1]);
+}
+
QT_END_NAMESPACE
diff --git a/src/corelib/global/qnamespace.h b/src/corelib/global/qnamespace.h
index 2b62c6b..0ee9cd2 100644
--- a/src/corelib/global/qnamespace.h
+++ b/src/corelib/global/qnamespace.h
@@ -909,12 +909,10 @@ public:
Key_Dead_Horn = 0x01001262,
// multimedia/internet keys - ignored by default - see QKeyEvent c'tor
-
Key_Back = 0x01000061,
Key_Forward = 0x01000062,
Key_Stop = 0x01000063,
Key_Refresh = 0x01000064,
-
Key_VolumeDown = 0x01000070,
Key_VolumeMute = 0x01000071,
Key_VolumeUp = 0x01000072,
@@ -923,7 +921,6 @@ public:
Key_BassDown = 0x01000075,
Key_TrebleUp = 0x01000076,
Key_TrebleDown = 0x01000077,
-
Key_MediaPlay = 0x01000080,
Key_MediaStop = 0x01000081,
Key_MediaPrevious = 0x01000082,
@@ -932,13 +929,11 @@ public:
#endif
Key_MediaNext = 0x01000083,
Key_MediaRecord = 0x01000084,
-
Key_HomePage = 0x01000090,
Key_Favorites = 0x01000091,
Key_Search = 0x01000092,
Key_Standby = 0x01000093,
Key_OpenUrl = 0x01000094,
-
Key_LaunchMail = 0x010000a0,
Key_LaunchMedia = 0x010000a1,
Key_Launch0 = 0x010000a2,
@@ -957,6 +952,98 @@ public:
Key_LaunchD = 0x010000af,
Key_LaunchE = 0x010000b0,
Key_LaunchF = 0x010000b1,
+ Key_MonBrightnessUp = 0x010000b2,
+ Key_MonBrightnessDown = 0x010000b3,
+ Key_KeyboardLightOnOff = 0x010000b4,
+ Key_KeyboardBrightnessUp = 0x010000b5,
+ Key_KeyboardBrightnessDown = 0x010000b6,
+ Key_PowerOff = 0x010000b7,
+ Key_WakeUp = 0x010000b8,
+ Key_Eject = 0x010000b9,
+ Key_ScreenSaver = 0x010000ba,
+ Key_WWW = 0x010000bb,
+ Key_Memo = 0x010000bc,
+ Key_LightBulb = 0x010000bd,
+ Key_Shop = 0x010000be,
+ Key_History = 0x010000bf,
+ Key_AddFavorite = 0x010000c0,
+ Key_HotLinks = 0x010000c1,
+ Key_BrightnessAdjust = 0x010000c2,
+ Key_Finance = 0x010000c3,
+ Key_Community = 0x010000c4,
+ Key_AudioRewind = 0x010000c5,
+ Key_BackForward = 0x010000c6,
+ Key_ApplicationLeft = 0x010000c7,
+ Key_ApplicationRight = 0x010000c8,
+ Key_Book = 0x010000c9,
+ Key_CD = 0x010000ca,
+ Key_Calculator = 0x010000cb,
+ Key_ToDoList = 0x010000cc,
+ Key_ClearGrab = 0x010000cd,
+ Key_Close = 0x010000ce,
+ Key_Copy = 0x010000cf,
+ Key_Cut = 0x010000d0,
+ Key_Display = 0x010000d1,
+ Key_DOS = 0x010000d2,
+ Key_Documents = 0x010000d3,
+ Key_Excel = 0x010000d4,
+ Key_Explorer = 0x010000d5,
+ Key_Game = 0x010000d6,
+ Key_Go = 0x010000d7,
+ Key_iTouch = 0x010000d8,
+ Key_LogOff = 0x010000d9,
+ Key_Market = 0x010000da,
+ Key_Meeting = 0x010000db,
+ Key_MenuKB = 0x010000dc,
+ Key_MenuPB = 0x010000dd,
+ Key_MySites = 0x010000de,
+ Key_News = 0x010000df,
+ Key_OfficeHome = 0x010000e0,
+ Key_Option = 0x010000e1,
+ Key_Paste = 0x010000e2,
+ Key_Phone = 0x010000e3,
+ Key_Calendar = 0x010000e4,
+ Key_Reply = 0x010000e5,
+ Key_Reload = 0x010000e6,
+ Key_RotateWindows = 0x010000e7,
+ Key_RotationPB = 0x010000e8,
+ Key_RotationKB = 0x010000e9,
+ Key_Save = 0x010000ea,
+ Key_Send = 0x010000eb,
+ Key_Spell = 0x010000ec,
+ Key_SplitScreen = 0x010000ed,
+ Key_Support = 0x010000ee,
+ Key_TaskPane = 0x010000ef,
+ Key_Terminal = 0x010000f0,
+ Key_Tools = 0x010000f1,
+ Key_Travel = 0x010000f2,
+ Key_Video = 0x010000f3,
+ Key_Word = 0x010000f4,
+ Key_Xfer = 0x010000f5,
+ Key_ZoomIn = 0x010000f6,
+ Key_ZoomOut = 0x010000f7,
+ Key_Away = 0x010000f8,
+ Key_Messenger = 0x010000f9,
+ Key_WebCam = 0x010000fa,
+ Key_MailForward = 0x010000fb,
+ Key_Pictures = 0x010000fc,
+ Key_Music = 0x010000fd,
+ Key_Battery = 0x010000fe,
+ Key_Bluetooth = 0x010000ff,
+ Key_WLAN = 0x01000100,
+ Key_UWB = 0x01000101,
+ Key_AudioForward = 0x01000102,
+ Key_AudioRepeat = 0x01000103,
+ Key_AudioRandomPlay = 0x01000104,
+ Key_Subtitle = 0x01000105,
+ Key_AudioCycleTrack = 0x01000106,
+ Key_Time = 0x01000107,
+ Key_Hibernate = 0x01000108,
+ Key_View = 0x01000109,
+ Key_TopMenu = 0x0100010a,
+ Key_PowerDown = 0x0100010b,
+ Key_Suspend = 0x0100010c,
+ Key_ContrastAdjust = 0x0100010d,
Key_MediaLast = 0x0100ffff,
@@ -1628,14 +1715,12 @@ public:
LastGestureType = ~0u
};
- enum GestureContext
+ enum GestureFlag
{
- WidgetGesture = 0,
- WidgetWithChildrenGesture = 3,
-
- ItemGesture = WidgetGesture,
- ItemWithChildrenGesture = WidgetWithChildrenGesture
+ DontStartGestureOnChildren = 0x01,
+ ReceivePartialGestures = 0x02
};
+ Q_DECLARE_FLAGS(GestureFlags, GestureFlag)
enum NavigationMode
{
@@ -1645,11 +1730,6 @@ public:
NavigationModeCursorAuto,
NavigationModeCursorForceVisible
};
-
- enum RenderHint {
- QualityHint,
- PerformanceHint
- };
}
#ifdef Q_MOC_RUN
;
@@ -1670,6 +1750,7 @@ Q_DECLARE_OPERATORS_FOR_FLAGS(Qt::MatchFlags)
Q_DECLARE_OPERATORS_FOR_FLAGS(Qt::TextInteractionFlags)
Q_DECLARE_OPERATORS_FOR_FLAGS(Qt::InputMethodHints)
Q_DECLARE_OPERATORS_FOR_FLAGS(Qt::TouchPointStates)
+Q_DECLARE_OPERATORS_FOR_FLAGS(Qt::GestureFlags)
typedef bool (*qInternalCallback)(void **);
diff --git a/src/corelib/global/qnamespace.qdoc b/src/corelib/global/qnamespace.qdoc
index e8d6df0..5ac3675 100644
--- a/src/corelib/global/qnamespace.qdoc
+++ b/src/corelib/global/qnamespace.qdoc
@@ -1609,6 +1609,98 @@
\value Key_LaunchD
\value Key_LaunchE
\value Key_LaunchF
+ \value Key_MonBrightnessUp
+ \value Key_MonBrightnessDown
+ \value Key_KeyboardLightOnOff
+ \value Key_KeyboardBrightnessUp
+ \value Key_KeyboardBrightnessDown
+ \value Key_PowerOff
+ \value Key_WakeUp
+ \value Key_Eject
+ \value Key_ScreenSaver
+ \value Key_WWW
+ \value Key_Memo
+ \value Key_LightBulb
+ \value Key_Shop
+ \value Key_History
+ \value Key_AddFavorite
+ \value Key_HotLinks
+ \value Key_BrightnessAdjust
+ \value Key_Finance
+ \value Key_Community
+ \value Key_AudioRewind
+ \value Key_BackForward
+ \value Key_ApplicationLeft
+ \value Key_ApplicationRight
+ \value Key_Book
+ \value Key_CD
+ \value Key_Calculator
+ \value Key_ToDoList
+ \value Key_ClearGrab
+ \value Key_Close
+ \value Key_Copy
+ \value Key_Cut
+ \value Key_Display
+ \value Key_DOS
+ \value Key_Documents
+ \value Key_Excel
+ \value Key_Explorer
+ \value Key_Game
+ \value Key_Go
+ \value Key_iTouch
+ \value Key_LogOff
+ \value Key_Market
+ \value Key_Meeting
+ \value Key_MenuKB
+ \value Key_MenuPB
+ \value Key_MySites
+ \value Key_News
+ \value Key_OfficeHome
+ \value Key_Option
+ \value Key_Paste
+ \value Key_Phone
+ \value Key_Calendar
+ \value Key_Reply
+ \value Key_Reload
+ \value Key_RotateWindows
+ \value Key_RotationPB
+ \value Key_RotationKB
+ \value Key_Save
+ \value Key_Send
+ \value Key_Spell
+ \value Key_SplitScreen
+ \value Key_Support
+ \value Key_TaskPane
+ \value Key_Terminal
+ \value Key_Tools
+ \value Key_Travel
+ \value Key_Video
+ \value Key_Word
+ \value Key_Xfer
+ \value Key_ZoomIn
+ \value Key_ZoomOut
+ \value Key_Away
+ \value Key_Messenger
+ \value Key_WebCam
+ \value Key_MailForward
+ \value Key_Pictures
+ \value Key_Music
+ \value Key_Battery
+ \value Key_Bluetooth
+ \value Key_WLAN
+ \value Key_UWB
+ \value Key_AudioForward
+ \value Key_AudioRepeat
+ \value Key_AudioRandomPlay
+ \value Key_Subtitle
+ \value Key_AudioCycleTrack
+ \value Key_Time
+ \value Key_Hibernate
+ \value Key_View
+ \value Key_TopMenu
+ \value Key_PowerDown
+ \value Key_Suspend
+ \value Key_ContrastAdjust
\value Key_MediaLast
\value Key_unknown
@@ -2509,7 +2601,7 @@
\value DisplayRole The key data to be rendered in the form of text. (QString)
\value DecorationRole The data to be rendered as a decoration in the form
- of an icon. (QColor)
+ of an icon. (QColor, QIcon or QPixmap)
\value EditRole The data in a form suitable for editing in an
editor. (QString)
\value ToolTipRole The data displayed in the item's tooltip. (QString)
@@ -2818,31 +2910,36 @@
\value PanGesture A Pan gesture.
\value PinchGesture A Pinch gesture.
\value SwipeGesture A Swipe gesture.
- \value CustomGesture User-defined gesture ID.
- \value LastGestureType Last user gesture ID.
+ \value CustomGesture A flag that can be used to test if the gesture is a
+ user-defined gesture ID.
+ \omitvalue LastGestureType
User-defined gestures are registered with the
- QApplication::registerGestureRecognizer() function which generates a custom gesture ID
- in the range of values from CustomGesture to LastGestureType.
+ QGestureRecognizer::registerRecognizer() function which generates a custom
+ gesture ID with the Qt::CustomGesture flag set.
- \sa QGesture, QWidget::grabGesture()
+ \sa QGesture, QWidget::grabGesture(), QGraphicsObject::grabGesture()
*/
/*!
- \enum Qt::GestureContext
+ \enum Qt::GestureFlag
\since 4.6
- This enum type describes the context of a gesture.
+ This enum type describes additional flags that can be used when subscribing
+ to a gesture.
- For a QGesture to trigger, the gesture recognizer should filter events for
- a widget tree. This enum describes for which widget the gesture recognizer
- should filter events:
+ \value DontStartGestureOnChildren By default gestures can start on the
+ widget or over any of its children. Use this flag to disable this and allow
+ a gesture to start on the widget only.
- \value WidgetGesture Gestures can only start over the widget itself.
- \value WidgetWithChildrenGesture Gestures can start on the widget or over
- any of its children.
+ \value ReceivePartialGestures Allows any ignored gesture events to be
+ propagated to parent widgets which have specified this hint. By default
+ only gestures that are in the Qt::GestureStarted state are propagated and
+ the widget always gets the full gesture sequence starting with a gesture in
+ the Qt::GestureStarted state and ending with a gesture in the
+ Qt::GestureFinished or Qt::GestureCanceled states.
- \sa QWidget::grabGesture()
+ \sa QWidget::grabGesture(), QGraphicsObject::grabGesture()
*/
/*!
@@ -2870,18 +2967,3 @@
\sa QApplication::setNavigationMode()
\sa QApplication::navigationMode()
*/
-
-/*!
- \enum Qt::RenderHint
- \since 4.6
-
- This enum describes the possible hints that can be used to control various
- rendering operations.
-
- \value QualityHint Indicates that rendering quality is the most important factor,
- at the potential cost of lower performance.
-
- \value PerformanceHint Indicates that rendering performance is the most important factor,
- at the potential cost of lower quality.
-*/
-
diff --git a/src/corelib/io/qfile.cpp b/src/corelib/io/qfile.cpp
index 134c4b8..c9b2603 100644
--- a/src/corelib/io/qfile.cpp
+++ b/src/corelib/io/qfile.cpp
@@ -1020,14 +1020,15 @@ bool QFile::open(OpenMode mode)
\bold{Warning:}
\list 1
- \o If \a fh is \c stdin, \c stdout, or \c stderr, you may not be able
- to seek(). See QIODevice::isSequential() for more information.
+ \o If \a fh does not refer to a regular file, e.g., it is \c stdin,
+ \c stdout, or \c stderr, you may not be able to seek(). size()
+ returns \c 0 in those cases. See QIODevice::isSequential() for
+ more information.
\o Since this function opens the file without specifying the file name,
you cannot use this QFile with a QFileInfo.
\endlist
- \note For Windows CE you may not be able to call seek() and resize().
- Also, size() is set to \c 0.
+ \note For Windows CE you may not be able to call resize().
\sa close(), {qmake Variable Reference#CONFIG}{qmake Variable Reference}
@@ -1064,7 +1065,7 @@ bool QFile::open(FILE *fh, OpenMode mode)
if (mode & Append) {
seek(size());
} else {
- long pos = ftell(fh);
+ qint64 pos = (qint64)QT_FTELL(fh);
if (pos != -1)
seek(pos);
}
@@ -1081,7 +1082,7 @@ bool QFile::open(FILE *fh, OpenMode mode)
/*!
\overload
- Opens the existing file descripter \a fd in the given \a mode.
+ Opens the existing file descriptor \a fd in the given \a mode.
Returns true if successful; otherwise returns false.
When a QFile is opened using this function, close() does not
@@ -1092,12 +1093,13 @@ bool QFile::open(FILE *fh, OpenMode mode)
are slow. If you run into performance issues, you should try to
use one of the other open functions.
- \warning If \a fd is 0 (\c stdin), 1 (\c stdout), or 2 (\c
- stderr), you may not be able to seek(). size() is set to \c
- LLONG_MAX (in \c <climits>).
+ \warning If \a fd is not a regular file, e.g, it is 0 (\c stdin),
+ 1 (\c stdout), or 2 (\c stderr), you may not be able to seek(). In
+ those cases, size() returns \c 0. See QIODevice::isSequential()
+ for more information.
\warning For Windows CE you may not be able to call seek(), setSize(),
- fileTime(). size() is set to \c 0.
+ fileTime(). size() returns \c 0.
\warning Since this function opens the file without specifying the file name,
you cannot use this QFile with a QFileInfo.
@@ -1120,8 +1122,13 @@ bool QFile::open(int fd, OpenMode mode)
}
if(d->openExternalFile(mode, fd)) {
QIODevice::open(mode);
- if (mode & Append)
+ if (mode & Append) {
seek(size());
+ } else {
+ qint64 pos = (qint64)QT_LSEEK(fd, QT_OFF_T(0), SEEK_CUR);
+ if (pos != -1)
+ seek(pos);
+ }
return true;
}
return false;
diff --git a/src/corelib/io/qfsfileengine.cpp b/src/corelib/io/qfsfileengine.cpp
index fb096a7..d376dc7 100644
--- a/src/corelib/io/qfsfileengine.cpp
+++ b/src/corelib/io/qfsfileengine.cpp
@@ -76,6 +76,16 @@ QT_BEGIN_NAMESPACE
# endif
#endif
+#ifdef Q_OS_SYMBIAN
+ // Using default 4k block in symbian is highly inefficient due to
+ // the fact that each file operation requires slow IPC calls, so
+ // use somewhat larger block size.
+# define FDFH_BLOCK_SIZE 16384
+#else
+ // Read/write in blocks of 4k to avoid platform limitations (Windows
+ // commonly bails out if you read or write too large blocks at once).
+# define FDFH_BLOCK_SIZE 4096
+#endif
/*! \class QFSFileEngine
\brief The QFSFileEngine class implements Qt's default file engine.
@@ -122,11 +132,9 @@ void QFSFileEnginePrivate::init()
#ifdef Q_OS_WIN
fileAttrib = INVALID_FILE_ATTRIBUTES;
fileHandle = INVALID_HANDLE_VALUE;
+ mapHandle = INVALID_HANDLE_VALUE;
cachedFd = -1;
#endif
-#ifdef Q_USE_DEPRECATED_MAP_API
- fileMapHandle = INVALID_HANDLE_VALUE;
-#endif
}
/*!
@@ -160,11 +168,11 @@ QString QFSFileEnginePrivate::canonicalized(const QString &path)
if (
#ifdef Q_OS_SYMBIAN
// Symbian doesn't support directory symlinks, so do not check for link unless we
- // are handling the last path element. This not only slightly improves performance,
+ // are handling the last path element. This not only slightly improves performance,
// but also saves us from lot of unnecessary platform security check failures
// when dealing with files under *:/private directories.
separatorPos == -1 &&
-#endif
+#endif
!nonSymlinks.contains(prefix)) {
fi.setFile(prefix);
if (fi.isSymLink()) {
@@ -319,9 +327,9 @@ bool QFSFileEnginePrivate::openFh(QIODevice::OpenMode openMode, FILE *fh)
int ret;
do {
ret = QT_FSEEK(fh, 0, SEEK_END);
- } while (ret == -1 && errno == EINTR);
+ } while (ret != 0 && errno == EINTR);
- if (ret == -1) {
+ if (ret != 0) {
q->setError(errno == EMFILE ? QFile::ResourceError : QFile::OpenError,
qt_error_string(int(errno)));
@@ -566,20 +574,23 @@ bool QFSFileEnginePrivate::seekFdFh(qint64 pos)
if (lastIOCommand != QFSFileEnginePrivate::IOFlushCommand && !q->flush())
return false;
+ if (pos < 0 || pos != qint64(QT_OFF_T(pos)))
+ return false;
+
if (fh) {
// Buffered stdlib mode.
int ret;
do {
ret = QT_FSEEK(fh, QT_OFF_T(pos), SEEK_SET);
- } while (ret == -1 && errno == EINTR);
+ } while (ret != 0 && errno == EINTR);
- if (ret == -1) {
+ if (ret != 0) {
q->setError(QFile::ReadError, qt_error_string(int(errno)));
return false;
}
} else {
// Unbuffered stdio mode.
- if (QT_LSEEK(fd, pos, SEEK_SET) == -1) {
+ if (QT_LSEEK(fd, QT_OFF_T(pos), SEEK_SET) == -1) {
qWarning() << "QFile::at: Cannot set file position" << pos;
q->setError(QFile::PositionError, qt_error_string(errno));
return false;
@@ -628,14 +639,12 @@ qint64 QFSFileEnginePrivate::readFdFh(char *data, qint64 len)
qint64 read = 0;
int retry = 0;
- // Read in blocks of 4k to avoid platform limitations (Windows
- // commonly bails out if you read or write too large blocks at once).
qint64 bytesToRead;
do {
if (retry == 1)
retry = 2;
- bytesToRead = qMin<qint64>(4096, len - read);
+ bytesToRead = qMin<qint64>(FDFH_BLOCK_SIZE, len - read);
do {
readBytes = fread(data + read, 1, size_t(bytesToRead), fh);
} while (readBytes == 0 && !feof(fh) && errno == EINTR);
@@ -666,10 +675,8 @@ qint64 QFSFileEnginePrivate::readFdFh(char *data, qint64 len)
qint64 read = 0;
errno = 0;
- // Read in blocks of 4k to avoid platform limitations (Windows
- // commonly bails out if you read or write too large blocks at once).
do {
- qint64 bytesToRead = qMin<qint64>(4096, len - read);
+ qint64 bytesToRead = qMin<qint64>(FDFH_BLOCK_SIZE, len - read);
do {
result = QT_READ(fd, data + read, int(bytesToRead));
} while (result == -1 && errno == EINTR);
@@ -770,9 +777,7 @@ qint64 QFSFileEnginePrivate::writeFdFh(const char *data, qint64 len)
qint64 written = 0;
do {
- // Write blocks of 4k to avoid platform limitations (Windows commonly
- // bails out if you read or write too large blocks at once).
- qint64 bytesToWrite = qMin<qint64>(4096, len - written);
+ qint64 bytesToWrite = qMin<qint64>(FDFH_BLOCK_SIZE, len - written);
if (fh) {
do {
// Buffered stdlib mode.
@@ -903,7 +908,7 @@ bool QFSFileEngine::supportsExtension(Extension extension) const
/*! \fn QString QFSFileEngine::currentPath(const QString &fileName)
For Unix, returns the current working directory for the file
engine.
-
+
For Windows, returns the canonicalized form of the current path used
by the file engine for the drive specified by \a fileName. On
Windows, each drive has its own current directory, so a different
diff --git a/src/corelib/io/qfsfileengine_p.h b/src/corelib/io/qfsfileengine_p.h
index 66e0219..87f0737 100644
--- a/src/corelib/io/qfsfileengine_p.h
+++ b/src/corelib/io/qfsfileengine_p.h
@@ -110,20 +110,16 @@ public:
FILE *fh;
#ifdef Q_WS_WIN
HANDLE fileHandle;
- QHash<uchar *, QPair<int /*offset*/, HANDLE /*handle*/> > maps;
+ HANDLE mapHandle;
+ QHash<uchar *, DWORD /* offset % AllocationGranularity */> maps;
mutable int cachedFd;
mutable DWORD fileAttrib;
#else
- QHash<uchar *, QPair<int /*offset*/, int /*handle|len*/> > maps;
+ QHash<uchar *, QPair<int /*offset % PageSize*/, size_t /*length + offset % PageSize*/> > maps;
mutable QT_STATBUF st;
#endif
int fd;
-#ifdef Q_USE_DEPRECATED_MAP_API
- void mapHandleClose();
- HANDLE fileMapHandle;
-#endif
-
enum LastIOCommand
{
IOFlushCommand,
diff --git a/src/corelib/io/qfsfileengine_unix.cpp b/src/corelib/io/qfsfileengine_unix.cpp
index 20b05b4..08b459d 100644
--- a/src/corelib/io/qfsfileengine_unix.cpp
+++ b/src/corelib/io/qfsfileengine_unix.cpp
@@ -1243,34 +1243,51 @@ uchar *QFSFileEnginePrivate::map(qint64 offset, qint64 size, QFile::MemoryMapFla
q->setError(QFile::PermissionsError, qt_error_string(int(EACCES)));
return 0;
}
- if (offset < 0) {
+
+ if (offset < 0 || offset != qint64(QT_OFF_T(offset))
+ || size < 0 || size > (size_t)-1) {
q->setError(QFile::UnspecifiedError, qt_error_string(int(EINVAL)));
return 0;
}
+
+ // If we know the mapping will extend beyond EOF, fail early to avoid
+ // undefined behavior. Otherwise, let mmap have its say.
+ if (doStat()
+ && (QT_OFF_T(size) > st.st_size - QT_OFF_T(offset)))
+ return 0;
+
int access = 0;
if (openMode & QIODevice::ReadOnly) access |= PROT_READ;
if (openMode & QIODevice::WriteOnly) access |= PROT_WRITE;
- int pagesSize = getpagesize();
- int realOffset = offset / pagesSize;
- int extra = offset % pagesSize;
+ int pageSize = getpagesize();
+ int extra = offset % pageSize;
+
+ if (size + extra > (size_t)-1) {
+ q->setError(QFile::UnspecifiedError, qt_error_string(int(EINVAL)));
+ return 0;
+ }
+
+ size_t realSize = (size_t)size + extra;
+ QT_OFF_T realOffset = QT_OFF_T(offset);
+ realOffset &= ~(QT_OFF_T(pageSize - 1));
#ifdef Q_OS_SYMBIAN
void *mapAddress;
- TRAPD(err, mapAddress = mmap((void*)0, (size_t)size + extra,
- access, MAP_SHARED, nativeHandle(), realOffset * pagesSize));
+ TRAPD(err, mapAddress = QT_MMAP((void*)0, realSize,
+ access, MAP_SHARED, nativeHandle(), realOffset));
if (err != KErrNone) {
qWarning("OpenC bug: leave from mmap %d", err);
mapAddress = MAP_FAILED;
errno = EINVAL;
}
#else
- void *mapAddress = mmap((void*)0, (size_t)size + extra,
- access, MAP_SHARED, nativeHandle(), realOffset * pagesSize);
+ void *mapAddress = QT_MMAP((void*)0, realSize,
+ access, MAP_SHARED, nativeHandle(), realOffset);
#endif
if (MAP_FAILED != mapAddress) {
uchar *address = extra + static_cast<uchar*>(mapAddress);
- maps[address] = QPair<int,int>(extra, size);
+ maps[address] = QPair<int,size_t>(extra, realSize);
return address;
}
@@ -1300,7 +1317,7 @@ bool QFSFileEnginePrivate::unmap(uchar *ptr)
}
uchar *start = ptr - maps[ptr].first;
- int len = maps[ptr].second;
+ size_t len = maps[ptr].second;
if (-1 == munmap(start, len)) {
q->setError(QFile::UnspecifiedError, qt_error_string(errno));
return false;
diff --git a/src/corelib/io/qfsfileengine_win.cpp b/src/corelib/io/qfsfileengine_win.cpp
index 898447c..a6cb5a9 100644
--- a/src/corelib/io/qfsfileengine_win.cpp
+++ b/src/corelib/io/qfsfileengine_win.cpp
@@ -455,17 +455,10 @@ bool QFSFileEnginePrivate::nativeClose()
// Windows native mode.
bool ok = true;
- if ((fileHandle == INVALID_HANDLE_VALUE || !CloseHandle(fileHandle))
-#ifdef Q_USE_DEPRECATED_MAP_API
- && (fileMapHandle == INVALID_HANDLE_VALUE || !CloseHandle(fileMapHandle))
-#endif
- ) {
+ if ((fileHandle == INVALID_HANDLE_VALUE || !::CloseHandle(fileHandle))) {
q->setError(QFile::UnspecifiedError, qt_error_string());
ok = false;
}
-#ifdef Q_USE_DEPRECATED_MAP_API
- fileMapHandle = INVALID_HANDLE_VALUE;
-#endif
fileHandle = INVALID_HANDLE_VALUE;
cachedFd = -1; // gets closed by CloseHandle above
@@ -504,14 +497,30 @@ qint64 QFSFileEnginePrivate::nativeSize() const
// ### Don't flush; for buffered files, we should get away with ftell.
thatQ->flush();
+#if !defined(Q_OS_WINCE)
+ // stdlib/stdio mode.
+ if (fh || fd != -1) {
+ qint64 fileSize = _filelengthi64(fh ? QT_FILENO(fh) : fd);
+ if (fileSize == -1) {
+ fileSize = 0;
+ thatQ->setError(QFile::UnspecifiedError, qt_error_string(errno));
+ }
+ return fileSize;
+ }
+#else // Q_OS_WINCE
// Buffered stdlib mode.
if (fh) {
QT_OFF_T oldPos = QT_FTELL(fh);
QT_FSEEK(fh, 0, SEEK_END);
- QT_OFF_T fileSize = QT_FTELL(fh);
+ qint64 fileSize = (qint64)QT_FTELL(fh);
QT_FSEEK(fh, oldPos, SEEK_SET);
- return qint64(fileSize);
+ if (fileSize == -1) {
+ fileSize = 0;
+ thatQ->setError(QFile::UnspecifiedError, qt_error_string(errno));
+ }
+ return fileSize;
}
+#endif
// Not-open mode, where the file name is known: We'll check the
// file system directly.
@@ -551,23 +560,13 @@ qint64 QFSFileEnginePrivate::nativeSize() const
return 0;
}
- // Unbuffed stdio mode.
- if(fd != -1) {
-#if !defined(Q_OS_WINCE)
- HANDLE handle = (HANDLE)_get_osfhandle(fd);
- if (handle != INVALID_HANDLE_VALUE) {
- BY_HANDLE_FILE_INFORMATION fileInfo;
- if (GetFileInformationByHandle(handle, &fileInfo)) {
- qint64 size = fileInfo.nFileSizeHigh;
- size <<= 32;
- size += fileInfo.nFileSizeLow;
- return size;
- }
- }
-#endif
- thatQ->setError(QFile::UnspecifiedError, qt_error_string());
+#if defined(Q_OS_WINCE)
+ // Unbuffed stdio mode
+ if (fd != -1) {
+ thatQ->setError(QFile::UnspecifiedError, QLatin1String("Not implemented!"));
return 0;
}
+#endif
// Windows native mode.
if (fileHandle == INVALID_HANDLE_VALUE)
@@ -799,27 +798,18 @@ int QFSFileEnginePrivate::nativeHandle() const
bool QFSFileEnginePrivate::nativeIsSequential() const
{
#if !defined(Q_OS_WINCE)
- // stdlib / Windows native mode.
- if (fh || fileHandle != INVALID_HANDLE_VALUE) {
- if (fh == stdin || fh == stdout || fh == stderr)
- return true;
-
- HANDLE handle = fileHandle;
- if (fileHandle == INVALID_HANDLE_VALUE) {
- // Rare case: using QFile::open(FILE*) to open a pipe.
- handle = (HANDLE)_get_osfhandle(QT_FILENO(fh));
- return false;
- }
-
- DWORD fileType = GetFileType(handle);
- return fileType == FILE_TYPE_PIPE;
- }
+ HANDLE handle = fileHandle;
+ if (fh || fd != -1)
+ handle = (HANDLE)_get_osfhandle(fh ? QT_FILENO(fh) : fd);
+ if (handle == INVALID_HANDLE_VALUE)
+ return false;
- // stdio mode.
- if (fd != -1)
- return isSequentialFdFh();
-#endif
+ DWORD fileType = GetFileType(handle);
+ return (fileType == FILE_TYPE_CHAR)
+ || (fileType == FILE_TYPE_PIPE);
+#else
return false;
+#endif
}
bool QFSFileEngine::remove()
@@ -1931,42 +1921,42 @@ uchar *QFSFileEnginePrivate::map(qint64 offset, qint64 size,
return 0;
}
+ if (mapHandle == INVALID_HANDLE_VALUE) {
+ // get handle to the file
+ HANDLE handle = fileHandle;
- // get handle to the file
- HANDLE handle = fileHandle;
#ifndef Q_OS_WINCE
- if (handle == INVALID_HANDLE_VALUE && fh)
- handle = (HANDLE)_get_osfhandle(QT_FILENO(fh));
+ if (handle == INVALID_HANDLE_VALUE && fh)
+ handle = (HANDLE)::_get_osfhandle(QT_FILENO(fh));
#endif
#ifdef Q_USE_DEPRECATED_MAP_API
- if (fileMapHandle == INVALID_HANDLE_VALUE) {
nativeClose();
- fileMapHandle = CreateFileForMapping((const wchar_t*)nativeFilePath.constData(),
+ // handle automatically closed by kernel with mapHandle (below).
+ handle = ::CreateFileForMapping((const wchar_t*)nativeFilePath.constData(),
GENERIC_READ | (openMode & QIODevice::WriteOnly ? GENERIC_WRITE : 0),
0,
NULL,
OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL,
NULL);
- }
- handle = fileMapHandle;
#endif
- if (handle == INVALID_HANDLE_VALUE) {
- q->setError(QFile::PermissionsError, qt_error_string(ERROR_ACCESS_DENIED));
- return 0;
- }
+ if (handle == INVALID_HANDLE_VALUE) {
+ q->setError(QFile::PermissionsError, qt_error_string(ERROR_ACCESS_DENIED));
+ return 0;
+ }
- // first create the file mapping handle
- DWORD protection = (openMode & QIODevice::WriteOnly) ? PAGE_READWRITE : PAGE_READONLY;
- HANDLE mapHandle = ::CreateFileMapping(handle, 0, protection, 0, 0, 0);
- if (mapHandle == NULL) {
- q->setError(QFile::PermissionsError, qt_error_string());
+ // first create the file mapping handle
+ DWORD protection = (openMode & QIODevice::WriteOnly) ? PAGE_READWRITE : PAGE_READONLY;
+ mapHandle = ::CreateFileMapping(handle, 0, protection, 0, 0, 0);
+ if (mapHandle == INVALID_HANDLE_VALUE) {
+ q->setError(QFile::PermissionsError, qt_error_string());
#ifdef Q_USE_DEPRECATED_MAP_API
- mapHandleClose();
+ ::CloseHandle(handle);
#endif
- return 0;
+ return 0;
+ }
}
// setup args to map
@@ -1978,17 +1968,17 @@ uchar *QFSFileEnginePrivate::map(qint64 offset, qint64 size,
DWORD offsetLo = offset & Q_UINT64_C(0xffffffff);
SYSTEM_INFO sysinfo;
::GetSystemInfo(&sysinfo);
- int mask = sysinfo.dwAllocationGranularity - 1;
- int extra = offset & mask;
+ DWORD mask = sysinfo.dwAllocationGranularity - 1;
+ DWORD extra = offset & mask;
if (extra)
offsetLo &= ~mask;
// attempt to create the map
- LPVOID mapAddress = MapViewOfFile(mapHandle, access,
+ LPVOID mapAddress = ::MapViewOfFile(mapHandle, access,
offsetHi, offsetLo, size + extra);
if (mapAddress) {
uchar *address = extra + static_cast<uchar*>(mapAddress);
- maps[address] = QPair<int, HANDLE>(extra, mapHandle);
+ maps[address] = extra;
return address;
}
@@ -2001,10 +1991,8 @@ uchar *QFSFileEnginePrivate::map(qint64 offset, qint64 size,
default:
q->setError(QFile::UnspecifiedError, qt_error_string());
}
- CloseHandle(mapHandle);
-#ifdef Q_USE_DEPRECATED_MAP_API
- mapHandleClose();
-#endif
+
+ ::CloseHandle(mapHandle);
return 0;
}
@@ -2015,32 +2003,19 @@ bool QFSFileEnginePrivate::unmap(uchar *ptr)
q->setError(QFile::PermissionsError, qt_error_string(ERROR_ACCESS_DENIED));
return false;
}
- uchar *start = ptr - maps[ptr].first;
+ uchar *start = ptr - maps[ptr];
if (!UnmapViewOfFile(start)) {
q->setError(QFile::PermissionsError, qt_error_string());
return false;
}
- if (!CloseHandle((HANDLE)maps[ptr].second)) {
- q->setError(QFile::UnspecifiedError, qt_error_string());
- return false;
- }
maps.remove(ptr);
-
-#ifdef Q_USE_DEPRECATED_MAP_API
- mapHandleClose();
-#endif
- return true;
-}
-
-#ifdef Q_USE_DEPRECATED_MAP_API
-void QFSFileEnginePrivate::mapHandleClose()
-{
if (maps.isEmpty()) {
- CloseHandle(fileMapHandle);
- fileMapHandle = INVALID_HANDLE_VALUE;
+ ::CloseHandle(mapHandle);
+ mapHandle = INVALID_HANDLE_VALUE;
}
+
+ return true;
}
-#endif
QT_END_NAMESPACE
diff --git a/src/corelib/io/qprocess_unix.cpp b/src/corelib/io/qprocess_unix.cpp
index 99296c7..f040d16 100644
--- a/src/corelib/io/qprocess_unix.cpp
+++ b/src/corelib/io/qprocess_unix.cpp
@@ -108,6 +108,10 @@ QT_END_NAMESPACE
QT_BEGIN_NAMESPACE
+// POSIX requires PIPE_BUF to be 512 or larger
+// so we will use 512
+static const int errorBufferMax = 512;
+
#ifdef Q_OS_INTEGRITY
static inline char *strdup(const char *data)
{
@@ -752,18 +756,19 @@ void QProcessPrivate::execChild(const char *workingDir, char **path, char **argv
}
// notify failure
+ QString error = qt_error_string(errno);
#if defined (QPROCESS_DEBUG)
- fprintf(stderr, "QProcessPrivate::execChild() failed, notifying parent process\n");
+ fprintf(stderr, "QProcessPrivate::execChild() failed (%s), notifying parent process\n", qPrintable(error));
#endif
- qt_safe_write(childStartedPipe[1], "", 1);
+ qt_safe_write(childStartedPipe[1], error.data(), error.length() * sizeof(QChar));
qt_safe_close(childStartedPipe[1]);
childStartedPipe[1] = -1;
}
bool QProcessPrivate::processStarted()
{
- char c;
- int i = qt_safe_read(childStartedPipe[0], &c, 1);
+ ushort buf[errorBufferMax];
+ int i = qt_safe_read(childStartedPipe[0], &buf, sizeof buf);
if (startupSocketNotifier) {
startupSocketNotifier->setEnabled(false);
startupSocketNotifier->deleteLater();
@@ -775,6 +780,11 @@ bool QProcessPrivate::processStarted()
#if defined (QPROCESS_DEBUG)
qDebug("QProcessPrivate::processStarted() == %s", i <= 0 ? "true" : "false");
#endif
+
+ // did we read an error message?
+ if (i > 0)
+ q_func()->setErrorString(QString::fromUtf16(buf, i / sizeof(QChar)));
+
return i <= 0;
}
diff --git a/src/corelib/io/qurl.cpp b/src/corelib/io/qurl.cpp
index 6001d9d..86680a5 100644
--- a/src/corelib/io/qurl.cpp
+++ b/src/corelib/io/qurl.cpp
@@ -5556,79 +5556,6 @@ QUrl QUrl::fromEncoded(const QByteArray &input, ParsingMode parsingMode)
}
/*!
- Returns a valid URL from a user supplied \a userInput string if one can be
- deducted. In the case that is not possible, an invalid QUrl() is returned.
-
- \since 4.6
-
- Most applications that can browse the web, allow the user to input a URL
- in the form of a plain string. This string can be manually typed into
- a location bar, obtained from the clipboard, or passed in via command
- line arguments.
-
- When the string is not already a valid URL, a best guess is performed,
- making various web related assumptions.
-
- In the case the string corresponds to a valid file path on the system,
- a file:// URL is constructed, using QUrl::fromLocalFile().
-
- If that is not the case, an attempt is made to turn the string into a
- http:// or ftp:// URL. The latter in the case the string starts with
- 'ftp'. The result is then passed through QUrl's tolerant parser, and
- in the case or success, a valid QUrl is returned, or else a QUrl().
-
- \section1 Examples:
-
- \list
- \o qt.nokia.com becomes http://qt.nokia.com
- \o ftp.qt.nokia.com becomes ftp://ftp.qt.nokia.com
- \o localhost becomes http://localhost
- \o /home/user/test.html becomes file:///home/user/test.html (if exists)
- \endlist
-
- \section2 Tips to avoid erroneous character conversion when dealing with
- URLs and strings:
-
- \list
- \o When creating an URL QString from a QByteArray or a char*, always use
- QString::fromUtf8().
- \o Favor the use of QUrl::fromEncoded() and QUrl::toEncoded() instead of
- QUrl(string) and QUrl::toString() when converting QUrl to/from string.
- \endlist
-*/
-QUrl QUrl::fromUserInput(const QString &userInput)
-{
- QString trimmedString = userInput.trimmed();
-
- // Absolute files
- if (QDir::isAbsolutePath(trimmedString))
- return QUrl::fromLocalFile(trimmedString);
-
- // Check the most common case of a valid url with scheme and host first
- QUrl url = QUrl::fromEncoded(trimmedString.toUtf8(), QUrl::TolerantMode);
- if (url.isValid() && !url.scheme().isEmpty() && !url.host().isEmpty())
- return url;
-
- // If the string is missing the scheme or the scheme is not valid, prepend a scheme
- QString scheme = url.scheme();
- if (scheme.isEmpty() || scheme.contains(QLatin1Char('.')) || scheme == QLatin1String("localhost")) {
- // Do not do anything for strings such as "foo", only "foo.com"
- int dotIndex = trimmedString.indexOf(QLatin1Char('.'));
- if (dotIndex != -1 || trimmedString.startsWith(QLatin1String("localhost"))) {
- const QString hostscheme = trimmedString.left(dotIndex).toLower();
- QByteArray scheme = (hostscheme == QLatin1String("ftp")) ? "ftp" : "http";
- trimmedString = QLatin1String(scheme) + QLatin1String("://") + trimmedString;
- }
- url = QUrl::fromEncoded(trimmedString.toUtf8(), QUrl::TolerantMode);
- }
-
- if (url.isValid())
- return url;
-
- return QUrl();
-}
-
-/*!
Returns a decoded copy of \a input. \a input is first decoded from
percent encoding, then converted from UTF-8 to unicode.
*/
@@ -6227,4 +6154,107 @@ QString QUrl::errorString() const
\internal
*/
+// The following code has the following copyright:
+/*
+ Copyright (C) Research In Motion Limited 2009. All rights reserved.
+
+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 Research In Motion Limited 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 Research In Motion Limited ''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 Research In Motion Limited 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.
+
+*/
+
+
+/*!
+ Returns a valid URL from a user supplied \a userInput string if one can be
+ deducted. In the case that is not possible, an invalid QUrl() is returned.
+
+ \since 4.6
+
+ Most applications that can browse the web, allow the user to input a URL
+ in the form of a plain string. This string can be manually typed into
+ a location bar, obtained from the clipboard, or passed in via command
+ line arguments.
+
+ When the string is not already a valid URL, a best guess is performed,
+ making various web related assumptions.
+
+ In the case the string corresponds to a valid file path on the system,
+ a file:// URL is constructed, using QUrl::fromLocalFile().
+
+ If that is not the case, an attempt is made to turn the string into a
+ http:// or ftp:// URL. The latter in the case the string starts with
+ 'ftp'. The result is then passed through QUrl's tolerant parser, and
+ in the case or success, a valid QUrl is returned, or else a QUrl().
+
+ \section1 Examples:
+
+ \list
+ \o qt.nokia.com becomes http://qt.nokia.com
+ \o ftp.qt.nokia.com becomes ftp://ftp.qt.nokia.com
+ \o localhost becomes http://localhost
+ \o /home/user/test.html becomes file:///home/user/test.html (if exists)
+ \endlist
+
+ \section2 Tips to avoid erroneous character conversion when dealing with
+ URLs and strings:
+
+ \list
+ \o When creating an URL QString from a QByteArray or a char*, always use
+ QString::fromUtf8().
+ \o Favor the use of QUrl::fromEncoded() and QUrl::toEncoded() instead of
+ QUrl(string) and QUrl::toString() when converting QUrl to/from string.
+ \endlist
+*/
+QUrl QUrl::fromUserInput(const QString &userInput)
+{
+ QString trimmedString = userInput.trimmed();
+
+ // Check the most common case of a valid url with scheme and host first
+ QUrl url = QUrl::fromEncoded(trimmedString.toUtf8(), QUrl::TolerantMode);
+ if (url.isValid() && !url.scheme().isEmpty() && !url.host().isEmpty())
+ return url;
+
+ // Absolute files that exists
+ if (QDir::isAbsolutePath(trimmedString) && QFile::exists(trimmedString))
+ return QUrl::fromLocalFile(trimmedString);
+
+ // If the string is missing the scheme or the scheme is not valid prepend a scheme
+ QString scheme = url.scheme();
+ if (scheme.isEmpty() || scheme.contains(QLatin1Char('.')) || scheme == QLatin1String("localhost")) {
+ // Do not do anything for strings such as "foo", only "foo.com"
+ int dotIndex = trimmedString.indexOf(QLatin1Char('.'));
+ if (dotIndex != -1 || trimmedString.startsWith(QLatin1String("localhost"))) {
+ const QString hostscheme = trimmedString.left(dotIndex).toLower();
+ QByteArray scheme = (hostscheme == QLatin1String("ftp")) ? "ftp" : "http";
+ trimmedString = QLatin1String(scheme) + QLatin1String("://") + trimmedString;
+ }
+ url = QUrl::fromEncoded(trimmedString.toUtf8(), QUrl::TolerantMode);
+ }
+
+ if (url.isValid())
+ return url;
+
+ return QUrl();
+}
+// end of BSD code
+
QT_END_NAMESPACE
diff --git a/src/corelib/kernel/qeventdispatcher_win.cpp b/src/corelib/kernel/qeventdispatcher_win.cpp
index 1e6402f..29b7568 100644
--- a/src/corelib/kernel/qeventdispatcher_win.cpp
+++ b/src/corelib/kernel/qeventdispatcher_win.cpp
@@ -64,6 +64,15 @@ extern uint qGlobalPostedEventsCount();
# define TIME_KILL_SYNCHRONOUS 0x0100
#endif
+#ifndef QS_RAWINPUT
+# define QS_RAWINPUT 0x0400
+#endif
+
+enum {
+ WM_QT_SOCKETNOTIFIER = WM_USER,
+ WM_QT_SENDPOSTEDEVENTS = WM_USER + 1
+};
+
#if defined(Q_OS_WINCE)
QT_BEGIN_INCLUDE_NAMESPACE
#include <winsock.h>
@@ -327,6 +336,11 @@ public:
// internal window handle used for socketnotifiers/timers/etc
HWND internalHwnd;
+ // for controlling when to send posted events
+ QAtomicInt serialNumber;
+ int lastSerialNumber;
+ QAtomicInt wakeUps;
+
// timers
WinTimerVec timerVec;
WinTimerDict timerDict;
@@ -340,9 +354,6 @@ public:
QSNDict sn_except;
void doWsaAsyncSelect(int socket);
- // event notifier
- QWinEventNotifier wakeUpNotifier;
-
QList<QWinEventNotifier *> winEventNotifierList;
void activateEventNotifier(QWinEventNotifier * wen);
@@ -351,19 +362,13 @@ public:
};
QEventDispatcherWin32Private::QEventDispatcherWin32Private()
- : threadId(GetCurrentThreadId()), interrupt(false), internalHwnd(0)
+ : threadId(GetCurrentThreadId()), interrupt(false), internalHwnd(0), serialNumber(0), lastSerialNumber(0), wakeUps(0)
{
resolveTimerAPI();
-
- wakeUpNotifier.setHandle(CreateEvent(0, FALSE, FALSE, 0));
- if (!wakeUpNotifier.handle())
- qWarning("QEventDispatcher: Creating QEventDispatcherWin32Private wakeup event failed");
}
QEventDispatcherWin32Private::~QEventDispatcherWin32Private()
{
- wakeUpNotifier.setEnabled(false);
- CloseHandle(wakeUpNotifier.handle());
if (internalHwnd)
DestroyWindow(internalHwnd);
QString className = QLatin1String("QEventDispatcherWin32_Internal_Widget") + QString::number(quintptr(qt_internal_proc));
@@ -408,22 +413,35 @@ void WINAPI CALLBACK qt_fast_timer_proc(uint timerId, uint /*reserved*/, DWORD_P
LRESULT CALLBACK qt_internal_proc(HWND hwnd, UINT message, WPARAM wp, LPARAM lp)
{
- if (message == WM_NCCREATE) {
- return true;
- } else if (message == WM_USER) {
+ if (message == WM_NCCREATE)
+ return true;
- // socket notifier message
- MSG msg;
- msg.hwnd = hwnd;
- msg.message = message;
- msg.wParam = wp;
- msg.lParam = lp;
+ MSG msg;
+ msg.hwnd = hwnd;
+ msg.message = message;
+ msg.wParam = wp;
+ msg.lParam = lp;
+ QCoreApplication *app = QCoreApplication::instance();
+ long result;
+ if (!app) {
+ if (message == WM_TIMER)
+ KillTimer(hwnd, wp);
+ return 0;
+ } else if (app->filterEvent(&msg, &result)) {
+ return result;
+ }
- QCoreApplication *app = QCoreApplication::instance();
- long result;
- if (app && app->filterEvent(&msg, &result))
- return result;
+#ifdef GWLP_USERDATA
+ QEventDispatcherWin32 *q = (QEventDispatcherWin32 *) GetWindowLongPtr(hwnd, GWLP_USERDATA);
+#else
+ QEventDispatcherWin32 *q = (QEventDispatcherWin32 *) GetWindowLong(hwnd, GWL_USERDATA);
+#endif
+ QEventDispatcherWin32Private *d = 0;
+ if (q != 0)
+ d = q->d_func();
+ if (message == WM_QT_SOCKETNOTIFIER) {
+ // socket notifier message
int type = -1;
switch (WSAGETSELECTEVENT(lp)) {
case FD_READ:
@@ -440,56 +458,50 @@ LRESULT CALLBACK qt_internal_proc(HWND hwnd, UINT message, WPARAM wp, LPARAM lp)
break;
}
if (type >= 0) {
-
- #ifdef GWLP_USERDATA
- QEventDispatcherWin32 *eventDispatcher =
- (QEventDispatcherWin32 *) GetWindowLongPtr(hwnd, GWLP_USERDATA);
- #else
- QEventDispatcherWin32 *eventDispatcher =
- (QEventDispatcherWin32 *) GetWindowLong(hwnd, GWL_USERDATA);
- #endif
- if (eventDispatcher) {
- QEventDispatcherWin32Private *d = eventDispatcher->d_func();
- QSNDict *sn_vec[3] = { &d->sn_read, &d->sn_write, &d->sn_except };
- QSNDict *dict = sn_vec[type];
-
- QSockNot *sn = dict ? dict->value(wp) : 0;
- if (sn) {
- QEvent event(QEvent::SockAct);
- QCoreApplication::sendEvent(sn->obj, &event);
- }
+ Q_ASSERT(d != 0);
+ QSNDict *sn_vec[3] = { &d->sn_read, &d->sn_write, &d->sn_except };
+ QSNDict *dict = sn_vec[type];
+
+ QSockNot *sn = dict ? dict->value(wp) : 0;
+ if (sn) {
+ QEvent event(QEvent::SockAct);
+ QCoreApplication::sendEvent(sn->obj, &event);
}
}
return 0;
-
- } else if (message == WM_TIMER) {
-
- MSG msg;
- msg.hwnd = hwnd;
- msg.message = message;
- msg.wParam = wp;
- msg.lParam = lp;
-
- QCoreApplication *app = QCoreApplication::instance();
- Q_ASSERT_X(app, "qt_interal_proc", "Timer fired, but no QCoreApplication");
- if (!app) {
- KillTimer(hwnd, wp);
- return 0;
+ } else if (message == WM_TIMER) {
+ if (wp == ~1u) {
+ KillTimer(d->internalHwnd, wp);
+ int localSerialNumber = d->serialNumber;
+ (void) d->wakeUps.fetchAndStoreRelease(0);
+ if (localSerialNumber != d->lastSerialNumber) {
+ PostMessage(d->internalHwnd, WM_QT_SENDPOSTEDEVENTS, 0, 0);
+ }
+ } else {
+ Q_ASSERT(d != 0);
+ d->sendTimerEvent(wp);
+ }
+ return 0;
+ } else if (message == WM_QT_SENDPOSTEDEVENTS) {
+ int localSerialNumber = d->serialNumber;
+
+ if (GetQueueStatus(QS_INPUT | QS_RAWINPUT | QS_TIMER) != 0) {
+ // delay the next pass of sendPostedEvents() until we get the special
+ // WM_TIMER, which allows all pending Windows messages to be processed
+ SetTimer(d->internalHwnd, ~1u, 0, 0);
+ } else {
+ // nothing pending in the queue, let sendPostedEvents go through
+ d->wakeUps.fetchAndStoreRelease(0);
}
- long result;
- if (app->filterEvent(&msg, &result))
- return result;
-
- QEventDispatcherWin32 *eventDispatcher =
- qobject_cast<QEventDispatcherWin32 *>(QAbstractEventDispatcher::instance());
- Q_ASSERT(eventDispatcher != 0);
- QEventDispatcherWin32Private *d = eventDispatcher->d_func();
- d->sendTimerEvent(wp);
+ if (localSerialNumber != d->lastSerialNumber) {
+ d->lastSerialNumber = localSerialNumber;
+ QCoreApplicationPrivate::sendPostedEvents(0, 0, d->threadData);
+ }
return 0;
}
- return DefWindowProc(hwnd, message, wp, lp);
+ return DefWindowProc(hwnd, message, wp, lp);
}
static HWND qt_create_internal_window(const QEventDispatcherWin32 *eventDispatcher)
@@ -519,15 +531,16 @@ static HWND qt_create_internal_window(const QEventDispatcherWin32 *eventDispatch
qWinAppInst(), // application
0); // windows creation data.
+ if (!wnd) {
+ qWarning("QEventDispatcher: Failed to create QEventDispatcherWin32 internal window: %d\n", (int)GetLastError());
+ }
+
#ifdef GWLP_USERDATA
SetWindowLongPtr(wnd, GWLP_USERDATA, (LONG_PTR)eventDispatcher);
#else
SetWindowLong(wnd, GWL_USERDATA, (LONG)eventDispatcher);
#endif
- if (!wnd) {
- qWarning("QEventDispatcher: Failed to create QEventDispatcherWin32 internal window: %d\n", (int)GetLastError());
- }
return wnd;
}
@@ -538,11 +551,6 @@ void QEventDispatcherWin32Private::registerTimer(WinTimerInfo *t)
Q_Q(QEventDispatcherWin32);
int ok = 0;
-
- //in the animation api, we delay the start of the animation
- //for the dock widgets, we need to use a system timer because dragging a native window
- //makes Windows start its own event loop.
- //So if this threshold changes, please change STARTSTOP_TIMER_DELAY in qabstractanimation.cpp accordingly.
if (t->interval > 15 || !t->interval || !qtimeSetEvent) {
ok = 1;
if (!t->interval) // optimization for single-shot-zero-timer
@@ -608,7 +616,7 @@ void QEventDispatcherWin32Private::doWsaAsyncSelect(int socket)
sn_event |= FD_OOB;
// BoundsChecker may emit a warning for WSAAsyncSelect when sn_event == 0
// This is a BoundsChecker bug and not a Qt bug
- WSAAsyncSelect(socket, internalHwnd, sn_event ? WM_USER : 0, sn_event);
+ WSAAsyncSelect(socket, internalHwnd, sn_event ? WM_QT_SOCKETNOTIFIER : 0, sn_event);
}
void QEventDispatcherWin32::createInternalHwnd()
@@ -630,6 +638,9 @@ void QEventDispatcherWin32::createInternalHwnd()
// start all normal timers
for (int i = 0; i < d->timerVec.count(); ++i)
d->registerTimer(d->timerVec.at(i));
+
+ // trigger a call to sendPostedEvents()
+ wakeUp();
}
QEventDispatcherWin32::QEventDispatcherWin32(QObject *parent)
@@ -653,9 +664,9 @@ bool QEventDispatcherWin32::processEvents(QEventLoop::ProcessEventsFlags flags)
bool canWait;
bool retVal = false;
+ bool seenWM_QT_SENDPOSTEDEVENTS = false;
+ bool needWM_QT_SENDPOSTEDEVENTS = false;
do {
- QCoreApplicationPrivate::sendPostedEvents(0, 0, d->threadData);
-
DWORD waitRet = 0;
HANDLE pHandles[MAXIMUM_WAIT_OBJECTS - 1];
QVarLengthArray<MSG> processedTimers;
@@ -689,7 +700,7 @@ bool QEventDispatcherWin32::processEvents(QEventLoop::ProcessEventsFlags flags)
d->queuedUserInputEvents.append(msg);
}
if (haveMessage && (flags & QEventLoop::ExcludeSocketNotifiers)
- && (msg.message == WM_USER && msg.hwnd == d->internalHwnd)) {
+ && (msg.message == WM_QT_SOCKETNOTIFIER && msg.hwnd == d->internalHwnd)) {
// queue socket events for later processing
haveMessage = false;
d->queuedSocketEvents.append(msg);
@@ -706,7 +717,13 @@ bool QEventDispatcherWin32::processEvents(QEventLoop::ProcessEventsFlags flags)
}
}
if (haveMessage) {
- if (msg.message == WM_TIMER) {
+ if (msg.message == WM_QT_SENDPOSTEDEVENTS && !(flags & QEventLoop::EventLoopExec)) {
+ if (seenWM_QT_SENDPOSTEDEVENTS) {
+ needWM_QT_SENDPOSTEDEVENTS = true;
+ continue;
+ }
+ seenWM_QT_SENDPOSTEDEVENTS = true;
+ } else if (msg.message == WM_TIMER) {
// avoid live-lock by keeping track of the timers we've already sent
bool found = false;
for (int i = 0; !found && i < processedTimers.count(); ++i) {
@@ -736,9 +753,7 @@ bool QEventDispatcherWin32::processEvents(QEventLoop::ProcessEventsFlags flags)
}
// still nothing - wait for message or signalled objects
- QThreadData *data = d->threadData;
canWait = (!retVal
- && data->canWait
&& !d->interrupt
&& (flags & QEventLoop::WaitForMoreEvents));
if (canWait) {
@@ -757,6 +772,9 @@ bool QEventDispatcherWin32::processEvents(QEventLoop::ProcessEventsFlags flags)
}
} while (canWait);
+ if (needWM_QT_SENDPOSTEDEVENTS)
+ PostMessage(d->internalHwnd, WM_QT_SENDPOSTEDEVENTS, 0, 0);
+
return retVal;
}
@@ -990,7 +1008,11 @@ void QEventDispatcherWin32::activateEventNotifiers()
void QEventDispatcherWin32::wakeUp()
{
Q_D(QEventDispatcherWin32);
- SetEvent(d->wakeUpNotifier.handle());
+ d->serialNumber.ref();
+ if (d->internalHwnd && d->wakeUps.testAndSetAcquire(0, 1)) {
+ // post a WM_QT_SENDPOSTEDEVENTS to this thread if there isn't one already pending
+ PostMessage(d->internalHwnd, WM_QT_SENDPOSTEDEVENTS, 0, 0);
+ }
}
void QEventDispatcherWin32::interrupt()
@@ -1003,13 +1025,8 @@ void QEventDispatcherWin32::interrupt()
void QEventDispatcherWin32::flush()
{ }
-
void QEventDispatcherWin32::startingUp()
-{
- Q_D(QEventDispatcherWin32);
-
- if (d->wakeUpNotifier.handle()) d->wakeUpNotifier.setEnabled(true);
-}
+{ }
void QEventDispatcherWin32::closingDown()
{
diff --git a/src/corelib/kernel/qmetaobject.cpp b/src/corelib/kernel/qmetaobject.cpp
index f98c449..6e6da19 100644
--- a/src/corelib/kernel/qmetaobject.cpp
+++ b/src/corelib/kernel/qmetaobject.cpp
@@ -574,8 +574,8 @@ int QMetaObjectPrivate::indexOfSignalRelative(const QMetaObject **baseObject, co
if (i >= 0 && m && m->d.superdata) {
int conflict = m->d.superdata->indexOfMethod(signal);
if (conflict >= 0)
- qWarning("QMetaObject::indexOfSignal:%s: Conflict with %s::%s",
- m->d.stringdata, m->d.superdata->d.stringdata, signal);
+ qWarning("QMetaObject::indexOfSignal: signal %s from %s redefined in %s",
+ signal, m->d.superdata->d.stringdata, m->d.stringdata);
}
#endif
return i;
@@ -2237,7 +2237,10 @@ bool QMetaProperty::write(QObject *object, const QVariant &value) const
// -1 (unchanged): normal qt_metacall, result stored in argv[0]
// changed: result stored directly in value, return the value of status
int status = -1;
- void *argv[] = { 0, &v, &status };
+ // the flags variable is used by the declarative module to implement
+ // interception of property writes.
+ int flags = 0;
+ void *argv[] = { 0, &v, &status, &flags };
if (t == QVariant::LastType)
argv[0] = &v;
else
diff --git a/src/corelib/kernel/qobject.cpp b/src/corelib/kernel/qobject.cpp
index 7be19b3..1260d47 100644
--- a/src/corelib/kernel/qobject.cpp
+++ b/src/corelib/kernel/qobject.cpp
@@ -582,7 +582,7 @@ int QMetaCallEvent::placeMetaCall(QObject *object)
QObjects organize themselves in object trees. When you create a
QObject with another object as parent, the object will
automatically add itself to the parent's children() list. The
- parent takes ownership of the object i.e. it will automatically
+ parent takes ownership of the object; i.e., it will automatically
delete its children in its destructor. You can look for an object
by name and optionally type using findChild() or findChildren().
@@ -646,7 +646,7 @@ int QMetaCallEvent::placeMetaCall(QObject *object)
to be stored in one of the container classes. You must store
pointers.
- \section2 Auto-Connection
+ \section1 Auto-Connection
Qt's meta-object system provides a mechanism to automatically connect
signals and slots between QObject subclasses and their children. As long
@@ -660,7 +660,7 @@ int QMetaCallEvent::placeMetaCall(QObject *object)
given in the \l{Using a Designer UI File in Your Application} section of
the \QD manual.
- \section2 Dynamic Properties
+ \section1 Dynamic Properties
From Qt 4.2, dynamic properties can be added to and removed from QObject
instances at run-time. Dynamic properties do not need to be declared at
@@ -673,6 +673,15 @@ int QMetaCallEvent::placeMetaCall(QObject *object)
and both standard Qt widgets and user-created forms can be given dynamic
properties.
+ \section1 Internationalization (i18n)
+
+ All QObject subclasses support Qt's translation features, making it possible
+ to translate an application's user interface into different languages.
+
+ To make user-visible text translatable, it must be wrapped in calls to
+ the tr() function. This is explained in detail in the
+ \l{Writing Source Code for Translation} document.
+
\sa QMetaObject, QPointer, QObjectCleanupHandler, Q_DISABLE_COPY()
{Object Trees and Object Ownership}
*/
@@ -835,14 +844,7 @@ QObject::QObject(QObjectPrivate &dd, QObject *parent)
QObject::~QObject()
{
Q_D(QObject);
- if (d->wasDeleted) {
-#if defined(QT_DEBUG)
- qWarning("QObject: Double deletion detected");
-#endif
- return;
- }
d->wasDeleted = true;
-
d->blockSig = 0; // unblock signals so we always emit destroyed()
if (!d->isWidget) {
@@ -2157,65 +2159,10 @@ void QObject::deleteLater()
otherwise returns \a sourceText itself if no appropriate translated string
is available.
- See the sections below on Disambiguation and Handling Plurals for more
- information about the optional \a disambiguation and \a n parameters.
-
- QObject and its subclasses obtain translated strings from any translator
- objects that have been installed on the application object; see the
- QTranslator documentation for details about this mechanism.
-
- A translatable string is referenced by its translation context;
- this is the name of the QObject subclass whose tr() function is invoked,
- as in the following example:
-
+ Example:
\snippet mainwindows/sdi/mainwindow.cpp implicit tr context
\dots
- Here, the context is \c MainWindow because it is the \c MainWindow::tr()
- function that is invoked. Translation contexts can be given explicitly
- by fully qualifying the call to tr(); for example:
-
- \snippet doc/src/snippets/code/src_corelib_kernel_qobject.cpp explicit tr context
-
- This call obtains the translated text for "Page up" from the \c QScrollBar
- context.
-
- \section1 Defining Translation Contexts
-
- The translation context for QObject and each QObject subclass is the
- class name itself. Developers subclassing QObject must use the
- Q_OBJECT macro in their class definition to override the translation
- context. This macro sets the context to the name of the subclass.
-
- If Q_OBJECT is not used in a class definition, the context will be
- inherited from the base class. For example, since all QObject-based
- classes in Qt provide a context, a new QWidget subclass defined without
- a Q_OBJECT macro will use the "QWidget" context if its tr() function
- is invoked.
-
- \section1 Translator Comments
-
- Developers can include information about each translatable string to
- help translators with the translation process. These are extracted
- when \l lupdate is used to process the source files. The recommended
- way to add comments is to annotate the tr() calls in your code with
- comments of the form:
-
- \tt{//: ...}
-
- or
-
- \tt{\begincomment: ... \endcomment}
-
- Examples:
-
- \snippet doc/src/snippets/code/src_corelib_kernel_qobject.cpp 40
-
- In these examples, the comments will be associated with the strings
- passed to tr() in the context of each call.
-
- \section1 Disambiguation
-
If the same \a sourceText is used in different roles within the
same context, an additional identifying string may be passed in
\a disambiguation (0 by default). In Qt 4.4 and earlier, this was
@@ -2224,76 +2171,12 @@ void QObject::deleteLater()
Example:
\snippet doc/src/snippets/code/src_corelib_kernel_qobject.cpp 17
+ \dots
- \section1 Meta Data
-
- Additional data can be attached to each translatable message.
- The syntax:
-
- \tt{//= <id>}
-
- can be used to give the message a unique identifier to support tools
- which need it.
- The syntax:
-
- \tt{//~ <field name> <field contents>}
-
- can be used to attach meta data to the message. The field name should consist
- of a domain prefix (possibly the conventional file extension of the file format
- the field is inspired by), a hyphen and the actual field name in
- underscore-delimited notation. For storage in TS files, the field name together
- with the prefix "extra-" will form an XML element name. The field contents will
- be XML-escaped, but otherwise appear verbatim as the element's contents.
- Any number of unique fields can be added to each message.
-
- Example:
-
- \snippet doc/src/snippets/code/src_corelib_kernel_qobject.cpp meta data
-
- Meta data appearing right in front of a magic TRANSLATOR comment applies to the
- whole TS file.
-
- \section1 Character Encodings
-
- You can set the encoding for \a sourceText by calling QTextCodec::setCodecForTr().
- By default \a sourceText is assumed to be in Latin-1 encoding.
-
- \section1 Handling Plurals
-
- If \a n >= 0, all occurrences of \c %n in the resulting string
- are replaced with a decimal representation of \a n. In addition,
- depending on \a n's value, the translation text may vary.
-
- Example:
-
- \snippet doc/src/snippets/code/src_corelib_kernel_qobject.cpp 18
-
- The table below shows what string is returned depending on the
- active translation:
-
- \table
- \header \o \o{3,1} Active Translation
- \header \o \a n \o No Translation \o French \o English
- \row \o 0 \o "0 message(s) saved" \o "0 message sauvegard\unicode{0xE9}" \o "0 message\bold{s} saved"
- \row \o 1 \o "1 message(s) saved" \o "1 message sauvegard\unicode{0xE9}" \o "1 message saved"
- \row \o 2 \o "2 message(s) saved" \o "2 message\bold{s} sauvegard\unicode{0xE9}\bold{s}" \o "2 message\bold{s} saved"
- \row \o 37 \o "37 message(s) saved" \o "37 message\bold{s} sauvegard\unicode{0xE9}\bold{s}" \o "37 message\bold{s} saved"
- \endtable
-
- This idiom is more flexible than the traditional approach; e.g.,
-
- \snippet doc/src/snippets/code/src_corelib_kernel_qobject.cpp 19
-
- because it also works with target languages that have several
- plural forms (e.g., Irish has a special "dual" form that should
- be used when \c n is 2), and it handles the \e n == 0 case
- correctly for languages such as French that require the singular.
- See the \l{Qt Linguist Manual} for details.
-
- Instead of \c %n, you can use \c %Ln to produce a localized
- representation of \a n. The conversion uses the default locale,
- set using QLocale::setDefault(). (If no default locale was
- specified, the "C" locale is used.)
+ See \l{Writing Source Code for Translation} for a detailed description of
+ Qt's translation mechanisms in general, and the
+ \l{Writing Source Code for Translation#Disambiguation}{Disambiguation}
+ section for information on disambiguation.
\warning This method is reentrant only if all translators are
installed \e before calling this method. Installing or removing
diff --git a/src/corelib/kernel/qsharedmemory_unix.cpp b/src/corelib/kernel/qsharedmemory_unix.cpp
index 1165fb1..40b9f04 100644
--- a/src/corelib/kernel/qsharedmemory_unix.cpp
+++ b/src/corelib/kernel/qsharedmemory_unix.cpp
@@ -49,8 +49,6 @@
#include <errno.h>
-#ifndef QT_NO_SHAREDMEMORY
-
#include <sys/types.h>
#include <sys/ipc.h>
#include <sys/shm.h>
@@ -61,6 +59,7 @@
#include "private/qcore_unix_p.h"
+#ifndef QT_NO_SHAREDMEMORY
QT_BEGIN_NAMESPACE
QSharedMemoryPrivate::QSharedMemoryPrivate()
diff --git a/src/corelib/kernel/qtcore_eval.cpp b/src/corelib/kernel/qtcore_eval.cpp
new file mode 100644
index 0000000..fe47a30
--- /dev/null
+++ b/src/corelib/kernel/qtcore_eval.cpp
@@ -0,0 +1,569 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtCore module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, 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.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <qcoreevent.h>
+#include <qdatetime.h>
+#include <qlibraryinfo.h>
+#include <qobject.h>
+#include <qcoreapplication.h>
+
+#include "stdio.h"
+#include "stdlib.h"
+
+QT_BEGIN_NAMESPACE
+
+#include "qconfig_eval.cpp"
+
+static const char boilerplate_unsuported[] =
+ "\nQt %1 Evaluation License\n"
+ "Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).\n"
+ "All rights reserved.\n\n"
+ "This trial version may only be used for evaluation purposes\n"
+ "and will shut down after 120 minutes.\n"
+ "Registered to:\n"
+ " Licensee: %2\n\n"
+ "The evaluation expires in %4 days\n\n"
+ "Contact http://qt.nokia.com/about/contact-us for pricing and purchasing information.\n";
+
+static const char boilerplate_supported[] =
+ "\nQt %1 Evaluation License\n"
+ "Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).\n"
+ "All rights reserved.\n\n"
+ "This trial version may only be used for evaluation purposes\n"
+ "Registered to:\n"
+ " Licensee: %2\n\n"
+ "The evaluation expires in %4 days\n\n"
+ "Contact http://qt.nokia.com/about/contact-us for pricing and purchasing information.\n";
+
+static const char boilerplate_expired[] =
+ "This software is using the trial version of the Qt GUI toolkit.\n"
+ "The trial period has expired. If you need more time to\n"
+ "evaluate Qt, or if you have any questions about Qt, contact us\n"
+ "at: http://qt.nokia.com/about/contact-us.\n\n";
+
+static const char will_shutdown_1min[] =
+ "\nThe evaluation of Qt will SHUT DOWN in 1 minute.\n"
+ "Contact http://qt.nokia.com/about/contact-us for pricing and purchasing information.\n";
+
+static const char will_shutdown_now[] =
+ "\nThe evaluation of Qt has now reached its automatic\n"
+ "timeout and will shut down.\n"
+ "Contact http://qt.nokia.com/about/contact-us for pricing and purchasing information.\n";
+
+static int qt_eval_days_left()
+{
+ const char *const license_key = qt_eval_key_data + 12;
+
+ // fast fail
+ if (!qt_eval_key_data[0] || !*license_key)
+ return -2;
+
+ QDate today = QDate::currentDate();
+ QDate build = QLibraryInfo::buildDate();
+ return qMax(-1, today.daysTo(build) + 30);
+}
+
+static int qt_eval_is_supported()
+{
+ const char *const license_key = qt_eval_key_data + 12;
+ if (!qt_eval_key_data[0] || !*license_key)
+ return -1;
+
+ // is this an unsupported evaluation?
+ const char* typecode = license_key;
+ int field = 2;
+ for ( ; field && *typecode; ++typecode)
+ if (*typecode == '-')
+ --field;
+
+ if (!field && typecode[1] == '4' && typecode[2] == 'M') {
+ if (typecode[0] == 'Q')
+ return 0;
+ else if (typecode[0] == 'R' || typecode[0] == 'Z')
+ return 1;
+ }
+ return -1;
+}
+
+static QString qt_eval_string()
+{
+ const char *msg;
+ switch (qt_eval_is_supported()) {
+ case 0:
+ msg = boilerplate_unsuported;
+ break;
+ case 1:
+ msg = boilerplate_supported;
+ break;
+ default:
+ return QString();
+ msg = 0;
+ }
+
+ return QString::fromLatin1(msg)
+ .arg(QLatin1String(QT_VERSION_STR))
+ .arg(QLibraryInfo::licensee())
+ .arg(qt_eval_days_left());
+}
+
+#define WARN_TIMEOUT 60 * 1000 * 119
+#define KILL_DELAY 60 * 1000 * 1
+
+class QCoreFuriCuri : public QObject
+{
+public:
+
+ int warn;
+ int kill;
+
+ QCoreFuriCuri() : QObject(), warn(-1), kill(-1)
+ {
+ if (!qt_eval_is_supported()) {
+ warn = startTimer(WARN_TIMEOUT);
+ kill = 0;
+ }
+ }
+
+ void timerEvent(QTimerEvent *e) {
+ if (e->timerId() == warn) {
+ killTimer(warn);
+ fprintf(stderr, "%s\n", will_shutdown_1min);
+ kill = startTimer(KILL_DELAY);
+ } else if (e->timerId() == kill) {
+ fprintf(stderr, "%s\n", will_shutdown_now);
+ QCoreApplication::instance()->quit();
+ }
+ }
+};
+
+#if defined(QT_BUILD_CORE_LIB) || defined (QT_BOOTSTRAPPED)
+
+void qt_core_eval_init(uint type)
+{
+ switch (qt_eval_days_left()) {
+ case -2:
+ return;
+
+ case -1:
+ fprintf(stderr, "%s\n", boilerplate_expired);
+ if (type == 0) {
+ // if we're a console app only.
+ exit(0);
+ }
+
+ default:
+ fprintf(stderr, "%s\n", qPrintable(qt_eval_string()));
+ if (type == 0) {
+ Q_UNUSED(new QCoreFuriCuri());
+ }
+ }
+}
+#endif
+
+#ifdef QT_BUILD_GUI_LIB
+
+QT_BEGIN_INCLUDE_NAMESPACE
+#include <qdialog.h>
+#include <qlabel.h>
+#include <qlayout.h>
+#include <qmessagebox.h>
+#include <qpushbutton.h>
+#include <qtimer.h>
+#include <qapplication.h>
+QT_END_INCLUDE_NAMESPACE
+
+
+static const char * const qtlogo_eval_xpm[] = {
+/* columns rows colors chars-per-pixel */
+"46 55 174 2",
+" c #002E02",
+". c #00370D",
+"X c #003A0E",
+"o c #003710",
+"O c #013C13",
+"+ c #043E1A",
+"@ c #084F0A",
+"# c #0B520C",
+"$ c #054413",
+"% c #0C4C17",
+"& c #07421D",
+"* c #09451D",
+"= c #0D491E",
+"- c #125515",
+"; c #13541A",
+": c #17591B",
+"> c #1B5C1D",
+", c #1F611F",
+"< c #20621E",
+"1 c #337B1E",
+"2 c #0B4521",
+"3 c #0F4923",
+"4 c #114B24",
+"5 c #154D2A",
+"6 c #175323",
+"7 c #1C5924",
+"8 c #1C532F",
+"9 c #1E5432",
+"0 c #245936",
+"q c #265938",
+"w c #295C3B",
+"e c #246324",
+"r c #266823",
+"t c #2A6C24",
+"y c #276628",
+"u c #2D7026",
+"i c #327427",
+"p c #367927",
+"a c #37782A",
+"s c #397C2A",
+"d c #2E613E",
+"f c #336C37",
+"g c #2F6040",
+"h c #356545",
+"j c #3C6B4E",
+"k c #3F6C51",
+"l c #406E4F",
+"z c #406D52",
+"x c #477457",
+"c c #497557",
+"v c #4B7857",
+"b c #517B5E",
+"n c #3C8423",
+"m c #3E812C",
+"M c #53A61D",
+"N c #41862C",
+"B c #458A2D",
+"V c #498F2D",
+"C c #479324",
+"Z c #489226",
+"A c #4D952C",
+"S c #478B30",
+"D c #488C30",
+"F c #4D9232",
+"G c #509632",
+"H c #549A33",
+"J c #589F35",
+"K c #56A526",
+"L c #57A821",
+"P c #5BAA27",
+"I c #57A32A",
+"U c #5CA72E",
+"Y c #5DAB2A",
+"T c #5CA336",
+"R c #60AD2E",
+"E c #63B12D",
+"W c #65AF35",
+"Q c #62A53F",
+"! c #65AE39",
+"~ c #66B036",
+"^ c #6AB437",
+"/ c #67B138",
+"( c #6AB339",
+") c #6DB838",
+"_ c #70BA3C",
+"` c #4D8545",
+"' c #4E8942",
+"] c #548851",
+"[ c #6FAF4A",
+"{ c #6DB243",
+"} c #71B546",
+"| c #70B840",
+" . c #73B648",
+".. c #79BA4E",
+"X. c #7CBB53",
+"o. c #598266",
+"O. c #62886D",
+"+. c #6A8F75",
+"@. c #6B9173",
+"#. c #70937A",
+"$. c #799F79",
+"%. c #7BAF66",
+"&. c #81BD5B",
+"*. c #85BF60",
+"=. c #85AC7F",
+"-. c #8DBA7B",
+";. c #87C061",
+":. c #8AC364",
+">. c #8DC46A",
+",. c #90C56E",
+"<. c #93C771",
+"1. c #96CA73",
+"2. c #9ACB7C",
+"3. c #9FD07D",
+"4. c #779981",
+"5. c #7F9F89",
+"6. c #809F88",
+"7. c #82A18B",
+"8. c #86A192",
+"9. c #8DA994",
+"0. c #8FA998",
+"q. c #94AF9B",
+"w. c #97B991",
+"e. c #97B19E",
+"r. c #9DB6A3",
+"t. c #A3BCA7",
+"y. c #A6BCAB",
+"u. c #A9BEB1",
+"i. c #9ECD81",
+"p. c #A2CF85",
+"a. c #A5D284",
+"s. c #A6D189",
+"d. c #A9D28E",
+"f. c #ABD491",
+"g. c #B1D797",
+"h. c #B1D699",
+"j. c #B5D89E",
+"k. c #ADC5AC",
+"l. c #B1CAAE",
+"z. c #B9DAA3",
+"x. c #BDDDA8",
+"c. c #ADC1B4",
+"v. c #B2C6B6",
+"b. c #B5C6BC",
+"n. c #B6C9BA",
+"m. c #BCD1BA",
+"M. c #C6E1B4",
+"N. c #CDE5BD",
+"B. c #C2D2C6",
+"V. c #CADEC2",
+"C. c #C6D3CC",
+"Z. c #C8D7CB",
+"A. c #CEDAD2",
+"S. c #D2DDD4",
+"D. c #D3E9C6",
+"F. c #D7EBC9",
+"G. c #D9EBCD",
+"H. c #DEEED4",
+"J. c #D6E0D9",
+"K. c #DAE4DC",
+"L. c #E0EFD7",
+"P. c #E5F2DD",
+"I. c #DFE8E0",
+"U. c #E4EBE5",
+"Y. c #E9EFEA",
+"T. c #EDF4EB",
+"R. c #F0FAE6",
+"E. c #F1F8EC",
+"W. c #EDF0F0",
+"Q. c #F4F7F3",
+"!. c #F6F9F4",
+"~. c #F8FAF7",
+"^. c #FEFEFE",
+"/. c None",
+/* pixels */
+"/././././.c h ' Q / W _ &.p././././././././././././././././././././././././././././././././.",
+"/././.4 O % Z ~ ~ W ~ W R U R R ( X.>.p././././././././././././././././././././././././././.",
+"/./.. * = J _ ~ ~ ~ ~ ~ / / / / W W U P P U W .;.2././././././././././././././././././././.",
+"/.= = & a ) W ~ ~ ~ ~ ~ / W / ~ ~ ~ ^ ( ( ^ ~ R R U P Y ~ .;.2././././././././././././././.",
+"O.O = = T ^ W ~ ~ ~ ~ ~ ~ W W / W ~ ~ ~ ~ ~ ~ ~ ( ( ( ( ~ W Y Y Y Y W { &.1././././././././.",
+"0 = * 7 ~ ~ ~ ~ ~ ~ ~ ~ ~ / / W ~ ~ ~ ~ ~ ~ ~ ~ W W W ~ ~ ~ ~ ( ( ( W W R U P U W { X.1.f./.",
+"= = & e ^ W ~ ~ ~ ~ ~ ~ ~ ~ / / ~ ~ ~ ~ ~ ~ ~ ~ W ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ^ ( ( / ~ W R U U Y ",
+"= = & e ^ W ~ ~ ~ ~ ~ ~ ~ ~ W W ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ W ( W ~ ~ ~ ^ ^ ( ",
+"= = * e ^ W ~ ~ ~ ~ ~ ~ / W / W ! ( / ~ W ^ ( ( ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ W ~ W W ~ ~ ~ ~ ~ ~ ",
+"= = & e ^ ! ~ ~ ~ ~ ~ ~ W W ^ _ ~ K Y W W R P Y W ( ~ ~ ~ ~ ~ ~ ~ W / ~ ~ ~ ^ W ~ ~ ~ ~ ~ ~ ",
+"= = & e ^ W ~ ~ ~ ~ ~ ~ W ) W 1 ` w.V.L.H.D.z.,.~ Y ^ ~ ~ ~ ~ ~ W ~ ~ ~ ( ~ W W ~ ~ ~ ~ ~ ~ ",
+"= = & e ^ W ~ ~ ~ ~ ~ W ) V = 8.~.^.^.^.^.^.^.^.U.<.Y ~ ~ ~ ~ ~ W W ! ~ Y W ^ W ~ ~ ~ ~ ~ ~ ",
+"= = & e ^ W ~ ~ ~ ~ W ^ B O u.^.~.^.^.^.^.~.~.^.^.^.h.Y ^ ~ ~ ^ F $ k.R.G.1.Y / ~ ~ ~ ~ ~ ~ ",
+"= = & e ^ ~ ~ ~ / W ( J X 7.^.~.^.^.^.^.^.^.^.^.^.^.^.s.Y / W ) a 2 U.^.^.d.U ( ~ ~ ~ ~ ~ ~ ",
+"= = & e ^ W / ~ ~ ~ ^ > w ~.^.^.^.^.^.F.%.v c.^.^.^.^.~.X.W ~ ^ > h ^.^.^.d.P ( ~ ~ ~ ~ ~ ~ ",
+"= = & e ^ W ~ ~ W ^ H o e.^.^.^.^.^.G.Y E n . y.^.^.^.^.M.Y ( ! $ @.^.~.^.f.U ( / ~ ~ W ~ ~ ",
+"= = & e ^ W ~ W ! ) t 4 U.^.^.^.^.^.>.U ( _ , 9 ~.^.^.^.~...^ A y.^.~.^.s.M W Y ~ ~ ~ ~ ~ ",
+"= 3 & e ^ W ~ ( ^ ( $ c ^.^.^.^.^.E.) ~ ~ ^ S o n.^.^.^.^.=.- l.v.Y.^.^.^.M.:.:.X.~ ~ ~ ~ ~ ",
+"= = & e ^ ! W W ( J X 7.^.^.^.^.^.F.Y ( W ^ T X 6.^.^.~.^.c.. J.^.^.^.^.^.^.^.^.P.~ ~ ~ ~ ~ ",
+"= = & r ^ W / W ) B o v.^.~.^.^.^.M.U / ~ ~ ! $ o.^.^.^.^.K.* S.^.^.^.^.^.^.^.^.P.~ ~ ~ ~ ~ ",
+"= = & e ^ ! ~ W ) a + S.^.^.^.^.^.z.P ( W ~ ( % z ^.^.^.^.~.f t.U.^.^.^.^.~.^.^.P.~ ~ ~ ~ ~ ",
+"* = & e ^ W ~ W ) t 3 Y.^.^.^.^.^.f.P ( ~ ~ ^ ; h ^.^.^.^.^.:.@ j ^.^.^.^.h.{ X.&.~ ~ ~ ~ ~ ",
+"3 = & e ^ W ~ ~ ^ e 8 Q.^.^.^.^.^.s.P ~ ~ W ^ > 0 ~.^.^.^.^.1.# z ^.^.^.^.d.L W R ~ ~ ~ ~ ~ ",
+"= = & e ^ W ~ ~ ^ > q ~.^.^.^.^.^.p.U ^ ~ W ) e 9 ~.^.^.^.^.3.# k ^.^.^.^.f.Y ( / ~ ~ ~ ~ ~ ",
+"= = & e ^ W / W ^ > w ~.^.^.^.^.^.i.Y / ~ W ^ e 8 Q.^.^.^.^.a.# z ^.^.^.^.f.Y / ~ ~ ~ ~ ~ ~ ",
+"= = & e ^ W / W ^ > w ^.^.^.^.^.^.2.Y / ~ ~ ) e 8 Q.^.^.^.^.s.# z ^.^.^.^.d.P ( ~ ~ ~ ~ ~ ~ ",
+"= = & e ^ W W W ^ > q ^.^.^.^.^.^.p.Y / ~ ~ ^ e 9 Q.^.^.^.^.a.@ z ^.^.^.^.f.U / ~ ~ ~ ~ ~ ~ ",
+"= = & e ^ W / W ) 7 9 Q.^.^.^.^.^.a.P / ~ W ) , 9 Q.^.^.^.^.3.# z ^.^.~.^.f.P ^ ~ ~ ~ ~ ~ ~ ",
+"= = & e ^ W / W ) r 5 T.^.^.^.^.^.d.Y / ~ W ) > q ~.^.^.^.^.1.# k ^.^.^.^.f.Y ( ~ ~ ~ ~ ~ ~ ",
+"= = & e ^ / / W ) i 2 I.^.^.^.^.^.h.P ( ~ W ( > g ^.^.^.^.^.:.# z ^.^.^.^.f.P / ~ ~ ~ ~ ~ ~ ",
+"= = & e ( W / W ) m O Z.^.^.^.^.^.x.P / ~ ~ ( ; j ^.^.^.^.~.&.- k ^.^.~.^.f.P / ~ ~ ~ ~ ~ ~ ",
+"= = & e ( W / W ) F o y.^.~.^.^.^.N.U ( ~ ~ W $ b ^.^.^.^.R._ - k ^.^.^.^.f.Y ( ~ ~ ~ ~ ~ ~ ",
+"= = & e ^ W ~ ~ ^ J X 4.^.^.^.^.^.L.~ ~ W ^ T X #.^.^.^.^.F.~ ; j ^.^.^.^.f.U ( ~ ~ ~ ~ ~ ~ ",
+"= = & e ^ ~ ~ ~ / ^ % l ^.^.^.^.^.!. .R ^ ^ G . r.^.~.^.^.j.E : j ^.^.^.^.f.P ) ( ~ ~ ~ ~ ~ ",
+"= = & e ^ W ~ ~ W ) u = U.^.^.^.^.^.1.Y ! ) a & K.^.^.^.^.;.~ : j ^.^.~.^.z.M I I / ~ ~ W ~ ",
+"= = & e ( W ~ ~ W ( G . q.^.^.^.^.^.D.U ^ ! X o.^.^.^.^.P.~ ^ > g ^.^.^.^.E.-.$.m.X.W ~ ~ ~ ",
+"= = & e ^ / ~ ~ ^ ! ( > w ~.^.^.^.^.^.h.T > j T.^.^.~.^.a.Y _ i 3 U.^.^.^.^.^.^.^.X.R ~ ~ ~ ",
+"= = & e ^ / ~ ~ W W ^ H . 9.^.~.^.^.^.^.K.C.~.^.^.^.^.H.W W ^ T . q.^.~.^.^.^.^.^.X.R ~ ~ ~ ",
+"= = + e ^ W / ~ W W W ) m + B.^.~.^.^.^.^.^.^.^.^.^.E.X.Y ( W ^ B 6 y.^.^.^.E.D.2.( ~ ~ ~ ~ ",
+"= = * e ^ ! / ! W ^ W W ) a 4 b.^.^.^.^.^.^.^.^.^.P...Y ( ! W ! ^ W Z [ *.X.{ Y U ~ ~ ~ ~ ~ ",
+"= = & e ( W ~ ~ W / W / W ) A < +.A.~.^.^.^.^.!.p.W R ~ ~ ~ ~ ~ W / ) E U W W / ^ ~ ~ ~ ~ ~ ",
+"= = & e ^ W ~ ~ / W / / / W ( _ Z X 6.^.^.^.^.E.W ~ ^ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ / ~ ~ ~ ~ ~ ~ ~ ~ ",
+"= = & e ^ ~ ~ ~ W W / W ~ ~ ~ ~ ) ; h ^.^.^.^.^.d.M U ~ / ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ W ",
+"= = & e ^ W ~ ~ ^ W W / ~ ~ ~ W ) p + S.^.^.^.^.~.M.f. .W ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ .",
+"= = & e ^ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ W ( T O +.^.~.^.^.^.^.^.&.Y ( ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ W ( Y 2.",
+"= = & e ( W ~ ~ ~ ~ ~ ~ ~ ~ ~ / W ) N + b.^.^.^.^.^.^.&.R ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ W /.",
+"= = & e ^ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ W ^ N 7 r.W.^.^.^.!.X.W ~ ~ W ~ W ~ ~ ~ ~ ~ ~ / ( ( K p./.",
+"= = & e ( W ~ ~ W ~ ~ ~ ~ ~ ~ ~ ~ ~ W ( W C Q &.:.X.| ~ ~ ~ ~ W ~ / ~ ( / ( ~ W E U P 1././.",
+"= = + e ^ / / / ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ W / ) ^ R Y W W ~ ~ ( / ( / W R Y Y U R ( X.,././././.",
+"= = * e ( / ~ / ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ W W W ! ( ( ( W W E U P Y W ( X.,.d./././././././././.",
+"= = * e ( W ~ ~ ~ ~ W ! ~ W ~ W ~ ( ( / ^ W W U Y P W ( X.,.d./././././././././././././././.",
+"8 $ * e ( W ~ ~ ~ ! ( ( ( / ( W R Y Y Y R ( X.>.d./././././././././././././././././././././.",
+"/.d . y ^ / / / ( W Y Y P P W ( X.>.d./././././././././././././././././././././././././././.",
+"/./.h : ^ R R R W ( X.<.f./././././././././././././././././././././././././././././././././.",
+"/././.] _ *.3./././././././././././././././././././././././././././././././././././././././."
+};
+
+class EvalMessageBox : public QDialog
+{
+public:
+ EvalMessageBox(bool expired)
+ {
+ setWindowTitle(QLatin1String(" "));
+
+ QString str = qt_eval_string();
+ if (expired) {
+ str = QLatin1String(boilerplate_expired);
+ } else {
+ str = qt_eval_string();
+ }
+ str = str.trimmed();
+
+ QFrame *border = new QFrame(this);
+
+ QLabel *pixmap_label = new QLabel(border);
+ pixmap_label->setPixmap(qtlogo_eval_xpm);
+ pixmap_label->setAlignment(Qt::AlignTop);
+
+ QLabel *text_label = new QLabel(str, border);
+
+ QHBoxLayout *pm_and_text_layout = new QHBoxLayout();
+ pm_and_text_layout->addWidget(pixmap_label);
+ pm_and_text_layout->addWidget(text_label);
+
+ QVBoxLayout *master_layout = new QVBoxLayout(border);
+ master_layout->addLayout(pm_and_text_layout);
+
+ QVBoxLayout *border_layout = new QVBoxLayout(this);
+ border_layout->setMargin(0);
+ border_layout->addWidget(border);
+
+ if (expired) {
+ QPushButton *cmd = new QPushButton(QLatin1String("OK"), border);
+ cmd->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
+ cmd->setDefault(true);
+
+ QHBoxLayout *button_layout = new QHBoxLayout();
+ master_layout->addLayout(button_layout);
+ button_layout->addWidget(cmd);
+
+ connect(cmd, SIGNAL(clicked()), this, SLOT(close()));
+ } else {
+ border->setFrameShape(QFrame::WinPanel);
+ border->setFrameShadow(QFrame::Raised);
+ setParent(parentWidget(), Qt::FramelessWindowHint | Qt::WindowStaysOnTopHint);
+ QTimer::singleShot(7000, this, SLOT(close()));
+ setAttribute(Qt::WA_DeleteOnClose);
+ }
+
+ setFixedSize(sizeHint());
+ }
+};
+
+class QGuiFuriCuri : public QCoreFuriCuri
+{
+public:
+ void timerEvent(QTimerEvent *e) {
+ if (e->timerId() == warn) {
+ killTimer(warn);
+ QMessageBox::information(0, QLatin1String("Automatic Timeout"), QLatin1String(will_shutdown_1min));
+ kill = startTimer(KILL_DELAY);
+ } else if (e->timerId() == kill) {
+ killTimer(kill);
+ QMessageBox::information(0, QLatin1String("Automatic Timeout"), QLatin1String(will_shutdown_now));
+ qApp->quit();
+ }
+ }
+};
+
+
+void qt_gui_eval_init(uint)
+{
+ switch (qt_eval_days_left()) {
+ case -2:
+ return;
+
+ case -1: {
+ EvalMessageBox box(true);
+ box.exec();
+ ::exit(0);
+ }
+
+ default: {
+ EvalMessageBox *box = new EvalMessageBox(false);
+ box->show();
+ Q_UNUSED(new QGuiFuriCuri());
+ }
+ }
+}
+
+static QString qt_eval_title_prefix()
+{
+ return QLatin1String("[Qt Evaluation] ");
+}
+
+QString qt_eval_adapt_window_title(const QString &title)
+{
+ if (qt_eval_days_left() == -2)
+ return title;
+ return qt_eval_title_prefix() + title;
+}
+
+void qt_eval_init_widget(QWidget *w)
+{
+ if (qt_eval_days_left() == -2)
+ return;
+ if (w->isTopLevel()) {
+ QString windowTitle = w->windowTitle();
+ if (windowTitle.isEmpty()) {
+ w->setWindowTitle(QLatin1String(" "));
+ } else if (!windowTitle.startsWith(qt_eval_title_prefix())) {
+ qt_eval_adapt_window_title(windowTitle);
+ }
+ }
+}
+#endif
+
+QT_END_NAMESPACE
diff --git a/src/corelib/kernel/qvariant.h b/src/corelib/kernel/qvariant.h
index eb4fb56..3c10788 100644
--- a/src/corelib/kernel/qvariant.h
+++ b/src/corelib/kernel/qvariant.h
@@ -456,10 +456,11 @@ template <typename T>
inline void qVariantSetValue(QVariant &v, const T &t)
{
//if possible we reuse the current QVariant private
- const int type = qMetaTypeId<T>(reinterpret_cast<T *>(0));
+ const uint type = qMetaTypeId<T>(reinterpret_cast<T *>(0));
QVariant::Private &d = v.data_ptr();
- if (v.isDetached() && (type <= int(QVariant::Char) || type == d.type)) {
+ if (v.isDetached() && (type <= uint(QVariant::Char) || type == d.type)) {
d.type = type;
+ d.is_null = false;
T *old = reinterpret_cast<T*>(d.is_shared ? d.data.shared->ptr : &d.data.ptr);
if (QTypeInfo<T>::isComplex)
old->~T();
@@ -469,6 +470,13 @@ inline void qVariantSetValue(QVariant &v, const T &t)
}
}
+template <>
+inline void qVariantSetValue<QVariant>(QVariant &v, const QVariant &t)
+{
+ v = t;
+}
+
+
inline QVariant::QVariant() {}
inline bool QVariant::isValid() const { return d.type != Invalid; }
@@ -558,9 +566,7 @@ inline bool operator!=(const QVariant &v1, const QVariantComparisonHelper &v2)
#endif
#ifndef QT_MOC
-#if !defined qdoc && defined Q_CC_MSVC && _MSC_VER < 1300
-
-template<typename T> T qvariant_cast(const QVariant &v, T * = 0)
+template<typename T> inline T qvariant_cast(const QVariant &v)
{
const int vid = qMetaTypeId<T>(static_cast<T *>(0));
if (vid == v.userType())
@@ -573,28 +579,12 @@ template<typename T> T qvariant_cast(const QVariant &v, T * = 0)
return T();
}
-template<typename T>
-inline T qVariantValue(const QVariant &variant, T *t = 0)
-{ return qvariant_cast<T>(variant, t); }
-
-template<typename T>
-inline bool qVariantCanConvert(const QVariant &variant, T *t = 0)
-{
- return variant.canConvert(static_cast<QVariant::Type>(qMetaTypeId<T>(t)));
-}
-#else
-
-template<typename T> T qvariant_cast(const QVariant &v)
+template<> inline QVariant qvariant_cast<QVariant>(const QVariant &v)
{
- const int vid = qMetaTypeId<T>(static_cast<T *>(0));
+ static const int vid = qRegisterMetaType<QVariant>("QVariant");
if (vid == v.userType())
- return *reinterpret_cast<const T *>(v.constData());
- if (vid < int(QMetaType::User)) {
- T t;
- if (qvariant_cast_helper(v, QVariant::Type(vid), &t))
- return t;
- }
- return T();
+ return *reinterpret_cast<const QVariant *>(v.constData());
+ return v;
}
template<typename T>
@@ -608,7 +598,6 @@ inline bool qVariantCanConvert(const QVariant &variant)
qMetaTypeId<T>(static_cast<T *>(0))));
}
#endif
-#endif
Q_DECLARE_SHARED(QVariant)
Q_DECLARE_TYPEINFO(QVariant, Q_MOVABLE_TYPE);
diff --git a/src/corelib/plugin/qlibrary.cpp b/src/corelib/plugin/qlibrary.cpp
index 2b463a1..6496876 100644
--- a/src/corelib/plugin/qlibrary.cpp
+++ b/src/corelib/plugin/qlibrary.cpp
@@ -659,7 +659,10 @@ bool QLibraryPrivate::isPlugin(QSettings *settings)
#endif
if (!pHnd) {
#ifdef Q_OS_WIN
+ //avoid 'Bad Image' message box
+ UINT oldmode = SetErrorMode(SEM_FAILCRITICALERRORS|SEM_NOOPENFILEERRORBOX);
hTempModule = ::LoadLibraryEx((wchar_t*)QDir::toNativeSeparators(fileName).utf16(), 0, DONT_RESOLVE_DLL_REFERENCES);
+ SetErrorMode(oldmode);
#else
# if defined(Q_OS_SYMBIAN)
//Guard against accidentally trying to load non-plugin libraries by making sure the stub exists
diff --git a/src/corelib/statemachine/qabstractstate.cpp b/src/corelib/statemachine/qabstractstate.cpp
index 72d640b..ec5332f 100644
--- a/src/corelib/statemachine/qabstractstate.cpp
+++ b/src/corelib/statemachine/qabstractstate.cpp
@@ -78,7 +78,8 @@ QT_BEGIN_NAMESPACE
function to perform custom processing when the state is exited.
*/
-QAbstractStatePrivate::QAbstractStatePrivate()
+QAbstractStatePrivate::QAbstractStatePrivate(StateType type)
+ : stateType(type), isMachine(false), parentState(0)
{
}
@@ -87,6 +88,11 @@ QAbstractStatePrivate *QAbstractStatePrivate::get(QAbstractState *q)
return q->d_func();
}
+const QAbstractStatePrivate *QAbstractStatePrivate::get(const QAbstractState *q)
+{
+ return q->d_func();
+}
+
QStateMachine *QAbstractStatePrivate::machine() const
{
QObject *par = parent;
@@ -126,7 +132,7 @@ void QAbstractStatePrivate::emitExited()
Constructs a new state with the given \a parent state.
*/
QAbstractState::QAbstractState(QState *parent)
- : QObject(*new QAbstractStatePrivate, parent)
+ : QObject(*new QAbstractStatePrivate(QAbstractStatePrivate::AbstractState), parent)
{
}
@@ -150,7 +156,10 @@ QAbstractState::~QAbstractState()
*/
QState *QAbstractState::parentState() const
{
- return qobject_cast<QState*>(parent());
+ Q_D(const QAbstractState);
+ if (d->parentState != parent())
+ d->parentState = qobject_cast<QState*>(parent());
+ return d->parentState;
}
/*!
diff --git a/src/corelib/statemachine/qabstractstate_p.h b/src/corelib/statemachine/qabstractstate_p.h
index 4b1306d..faea6b6 100644
--- a/src/corelib/statemachine/qabstractstate_p.h
+++ b/src/corelib/statemachine/qabstractstate_p.h
@@ -65,9 +65,17 @@ class QAbstractStatePrivate : public QObjectPrivate
Q_DECLARE_PUBLIC(QAbstractState)
public:
- QAbstractStatePrivate();
+ enum StateType {
+ AbstractState,
+ StandardState,
+ FinalState,
+ HistoryState
+ };
+
+ QAbstractStatePrivate(StateType type);
static QAbstractStatePrivate *get(QAbstractState *q);
+ static const QAbstractStatePrivate *get(const QAbstractState *q);
QStateMachine *machine() const;
@@ -76,6 +84,10 @@ public:
void emitEntered();
void emitExited();
+
+ uint stateType:31;
+ uint isMachine:1;
+ mutable QState *parentState;
};
QT_END_NAMESPACE
diff --git a/src/corelib/statemachine/qfinalstate.cpp b/src/corelib/statemachine/qfinalstate.cpp
index 761eee4..d900ddd 100644
--- a/src/corelib/statemachine/qfinalstate.cpp
+++ b/src/corelib/statemachine/qfinalstate.cpp
@@ -92,6 +92,7 @@ public:
};
QFinalStatePrivate::QFinalStatePrivate()
+ : QAbstractStatePrivate(FinalState)
{
}
diff --git a/src/corelib/statemachine/qhistorystate.cpp b/src/corelib/statemachine/qhistorystate.cpp
index 0c2b858..18436d3 100644
--- a/src/corelib/statemachine/qhistorystate.cpp
+++ b/src/corelib/statemachine/qhistorystate.cpp
@@ -120,7 +120,8 @@ QT_BEGIN_NAMESPACE
*/
QHistoryStatePrivate::QHistoryStatePrivate()
- : defaultState(0), historyType(QHistoryState::ShallowHistory)
+ : QAbstractStatePrivate(HistoryState),
+ defaultState(0), historyType(QHistoryState::ShallowHistory)
{
}
diff --git a/src/corelib/statemachine/qstate.cpp b/src/corelib/statemachine/qstate.cpp
index a6e4a57..cf718a5 100644
--- a/src/corelib/statemachine/qstate.cpp
+++ b/src/corelib/statemachine/qstate.cpp
@@ -124,7 +124,9 @@ QT_BEGIN_NAMESPACE
*/
QStatePrivate::QStatePrivate()
- : errorState(0), initialState(0), childMode(QState::ExclusiveStates)
+ : QAbstractStatePrivate(StandardState),
+ errorState(0), initialState(0), childMode(QState::ExclusiveStates),
+ childStatesListNeedsRefresh(true), transitionsListNeedsRefresh(true)
{
}
@@ -138,10 +140,10 @@ void QStatePrivate::emitFinished()
emit q->finished();
}
-void QStatePrivate::emitPolished()
+void QStatePrivate::emitPropertiesAssigned()
{
Q_Q(QState);
- emit q->polished();
+ emit q->propertiesAssigned();
}
/*!
@@ -180,15 +182,18 @@ QState::~QState()
QList<QAbstractState*> QStatePrivate::childStates() const
{
- QList<QAbstractState*> result;
- QList<QObject*>::const_iterator it;
- for (it = children.constBegin(); it != children.constEnd(); ++it) {
- QAbstractState *s = qobject_cast<QAbstractState*>(*it);
- if (!s || qobject_cast<QHistoryState*>(s))
- continue;
- result.append(s);
+ if (childStatesListNeedsRefresh) {
+ childStatesList.clear();
+ QList<QObject*>::const_iterator it;
+ for (it = children.constBegin(); it != children.constEnd(); ++it) {
+ QAbstractState *s = qobject_cast<QAbstractState*>(*it);
+ if (!s || qobject_cast<QHistoryState*>(s))
+ continue;
+ childStatesList.append(s);
+ }
+ childStatesListNeedsRefresh = false;
}
- return result;
+ return childStatesList;
}
QList<QHistoryState*> QStatePrivate::historyStates() const
@@ -205,14 +210,17 @@ QList<QHistoryState*> QStatePrivate::historyStates() const
QList<QAbstractTransition*> QStatePrivate::transitions() const
{
- QList<QAbstractTransition*> result;
- QList<QObject*>::const_iterator it;
- for (it = children.constBegin(); it != children.constEnd(); ++it) {
- QAbstractTransition *t = qobject_cast<QAbstractTransition*>(*it);
- if (t)
- result.append(t);
+ if (transitionsListNeedsRefresh) {
+ transitionsList.clear();
+ QList<QObject*>::const_iterator it;
+ for (it = children.constBegin(); it != children.constEnd(); ++it) {
+ QAbstractTransition *t = qobject_cast<QAbstractTransition*>(*it);
+ if (t)
+ transitionsList.append(t);
+ }
+ transitionsListNeedsRefresh = false;
}
- return result;
+ return transitionsList;
}
#ifndef QT_NO_PROPERTIES
@@ -221,7 +229,7 @@ QList<QAbstractTransition*> QStatePrivate::transitions() const
Instructs this state to set the property with the given \a name of the given
\a object to the given \a value when the state is entered.
- \sa polished()
+ \sa propertiesAssigned()
*/
void QState::assignProperty(QObject *object, const char *name,
const QVariant &value)
@@ -279,15 +287,14 @@ void QState::setErrorState(QAbstractState *state)
/*!
Adds the given \a transition. The transition has this state as the source.
- This state takes ownership of the transition. If the transition is successfully
- added, the function will return the \a transition pointer. Otherwise it will return null.
+ This state takes ownership of the transition.
*/
-QAbstractTransition *QState::addTransition(QAbstractTransition *transition)
+void QState::addTransition(QAbstractTransition *transition)
{
Q_D(QState);
if (!transition) {
qWarning("QState::addTransition: cannot add null transition");
- return 0;
+ return ;
}
transition->setParent(this);
@@ -296,18 +303,17 @@ QAbstractTransition *QState::addTransition(QAbstractTransition *transition)
QAbstractState *t = targets.at(i).data();
if (!t) {
qWarning("QState::addTransition: cannot add transition to null state");
- return 0;
+ return ;
}
if ((QAbstractStatePrivate::get(t)->machine() != d->machine())
&& QAbstractStatePrivate::get(t)->machine() && d->machine()) {
qWarning("QState::addTransition: cannot add transition "
"to a state in a different state machine");
- return 0;
+ return ;
}
}
if (machine() != 0 && machine()->configuration().contains(this))
QStateMachinePrivate::get(machine())->registerTransitions(this);
- return transition;
}
/*!
@@ -372,7 +378,8 @@ QAbstractTransition *QState::addTransition(QAbstractState *target)
return 0;
}
UnconditionalTransition *trans = new UnconditionalTransition(target);
- return addTransition(trans);
+ addTransition(trans);
+ return trans;
}
/*!
@@ -468,6 +475,11 @@ void QState::setChildMode(ChildMode mode)
*/
bool QState::event(QEvent *e)
{
+ Q_D(QState);
+ if ((e->type() == QEvent::ChildAdded) || (e->type() == QEvent::ChildRemoved)) {
+ d->childStatesListNeedsRefresh = true;
+ d->transitionsListNeedsRefresh = true;
+ }
return QAbstractState::event(e);
}
@@ -480,9 +492,15 @@ bool QState::event(QEvent *e)
*/
/*!
- \fn QState::polished()
+ \fn QState::propertiesAssigned()
+
+ This signal is emitted when all properties have been assigned their final value. If the state
+ assigns a value to one or more properties for which an animation exists (either set on the
+ transition or as a default animation on the state machine), then the signal will not be emitted
+ until all such animations have finished playing.
- This signal is emitted when all properties have been assigned their final value.
+ If there are no relevant animations, or no property assignments defined for the state, then
+ the signal will be emitted immediately before the state is entered.
\sa QState::assignProperty(), QAbstractTransition::addAnimation()
*/
diff --git a/src/corelib/statemachine/qstate.h b/src/corelib/statemachine/qstate.h
index 7a47447..423f940 100644
--- a/src/corelib/statemachine/qstate.h
+++ b/src/corelib/statemachine/qstate.h
@@ -76,7 +76,7 @@ public:
QAbstractState *errorState() const;
void setErrorState(QAbstractState *state);
- QAbstractTransition *addTransition(QAbstractTransition *transition);
+ void addTransition(QAbstractTransition *transition);
QSignalTransition *addTransition(QObject *sender, const char *signal, QAbstractState *target);
QAbstractTransition *addTransition(QAbstractState *target);
void removeTransition(QAbstractTransition *transition);
@@ -94,7 +94,7 @@ public:
Q_SIGNALS:
void finished();
- void polished();
+ void propertiesAssigned();
protected:
void onEntry(QEvent *event);
diff --git a/src/corelib/statemachine/qstate_p.h b/src/corelib/statemachine/qstate_p.h
index 20cda29..7fe6279 100644
--- a/src/corelib/statemachine/qstate_p.h
+++ b/src/corelib/statemachine/qstate_p.h
@@ -94,11 +94,15 @@ public:
QList<QAbstractTransition*> transitions() const;
void emitFinished();
- void emitPolished();
+ void emitPropertiesAssigned();
QAbstractState *errorState;
QAbstractState *initialState;
QState::ChildMode childMode;
+ mutable bool childStatesListNeedsRefresh;
+ mutable QList<QAbstractState*> childStatesList;
+ mutable bool transitionsListNeedsRefresh;
+ mutable QList<QAbstractTransition*> transitionsList;
QList<QPropertyAssignment> propertyAssignments;
};
diff --git a/src/corelib/statemachine/qstatemachine.cpp b/src/corelib/statemachine/qstatemachine.cpp
index e182c88..ecf3f9c 100644
--- a/src/corelib/statemachine/qstatemachine.cpp
+++ b/src/corelib/statemachine/qstatemachine.cpp
@@ -159,12 +159,12 @@ QT_BEGIN_NAMESPACE
\brief the restore policy for states of this state machine.
The default value of this property is
- QStateMachine::DoNotRestoreProperties.
+ QStateMachine::DontRestoreProperties.
*/
#ifndef QT_NO_ANIMATION
/*!
- \property QStateMachine::animationsEnabled
+ \property QStateMachine::animated
\brief whether animations are enabled
@@ -178,6 +178,8 @@ QT_BEGIN_NAMESPACE
QStateMachinePrivate::QStateMachinePrivate()
{
+ QAbstractStatePrivate::isMachine = true;
+
state = NotRunning;
_startState = 0;
processing = false;
@@ -185,10 +187,10 @@ QStateMachinePrivate::QStateMachinePrivate()
stop = false;
stopProcessingReason = EventQueueEmpty;
error = QStateMachine::NoError;
- globalRestorePolicy = QStateMachine::DoNotRestoreProperties;
+ globalRestorePolicy = QStateMachine::DontRestoreProperties;
signalEventGenerator = 0;
#ifndef QT_NO_ANIMATION
- animationsEnabled = true;
+ animated = true;
#endif
}
@@ -336,7 +338,7 @@ QSet<QAbstractTransition*> QStateMachinePrivate::selectTransitions(QEvent *event
if (isPreempted(state, enabledTransitions))
continue;
QList<QState*> lst = properAncestors(state, rootState()->parentState());
- if (QState *grp = qobject_cast<QState*>(state))
+ if (QState *grp = toStandardState(state))
lst.prepend(grp);
bool found = false;
for (int j = 0; (j < lst.size()) && !found; ++j) {
@@ -414,7 +416,7 @@ QList<QAbstractState*> QStateMachinePrivate::exitStates(QEvent *event, const QLi
qSort(statesToExit_sorted.begin(), statesToExit_sorted.end(), stateExitLessThan);
for (int i = 0; i < statesToExit_sorted.size(); ++i) {
QAbstractState *s = statesToExit_sorted.at(i);
- if (QState *grp = qobject_cast<QState*>(s)) {
+ if (QState *grp = toStandardState(s)) {
QList<QHistoryState*> hlst = QStatePrivate::get(grp)->historyStates();
for (int j = 0; j < hlst.size(); ++j) {
QHistoryState *h = hlst.at(j);
@@ -563,7 +565,7 @@ void QStateMachinePrivate::addStatesToEnter(QAbstractState *s, QState *root,
QSet<QAbstractState*> &statesToEnter,
QSet<QAbstractState*> &statesForDefaultEntry)
{
- if (QHistoryState *h = qobject_cast<QHistoryState*>(s)) {
+ if (QHistoryState *h = toHistoryState(s)) {
QList<QAbstractState*> hconf = QHistoryStatePrivate::get(h)->configuration;
if (!hconf.isEmpty()) {
for (int k = 0; k < hconf.size(); ++k) {
@@ -600,7 +602,7 @@ void QStateMachinePrivate::addStatesToEnter(QAbstractState *s, QState *root,
}
statesToEnter.insert(s);
if (isParallel(s)) {
- QState *grp = qobject_cast<QState*>(s);
+ QState *grp = toStandardState(s);
QList<QAbstractState*> lst = QStatePrivate::get(grp)->childStates();
for (int i = 0; i < lst.size(); ++i) {
QAbstractState *child = lst.at(i);
@@ -608,7 +610,7 @@ void QStateMachinePrivate::addStatesToEnter(QAbstractState *s, QState *root,
}
} else if (isCompound(s)) {
statesForDefaultEntry.insert(s);
- QState *grp = qobject_cast<QState*>(s);
+ QState *grp = toStandardState(s);
QAbstractState *initial = grp->initialState();
if (initial != 0) {
Q_ASSERT(initial->machine() == q_func());
@@ -660,7 +662,7 @@ void QStateMachinePrivate::applyProperties(const QList<QAbstractTransition*> &tr
QHash<QAbstractState*, QList<QPropertyAssignment> > propertyAssignmentsForState;
QHash<RestorableId, QVariant> pendingRestorables = registeredRestorables;
for (int i = 0; i < enteredStates.size(); ++i) {
- QState *s = qobject_cast<QState*>(enteredStates.at(i));
+ QState *s = toStandardState(enteredStates.at(i));
if (!s)
continue;
@@ -742,7 +744,7 @@ void QStateMachinePrivate::applyProperties(const QList<QAbstractTransition*> &tr
// Find the animations to use for the state change.
QList<QAbstractAnimation*> selectedAnimations;
- if (animationsEnabled) {
+ if (animated) {
for (int i = 0; i < transitionList.size(); ++i) {
QAbstractTransition *transition = transitionList.at(i);
@@ -807,7 +809,7 @@ void QStateMachinePrivate::applyProperties(const QList<QAbstractTransition*> &tr
if (anim->state() == QAbstractAnimation::Running) {
// The animation is still running. This can happen if the
// animation is a group, and one of its children just finished,
- // and that caused a state to emit its polished() signal, and
+ // and that caused a state to emit its propertiesAssigned() signal, and
// that triggered a transition in the machine.
// Just stop the animation so it is correctly restarted again.
anim->stop();
@@ -829,15 +831,15 @@ void QStateMachinePrivate::applyProperties(const QList<QAbstractTransition*> &tr
}
}
- // Emit polished signal for entered states that have no animated properties.
+ // Emit propertiesAssigned signal for entered states that have no animated properties.
for (int i = 0; i < enteredStates.size(); ++i) {
- QState *s = qobject_cast<QState*>(enteredStates.at(i));
+ QState *s = toStandardState(enteredStates.at(i));
if (s
#ifndef QT_NO_ANIMATION
&& !animationsForState.contains(s)
#endif
)
- QStatePrivate::get(s)->emitPolished();
+ QStatePrivate::get(s)->emitPropertiesAssigned();
}
}
@@ -845,21 +847,21 @@ void QStateMachinePrivate::applyProperties(const QList<QAbstractTransition*> &tr
bool QStateMachinePrivate::isFinal(const QAbstractState *s)
{
- return qobject_cast<const QFinalState*>(s) != 0;
+ return s && (QAbstractStatePrivate::get(s)->stateType == QAbstractStatePrivate::FinalState);
}
bool QStateMachinePrivate::isParallel(const QAbstractState *s)
{
- const QState *ss = qobject_cast<const QState*>(s);
+ const QState *ss = toStandardState(s);
return ss && (QStatePrivate::get(ss)->childMode == QState::ParallelStates);
}
bool QStateMachinePrivate::isCompound(const QAbstractState *s) const
{
- const QState *group = qobject_cast<const QState*>(s);
+ const QState *group = toStandardState(s);
if (!group)
return false;
- bool isMachine = (qobject_cast<const QStateMachine*>(group) != 0);
+ bool isMachine = QStatePrivate::get(group)->isMachine;
// Don't treat the machine as compound if it's a sub-state of this machine
if (isMachine && (group != rootState()))
return false;
@@ -869,11 +871,11 @@ bool QStateMachinePrivate::isCompound(const QAbstractState *s) const
bool QStateMachinePrivate::isAtomic(const QAbstractState *s) const
{
- const QState *ss = qobject_cast<const QState*>(s);
+ const QState *ss = toStandardState(s);
return (ss && QStatePrivate::get(ss)->childStates().isEmpty())
|| isFinal(s)
// Treat the machine as atomic if it's a sub-state of this machine
- || (ss && (qobject_cast<const QStateMachine*>(ss) != 0) && (ss != rootState()));
+ || (ss && QStatePrivate::get(ss)->isMachine && (ss != rootState()));
}
@@ -897,10 +899,38 @@ QList<QState*> QStateMachinePrivate::properAncestors(const QAbstractState *state
return result;
}
+QState *QStateMachinePrivate::toStandardState(QAbstractState *state)
+{
+ if (state && (QAbstractStatePrivate::get(state)->stateType == QAbstractStatePrivate::StandardState))
+ return static_cast<QState*>(state);
+ return 0;
+}
+
+const QState *QStateMachinePrivate::toStandardState(const QAbstractState *state)
+{
+ if (state && (QAbstractStatePrivate::get(state)->stateType == QAbstractStatePrivate::StandardState))
+ return static_cast<const QState*>(state);
+ return 0;
+}
+
+QFinalState *QStateMachinePrivate::toFinalState(QAbstractState *state)
+{
+ if (state && (QAbstractStatePrivate::get(state)->stateType == QAbstractStatePrivate::FinalState))
+ return static_cast<QFinalState*>(state);
+ return 0;
+}
+
+QHistoryState *QStateMachinePrivate::toHistoryState(QAbstractState *state)
+{
+ if (state && (QAbstractStatePrivate::get(state)->stateType == QAbstractStatePrivate::HistoryState))
+ return static_cast<QHistoryState*>(state);
+ return 0;
+}
+
bool QStateMachinePrivate::isInFinalState(QAbstractState* s) const
{
if (isCompound(s)) {
- QState *grp = qobject_cast<QState*>(s);
+ QState *grp = toStandardState(s);
QList<QAbstractState*> lst = QStatePrivate::get(grp)->childStates();
for (int i = 0; i < lst.size(); ++i) {
QAbstractState *cs = lst.at(i);
@@ -909,7 +939,7 @@ bool QStateMachinePrivate::isInFinalState(QAbstractState* s) const
}
return false;
} else if (isParallel(s)) {
- QState *grp = qobject_cast<QState*>(s);
+ QState *grp = toStandardState(s);
QList<QAbstractState*> lst = QStatePrivate::get(grp)->childStates();
for (int i = 0; i < lst.size(); ++i) {
QAbstractState *cs = lst.at(i);
@@ -975,7 +1005,7 @@ QAbstractState *QStateMachinePrivate::findErrorState(QAbstractState *context)
// Find error state recursively in parent hierarchy if not set explicitly for context state
QAbstractState *errorState = 0;
if (context != 0) {
- QState *s = qobject_cast<QState*>(context);
+ QState *s = toStandardState(context);
if (s != 0)
errorState = s->errorState();
@@ -1100,7 +1130,7 @@ void QStateMachinePrivate::_q_animationFinished()
animations.removeOne(anim);
if (animations.isEmpty()) {
animationsForState.erase(it);
- QStatePrivate::get(qobject_cast<QState*>(state))->emitPolished();
+ QStatePrivate::get(toStandardState(state))->emitPropertiesAssigned();
}
}
@@ -1216,8 +1246,7 @@ void QStateMachinePrivate::_q_process()
delete e;
e = 0;
}
- if (enabledTransitions.isEmpty() && !internalEventQueue.isEmpty()) {
- e = internalEventQueue.takeFirst();
+ if (enabledTransitions.isEmpty() && ((e = dequeueInternalEvent()) != 0)) {
#ifdef QSTATEMACHINE_DEBUG
qDebug() << q << ": dequeued internal event" << e << "of type" << e->type();
#endif
@@ -1228,13 +1257,7 @@ void QStateMachinePrivate::_q_process()
}
}
if (enabledTransitions.isEmpty()) {
- if (externalEventQueue.isEmpty()) {
- if (internalEventQueue.isEmpty()) {
- processing = false;
- stopProcessingReason = EventQueueEmpty;
- }
- } else {
- e = externalEventQueue.takeFirst();
+ if ((e = dequeueExternalEvent()) != 0) {
#ifdef QSTATEMACHINE_DEBUG
qDebug() << q << ": dequeued external event" << e << "of type" << e->type();
#endif
@@ -1243,6 +1266,11 @@ void QStateMachinePrivate::_q_process()
delete e;
e = 0;
}
+ } else {
+ if (isInternalEventQueueEmpty()) {
+ processing = false;
+ stopProcessingReason = EventQueueEmpty;
+ }
}
}
if (!enabledTransitions.isEmpty()) {
@@ -1278,17 +1306,60 @@ void QStateMachinePrivate::_q_process()
}
}
+void QStateMachinePrivate::postInternalEvent(QEvent *e)
+{
+ QMutexLocker locker(&internalEventMutex);
+ internalEventQueue.append(e);
+}
+
+void QStateMachinePrivate::postExternalEvent(QEvent *e)
+{
+ QMutexLocker locker(&externalEventMutex);
+ externalEventQueue.append(e);
+}
+
+QEvent *QStateMachinePrivate::dequeueInternalEvent()
+{
+ QMutexLocker locker(&internalEventMutex);
+ if (internalEventQueue.isEmpty())
+ return 0;
+ return internalEventQueue.takeFirst();
+}
+
+QEvent *QStateMachinePrivate::dequeueExternalEvent()
+{
+ QMutexLocker locker(&externalEventMutex);
+ if (externalEventQueue.isEmpty())
+ return 0;
+ return externalEventQueue.takeFirst();
+}
+
+bool QStateMachinePrivate::isInternalEventQueueEmpty()
+{
+ QMutexLocker locker(&internalEventMutex);
+ return internalEventQueue.isEmpty();
+}
+
+bool QStateMachinePrivate::isExternalEventQueueEmpty()
+{
+ QMutexLocker locker(&externalEventMutex);
+ return externalEventQueue.isEmpty();
+}
+
void QStateMachinePrivate::processEvents(EventProcessingMode processingMode)
{
+ Q_Q(QStateMachine);
if ((state != Running) || processing || processingScheduled)
return;
switch (processingMode) {
case DirectProcessing:
- _q_process();
- break;
+ if (QThread::currentThread() == q->thread()) {
+ _q_process();
+ break;
+ } // fallthrough -- processing must be done in the machine thread
case QueuedProcessing:
processingScheduled = true;
- QMetaObject::invokeMethod(q_func(), "_q_process", Qt::QueuedConnection);
+ QMetaObject::invokeMethod(q, "_q_process", Qt::QueuedConnection);
break;
}
}
@@ -1296,6 +1367,7 @@ void QStateMachinePrivate::processEvents(EventProcessingMode processingMode)
void QStateMachinePrivate::cancelAllDelayedEvents()
{
Q_Q(QStateMachine);
+ QMutexLocker locker(&delayedEventsMutex);
QHash<int, QEvent*>::const_iterator it;
for (it = delayedEvents.constBegin(); it != delayedEvents.constEnd(); ++it) {
int id = it.key();
@@ -1346,7 +1418,7 @@ void QStateMachinePrivate::goToState(QAbstractState *targetState)
if (state == Running) {
QSet<QAbstractState*>::const_iterator it;
for (it = configuration.constBegin(); it != configuration.constEnd(); ++it) {
- sourceState = qobject_cast<QState*>(*it);
+ sourceState = toStandardState(*it);
if (sourceState != 0)
break;
}
@@ -1370,7 +1442,7 @@ void QStateMachinePrivate::goToState(QAbstractState *targetState)
void QStateMachinePrivate::registerTransitions(QAbstractState *state)
{
- QState *group = qobject_cast<QState*>(state);
+ QState *group = toStandardState(state);
if (!group)
return;
QList<QAbstractTransition*> transitions = QStatePrivate::get(group)->transitions();
@@ -1544,10 +1616,9 @@ void QStateMachinePrivate::unregisterEventTransition(QEventTransition *transitio
}
void QStateMachinePrivate::handleFilteredEvent(QObject *watched, QEvent *event)
-{
- Q_ASSERT(qobjectEvents.contains(watched));
- if (qobjectEvents[watched].contains(event->type())) {
- internalEventQueue.append(new QStateMachine::WrappedEvent(watched, handler->cloneEvent(event)));
+{
+ if (qobjectEvents.value(watched).contains(event->type())) {
+ postInternalEvent(new QStateMachine::WrappedEvent(watched, handler->cloneEvent(event)));
processEvents(DirectProcessing);
}
}
@@ -1571,7 +1642,7 @@ void QStateMachinePrivate::handleTransitionSignal(QObject *sender, int signalInd
qDebug() << q_func() << ": sending signal event ( sender =" << sender
<< ", signal =" << sender->metaObject()->method(signalIndex).signature() << ')';
#endif
- internalEventQueue.append(new QStateMachine::SignalEvent(sender, signalIndex, vargs));
+ postInternalEvent(new QStateMachine::SignalEvent(sender, signalIndex, vargs));
processEvents(DirectProcessing);
}
@@ -1654,7 +1725,7 @@ QStateMachine::~QStateMachine()
already been saved by the state machine, it will not be overwritten until the property has been
successfully restored.
- \value DoNotRestoreProperties The state machine should not save the initial values of properties
+ \value DontRestoreProperties The state machine should not save the initial values of properties
and restore them later.
\value RestoreProperties The state machine should save the initial values of properties
and restore them later.
@@ -1704,7 +1775,7 @@ QStateMachine::RestorePolicy QStateMachine::globalRestorePolicy() const
/*!
Sets the restore policy of the state machine to \a restorePolicy. The default
- restore policy is QAbstractState::DoNotRestoreProperties.
+ restore policy is QAbstractState::DontRestoreProperties.
\sa globalRestorePolicy()
*/
@@ -1825,6 +1896,8 @@ void QStateMachine::stop()
}
/*!
+ \threadsafe
+
Posts the given \a event of the given \a priority for processing by this
state machine.
@@ -1852,16 +1925,18 @@ void QStateMachine::postEvent(QEvent *event, EventPriority priority)
#endif
switch (priority) {
case NormalPriority:
- d->externalEventQueue.append(event);
+ d->postExternalEvent(event);
break;
case HighPriority:
- d->internalEventQueue.append(event);
+ d->postInternalEvent(event);
break;
}
d->processEvents(QStateMachinePrivate::QueuedProcessing);
}
/*!
+ \threadsafe
+
Posts the given \a event for processing by this state machine, with the
given \a delay in milliseconds. Returns an identifier associated with the
delayed event, or -1 if the event could not be posted.
@@ -1893,12 +1968,15 @@ int QStateMachine::postDelayedEvent(QEvent *event, int delay)
#ifdef QSTATEMACHINE_DEBUG
qDebug() << this << ": posting event" << event << "with delay" << delay;
#endif
+ QMutexLocker locker(&d->delayedEventsMutex);
int tid = startTimer(delay);
d->delayedEvents[tid] = event;
return tid;
}
/*!
+ \threadsafe
+
Cancels the delayed event identified by the given \a id. The id should be a
value returned by a call to postDelayedEvent(). Returns true if the event
was successfully cancelled, otherwise returns false.
@@ -1912,6 +1990,7 @@ bool QStateMachine::cancelDelayedEvent(int id)
qWarning("QStateMachine::cancelDelayedEvent: the machine is not running");
return false;
}
+ QMutexLocker locker(&d->delayedEventsMutex);
QEvent *e = d->delayedEvents.take(id);
if (!e)
return false;
@@ -1921,8 +2000,6 @@ bool QStateMachine::cancelDelayedEvent(int id)
}
/*!
- \internal
-
Returns the maximal consistent set of states (including parallel and final
states) that this state machine is currently in. If a state \c s is in the
configuration, it is always the case that the parent of \c s is also in
@@ -1963,18 +2040,23 @@ bool QStateMachine::event(QEvent *e)
int tid = te->timerId();
if (d->state != QStateMachinePrivate::Running) {
// This event has been cancelled already
+ QMutexLocker locker(&d->delayedEventsMutex);
Q_ASSERT(!d->delayedEvents.contains(tid));
return true;
}
+ d->delayedEventsMutex.lock();
QEvent *ee = d->delayedEvents.take(tid);
if (ee != 0) {
killTimer(tid);
- d->externalEventQueue.append(ee);
+ d->delayedEventsMutex.unlock();
+ d->postExternalEvent(ee);
d->processEvents(QStateMachinePrivate::DirectProcessing);
return true;
+ } else {
+ d->delayedEventsMutex.unlock();
}
}
- return QObject::event(e);
+ return QState::event(e);
}
#ifndef QT_NO_STATEMACHINE_EVENTFILTER
@@ -2063,19 +2145,19 @@ void QStateMachine::onExit(QEvent *event)
/*!
Returns whether animations are enabled for this state machine.
*/
-bool QStateMachine::animationsEnabled() const
+bool QStateMachine::isAnimated() const
{
Q_D(const QStateMachine);
- return d->animationsEnabled;
+ return d->animated;
}
/*!
Sets whether animations are \a enabled for this state machine.
*/
-void QStateMachine::setAnimationsEnabled(bool enabled)
+void QStateMachine::setAnimated(bool enabled)
{
Q_D(QStateMachine);
- d->animationsEnabled = enabled;
+ d->animated = enabled;
}
/*!
diff --git a/src/corelib/statemachine/qstatemachine.h b/src/corelib/statemachine/qstatemachine.h
index 13b6fe2..ff2b667 100644
--- a/src/corelib/statemachine/qstatemachine.h
+++ b/src/corelib/statemachine/qstatemachine.h
@@ -67,7 +67,7 @@ class Q_CORE_EXPORT QStateMachine : public QState
Q_PROPERTY(RestorePolicy globalRestorePolicy READ globalRestorePolicy WRITE setGlobalRestorePolicy)
Q_ENUMS(RestorePolicy)
#ifndef QT_NO_ANIMATION
- Q_PROPERTY(bool animationsEnabled READ animationsEnabled WRITE setAnimationsEnabled)
+ Q_PROPERTY(bool animated READ isAnimated WRITE setAnimated)
#endif
public:
class SignalEvent : public QEvent
@@ -109,7 +109,7 @@ public:
};
enum RestorePolicy {
- DoNotRestoreProperties,
+ DontRestoreProperties,
RestoreProperties
};
@@ -133,8 +133,8 @@ public:
bool isRunning() const;
#ifndef QT_NO_ANIMATION
- bool animationsEnabled() const;
- void setAnimationsEnabled(bool enabled);
+ bool isAnimated() const;
+ void setAnimated(bool enabled);
void addDefaultAnimation(QAbstractAnimation *animation);
QList<QAbstractAnimation *> defaultAnimations() const;
diff --git a/src/corelib/statemachine/qstatemachine_p.h b/src/corelib/statemachine/qstatemachine_p.h
index cf7a073..aad5c67 100644
--- a/src/corelib/statemachine/qstatemachine_p.h
+++ b/src/corelib/statemachine/qstatemachine_p.h
@@ -58,6 +58,7 @@
#include <QtCore/qcoreevent.h>
#include <QtCore/qhash.h>
#include <QtCore/qlist.h>
+#include <QtCore/qmutex.h>
#include <QtCore/qpair.h>
#include <QtCore/qset.h>
#include <QtCore/qvector.h>
@@ -72,6 +73,8 @@ class QSignalEventGenerator;
class QSignalTransition;
class QAbstractState;
class QAbstractTransition;
+class QFinalState;
+class QHistoryState;
class QState;
#ifndef QT_NO_ANIMATION
@@ -137,6 +140,11 @@ public:
const QList<QAbstractState*> &exitedStates,
const QList<QAbstractState*> &enteredStates);
+ static QState *toStandardState(QAbstractState *state);
+ static const QState *toStandardState(const QAbstractState *state);
+ static QFinalState *toFinalState(QAbstractState *state);
+ static QHistoryState *toHistoryState(QAbstractState *state);
+
bool isInFinalState(QAbstractState *s) const;
static bool isFinal(const QAbstractState *s);
static bool isParallel(const QAbstractState *s);
@@ -159,6 +167,13 @@ public:
void unregisterAllTransitions();
void handleTransitionSignal(QObject *sender, int signalIndex,
void **args);
+
+ void postInternalEvent(QEvent *e);
+ void postExternalEvent(QEvent *e);
+ QEvent *dequeueInternalEvent();
+ QEvent *dequeueExternalEvent();
+ bool isInternalEventQueueEmpty();
+ bool isExternalEventQueueEmpty();
void processEvents(EventProcessingMode processingMode);
void cancelAllDelayedEvents();
@@ -181,6 +196,8 @@ public:
QSet<QAbstractState*> configuration;
QList<QEvent*> internalEventQueue;
QList<QEvent*> externalEventQueue;
+ QMutex internalEventMutex;
+ QMutex externalEventMutex;
QStateMachine::Error error;
QStateMachine::RestorePolicy globalRestorePolicy;
@@ -190,7 +207,7 @@ public:
QSet<QAbstractState *> pendingErrorStatesForDefaultEntry;
#ifndef QT_NO_ANIMATION
- bool animationsEnabled;
+ bool animated;
QPair<QList<QAbstractAnimation*>, QList<QAbstractAnimation*> >
initializeAnimation(QAbstractAnimation *abstractAnimation,
@@ -214,6 +231,7 @@ public:
QHash<QObject*, QHash<QEvent::Type, int> > qobjectEvents;
#endif
QHash<int, QEvent*> delayedEvents;
+ QMutex delayedEventsMutex;
typedef QEvent* (*f_cloneEvent)(QEvent*);
struct Handler {
diff --git a/src/corelib/tools/qalgorithms.h b/src/corelib/tools/qalgorithms.h
index a68ce27..f70821a 100644
--- a/src/corelib/tools/qalgorithms.h
+++ b/src/corelib/tools/qalgorithms.h
@@ -295,23 +295,12 @@ template <typename RandomAccessIterator, typename T>
Q_OUTOFLINE_TEMPLATE RandomAccessIterator qBinaryFind(RandomAccessIterator begin, RandomAccessIterator end, const T &value)
{
// Implementation is duplicated from QAlgorithmsPrivate.
- qint64 l = 0;
- qint64 r = end - begin - 1;
- if (r < 0)
- return end;
- qint64 i = (l + r + 1) / 2;
-
- while (r != l) {
- if (value < begin[i])
- r = i - 1;
- else
- l = i;
- i = (l + r + 1) / 2;
- }
- if (begin[i] < value || value < begin[i])
+ RandomAccessIterator it = qLowerBound(begin, end, value);
+
+ if (it == end || value < *it)
return end;
- else
- return begin + i;
+
+ return it;
}
template <typename RandomAccessIterator, typename T, typename LessThan>
@@ -520,23 +509,12 @@ Q_OUTOFLINE_TEMPLATE RandomAccessIterator qUpperBoundHelper(RandomAccessIterator
template <typename RandomAccessIterator, typename T, typename LessThan>
Q_OUTOFLINE_TEMPLATE RandomAccessIterator qBinaryFindHelper(RandomAccessIterator begin, RandomAccessIterator end, const T &value, LessThan lessThan)
{
- qint64 l = 0;
- qint64 r = end - begin - 1;
- if (r < 0)
- return end;
- qint64 i = (l + r + 1) / 2;
-
- while (r != l) {
- if (lessThan(value, begin[i]))
- r = i - 1;
- else
- l = i;
- i = (l + r + 1) / 2;
- }
- if (lessThan(begin[i], value) || lessThan(value, begin[i]))
+ RandomAccessIterator it = qLowerBoundHelper(begin, end, value, lessThan);
+
+ if (it == end || lessThan(value, *it))
return end;
- else
- return begin + i;
+
+ return it;
}
} //namespace QAlgorithmsPrivate
diff --git a/src/corelib/tools/qcontiguouscache.cpp b/src/corelib/tools/qcontiguouscache.cpp
index b0ed701..dd7cab6 100644
--- a/src/corelib/tools/qcontiguouscache.cpp
+++ b/src/corelib/tools/qcontiguouscache.cpp
@@ -56,6 +56,16 @@ void QContiguousCacheData::dump() const
}
#endif
+QContiguousCacheData *QContiguousCacheData::allocate(int size, int alignment)
+{
+ return static_cast<QContiguousCacheData *>(qMallocAligned(size, alignment));
+}
+
+void QContiguousCacheData::free(QContiguousCacheData *data)
+{
+ qFreeAligned(data);
+}
+
/*! \class QContiguousCache
\brief The QContiguousCache class is a template class that provides a contiguous cache.
\ingroup tools
diff --git a/src/corelib/tools/qcontiguouscache.h b/src/corelib/tools/qcontiguouscache.h
index ad78d1f..3785938 100644
--- a/src/corelib/tools/qcontiguouscache.h
+++ b/src/corelib/tools/qcontiguouscache.h
@@ -62,6 +62,15 @@ struct Q_CORE_EXPORT QContiguousCacheData
int start;
int offset;
uint sharable : 1;
+ uint reserved : 31;
+
+ // total is 24 bytes (HP-UX aCC: 40 bytes)
+ // the next entry is already aligned to 8 bytes
+ // there will be an 8 byte gap here if T requires 16-byte alignment
+ // (such as long double on 64-bit platforms, __int128, __float128)
+
+ static QContiguousCacheData *allocate(int size, int alignment);
+ static void free(QContiguousCacheData *data);
#ifdef QT_QCONTIGUOUSCACHE_DEBUG
void dump() const;
@@ -69,33 +78,32 @@ struct Q_CORE_EXPORT QContiguousCacheData
};
template <typename T>
-struct QContiguousCacheTypedData
+struct QContiguousCacheTypedData: private QContiguousCacheData
{
- QBasicAtomicInt ref;
- int alloc;
- int count;
- int start;
- int offset;
- uint sharable : 1;
- // uint unused : 31;
-
- // total is 24 bytes (HP-UX aCC: 40 bytes)
- // the next entry is already aligned to 8 bytes
- // there will be an 8 byte gap here if T requires 16-byte alignment
- // (such as long double on 64-bit platforms, __int128, __float128)
-
+ // private inheritance to avoid aliasing warningss
T array[1];
+
+ static inline void free(QContiguousCacheTypedData *data) { QContiguousCacheData::free(data); }
};
template<typename T>
class QContiguousCache {
typedef QContiguousCacheTypedData<T> Data;
- union { QContiguousCacheData *p; QContiguousCacheTypedData<T> *d; };
+ union { QContiguousCacheData *d; QContiguousCacheTypedData<T> *p; };
public:
+ // STL compatibility
+ typedef T value_type;
+ typedef value_type* pointer;
+ typedef const value_type* const_pointer;
+ typedef value_type& reference;
+ typedef const value_type& const_reference;
+ typedef ptrdiff_t difference_type;
+ typedef int size_type;
+
explicit QContiguousCache(int capacity = 0);
QContiguousCache(const QContiguousCache<T> &v) : d(v.d) { d->ref.ref(); if (!d->sharable) detach_helper(); }
- inline ~QContiguousCache() { if (!d) return; if (!d->ref.deref()) free(d); }
+ inline ~QContiguousCache() { if (!d) return; if (!d->ref.deref()) free(p); }
inline void detach() { if (d->ref != 1) detach_helper(); }
inline bool isDetached() const { return d->ref == 1; }
@@ -128,10 +136,10 @@ public:
inline int firstIndex() const { return d->offset; }
inline int lastIndex() const { return d->offset + d->count - 1; }
- inline const T &first() const { Q_ASSERT(!isEmpty()); return d->array[d->start]; }
- inline const T &last() const { Q_ASSERT(!isEmpty()); return d->array[(d->start + d->count -1) % d->alloc]; }
- inline T &first() { Q_ASSERT(!isEmpty()); detach(); return d->array[d->start]; }
- inline T &last() { Q_ASSERT(!isEmpty()); detach(); return d->array[(d->start + d->count -1) % d->alloc]; }
+ inline const T &first() const { Q_ASSERT(!isEmpty()); return p->array[d->start]; }
+ inline const T &last() const { Q_ASSERT(!isEmpty()); return p->array[(d->start + d->count -1) % d->alloc]; }
+ inline T &first() { Q_ASSERT(!isEmpty()); detach(); return p->array[d->start]; }
+ inline T &last() { Q_ASSERT(!isEmpty()); detach(); return p->array[(d->start + d->count -1) % d->alloc]; }
void removeFirst();
T takeFirst();
@@ -156,23 +164,32 @@ private:
// count the padding at the end
return reinterpret_cast<const char *>(&(reinterpret_cast<const Data *>(this))->array[1]) - reinterpret_cast<const char *>(this);
}
+ int alignOfTypedData() const
+ {
+#ifdef Q_ALIGNOF
+ return qMax<int>(sizeof(void*), Q_ALIGNOF(Data));
+#else
+ return 0;
+#endif
+ }
};
template <typename T>
void QContiguousCache<T>::detach_helper()
{
- union { QContiguousCacheData *p; QContiguousCacheTypedData<T> *d; } x;
+ union { QContiguousCacheData *d; QContiguousCacheTypedData<T> *p; } x;
- x.p = malloc(d->alloc);
+ x.d = malloc(d->alloc);
x.d->ref = 1;
x.d->count = d->count;
x.d->start = d->start;
x.d->offset = d->offset;
x.d->alloc = d->alloc;
x.d->sharable = true;
+ x.d->reserved = 0;
- T *dest = x.d->array + x.d->start;
- T *src = d->array + d->start;
+ T *dest = x.p->array + x.d->start;
+ T *src = p->array + d->start;
int oldcount = x.d->count;
while (oldcount--) {
if (QTypeInfo<T>::isComplex) {
@@ -181,15 +198,15 @@ void QContiguousCache<T>::detach_helper()
*dest = *src;
}
dest++;
- if (dest == x.d->array + x.d->alloc)
- dest = x.d->array;
+ if (dest == x.p->array + x.d->alloc)
+ dest = x.p->array;
src++;
- if (src == d->array + d->alloc)
- src = d->array;
+ if (src == p->array + d->alloc)
+ src = p->array;
}
if (!d->ref.deref())
- free(d);
+ free(p);
d = x.d;
}
@@ -199,14 +216,14 @@ void QContiguousCache<T>::setCapacity(int asize)
if (asize == d->alloc)
return;
detach();
- union { QContiguousCacheData *p; QContiguousCacheTypedData<T> *d; } x;
- x.p = malloc(asize);
+ union { QContiguousCacheData *d; QContiguousCacheTypedData<T> *p; } x;
+ x.d = malloc(asize);
x.d->alloc = asize;
x.d->count = qMin(d->count, asize);
x.d->offset = d->offset + d->count - x.d->count;
x.d->start = x.d->offset % x.d->alloc;
- T *dest = x.d->array + (x.d->start + x.d->count-1) % x.d->alloc;
- T *src = d->array + (d->start + d->count-1) % d->alloc;
+ T *dest = x.p->array + (x.d->start + x.d->count-1) % x.d->alloc;
+ T *src = p->array + (d->start + d->count-1) % d->alloc;
int oldcount = x.d->count;
while (oldcount--) {
if (QTypeInfo<T>::isComplex) {
@@ -214,15 +231,15 @@ void QContiguousCache<T>::setCapacity(int asize)
} else {
*dest = *src;
}
- if (dest == x.d->array)
- dest = x.d->array + x.d->alloc;
+ if (dest == x.p->array)
+ dest = x.p->array + x.d->alloc;
dest--;
- if (src == d->array)
- src = d->array + d->alloc;
+ if (src == p->array)
+ src = p->array + d->alloc;
src--;
}
/* free old */
- free(d);
+ free(p);
d = x.d;
}
@@ -232,24 +249,24 @@ void QContiguousCache<T>::clear()
if (d->ref == 1) {
if (QTypeInfo<T>::isComplex) {
int oldcount = d->count;
- T * i = d->array + d->start;
- T * e = d->array + d->alloc;
+ T * i = p->array + d->start;
+ T * e = p->array + d->alloc;
while (oldcount--) {
i->~T();
i++;
if (i == e)
- i = d->array;
+ i = p->array;
}
}
d->count = d->start = d->offset = 0;
} else {
- union { QContiguousCacheData *p; QContiguousCacheTypedData<T> *d; } x;
- x.p = malloc(d->alloc);
+ union { QContiguousCacheData *d; QContiguousCacheTypedData<T> *p; } x;
+ x.d = malloc(d->alloc);
x.d->ref = 1;
x.d->alloc = d->alloc;
x.d->count = x.d->start = x.d->offset = 0;
x.d->sharable = true;
- if (!d->ref.deref()) free(d);
+ if (!d->ref.deref()) free(p);
d = x.d;
}
}
@@ -257,13 +274,13 @@ void QContiguousCache<T>::clear()
template <typename T>
inline QContiguousCacheData *QContiguousCache<T>::malloc(int aalloc)
{
- return static_cast<QContiguousCacheData *>(qMalloc(sizeOfTypedData() + (aalloc - 1) * sizeof(T)));
+ return QContiguousCacheData::allocate(sizeOfTypedData() + (aalloc - 1) * sizeof(T), alignOfTypedData());
}
template <typename T>
QContiguousCache<T>::QContiguousCache(int cap)
{
- p = malloc(cap);
+ d = malloc(cap);
d->ref = 1;
d->alloc = cap;
d->count = d->start = d->offset = 0;
@@ -303,16 +320,16 @@ void QContiguousCache<T>::free(Data *x)
{
if (QTypeInfo<T>::isComplex) {
int oldcount = d->count;
- T * i = d->array + d->start;
- T * e = d->array + d->alloc;
+ T * i = p->array + d->start;
+ T * e = p->array + d->alloc;
while (oldcount--) {
i->~T();
i++;
if (i == e)
- i = d->array;
+ i = p->array;
}
}
- qFree(x);
+ x->free(x);
}
template <typename T>
void QContiguousCache<T>::append(const T &value)
@@ -320,10 +337,10 @@ void QContiguousCache<T>::append(const T &value)
detach();
if (QTypeInfo<T>::isComplex) {
if (d->count == d->alloc)
- (d->array + (d->start+d->count) % d->alloc)->~T();
- new (d->array + (d->start+d->count) % d->alloc) T(value);
+ (p->array + (d->start+d->count) % d->alloc)->~T();
+ new (p->array + (d->start+d->count) % d->alloc) T(value);
} else {
- d->array[(d->start+d->count) % d->alloc] = value;
+ p->array[(d->start+d->count) % d->alloc] = value;
}
if (d->count == d->alloc) {
@@ -349,12 +366,12 @@ void QContiguousCache<T>::prepend(const T &value)
d->count++;
else
if (d->count == d->alloc)
- (d->array + d->start)->~T();
+ (p->array + d->start)->~T();
if (QTypeInfo<T>::isComplex)
- new (d->array + d->start) T(value);
+ new (p->array + d->start) T(value);
else
- d->array[d->start] = value;
+ p->array[d->start] = value;
}
template<typename T>
@@ -364,9 +381,9 @@ void QContiguousCache<T>::insert(int pos, const T &value)
detach();
if (containsIndex(pos)) {
if(QTypeInfo<T>::isComplex)
- new (d->array + pos % d->alloc) T(value);
+ new (p->array + pos % d->alloc) T(value);
else
- d->array[pos % d->alloc] = value;
+ p->array[pos % d->alloc] = value;
} else if (pos == d->offset-1)
prepend(value);
else if (pos == d->offset+d->count)
@@ -378,18 +395,18 @@ void QContiguousCache<T>::insert(int pos, const T &value)
d->start = pos % d->alloc;
d->count = 1;
if (QTypeInfo<T>::isComplex)
- new (d->array + d->start) T(value);
+ new (p->array + d->start) T(value);
else
- d->array[d->start] = value;
+ p->array[d->start] = value;
}
}
template <typename T>
inline const T &QContiguousCache<T>::at(int pos) const
-{ Q_ASSERT_X(pos >= d->offset && pos - d->offset < d->count, "QContiguousCache<T>::at", "index out of range"); return d->array[pos % d->alloc]; }
+{ Q_ASSERT_X(pos >= d->offset && pos - d->offset < d->count, "QContiguousCache<T>::at", "index out of range"); return p->array[pos % d->alloc]; }
template <typename T>
inline const T &QContiguousCache<T>::operator[](int pos) const
-{ Q_ASSERT_X(pos >= d->offset && pos - d->offset < d->count, "QContiguousCache<T>::at", "index out of range"); return d->array[pos % d->alloc]; }
+{ Q_ASSERT_X(pos >= d->offset && pos - d->offset < d->count, "QContiguousCache<T>::at", "index out of range"); return p->array[pos % d->alloc]; }
template <typename T>
inline T &QContiguousCache<T>::operator[](int pos)
@@ -397,7 +414,7 @@ inline T &QContiguousCache<T>::operator[](int pos)
detach();
if (!containsIndex(pos))
insert(pos, T());
- return d->array[pos % d->alloc];
+ return p->array[pos % d->alloc];
}
template <typename T>
@@ -407,7 +424,7 @@ inline void QContiguousCache<T>::removeFirst()
detach();
d->count--;
if (QTypeInfo<T>::isComplex)
- (d->array + d->start)->~T();
+ (p->array + d->start)->~T();
d->start = (d->start + 1) % d->alloc;
d->offset++;
}
@@ -419,7 +436,7 @@ inline void QContiguousCache<T>::removeLast()
detach();
d->count--;
if (QTypeInfo<T>::isComplex)
- (d->array + (d->start + d->count) % d->alloc)->~T();
+ (p->array + (d->start + d->count) % d->alloc)->~T();
}
template <typename T>
diff --git a/src/corelib/tools/qdatetime.cpp b/src/corelib/tools/qdatetime.cpp
index 54465bb..db6435e 100644
--- a/src/corelib/tools/qdatetime.cpp
+++ b/src/corelib/tools/qdatetime.cpp
@@ -1855,7 +1855,7 @@ QTime QTime::currentTime()
t = localtime(&ltime);
#endif
Q_CHECK_PTR(t);
-
+
ct.mds = MSECS_PER_HOUR * t->tm_hour + MSECS_PER_MIN * t->tm_min + 1000 * t->tm_sec
+ tv.tv_usec / 1000;
#else
@@ -3725,11 +3725,11 @@ static QDateTimePrivate::Spec utcToLocal(QDate &date, QTime &time)
TTimeIntervalSeconds tTimeIntervalSecsSince1Jan1970UTC(secsSince1Jan1970UTC);
TTime epochTTime;
TInt err = epochTTime.Set(KUnixEpoch);
+ tm res;
if(err == KErrNone) {
TTime utcTTime = epochTTime + tTimeIntervalSecsSince1Jan1970UTC;
utcTTime = utcTTime + utcOffset;
TDateTime utcDateTime = utcTTime.DateTime();
- tm res;
res.tm_sec = utcDateTime.Second();
res.tm_min = utcDateTime.Minute();
res.tm_hour = utcDateTime.Hour();
@@ -3816,11 +3816,11 @@ static void localToUtc(QDate &date, QTime &time, int isdst)
TTimeIntervalSeconds tTimeIntervalSecsSince1Jan1970UTC(secsSince1Jan1970UTC);
TTime epochTTime;
TInt err = epochTTime.Set(KUnixEpoch);
+ tm res;
if(err == KErrNone) {
TTime utcTTime = epochTTime + tTimeIntervalSecsSince1Jan1970UTC;
utcTTime = utcTTime + utcOffset;
TDateTime utcDateTime = utcTTime.DateTime();
- tm res;
res.tm_sec = utcDateTime.Second();
res.tm_min = utcDateTime.Minute();
res.tm_hour = utcDateTime.Hour();
diff --git a/src/corelib/tools/qhash.cpp b/src/corelib/tools/qhash.cpp
index f33aba9..c82c389 100644
--- a/src/corelib/tools/qhash.cpp
+++ b/src/corelib/tools/qhash.cpp
@@ -166,29 +166,38 @@ static int countBits(int hint)
const int MinNumBits = 4;
QHashData QHashData::shared_null = {
- 0, 0, Q_BASIC_ATOMIC_INITIALIZER(1), 0, 0, MinNumBits, 0, 0, true
+ 0, 0, Q_BASIC_ATOMIC_INITIALIZER(1), 0, 0, MinNumBits, 0, 0, true, false, 0
};
void *QHashData::allocateNode()
{
- void *ptr = qMalloc(nodeSize);
+ return allocateNode(0);
+}
+
+void *QHashData::allocateNode(int nodeAlign)
+{
+ void *ptr = strictAlignment ? qMallocAligned(nodeSize, nodeAlign) : qMalloc(nodeSize);
Q_CHECK_PTR(ptr);
return ptr;
}
void QHashData::freeNode(void *node)
{
- qFree(node);
+ if (strictAlignment)
+ qFreeAligned(node);
+ else
+ qFree(node);
}
QHashData *QHashData::detach_helper(void (*node_duplicate)(Node *, void *), int nodeSize)
{
- return detach_helper( node_duplicate, 0, nodeSize );
+ return detach_helper2( node_duplicate, 0, nodeSize, 0 );
}
-QHashData *QHashData::detach_helper(void (*node_duplicate)(Node *, void *),
- void (*node_delete)(Node *),
- int nodeSize)
+QHashData *QHashData::detach_helper2(void (*node_duplicate)(Node *, void *),
+ void (*node_delete)(Node *),
+ int nodeSize,
+ int nodeAlign)
{
union {
QHashData *d;
@@ -204,6 +213,8 @@ QHashData *QHashData::detach_helper(void (*node_duplicate)(Node *, void *),
d->numBits = numBits;
d->numBuckets = numBuckets;
d->sharable = true;
+ d->strictAlignment = nodeAlign > 8;
+ d->reserved = 0;
if (numBuckets) {
QT_TRY {
@@ -222,7 +233,7 @@ QHashData *QHashData::detach_helper(void (*node_duplicate)(Node *, void *),
Node *oldNode = buckets[i];
while (oldNode != this_e) {
QT_TRY {
- Node *dup = static_cast<Node *>(allocateNode());
+ Node *dup = static_cast<Node *>(allocateNode(nodeAlign));
QT_TRY {
node_duplicate(oldNode, dup);
@@ -262,6 +273,7 @@ void QHashData::free_helper(void (*node_delete)(Node *))
while (cur != this_e) {
Node *next = cur->next;
node_delete(cur);
+ freeNode(cur);
cur = next;
}
}
diff --git a/src/corelib/tools/qhash.h b/src/corelib/tools/qhash.h
index b65f1d3..1918229 100644
--- a/src/corelib/tools/qhash.h
+++ b/src/corelib/tools/qhash.h
@@ -125,12 +125,15 @@ struct Q_CORE_EXPORT QHashData
short numBits;
int numBuckets;
uint sharable : 1;
+ uint strictAlignment : 1;
+ uint reserved : 30;
- void *allocateNode();
+ void *allocateNode(); // ### Qt5 remove me
+ void *allocateNode(int nodeAlign);
void freeNode(void *node);
QHashData *detach_helper(void (*node_duplicate)(Node *, void *), int nodeSize); // ### Qt5 remove me
- QHashData *detach_helper(void (*node_duplicate)(Node *, void *), void (*node_delete)(Node *),
- int nodeSize);
+ QHashData *detach_helper2(void (*node_duplicate)(Node *, void *), void (*node_delete)(Node *),
+ int nodeSize, int nodeAlign);
void mightGrow();
bool willGrow();
void hasShrunk();
@@ -267,6 +270,14 @@ class QHash
return reinterpret_cast<Node *>(node);
}
+#ifdef Q_ALIGNOF
+ static inline int alignOfNode() { return qMax<int>(sizeof(void*), Q_ALIGNOF(Node)); }
+ static inline int alignOfDummyNode() { return qMax<int>(sizeof(void*), Q_ALIGNOF(DummyNode)); }
+#else
+ static inline int alignOfNode() { return 0; }
+ static inline int alignOfDummyNode() { return 0; }
+#endif
+
public:
inline QHash() : d(&QHashData::shared_null) { d->ref.ref(); }
inline QHash(const QHash<Key, T> &other) : d(other.d) { d->ref.ref(); if (!d->sharable) detach(); }
@@ -483,7 +494,7 @@ private:
Node **findNode(const Key &key, uint *hp = 0) const;
Node *createNode(uint h, const Key &key, const T &value, Node **nextNode);
void deleteNode(Node *node);
- static void deleteNode(QHashData::Node *node);
+ static void deleteNode2(QHashData::Node *node);
static void duplicateNode(QHashData::Node *originalNode, void *newNode);
};
@@ -492,12 +503,12 @@ private:
template <class Key, class T>
Q_INLINE_TEMPLATE void QHash<Key, T>::deleteNode(Node *node)
{
- deleteNode(reinterpret_cast<QHashData::Node*>(node));
+ deleteNode2(reinterpret_cast<QHashData::Node*>(node));
+ d->freeNode(node);
}
-
template <class Key, class T>
-Q_INLINE_TEMPLATE void QHash<Key, T>::deleteNode(QHashData::Node *node)
+Q_INLINE_TEMPLATE void QHash<Key, T>::deleteNode2(QHashData::Node *node)
{
#ifdef Q_CC_BOR
concrete(node)->~QHashNode<Key, T>();
@@ -506,7 +517,6 @@ Q_INLINE_TEMPLATE void QHash<Key, T>::deleteNode(QHashData::Node *node)
#else
concrete(node)->~Node();
#endif
- qFree(node);
}
template <class Key, class T>
@@ -527,9 +537,9 @@ QHash<Key, T>::createNode(uint ah, const Key &akey, const T &avalue, Node **anex
Node *node;
if (QTypeInfo<T>::isDummy) {
- node = reinterpret_cast<Node *>(new (d->allocateNode()) DummyNode(akey));
+ node = reinterpret_cast<Node *>(new (d->allocateNode(alignOfDummyNode())) DummyNode(akey));
} else {
- node = new (d->allocateNode()) Node(akey, avalue);
+ node = new (d->allocateNode(alignOfNode())) Node(akey, avalue);
}
node->h = ah;
@@ -554,7 +564,7 @@ Q_INLINE_TEMPLATE QHash<Key, T> &QHash<Key, T>::unite(const QHash<Key, T> &other
template <class Key, class T>
Q_OUTOFLINE_TEMPLATE void QHash<Key, T>::freeData(QHashData *x)
{
- x->free_helper(deleteNode);
+ x->free_helper(deleteNode2);
}
template <class Key, class T>
@@ -566,8 +576,9 @@ Q_INLINE_TEMPLATE void QHash<Key, T>::clear()
template <class Key, class T>
Q_OUTOFLINE_TEMPLATE void QHash<Key, T>::detach_helper()
{
- QHashData *x = d->detach_helper(duplicateNode, deleteNode,
- QTypeInfo<T>::isDummy ? sizeof(DummyNode) : sizeof(Node));
+ QHashData *x = d->detach_helper2(duplicateNode, deleteNode2,
+ QTypeInfo<T>::isDummy ? sizeof(DummyNode) : sizeof(Node),
+ QTypeInfo<T>::isDummy ? alignOfDummyNode() : alignOfNode());
if (!d->ref.deref())
freeData(d);
d = x;
diff --git a/src/corelib/tools/qlocale_symbian.cpp b/src/corelib/tools/qlocale_symbian.cpp
index 1660e95..1273d06 100644
--- a/src/corelib/tools/qlocale_symbian.cpp
+++ b/src/corelib/tools/qlocale_symbian.cpp
@@ -873,9 +873,11 @@ QVariant QSystemLocale::query(QueryType type, QVariant in = QVariant()) const
}
case NegativeSign:
case PositiveSign:
+ break;
case AMText:
+ return qt_TDes2QString(TAmPmName(TAmPm(EAm)));
case PMText:
- break;
+ return qt_TDes2QString(TAmPmName(TAmPm(EPm)));
default:
break;
}
diff --git a/src/corelib/tools/qmap.cpp b/src/corelib/tools/qmap.cpp
index 1385810..3b48c3f 100644
--- a/src/corelib/tools/qmap.cpp
+++ b/src/corelib/tools/qmap.cpp
@@ -53,11 +53,16 @@ QT_BEGIN_NAMESPACE
QMapData QMapData::shared_null = {
&shared_null,
{ &shared_null, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
- Q_BASIC_ATOMIC_INITIALIZER(1), 0, 0, 0, false, true
+ Q_BASIC_ATOMIC_INITIALIZER(1), 0, 0, 0, false, true, false, 0
};
QMapData *QMapData::createData()
{
+ return createData(0);
+}
+
+QMapData *QMapData::createData(int alignment)
+{
QMapData *d = new QMapData;
Q_CHECK_PTR(d);
Node *e = reinterpret_cast<Node *>(d);
@@ -69,6 +74,8 @@ QMapData *QMapData::createData()
d->randomBits = 0;
d->insertInOrder = false;
d->sharable = true;
+ d->strictAlignment = alignment > 8;
+ d->reserved = 0;
return d;
}
@@ -80,11 +87,19 @@ void QMapData::continueFreeData(int offset)
while (cur != e) {
prev = cur;
cur = cur->forward[0];
- qFree(reinterpret_cast<char *>(prev) - offset);
+ if (strictAlignment)
+ qFreeAligned(reinterpret_cast<char *>(prev) - offset);
+ else
+ qFree(reinterpret_cast<char *>(prev) - offset);
}
delete this;
}
+QMapData::Node *QMapData::node_create(Node *update[], int offset)
+{
+ return node_create(update, offset, 0);
+}
+
/*!
Creates a new node inside the data structure.
@@ -94,10 +109,12 @@ void QMapData::continueFreeData(int offset)
\a offset is an amount of bytes that needs to reserved just before the
QMapData::Node structure.
+ \a alignment dictates the alignment for the data.
+
\internal
\since 4.6
*/
-QMapData::Node *QMapData::node_create(Node *update[], int offset)
+QMapData::Node *QMapData::node_create(Node *update[], int offset, int alignment)
{
int level = 0;
uint mask = (1 << Sparseness) - 1;
@@ -118,7 +135,9 @@ QMapData::Node *QMapData::node_create(Node *update[], int offset)
if (level == 3 && !insertInOrder)
randomBits = qrand();
- void *concreteNode = qMalloc(offset + sizeof(Node) + level * sizeof(Node *));
+ void *concreteNode = strictAlignment ?
+ qMallocAligned(offset + sizeof(Node) + level * sizeof(Node *), alignment) :
+ qMalloc(offset + sizeof(Node) + level * sizeof(Node *));
Q_CHECK_PTR(concreteNode);
Node *abstractNode = reinterpret_cast<Node *>(reinterpret_cast<char *>(concreteNode) + offset);
@@ -145,7 +164,10 @@ void QMapData::node_delete(Node *update[], int offset, Node *node)
update[i]->forward[i] = node->forward[i];
}
--size;
- qFree(reinterpret_cast<char *>(node) - offset);
+ if (strictAlignment)
+ qFreeAligned(reinterpret_cast<char *>(node) - offset);
+ else
+ qFree(reinterpret_cast<char *>(node) - offset);
}
#ifdef QT_QMAP_DEBUG
diff --git a/src/corelib/tools/qmap.h b/src/corelib/tools/qmap.h
index 688aca6..65c3d2a 100644
--- a/src/corelib/tools/qmap.h
+++ b/src/corelib/tools/qmap.h
@@ -74,10 +74,14 @@ struct Q_CORE_EXPORT QMapData
uint randomBits;
uint insertInOrder : 1;
uint sharable : 1;
+ uint strictAlignment : 1;
+ uint reserved : 29;
- static QMapData *createData();
+ static QMapData *createData(); // ### Qt5 remove me
+ static QMapData *createData(int alignment);
void continueFreeData(int offset);
- Node *node_create(Node *update[], int offset);
+ Node *node_create(Node *update[], int offset); // ### Qt5 remove me
+ Node *node_create(Node *update[], int offset, int alignment);
void node_delete(Node *update[], int offset, Node *node);
#ifdef QT_QMAP_DEBUG
uint adjust_ptr(Node *node);
@@ -145,6 +149,13 @@ class QMap
};
static inline int payload() { return sizeof(PayloadNode) - sizeof(QMapData::Node *); }
+ static inline int alignment() {
+#ifdef Q_ALIGNOF
+ return qMax(sizeof(void*), Q_ALIGNOF(Node));
+#else
+ return 0;
+#endif
+ }
static inline Node *concrete(QMapData::Node *node) {
return reinterpret_cast<Node *>(reinterpret_cast<char *>(node) - payload());
}
@@ -414,7 +425,7 @@ template <class Key, class T>
Q_INLINE_TEMPLATE typename QMapData::Node *
QMap<Key, T>::node_create(QMapData *adt, QMapData::Node *aupdate[], const Key &akey, const T &avalue)
{
- QMapData::Node *abstractNode = adt->node_create(aupdate, payload());
+ QMapData::Node *abstractNode = adt->node_create(aupdate, payload(), alignment());
QT_TRY {
Node *concreteNode = concrete(abstractNode);
new (&concreteNode->key) Key(akey);
@@ -715,7 +726,7 @@ template <class Key, class T>
Q_OUTOFLINE_TEMPLATE void QMap<Key, T>::detach_helper()
{
union { QMapData *d; QMapData::Node *e; } x;
- x.d = QMapData::createData();
+ x.d = QMapData::createData(alignment());
if (d->size) {
x.d->insertInOrder = true;
QMapData::Node *update[QMapData::LastLevel + 1];
@@ -905,7 +916,7 @@ Q_OUTOFLINE_TEMPLATE bool QMap<Key, T>::operator==(const QMap<Key, T> &other) co
template <class Key, class T>
Q_OUTOFLINE_TEMPLATE QMap<Key, T>::QMap(const std::map<Key, T> &other)
{
- d = QMapData::createData();
+ d = QMapData::createData(alignment());
d->insertInOrder = true;
typename std::map<Key,T>::const_iterator it = other.end();
while (it != other.begin()) {
diff --git a/src/corelib/tools/qstring.cpp b/src/corelib/tools/qstring.cpp
index a996f30..55ad28d 100644
--- a/src/corelib/tools/qstring.cpp
+++ b/src/corelib/tools/qstring.cpp
@@ -1590,12 +1590,12 @@ QString &QString::append(QChar ch)
*/
QString &QString::remove(int pos, int len)
{
- if (pos < 0)
+ if (pos < 0) // count from end of string
pos += d->size;
if (pos < 0 || pos >= d->size) {
// range problems
- } else if (pos + len >= d->size) { // pos ok
- resize(pos);
+ } else if (len >= d->size - pos) {
+ resize(pos); // truncate
} else if (len > 0) {
detach();
memmove(d->data + pos, d->data + pos + len,
diff --git a/src/corelib/tools/qunicodetables_p.h b/src/corelib/tools/qunicodetables_p.h
index e4041b4..4e9ce4d 100644
--- a/src/corelib/tools/qunicodetables_p.h
+++ b/src/corelib/tools/qunicodetables_p.h
@@ -114,6 +114,7 @@ namespace QUnicodeTables {
Ogham,
Runic,
Khmer,
+ Nko,
Inherited,
ScriptCount = Inherited,
Latin = Common,
@@ -152,8 +153,7 @@ namespace QUnicodeTables {
Balinese = Common,
Cuneiform = Common,
Phoenician = Common,
- PhagsPa = Common,
- Nko = Common
+ PhagsPa = Common
};
enum { ScriptSentinel = 32 };
diff --git a/src/corelib/tools/qvector.cpp b/src/corelib/tools/qvector.cpp
index 20f3a80..8bb1074 100644
--- a/src/corelib/tools/qvector.cpp
+++ b/src/corelib/tools/qvector.cpp
@@ -45,7 +45,14 @@
QT_BEGIN_NAMESPACE
-QVectorData QVectorData::shared_null = { Q_BASIC_ATOMIC_INITIALIZER(1), 0, 0, true, false };
+static inline int alignmentThreshold()
+{
+ // malloc on 32-bit platforms should return pointers that are 8-byte aligned or more
+ // while on 64-bit platforms they should be 16-byte aligned or more
+ return 2 * sizeof(void*);
+}
+
+QVectorData QVectorData::shared_null = { Q_BASIC_ATOMIC_INITIALIZER(1), 0, 0, true, false, 0 };
QVectorData *QVectorData::malloc(int sizeofTypedData, int size, int sizeofT, QVectorData *init)
{
@@ -55,6 +62,26 @@ QVectorData *QVectorData::malloc(int sizeofTypedData, int size, int sizeofT, QVe
return p;
}
+QVectorData *QVectorData::allocate(int size, int alignment)
+{
+ return static_cast<QVectorData *>(alignment > alignmentThreshold() ? qMallocAligned(size, alignment) : qMalloc(size));
+}
+
+QVectorData *QVectorData::reallocate(QVectorData *x, int newsize, int oldsize, int alignment)
+{
+ if (alignment > alignmentThreshold())
+ return static_cast<QVectorData *>(qReallocAligned(x, newsize, oldsize, alignment));
+ return static_cast<QVectorData *>(qRealloc(x, newsize));
+}
+
+void QVectorData::free(QVectorData *x, int alignment)
+{
+ if (alignment > alignmentThreshold())
+ qFreeAligned(x);
+ else
+ qFree(x);
+}
+
int QVectorData::grow(int sizeofTypedData, int size, int sizeofT, bool excessive)
{
if (excessive)
diff --git a/src/corelib/tools/qvector.h b/src/corelib/tools/qvector.h
index b77b53a..930b006 100644
--- a/src/corelib/tools/qvector.h
+++ b/src/corelib/tools/qvector.h
@@ -72,6 +72,7 @@ struct Q_CORE_EXPORT QVectorData
#else
uint sharable : 1;
uint capacity : 1;
+ uint reserved : 30;
#endif
static QVectorData shared_null;
@@ -79,6 +80,9 @@ struct Q_CORE_EXPORT QVectorData
// some debugges when the QVector is member of a class within an unnamed namespace.
// ### Qt 5: can be removed completely. (Ralf)
static QVectorData *malloc(int sizeofTypedData, int size, int sizeofT, QVectorData *init);
+ static QVectorData *allocate(int size, int alignment);
+ static QVectorData *reallocate(QVectorData *old, int newsize, int oldsize, int alignment);
+ static void free(QVectorData *data, int alignment);
static int grow(int sizeofTypedData, int size, int sizeofT, bool excessive);
};
@@ -87,6 +91,8 @@ struct QVectorTypedData : private QVectorData
{ // private inheritance as we must not access QVectorData member thought QVectorTypedData
// as this would break strict aliasing rules. (in the case of shared_null)
T array[1];
+
+ static inline void free(QVectorTypedData<T> *x, int alignment) { QVectorData::free(static_cast<QVectorData *>(x), alignment); }
};
class QRegion;
@@ -302,6 +308,14 @@ private:
// count the padding at the end
return reinterpret_cast<const char *>(&(reinterpret_cast<const Data *>(this))->array[1]) - reinterpret_cast<const char *>(this);
}
+ inline int alignOfTypedData() const
+ {
+#ifdef Q_ALIGNOF
+ return qMax<int>(sizeof(void*), Q_ALIGNOF(Data));
+#else
+ return 0;
+#endif
+ }
};
template <typename T>
@@ -373,7 +387,7 @@ QVector<T> &QVector<T>::operator=(const QVector<T> &v)
template <typename T>
inline QVectorData *QVector<T>::malloc(int aalloc)
{
- QVectorData *vectordata = static_cast<QVectorData *>(qMalloc(sizeOfTypedData() + (aalloc - 1) * sizeof(T)));
+ QVectorData *vectordata = QVectorData::allocate(sizeOfTypedData() + (aalloc - 1) * sizeof(T), alignOfTypedData());
Q_CHECK_PTR(vectordata);
return vectordata;
}
@@ -420,7 +434,7 @@ void QVector<T>::free(Data *x)
while (i-- != b)
i->~T();
}
- qFree(x);
+ x->free(x, alignOfTypedData());
}
template <typename T>
@@ -459,7 +473,8 @@ void QVector<T>::realloc(int asize, int aalloc)
}
} else {
QT_TRY {
- QVectorData *mem = static_cast<QVectorData *>(qRealloc(p, sizeOfTypedData() + (aalloc - 1) * sizeof(T)));
+ QVectorData *mem = QVectorData::reallocate(d, sizeOfTypedData() + (aalloc - 1) * sizeof(T),
+ sizeOfTypedData() + (d->alloc - 1) * sizeof(T), alignOfTypedData());
Q_CHECK_PTR(mem);
x.d = d = mem;
x.d->size = d->size;
@@ -472,6 +487,7 @@ void QVector<T>::realloc(int asize, int aalloc)
x.d->alloc = aalloc;
x.d->sharable = true;
x.d->capacity = d->capacity;
+ x.d->reserved = 0;
}
if (QTypeInfo<T>::isComplex) {
diff --git a/src/corelib/xml/qxmlstream.g b/src/corelib/xml/qxmlstream.g
index 3bf0e7d..6c0c0cf 100644
--- a/src/corelib/xml/qxmlstream.g
+++ b/src/corelib/xml/qxmlstream.g
@@ -243,7 +243,7 @@ public:
class QXmlStreamEntityResolver;
-
+#ifndef QT_NO_XMLSTREAMREADER
class QXmlStreamReaderPrivate : public QXmlStreamReader_Table, public QXmlStreamPrivateTagStack{
QXmlStreamReader *q_ptr;
Q_DECLARE_PUBLIC(QXmlStreamReader)
@@ -1840,4 +1840,6 @@ nmtoken ::= COLON;
}
return false;
}
+#endif //QT_NO_XMLSTREAMREADER.xml
+
./
diff --git a/src/corelib/xml/qxmlstream_p.h b/src/corelib/xml/qxmlstream_p.h
index ed65409..eee3a13 100644
--- a/src/corelib/xml/qxmlstream_p.h
+++ b/src/corelib/xml/qxmlstream_p.h
@@ -736,9 +736,9 @@ public:
}
};
-
class QXmlStreamEntityResolver;
+#ifndef QT_NO_XMLSTREAMREADER
class QXmlStreamReaderPrivate : public QXmlStreamReader_Table, public QXmlStreamPrivateTagStack{
QXmlStreamReader *q_ptr;
Q_DECLARE_PUBLIC(QXmlStreamReader)
@@ -1959,5 +1959,6 @@ bool QXmlStreamReaderPrivate::parse()
return false;
}
+#endif //QT_NO_XMLSTREAMREADER
#endif // QXMLSTREAM_P_H
diff --git a/src/dbus/dbus.pro b/src/dbus/dbus.pro
index 57c6a58..9ab3920 100644
--- a/src/dbus/dbus.pro
+++ b/src/dbus/dbus.pro
@@ -1,77 +1,87 @@
-TARGET = QtDBus
-QPRO_PWD = $$PWD
-QT = core xml
-CONFIG += link_pkgconfig
-DEFINES += QDBUS_MAKEDLL DBUS_API_SUBJECT_TO_CHANGE
+TARGET = QtDBus
+QPRO_PWD = $$PWD
+QT = core \
+ xml
+CONFIG += link_pkgconfig
+DEFINES += QDBUS_MAKEDLL \
+ DBUS_API_SUBJECT_TO_CHANGE
QMAKE_CXXFLAGS += $$QT_CFLAGS_DBUS
-
-contains(QT_CONFIG, dbus-linked) {
+contains(QT_CONFIG, dbus-linked) {
LIBS_PRIVATE += $$QT_LIBS_DBUS
- DEFINES += QT_LINKED_LIBDBUS
+ DEFINES += QT_LINKED_LIBDBUS
}
-#INCLUDEPATH += .
-
-unix {
- QMAKE_PKGCONFIG_DESCRIPTION = Qt DBus module
- QMAKE_PKGCONFIG_REQUIRES = QtCore QtXml
+# INCLUDEPATH += .
+unix {
+ QMAKE_PKGCONFIG_DESCRIPTION = Qt \
+ DBus \
+ module
+ QMAKE_PKGCONFIG_REQUIRES = QtCore \
+ QtXml
}
-
-win32 {
- LIBS_PRIVATE += -lws2_32 -ladvapi32 -lnetapi32 -luser32
- CONFIG(debug, debug|release):LIBS_PRIVATE += -ldbus-1d
- else:LIBS_PRIVATE += -ldbus-1
+win32 {
+ LIBS_PRIVATE += -lws2_32 \
+ -ladvapi32 \
+ -lnetapi32 \
+ -luser32
+ CONFIG(debug, debug|release):LIBS_PRIVATE += -ldbus-1d
+ else:LIBS_PRIVATE += -ldbus-1
}
-
include(../qbase.pri)
-
-PUB_HEADERS = qdbusargument.h \
- qdbusconnectioninterface.h \
- qdbusmacros.h \
- qdbuserror.h \
- qdbusextratypes.h \
- qdbusmessage.h \
- qdbusserver.h \
- qdbusconnection.h \
- qdbusabstractinterface.h \
- qdbusinterface.h \
- qdbusabstractadaptor.h \
- qdbusreply.h \
- qdbusmetatype.h \
- qdbuspendingcall.h \
- qdbuspendingreply.h \
- qdbuscontext.h
-
+PUB_HEADERS = qdbusargument.h \
+ qdbusconnectioninterface.h \
+ qdbusmacros.h \
+ qdbuserror.h \
+ qdbusextratypes.h \
+ qdbusmessage.h \
+ qdbusserver.h \
+ qdbusconnection.h \
+ qdbusabstractinterface.h \
+ qdbusinterface.h \
+ qdbusabstractadaptor.h \
+ qdbusreply.h \
+ qdbusmetatype.h \
+ qdbuspendingcall.h \
+ qdbuspendingreply.h \
+ qdbuscontext.h
HEADERS += $$PUB_HEADERS \
- qdbusconnection_p.h qdbusmessage_p.h \
- qdbusinterface_p.h qdbusxmlparser_p.h qdbusabstractadaptor_p.h \
- qdbusargument_p.h qdbusutil_p.h qdbusabstractinterface_p.h \
- qdbuscontext_p.h qdbusthreaddebug_p.h qdbusintegrator_p.h \
- qdbuspendingcall_p.h qdbus_symbols_p.h
-
-SOURCES += qdbusconnection.cpp \
- qdbusconnectioninterface.cpp \
- qdbuserror.cpp \
- qdbusintegrator.cpp \
- qdbusmessage.cpp \
- qdbusserver.cpp \
- qdbusabstractinterface.cpp \
- qdbusinterface.cpp \
- qdbusxmlparser.cpp \
- qdbusutil.cpp \
- qdbusintrospection.cpp \
- qdbusabstractadaptor.cpp \
- qdbusinternalfilters.cpp \
- qdbusmetaobject.cpp \
- qdbusxmlgenerator.cpp \
- qdbusmisc.cpp \
- qdbusargument.cpp \
- qdbusreply.cpp \
- qdbusmetatype.cpp \
- qdbusextratypes.cpp \
- qdbusmarshaller.cpp \
- qdbuscontext.cpp \
- qdbuspendingcall.cpp \
- qdbuspendingreply.cpp \
- qdbus_symbols.cpp
-
+ qdbusconnection_p.h \
+ qdbusmessage_p.h \
+ qdbusinterface_p.h \
+ qdbusxmlparser_p.h \
+ qdbusabstractadaptor_p.h \
+ qdbusargument_p.h \
+ qdbusutil_p.h \
+ qdbusabstractinterface_p.h \
+ qdbuscontext_p.h \
+ qdbusthreaddebug_p.h \
+ qdbusintegrator_p.h \
+ qdbuspendingcall_p.h \
+ qdbus_symbols_p.h \
+ qdbusservicewatcher.h
+SOURCES += qdbusconnection.cpp \
+ qdbusconnectioninterface.cpp \
+ qdbuserror.cpp \
+ qdbusintegrator.cpp \
+ qdbusmessage.cpp \
+ qdbusserver.cpp \
+ qdbusabstractinterface.cpp \
+ qdbusinterface.cpp \
+ qdbusxmlparser.cpp \
+ qdbusutil.cpp \
+ qdbusintrospection.cpp \
+ qdbusabstractadaptor.cpp \
+ qdbusinternalfilters.cpp \
+ qdbusmetaobject.cpp \
+ qdbusxmlgenerator.cpp \
+ qdbusmisc.cpp \
+ qdbusargument.cpp \
+ qdbusreply.cpp \
+ qdbusmetatype.cpp \
+ qdbusextratypes.cpp \
+ qdbusmarshaller.cpp \
+ qdbuscontext.cpp \
+ qdbuspendingcall.cpp \
+ qdbuspendingreply.cpp \
+ qdbus_symbols.cpp \
+ qdbusservicewatcher.cpp
diff --git a/src/dbus/qdbusabstractinterface.cpp b/src/dbus/qdbusabstractinterface.cpp
index 61a9d95..994da10 100644
--- a/src/dbus/qdbusabstractinterface.cpp
+++ b/src/dbus/qdbusabstractinterface.cpp
@@ -279,9 +279,17 @@ QDBusAbstractInterface::QDBusAbstractInterface(QDBusAbstractInterfacePrivate &d,
: QDBusAbstractInterfaceBase(d, parent)
{
// keep track of the service owner
- if (!d_func()->currentOwner.isEmpty())
- QObject::connect(d_func()->connectionPrivate(), SIGNAL(serviceOwnerChanged(QString,QString,QString)),
- this, SLOT(_q_serviceOwnerChanged(QString,QString,QString)));
+ if (d.isValid &&
+ d.connection.isConnected()
+ && !d.service.isEmpty()
+ && !d.service.startsWith(QLatin1Char(':')))
+ d_func()->connection.connect(QLatin1String(DBUS_SERVICE_DBUS), // service
+ QString(), // path
+ QLatin1String(DBUS_INTERFACE_DBUS), // interface
+ QLatin1String("NameOwnerChanged"),
+ QStringList() << d.service,
+ QString(), // signature
+ this, SLOT(_q_serviceOwnerChanged(QString,QString,QString)));
}
/*!
@@ -296,9 +304,17 @@ QDBusAbstractInterface::QDBusAbstractInterface(const QString &service, const QSt
con, false), parent)
{
// keep track of the service owner
- if (d_func()->connection.isConnected())
- QObject::connect(d_func()->connectionPrivate(), SIGNAL(serviceOwnerChanged(QString,QString,QString)),
- this, SLOT(_q_serviceOwnerChanged(QString,QString,QString)));
+ if (d_func()->isValid &&
+ d_func()->connection.isConnected()
+ && !service.isEmpty()
+ && !service.startsWith(QLatin1Char(':')))
+ d_func()->connection.connect(QLatin1String(DBUS_SERVICE_DBUS), // service
+ QString(), // path
+ QLatin1String(DBUS_INTERFACE_DBUS), // interface
+ QLatin1String("NameOwnerChanged"),
+ QStringList() << service,
+ QString(), //signature
+ this, SLOT(_q_serviceOwnerChanged(QString,QString,QString)));
}
/*!
@@ -544,9 +560,16 @@ void QDBusAbstractInterface::connectNotify(const char *signal)
return;
QDBusConnectionPrivate *conn = d->connectionPrivate();
- if (conn)
- conn->connectRelay(d->service, d->currentOwner, d->path, d->interface,
+ if (conn) {
+ // do we know what our owner is?
+ QString owner;
+ if (!d->service.isEmpty() && d->currentOwner.isNull())
+ owner = QLatin1String("");
+ else
+ owner = d->currentOwner;
+ conn->connectRelay(d->service, owner, d->path, d->interface,
this, signal);
+ }
}
/*!
diff --git a/src/dbus/qdbusconnection.cpp b/src/dbus/qdbusconnection.cpp
index bb0d06f..d7088ff 100644
--- a/src/dbus/qdbusconnection.cpp
+++ b/src/dbus/qdbusconnection.cpp
@@ -557,42 +557,61 @@ QDBusPendingCall QDBusConnection::asyncCall(const QDBusMessage &message, int tim
bool QDBusConnection::connect(const QString &service, const QString &path, const QString& interface,
const QString &name, QObject *receiver, const char *slot)
{
- return connect(service, path, interface, name, QString(), receiver, slot);
+ return connect(service, path, interface, name, QStringList(), QString(), receiver, slot);
}
/*!
- Disconnects the signal specified by the \a service, \a path, \a interface and \a name parameters from
- the slot \a slot in object \a receiver. The arguments \a service and \a path can be empty,
- denoting a disconnection from all signals of the (\a interface, \a name) pair, from all remote
- applications.
+ \overload
- Returns true if the disconnection was successful.
+ Connects the signal to the slot \a slot in object \a
+ receiver. Unlike the previous connect() overload, this function
+ allows one to specify the parameter signature to be connected
+ using the \a signature variable. The function will then verify
+ that this signature can be delivered to the slot specified by \a
+ slot and return false otherwise.
+
+ Returns true if the connection was successful.
+
+ \note This function verifies that the signal signature matches the
+ slot's parameters, but it does not verify that the actual
+ signal exists with the given signature in the remote
+ service.
*/
-bool QDBusConnection::disconnect(const QString &service, const QString &path, const QString &interface,
- const QString &name, QObject *receiver, const char *slot)
+bool QDBusConnection::connect(const QString &service, const QString &path, const QString& interface,
+ const QString &name, const QString &signature,
+ QObject *receiver, const char *slot)
{
- return disconnect(service, path, interface, name, QString(), receiver, slot);
+ return connect(service, path, interface, name, QStringList(), signature, receiver, slot);
}
/*!
\overload
+ \since 4.6
Connects the signal to the slot \a slot in object \a
- receiver. Unlike the other connect() overload, this function
+ receiver. Unlike the previous connect() overload, this function
allows one to specify the parameter signature to be connected
using the \a signature variable. The function will then verify
that this signature can be delivered to the slot specified by \a
slot and return false otherwise.
+ The \a argumentMatch parameter lists the string parameters to be matched,
+ in sequential order. Note that, to match an empty string, you need to
+ pass a QString that is empty but not null (i.e., QString("")). A null
+ QString skips matching at that position.
+
+ Returns true if the connection was successful.
+
\note This function verifies that the signal signature matches the
slot's parameters, but it does not verify that the actual
signal exists with the given signature in the remote
service.
*/
bool QDBusConnection::connect(const QString &service, const QString &path, const QString& interface,
- const QString &name, const QString &signature,
+ const QString &name, const QStringList &argumentMatch, const QString &signature,
QObject *receiver, const char *slot)
{
+
if (!receiver || !slot || !d || !d->connection)
return false;
if (!interface.isEmpty() && !QDBusUtil::isValidInterfaceName(interface))
@@ -600,53 +619,57 @@ bool QDBusConnection::connect(const QString &service, const QString &path, const
if (interface.isEmpty() && name.isEmpty())
return false;
- // check the slot
- QDBusConnectionPrivate::SignalHook hook;
- QString key;
- QString name2 = name;
- if (name2.isNull())
- name2.detach();
-
QString owner = d->getNameOwner(service); // we don't care if the owner is empty
- hook.signature = signature; // it might get started later
- if (!d->prepareHook(hook, key, service, owner, path, interface, name, receiver, slot, 0, false))
- return false; // don't connect
-
- // avoid duplicating:
+ // it might get started later
QDBusWriteLocker locker(ConnectAction, d);
- QDBusConnectionPrivate::SignalHookHash::ConstIterator it = d->signalHooks.find(key);
- QDBusConnectionPrivate::SignalHookHash::ConstIterator end = d->signalHooks.constEnd();
- for ( ; it != end && it.key() == key; ++it) {
- const QDBusConnectionPrivate::SignalHook &entry = it.value();
- if (entry.service == hook.service &&
- entry.owner == hook.owner &&
- entry.path == hook.path &&
- entry.signature == hook.signature &&
- entry.obj == hook.obj &&
- entry.midx == hook.midx) {
- // no need to compare the parameters if it's the same slot
- return true; // already there
- }
- }
+ return d->connectSignal(service, owner, path, interface, name, argumentMatch, signature, receiver, slot);
+}
+
+/*!
+ Disconnects the signal specified by the \a service, \a path, \a interface
+ and \a name parameters from the slot \a slot in object \a receiver. The
+ arguments must be the same as passed to the connect() function.
- d->connectSignal(key, hook);
- return true;
+ Returns true if the disconnection was successful.
+*/
+bool QDBusConnection::disconnect(const QString &service, const QString &path, const QString &interface,
+ const QString &name, QObject *receiver, const char *slot)
+{
+ return disconnect(service, path, interface, name, QStringList(), QString(), receiver, slot);
}
/*!
\overload
- Disconnects the signal from the slot \a slot in object \a
- receiver. Unlike the other disconnect() overload, this function
- allows one to specify the parameter signature to be disconnected
- using the \a signature variable. The function will then verify
- that this signature is connected to the slot specified by \a slot
- and return false otherwise.
+ Disconnects the signal specified by the \a service, \a path, \a
+ interface, \a name, and \a signature parameters from the slot \a slot in
+ object \a receiver. The arguments must be the same as passed to the
+ connect() function.
+
+ Returns true if the disconnection was successful.
*/
bool QDBusConnection::disconnect(const QString &service, const QString &path, const QString& interface,
const QString &name, const QString &signature,
QObject *receiver, const char *slot)
{
+ return disconnect(service, path, interface, name, QStringList(), signature, receiver, slot);
+}
+
+/*!
+ \overload
+ \since 4.6
+
+ Disconnects the signal specified by the \a service, \a path, \a
+ interface, \a name, \a argumentMatch, and \a signature parameters from
+ the slot \a slot in object \a receiver. The arguments must be the same as
+ passed to the connect() function.
+
+ Returns true if the disconnection was successful.
+*/
+bool QDBusConnection::disconnect(const QString &service, const QString &path, const QString& interface,
+ const QString &name, const QStringList &argumentMatch, const QString &signature,
+ QObject *receiver, const char *slot)
+{
if (!receiver || !slot || !d || !d->connection)
return false;
if (!interface.isEmpty() && !QDBusUtil::isValidInterfaceName(interface))
@@ -654,38 +677,8 @@ bool QDBusConnection::disconnect(const QString &service, const QString &path, co
if (interface.isEmpty() && name.isEmpty())
return false;
- // check the slot
- QDBusConnectionPrivate::SignalHook hook;
- QString key;
- QString name2 = name;
- if (name2.isNull())
- name2.detach();
-
- QString owner = d->getNameOwner(service); // we don't care of owner is empty
- hook.signature = signature;
- if (!d->prepareHook(hook, key, service, owner, path, interface, name, receiver, slot, 0, false))
- return false; // don't disconnect
-
- // avoid duplicating:
QDBusWriteLocker locker(DisconnectAction, d);
- QDBusConnectionPrivate::SignalHookHash::Iterator it = d->signalHooks.find(key);
- QDBusConnectionPrivate::SignalHookHash::Iterator end = d->signalHooks.end();
- for ( ; it != end && it.key() == key; ++it) {
- const QDBusConnectionPrivate::SignalHook &entry = it.value();
- if (entry.service == hook.service &&
- entry.owner == hook.owner &&
- entry.path == hook.path &&
- entry.signature == hook.signature &&
- entry.obj == hook.obj &&
- entry.midx == hook.midx) {
- // no need to compare the parameters if it's the same slot
- d->disconnectSignal(it);
- return true; // it was there
- }
- }
-
- // the slot was not found
- return false;
+ return d->disconnectSignal(service, path, interface, name, argumentMatch, signature, receiver, slot);
}
/*!
@@ -1012,14 +1005,10 @@ void QDBusConnectionPrivate::setBusService(const QDBusConnection &connection)
busService = new QDBusConnectionInterface(connection, this);
ref.deref(); // busService has increased the refcounting to us
// avoid cyclic refcounting
-// if (mode != PeerMode)
- QObject::connect(busService, SIGNAL(serviceOwnerChanged(QString,QString,QString)),
- this, SIGNAL(serviceOwnerChanged(QString,QString,QString)));
QObject::connect(this, SIGNAL(callWithCallbackFailed(QDBusError,QDBusMessage)),
busService, SIGNAL(callWithCallbackFailed(QDBusError,QDBusMessage)),
Qt::QueuedConnection);
-
}
/*!
diff --git a/src/dbus/qdbusconnection.h b/src/dbus/qdbusconnection.h
index 85fc7c2..82ae726 100644
--- a/src/dbus/qdbusconnection.h
+++ b/src/dbus/qdbusconnection.h
@@ -132,15 +132,21 @@ public:
bool connect(const QString &service, const QString &path, const QString &interface,
const QString &name, QObject *receiver, const char *slot);
- bool disconnect(const QString &service, const QString &path, const QString &interface,
- const QString &name, QObject *receiver, const char *slot);
-
bool connect(const QString &service, const QString &path, const QString &interface,
const QString &name, const QString& signature,
QObject *receiver, const char *slot);
+ bool connect(const QString &service, const QString &path, const QString &interface,
+ const QString &name, const QStringList &argumentMatch, const QString& signature,
+ QObject *receiver, const char *slot);
+
+ bool disconnect(const QString &service, const QString &path, const QString &interface,
+ const QString &name, QObject *receiver, const char *slot);
bool disconnect(const QString &service, const QString &path, const QString &interface,
const QString &name, const QString& signature,
QObject *receiver, const char *slot);
+ bool disconnect(const QString &service, const QString &path, const QString &interface,
+ const QString &name, const QStringList &argumentMatch, const QString& signature,
+ QObject *receiver, const char *slot);
bool registerObject(const QString &path, QObject *object,
RegisterOptions options = ExportAdaptors);
diff --git a/src/dbus/qdbusconnection_p.h b/src/dbus/qdbusconnection_p.h
index ab96457..ed29e4e 100644
--- a/src/dbus/qdbusconnection_p.h
+++ b/src/dbus/qdbusconnection_p.h
@@ -154,6 +154,7 @@ public:
typedef QMultiHash<QString, SignalHook> SignalHookHash;
typedef QHash<QString, QDBusMetaObject* > MetaObjectHash;
typedef QHash<QByteArray, int> MatchRefCountHash;
+ typedef QHash<QString, int> WatchedServicesHash;
public:
// public methods are entry points from other objects
@@ -175,8 +176,14 @@ public:
QDBusPendingCallPrivate *sendWithReplyAsync(const QDBusMessage &message, int timeout = -1);
int sendWithReplyAsync(const QDBusMessage &message, QObject *receiver,
const char *returnMethod, const char *errorMethod, int timeout = -1);
+ bool connectSignal(const QString &service, const QString &owner, const QString &path, const QString& interface,
+ const QString &name, const QStringList &argumentMatch, const QString &signature,
+ QObject *receiver, const char *slot);
void connectSignal(const QString &key, const SignalHook &hook);
SignalHookHash::Iterator disconnectSignal(SignalHookHash::Iterator &it);
+ bool disconnectSignal(const QString &service, const QString &path, const QString& interface,
+ const QString &name, const QStringList &argumentMatch, const QString &signature,
+ QObject *receiver, const char *slot);
void registerObject(const ObjectTreeNode *node);
void connectRelay(const QString &service, const QString &currentOwner,
const QString &path, const QString &interface,
@@ -264,6 +271,7 @@ public:
QDBusError lastError;
QStringList serviceNames;
+ WatchedServicesHash watchedServiceNames;
SignalHookHash signalHooks;
MatchRefCountHash matchRefCounts;
ObjectTreeNode rootNode;
@@ -278,6 +286,7 @@ public:
static bool prepareHook(QDBusConnectionPrivate::SignalHook &hook, QString &key,
const QString &service, const QString &owner,
const QString &path, const QString &interface, const QString &name,
+ const QStringList &argMatch,
QObject *receiver, const char *signal, int minMIdx,
bool buildSignature);
static DBusHandlerResult messageFilter(DBusConnection *, DBusMessage *, void *);
diff --git a/src/dbus/qdbusconnectioninterface.cpp b/src/dbus/qdbusconnectioninterface.cpp
index 8670ed5..414d318 100644
--- a/src/dbus/qdbusconnectioninterface.cpp
+++ b/src/dbus/qdbusconnectioninterface.cpp
@@ -336,8 +336,14 @@ void QDBusConnectionInterface::connectNotify(const char *signalName)
else if (qstrcmp(signalName, SIGNAL(serviceUnregistered(QString))) == 0)
QDBusAbstractInterface::connectNotify(SIGNAL(NameLost(QString)));
- else if (qstrcmp(signalName, SIGNAL(serviceOwnerChanged(QString,QString,QString))) == 0)
+ else if (qstrcmp(signalName, SIGNAL(serviceOwnerChanged(QString,QString,QString))) == 0) {
+ static bool warningPrinted = false;
+ if (!warningPrinted) {
+ qWarning("Connecting to deprecated signal QDBusConnectionInterface::serviceOwnerChanged(QString,QString,QString)");
+ warningPrinted = true;
+ }
QDBusAbstractInterface::connectNotify(SIGNAL(NameOwnerChanged(QString,QString,QString)));
+ }
}
/*!
diff --git a/src/dbus/qdbusintegrator.cpp b/src/dbus/qdbusintegrator.cpp
index fb2dd77..c7538c3 100644
--- a/src/dbus/qdbusintegrator.cpp
+++ b/src/dbus/qdbusintegrator.cpp
@@ -392,7 +392,7 @@ static void qDBusNewConnection(DBusServer *server, DBusConnection *connection, v
static QByteArray buildMatchRule(const QString &service, const QString & /*owner*/,
const QString &objectPath, const QString &interface,
- const QString &member, const QString & /*signature*/)
+ const QString &member, const QStringList &argMatch, const QString & /*signature*/)
{
QString result = QLatin1String("type='signal',");
QString keyValue = QLatin1String("%1='%2',");
@@ -406,6 +406,14 @@ static QByteArray buildMatchRule(const QString &service, const QString & /*owner
if (!member.isEmpty())
result += keyValue.arg(QLatin1String("member"), member);
+ // add the argument string-matching now
+ if (!argMatch.isEmpty()) {
+ keyValue = QLatin1String("arg%1='%2',");
+ for (int i = 0; i < argMatch.count(); ++i)
+ if (!argMatch.at(i).isNull())
+ result += keyValue.arg(i).arg(argMatch.at(i));
+ }
+
result.chop(1); // remove ending comma
return result.toLatin1();
}
@@ -493,6 +501,11 @@ static QObject *findChildObject(const QDBusConnectionPrivate::ObjectTreeNode *ro
return 0;
}
+static bool shouldWatchService(const QString &service)
+{
+ return !service.isEmpty() && !service.startsWith(QLatin1Char(':'));
+}
+
extern QDBUS_EXPORT void qDBusAddSpyHook(QDBusSpyHook);
void qDBusAddSpyHook(QDBusSpyHook hook)
{
@@ -933,6 +946,7 @@ QDBusConnectionPrivate::QDBusConnectionPrivate(QObject *p)
QDBusMetaTypeId::init();
rootNode.flags = 0;
+ watchedServiceNames[QLatin1String(DBUS_SERVICE_DBUS)] = 1;
connect(this, SIGNAL(serviceOwnerChanged(QString,QString,QString)),
this, SLOT(_q_serviceOwnerChanged(QString,QString,QString)));
@@ -1195,6 +1209,7 @@ int QDBusConnectionPrivate::findSlot(QObject* obj, const QByteArray &normalizedN
bool QDBusConnectionPrivate::prepareHook(QDBusConnectionPrivate::SignalHook &hook, QString &key,
const QString &service, const QString &owner,
const QString &path, const QString &interface, const QString &name,
+ const QStringList &argMatch,
QObject *receiver, const char *signal, int minMIdx,
bool buildSignature)
{
@@ -1235,7 +1250,7 @@ bool QDBusConnectionPrivate::prepareHook(QDBusConnectionPrivate::SignalHook &hoo
hook.signature += QLatin1String( QDBusMetaType::typeToSignature( hook.params.at(i) ) );
}
- hook.matchRule = buildMatchRule(service, owner, path, interface, mname, hook.signature);
+ hook.matchRule = buildMatchRule(service, owner, path, interface, mname, argMatch, hook.signature);
return true; // connect to this signal
}
@@ -1478,7 +1493,7 @@ void QDBusConnectionPrivate::handleSignal(const QString &key, const QDBusMessage
//qDBusDebug() << signalHooks.keys();
for ( ; it != end && it.key() == key; ++it) {
const SignalHook &hook = it.value();
- if (!hook.owner.isEmpty() && hook.owner != msg.service())
+ if (!hook.owner.isNull() && hook.owner != msg.service())
continue;
if (!hook.path.isEmpty() && hook.path != msg.path())
continue;
@@ -1933,6 +1948,42 @@ int QDBusConnectionPrivate::sendWithReplyAsync(const QDBusMessage &message, QObj
return 1;
}
+bool QDBusConnectionPrivate::connectSignal(const QString &service, const QString &owner,
+ const QString &path, const QString &interface, const QString &name,
+ const QStringList &argumentMatch, const QString &signature,
+ QObject *receiver, const char *slot)
+{
+ // check the slot
+ QDBusConnectionPrivate::SignalHook hook;
+ QString key;
+ QString name2 = name;
+ if (name2.isNull())
+ name2.detach();
+
+ hook.signature = signature;
+ if (!prepareHook(hook, key, service, owner, path, interface, name, argumentMatch, receiver, slot, 0, false))
+ return false; // don't connect
+
+ // avoid duplicating:
+ QDBusConnectionPrivate::SignalHookHash::ConstIterator it = signalHooks.find(key);
+ QDBusConnectionPrivate::SignalHookHash::ConstIterator end = signalHooks.constEnd();
+ for ( ; it != end && it.key() == key; ++it) {
+ const QDBusConnectionPrivate::SignalHook &entry = it.value();
+ if (entry.service == hook.service &&
+ entry.owner == hook.owner &&
+ entry.path == hook.path &&
+ entry.signature == hook.signature &&
+ entry.obj == hook.obj &&
+ entry.midx == hook.midx) {
+ // no need to compare the parameters if it's the same slot
+ return true; // already there
+ }
+ }
+
+ connectSignal(key, hook);
+ return true;
+}
+
void QDBusConnectionPrivate::connectSignal(const QString &key, const SignalHook &hook)
{
signalHooks.insertMulti(key, hook);
@@ -1960,15 +2011,81 @@ void QDBusConnectionPrivate::connectSignal(const QString &key, const SignalHook
hook.obj->metaObject()->method(hook.midx).signature(),
qPrintable(qerror.name()), qPrintable(qerror.message()));
Q_ASSERT(false);
+ } else {
+ // Successfully connected the signal
+ // Do we need to watch for this name?
+ if (shouldWatchService(hook.service)) {
+ WatchedServicesHash::Iterator it = watchedServiceNames.find(hook.service);
+ if (it != watchedServiceNames.end()) {
+ // already watching
+ ++it.value();
+ } else {
+ // we need to watch for this service changing
+ QString dbusServerService = QLatin1String(DBUS_SERVICE_DBUS);
+ connectSignal(dbusServerService, dbusServerService, QString(), QLatin1String(DBUS_INTERFACE_DBUS),
+ QLatin1String("NameOwnerChanged"), QStringList() << hook.service, QString(),
+ this, SLOT(_q_serviceOwnerChanged(QString,QString,QString)));
+ }
+ }
}
}
}
+bool QDBusConnectionPrivate::disconnectSignal(const QString &service,
+ const QString &path, const QString &interface, const QString &name,
+ const QStringList &argumentMatch, const QString &signature,
+ QObject *receiver, const char *slot)
+{
+ // check the slot
+ QDBusConnectionPrivate::SignalHook hook;
+ QString key;
+ QString name2 = name;
+ if (name2.isNull())
+ name2.detach();
+
+ hook.signature = signature;
+ if (!prepareHook(hook, key, service, QString(), path, interface, name, argumentMatch, receiver, slot, 0, false))
+ return false; // don't disconnect
+
+ // avoid duplicating:
+ QDBusConnectionPrivate::SignalHookHash::Iterator it = signalHooks.find(key);
+ QDBusConnectionPrivate::SignalHookHash::Iterator end = signalHooks.end();
+ for ( ; it != end && it.key() == key; ++it) {
+ const QDBusConnectionPrivate::SignalHook &entry = it.value();
+ if (entry.service == hook.service &&
+ //entry.owner == hook.owner &&
+ entry.path == hook.path &&
+ entry.signature == hook.signature &&
+ entry.obj == hook.obj &&
+ entry.midx == hook.midx) {
+ // no need to compare the parameters if it's the same slot
+ disconnectSignal(it);
+ return true; // it was there
+ }
+ }
+
+ // the slot was not found
+ return false;
+}
+
QDBusConnectionPrivate::SignalHookHash::Iterator
QDBusConnectionPrivate::disconnectSignal(SignalHookHash::Iterator &it)
{
const SignalHook &hook = it.value();
+ WatchedServicesHash::Iterator sit = watchedServiceNames.find(hook.service);
+ if (sit != watchedServiceNames.end()) {
+ if (sit.value() == 1) {
+ watchedServiceNames.erase(sit);
+ QString dbusServerService = QLatin1String(DBUS_SERVICE_DBUS);
+ disconnectSignal(dbusServerService, QString(), QLatin1String(DBUS_INTERFACE_DBUS),
+ QLatin1String("NameOwnerChanged"), QStringList() << hook.service, QString(),
+ this, SLOT(_q_serviceOwnerChanged(QString,QString,QString)));
+ } else {
+ --sit.value();
+ }
+ }
+
bool erase = false;
MatchRefCountHash::iterator i = matchRefCounts.find(hook.matchRule);
if (i == matchRefCounts.end()) {
@@ -2027,7 +2144,7 @@ void QDBusConnectionPrivate::connectRelay(const QString &service, const QString
SignalHook hook;
QString key;
- if (!prepareHook(hook, key, service, owner, path, interface, QString(), receiver, signal,
+ if (!prepareHook(hook, key, service, owner, path, interface, QString(), QStringList(), receiver, signal,
QDBusAbstractInterface::staticMetaObject.methodCount(), true))
return; // don't connect
@@ -2059,7 +2176,7 @@ void QDBusConnectionPrivate::disconnectRelay(const QString &service, const QStri
SignalHook hook;
QString key;
- if (!prepareHook(hook, key, service, owner, path, interface, QString(), receiver, signal,
+ if (!prepareHook(hook, key, service, owner, path, interface, QString(), QStringList(), receiver, signal,
QDBusAbstractInterface::staticMetaObject.methodCount(), true))
return; // don't connect
diff --git a/src/dbus/qdbusservicewatcher.cpp b/src/dbus/qdbusservicewatcher.cpp
new file mode 100644
index 0000000..115fe3e
--- /dev/null
+++ b/src/dbus/qdbusservicewatcher.cpp
@@ -0,0 +1,374 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDBus module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, 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.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "qdbusservicewatcher.h"
+#include "qdbusconnection.h"
+#include "qdbus_symbols_p.h"
+
+#include <QStringList>
+
+#include <private/qobject_p.h>
+
+Q_GLOBAL_STATIC_WITH_ARGS(QString, busService, (QLatin1String(DBUS_SERVICE_DBUS)))
+Q_GLOBAL_STATIC_WITH_ARGS(QString, busPath, (QLatin1String(DBUS_PATH_DBUS)))
+Q_GLOBAL_STATIC_WITH_ARGS(QString, busInterface, (QLatin1String(DBUS_INTERFACE_DBUS)))
+Q_GLOBAL_STATIC_WITH_ARGS(QString, signalName, (QLatin1String("NameOwnerChanged")))
+
+class QDBusServiceWatcherPrivate: public QObjectPrivate
+{
+ Q_DECLARE_PUBLIC(QDBusServiceWatcher)
+public:
+ QDBusServiceWatcherPrivate(const QDBusConnection &c, QDBusServiceWatcher::WatchMode wm)
+ : connection(c), watchMode(wm)
+ {
+ }
+
+ QStringList servicesWatched;
+ QDBusConnection connection;
+ QDBusServiceWatcher::WatchMode watchMode;
+
+ void _q_serviceOwnerChanged(const QString &, const QString &, const QString &);
+ void setConnection(const QStringList &services, const QDBusConnection &c, QDBusServiceWatcher::WatchMode watchMode);
+
+ QStringList matchArgsForService(const QString &service);
+ void addService(const QString &service);
+ void removeService(const QString &service);
+};
+
+void QDBusServiceWatcherPrivate::_q_serviceOwnerChanged(const QString &service, const QString &oldOwner, const QString &newOwner)
+{
+ Q_Q(QDBusServiceWatcher);
+ emit q->serviceOwnerChanged(service, oldOwner, newOwner);
+ if (oldOwner.isEmpty())
+ emit q->serviceRegistered(service);
+ else if (newOwner.isEmpty())
+ emit q->serviceUnregistered(service);
+}
+
+void QDBusServiceWatcherPrivate::setConnection(const QStringList &s, const QDBusConnection &c, QDBusServiceWatcher::WatchMode wm)
+{
+ if (connection.isConnected()) {
+ // remove older rules
+ foreach (const QString &s, servicesWatched)
+ removeService(s);
+ }
+
+ connection = c;
+ watchMode = wm;
+ servicesWatched = s;
+
+ if (connection.isConnected()) {
+ // add new rules
+ foreach (const QString &s, servicesWatched)
+ addService(s);
+ }
+}
+
+QStringList QDBusServiceWatcherPrivate::matchArgsForService(const QString &service)
+{
+ QStringList matchArgs;
+ matchArgs << service;
+
+ switch (watchMode) {
+ case QDBusServiceWatcher::WatchForOwnerChange:
+ break;
+
+ case QDBusServiceWatcher::WatchForRegistration:
+ matchArgs << QString::fromLatin1("", 0);
+ break;
+
+ case QDBusServiceWatcher::WatchForUnregistration:
+ matchArgs << QString() << QString::fromLatin1("", 0);
+ break;
+ }
+ return matchArgs;
+}
+
+void QDBusServiceWatcherPrivate::addService(const QString &service)
+{
+ QStringList matchArgs = matchArgsForService(service);
+ connection.connect(*busService(), *busPath(), *busInterface(), *signalName(),
+ matchArgs, QString(), q_func(),
+ SLOT(_q_serviceOwnerChanged(QString,QString,QString)));
+}
+
+void QDBusServiceWatcherPrivate::removeService(const QString &service)
+{
+ QStringList matchArgs = matchArgsForService(service);
+ connection.disconnect(*busService(), *busPath(), *busInterface(), *signalName(),
+ matchArgs, QString(), q_func(),
+ SLOT(_q_serviceOwnerChanged(QString,QString,QString)));
+}
+
+/*!
+ \class QDBusServiceWatcher
+ \since 4.6
+ \inmodule QtDBus
+
+ \brief The QDBusServiceWatcher class allows the user to watch for a bus service change.
+
+ A QDBusServiceWatcher object can be used to notify the application about
+ an ownership change of a service name on the bus. It has three watch
+ modes:
+
+ \list
+ \o Watching for service registration only.
+ \o Watching for service unregistration only.
+ \o Watching for any kind of service ownership change (the default mode).
+ \endlist
+
+ Besides being created or deleted, services may change owners without a
+ unregister/register operation happening. So the serviceRegistered()
+ and serviceUnregistered() signals may not be emitted if that
+ happens.
+
+ This class is more efficient than using the
+ QDBusConnectionInterface::serviceOwnerChanged() signal because it allows
+ one to receive only the signals for which the class is interested in.
+
+ \sa QDBusConnection
+*/
+
+/*!
+ \enum QDBusServiceWatcher::WatchModeFlag
+
+ QDBusServiceWatcher supports three different watch modes, which are configured by this flag:
+
+ \value WatchForRegistration watch for service registration only, ignoring
+ any signals related to other service ownership change.
+
+ \value WatchForUnregistration watch for service unregistration only,
+ ignoring any signals related to other service ownership change.
+
+ \value WatchForOwnerChange watch for any kind of service ownership
+ change.
+*/
+
+/*!
+ \property QDBusServiceWatcher::watchMode
+
+ The \c watchMode property holds the current watch mode for this
+ QDBusServiceWatcher object. The default value for this property is
+ QDBusServiceWatcher::WatchForOwnershipChange.
+*/
+
+/*!
+ \property QDBusServiceWatcher::watchedServices
+
+ The \c servicesWatched property holds the list of services watched.
+
+ Note that modifying this list with setServicesWatched() is an expensive
+ operation. If you can, prefer to change it by way of addWatchedService()
+ and removeWatchedService().
+*/
+
+/*!
+ \fn void QDBusServiceWatcher::serviceRegistered(const QString &serviceName)
+
+ This signal is emitted whenever this object detects that the service \a
+ serviceName became available on the bus.
+
+ \sa serviceUnregistered(), serviceOwnerChanged()
+*/
+
+/*!
+ \fn void QDBusServiceWatcher::serviceUnregistered(const QString &serviceName)
+
+ This signal is emitted whenever this object detects that the service \a
+ serviceName was unregistered from the bus and is no longer available.
+
+ \sa serviceRegistered(), serviceOwnerChanged()
+*/
+
+/*!
+ \fn void QDBusServiceWatcher::serviceOwnerChanged(const QString &serviceName, const QString &oldOwner, const QString &newOwner)
+
+ This signal is emitted whenever this object detects that there was a
+ service ownership change relating to the \a serviceName service. The \a
+ oldOwner parameter contains the old owner name and \a newOwner is the new
+ owner. Both \a oldOwner and \a newOwner are unique connection names.
+
+ Note that this signal is also emitted whenever the \a serviceName service
+ was registered or unregistered. If it was registered, \a oldOwner will
+ contain an empty string, whereas if it was unregistered, \a newOwner will
+ contain an empty string.
+
+ If you need only to find out if the service is registered or unregistered
+ only, without being notified that the ownership changed, consider using
+ the specific modes for those operations. This class is more efficient if
+ you use the more specific modes.
+
+ \sa serviceRegistered(), serviceUnregistered()
+*/
+
+/*!
+ Creates a QDBusServiceWatcher object. Note that until you set a
+ connection with setConnection(), this object will not emit any signals.
+
+ The \a parent parameter is passed to QObject to set the parent of this
+ object.
+*/
+QDBusServiceWatcher::QDBusServiceWatcher(QObject *parent)
+ : QObject(*new QDBusServiceWatcherPrivate(QDBusConnection(QString()), WatchForOwnerChange), parent)
+{
+}
+
+/*!
+ Creates a QDBusServiceWatcher object and attaches it to the \a connection
+ connection. Also, this function immediately starts watching for \a
+ watchMode changes to service \a service.
+
+ The \a parent parameter is passed to QObject to set the parent of this
+ object.
+*/
+QDBusServiceWatcher::QDBusServiceWatcher(const QString &service, const QDBusConnection &connection, WatchMode watchMode, QObject *parent)
+ : QObject(*new QDBusServiceWatcherPrivate(connection, watchMode), parent)
+{
+ d_func()->setConnection(QStringList() << service, connection, watchMode);
+}
+
+/*!
+ Destroys the QDBusServiceWatcher object and releases any resources
+ associated with it.
+*/
+QDBusServiceWatcher::~QDBusServiceWatcher()
+{
+}
+
+/*!
+ Returns the list of D-Bus services that are being watched.
+
+ \sa setWatchedServices()
+*/
+QStringList QDBusServiceWatcher::watchedServices() const
+{
+ return d_func()->servicesWatched;
+}
+
+/*!
+ Sets the list of D-Bus services being watched to be \a services.
+
+ Note that setting the entire list means removing all previous rules for
+ watching services and adding new ones. This is an expensive operation and
+ should be avoided, if possible. Instead, use addWatchedService() and
+ removeWatchedService() if you can to manipulate entries in the list.
+*/
+void QDBusServiceWatcher::setWatchedServices(const QStringList &services)
+{
+ Q_D(QDBusServiceWatcher);
+ if (services == d->servicesWatched)
+ return;
+ d->setConnection(services, d->connection, d->watchMode);
+}
+
+/*!
+ Adds \a newService to the list of services to be watched by this object.
+ This function is more efficient than setWatchedServices() and should be
+ used whenever possible to add services.
+*/
+void QDBusServiceWatcher::addWatchedService(const QString &newService)
+{
+ Q_D(QDBusServiceWatcher);
+ if (d->servicesWatched.contains(newService))
+ return;
+ d->addService(newService);
+ d->servicesWatched << newService;
+}
+
+/*!
+ Removes the \a service from the list of services being watched by this
+ object. Note that D-Bus notifications are asynchronous, so there may
+ still be signals pending delivery about \a service. Those signals will
+ still be emitted whenever the D-Bus messages are processed.
+
+ This function returns true if any services were removed.
+*/
+bool QDBusServiceWatcher::removeWatchedService(const QString &service)
+{
+ Q_D(QDBusServiceWatcher);
+ d->removeService(service);
+ return d->servicesWatched.removeOne(service);
+}
+
+QDBusServiceWatcher::WatchMode QDBusServiceWatcher::watchMode() const
+{
+ return d_func()->watchMode;
+}
+
+void QDBusServiceWatcher::setWatchMode(WatchMode mode)
+{
+ Q_D(QDBusServiceWatcher);
+ if (mode == d->watchMode)
+ return;
+ d->setConnection(d->servicesWatched, d->connection, mode);
+}
+
+/*!
+ Returns the QDBusConnection that this object is attached to.
+
+ \sa setConnection()
+*/
+QDBusConnection QDBusServiceWatcher::connection() const
+{
+ return d_func()->connection;
+}
+
+/*!
+ Sets the D-Bus connection that this object is attached to be \a
+ connection. All services watched will be transferred to this connection.
+
+ Note that QDBusConnection objects are reference counted:
+ QDBusServiceWatcher will keep a reference for this connection while it
+ exists. The connection is not closed until the reference count drops to
+ zero, so this will ensure that any notifications are received while this
+ QDBusServiceWatcher object exists.
+
+ \sa connection()
+*/
+void QDBusServiceWatcher::setConnection(const QDBusConnection &connection)
+{
+ Q_D(QDBusServiceWatcher);
+ if (connection.name() == d->connection.name())
+ return;
+ d->setConnection(d->servicesWatched, connection, d->watchMode);
+}
+
+#include "moc_qdbusservicewatcher.cpp"
diff --git a/src/dbus/qdbusservicewatcher.h b/src/dbus/qdbusservicewatcher.h
new file mode 100644
index 0000000..a968a9c
--- /dev/null
+++ b/src/dbus/qdbusservicewatcher.h
@@ -0,0 +1,103 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDBus module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, 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.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef QDBUSSERVICEWATCHER_H
+#define QDBUSSERVICEWATCHER_H
+
+#include <QtCore/qobject.h>
+#include <QtDBus/qdbusmacros.h>
+
+QT_BEGIN_HEADER
+
+QT_BEGIN_NAMESPACE
+
+QT_MODULE(DBus)
+
+class QDBusConnection;
+
+class QDBusServiceWatcherPrivate;
+class QDBUS_EXPORT QDBusServiceWatcher: public QObject
+{
+ Q_OBJECT
+ Q_PROPERTY(QStringList watchedServices READ watchedServices WRITE setWatchedServices)
+ Q_PROPERTY(WatchMode watchMode READ watchMode WRITE setWatchMode)
+public:
+ enum WatchModeFlag {
+ WatchForRegistration = 0x01,
+ WatchForUnregistration = 0x02,
+ WatchForOwnerChange = 0x03
+ };
+ Q_DECLARE_FLAGS(WatchMode, WatchModeFlag)
+
+ explicit QDBusServiceWatcher(QObject *parent = 0);
+ QDBusServiceWatcher(const QString &service, const QDBusConnection &connection,
+ WatchMode watchMode = WatchForOwnerChange, QObject *parent = 0);
+ ~QDBusServiceWatcher();
+
+ QStringList watchedServices() const;
+ void setWatchedServices(const QStringList &services);
+ void addWatchedService(const QString &newService);
+ bool removeWatchedService(const QString &service);
+
+ WatchMode watchMode() const;
+ void setWatchMode(WatchMode mode);
+
+ QDBusConnection connection() const;
+ void setConnection(const QDBusConnection &connection);
+
+Q_SIGNALS:
+ void serviceRegistered(const QString &service);
+ void serviceUnregistered(const QString &service);
+ void serviceOwnerChanged(const QString &service, const QString &oldOwner, const QString &newOwner);
+
+private:
+ Q_PRIVATE_SLOT(d_func(), void _q_serviceOwnerChanged(QString,QString,QString))
+ Q_DISABLE_COPY(QDBusServiceWatcher)
+ Q_DECLARE_PRIVATE(QDBusServiceWatcher)
+};
+
+Q_DECLARE_OPERATORS_FOR_FLAGS(QDBusServiceWatcher::WatchMode)
+
+QT_END_NAMESPACE
+
+QT_END_HEADER
+
+#endif // QDBUSSERVICEWATCHER_H
diff --git a/src/gui/accessible/qaccessible.h b/src/gui/accessible/qaccessible.h
index 8f6d9d9..c493054 100644
--- a/src/gui/accessible/qaccessible.h
+++ b/src/gui/accessible/qaccessible.h
@@ -311,7 +311,8 @@ namespace QAccessible2
EditableTextInterface,
ValueInterface,
TableInterface,
- ActionInterface
+ ActionInterface,
+ ImageInterface
};
}
@@ -321,6 +322,7 @@ class QAccessibleEditableTextInterface;
class QAccessibleValueInterface;
class QAccessibleTableInterface;
class QAccessibleActionInterface;
+class QAccessibleImageInterface;
class Q_GUI_EXPORT QAccessibleInterface : public QAccessible
{
@@ -381,6 +383,9 @@ public:
inline QAccessibleActionInterface *actionInterface()
{ return reinterpret_cast<QAccessibleActionInterface *>(cast_helper(QAccessible2::ActionInterface)); }
+ inline QAccessibleImageInterface *imageInterface()
+ { return reinterpret_cast<QAccessibleImageInterface *>(cast_helper(QAccessible2::ImageInterface)); }
+
private:
QAccessible2Interface *cast_helper(QAccessible2::InterfaceType);
};
diff --git a/src/gui/accessible/qaccessible2.cpp b/src/gui/accessible/qaccessible2.cpp
index 0867368..b878cf1 100644
--- a/src/gui/accessible/qaccessible2.cpp
+++ b/src/gui/accessible/qaccessible2.cpp
@@ -120,6 +120,18 @@ QT_BEGIN_NAMESPACE
\link http://www.linux-foundation.org/en/Accessibility/IAccessible2 IAccessible2 Specification \endlink
*/
+/*!
+ \class QAccessibleImageInterface
+ \ingroup accessibility
+ \internal
+ \preliminary
+
+ \brief The QAccessibleImageInterface class implements support for
+ the IAccessibleImage interface.
+
+ \link http://www.linux-foundation.org/en/Accessibility/IAccessible2 IAccessible2 Specification \endlink
+*/
+
QAccessibleSimpleEditableTextInterface::QAccessibleSimpleEditableTextInterface(
QAccessibleInterface *accessibleInterface)
: iface(accessibleInterface)
diff --git a/src/gui/accessible/qaccessible2.h b/src/gui/accessible/qaccessible2.h
index 435c640..ba12a7c 100644
--- a/src/gui/accessible/qaccessible2.h
+++ b/src/gui/accessible/qaccessible2.h
@@ -82,6 +82,7 @@ inline QAccessible2Interface *qAccessibleTextCastHelper() { return 0; }
inline QAccessible2Interface *qAccessibleEditableTextCastHelper() { return 0; }
inline QAccessible2Interface *qAccessibleTableCastHelper() { return 0; }
inline QAccessible2Interface *qAccessibleActionCastHelper() { return 0; }
+inline QAccessible2Interface *qAccessibleImageCastHelper() { return 0; }
#define Q_ACCESSIBLE_OBJECT \
public: \
@@ -98,6 +99,8 @@ inline QAccessible2Interface *qAccessibleActionCastHelper() { return 0; }
return qAccessibleTableCastHelper(); \
case QAccessible2::ActionInterface: \
return qAccessibleActionCastHelper(); \
+ case QAccessible2::ImageInterface: \
+ return qAccessibleImageCastHelper(); \
} \
return 0; \
} \
@@ -224,6 +227,16 @@ public:
virtual QStringList keyBindings(int actionIndex) = 0;
};
+class Q_GUI_EXPORT QAccessibleImageInterface : public QAccessible2Interface
+{
+public:
+ inline QAccessible2Interface *qAccessibleImageCastHelper() { return this; }
+
+ virtual QString imageDescription() = 0;
+ virtual QSize imageSize() = 0;
+ virtual QRect imagePosition(QAccessible2::CoordinateType coordType) = 0;
+};
+
#endif // QT_NO_ACCESSIBILITY
QT_END_NAMESPACE
diff --git a/src/gui/accessible/qaccessible_mac.mm b/src/gui/accessible/qaccessible_mac.mm
index 9575ad8..030c1a9 100644
--- a/src/gui/accessible/qaccessible_mac.mm
+++ b/src/gui/accessible/qaccessible_mac.mm
@@ -504,11 +504,6 @@ QAElement::QAElement(const QAElement &element)
}
QAElement::QAElement(HIObjectRef object, int child)
- :elementRef(
-#ifndef QT_MAC_USE_COCOA
- AXUIElementCreateWithHIObjectAndIdentifier(object, child)
-#endif
-)
{
#ifndef QT_MAC_USE_COCOA
if (object == 0) {
diff --git a/src/gui/dialogs/qcolordialog_mac.mm b/src/gui/dialogs/qcolordialog_mac.mm
index 9e4fdd1..5f074c0 100644
--- a/src/gui/dialogs/qcolordialog_mac.mm
+++ b/src/gui/dialogs/qcolordialog_mac.mm
@@ -252,15 +252,20 @@ QT_USE_NAMESPACE
delete mQtColor;
mQtColor = new QColor();
NSColor *color = [mColorPanel color];
- NSString *colorSpace = [color colorSpaceName];
- if (colorSpace == NSDeviceCMYKColorSpace) {
- CGFloat cyan, magenta, yellow, black, alpha;
+ NSString *colorSpaceName = [color colorSpaceName];
+ if (colorSpaceName == NSDeviceCMYKColorSpace) {
+ CGFloat cyan = 0, magenta = 0, yellow = 0, black = 0, alpha = 0;
[color getCyan:&cyan magenta:&magenta yellow:&yellow black:&black alpha:&alpha];
mQtColor->setCmykF(cyan, magenta, yellow, black, alpha);
- } else if (colorSpace == NSCalibratedRGBColorSpace || colorSpace == NSDeviceRGBColorSpace) {
- CGFloat red, green, blue, alpha;
+ } else if (colorSpaceName == NSCalibratedRGBColorSpace || colorSpaceName == NSDeviceRGBColorSpace) {
+ CGFloat red = 0, green = 0, blue = 0, alpha = 0;
[color getRed:&red green:&green blue:&blue alpha:&alpha];
mQtColor->setRgbF(red, green, blue, alpha);
+ } else if (colorSpaceName == NSNamedColorSpace) {
+ NSColor *tmpColor = [color colorUsingColorSpaceName:NSCalibratedRGBColorSpace];
+ CGFloat red = 0, green = 0, blue = 0, alpha = 0;
+ [tmpColor getRed:&red green:&green blue:&blue alpha:&alpha];
+ mQtColor->setRgbF(red, green, blue, alpha);
} else {
NSColorSpace *colorSpace = [color colorSpace];
if ([colorSpace colorSpaceModel] == NSCMYKColorSpaceModel && [color numberOfComponents] == 5){
@@ -269,7 +274,7 @@ QT_USE_NAMESPACE
mQtColor->setCmykF(components[0], components[1], components[2], components[3], components[4]);
} else {
NSColor *tmpColor = [color colorUsingColorSpaceName:NSCalibratedRGBColorSpace];
- CGFloat red, green, blue, alpha;
+ CGFloat red = 0, green = 0, blue = 0, alpha = 0;
[tmpColor getRed:&red green:&green blue:&blue alpha:&alpha];
mQtColor->setRgbF(red, green, blue, alpha);
}
@@ -319,7 +324,18 @@ QT_USE_NAMESPACE
QBoolBlocker nativeDialogOnTop(QApplicationPrivate::native_modal_dialog_active);
QMacCocoaAutoReleasePool pool;
mDialogIsExecuting = true;
- [NSApp runModalForWindow:mColorPanel];
+ bool modalEnded = false;
+ while (!modalEnded) {
+ @try {
+ [NSApp runModalForWindow:mColorPanel];
+ modalEnded = true;
+ } @catch (NSException *) {
+ // For some reason, NSColorPanel throws an exception when
+ // clicking on 'SelectedMenuItemColor' from the 'Developer'
+ // palette (tab three).
+ }
+ }
+
QAbstractEventDispatcher::instance()->interrupt();
if (mResultCode == NSCancelButton)
mPriv->colorDialog()->reject();
diff --git a/src/gui/dialogs/qfiledialog.cpp b/src/gui/dialogs/qfiledialog.cpp
index eab842f..6bc6b76 100644
--- a/src/gui/dialogs/qfiledialog.cpp
+++ b/src/gui/dialogs/qfiledialog.cpp
@@ -777,7 +777,7 @@ void QFileDialog::setDirectory(const QString &directory)
QModelIndex root = d->model->setRootPath(newDirectory);
d->qFileDialogUi->newFolderButton->setEnabled(d->model->flags(root) & Qt::ItemIsDropEnabled);
if (root != d->rootIndex()) {
-#ifndef QT_NO_COMPLETER
+#ifndef QT_NO_FSCOMPLETER
if (directory.endsWith(QLatin1Char('/')))
d->completer->setCompletionPrefix(newDirectory);
else
@@ -2177,12 +2177,12 @@ void QFileDialogPrivate::createWidgets()
#ifndef QT_NO_SHORTCUT
qFileDialogUi->fileNameLabel->setBuddy(qFileDialogUi->fileNameEdit);
#endif
-#ifndef QT_NO_COMPLETER
+#ifndef QT_NO_FSCOMPLETER
completer = new QFSCompleter(model, q);
qFileDialogUi->fileNameEdit->setCompleter(completer);
QObject::connect(qFileDialogUi->fileNameEdit, SIGNAL(textChanged(QString)),
q, SLOT(_q_autoCompleteFileName(QString)));
-#endif // QT_NO_COMPLETER
+#endif // QT_NO_FSCOMPLETER
QObject::connect(qFileDialogUi->fileNameEdit, SIGNAL(textChanged(QString)),
q, SLOT(_q_updateOkButton()));
@@ -2302,7 +2302,7 @@ void QFileDialog::setProxyModel(QAbstractProxyModel *proxyModel)
proxyModel->setSourceModel(d->model);
d->qFileDialogUi->listView->setModel(d->proxyModel);
d->qFileDialogUi->treeView->setModel(d->proxyModel);
-#ifndef QT_NO_COMPLETER
+#ifndef QT_NO_FSCOMPLETER
d->completer->setModel(d->proxyModel);
d->completer->proxyModel = d->proxyModel;
#endif
@@ -2312,7 +2312,7 @@ void QFileDialog::setProxyModel(QAbstractProxyModel *proxyModel)
d->proxyModel = 0;
d->qFileDialogUi->listView->setModel(d->model);
d->qFileDialogUi->treeView->setModel(d->model);
-#ifndef QT_NO_COMPLETER
+#ifndef QT_NO_FSCOMPLETER
d->completer->setModel(d->model);
d->completer->sourceModel = d->model;
d->completer->proxyModel = 0;
@@ -3187,7 +3187,17 @@ void QFileDialogTreeView::keyPressEvent(QKeyEvent *e)
if (!d_ptr->itemViewKeyboardEvent(e)) {
QTreeView::keyPressEvent(e);
}
+#ifdef QT_KEYPAD_NAVIGATION
+ else if ((QApplication::navigationMode() == Qt::NavigationModeKeypadTabOrder
+ || QApplication::navigationMode() == Qt::NavigationModeKeypadDirectional)
+ && !hasEditFocus()) {
+ e->ignore();
+ } else {
+ e->accept();
+ }
+#else
e->accept();
+#endif
}
QSize QFileDialogTreeView::sizeHint() const
@@ -3218,7 +3228,7 @@ void QFileDialogLineEdit::keyPressEvent(QKeyEvent *e)
}
}
-#ifndef QT_NO_COMPLETER
+#ifndef QT_NO_FSCOMPLETER
QString QFSCompleter::pathFromIndex(const QModelIndex &index) const
{
diff --git a/src/gui/dialogs/qfiledialog_mac.mm b/src/gui/dialogs/qfiledialog_mac.mm
index 8e4c461..b0e6575 100644
--- a/src/gui/dialogs/qfiledialog_mac.mm
+++ b/src/gui/dialogs/qfiledialog_mac.mm
@@ -280,6 +280,10 @@ QT_USE_NAMESPACE
- (BOOL)panel:(id)sender shouldShowFilename:(NSString *)filename
{
Q_UNUSED(sender);
+
+ if ([filename length] == 0)
+ return NO;
+
QString qtFileName = QT_PREPEND_NAMESPACE(qt_mac_NSStringToQString)(filename);
QFileInfo info(qtFileName.normalized(QT_PREPEND_NAMESPACE(QString::NormalizationForm_C)));
QString path = info.absolutePath();
@@ -395,9 +399,13 @@ QT_USE_NAMESPACE
- (void)panelSelectionDidChange:(id)sender
{
Q_UNUSED(sender);
- *mCurrentSelection = QT_PREPEND_NAMESPACE(qt_mac_NSStringToQString([mSavePanel filename]));
- if (mPriv)
- mPriv->QNSOpenSavePanelDelegate_selectionChanged(*mCurrentSelection);
+ if (mPriv) {
+ QString selection = QT_PREPEND_NAMESPACE(qt_mac_NSStringToQString([mSavePanel filename]));
+ if (selection != mCurrentSelection) {
+ *mCurrentSelection = selection;
+ mPriv->QNSOpenSavePanelDelegate_selectionChanged(selection);
+ }
+ }
}
- (void)openPanelDidEnd:(NSOpenPanel *)panel returnCode:(int)returnCode contextInfo:(void *)contextInfo
@@ -822,8 +830,8 @@ void QFileDialogPrivate::qt_mac_filedialog_event_proc(const NavEventCallbackMess
|| mode == QFileDialog::ExistingFiles){
// When changing directory, the current selection is cleared if
// we are supposed to be selecting files only:
- fileDialogPrivate->mCurrentSelectionList.clear();
if (!fileDialogPrivate->mCurrentSelection.isEmpty()){
+ fileDialogPrivate->mCurrentSelectionList.clear();
fileDialogPrivate->mCurrentSelection.clear();
emit fileDialogPrivate->q_func()->currentChanged(fileDialogPrivate->mCurrentSelection);
}
diff --git a/src/gui/dialogs/qfiledialog_p.h b/src/gui/dialogs/qfiledialog_p.h
index 32cd397..0e447a3 100644
--- a/src/gui/dialogs/qfiledialog_p.h
+++ b/src/gui/dialogs/qfiledialog_p.h
@@ -234,9 +234,9 @@ public:
QStringList watching;
QFileSystemModel *model;
-#ifndef QT_NO_COMPLETER
+#ifndef QT_NO_FSCOMPLETER
QFSCompleter *completer;
-#endif //QT_NO_COMPLETER
+#endif //QT_NO_FSCOMPLETER
QFileDialog::FileMode fileMode;
QFileDialog::AcceptMode acceptMode;
diff --git a/src/gui/dialogs/qfscompleter_p.h b/src/gui/dialogs/qfscompleter_p.h
index cb1b427..1edab2d 100644
--- a/src/gui/dialogs/qfscompleter_p.h
+++ b/src/gui/dialogs/qfscompleter_p.h
@@ -56,7 +56,7 @@
#include "qcompleter.h"
#include <QtGui/qfilesystemmodel.h>
QT_BEGIN_NAMESPACE
-#ifndef QT_NO_COMPLETER
+#ifndef QT_NO_FSCOMPLETER
/*!
QCompleter that can deal with QFileSystemModel
@@ -76,7 +76,7 @@ public:
QAbstractProxyModel *proxyModel;
QFileSystemModel *sourceModel;
};
-#endif // QT_NO_COMPLETER
+#endif // QT_NO_FSCOMPLETER
QT_END_NAMESPACE
#endif // QFSCOMPLETOR_P_H
diff --git a/src/gui/dialogs/qprintdialog_unix.cpp b/src/gui/dialogs/qprintdialog_unix.cpp
index 7daa273..6fc270d 100644
--- a/src/gui/dialogs/qprintdialog_unix.cpp
+++ b/src/gui/dialogs/qprintdialog_unix.cpp
@@ -696,7 +696,7 @@ QUnixPrintWidgetPrivate::QUnixPrintWidgetPrivate(QUnixPrintWidget *p)
#ifndef QT_NO_FILESYSTEMMODEL
QFileSystemModel *fsm = new QFileSystemModel(widget.filename);
fsm->setRootPath(QDir::homePath());
-#if !defined(QT_NO_COMPLETER) && !defined(QT_NO_FILEDIALOG)
+#if !defined(QT_NO_FSCOMPLETER) && !defined(QT_NO_FILEDIALOG)
widget.filename->setCompleter(new QFSCompleter(fsm, widget.filename));
#endif
#endif
diff --git a/src/gui/dialogs/qprintdialog_win.cpp b/src/gui/dialogs/qprintdialog_win.cpp
index 843c4e2..51e83ac 100644
--- a/src/gui/dialogs/qprintdialog_win.cpp
+++ b/src/gui/dialogs/qprintdialog_win.cpp
@@ -139,7 +139,7 @@ static void qt_win_setup_PRINTDLGEX(PRINTDLGEX *pd, QWidget *parent,
if (d->ep->printToFile)
pd->Flags |= PD_PRINTTOFILE;
Q_ASSERT(parent != 0 && parent->testAttribute(Qt::WA_WState_Created));
- pd->hwndOwner = parent->winId();
+ pd->hwndOwner = parent->window()->winId();
pd->lpPageRanges[0].nFromPage = qMax(pdlg->fromPage(), pdlg->minPage());
pd->lpPageRanges[0].nToPage = (pdlg->toPage() > 0) ? qMin(pdlg->toPage(), pdlg->maxPage()) : 1;
pd->nCopies = d->ep->num_copies;
diff --git a/src/gui/dialogs/qwizard.cpp b/src/gui/dialogs/qwizard.cpp
index 0102e25..db1c9e9 100644
--- a/src/gui/dialogs/qwizard.cpp
+++ b/src/gui/dialogs/qwizard.cpp
@@ -1537,7 +1537,9 @@ void QWizardPrivate::handleAeroStyleChange()
vistaHelper->backButton()->show();
} else {
q->setMouseTracking(true); // ### original value possibly different
+#ifndef QT_NO_CURSOR
q->unsetCursor(); // ### ditto
+#endif
antiFlickerWidget->move(0, 0);
vistaHelper->hideBackButton();
vistaHelper->setTitleBarIconAndCaptionVisible(true);
diff --git a/src/gui/dialogs/qwizard_win.cpp b/src/gui/dialogs/qwizard_win.cpp
index aa38ddc..f3f3a4e 100644
--- a/src/gui/dialogs/qwizard_win.cpp
+++ b/src/gui/dialogs/qwizard_win.cpp
@@ -387,10 +387,12 @@ bool QVistaHelper::winEvent(MSG* msg, long* result)
void QVistaHelper::setMouseCursor(QPoint pos)
{
+#ifndef QT_NO_CURSOR
if (rtTop.contains(pos))
wizard->setCursor(Qt::SizeVerCursor);
else
wizard->setCursor(Qt::ArrowCursor);
+#endif
}
void QVistaHelper::mouseEvent(QEvent *event)
diff --git a/src/gui/effects/qgraphicseffect.cpp b/src/gui/effects/qgraphicseffect.cpp
index 96d35b0..568ff73 100644
--- a/src/gui/effects/qgraphicseffect.cpp
+++ b/src/gui/effects/qgraphicseffect.cpp
@@ -65,9 +65,6 @@
\o QGraphicsDropShadowEffect - renders a dropshadow behind the item
\o QGraphicsColorizeEffect - renders the item in shades of any given color
\o QGraphicsOpacityEffect - renders the item with an opacity
- \o QGraphicsPixelizeEffect - pixelizes the item with any pixel size
- \o QGraphicsGrayscaleEffect - renders the item in shades of gray
- \o QGraphicsBloomEffect - applies a blooming / glowing effect
\endlist
\img graphicseffect-effects.png
@@ -100,13 +97,18 @@
*/
#include "qgraphicseffect_p.h"
+#include "private/qgraphicsitem_p.h"
+
+#include <QtGui/qgraphicsitem.h>
#include <QtGui/qimage.h>
#include <QtGui/qpainter.h>
+#include <QtGui/qpaintengine.h>
#include <QtCore/qrect.h>
#include <QtCore/qdebug.h>
#include <private/qdrawhelper_p.h>
+#ifndef QT_NO_GRAPHICSEFFECT
QT_BEGIN_NAMESPACE
/*!
@@ -126,6 +128,19 @@ QT_BEGIN_NAMESPACE
*/
/*!
+ \enum QGraphicsEffectSource::PixmapPadMode
+
+ This enum describes how much of the effect will be rendered to a pixmap
+ created using the pixmap() function.
+
+ \value NoExpandPadMode The pixmap is the size of the widget or graphics item.
+ \value ExpandToTransparentBorderPadMode The pixmap is expanded to include
+ the widget or graphics item plus a transparent border.
+ \value ExpandToEffectRectPadMode The pixmap is expanded to include the widget
+ or graphics item and the effect.
+*/
+
+/*!
\internal
*/
QGraphicsEffectSource::QGraphicsEffectSource(QGraphicsEffectSourcePrivate &dd, QObject *parent)
@@ -211,7 +226,23 @@ const QStyleOption *QGraphicsEffectSource::styleOption() const
*/
void QGraphicsEffectSource::draw(QPainter *painter)
{
- d_func()->draw(painter);
+ Q_D(const QGraphicsEffectSource);
+
+ QPixmap pm;
+ if (QPixmapCache::find(d->m_cacheKey, &pm)) {
+ QTransform restoreTransform;
+ if (d->m_cachedSystem == Qt::DeviceCoordinates) {
+ restoreTransform = painter->worldTransform();
+ painter->setWorldTransform(QTransform());
+ }
+
+ painter->drawPixmap(d->m_cachedOffset, pm);
+
+ if (d->m_cachedSystem == Qt::DeviceCoordinates)
+ painter->setWorldTransform(restoreTransform);
+ } else {
+ d_func()->draw(painter);
+ }
}
/*!
@@ -246,22 +277,38 @@ bool QGraphicsEffectSource::isPixmap() const
The optional \a offset parameter returns the offset where the pixmap should
be painted at using the current painter.
+ The \a mode determines how much of the effect the pixmap will contain.
+ By default, the pixmap will contain the whole effect.
+
The returned pixmap is bound to the current painter's device rectangle when
\a system is Qt::DeviceCoordinates.
\sa QGraphicsEffect::draw(), boundingRect(), deviceRect()
*/
-QPixmap QGraphicsEffectSource::pixmap(Qt::CoordinateSystem system, QPoint *offset) const
+QPixmap QGraphicsEffectSource::pixmap(Qt::CoordinateSystem system, QPoint *offset, PixmapPadMode mode) const
{
Q_D(const QGraphicsEffectSource);
+ // Shortcut, no cache for childless pixmap items...
+ const QGraphicsItem *item = graphicsItem();
+ if (system == Qt::LogicalCoordinates && mode == NoExpandPadMode && item && isPixmap()) {
+ return ((QGraphicsPixmapItem *) item)->pixmap();
+ }
+
+ if (system == Qt::DeviceCoordinates && item
+ && !static_cast<const QGraphicsItemEffectSourcePrivate *>(d_func())->info) {
+ qWarning("QGraphicsEffectSource::pixmap: Not yet implemented, lacking device context");
+ return QPixmap();
+ }
+
QPixmap pm;
- if (d->m_cachedSystem == system)
+ if (d->m_cachedSystem == system && d->m_cachedMode == mode)
QPixmapCache::find(d->m_cacheKey, &pm);
if (pm.isNull()) {
- pm = d->pixmap(system, &d->m_cachedOffset);
+ pm = d->pixmap(system, &d->m_cachedOffset, mode);
d->m_cachedSystem = system;
+ d->m_cachedMode = mode;
d->invalidateCache();
d->m_cacheKey = QPixmapCache::insert(pm);
@@ -273,6 +320,18 @@ QPixmap QGraphicsEffectSource::pixmap(Qt::CoordinateSystem system, QPoint *offse
return pm;
}
+QGraphicsEffectSourcePrivate::~QGraphicsEffectSourcePrivate()
+{
+ invalidateCache();
+}
+
+void QGraphicsEffectSourcePrivate::invalidateCache(bool effectRectChanged) const
+{
+ if (effectRectChanged && m_cachedMode != QGraphicsEffectSource::ExpandToEffectRectPadMode)
+ return;
+ QPixmapCache::remove(m_cacheKey);
+}
+
/*!
Constructs a new QGraphicsEffect instance having the
specified \a parent.
@@ -353,8 +412,10 @@ void QGraphicsEffect::setEnabled(bool enable)
return;
d->isEnabled = enable;
- if (d->source)
+ if (d->source) {
d->source->d_func()->effectBoundingRectChanged();
+ d->source->d_func()->invalidateCache();
+ }
emit enabledChanged(enable);
}
@@ -408,8 +469,10 @@ QGraphicsEffectSource *QGraphicsEffect::source() const
void QGraphicsEffect::updateBoundingRect()
{
Q_D(QGraphicsEffect);
- if (d->source)
+ if (d->source) {
d->source->d_func()->effectBoundingRectChanged();
+ d->source->d_func()->invalidateCache(true);
+ }
}
/*!
@@ -458,96 +521,6 @@ void QGraphicsEffect::sourceChanged(ChangeFlags flags)
}
/*!
- \class QGraphicsGrayscaleEffect
- \brief The QGraphicsGrayscaleEffect class provides a grayscale effect.
- \since 4.6
-
- A grayscale effect renders the source in shades of gray.
-
- \img graphicseffect-grayscale.png
-
- \sa QGraphicsDropShadowEffect, QGraphicsBlurEffect, QGraphicsPixelizeEffect,
- QGraphicsColorizeEffect, QGraphicsOpacityEffect
-*/
-
-/*!
- Constructs a new QGraphicsGrayscale instance.
- The \a parent parameter is passed to QGraphicsEffect's constructor.
-*/
-QGraphicsGrayscaleEffect::QGraphicsGrayscaleEffect(QObject *parent)
- : QGraphicsEffect(*new QGraphicsGrayscaleEffectPrivate, parent)
-{
-}
-
-/*!
- Destroys the effect.
-*/
-QGraphicsGrayscaleEffect::~QGraphicsGrayscaleEffect()
-{
-}
-
-
-/*!
- \property QGraphicsGrayscaleEffect::strength
- \brief the strength of the effect.
-
- By default, the strength is 1.0.
- A strength 0.0 equals to no effect, while 1.0 means full grayscale.
-*/
-qreal QGraphicsGrayscaleEffect::strength() const
-{
- Q_D(const QGraphicsGrayscaleEffect);
- return d->filter->strength();
-}
-
-void QGraphicsGrayscaleEffect::setStrength(qreal strength)
-{
- Q_D(QGraphicsGrayscaleEffect);
- if (qFuzzyCompare(d->filter->strength(), strength))
- return;
-
- d->filter->setStrength(strength);
- d->opaque = !qFuzzyIsNull(strength);
- update();
- emit strengthChanged(strength);
-}
-
-/*! \fn void QGraphicsGrayscaleEffect::strengthChanged(qreal strength)
- This signal is emitted whenever setStrength() changes the grayscale
- strength property. \a strength contains the new strength value of
- the grayscale effect.
- */
-
-/*!
- \reimp
-*/
-void QGraphicsGrayscaleEffect::draw(QPainter *painter, QGraphicsEffectSource *source)
-{
- Q_D(QGraphicsGrayscaleEffect);
-
- if (!d->opaque) {
- source->draw(painter);
- return;
- }
-
- QPoint offset;
- if (source->isPixmap()) {
- // No point in drawing in device coordinates (pixmap will be scaled anyways).
- const QPixmap pixmap = source->pixmap(Qt::LogicalCoordinates, &offset);
- d->filter->draw(painter, offset, pixmap);
- return;
- }
-
- // Draw pixmap in device coordinates to avoid pixmap scaling;
- const QPixmap pixmap = source->pixmap(Qt::DeviceCoordinates, &offset);
- QTransform restoreTransform = painter->worldTransform();
- painter->setWorldTransform(QTransform());
- d->filter->draw(painter, offset, pixmap);
- painter->setWorldTransform(restoreTransform);
-
-}
-
-/*!
\class QGraphicsColorizeEffect
\brief The QGraphicsColorizeEffect class provides a colorize effect.
\since 4.6
@@ -559,8 +532,7 @@ void QGraphicsGrayscaleEffect::draw(QPainter *painter, QGraphicsEffectSource *so
\img graphicseffect-colorize.png
- \sa QGraphicsDropShadowEffect, QGraphicsBlurEffect, QGraphicsPixelizeEffect,
- QGraphicsGrayscaleEffect, QGraphicsOpacityEffect
+ \sa QGraphicsDropShadowEffect, QGraphicsBlurEffect, QGraphicsOpacityEffect
*/
/*!
@@ -655,7 +627,8 @@ void QGraphicsColorizeEffect::draw(QPainter *painter, QGraphicsEffectSource *sou
QPoint offset;
if (source->isPixmap()) {
// No point in drawing in device coordinates (pixmap will be scaled anyways).
- const QPixmap pixmap = source->pixmap(Qt::LogicalCoordinates, &offset);
+ const QPixmap pixmap = source->pixmap(Qt::LogicalCoordinates, &offset,
+ QGraphicsEffectSource::NoExpandPadMode);
d->filter->draw(painter, offset, pixmap);
return;
}
@@ -669,126 +642,6 @@ void QGraphicsColorizeEffect::draw(QPainter *painter, QGraphicsEffectSource *sou
}
/*!
- \class QGraphicsPixelizeEffect
- \brief The QGraphicsPixelizeEffect class provides a pixelize effect.
- \since 4.6
-
- A pixelize effect renders the source in lower resolution. This effect is
- useful for reducing details, like censorship. The resolution can be
- modified using the setPixelSize() function.
-
- By default, the pixel size is 3.
-
- \img graphicseffect-pixelize.png
-
- \sa QGraphicsDropShadowEffect, QGraphicsBlurEffect, QGraphicsGrayscaleEffect,
- QGraphicsColorizeEffect, QGraphicsOpacityEffect
-*/
-
-/*!
- Constructs a new QGraphicsPixelizeEffect instance.
- The \a parent parameter is passed to QGraphicsEffect's constructor.
-*/
-QGraphicsPixelizeEffect::QGraphicsPixelizeEffect(QObject *parent)
- : QGraphicsEffect(*new QGraphicsPixelizeEffectPrivate, parent)
-{
-}
-
-/*!
- Destroys the effect.
-*/
-QGraphicsPixelizeEffect::~QGraphicsPixelizeEffect()
-{
-}
-
-/*!
- \property QGraphicsPixelizeEffect::pixelSize
- \brief the size of a pixel in the effect.
-
- Setting the pixel size to 2 means two pixels in the source will be used to
- represent one pixel. Using a bigger size results in lower resolution.
-
- By default, the pixel size is 3.
-*/
-int QGraphicsPixelizeEffect::pixelSize() const
-{
- Q_D(const QGraphicsPixelizeEffect);
- return d->pixelSize;
-}
-
-void QGraphicsPixelizeEffect::setPixelSize(int size)
-{
- Q_D(QGraphicsPixelizeEffect);
- if (d->pixelSize == size)
- return;
-
- d->pixelSize = size;
- update();
- emit pixelSizeChanged(size);
-}
-
-/*!
- \fn void QGraphicsPixelizeEffect::pixelSizeChanged(int size)
-
- This signal is emitted whenever the effect's pixel size changes.
- The \a size parameter holds the effect's new pixel size.
-*/
-
-static inline void pixelize(QImage *image, int pixelSize)
-{
- Q_ASSERT(pixelSize > 0);
- Q_ASSERT(image);
- int width = image->width();
- int height = image->height();
- for (int y = 0; y < height; y += pixelSize) {
- int ys = qMin(height - 1, y + pixelSize / 2);
- QRgb *sbuf = reinterpret_cast<QRgb*>(image->scanLine(ys));
- for (int x = 0; x < width; x += pixelSize) {
- int xs = qMin(width - 1, x + pixelSize / 2);
- QRgb color = sbuf[xs];
- for (int yi = 0; yi < qMin(pixelSize, height - y); ++yi) {
- QRgb *buf = reinterpret_cast<QRgb*>(image->scanLine(y + yi));
- for (int xi = 0; xi < qMin(pixelSize, width - x); ++xi)
- buf[x + xi] = color;
- }
- }
- }
-}
-
-/*!
- \reimp
-*/
-void QGraphicsPixelizeEffect::draw(QPainter *painter, QGraphicsEffectSource *source)
-{
- Q_D(QGraphicsPixelizeEffect);
- if (d->pixelSize <= 0) {
- source->draw(painter);
- return;
- }
-
- QPoint offset;
- if (source->isPixmap()) {
- const QPixmap pixmap = source->pixmap(Qt::LogicalCoordinates, &offset);
- QImage image = pixmap.toImage().convertToFormat(QImage::Format_ARGB32);
- pixelize(&image, d->pixelSize);
- painter->drawImage(offset, image);
- return;
- }
-
- // Draw pixmap in device coordinates to avoid pixmap scaling.
- const QPixmap pixmap = source->pixmap(Qt::DeviceCoordinates, &offset);
-
- // pixelize routine
- QImage image = pixmap.toImage().convertToFormat(QImage::Format_ARGB32);
- pixelize(&image, d->pixelSize);
-
- QTransform restoreTransform = painter->worldTransform();
- painter->setWorldTransform(QTransform());
- painter->drawImage(offset, image);
- painter->setWorldTransform(restoreTransform);
-}
-
-/*!
\class QGraphicsBlurEffect
\brief The QGraphicsBlurEffect class provides a blur effect.
\since 4.6
@@ -802,10 +655,29 @@ void QGraphicsPixelizeEffect::draw(QPainter *painter, QGraphicsEffectSource *sou
\img graphicseffect-blur.png
- \sa QGraphicsDropShadowEffect, QGraphicsPixelizeEffect, QGraphicsGrayscaleEffect,
- QGraphicsColorizeEffect, QGraphicsOpacityEffect
+ \sa QGraphicsDropShadowEffect, QGraphicsColorizeEffect, QGraphicsOpacityEffect
+*/
+
+/*!
+ \enum QGraphicsBlurEffect::BlurHint
+ \since 4.6
+
+ This enum describes the possible hints that can be used to control how
+ blur effects are applied. The hints might not have an effect in all the
+ paint engines.
+
+ \value QualityHint Indicates that rendering quality is the most important factor,
+ at the potential cost of lower performance.
+
+ \value PerformanceHint Indicates that rendering performance is the most important factor,
+ at the potential cost of lower quality.
+
+ \value AnimationHint Indicates that the blur radius is going to be animated, hinting
+ that the implementation can keep a cache of blurred verisons of the source pixmap.
+ Do not use this hint if the source item is going to be dynamically changing.
*/
+
/*!
Constructs a new QGraphicsBlurEffect instance.
The \a parent parameter is passed to QGraphicsEffect's constructor.
@@ -814,7 +686,7 @@ QGraphicsBlurEffect::QGraphicsBlurEffect(QObject *parent)
: QGraphicsEffect(*new QGraphicsBlurEffectPrivate, parent)
{
Q_D(QGraphicsBlurEffect);
- d->filter->setBlurHint(Qt::PerformanceHint);
+ d->filter->setBlurHint(QGraphicsBlurEffect::PerformanceHint);
}
/*!
@@ -833,16 +705,16 @@ QGraphicsBlurEffect::~QGraphicsBlurEffect()
By default, the blur radius is 5 pixels.
*/
-int QGraphicsBlurEffect::blurRadius() const
+qreal QGraphicsBlurEffect::blurRadius() const
{
Q_D(const QGraphicsBlurEffect);
return d->filter->radius();
}
-void QGraphicsBlurEffect::setBlurRadius(int radius)
+void QGraphicsBlurEffect::setBlurRadius(qreal radius)
{
Q_D(QGraphicsBlurEffect);
- if (d->filter->radius() == radius)
+ if (qFuzzyCompare(d->filter->radius(), radius))
return;
d->filter->setRadius(radius);
@@ -851,7 +723,7 @@ void QGraphicsBlurEffect::setBlurRadius(int radius)
}
/*!
- \fn void QGraphicsBlurEffect::blurRadiusChanged(int radius)
+ \fn void QGraphicsBlurEffect::blurRadiusChanged(qreal radius)
This signal is emitted whenever the effect's blur radius changes.
The \a radius parameter holds the effect's new blur radius.
@@ -861,20 +733,19 @@ void QGraphicsBlurEffect::setBlurRadius(int radius)
\property QGraphicsBlurEffect::blurHint
\brief the blur hint of the effect.
- Use the Qt::PerformanceHint hint to say that you want a faster blur,
- and the Qt::QualityHint hint to say that you prefer a higher quality blur.
-
- When animating the blur radius it's recommended to use Qt::PerformanceHint.
+ Use the PerformanceHint hint to say that you want a faster blur,
+ the QualityHint hint to say that you prefer a higher quality blur,
+ or the AnimationHint when you want to animate the blur radius.
- By default, the blur hint is Qt::PerformanceHint.
+ By default, the blur hint is PerformanceHint.
*/
-Qt::RenderHint QGraphicsBlurEffect::blurHint() const
+QGraphicsBlurEffect::BlurHint QGraphicsBlurEffect::blurHint() const
{
Q_D(const QGraphicsBlurEffect);
return d->filter->blurHint();
}
-void QGraphicsBlurEffect::setBlurHint(Qt::RenderHint hint)
+void QGraphicsBlurEffect::setBlurHint(QGraphicsBlurEffect::BlurHint hint)
{
Q_D(QGraphicsBlurEffect);
if (d->filter->blurHint() == hint)
@@ -885,7 +756,7 @@ void QGraphicsBlurEffect::setBlurHint(Qt::RenderHint hint)
}
/*!
- \fn void QGraphicsBlurEffect::blurHintChanged(Qt::RenderHint hint)
+ \fn void QGraphicsBlurEffect::blurHintChanged(QGraphicsBlurEffect::BlurHint hint)
This signal is emitted whenever the effect's blur hint changes.
The \a hint parameter holds the effect's new blur hint.
@@ -911,9 +782,13 @@ void QGraphicsBlurEffect::draw(QPainter *painter, QGraphicsEffectSource *source)
return;
}
+ QGraphicsEffectSource::PixmapPadMode mode = QGraphicsEffectSource::ExpandToEffectRectPadMode;
+ if (painter->paintEngine()->type() == QPaintEngine::OpenGL2)
+ mode = QGraphicsEffectSource::ExpandToTransparentBorderPadMode;
+
// Draw pixmap in device coordinates to avoid pixmap scaling.
QPoint offset;
- const QPixmap pixmap = source->pixmap(Qt::DeviceCoordinates, &offset);
+ const QPixmap pixmap = source->pixmap(Qt::DeviceCoordinates, &offset, mode);
QTransform restoreTransform = painter->worldTransform();
painter->setWorldTransform(QTransform());
d->filter->draw(painter, offset, pixmap);
@@ -937,8 +812,7 @@ void QGraphicsBlurEffect::draw(QPainter *painter, QGraphicsEffectSource *source)
\img graphicseffect-drop-shadow.png
- \sa QGraphicsBlurEffect, QGraphicsPixelizeEffect, QGraphicsGrayscaleEffect,
- QGraphicsColorizeEffect, QGraphicsOpacityEffect
+ \sa QGraphicsBlurEffect, QGraphicsColorizeEffect, QGraphicsOpacityEffect
*/
/*!
@@ -988,6 +862,8 @@ void QGraphicsDropShadowEffect::setOffset(const QPointF &offset)
By default, the horizontal shadow offset is 8 pixels.
+
+
\sa yOffset(), offset()
*/
@@ -1018,16 +894,16 @@ void QGraphicsDropShadowEffect::setOffset(const QPointF &offset)
\sa color(), offset().
*/
-int QGraphicsDropShadowEffect::blurRadius() const
+qreal QGraphicsDropShadowEffect::blurRadius() const
{
Q_D(const QGraphicsDropShadowEffect);
return d->filter->blurRadius();
}
-void QGraphicsDropShadowEffect::setBlurRadius(int blurRadius)
+void QGraphicsDropShadowEffect::setBlurRadius(qreal blurRadius)
{
Q_D(QGraphicsDropShadowEffect);
- if (d->filter->blurRadius() == blurRadius)
+ if (qFuzzyCompare(d->filter->blurRadius(), blurRadius))
return;
d->filter->setBlurRadius(blurRadius);
@@ -1036,7 +912,7 @@ void QGraphicsDropShadowEffect::setBlurRadius(int blurRadius)
}
/*!
- \fn void QGraphicsDropShadowEffect::blurRadiusChanged(int blurRadius)
+ \fn void QGraphicsDropShadowEffect::blurRadiusChanged(qreal blurRadius)
This signal is emitted whenever the effect's blur radius changes.
The \a blurRadius parameter holds the effect's new blur radius.
@@ -1095,9 +971,13 @@ void QGraphicsDropShadowEffect::draw(QPainter *painter, QGraphicsEffectSource *s
return;
}
+ QGraphicsEffectSource::PixmapPadMode mode = QGraphicsEffectSource::ExpandToEffectRectPadMode;
+ if (painter->paintEngine()->type() == QPaintEngine::OpenGL2)
+ mode = QGraphicsEffectSource::ExpandToTransparentBorderPadMode;
+
// Draw pixmap in device coordinates to avoid pixmap scaling.
QPoint offset;
- const QPixmap pixmap = source->pixmap(Qt::DeviceCoordinates, &offset);
+ const QPixmap pixmap = source->pixmap(Qt::DeviceCoordinates, &offset, mode);
QTransform restoreTransform = painter->worldTransform();
painter->setWorldTransform(QTransform());
d->filter->draw(painter, offset, pixmap);
@@ -1117,8 +997,7 @@ void QGraphicsDropShadowEffect::draw(QPainter *painter, QGraphicsEffectSource *s
\img graphicseffect-opacity.png
- \sa QGraphicsDropShadowEffect, QGraphicsBlurEffect, QGraphicsPixelizeEffect,
- QGraphicsGrayscaleEffect, QGraphicsColorizeEffect
+ \sa QGraphicsDropShadowEffect, QGraphicsBlurEffect, QGraphicsColorizeEffect
*/
/*!
@@ -1235,295 +1114,40 @@ void QGraphicsOpacityEffect::draw(QPainter *painter, QGraphicsEffectSource *sour
return;
}
- painter->save();
- painter->setOpacity(d->opacity);
QPoint offset;
- if (source->isPixmap()) {
- // No point in drawing in device coordinates (pixmap will be scaled anyways).
- if (!d->hasOpacityMask) {
- const QPixmap pixmap = source->pixmap(Qt::LogicalCoordinates, &offset);
- painter->drawPixmap(offset, pixmap);
- } else {
- QRect srcBrect = source->boundingRect().toAlignedRect();
- offset = srcBrect.topLeft();
- QPixmap pixmap(srcBrect.size());
- pixmap.fill(Qt::transparent);
-
- QPainter pixmapPainter(&pixmap);
- pixmapPainter.setRenderHints(painter->renderHints());
- pixmapPainter.translate(-offset);
- source->draw(&pixmapPainter);
- pixmapPainter.setCompositionMode(QPainter::CompositionMode_DestinationIn);
- pixmapPainter.fillRect(srcBrect, d->opacityMask);
- pixmapPainter.end();
-
- painter->drawPixmap(offset, pixmap);
- }
- } else {
- // Draw pixmap in device coordinates to avoid pixmap scaling;
- if (!d->hasOpacityMask) {
- const QPixmap pixmap = source->pixmap(Qt::DeviceCoordinates, &offset);
- painter->setWorldTransform(QTransform());
- painter->drawPixmap(offset, pixmap);
- } else {
- QTransform worldTransform = painter->worldTransform();
-
- // Calculate source bounding rect in logical and device coordinates.
- QRectF srcBrect = source->boundingRect();
- QRect srcDeviceBrect = worldTransform.mapRect(srcBrect).toAlignedRect();
- srcDeviceBrect &= source->deviceRect();
+ Qt::CoordinateSystem system = source->isPixmap() ? Qt::LogicalCoordinates : Qt::DeviceCoordinates;
+ QPixmap pixmap = source->pixmap(system, &offset, QGraphicsEffectSource::NoExpandPadMode);
+ if (pixmap.isNull())
+ return;
- offset = srcDeviceBrect.topLeft();
- worldTransform *= QTransform::fromTranslate(-srcDeviceBrect.x(), -srcDeviceBrect.y());
- QPixmap pixmap(srcDeviceBrect.size());
- pixmap.fill(Qt::transparent);
+ painter->save();
+ painter->setOpacity(d->opacity);
- QPainter pixmapPainter(&pixmap);
- pixmapPainter.setRenderHints(painter->renderHints());
+ if (d->hasOpacityMask) {
+ QPainter pixmapPainter(&pixmap);
+ pixmapPainter.setRenderHints(painter->renderHints());
+ pixmapPainter.setCompositionMode(QPainter::CompositionMode_DestinationIn);
+ if (system == Qt::DeviceCoordinates) {
+ QTransform worldTransform = painter->worldTransform();
+ worldTransform *= QTransform::fromTranslate(-offset.x(), -offset.y());
pixmapPainter.setWorldTransform(worldTransform);
- source->draw(&pixmapPainter);
- pixmapPainter.setCompositionMode(QPainter::CompositionMode_DestinationIn);
- pixmapPainter.fillRect(srcBrect, d->opacityMask);
- pixmapPainter.end();
-
- painter->setWorldTransform(QTransform());
- painter->drawPixmap(offset, pixmap);
+ pixmapPainter.fillRect(source->boundingRect(), d->opacityMask);
+ } else {
+ pixmapPainter.translate(-offset);
+ pixmapPainter.fillRect(pixmap.rect(), d->opacityMask);
}
}
- painter->restore();
-}
-
-/*!
- \class QGraphicsBloomEffect
- \brief The QGraphicsBloomEffect class provides a bloom/glow effect.
- \since 4.6
-
- A bloom/glow effect adds fringes of light around bright areas in the source.
-
- \img graphicseffect-bloom.png
-
- \sa QGraphicsDropShadowEffect, QGraphicsBlurEffect, QGraphicsPixelizeEffect,
- QGraphicsGrayscaleEffect, QGraphicsColorizeEffect
-*/
-
-/*!
- Constructs a new QGraphicsBloomEffect instance.
- The \a parent parameter is passed to QGraphicsEffect's constructor.
-*/
-QGraphicsBloomEffect::QGraphicsBloomEffect(QObject *parent)
- : QGraphicsEffect(*new QGraphicsBloomEffectPrivate, parent)
-{
- Q_D(QGraphicsBloomEffect);
- for (int i = 0; i < 256; ++i)
- d->colorTable[i] = qMin(i + d->brightness, 255);
-}
-
-/*!
- Destroys the effect.
-*/
-QGraphicsBloomEffect::~QGraphicsBloomEffect()
-{
-}
-
-/*!
- \reimp
-*/
-QRectF QGraphicsBloomEffect::boundingRectFor(const QRectF &rect) const
-{
- Q_D(const QGraphicsBloomEffect);
- const qreal delta = d->blurFilter.radius() * 2;
- return rect.adjusted(-delta, -delta, delta, delta);
-}
-
-/*!
- \property QGraphicsBloomEffect::blurRadius
- \brief the blur radius in pixels of the effect.
-
- Using a smaller radius results in a sharper appearance, whereas a bigger
- radius results in a more blurred appearance.
-
- By default, the blur radius is 5 pixels.
-
- \sa strength(), brightness()
-*/
-int QGraphicsBloomEffect::blurRadius() const
-{
- Q_D(const QGraphicsBloomEffect);
- return d->blurFilter.radius();
-}
-
-void QGraphicsBloomEffect::setBlurRadius(int radius)
-{
- Q_D(QGraphicsBloomEffect);
- if (d->blurFilter.radius() == radius)
- return;
-
- d->blurFilter.setRadius(radius);
- updateBoundingRect();
- emit blurRadiusChanged(radius);
-}
-
-/*!
- \fn void QGraphicsBloomEffect::blurRadiusChanged(int blurRadius)
-
- This signal is emitted whenever the effect's blur radius changes.
- The \a blurRadius parameter holds the effect's new blur radius.
-*/
-
-/*!
- \property QGraphicsBloomEffect::blurHint
- \brief the blur hint of the effect.
-
- Use the Qt::PerformanceHint hint to say that you want a faster blur,
- and the Qt::QualityHint hint to say that you prefer a higher quality blur.
-
- When animating the blur radius it's recommended to use Qt::PerformanceHint.
-
- By default, the blur hint is Qt::PerformanceHint.
-*/
-Qt::RenderHint QGraphicsBloomEffect::blurHint() const
-{
- Q_D(const QGraphicsBloomEffect);
- return d->blurFilter.blurHint();
-}
-
-void QGraphicsBloomEffect::setBlurHint(Qt::RenderHint hint)
-{
- Q_D(QGraphicsBloomEffect);
- if (d->blurFilter.blurHint() == hint)
- return;
-
- d->blurFilter.setBlurHint(hint);
- emit blurHintChanged(hint);
-}
-
-/*!
- \fn void QGraphicsBloomEffect::blurHintChanged(Qt::RenderHint hint)
-
- This signal is emitted whenever the effect's blur hint changes.
- The \a hint parameter holds the effect's new blur hint.
-*/
-
-/*!
- \property QGraphicsBloomEffect::brightness
- \brief the brightness of the glow.
-
- The value should be in the range of 0 to 255, where 0 is dark
- and 255 is bright.
-
- By default, the brightness is 70.
-
- \sa strength(), blurRadius()
-*/
-int QGraphicsBloomEffect::brightness() const
-{
- Q_D(const QGraphicsBloomEffect);
- return d->brightness;
-}
-
-void QGraphicsBloomEffect::setBrightness(int brightness)
-{
- Q_D(QGraphicsBloomEffect);
- brightness = qBound(0, brightness, 255);
- if (d->brightness == brightness)
- return;
-
- d->brightness = brightness;
- for (int i = 0; i < 256; ++i)
- d->colorTable[i] = qMin(i + brightness, 255);
-
- update();
- emit brightnessChanged(brightness);
-}
-
-/*!
- \fn void QGraphicsBloomEffect::brightnessChanged(int brightness)
-
- This signal is emitted whenever the effect's brightness changes.
- The \a brightness parameter holds the effect's new brightness.
-*/
-
-/*!
- \property QGraphicsBloomEffect::strength
- \brief the strength of the effect.
-
- A strength 0.0 equals to no effect, while 1.0 means maximum glow.
-
- By default, the strength is 0.7.
-*/
-qreal QGraphicsBloomEffect::strength() const
-{
- Q_D(const QGraphicsBloomEffect);
- return d->strength;
-}
-
-void QGraphicsBloomEffect::setStrength(qreal strength)
-{
- Q_D(QGraphicsBloomEffect);
- strength = qBound(qreal(0.0), strength, qreal(1.0));
- if (qFuzzyCompare(d->strength, strength))
- return;
-
- d->strength = strength;
- update();
- emit strengthChanged(strength);
-}
-
-/*!
- \fn void QGraphicsBloomEffect::strengthChanged(qreal strength)
-
- This signal is emitted whenever the effect's strength changes.
- The \a strength parameter holds the effect's new strength.
-*/
-
-extern QPixmap qt_toRasterPixmap(const QPixmap &pixmap);
-
-/*!
- \reimp
-*/
-void QGraphicsBloomEffect::draw(QPainter *painter, QGraphicsEffectSource *source)
-{
- Q_D(QGraphicsBloomEffect);
- if (d->strength < 0.001) {
- source->draw(painter);
- return;
- }
-
- QPoint offset;
- QPixmap pixmap = qt_toRasterPixmap(source->pixmap(Qt::DeviceCoordinates, &offset));
-
- // Blur.
- QImage overlay(pixmap.size(), QImage::Format_ARGB32_Premultiplied);
- overlay.fill(0);
-
- QPainter blurPainter(&overlay);
- d->blurFilter.draw(&blurPainter, QPointF(), pixmap);
- blurPainter.end();
-
- // Brighten.
- const int numBits = overlay.width() * overlay.height();
- QRgb *bits = reinterpret_cast<QRgb *>(overlay.bits());
- for (int i = 0; i < numBits; ++i) {
- const QRgb pixel = INV_PREMUL(bits[i]);
- bits[i] = PREMUL(qRgba(d->colorTable[qRed(pixel)], d->colorTable[qGreen(pixel)],
- d->colorTable[qBlue(pixel)], qAlpha(pixel)));
- }
-
- // Composite.
- QPainter compPainter(&pixmap);
- compPainter.setCompositionMode(QPainter::CompositionMode_Overlay);
- compPainter.setOpacity(d->strength);
- compPainter.drawImage(0, 0, overlay);
- compPainter.end();
+ if (system == Qt::DeviceCoordinates)
+ painter->setWorldTransform(QTransform());
- QTransform restoreTransform = painter->worldTransform();
- painter->setWorldTransform(QTransform());
painter->drawPixmap(offset, pixmap);
- painter->setWorldTransform(restoreTransform);
+ painter->restore();
}
+
QT_END_NAMESPACE
+#endif //QT_NO_GRAPHICSEFFECT
diff --git a/src/gui/effects/qgraphicseffect.h b/src/gui/effects/qgraphicseffect.h
index c89851e..5c73f4b 100644
--- a/src/gui/effects/qgraphicseffect.h
+++ b/src/gui/effects/qgraphicseffect.h
@@ -48,6 +48,7 @@
#include <QtGui/qcolor.h>
#include <QtGui/qbrush.h>
+#ifndef QT_NO_GRAPHICSEFFECT
QT_BEGIN_HEADER
QT_BEGIN_NAMESPACE
@@ -64,6 +65,12 @@ class Q_GUI_EXPORT QGraphicsEffectSource : public QObject
{
Q_OBJECT
public:
+ enum PixmapPadMode {
+ NoExpandPadMode,
+ ExpandToTransparentBorderPadMode,
+ ExpandToEffectRectPadMode
+ };
+
~QGraphicsEffectSource();
const QGraphicsItem *graphicsItem() const;
const QWidget *widget() const;
@@ -75,7 +82,9 @@ public:
QRectF boundingRect(Qt::CoordinateSystem coordinateSystem = Qt::LogicalCoordinates) const;
QRect deviceRect() const;
- QPixmap pixmap(Qt::CoordinateSystem system = Qt::LogicalCoordinates, QPoint *offset = 0) const;
+ QPixmap pixmap(Qt::CoordinateSystem system = Qt::LogicalCoordinates,
+ QPoint *offset = 0,
+ PixmapPadMode mode = ExpandToEffectRectPadMode) const;
protected:
QGraphicsEffectSource(QGraphicsEffectSourcePrivate &dd, QObject *parent = 0);
@@ -141,31 +150,6 @@ private:
};
Q_DECLARE_OPERATORS_FOR_FLAGS(QGraphicsEffect::ChangeFlags)
-class QGraphicsGrayscaleEffectPrivate;
-class Q_GUI_EXPORT QGraphicsGrayscaleEffect: public QGraphicsEffect
-{
- Q_OBJECT
- Q_PROPERTY(qreal strength READ strength WRITE setStrength NOTIFY strengthChanged)
-public:
- QGraphicsGrayscaleEffect(QObject *parent = 0);
- ~QGraphicsGrayscaleEffect();
-
- qreal strength() const;
-
-protected:
- void draw(QPainter *painter, QGraphicsEffectSource *source);
-
-public Q_SLOTS:
- void setStrength(qreal strength);
-
-Q_SIGNALS:
- void strengthChanged(qreal strength);
-
-private:
- Q_DECLARE_PRIVATE(QGraphicsGrayscaleEffect)
- Q_DISABLE_COPY(QGraphicsGrayscaleEffect)
-};
-
class QGraphicsColorizeEffectPrivate;
class Q_GUI_EXPORT QGraphicsColorizeEffect: public QGraphicsEffect
{
@@ -195,52 +179,33 @@ private:
Q_DISABLE_COPY(QGraphicsColorizeEffect)
};
-class QGraphicsPixelizeEffectPrivate;
-class Q_GUI_EXPORT QGraphicsPixelizeEffect: public QGraphicsEffect
-{
- Q_OBJECT
- Q_PROPERTY(int pixelSize READ pixelSize WRITE setPixelSize NOTIFY pixelSizeChanged)
-public:
- QGraphicsPixelizeEffect(QObject *parent = 0);
- ~QGraphicsPixelizeEffect();
-
- int pixelSize() const;
-
-public Q_SLOTS:
- void setPixelSize(int pixelSize);
-
-Q_SIGNALS:
- void pixelSizeChanged(int pixelSize);
-
-protected:
- void draw(QPainter *painter, QGraphicsEffectSource *source);
-
-private:
- Q_DECLARE_PRIVATE(QGraphicsPixelizeEffect)
- Q_DISABLE_COPY(QGraphicsPixelizeEffect)
-};
-
class QGraphicsBlurEffectPrivate;
class Q_GUI_EXPORT QGraphicsBlurEffect: public QGraphicsEffect
{
Q_OBJECT
- Q_PROPERTY(int blurRadius READ blurRadius WRITE setBlurRadius NOTIFY blurRadiusChanged)
- Q_PROPERTY(Qt::RenderHint blurHint READ blurHint WRITE setBlurHint NOTIFY blurHintChanged)
+ Q_PROPERTY(qreal blurRadius READ blurRadius WRITE setBlurRadius NOTIFY blurRadiusChanged)
+ Q_PROPERTY(BlurHint blurHint READ blurHint WRITE setBlurHint NOTIFY blurHintChanged)
public:
+ enum BlurHint {
+ QualityHint,
+ PerformanceHint,
+ AnimationHint
+ };
+
QGraphicsBlurEffect(QObject *parent = 0);
~QGraphicsBlurEffect();
QRectF boundingRectFor(const QRectF &rect) const;
- int blurRadius() const;
- Qt::RenderHint blurHint() const;
+ qreal blurRadius() const;
+ BlurHint blurHint() const;
public Q_SLOTS:
- void setBlurRadius(int blurRadius);
- void setBlurHint(Qt::RenderHint hint);
+ void setBlurRadius(qreal blurRadius);
+ void setBlurHint(BlurHint hint);
Q_SIGNALS:
- void blurRadiusChanged(int blurRadius);
- void blurHintChanged(Qt::RenderHint hint);
+ void blurRadiusChanged(qreal blurRadius);
+ void blurHintChanged(BlurHint hint);
protected:
void draw(QPainter *painter, QGraphicsEffectSource *source);
@@ -257,7 +222,7 @@ class Q_GUI_EXPORT QGraphicsDropShadowEffect: public QGraphicsEffect
Q_PROPERTY(QPointF offset READ offset WRITE setOffset NOTIFY offsetChanged)
Q_PROPERTY(qreal xOffset READ xOffset WRITE setXOffset NOTIFY offsetChanged)
Q_PROPERTY(qreal yOffset READ yOffset WRITE setYOffset NOTIFY offsetChanged)
- Q_PROPERTY(int blurRadius READ blurRadius WRITE setBlurRadius NOTIFY blurRadiusChanged)
+ Q_PROPERTY(qreal blurRadius READ blurRadius WRITE setBlurRadius NOTIFY blurRadiusChanged)
Q_PROPERTY(QColor color READ color WRITE setColor NOTIFY colorChanged)
public:
QGraphicsDropShadowEffect(QObject *parent = 0);
@@ -272,7 +237,7 @@ public:
inline qreal yOffset() const
{ return offset().y(); }
- int blurRadius() const;
+ qreal blurRadius() const;
QColor color() const;
public Q_SLOTS:
@@ -290,12 +255,12 @@ public Q_SLOTS:
inline void setYOffset(qreal dy)
{ setOffset(QPointF(xOffset(), dy)); }
- void setBlurRadius(int blurRadius);
+ void setBlurRadius(qreal blurRadius);
void setColor(const QColor &color);
Q_SIGNALS:
void offsetChanged(const QPointF &offset);
- void blurRadiusChanged(int blurRadius);
+ void blurRadiusChanged(qreal blurRadius);
void colorChanged(const QColor &color);
protected:
@@ -335,47 +300,10 @@ private:
Q_DISABLE_COPY(QGraphicsOpacityEffect)
};
-class QGraphicsBloomEffectPrivate;
-class Q_GUI_EXPORT QGraphicsBloomEffect: public QGraphicsEffect
-{
- Q_OBJECT
- Q_PROPERTY(int blurRadius READ blurRadius WRITE setBlurRadius NOTIFY blurRadiusChanged)
- Q_PROPERTY(Qt::RenderHint blurHint READ blurHint WRITE setBlurHint NOTIFY blurHintChanged)
- Q_PROPERTY(int brightness READ brightness WRITE setBrightness NOTIFY brightnessChanged)
- Q_PROPERTY(qreal strength READ strength WRITE setStrength NOTIFY strengthChanged)
-public:
- QGraphicsBloomEffect(QObject *parent = 0);
- ~QGraphicsBloomEffect();
-
- QRectF boundingRectFor(const QRectF &rect) const;
- int blurRadius() const;
- Qt::RenderHint blurHint() const;
- int brightness() const;
- qreal strength() const;
-
-public Q_SLOTS:
- void setBlurRadius(int blurRadius);
- void setBlurHint(Qt::RenderHint hint);
- void setBrightness(int brightness);
- void setStrength(qreal strength);
-
-Q_SIGNALS:
- void blurRadiusChanged(int blurRadius);
- void blurHintChanged(Qt::RenderHint hint);
- void brightnessChanged(int brightness);
- void strengthChanged(qreal strength);
-
-protected:
- void draw(QPainter *painter, QGraphicsEffectSource *source);
-
-private:
- Q_DECLARE_PRIVATE(QGraphicsBloomEffect)
- Q_DISABLE_COPY(QGraphicsBloomEffect)
-};
-
QT_END_NAMESPACE
QT_END_HEADER
+#endif //QT_NO_GRAPHICSEFFECT
#endif // QGRAPHICSEFFECT_H
diff --git a/src/gui/effects/qgraphicseffect_p.h b/src/gui/effects/qgraphicseffect_p.h
index 8fb55d8..d94d08d 100644
--- a/src/gui/effects/qgraphicseffect_p.h
+++ b/src/gui/effects/qgraphicseffect_p.h
@@ -60,14 +60,20 @@
#include <private/qobject_p.h>
#include <private/qpixmapfilter_p.h>
+#ifndef QT_NO_GRAPHICSEFFECT
QT_BEGIN_NAMESPACE
class QGraphicsEffectSourcePrivate : public QObjectPrivate
{
Q_DECLARE_PUBLIC(QGraphicsEffectSource)
public:
- QGraphicsEffectSourcePrivate() : QObjectPrivate() {}
- virtual ~QGraphicsEffectSourcePrivate() { invalidateCache(); }
+ QGraphicsEffectSourcePrivate()
+ : QObjectPrivate()
+ , m_cachedSystem(Qt::DeviceCoordinates)
+ , m_cachedMode(QGraphicsEffectSource::ExpandToTransparentBorderPadMode)
+ {}
+
+ virtual ~QGraphicsEffectSourcePrivate();
virtual void detach() = 0;
virtual QRectF boundingRect(Qt::CoordinateSystem system) const = 0;
virtual QRect deviceRect() const = 0;
@@ -77,9 +83,10 @@ public:
virtual void draw(QPainter *p) = 0;
virtual void update() = 0;
virtual bool isPixmap() const = 0;
- virtual QPixmap pixmap(Qt::CoordinateSystem system, QPoint *offset = 0) const = 0;
+ virtual QPixmap pixmap(Qt::CoordinateSystem system, QPoint *offset = 0,
+ QGraphicsEffectSource::PixmapPadMode mode = QGraphicsEffectSource::ExpandToTransparentBorderPadMode) const = 0;
virtual void effectBoundingRectChanged() = 0;
- void invalidateCache() const { QPixmapCache::remove(m_cacheKey); }
+ void invalidateCache(bool effectRectChanged = false) const;
friend class QGraphicsScenePrivate;
friend class QGraphicsItem;
@@ -87,6 +94,7 @@ public:
private:
mutable Qt::CoordinateSystem m_cachedSystem;
+ mutable QGraphicsEffectSource::PixmapPadMode m_cachedMode;
mutable QPoint m_cachedOffset;
mutable QPixmapCache::Key m_cacheKey;
};
@@ -102,8 +110,8 @@ public:
QGraphicsEffect::ChangeFlags flags;
if (source) {
flags |= QGraphicsEffect::SourceDetached;
- source->d_func()->detach();
source->d_func()->invalidateCache();
+ source->d_func()->detach();
delete source;
}
source = newSource;
@@ -118,22 +126,6 @@ public:
quint32 padding : 31; // feel free to use
};
-class QGraphicsGrayscaleEffectPrivate : public QGraphicsEffectPrivate
-{
- Q_DECLARE_PUBLIC(QGraphicsGrayscaleEffect)
-public:
- QGraphicsGrayscaleEffectPrivate()
- : opaque(true)
- {
- filter = new QPixmapColorizeFilter;
- filter->setColor(Qt::black);
- }
- ~QGraphicsGrayscaleEffectPrivate() { delete filter; }
-
- QPixmapColorizeFilter *filter;
- quint32 opaque : 1;
- quint32 padding : 31;
-};
class QGraphicsColorizeEffectPrivate : public QGraphicsEffectPrivate
{
@@ -151,15 +143,6 @@ public:
quint32 padding : 31;
};
-class QGraphicsPixelizeEffectPrivate : public QGraphicsEffectPrivate
-{
- Q_DECLARE_PUBLIC(QGraphicsPixelizeEffect)
-public:
- QGraphicsPixelizeEffectPrivate() : pixelSize(3) {}
-
- int pixelSize;
-};
-
class QGraphicsBlurEffectPrivate : public QGraphicsEffectPrivate
{
Q_DECLARE_PUBLIC(QGraphicsBlurEffect)
@@ -195,19 +178,8 @@ public:
uint hasOpacityMask : 1;
};
-class QGraphicsBloomEffectPrivate : public QGraphicsEffectPrivate
-{
- Q_DECLARE_PUBLIC(QGraphicsBlurEffect)
-public:
- QGraphicsBloomEffectPrivate() : brightness(70), strength(qreal(0.7)) {}
-
- QPixmapBlurFilter blurFilter;
- int colorTable[256];
- int brightness;
- qreal strength;
-};
-
QT_END_NAMESPACE
+#endif //QT_NO_GRAPHICSEFFECT
#endif // QGRAPHICSEFFECT_P_H
diff --git a/src/gui/egl/egl.pri b/src/gui/egl/egl.pri
index ba991bd..669d311 100644
--- a/src/gui/egl/egl.pri
+++ b/src/gui/egl/egl.pri
@@ -1,3 +1,5 @@
+CONFIG += egl
+
HEADERS += \
egl/qegl_p.h \
egl/qeglproperties_p.h
@@ -6,7 +8,7 @@ SOURCES += \
egl/qegl.cpp \
egl/qeglproperties.cpp
-contains(QT_CONFIG, wince*): SOURCES += egl/qegl_wince.cpp
+wince*: SOURCES += egl/qegl_wince.cpp
unix {
embedded {
@@ -19,11 +21,3 @@ unix {
}
}
}
-
-for(p, QMAKE_LIBDIR_EGL) {
- exists($$p):LIBS_PRIVATE += -L$$p
-}
-
-!isEmpty(QMAKE_INCDIR_EGL): INCLUDEPATH += $$QMAKE_INCDIR_EGL
-!isEmpty(QMAKE_LIBS_EGL): LIBS_PRIVATE += $$QMAKE_LIBS_EGL
-!isEmpty(QMAKE_LFLAGS_EGL): LIBS += $$QMAKE_LFLAGS_EGL
diff --git a/src/gui/egl/qeglproperties.cpp b/src/gui/egl/qeglproperties.cpp
index c61e1d3..2d37edb 100644
--- a/src/gui/egl/qeglproperties.cpp
+++ b/src/gui/egl/qeglproperties.cpp
@@ -88,8 +88,12 @@ int QEglProperties::value(int name) const
#if defined(EGL_ALPHA_MASK_SIZE)
case EGL_ALPHA_MASK_SIZE: return 0;
#endif
+#if defined(EGL_BIND_TO_TEXTURE_RGB)
case EGL_BIND_TO_TEXTURE_RGB: return EGL_DONT_CARE;
+#endif
+#if defined(EGL_BIND_TO_TEXTURE_RGBA)
case EGL_BIND_TO_TEXTURE_RGBA: return EGL_DONT_CARE;
+#endif
#if defined(EGL_COLOR_BUFFER_TYPE)
case EGL_COLOR_BUFFER_TYPE: return EGL_RGB_BUFFER;
#endif
diff --git a/src/gui/embedded/qdecorationdefault_qws.cpp b/src/gui/embedded/qdecorationdefault_qws.cpp
index 5bc8826..70389d3 100644
--- a/src/gui/embedded/qdecorationdefault_qws.cpp
+++ b/src/gui/embedded/qdecorationdefault_qws.cpp
@@ -394,7 +394,7 @@ QPixmap QDecorationDefault::pixmapFor(const QWidget *widget,
*/
int QDecorationDefault::titleBarHeight(const QWidget *)
{
- return qMax(20, QApplication::fontMetrics().lineSpacing() + BORDER_WIDTH);
+ return qMax(20, QApplication::fontMetrics().height() + BORDER_WIDTH);
}
/*!
diff --git a/src/gui/embedded/qdecorationwindows_qws.cpp b/src/gui/embedded/qdecorationwindows_qws.cpp
index 77393cf..7764ca5 100644
--- a/src/gui/embedded/qdecorationwindows_qws.cpp
+++ b/src/gui/embedded/qdecorationwindows_qws.cpp
@@ -216,7 +216,7 @@ QRegion QDecorationWindows::region(const QWidget *widget, const QRect &rect, int
bool hasMinimize = flags & Qt::WindowMinimizeButtonHint;
bool hasMaximize = flags & Qt::WindowMaximizeButtonHint;
const QFontMetrics fontMetrics = QApplication::fontMetrics();
- int titleHeight = hasTitle ? qMax(20, fontMetrics.lineSpacing()) : 0;
+ int titleHeight = hasTitle ? qMax(20, fontMetrics.height()) : 0;
int state = widget->windowState();
bool isMinimized = state & Qt::WindowMinimized;
bool isMaximized = state & Qt::WindowMaximized;
diff --git a/src/gui/graphicsview/qgraphicsanchorlayout.cpp b/src/gui/graphicsview/qgraphicsanchorlayout.cpp
index 081572f..56d70e1 100644
--- a/src/gui/graphicsview/qgraphicsanchorlayout.cpp
+++ b/src/gui/graphicsview/qgraphicsanchorlayout.cpp
@@ -48,36 +48,60 @@
\ingroup geomanagement
\ingroup graphicsview-api
- The anchor layout is a layout where one can specify how widgets should be placed relative to
- each other. The specification is called an anchor, and it is set up by calling anchor().
+ The anchor layout allows developers to specify how widgets should be placed relative to
+ each other, and to the layout itself. The specification is made by adding anchors to the
+ layout by calling addAnchor(), addAnchors() or addCornerAnchors().
+
+ Existing anchors in the layout can be accessed with the anchor() function.
+ Items that are anchored are automatically added to the layout, and if items
+ are removed, all their anchors will be automatically removed.
+
+ \beginfloatleft
+ \inlineimage simpleanchorlayout-example.png Using an anchor layout to align simple colored widgets.
+ \endfloat
+
Anchors are always set up between edges of an item, where the "center" is also considered to
- be an edge. Considering this example:
- \code
- QGraphicsAnchorLayout *l = new QGraphicsAnchorLayout;
- QGraphicsWidget *a = new QGraphicsWidget;
- QGraphicsWidget *b = new QGraphicsWidget;
- l->anchor(a, Qt::AnchorRight, b, Qt::AnchorLeft);
- \endcode
-
- Here is the right edge of item A anchored to the left edge of item B, with the result that
- item B will be placed to the right of item A, with a spacing between A and B. If the
- spacing is negative, the items will overlap to some extent. Items that are anchored are
- automatically added to the layout, and if items are removed, all their anchors will be
- automatically removed
-
- \section1 Size Hints and Size Policies in QGraphicsAnchorLayout
+ be an edge. Consider the following example:
+
+ \snippet examples/graphicsview/simpleanchorlayout/main.cpp adding anchors
+
+ Here, the right edge of item \c a is anchored to the left edge of item \c b and the bottom
+ edge of item \c a is anchored to the top edge of item \c b, with the result that
+ item \c b will be placed diagonally to the right and below item \c b.
+
+ The addCornerAnchors() function provides a simpler way of anchoring the corners
+ of two widgets than the two individual calls to addAnchor() shown in the code
+ above. Here, we see how a widget can be anchored to the top-left corner of the enclosing
+ layout:
+
+ \snippet examples/graphicsview/simpleanchorlayout/main.cpp adding a corner anchor
+
+ In cases where anchors are used to match the widths or heights of widgets, it is
+ convenient to use the addAnchors() function. As with the other functions for specifying
+ anchors, it can also be used to anchor a widget to a layout.
+
+ \clearfloat
+ \section1 Size Hints and Size Policies in an Anchor Layout
QGraphicsAnchorLayout respects each item's size hints and size policies. However it does
- not respect stretch factors currently. This might change in the future, so please refrain
- from using stretch factors in anchor layout to avoid any future regressions.
+ not currently respect their stretch factors. This might change in the future, so avoid
+ using stretch factors in anchor layouts if you want to avoid any future regressions in
+ behavior.
- \section1 Spacing within QGraphicsAnchorLayout
+ \section1 Spacing within an Anchor Layout
- Between the items, the layout can distribute some space. If the spacing has not been
- explicitly specified, the actual amount of space will usually be 0, but if the first edge
- is the "opposite" of the second edge (i.e. Right is anchored to Left or vice-versa), the
- size of the anchor will be queried from the style through the pixelMetric
- PM_LayoutHorizontalSpacing (or PM_LayoutVerticalSpacing for vertical anchors).
+ The layout may distribute some space between the items. If the spacing has not been
+ explicitly specified, the actual amount of space will usually be 0.
+
+ However, if the first edge is the \e opposite of the second edge (e.g., the right edge
+ of the first widget is anchored to the left edge of the second widget), the size of the
+ anchor will be queried from the style through a pixel metric:
+ \l{QStyle::}{PM_LayoutHorizontalSpacing} for horizontal anchors and
+ \l{QStyle::}{PM_LayoutVerticalSpacing} for vertical anchors.
+
+ If the spacing is negative, the items will overlap to some extent.
+
+ \sa QGraphicsLinearLayout, QGraphicsGridLayout, QGraphicsLayout
*/
/*!
@@ -99,7 +123,7 @@
*/
#include "qgraphicsanchorlayout_p.h"
-
+#ifndef QT_NO_GRAPHICSVIEW
QT_BEGIN_NAMESPACE
QGraphicsAnchor::QGraphicsAnchor(QGraphicsAnchorLayout *parentLayout)
@@ -215,7 +239,7 @@ QGraphicsAnchorLayout::~QGraphicsAnchorLayout()
If there is already an anchor between the edges, the the new anchor will replace the old one.
\a firstItem and \a secondItem are automatically added to the layout if they are not part
- of the layout. This means that count() can increase with up to 2.
+ of the layout. This means that count() can increase by up to 2.
The spacing an anchor will get depends on the type of anchor. For instance, anchors from the
Right edge of one item to the Left edge of another (or vice versa) will use the default
@@ -228,7 +252,7 @@ QGraphicsAnchorLayout::~QGraphicsAnchorLayout()
Calling this function where \a firstItem or \a secondItem are ancestors of the layout have
undefined behaviour.
- \sa addCornerAnchors(), addAnchors()
+ \sa addAnchors(), addCornerAnchors()
*/
QGraphicsAnchor *
QGraphicsAnchorLayout::addAnchor(QGraphicsLayoutItem *firstItem, Qt::AnchorPoint firstEdge,
@@ -253,29 +277,26 @@ QGraphicsAnchorLayout::anchor(QGraphicsLayoutItem *firstItem, Qt::AnchorPoint fi
}
/*!
- Creates two anchors between \a firstItem and \a secondItem, where one is for the horizontal
- edge and another one for the vertical edge that the corners \a firstCorner and \a
- secondCorner specifies.
- The magnitude of the anchors is picked up from the style.
+ Creates two anchors between \a firstItem and \a secondItem specified by the corners,
+ \a firstCorner and \a secondCorner, where one is for the horizontal edge and another
+ one for the vertical edge.
- This is a convenience function, since anchoring corners can be expressed as anchoring two edges.
- For instance,
- \code
- layout->addAnchor(layout, Qt::AnchorTop, b, Qt::AnchorTop);
- layout->addAnchor(layout, Qt::AnchorLeft, b, Qt::AnchorLeft);
- \endcode
+ This is a convenience function, since anchoring corners can be expressed as anchoring
+ two edges. For instance:
- has the same effect as
+ \snippet examples/graphicsview/simpleanchorlayout/main.cpp adding a corner anchor in two steps
- \code
- layout->addCornerAnchors(layout, Qt::TopLeft, b, Qt::TopLeft);
- \endcode
+ This can also be achieved with the following line of code:
+
+ \snippet examples/graphicsview/simpleanchorlayout/main.cpp adding a corner anchor
If there is already an anchor between the edge pairs, it will be replaced by the anchors that
this function specifies.
\a firstItem and \a secondItem are automatically added to the layout if they are not part of the
- layout. This means that count() can increase with up to 2.
+ layout. This means that count() can increase by up to 2.
+
+ \sa addAnchor(), addAnchors()
*/
void QGraphicsAnchorLayout::addCornerAnchors(QGraphicsLayoutItem *firstItem,
Qt::Corner firstCorner,
@@ -302,17 +323,16 @@ void QGraphicsAnchorLayout::addCornerAnchors(QGraphicsLayoutItem *firstItem,
edges of \a secondItem, so that \a firstItem has the same size as
\a secondItem in the dimensions specified by \a orientations.
- Calling this convenience function with the following arguments
- \code
- l->addAnchors(firstItem, secondItem, Qt::Horizontal)
- \endcode
+ For example, the following example anchors the left and right edges of two items
+ to match their widths:
+
+ \snippet examples/graphicsview/simpleanchorlayout/main.cpp adding anchors to match sizes in two steps
+
+ This can also be achieved using the following line of code:
- is the same as
+ \snippet examples/graphicsview/simpleanchorlayout/main.cpp adding anchors to match sizes
- \code
- l->addAnchor(firstItem, Qt::AnchorLeft, secondItem, Qt::AnchorLeft);
- l->addAnchor(firstItem, Qt::AnchorRight, secondItem, Qt::AnchorRight);
- \endcode
+ \sa addAnchor(), addCornerAnchors()
*/
void QGraphicsAnchorLayout::addAnchors(QGraphicsLayoutItem *firstItem,
QGraphicsLayoutItem *secondItem,
@@ -400,7 +420,7 @@ void QGraphicsAnchorLayout::setSpacing(qreal spacing)
qreal QGraphicsAnchorLayout::horizontalSpacing() const
{
Q_D(const QGraphicsAnchorLayout);
- return d->effectiveSpacing(QGraphicsAnchorLayoutPrivate::Horizontal);
+ return d->styleInfo().defaultSpacing(Qt::Horizontal);
}
/*!
@@ -411,7 +431,7 @@ qreal QGraphicsAnchorLayout::horizontalSpacing() const
qreal QGraphicsAnchorLayout::verticalSpacing() const
{
Q_D(const QGraphicsAnchorLayout);
- return d->effectiveSpacing(QGraphicsAnchorLayoutPrivate::Vertical);
+ return d->styleInfo().defaultSpacing(Qt::Vertical);
}
/*!
@@ -481,7 +501,8 @@ void QGraphicsAnchorLayout::invalidate()
{
Q_D(QGraphicsAnchorLayout);
QGraphicsLayout::invalidate();
- d->calculateGraphCacheDirty = 1;
+ d->calculateGraphCacheDirty = true;
+ d->styleInfoDirty = true;
}
/*!
@@ -515,3 +536,4 @@ QSizeF QGraphicsAnchorLayout::sizeHint(Qt::SizeHint which, const QSizeF &constra
}
QT_END_NAMESPACE
+#endif //QT_NO_GRAPHICSVIEW
diff --git a/src/gui/graphicsview/qgraphicsanchorlayout_p.cpp b/src/gui/graphicsview/qgraphicsanchorlayout_p.cpp
index 8c8c303..41aa8aa 100644
--- a/src/gui/graphicsview/qgraphicsanchorlayout_p.cpp
+++ b/src/gui/graphicsview/qgraphicsanchorlayout_p.cpp
@@ -40,6 +40,7 @@
****************************************************************************/
#include <QtGui/qwidget.h>
+#include <QtGui/qapplication.h>
#include <QtCore/qlinkedlist.h>
#include <QtCore/qstack.h>
@@ -48,7 +49,7 @@
#endif
#include "qgraphicsanchorlayout_p.h"
-
+#ifndef QT_NO_GRAPHICSVIEW
QT_BEGIN_NAMESPACE
@@ -141,34 +142,25 @@ static void internalSizeHints(QSizePolicy::Policy policy,
*expSize = *prefSize;
}
-void AnchorData::refreshSizeHints(qreal effectiveSpacing)
+bool AnchorData::refreshSizeHints(const QLayoutStyleInfo *styleInfo)
{
- const bool isInternalAnchor = from->m_item == to->m_item;
-
QSizePolicy::Policy policy;
qreal minSizeHint;
qreal prefSizeHint;
qreal maxSizeHint;
- if (isInternalAnchor) {
- const QGraphicsAnchorLayoutPrivate::Orientation orient =
- QGraphicsAnchorLayoutPrivate::edgeOrientation(from->m_edge);
- const Qt::AnchorPoint centerEdge =
- QGraphicsAnchorLayoutPrivate::pickEdge(Qt::AnchorHorizontalCenter, orient);
- bool hasCenter = (from->m_edge == centerEdge || to->m_edge == centerEdge);
-
+ // It is an internal anchor
+ if (item) {
if (isLayoutAnchor) {
minSize = 0;
prefSize = 0;
expSize = 0;
maxSize = QWIDGETSIZE_MAX;
- if (hasCenter)
+ if (isCenterAnchor)
maxSize /= 2;
- return;
+ return true;
} else {
-
- QGraphicsLayoutItem *item = from->m_item;
- if (orient == QGraphicsAnchorLayoutPrivate::Horizontal) {
+ if (orientation == QGraphicsAnchorLayoutPrivate::Horizontal) {
policy = item->sizePolicy().horizontalPolicy();
minSizeHint = item->effectiveSizeHint(Qt::MinimumSize).width();
prefSizeHint = item->effectiveSizeHint(Qt::PreferredSize).width();
@@ -180,7 +172,7 @@ void AnchorData::refreshSizeHints(qreal effectiveSpacing)
maxSizeHint = item->effectiveSizeHint(Qt::MaximumSize).height();
}
- if (hasCenter) {
+ if (isCenterAnchor) {
minSizeHint /= 2;
prefSizeHint /= 2;
maxSizeHint /= 2;
@@ -196,7 +188,20 @@ void AnchorData::refreshSizeHints(qreal effectiveSpacing)
// their effective size hints might be narrowed down due to their size policies.
prefSizeHint = prefSize;
} else {
- prefSizeHint = effectiveSpacing;
+ const Qt::Orientation orient = Qt::Orientation(QGraphicsAnchorLayoutPrivate::edgeOrientation(from->m_edge) + 1);
+ qreal s = styleInfo->defaultSpacing(orient);
+ if (s < 0) {
+ QSizePolicy::ControlType controlTypeFrom = from->m_item->sizePolicy().controlType();
+ QSizePolicy::ControlType controlTypeTo = to->m_item->sizePolicy().controlType();
+ s = styleInfo->perItemSpacing(controlTypeFrom, controlTypeTo, orient);
+
+ // ### Currently we do not support negative anchors inside the graph.
+ // To avoid those being created by a negative style spacing, we must
+ // make this test.
+ if (s < 0)
+ s = 0;
+ }
+ prefSizeHint = s;
}
maxSizeHint = QWIDGETSIZE_MAX;
}
@@ -214,6 +219,8 @@ void AnchorData::refreshSizeHints(qreal effectiveSpacing)
sizeAtPreferred = prefSize;
sizeAtExpanding = prefSize;
sizeAtMaximum = prefSize;
+
+ return true;
}
void ParallelAnchorData::updateChildrenSizes()
@@ -227,26 +234,29 @@ void ParallelAnchorData::updateChildrenSizes()
secondEdge->updateChildrenSizes();
}
-void ParallelAnchorData::refreshSizeHints(qreal effectiveSpacing)
+bool ParallelAnchorData::refreshSizeHints(const QLayoutStyleInfo *styleInfo)
{
- refreshSizeHints_helper(effectiveSpacing);
+ return refreshSizeHints_helper(styleInfo);
}
-void ParallelAnchorData::refreshSizeHints_helper(qreal effectiveSpacing,
+bool ParallelAnchorData::refreshSizeHints_helper(const QLayoutStyleInfo *styleInfo,
bool refreshChildren)
{
- if (refreshChildren) {
- firstEdge->refreshSizeHints(effectiveSpacing);
- secondEdge->refreshSizeHints(effectiveSpacing);
+ if (refreshChildren && (!firstEdge->refreshSizeHints(styleInfo)
+ || !secondEdge->refreshSizeHints(styleInfo))) {
+ return false;
}
- // ### should we warn if the parallel connection is invalid?
- // e.g. 1-2-3 with 10-20-30, the minimum of the latter is
- // bigger than the maximum of the former.
-
minSize = qMax(firstEdge->minSize, secondEdge->minSize);
maxSize = qMin(firstEdge->maxSize, secondEdge->maxSize);
+ // This condition means that the maximum size of one anchor being simplified is smaller than
+ // the minimum size of the other anchor. The consequence is that there won't be a valid size
+ // for this parallel setup.
+ if (minSize > maxSize) {
+ return false;
+ }
+
expSize = qMax(firstEdge->expSize, secondEdge->expSize);
expSize = qMin(expSize, maxSize);
@@ -258,6 +268,8 @@ void ParallelAnchorData::refreshSizeHints_helper(qreal effectiveSpacing,
sizeAtPreferred = prefSize;
sizeAtExpanding = prefSize;
sizeAtMaximum = prefSize;
+
+ return true;
}
/*!
@@ -362,12 +374,12 @@ void SequentialAnchorData::updateChildrenSizes()
}
}
-void SequentialAnchorData::refreshSizeHints(qreal effectiveSpacing)
+bool SequentialAnchorData::refreshSizeHints(const QLayoutStyleInfo *styleInfo)
{
- refreshSizeHints_helper(effectiveSpacing);
+ return refreshSizeHints_helper(styleInfo);
}
-void SequentialAnchorData::refreshSizeHints_helper(qreal effectiveSpacing,
+bool SequentialAnchorData::refreshSizeHints_helper(const QLayoutStyleInfo *styleInfo,
bool refreshChildren)
{
minSize = 0;
@@ -379,8 +391,8 @@ void SequentialAnchorData::refreshSizeHints_helper(qreal effectiveSpacing,
AnchorData *edge = m_edges.at(i);
// If it's the case refresh children information first
- if (refreshChildren)
- edge->refreshSizeHints(effectiveSpacing);
+ if (refreshChildren && !edge->refreshSizeHints(styleInfo))
+ return false;
minSize += edge->minSize;
prefSize += edge->prefSize;
@@ -393,6 +405,8 @@ void SequentialAnchorData::refreshSizeHints_helper(qreal effectiveSpacing,
sizeAtPreferred = prefSize;
sizeAtExpanding = prefSize;
sizeAtMaximum = prefSize;
+
+ return true;
}
#ifdef QT_DEBUG
@@ -458,7 +472,7 @@ QString GraphPath::toString() const
#endif
QGraphicsAnchorLayoutPrivate::QGraphicsAnchorLayoutPrivate()
- : calculateGraphCacheDirty(1)
+ : calculateGraphCacheDirty(true), styleInfoDirty(true)
{
for (int i = 0; i < NOrientations; ++i) {
for (int j = 0; j < 3; ++j) {
@@ -510,18 +524,49 @@ inline static qreal checkAdd(qreal a, qreal b)
}
/*!
- * \internal
- *
- * Takes the sequence of vertices described by (\a before, \a vertices, \a after) and replaces
- * all anchors connected to the vertices in \a vertices with one simplified anchor between
- * \a before and \a after. The simplified anchor will be a placeholder for all the previous
- * anchors between \a before and \a after, and can be restored back to the anchors it is a
- * placeholder for.
- */
-static bool simplifySequentialChunk(Graph<AnchorVertex, AnchorData> *graph,
- AnchorVertex *before,
- const QVector<AnchorVertex*> &vertices,
- AnchorVertex *after)
+ \internal
+
+ Adds \a newAnchor to the graph \a g.
+
+ Returns the newAnchor itself if it could be added without further changes to the graph. If a
+ new parallel anchor had to be created, then returns the new parallel anchor. In case the
+ addition is unfeasible -- because a parallel setup is not possible, returns 0.
+*/
+static AnchorData *addAnchorMaybeParallel(Graph<AnchorVertex, AnchorData> *g,
+ AnchorData *newAnchor)
+{
+ bool feasible = true;
+
+ // If already exists one anchor where newAnchor is supposed to be, we create a parallel
+ // anchor.
+ if (AnchorData *oldAnchor = g->takeEdge(newAnchor->from, newAnchor->to)) {
+ ParallelAnchorData *parallel = new ParallelAnchorData(oldAnchor, newAnchor);
+
+ // At this point we can identify that the parallel anchor is not feasible, e.g. one
+ // anchor minimum size is bigger than the other anchor maximum size.
+ feasible = parallel->refreshSizeHints_helper(0, false);
+ newAnchor = parallel;
+ }
+
+ g->createEdge(newAnchor->from, newAnchor->to, newAnchor);
+ return feasible ? newAnchor : 0;
+}
+
+
+/*!
+ \internal
+
+ Takes the sequence of vertices described by (\a before, \a vertices, \a after) and removes
+ all anchors connected to the vertices in \a vertices, returning one simplified anchor between
+ \a before and \a after.
+
+ Note that this function doesn't add the created anchor to the graph. This should be done by
+ the caller.
+*/
+static AnchorData *createSequence(Graph<AnchorVertex, AnchorData> *graph,
+ AnchorVertex *before,
+ const QVector<AnchorVertex*> &vertices,
+ AnchorVertex *after)
{
AnchorData *data = graph->edgeData(before, vertices.first());
Q_ASSERT(data);
@@ -546,41 +591,24 @@ static bool simplifySequentialChunk(Graph<AnchorVertex, AnchorData> *graph,
qDebug("simplifying [%s] to [%s - %s]", qPrintable(strPath), qPrintable(before->toString()), qPrintable(after->toString()));
#endif
- SequentialAnchorData *sequence = new SequentialAnchorData;
AnchorVertex *prev = before;
+ QVector<AnchorData *> edges;
for (int i = 0; i <= orderedVertices.count(); ++i) {
AnchorVertex *next = (i < orderedVertices.count()) ? orderedVertices.at(i) : after;
AnchorData *ad = graph->takeEdge(prev, next);
Q_ASSERT(ad);
- sequence->m_edges.append(ad);
+ edges.append(ad);
prev = next;
}
- sequence->setVertices(orderedVertices);
+ SequentialAnchorData *sequence = new SequentialAnchorData(orderedVertices, edges);
sequence->from = before;
sequence->to = after;
sequence->refreshSizeHints_helper(0, false);
- // Note that since layout 'edges' can't be simplified away from
- // the graph, it's safe to assume that if there's a layout
- // 'edge', it'll be in the boundaries of the sequence.
- sequence->isLayoutAnchor = (sequence->m_edges.first()->isLayoutAnchor
- || sequence->m_edges.last()->isLayoutAnchor);
-
- AnchorData *newAnchor = sequence;
- if (AnchorData *oldAnchor = graph->takeEdge(before, after)) {
- ParallelAnchorData *parallel = new ParallelAnchorData(oldAnchor, sequence);
- parallel->isLayoutAnchor = (oldAnchor->isLayoutAnchor
- || sequence->isLayoutAnchor);
- parallel->refreshSizeHints_helper(0, false);
- newAnchor = parallel;
- }
- graph->createEdge(before, after, newAnchor);
-
- // True if we created a parallel anchor
- return newAnchor != sequence;
+ return sequence;
}
/*!
@@ -617,15 +645,17 @@ static bool simplifySequentialChunk(Graph<AnchorVertex, AnchorData> *graph,
2. Go to (1)
3. Done
+ When creating the parallel anchors, the algorithm might identify unfeasible situations. In this
+ case the simplification process stops and returns false. Otherwise returns true.
*/
-void QGraphicsAnchorLayoutPrivate::simplifyGraph(Orientation orientation)
+bool QGraphicsAnchorLayoutPrivate::simplifyGraph(Orientation orientation)
{
static bool noSimplification = !qgetenv("QT_ANCHORLAYOUT_NO_SIMPLIFICATION").isEmpty();
if (noSimplification || items.isEmpty())
- return;
+ return true;
if (graphSimplified[orientation])
- return;
+ return true;
graphSimplified[orientation] = true;
#if 0
@@ -634,12 +664,18 @@ void QGraphicsAnchorLayoutPrivate::simplifyGraph(Orientation orientation)
#endif
if (!graph[orientation].rootVertex())
- return;
+ return true;
bool dirty;
+ bool feasible = true;
do {
- dirty = simplifyGraphIteration(orientation);
- } while (dirty);
+ dirty = simplifyGraphIteration(orientation, &feasible);
+ } while (dirty && feasible);
+
+ if (!feasible)
+ graphSimplified[orientation] = false;
+
+ return feasible;
}
/*!
@@ -656,7 +692,8 @@ void QGraphicsAnchorLayoutPrivate::simplifyGraph(Orientation orientation)
Note that there are some catches to this that are not covered by the above explanation, see
the function comments for more details.
*/
-bool QGraphicsAnchorLayoutPrivate::simplifyGraphIteration(QGraphicsAnchorLayoutPrivate::Orientation orientation)
+bool QGraphicsAnchorLayoutPrivate::simplifyGraphIteration(QGraphicsAnchorLayoutPrivate::Orientation orientation,
+ bool *feasible)
{
Q_Q(QGraphicsAnchorLayout);
Graph<AnchorVertex, AnchorData> &g = graph[orientation];
@@ -667,8 +704,6 @@ bool QGraphicsAnchorLayoutPrivate::simplifyGraphIteration(QGraphicsAnchorLayoutP
QVector<AnchorVertex*> candidates;
bool candidatesForward;
- const Qt::AnchorPoint centerEdge = pickEdge(Qt::AnchorHorizontalCenter, orientation);
-
// Walk depth-first, in the stack we store start of the candidate sequence (beforeSequence)
// and the vertex to be visited.
while (!stack.isEmpty()) {
@@ -777,7 +812,8 @@ bool QGraphicsAnchorLayoutPrivate::simplifyGraphIteration(QGraphicsAnchorLayoutP
// One restriction we have is to not simplify half of an anchor and let the other half
// unsimplified. So we remove center edges before and after the sequence.
- if (beforeSequence->m_edge == centerEdge && beforeSequence->m_item == candidates.first()->m_item) {
+ const AnchorData *firstAnchor = g.edgeData(beforeSequence, candidates.first());
+ if (firstAnchor->isCenterAnchor) {
beforeSequence = candidates.first();
candidates.remove(0);
@@ -786,7 +822,8 @@ bool QGraphicsAnchorLayoutPrivate::simplifyGraphIteration(QGraphicsAnchorLayoutP
continue;
}
- if (afterSequence->m_edge == centerEdge && afterSequence->m_item == candidates.last()->m_item) {
+ const AnchorData *lastAnchor = g.edgeData(candidates.last(), afterSequence);
+ if (lastAnchor->isCenterAnchor) {
afterSequence = candidates.last();
candidates.remove(candidates.count() - 1);
@@ -794,11 +831,26 @@ bool QGraphicsAnchorLayoutPrivate::simplifyGraphIteration(QGraphicsAnchorLayoutP
continue;
}
- // This function will remove the candidates from the graph and create one edge between
- // beforeSequence and afterSequence. This function returns true if the sequential
- // simplification also caused a parallel simplification to be created. In this case we end
- // the iteration and start again (since all the visited state we have may be outdated).
- if (simplifySequentialChunk(&g, beforeSequence, candidates, afterSequence))
+ //
+ // Add the sequence to the graph.
+ //
+
+ AnchorData *sequence = createSequence(&g, beforeSequence, candidates, afterSequence);
+
+ // If 'beforeSequence' and 'afterSequence' already had an anchor between them, we'll
+ // create a parallel anchor between the new sequence and the old anchor.
+ AnchorData *newAnchor = addAnchorMaybeParallel(&g, sequence);
+
+ if (!newAnchor) {
+ *feasible = false;
+ return false;
+ }
+
+ // When a new parallel anchor is create in the graph, we finish the iteration and return
+ // true to indicate a new iteration is needed. This happens because a parallel anchor
+ // changes the number of adjacents one vertex has, possibly opening up oportunities for
+ // building candidate lists (when adjacents == 2).
+ if (newAnchor != sequence)
return true;
// If there was no parallel simplification, we'll keep walking the graph. So we clear the
@@ -1008,11 +1060,13 @@ void QGraphicsAnchorLayoutPrivate::createCenterAnchors(
AnchorData *data = new AnchorData;
c->variables.insert(data, 1.0);
addAnchor_helper(item, firstEdge, item, centerEdge, data);
+ data->isCenterAnchor = true;
data->refreshSizeHints(0);
data = new AnchorData;
c->variables.insert(data, -1.0);
addAnchor_helper(item, centerEdge, item, lastEdge, data);
+ data->isCenterAnchor = true;
data->refreshSizeHints(0);
itemCenterConstraints[orientation].append(c);
@@ -1234,9 +1288,11 @@ void QGraphicsAnchorLayoutPrivate::addAnchor_helper(QGraphicsLayoutItem *firstIt
{
Q_Q(QGraphicsAnchorLayout);
+ const Orientation orientation = edgeOrientation(firstEdge);
+
// Guarantee that the graph is no simplified when adding this anchor,
// anchor manipulation always happen in the full graph
- restoreSimplifiedGraph(edgeOrientation(firstEdge));
+ restoreSimplifiedGraph(orientation);
// Is the Vertex (firstItem, firstEdge) already represented in our
// internal structure?
@@ -1245,10 +1301,16 @@ void QGraphicsAnchorLayoutPrivate::addAnchor_helper(QGraphicsLayoutItem *firstIt
// Remove previous anchor
// ### Could we update the existing edgeData rather than creating a new one?
- if (graph[edgeOrientation(firstEdge)].edgeData(v1, v2)) {
+ if (graph[orientation].edgeData(v1, v2)) {
removeAnchor_helper(v1, v2);
}
+ // If its an internal anchor, set the associated item
+ if (firstItem == secondItem)
+ data->item = firstItem;
+
+ data->orientation = orientation;
+
// Create a bi-directional edge in the sense it can be transversed both
// from v1 or v2. "data" however is shared between the two references
// so we still know that the anchor direction is from 1 to 2.
@@ -1257,10 +1319,11 @@ void QGraphicsAnchorLayoutPrivate::addAnchor_helper(QGraphicsLayoutItem *firstIt
#ifdef QT_DEBUG
data->name = QString::fromAscii("%1 --to--> %2").arg(v1->toString()).arg(v2->toString());
#endif
- // Keep track of anchors that are connected to the layout 'edges'
- data->isLayoutAnchor = (v1->m_item == q || v2->m_item == q);
+ // ### bit to track internal anchors, since inside AnchorData methods
+ // we don't have access to the 'q' pointer.
+ data->isLayoutAnchor = (data->item == q);
- graph[edgeOrientation(firstEdge)].createEdge(v1, v2, data);
+ graph[orientation].createEdge(v1, v2, data);
}
QGraphicsAnchor *QGraphicsAnchorLayoutPrivate::getAnchor(QGraphicsLayoutItem *firstItem,
@@ -1425,7 +1488,7 @@ void QGraphicsAnchorLayoutPrivate::anchorSize(const AnchorData *data,
Q_ASSERT(minSize || prefSize || maxSize);
Q_ASSERT(data);
QGraphicsAnchorLayoutPrivate *that = const_cast<QGraphicsAnchorLayoutPrivate *>(this);
- that->restoreSimplifiedGraph(edgeOrientation(data->from->m_edge));
+ that->restoreSimplifiedGraph(Orientation(data->orientation));
if (minSize)
*minSize = data->minSize;
@@ -1565,34 +1628,32 @@ void QGraphicsAnchorLayoutPrivate::correctEdgeDirection(QGraphicsLayoutItem *&fi
}
}
-qreal QGraphicsAnchorLayoutPrivate::effectiveSpacing(Orientation orientation) const
+QLayoutStyleInfo &QGraphicsAnchorLayoutPrivate::styleInfo() const
{
- Q_Q(const QGraphicsAnchorLayout);
- qreal s = spacings[orientation];
- if (s < 0) {
- // ### make sure behaviour is the same as in QGraphicsGridLayout
+ if (styleInfoDirty) {
+ Q_Q(const QGraphicsAnchorLayout);
+ //### Fix this if QGV ever gets support for Metal style or different Aqua sizes.
+ QWidget *wid = 0;
+
QGraphicsLayoutItem *parent = q->parentLayoutItem();
while (parent && parent->isLayout()) {
parent = parent->parentLayoutItem();
}
+ QGraphicsWidget *w = 0;
if (parent) {
QGraphicsItem *parentItem = parent->graphicsItem();
- if (parentItem && parentItem->isWidget()) {
- QGraphicsWidget *w = static_cast<QGraphicsWidget*>(parentItem);
- s = w->style()->pixelMetric(orientation == Horizontal
- ? QStyle::PM_LayoutHorizontalSpacing
- : QStyle::PM_LayoutVerticalSpacing);
- }
+ if (parentItem && parentItem->isWidget())
+ w = static_cast<QGraphicsWidget*>(parentItem);
}
- }
- // ### Currently we do not support negative anchors inside the graph.
- // To avoid those being created by a negative style spacing, we must
- // make this test.
- if (s < 0)
- s = 0;
+ QStyle *style = w ? w->style() : QApplication::style();
+ cachedStyleInfo = QLayoutStyleInfo(style, wid);
+ cachedStyleInfo.setDefaultSpacing(Qt::Horizontal, spacings[0]);
+ cachedStyleInfo.setDefaultSpacing(Qt::Vertical, spacings[1]);
- return s;
+ styleInfoDirty = false;
+ }
+ return cachedStyleInfo;
}
/*!
@@ -1620,7 +1681,7 @@ void QGraphicsAnchorLayoutPrivate::calculateGraphs()
dumpGraph(QString::fromAscii("%1-after").arg(count));
#endif
- calculateGraphCacheDirty = 0;
+ calculateGraphCacheDirty = false;
}
// ### Maybe getGraphParts could return the variables when traversing, at least
@@ -1638,38 +1699,52 @@ QList<AnchorData *> getVariables(QList<QSimplexConstraint *> constraints)
}
/*!
- \internal
+ \internal
- Calculate graphs is the method that puts together all the helper routines
- so that the AnchorLayout can calculate the sizes of each item.
+ Calculate graphs is the method that puts together all the helper routines
+ so that the AnchorLayout can calculate the sizes of each item.
- In a nutshell it should do:
+ In a nutshell it should do:
- 1) Update anchor nominal sizes, that is, the size that each anchor would
- have if no other restrictions applied. This is done by quering the
- layout style and the sizeHints of the items belonging to the layout.
+ 1) Refresh anchor nominal sizes, that is, the size that each anchor would
+ have if no other restrictions applied. This is done by quering the
+ layout style and the sizeHints of the items belonging to the layout.
- 2) Simplify the graph by grouping together parallel and sequential anchors
- into "group anchors". These have equivalent minimum, preferred and maximum
- sizeHints as the anchors they replace.
+ 2) Simplify the graph by grouping together parallel and sequential anchors
+ into "group anchors". These have equivalent minimum, preferred and maximum
+ sizeHints as the anchors they replace.
- 3) Check if we got to a trivial case. In some cases, the whole graph can be
- simplified into a single anchor. If so, use this information. If not,
- then call the Simplex solver to calculate the anchors sizes.
+ 3) Check if we got to a trivial case. In some cases, the whole graph can be
+ simplified into a single anchor. If so, use this information. If not,
+ then call the Simplex solver to calculate the anchors sizes.
- 4) Once the root anchors had its sizes calculated, propagate that to the
- anchors they represent.
+ 4) Once the root anchors had its sizes calculated, propagate that to the
+ anchors they represent.
*/
void QGraphicsAnchorLayoutPrivate::calculateGraphs(
QGraphicsAnchorLayoutPrivate::Orientation orientation)
{
Q_Q(QGraphicsAnchorLayout);
- // Simplify the graph
- simplifyGraph(orientation);
+#if defined(QT_DEBUG) || defined(Q_AUTOTEST_EXPORT)
+ lastCalculationUsedSimplex[orientation] = false;
+#endif
- // Reset the nominal sizes of each anchor based on the current item sizes
- setAnchorSizeHintsFromItems(orientation);
+ // Reset the nominal sizes of each anchor based on the current item sizes. This function
+ // works with both simplified and non-simplified graphs, so it'll work when the
+ // simplification is going to be reused.
+ if (!refreshAllSizeHints(orientation)) {
+ qWarning("QGraphicsAnchorLayout: anchor setup is not feasible.");
+ graphHasConflicts[orientation] = true;
+ return;
+ }
+
+ // Simplify the graph
+ if (!simplifyGraph(orientation)) {
+ qWarning("QGraphicsAnchorLayout: anchor setup is not feasible.");
+ graphHasConflicts[orientation] = true;
+ return;
+ }
// Traverse all graph edges and store the possible paths to each vertex
findPaths(orientation);
@@ -1837,23 +1912,31 @@ bool QGraphicsAnchorLayoutPrivate::calculateNonTrunk(const QList<QSimplexConstra
}
/*!
- \internal
+ \internal
+
+ Traverse the graph refreshing the size hints. Complex anchors will call the
+ refresh method of their children anchors. Simple anchors, if are internal
+ anchors, will query the associated item for their size hints.
- For graph edges ("anchors") that represent items, this method updates their
- intrinsic size restrictions, based on the item size hints.
+ Returns false if some unfeasibility was found in the graph regarding the
+ complex anchors.
*/
-void QGraphicsAnchorLayoutPrivate::setAnchorSizeHintsFromItems(Orientation orientation)
+bool QGraphicsAnchorLayoutPrivate::refreshAllSizeHints(Orientation orientation)
{
Graph<AnchorVertex, AnchorData> &g = graph[orientation];
QList<QPair<AnchorVertex *, AnchorVertex *> > vertices = g.connections();
- qreal spacing = effectiveSpacing(orientation);
-
+ QLayoutStyleInfo styleInf = styleInfo();
for (int i = 0; i < vertices.count(); ++i) {
AnchorData *data = g.edgeData(vertices.at(i).first, vertices.at(i).second);;
Q_ASSERT(data->from && data->to);
- data->refreshSizeHints(spacing);
+
+ // During the traversal we check the feasibility of the complex anchors.
+ if (!data->refreshSizeHints(&styleInf))
+ return false;
}
+
+ return true;
}
/*!
@@ -1960,17 +2043,27 @@ QList<QSimplexConstraint *> QGraphicsAnchorLayoutPrivate::constraintsFromSizeHin
{
QList<QSimplexConstraint *> anchorConstraints;
for (int i = 0; i < anchors.size(); ++i) {
- QSimplexConstraint *c = new QSimplexConstraint;
- c->variables.insert(anchors[i], 1.0);
- c->constant = anchors[i]->minSize;
- c->ratio = QSimplexConstraint::MoreOrEqual;
- anchorConstraints += c;
-
- c = new QSimplexConstraint;
- c->variables.insert(anchors[i], 1.0);
- c->constant = anchors[i]->maxSize;
- c->ratio = QSimplexConstraint::LessOrEqual;
- anchorConstraints += c;
+ AnchorData *ad = anchors[i];
+
+ if ((ad->minSize == ad->maxSize) || qFuzzyCompare(ad->minSize, ad->maxSize)) {
+ QSimplexConstraint *c = new QSimplexConstraint;
+ c->variables.insert(ad, 1.0);
+ c->constant = ad->minSize;
+ c->ratio = QSimplexConstraint::Equal;
+ anchorConstraints += c;
+ } else {
+ QSimplexConstraint *c = new QSimplexConstraint;
+ c->variables.insert(ad, 1.0);
+ c->constant = ad->minSize;
+ c->ratio = QSimplexConstraint::MoreOrEqual;
+ anchorConstraints += c;
+
+ c = new QSimplexConstraint;
+ c->variables.insert(ad, 1.0);
+ c->constant = ad->maxSize;
+ c->ratio = QSimplexConstraint::LessOrEqual;
+ anchorConstraints += c;
+ }
}
return anchorConstraints;
@@ -2110,8 +2203,8 @@ void QGraphicsAnchorLayoutPrivate::identifyNonFloatItems_helper(const AnchorData
switch(ad->type) {
case AnchorData::Normal:
- if (ad->from->m_item == ad->to->m_item && ad->to->m_item != q)
- nonFloatingItemsIdentifiedSoFar->insert(ad->to->m_item);
+ if (ad->item && ad->item != q)
+ nonFloatingItemsIdentifiedSoFar->insert(ad->item);
break;
case AnchorData::Sequential:
foreach (const AnchorData *d, static_cast<const SequentialAnchorData *>(ad)->m_edges)
@@ -2377,7 +2470,7 @@ bool QGraphicsAnchorLayoutPrivate::solveMinMax(const QList<QSimplexConstraint *>
*min = simplex.solveMin();
// Save sizeAtMinimum results
- QList<QSimplexVariable *> variables = simplex.constraintsVariables();
+ QList<AnchorData *> variables = getVariables(constraints);
for (int i = 0; i < variables.size(); ++i) {
AnchorData *ad = static_cast<AnchorData *>(variables[i]);
Q_ASSERT(ad->result >= ad->minSize || qFuzzyCompare(ad->result, ad->minSize));
@@ -2536,7 +2629,7 @@ void QGraphicsAnchorLayoutPrivate::solveExpanding(const QList<QSimplexConstraint
hasExpanding = true;
// Lock anchor between boundedExpSize and sizeAtMaximum (ensure 3.a)
- if (boundedExpSize == ad->sizeAtMaximum) {
+ if (boundedExpSize == ad->sizeAtMaximum || qFuzzyCompare(boundedExpSize, ad->sizeAtMaximum)) {
// The interval has only one possible value, we can use an "Equal"
// constraint and don't need to add this variable to the objective.
QSimplexConstraint *itemC = new QSimplexConstraint;
@@ -2635,3 +2728,4 @@ void QGraphicsAnchorLayoutPrivate::dumpGraph(const QString &name)
#endif
QT_END_NAMESPACE
+#endif //QT_NO_GRAPHICSVIEW
diff --git a/src/gui/graphicsview/qgraphicsanchorlayout_p.h b/src/gui/graphicsview/qgraphicsanchorlayout_p.h
index d45c004..7dd0d65 100644
--- a/src/gui/graphicsview/qgraphicsanchorlayout_p.h
+++ b/src/gui/graphicsview/qgraphicsanchorlayout_p.h
@@ -60,7 +60,7 @@
#include "qgraphicsanchorlayout.h"
#include "qgraph_p.h"
#include "qsimplex_p.h"
-
+#ifndef QT_NO_GRAPHICSVIEW
QT_BEGIN_NAMESPACE
/*
@@ -151,15 +151,16 @@ struct AnchorData : public QSimplexVariable {
};
AnchorData()
- : QSimplexVariable(), from(0), to(0),
+ : QSimplexVariable(), item(0), from(0), to(0),
minSize(0), prefSize(0), expSize(0), maxSize(0),
sizeAtMinimum(0), sizeAtPreferred(0),
sizeAtExpanding(0), sizeAtMaximum(0),
graphicsAnchor(0), skipInPreferred(0),
- type(Normal), hasSize(true), isLayoutAnchor(false) {}
+ type(Normal), hasSize(true), isLayoutAnchor(false),
+ isCenterAnchor(false), orientation(0) {}
virtual void updateChildrenSizes() {}
- virtual void refreshSizeHints(qreal effectiveSpacing);
+ virtual bool refreshSizeHints(const QLayoutStyleInfo *styleInfo);
virtual ~AnchorData() {}
@@ -180,6 +181,9 @@ struct AnchorData : public QSimplexVariable {
hasSize = false;
}
+ // Internal anchors have associated items
+ QGraphicsLayoutItem *item;
+
// Anchor is semantically directed
AnchorVertex *from;
AnchorVertex *to;
@@ -205,7 +209,9 @@ struct AnchorData : public QSimplexVariable {
uint skipInPreferred : 1;
uint type : 2; // either Normal, Sequential or Parallel
uint hasSize : 1; // if false, get size from style.
- uint isLayoutAnchor : 1; // if this anchor is connected to a layout 'edge'
+ uint isLayoutAnchor : 1; // if this anchor is an internal layout anchor
+ uint isCenterAnchor : 1;
+ uint orientation : 1;
};
#ifdef QT_DEBUG
@@ -217,26 +223,20 @@ inline QString AnchorData::toString() const
struct SequentialAnchorData : public AnchorData
{
- SequentialAnchorData() : AnchorData()
+ SequentialAnchorData(const QVector<AnchorVertex *> &vertices, const QVector<AnchorData *> &edges)
+ : AnchorData(), m_children(vertices), m_edges(edges)
{
type = AnchorData::Sequential;
+ orientation = m_edges.at(0)->orientation;
#ifdef QT_DEBUG
- name = QLatin1String("SequentialAnchorData");
+ name = QString::fromAscii("%1 -- %2").arg(vertices.first()->toString(), vertices.last()->toString());
#endif
}
virtual void updateChildrenSizes();
- virtual void refreshSizeHints(qreal effectiveSpacing);
+ virtual bool refreshSizeHints(const QLayoutStyleInfo *styleInfo);
- void refreshSizeHints_helper(qreal effectiveSpacing, bool refreshChildren = true);
-
- void setVertices(const QVector<AnchorVertex*> &vertices)
- {
- m_children = vertices;
-#ifdef QT_DEBUG
- name = QString::fromAscii("%1 -- %2").arg(vertices.first()->toString(), vertices.last()->toString());
-#endif
- }
+ bool refreshSizeHints_helper(const QLayoutStyleInfo *styleInfo, bool refreshChildren = true);
QVector<AnchorVertex*> m_children; // list of vertices in the sequence
QVector<AnchorData*> m_edges; // keep the list of edges too.
@@ -248,6 +248,7 @@ struct ParallelAnchorData : public AnchorData
: AnchorData(), firstEdge(first), secondEdge(second)
{
type = AnchorData::Parallel;
+ orientation = first->orientation;
// ### Those asserts force that both child anchors have the same direction,
// but can't we simplify a pair of anchors in opposite directions?
@@ -261,9 +262,9 @@ struct ParallelAnchorData : public AnchorData
}
virtual void updateChildrenSizes();
- virtual void refreshSizeHints(qreal effectiveSpacing);
+ virtual bool refreshSizeHints(const QLayoutStyleInfo *styleInfo);
- void refreshSizeHints_helper(qreal effectiveSpacing, bool refreshChildren = true);
+ bool refreshSizeHints_helper(const QLayoutStyleInfo *styleInfo, bool refreshChildren = true);
AnchorData* firstEdge;
AnchorData* secondEdge;
@@ -423,13 +424,12 @@ public:
Qt::AnchorPoint &firstEdge,
QGraphicsLayoutItem *&secondItem,
Qt::AnchorPoint &secondEdge);
- // for getting the actual spacing (will query the style if the
- // spacing is not explicitly set).
- qreal effectiveSpacing(Orientation orientation) const;
+
+ QLayoutStyleInfo &styleInfo() const;
// Activation methods
- void simplifyGraph(Orientation orientation);
- bool simplifyGraphIteration(Orientation orientation);
+ bool simplifyGraph(Orientation orientation);
+ bool simplifyGraphIteration(Orientation orientation, bool *feasible);
void restoreSimplifiedGraph(Orientation orientation);
void calculateGraphs();
@@ -441,7 +441,7 @@ public:
bool calculateNonTrunk(const QList<QSimplexConstraint *> &constraints,
const QList<AnchorData *> &variables);
- void setAnchorSizeHintsFromItems(Orientation orientation);
+ bool refreshAllSizeHints(Orientation orientation);
void findPaths(Orientation orientation);
void constraintsFromPaths(Orientation orientation);
void updateAnchorSizes(Orientation orientation);
@@ -524,10 +524,13 @@ public:
#endif
uint calculateGraphCacheDirty : 1;
+ mutable uint styleInfoDirty : 1;
+ mutable QLayoutStyleInfo cachedStyleInfo;
friend class QGraphicsAnchorPrivate;
};
QT_END_NAMESPACE
+#endif //QT_NO_GRAPHICSVIEW
#endif
diff --git a/src/gui/graphicsview/qgraphicsitem.cpp b/src/gui/graphicsview/qgraphicsitem.cpp
index 97979e5..2fd499d 100644
--- a/src/gui/graphicsview/qgraphicsitem.cpp
+++ b/src/gui/graphicsview/qgraphicsitem.cpp
@@ -1039,13 +1039,31 @@ void QGraphicsItemPrivate::setParentItemHelper(QGraphicsItem *newParent)
}
// Update focus scope item ptr in new scope.
- if (newParent) {
+ QGraphicsItem *newFocusScopeItem = subFocusItem ? subFocusItem : parentFocusScopeItem;
+ if (newFocusScopeItem && newParent) {
+ if (subFocusItem) {
+ // Find the subFocusItem's topmost focus scope.
+ QGraphicsItem *ancestorScope = 0;
+ QGraphicsItem *p = subFocusItem->d_ptr->parent;
+ while (p) {
+ if (p->flags() & QGraphicsItem::ItemIsFocusScope)
+ ancestorScope = p;
+ if (p->isPanel())
+ break;
+ p = p->parentItem();
+ }
+ if (ancestorScope)
+ newFocusScopeItem = ancestorScope;
+ }
+
QGraphicsItem *p = newParent;
while (p) {
if (p->flags() & QGraphicsItem::ItemIsFocusScope) {
- p->d_ptr->focusScopeItem = subFocusItem ? subFocusItem : parentFocusScopeItem;
- // ### The below line might not make sense...
- if (subFocusItem)
+ p->d_ptr->focusScopeItem = newFocusScopeItem;
+ // Ensure the new item is no longer the subFocusItem. The
+ // only way to set focus on a child of a focus scope is
+ // by setting focus on the scope itself.
+ if (subFocusItem && !p->focusItem())
subFocusItem->d_ptr->clearSubFocus();
break;
}
@@ -1228,7 +1246,8 @@ void QGraphicsItemCache::purge()
}
/*!
- Constructs a QGraphicsItem with the given \a parent.
+ Constructs a QGraphicsItem with the given \a parent item.
+ It does not modify the parent object returned by QObject::parent().
If \a parent is 0, you can add the item to a scene by calling
QGraphicsScene::addItem(). The item will then become a top-level item.
@@ -1286,6 +1305,8 @@ QGraphicsItem::QGraphicsItem(QGraphicsItemPrivate &dd, QGraphicsItem *parent,
*/
QGraphicsItem::~QGraphicsItem()
{
+ if (d_ptr->isObject)
+ QObjectPrivate::get(static_cast<QGraphicsObject *>(this))->wasDeleted = true;
d_ptr->inDestructor = 1;
d_ptr->removeExtraItemCache();
@@ -1657,7 +1678,7 @@ void QGraphicsItem::setFlags(GraphicsItemFlags flags)
d_ptr->scene->d_func()->index->itemChange(this, ItemFlagsChange, quint32(flags));
// Flags that alter the geometry of the item (or its children).
- const quint32 geomChangeFlagsMask = (ItemClipsChildrenToShape | ItemClipsToShape | ItemIgnoresTransformations);
+ const quint32 geomChangeFlagsMask = (ItemClipsChildrenToShape | ItemClipsToShape | ItemIgnoresTransformations | ItemIsSelectable);
bool fullUpdate = (quint32(flags) & geomChangeFlagsMask) != (d_ptr->flags & geomChangeFlagsMask);
if (fullUpdate)
d_ptr->paintedViewBoundingRectsNeedRepaint = 1;
@@ -2981,8 +3002,11 @@ void QGraphicsItemPrivate::setFocusHelper(Qt::FocusReason focusReason, bool clim
while (p) {
if (p->flags() & QGraphicsItem::ItemIsFocusScope) {
p->d_ptr->focusScopeItem = q_ptr;
- if (!q_ptr->isActive() || !p->focusItem())
+ if (!p->focusItem()) {
+ // If you call setFocus on a child of a focus scope that
+ // doesn't currently have a focus item, then stop.
return;
+ }
break;
}
p = p->d_ptr->parent;
@@ -4263,7 +4287,7 @@ void QGraphicsItem::stackBefore(const QGraphicsItem *sibling)
// Only move items with the same Z value, and that need moving.
int siblingIndex = sibling->d_ptr->siblingIndex;
int myIndex = d_ptr->siblingIndex;
- if (myIndex >= siblingIndex && d_ptr->z == sibling->d_ptr->z) {
+ if (myIndex >= siblingIndex) {
siblings->move(myIndex, siblingIndex);
// Fixup the insertion ordering.
for (int i = 0; i < siblings->size(); ++i) {
@@ -7283,6 +7307,21 @@ static void qt_graphicsItem_highlightSelected(
The class extends a QGraphicsItem with QObject's signal/slot and property mechanisms.
It maps many of QGraphicsItem's basic setters and getters to properties and adds notification
signals for many of them.
+
+ \section1 Parents and Children
+
+ Each graphics object can be constructed with a parent item. This ensures that the
+ item will be destroyed when its parent item is destroyed. Although QGraphicsObject
+ inherits from both QObject and QGraphicsItem, you should use the functions provided
+ by QGraphicsItem, \e not QObject, to manage the relationships between parent and
+ child items.
+
+ The relationships between items can be explored using the parentItem() and childItems()
+ functions. In the hierarchy of items in a scene, the parentObject() and parentWidget()
+ functions are the equivalent of the QWidget::parent() and QWidget::parentWidget()
+ functions for QWidget subclasses.
+
+ \sa QGraphicsWidget
*/
/*!
@@ -7304,22 +7343,38 @@ QGraphicsObject::QGraphicsObject(QGraphicsItemPrivate &dd, QGraphicsItem *parent
}
/*!
- Subscribes the graphics object to the given \a gesture for the specified \a context.
+ Subscribes the graphics object to the given \a gesture with specific \a flags.
- \sa QGestureEvent
+ \sa ungrabGesture(), QGestureEvent
*/
-
-void QGraphicsObject::grabGesture(Qt::GestureType gesture, Qt::GestureContext context)
+void QGraphicsObject::grabGesture(Qt::GestureType gesture, Qt::GestureFlags flags)
{
QGraphicsItemPrivate * const d = QGraphicsItem::d_func();
- d->gestureContext.insert(gesture, context);
+ d->gestureContext.insert(gesture, flags);
(void)QGestureManager::instance(); // create a gesture manager
}
/*!
+ Unsubscribes the graphics object from the given \a gesture.
+
+ \sa grabGesture(), QGestureEvent
+*/
+void QGraphicsObject::ungrabGesture(Qt::GestureType gesture)
+{
+ QGraphicsItemPrivate * const d = QGraphicsItem::d_func();
+ if (d->gestureContext.remove(gesture)) {
+ QGestureManager *manager = QGestureManager::instance();
+ manager->cleanupCachedGestures(this, gesture);
+ }
+}
+
+/*!
\property QGraphicsObject::parent
\brief the parent of the item
+ \note The item's parent is set independently of the parent object returned
+ by QObject::parent().
+
\sa QGraphicsItem::setParentItem(), QGraphicsItem::parentObject()
*/
@@ -9138,10 +9193,14 @@ void QGraphicsPixmapItem::setOffset(const QPointF &offset)
QRectF QGraphicsPixmapItem::boundingRect() const
{
Q_D(const QGraphicsPixmapItem);
- qreal pw = 1.0;
if (d->pixmap.isNull())
return QRectF();
- return QRectF(d->offset, d->pixmap.size()).adjusted(-pw/2, -pw/2, pw/2, pw/2);
+ if (d->flags & ItemIsSelectable) {
+ qreal pw = 1.0;
+ return QRectF(d->offset, d->pixmap.size()).adjusted(-pw/2, -pw/2, pw/2, pw/2);
+ } else {
+ return QRectF(d->offset, d->pixmap.size());
+ }
}
/*!
@@ -9651,12 +9710,14 @@ bool QGraphicsTextItem::sceneEvent(QEvent *event)
// Reset the focus widget's input context, regardless
// of how this item gained or lost focus.
if (QWidget *fw = qApp->focusWidget()) {
+#ifndef QT_NO_IM
if (QInputContext *qic = fw->inputContext()) {
if (event->type() == QEvent::FocusIn || event->type() == QEvent::FocusOut)
qic->reset();
else
qic->update();
}
+#endif //QT_NO_IM
}
break;
default:
@@ -10660,7 +10721,8 @@ void QGraphicsItemEffectSourcePrivate::draw(QPainter *painter)
}
}
-QPixmap QGraphicsItemEffectSourcePrivate::pixmap(Qt::CoordinateSystem system, QPoint *offset) const
+QPixmap QGraphicsItemEffectSourcePrivate::pixmap(Qt::CoordinateSystem system, QPoint *offset,
+ QGraphicsEffectSource::PixmapPadMode mode) const
{
const bool deviceCoordinates = (system == Qt::DeviceCoordinates);
if (!info && deviceCoordinates) {
@@ -10674,7 +10736,17 @@ QPixmap QGraphicsItemEffectSourcePrivate::pixmap(Qt::CoordinateSystem system, QP
QGraphicsScenePrivate *scened = item->d_ptr->scene->d_func();
const QRectF sourceRect = boundingRect(system);
- QRect effectRect = item->graphicsEffect()->boundingRectFor(sourceRect).toAlignedRect();
+ QRect effectRect;
+
+ if (mode == QGraphicsEffectSource::ExpandToEffectRectPadMode) {
+ effectRect = item->graphicsEffect()->boundingRectFor(sourceRect).toAlignedRect();
+ } else if (mode == QGraphicsEffectSource::ExpandToTransparentBorderPadMode) {
+ // adjust by 1.5 to account for cosmetic pens
+ effectRect = sourceRect.adjusted(-1.5, -1.5, 1.5, 1.5).toAlignedRect();
+ } else {
+ effectRect = sourceRect.toAlignedRect();
+ }
+
if (offset)
*offset = effectRect.topLeft();
@@ -10702,10 +10774,15 @@ QPixmap QGraphicsItemEffectSourcePrivate::pixmap(Qt::CoordinateSystem system, QP
effectRect.setBottom(deviceHeight -1);
}
-
if (effectRect.isEmpty())
return QPixmap();
+ if (system == Qt::LogicalCoordinates
+ && effectRect.size() == sourceRect.size()
+ && isPixmap()) {
+ return static_cast<QGraphicsPixmapItem *>(item)->pixmap();
+ }
+
QPixmap pixmap(effectRect.size());
pixmap.fill(Qt::transparent);
QPainter pixmapPainter(&pixmap);
@@ -10749,8 +10826,12 @@ QDebug operator<<(QDebug debug, QGraphicsItem *item)
return debug;
}
- debug << "QGraphicsItem(this =" << ((void*)item)
- << ", parent =" << ((void*)item->parentItem())
+ if (QGraphicsObject *o = item->toGraphicsObject())
+ debug << o->metaObject()->className();
+ else
+ debug << "QGraphicsItem";
+ debug << "(this =" << (void*)item
+ << ", parent =" << (void*)item->parentItem()
<< ", pos =" << item->pos()
<< ", z =" << item->zValue() << ", flags = "
<< item->flags() << ")";
diff --git a/src/gui/graphicsview/qgraphicsitem.h b/src/gui/graphicsview/qgraphicsitem.h
index f3fe99c..f091e34 100644
--- a/src/gui/graphicsview/qgraphicsitem.h
+++ b/src/gui/graphicsview/qgraphicsitem.h
@@ -555,7 +555,8 @@ public:
using QObject::children;
#endif
- void grabGesture(Qt::GestureType type, Qt::GestureContext context = Qt::ItemWithChildrenGesture);
+ void grabGesture(Qt::GestureType type, Qt::GestureFlags flags = Qt::GestureFlags());
+ void ungrabGesture(Qt::GestureType type);
Q_SIGNALS:
void parentChanged();
diff --git a/src/gui/graphicsview/qgraphicsitem_p.h b/src/gui/graphicsview/qgraphicsitem_p.h
index 046f5dc..51d2ffd 100644
--- a/src/gui/graphicsview/qgraphicsitem_p.h
+++ b/src/gui/graphicsview/qgraphicsitem_p.h
@@ -61,6 +61,7 @@
#include <private/qgraphicstransform_p.h>
#include <private/qgraphicseffect_p.h>
+#include <qgraphicseffect.h>
#include <QtCore/qpoint.h>
@@ -452,7 +453,7 @@ public:
QGraphicsItem *focusScopeItem;
Qt::InputMethodHints imHints;
QGraphicsItem::PanelModality panelModality;
- QMap<Qt::GestureType, Qt::GestureContext> gestureContext;
+ QMap<Qt::GestureType, Qt::GestureFlags> gestureContext;
// Packed 32 bits
quint32 acceptedMouseButtons : 5;
@@ -542,7 +543,7 @@ struct QGraphicsItemPrivate::TransformData
QMatrix4x4 m;
for (int i = 0; i < graphicsTransforms.size(); ++i)
graphicsTransforms.at(i)->applyTo(&m);
- x *= m.toTransform(0);
+ x *= m.toTransform();
}
x.translate(xOrigin, yOrigin);
x.rotate(rotation);
@@ -603,8 +604,10 @@ public:
inline bool isPixmap() const
{
- return (item->type() == QGraphicsPixmapItem::Type);
- //|| (item->d_ptr->isObject && qobject_cast<QFxImage *>(q_func()));
+ return item->type() == QGraphicsPixmapItem::Type
+ && !(item->flags() & QGraphicsItem::ItemIsSelectable)
+ && item->d_ptr->children.size() == 0;
+ //|| (item->d_ptr->isObject && qobject_cast<QmlGraphicsImage *>(q_func()));
}
inline const QStyleOption *styleOption() const
@@ -621,7 +624,9 @@ public:
QRectF boundingRect(Qt::CoordinateSystem system) const;
void draw(QPainter *);
- QPixmap pixmap(Qt::CoordinateSystem system, QPoint *offset) const;
+ QPixmap pixmap(Qt::CoordinateSystem system,
+ QPoint *offset,
+ QGraphicsEffectSource::PixmapPadMode mode) const;
QGraphicsItem *item;
QGraphicsItemPaintInfo *info;
diff --git a/src/gui/graphicsview/qgraphicslayout_p.h b/src/gui/graphicsview/qgraphicslayout_p.h
index 59c6dba..4aeae39 100644
--- a/src/gui/graphicsview/qgraphicslayout_p.h
+++ b/src/gui/graphicsview/qgraphicslayout_p.h
@@ -60,6 +60,8 @@
#include "qgraphicslayout.h"
#include "qgraphicslayoutitem_p.h"
#include <QtGui/qstyle.h>
+#include <QtGui/qwidget.h>
+#include <QtGui/qstyleoption.h>
QT_BEGIN_NAMESPACE
@@ -76,6 +78,55 @@ inline bool qt_graphicsLayoutDebug()
}
#endif
+
+class QLayoutStyleInfo
+{
+public:
+ inline QLayoutStyleInfo() { invalidate(); }
+ inline QLayoutStyleInfo(QStyle *style, QWidget *widget)
+ : m_valid(true), m_style(style), m_widget(widget)
+ {
+ Q_ASSERT(style);
+ if (widget) //###
+ m_styleOption.initFrom(widget);
+ m_defaultSpacing[0] = style->pixelMetric(QStyle::PM_LayoutHorizontalSpacing);
+ m_defaultSpacing[1] = style->pixelMetric(QStyle::PM_LayoutVerticalSpacing);
+ }
+
+ inline void invalidate() { m_valid = false; m_style = 0; m_widget = 0; }
+
+ inline QStyle *style() const { return m_style; }
+ inline QWidget *widget() const { return m_widget; }
+
+ inline bool operator==(const QLayoutStyleInfo &other)
+ { return m_style == other.m_style && m_widget == other.m_widget; }
+ inline bool operator!=(const QLayoutStyleInfo &other)
+ { return !(*this == other); }
+
+ inline void setDefaultSpacing(Qt::Orientation o, qreal spacing){
+ if (spacing >= 0)
+ m_defaultSpacing[o - 1] = spacing;
+ }
+
+ inline qreal defaultSpacing(Qt::Orientation o) const {
+ return m_defaultSpacing[o - 1];
+ }
+
+ inline qreal perItemSpacing(QSizePolicy::ControlType control1,
+ QSizePolicy::ControlType control2,
+ Qt::Orientation orientation) const
+ {
+ Q_ASSERT(style());
+ return style()->layoutSpacing(control1, control2, orientation, &m_styleOption, widget());
+ }
+private:
+ bool m_valid;
+ QStyle *m_style;
+ QWidget *m_widget;
+ QStyleOption m_styleOption;
+ qreal m_defaultSpacing[2];
+};
+
class Q_AUTOTEST_EXPORT QGraphicsLayoutPrivate : public QGraphicsLayoutItemPrivate
{
Q_DECLARE_PUBLIC(QGraphicsLayout)
diff --git a/src/gui/graphicsview/qgraphicslinearlayout.cpp b/src/gui/graphicsview/qgraphicslinearlayout.cpp
index 7ff7c9b..cb68741 100644
--- a/src/gui/graphicsview/qgraphicslinearlayout.cpp
+++ b/src/gui/graphicsview/qgraphicslinearlayout.cpp
@@ -59,7 +59,7 @@
You can add widgets, layouts, stretches (addStretch(), insertStretch() or
setStretchFactor()), and spacings (setItemSpacing()) to a linear
- layout. The layout takes ownership of the items. In some cases when the layout
+ layout. The layout takes ownership of the items. In some cases when the layout
item also inherits from QGraphicsItem (such as QGraphicsWidget) there will be a
ambiguity in ownership because the layout item belongs to two ownership hierarchies.
See the documentation of QGraphicsLayoutItem::setOwnedByLayout() how to handle
@@ -208,7 +208,7 @@ QGraphicsLinearLayout::~QGraphicsLinearLayout()
for (int i = count() - 1; i >= 0; --i) {
QGraphicsLayoutItem *item = itemAt(i);
// The following lines can be removed, but this removes the item
- // from the layout more efficiently than the implementation of
+ // from the layout more efficiently than the implementation of
// ~QGraphicsLayoutItem.
removeAt(i);
if (item) {
@@ -542,18 +542,21 @@ void QGraphicsLinearLayout::invalidate()
QGraphicsLayout::invalidate();
}
-#ifdef QT_DEBUG
+/*!
+ \internal
+*/
void QGraphicsLinearLayout::dump(int indent) const
{
+#ifdef QT_DEBUG
if (qt_graphicsLayoutDebug()) {
Q_D(const QGraphicsLinearLayout);
qDebug("%*s%s layout", indent, "",
d->orientation == Qt::Horizontal ? "Horizontal" : "Vertical");
d->engine.dump(indent + 1);
}
-}
#endif
+}
QT_END_NAMESPACE
-
+
#endif //QT_NO_GRAPHICSVIEW
diff --git a/src/gui/graphicsview/qgraphicslinearlayout.h b/src/gui/graphicsview/qgraphicslinearlayout.h
index 742392e..15fe81a 100644
--- a/src/gui/graphicsview/qgraphicslinearlayout.h
+++ b/src/gui/graphicsview/qgraphicslinearlayout.h
@@ -97,9 +97,7 @@ public:
Q5SizePolicy::ControlTypes controlTypes(LayoutSide side) const;
#endif
-#ifdef QT_DEBUG
void dump(int indent = 0) const;
-#endif
protected:
#if 0
diff --git a/src/gui/graphicsview/qgraphicsproxywidget.cpp b/src/gui/graphicsview/qgraphicsproxywidget.cpp
index 64c51ad..e9173a9 100644
--- a/src/gui/graphicsview/qgraphicsproxywidget.cpp
+++ b/src/gui/graphicsview/qgraphicsproxywidget.cpp
@@ -397,7 +397,7 @@ QWidget *QGraphicsProxyWidgetPrivate::findFocusChild(QWidget *child, bool next)
do {
if (child->isEnabled()
&& child->isVisibleTo(widget)
- && (child->focusPolicy() & focus_flag == focus_flag)
+ && ((child->focusPolicy() & focus_flag) == focus_flag)
&& !(child->d_func()->extra && child->d_func()->extra->focus_proxy)) {
return child;
}
diff --git a/src/gui/graphicsview/qgraphicsscene.cpp b/src/gui/graphicsview/qgraphicsscene.cpp
index c459d21..dc036f8 100644
--- a/src/gui/graphicsview/qgraphicsscene.cpp
+++ b/src/gui/graphicsview/qgraphicsscene.cpp
@@ -525,6 +525,14 @@ void QGraphicsScenePrivate::removeItemHelper(QGraphicsItem *item)
item->d_func()->scene = 0;
+ //We need to remove all children first because they might use their parent
+ //attributes (e.g. sceneTransform).
+ if (!item->d_ptr->inDestructor) {
+ // Remove all children recursively
+ for (int i = 0; i < item->d_ptr->children.size(); ++i)
+ q->removeItem(item->d_ptr->children.at(i));
+ }
+
// Unregister focus proxy.
item->d_ptr->resetFocusProxy();
@@ -571,12 +579,6 @@ void QGraphicsScenePrivate::removeItemHelper(QGraphicsItem *item)
++iterator;
}
- if (!item->d_ptr->inDestructor) {
- // Remove all children recursively
- for (int i = 0; i < item->d_ptr->children.size(); ++i)
- q->removeItem(item->d_ptr->children.at(i));
- }
-
if (item->isPanel() && item->isVisible() && item->panelModality() != QGraphicsItem::NonModal)
leaveModal(item);
@@ -691,6 +693,7 @@ void QGraphicsScenePrivate::setFocusItemHelper(QGraphicsItem *item,
focusItem = 0;
sendEvent(lastFocusItem, &event);
+#ifndef QT_NO_IM
if (lastFocusItem
&& (lastFocusItem->flags() & QGraphicsItem::ItemAcceptsInputMethod)) {
// Reset any visible preedit text
@@ -706,6 +709,7 @@ void QGraphicsScenePrivate::setFocusItemHelper(QGraphicsItem *item,
views.at(i)->inputContext()->reset();
}
}
+#endif //QT_NO_IM
}
if (item) {
@@ -1060,9 +1064,8 @@ bool QGraphicsScenePrivate::filterEvent(QGraphicsItem *item, QEvent *event)
bool QGraphicsScenePrivate::sendEvent(QGraphicsItem *item, QEvent *event)
{
if (QGraphicsObject *object = item->toGraphicsObject()) {
- QApplicationPrivate *qAppPriv = QApplicationPrivate::instance();
- if (qAppPriv->gestureManager) {
- if (qAppPriv->gestureManager->filterEvent(object, event))
+ if (qt_gestureManager) {
+ if (qt_gestureManager->filterEvent(object, event))
return true;
}
}
@@ -4910,7 +4913,7 @@ void QGraphicsScenePrivate::processDirtyItemsRecursive(QGraphicsItem *item, bool
continue;
}
- if (item->d_ptr->paintedViewBoundingRectsNeedRepaint && !paintedViewBoundingRect.isEmpty()) {
+ if (item->d_ptr->paintedViewBoundingRectsNeedRepaint) {
paintedViewBoundingRect.translate(viewPrivate->dirtyScrollOffset);
if (!viewPrivate->updateRect(paintedViewBoundingRect))
paintedViewBoundingRect = QRect(-1, -1, -1, -1); // Outside viewport.
@@ -5761,7 +5764,7 @@ void QGraphicsScenePrivate::gestureEventHandler(QGestureEvent *event)
QWidget *viewport = event->widget();
if (!viewport)
return;
- QList<QGesture *> allGestures = event->allGestures();
+ QList<QGesture *> allGestures = event->gestures();
DEBUG() << "QGraphicsScenePrivate::gestureEventHandler:"
<< "Delivering gestures:" << allGestures;
@@ -5900,7 +5903,12 @@ void QGraphicsScenePrivate::gestureEventHandler(QGestureEvent *event)
QGraphicsItemPrivate *gid = item->QGraphicsItem::d_func();
foreach(QGesture *g, alreadyIgnoredGestures) {
- if (gid->gestureContext.contains(g->gestureType()))
+ QMap<Qt::GestureType, Qt::GestureFlags>::iterator contextit =
+ gid->gestureContext.find(g->gestureType());
+ bool deliver = contextit != gid->gestureContext.end() &&
+ (g->state() == Qt::GestureStarted ||
+ (contextit.value() & Qt::ReceivePartialGestures));
+ if (deliver)
gestures += g;
}
if (gestures.isEmpty())
@@ -5913,8 +5921,12 @@ void QGraphicsScenePrivate::gestureEventHandler(QGestureEvent *event)
sendEvent(item, &ev);
QSet<QGesture *> ignoredGestures;
foreach (QGesture *g, gestures) {
- if (!ev.isAccepted() && !ev.isAccepted(g))
+ if (!ev.isAccepted() && !ev.isAccepted(g)) {
ignoredGestures.insert(g);
+ } else {
+ if (g->state() == Qt::GestureStarted)
+ gestureTargets[g] = item;
+ }
}
if (!ignoredGestures.isEmpty()) {
// get a list of items under the (current) hotspot of each ignored
@@ -5941,6 +5953,13 @@ void QGraphicsScenePrivate::gestureEventHandler(QGestureEvent *event)
continue;
}
}
+ foreach (QGesture *g, startedGestures) {
+ if (g->gestureCancelPolicy() == QGesture::CancelAllInContext) {
+ DEBUG() << "lets try to cancel some";
+ // find gestures in context in Qt::GestureStarted or Qt::GestureUpdated state and cancel them
+ cancelGesturesForChildren(g, event->widget());
+ }
+ }
// forget about targets for gestures that have ended
foreach (QGesture *g, allGestures) {
@@ -5955,6 +5974,88 @@ void QGraphicsScenePrivate::gestureEventHandler(QGestureEvent *event)
}
}
+void QGraphicsScenePrivate::cancelGesturesForChildren(QGesture *original, QWidget *viewport)
+{
+ Q_ASSERT(original);
+ QGraphicsItem *originalItem = gestureTargets.value(original);
+ Q_ASSERT(originalItem);
+
+ // iterate over all active gestures and for each find the owner
+ // if the owner is part of our sub-hierarchy, cancel it.
+
+ QSet<QGesture *> canceledGestures;
+ QHash<QGesture *, QGraphicsObject *>::Iterator iter = gestureTargets.begin();
+ while (iter != gestureTargets.end()) {
+ QGraphicsObject *item = iter.value();
+ // note that we don't touch the gestures for our originalItem
+ if (item != originalItem && originalItem->isAncestorOf(item)) {
+ DEBUG() << " found a gesture to cancel" << iter.key();
+ iter.key()->d_func()->state = Qt::GestureCanceled;
+ canceledGestures << iter.key();
+ }
+ ++iter;
+ }
+
+ // sort them per target item by cherry picking from almostCanceledGestures and delivering
+ QSet<QGesture *> almostCanceledGestures = canceledGestures;
+ QSet<QGesture *>::Iterator setIter;
+ while (!almostCanceledGestures.isEmpty()) {
+ QGraphicsObject *target = 0;
+ QSet<QGesture*> gestures;
+ setIter = almostCanceledGestures.begin();
+ // sort per target item
+ while (setIter != almostCanceledGestures.end()) {
+ QGraphicsObject *item = gestureTargets.value(*setIter);
+ if (target == 0)
+ target = item;
+ if (target == item) {
+ gestures << *setIter;
+ setIter = almostCanceledGestures.erase(setIter);
+ } else {
+ ++setIter;
+ }
+ }
+ Q_ASSERT(target);
+
+ QList<QGesture *> list = gestures.toList();
+ QGestureEvent ev(list);
+ sendEvent(target, &ev);
+
+ foreach (QGesture *g, list) {
+ if (ev.isAccepted() || ev.isAccepted(g))
+ gestures.remove(g);
+ }
+
+ foreach (QGesture *g, gestures) {
+ if (!g->hasHotSpot())
+ continue;
+
+ QPoint screenPos = g->hotSpot().toPoint();
+ QList<QGraphicsItem *> items = itemsAtPosition(screenPos, QPointF(), viewport);
+ for (int j = 0; j < items.size(); ++j) {
+ QGraphicsObject *item = items.at(j)->toGraphicsObject();
+ if (!item)
+ continue;
+ QGraphicsItemPrivate *d = item->QGraphicsItem::d_func();
+ if (d->gestureContext.contains(g->gestureType())) {
+ QList<QGesture *> list;
+ list << g;
+ QGestureEvent ev(list);
+ sendEvent(item, &ev);
+ if (ev.isAccepted() || ev.isAccepted(g))
+ break; // successfully delivered
+ }
+ }
+ }
+ }
+
+ Q_ASSERT(qt_gestureManager); // it would be very odd if we got called without a manager.
+ for (setIter = canceledGestures.begin(); setIter != canceledGestures.end(); ++setIter) {
+ qt_gestureManager->recycle(*setIter);
+ gestureTargets.remove(*setIter);
+ }
+}
+
QT_END_NAMESPACE
#include "moc_qgraphicsscene.cpp"
diff --git a/src/gui/graphicsview/qgraphicsscene_p.h b/src/gui/graphicsview/qgraphicsscene_p.h
index cd20fd0..f8db084 100644
--- a/src/gui/graphicsview/qgraphicsscene_p.h
+++ b/src/gui/graphicsview/qgraphicsscene_p.h
@@ -288,6 +288,7 @@ public:
QMap<Qt::GestureType, QGesture *> *conflictedGestures,
QList<QList<QGraphicsObject *> > *conflictedItems,
QHash<QGesture *, QGraphicsObject *> *normalGestures);
+ void cancelGesturesForChildren(QGesture *original, QWidget *viewport);
void updateInputMethodSensitivityInViews();
diff --git a/src/gui/graphicsview/qgraphicstransform.cpp b/src/gui/graphicsview/qgraphicstransform.cpp
index 49d8999..83bc9e1 100644
--- a/src/gui/graphicsview/qgraphicstransform.cpp
+++ b/src/gui/graphicsview/qgraphicstransform.cpp
@@ -69,6 +69,9 @@
objects are applied to a QGraphicsItem, all of the transformations
are computed in true 3D space, with the projection back to 2D
only occurring after the last QGraphicsTransform is applied.
+ The exception to this is QGraphicsRotation, which projects back to
+ 2D after each rotation to preserve the perspective effect around
+ the X and Y axes.
If you want to create your own configurable transformation, you can create
a subclass of QGraphicsTransform (or any or the existing subclasses), and
@@ -90,8 +93,8 @@
#include <QDebug>
#include <QtCore/qmath.h>
+#ifndef QT_NO_GRAPHICSVIEW
QT_BEGIN_NAMESPACE
-
void QGraphicsTransformPrivate::setItem(QGraphicsItem *i)
{
if (item == i)
@@ -547,9 +550,7 @@ void QGraphicsRotation::applyTo(QMatrix4x4 *matrix) const
return;
matrix->translate(d->origin);
- QMatrix4x4 m;
- m.rotate(d->angle, d->axis.x(), d->axis.y(), d->axis.z());
- *matrix *= m.toTransform();
+ matrix->projectedRotate(d->angle, d->axis.x(), d->axis.y(), d->axis.z());
matrix->translate(-d->origin);
}
@@ -564,3 +565,4 @@ void QGraphicsRotation::applyTo(QMatrix4x4 *matrix) const
#include "moc_qgraphicstransform.cpp"
QT_END_NAMESPACE
+#endif //QT_NO_GRAPHICSVIEW
diff --git a/src/gui/graphicsview/qgraphicstransform.h b/src/gui/graphicsview/qgraphicstransform.h
index 58075aa..58e3077 100644
--- a/src/gui/graphicsview/qgraphicstransform.h
+++ b/src/gui/graphicsview/qgraphicstransform.h
@@ -47,6 +47,7 @@
#include <QtGui/QTransform>
#include <QtGui/QMatrix4x4>
+#ifndef QT_NO_GRAPHICSVIEW
QT_BEGIN_HEADER
QT_BEGIN_NAMESPACE
@@ -150,5 +151,6 @@ private:
QT_END_NAMESPACE
QT_END_HEADER
+#endif //QT_NO_GRAPHICSVIEW
#endif // QFXTRANSFORM_H
diff --git a/src/gui/graphicsview/qgraphicstransform_p.h b/src/gui/graphicsview/qgraphicstransform_p.h
index 9e708b2..ddf99bb 100644
--- a/src/gui/graphicsview/qgraphicstransform_p.h
+++ b/src/gui/graphicsview/qgraphicstransform_p.h
@@ -54,7 +54,7 @@
//
#include "private/qobject_p.h"
-
+#ifndef QT_NO_GRAPHICSVIEW
QT_BEGIN_NAMESPACE
class QGraphicsItem;
@@ -73,5 +73,6 @@ public:
};
QT_END_NAMESPACE
+#endif //QT_NO_GRAPHCISVIEW
#endif // QGRAPHICSTRANSFORM_P_H
diff --git a/src/gui/graphicsview/qgraphicsview.cpp b/src/gui/graphicsview/qgraphicsview.cpp
index 710c745..c88f678 100644
--- a/src/gui/graphicsview/qgraphicsview.cpp
+++ b/src/gui/graphicsview/qgraphicsview.cpp
@@ -281,6 +281,7 @@ static const int QGRAPHICSVIEW_PREALLOC_STYLE_OPTIONS = 503; // largest prime <
#include <QtGui/qstyleoption.h>
#include <QtGui/qinputcontext.h>
#ifdef Q_WS_X11
+#include <QtGui/qpaintengine.h>
#include <private/qt_x11_p.h>
#endif
@@ -3294,7 +3295,12 @@ void QGraphicsView::paintEvent(QPaintEvent *event)
backgroundPainter.setClipRegion(d->backgroundPixmapExposed, Qt::ReplaceClip);
if (viewTransformed)
backgroundPainter.setTransform(viewTransform);
- backgroundPainter.setCompositionMode(QPainter::CompositionMode_Source);
+#ifdef Q_WS_X11
+#undef X11
+ if (backgroundPainter.paintEngine()->type() != QPaintEngine::X11)
+#define X11 qt_x11Data
+#endif
+ backgroundPainter.setCompositionMode(QPainter::CompositionMode_Source);
drawBackground(&backgroundPainter, exposedSceneRect);
d->backgroundPixmapExposed = QRegion();
}
@@ -3319,6 +3325,14 @@ void QGraphicsView::paintEvent(QPaintEvent *event)
if (!(d->optimizationFlags & IndirectPainting)) {
d->scene->d_func()->drawItems(&painter, viewTransformed ? &viewTransform : 0,
&d->exposedRegion, viewport());
+ // Make sure the painter's world transform is restored correctly when
+ // drawing without painter state protection (DontSavePainterState).
+ // We only change the worldTransform() so there's no need to do a full-blown
+ // save() and restore(). Also note that we don't have to do this in case of
+ // IndirectPainting (the else branch), because in that case we always save()
+ // and restore() in QGraphicsScene::drawItems().
+ if (!d->scene->d_func()->painterStateProtection)
+ painter.setWorldTransform(viewTransform);
} else {
// Find all exposed items
bool allItems = false;
diff --git a/src/gui/graphicsview/qgraphicswidget.cpp b/src/gui/graphicsview/qgraphicswidget.cpp
index 35a3c13..d70a281 100644
--- a/src/gui/graphicsview/qgraphicswidget.cpp
+++ b/src/gui/graphicsview/qgraphicswidget.cpp
@@ -1352,6 +1352,8 @@ void QGraphicsWidget::changeEvent(QEvent *event)
case QEvent::StyleChange:
// ### Don't unset if the margins are explicitly set.
unsetWindowFrameMargins();
+ if (d->layout)
+ d->layout->invalidate();
case QEvent::FontChange:
update();
updateGeometry();
diff --git a/src/gui/graphicsview/qgridlayoutengine_p.h b/src/gui/graphicsview/qgridlayoutengine_p.h
index a42a537..ed335a8 100644
--- a/src/gui/graphicsview/qgridlayoutengine_p.h
+++ b/src/gui/graphicsview/qgridlayoutengine_p.h
@@ -59,7 +59,7 @@
#include "qmap.h"
#include "qpair.h"
#include "qvector.h"
-
+#include "qgraphicslayout_p.h"
#include <float.h>
QT_BEGIN_NAMESPACE
@@ -128,29 +128,6 @@ public:
};
-class QLayoutStyleInfo
-{
-public:
- inline QLayoutStyleInfo() { invalidate(); }
- inline QLayoutStyleInfo(QStyle *style, QWidget *widget)
- : q_valid(true), q_style(style), q_widget(widget) {}
-
- inline void invalidate() { q_valid = false; q_style = 0; q_widget = 0; }
-
- inline QStyle *style() const { return q_style; }
- inline QWidget *widget() const { return q_widget; }
-
- inline bool operator==(const QLayoutStyleInfo &other)
- { return q_style == other.q_style && q_widget == other.q_widget; }
- inline bool operator!=(const QLayoutStyleInfo &other)
- { return !(*this == other); }
-
-private:
- bool q_valid;
- QStyle *q_style;
- QWidget *q_widget;
-};
-
class QGridLayoutBox
{
public:
diff --git a/src/gui/graphicsview/qsimplex_p.cpp b/src/gui/graphicsview/qsimplex_p.cpp
index b8f8fb4..86b10b4 100644
--- a/src/gui/graphicsview/qsimplex_p.cpp
+++ b/src/gui/graphicsview/qsimplex_p.cpp
@@ -108,10 +108,8 @@ void QSimplex::clearDataStructures()
// Constraints
for (int i = 0; i < constraints.size(); ++i) {
delete constraints[i]->helper.first;
- constraints[i]->helper.first = 0;
- constraints[i]->helper.second = 0.0;
delete constraints[i]->artificial;
- constraints[i]->artificial = 0;
+ delete constraints[i];
}
constraints.clear();
@@ -137,7 +135,23 @@ bool QSimplex::setConstraints(const QList<QSimplexConstraint *> newConstraints)
if (newConstraints.isEmpty())
return true; // we are ok with no constraints
- constraints = newConstraints;
+
+ // Make deep copy of constraints. We need this copy because we may change
+ // them in the simplification method.
+ for (int i = 0; i < newConstraints.size(); ++i) {
+ QSimplexConstraint *c = new QSimplexConstraint;
+ c->constant = newConstraints[i]->constant;
+ c->ratio = newConstraints[i]->ratio;
+ c->variables = newConstraints[i]->variables;
+ constraints << c;
+ }
+
+ // Remove constraints of type Var == K and replace them for their value.
+ if (!simplifyConstraints(&constraints)) {
+ qWarning() << "QSimplex: No feasible solution!";
+ clearDataStructures();
+ return false;
+ }
///////////////////////////////////////
// Prepare variables and constraints //
@@ -508,11 +522,21 @@ qreal QSimplex::solver(solverFactor factor)
// Remove old objective
clearRow(0);
- // Set new objective
+ // Set new objective in the first row of the simplex matrix
+ qreal resultOffset = 0;
QHash<QSimplexVariable *, qreal>::const_iterator iter;
for (iter = objective->variables.constBegin();
iter != objective->variables.constEnd();
++iter) {
+
+ // Check if the variable was removed in the simplification process.
+ // If so, we save its offset to the objective function and skip adding
+ // it to the matrix.
+ if (iter.key()->index == -1) {
+ resultOffset += iter.value() * iter.key()->result;
+ continue;
+ }
+
setValueAt(0, iter.key()->index, -1 * factor * iter.value());
}
@@ -525,7 +549,9 @@ qreal QSimplex::solver(solverFactor factor)
}
#endif
- return factor * valueAt(0, columns - 1);
+ // Return the value calculated by the simplex plus the value of the
+ // fixed variables.
+ return (factor * valueAt(0, columns - 1)) + resultOffset;
}
/*!
@@ -571,4 +597,77 @@ void QSimplex::collectResults()
}
}
+/*!
+ \internal
+
+ Looks for single-valued variables and remove them from the constraints list.
+*/
+bool QSimplex::simplifyConstraints(QList<QSimplexConstraint *> *constraints)
+{
+ QHash<QSimplexVariable *, qreal> results; // List of single-valued variables
+ bool modified = true; // Any chance more optimization exists?
+
+ while (modified) {
+ modified = false;
+
+ // For all constraints
+ QList<QSimplexConstraint *>::iterator iter = constraints->begin();
+ while (iter != constraints->end()) {
+ QSimplexConstraint *c = *iter;
+ if ((c->ratio == QSimplexConstraint::Equal) && (c->variables.count() == 1)) {
+ // Check whether this is a constraint of type Var == K
+ // If so, save its value to "results".
+ QSimplexVariable *variable = c->variables.constBegin().key();
+ qreal result = c->constant / c->variables.value(variable);
+
+ results.insert(variable, result);
+ variable->result = result;
+ variable->index = -1;
+ modified = true;
+
+ }
+
+ // Replace known values among their variables
+ QHash<QSimplexVariable *, qreal>::const_iterator r;
+ for (r = results.constBegin(); r != results.constEnd(); ++r) {
+ if (c->variables.contains(r.key())) {
+ c->constant -= r.value() * c->variables.take(r.key());
+ modified = true;
+ }
+ }
+
+ // Keep it normalized
+ if (c->constant < 0)
+ c->invert();
+
+ if (c->variables.isEmpty()) {
+ // If constraint became empty due to substitution, delete it.
+ if (c->isSatisfied() == false)
+ // We must ensure that the constraint soon to be deleted would not
+ // make the problem unfeasible if left behind. If that's the case,
+ // we return false so the simplex solver can properly report that.
+ return false;
+
+ delete c;
+ iter = constraints->erase(iter);
+ } else {
+ ++iter;
+ }
+ }
+ }
+
+ return true;
+}
+
+void QSimplexConstraint::invert()
+{
+ constant = -constant;
+ ratio = Ratio(2 - ratio);
+
+ QHash<QSimplexVariable *, qreal>::iterator iter;
+ for (iter = variables.begin(); iter != variables.end(); ++iter) {
+ iter.value() = -iter.value();
+ }
+}
+
QT_END_NAMESPACE
diff --git a/src/gui/graphicsview/qsimplex_p.h b/src/gui/graphicsview/qsimplex_p.h
index 51991a9..084ad7f 100644
--- a/src/gui/graphicsview/qsimplex_p.h
+++ b/src/gui/graphicsview/qsimplex_p.h
@@ -63,7 +63,7 @@ struct QSimplexVariable
QSimplexVariable() : result(0), index(0) {}
qreal result;
- uint index;
+ int index;
};
@@ -95,7 +95,8 @@ struct QSimplexConstraint
QPair<QSimplexVariable *, qreal> helper;
QSimplexVariable * artificial;
-#ifdef QT_DEBUG
+ void invert();
+
bool isSatisfied() {
qreal leftHandSide(0);
@@ -106,7 +107,7 @@ struct QSimplexConstraint
Q_ASSERT(constant > 0 || qFuzzyCompare(1, 1 + constant));
- if (qFuzzyCompare(1000 + leftHandSide, 1000 + constant))
+ if ((leftHandSide == constant) || qFuzzyCompare(1000 + leftHandSide, 1000 + constant))
return true;
switch (ratio) {
@@ -118,6 +119,30 @@ struct QSimplexConstraint
return false;
}
}
+
+#ifdef QT_DEBUG
+ QString toString() {
+ QString result;
+ result += QString::fromAscii("-- QSimplexConstraint %1 --").arg(quintptr(this), 0, 16);
+
+ QHash<QSimplexVariable *, qreal>::const_iterator iter;
+ for (iter = variables.constBegin(); iter != variables.constEnd(); ++iter) {
+ result += QString::fromAscii(" %1 x %2").arg(iter.value()).arg(quintptr(iter.key()), 0, 16);
+ }
+
+ switch (ratio) {
+ case LessOrEqual:
+ result += QString::fromAscii(" (less) <= %1").arg(constant);
+ break;
+ case MoreOrEqual:
+ result += QString::fromAscii(" (more) >= %1").arg(constant);
+ break;
+ default:
+ result += QString::fromAscii(" (eqal) == %1").arg(constant);
+ }
+
+ return result;
+ }
#endif
};
@@ -129,7 +154,6 @@ public:
qreal solveMin();
qreal solveMax();
- QList<QSimplexVariable *> constraintsVariables();
bool setConstraints(const QList<QSimplexConstraint *> constraints);
void setObjective(QSimplexConstraint *objective);
@@ -145,6 +169,7 @@ private:
void combineRows(int toIndex, int fromIndex, qreal factor);
// Simplex
+ bool simplifyConstraints(QList<QSimplexConstraint *> *constraints);
int findPivotColumn();
int pivotRowForColumn(int column);
void reducedRowEchelon();
@@ -168,11 +193,6 @@ private:
qreal *matrix;
};
-inline QList<QSimplexVariable *> QSimplex::constraintsVariables()
-{
- return variables;
-}
-
inline qreal QSimplex::valueAt(int rowIndex, int columnIndex)
{
return matrix[rowIndex * columns + columnIndex];
diff --git a/src/gui/image/qbitmap.cpp b/src/gui/image/qbitmap.cpp
index e081735..4b8d4b8 100644
--- a/src/gui/image/qbitmap.cpp
+++ b/src/gui/image/qbitmap.cpp
@@ -86,7 +86,7 @@ QT_BEGIN_NAMESPACE
object.
Just like the QPixmap class, QBitmap is optimized by the use of
- implicit data sharing. For more information, see the {Implicit
+ implicit data sharing. For more information, see the \l {Implicit
Data Sharing} documentation.
\sa QPixmap, QImage, QImageReader, QImageWriter
diff --git a/src/gui/image/qicon.cpp b/src/gui/image/qicon.cpp
index e0779a0..cff9cd2 100644
--- a/src/gui/image/qicon.cpp
+++ b/src/gui/image/qicon.cpp
@@ -66,6 +66,7 @@
#include "private/qkde_p.h"
#endif
+#ifndef QT_NO_ICON
QT_BEGIN_NAMESPACE
/*!
@@ -1217,3 +1218,4 @@ QSize QIcon::pixmapSize(Size which)
*/
QT_END_NAMESPACE
+#endif //QT_NO_ICON
diff --git a/src/gui/image/qicon_p.h b/src/gui/image/qicon_p.h
index fc96a65..43a59a6 100644
--- a/src/gui/image/qicon_p.h
+++ b/src/gui/image/qicon_p.h
@@ -60,6 +60,7 @@
#include <QtGui/qicon.h>
#include <QtGui/qiconengine.h>
+#ifndef QT_NO_ICON
QT_BEGIN_NAMESPACE
class QIconPrivate
@@ -134,5 +135,5 @@ private:
};
QT_END_NAMESPACE
-
+#endif //QT_NO_ICON
#endif // QICON_P_H
diff --git a/src/gui/image/qiconloader.cpp b/src/gui/image/qiconloader.cpp
index 46c5431..15af7a2 100644
--- a/src/gui/image/qiconloader.cpp
+++ b/src/gui/image/qiconloader.cpp
@@ -38,7 +38,7 @@
** $QT_END_LICENSE$
**
****************************************************************************/
-
+#ifndef QT_NO_ICON
#include <private/qiconloader_p.h>
#include <private/qapplication_p.h>
@@ -61,7 +61,6 @@
#ifdef Q_WS_X11
#include <private/qt_x11_p.h>
-#include <private/gtksymbols_p.h>
#endif
QT_BEGIN_NAMESPACE
@@ -92,11 +91,13 @@ QIconLoader::QIconLoader() :
if (m_systemTheme.isEmpty())
m_systemTheme = fallbackTheme();
+#ifndef QT_NO_LIBRARY
QFactoryLoader iconFactoryLoader(QIconEngineFactoryInterfaceV2_iid,
QLatin1String("/iconengines"),
Qt::CaseInsensitive);
if (iconFactoryLoader.keys().contains(QLatin1String("svg")))
m_supportsSvg = true;
+#endif //QT_NO_LIBRARY
}
QIconLoader *QIconLoader::instance()
@@ -160,7 +161,7 @@ QIconTheme::QIconTheme(const QString &themeName)
break;
}
}
-
+#ifndef QT_NO_SETTINGS
if (themeIndex.exists()) {
const QSettings indexReader(themeIndex.fileName(), QSettings::IniFormat);
QStringListIterator keyIterator(indexReader.allKeys());
@@ -213,6 +214,7 @@ QIconTheme::QIconTheme(const QString &themeName)
if (!m_parents.contains(QLatin1String("hicolor")))
m_parents.append(QLatin1String("hicolor"));
}
+#endif //QT_NO_SETTINGS
}
QThemeIconEntries QIconLoader::findIconHelper(const QString &themeName,
@@ -546,3 +548,5 @@ void QIconLoaderEngine::virtual_hook(int id, void *data)
}
QT_END_NAMESPACE
+
+#endif //QT_NO_ICON
diff --git a/src/gui/image/qiconloader_p.h b/src/gui/image/qiconloader_p.h
index b152d46..2a330d3 100644
--- a/src/gui/image/qiconloader_p.h
+++ b/src/gui/image/qiconloader_p.h
@@ -42,6 +42,7 @@
#ifndef QDESKTOPICON_P_H
#define QDESKTOPICON_P_H
+#ifndef QT_NO_ICON
//
// W A R N I N G
// -------------
@@ -185,3 +186,5 @@ private:
QT_END_NAMESPACE
#endif // QDESKTOPICON_P_H
+
+#endif //QT_NO_ICON
diff --git a/src/gui/image/qimage.cpp b/src/gui/image/qimage.cpp
index 571ef9d..21ca1e3 100644
--- a/src/gui/image/qimage.cpp
+++ b/src/gui/image/qimage.cpp
@@ -4083,7 +4083,8 @@ QImage QImage::createAlphaMask(Qt::ImageConversionFlags flags) const
}
QImage mask(d->width, d->height, Format_MonoLSB);
- dither_to_Mono(mask.d, d, flags, true);
+ if (!mask.isNull())
+ dither_to_Mono(mask.d, d, flags, true);
return mask;
}
diff --git a/src/gui/image/qimagepixmapcleanuphooks.cpp b/src/gui/image/qimagepixmapcleanuphooks.cpp
index ac30646..35322e9 100644
--- a/src/gui/image/qimagepixmapcleanuphooks.cpp
+++ b/src/gui/image/qimagepixmapcleanuphooks.cpp
@@ -40,7 +40,8 @@
****************************************************************************/
#include "qimagepixmapcleanuphooks_p.h"
-#include "qpixmapdata_p.h"
+#include "private/qpixmapdata_p.h"
+#include "private/qimage_p.h"
QT_BEGIN_NAMESPACE
@@ -132,4 +133,19 @@ void QImagePixmapCleanupHooks::executeImageHooks(qint64 key)
qt_image_cleanup_hook_64(key);
}
+void QImagePixmapCleanupHooks::enableCleanupHooks(const QPixmap &pixmap)
+{
+ enableCleanupHooks(const_cast<QPixmap &>(pixmap).data_ptr().data());
+}
+
+void QImagePixmapCleanupHooks::enableCleanupHooks(QPixmapData *pixmapData)
+{
+ pixmapData->is_cached = true;
+}
+
+void QImagePixmapCleanupHooks::enableCleanupHooks(const QImage &image)
+{
+ const_cast<QImage &>(image).data_ptr()->is_cached = true;
+}
+
QT_END_NAMESPACE
diff --git a/src/gui/image/qimagepixmapcleanuphooks_p.h b/src/gui/image/qimagepixmapcleanuphooks_p.h
index 16c8974..9e490d7 100644
--- a/src/gui/image/qimagepixmapcleanuphooks_p.h
+++ b/src/gui/image/qimagepixmapcleanuphooks_p.h
@@ -70,6 +70,10 @@ public:
static QImagePixmapCleanupHooks *instance();
+ static void enableCleanupHooks(const QImage &image);
+ static void enableCleanupHooks(const QPixmap &pixmap);
+ static void enableCleanupHooks(QPixmapData *pixmapData);
+
// Gets called when a pixmap is about to be modified:
void addPixmapModificationHook(_qt_pixmap_cleanup_hook_pm);
diff --git a/src/gui/image/qnativeimage.cpp b/src/gui/image/qnativeimage.cpp
index 88faea8..e4ea2e9 100644
--- a/src/gui/image/qnativeimage.cpp
+++ b/src/gui/image/qnativeimage.cpp
@@ -199,10 +199,12 @@ QNativeImage::QNativeImage(int width, int height, QImage::Format format,bool /*
shmctl(xshminfo.shmid, IPC_RMID, 0);
return;
}
- xshmpm = XShmCreatePixmap(X11->display, DefaultRootWindow(X11->display), xshmimg->data,
- &xshminfo, width, height, dd);
- if (!xshmpm) {
- qWarning() << "QNativeImage: Unable to create shared Pixmap.";
+ if (X11->use_mitshm_pixmaps) {
+ xshmpm = XShmCreatePixmap(X11->display, DefaultRootWindow(X11->display), xshmimg->data,
+ &xshminfo, width, height, dd);
+ if (!xshmpm) {
+ qWarning() << "QNativeImage: Unable to create shared Pixmap.";
+ }
}
}
diff --git a/src/gui/image/qpixmap.cpp b/src/gui/image/qpixmap.cpp
index a3b7516..dfeea76 100644
--- a/src/gui/image/qpixmap.cpp
+++ b/src/gui/image/qpixmap.cpp
@@ -113,13 +113,10 @@ void QPixmap::init(int w, int h, Type type)
void QPixmap::init(int w, int h, int type)
{
- QGraphicsSystem* gs = QApplicationPrivate::graphicsSystem();
- if (gs)
- data = gs->createPixmapData(static_cast<QPixmapData::PixelType>(type));
+ if ((w > 0 && h > 0) || type == QPixmapData::BitmapType)
+ data = QPixmapData::create(w, h, (QPixmapData::PixelType) type);
else
- data = QGraphicsSystem::createDefaultPixmapData(static_cast<QPixmapData::PixelType>(type));
-
- data->resize(w, h);
+ data = 0;
}
/*!
@@ -307,7 +304,7 @@ QPixmap::QPixmap(const char * const xpm[])
QImage image(xpm);
if (!image.isNull()) {
- if (data->pixelType() == QPixmapData::BitmapType)
+ if (data && data->pixelType() == QPixmapData::BitmapType)
*this = QBitmap::fromImage(image);
else
*this = fromImage(image);
@@ -322,8 +319,8 @@ QPixmap::QPixmap(const char * const xpm[])
QPixmap::~QPixmap()
{
- Q_ASSERT(data->ref >= 1); // Catch if ref-counting changes again
- if (data->is_cached && data->ref == 1) // ref will be decrememnted after destructor returns
+ Q_ASSERT(!data || data->ref >= 1); // Catch if ref-counting changes again
+ if (data && data->is_cached && data->ref == 1) // ref will be decrememnted after destructor returns
QImagePixmapCleanupHooks::executePixmapDestructionHooks(this);
}
@@ -544,7 +541,7 @@ bool QPixmap::isQBitmap() const
*/
bool QPixmap::isNull() const
{
- return data->isNull();
+ return !data || data->isNull();
}
/*!
@@ -556,7 +553,7 @@ bool QPixmap::isNull() const
*/
int QPixmap::width() const
{
- return data->width();
+ return data ? data->width() : 0;
}
/*!
@@ -568,7 +565,7 @@ int QPixmap::width() const
*/
int QPixmap::height() const
{
- return data->height();
+ return data ? data->height() : 0;
}
/*!
@@ -581,7 +578,7 @@ int QPixmap::height() const
*/
QSize QPixmap::size() const
{
- return QSize(data->width(), data->height());
+ return data ? QSize(data->width(), data->height()) : QSize();
}
/*!
@@ -593,7 +590,7 @@ QSize QPixmap::size() const
*/
QRect QPixmap::rect() const
{
- return QRect(0, 0, data->width(), data->height());
+ return data ? QRect(0, 0, data->width(), data->height()) : QRect();
}
/*!
@@ -609,7 +606,7 @@ QRect QPixmap::rect() const
*/
int QPixmap::depth() const
{
- return data->depth();
+ return data ? data->depth() : 0;
}
/*!
@@ -639,16 +636,16 @@ void QPixmap::resize_helper(const QSize &s)
return;
// Create new pixmap
- QPixmap pm(QSize(w, h), data->type);
+ QPixmap pm(QSize(w, h), data ? data->type : QPixmapData::PixmapType);
bool uninit = false;
#if defined(Q_WS_X11)
- QX11PixmapData *x11Data = data->classId() == QPixmapData::X11Class ? static_cast<QX11PixmapData*>(data.data()) : 0;
+ QX11PixmapData *x11Data = data && data->classId() == QPixmapData::X11Class ? static_cast<QX11PixmapData*>(data.data()) : 0;
if (x11Data) {
pm.x11SetScreen(x11Data->xinfo.screen());
uninit = x11Data->flags & QX11PixmapData::Uninitialized;
}
#elif defined(Q_WS_MAC)
- QMacPixmapData *macData = data->classId() == QPixmapData::MacClass ? static_cast<QMacPixmapData*>(data.data()) : 0;
+ QMacPixmapData *macData = data && data->classId() == QPixmapData::MacClass ? static_cast<QMacPixmapData*>(data.data()) : 0;
if (macData)
uninit = macData->uninit;
#endif
@@ -728,6 +725,9 @@ void QPixmap::setMask(const QBitmap &mask)
return;
}
+ if (isNull())
+ return;
+
if (static_cast<const QPixmap &>(mask).data == data) // trying to selfmask
return;
@@ -826,11 +826,14 @@ bool QPixmap::load(const QString &fileName, const char *format, Qt::ImageConvers
QFileInfo info(fileName);
QString key = QLatin1String("qt_pixmap_") + info.absoluteFilePath() + QLatin1Char('_') + QString::number(info.lastModified().toTime_t()) + QLatin1Char('_') +
- QString::number(info.size()) + QLatin1Char('_') + QString::number(data->pixelType());
+ QString::number(info.size()) + QLatin1Char('_') + QString::number(data ? data->pixelType() : QPixmapData::PixmapType);
if (QPixmapCache::find(key, *this))
return true;
+ if (!data)
+ data = QPixmapData::create(0, 0, QPixmapData::PixmapType);
+
if (data->fromFile(fileName, format, flags)) {
QPixmapCache::insert(key, *this);
return true;
@@ -860,6 +863,12 @@ bool QPixmap::load(const QString &fileName, const char *format, Qt::ImageConvers
bool QPixmap::loadFromData(const uchar *buf, uint len, const char *format, Qt::ImageConversionFlags flags)
{
+ if (len == 0 || buf == 0)
+ return false;
+
+ if (!data)
+ data = QPixmapData::create(0, 0, QPixmapData::PixmapType);
+
return data->fromData(buf, len, format, flags);
}
@@ -1005,6 +1014,9 @@ int QPixmap::serialNumber() const
*/
qint64 QPixmap::cacheKey() const
{
+ if (isNull())
+ return 0;
+
int classKey = data->classId();
if (classKey >= 1024)
classKey = -(classKey >> 10);
@@ -1221,7 +1233,7 @@ QPixmap::QPixmap(const QImage& image)
QPixmap &QPixmap::operator=(const QImage &image)
{
- if (data->pixelType() == QPixmapData::BitmapType)
+ if (data && data->pixelType() == QPixmapData::BitmapType)
*this = QBitmap::fromImage(image);
else
*this = fromImage(image);
@@ -1251,7 +1263,7 @@ bool QPixmap::loadFromData(const uchar *buf, uint len, const char *format, Color
*/
bool QPixmap::convertFromImage(const QImage &image, ColorMode mode)
{
- if (data->pixelType() == QPixmapData::BitmapType)
+ if (data && data->pixelType() == QPixmapData::BitmapType)
*this = QBitmap::fromImage(image, colorModeToFlags(mode));
else
*this = fromImage(image, colorModeToFlags(mode));
@@ -1338,7 +1350,7 @@ Q_GUI_EXPORT void copyBlt(QPixmap *dst, int dx, int dy,
bool QPixmap::isDetached() const
{
- return data->ref == 1;
+ return data && data->ref == 1;
}
/*! \internal
@@ -1750,7 +1762,7 @@ QPixmap QPixmap::transformed(const QMatrix &matrix, Qt::TransformationMode mode)
*/
bool QPixmap::hasAlpha() const
{
- return (data->hasAlphaChannel() || !data->mask().isNull());
+ return data && (data->hasAlphaChannel() || !data->mask().isNull());
}
/*!
@@ -1761,7 +1773,7 @@ bool QPixmap::hasAlpha() const
*/
bool QPixmap::hasAlphaChannel() const
{
- return data->hasAlphaChannel();
+ return data && data->hasAlphaChannel();
}
/*!
@@ -1769,7 +1781,7 @@ bool QPixmap::hasAlphaChannel() const
*/
int QPixmap::metric(PaintDeviceMetric metric) const
{
- return data->metric(metric);
+ return data ? data->metric(metric) : 0;
}
/*!
@@ -1841,7 +1853,7 @@ void QPixmap::setAlphaChannel(const QPixmap &alphaChannel)
*/
QPixmap QPixmap::alphaChannel() const
{
- return data->alphaChannel();
+ return data ? data->alphaChannel() : QPixmap();
}
/*!
@@ -1849,7 +1861,7 @@ QPixmap QPixmap::alphaChannel() const
*/
QPaintEngine *QPixmap::paintEngine() const
{
- return data->paintEngine();
+ return data ? data->paintEngine() : 0;
}
/*!
@@ -1864,7 +1876,7 @@ QPaintEngine *QPixmap::paintEngine() const
*/
QBitmap QPixmap::mask() const
{
- return data->mask();
+ return data ? data->mask() : QBitmap();
}
/*!
@@ -1913,6 +1925,9 @@ int QPixmap::defaultDepth()
*/
void QPixmap::detach()
{
+ if (!data)
+ return;
+
QPixmapData::ClassId id = data->classId();
if (id == QPixmapData::RasterClass) {
QRasterPixmapData *rasterData = static_cast<QRasterPixmapData*>(data.data());
diff --git a/src/gui/image/qpixmap_mac.cpp b/src/gui/image/qpixmap_mac.cpp
index afa6f83..9209d45 100644
--- a/src/gui/image/qpixmap_mac.cpp
+++ b/src/gui/image/qpixmap_mac.cpp
@@ -305,11 +305,15 @@ void QMacPixmapData::fromImage(const QImage &img,
}
break;
}
- case QImage::Format_Indexed8:
- for (int x = 0; x < w; ++x) {
- *(drow+x) = PREMUL(image.color(*(srow + x)));
+ case QImage::Format_Indexed8: {
+ int numColors = image.numColors();
+ if (numColors > 0) {
+ for (int x = 0; x < w; ++x) {
+ int index = *(srow + x);
+ *(drow+x) = PREMUL(image.color(qMin(index, numColors)));
+ }
}
- break;
+ } break;
case QImage::Format_RGB32:
for (int x = 0; x < w; ++x)
*(drow+x) = *(((quint32*)srow) + x) | 0xFF000000;
@@ -965,6 +969,9 @@ Qt::HANDLE QPixmap::macQDAlphaHandle() const
Qt::HANDLE QPixmap::macCGHandle() const
{
+ if (isNull())
+ return 0;
+
if (data->classId() == QPixmapData::MacClass) {
QMacPixmapData *d = static_cast<QMacPixmapData *>(data.data());
if (!d->cg_data)
diff --git a/src/gui/image/qpixmap_qws.cpp b/src/gui/image/qpixmap_qws.cpp
index 6b4283e..a8516a5 100644
--- a/src/gui/image/qpixmap_qws.cpp
+++ b/src/gui/image/qpixmap_qws.cpp
@@ -114,7 +114,7 @@ QPixmap QPixmap::grabWindow(WId window, int x, int y, int w, int h)
QRgb* QPixmap::clut() const
{
- if (data->classId() == QPixmapData::RasterClass) {
+ if (data && data->classId() == QPixmapData::RasterClass) {
const QRasterPixmapData *d = static_cast<const QRasterPixmapData*>(data.data());
return d->image.colorTable().data();
}
@@ -124,7 +124,7 @@ QRgb* QPixmap::clut() const
int QPixmap::numCols() const
{
- if (data->classId() == QPixmapData::RasterClass) {
+ if (data && data->classId() == QPixmapData::RasterClass) {
const QRasterPixmapData *d = static_cast<const QRasterPixmapData*>(data.data());
return d->image.numColors();
}
@@ -134,7 +134,7 @@ int QPixmap::numCols() const
const uchar* QPixmap::qwsBits() const
{
- if (data->classId() == QPixmapData::RasterClass) {
+ if (data && data->classId() == QPixmapData::RasterClass) {
const QRasterPixmapData *d = static_cast<const QRasterPixmapData*>(data.data());
return d->image.bits();
}
@@ -144,7 +144,7 @@ const uchar* QPixmap::qwsBits() const
int QPixmap::qwsBytesPerLine() const
{
- if (data->classId() == QPixmapData::RasterClass) {
+ if (data && data->classId() == QPixmapData::RasterClass) {
const QRasterPixmapData *d = static_cast<const QRasterPixmapData*>(data.data());
return d->image.bytesPerLine();
}
diff --git a/src/gui/image/qpixmap_s60.cpp b/src/gui/image/qpixmap_s60.cpp
index 666d608..cd8a4d4 100644
--- a/src/gui/image/qpixmap_s60.cpp
+++ b/src/gui/image/qpixmap_s60.cpp
@@ -73,27 +73,27 @@ const uchar qt_pixmap_bit_mask[] = { 0x01, 0x02, 0x04, 0x08,
used to lock the global bitmap heap. Only used in
S60 v3.1 and S60 v3.2.
*/
+_LIT(KFBSERVLargeBitmapAccessName,"FbsLargeBitmapAccess");
class QSymbianFbsClient
{
public:
- QSymbianFbsClient() : heapLock(0), heapLocked(false)
+ QSymbianFbsClient() : heapLocked(false)
{
- QT_TRAP_THROWING(heapLock = new(ELeave) CFbsBitmap);
- heapLock->Create(TSize(0,0), S60->screenDevice()->DisplayMode());
+ heapLock.OpenGlobal(KFBSERVLargeBitmapAccessName);
}
~QSymbianFbsClient()
{
- delete heapLock;
+ heapLock.Close();
}
bool lockHeap()
{
bool wasLocked = heapLocked;
- if (heapLock && !heapLocked) {
- heapLock->LockHeap(ETrue);
+ if (heapLock.Handle() && !heapLocked) {
+ heapLock.Wait();
heapLocked = true;
}
@@ -104,8 +104,8 @@ public:
{
bool wasLocked = heapLocked;
- if (heapLock && heapLocked) {
- heapLock->UnlockHeap(ETrue);
+ if (heapLock.Handle() && heapLocked) {
+ heapLock.Signal();
heapLocked = false;
}
@@ -115,7 +115,7 @@ public:
private:
- CFbsBitmap *heapLock;
+ RMutex heapLock;
bool heapLocked;
};
@@ -169,7 +169,7 @@ public:
inline void beginDataAccess(CFbsBitmap *bitmap)
{
- if (symbianVersion == QSysInfo::SV_9_2 || symbianVersion == QSysInfo::SV_9_3)
+ if (symbianVersion == QSysInfo::SV_9_2)
heapWasLocked = qt_symbianFbsClient()->lockHeap();
else
bitmap->LockHeap(ETrue);
@@ -177,7 +177,7 @@ public:
inline void endDataAccess(CFbsBitmap *bitmap)
{
- if (symbianVersion == QSysInfo::SV_9_2 || symbianVersion == QSysInfo::SV_9_3) {
+ if (symbianVersion == QSysInfo::SV_9_2) {
if (!heapWasLocked)
qt_symbianFbsClient()->unlockHeap();
} else {
@@ -311,7 +311,7 @@ QPixmap QPixmap::grabWindow(WId winId, int x, int y, int w, int h)
CFbsBitmap *QPixmap::toSymbianCFbsBitmap() const
{
QPixmapData *data = pixmapData();
- if (data->isNull())
+ if (!data || data->isNull())
return 0;
return reinterpret_cast<CFbsBitmap*>(data->toNativeType(QPixmapData::FbsBitmap));
@@ -337,8 +337,9 @@ QPixmap QPixmap::fromSymbianCFbsBitmap(CFbsBitmap *bitmap)
if (!bitmap)
return QPixmap();
- QPixmap pixmap;
- pixmap.pixmapData()->fromNativeType(reinterpret_cast<void*>(bitmap), QPixmapData::FbsBitmap);
+ QScopedPointer<QS60PixmapData> data(new QS60PixmapData(QPixmapData::PixmapType));
+ data->fromNativeType(reinterpret_cast<void*>(bitmap), QPixmapData::FbsBitmap);
+ QPixmap pixmap(data.take());
return pixmap;
}
@@ -684,9 +685,10 @@ void QS60PixmapData::beginDataAccess()
uchar* newBytes = (uchar*)cfbsBitmap->DataAddress();
- if (newBytes == bytes)
- return;
+ TSize size = cfbsBitmap->SizeInPixels();
+ if (newBytes == bytes && image.width() == size.iWidth && image.height() == size.iHeight)
+ return;
bytes = newBytes;
TDisplayMode mode = cfbsBitmap->DisplayMode();
@@ -695,8 +697,6 @@ void QS60PixmapData::beginDataAccess()
if (format == QImage::Format_ARGB32)
format = QImage::Format_ARGB32_Premultiplied; // pixel data is actually in premultiplied format
- TSize size = cfbsBitmap->SizeInPixels();
-
QVector<QRgb> savedColorTable;
if (!image.isNull())
savedColorTable = image.colorTable();
@@ -752,9 +752,9 @@ QPixmap QPixmap::fromSymbianRSgImage(RSgImage *sgImage)
if (!sgImage)
return QPixmap();
- QPixmap pixmap;
- pixmap.pixmapData()->fromNativeType(reinterpret_cast<void*>(sgImage), QPixmapData::SgImage);
-
+ QScopedPointer<QS60PixmapData> data(new QS60PixmapData(QPixmapData::PixmapType));
+ data->fromNativeType(reinterpret_cast<void*>(sgImage), QPixmapData::SgImage);
+ QPixmap pixmap(data.take());
return pixmap;
}
@@ -935,18 +935,21 @@ void QS60PixmapData::fromNativeType(void* pixmap, NativeType nativeType)
da.beginDataAccess(sourceBitmap);
uchar *bytes = (uchar*)sourceBitmap->DataAddress();
QImage img = QImage(bytes, size.iWidth, size.iHeight, format);
+ img = img.copy();
da.endDataAccess(sourceBitmap);
- fromImage(img, Qt::AutoColor);
-
- if(deleteSourceBitmap)
- delete sourceBitmap;
-
if(displayMode == EGray2) {
//Symbian thinks set pixels are white/transparent, Qt thinks they are foreground/solid
//So invert mono bitmaps so that masks work correctly.
- image.invertPixels();
+ img.invertPixels();
+ } else if(displayMode == EColor16M) {
+ img = img.rgbSwapped(); // EColor16M is BGR
}
+
+ fromImage(img, Qt::AutoColor);
+
+ if(deleteSourceBitmap)
+ delete sourceBitmap;
} else {
CFbsBitmap* duplicate = 0;
QT_TRAP_THROWING(duplicate = new (ELeave) CFbsBitmap);
diff --git a/src/gui/image/qpixmap_win.cpp b/src/gui/image/qpixmap_win.cpp
index 1b61484..04027c1 100644
--- a/src/gui/image/qpixmap_win.cpp
+++ b/src/gui/image/qpixmap_win.cpp
@@ -121,6 +121,9 @@ QPixmap QPixmap::grabWindow(WId winId, int x, int y, int w, int h )
HBITMAP QPixmap::toWinHBITMAP(HBitmapFormat format) const
{
+ if (isNull())
+ return 0;
+
HBITMAP bitmap = 0;
if (data->classId() == QPixmapData::RasterClass) {
QRasterPixmapData* d = static_cast<QRasterPixmapData*>(data.data());
diff --git a/src/gui/image/qpixmap_x11.cpp b/src/gui/image/qpixmap_x11.cpp
index ea9eff9..c735031 100644
--- a/src/gui/image/qpixmap_x11.cpp
+++ b/src/gui/image/qpixmap_x11.cpp
@@ -1916,8 +1916,8 @@ QPixmap QX11PixmapData::transformed(const QTransform &transform,
free(dptr);
return bm;
} else { // color pixmap
- QPixmap pm;
- QX11PixmapData *x11Data = static_cast<QX11PixmapData*>(pm.data.data());
+ QX11PixmapData *x11Data = new QX11PixmapData(QPixmapData::PixmapType);
+ QPixmap pm(x11Data);
x11Data->flags &= ~QX11PixmapData::Uninitialized;
x11Data->xinfo = xinfo;
x11Data->d = d;
@@ -1976,6 +1976,9 @@ void QPixmap::x11SetScreen(int screen)
return;
}
+ if (isNull())
+ return;
+
if (data->classId() != QPixmapData::X11Class)
return;
@@ -2078,7 +2081,7 @@ bool QX11PixmapData::hasAlphaChannel() const
const QX11Info &QPixmap::x11Info() const
{
- if (data->classId() == QPixmapData::X11Class)
+ if (data && data->classId() == QPixmapData::X11Class)
return static_cast<QX11PixmapData*>(data.data())->xinfo;
else {
static QX11Info nullX11Info;
@@ -2135,7 +2138,7 @@ QPaintEngine* QX11PixmapData::paintEngine() const
Qt::HANDLE QPixmap::x11PictureHandle() const
{
#ifndef QT_NO_XRENDER
- if (data->classId() == QPixmapData::X11Class)
+ if (data && data->classId() == QPixmapData::X11Class)
return static_cast<const QX11PixmapData*>(data.data())->picture;
else
return 0;
diff --git a/src/gui/image/qpixmapdata.cpp b/src/gui/image/qpixmapdata.cpp
index 1ad1f02..10194e4 100644
--- a/src/gui/image/qpixmapdata.cpp
+++ b/src/gui/image/qpixmapdata.cpp
@@ -51,6 +51,19 @@ QT_BEGIN_NAMESPACE
const uchar qt_pixmap_bit_mask[] = { 0x01, 0x02, 0x04, 0x08,
0x10, 0x20, 0x40, 0x80 };
+QPixmapData *QPixmapData::create(int w, int h, PixelType type)
+{
+ QPixmapData *data;
+ QGraphicsSystem* gs = QApplicationPrivate::graphicsSystem();
+ if (gs)
+ data = gs->createPixmapData(static_cast<QPixmapData::PixelType>(type));
+ else
+ data = QGraphicsSystem::createDefaultPixmapData(static_cast<QPixmapData::PixelType>(type));
+ data->resize(w, h);
+ return data;
+}
+
+
QPixmapData::QPixmapData(PixelType pixelType, int objectId)
: w(0),
h(0),
diff --git a/src/gui/image/qpixmapdata_p.h b/src/gui/image/qpixmapdata_p.h
index 2f4f201..d1bb92a 100644
--- a/src/gui/image/qpixmapdata_p.h
+++ b/src/gui/image/qpixmapdata_p.h
@@ -122,6 +122,8 @@ public:
virtual void fromNativeType(void* pixmap, NativeType type);
#endif
+ static QPixmapData *create(int w, int h, PixelType type);
+
protected:
void setSerialNumber(int serNo);
int w;
@@ -131,12 +133,11 @@ protected:
private:
friend class QPixmap;
- friend class QGLContextPrivate;
friend class QX11PixmapData;
friend class QS60PixmapData;
+ friend class QImagePixmapCleanupHooks; // Needs to set is_cached
friend class QGLTextureCache; //Needs to check the reference count
friend class QExplicitlySharedDataPointer<QPixmapData>;
- friend bool qt_createEGLSurfaceForPixmap(QPixmapData*, bool); // Needs to set is_cached
QAtomicInt ref;
int detach_no;
diff --git a/src/gui/image/qpixmapfilter.cpp b/src/gui/image/qpixmapfilter.cpp
index 9fcf776..d83ef2c 100644
--- a/src/gui/image/qpixmapfilter.cpp
+++ b/src/gui/image/qpixmapfilter.cpp
@@ -53,6 +53,7 @@
#include "private/qpaintengineex_p.h"
#include "private/qpaintengine_raster_p.h"
+#ifndef QT_NO_GRAPHICSEFFECT
QT_BEGIN_NAMESPACE
class QPixmapFilterPrivate : public QObjectPrivate
@@ -504,10 +505,10 @@ void QPixmapConvolutionFilter::draw(QPainter *painter, const QPointF &p, const Q
class QPixmapBlurFilterPrivate : public QPixmapFilterPrivate
{
public:
- QPixmapBlurFilterPrivate() : radius(5), hint(Qt::PerformanceHint) {}
+ QPixmapBlurFilterPrivate() : radius(5), hint(QGraphicsBlurEffect::PerformanceHint) {}
- int radius;
- Qt::RenderHint hint;
+ qreal radius;
+ QGraphicsBlurEffect::BlurHint hint;
};
@@ -535,7 +536,7 @@ QPixmapBlurFilter::~QPixmapBlurFilter()
\internal
*/
-void QPixmapBlurFilter::setRadius(int radius)
+void QPixmapBlurFilter::setRadius(qreal radius)
{
Q_D(QPixmapBlurFilter);
d->radius = radius;
@@ -546,7 +547,7 @@ void QPixmapBlurFilter::setRadius(int radius)
\internal
*/
-int QPixmapBlurFilter::radius() const
+qreal QPixmapBlurFilter::radius() const
{
Q_D(const QPixmapBlurFilter);
return d->radius;
@@ -556,12 +557,18 @@ int QPixmapBlurFilter::radius() const
Setting the blur hint to PerformanceHint causes the implementation
to trade off visual quality to blur the image faster. Setting the
blur hint to QualityHint causes the implementation to improve
- visual quality at the expense of speed. The implementation is free
- to ignore this value if it only has a single blur algorithm.
+ visual quality at the expense of speed.
+
+ AnimationHint causes the implementation to optimize for animating
+ the blur radius, possibly by caching blurred versions of the source
+ pixmap.
+
+ The implementation is free to ignore this value if it only has a single
+ blur algorithm.
\internal
*/
-void QPixmapBlurFilter::setBlurHint(Qt::RenderHint hint)
+void QPixmapBlurFilter::setBlurHint(QGraphicsBlurEffect::BlurHint hint)
{
Q_D(QPixmapBlurFilter);
d->hint = hint;
@@ -572,7 +579,7 @@ void QPixmapBlurFilter::setBlurHint(Qt::RenderHint hint)
\internal
*/
-Qt::RenderHint QPixmapBlurFilter::blurHint() const
+QGraphicsBlurEffect::BlurHint QPixmapBlurFilter::blurHint() const
{
Q_D(const QPixmapBlurFilter);
return d->hint;
@@ -584,7 +591,7 @@ Qt::RenderHint QPixmapBlurFilter::blurHint() const
QRectF QPixmapBlurFilter::boundingRectFor(const QRectF &rect) const
{
Q_D(const QPixmapBlurFilter);
- const qreal delta = d->radius * 2;
+ const qreal delta = d->radius + 1;
return rect.adjusted(-delta, -delta, delta, delta);
}
@@ -668,7 +675,7 @@ void QPixmapBlurFilter::draw(QPainter *painter, const QPointF &p, const QPixmap
if (!painter->isActive())
return;
- if (d->radius == 0) {
+ if (d->radius <= 0) {
painter->drawPixmap(srcRect.translated(p), src, srcRect);
return;
}
@@ -688,12 +695,12 @@ void QPixmapBlurFilter::draw(QPainter *painter, const QPointF &p, const QPixmap
if (srcRect.isNull()) {
srcImage = src.toImage();
- destImage = blurred(srcImage, srcImage.rect(), d->radius);
+ destImage = blurred(srcImage, srcImage.rect(), qRound(d->radius));
} else {
QRect rect = srcRect.toAlignedRect().intersected(src.rect());
srcImage = src.copy(rect).toImage();
- destImage = blurred(srcImage, srcImage.rect(), d->radius);
+ destImage = blurred(srcImage, srcImage.rect(), qRound(d->radius));
}
painter->drawImage(p, destImage);
@@ -902,7 +909,7 @@ public:
QPointF offset;
QColor color;
- int radius;
+ qreal radius;
};
/*!
@@ -966,7 +973,7 @@ QPixmapDropShadowFilter::~QPixmapDropShadowFilter()
\internal
*/
-int QPixmapDropShadowFilter::blurRadius() const
+qreal QPixmapDropShadowFilter::blurRadius() const
{
Q_D(const QPixmapDropShadowFilter);
return d->radius;
@@ -981,7 +988,7 @@ int QPixmapDropShadowFilter::blurRadius() const
\internal
*/
-void QPixmapDropShadowFilter::setBlurRadius(int radius)
+void QPixmapDropShadowFilter::setBlurRadius(qreal radius)
{
Q_D(QPixmapDropShadowFilter);
d->radius = radius;
@@ -1057,14 +1064,9 @@ void QPixmapDropShadowFilter::setOffset(const QPointF &offset)
QRectF QPixmapDropShadowFilter::boundingRectFor(const QRectF &rect) const
{
Q_D(const QPixmapDropShadowFilter);
-
- const qreal delta = qreal(d->radius * 2);
- qreal x1 = qMin(rect.left(), rect.left() + d->offset.x() - delta);
- qreal y1 = qMin(rect.top(), rect.top() + d->offset.y() - delta);
- qreal x2 = qMax(rect.right(), rect.right() + d->offset.x() + delta);
- qreal y2 = qMax(rect.bottom(), rect.bottom() + d->offset.y() + delta);
-
- return QRectF(x1, y1, x2 - x1, y2 - y1);
+ qreal delta = d->radius + 1;
+ return rect.adjusted(-2, -2, 2, 2).united(
+ rect.translated(d->offset).adjusted(-delta, -delta, delta, delta));
}
/*!
@@ -1090,7 +1092,7 @@ void QPixmapDropShadowFilter::draw(QPainter *p,
QImage tmp = src.isNull() ? px.toImage() : px.copy(src.toAlignedRect()).toImage();
// blur the alpha channel
- tmp = blurred(tmp, tmp.rect(), d->radius, true);
+ tmp = blurred(tmp, tmp.rect(), qRound(d->radius), true);
// blacken the image...
QPainter tmpPainter(&tmp);
@@ -1106,3 +1108,5 @@ void QPixmapDropShadowFilter::draw(QPainter *p,
}
QT_END_NAMESPACE
+
+#endif //QT_NO_GRAPHICSEFFECT
diff --git a/src/gui/image/qpixmapfilter_p.h b/src/gui/image/qpixmapfilter_p.h
index 8a2207a..2573fc7 100644
--- a/src/gui/image/qpixmapfilter_p.h
+++ b/src/gui/image/qpixmapfilter_p.h
@@ -55,7 +55,9 @@
#include <QtCore/qnamespace.h>
#include <QtGui/qpixmap.h>
+#include <QtGui/qgraphicseffect.h>
+#ifndef QT_NO_GRAPHICSEFFECT
QT_BEGIN_HEADER
QT_BEGIN_NAMESPACE
@@ -129,11 +131,11 @@ public:
QPixmapBlurFilter(QObject *parent = 0);
~QPixmapBlurFilter();
- void setRadius(int radius);
- void setBlurHint(Qt::RenderHint hint);
+ void setRadius(qreal radius);
+ void setBlurHint(QGraphicsBlurEffect::BlurHint hint);
- int radius() const;
- Qt::RenderHint blurHint() const;
+ qreal radius() const;
+ QGraphicsBlurEffect::BlurHint blurHint() const;
QRectF boundingRectFor(const QRectF &rect) const;
void draw(QPainter *painter, const QPointF &dest, const QPixmap &src, const QRectF &srcRect = QRectF()) const;
@@ -175,8 +177,8 @@ public:
QRectF boundingRectFor(const QRectF &rect) const;
void draw(QPainter *p, const QPointF &pos, const QPixmap &px, const QRectF &src = QRectF()) const;
- int blurRadius() const;
- void setBlurRadius(int radius);
+ qreal blurRadius() const;
+ void setBlurRadius(qreal radius);
QColor color() const;
void setColor(const QColor &color);
@@ -190,4 +192,5 @@ QT_END_NAMESPACE
QT_END_HEADER
+#endif //QT_NO_GRAPHICSEFFECT
#endif // QPIXMAPFILTER_H
diff --git a/src/gui/inputmethod/qcoefepinputcontext_p.h b/src/gui/inputmethod/qcoefepinputcontext_p.h
index 1531036..452aa75 100644
--- a/src/gui/inputmethod/qcoefepinputcontext_p.h
+++ b/src/gui/inputmethod/qcoefepinputcontext_p.h
@@ -65,10 +65,10 @@
QT_BEGIN_NAMESPACE
-class Q_GUI_EXPORT QCoeFepInputContext : public QInputContext,
- public MCoeFepAwareTextEditor,
- public MCoeFepAwareTextEditor_Extension1,
- public MObjectProvider
+class QCoeFepInputContext : public QInputContext,
+ public MCoeFepAwareTextEditor,
+ public MCoeFepAwareTextEditor_Extension1,
+ public MObjectProvider
{
Q_OBJECT
@@ -97,6 +97,7 @@ private:
void applyHints(Qt::InputMethodHints hints);
void applyFormat(QList<QInputMethodEvent::Attribute> *attributes);
void queueInputCapabilitiesChanged();
+ bool needsInputPanel();
private Q_SLOTS:
void ensureInputCapabilitiesChanged();
diff --git a/src/gui/inputmethod/qcoefepinputcontext_s60.cpp b/src/gui/inputmethod/qcoefepinputcontext_s60.cpp
index c4d17ff..25b2313 100644
--- a/src/gui/inputmethod/qcoefepinputcontext_s60.cpp
+++ b/src/gui/inputmethod/qcoefepinputcontext_s60.cpp
@@ -47,6 +47,7 @@
#include <private/qcore_symbian_p.h>
#include <fepitfr.h>
+#include <hal.h>
#include <limits.h>
// You only find these enumerations on SDK 5 onwards, so we need to provide our own
@@ -153,6 +154,44 @@ QString QCoeFepInputContext::language()
}
}
+bool QCoeFepInputContext::needsInputPanel()
+{
+ switch (QSysInfo::s60Version()) {
+ case QSysInfo::SV_S60_3_1:
+ case QSysInfo::SV_S60_3_2:
+ // There are no touch phones for pre-5.0 SDKs.
+ return false;
+#ifdef Q_CC_NOKIAX86
+ default:
+ // For emulator we assume that we need an input panel, since we can't
+ // separate between phone types.
+ return true;
+#else
+ case QSysInfo::SV_S60_5_0: {
+ // For SDK == 5.0, we need phone specific detection, since the HAL API
+ // is no good on most phones. However, all phones at the time of writing use the
+ // input panel, except N97 in landscape mode, but in this mode it refuses to bring
+ // up the panel anyway, so we don't have to care.
+ return true;
+ }
+ default:
+ // For unknown/newer types, we try to use the HAL API.
+ int keyboardEnabled;
+ int keyboardType;
+ int err[2];
+ err[0] = HAL::Get(HAL::EKeyboard, keyboardType);
+ err[1] = HAL::Get(HAL::EKeyboardState, keyboardEnabled);
+ if (err[0] == KErrNone && err[1] == KErrNone
+ && keyboardType != 0 && keyboardEnabled)
+ // Means that we have some sort of keyboard.
+ return false;
+
+ // Fall back to using the input panel.
+ return true;
+#endif // !Q_CC_NOKIAX86
+ }
+}
+
bool QCoeFepInputContext::filterEvent(const QEvent *event)
{
// The CloseSoftwareInputPanel event is not handled here, because the VK will automatically
@@ -174,10 +213,8 @@ bool QCoeFepInputContext::filterEvent(const QEvent *event)
}
}
- // For pre-5.0 SDKs, we don't launch the keyboard.
- if (QSysInfo::s60Version() != QSysInfo::SV_S60_5_0) {
+ if (!needsInputPanel())
return false;
- }
if (event->type() == QEvent::RequestSoftwareInputPanel) {
// Notify S60 that we want the virtual keyboard to show up.
@@ -561,8 +598,28 @@ void QCoeFepInputContext::GetCursorSelectionForFep(TCursorSelection& aCursorSele
int cursor = w->inputMethodQuery(Qt::ImCursorPosition).toInt() + m_preeditString.size();
int anchor = w->inputMethodQuery(Qt::ImAnchorPosition).toInt() + m_preeditString.size();
- aCursorSelection.iAnchorPos = anchor;
- aCursorSelection.iCursorPos = cursor;
+ QString text = w->inputMethodQuery(Qt::ImSurroundingText).value<QString>();
+ int combinedSize = text.size() + m_preeditString.size();
+ if (combinedSize < anchor || combinedSize < cursor) {
+ // ### TODO! FIXME! QTBUG-5050
+ // This is a hack to prevent crashing in 4.6 with QLineEdits that use input masks.
+ // The root problem is that cursor position is relative to displayed text instead of the
+ // actual text we get.
+ //
+ // To properly fix this we would need to know the displayText of QLineEdits instead
+ // of just the text, which on itself should be a trivial change. The difficulties start
+ // when we need to commit the changes back to the QLineEdit, which would have to be somehow
+ // able to handle displayText, too.
+ //
+ // Until properly fixed, the cursor and anchor positions will not reflect correct positions
+ // for masked QLineEdits, unless all the masked positions are filled in order so that
+ // cursor position relative to the displayed text matches position relative to actual text.
+ aCursorSelection.iAnchorPos = combinedSize;
+ aCursorSelection.iCursorPos = combinedSize;
+ } else {
+ aCursorSelection.iAnchorPos = anchor;
+ aCursorSelection.iCursorPos = cursor;
+ }
}
void QCoeFepInputContext::GetEditorContentForFep(TDes& aEditorContent, TInt aDocumentPosition,
diff --git a/src/gui/inputmethod/qwininputcontext_win.cpp b/src/gui/inputmethod/qwininputcontext_win.cpp
index e9ab870..ef2f5c0 100644
--- a/src/gui/inputmethod/qwininputcontext_win.cpp
+++ b/src/gui/inputmethod/qwininputcontext_win.cpp
@@ -327,28 +327,13 @@ static int getCursorPosition(HIMC himc)
static QString getString(HIMC himc, DWORD dwindex, int *selStart = 0, int *selLength = 0)
{
- static wchar_t *buffer = 0;
- static int buflen = 0;
-
- int len = getCompositionString(himc, dwindex, 0, 0) + 1;
- if (!buffer || len > buflen) {
- delete [] buffer;
- buflen = qMin(len, 256);
- buffer = new wchar_t[buflen];
- }
-
- len = getCompositionString(himc, dwindex, buffer, buflen * sizeof(wchar_t));
+ const int bufferSize = 256;
+ wchar_t buffer[bufferSize];
+ int len = getCompositionString(himc, dwindex, buffer, bufferSize * sizeof(wchar_t));
if (selStart) {
- static wchar_t *attrbuffer = 0;
- static int attrbuflen = 0;
- int attrlen = getCompositionString(himc, dwindex, 0, 0) + 1;
- if (!attrbuffer || attrlen> attrbuflen) {
- delete [] attrbuffer;
- attrbuflen = qMin(attrlen, 256);
- attrbuffer = new wchar_t[attrbuflen];
- }
- attrlen = getCompositionString(himc, GCS_COMPATTR, attrbuffer, attrbuflen * sizeof(wchar_t));
+ char attrbuffer[bufferSize];
+ int attrlen = getCompositionString(himc, GCS_COMPATTR, attrbuffer, bufferSize);
*selStart = attrlen+1;
*selLength = -1;
for (int i = 0; i < attrlen; i++) {
diff --git a/src/gui/itemviews/qabstractitemview.cpp b/src/gui/itemviews/qabstractitemview.cpp
index d91cedd..23bef12 100644
--- a/src/gui/itemviews/qabstractitemview.cpp
+++ b/src/gui/itemviews/qabstractitemview.cpp
@@ -605,6 +605,8 @@ void QAbstractItemView::setModel(QAbstractItemModel *model)
this, SLOT(_q_modelDestroyed()));
disconnect(d->model, SIGNAL(dataChanged(QModelIndex,QModelIndex)),
this, SLOT(dataChanged(QModelIndex,QModelIndex)));
+ disconnect(d->model, SIGNAL(headerDataChanged(Qt::Orientation,int,int)),
+ this, SLOT(_q_headerDataChanged()));
disconnect(d->model, SIGNAL(rowsInserted(QModelIndex,int,int)),
this, SLOT(rowsInserted(QModelIndex,int,int)));
disconnect(d->model, SIGNAL(rowsAboutToBeRemoved(QModelIndex,int,int)),
@@ -637,6 +639,8 @@ void QAbstractItemView::setModel(QAbstractItemModel *model)
this, SLOT(_q_modelDestroyed()));
connect(d->model, SIGNAL(dataChanged(QModelIndex,QModelIndex)),
this, SLOT(dataChanged(QModelIndex,QModelIndex)));
+ connect(d->model, SIGNAL(headerDataChanged(Qt::Orientation,int,int)),
+ this, SLOT(_q_headerDataChanged()));
connect(d->model, SIGNAL(rowsInserted(QModelIndex,int,int)),
this, SLOT(rowsInserted(QModelIndex,int,int)));
connect(d->model, SIGNAL(rowsAboutToBeRemoved(QModelIndex,int,int)),
@@ -3637,7 +3641,7 @@ QItemSelectionModel::SelectionFlags QAbstractItemViewPrivate::extendedSelectionC
const bool controlKeyPressed = modifiers & Qt::ControlModifier;
if (((index == pressedIndex && selectionModel->isSelected(index))
|| !index.isValid()) && state != QAbstractItemView::DragSelectingState
- && !shiftKeyPressed && !controlKeyPressed && !rightButtonPressed)
+ && !shiftKeyPressed && !controlKeyPressed && (!rightButtonPressed || !index.isValid()))
return QItemSelectionModel::ClearAndSelect|selectionBehaviorFlags();
return QItemSelectionModel::NoUpdate;
}
diff --git a/src/gui/itemviews/qabstractitemview.h b/src/gui/itemviews/qabstractitemview.h
index b4f0957..ea5d259 100644
--- a/src/gui/itemviews/qabstractitemview.h
+++ b/src/gui/itemviews/qabstractitemview.h
@@ -358,9 +358,12 @@ private:
Q_PRIVATE_SLOT(d_func(), void _q_rowsRemoved(const QModelIndex&, int, int))
Q_PRIVATE_SLOT(d_func(), void _q_modelDestroyed())
Q_PRIVATE_SLOT(d_func(), void _q_layoutChanged())
+ Q_PRIVATE_SLOT(d_func(), void _q_headerDataChanged())
friend class QTreeViewPrivate; // needed to compile with MSVC
friend class QAccessibleItemRow;
+ friend class QListModeViewBase;
+ friend class QListViewPrivate; // needed to compile for Symbian emulator
};
Q_DECLARE_OPERATORS_FOR_FLAGS(QAbstractItemView::EditTriggers)
diff --git a/src/gui/itemviews/qabstractitemview_p.h b/src/gui/itemviews/qabstractitemview_p.h
index fcf381a..c691f61 100644
--- a/src/gui/itemviews/qabstractitemview_p.h
+++ b/src/gui/itemviews/qabstractitemview_p.h
@@ -117,6 +117,7 @@ public:
virtual void _q_columnsInserted(const QModelIndex &parent, int start, int end);
virtual void _q_modelDestroyed();
virtual void _q_layoutChanged();
+ void _q_headerDataChanged() { doDelayedItemsLayout(); }
void fetchMore();
@@ -164,7 +165,8 @@ public:
}
#ifndef QT_NO_DRAGANDDROP
- QAbstractItemView::DropIndicatorPosition position(const QPoint &pos, const QRect &rect, const QModelIndex &idx) const;
+ virtual QAbstractItemView::DropIndicatorPosition position(const QPoint &pos, const QRect &rect, const QModelIndex &idx) const;
+
inline bool canDecode(QDropEvent *e) const {
QStringList modelTypes = model->mimeTypes();
const QMimeData *mime = e->mimeData();
diff --git a/src/gui/itemviews/qdirmodel.cpp b/src/gui/itemviews/qdirmodel.cpp
index 2973741..942cfd7 100644
--- a/src/gui/itemviews/qdirmodel.cpp
+++ b/src/gui/itemviews/qdirmodel.cpp
@@ -1351,7 +1351,7 @@ QString QDirModelPrivate::size(const QModelIndex &index) const
return QFileSystemModel::tr("%1 MB").arg(QLocale().toString(qreal(bytes) / mb, 'f', 1));
if (bytes >= kb)
return QFileSystemModel::tr("%1 KB").arg(QLocale().toString(bytes / kb));
- return QFileSystemModel::tr("%1 bytes").arg(QLocale().toString(bytes));
+ return QFileSystemModel::tr("%1 byte(s)").arg(QLocale().toString(bytes));
}
QString QDirModelPrivate::type(const QModelIndex &index) const
diff --git a/src/gui/itemviews/qfileiconprovider.cpp b/src/gui/itemviews/qfileiconprovider.cpp
index e3d17ad..6316797 100644
--- a/src/gui/itemviews/qfileiconprovider.cpp
+++ b/src/gui/itemviews/qfileiconprovider.cpp
@@ -47,24 +47,24 @@
#include <qdir.h>
#include <qpixmapcache.h>
#if defined(Q_WS_WIN)
-#define _WIN32_IE 0x0500
-#include <qt_windows.h>
-#include <commctrl.h>
-#include <objbase.h>
+# define _WIN32_IE 0x0500
+# include <qt_windows.h>
+# include <commctrl.h>
+# include <objbase.h>
#elif defined(Q_WS_MAC)
-#include <private/qt_cocoa_helpers_mac_p.h>
-#endif
-
-#if defined(Q_WS_X11) && !defined(Q_NO_STYLE_GTK)
-#include <private/qt_x11_p.h>
-#include <private/gtksymbols_p.h>
+# include <private/qt_cocoa_helpers_mac_p.h>
#endif
#include <private/qfunctions_p.h>
#include <private/qguiplatformplugin_p.h>
+#if defined(Q_WS_X11) && !defined(Q_NO_STYLE_GTK)
+# include <private/qgtkstyle_p.h>
+# include <private/qt_x11_p.h>
+#endif
+
#ifndef SHGFI_ADDOVERLAYS
-#define SHGFI_ADDOVERLAYS 0x000000020
+# define SHGFI_ADDOVERLAYS 0x000000020
#endif
QT_BEGIN_NAMESPACE
@@ -392,7 +392,7 @@ QIcon QFileIconProvider::icon(const QFileInfo &info) const
#if defined(Q_WS_X11) && !defined(QT_NO_STYLE_GTK)
if (X11->desktopEnvironment == DE_GNOME) {
- QIcon gtkIcon = QGtk::getFilesystemIcon(info);
+ QIcon gtkIcon = QGtkStylePrivate::getFilesystemIcon(info);
if (!gtkIcon.isNull())
return gtkIcon;
}
diff --git a/src/gui/itemviews/qheaderview.cpp b/src/gui/itemviews/qheaderview.cpp
index fc9820f..6f2cff9 100644
--- a/src/gui/itemviews/qheaderview.cpp
+++ b/src/gui/itemviews/qheaderview.cpp
@@ -1419,7 +1419,7 @@ int QHeaderView::minimumSectionSize() const
int margin = style()->pixelMetric(QStyle::PM_HeaderMargin, 0, this);
if (d->orientation == Qt::Horizontal)
return qMax(strut.width(), (fontMetrics().maxWidth() + margin));
- return qMax(strut.height(), (fontMetrics().lineSpacing() + margin));
+ return qMax(strut.height(), (fontMetrics().height() + margin));
}
return d->minimumSectionSize;
}
@@ -2516,6 +2516,8 @@ QSize QHeaderView::sectionSizeFromContents(int logicalIndex) const
Q_D(const QHeaderView);
Q_ASSERT(logicalIndex >= 0);
+ ensurePolished();
+
// use SizeHintRole
QVariant variant = d->model->headerData(logicalIndex, d->orientation, Qt::SizeHintRole);
if (variant.isValid())
diff --git a/src/gui/itemviews/qitemdelegate.cpp b/src/gui/itemviews/qitemdelegate.cpp
index 871a4b1..3b3036d 100644
--- a/src/gui/itemviews/qitemdelegate.cpp
+++ b/src/gui/itemviews/qitemdelegate.cpp
@@ -255,7 +255,7 @@ QSizeF QItemDelegatePrivate::doTextLayout(int lineWidth) const
\row \o \l Qt::BackgroundRole \o QBrush
\row \o \l Qt::BackgroundColorRole \o QColor (obsolete; use Qt::BackgroundRole instead)
\row \o \l Qt::CheckStateRole \o Qt::CheckState
- \row \o \l Qt::DecorationRole \o QIcon and QColor
+ \row \o \l Qt::DecorationRole \o QIcon, QPixmap and QColor
\row \o \l Qt::DisplayRole \o QString and types with a string representation
\row \o \l Qt::EditRole \o See QItemEditorFactory for details
\row \o \l Qt::FontRole \o QFont
diff --git a/src/gui/itemviews/qitemselectionmodel.cpp b/src/gui/itemviews/qitemselectionmodel.cpp
index dfebe03..c6e02a6 100644
--- a/src/gui/itemviews/qitemselectionmodel.cpp
+++ b/src/gui/itemviews/qitemselectionmodel.cpp
@@ -599,7 +599,7 @@ void QItemSelectionModelPrivate::_q_rowsAboutToBeRemoved(const QModelIndex &pare
while (itParent.isValid() && itParent.parent() != parent)
itParent = itParent.parent();
- if (parent.isValid() && start <= itParent.row() && itParent.row() <= end) {
+ if (itParent.isValid() && start <= itParent.row() && itParent.row() <= end) {
deselected.append(*it);
it = ranges.erase(it);
} else {
@@ -1587,7 +1587,8 @@ void QItemSelectionModel::emitSelectionChanged(const QItemSelection &newSelectio
}
}
- emit selectionChanged(selected, deselected);
+ if (!selected.isEmpty() || !deselected.isEmpty())
+ emit selectionChanged(selected, deselected);
}
#ifndef QT_NO_DEBUG_STREAM
diff --git a/src/gui/itemviews/qlistview.cpp b/src/gui/itemviews/qlistview.cpp
index f58f458..d680af8 100644
--- a/src/gui/itemviews/qlistview.cpp
+++ b/src/gui/itemviews/qlistview.cpp
@@ -853,8 +853,13 @@ void QListView::resizeEvent(QResizeEvent *e)
*/
void QListView::dragMoveEvent(QDragMoveEvent *e)
{
- if (!d_func()->commonListView->filterDragMoveEvent(e))
- QAbstractItemView::dragMoveEvent(e);
+ Q_D(QListView);
+ if (!d->commonListView->filterDragMoveEvent(e)) {
+ if (viewMode() == QListView::ListMode && flow() == QListView::LeftToRight)
+ static_cast<QListModeViewBase *>(d->commonListView)->dragMoveEvent(e);
+ else
+ QAbstractItemView::dragMoveEvent(e);
+ }
}
@@ -1804,6 +1809,16 @@ QItemSelection QListViewPrivate::selection(const QRect &rect) const
return selection;
}
+#ifndef QT_NO_DRAGANDDROP
+QAbstractItemView::DropIndicatorPosition QListViewPrivate::position(const QPoint &pos, const QRect &rect, const QModelIndex &idx) const
+{
+ if (viewMode == QListView::ListMode && flow == QListView::LeftToRight)
+ return static_cast<QListModeViewBase *>(commonListView)->position(pos, rect, idx);
+ else
+ return QAbstractItemViewPrivate::position(pos, rect, idx);
+}
+#endif
+
/*
* Common ListView Implementation
*/
@@ -1893,6 +1908,96 @@ void QListModeViewBase::paintDragDrop(QPainter *painter)
// in IconMode, it makes no sense to show it
dd->paintDropIndicator(painter);
}
+
+QAbstractItemView::DropIndicatorPosition QListModeViewBase::position(const QPoint &pos, const QRect &rect, const QModelIndex &index) const
+{
+ QAbstractItemView::DropIndicatorPosition r = QAbstractItemView::OnViewport;
+ if (!dd->overwrite) {
+ const int margin = 2;
+ if (pos.x() - rect.left() < margin) {
+ r = QAbstractItemView::AboveItem; // Visually, on the left
+ } else if (rect.right() - pos.x() < margin) {
+ r = QAbstractItemView::BelowItem; // Visually, on the right
+ } else if (rect.contains(pos, true)) {
+ r = QAbstractItemView::OnItem;
+ }
+ } else {
+ QRect touchingRect = rect;
+ touchingRect.adjust(-1, -1, 1, 1);
+ if (touchingRect.contains(pos, false)) {
+ r = QAbstractItemView::OnItem;
+ }
+ }
+
+ if (r == QAbstractItemView::OnItem && (!(dd->model->flags(index) & Qt::ItemIsDropEnabled)))
+ r = pos.x() < rect.center().x() ? QAbstractItemView::AboveItem : QAbstractItemView::BelowItem;
+
+ return r;
+}
+
+void QListModeViewBase::dragMoveEvent(QDragMoveEvent *event)
+{
+ if (qq->dragDropMode() == QAbstractItemView::InternalMove
+ && (event->source() != qq || !(event->possibleActions() & Qt::MoveAction)))
+ return;
+
+ // ignore by default
+ event->ignore();
+
+ QModelIndex index = qq->indexAt(event->pos());
+ dd->hover = index;
+ if (!dd->droppingOnItself(event, index)
+ && dd->canDecode(event)) {
+
+ if (index.isValid() && dd->showDropIndicator) {
+ QRect rect = qq->visualRect(index);
+ dd->dropIndicatorPosition = position(event->pos(), rect, index);
+ switch (dd->dropIndicatorPosition) {
+ case QAbstractItemView::AboveItem:
+ if (dd->isIndexDropEnabled(index.parent())) {
+ dd->dropIndicatorRect = QRect(rect.left(), rect.top(), 0, rect.height());
+ event->accept();
+ } else {
+ dd->dropIndicatorRect = QRect();
+ }
+ break;
+ case QAbstractItemView::BelowItem:
+ if (dd->isIndexDropEnabled(index.parent())) {
+ dd->dropIndicatorRect = QRect(rect.right(), rect.top(), 0, rect.height());
+ event->accept();
+ } else {
+ dd->dropIndicatorRect = QRect();
+ }
+ break;
+ case QAbstractItemView::OnItem:
+ if (dd->isIndexDropEnabled(index)) {
+ dd->dropIndicatorRect = rect;
+ event->accept();
+ } else {
+ dd->dropIndicatorRect = QRect();
+ }
+ break;
+ case QAbstractItemView::OnViewport:
+ dd->dropIndicatorRect = QRect();
+ if (dd->isIndexDropEnabled(qq->rootIndex())) {
+ event->accept(); // allow dropping in empty areas
+ }
+ break;
+ }
+ } else {
+ dd->dropIndicatorRect = QRect();
+ dd->dropIndicatorPosition = QAbstractItemView::OnViewport;
+ if (dd->isIndexDropEnabled(qq->rootIndex())) {
+ event->accept(); // allow dropping in empty areas
+ }
+ }
+ dd->viewport->update();
+ } // can decode
+
+ if (dd->shouldAutoScroll(event->pos()))
+ qq->startAutoScroll();
+}
+
#endif //QT_NO_DRAGANDDROP
void QListModeViewBase::updateVerticalScrollBar(const QSize &step)
@@ -2298,6 +2403,12 @@ QVector<QModelIndex> QListModeViewBase::intersectingSet(const QRect &area) const
return ret;
}
+void QListModeViewBase::dataChanged(const QModelIndex &, const QModelIndex &)
+{
+ dd->doDelayedItemsLayout();
+}
+
+
QRect QListModeViewBase::mapToViewport(const QRect &rect) const
{
if (isWrapping())
diff --git a/src/gui/itemviews/qlistview_p.h b/src/gui/itemviews/qlistview_p.h
index de4c7f3..31459b0 100644
--- a/src/gui/itemviews/qlistview_p.h
+++ b/src/gui/itemviews/qlistview_p.h
@@ -130,6 +130,7 @@ public:
virtual void clear() = 0;
virtual void setRowCount(int) = 0;
virtual QVector<QModelIndex> intersectingSet(const QRect &area) const = 0;
+ virtual void dataChanged(const QModelIndex &, const QModelIndex &) = 0;
virtual int horizontalScrollToValue(int index, QListView::ScrollHint hint,
bool leftOf, bool rightOf, const QRect &area, const QRect &rect) const;
@@ -141,7 +142,6 @@ public:
virtual int verticalOffset() const { return verticalScrollBar()->value(); }
virtual void updateHorizontalScrollBar(const QSize &step);
virtual void updateVerticalScrollBar(const QSize &step);
- virtual void dataChanged(const QModelIndex &, const QModelIndex &) { }
virtual void appendHiddenRow(int row);
virtual void removeHiddenRow(int row);
virtual void setPositionForIndex(const QPoint &, const QModelIndex &) { }
@@ -217,6 +217,7 @@ public:
void clear();
void setRowCount(int rowCount) { flowPositions.resize(rowCount); }
QVector<QModelIndex> intersectingSet(const QRect &area) const;
+ void dataChanged(const QModelIndex &, const QModelIndex &);
int horizontalScrollToValue(int index, QListView::ScrollHint hint,
bool leftOf, bool rightOf,const QRect &area, const QRect &rect) const;
@@ -231,6 +232,11 @@ public:
#ifndef QT_NO_DRAGANDDROP
void paintDragDrop(QPainter *painter);
+
+ // The next two methods are to be used on LefToRight flow only.
+ // WARNING: Plenty of duplicated code from QAbstractItemView{,Private}.
+ QAbstractItemView::DropIndicatorPosition position(const QPoint &pos, const QRect &rect, const QModelIndex &idx) const;
+ void dragMoveEvent(QDragMoveEvent *e);
#endif
private:
@@ -356,6 +362,10 @@ public:
QItemSelection selection(const QRect &rect) const;
void selectAll(QItemSelectionModel::SelectionFlags command);
+#ifndef QT_NO_DRAGANDDROP
+ virtual QAbstractItemView::DropIndicatorPosition position(const QPoint &pos, const QRect &rect, const QModelIndex &idx) const;
+#endif
+
inline void setGridSize(const QSize &size) { grid = size; }
inline QSize gridSize() const { return grid; }
inline void setWrapping(bool b) { wrap = b; }
diff --git a/src/gui/itemviews/qlistwidget.cpp b/src/gui/itemviews/qlistwidget.cpp
index a978d0f..5dd1d76 100644
--- a/src/gui/itemviews/qlistwidget.cpp
+++ b/src/gui/itemviews/qlistwidget.cpp
@@ -169,6 +169,20 @@ QListWidgetItem *QListModel::take(int row)
return item;
}
+void QListModel::move(int srcRow, int dstRow)
+{
+ if (srcRow == dstRow
+ || srcRow < 0 || srcRow >= items.count()
+ || dstRow < 0 || dstRow >= items.count())
+ return;
+
+ beginMoveRows(QModelIndex(), srcRow, srcRow, QModelIndex(), dstRow);
+ if (srcRow < dstRow)
+ --dstRow;
+ items.move(srcRow, dstRow);
+ endMoveRows();
+}
+
int QListModel::rowCount(const QModelIndex &parent) const
{
return parent.isValid() ? 0 : items.count();
@@ -1804,22 +1818,15 @@ void QListWidget::dropEvent(QDropEvent *event) {
if (persIndexes.contains(topIndex))
return;
+ qSort(persIndexes); // The dropped items will remain in the same visual order.
QPersistentModelIndex dropRow = model()->index(row, col, topIndex);
- QList<QListWidgetItem *> taken;
- for (int i = 0; i < persIndexes.count(); ++i)
- taken.append(takeItem(persIndexes.at(i).row()));
-
- // insert them back in at their new positions
+ int r = row == -1 ? count() : (dropRow.row() >= 0 ? dropRow.row() : row);
for (int i = 0; i < persIndexes.count(); ++i) {
- // Either at a specific point or appended
- if (row == -1) {
- insertItem(count(), taken.takeFirst());
- } else {
- int r = dropRow.row() >= 0 ? dropRow.row() : row;
- insertItem(qMin(r, count()), taken.takeFirst());
- }
+ const QPersistentModelIndex &pIndex = persIndexes.at(i);
+ d->listModel()->move(pIndex.row(), r);
+ r = pIndex.row() + 1; // Dropped items are inserted contiguously and in the right order.
}
event->accept();
diff --git a/src/gui/itemviews/qlistwidget_p.h b/src/gui/itemviews/qlistwidget_p.h
index 69cfa26..b5f28e3 100644
--- a/src/gui/itemviews/qlistwidget_p.h
+++ b/src/gui/itemviews/qlistwidget_p.h
@@ -77,7 +77,7 @@ public:
{ return *i2 < *i1; }
};
-class QListModel : public QAbstractListModel
+class Q_AUTOTEST_EXPORT QListModel : public QAbstractListModel
{
Q_OBJECT
public:
@@ -90,6 +90,7 @@ public:
void insert(int row, const QStringList &items);
void remove(QListWidgetItem *item);
QListWidgetItem *take(int row);
+ void move(int srcRow, int dstRow);
int rowCount(const QModelIndex &parent = QModelIndex()) const;
diff --git a/src/gui/itemviews/qstyleditemdelegate.cpp b/src/gui/itemviews/qstyleditemdelegate.cpp
index 1c36787..1ca0391 100644
--- a/src/gui/itemviews/qstyleditemdelegate.cpp
+++ b/src/gui/itemviews/qstyleditemdelegate.cpp
@@ -148,7 +148,7 @@ public:
\row \o \l Qt::BackgroundRole \o QBrush
\row \o \l Qt::BackgroundColorRole \o QColor (obsolete; use Qt::BackgroundRole instead)
\row \o \l Qt::CheckStateRole \o Qt::CheckState
- \row \o \l Qt::DecorationRole \o QIcon and QColor
+ \row \o \l Qt::DecorationRole \o QIcon, QPixmap, QImage and QColor
\row \o \l Qt::DisplayRole \o QString and types with a string representation
\row \o \l Qt::EditRole \o See QItemEditorFactory for details
\row \o \l Qt::FontRole \o QFont
diff --git a/src/gui/itemviews/qtableview.cpp b/src/gui/itemviews/qtableview.cpp
index 2a937f1..02e5fff 100644
--- a/src/gui/itemviews/qtableview.cpp
+++ b/src/gui/itemviews/qtableview.cpp
@@ -117,7 +117,7 @@ void QSpanCollection::updateSpan(QSpanCollection::Span *span, int old_height)
Index::iterator it_y = index.lowerBound(-span->bottom());
Q_ASSERT(it_y != index.end()); //it_y must exist since the span is in the list
while (-it_y.key() <= span->top() + old_height -1) {
- if(-it_y.key() != span->bottom()) {
+ if (-it_y.key() > span->bottom()) {
(*it_y).remove(-span->left());
if (it_y->isEmpty()) {
it_y = index.erase(it_y) - 1;
@@ -544,6 +544,47 @@ void QSpanCollection::updateRemovedColumns(int start, int end)
qDeleteAll(toBeDeleted);
}
+#ifdef QT_BUILD_INTERNAL
+/*!
+ \internal
+ Checks whether the span index structure is self-consistent, and consistent with the spans list.
+*/
+bool QSpanCollection::checkConsistency() const
+{
+ for (Index::const_iterator it_y = index.begin(); it_y != index.end(); ++it_y) {
+ int y = -it_y.key();
+ const SubIndex &subIndex = it_y.value();
+ for (SubIndex::const_iterator it = subIndex.begin(); it != subIndex.end(); ++it) {
+ int x = -it.key();
+ Span *span = it.value();
+ if (!spans.contains(span) || span->left() != x
+ || y < span->top() || y > span->bottom())
+ return false;
+ }
+ }
+
+ foreach (const Span *span, spans) {
+ if (span->width() < 1 || span->height() < 1
+ || (span->width() == 1 && span->height() == 1))
+ return false;
+ for (int y = span->top(); y <= span->bottom(); ++y) {
+ Index::const_iterator it_y = index.find(-y);
+ if (it_y == index.end()) {
+ if (y == span->top())
+ return false;
+ else
+ continue;
+ }
+ const SubIndex &subIndex = it_y.value();
+ SubIndex::const_iterator it = subIndex.find(-span->left());
+ if (it == subIndex.end() || it.value() != span)
+ return false;
+ }
+ }
+ return true;
+}
+#endif
+
class QTableCornerButton : public QAbstractButton
{
Q_OBJECT
@@ -2065,6 +2106,8 @@ int QTableView::sizeHintForRow(int row) const
if (!model())
return -1;
+ ensurePolished();
+
int left = qMax(0, columnAt(0));
int right = columnAt(d->viewport->width());
if (right == -1) // the table don't have enough columns to fill the viewport
@@ -2122,6 +2165,8 @@ int QTableView::sizeHintForColumn(int column) const
if (!model())
return -1;
+ ensurePolished();
+
int top = qMax(0, rowAt(0));
int bottom = rowAt(d->viewport->height());
if (!isVisible() || bottom == -1) // the table don't have enough rows to fill the viewport
diff --git a/src/gui/itemviews/qtableview_p.h b/src/gui/itemviews/qtableview_p.h
index 9fa14c2..6b19ded 100644
--- a/src/gui/itemviews/qtableview_p.h
+++ b/src/gui/itemviews/qtableview_p.h
@@ -74,7 +74,7 @@ QT_BEGIN_NAMESPACE
* The key of the first map is the row where the subspan starts, the value of the first map is
* a list (map) of all subspans that starts at the same row. It is indexed with its row
*/
-class QSpanCollection
+class Q_AUTOTEST_EXPORT QSpanCollection
{
public:
struct Span
@@ -112,6 +112,10 @@ public:
void updateRemovedRows(int start, int end);
void updateRemovedColumns(int start, int end);
+#ifdef QT_BUILD_INTERNAL
+ bool checkConsistency() const;
+#endif
+
typedef QLinkedList<Span *> SpanList;
SpanList spans; //lists of all spans
private:
diff --git a/src/gui/itemviews/qtreeview.cpp b/src/gui/itemviews/qtreeview.cpp
index f37d8c7..3856293 100644
--- a/src/gui/itemviews/qtreeview.cpp
+++ b/src/gui/itemviews/qtreeview.cpp
@@ -1226,8 +1226,12 @@ bool QTreeView::viewportEvent(QEvent *event)
if (oldIndex != newIndex) {
QRect oldRect = visualRect(oldIndex);
QRect newRect = visualRect(newIndex);
- viewport()->update(oldRect.left() - d->indent, oldRect.top(), d->indent, oldRect.height());
- viewport()->update(newRect.left() - d->indent, newRect.top(), d->indent, newRect.height());
+ oldRect.setLeft(oldRect.left() - d->indent);
+ newRect.setLeft(newRect.left() - d->indent);
+ //we need to paint the whole items (including the decoration) so that when the user
+ //moves the mouse over those elements they are updated
+ viewport()->update(oldRect);
+ viewport()->update(newRect);
}
}
if (selectionBehavior() == QAbstractItemView::SelectRows) {
@@ -1422,8 +1426,9 @@ void QTreeView::drawTree(QPainter *painter, const QRegion &region) const
for (; i < viewItems.count() && y <= area.bottom(); ++i) {
const int itemHeight = d->itemHeight(i);
option.rect.setRect(0, y, viewportWidth, itemHeight);
- option.state = state | (viewItems.at(i).expanded
- ? QStyle::State_Open : QStyle::State_None);
+ option.state = state | (viewItems.at(i).expanded ? QStyle::State_Open : QStyle::State_None)
+ | (viewItems.at(i).hasChildren ? QStyle::State_Children : QStyle::State_None)
+ | (viewItems.at(i).hasMoreSiblings ? QStyle::State_Sibling : QStyle::State_None);
d->current = i;
d->spanning = viewItems.at(i).spanning;
if (!multipleRects || !drawn.contains(i)) {
@@ -1748,14 +1753,8 @@ void QTreeView::drawBranches(QPainter *painter, const QRect &rect,
opt.rect = primitive;
const bool expanded = viewItem.expanded;
- const bool children = (((expanded && viewItem.total > 0)) // already laid out and has children
- || d->hasVisibleChildren(index)); // not laid out yet, so we don't know
- bool moreSiblings = false;
- if (d->hiddenIndexes.isEmpty())
- moreSiblings = (d->model->rowCount(parent) - 1 > index.row());
- else
- moreSiblings = ((d->viewItems.size() > item +1)
- && (d->viewItems.at(item + 1).index.parent() == parent));
+ const bool children = viewItem.hasChildren;
+ bool moreSiblings = viewItem.hasMoreSiblings;
opt.state = QStyle::State_Item | extraFlags
| (moreSiblings ? QStyle::State_Sibling : QStyle::State_None)
@@ -1845,9 +1844,7 @@ void QTreeView::mouseDoubleClickEvent(QMouseEvent *event)
return; // user clicked outside the items
const QPersistentModelIndex firstColumnIndex = d->viewItems.at(i).index;
-
- int column = d->header->logicalIndexAt(event->x());
- QPersistentModelIndex persistent = firstColumnIndex.sibling(firstColumnIndex.row(), column);
+ const QPersistentModelIndex persistent = indexAt(event->pos());
if (d->pressedIndex != persistent) {
mousePressEvent(event);
@@ -2437,7 +2434,9 @@ void QTreeView::rowsInserted(const QModelIndex &parent, int start, int end)
return;
}
- if (parent != d->root && !d->isIndexExpanded(parent) && d->model->rowCount(parent) > (end - start) + 1) {
+ const int parentRowCount = d->model->rowCount(parent);
+ const int delta = end - start + 1;
+ if (parent != d->root && !d->isIndexExpanded(parent) && parentRowCount > delta) {
QAbstractItemView::rowsInserted(parent, start, end);
return;
}
@@ -2452,11 +2451,29 @@ void QTreeView::rowsInserted(const QModelIndex &parent, int start, int end)
? d->viewItems.count()
: d->viewItems.at(parentItem).total) - 1;
- const int delta = end - start + 1;
+ if (parentRowCount == end + 1 && start > 0) {
+ //need to Update hasMoreSiblings
+ int previousRow = start - 1;
+ QModelIndex previousSibilingModelIndex = d->model->index(previousRow, 0, parent);
+ bool isHidden = d->isRowHidden(previousSibilingModelIndex);
+ while (isHidden && previousRow > 0) {
+ previousRow--;
+ previousSibilingModelIndex = d->model->index(previousRow, 0, parent);
+ isHidden = d->isRowHidden(previousSibilingModelIndex);
+ }
+ if (!isHidden) {
+ const int previousSibilling = d->viewIndex(previousSibilingModelIndex);
+ if(previousSibilling != -1)
+ d->viewItems[previousSibilling].hasMoreSiblings = true;
+ }
+ }
+
QVector<QTreeViewItem> insertedItems(delta);
for (int i = 0; i < delta; ++i) {
insertedItems[i].index = d->model->index(i + start, 0, parent);
insertedItems[i].level = childLevel;
+ insertedItems[i].hasChildren = d->hasVisibleChildren(insertedItems[i].index);
+ insertedItems[i].hasMoreSiblings = !((i == delta - 1) && (parentRowCount == end +1));
}
if (d->viewItems.isEmpty())
d->defaultItemHeight = indexRowSizeHint(insertedItems[0].index);
@@ -2498,13 +2515,17 @@ void QTreeView::rowsInserted(const QModelIndex &parent, int start, int end)
d->viewItems.begin() + insertPos + 1);
}
+ if (parentItem != -1)
+ d->viewItems[parentItem].hasChildren = true;
d->updateChildCount(parentItem, delta);
+
updateGeometries();
viewport()->update();
} else if ((parentItem != -1) && d->viewItems.at(parentItem).expanded) {
d->doDelayedItemsLayout();
} else if (parentItem != -1 && (d->model->rowCount(parent) == end - start + 1)) {
- // the parent just went from 0 children to having some update to re-paint the decoration
+ // the parent just went from 0 children to more. update to re-paint the decoration
+ d->viewItems[parentItem].hasChildren = true;
viewport()->update();
}
QAbstractItemView::rowsInserted(parent, start, end);
@@ -3127,7 +3148,7 @@ void QTreeViewPrivate::layout(int i)
int hidden = 0;
int last = 0;
int children = 0;
-
+ QTreeViewItem *item = 0;
for (int j = first; j < first + count; ++j) {
current = model->index(j - first, 0, parent);
if (isRowHidden(current)) {
@@ -3135,17 +3156,25 @@ void QTreeViewPrivate::layout(int i)
last = j - hidden + children;
} else {
last = j - hidden + children;
- viewItems[last].index = current;
- viewItems[last].level = level;
- viewItems[last].height = 0;
- viewItems[last].spanning = q->isFirstColumnSpanned(current.row(), parent);
- viewItems[last].expanded = false;
- viewItems[last].total = 0;
+ if (item)
+ item->hasMoreSiblings = true;
+ item = &viewItems[last];
+ item->index = current;
+ item->level = level;
+ item->height = 0;
+ item->spanning = q->isFirstColumnSpanned(current.row(), parent);
+ item->expanded = false;
+ item->total = 0;
+ item->hasMoreSiblings = false;
if (isIndexExpanded(current)) {
- viewItems[last].expanded = true;
+ item->expanded = true;
layout(last);
- children += viewItems[last].total;
+ item = &viewItems[last];
+ children += item->total;
+ item->hasChildren = item->total > 0;
last = j - hidden + children;
+ } else {
+ item->hasChildren = hasVisibleChildren(current);
}
}
}
@@ -3701,6 +3730,7 @@ void QTreeViewPrivate::rowsRemoved(const QModelIndex &parent,
const int delta = end - start + 1;
+ int previousSibiling = -1;
int removedCount = 0;
for (int item = firstChildItem; item <= lastChildItem; ) {
Q_ASSERT(viewItems.at(item).level == childLevel);
@@ -3708,6 +3738,7 @@ void QTreeViewPrivate::rowsRemoved(const QModelIndex &parent,
//Q_ASSERT(modelIndex.parent() == parent);
const int count = viewItems.at(item).total + 1;
if (modelIndex.row() < start) {
+ previousSibiling = item;
// not affected by the removal
item += count;
} else if (modelIndex.row() <= end) {
@@ -3725,7 +3756,13 @@ void QTreeViewPrivate::rowsRemoved(const QModelIndex &parent,
}
}
+ if (previousSibiling != -1 && after && model->rowCount(parent) == start)
+ viewItems[previousSibiling].hasMoreSiblings = false;
+
+
updateChildCount(parentItem, -removedCount);
+ if (parentItem != -1 && viewItems.at(parentItem).total == 0)
+ viewItems[parentItem].hasChildren = false; //every children have been removed;
if (after) {
q->updateGeometries();
viewport->update();
diff --git a/src/gui/itemviews/qtreeview_p.h b/src/gui/itemviews/qtreeview_p.h
index def8253..aad5837 100644
--- a/src/gui/itemviews/qtreeview_p.h
+++ b/src/gui/itemviews/qtreeview_p.h
@@ -62,11 +62,14 @@ QT_BEGIN_NAMESPACE
struct QTreeViewItem
{
- QTreeViewItem() : expanded(false), spanning(false), total(0), level(0), height(0) {}
+ QTreeViewItem() : expanded(false), spanning(false), hasChildren(false),
+ hasMoreSiblings(false), total(0), level(0), height(0) {}
QModelIndex index; // we remove items whenever the indexes are invalidated
uint expanded : 1;
uint spanning : 1;
- uint total : 30; // total number of children visible
+ uint hasChildren : 1; // if the item has visible children (even if collapsed)
+ uint hasMoreSiblings : 1;
+ uint total : 28; // total number of children visible
uint level : 16; // indentation
int height : 16; // row height
};
diff --git a/src/gui/kernel/qactiongroup.cpp b/src/gui/kernel/qactiongroup.cpp
index 40d18a2..8db76e4 100644
--- a/src/gui/kernel/qactiongroup.cpp
+++ b/src/gui/kernel/qactiongroup.cpp
@@ -72,10 +72,16 @@ void QActionGroupPrivate::_q_actionChanged()
Q_Q(QActionGroup);
QAction *action = qobject_cast<QAction*>(q->sender());
Q_ASSERT_X(action != 0, "QWidgetGroup::_q_actionChanged", "internal error");
- if(exclusive && action->isChecked() && action != current) {
- if(current)
- current->setChecked(false);
- current = action;
+ if(exclusive) {
+ if (action->isChecked()) {
+ if (action != current) {
+ if(current)
+ current->setChecked(false);
+ current = action;
+ }
+ } else if (action == current) {
+ current = 0;
+ }
}
}
diff --git a/src/gui/kernel/qapplication.cpp b/src/gui/kernel/qapplication.cpp
index 7c38d4b..987aa26 100644
--- a/src/gui/kernel/qapplication.cpp
+++ b/src/gui/kernel/qapplication.cpp
@@ -154,14 +154,6 @@ bool QApplicationPrivate::autoSipEnabled = false;
bool QApplicationPrivate::autoSipEnabled = true;
#endif
-QGestureManager* QGestureManager::instance()
-{
- QApplicationPrivate *d = qApp->d_func();
- if (!d->gestureManager)
- d->gestureManager = new QGestureManager(qApp);
- return d->gestureManager;
-}
-
QApplicationPrivate::QApplicationPrivate(int &argc, char **argv, QApplication::Type type)
: QCoreApplicationPrivate(argc, argv)
{
@@ -185,7 +177,7 @@ QApplicationPrivate::QApplicationPrivate(int &argc, char **argv, QApplication::T
directPainters = 0;
#endif
- gestureManager = 0;
+ gestureWidget = 0;
if (!self)
self = this;
@@ -474,9 +466,6 @@ bool QApplicationPrivate::fade_tooltip = false;
bool QApplicationPrivate::animate_toolbox = false;
bool QApplicationPrivate::widgetCount = false;
bool QApplicationPrivate::load_testability = false;
-#if defined(Q_WS_WIN) && !defined(Q_WS_WINCE)
-bool QApplicationPrivate::inSizeMove = false;
-#endif
#ifdef QT_KEYPAD_NAVIGATION
# ifdef Q_OS_SYMBIAN
Qt::NavigationMode QApplicationPrivate::navigationMode = Qt::NavigationModeKeypadDirectional;
@@ -940,12 +929,8 @@ void QApplicationPrivate::initialize()
graphics_system = QGraphicsSystemFactory::create(graphics_system_name);
#endif
#ifndef QT_NO_WHEELEVENT
-#ifdef Q_OS_MAC
- QApplicationPrivate::wheel_scroll_lines = 1;
-#else
QApplicationPrivate::wheel_scroll_lines = 3;
#endif
-#endif
initializeMultitouch();
}
@@ -2085,7 +2070,7 @@ void QApplicationPrivate::setFocusWidget(QWidget *focus, Qt::FocusReason reason)
}
QWidget *prev = focus_widget;
focus_widget = focus;
-
+#ifndef QT_NO_IM
if (prev && ((reason != Qt::PopupFocusReason && reason != Qt::MenuBarFocusReason
&& prev->testAttribute(Qt::WA_InputMethodEnabled))
// Do reset the input context, in case the new focus widget won't accept keyboard input
@@ -2098,6 +2083,7 @@ void QApplicationPrivate::setFocusWidget(QWidget *focus, Qt::FocusReason reason)
qic->setFocusWidget(0);
}
}
+#endif //QT_NO_IM
if(focus_widget)
focus_widget->d_func()->setFocus_sys();
@@ -2129,12 +2115,14 @@ void QApplicationPrivate::setFocusWidget(QWidget *focus, Qt::FocusReason reason)
QApplication::sendEvent(that->style(), &out);
}
if(focus && QApplicationPrivate::focus_widget == focus) {
+#ifndef QT_NO_IM
if (focus->testAttribute(Qt::WA_InputMethodEnabled)) {
QInputContext *qic = focus->inputContext();
if (qic && focus->testAttribute(Qt::WA_WState_Created)
&& focus->isEnabled())
qic->setFocusWidget(focus);
}
+#endif //QT_NO_IM
QFocusEvent in(QEvent::FocusIn, reason);
QPointer<QWidget> that = focus;
QApplication::sendEvent(focus, &in);
@@ -3638,12 +3626,12 @@ bool QApplication::notify(QObject *receiver, QEvent *e)
}
// walk through parents and check for gestures
- if (d->gestureManager) {
+ if (qt_gestureManager) {
if (receiver->isWidgetType()) {
- if (d->gestureManager->filterEvent(static_cast<QWidget *>(receiver), e))
+ if (qt_gestureManager->filterEvent(static_cast<QWidget *>(receiver), e))
return true;
} else if (QGesture *gesture = qobject_cast<QGesture *>(receiver)) {
- if (d->gestureManager->filterEvent(gesture, e))
+ if (qt_gestureManager->filterEvent(gesture, e))
return true;
}
}
@@ -4156,7 +4144,7 @@ bool QApplication::notify(QObject *receiver, QEvent *e)
if (receiver->isWidgetType()) {
QWidget *w = static_cast<QWidget *>(receiver);
QGestureEvent *gestureEvent = static_cast<QGestureEvent *>(e);
- QList<QGesture *> allGestures = gestureEvent->allGestures();
+ QList<QGesture *> allGestures = gestureEvent->gestures();
bool eventAccepted = gestureEvent->isAccepted();
bool wasAccepted = eventAccepted;
@@ -4167,7 +4155,12 @@ bool QApplication::notify(QObject *receiver, QEvent *e)
for (int i = 0; i < allGestures.size();) {
QGesture *g = allGestures.at(i);
Qt::GestureType type = g->gestureType();
- if (wd->gestureContext.contains(type)) {
+ QMap<Qt::GestureType, Qt::GestureFlags>::iterator contextit =
+ wd->gestureContext.find(type);
+ bool deliver = contextit != wd->gestureContext.end() &&
+ (g->state() == Qt::GestureStarted || w == receiver ||
+ (contextit.value() & Qt::ReceivePartialGestures));
+ if (deliver) {
allGestures.removeAt(i);
gestures.append(g);
} else {
@@ -5617,37 +5610,6 @@ Q_GUI_EXPORT void qt_translateRawTouchEvent(QWidget *window,
QApplicationPrivate::translateRawTouchEvent(window, deviceType, touchPoints);
}
-/*!
- \since 4.6
-
- Registers the given \a recognizer in the gesture framework and returns a gesture ID
- for it.
-
- The application takes ownership of the \a recognizer and returns the gesture type
- ID associated with it. For gesture recognizers which handle custom QGesture
- objects (i.e., those which return Qt::CustomGesture in a QGesture::gestureType()
- function) the return value is a gesture ID between Qt::CustomGesture and
- Qt::LastGestureType, inclusive.
-
- \sa unregisterGestureRecognizer(), QGestureRecognizer::createGesture(), QGesture
-*/
-Qt::GestureType QApplication::registerGestureRecognizer(QGestureRecognizer *recognizer)
-{
- return QGestureManager::instance()->registerGestureRecognizer(recognizer);
-}
-
-/*!
- \since 4.6
-
- Unregisters all gesture recognizers of the specified \a type.
-
- \sa registerGestureRecognizer()
-*/
-void QApplication::unregisterGestureRecognizer(Qt::GestureType type)
-{
- QGestureManager::instance()->unregisterGestureRecognizer(type);
-}
-
QT_END_NAMESPACE
#include "moc_qapplication.cpp"
diff --git a/src/gui/kernel/qapplication.h b/src/gui/kernel/qapplication.h
index 5a8e325..e8c1281 100644
--- a/src/gui/kernel/qapplication.h
+++ b/src/gui/kernel/qapplication.h
@@ -86,7 +86,6 @@ class QSymbianEvent;
class QApplication;
class QApplicationPrivate;
-class QGestureRecognizer;
#if defined(qApp)
#undef qApp
#endif
@@ -288,9 +287,6 @@ public:
static Qt::NavigationMode navigationMode();
#endif
- Qt::GestureType registerGestureRecognizer(QGestureRecognizer *recognizer);
- void unregisterGestureRecognizer(Qt::GestureType type);
-
Q_SIGNALS:
void lastWindowClosed();
void focusChanged(QWidget *old, QWidget *now);
diff --git a/src/gui/kernel/qapplication_mac.mm b/src/gui/kernel/qapplication_mac.mm
index 771cddc..84da56e 100644
--- a/src/gui/kernel/qapplication_mac.mm
+++ b/src/gui/kernel/qapplication_mac.mm
@@ -104,6 +104,7 @@
#include "qdir.h"
#include "qdebug.h"
#include "qtimer.h"
+#include "qurl.h"
#include "private/qmacinputcontext_p.h"
#include "private/qpaintengine_mac_p.h"
#include "private/qcursor_p.h"
@@ -966,7 +967,8 @@ struct QMacAppleEventTypeSpec {
AEEventID mac_id;
} app_apple_events[] = {
{ kCoreEventClass, kAEQuitApplication },
- { kCoreEventClass, kAEOpenDocuments }
+ { kCoreEventClass, kAEOpenDocuments },
+ { kInternetEventClass, kAEGetURL },
};
#ifndef QT_MAC_USE_COCOA
@@ -1201,7 +1203,7 @@ void qt_init(QApplicationPrivate *priv, int)
app_proc_ae_handlerUPP = AEEventHandlerUPP(QApplicationPrivate::globalAppleEventProcessor);
for(uint i = 0; i < sizeof(app_apple_events) / sizeof(QMacAppleEventTypeSpec); ++i)
AEInstallEventHandler(app_apple_events[i].mac_class, app_apple_events[i].mac_id,
- app_proc_ae_handlerUPP, SRefCon(qApp), true);
+ app_proc_ae_handlerUPP, SRefCon(qApp), false);
}
if (QApplicationPrivate::app_style) {
@@ -1237,6 +1239,10 @@ void qt_init(QApplicationPrivate *priv, int)
[cocoaApp setMenu:[qtMenuLoader menu]];
[newDelegate setMenuLoader:qtMenuLoader];
[qtMenuLoader release];
+
+ NSAppleEventManager *eventManager = [NSAppleEventManager sharedAppleEventManager];
+ [eventManager setEventHandler:newDelegate andSelector:@selector(getUrl:withReplyEvent:)
+ forEventClass:kInternetEventClass andEventID:kAEGetURL];
}
#endif
// Register for Carbon tablet proximity events on the event monitor target.
@@ -1697,15 +1703,14 @@ QApplicationPrivate::globalEventProcessor(EventHandlerCallRef er, EventRef event
// (actually two events; one for horizontal and one for vertical).
// As a results of this, and to make sure we dont't receive duplicate events,
// we try to detect when this happend by checking the 'compatibilityEvent'.
- const int scrollFactor = 4 * 8;
SInt32 mdelt = 0;
GetEventParameter(event, kEventParamMouseWheelSmoothHorizontalDelta, typeSInt32, 0,
sizeof(mdelt), 0, &mdelt);
- wheel_deltaX = mdelt * scrollFactor;
+ wheel_deltaX = mdelt;
mdelt = 0;
GetEventParameter(event, kEventParamMouseWheelSmoothVerticalDelta, typeSInt32, 0,
sizeof(mdelt), 0, &mdelt);
- wheel_deltaY = mdelt * scrollFactor;
+ wheel_deltaY = mdelt;
GetEventParameter(event, kEventParamEventRef, typeEventRef, 0,
sizeof(compatibilityEvent), 0, &compatibilityEvent);
} else if (ekind == kEventMouseWheelMoved) {
@@ -1718,31 +1723,11 @@ QApplicationPrivate::globalEventProcessor(EventHandlerCallRef er, EventRef event
GetEventParameter(event, kEventParamMouseWheelAxis, typeMouseWheelAxis, 0,
sizeof(axis), 0, &axis);
- // The 'new' event has acceleration applied by the OS, while the old (on
- // Carbon only), has not. So we introduce acceleration here to be consistent.
- // The acceleration is trying to respect both pixel based and line scrolling,
- // which turns out to be rather difficult.
- int linesToScroll = mdelt > 0 ? 1 : -1;
- static QTime t;
- int elapsed = t.elapsed();
- t.restart();
- if (elapsed < 20)
- linesToScroll *= 120;
- else if (elapsed < 30)
- linesToScroll *= 60;
- else if (elapsed < 50)
- linesToScroll *= 30;
- else if (elapsed < 100)
- linesToScroll *= 6;
- else if (elapsed < 200)
- linesToScroll *= 3;
- else if (elapsed < 300)
- linesToScroll *= 2;
-
+ // Remove acceleration, and use either -120 or 120 as delta:
if (axis == kEventMouseWheelAxisX)
- wheel_deltaX = linesToScroll * 120;
+ wheel_deltaX = qBound(-120, int(mdelt * 10000), 120);
else
- wheel_deltaY = linesToScroll * 120;
+ wheel_deltaY = qBound(-120, int(mdelt * 10000), 120);
}
}
@@ -2498,6 +2483,22 @@ OSStatus QApplicationPrivate::globalAppleEventProcessor(const AppleEvent *ae, Ap
default:
break;
}
+ } else if (aeClass == kInternetEventClass) {
+ switch (aeID) {
+ case kAEGetURL: {
+ char urlData[1024];
+ Size actualSize;
+ if (AEGetParamPtr(ae, keyDirectObject, typeChar, 0, urlData,
+ sizeof(urlData) - 1, &actualSize) == noErr) {
+ urlData[actualSize] = 0;
+ QFileOpenEvent ev(QUrl(QString::fromUtf8(urlData)));
+ QApplication::sendSpontaneousEvent(app, &ev);
+ }
+ break;
+ }
+ default:
+ break;
+ }
}
#ifdef DEBUG_EVENTS
qDebug("Qt: internal: %shandled Apple event! %c%c%c%c %c%c%c%c", handled_event ? "(*)" : "",
@@ -2695,11 +2696,7 @@ int QApplication::keyboardInputInterval()
void QApplication::setWheelScrollLines(int n)
{
- Q_UNUSED(n);
- // On Mac, acceleration is handled by the OS. Multiplying wheel scroll
- // deltas with n will not be as cross platform as one might think! So
- // we choose to go native in this case (and let wheel_scroll_lines == 1).
- // QApplicationPrivate::wheel_scroll_lines = n;
+ QApplicationPrivate::wheel_scroll_lines = n;
}
int QApplication::wheelScrollLines()
diff --git a/src/gui/kernel/qapplication_p.h b/src/gui/kernel/qapplication_p.h
index 65f61e9..992e4be 100644
--- a/src/gui/kernel/qapplication_p.h
+++ b/src/gui/kernel/qapplication_p.h
@@ -72,7 +72,7 @@
#include <private/qgraphicssystem_qws_p.h>
#endif
#ifdef Q_OS_SYMBIAN
-#include <w32std.h>
+#include <w32std.h>
#endif
QT_BEGIN_NAMESPACE
@@ -84,7 +84,6 @@ class QInputContext;
class QObject;
class QWidget;
class QSocketNotifier;
-class QGestureManager;
extern bool qt_is_gui_used;
#ifndef QT_NO_CLIPBOARD
@@ -441,9 +440,6 @@ public:
#ifdef Q_WS_MAC
static bool native_modal_dialog_active;
#endif
-#if defined(Q_WS_WIN) && !defined(Q_WS_WINCE)
- static bool inSizeMove;
-#endif
static void setSystemPalette(const QPalette &pal);
static void setPalette_helper(const QPalette &palette, const char* className, bool clearWidgetPaletteHash);
@@ -513,7 +509,7 @@ public:
void sendSyntheticEnterLeave(QWidget *widget);
#endif
- QGestureManager *gestureManager;
+ QWidget *gestureWidget;
QMap<int, QWidget *> widgetForTouchPointId;
QMap<int, QTouchEvent::TouchPoint> appCurrentTouchPoints;
diff --git a/src/gui/kernel/qapplication_s60.cpp b/src/gui/kernel/qapplication_s60.cpp
index 0d75578..4291bee 100644
--- a/src/gui/kernel/qapplication_s60.cpp
+++ b/src/gui/kernel/qapplication_s60.cpp
@@ -357,6 +357,9 @@ QSymbianControl::~QSymbianControl()
setFocusSafely(false);
S60->appUi()->RemoveFromStack(this);
delete m_longTapDetector;
+
+ if(m_previousEventLongTap)
+ QApplicationPrivate::mouse_buttons = QApplicationPrivate::mouse_buttons & ~Qt::RightButton;
}
void QSymbianControl::setWidget(QWidget *w)
@@ -836,7 +839,7 @@ void QSymbianControl::Draw(const TRect& controlRect) const
if (qwidget->d_func()->isOpaque)
gc.SetDrawMode(CGraphicsContext::EDrawModeWriteAlpha);
gc.BitBlt(controlRect.iTl, bitmap, backingStoreRect);
- }
+ }
} else {
surface->flush(qwidget, QRegion(qt_TRect2QRect(backingStoreRect)), QPoint());
}
@@ -866,6 +869,11 @@ void QSymbianControl::SizeChanged()
tlwExtra->inTopLevelResize = false;
}
}
+
+ // CCoeControl::SetExtent calls SizeChanged, but does not call
+ // PositionChanged, so we call it here to ensure that the widget's
+ // position is updated.
+ PositionChanged();
}
void QSymbianControl::PositionChanged()
@@ -910,9 +918,9 @@ void QSymbianControl::FocusChanged(TDrawNow /* aDrawNow */)
CEikStatusPane* statusPane = S60->statusPane();
CEikButtonGroupContainer* buttonGroup = S60->buttonGroupContainer();
bool isFullscreen = qwidget->windowState() & Qt::WindowFullScreen;
- if (statusPane && (statusPane->IsVisible() == isFullscreen))
+ if (statusPane && (bool)statusPane->IsVisible() == isFullscreen)
statusPane->MakeVisible(!isFullscreen);
- if (buttonGroup && (buttonGroup->IsVisible() == isFullscreen))
+ if (buttonGroup && (bool)buttonGroup->IsVisible() == isFullscreen)
buttonGroup->MakeVisible(!isFullscreen);
#endif
} else if (QApplication::activeWindow() == qwidget->window()) {
@@ -925,6 +933,12 @@ void QSymbianControl::HandleResourceChange(int resourceType)
{
switch (resourceType) {
case KInternalStatusPaneChange:
+ if (qwidget->isFullScreen()) {
+ SetExtentToWholeScreen();
+ } else if (qwidget->isMaximized()) {
+ TRect r = static_cast<CEikAppUi*>(S60->appUi())->ClientRect();
+ SetExtent(r.iTl, r.Size());
+ }
qwidget->d_func()->setWindowIcon_sys(true);
break;
case KUidValueCoeFontChangeEvent:
@@ -1030,6 +1044,14 @@ QApplication::QApplication(QApplication::QS60MainApplicationFactory factory, int
void qt_init(QApplicationPrivate * /* priv */, int)
{
if (!CCoeEnv::Static()) {
+ // The S60 framework creates a new trap handler which will render any existing traps
+ // invalid as long as it is active. This means that all code in main() that occurs after
+ // the QApplication construction needs to be surrounded by a new trap, despite having
+ // an outer one already. To avoid this, we save the original trap handler here, and set
+ // it back after the S60 framework is constructed. Then we restore it right before the S60
+ // framework destruction.
+ TTrapHandler *origTrapHandler = User::TrapHandler();
+
// The S60 framework has not been initalized. We need to do it.
TApaApplicationFactory factory(S60->s60ApplicationFactory ?
S60->s60ApplicationFactory : newS60Application);
@@ -1038,8 +1060,19 @@ void qt_init(QApplicationPrivate * /* priv */, int)
// After this construction, CEikonEnv will be available from CEikonEnv::Static().
// (much like our qApp).
CEikonEnv* coe = new CEikonEnv;
- QT_TRAP_THROWING(coe->ConstructAppFromCommandLineL(factory,*commandLine));
+ //not using QT_TRAP_THROWING, because coe owns the cleanupstack so it can't be pushed there.
+ if(err == KErrNone)
+ TRAP(err, coe->ConstructAppFromCommandLineL(factory,*commandLine));
delete commandLine;
+ if(err != KErrNone) {
+ qWarning() << "qt_init: Eikon application construct failed ("
+ << err
+ << "), maybe missing resource file on S60 3.1?";
+ delete coe;
+ qt_symbian_throwIfError(err);
+ }
+
+ S60->s60InstalledTrapHandler = User::SetTrapHandler(origTrapHandler);
S60->qtOwnsS60Environment = true;
} else {
@@ -1070,9 +1103,9 @@ void qt_init(QApplicationPrivate * /* priv */, int)
// enable focus events - used to re-enable mouse after focus changed between mouse and non mouse app,
// and for dimming behind modal windows
- S60->windowGroup().EnableFocusChangeEvents();
+ S60->windowGroup().EnableFocusChangeEvents();
- //Check if mouse interaction is supported (either EMouse=1 in the HAL, or EMachineUID is one of the phones known to support this)
+ //Check if mouse interaction is supported (either EMouse=1 in the HAL, or EMachineUID is one of the phones known to support this)
const TInt KMachineUidSamsungI8510 = 0x2000C51E;
// HAL::Get(HALData::EPen, TInt& result) may set 'result' to 1 on some 3.1 systems (e.g. N95).
// But we know that S60 systems below 5.0 did not support touch.
@@ -1195,6 +1228,9 @@ void qt_cleanup()
S60->wsSession().SetPointerCursorMode(EPointerCursorNone);
if (S60->qtOwnsS60Environment) {
+ // Restore the S60 framework trap handler. See qt_init().
+ User::SetTrapHandler(S60->s60InstalledTrapHandler);
+
CEikonEnv* coe = CEikonEnv::Static();
coe->PrepareToExit();
// The CEikonEnv itself is destroyed in here.
@@ -1227,7 +1263,7 @@ bool QApplicationPrivate::modalState()
void QApplicationPrivate::enterModal_sys(QWidget *widget)
{
if (widget) {
- widget->effectiveWinId()->DrawableWindow()->FadeBehind(ETrue);
+ static_cast<QSymbianControl *>(widget->effectiveWinId())->FadeBehindPopup(ETrue);
// Modal partial screen dialogs (like queries) capture pointer events.
// ### FixMe: Add specialized behaviour for fullscreen modal dialogs
widget->effectiveWinId()->SetGloballyCapturing(ETrue);
@@ -1242,7 +1278,7 @@ void QApplicationPrivate::enterModal_sys(QWidget *widget)
void QApplicationPrivate::leaveModal_sys(QWidget *widget)
{
if (widget) {
- widget->effectiveWinId()->DrawableWindow()->FadeBehind(EFalse);
+ static_cast<QSymbianControl *>(widget->effectiveWinId())->FadeBehindPopup(EFalse);
// ### FixMe: Add specialized behaviour for fullscreen modal dialogs
widget->effectiveWinId()->SetGloballyCapturing(EFalse);
widget->effectiveWinId()->SetPointerCapture(EFalse);
@@ -1547,7 +1583,7 @@ int QApplicationPrivate::symbianProcessWsEvent(const TWsEvent *event)
}
#endif
break;
- default:
+ default:
break;
}
diff --git a/src/gui/kernel/qapplication_win.cpp b/src/gui/kernel/qapplication_win.cpp
index 5bb25fa..387c29b 100644
--- a/src/gui/kernel/qapplication_win.cpp
+++ b/src/gui/kernel/qapplication_win.cpp
@@ -615,6 +615,8 @@ static void qt_set_windows_font_resources()
if (qt_wince_is_mobile()) {
smallerFont.setPointSize(systemFont.pointSize()-1);
QApplication::setFont(smallerFont, "QTabBar");
+ smallerFont.setBold(true);
+ QApplication::setFont(smallerFont, "QAbstractButton");
}
#endif// Q_WS_WINCE
}
@@ -1916,11 +1918,9 @@ LRESULT CALLBACK QtWndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam
#ifndef Q_WS_WINCE
case WM_ENTERSIZEMOVE:
autoCaptureWnd = hwnd;
- QApplicationPrivate::inSizeMove = true;
break;
case WM_EXITSIZEMOVE:
autoCaptureWnd = 0;
- QApplicationPrivate::inSizeMove = false;
break;
#endif
case WM_MOVE: // move window
@@ -2499,24 +2499,24 @@ LRESULT CALLBACK QtWndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam
if (qAppPriv->GetGestureInfo)
bResult = qAppPriv->GetGestureInfo((HANDLE)msg.lParam, &gi);
if (bResult) {
-// if (gi.dwID == GID_BEGIN) {
-// // find the alien widget for the gesture position.
-// // This might not be accurate as the position is the center
-// // point of two fingers for multi-finger gestures.
-// QPoint pt(gi.ptsLocation.x, gi.ptsLocation.y);
-// QWidget *w = widget->childAt(widget->mapFromGlobal(pt));
-// qAppPriv->gestureWidget = w ? w : widget;
-// }
-// if (qAppPriv->gestureWidget)
-// static_cast<QETWidget*>(qAppPriv->gestureWidget)->translateGestureEvent(msg, gi);
-// if (qAppPriv->CloseGestureInfoHandle)
-// qAppPriv->CloseGestureInfoHandle((HANDLE)msg.lParam);
-// if (gi.dwID == GID_END)
-// qAppPriv->gestureWidget = 0;
-// } else {
-// DWORD dwErr = GetLastError();
-// if (dwErr > 0)
-// qWarning() << "translateGestureEvent: error = " << dwErr;
+ if (gi.dwID == GID_BEGIN) {
+ // find the alien widget for the gesture position.
+ // This might not be accurate as the position is the center
+ // point of two fingers for multi-finger gestures.
+ QPoint pt(gi.ptsLocation.x, gi.ptsLocation.y);
+ QWidget *w = widget->childAt(widget->mapFromGlobal(pt));
+ qAppPriv->gestureWidget = w ? w : widget;
+ }
+ if (qAppPriv->gestureWidget)
+ static_cast<QETWidget*>(qAppPriv->gestureWidget)->translateGestureEvent(msg, gi);
+ if (qAppPriv->CloseGestureInfoHandle)
+ qAppPriv->CloseGestureInfoHandle((HANDLE)msg.lParam);
+ if (gi.dwID == GID_END)
+ qAppPriv->gestureWidget = 0;
+ } else {
+ DWORD dwErr = GetLastError();
+ if (dwErr > 0)
+ qWarning() << "translateGestureEvent: error = " << dwErr;
}
result = true;
break;
diff --git a/src/gui/kernel/qapplication_x11.cpp b/src/gui/kernel/qapplication_x11.cpp
index bf95684..b71ae73 100644
--- a/src/gui/kernel/qapplication_x11.cpp
+++ b/src/gui/kernel/qapplication_x11.cpp
@@ -79,7 +79,7 @@
#include <private/qcolor_p.h>
#include <private/qcursor_p.h>
#include <private/qiconloader_p.h>
-#include <private/gtksymbols_p.h>
+#include <qgtkstyle.h>
#include "qstyle.h"
#include "qmetaobject.h"
#include "qtimer.h"
@@ -1625,6 +1625,7 @@ void qt_init(QApplicationPrivate *priv, int,
// MIT-SHM
X11->use_mitshm = false;
+ X11->use_mitshm_pixmaps = false;
X11->mitshm_major = 0;
X11->sip_serial = 0;
@@ -1918,12 +1919,13 @@ void qt_init(QApplicationPrivate *priv, int,
bool local = displayName.isEmpty() || displayName.lastIndexOf(QLatin1Char(':')) == 0;
if (local && (qgetenv("QT_X11_NO_MITSHM").toInt() == 0)) {
Visual *defaultVisual = DefaultVisual(X11->display, DefaultScreen(X11->display));
- X11->use_mitshm = mitshm_pixmaps && ((defaultVisual->red_mask == 0xff0000
- || defaultVisual->red_mask == 0xf800)
- && (defaultVisual->green_mask == 0xff00
- || defaultVisual->green_mask == 0x7e0)
- && (defaultVisual->blue_mask == 0xff
- || defaultVisual->blue_mask == 0x1f));
+ X11->use_mitshm = ((defaultVisual->red_mask == 0xff0000
+ || defaultVisual->red_mask == 0xf800)
+ && (defaultVisual->green_mask == 0xff00
+ || defaultVisual->green_mask == 0x7e0)
+ && (defaultVisual->blue_mask == 0xff
+ || defaultVisual->blue_mask == 0x1f));
+ X11->use_mitshm_pixmaps = X11->use_mitshm && mitshm_pixmaps;
}
}
#endif // QT_NO_MITSHM
@@ -2297,7 +2299,7 @@ void qt_init(QApplicationPrivate *priv, int,
#if !defined(QT_NO_STYLE_GTK)
if (X11->desktopEnvironment == DE_GNOME) {
- static bool menusHaveIcons = QGtk::getGConfBool(QLatin1String("/desktop/gnome/interface/menus_have_icons"), true);
+ static bool menusHaveIcons = QGtkStyle::getGConfBool(QLatin1String("/desktop/gnome/interface/menus_have_icons"), true);
QApplication::setAttribute(Qt::AA_DontShowIconsInMenus, !menusHaveIcons);
}
#endif
@@ -3750,6 +3752,12 @@ int QApplication::x11ProcessEvent(XEvent* event)
qt_get_net_virtual_roots();
} else if (event->xproperty.atom == ATOM(_NET_WORKAREA)) {
qt_desktopwidget_update_workarea();
+
+ // emit the workAreaResized() signal
+ QDesktopWidget *desktop = QApplication::desktop();
+ int numScreens = desktop->numScreens();
+ for (int i = 0; i < numScreens; ++i)
+ emit desktop->workAreaResized(i);
}
} else if (widget) {
widget->translatePropertyEvent(event);
diff --git a/src/gui/kernel/qclipboard.cpp b/src/gui/kernel/qclipboard.cpp
index 5ed4dc9..e43f8b5 100644
--- a/src/gui/kernel/qclipboard.cpp
+++ b/src/gui/kernel/qclipboard.cpp
@@ -296,12 +296,16 @@ QString QClipboard::text(QString &subtype, Mode mode) const
const QByteArray rawData = data->data(QLatin1String("text/") + subtype);
+#ifndef QT_NO_TEXTCODEC
QTextCodec* codec = QTextCodec::codecForMib(106); // utf-8 is default
if (subtype == QLatin1String("html"))
codec = QTextCodec::codecForHtml(rawData, codec);
else
codec = QTextCodec::codecForUtfText(rawData, codec);
return codec->toUnicode(rawData);
+#else //QT_NO_TEXTCODEC
+ return rawData;
+#endif //QT_NO_TEXTCODEC
}
/*!
diff --git a/src/gui/kernel/qclipboard_mac.cpp b/src/gui/kernel/qclipboard_mac.cpp
index 3db647b..8892269 100644
--- a/src/gui/kernel/qclipboard_mac.cpp
+++ b/src/gui/kernel/qclipboard_mac.cpp
@@ -532,7 +532,7 @@ QMacPasteboard::retrieveData(const QString &format, QVariant::Type) const
// Try to get the NSStringPboardType from NSPasteboard, newlines are mapped
// correctly (as '\n') in this data. The 'public.utf16-plain-text' type
// usually maps newlines to '\r' instead.
- QString str = qt_mac_get_pasteboardString();
+ QString str = qt_mac_get_pasteboardString(paste);
if (!str.isEmpty())
return str;
}
diff --git a/src/gui/kernel/qclipboard_win.cpp b/src/gui/kernel/qclipboard_win.cpp
index 7f7ef0c..0157052 100644
--- a/src/gui/kernel/qclipboard_win.cpp
+++ b/src/gui/kernel/qclipboard_win.cpp
@@ -51,6 +51,7 @@
#include "qmime.h"
#include "qt_windows.h"
#include "qdnd_p.h"
+#include <private/qwidget_p.h>
QT_BEGIN_NAMESPACE
@@ -140,6 +141,9 @@ public:
clipBoardViewer = new QWidget();
clipBoardViewer->createWinId();
clipBoardViewer->setObjectName(QLatin1String("internal clipboard owner"));
+ // We dont need this internal widget to appear in QApplication::topLevelWidgets()
+ if (QWidgetPrivate::allWidgets)
+ QWidgetPrivate::allWidgets->remove(clipBoardViewer);
}
~QClipboardData()
diff --git a/src/gui/kernel/qclipboard_x11.cpp b/src/gui/kernel/qclipboard_x11.cpp
index 9621944..22d7c9e 100644
--- a/src/gui/kernel/qclipboard_x11.cpp
+++ b/src/gui/kernel/qclipboard_x11.cpp
@@ -78,6 +78,7 @@
#include "qimagewriter.h"
#include "qvariant.h"
#include "qdnd_p.h"
+#include <private/qwidget_p.h>
#ifndef QT_NO_XFIXES
#include <X11/extensions/Xfixes.h>
@@ -131,6 +132,11 @@ void setupOwner()
requestor = new QWidget(0);
requestor->createWinId();
requestor->setObjectName(QLatin1String("internal clipboard requestor"));
+ // We dont need this internal widgets to appear in QApplication::topLevelWidgets()
+ if (QWidgetPrivate::allWidgets) {
+ QWidgetPrivate::allWidgets->remove(owner);
+ QWidgetPrivate::allWidgets->remove(requestor);
+ }
qAddPostRoutine(cleanup);
}
@@ -769,6 +775,9 @@ QByteArray QX11Data::clipboardReadIncrementalProperty(Window win, Atom property,
delete requestor;
requestor = new QWidget(0);
requestor->setObjectName(QLatin1String("internal clipboard requestor"));
+ // We dont need this internal widget to appear in QApplication::topLevelWidgets()
+ if (QWidgetPrivate::allWidgets)
+ QWidgetPrivate::allWidgets->remove(requestor);
return QByteArray();
}
diff --git a/src/gui/kernel/qcocoaapplicationdelegate_mac.mm b/src/gui/kernel/qcocoaapplicationdelegate_mac.mm
index d103cbd..37dcc67 100644
--- a/src/gui/kernel/qcocoaapplicationdelegate_mac.mm
+++ b/src/gui/kernel/qcocoaapplicationdelegate_mac.mm
@@ -83,6 +83,7 @@
#include <private/qt_cocoa_helpers_mac_p.h>
#include <private/qdesktopwidget_mac_p.h>
#include <qevent.h>
+#include <qurl.h>
#include <qapplication.h>
QT_BEGIN_NAMESPACE
@@ -303,5 +304,15 @@ static void cleanupCocoaApplicationDelegate()
[self doesNotRecognizeSelector:invocationSelector];
}
+- (void)getUrl:(NSAppleEventDescriptor *)event withReplyEvent:(NSAppleEventDescriptor *)replyEvent
+{
+ Q_UNUSED(replyEvent);
+
+ NSString *urlString = [[event paramDescriptorForKeyword:keyDirectObject] stringValue];
+ QUrl url(qt_mac_NSStringToQString(urlString));
+ QFileOpenEvent qtEvent(url);
+ qt_sendSpontaneousEvent(qAppInstance(), &qtEvent);
+}
+
@end
#endif
diff --git a/src/gui/kernel/qcocoaapplicationdelegate_mac_p.h b/src/gui/kernel/qcocoaapplicationdelegate_mac_p.h
index 80df645..a137744 100644
--- a/src/gui/kernel/qcocoaapplicationdelegate_mac_p.h
+++ b/src/gui/kernel/qcocoaapplicationdelegate_mac_p.h
@@ -123,5 +123,6 @@ QT_FORWARD_DECLARE_CLASS(QApplicationPrivate);
- (void)setMenuLoader:(QT_MANGLE_NAMESPACE(QCocoaMenuLoader)*)menuLoader;
- (QT_MANGLE_NAMESPACE(QCocoaMenuLoader) *)menuLoader;
- (void)setReflectionDelegate:(NSObject <NSApplicationDelegate> *)oldDelegate;
+- (void)getUrl:(NSAppleEventDescriptor *)event withReplyEvent:(NSAppleEventDescriptor *)replyEvent;
@end
#endif
diff --git a/src/gui/kernel/qcocoaview_mac.mm b/src/gui/kernel/qcocoaview_mac.mm
index d49c150..a16d1f8 100644
--- a/src/gui/kernel/qcocoaview_mac.mm
+++ b/src/gui/kernel/qcocoaview_mac.mm
@@ -745,7 +745,7 @@ extern "C" {
{
qMacDnDParams()->view = self;
qMacDnDParams()->theEvent = theEvent;
- bool mouseOK = qt_mac_handleMouseEvent(self, theEvent, QEvent::MouseMove, Qt::LeftButton);
+ bool mouseOK = qt_mac_handleMouseEvent(self, theEvent, QEvent::MouseMove, Qt::NoButton);
if (!mouseOK)
[super mouseDragged:theEvent];
@@ -755,7 +755,7 @@ extern "C" {
{
qMacDnDParams()->view = self;
qMacDnDParams()->theEvent = theEvent;
- bool mouseOK = qt_mac_handleMouseEvent(self, theEvent, QEvent::MouseMove, Qt::RightButton);
+ bool mouseOK = qt_mac_handleMouseEvent(self, theEvent, QEvent::MouseMove, Qt::NoButton);
if (!mouseOK)
[super rightMouseDragged:theEvent];
@@ -765,8 +765,7 @@ extern "C" {
{
qMacDnDParams()->view = self;
qMacDnDParams()->theEvent = theEvent;
- Qt::MouseButton mouseButton = cocoaButton2QtButton([theEvent buttonNumber]);
- bool mouseOK = qt_mac_handleMouseEvent(self, theEvent, QEvent::MouseMove, mouseButton);
+ bool mouseOK = qt_mac_handleMouseEvent(self, theEvent, QEvent::MouseMove, Qt::NoButton);
if (!mouseOK)
[super otherMouseDragged:theEvent];
@@ -795,23 +794,23 @@ extern "C" {
const EventRef carbonEvent = (EventRef)[theEvent eventRef];
const UInt32 carbonEventKind = carbonEvent ? ::GetEventKind(carbonEvent) : 0;
- if (carbonEventKind == kEventMouseScroll) {
+ const bool scrollEvent = carbonEventKind == kEventMouseScroll;
+
+ if (scrollEvent) {
// The mouse device containts pixel scroll wheel support (Mighty Mouse, Trackpad).
// Since deviceDelta is delivered as pixels rather than degrees, we need to
// convert from pixels to degrees in a sensible manner.
// It looks like four degrees per pixel behaves most native.
// Qt expects the unit for delta to be 1/8 of a degree:
- const int scrollFactor = 4 * 8;
- deltaX = (int)[theEvent deviceDeltaX] * scrollFactor;
- deltaY = (int)[theEvent deviceDeltaY] * scrollFactor;
- deltaZ = (int)[theEvent deviceDeltaZ] * scrollFactor;
- } else { // carbonEventKind == kEventMouseWheelMoved
- // Mouse wheel deltas seem to tick in at increments of 0.1.
- // Qt widgets expect the delta to be a multiple of 120.
- const int scrollFactor = 10 * 120;
- deltaX = [theEvent deltaX] * scrollFactor;
- deltaY = [theEvent deltaY] * scrollFactor;
- deltaZ = [theEvent deltaZ] * scrollFactor;
+ deltaX = [theEvent deviceDeltaX];
+ deltaY = [theEvent deviceDeltaY];
+ deltaZ = [theEvent deviceDeltaZ];
+ } else {
+ // carbonEventKind == kEventMouseWheelMoved
+ // Remove acceleration, and use either -120 or 120 as delta:
+ deltaX = qBound(-120, int([theEvent deltaX] * 10000), 120);
+ deltaY = qBound(-120, int([theEvent deltaY] * 10000), 120);
+ deltaZ = qBound(-120, int([theEvent deltaZ] * 10000), 120);
}
if (deltaX != 0) {
diff --git a/src/gui/kernel/qcocoawindowdelegate_mac.mm b/src/gui/kernel/qcocoawindowdelegate_mac.mm
index 95c89e5..9fb674e 100644
--- a/src/gui/kernel/qcocoawindowdelegate_mac.mm
+++ b/src/gui/kernel/qcocoawindowdelegate_mac.mm
@@ -307,6 +307,18 @@ static void cleanupCocoaWindowDelegate()
return m_windowHash->value(window);
}
+- (BOOL)windowShouldZoom:(NSWindow *)window toFrame:(NSRect)newFrame
+{
+ Q_UNUSED(newFrame);
+ // saving the current window geometry before the window is maximized
+ QWidget *qwidget = m_windowHash->value(window);
+ if (qwidget->isWindow() && !(qwidget->windowState() & Qt::WindowMaximized)) {
+ QWidgetPrivate *widgetPrivate = qt_widget_private(qwidget);
+ widgetPrivate->topData()->normalGeometry = qwidget->geometry();
+ }
+ return YES;
+}
+
- (NSRect)windowWillUseStandardFrame:(NSWindow *)window defaultFrame:(NSRect)defaultFrame
{
NSRect frameToReturn = defaultFrame;
@@ -346,5 +358,28 @@ static void cleanupCocoaWindowDelegate()
m_drawerHash->remove(drawer);
}
+- (BOOL)window:(NSWindow *)window shouldPopUpDocumentPathMenu:(NSMenu *)menu
+{
+ Q_UNUSED(menu);
+ QWidget *qwidget = m_windowHash->value(window);
+ if (qwidget && !qwidget->windowFilePath().isEmpty()) {
+ return YES;
+ }
+ return NO;
+}
+
+- (BOOL)window:(NSWindow *)window shouldDragDocumentWithEvent:(NSEvent *)event
+ from:(NSPoint)dragImageLocation
+ withPasteboard:(NSPasteboard *)pasteboard
+{
+ Q_UNUSED(event);
+ Q_UNUSED(dragImageLocation);
+ Q_UNUSED(pasteboard);
+ QWidget *qwidget = m_windowHash->value(window);
+ if (qwidget && !qwidget->windowFilePath().isEmpty()) {
+ return YES;
+ }
+ return NO;
+}
@end
#endif// QT_MAC_USE_COCOA
diff --git a/src/gui/kernel/qcocoawindowdelegate_mac_p.h b/src/gui/kernel/qcocoawindowdelegate_mac_p.h
index a06c516..243ba03 100644
--- a/src/gui/kernel/qcocoawindowdelegate_mac_p.h
+++ b/src/gui/kernel/qcocoawindowdelegate_mac_p.h
@@ -76,6 +76,9 @@ QT_FORWARD_DECLARE_CLASS(QWidgetData)
- (void)windowDidResignMain:(NSNotification*)notification;
- (void)windowDidBecomeKey:(NSNotification*)notification;
- (void)windowDidResignKey:(NSNotification*)notification;
+- (BOOL)window:(NSWindow *)window shouldPopUpDocumentPathMenu:(NSMenu *)menu;
+- (BOOL)window:(NSWindow *)window shouldDragDocumentWithEvent:(NSEvent *)event from:(NSPoint)dragImageLocation withPasteboard:(NSPasteboard *)pasteboard;
+- (BOOL)windowShouldZoom:(NSWindow *)window toFrame:(NSRect)newFrame;
@end
@protocol NSDrawerDelegate <NSObject>
diff --git a/src/gui/kernel/qdesktopwidget.cpp b/src/gui/kernel/qdesktopwidget.cpp
index b1e1008..c6d5000 100644
--- a/src/gui/kernel/qdesktopwidget.cpp
+++ b/src/gui/kernel/qdesktopwidget.cpp
@@ -40,12 +40,11 @@
****************************************************************************/
#include "qglobal.h"
-
-QT_BEGIN_NAMESPACE
-
#include "qdesktopwidget.h"
#include "qwidget_p.h"
+QT_BEGIN_NAMESPACE
+
const QRect QDesktopWidget::screenGeometry(const QWidget *widget) const
{
QRect rect = QWidgetPrivate::screenGeometry(widget);
diff --git a/src/gui/kernel/qdesktopwidget_mac.mm b/src/gui/kernel/qdesktopwidget_mac.mm
index 88dc173..c2d05d7 100644
--- a/src/gui/kernel/qdesktopwidget_mac.mm
+++ b/src/gui/kernel/qdesktopwidget_mac.mm
@@ -136,16 +136,19 @@ void QDesktopWidgetImplementation::onResize()
screenRects.clear();
availableRects.clear();
NSRect primaryRect = [[displays objectAtIndex:0] frame];
- for (int i = 0; i<screenCount; i++) {
- NSRect r = [[displays objectAtIndex:i] frame];
- const int flippedY = - r.origin.y + // account for position offset and
+ for (int i = 0; i<screenCount; i++) {
+ NSRect r = [[displays objectAtIndex:i] frame];
+ int flippedY = - r.origin.y + // account for position offset and
primaryRect.size.height - r.size.height; // height difference.
screenRects.append(QRectF(r.origin.x, flippedY,
r.size.width, r.size.height));
- r = [[displays objectAtIndex:i] visibleFrame];
+
+ r = [[displays objectAtIndex:i] visibleFrame];
+ flippedY = - r.origin.y + // account for position offset and
+ primaryRect.size.height - r.size.height; // height difference.
availableRects.append(QRectF(r.origin.x, flippedY,
r.size.width, r.size.height));
- }
+ }
}
diff --git a/src/gui/kernel/qdesktopwidget_x11.cpp b/src/gui/kernel/qdesktopwidget_x11.cpp
index 02a2c82..14eb976 100644
--- a/src/gui/kernel/qdesktopwidget_x11.cpp
+++ b/src/gui/kernel/qdesktopwidget_x11.cpp
@@ -384,10 +384,8 @@ void QDesktopWidget::resizeEvent(QResizeEvent *event)
Q_D(QDesktopWidget);
int oldScreenCount = d->screenCount;
QVector<QRect> oldRects(oldScreenCount);
- QVector<QRect> oldWorks(oldScreenCount);
for (int i = 0; i < oldScreenCount; ++i) {
oldRects[i] = d->rects[i];
- oldWorks[i] = d->workareas[i];
}
d->init();
@@ -397,13 +395,6 @@ void QDesktopWidget::resizeEvent(QResizeEvent *event)
emit resized(i);
}
- // ### workareas are just reset by init, not filled with new values
- // ### so this will not work correctly
- for (int j = 0; j < qMin(oldScreenCount, d->screenCount); ++j) {
- if (oldWorks.at(j) != d->workareas[j])
- emit workAreaResized(j);
- }
-
if (oldScreenCount != d->screenCount) {
emit screenCountChanged(d->screenCount);
}
diff --git a/src/gui/kernel/qevent.cpp b/src/gui/kernel/qevent.cpp
index 065bd09..ff97405 100644
--- a/src/gui/kernel/qevent.cpp
+++ b/src/gui/kernel/qevent.cpp
@@ -2976,13 +2976,13 @@ QShowEvent::~QShowEvent()
/*!
\class QFileOpenEvent
\brief The QFileOpenEvent class provides an event that will be
- sent when there is a request to open a file.
+ sent when there is a request to open a file or a URL.
\ingroup events
File open events will be sent to the QApplication::instance()
- when the operating system requests that a file be opened. This is
- a high-level event that can be caused by different user actions
+ when the operating system requests that a file or URL should be opened.
+ This is a high-level event that can be caused by different user actions
depending on the user's desktop environment; for example, double
clicking on an file icon in the Finder on Mac OS X.
@@ -2999,12 +2999,27 @@ QShowEvent::~QShowEvent()
*/
QFileOpenEvent::QFileOpenEvent(const QString &file)
: QEvent(FileOpen), f(file)
-{}
+{
+ d = reinterpret_cast<QEventPrivate *>(new QFileOpenEventPrivate(QUrl::fromLocalFile(file)));
+}
+
+/*!
+ \internal
+
+ Constructs a file open event for the given \a url.
+*/
+QFileOpenEvent::QFileOpenEvent(const QUrl &url)
+ : QEvent(FileOpen)
+{
+ d = reinterpret_cast<QEventPrivate *>(new QFileOpenEventPrivate(url));
+ f = url.toLocalFile();
+}
/*! \internal
*/
QFileOpenEvent::~QFileOpenEvent()
{
+ delete reinterpret_cast<QFileOpenEventPrivate *>(d);
}
/*!
@@ -3013,6 +3028,16 @@ QFileOpenEvent::~QFileOpenEvent()
Returns the file that is being opened.
*/
+/*!
+ \fn QUrl QFileOpenEvent::url() const
+
+ Returns the url that is being opened.
+*/
+QUrl QFileOpenEvent::url() const
+{
+ return reinterpret_cast<const QFileOpenEventPrivate *>(d)->url;
+}
+
#ifndef QT_NO_TOOLBAR
/*!
\internal
@@ -4202,7 +4227,7 @@ QTouchEvent::TouchPoint &QTouchEvent::TouchPoint::operator=(const QTouchEvent::T
\brief The QGestureEvent class provides the description of triggered gestures.
The QGestureEvent class contains a list of gestures, which can be obtained using the
- allGestures() function.
+ gestures() function.
The gestures are either active or canceled. A list of those that are currently being
executed can be obtained using the activeGestures() function. A list of those which
@@ -4211,10 +4236,11 @@ QTouchEvent::TouchPoint &QTouchEvent::TouchPoint::operator=(const QTouchEvent::T
focus, for example, or because of a timeout, or for other reasons.
If the event handler does not accept the event by calling the generic
- QEvent::accept() function, all individual QGesture object that were not accepted
- will be propagated up the parent widget chain until a widget accepts them
- individually, by calling QGestureEvent::accept() for each of them, or an event
- filter consumes the event.
+ QEvent::accept() function, all individual QGesture object that were not
+ accepted and in the Qt::GestureStarted state will be propagated up the
+ parent widget chain until a widget accepts them individually, by calling
+ QGestureEvent::accept() for each of them, or an event filter consumes the
+ event.
\sa QGesture, QGestureRecognizer,
QWidget::grabGesture(), QGraphicsObject::grabGesture()
@@ -4240,7 +4266,7 @@ QGestureEvent::~QGestureEvent()
/*!
Returns all gestures that are delivered in the event.
*/
-QList<QGesture *> QGestureEvent::allGestures() const
+QList<QGesture *> QGestureEvent::gestures() const
{
return d_func()->gestures;
}
@@ -4262,7 +4288,12 @@ QGesture *QGestureEvent::gesture(Qt::GestureType type) const
*/
QList<QGesture *> QGestureEvent::activeGestures() const
{
- return d_func()->gestures;
+ QList<QGesture *> gestures;
+ foreach (QGesture *gesture, d_func()->gestures) {
+ if (gesture->state() != Qt::GestureCanceled)
+ gestures.append(gesture);
+ }
+ return gestures;
}
/*!
@@ -4270,7 +4301,12 @@ QList<QGesture *> QGestureEvent::activeGestures() const
*/
QList<QGesture *> QGestureEvent::canceledGestures() const
{
- return d_func()->gestures;
+ QList<QGesture *> gestures;
+ foreach (QGesture *gesture, d_func()->gestures) {
+ if (gesture->state() == Qt::GestureCanceled)
+ gestures.append(gesture);
+ }
+ return gestures;
}
/*!
@@ -4288,9 +4324,8 @@ QList<QGesture *> QGestureEvent::canceledGestures() const
*/
void QGestureEvent::setAccepted(QGesture *gesture, bool value)
{
- setAccepted(false);
if (gesture)
- d_func()->accepted[gesture->gestureType()] = value;
+ setAccepted(gesture->gestureType(), value);
}
/*!
@@ -4304,7 +4339,8 @@ void QGestureEvent::setAccepted(QGesture *gesture, bool value)
*/
void QGestureEvent::accept(QGesture *gesture)
{
- setAccepted(gesture, true);
+ if (gesture)
+ setAccepted(gesture->gestureType(), true);
}
/*!
@@ -4318,7 +4354,8 @@ void QGestureEvent::accept(QGesture *gesture)
*/
void QGestureEvent::ignore(QGesture *gesture)
{
- setAccepted(gesture, false);
+ if (gesture)
+ setAccepted(gesture->gestureType(), false);
}
/*!
@@ -4326,11 +4363,71 @@ void QGestureEvent::ignore(QGesture *gesture)
*/
bool QGestureEvent::isAccepted(QGesture *gesture) const
{
- return gesture ? d_func()->accepted.value(gesture->gestureType(), true) : false;
+ return gesture ? isAccepted(gesture->gestureType()) : false;
}
/*!
- Sets the widget for this event.
+ Sets the accept flag of the given \a gestureType object to the specified
+ \a value.
+
+ Setting the accept flag indicates that the event receiver wants to receive
+ gestures of the specified type, \a gestureType. Unwanted gestures may be
+ propagated to the parent widget.
+
+ By default, gestures in events of type QEvent::Gesture are accepted, and
+ gestures in QEvent::GestureOverride events are ignored.
+
+ For convenience, the accept flag can also be set with
+ \l{QGestureEvent::accept()}{accept(gestureType)}, and cleared with
+ \l{QGestureEvent::ignore()}{ignore(gestureType)}.
+*/
+void QGestureEvent::setAccepted(Qt::GestureType gestureType, bool value)
+{
+ setAccepted(false);
+ d_func()->accepted[gestureType] = value;
+}
+
+/*!
+ Sets the accept flag of the given \a gestureType, the equivalent of calling
+ \l{QGestureEvent::setAccepted()}{setAccepted(gestureType, true)}.
+
+ Setting the accept flag indicates that the event receiver wants the
+ gesture. Unwanted gestures may be propagated to the parent widget.
+
+ \sa QGestureEvent::ignore()
+*/
+void QGestureEvent::accept(Qt::GestureType gestureType)
+{
+ setAccepted(gestureType, true);
+}
+
+/*!
+ Clears the accept flag parameter of the given \a gestureType, the equivalent
+ of calling \l{QGestureEvent::setAccepted()}{setAccepted(gesture, false)}.
+
+ Clearing the accept flag indicates that the event receiver does not
+ want the gesture. Unwanted gestures may be propgated to the parent widget.
+
+ \sa QGestureEvent::accept()
+*/
+void QGestureEvent::ignore(Qt::GestureType gestureType)
+{
+ setAccepted(gestureType, false);
+}
+
+/*!
+ Returns true if the gesture of type \a gestureType is accepted; otherwise
+ returns false.
+*/
+bool QGestureEvent::isAccepted(Qt::GestureType gestureType) const
+{
+ return d_func()->accepted.value(gestureType, true);
+}
+
+/*!
+ \internal
+
+ Sets the widget for this event to the \a widget specified.
*/
void QGestureEvent::setWidget(QWidget *widget)
{
@@ -4345,12 +4442,18 @@ QWidget *QGestureEvent::widget() const
return d_func()->widget;
}
+#ifndef QT_NO_GRAPHICSVIEW
/*!
- Returns the scene-local coordinates if the \a gesturePoint is inside a graphics view.
+ Returns the scene-local coordinates if the \a gesturePoint is inside a
+ graphics view.
+
+ This functional might be useful when the gesture event is delivered to a
+ QGraphicsObject to translate a point in screen coordinates to scene-local
+ coordinates.
\sa QPointF::isNull().
*/
-QPointF QGestureEvent::mapToScene(const QPointF &gesturePoint) const
+QPointF QGestureEvent::mapToGraphicsScene(const QPointF &gesturePoint) const
{
QWidget *w = widget();
if (w) // we get the viewport as widget, not the graphics view
@@ -4361,6 +4464,7 @@ QPointF QGestureEvent::mapToScene(const QPointF &gesturePoint) const
}
return QPointF();
}
+#endif //QT_NO_GRAPHICSVIEW
/*!
\internal
diff --git a/src/gui/kernel/qevent.h b/src/gui/kernel/qevent.h
index b7370fd..9839269 100644
--- a/src/gui/kernel/qevent.h
+++ b/src/gui/kernel/qevent.h
@@ -638,9 +638,11 @@ class Q_GUI_EXPORT QFileOpenEvent : public QEvent
{
public:
QFileOpenEvent(const QString &file);
+ QFileOpenEvent(const QUrl &url);
~QFileOpenEvent();
inline QString file() const { return f; }
+ QUrl url() const;
private:
QString f;
};
@@ -827,7 +829,7 @@ public:
QGestureEvent(const QList<QGesture *> &gestures);
~QGestureEvent();
- QList<QGesture *> allGestures() const;
+ QList<QGesture *> gestures() const;
QGesture *gesture(Qt::GestureType type) const;
QList<QGesture *> activeGestures() const;
@@ -851,10 +853,17 @@ public:
void ignore(QGesture *);
bool isAccepted(QGesture *) const;
+ void setAccepted(Qt::GestureType, bool);
+ void accept(Qt::GestureType);
+ void ignore(Qt::GestureType);
+ bool isAccepted(Qt::GestureType) const;
+
void setWidget(QWidget *widget);
QWidget *widget() const;
- QPointF mapToScene(const QPointF &gesturePoint) const;
+#ifndef QT_NO_GRAPHICSVIEW
+ QPointF mapToGraphicsScene(const QPointF &gesturePoint) const;
+#endif
private:
QGestureEventPrivate *d_func();
diff --git a/src/gui/kernel/qevent_p.h b/src/gui/kernel/qevent_p.h
index 6e6ab01..4aaaa8b 100644
--- a/src/gui/kernel/qevent_p.h
+++ b/src/gui/kernel/qevent_p.h
@@ -43,6 +43,7 @@
#define QEVENT_P_H
#include <QtCore/qglobal.h>
+#include <QtCore/qurl.h>
#include <QtGui/qevent.h>
QT_BEGIN_NAMESPACE
@@ -164,6 +165,18 @@ public:
QMap<Qt::GestureType, QWidget *> targetWidgets;
};
+
+class QFileOpenEventPrivate
+{
+public:
+ inline QFileOpenEventPrivate(const QUrl &url)
+ : url(url)
+ {
+ }
+
+ QUrl url;
+};
+
QT_END_NAMESPACE
#endif // QEVENT_P_H
diff --git a/src/gui/kernel/qgesture.cpp b/src/gui/kernel/qgesture.cpp
index ecdd661..e8c2f8a 100644
--- a/src/gui/kernel/qgesture.cpp
+++ b/src/gui/kernel/qgesture.cpp
@@ -54,7 +54,7 @@ QT_BEGIN_NAMESPACE
Gesture objects are not constructed directly by developers. They are created by
the QGestureRecognizer object that is registered with the application; see
- QApplication::registerGestureRecognizer().
+ QGestureRecognizer::registerRecognizer().
\section1 Gesture Properties
@@ -69,13 +69,12 @@ QT_BEGIN_NAMESPACE
\section1 Lifecycle of a Gesture Object
- A QGesture instance is created when the application calls QWidget::grabGesture()
- or QGraphicsObject::grabGesture() to configure a widget or graphics object (the
- target object) for gesture input. One gesture object is created for each target
- object.
+ A QGesture instance is implicitly created when needed and is owned by Qt.
+ Developers should never destroy them or store them for later use as Qt may
+ destroy particular instances of them and create new ones to replace them.
The registered gesture recognizer monitors the input events for the target
- object via its \l{QGestureRecognizer::}{filterEvent()} function, updating the
+ object via its \l{QGestureRecognizer::}{recognize()} function, updating the
properties of the gesture object as required.
The gesture object may be delivered to the target object in a QGestureEvent if
@@ -91,7 +90,7 @@ QT_BEGIN_NAMESPACE
Constructs a new gesture object with the given \a parent.
QGesture objects are created by gesture recognizers in the
- QGestureRecognizer::createGesture() function.
+ QGestureRecognizer::create() function.
*/
QGesture::QGesture(QObject *parent)
: QObject(*new QGesturePrivate, parent)
@@ -130,11 +129,11 @@ QGesture::~QGesture()
\brief The point that is used to find the receiver for the gesture event.
The hot-spot is a point in the global coordinate system, use
- QWidget::mapFromGlobal() or QGestureEvent::mapToScene() to get a
+ QWidget::mapFromGlobal() or QGestureEvent::mapToGraphicsScene() to get a
local hot-spot.
- If the hot-spot is not set, the targetObject is used as the receiver of the
- gesture event.
+ The hot-spot should be set by the gesture recognizer to allow gesture event
+ delivery to a QGraphicsObject.
*/
/*!
@@ -142,12 +141,6 @@ QGesture::~QGesture()
\brief whether the gesture has a hot-spot
*/
-/*!
- \property QGesture::targetObject
- \brief the target object which will receive the gesture event if the hotSpot is
- not set
-*/
-
Qt::GestureType QGesture::gestureType() const
{
return d_func()->gestureType;
@@ -181,6 +174,41 @@ void QGesture::unsetHotSpot()
}
/*!
+ \property QGesture::gestureCancelPolicy
+ \brief the policy for deciding what happens on accepting a gesture
+
+ On accepting one gesture Qt can automatically cancel other gestures
+ that belong to other targets. The policy is normally set to not cancel
+ any other gestures and can be set to cancel all active gestures in the
+ context. For example for all child widgets.
+*/
+
+/*!
+ \enum QGesture::GestureCancelPolicy
+
+ This enum describes how accepting a gesture can cancel other gestures
+ automatically.
+
+ \value CancelNone On accepting this gesture no other gestures will be affected.
+
+ \value CancelAllInContext On accepting this gesture all gestures that are
+ active in the context (respecting the Qt::GestureFlag that were specified
+ when subscribed to the gesture) will be cancelled.
+*/
+
+void QGesture::setGestureCancelPolicy(GestureCancelPolicy policy)
+{
+ Q_D(QGesture);
+ d->gestureCancelPolicy = static_cast<uint>(policy);
+}
+
+QGesture::GestureCancelPolicy QGesture::gestureCancelPolicy() const
+{
+ Q_D(const QGesture);
+ return static_cast<GestureCancelPolicy>(d->gestureCancelPolicy);
+}
+
+/*!
\class QPanGesture
\since 4.6
\brief The QPanGesture class describes a panning gesture made by the user.
@@ -192,15 +220,6 @@ void QGesture::unsetHotSpot()
*/
/*!
- \property QPanGesture::totalOffset
- \brief the total offset from the first input position to the current input
- position
-
- The total offset measures the total change in position of the user's input
- covered by the gesture on the input device.
-*/
-
-/*!
\property QPanGesture::lastOffset
\brief the last offset recorded for this gesture
@@ -215,11 +234,19 @@ void QGesture::unsetHotSpot()
/*!
\property QPanGesture::offset
- \brief the offset from the previous input position to the current input
+ \brief the total offset from the first input position to the current input
position
- The offset measures the change in position of the user's input on the
- input device.
+ The offset measures the total change in position of the user's input
+ covered by the gesture on the input device.
+*/
+
+/*!
+ \property QPanGesture::delta
+ \brief the offset from the previous input position to the current input
+
+ This is essentially the same as the difference between offset() and
+ lastOffset().
*/
/*!
@@ -235,10 +262,6 @@ QPanGesture::QPanGesture(QObject *parent)
d_func()->gestureType = Qt::PanGesture;
}
-QPointF QPanGesture::totalOffset() const
-{
- return d_func()->totalOffset;
-}
QPointF QPanGesture::lastOffset() const
{
@@ -250,15 +273,15 @@ QPointF QPanGesture::offset() const
return d_func()->offset;
}
-qreal QPanGesture::acceleration() const
+QPointF QPanGesture::delta() const
{
- return d_func()->acceleration;
+ Q_D(const QPanGesture);
+ return d->offset - d->lastOffset;
}
-
-void QPanGesture::setTotalOffset(const QPointF &value)
+qreal QPanGesture::acceleration() const
{
- d_func()->totalOffset = value;
+ return d_func()->acceleration;
}
void QPanGesture::setLastOffset(const QPointF &value)
@@ -300,7 +323,7 @@ void QPanGesture::setAcceleration(qreal value)
*/
/*!
- \enum QPinchGesture::WhatChange
+ \enum QPinchGesture::ChangeFlag
This enum describes the changes that can occur to the properties of
the gesture object.
@@ -309,19 +332,30 @@ void QPanGesture::setAcceleration(qreal value)
\value RotationAngleChanged The rotation angle held by rotationAngle changed.
\value CenterPointChanged The center point held by centerPoint changed.
- \sa whatChanged
+ \sa changeFlags, totalChangeFlags
*/
/*!
- \property QPinchGesture::whatChanged
- \brief the property of the gesture that has changed
+ \property QPinchGesture::totalChangeFlags
+ \brief the property of the gesture that has change
+
+ This property indicates which of the other properties has changed since the
+ gesture has started. You can use this information to determine which aspect
+ of your user interface needs to be updated.
+
+ \sa changeFlags, scaleFactor, rotationAngle, centerPoint
+*/
+
+/*!
+ \property QPinchGesture::changeFlags
+ \brief the property of the gesture that has changed in the current step
This property indicates which of the other properties has changed since
the previous gesture event included information about this gesture. You
can use this information to determine which aspect of your user interface
needs to be updated.
- \sa scaleFactor, rotationAngle, centerPoint
+ \sa totalChangeFlags, scaleFactor, rotationAngle, centerPoint
*/
/*!
@@ -415,16 +449,25 @@ QPinchGesture::QPinchGesture(QObject *parent)
d_func()->gestureType = Qt::PinchGesture;
}
-QPinchGesture::WhatChanged QPinchGesture::whatChanged() const
+QPinchGesture::ChangeFlags QPinchGesture::totalChangeFlags() const
{
- return d_func()->whatChanged;
+ return d_func()->totalChangeFlags;
}
-void QPinchGesture::setWhatChanged(QPinchGesture::WhatChanged value)
+void QPinchGesture::setTotalChangeFlags(QPinchGesture::ChangeFlags value)
{
- d_func()->whatChanged = value;
+ d_func()->totalChangeFlags = value;
}
+QPinchGesture::ChangeFlags QPinchGesture::changeFlags() const
+{
+ return d_func()->changeFlags;
+}
+
+void QPinchGesture::setChangeFlags(QPinchGesture::ChangeFlags value)
+{
+ d_func()->changeFlags = value;
+}
QPointF QPinchGesture::startCenterPoint() const
{
@@ -615,4 +658,70 @@ void QSwipeGesture::setSwipeAngle(qreal value)
d_func()->swipeAngle = value;
}
+/*!
+ \class QTapGesture
+ \since 4.6
+ \brief The QTapGesture class describes a tap gesture made by the user.
+ \ingroup gestures
+
+ \sa {Gestures Programming}, QPanGesture, QPinchGesture
+*/
+
+/*!
+ \property QTapGesture::position
+ \brief the position of the tap
+*/
+
+/*!
+ \internal
+*/
+QTapGesture::QTapGesture(QObject *parent)
+ : QGesture(*new QTapGesturePrivate, parent)
+{
+ d_func()->gestureType = Qt::TapGesture;
+}
+
+QPointF QTapGesture::position() const
+{
+ return d_func()->position;
+}
+
+void QTapGesture::setPosition(const QPointF &value)
+{
+ d_func()->position = value;
+}
+/*!
+ \class QTapAndHoldGesture
+ \since 4.6
+ \brief The QTapAndHoldGesture class describes a tap-and-hold (aka LongTap)
+ gesture made by the user.
+ \ingroup gestures
+
+ \sa {Gestures Programming}, QPanGesture, QPinchGesture
+*/
+
+/*!
+ \property QTapAndHoldGesture::position
+ \brief the position of the tap
+*/
+
+/*!
+ \internal
+*/
+QTapAndHoldGesture::QTapAndHoldGesture(QObject *parent)
+ : QGesture(*new QTapAndHoldGesturePrivate, parent)
+{
+ d_func()->gestureType = Qt::TapAndHoldGesture;
+}
+
+QPointF QTapAndHoldGesture::position() const
+{
+ return d_func()->position;
+}
+
+void QTapAndHoldGesture::setPosition(const QPointF &value)
+{
+ d_func()->position = value;
+}
+
QT_END_NAMESPACE
diff --git a/src/gui/kernel/qgesture.h b/src/gui/kernel/qgesture.h
index 6469959..f995d7b 100644
--- a/src/gui/kernel/qgesture.h
+++ b/src/gui/kernel/qgesture.h
@@ -65,6 +65,7 @@ class Q_GUI_EXPORT QGesture : public QObject
Q_PROPERTY(Qt::GestureState state READ state)
Q_PROPERTY(Qt::GestureType gestureType READ gestureType)
+ Q_PROPERTY(QGesture::GestureCancelPolicy gestureCancelPolicy READ gestureCancelPolicy WRITE setGestureCancelPolicy)
Q_PROPERTY(QPointF hotSpot READ hotSpot WRITE setHotSpot RESET unsetHotSpot)
Q_PROPERTY(bool hasHotSpot READ hasHotSpot)
@@ -81,6 +82,14 @@ public:
bool hasHotSpot() const;
void unsetHotSpot();
+ enum GestureCancelPolicy {
+ CancelNone = 0,
+ CancelAllInContext
+ };
+
+ void setGestureCancelPolicy(GestureCancelPolicy policy);
+ GestureCancelPolicy gestureCancelPolicy() const;
+
protected:
QGesture(QGesturePrivate &dd, QObject *parent);
@@ -88,6 +97,7 @@ private:
friend class QGestureEvent;
friend class QGestureRecognizer;
friend class QGestureManager;
+ friend class QGraphicsScenePrivate;
};
class QPanGesturePrivate;
@@ -96,20 +106,19 @@ class Q_GUI_EXPORT QPanGesture : public QGesture
Q_OBJECT
Q_DECLARE_PRIVATE(QPanGesture)
- Q_PROPERTY(QPointF totalOffset READ totalOffset WRITE setTotalOffset)
Q_PROPERTY(QPointF lastOffset READ lastOffset WRITE setLastOffset)
Q_PROPERTY(QPointF offset READ offset WRITE setOffset)
+ Q_PROPERTY(QPointF delta READ delta STORED false)
Q_PROPERTY(qreal acceleration READ acceleration WRITE setAcceleration)
public:
QPanGesture(QObject *parent = 0);
- QPointF totalOffset() const;
QPointF lastOffset() const;
QPointF offset() const;
+ QPointF delta() const;
qreal acceleration() const;
- void setTotalOffset(const QPointF &value);
void setLastOffset(const QPointF &value);
void setOffset(const QPointF &value);
void setAcceleration(qreal value);
@@ -125,14 +134,15 @@ class Q_GUI_EXPORT QPinchGesture : public QGesture
Q_DECLARE_PRIVATE(QPinchGesture)
public:
- enum WhatChange {
+ enum ChangeFlag {
ScaleFactorChanged = 0x1,
RotationAngleChanged = 0x2,
CenterPointChanged = 0x4
};
- Q_DECLARE_FLAGS(WhatChanged, WhatChange)
+ Q_DECLARE_FLAGS(ChangeFlags, ChangeFlag)
- Q_PROPERTY(WhatChanged whatChanged READ whatChanged WRITE setWhatChanged)
+ Q_PROPERTY(ChangeFlags totalChangeFlags READ totalChangeFlags WRITE setTotalChangeFlags)
+ Q_PROPERTY(ChangeFlags changeFlags READ changeFlags WRITE setChangeFlags)
Q_PROPERTY(qreal totalScaleFactor READ totalScaleFactor WRITE setTotalScaleFactor)
Q_PROPERTY(qreal lastScaleFactor READ lastScaleFactor WRITE setLastScaleFactor)
@@ -149,8 +159,11 @@ public:
public:
QPinchGesture(QObject *parent = 0);
- WhatChanged whatChanged() const;
- void setWhatChanged(WhatChanged value);
+ ChangeFlags totalChangeFlags() const;
+ void setTotalChangeFlags(ChangeFlags value);
+
+ ChangeFlags changeFlags() const;
+ void setChangeFlags(ChangeFlags value);
QPointF startCenterPoint() const;
QPointF lastCenterPoint() const;
@@ -178,7 +191,7 @@ public:
QT_END_NAMESPACE
-Q_DECLARE_METATYPE(QPinchGesture::WhatChanged)
+Q_DECLARE_METATYPE(QPinchGesture::ChangeFlags)
QT_BEGIN_NAMESPACE
@@ -206,8 +219,43 @@ public:
friend class QSwipeGestureRecognizer;
};
+class QTapGesturePrivate;
+class Q_GUI_EXPORT QTapGesture : public QGesture
+{
+ Q_OBJECT
+ Q_DECLARE_PRIVATE(QTapGesture)
+
+ Q_PROPERTY(QPointF position READ position WRITE setPosition)
+
+public:
+ QTapGesture(QObject *parent = 0);
+
+ QPointF position() const;
+ void setPosition(const QPointF &pos);
+
+ friend class QTapGestureRecognizer;
+};
+
+class QTapAndHoldGesturePrivate;
+class Q_GUI_EXPORT QTapAndHoldGesture : public QGesture
+{
+ Q_OBJECT
+ Q_DECLARE_PRIVATE(QTapAndHoldGesture)
+
+ Q_PROPERTY(QPointF position READ position WRITE setPosition)
+
+public:
+ QTapAndHoldGesture(QObject *parent = 0);
+
+ QPointF position() const;
+ void setPosition(const QPointF &pos);
+
+ friend class QTapAndHoldGestureRecognizer;
+};
+
QT_END_NAMESPACE
+Q_DECLARE_METATYPE(QGesture::GestureCancelPolicy)
QT_END_HEADER
#endif // QGESTURE_H
diff --git a/src/gui/kernel/qgesture_p.h b/src/gui/kernel/qgesture_p.h
index 975c0c9..2537f47 100644
--- a/src/gui/kernel/qgesture_p.h
+++ b/src/gui/kernel/qgesture_p.h
@@ -67,16 +67,17 @@ class QGesturePrivate : public QObjectPrivate
public:
QGesturePrivate()
- : gestureType(Qt::CustomGesture), state(Qt::NoGesture), isHotSpotSet(false),
- targetObject(0)
+ : gestureType(Qt::CustomGesture), state(Qt::NoGesture),
+ isHotSpotSet(false), gestureCancelPolicy(0)
+
{
}
Qt::GestureType gestureType;
Qt::GestureState state;
QPointF hotSpot;
- bool isHotSpotSet;
- QObject *targetObject;
+ uint isHotSpotSet : 1;
+ uint gestureCancelPolicy : 2;
};
class QPanGesturePrivate : public QGesturePrivate
@@ -89,10 +90,9 @@ public:
{
}
- QPointF totalOffset;
QPointF lastOffset;
QPointF offset;
- QPoint lastPosition;
+ QPoint startPosition;
qreal acceleration;
};
@@ -102,12 +102,15 @@ class QPinchGesturePrivate : public QGesturePrivate
public:
QPinchGesturePrivate()
- : whatChanged(0), totalScaleFactor(0), lastScaleFactor(0), scaleFactor(0),
- totalRotationAngle(0), lastRotationAngle(0), rotationAngle(0)
+ : totalChangeFlags(0), changeFlags(0),
+ totalScaleFactor(0), lastScaleFactor(0), scaleFactor(0),
+ totalRotationAngle(0), lastRotationAngle(0), rotationAngle(0),
+ isNewSequence(true)
{
}
- QPinchGesture::WhatChanged whatChanged;
+ QPinchGesture::ChangeFlags totalChangeFlags;
+ QPinchGesture::ChangeFlags changeFlags;
QPointF startCenterPoint;
QPointF lastCenterPoint;
@@ -120,6 +123,9 @@ public:
qreal totalRotationAngle;
qreal lastRotationAngle;
qreal rotationAngle;
+
+ bool isNewSequence;
+ QPointF startPosition[2];
};
class QSwipeGesturePrivate : public QGesturePrivate
@@ -130,13 +136,45 @@ public:
QSwipeGesturePrivate()
: horizontalDirection(QSwipeGesture::NoDirection),
verticalDirection(QSwipeGesture::NoDirection),
- swipeAngle(0)
+ swipeAngle(0),
+ started(false), speed(0)
{
}
QSwipeGesture::SwipeDirection horizontalDirection;
QSwipeGesture::SwipeDirection verticalDirection;
qreal swipeAngle;
+
+ QPoint lastPositions[3];
+ bool started;
+ qreal speed;
+ QTime time;
+};
+
+class QTapGesturePrivate : public QGesturePrivate
+{
+ Q_DECLARE_PUBLIC(QTapGesture)
+
+public:
+ QTapGesturePrivate()
+ {
+ }
+
+ QPointF position;
+};
+
+class QTapAndHoldGesturePrivate : public QGesturePrivate
+{
+ Q_DECLARE_PUBLIC(QTapAndHoldGesture)
+
+public:
+ QTapAndHoldGesturePrivate()
+ : timerId(0)
+ {
+ }
+
+ QPointF position;
+ int timerId;
};
QT_END_NAMESPACE
diff --git a/src/gui/kernel/qgesturemanager.cpp b/src/gui/kernel/qgesturemanager.cpp
index ed8e744..375116f 100644
--- a/src/gui/kernel/qgesturemanager.cpp
+++ b/src/gui/kernel/qgesturemanager.cpp
@@ -52,6 +52,9 @@
#ifdef Q_WS_MAC
#include "qmacgesturerecognizer_mac_p.h"
#endif
+#if defined(Q_OS_WIN)
+#include "qwinnativepangesturerecognizer_win_p.h"
+#endif
#include "qdebug.h"
@@ -64,8 +67,17 @@
QT_BEGIN_NAMESPACE
+QGestureManager *qt_gestureManager = 0;
+
+QGestureManager* QGestureManager::instance()
+{
+ if (!qt_gestureManager)
+ qt_gestureManager = new QGestureManager(qApp);
+ return qt_gestureManager;
+}
+
QGestureManager::QGestureManager(QObject *parent)
- : QObject(parent), state(NotGesture), lastCustomGestureId(0)
+ : QObject(parent), state(NotGesture), m_lastCustomGestureId(0)
{
qRegisterMetaType<Qt::GestureState>();
@@ -77,17 +89,30 @@ QGestureManager::QGestureManager(QObject *parent)
#endif
#else
registerGestureRecognizer(new QPanGestureRecognizer);
+ registerGestureRecognizer(new QPinchGestureRecognizer);
+ registerGestureRecognizer(new QSwipeGestureRecognizer);
+ registerGestureRecognizer(new QTapGestureRecognizer);
+#endif
+#if defined(Q_OS_WIN)
+ registerGestureRecognizer(new QWinNativePanGestureRecognizer);
+#else
+ registerGestureRecognizer(new QTapAndHoldGestureRecognizer);
#endif
}
QGestureManager::~QGestureManager()
{
-
+ qDeleteAll(m_recognizers.values());
+ foreach (QGestureRecognizer *recognizer, m_obsoleteGestures.keys()) {
+ qDeleteAll(m_obsoleteGestures.value(recognizer));
+ delete recognizer;
+ }
+ m_obsoleteGestures.clear();
}
Qt::GestureType QGestureManager::registerGestureRecognizer(QGestureRecognizer *recognizer)
{
- QGesture *dummy = recognizer->createGesture(0);
+ QGesture *dummy = recognizer->create(0);
if (!dummy) {
qWarning("QGestureManager::registerGestureRecognizer: "
"the recognizer fails to create a gesture object, skipping registration.");
@@ -96,20 +121,55 @@ Qt::GestureType QGestureManager::registerGestureRecognizer(QGestureRecognizer *r
Qt::GestureType type = dummy->gestureType();
if (type == Qt::CustomGesture) {
// generate a new custom gesture id
- ++lastCustomGestureId;
- type = Qt::GestureType(Qt::CustomGesture + lastCustomGestureId);
+ ++m_lastCustomGestureId;
+ type = Qt::GestureType(Qt::CustomGesture + m_lastCustomGestureId);
}
- recognizers.insertMulti(type, recognizer);
+ m_recognizers.insertMulti(type, recognizer);
delete dummy;
return type;
}
-void QGestureManager::unregisterGestureRecognizer(Qt::GestureType)
+void QGestureManager::unregisterGestureRecognizer(Qt::GestureType type)
{
+ QList<QGestureRecognizer *> list = m_recognizers.values(type);
+ m_recognizers.remove(type);
+ foreach (QGesture *g, m_gestureToRecognizer.keys()) {
+ QGestureRecognizer *recognizer = m_gestureToRecognizer.value(g);
+ if (list.contains(recognizer)) {
+ m_deletedRecognizers.insert(g, recognizer);
+ m_gestureToRecognizer.remove(g);
+ }
+ }
+
+ foreach (QGestureRecognizer *recognizer, list) {
+ QList<QGesture *> obsoleteGestures;
+ QMap<ObjectGesture, QList<QGesture *> >::Iterator iter = m_objectGestures.begin();
+ while (iter != m_objectGestures.end()) {
+ ObjectGesture objectGesture = iter.key();
+ if (objectGesture.gesture == type)
+ obsoleteGestures << iter.value();
+ ++iter;
+ }
+ m_obsoleteGestures.insert(recognizer, obsoleteGestures);
+ }
+}
+void QGestureManager::cleanupCachedGestures(QObject *target, Qt::GestureType type)
+{
+ QMap<ObjectGesture, QList<QGesture *> >::Iterator iter = m_objectGestures.begin();
+ while (iter != m_objectGestures.end()) {
+ ObjectGesture objectGesture = iter.key();
+ if (objectGesture.gesture == type && target == objectGesture.object.data()) {
+ qDeleteAll(iter.value());
+ iter = m_objectGestures.erase(iter);
+ } else {
+ ++iter;
+ }
+ }
}
-QGesture *QGestureManager::getState(QObject *object, Qt::GestureType type)
+// get or create a QGesture object that will represent the state for a given object, used by the recognizer
+QGesture *QGestureManager::getState(QObject *object, QGestureRecognizer *recognizer, Qt::GestureType type)
{
// if the widget is being deleted we should be carefull and not to
// create a new state, as it will create QWeakPointer which doesnt work
@@ -123,31 +183,35 @@ QGesture *QGestureManager::getState(QObject *object, Qt::GestureType type)
Q_ASSERT(qobject_cast<QGraphicsObject *>(object));
}
- QGesture *state =
- objectGestures.value(QGestureManager::ObjectGesture(object, type));
- if (!state) {
- QGestureRecognizer *recognizer = recognizers.value(type);
- if (recognizer) {
- state = recognizer->createGesture(object);
- if (!state)
- return 0;
- if (state->gestureType() == Qt::CustomGesture) {
- // if the recognizer didn't fill in the gesture type, then this
- // is a custom gesture with autogenerated it and we fill it.
- state->d_func()->gestureType = type;
+ QList<QGesture *> states =
+ m_objectGestures.value(QGestureManager::ObjectGesture(object, type));
+ // check if the QGesture for this recognizer has already been created
+ foreach (QGesture *state, states) {
+ if (m_gestureToRecognizer.value(state) == recognizer)
+ return state;
+ }
+
+ Q_ASSERT(recognizer);
+ QGesture *state = recognizer->create(object);
+ if (!state)
+ return 0;
+ state->setParent(this);
+ if (state->gestureType() == Qt::CustomGesture) {
+ // if the recognizer didn't fill in the gesture type, then this
+ // is a custom gesture with autogenerated id and we fill it.
+ state->d_func()->gestureType = type;
#if defined(GESTURE_DEBUG)
- state->setObjectName(QString::number((int)type));
+ state->setObjectName(QString::number((int)type));
#endif
- }
- objectGestures.insert(QGestureManager::ObjectGesture(object, type), state);
- gestureToRecognizer[state] = recognizer;
- gestureOwners[state] = object;
- }
}
+ m_objectGestures[QGestureManager::ObjectGesture(object, type)].append(state);
+ m_gestureToRecognizer[state] = recognizer;
+ m_gestureOwners[state] = object;
+
return state;
}
-bool QGestureManager::filterEventThroughContexts(const QMap<QObject *,
+bool QGestureManager::filterEventThroughContexts(const QMultiHash<QObject *,
Qt::GestureType> &contexts,
QEvent *event)
{
@@ -160,61 +224,64 @@ bool QGestureManager::filterEventThroughContexts(const QMap<QObject *,
// TODO: sort contexts by the gesture type and check if one of the contexts
// is already active.
+ bool ret = false;
+
// filter the event through recognizers
- typedef QMap<QObject *, Qt::GestureType>::const_iterator ContextIterator;
+ typedef QHash<QObject *, Qt::GestureType>::const_iterator ContextIterator;
for (ContextIterator cit = contexts.begin(), ce = contexts.end(); cit != ce; ++cit) {
Qt::GestureType gestureType = cit.value();
QMap<Qt::GestureType, QGestureRecognizer *>::const_iterator
- rit = recognizers.lowerBound(gestureType),
- re = recognizers.upperBound(gestureType);
+ rit = m_recognizers.lowerBound(gestureType),
+ re = m_recognizers.upperBound(gestureType);
for (; rit != re; ++rit) {
QGestureRecognizer *recognizer = rit.value();
QObject *target = cit.key();
- QGesture *state = getState(target, gestureType);
+ QGesture *state = getState(target, recognizer, gestureType);
if (!state)
continue;
- QGestureRecognizer::Result result = recognizer->filterEvent(state, target, event);
+ QGestureRecognizer::Result result = recognizer->recognize(state, target, event);
QGestureRecognizer::Result type = result & QGestureRecognizer::ResultState_Mask;
- if (type == QGestureRecognizer::GestureTriggered) {
- DEBUG() << "QGestureManager: gesture triggered: " << state;
+ result &= QGestureRecognizer::ResultHint_Mask;
+ if (type == QGestureRecognizer::TriggerGesture) {
+ DEBUG() << "QGestureManager:Recognizer: gesture triggered: " << state;
triggeredGestures << state;
- } else if (type == QGestureRecognizer::GestureFinished) {
- DEBUG() << "QGestureManager: gesture finished: " << state;
+ } else if (type == QGestureRecognizer::FinishGesture) {
+ DEBUG() << "QGestureManager:Recognizer: gesture finished: " << state;
finishedGestures << state;
- } else if (type == QGestureRecognizer::MaybeGesture) {
- DEBUG() << "QGestureManager: maybe gesture: " << state;
+ } else if (type == QGestureRecognizer::MayBeGesture) {
+ DEBUG() << "QGestureManager:Recognizer: maybe gesture: " << state;
newMaybeGestures << state;
- } else if (type == QGestureRecognizer::NotGesture) {
- DEBUG() << "QGestureManager: not gesture: " << state;
+ } else if (type == QGestureRecognizer::CancelGesture) {
+ DEBUG() << "QGestureManager:Recognizer: not gesture: " << state;
notGestures << state;
} else if (type == QGestureRecognizer::Ignore) {
- DEBUG() << "QGestureManager: gesture ignored the event: " << state;
+ DEBUG() << "QGestureManager:Recognizer: ignored the event: " << state;
} else {
- DEBUG() << "QGestureManager: hm, lets assume the recognizer"
+ DEBUG() << "QGestureManager:Recognizer: hm, lets assume the recognizer"
<< "ignored the event: " << state;
}
if (result & QGestureRecognizer::ConsumeEventHint) {
DEBUG() << "QGestureManager: we were asked to consume the event: "
<< state;
- //TODO: consume events if asked
+ ret = true;
}
}
}
- QSet<QGesture *> startedGestures = triggeredGestures - activeGestures;
- triggeredGestures &= activeGestures;
+ QSet<QGesture *> startedGestures = triggeredGestures - m_activeGestures;
+ triggeredGestures &= m_activeGestures;
// check if a running gesture switched back to maybe state
- QSet<QGesture *> activeToMaybeGestures = activeGestures & newMaybeGestures;
+ QSet<QGesture *> activeToMaybeGestures = m_activeGestures & newMaybeGestures;
// check if a running gesture switched back to not gesture state,
// i.e. were canceled
- QSet<QGesture *> activeToCancelGestures = activeGestures & notGestures;
+ QSet<QGesture *> activeToCancelGestures = m_activeGestures & notGestures;
canceledGestures += activeToCancelGestures;
// start timers for new gestures in maybe state
foreach (QGesture *state, newMaybeGestures) {
- QBasicTimer &timer = maybeGestures[state];
+ QBasicTimer &timer = m_maybeGestures[state];
if (!timer.isActive())
timer.start(3000, this);
}
@@ -223,11 +290,11 @@ bool QGestureManager::filterEventThroughContexts(const QMap<QObject *,
| finishedGestures | canceledGestures
| notGestures);
foreach(QGesture *gesture, notMaybeGestures) {
- QMap<QGesture *, QBasicTimer>::iterator it =
- maybeGestures.find(gesture);
- if (it != maybeGestures.end()) {
+ QHash<QGesture *, QBasicTimer>::iterator it =
+ m_maybeGestures.find(gesture);
+ if (it != m_maybeGestures.end()) {
it.value().stop();
- maybeGestures.erase(it);
+ m_maybeGestures.erase(it);
}
}
@@ -238,7 +305,7 @@ bool QGestureManager::filterEventThroughContexts(const QMap<QObject *,
Q_ASSERT((finishedGestures & canceledGestures).isEmpty());
Q_ASSERT((canceledGestures & newMaybeGestures).isEmpty());
- QSet<QGesture *> notStarted = finishedGestures - activeGestures;
+ QSet<QGesture *> notStarted = finishedGestures - m_activeGestures;
if (!notStarted.isEmpty()) {
// there are some gestures that claim to be finished, but never started.
// probably those are "singleshot" gestures so we'll fake the started state.
@@ -249,12 +316,12 @@ bool QGestureManager::filterEventThroughContexts(const QMap<QObject *,
finishedGestures -= undeliveredGestures;
}
- activeGestures += startedGestures;
+ m_activeGestures += startedGestures;
// sanity check: all triggered gestures should already be in active gestures list
- Q_ASSERT((activeGestures & triggeredGestures).size() == triggeredGestures.size());
- activeGestures -= finishedGestures;
- activeGestures -= activeToMaybeGestures;
- activeGestures -= canceledGestures;
+ Q_ASSERT((m_activeGestures & triggeredGestures).size() == triggeredGestures.size());
+ m_activeGestures -= finishedGestures;
+ m_activeGestures -= activeToMaybeGestures;
+ m_activeGestures -= canceledGestures;
// set the proper gesture state on each gesture
foreach (QGesture *gesture, startedGestures)
@@ -268,12 +335,12 @@ bool QGestureManager::filterEventThroughContexts(const QMap<QObject *,
foreach (QGesture *gesture, activeToMaybeGestures)
gesture->d_func()->state = Qt::GestureFinished;
- if (!activeGestures.isEmpty() || !maybeGestures.isEmpty() ||
+ if (!m_activeGestures.isEmpty() || !m_maybeGestures.isEmpty() ||
!startedGestures.isEmpty() || !triggeredGestures.isEmpty() ||
!finishedGestures.isEmpty() || !canceledGestures.isEmpty()) {
- DEBUG() << "QGestureManager::filterEvent:"
- << "\n\tactiveGestures:" << activeGestures
- << "\n\tmaybeGestures:" << maybeGestures.keys()
+ DEBUG() << "QGestureManager::filterEventThroughContexts:"
+ << "\n\tactiveGestures:" << m_activeGestures
+ << "\n\tmaybeGestures:" << m_maybeGestures.keys()
<< "\n\tstarted:" << startedGestures
<< "\n\ttriggered:" << triggeredGestures
<< "\n\tfinished:" << finishedGestures
@@ -284,26 +351,104 @@ bool QGestureManager::filterEventThroughContexts(const QMap<QObject *,
deliverEvents(startedGestures+triggeredGestures+finishedGestures+canceledGestures,
&undeliveredGestures);
- activeGestures -= undeliveredGestures;
+ foreach (QGesture *g, startedGestures) {
+ if (undeliveredGestures.contains(g))
+ continue;
+ if (g->gestureCancelPolicy() == QGesture::CancelAllInContext) {
+ DEBUG() << "lets try to cancel some";
+ // find gestures in context in Qt::GestureStarted or Qt::GestureUpdated state and cancel them
+ cancelGesturesForChildren(g);
+ }
+ }
+
+ m_activeGestures -= undeliveredGestures;
// reset gestures that ended
QSet<QGesture *> endedGestures =
finishedGestures + canceledGestures + undeliveredGestures;
foreach (QGesture *gesture, endedGestures) {
- if (QGestureRecognizer *recognizer = gestureToRecognizer.value(gesture, 0)) {
- recognizer->reset(gesture);
+ recycle(gesture);
+ m_gestureTargets.remove(gesture);
+ }
+ return ret;
+}
+
+// Cancel all gestures of children of the widget that original is associated with
+void QGestureManager::cancelGesturesForChildren(QGesture *original)
+{
+ Q_ASSERT(original);
+ QWidget *originatingWidget = m_gestureTargets.value(original);
+ Q_ASSERT(originatingWidget);
+
+ // iterate over all active gestures and all maybe gestures
+ // for each find the owner
+ // if the owner is part of our sub-hierarchy, cancel it.
+
+ QSet<QGesture*> cancelledGestures;
+ QSet<QGesture*>::Iterator iter = m_activeGestures.begin();
+ while (iter != m_activeGestures.end()) {
+ QWidget *widget = m_gestureTargets.value(*iter);
+ // note that we don't touch the gestures for our originatingWidget
+ if (widget != originatingWidget && originatingWidget->isAncestorOf(widget)) {
+ DEBUG() << " found a gesture to cancel" << (*iter);
+ (*iter)->d_func()->state = Qt::GestureCanceled;
+ cancelledGestures << *iter;
+ iter = m_activeGestures.erase(iter);
+ } else {
+ ++iter;
+ }
+ }
+
+ // TODO handle 'maybe' gestures too
+
+ // sort them per target widget by cherry picking from almostCanceledGestures and delivering
+ QSet<QGesture *> almostCanceledGestures = cancelledGestures;
+ while (!almostCanceledGestures.isEmpty()) {
+ QWidget *target = 0;
+ QSet<QGesture*> gestures;
+ iter = almostCanceledGestures.begin();
+ // sort per target widget
+ while (iter != almostCanceledGestures.end()) {
+ QWidget *widget = m_gestureTargets.value(*iter);
+ if (target == 0)
+ target = widget;
+ if (target == widget) {
+ gestures << *iter;
+ iter = almostCanceledGestures.erase(iter);
+ } else {
+ ++iter;
+ }
}
- gestureTargets.remove(gesture);
+ Q_ASSERT(target);
+
+ QSet<QGesture*> undeliveredGestures;
+ deliverEvents(gestures, &undeliveredGestures);
+ }
+
+ for (iter = cancelledGestures.begin(); iter != cancelledGestures.end(); ++iter)
+ recycle(*iter);
+}
+
+void QGestureManager::cleanupGesturesForRemovedRecognizer(QGesture *gesture)
+{
+ QGestureRecognizer *recognizer = m_deletedRecognizers.value(gesture);
+ Q_ASSERT(recognizer);
+ m_deletedRecognizers.remove(gesture);
+ if (m_deletedRecognizers.keys(recognizer).isEmpty()) {
+ // no more active gestures, cleanup!
+ qDeleteAll(m_obsoleteGestures.value(recognizer));
+ m_obsoleteGestures.remove(recognizer);
+ delete recognizer;
}
- return false;
}
+// return true if accepted (consumed)
bool QGestureManager::filterEvent(QWidget *receiver, QEvent *event)
{
QSet<Qt::GestureType> types;
- QMap<QObject *, Qt::GestureType> contexts;
+ QMultiHash<QObject *, Qt::GestureType> contexts;
QWidget *w = receiver;
- typedef QMap<Qt::GestureType, Qt::GestureContext>::const_iterator ContextIterator;
+ typedef QMap<Qt::GestureType, Qt::GestureFlags>::const_iterator ContextIterator;
if (!w->d_func()->gestureContext.isEmpty()) {
for(ContextIterator it = w->d_func()->gestureContext.begin(),
e = w->d_func()->gestureContext.end(); it != e; ++it) {
@@ -317,7 +462,7 @@ bool QGestureManager::filterEvent(QWidget *receiver, QEvent *event)
{
for (ContextIterator it = w->d_func()->gestureContext.begin(),
e = w->d_func()->gestureContext.end(); it != e; ++it) {
- if (it.value() == Qt::WidgetWithChildrenGesture) {
+ if (!(it.value() & Qt::DontStartGestureOnChildren)) {
if (!types.contains(it.key())) {
types.insert(it.key());
contexts.insertMulti(w, it.key());
@@ -331,13 +476,14 @@ bool QGestureManager::filterEvent(QWidget *receiver, QEvent *event)
return filterEventThroughContexts(contexts, event);
}
+#ifndef QT_NO_GRAPHICSVIEW
bool QGestureManager::filterEvent(QGraphicsObject *receiver, QEvent *event)
{
QSet<Qt::GestureType> types;
- QMap<QObject *, Qt::GestureType> contexts;
+ QMultiHash<QObject *, Qt::GestureType> contexts;
QGraphicsObject *item = receiver;
if (!item->QGraphicsItem::d_func()->gestureContext.isEmpty()) {
- typedef QMap<Qt::GestureType, Qt::GestureContext>::const_iterator ContextIterator;
+ typedef QMap<Qt::GestureType, Qt::GestureFlags>::const_iterator ContextIterator;
for(ContextIterator it = item->QGraphicsItem::d_func()->gestureContext.begin(),
e = item->QGraphicsItem::d_func()->gestureContext.end(); it != e; ++it) {
types.insert(it.key());
@@ -348,22 +494,25 @@ bool QGestureManager::filterEvent(QGraphicsObject *receiver, QEvent *event)
item = item->parentObject();
while (item)
{
- typedef QMap<Qt::GestureType, Qt::GestureContext>::const_iterator ContextIterator;
+ typedef QMap<Qt::GestureType, Qt::GestureFlags>::const_iterator ContextIterator;
for (ContextIterator it = item->QGraphicsItem::d_func()->gestureContext.begin(),
e = item->QGraphicsItem::d_func()->gestureContext.end(); it != e; ++it) {
- if (it.value() == Qt::ItemWithChildrenGesture) {
- if (!types.contains(it.key()))
+ if (!(it.value() & Qt::DontStartGestureOnChildren)) {
+ if (!types.contains(it.key())) {
+ types.insert(it.key());
contexts.insertMulti(item, it.key());
+ }
}
}
item = item->parentObject();
}
return filterEventThroughContexts(contexts, event);
}
+#endif
bool QGestureManager::filterEvent(QGesture *state, QEvent *event)
{
- QMap<QObject *, Qt::GestureType> contexts;
+ QMultiHash<QObject *, Qt::GestureType> contexts;
contexts.insert(state, state->gestureType());
return filterEventThroughContexts(contexts, event);
}
@@ -377,7 +526,7 @@ void QGestureManager::getGestureTargets(const QSet<QGesture*> &gestures,
// sort gestures by types
foreach (QGesture *gesture, gestures) {
- QWidget *receiver = gestureTargets.value(gesture, 0);
+ QWidget *receiver = m_gestureTargets.value(gesture, 0);
Q_ASSERT(receiver);
gestureByTypes[gesture->gestureType()].insert(receiver, gesture);
}
@@ -388,12 +537,12 @@ void QGestureManager::getGestureTargets(const QSet<QGesture*> &gestures,
foreach (QWidget *widget, gestures.keys()) {
QWidget *w = widget->parentWidget();
while (w) {
- QMap<Qt::GestureType, Qt::GestureContext>::const_iterator it
+ QMap<Qt::GestureType, Qt::GestureFlags>::const_iterator it
= w->d_func()->gestureContext.find(type);
if (it != w->d_func()->gestureContext.end()) {
// i.e. 'w' listens to gesture 'type'
- Qt::GestureContext context = it.value();
- if (context == Qt::WidgetWithChildrenGesture && w != widget) {
+ Qt::GestureFlags flags = it.value();
+ if (!(it.value() & Qt::DontStartGestureOnChildren) && w != widget) {
// conflicting gesture!
(*conflicts)[widget].append(gestures[widget]);
break;
@@ -426,7 +575,7 @@ void QGestureManager::deliverEvents(const QSet<QGesture *> &gestures,
for (QSet<QGesture *>::const_iterator it = gestures.begin(),
e = gestures.end(); it != e; ++it) {
QGesture *gesture = *it;
- QWidget *target = gestureTargets.value(gesture, 0);
+ QWidget *target = m_gestureTargets.value(gesture, 0);
if (!target) {
// the gesture has just started and doesn't have a target yet.
Q_ASSERT(gesture->state() == Qt::GestureStarted);
@@ -438,12 +587,12 @@ void QGestureManager::deliverEvents(const QSet<QGesture *> &gestures,
}
} else {
// or use the context of the gesture
- QObject *context = gestureOwners.value(gesture, 0);
+ QObject *context = m_gestureOwners.value(gesture, 0);
if (context->isWidgetType())
target = static_cast<QWidget *>(context);
}
if (target)
- gestureTargets.insert(gesture, target);
+ m_gestureTargets.insert(gesture, target);
}
Qt::GestureType gestureType = gesture->gestureType();
@@ -487,7 +636,7 @@ void QGestureManager::deliverEvents(const QSet<QGesture *> &gestures,
QApplication::sendEvent(receiver, &event);
bool eventAccepted = event.isAccepted();
- foreach(QGesture *gesture, event.allGestures()) {
+ foreach(QGesture *gesture, event.gestures()) {
if (eventAccepted || event.isAccepted(gesture)) {
QWidget *w = event.d_func()->targetWidgets.value(gesture->gestureType(), 0);
Q_ASSERT(w);
@@ -495,7 +644,7 @@ void QGestureManager::deliverEvents(const QSet<QGesture *> &gestures,
QList<QGesture *> &gestures = normalStartedGestures[w];
gestures.append(gesture);
// override the target
- gestureTargets[gesture] = w;
+ m_gestureTargets[gesture] = w;
} else {
DEBUG() << "override event: gesture wasn't accepted. putting back:" << gesture;
QList<QGesture *> &gestures = normalStartedGestures[receiver];
@@ -512,32 +661,51 @@ void QGestureManager::deliverEvents(const QSet<QGesture *> &gestures,
<< "gestures:" << it.value();
QGestureEvent event(it.value());
QApplication::sendEvent(it.key(), &event);
+ bool eventAccepted = event.isAccepted();
+ foreach (QGesture *gesture, event.gestures()) {
+ if (gesture->state() == Qt::GestureStarted &&
+ (eventAccepted || event.isAccepted(gesture))) {
+ QWidget *w = event.d_func()->targetWidgets.value(gesture->gestureType(), 0);
+ Q_ASSERT(w);
+ DEBUG() << "started gesture was delivered and accepted by" << w;
+ m_gestureTargets[gesture] = w;
+ }
+ }
}
}
}
void QGestureManager::timerEvent(QTimerEvent *event)
{
- QMap<QGesture*, QBasicTimer>::iterator it = maybeGestures.begin(),
- e = maybeGestures.end();
+ QHash<QGesture *, QBasicTimer>::iterator it = m_maybeGestures.begin(),
+ e = m_maybeGestures.end();
for (; it != e; ) {
QBasicTimer &timer = it.value();
Q_ASSERT(timer.isActive());
if (timer.timerId() == event->timerId()) {
timer.stop();
QGesture *gesture = it.key();
- it = maybeGestures.erase(it);
+ it = m_maybeGestures.erase(it);
DEBUG() << "QGestureManager::timerEvent: gesture stopped due to timeout:"
<< gesture;
- QGestureRecognizer *recognizer = gestureToRecognizer.value(gesture, 0);
- if (recognizer)
- recognizer->reset(gesture);
+ recycle(gesture);
} else {
++it;
}
}
}
+void QGestureManager::recycle(QGesture *gesture)
+{
+ QGestureRecognizer *recognizer = m_gestureToRecognizer.value(gesture, 0);
+ if (recognizer) {
+ gesture->setGestureCancelPolicy(QGesture::CancelNone);
+ recognizer->reset(gesture);
+ } else {
+ cleanupGesturesForRemovedRecognizer(gesture);
+ }
+}
+
QT_END_NAMESPACE
#include "moc_qgesturemanager_p.cpp"
diff --git a/src/gui/kernel/qgesturemanager_p.h b/src/gui/kernel/qgesturemanager_p.h
index f0e7225..4efa10b 100644
--- a/src/gui/kernel/qgesturemanager_p.h
+++ b/src/gui/kernel/qgesturemanager_p.h
@@ -74,21 +74,26 @@ public:
bool filterEvent(QWidget *receiver, QEvent *event);
bool filterEvent(QGesture *receiver, QEvent *event);
+#ifndef QT_NO_GRAPHICSVIEW
bool filterEvent(QGraphicsObject *receiver, QEvent *event);
+#endif //QT_NO_GRAPHICSVIEW
- // declared in qapplication.cpp
static QGestureManager* instance();
+ void cleanupCachedGestures(QObject *target, Qt::GestureType type);
+
+ void recycle(QGesture *gesture);
+
protected:
void timerEvent(QTimerEvent *event);
- bool filterEventThroughContexts(const QMap<QObject *, Qt::GestureType> &contexts,
+ bool filterEventThroughContexts(const QMultiHash<QObject *, Qt::GestureType> &contexts,
QEvent *event);
private:
- QMultiMap<Qt::GestureType, QGestureRecognizer *> recognizers;
+ QMultiMap<Qt::GestureType, QGestureRecognizer *> m_recognizers;
- QSet<QGesture *> activeGestures;
- QMap<QGesture *, QBasicTimer> maybeGestures;
+ QSet<QGesture *> m_activeGestures;
+ QHash<QGesture *, QBasicTimer> m_maybeGestures;
enum State {
Gesture,
@@ -104,7 +109,7 @@ private:
Qt::GestureType gesture;
ObjectGesture(QObject *o, const Qt::GestureType &g) : object(o), gesture(g) { }
- inline bool operator<(const ObjectGesture& rhs) const
+ inline bool operator<(const ObjectGesture &rhs) const
{
if (object.data() < rhs.object.data())
return true;
@@ -114,22 +119,31 @@ private:
}
};
- QMap<ObjectGesture, QGesture *> objectGestures;
- QMap<QGesture *, QGestureRecognizer *> gestureToRecognizer;
- QHash<QGesture *, QObject *> gestureOwners;
+ QMap<ObjectGesture, QList<QGesture *> > m_objectGestures;
+ QHash<QGesture *, QGestureRecognizer *> m_gestureToRecognizer;
+ QHash<QGesture *, QObject *> m_gestureOwners;
+
+ QHash<QGesture *, QWidget *> m_gestureTargets;
- QHash<QGesture *, QWidget *> gestureTargets;
+ int m_lastCustomGestureId;
- int lastCustomGestureId;
+ QHash<QGestureRecognizer *, QList<QGesture *> > m_obsoleteGestures;
+ QHash<QGesture *, QGestureRecognizer *> m_deletedRecognizers;
+ void cleanupGesturesForRemovedRecognizer(QGesture *gesture);
- QGesture *getState(QObject *widget, Qt::GestureType gesture);
+ QGesture *getState(QObject *widget, QGestureRecognizer *recognizer,
+ Qt::GestureType gesture);
void deliverEvents(const QSet<QGesture *> &gestures,
QSet<QGesture *> *undeliveredGestures);
void getGestureTargets(const QSet<QGesture*> &gestures,
QMap<QWidget *, QList<QGesture *> > *conflicts,
QMap<QWidget *, QList<QGesture *> > *normal);
+
+ void cancelGesturesForChildren(QGesture *originatingGesture);
};
+extern QGestureManager *qt_gestureManager;
+
QT_END_NAMESPACE
#endif // QGESTUREMANAGER_P_H
diff --git a/src/gui/kernel/qgesturerecognizer.cpp b/src/gui/kernel/qgesturerecognizer.cpp
index 9de3bcc..ed0bdcc 100644
--- a/src/gui/kernel/qgesturerecognizer.cpp
+++ b/src/gui/kernel/qgesturerecognizer.cpp
@@ -42,6 +42,7 @@
#include "qgesturerecognizer.h"
#include "private/qgesture_p.h"
+#include "private/qgesturemanager_p.h"
QT_BEGIN_NAMESPACE
@@ -65,12 +66,12 @@ QT_BEGIN_NAMESPACE
objects, and modifying the associated QGesture objects to include relevant information
about the user's input.
- Gestures are created when the framework calls createGesture() to handle user input
+ Gestures are created when the framework calls create() to handle user input
for a particular instance of a QWidget or QGraphicsObject subclass. A QGesture object
is created for each widget or item that is configured to use gestures.
Once a QGesture has been created for a target object, the gesture recognizer will
- receive events for it in its filterEvent() handler function.
+ receive events for it in its recognize() handler function.
When a gesture is canceled, the reset() function is called, giving the recognizer the
chance to update the appropriate properties in the corresponding QGesture object.
@@ -79,20 +80,22 @@ QT_BEGIN_NAMESPACE
To add support for new gestures, you need to derive from QGestureRecognizer to create
a custom recognizer class, construct an instance of this class, and register it with
- the application by calling QApplication::registerGestureRecognizer(). You can also
+ the application by calling QGestureRecognizer::registerRecognizer(). You can also
subclass QGesture to create a custom gesture class, or rely on dynamic properties
to express specific details of the gesture you want to handle.
- Your custom QGestureRecognizer subclass needs to reimplement the filterEvent() function
- to handle and filter the incoming input events for QWidget and QGraphicsObject subclasses.
- Although the logic for gesture recognition is implemented in this function, you can
- store persistent information about the state of the recognition process in the QGesture
- object supplied. The filterEvent() function must return a value of Qt::GestureState that
- indicates the state of recognition for a given gesture and target object. This determines
- whether or not a gesture event will be delivered to a target object.
+ Your custom QGestureRecognizer subclass needs to reimplement the recognize()
+ function to handle and filter the incoming input events for QWidget and
+ QGraphicsObject subclasses. Although the logic for gesture recognition is
+ implemented in this function, you can store persistent information about the
+ state of the recognition process in the QGesture object supplied. The
+ recognize() function must return a value of QGestureRecognizer::Result that
+ indicates the state of recognition for a given gesture and target object.
+ This determines whether or not a gesture event will be delivered to a target
+ object.
If you choose to represent a gesture by a custom QGesture subclass, you will need to
- reimplement the createGesture() function to construct instances of your gesture class.
+ reimplement the create() function to construct instances of your gesture class.
Similarly, you may need to reimplement the reset() function if your custom gesture
objects need to be specially handled when a gesture is canceled.
@@ -100,42 +103,42 @@ QT_BEGIN_NAMESPACE
*/
/*!
- \enum QGestureRecognizer::ResultFlags
+ \enum QGestureRecognizer::ResultFlag
This enum describes the result of the current event filtering step in
a gesture recognizer state machine.
- The result consists of a state value (one of Ignore, NotGesture,
- MaybeGesture, GestureTriggered, GestureFinished) and an optional hint
+ The result consists of a state value (one of Ignore, MayBeGesture,
+ TriggerGesture, FinishGesture, CancelGesture) and an optional hint
(ConsumeEventHint).
\value Ignore The event does not change the state of the recognizer.
- \value NotGesture The event made it clear that it is not a gesture. If the
- gesture recognizer was in GestureTriggered state before, then the gesture
- is canceled and the appropriate QGesture object will be delivered to the
- target as a part of a QGestureEvent.
-
- \value MaybeGesture The event changed the internal state of the recognizer,
+ \value MayBeGesture The event changed the internal state of the recognizer,
but it isn't clear yet if it is a gesture or not. The recognizer needs to
- filter more events to decide. Gesture recognizers in the MaybeGesture state
+ filter more events to decide. Gesture recognizers in the MayBeGesture state
may be reset automatically if they take too long to recognize gestures.
- \value GestureTriggered The gesture has been triggered and the appropriate
+ \value TriggerGesture The gesture has been triggered and the appropriate
QGesture object will be delivered to the target as a part of a
QGestureEvent.
- \value GestureFinished The gesture has been finished successfully and the
+ \value FinishGesture The gesture has been finished successfully and the
appropriate QGesture object will be delivered to the target as a part of a
QGestureEvent.
- \value ConsumeEventHint This hint specifies that the gesture framework should
- consume the filtered event and not deliver it to the receiver.
+ \value CancelGesture The event made it clear that it is not a gesture. If
+ the gesture recognizer was in GestureTriggered state before, then the
+ gesture is canceled and the appropriate QGesture object will be delivered
+ to the target as a part of a QGestureEvent.
+
+ \value ConsumeEventHint This hint specifies that the gesture framework
+ should consume the filtered event and not deliver it to the receiver.
\omitvalue ResultState_Mask
\omitvalue ResultHint_Mask
- \sa QGestureRecognizer::filterEvent()
+ \sa QGestureRecognizer::recognize()
*/
/*!
@@ -159,7 +162,7 @@ QGestureRecognizer::~QGestureRecognizer()
Reimplement this function to create a custom QGesture-derived gesture
object if necessary.
*/
-QGesture *QGestureRecognizer::createGesture(QObject *target)
+QGesture *QGestureRecognizer::create(QObject *target)
{
Q_UNUSED(target);
return new QGesture;
@@ -178,15 +181,15 @@ void QGestureRecognizer::reset(QGesture *gesture)
QGesturePrivate *d = gesture->d_func();
d->state = Qt::NoGesture;
d->hotSpot = QPointF();
- d->targetObject = 0;
+ d->isHotSpotSet = false;
}
}
/*!
- \fn QGestureRecognizer::filterEvent(QGesture *gesture, QObject *watched, QEvent *event)
+ \fn QGestureRecognizer::recognize(QGesture *gesture, QObject *watched, QEvent *event)
Handles the given \a event for the \a watched object, updating the state of the \a gesture
- object as required, and returns a suitable Result for the current recognition step.
+ object as required, and returns a suitable result for the current recognition step.
This function is called by the framework to allow the recognizer to filter input events
dispatched to QWidget or QGraphicsObject instances that it is monitoring.
@@ -194,7 +197,34 @@ void QGestureRecognizer::reset(QGesture *gesture)
The result reflects how much of the gesture has been recognized. The state of the
\a gesture object is set depending on the result.
- \sa Qt::GestureState
+ \sa QGestureRecognizer::Result
+*/
+
+/*!
+ Registers the given \a recognizer in the gesture framework and returns a gesture ID
+ for it.
+
+ The application takes ownership of the \a recognizer and returns the gesture type
+ ID associated with it. For gesture recognizers which handle custom QGesture
+ objects (i.e., those which return Qt::CustomGesture in a QGesture::gestureType()
+ function) the return value is a generated gesture ID with the Qt::CustomGesture
+ flag set.
+
+ \sa unregisterRecognizer(), QGestureRecognizer::create(), QGesture
*/
+Qt::GestureType QGestureRecognizer::registerRecognizer(QGestureRecognizer *recognizer)
+{
+ return QGestureManager::instance()->registerGestureRecognizer(recognizer);
+}
+
+/*!
+ Unregisters all gesture recognizers of the specified \a type.
+
+ \sa registerRecognizer()
+*/
+void QGestureRecognizer::unregisterRecognizer(Qt::GestureType type)
+{
+ QGestureManager::instance()->unregisterGestureRecognizer(type);
+}
QT_END_NAMESPACE
diff --git a/src/gui/kernel/qgesturerecognizer.h b/src/gui/kernel/qgesturerecognizer.h
index efd8565..4eebf7c 100644
--- a/src/gui/kernel/qgesturerecognizer.h
+++ b/src/gui/kernel/qgesturerecognizer.h
@@ -43,6 +43,7 @@
#define QGESTURERECOGNIZER_H
#include <QtCore/qglobal.h>
+#include <QtCore/qnamespace.h>
QT_BEGIN_HEADER
@@ -56,32 +57,36 @@ class QGesture;
class Q_GUI_EXPORT QGestureRecognizer
{
public:
- enum ResultFlags
+ enum ResultFlag
{
- Ignore = 0x0001,
- NotGesture = 0x0002,
- MaybeGesture = 0x0004,
- GestureTriggered = 0x0008, // Gesture started or updated
- GestureFinished = 0x0010,
+ Ignore = 0x0001,
- ResultState_Mask = 0x00ff,
+ MayBeGesture = 0x0002,
+ TriggerGesture = 0x0004,
+ FinishGesture = 0x0008,
+ CancelGesture = 0x0010,
+
+ ResultState_Mask = 0x00ff,
ConsumeEventHint = 0x0100,
// StoreEventHint = 0x0200,
// ReplayStoredEventsHint = 0x0400,
// DiscardStoredEventsHint = 0x0800,
- ResultHint_Mask = 0xff00
+ ResultHint_Mask = 0xff00
};
- Q_DECLARE_FLAGS(Result, ResultFlags)
+ Q_DECLARE_FLAGS(Result, ResultFlag)
QGestureRecognizer();
virtual ~QGestureRecognizer();
- virtual QGesture *createGesture(QObject *target);
- virtual QGestureRecognizer::Result filterEvent(QGesture *state, QObject *watched, QEvent *event) = 0;
-
+ virtual QGesture *create(QObject *target);
+ virtual Result recognize(QGesture *state, QObject *watched,
+ QEvent *event) = 0;
virtual void reset(QGesture *state);
+
+ static Qt::GestureType registerRecognizer(QGestureRecognizer *recognizer);
+ static void unregisterRecognizer(Qt::GestureType type);
};
Q_DECLARE_OPERATORS_FOR_FLAGS(QGestureRecognizer::Result)
diff --git a/src/gui/kernel/qguiplatformplugin.cpp b/src/gui/kernel/qguiplatformplugin.cpp
index 6e074a1..e6efec1 100644
--- a/src/gui/kernel/qguiplatformplugin.cpp
+++ b/src/gui/kernel/qguiplatformplugin.cpp
@@ -59,9 +59,9 @@ extern bool qt_wince_is_pocket_pc(); //qguifunctions_wince.cpp
#if defined(Q_WS_X11)
-#include "qkde_p.h"
-#include "qt_x11_p.h"
-#include <private/gtksymbols_p.h>
+#include <private/qkde_p.h>
+#include <private/qgtkstyle_p.h>
+#include <private/qt_x11_p.h>
#endif
@@ -206,7 +206,7 @@ QString QGuiPlatformPlugin::systemIconThemeName()
if (X11->desktopEnvironment == DE_GNOME) {
result = QString::fromLatin1("gnome");
#ifndef QT_NO_STYLE_GTK
- result = QGtk::getGConfString(QLatin1String("/desktop/gnome/interface/icon_theme"), result);
+ result = QGtkStylePrivate::getGConfString(QLatin1String("/desktop/gnome/interface/icon_theme"), result);
#endif
} else if (X11->desktopEnvironment == DE_KDE) {
result = X11->desktopVersion >= 4 ? QString::fromLatin1("oxygen") : QString::fromLatin1("crystalsvg");
@@ -288,6 +288,8 @@ int QGuiPlatformPlugin::platformHint(PlatformHint hint)
#endif
//by default keep ret = 0 so QCommonStyle will use the style default
break;
+ default:
+ break;
}
return ret;
}
diff --git a/src/gui/kernel/qkeymapper_x11.cpp b/src/gui/kernel/qkeymapper_x11.cpp
index 0ce77fe..8164589 100644
--- a/src/gui/kernel/qkeymapper_x11.cpp
+++ b/src/gui/kernel/qkeymapper_x11.cpp
@@ -714,47 +714,144 @@ extern bool qt_sm_blockUserInput;
#define XK_KP_Delete 0xFF9F
#endif
-// the next lines are taken from XFree > 4.0 (X11/XF86keysyms.h), defining some special
+// the next lines are taken on 10/2009 from X.org (X11/XF86keysym.h), defining some special
// multimedia keys. They are included here as not every system has them.
-#define XF86XK_Standby 0x1008FF10
-#define XF86XK_AudioLowerVolume 0x1008FF11
-#define XF86XK_AudioMute 0x1008FF12
-#define XF86XK_AudioRaiseVolume 0x1008FF13
-#define XF86XK_AudioPlay 0x1008FF14
-#define XF86XK_AudioStop 0x1008FF15
-#define XF86XK_AudioPrev 0x1008FF16
-#define XF86XK_AudioNext 0x1008FF17
-#define XF86XK_HomePage 0x1008FF18
-#define XF86XK_Calculator 0x1008FF1D
-#define XF86XK_Mail 0x1008FF19
-#define XF86XK_Start 0x1008FF1A
-#define XF86XK_Search 0x1008FF1B
-#define XF86XK_AudioRecord 0x1008FF1C
-#define XF86XK_Back 0x1008FF26
-#define XF86XK_Forward 0x1008FF27
-#define XF86XK_Stop 0x1008FF28
-#define XF86XK_Refresh 0x1008FF29
-#define XF86XK_Favorites 0x1008FF30
-#define XF86XK_AudioPause 0x1008FF31
-#define XF86XK_AudioMedia 0x1008FF32
-#define XF86XK_MyComputer 0x1008FF33
-#define XF86XK_OpenURL 0x1008FF38
-#define XF86XK_Launch0 0x1008FF40
-#define XF86XK_Launch1 0x1008FF41
-#define XF86XK_Launch2 0x1008FF42
-#define XF86XK_Launch3 0x1008FF43
-#define XF86XK_Launch4 0x1008FF44
-#define XF86XK_Launch5 0x1008FF45
-#define XF86XK_Launch6 0x1008FF46
-#define XF86XK_Launch7 0x1008FF47
-#define XF86XK_Launch8 0x1008FF48
-#define XF86XK_Launch9 0x1008FF49
-#define XF86XK_LaunchA 0x1008FF4A
-#define XF86XK_LaunchB 0x1008FF4B
-#define XF86XK_LaunchC 0x1008FF4C
-#define XF86XK_LaunchD 0x1008FF4D
-#define XF86XK_LaunchE 0x1008FF4E
-#define XF86XK_LaunchF 0x1008FF4F
+#define XF86XK_MonBrightnessUp 0x1008FF02
+#define XF86XK_MonBrightnessDown 0x1008FF03
+#define XF86XK_KbdLightOnOff 0x1008FF04
+#define XF86XK_KbdBrightnessUp 0x1008FF05
+#define XF86XK_KbdBrightnessDown 0x1008FF06
+#define XF86XK_Standby 0x1008FF10
+#define XF86XK_AudioLowerVolume 0x1008FF11
+#define XF86XK_AudioMute 0x1008FF12
+#define XF86XK_AudioRaiseVolume 0x1008FF13
+#define XF86XK_AudioPlay 0x1008FF14
+#define XF86XK_AudioStop 0x1008FF15
+#define XF86XK_AudioPrev 0x1008FF16
+#define XF86XK_AudioNext 0x1008FF17
+#define XF86XK_HomePage 0x1008FF18
+#define XF86XK_Mail 0x1008FF19
+#define XF86XK_Start 0x1008FF1A
+#define XF86XK_Search 0x1008FF1B
+#define XF86XK_AudioRecord 0x1008FF1C
+#define XF86XK_Calculator 0x1008FF1D
+#define XF86XK_Memo 0x1008FF1E
+#define XF86XK_ToDoList 0x1008FF1F
+#define XF86XK_Calendar 0x1008FF20
+#define XF86XK_PowerDown 0x1008FF21
+#define XF86XK_ContrastAdjust 0x1008FF22
+#define XF86XK_Back 0x1008FF26
+#define XF86XK_Forward 0x1008FF27
+#define XF86XK_Stop 0x1008FF28
+#define XF86XK_Refresh 0x1008FF29
+#define XF86XK_PowerOff 0x1008FF2A
+#define XF86XK_WakeUp 0x1008FF2B
+#define XF86XK_Eject 0x1008FF2C
+#define XF86XK_ScreenSaver 0x1008FF2D
+#define XF86XK_WWW 0x1008FF2E
+#define XF86XK_Sleep 0x1008FF2F
+#define XF86XK_Favorites 0x1008FF30
+#define XF86XK_AudioPause 0x1008FF31
+#define XF86XK_AudioMedia 0x1008FF32
+#define XF86XK_MyComputer 0x1008FF33
+#define XF86XK_LightBulb 0x1008FF35
+#define XF86XK_Shop 0x1008FF36
+#define XF86XK_History 0x1008FF37
+#define XF86XK_OpenURL 0x1008FF38
+#define XF86XK_AddFavorite 0x1008FF39
+#define XF86XK_HotLinks 0x1008FF3A
+#define XF86XK_BrightnessAdjust 0x1008FF3B
+#define XF86XK_Finance 0x1008FF3C
+#define XF86XK_Community 0x1008FF3D
+#define XF86XK_AudioRewind 0x1008FF3E
+#define XF86XK_BackForward 0x1008FF3F
+#define XF86XK_Launch0 0x1008FF40
+#define XF86XK_Launch1 0x1008FF41
+#define XF86XK_Launch2 0x1008FF42
+#define XF86XK_Launch3 0x1008FF43
+#define XF86XK_Launch4 0x1008FF44
+#define XF86XK_Launch5 0x1008FF45
+#define XF86XK_Launch6 0x1008FF46
+#define XF86XK_Launch7 0x1008FF47
+#define XF86XK_Launch8 0x1008FF48
+#define XF86XK_Launch9 0x1008FF49
+#define XF86XK_LaunchA 0x1008FF4A
+#define XF86XK_LaunchB 0x1008FF4B
+#define XF86XK_LaunchC 0x1008FF4C
+#define XF86XK_LaunchD 0x1008FF4D
+#define XF86XK_LaunchE 0x1008FF4E
+#define XF86XK_LaunchF 0x1008FF4F
+#define XF86XK_ApplicationLeft 0x1008FF50
+#define XF86XK_ApplicationRight 0x1008FF51
+#define XF86XK_Book 0x1008FF52
+#define XF86XK_CD 0x1008FF53
+#define XF86XK_Calculater 0x1008FF54
+#define XF86XK_Clear 0x1008FF55
+#define XF86XK_ClearGrab 0x1008FE21
+#define XF86XK_Close 0x1008FF56
+#define XF86XK_Copy 0x1008FF57
+#define XF86XK_Cut 0x1008FF58
+#define XF86XK_Display 0x1008FF59
+#define XF86XK_DOS 0x1008FF5A
+#define XF86XK_Documents 0x1008FF5B
+#define XF86XK_Excel 0x1008FF5C
+#define XF86XK_Explorer 0x1008FF5D
+#define XF86XK_Game 0x1008FF5E
+#define XF86XK_Go 0x1008FF5F
+#define XF86XK_iTouch 0x1008FF60
+#define XF86XK_LogOff 0x1008FF61
+#define XF86XK_Market 0x1008FF62
+#define XF86XK_Meeting 0x1008FF63
+#define XF86XK_MenuKB 0x1008FF65
+#define XF86XK_MenuPB 0x1008FF66
+#define XF86XK_MySites 0x1008FF67
+#define XF86XK_News 0x1008FF69
+#define XF86XK_OfficeHome 0x1008FF6A
+#define XF86XK_Option 0x1008FF6C
+#define XF86XK_Paste 0x1008FF6D
+#define XF86XK_Phone 0x1008FF6E
+#define XF86XK_Reply 0x1008FF72
+#define XF86XK_Reload 0x1008FF73
+#define XF86XK_RotateWindows 0x1008FF74
+#define XF86XK_RotationPB 0x1008FF75
+#define XF86XK_RotationKB 0x1008FF76
+#define XF86XK_Save 0x1008FF77
+#define XF86XK_Send 0x1008FF7B
+#define XF86XK_Spell 0x1008FF7C
+#define XF86XK_SplitScreen 0x1008FF7D
+#define XF86XK_Support 0x1008FF7E
+#define XF86XK_TaskPane 0x1008FF7F
+#define XF86XK_Terminal 0x1008FF80
+#define XF86XK_Tools 0x1008FF81
+#define XF86XK_Travel 0x1008FF82
+#define XF86XK_Video 0x1008FF87
+#define XF86XK_Word 0x1008FF89
+#define XF86XK_Xfer 0x1008FF8A
+#define XF86XK_ZoomIn 0x1008FF8B
+#define XF86XK_ZoomOut 0x1008FF8C
+#define XF86XK_Away 0x1008FF8D
+#define XF86XK_Messenger 0x1008FF8E
+#define XF86XK_WebCam 0x1008FF8F
+#define XF86XK_MailForward 0x1008FF90
+#define XF86XK_Pictures 0x1008FF91
+#define XF86XK_Music 0x1008FF92
+#define XF86XK_Battery 0x1008FF93
+#define XF86XK_Bluetooth 0x1008FF94
+#define XF86XK_WLAN 0x1008FF95
+#define XF86XK_UWB 0x1008FF96
+#define XF86XK_AudioForward 0x1008FF97
+#define XF86XK_AudioRepeat 0x1008FF98
+#define XF86XK_AudioRandomPlay 0x1008FF99
+#define XF86XK_Subtitle 0x1008FF9A
+#define XF86XK_AudioCycleTrack 0x1008FF9B
+#define XF86XK_Time 0x1008FF9F
+#define XF86XK_Select 0x1008FFA0
+#define XF86XK_View 0x1008FFA1
+#define XF86XK_TopMenu 0x1008FFA2
+#define XF86XK_Suspend 0x1008FFA7
+#define XF86XK_Hibernate 0x1008FFA8
+
+
// end of XF86keysyms.h
// Special keys used by Qtopia, mapped into the X11 private keypad range.
@@ -942,10 +1039,8 @@ static const unsigned int KeyTbl[] = {
XK_dead_hook, Qt::Key_Dead_Hook,
XK_dead_horn, Qt::Key_Dead_Horn,
- // Special multimedia keys
- // currently only tested with MS internet keyboard
-
- // browsing keys
+ // Special keys from X.org - This include multimedia keys,
+ // wireless/bluetooth/uwb keys, special launcher keys, etc.
XF86XK_Back, Qt::Key_Back,
XF86XK_Forward, Qt::Key_Forward,
XF86XK_Stop, Qt::Key_Stop,
@@ -955,8 +1050,6 @@ static const unsigned int KeyTbl[] = {
XF86XK_OpenURL, Qt::Key_OpenUrl,
XF86XK_HomePage, Qt::Key_HomePage,
XF86XK_Search, Qt::Key_Search,
-
- // media keys
XF86XK_AudioLowerVolume, Qt::Key_VolumeDown,
XF86XK_AudioMute, Qt::Key_VolumeMute,
XF86XK_AudioRaiseVolume, Qt::Key_VolumeUp,
@@ -965,13 +1058,106 @@ static const unsigned int KeyTbl[] = {
XF86XK_AudioPrev, Qt::Key_MediaPrevious,
XF86XK_AudioNext, Qt::Key_MediaNext,
XF86XK_AudioRecord, Qt::Key_MediaRecord,
-
- // launch keys
XF86XK_Mail, Qt::Key_LaunchMail,
XF86XK_MyComputer, Qt::Key_Launch0,
- XF86XK_Calculator, Qt::Key_Launch1,
+ XF86XK_Calculator, Qt::Key_Calculator,
+ XF86XK_Memo, Qt::Key_Memo,
+ XF86XK_ToDoList, Qt::Key_ToDoList,
+ XF86XK_Calendar, Qt::Key_Calendar,
+ XF86XK_PowerDown, Qt::Key_PowerDown,
+ XF86XK_ContrastAdjust, Qt::Key_ContrastAdjust,
XF86XK_Standby, Qt::Key_Standby,
-
+ XF86XK_MonBrightnessUp, Qt::Key_MonBrightnessUp,
+ XF86XK_MonBrightnessDown, Qt::Key_MonBrightnessDown,
+ XF86XK_KbdLightOnOff, Qt::Key_KeyboardLightOnOff,
+ XF86XK_KbdBrightnessUp, Qt::Key_KeyboardBrightnessUp,
+ XF86XK_KbdBrightnessDown, Qt::Key_KeyboardBrightnessDown,
+ XF86XK_PowerOff, Qt::Key_PowerOff,
+ XF86XK_WakeUp, Qt::Key_WakeUp,
+ XF86XK_Eject, Qt::Key_Eject,
+ XF86XK_ScreenSaver, Qt::Key_ScreenSaver,
+ XF86XK_WWW, Qt::Key_WWW,
+ XF86XK_Sleep, Qt::Key_Sleep,
+ XF86XK_LightBulb, Qt::Key_LightBulb,
+ XF86XK_Shop, Qt::Key_Shop,
+ XF86XK_History, Qt::Key_History,
+ XF86XK_AddFavorite, Qt::Key_AddFavorite,
+ XF86XK_HotLinks, Qt::Key_HotLinks,
+ XF86XK_BrightnessAdjust, Qt::Key_BrightnessAdjust,
+ XF86XK_Finance, Qt::Key_Finance,
+ XF86XK_Community, Qt::Key_Community,
+ XF86XK_AudioRewind, Qt::Key_AudioRewind,
+ XF86XK_BackForward, Qt::Key_BackForward,
+ XF86XK_ApplicationLeft, Qt::Key_ApplicationLeft,
+ XF86XK_ApplicationRight, Qt::Key_ApplicationRight,
+ XF86XK_Book, Qt::Key_Book,
+ XF86XK_CD, Qt::Key_CD,
+ XF86XK_Calculater, Qt::Key_Calculator,
+ XF86XK_Clear, Qt::Key_Clear,
+ XF86XK_ClearGrab, Qt::Key_ClearGrab,
+ XF86XK_Close, Qt::Key_Close,
+ XF86XK_Copy, Qt::Key_Copy,
+ XF86XK_Cut, Qt::Key_Cut,
+ XF86XK_Display, Qt::Key_Display,
+ XF86XK_DOS, Qt::Key_DOS,
+ XF86XK_Documents, Qt::Key_Documents,
+ XF86XK_Excel, Qt::Key_Excel,
+ XF86XK_Explorer, Qt::Key_Explorer,
+ XF86XK_Game, Qt::Key_Game,
+ XF86XK_Go, Qt::Key_Go,
+ XF86XK_iTouch, Qt::Key_iTouch,
+ XF86XK_LogOff, Qt::Key_LogOff,
+ XF86XK_Market, Qt::Key_Market,
+ XF86XK_Meeting, Qt::Key_Meeting,
+ XF86XK_MenuKB, Qt::Key_MenuKB,
+ XF86XK_MenuPB, Qt::Key_MenuPB,
+ XF86XK_MySites, Qt::Key_MySites,
+ XF86XK_News, Qt::Key_News,
+ XF86XK_OfficeHome, Qt::Key_OfficeHome,
+ XF86XK_Option, Qt::Key_Option,
+ XF86XK_Paste, Qt::Key_Paste,
+ XF86XK_Phone, Qt::Key_Phone,
+ XF86XK_Reply, Qt::Key_Reply,
+ XF86XK_Reload, Qt::Key_Reload,
+ XF86XK_RotateWindows, Qt::Key_RotateWindows,
+ XF86XK_RotationPB, Qt::Key_RotationPB,
+ XF86XK_RotationKB, Qt::Key_RotationKB,
+ XF86XK_Save, Qt::Key_Save,
+ XF86XK_Send, Qt::Key_Send,
+ XF86XK_Spell, Qt::Key_Spell,
+ XF86XK_SplitScreen, Qt::Key_SplitScreen,
+ XF86XK_Support, Qt::Key_Support,
+ XF86XK_TaskPane, Qt::Key_TaskPane,
+ XF86XK_Terminal, Qt::Key_Terminal,
+ XF86XK_Tools, Qt::Key_Tools,
+ XF86XK_Travel, Qt::Key_Travel,
+ XF86XK_Video, Qt::Key_Video,
+ XF86XK_Word, Qt::Key_Word,
+ XF86XK_Xfer, Qt::Key_Xfer,
+ XF86XK_ZoomIn, Qt::Key_ZoomIn,
+ XF86XK_ZoomOut, Qt::Key_ZoomOut,
+ XF86XK_Away, Qt::Key_Away,
+ XF86XK_Messenger, Qt::Key_Messenger,
+ XF86XK_WebCam, Qt::Key_WebCam,
+ XF86XK_MailForward, Qt::Key_MailForward,
+ XF86XK_Pictures, Qt::Key_Pictures,
+ XF86XK_Music, Qt::Key_Music,
+ XF86XK_Battery, Qt::Key_Battery,
+ XF86XK_Bluetooth, Qt::Key_Bluetooth,
+ XF86XK_WLAN, Qt::Key_WLAN,
+ XF86XK_UWB, Qt::Key_UWB,
+ XF86XK_AudioForward, Qt::Key_AudioForward,
+ XF86XK_AudioRepeat, Qt::Key_AudioRepeat,
+ XF86XK_AudioRandomPlay, Qt::Key_AudioRandomPlay,
+ XF86XK_Subtitle, Qt::Key_Subtitle,
+ XF86XK_AudioCycleTrack, Qt::Key_AudioCycleTrack,
+ XF86XK_Time, Qt::Key_Time,
+ XF86XK_Select, Qt::Key_Select,
+ XF86XK_View, Qt::Key_View,
+ XF86XK_TopMenu, Qt::Key_TopMenu,
+ XF86XK_Bluetooth, Qt::Key_Bluetooth,
+ XF86XK_Suspend, Qt::Key_Suspend,
+ XF86XK_Hibernate, Qt::Key_Hibernate,
XF86XK_Launch0, Qt::Key_Launch2,
XF86XK_Launch1, Qt::Key_Launch3,
XF86XK_Launch2, Qt::Key_Launch4,
diff --git a/src/gui/kernel/qkeysequence.cpp b/src/gui/kernel/qkeysequence.cpp
index b44ef7f..1a76083 100644
--- a/src/gui/kernel/qkeysequence.cpp
+++ b/src/gui/kernel/qkeysequence.cpp
@@ -416,47 +416,139 @@ static const struct {
{ Qt::Key_Menu, QT_TRANSLATE_NOOP("QShortcut", "Menu") },
{ Qt::Key_Help, QT_TRANSLATE_NOOP("QShortcut", "Help") },
- // Multimedia keys
- { Qt::Key_Back, QT_TRANSLATE_NOOP("QShortcut", "Back") },
- { Qt::Key_Forward, QT_TRANSLATE_NOOP("QShortcut", "Forward") },
- { Qt::Key_Stop, QT_TRANSLATE_NOOP("QShortcut", "Stop") },
- { Qt::Key_Refresh, QT_TRANSLATE_NOOP("QShortcut", "Refresh") },
- { Qt::Key_VolumeDown, QT_TRANSLATE_NOOP("QShortcut", "Volume Down") },
- { Qt::Key_VolumeMute, QT_TRANSLATE_NOOP("QShortcut", "Volume Mute") },
- { Qt::Key_VolumeUp, QT_TRANSLATE_NOOP("QShortcut", "Volume Up") },
- { Qt::Key_BassBoost, QT_TRANSLATE_NOOP("QShortcut", "Bass Boost") },
- { Qt::Key_BassUp, QT_TRANSLATE_NOOP("QShortcut", "Bass Up") },
- { Qt::Key_BassDown, QT_TRANSLATE_NOOP("QShortcut", "Bass Down") },
- { Qt::Key_TrebleUp, QT_TRANSLATE_NOOP("QShortcut", "Treble Up") },
- { Qt::Key_TrebleDown, QT_TRANSLATE_NOOP("QShortcut", "Treble Down") },
- { Qt::Key_MediaPlay, QT_TRANSLATE_NOOP("QShortcut", "Media Play") },
- { Qt::Key_MediaStop, QT_TRANSLATE_NOOP("QShortcut", "Media Stop") },
- { Qt::Key_MediaPrevious,QT_TRANSLATE_NOOP("QShortcut", "Media Previous") },
- { Qt::Key_MediaNext, QT_TRANSLATE_NOOP("QShortcut", "Media Next") },
- { Qt::Key_MediaRecord, QT_TRANSLATE_NOOP("QShortcut", "Media Record") },
- { Qt::Key_HomePage, QT_TRANSLATE_NOOP("QShortcut", "Home Page") },
- { Qt::Key_Favorites, QT_TRANSLATE_NOOP("QShortcut", "Favorites") },
- { Qt::Key_Search, QT_TRANSLATE_NOOP("QShortcut", "Search") },
- { Qt::Key_Standby, QT_TRANSLATE_NOOP("QShortcut", "Standby") },
- { Qt::Key_OpenUrl, QT_TRANSLATE_NOOP("QShortcut", "Open URL") },
- { Qt::Key_LaunchMail, QT_TRANSLATE_NOOP("QShortcut", "Launch Mail") },
- { Qt::Key_LaunchMedia, QT_TRANSLATE_NOOP("QShortcut", "Launch Media") },
- { Qt::Key_Launch0, QT_TRANSLATE_NOOP("QShortcut", "Launch (0)") },
- { Qt::Key_Launch1, QT_TRANSLATE_NOOP("QShortcut", "Launch (1)") },
- { Qt::Key_Launch2, QT_TRANSLATE_NOOP("QShortcut", "Launch (2)") },
- { Qt::Key_Launch3, QT_TRANSLATE_NOOP("QShortcut", "Launch (3)") },
- { Qt::Key_Launch4, QT_TRANSLATE_NOOP("QShortcut", "Launch (4)") },
- { Qt::Key_Launch5, QT_TRANSLATE_NOOP("QShortcut", "Launch (5)") },
- { Qt::Key_Launch6, QT_TRANSLATE_NOOP("QShortcut", "Launch (6)") },
- { Qt::Key_Launch7, QT_TRANSLATE_NOOP("QShortcut", "Launch (7)") },
- { Qt::Key_Launch8, QT_TRANSLATE_NOOP("QShortcut", "Launch (8)") },
- { Qt::Key_Launch9, QT_TRANSLATE_NOOP("QShortcut", "Launch (9)") },
- { Qt::Key_LaunchA, QT_TRANSLATE_NOOP("QShortcut", "Launch (A)") },
- { Qt::Key_LaunchB, QT_TRANSLATE_NOOP("QShortcut", "Launch (B)") },
- { Qt::Key_LaunchC, QT_TRANSLATE_NOOP("QShortcut", "Launch (C)") },
- { Qt::Key_LaunchD, QT_TRANSLATE_NOOP("QShortcut", "Launch (D)") },
- { Qt::Key_LaunchE, QT_TRANSLATE_NOOP("QShortcut", "Launch (E)") },
- { Qt::Key_LaunchF, QT_TRANSLATE_NOOP("QShortcut", "Launch (F)") },
+ // Special keys
+ // Includes multimedia, launcher, lan keys ( bluetooth, wireless )
+ // window navigation
+ { Qt::Key_Back, QT_TRANSLATE_NOOP("QShortcut", "Back") },
+ { Qt::Key_Forward, QT_TRANSLATE_NOOP("QShortcut", "Forward") },
+ { Qt::Key_Stop, QT_TRANSLATE_NOOP("QShortcut", "Stop") },
+ { Qt::Key_Refresh, QT_TRANSLATE_NOOP("QShortcut", "Refresh") },
+ { Qt::Key_VolumeDown, QT_TRANSLATE_NOOP("QShortcut", "Volume Down") },
+ { Qt::Key_VolumeMute, QT_TRANSLATE_NOOP("QShortcut", "Volume Mute") },
+ { Qt::Key_VolumeUp, QT_TRANSLATE_NOOP("QShortcut", "Volume Up") },
+ { Qt::Key_BassBoost, QT_TRANSLATE_NOOP("QShortcut", "Bass Boost") },
+ { Qt::Key_BassUp, QT_TRANSLATE_NOOP("QShortcut", "Bass Up") },
+ { Qt::Key_BassDown, QT_TRANSLATE_NOOP("QShortcut", "Bass Down") },
+ { Qt::Key_TrebleUp, QT_TRANSLATE_NOOP("QShortcut", "Treble Up") },
+ { Qt::Key_TrebleDown, QT_TRANSLATE_NOOP("QShortcut", "Treble Down") },
+ { Qt::Key_MediaPlay, QT_TRANSLATE_NOOP("QShortcut", "Media Play") },
+ { Qt::Key_MediaStop, QT_TRANSLATE_NOOP("QShortcut", "Media Stop") },
+ { Qt::Key_MediaPrevious, QT_TRANSLATE_NOOP("QShortcut", "Media Previous") },
+ { Qt::Key_MediaNext, QT_TRANSLATE_NOOP("QShortcut", "Media Next") },
+ { Qt::Key_MediaRecord, QT_TRANSLATE_NOOP("QShortcut", "Media Record") },
+ { Qt::Key_HomePage, QT_TRANSLATE_NOOP("QShortcut", "Home Page") },
+ { Qt::Key_Favorites, QT_TRANSLATE_NOOP("QShortcut", "Favorites") },
+ { Qt::Key_Search, QT_TRANSLATE_NOOP("QShortcut", "Search") },
+ { Qt::Key_Standby, QT_TRANSLATE_NOOP("QShortcut", "Standby") },
+ { Qt::Key_OpenUrl, QT_TRANSLATE_NOOP("QShortcut", "Open URL") },
+ { Qt::Key_LaunchMail, QT_TRANSLATE_NOOP("QShortcut", "Launch Mail") },
+ { Qt::Key_LaunchMedia, QT_TRANSLATE_NOOP("QShortcut", "Launch Media") },
+ { Qt::Key_Launch0, QT_TRANSLATE_NOOP("QShortcut", "Launch (0)") },
+ { Qt::Key_Launch1, QT_TRANSLATE_NOOP("QShortcut", "Launch (1)") },
+ { Qt::Key_Launch2, QT_TRANSLATE_NOOP("QShortcut", "Launch (2)") },
+ { Qt::Key_Launch3, QT_TRANSLATE_NOOP("QShortcut", "Launch (3)") },
+ { Qt::Key_Launch4, QT_TRANSLATE_NOOP("QShortcut", "Launch (4)") },
+ { Qt::Key_Launch5, QT_TRANSLATE_NOOP("QShortcut", "Launch (5)") },
+ { Qt::Key_Launch6, QT_TRANSLATE_NOOP("QShortcut", "Launch (6)") },
+ { Qt::Key_Launch7, QT_TRANSLATE_NOOP("QShortcut", "Launch (7)") },
+ { Qt::Key_Launch8, QT_TRANSLATE_NOOP("QShortcut", "Launch (8)") },
+ { Qt::Key_Launch9, QT_TRANSLATE_NOOP("QShortcut", "Launch (9)") },
+ { Qt::Key_LaunchA, QT_TRANSLATE_NOOP("QShortcut", "Launch (A)") },
+ { Qt::Key_LaunchB, QT_TRANSLATE_NOOP("QShortcut", "Launch (B)") },
+ { Qt::Key_LaunchC, QT_TRANSLATE_NOOP("QShortcut", "Launch (C)") },
+ { Qt::Key_LaunchD, QT_TRANSLATE_NOOP("QShortcut", "Launch (D)") },
+ { Qt::Key_LaunchE, QT_TRANSLATE_NOOP("QShortcut", "Launch (E)") },
+ { Qt::Key_LaunchF, QT_TRANSLATE_NOOP("QShortcut", "Launch (F)") },
+ { Qt::Key_MonBrightnessUp, QT_TRANSLATE_NOOP("QShortcut", "Monitor Brightness Up") },
+ { Qt::Key_MonBrightnessDown, QT_TRANSLATE_NOOP("QShortcut", "Monitor Brightness Down") },
+ { Qt::Key_KeyboardLightOnOff, QT_TRANSLATE_NOOP("QShortcut", "Keyboard Light On/Off") },
+ { Qt::Key_KeyboardBrightnessUp, QT_TRANSLATE_NOOP("QShortcut", "Keyboard Brightness Up") },
+ { Qt::Key_KeyboardBrightnessDown, QT_TRANSLATE_NOOP("QShortcut", "Keyboard Brightness Down") },
+ { Qt::Key_PowerOff, QT_TRANSLATE_NOOP("QShortcut", "Power Off") },
+ { Qt::Key_WakeUp, QT_TRANSLATE_NOOP("QShortcut", "Wake Up") },
+ { Qt::Key_Eject, QT_TRANSLATE_NOOP("QShortcut", "Eject") },
+ { Qt::Key_ScreenSaver, QT_TRANSLATE_NOOP("QShortcut", "Screensaver") },
+ { Qt::Key_WWW, QT_TRANSLATE_NOOP("QShortcut", "WWW") },
+ { Qt::Key_Sleep, QT_TRANSLATE_NOOP("QShortcut", "Sleep") },
+ { Qt::Key_LightBulb, QT_TRANSLATE_NOOP("QShortcut", "LightBulb") },
+ { Qt::Key_Shop, QT_TRANSLATE_NOOP("QShortcut", "Shop") },
+ { Qt::Key_History, QT_TRANSLATE_NOOP("QShortcut", "History") },
+ { Qt::Key_AddFavorite, QT_TRANSLATE_NOOP("QShortcut", "Add Favorite") },
+ { Qt::Key_HotLinks, QT_TRANSLATE_NOOP("QShortcut", "Hot Links") },
+ { Qt::Key_BrightnessAdjust, QT_TRANSLATE_NOOP("QShortcut", "Adjust Brightness") },
+ { Qt::Key_Finance, QT_TRANSLATE_NOOP("QShortcut", "Finance") },
+ { Qt::Key_Community, QT_TRANSLATE_NOOP("QShortcut", "Community") },
+ { Qt::Key_AudioRewind, QT_TRANSLATE_NOOP("QShortcut", "Audio Rewind") },
+ { Qt::Key_BackForward, QT_TRANSLATE_NOOP("QShortcut", "Back Forward") },
+ { Qt::Key_ApplicationLeft, QT_TRANSLATE_NOOP("QShortcut", "Application Left") },
+ { Qt::Key_ApplicationRight, QT_TRANSLATE_NOOP("QShortcut", "Application Right") },
+ { Qt::Key_Book, QT_TRANSLATE_NOOP("QShortcut", "Book") },
+ { Qt::Key_CD, QT_TRANSLATE_NOOP("QShortcut", "CD") },
+ { Qt::Key_Calculator, QT_TRANSLATE_NOOP("QShortcut", "Calculator") },
+ { Qt::Key_Clear, QT_TRANSLATE_NOOP("QShortcut", "Clear") },
+ { Qt::Key_ClearGrab, QT_TRANSLATE_NOOP("QShortcut", "Clear Grab") },
+ { Qt::Key_Close, QT_TRANSLATE_NOOP("QShortcut", "Close") },
+ { Qt::Key_Copy, QT_TRANSLATE_NOOP("QShortcut", "Copy") },
+ { Qt::Key_Cut, QT_TRANSLATE_NOOP("QShortcut", "Cut") },
+ { Qt::Key_Display, QT_TRANSLATE_NOOP("QShortcut", "Display") },
+ { Qt::Key_DOS, QT_TRANSLATE_NOOP("QShortcut", "DOS") },
+ { Qt::Key_Documents, QT_TRANSLATE_NOOP("QShortcut", "Documents") },
+ { Qt::Key_Excel, QT_TRANSLATE_NOOP("QShortcut", "Spreadsheet") },
+ { Qt::Key_Explorer, QT_TRANSLATE_NOOP("QShortcut", "Browser") },
+ { Qt::Key_Game, QT_TRANSLATE_NOOP("QShortcut", "Game") },
+ { Qt::Key_Go, QT_TRANSLATE_NOOP("QShortcut", "Go") },
+ { Qt::Key_iTouch, QT_TRANSLATE_NOOP("QShortcut", "iTouch") },
+ { Qt::Key_LogOff, QT_TRANSLATE_NOOP("QShortcut", "Logoff") },
+ { Qt::Key_Market, QT_TRANSLATE_NOOP("QShortcut", "Market") },
+ { Qt::Key_Meeting, QT_TRANSLATE_NOOP("QShortcut", "Meeting") },
+ { Qt::Key_MenuKB, QT_TRANSLATE_NOOP("QShortcut", "Keyboard Menu") },
+ { Qt::Key_MenuPB, QT_TRANSLATE_NOOP("QShortcut", "Menu PB") },
+ { Qt::Key_MySites, QT_TRANSLATE_NOOP("QShortcut", "My Sites") },
+ { Qt::Key_News, QT_TRANSLATE_NOOP("QShortcut", "News") },
+ { Qt::Key_OfficeHome, QT_TRANSLATE_NOOP("QShortcut", "Home Office") },
+ { Qt::Key_Option, QT_TRANSLATE_NOOP("QShortcut", "Option") },
+ { Qt::Key_Paste, QT_TRANSLATE_NOOP("QShortcut", "Paste") },
+ { Qt::Key_Phone, QT_TRANSLATE_NOOP("QShortcut", "Phone") },
+ { Qt::Key_Reply, QT_TRANSLATE_NOOP("QShortcut", "Reply") },
+ { Qt::Key_Reload, QT_TRANSLATE_NOOP("QShortcut", "Reload") },
+ { Qt::Key_RotateWindows, QT_TRANSLATE_NOOP("QShortcut", "Rotate Windows") },
+ { Qt::Key_RotationPB, QT_TRANSLATE_NOOP("QShortcut", "Rotation PB") },
+ { Qt::Key_RotationKB, QT_TRANSLATE_NOOP("QShortcut", "Rotation KB") },
+ { Qt::Key_Save, QT_TRANSLATE_NOOP("QShortcut", "Save") },
+ { Qt::Key_Send, QT_TRANSLATE_NOOP("QShortcut", "Send") },
+ { Qt::Key_Spell, QT_TRANSLATE_NOOP("QShortcut", "Spellchecker") },
+ { Qt::Key_SplitScreen, QT_TRANSLATE_NOOP("QShortcut", "Split Screen") },
+ { Qt::Key_Support, QT_TRANSLATE_NOOP("QShortcut", "Support") },
+ { Qt::Key_TaskPane, QT_TRANSLATE_NOOP("QShortcut", "Task Panel") },
+ { Qt::Key_Terminal, QT_TRANSLATE_NOOP("QShortcut", "Terminal") },
+ { Qt::Key_Tools, QT_TRANSLATE_NOOP("QShortcut", "Tools") },
+ { Qt::Key_Travel, QT_TRANSLATE_NOOP("QShortcut", "Travel") },
+ { Qt::Key_Video, QT_TRANSLATE_NOOP("QShortcut", "Video") },
+ { Qt::Key_Word, QT_TRANSLATE_NOOP("QShortcut", "Word Processor") },
+ { Qt::Key_Xfer, QT_TRANSLATE_NOOP("QShortcut", "XFer") },
+ { Qt::Key_ZoomIn, QT_TRANSLATE_NOOP("QShortcut", "Zoom In") },
+ { Qt::Key_ZoomOut, QT_TRANSLATE_NOOP("QShortcut", "Zoom Out") },
+ { Qt::Key_Away, QT_TRANSLATE_NOOP("QShortcut", "Away") },
+ { Qt::Key_Messenger, QT_TRANSLATE_NOOP("QShortcut", "Messenger") },
+ { Qt::Key_WebCam, QT_TRANSLATE_NOOP("QShortcut", "WebCam") },
+ { Qt::Key_MailForward, QT_TRANSLATE_NOOP("QShortcut", "Mail Forward") },
+ { Qt::Key_Pictures, QT_TRANSLATE_NOOP("QShortcut", "Pictures") },
+ { Qt::Key_Music, QT_TRANSLATE_NOOP("QShortcut", "Music") },
+ { Qt::Key_Battery, QT_TRANSLATE_NOOP("QShortcut", "Battery") },
+ { Qt::Key_Bluetooth, QT_TRANSLATE_NOOP("QShortcut", "Bluetooth") },
+ { Qt::Key_WLAN, QT_TRANSLATE_NOOP("QShortcut", "Wireless") },
+ { Qt::Key_UWB, QT_TRANSLATE_NOOP("QShortcut", "Ultra Wide Band") },
+ { Qt::Key_AudioForward, QT_TRANSLATE_NOOP("QShortcut", "Audio Forward") },
+ { Qt::Key_AudioRepeat, QT_TRANSLATE_NOOP("QShortcut", "Audio Repeat") },
+ { Qt::Key_AudioRandomPlay, QT_TRANSLATE_NOOP("QShortcut", "Audio Random Play") },
+ { Qt::Key_Subtitle, QT_TRANSLATE_NOOP("QShortcut", "Subtitle") },
+ { Qt::Key_AudioCycleTrack, QT_TRANSLATE_NOOP("QShortcut", "Audio Cycle Track") },
+ { Qt::Key_Time, QT_TRANSLATE_NOOP("QShortcut", "Time") },
+ { Qt::Key_Select, QT_TRANSLATE_NOOP("QShortcut", "Select") },
+ { Qt::Key_View, QT_TRANSLATE_NOOP("QShortcut", "View") },
+ { Qt::Key_TopMenu, QT_TRANSLATE_NOOP("QShortcut", "Top Menu") },
+ { Qt::Key_Suspend, QT_TRANSLATE_NOOP("QShortcut", "Suspend") },
+ { Qt::Key_Hibernate, QT_TRANSLATE_NOOP("QShortcut", "Hibernate") },
// --------------------------------------------------------------
// More consistent namings
diff --git a/src/gui/kernel/qmacgesturerecognizer_mac.mm b/src/gui/kernel/qmacgesturerecognizer_mac.mm
index 7019580..f142d71 100644
--- a/src/gui/kernel/qmacgesturerecognizer_mac.mm
+++ b/src/gui/kernel/qmacgesturerecognizer_mac.mm
@@ -53,13 +53,13 @@ QMacSwipeGestureRecognizer::QMacSwipeGestureRecognizer()
{
}
-QGesture *QMacSwipeGestureRecognizer::createGesture(QObject * /*target*/)
+QGesture *QMacSwipeGestureRecognizer::create(QObject * /*target*/)
{
return new QSwipeGesture;
}
QGestureRecognizer::Result
-QMacSwipeGestureRecognizer::filterEvent(QGesture *gesture, QObject *obj, QEvent *event)
+QMacSwipeGestureRecognizer::recognize(QGesture *gesture, QObject *obj, QEvent *event)
{
if (event->type() == QEvent::NativeGesture && obj->isWidgetType()) {
QNativeGestureEvent *ev = static_cast<QNativeGestureEvent*>(event);
@@ -67,7 +67,7 @@ QMacSwipeGestureRecognizer::filterEvent(QGesture *gesture, QObject *obj, QEvent
case QNativeGestureEvent::Swipe: {
QSwipeGesture *g = static_cast<QSwipeGesture *>(gesture);
g->setSwipeAngle(ev->angle);
- return QGestureRecognizer::GestureTriggered | QGestureRecognizer::ConsumeEventHint;
+ return QGestureRecognizer::TriggerGesture | QGestureRecognizer::ConsumeEventHint;
break; }
default:
break;
@@ -90,13 +90,13 @@ QMacPinchGestureRecognizer::QMacPinchGestureRecognizer()
{
}
-QGesture *QMacPinchGestureRecognizer::createGesture(QObject * /*target*/)
+QGesture *QMacPinchGestureRecognizer::create(QObject * /*target*/)
{
return new QPinchGesture;
}
QGestureRecognizer::Result
-QMacPinchGestureRecognizer::filterEvent(QGesture *gesture, QObject *obj, QEvent *event)
+QMacPinchGestureRecognizer::recognize(QGesture *gesture, QObject *obj, QEvent *event)
{
if (event->type() == QEvent::NativeGesture && obj->isWidgetType()) {
QPinchGesture *g = static_cast<QPinchGesture *>(gesture);
@@ -106,26 +106,26 @@ QMacPinchGestureRecognizer::filterEvent(QGesture *gesture, QObject *obj, QEvent
reset(gesture);
g->setStartCenterPoint(static_cast<QWidget*>(obj)->mapFromGlobal(ev->position));
g->setCenterPoint(g->startCenterPoint());
- g->setWhatChanged(QPinchGesture::CenterPointChanged);
- return QGestureRecognizer::MaybeGesture | QGestureRecognizer::ConsumeEventHint;
+ g->setChangeFlags(QPinchGesture::CenterPointChanged);
+ g->setTotalChangeFlags(g->totalChangeFlags() | g->changeFlags());
+ return QGestureRecognizer::MayBeGesture | QGestureRecognizer::ConsumeEventHint;
case QNativeGestureEvent::Rotate: {
g->setLastScaleFactor(g->scaleFactor());
g->setLastRotationAngle(g->rotationAngle());
g->setRotationAngle(g->rotationAngle() + ev->percentage);
- g->setWhatChanged(QPinchGesture::RotationAngleChanged);
- return QGestureRecognizer::GestureTriggered | QGestureRecognizer::ConsumeEventHint;
- break;
+ g->setChangeFlags(QPinchGesture::RotationAngleChanged);
+ g->setTotalChangeFlags(g->totalChangeFlags() | g->changeFlags());
+ return QGestureRecognizer::TriggerGesture | QGestureRecognizer::ConsumeEventHint;
}
case QNativeGestureEvent::Zoom:
g->setLastScaleFactor(g->scaleFactor());
g->setLastRotationAngle(g->rotationAngle());
- g->setScaleFactor(g->scaleFactor() + ev->percentage);
- g->setWhatChanged(QPinchGesture::ScaleFactorChanged);
- return QGestureRecognizer::GestureTriggered | QGestureRecognizer::ConsumeEventHint;
- break;
+ g->setScaleFactor(g->scaleFactor() * (1 + ev->percentage));
+ g->setChangeFlags(QPinchGesture::ScaleFactorChanged);
+ g->setTotalChangeFlags(g->totalChangeFlags() | g->changeFlags());
+ return QGestureRecognizer::TriggerGesture | QGestureRecognizer::ConsumeEventHint;
case QNativeGestureEvent::GestureEnd:
- return QGestureRecognizer::GestureFinished | QGestureRecognizer::ConsumeEventHint;
- break;
+ return QGestureRecognizer::FinishGesture | QGestureRecognizer::ConsumeEventHint;
default:
break;
}
@@ -137,7 +137,8 @@ QMacPinchGestureRecognizer::filterEvent(QGesture *gesture, QObject *obj, QEvent
void QMacPinchGestureRecognizer::reset(QGesture *gesture)
{
QPinchGesture *g = static_cast<QPinchGesture *>(gesture);
- g->setWhatChanged(0);
+ g->setChangeFlags(0);
+ g->setTotalChangeFlags(0);
g->setScaleFactor(1.0f);
g->setTotalScaleFactor(1.0f);
g->setLastScaleFactor(1.0f);
@@ -158,7 +159,7 @@ QMacPanGestureRecognizer::QMacPanGestureRecognizer() : _panCanceled(true)
{
}
-QGesture *QMacPanGestureRecognizer::createGesture(QObject *target)
+QGesture *QMacPanGestureRecognizer::create(QObject *target)
{
if (!target)
return new QPanGesture;
@@ -172,7 +173,7 @@ QGesture *QMacPanGestureRecognizer::createGesture(QObject *target)
}
QGestureRecognizer::Result
-QMacPanGestureRecognizer::filterEvent(QGesture *gesture, QObject *target, QEvent *event)
+QMacPanGestureRecognizer::recognize(QGesture *gesture, QObject *target, QEvent *event)
{
const int panBeginDelay = 300;
const int panBeginRadius = 3;
@@ -185,10 +186,9 @@ QMacPanGestureRecognizer::filterEvent(QGesture *gesture, QObject *target, QEvent
if (ev->touchPoints().size() == 1) {
reset(gesture);
_startPos = QCursor::pos();
- _lastPos = _startPos;
_panTimer.start(panBeginDelay, target);
_panCanceled = false;
- return QGestureRecognizer::MaybeGesture;
+ return QGestureRecognizer::MayBeGesture;
}
break;}
case QEvent::TouchEnd: {
@@ -197,7 +197,7 @@ QMacPanGestureRecognizer::filterEvent(QGesture *gesture, QObject *target, QEvent
const QTouchEvent *ev = static_cast<const QTouchEvent*>(event);
if (ev->touchPoints().size() == 1)
- return QGestureRecognizer::GestureFinished;
+ return QGestureRecognizer::FinishGesture;
break;}
case QEvent::TouchUpdate: {
if (_panCanceled)
@@ -212,23 +212,21 @@ QMacPanGestureRecognizer::filterEvent(QGesture *gesture, QObject *target, QEvent
if ((p - _startPos).manhattanLength() > panBeginRadius) {
_panCanceled = true;
_panTimer.stop();
- return QGestureRecognizer::NotGesture;
+ return QGestureRecognizer::CancelGesture;
}
} else {
const QPointF p = QCursor::pos();
- const QPointF posOffset = p - _lastPos;
+ const QPointF posOffset = p - _startPos;
g->setLastOffset(g->offset());
g->setOffset(QPointF(posOffset.x(), posOffset.y()));
- g->setTotalOffset(g->lastOffset() + g->offset());
- _lastPos = p;
- return QGestureRecognizer::GestureTriggered;
+ return QGestureRecognizer::TriggerGesture;
}
} else if (_panTimer.isActive()) {
// I only want to cancel the pan if the user is pressing
// more than one finger, and the pan hasn't started yet:
_panCanceled = true;
_panTimer.stop();
- return QGestureRecognizer::NotGesture;
+ return QGestureRecognizer::CancelGesture;
}
break;}
case QEvent::Timer: {
@@ -239,8 +237,7 @@ QMacPanGestureRecognizer::filterEvent(QGesture *gesture, QObject *target, QEvent
break;
// Begin new pan session!
_startPos = QCursor::pos();
- _lastPos = _startPos;
- return QGestureRecognizer::GestureTriggered | QGestureRecognizer::ConsumeEventHint;
+ return QGestureRecognizer::TriggerGesture | QGestureRecognizer::ConsumeEventHint;
}
break; }
default:
@@ -254,11 +251,9 @@ void QMacPanGestureRecognizer::reset(QGesture *gesture)
{
QPanGesture *g = static_cast<QPanGesture *>(gesture);
_startPos = QPointF();
- _lastPos = QPointF();
_panCanceled = true;
g->setOffset(QPointF(0, 0));
g->setLastOffset(QPointF(0, 0));
- g->setTotalOffset(QPointF(0, 0));
g->setAcceleration(qreal(1));
QGestureRecognizer::reset(gesture);
}
diff --git a/src/gui/kernel/qmacgesturerecognizer_mac_p.h b/src/gui/kernel/qmacgesturerecognizer_mac_p.h
index bdc2e08..2dac56a 100644
--- a/src/gui/kernel/qmacgesturerecognizer_mac_p.h
+++ b/src/gui/kernel/qmacgesturerecognizer_mac_p.h
@@ -64,8 +64,8 @@ class QMacSwipeGestureRecognizer : public QGestureRecognizer
public:
QMacSwipeGestureRecognizer();
- QGesture *createGesture(QObject *target);
- QGestureRecognizer::Result filterEvent(QGesture *gesture, QObject *watched, QEvent *event);
+ QGesture *create(QObject *target);
+ QGestureRecognizer::Result recognize(QGesture *gesture, QObject *watched, QEvent *event);
void reset(QGesture *gesture);
};
@@ -74,8 +74,8 @@ class QMacPinchGestureRecognizer : public QGestureRecognizer
public:
QMacPinchGestureRecognizer();
- QGesture *createGesture(QObject *target);
- QGestureRecognizer::Result filterEvent(QGesture *gesture, QObject *watched, QEvent *event);
+ QGesture *create(QObject *target);
+ QGestureRecognizer::Result recognize(QGesture *gesture, QObject *watched, QEvent *event);
void reset(QGesture *gesture);
};
@@ -86,12 +86,11 @@ class QMacPanGestureRecognizer : public QObject, public QGestureRecognizer
public:
QMacPanGestureRecognizer();
- QGesture *createGesture(QObject *target);
- QGestureRecognizer::Result filterEvent(QGesture *gesture, QObject *watched, QEvent *event);
+ QGesture *create(QObject *target);
+ QGestureRecognizer::Result recognize(QGesture *gesture, QObject *watched, QEvent *event);
void reset(QGesture *gesture);
private:
QPointF _startPos;
- QPointF _lastPos;
QBasicTimer _panTimer;
bool _panCanceled;
};
diff --git a/src/gui/kernel/qsoftkeymanager.cpp b/src/gui/kernel/qsoftkeymanager.cpp
index 6116a5e..a914220 100644
--- a/src/gui/kernel/qsoftkeymanager.cpp
+++ b/src/gui/kernel/qsoftkeymanager.cpp
@@ -48,6 +48,7 @@
#include "private/qsoftkeymanager_p.h"
#include "private/qobject_p.h"
+#ifndef QT_NO_SOFTKEYMANAGER
QT_BEGIN_NAMESPACE
#ifdef Q_WS_S60
@@ -139,11 +140,18 @@ QAction *QSoftKeyManager::createKeyedAction(StandardSoftKey standardKey, Qt::Key
QScopedPointer<QAction> action(createAction(standardKey, actionWidget));
connect(action.data(), SIGNAL(triggered()), QSoftKeyManager::instance(), SLOT(sendKeyEvent()));
-
+ connect(action.data(), SIGNAL(destroyed(QObject*)), QSoftKeyManager::instance(), SLOT(cleanupHash(QObject*)));
QSoftKeyManager::instance()->d_func()->keyedActions.insert(action.data(), key);
return action.take();
}
+void QSoftKeyManager::cleanupHash(QObject* obj)
+{
+ Q_D(QSoftKeyManager);
+ QAction *action = qobject_cast<QAction*>(obj);
+ d->keyedActions.remove(action);
+}
+
void QSoftKeyManager::sendKeyEvent()
{
Q_D(QSoftKeyManager);
@@ -199,6 +207,7 @@ bool QSoftKeyManager::event(QEvent *e)
void QSoftKeyManagerPrivate::updateSoftKeys_sys(const QList<QAction*> &softkeys)
{
CEikButtonGroupContainer* nativeContainer = S60->buttonGroupContainer();
+ nativeContainer->DrawableWindow()->SetOrdinalPosition(0);
nativeContainer->DrawableWindow()->SetPointerCapturePriority(1); //keep softkeys available in modal dialog
QT_TRAP_THROWING(nativeContainer->SetCommandSetL(R_AVKON_SOFTKEYS_EMPTY_WITH_IDS));
@@ -237,7 +246,11 @@ void QSoftKeyManagerPrivate::updateSoftKeys_sys(const QList<QAction*> &softkeys)
}
}
- if (needsExitButton)
+ const Qt::WindowType sourceWindowType = QSoftKeyManagerPrivate::softKeySource
+ ? QSoftKeyManagerPrivate::softKeySource->window()->windowType()
+ : Qt::Widget;
+
+ if (needsExitButton && sourceWindowType != Qt::Dialog && sourceWindowType != Qt::Popup)
QT_TRAP_THROWING(nativeContainer->SetCommandL(2, EAknSoftkeyExit, qt_QString2TPtrC(QSoftKeyManager::tr("Exit"))));
nativeContainer->DrawDeferred(); // 3.1 needs an extra invitation
@@ -275,4 +288,4 @@ void QSoftKeyManagerPrivate::updateSoftKeys_sys(const QList<QAction*> &)
#endif
QT_END_NAMESPACE
-
+#endif //QT_NO_SOFTKEYMANAGER
diff --git a/src/gui/kernel/qsoftkeymanager_p.h b/src/gui/kernel/qsoftkeymanager_p.h
index b455445..796e080 100644
--- a/src/gui/kernel/qsoftkeymanager_p.h
+++ b/src/gui/kernel/qsoftkeymanager_p.h
@@ -58,6 +58,7 @@
QT_BEGIN_HEADER
+#ifndef QT_NO_SOFTKEYMANAGER
QT_BEGIN_NAMESPACE
class QSoftKeyManagerPrivate;
@@ -96,10 +97,12 @@ protected:
Q_DISABLE_COPY(QSoftKeyManager)
private Q_SLOTS:
+ void cleanupHash(QObject* obj);
void sendKeyEvent();
};
QT_END_NAMESPACE
+#endif //QT_NO_SOFTKEYMANAGER
QT_END_HEADER
diff --git a/src/gui/kernel/qsound_s60.cpp b/src/gui/kernel/qsound_s60.cpp
index ee5227a..7c5af64 100644
--- a/src/gui/kernel/qsound_s60.cpp
+++ b/src/gui/kernel/qsound_s60.cpp
@@ -60,13 +60,13 @@ class QAuServerS60;
class QAuBucketS60 : public QAuBucket, public MMdaAudioPlayerCallback
{
public:
- QAuBucketS60( QAuServerS60 *server, QSound *sound);
+ QAuBucketS60(QAuServerS60 *server, QSound *sound);
~QAuBucketS60();
void play();
void stop();
- inline QSound* sound() const { return m_sound; }
+ inline QSound *sound() const { return m_sound; }
public: // from MMdaAudioPlayerCallback
void MapcInitComplete(TInt aError, const TTimeIntervalMicroSeconds& aDuration);
@@ -77,88 +77,106 @@ private:
QAuServerS60 *m_server;
bool m_prepared;
bool m_playCalled;
- CMdaAudioPlayerUtility* m_playUtility;
+ CMdaAudioPlayerUtility *m_playUtility;
};
class QAuServerS60 : public QAuServer
{
public:
- QAuServerS60( QObject* parent );
+ QAuServerS60(QObject *parent);
- void init( QSound* s )
+ void init(QSound *s)
{
- QAuBucketS60 *bucket = new QAuBucketS60( this, s );
- setBucket( s, bucket );
+ QAuBucketS60 *bucket = new QAuBucketS60(this, s);
+ setBucket(s, bucket);
}
- void play( QSound* s )
+ void play(QSound *s)
{
- bucket( s )->play();
+ bucket(s)->play();
}
- void stop( QSound* s )
+ void stop(QSound *s)
{
- bucket( s )->stop();
+ bucket(s)->stop();
}
bool okay() { return true; }
+ void play(const QString& filename);
+
protected:
- void playCompleted(QAuBucketS60* bucket, int error)
- {
- QSound *sound = bucket->sound();
- if(!error) {
- // We need to handle repeats by ourselves, since with Symbian API we don't
- // know how many loops have been played when user asks it
- if( decLoop( sound ) ) {
- play( sound );
- }
- } else {
- // We don't have a way to inform about errors -> just decrement loops
- // in order that QSound::isFinished will return true;
- while(decLoop(sound)) {}
- }
- }
+ void playCompleted(QAuBucketS60 *bucket, int error);
protected:
- QAuBucketS60* bucket( QSound *s )
+ QAuBucketS60 *bucket(QSound *s)
{
- return (QAuBucketS60*)QAuServer::bucket( s );
+ return (QAuBucketS60 *)QAuServer::bucket( s );
}
friend class QAuBucketS60;
+ // static QSound::play(filename) cannot be stopped, meaning that playCompleted
+ // will get always called and QSound gets removed form this list.
+ QList<QSound *> staticPlayingSounds;
};
-QAuServerS60::QAuServerS60(QObject* parent) :
+QAuServerS60::QAuServerS60(QObject *parent) :
QAuServer(parent)
{
setObjectName(QLatin1String("QAuServerS60"));
}
+void QAuServerS60::play(const QString& filename)
+{
+ QSound *s = new QSound(filename);
+ staticPlayingSounds.append(s);
+ play(s);
+}
+
+void QAuServerS60::playCompleted(QAuBucketS60 *bucket, int error)
+{
+ QSound *sound = bucket->sound();
+ if (!error) {
+ // We need to handle repeats by ourselves, since with Symbian API we don't
+ // know how many loops have been played when user asks it
+ if (decLoop(sound)) {
+ play(sound);
+ } else {
+ if (staticPlayingSounds.removeAll(sound))
+ delete sound;
+ }
+ } else {
+ // We don't have a way to inform about errors -> just decrement loops
+ // in order that QSound::isFinished will return true;
+ while (decLoop(sound)) {}
+ if (staticPlayingSounds.removeAll(sound))
+ delete sound;
+ }
+}
-QAuServer* qt_new_audio_server()
+QAuServer *qt_new_audio_server()
{
return new QAuServerS60(qApp);
}
-QAuBucketS60::QAuBucketS60( QAuServerS60 *server, QSound *sound )
- : m_sound( sound ), m_server( server ), m_prepared(false), m_playCalled(false)
+QAuBucketS60::QAuBucketS60(QAuServerS60 *server, QSound *sound)
+ : m_sound(sound), m_server(server), m_prepared(false), m_playCalled(false)
{
- QString filepath = QFileInfo( m_sound->fileName() ).absoluteFilePath();
+ QString filepath = QFileInfo(m_sound->fileName()).absoluteFilePath();
filepath = QDir::toNativeSeparators(filepath);
TPtrC filepathPtr(qt_QString2TPtrC(filepath));
TRAPD(err, m_playUtility = CMdaAudioPlayerUtility::NewL(*this);
m_playUtility->OpenFileL(filepathPtr));
- if(err){
+ if (err) {
m_server->playCompleted(this, err);
}
}
void QAuBucketS60::play()
{
- if(m_prepared) {
+ if (m_prepared) {
// OpenFileL call is completed we can start playing immediately
m_playUtility->Play();
} else {
@@ -180,11 +198,11 @@ void QAuBucketS60::MapcPlayComplete(TInt aError)
void QAuBucketS60::MapcInitComplete(TInt aError, const TTimeIntervalMicroSeconds& /*aDuration*/)
{
- if(aError) {
+ if (aError) {
m_server->playCompleted(this, aError);
} else {
m_prepared = true;
- if(m_playCalled){
+ if (m_playCalled){
play();
}
}
@@ -192,7 +210,7 @@ void QAuBucketS60::MapcInitComplete(TInt aError, const TTimeIntervalMicroSeconds
QAuBucketS60::~QAuBucketS60()
{
- if(m_playUtility){
+ if (m_playUtility){
m_playUtility->Stop();
m_playUtility->Close();
}
diff --git a/src/gui/kernel/qstandardgestures.cpp b/src/gui/kernel/qstandardgestures.cpp
index a136379..0ea4764 100644
--- a/src/gui/kernel/qstandardgestures.cpp
+++ b/src/gui/kernel/qstandardgestures.cpp
@@ -44,6 +44,8 @@
#include "qgesture_p.h"
#include "qevent.h"
#include "qwidget.h"
+#include "qabstractscrollarea.h"
+#include "qdebug.h"
QT_BEGIN_NAMESPACE
@@ -51,29 +53,36 @@ QPanGestureRecognizer::QPanGestureRecognizer()
{
}
-QGesture *QPanGestureRecognizer::createGesture(QObject *target)
+QGesture *QPanGestureRecognizer::create(QObject *target)
{
if (target && target->isWidgetType()) {
+#if defined(Q_OS_WIN)
+ // for scroll areas on Windows we want to use native gestures instead
+ if (!qobject_cast<QAbstractScrollArea *>(target->parent()))
+ static_cast<QWidget *>(target)->setAttribute(Qt::WA_AcceptTouchEvents);
+#else
static_cast<QWidget *>(target)->setAttribute(Qt::WA_AcceptTouchEvents);
+#endif
}
return new QPanGesture;
}
-QGestureRecognizer::Result QPanGestureRecognizer::filterEvent(QGesture *state, QObject *, QEvent *event)
+QGestureRecognizer::Result QPanGestureRecognizer::recognize(QGesture *state,
+ QObject *,
+ QEvent *event)
{
- QPanGesture *q = static_cast<QPanGesture*>(state);
+ QPanGesture *q = static_cast<QPanGesture *>(state);
QPanGesturePrivate *d = q->d_func();
- const QTouchEvent *ev = static_cast<const QTouchEvent*>(event);
+ const QTouchEvent *ev = static_cast<const QTouchEvent *>(event);
QGestureRecognizer::Result result;
switch (event->type()) {
case QEvent::TouchBegin: {
- result = QGestureRecognizer::MaybeGesture;
+ result = QGestureRecognizer::MayBeGesture;
QTouchEvent::TouchPoint p = ev->touchPoints().at(0);
- d->lastPosition = p.pos().toPoint();
- d->lastOffset = d->totalOffset = d->offset = QPointF();
+ d->lastOffset = d->offset = QPointF();
break;
}
case QEvent::TouchEnd: {
@@ -83,13 +92,12 @@ QGestureRecognizer::Result QPanGestureRecognizer::filterEvent(QGesture *state, Q
QTouchEvent::TouchPoint p2 = ev->touchPoints().at(1);
d->lastOffset = d->offset;
d->offset =
- QPointF(p1.pos().x() - p1.lastPos().x() + p2.pos().x() - p2.lastPos().x(),
- p1.pos().y() - p1.lastPos().y() + p2.pos().y() - p2.lastPos().y()) / 2;
- d->totalOffset += d->offset;
+ QPointF(p1.pos().x() - p1.startPos().x() + p2.pos().x() - p2.startPos().x(),
+ p1.pos().y() - p1.startPos().y() + p2.pos().y() - p2.startPos().y()) / 2;
}
- result = QGestureRecognizer::GestureFinished;
+ result = QGestureRecognizer::FinishGesture;
} else {
- result = QGestureRecognizer::NotGesture;
+ result = QGestureRecognizer::CancelGesture;
}
break;
}
@@ -99,14 +107,13 @@ QGestureRecognizer::Result QPanGestureRecognizer::filterEvent(QGesture *state, Q
QTouchEvent::TouchPoint p2 = ev->touchPoints().at(1);
d->lastOffset = d->offset;
d->offset =
- QPointF(p1.pos().x() - p1.lastPos().x() + p2.pos().x() - p2.lastPos().x(),
- p1.pos().y() - p1.lastPos().y() + p2.pos().y() - p2.lastPos().y()) / 2;
- d->totalOffset += d->offset;
- if (d->totalOffset.x() > 10 || d->totalOffset.y() > 10 ||
- d->totalOffset.x() < -10 || d->totalOffset.y() < -10) {
- result = QGestureRecognizer::GestureTriggered;
+ QPointF(p1.pos().x() - p1.startPos().x() + p2.pos().x() - p2.startPos().x(),
+ p1.pos().y() - p1.startPos().y() + p2.pos().y() - p2.startPos().y()) / 2;
+ if (d->offset.x() > 10 || d->offset.y() > 10 ||
+ d->offset.x() < -10 || d->offset.y() < -10) {
+ result = QGestureRecognizer::TriggerGesture;
} else {
- result = QGestureRecognizer::MaybeGesture;
+ result = QGestureRecognizer::MayBeGesture;
}
}
break;
@@ -128,109 +135,433 @@ void QPanGestureRecognizer::reset(QGesture *state)
QPanGesture *pan = static_cast<QPanGesture*>(state);
QPanGesturePrivate *d = pan->d_func();
- d->totalOffset = d->lastOffset = d->offset = QPointF();
- d->lastPosition = QPoint();
+ d->lastOffset = d->offset = QPointF();
d->acceleration = 0;
-//#if defined(QT_MAC_USE_COCOA)
-// d->singleTouchPanTimer.stop();
-// d->prevMousePos = QPointF(0, 0);
-//#endif
-
QGestureRecognizer::reset(state);
}
-/*! \internal */
-/*
-bool QPanGestureRecognizer::event(QEvent *event)
+
+//
+// QPinchGestureRecognizer
+//
+
+QPinchGestureRecognizer::QPinchGestureRecognizer()
{
-#if defined(QT_MAC_USE_COCOA)
- Q_D(QPanGesture);
- if (event->type() == QEvent::Timer) {
- const QTimerEvent *te = static_cast<QTimerEvent *>(event);
- if (te->timerId() == d->singleTouchPanTimer.timerId()) {
- d->singleTouchPanTimer.stop();
- updateState(Qt::GestureStarted);
- }
+}
+
+QGesture *QPinchGestureRecognizer::create(QObject *target)
+{
+ if (target && target->isWidgetType()) {
+ static_cast<QWidget *>(target)->setAttribute(Qt::WA_AcceptTouchEvents);
}
-#endif
+ return new QPinchGesture;
+}
+
+QGestureRecognizer::Result QPinchGestureRecognizer::recognize(QGesture *state,
+ QObject *,
+ QEvent *event)
+{
+ QPinchGesture *q = static_cast<QPinchGesture *>(state);
+ QPinchGesturePrivate *d = q->d_func();
- bool consume = false;
+ const QTouchEvent *ev = static_cast<const QTouchEvent *>(event);
-#if defined(Q_WS_WIN)
-#elif defined(QT_MAC_USE_COCOA)
- // The following implements single touch
- // panning on Mac:
- const int panBeginDelay = 300;
- const int panBeginRadius = 3;
- const QTouchEvent *ev = static_cast<const QTouchEvent*>(event);
+ QGestureRecognizer::Result result;
switch (event->type()) {
case QEvent::TouchBegin: {
- if (ev->touchPoints().size() == 1) {
- d->delayManager->setEnabled(true);
- consume = d->delayManager->append(d->gestureTarget, *event);
- d->lastPosition = QCursor::pos();
- d->singleTouchPanTimer.start(panBeginDelay, this);
+ result = QGestureRecognizer::MayBeGesture;
+ break;
+ }
+ case QEvent::TouchEnd: {
+ if (q->state() != Qt::NoGesture) {
+ result = QGestureRecognizer::FinishGesture;
+ } else {
+ result = QGestureRecognizer::CancelGesture;
}
- break;}
+ break;
+ }
+ case QEvent::TouchUpdate: {
+ d->changeFlags = 0;
+ if (ev->touchPoints().size() == 2) {
+ QTouchEvent::TouchPoint p1 = ev->touchPoints().at(0);
+ QTouchEvent::TouchPoint p2 = ev->touchPoints().at(1);
+
+ d->hotSpot = p1.screenPos();
+ d->isHotSpotSet = true;
+
+ if (d->isNewSequence) {
+ d->startPosition[0] = p1.screenPos();
+ d->startPosition[1] = p2.screenPos();
+ }
+ QLineF line(p1.screenPos(), p2.screenPos());
+ QLineF tmp(line);
+ tmp.setLength(line.length() / 2.);
+ QPointF centerPoint = tmp.p2();
+
+ d->lastCenterPoint = d->centerPoint;
+ d->centerPoint = centerPoint;
+ d->changeFlags |= QPinchGesture::CenterPointChanged;
+
+ const qreal scaleFactor =
+ QLineF(p1.screenPos(), p2.screenPos()).length()
+ / QLineF(d->startPosition[0], d->startPosition[1]).length();
+ if (d->isNewSequence) {
+ d->lastScaleFactor = scaleFactor;
+ } else {
+ d->lastScaleFactor = d->scaleFactor;
+ }
+ d->scaleFactor = scaleFactor;
+ d->totalScaleFactor += d->scaleFactor - d->lastScaleFactor;
+ d->changeFlags |= QPinchGesture::ScaleFactorChanged;
+
+ qreal angle = QLineF(p1.screenPos(), p2.screenPos()).angle();
+ if (angle > 180)
+ angle -= 360;
+ qreal startAngle = QLineF(p1.startScreenPos(), p2.startScreenPos()).angle();
+ if (startAngle > 180)
+ startAngle -= 360;
+ const qreal rotationAngle = startAngle - angle;
+ if (d->isNewSequence)
+ d->lastRotationAngle = rotationAngle;
+ else
+ d->lastRotationAngle = d->rotationAngle;
+ d->rotationAngle = rotationAngle;
+ d->totalRotationAngle += d->rotationAngle - d->lastRotationAngle;
+ d->changeFlags |= QPinchGesture::RotationAngleChanged;
+
+ d->totalChangeFlags |= d->changeFlags;
+ d->isNewSequence = false;
+ result = QGestureRecognizer::TriggerGesture;
+ } else {
+ d->isNewSequence = true;
+ if (q->state() == Qt::NoGesture)
+ result = QGestureRecognizer::Ignore;
+ else
+ result = QGestureRecognizer::FinishGesture;
+ }
+ break;
+ }
+ case QEvent::MouseButtonPress:
+ case QEvent::MouseMove:
+ case QEvent::MouseButtonRelease:
+ result = QGestureRecognizer::Ignore;
+ break;
+ default:
+ result = QGestureRecognizer::Ignore;
+ break;
+ }
+ return result;
+}
+
+void QPinchGestureRecognizer::reset(QGesture *state)
+{
+ QPinchGesture *pinch = static_cast<QPinchGesture *>(state);
+ QPinchGesturePrivate *d = pinch->d_func();
+
+ d->totalChangeFlags = d->changeFlags = 0;
+
+ d->startCenterPoint = d->lastCenterPoint = d->centerPoint = QPointF();
+ d->totalScaleFactor = d->lastScaleFactor = d->scaleFactor = 0;
+ d->totalRotationAngle = d->lastRotationAngle = d->rotationAngle = 0;
+
+ d->isNewSequence = true;
+ d->startPosition[0] = d->startPosition[1] = QPointF();
+
+ QGestureRecognizer::reset(state);
+}
+
+//
+// QSwipeGestureRecognizer
+//
+
+QSwipeGestureRecognizer::QSwipeGestureRecognizer()
+{
+}
+
+QGesture *QSwipeGestureRecognizer::create(QObject *target)
+{
+ if (target && target->isWidgetType()) {
+ static_cast<QWidget *>(target)->setAttribute(Qt::WA_AcceptTouchEvents);
+ }
+ return new QSwipeGesture;
+}
+
+QGestureRecognizer::Result QSwipeGestureRecognizer::recognize(QGesture *state,
+ QObject *,
+ QEvent *event)
+{
+ QSwipeGesture *q = static_cast<QSwipeGesture *>(state);
+ QSwipeGesturePrivate *d = q->d_func();
+
+ const QTouchEvent *ev = static_cast<const QTouchEvent *>(event);
+
+ QGestureRecognizer::Result result;
+
+ switch (event->type()) {
+ case QEvent::TouchBegin: {
+ d->speed = 1;
+ d->time = QTime::currentTime();
+ d->started = true;
+ result = QGestureRecognizer::MayBeGesture;
+ break;
+ }
case QEvent::TouchEnd: {
- d->delayManager->setEnabled(false);
- if (state() != Qt::NoGesture) {
- updateState(Qt::GestureFinished);
- consume = true;
- d->delayManager->clear();
+ if (q->state() != Qt::NoGesture) {
+ result = QGestureRecognizer::FinishGesture;
} else {
- d->delayManager->replay();
+ result = QGestureRecognizer::CancelGesture;
}
- reset();
- break;}
+ break;
+ }
case QEvent::TouchUpdate: {
- consume = d->delayManager->append(d->gestureTarget, *event);
- if (ev->touchPoints().size() == 1) {
- if (state() == Qt::NoGesture) {
- // INVARIANT: The singleTouchTimer has still not fired.
- // Lets check if the user moved his finger so much from
- // the starting point that it makes sense to cancel:
- const QPointF startPos = ev->touchPoints().at(0).startPos().toPoint();
- const QPointF p = ev->touchPoints().at(0).pos().toPoint();
- if ((startPos - p).manhattanLength() > panBeginRadius) {
- d->delayManager->replay();
- consume = false;
- reset();
- } else {
- d->lastPosition = QCursor::pos();
+ if (!d->started)
+ result = QGestureRecognizer::CancelGesture;
+ else if (ev->touchPoints().size() == 3) {
+ QTouchEvent::TouchPoint p1 = ev->touchPoints().at(0);
+ QTouchEvent::TouchPoint p2 = ev->touchPoints().at(1);
+ QTouchEvent::TouchPoint p3 = ev->touchPoints().at(2);
+
+ if (d->lastPositions[0].isNull()) {
+ d->lastPositions[0] = p1.startScreenPos().toPoint();
+ d->lastPositions[1] = p2.startScreenPos().toPoint();
+ d->lastPositions[2] = p3.startScreenPos().toPoint();
+ }
+ d->hotSpot = p1.screenPos();
+ d->isHotSpotSet = true;
+
+ int xDistance = (p1.screenPos().x() - d->lastPositions[0].x() +
+ p2.screenPos().x() - d->lastPositions[1].x() +
+ p3.screenPos().x() - d->lastPositions[2].x()) / 3;
+ int yDistance = (p1.screenPos().y() - d->lastPositions[0].y() +
+ p2.screenPos().y() - d->lastPositions[1].y() +
+ p3.screenPos().y() - d->lastPositions[2].y()) / 3;
+
+ const int distance = xDistance >= yDistance ? xDistance : yDistance;
+ int elapsedTime = d->time.msecsTo(QTime::currentTime());
+ if (!elapsedTime)
+ elapsedTime = 1;
+ d->speed = 0.9 * d->speed + distance / elapsedTime;
+ d->time = QTime::currentTime();
+ d->swipeAngle = QLineF(p1.startScreenPos(), p1.screenPos()).angle();
+
+ static const int MoveThreshold = 50;
+ if (xDistance > MoveThreshold || yDistance > MoveThreshold) {
+ // measure the distance to check if the direction changed
+ d->lastPositions[0] = p1.screenPos().toPoint();
+ d->lastPositions[1] = p2.screenPos().toPoint();
+ d->lastPositions[2] = p3.screenPos().toPoint();
+ QSwipeGesture::SwipeDirection horizontal =
+ xDistance > 0 ? QSwipeGesture::Right : QSwipeGesture::Left;
+ QSwipeGesture::SwipeDirection vertical =
+ yDistance > 0 ? QSwipeGesture::Down : QSwipeGesture::Up;
+ if (d->verticalDirection == QSwipeGesture::NoDirection)
+ d->verticalDirection = vertical;
+ if (d->horizontalDirection == QSwipeGesture::NoDirection)
+ d->horizontalDirection = horizontal;
+ if (d->verticalDirection != vertical || d->horizontalDirection != horizontal) {
+ // the user has changed the direction!
+ result = QGestureRecognizer::CancelGesture;
}
+ result = QGestureRecognizer::TriggerGesture;
} else {
- d->delayManager->clear();
- QPointF mousePos = QCursor::pos();
- QPointF dist = mousePos - d->lastPosition;
- d->lastPosition = mousePos;
- d->lastOffset = d->offset;
- d->offset = QSizeF(dist.x(), dist.y());
- d->totalOffset += d->offset;
- updateState(Qt::GestureUpdated);
+ if (q->state() != Qt::NoGesture)
+ result = QGestureRecognizer::TriggerGesture;
+ else
+ result = QGestureRecognizer::MayBeGesture;
}
- } else if (state() == Qt::NoGesture) {
- d->delayManager->replay();
- consume = false;
- reset();
+ } else if (ev->touchPoints().size() > 3) {
+ result = QGestureRecognizer::CancelGesture;
+ } else { // less than 3 touch points
+ if (d->started && (ev->touchPointStates() & Qt::TouchPointPressed))
+ result = QGestureRecognizer::CancelGesture;
+ else if (d->started)
+ result = QGestureRecognizer::Ignore;
+ else
+ result = QGestureRecognizer::MayBeGesture;
}
- break;}
+ break;
+ }
case QEvent::MouseButtonPress:
case QEvent::MouseMove:
case QEvent::MouseButtonRelease:
- if (d->delayManager->isEnabled())
- consume = d->delayManager->append(d->gestureTarget, *event);
+ result = QGestureRecognizer::Ignore;
break;
default:
- return false;
+ result = QGestureRecognizer::Ignore;
+ break;
}
-#else
- Q_UNUSED(event);
-#endif
- return QGestureRecognizer::Ignore;
+ return result;
+}
+
+void QSwipeGestureRecognizer::reset(QGesture *state)
+{
+ QSwipeGesture *q = static_cast<QSwipeGesture *>(state);
+ QSwipeGesturePrivate *d = q->d_func();
+
+ d->verticalDirection = d->horizontalDirection = QSwipeGesture::NoDirection;
+ d->swipeAngle = 0;
+
+ d->lastPositions[0] = d->lastPositions[1] = d->lastPositions[2] = QPoint();
+ d->started = false;
+ d->speed = 0;
+ d->time = QTime();
+
+ QGestureRecognizer::reset(state);
+}
+
+//
+// QTapGestureRecognizer
+//
+
+QTapGestureRecognizer::QTapGestureRecognizer()
+{
+}
+
+QGesture *QTapGestureRecognizer::create(QObject *target)
+{
+ if (target && target->isWidgetType()) {
+ static_cast<QWidget *>(target)->setAttribute(Qt::WA_AcceptTouchEvents);
+ }
+ return new QTapGesture;
+}
+
+QGestureRecognizer::Result QTapGestureRecognizer::recognize(QGesture *state,
+ QObject *,
+ QEvent *event)
+{
+ QTapGesture *q = static_cast<QTapGesture *>(state);
+ QTapGesturePrivate *d = q->d_func();
+
+ const QTouchEvent *ev = static_cast<const QTouchEvent *>(event);
+
+ QGestureRecognizer::Result result = QGestureRecognizer::CancelGesture;
+
+ switch (event->type()) {
+ case QEvent::TouchBegin: {
+ d->position = ev->touchPoints().at(0).pos();
+ result = QGestureRecognizer::TriggerGesture;
+ break;
+ }
+ case QEvent::TouchUpdate:
+ case QEvent::TouchEnd: {
+ if (q->state() != Qt::NoGesture && ev->touchPoints().size() == 1) {
+ QTouchEvent::TouchPoint p = ev->touchPoints().at(0);
+ QPoint delta = p.pos().toPoint() - p.startPos().toPoint();
+ enum { TapRadius = 40 };
+ if (delta.manhattanLength() <= TapRadius) {
+ if (event->type() == QEvent::TouchEnd)
+ result = QGestureRecognizer::FinishGesture;
+ else
+ result = QGestureRecognizer::TriggerGesture;
+ }
+ }
+ break;
+ }
+ case QEvent::MouseButtonPress:
+ case QEvent::MouseMove:
+ case QEvent::MouseButtonRelease:
+ result = QGestureRecognizer::Ignore;
+ break;
+ default:
+ result = QGestureRecognizer::Ignore;
+ break;
+ }
+ return result;
+}
+
+void QTapGestureRecognizer::reset(QGesture *state)
+{
+ QTapGesture *q = static_cast<QTapGesture *>(state);
+ QTapGesturePrivate *d = q->d_func();
+
+ d->position = QPointF();
+
+ QGestureRecognizer::reset(state);
+}
+
+//
+// QTapAndHoldGestureRecognizer
+//
+
+QTapAndHoldGestureRecognizer::QTapAndHoldGestureRecognizer()
+{
+}
+
+QGesture *QTapAndHoldGestureRecognizer::create(QObject *target)
+{
+ if (target && target->isWidgetType()) {
+ static_cast<QWidget *>(target)->setAttribute(Qt::WA_AcceptTouchEvents);
+ }
+ return new QTapAndHoldGesture;
+}
+
+QGestureRecognizer::Result
+QTapAndHoldGestureRecognizer::recognize(QGesture *state, QObject *object,
+ QEvent *event)
+{
+ QTapAndHoldGesture *q = static_cast<QTapAndHoldGesture *>(state);
+ QTapAndHoldGesturePrivate *d = q->d_func();
+
+ if (object == state && event->type() == QEvent::Timer) {
+ q->killTimer(d->timerId);
+ d->timerId = 0;
+ return QGestureRecognizer::Ignore | QGestureRecognizer::ConsumeEventHint;
+ }
+
+ const QTouchEvent *ev = static_cast<const QTouchEvent *>(event);
+
+ QGestureRecognizer::Result result = QGestureRecognizer::CancelGesture;
+
+ enum { TimerInterval = 2000 };
+ enum { TapRadius = 40 };
+
+ switch (event->type()) {
+ case QEvent::TouchBegin:
+ d->position = ev->touchPoints().at(0).pos();
+ if (d->timerId)
+ q->killTimer(d->timerId);
+ d->timerId = q->startTimer(TimerInterval);
+ result = QGestureRecognizer::TriggerGesture;
+ break;
+ case QEvent::TouchEnd:
+ if (d->timerId)
+ result = QGestureRecognizer::CancelGesture;
+ else
+ result = QGestureRecognizer::FinishGesture;
+ break;
+ case QEvent::TouchUpdate:
+ if (q->state() != Qt::NoGesture && ev->touchPoints().size() == 1) {
+ QTouchEvent::TouchPoint p = ev->touchPoints().at(0);
+ QPoint delta = p.pos().toPoint() - p.startPos().toPoint();
+ if (delta.manhattanLength() <= TapRadius)
+ result = QGestureRecognizer::TriggerGesture;
+ }
+ break;
+ case QEvent::MouseButtonPress:
+ case QEvent::MouseMove:
+ case QEvent::MouseButtonRelease:
+ result = QGestureRecognizer::Ignore;
+ break;
+ default:
+ result = QGestureRecognizer::Ignore;
+ break;
+ }
+ return result;
+}
+
+void QTapAndHoldGestureRecognizer::reset(QGesture *state)
+{
+ QTapAndHoldGesture *q = static_cast<QTapAndHoldGesture *>(state);
+ QTapAndHoldGesturePrivate *d = q->d_func();
+
+ d->position = QPointF();
+ if (d->timerId)
+ q->killTimer(d->timerId);
+ d->timerId = 0;
+
+ QGestureRecognizer::reset(state);
}
- */
QT_END_NAMESPACE
diff --git a/src/gui/kernel/qstandardgestures_p.h b/src/gui/kernel/qstandardgestures_p.h
index fec5c2f..8fea2bc 100644
--- a/src/gui/kernel/qstandardgestures_p.h
+++ b/src/gui/kernel/qstandardgestures_p.h
@@ -63,9 +63,48 @@ class QPanGestureRecognizer : public QGestureRecognizer
public:
QPanGestureRecognizer();
- QGesture *createGesture(QObject *target);
+ QGesture *create(QObject *target);
+ QGestureRecognizer::Result recognize(QGesture *state, QObject *watched, QEvent *event);
+ void reset(QGesture *state);
+};
+
+class QPinchGestureRecognizer : public QGestureRecognizer
+{
+public:
+ QPinchGestureRecognizer();
+
+ QGesture *create(QObject *target);
+ QGestureRecognizer::Result recognize(QGesture *state, QObject *watched, QEvent *event);
+ void reset(QGesture *state);
+};
+
+class QSwipeGestureRecognizer : public QGestureRecognizer
+{
+public:
+ QSwipeGestureRecognizer();
+
+ QGesture *create(QObject *target);
+ QGestureRecognizer::Result recognize(QGesture *state, QObject *watched, QEvent *event);
+ void reset(QGesture *state);
+};
+
+class QTapGestureRecognizer : public QGestureRecognizer
+{
+public:
+ QTapGestureRecognizer();
+
+ QGesture *create(QObject *target);
+ QGestureRecognizer::Result recognize(QGesture *state, QObject *watched, QEvent *event);
+ void reset(QGesture *state);
+};
+
+class QTapAndHoldGestureRecognizer : public QGestureRecognizer
+{
+public:
+ QTapAndHoldGestureRecognizer();
- QGestureRecognizer::Result filterEvent(QGesture *state, QObject *watched, QEvent *event);
+ QGesture *create(QObject *target);
+ QGestureRecognizer::Result recognize(QGesture *state, QObject *watched, QEvent *event);
void reset(QGesture *state);
};
diff --git a/src/gui/kernel/qt_cocoa_helpers_mac.mm b/src/gui/kernel/qt_cocoa_helpers_mac.mm
index 2b2259c..c0fb8aa 100644
--- a/src/gui/kernel/qt_cocoa_helpers_mac.mm
+++ b/src/gui/kernel/qt_cocoa_helpers_mac.mm
@@ -1152,16 +1152,23 @@ CGFloat qt_mac_get_scalefactor()
#endif
}
-QString qt_mac_get_pasteboardString()
+QString qt_mac_get_pasteboardString(OSPasteboardRef paste)
{
QMacCocoaAutoReleasePool pool;
- NSPasteboard *pb = [NSPasteboard generalPasteboard];
- NSString *text = [pb stringForType:NSStringPboardType];
- if (text) {
- return qt_mac_NSStringToQString(text);
+ NSPasteboard *pb = nil;
+ CFStringRef pbname;
+ if (PasteboardCopyName (paste, &pbname)) {
+ pb = [NSPasteboard generalPasteboard];
} else {
- return QString();
+ pb = [NSPasteboard pasteboardWithName:reinterpret_cast<const NSString *>(pbname)];
+ CFRelease (pbname);
}
+ if (pb) {
+ NSString *text = [pb stringForType:NSStringPboardType];
+ if (text)
+ return qt_mac_NSStringToQString(text);
+ }
+ return QString();
}
QPixmap qt_mac_convert_iconref(const IconRef icon, int width, int height)
diff --git a/src/gui/kernel/qt_cocoa_helpers_mac_p.h b/src/gui/kernel/qt_cocoa_helpers_mac_p.h
index 62db064..f11ccc5 100644
--- a/src/gui/kernel/qt_cocoa_helpers_mac_p.h
+++ b/src/gui/kernel/qt_cocoa_helpers_mac_p.h
@@ -116,7 +116,7 @@ typedef struct CGPoint NSPoint;
QT_BEGIN_NAMESPACE
Qt::MouseButtons qt_mac_get_buttons(int buttons);
Qt::MouseButton qt_mac_get_button(EventMouseButton button);
-void macWindowFade(void * /*OSWindowRef*/ window, float durationSeconds = 0);
+void macWindowFade(void * /*OSWindowRef*/ window, float durationSeconds = 0.15);
bool macWindowIsTextured(void * /*OSWindowRef*/ window);
void macWindowToolbarShow(const QWidget *widget, bool show );
void macWindowToolbarSet( void * /*OSWindowRef*/ window, void* toolbarRef );
@@ -170,7 +170,7 @@ void *qt_mac_QStringListToNSMutableArrayVoid(const QStringList &list);
void qt_syncCocoaTitleBarButtons(OSWindowRef window, QWidget *widgetForWindow);
CGFloat qt_mac_get_scalefactor();
-QString qt_mac_get_pasteboardString();
+QString qt_mac_get_pasteboardString(OSPasteboardRef paste);
#ifdef __OBJC__
inline NSMutableArray *qt_mac_QStringListToNSMutableArray(const QStringList &qstrlist)
diff --git a/src/gui/kernel/qt_s60_p.h b/src/gui/kernel/qt_s60_p.h
index e25bc81..3405bcf 100644
--- a/src/gui/kernel/qt_s60_p.h
+++ b/src/gui/kernel/qt_s60_p.h
@@ -73,6 +73,7 @@
#include <akntitle.h> // CAknTitlePane
#include <akncontext.h> // CAknContextPane
#include <eikspane.h> // CEikStatusPane
+#include <aknpopupfader.h> // MAknFadedComponent and TAknPopupFader
#endif
QT_BEGIN_NAMESPACE
@@ -114,7 +115,7 @@ public:
int supportsPremultipliedAlpha : 1;
QApplication::QS60MainApplicationFactory s60ApplicationFactory; // typedef'ed pointer type
static inline void updateScreenSize();
- static inline RWsSession& wsSession();
+ static inline RWsSession& wsSession();
static inline RWindowGroup& windowGroup();
static inline CWsScreenDevice* screenDevice();
static inline CCoeAppUi* appUi();
@@ -124,6 +125,8 @@ public:
static inline CAknTitlePane* titlePane();
static inline CAknContextPane* contextPane();
static inline CEikButtonGroupContainer* buttonGroupContainer();
+
+ TTrapHandler *s60InstalledTrapHandler;
#endif
};
@@ -138,7 +141,11 @@ public:
};
class QLongTapTimer;
+
class QSymbianControl : public CCoeControl, public QAbstractLongTapObserver
+#ifdef Q_WS_S60
+, public MAknFadedComponent
+#endif
{
public:
DECLARE_TYPE_ID(0x51740000) // Fun fact: the two first values are "Qt" in ASCII.
@@ -163,6 +170,17 @@ public:
void setFocusSafely(bool focus);
+#ifdef Q_WS_S60
+ void FadeBehindPopup(bool fade){ popupFader.FadeBehindPopup( this, this, fade); }
+
+protected: // from MAknFadedComponent
+ TInt CountFadedComponents() {return 1;}
+ CCoeControl* FadedComponent(TInt aIndex) {return this;}
+#else
+ #warning No fallback implementation for QSymbianControl::FadeBehindPopup
+ void FadeBehindPopup(bool /*fade*/){ }
+#endif
+
protected:
void Draw(const TRect& aRect) const;
void SizeChanged();
@@ -187,6 +205,11 @@ private:
bool m_ignoreFocusChanged;
QLongTapTimer* m_longTapDetector;
bool m_previousEventLongTap;
+
+#ifdef Q_WS_S60
+ // Fader object used to fade everything except this menu and the CBA.
+ TAknPopupFader popupFader;
+#endif
};
inline QS60Data::QS60Data()
diff --git a/src/gui/kernel/qt_x11_p.h b/src/gui/kernel/qt_x11_p.h
index 61acbac..9f08dc6 100644
--- a/src/gui/kernel/qt_x11_p.h
+++ b/src/gui/kernel/qt_x11_p.h
@@ -428,6 +428,7 @@ struct QX11Data
// true if Qt is compiled w/ MIT-SHM support and MIT-SHM is supported on the connected Display
bool use_mitshm;
+ bool use_mitshm_pixmaps;
int mitshm_major;
// true if Qt is compiled w/ Tablet support and we have a tablet.
diff --git a/src/gui/kernel/qwidget.cpp b/src/gui/kernel/qwidget.cpp
index 102f4c9..271b939 100644
--- a/src/gui/kernel/qwidget.cpp
+++ b/src/gui/kernel/qwidget.cpp
@@ -197,6 +197,7 @@ QWidgetPrivate::QWidgetPrivate(int version)
, picture(0)
#elif defined(Q_WS_WIN)
, noPaintOnScreen(0)
+ , nativeGesturePanEnabled(0)
#elif defined(Q_WS_MAC)
, needWindowChange(0)
, isGLWidget(0)
@@ -229,7 +230,9 @@ QWidgetPrivate::~QWidgetPrivate()
if (extra)
deleteExtra();
+#ifndef QT_NO_GRAPHICSEFFECT
delete graphicsEffect;
+#endif //QT_NO_GRAPHICSEFFECT
}
QWindowSurface *QWidgetPrivate::createDefaultWindowSurface()
@@ -1549,7 +1552,9 @@ void QWidgetPrivate::createExtra()
extra = new QWExtra;
extra->glContext = 0;
extra->topextra = 0;
+#ifndef QT_NO_GRAPHICSVIEW
extra->proxyWidget = 0;
+#endif
#ifndef QT_NO_CURSOR
extra->curs = 0;
#endif
@@ -1699,12 +1704,13 @@ void QWidgetPrivate::propagatePaletteChange()
{
Q_Q(QWidget);
// Propagate a new inherited mask to all children.
- if (!q->parentWidget() && extra && extra->proxyWidget) {
#ifndef QT_NO_GRAPHICSVIEW
+ if (!q->parentWidget() && extra && extra->proxyWidget) {
QGraphicsProxyWidget *p = extra->proxyWidget;
inheritedPaletteResolveMask = p->d_func()->inheritedPaletteResolveMask | p->palette().resolve();
+ } else
#endif //QT_NO_GRAPHICSVIEW
- } else if (q->isWindow() && !q->testAttribute(Qt::WA_WindowPropagation)) {
+ if (q->isWindow() && !q->testAttribute(Qt::WA_WindowPropagation)) {
inheritedPaletteResolveMask = 0;
}
int mask = data.pal.resolve() | inheritedPaletteResolveMask;
@@ -1789,6 +1795,7 @@ QRegion QWidgetPrivate::clipRegion() const
return r;
}
+#ifndef QT_NO_GRAPHICSEFFECT
void QWidgetPrivate::invalidateGraphicsEffectsRecursively()
{
Q_Q(QWidget);
@@ -1803,6 +1810,7 @@ void QWidgetPrivate::invalidateGraphicsEffectsRecursively()
w = w->parentWidget();
} while (w);
}
+#endif //QT_NO_GRAPHICSEFFECT
void QWidgetPrivate::setDirtyOpaqueRegion()
{
@@ -1810,7 +1818,9 @@ void QWidgetPrivate::setDirtyOpaqueRegion()
dirtyOpaqueChildren = true;
+#ifndef QT_NO_GRAPHICSEFFECT
invalidateGraphicsEffectsRecursively();
+#endif //QT_NO_GRAPHICSEFFECT
if (q->isWindow())
return;
@@ -1825,18 +1835,6 @@ void QWidgetPrivate::setDirtyOpaqueRegion()
pd->setDirtyOpaqueRegion();
}
-QRegion QWidgetPrivate::getOpaqueRegion() const
-{
- Q_Q(const QWidget);
-
- QRegion r = isOpaque ? q->rect() : getOpaqueChildren();
- if (extra && extra->hasMask)
- r &= extra->mask;
- if (r.isEmpty())
- return r;
- return r & clipRect();
-}
-
const QRegion &QWidgetPrivate::getOpaqueChildren() const
{
if (!dirtyOpaqueChildren)
@@ -1851,9 +1849,17 @@ const QRegion &QWidgetPrivate::getOpaqueChildren() const
continue;
const QPoint offset = child->geometry().topLeft();
- that->opaqueChildren += child->d_func()->getOpaqueRegion().translated(offset);
+ QWidgetPrivate *childd = child->d_func();
+ QRegion r = childd->isOpaque ? child->rect() : childd->getOpaqueChildren();
+ if (childd->extra && childd->extra->hasMask)
+ r &= childd->extra->mask;
+ if (r.isEmpty())
+ continue;
+ r.translate(offset);
+ that->opaqueChildren += r;
}
+ that->opaqueChildren &= q_func()->rect();
that->dirtyOpaqueChildren = false;
return that->opaqueChildren;
@@ -1963,10 +1969,12 @@ void QWidgetPrivate::clipToEffectiveMask(QRegion &region) const
const QWidget *w = q;
QPoint offset;
+#ifndef QT_NO_GRAPHICSEFFECT
if (graphicsEffect) {
w = q->parentWidget();
offset -= data.crect.topLeft();
}
+#endif //QT_NO_GRAPHICSEFFECT
while (w) {
const QWidgetPrivate *wd = w->d_func();
@@ -2001,11 +2009,13 @@ void QWidgetPrivate::updateIsOpaque()
// hw: todo: only needed if opacity actually changed
setDirtyOpaqueRegion();
+#ifndef QT_NO_GRAPHICSEFFECT
if (graphicsEffect) {
// ### We should probably add QGraphicsEffect::isOpaque at some point.
setOpaque(false);
return;
}
+#endif //QT_NO_GRAPHICSEFFECT
Q_Q(QWidget);
#ifdef Q_WS_X11
@@ -3072,6 +3082,7 @@ void QWidgetPrivate::setEnabled_helper(bool enable)
#if defined(Q_WS_MAC)
setEnabled_helper_sys(enable);
#endif
+#ifndef QT_NO_IM
if (q->testAttribute(Qt::WA_InputMethodEnabled) && q->hasFocus()) {
QInputContext *qic = inputContext();
if (enable) {
@@ -3081,6 +3092,7 @@ void QWidgetPrivate::setEnabled_helper(bool enable)
qic->setFocusWidget(0);
}
}
+#endif //QT_NO_IM
QEvent e(QEvent::EnabledChange);
QApplication::sendEvent(q, &e);
#ifdef QT3_SUPPORT
@@ -4379,7 +4391,11 @@ QPalette QWidgetPrivate::naturalWidgetPalette(uint inheritedMask) const
Q_Q(const QWidget);
QPalette naturalPalette = QApplication::palette(q);
if (!q->testAttribute(Qt::WA_StyleSheet)
- && (!q->isWindow() || q->testAttribute(Qt::WA_WindowPropagation) || (extra && extra->proxyWidget))) {
+ && (!q->isWindow() || q->testAttribute(Qt::WA_WindowPropagation)
+#ifndef QT_NO_GRAPHICSVIEW
+ || (extra && extra->proxyWidget)
+#endif //QT_NO_GRAPHICSVIEW
+ )) {
if (QWidget *p = q->parentWidget()) {
if (!p->testAttribute(Qt::WA_StyleSheet)) {
if (!naturalPalette.isCopyOf(QApplication::palette())) {
@@ -4390,13 +4406,14 @@ QPalette QWidgetPrivate::naturalWidgetPalette(uint inheritedMask) const
naturalPalette = p->palette();
}
}
- } else if (extra && extra->proxyWidget) {
+ }
#ifndef QT_NO_GRAPHICSVIEW
+ else if (extra && extra->proxyWidget) {
QPalette inheritedPalette = extra->proxyWidget->palette();
inheritedPalette.resolve(inheritedMask);
naturalPalette = inheritedPalette.resolve(naturalPalette);
-#endif //QT_NO_GRAPHICSVIEW
}
+#endif //QT_NO_GRAPHICSVIEW
}
naturalPalette.resolve(0);
return naturalPalette;
@@ -4514,7 +4531,11 @@ QFont QWidgetPrivate::naturalWidgetFont(uint inheritedMask) const
Q_Q(const QWidget);
QFont naturalFont = QApplication::font(q);
if (!q->testAttribute(Qt::WA_StyleSheet)
- && (!q->isWindow() || q->testAttribute(Qt::WA_WindowPropagation) || (extra && extra->proxyWidget))) {
+ && (!q->isWindow() || q->testAttribute(Qt::WA_WindowPropagation)
+#ifndef QT_NO_GRAPHICSVIEW
+ || (extra && extra->proxyWidget)
+#endif //QT_NO_GRAPHICSVIEW
+ )) {
if (QWidget *p = q->parentWidget()) {
if (!p->testAttribute(Qt::WA_StyleSheet)) {
if (!naturalFont.isCopyOf(QApplication::font())) {
@@ -4525,13 +4546,14 @@ QFont QWidgetPrivate::naturalWidgetFont(uint inheritedMask) const
naturalFont = p->font();
}
}
- } else if (extra && extra->proxyWidget) {
+ }
#ifndef QT_NO_GRAPHICSVIEW
+ else if (extra && extra->proxyWidget) {
QFont inheritedFont = extra->proxyWidget->font();
inheritedFont.resolve(inheritedMask);
naturalFont = inheritedFont.resolve(naturalFont);
-#endif //QT_NO_GRAPHICSVIEW
}
+#endif //QT_NO_GRAPHICSVIEW
}
naturalFont.resolve(0);
return naturalFont;
@@ -4578,12 +4600,13 @@ void QWidgetPrivate::updateFont(const QFont &font)
data.fnt.x11SetScreen(xinfo.screen());
#endif
// Combine new mask with natural mask and propagate to children.
- if (!q->parentWidget() && extra && extra->proxyWidget) {
#ifndef QT_NO_GRAPHICSVIEW
+ if (!q->parentWidget() && extra && extra->proxyWidget) {
QGraphicsProxyWidget *p = extra->proxyWidget;
inheritedFontResolveMask = p->d_func()->inheritedFontResolveMask | p->font().resolve();
+ } else
#endif //QT_NO_GRAPHICSVIEW
- } else if (q->isWindow() && !q->testAttribute(Qt::WA_WindowPropagation)) {
+ if (q->isWindow() && !q->testAttribute(Qt::WA_WindowPropagation)) {
inheritedFontResolveMask = 0;
}
uint newMask = data.fnt.resolve() | inheritedFontResolveMask;
@@ -5000,11 +5023,13 @@ void QWidget::render(QPainter *painter, const QPoint &targetOffset,
\sa setGraphicsEffect()
*/
+#ifndef QT_NO_GRAPHICSEFFECT
QGraphicsEffect *QWidget::graphicsEffect() const
{
Q_D(const QWidget);
return d->graphicsEffect;
}
+#endif //QT_NO_GRAPHICSEFFECT
/*!
@@ -5023,6 +5048,7 @@ QGraphicsEffect *QWidget::graphicsEffect() const
\sa graphicsEffect()
*/
+#ifndef QT_NO_GRAPHICSEFFECT
void QWidget::setGraphicsEffect(QGraphicsEffect *effect)
{
Q_D(QWidget);
@@ -5052,6 +5078,7 @@ void QWidget::setGraphicsEffect(QGraphicsEffect *effect)
d->updateIsOpaque();
update();
}
+#endif //QT_NO_GRAPHICSEFFECT
bool QWidgetPrivate::isAboutToShow() const
{
@@ -5144,8 +5171,7 @@ void QWidgetPrivate::render_helper(QPainter *painter, const QPoint &targetOffset
return;
QPixmap pixmap(size);
- if (!(renderFlags & QWidget::DrawWindowBackground)
- || !q->palette().brush(q->backgroundRole()).isOpaque())
+ if (!(renderFlags & QWidget::DrawWindowBackground) || !isOpaque)
pixmap.fill(Qt::transparent);
q->render(&pixmap, QPoint(), toBePainted, renderFlags);
@@ -5198,6 +5224,7 @@ void QWidgetPrivate::drawWidget(QPaintDevice *pdev, const QRegion &rgn, const QP
return;
Q_Q(QWidget);
+#ifndef QT_NO_GRAPHICSEFFECT
if (graphicsEffect && graphicsEffect->isEnabled()) {
QGraphicsEffectSource *source = graphicsEffect->d_func()->source;
QWidgetEffectSourcePrivate *sourced = static_cast<QWidgetEffectSourcePrivate *>
@@ -5228,6 +5255,7 @@ void QWidgetPrivate::drawWidget(QPaintDevice *pdev, const QRegion &rgn, const QP
return;
}
}
+#endif //QT_NO_GRAFFICSEFFECT
const bool asRoot = flags & DrawAsRoot;
const bool alsoOnScreen = flags & DrawPaintOnScreen;
@@ -5382,7 +5410,6 @@ void QWidgetPrivate::paintSiblingsRecursive(QPaintDevice *pdev, const QObjectLis
QWidgetPrivate *wd = w->d_func();
const QPoint widgetPos(w->data->crect.topLeft());
const bool hasMask = wd->extra && wd->extra->hasMask && !wd->graphicsEffect;
-
if (index > 0) {
QRegion wr(rgn);
if (wd->isOpaque)
@@ -5394,7 +5421,11 @@ void QWidgetPrivate::paintSiblingsRecursive(QPaintDevice *pdev, const QObjectLis
, sharedPainter, backingStore);
}
- if (w->updatesEnabled() && (!w->d_func()->extra || !w->d_func()->extra->proxyWidget)) {
+ if (w->updatesEnabled()
+#ifndef QT_NO_GRAPHICSVIEW
+ && (!w->d_func()->extra || !w->d_func()->extra->proxyWidget)
+#endif //QT_NO_GRAPHICSVIEW
+ ) {
QRegion wRegion(rgn);
wRegion &= wd->effectiveRectFor(w->data->crect);
wRegion.translate(-widgetPos);
@@ -5404,6 +5435,7 @@ void QWidgetPrivate::paintSiblingsRecursive(QPaintDevice *pdev, const QObjectLis
}
}
+#ifndef QT_NO_GRAPHICSEFFECT
QRectF QWidgetEffectSourcePrivate::boundingRect(Qt::CoordinateSystem system) const
{
if (system != Qt::DeviceCoordinates)
@@ -5437,7 +5469,8 @@ void QWidgetEffectSourcePrivate::draw(QPainter *painter)
context->sharedPainter, context->backingStore);
}
-QPixmap QWidgetEffectSourcePrivate::pixmap(Qt::CoordinateSystem system, QPoint *offset) const
+QPixmap QWidgetEffectSourcePrivate::pixmap(Qt::CoordinateSystem system, QPoint *offset,
+ QGraphicsEffectSource::PixmapPadMode mode) const
{
const bool deviceCoordinates = (system == Qt::DeviceCoordinates);
if (!context && deviceCoordinates) {
@@ -5455,7 +5488,20 @@ QPixmap QWidgetEffectSourcePrivate::pixmap(Qt::CoordinateSystem system, QPoint *
pixmapOffset = painterTransform.map(pixmapOffset);
}
- QRect effectRect = m_widget->graphicsEffect()->boundingRectFor(sourceRect).toAlignedRect();
+
+ QRect effectRect;
+
+ if (mode == QGraphicsEffectSource::ExpandToEffectRectPadMode) {
+ effectRect = m_widget->graphicsEffect()->boundingRectFor(sourceRect).toAlignedRect();
+
+ } else if (mode == QGraphicsEffectSource::ExpandToTransparentBorderPadMode) {
+ effectRect = sourceRect.adjusted(-1, -1, 1, 1).toAlignedRect();
+
+ } else {
+ effectRect = sourceRect.toAlignedRect();
+
+ }
+
if (offset)
*offset = effectRect.topLeft();
@@ -5490,6 +5536,7 @@ QPixmap QWidgetEffectSourcePrivate::pixmap(Qt::CoordinateSystem system, QPoint *
m_widget->render(&pixmap, pixmapOffset);
return pixmap;
}
+#endif //QT_NO_GRAPHICSEFFECT
#ifndef QT_NO_GRAPHICSVIEW
/*!
@@ -7320,7 +7367,7 @@ void QWidget::setVisible(bool visible)
break;
parent = parent->parentWidget();
}
- if (parent && !d->getOpaqueRegion().isEmpty())
+ if (parent)
parent->d_func()->setDirtyOpaqueRegion();
}
@@ -8950,11 +8997,16 @@ QVariant QWidget::inputMethodQuery(Qt::InputMethodQuery query) const
Qt::InputMethodHints QWidget::inputMethodHints() const
{
Q_D(const QWidget);
+#ifndef QT_NO_IM
return d->imHints;
+#else //QT_NO_IM
+ return 0;
+#endif //QT_NO_IM
}
void QWidget::setInputMethodHints(Qt::InputMethodHints hints)
{
+#ifndef QT_NO_IM
Q_D(QWidget);
d->imHints = hints;
// Optimisation to update input context only it has already been created.
@@ -8963,6 +9015,7 @@ void QWidget::setInputMethodHints(Qt::InputMethodHints hints)
if (ic)
ic->update();
}
+#endif //QT_NO_IM
}
@@ -10294,6 +10347,7 @@ void QWidget::setAttribute(Qt::WidgetAttribute attribute, bool on)
QApplication::sendEvent(this, &e);
break; }
case Qt::WA_NativeWindow: {
+#ifndef QT_NO_IM
QInputContext *ic = 0;
if (on && !internalWinId() && testAttribute(Qt::WA_InputMethodEnabled) && hasFocus()) {
ic = d->inputContext();
@@ -10306,6 +10360,7 @@ void QWidget::setAttribute(Qt::WidgetAttribute attribute, bool on)
d->createWinId();
if (ic && isEnabled())
ic->setFocusWidget(this);
+#endif //QT_NO_IM
break;
}
case Qt::WA_PaintOnScreen:
@@ -10335,6 +10390,7 @@ void QWidget::setAttribute(Qt::WidgetAttribute attribute, bool on)
#endif
break;
case Qt::WA_InputMethodEnabled: {
+#ifndef QT_NO_IM
QInputContext *ic = d->ic;
if (!ic && (!on || hasFocus()))
ic = d->inputContext();
@@ -10346,6 +10402,7 @@ void QWidget::setAttribute(Qt::WidgetAttribute attribute, bool on)
ic->setFocusWidget(0);
}
}
+#endif //QT_NO_IM
break;
}
case Qt::WA_WindowPropagation:
@@ -11696,18 +11753,34 @@ QGraphicsProxyWidget *QWidget::graphicsProxyWidget() const
*/
/*!
- Subscribes the widget to a given \a gesture with a \a context.
+ Subscribes the widget to a given \a gesture with specific \a flags.
- \sa QGestureEvent
+ \sa ungrabGesture(), QGestureEvent
\since 4.6
*/
-void QWidget::grabGesture(Qt::GestureType gesture, Qt::GestureContext context)
+void QWidget::grabGesture(Qt::GestureType gesture, Qt::GestureFlags flags)
{
Q_D(QWidget);
- d->gestureContext.insert(gesture, context);
+ d->gestureContext.insert(gesture, flags);
(void)QGestureManager::instance(); // create a gesture manager
}
+/*!
+ Unsubscribes the widget from a given \a gesture type
+
+ \sa grabGesture(), QGestureEvent
+ \since 4.6
+*/
+void QWidget::ungrabGesture(Qt::GestureType gesture)
+{
+ Q_D(QWidget);
+ if (d->gestureContext.remove(gesture)) {
+ QGestureManager *manager = QGestureManager::instance();
+ manager->cleanupCachedGestures(this, gesture);
+ }
+}
+
+
QT_END_NAMESPACE
#include "moc_qwidget.cpp"
diff --git a/src/gui/kernel/qwidget.h b/src/gui/kernel/qwidget.h
index e603a1a..b7c55f9 100644
--- a/src/gui/kernel/qwidget.h
+++ b/src/gui/kernel/qwidget.h
@@ -351,10 +351,13 @@ public:
const QRegion &sourceRegion = QRegion(),
RenderFlags renderFlags = RenderFlags(DrawWindowBackground | DrawChildren));
+#ifndef QT_NO_GRAPHICSEFFECT
QGraphicsEffect *graphicsEffect() const;
void setGraphicsEffect(QGraphicsEffect *effect);
+#endif //QT_NO_GRAPHICSEFFECT
- void grabGesture(Qt::GestureType type, Qt::GestureContext context = Qt::WidgetWithChildrenGesture);
+ void grabGesture(Qt::GestureType type, Qt::GestureFlags flags = Qt::GestureFlags());
+ void ungrabGesture(Qt::GestureType type);
public Q_SLOTS:
void setWindowTitle(const QString &);
diff --git a/src/gui/kernel/qwidget_mac.mm b/src/gui/kernel/qwidget_mac.mm
index 05c6a5b..75f9a59 100644
--- a/src/gui/kernel/qwidget_mac.mm
+++ b/src/gui/kernel/qwidget_mac.mm
@@ -730,6 +730,7 @@ static EventTypeSpec window_events[] = {
{ kEventClassWindow, kEventWindowClose },
{ kEventClassWindow, kEventWindowExpanded },
{ kEventClassWindow, kEventWindowHidden },
+ { kEventClassWindow, kEventWindowZoom },
{ kEventClassWindow, kEventWindowZoomed },
{ kEventClassWindow, kEventWindowCollapsed },
{ kEventClassWindow, kEventWindowToolbarSwitchMode },
@@ -812,6 +813,9 @@ OSStatus QWidgetPrivate::qt_window_event(EventHandlerCallRef er, EventRef event,
QShowEvent qse;
QApplication::sendSpontaneousEvent(widget, &qse);
+ } else if(ekind == kEventWindowZoom) {
+ widget->d_func()->topData()->normalGeometry = widget->geometry();
+ handled_event = false;
} else if(ekind == kEventWindowZoomed) {
WindowPartCode windowPart;
GetEventParameter(event, kEventParamWindowPartCode,
@@ -2896,6 +2900,7 @@ void QWidgetPrivate::setCursor_sys(const QCursor &)
#else
Q_Q(QWidget);
if (q->testAttribute(Qt::WA_WState_Created)) {
+ QMacCocoaAutoReleasePool pool;
[qt_mac_window_for(q) invalidateCursorRectsForView:qt_mac_nativeview_for(q)];
}
#endif
@@ -2908,6 +2913,7 @@ void QWidgetPrivate::unsetCursor_sys()
#else
Q_Q(QWidget);
if (q->testAttribute(Qt::WA_WState_Created)) {
+ QMacCocoaAutoReleasePool pool;
[qt_mac_window_for(q) invalidateCursorRectsForView:qt_mac_nativeview_for(q)];
}
#endif
@@ -3015,10 +3021,17 @@ void QWidgetPrivate::setWindowIcon_sys(bool forceReset)
#else
QMacCocoaAutoReleasePool pool;
NSButton *iconButton = [qt_mac_window_for(q) standardWindowButton:NSWindowDocumentIconButton];
+ if (iconButton == nil) {
+ QCFString string(q->windowTitle());
+ const NSString *tmpString = reinterpret_cast<const NSString *>((CFStringRef)string);
+ [qt_mac_window_for(q) setRepresentedURL:[NSURL fileURLWithPath:tmpString]];
+ iconButton = [qt_mac_window_for(q) standardWindowButton:NSWindowDocumentIconButton];
+ }
if (icon.isNull()) {
[iconButton setImage:nil];
} else {
- NSImage *image = static_cast<NSImage *>(qt_mac_create_nsimage(*pm));
+ QPixmap scaled = pm->scaled(QSize(16,16), Qt::KeepAspectRatio, Qt::SmoothTransformation);
+ NSImage *image = static_cast<NSImage *>(qt_mac_create_nsimage(scaled));
[iconButton setImage:image];
[image release];
}
@@ -3048,6 +3061,7 @@ void QWidget::grabMouse()
}
}
+#ifndef QT_NO_CURSOR
void QWidget::grabMouse(const QCursor &)
{
if(isVisible() && !qt_nograb()) {
@@ -3056,6 +3070,7 @@ void QWidget::grabMouse(const QCursor &)
mac_mouse_grabber=this;
}
}
+#endif
void QWidget::releaseMouse()
{
@@ -3388,12 +3403,19 @@ void QWidgetPrivate::hide_sys()
w = q->parentWidget()->window();
if(!w || (!w->isVisible() && !w->isMinimized())) {
#ifndef QT_MAC_USE_COCOA
- for(WindowPtr wp = GetFrontWindowOfClass(kDocumentWindowClass, true);
- wp; wp = GetNextWindowOfClass(wp, kDocumentWindowClass, true)) {
+ for (WindowPtr wp = GetFrontWindowOfClass(kMovableModalWindowClass, true);
+ wp; wp = GetNextWindowOfClass(wp, kMovableModalWindowClass, true)) {
if((w = qt_mac_find_window(wp)))
break;
}
if (!w){
+ for (WindowPtr wp = GetFrontWindowOfClass(kDocumentWindowClass, true);
+ wp; wp = GetNextWindowOfClass(wp, kDocumentWindowClass, true)) {
+ if((w = qt_mac_find_window(wp)))
+ break;
+ }
+ }
+ if (!w){
for(WindowPtr wp = GetFrontWindowOfClass(kSimpleWindowClass, true);
wp; wp = GetNextWindowOfClass(wp, kSimpleWindowClass, true)) {
if((w = qt_mac_find_window(wp)))
@@ -3469,10 +3491,10 @@ void QWidget::setWindowState(Qt::WindowStates newstate)
qt_mac_set_fullscreen_mode(true);
} else {
needShow = isVisible();
- setParent(parentWidget(), d->topData()->savedFlags);
- setGeometry(d->topData()->normalGeometry);
if(!qApp->desktop()->screenNumber(this))
qt_mac_set_fullscreen_mode(false);
+ setParent(parentWidget(), d->topData()->savedFlags);
+ setGeometry(d->topData()->normalGeometry);
d->topData()->normalGeometry.setRect(0, 0, -1, -1);
}
}
@@ -3574,7 +3596,7 @@ void QWidget::setWindowState(Qt::WindowStates newstate)
[window zoom:window];
#endif
needSendStateChange = oldstate == windowState(); // Zoom didn't change flags.
- } else if(oldstate & Qt::WindowMaximized) {
+ } else if(oldstate & Qt::WindowMaximized && !(oldstate & Qt::WindowFullScreen)) {
#ifndef QT_MAC_USE_COCOA
Point idealSize;
ZoomWindowIdeal(window, inZoomIn, &idealSize);
@@ -3769,7 +3791,7 @@ void QWidgetPrivate::stackUnder_sys(QWidget *w)
/*
Modifies the bounds for a widgets backing HIView during moves and resizes. Also updates the
widget, either by scrolling its contents or repainting, depending on the WA_StaticContents
- and QWidgetPrivate::isOpaque flags.
+ flag
*/
static void qt_mac_update_widget_posisiton(QWidget *q, QRect oldRect, QRect newRect)
{
@@ -3786,8 +3808,8 @@ static void qt_mac_update_widget_posisiton(QWidget *q, QRect oldRect, QRect newR
// Perform a normal (complete repaint) update in some cases:
if (
- // move-by-scroll requires QWidgetPrivate::isOpaque set
- (isMove && q->testAttribute(Qt::WA_OpaquePaintEvent) == false) ||
+ // always repaint on move.
+ (isMove) ||
// limited update on resize requires WA_StaticContents.
(isResize && q->testAttribute(Qt::WA_StaticContents) == false) ||
diff --git a/src/gui/kernel/qwidget_p.h b/src/gui/kernel/qwidget_p.h
index 159a3f2..151b90a 100644
--- a/src/gui/kernel/qwidget_p.h
+++ b/src/gui/kernel/qwidget_p.h
@@ -384,9 +384,10 @@ public:
void setOpaque(bool opaque);
void updateIsTranslucent();
bool paintOnScreen() const;
+#ifndef QT_NO_GRAPHICSEFFECT
void invalidateGraphicsEffectsRecursively();
+#endif //QT_NO_GRAPHICSEFFECT
- QRegion getOpaqueRegion() const;
const QRegion &getOpaqueChildren() const;
void setDirtyOpaqueRegion();
@@ -531,8 +532,10 @@ public:
inline QRect effectiveRectFor(const QRect &rect) const
{
+#ifndef QT_NO_GRAPHICSEFFECT
if (graphicsEffect && graphicsEffect->isEnabled())
return graphicsEffect->boundingRectFor(rect).toAlignedRect();
+#endif //QT_NO_GRAPHICSEFFECT
return rect;
}
@@ -631,7 +634,7 @@ public:
#ifndef QT_NO_ACTION
QList<QAction*> actions;
#endif
- QMap<Qt::GestureType, Qt::GestureContext> gestureContext;
+ QMap<Qt::GestureType, Qt::GestureFlags> gestureContext;
// Bit fields.
uint high_attributes[3]; // the low ones are in QWidget::widget_attributes
@@ -775,6 +778,7 @@ struct QWidgetPaintContext
QPainter *painter;
};
+#ifndef QT_NO_GRAPHICSEFFECT
class QWidgetEffectSourcePrivate : public QGraphicsEffectSourcePrivate
{
public:
@@ -819,13 +823,15 @@ public:
QRectF boundingRect(Qt::CoordinateSystem system) const;
void draw(QPainter *p);
- QPixmap pixmap(Qt::CoordinateSystem system, QPoint *offset) const;
+ QPixmap pixmap(Qt::CoordinateSystem system, QPoint *offset,
+ QGraphicsEffectSource::PixmapPadMode mode) const;
QWidget *m_widget;
QWidgetPaintContext *context;
QTransform lastEffectTransform;
bool updateDueToGraphicsEffect;
};
+#endif //QT_NO_GRAPHICSEFFECT
inline QWExtra *QWidgetPrivate::extraData() const
{
diff --git a/src/gui/kernel/qwidget_qws.cpp b/src/gui/kernel/qwidget_qws.cpp
index 0f46016..e299c6e 100644
--- a/src/gui/kernel/qwidget_qws.cpp
+++ b/src/gui/kernel/qwidget_qws.cpp
@@ -280,7 +280,7 @@ void QWidget::destroy(bool destroyWindow, bool destroySubWindows)
QApplicationPrivate::leaveModal(this);
else if ((windowType() == Qt::Popup))
qApp->d_func()->closePopup(this);
-
+#ifndef QT_NO_IM
if (d->ic) {
delete d->ic;
d->ic =0;
@@ -291,6 +291,7 @@ void QWidget::destroy(bool destroyWindow, bool destroySubWindows)
if (qic)
qic->widgetDestroyed(this);
}
+#endif //QT_NO_IM
if ((windowType() == Qt::Desktop)) {
} else {
diff --git a/src/gui/kernel/qwidget_s60.cpp b/src/gui/kernel/qwidget_s60.cpp
index abf5ba5..88cd63d 100644
--- a/src/gui/kernel/qwidget_s60.cpp
+++ b/src/gui/kernel/qwidget_s60.cpp
@@ -434,8 +434,10 @@ void QWidgetPrivate::create_sys(WId window, bool /* initializeWindow */, bool de
drawableWindow->PointerFilter(EPointerFilterEnterExit
| EPointerFilterMove | EPointerFilterDrag, 0);
- if (q->isVisible() && q->testAttribute(Qt::WA_Mapped))
+ if (q->isVisible() && q->testAttribute(Qt::WA_Mapped)) {
activateSymbianWindow(control.data());
+ control->MakeVisible(true);
+ }
// We wait until the control is fully constructed before calling setWinId, because
// this generates a WinIdChanged event.
@@ -564,8 +566,13 @@ void QWidgetPrivate::lower_sys()
Q_Q(QWidget);
Q_ASSERT(q->testAttribute(Qt::WA_WState_Created));
- if (q->internalWinId())
- q->internalWinId()->DrawableWindow()->SetOrdinalPosition(-1);
+ if (q->internalWinId()) {
+ // If toplevel widget, lower app to background
+ if (q->isWindow())
+ S60->wsSession().SetWindowGroupOrdinalPosition(S60->windowGroup().Identifier(), -1);
+ else
+ q->internalWinId()->DrawableWindow()->SetOrdinalPosition(-1);
+ }
if (!q->isWindow())
invalidateBuffer(q->rect());
@@ -711,62 +718,6 @@ void QWidgetPrivate::s60UpdateIsOpaque()
window->SetTransparentRegion(TRegionFix<1>());
}
-CFbsBitmap* qt_pixmapToNativeBitmap(QPixmap pixmap, bool invert)
-{
- CFbsBitmap* fbsBitmap = q_check_ptr(new CFbsBitmap); // CBase derived object needs check on new
- TSize size(pixmap.size().width(), pixmap.size().height());
- TDisplayMode mode(EColor16MU);
-
- bool isNull = pixmap.isNull();
- int depth = pixmap.depth();
-
- // TODO: dummy assumptions from bit amounts for each color
- // Will fix later on when native pixmap is implemented
- switch(pixmap.depth()) {
- case 1:
- mode = EGray2;
- break;
- case 4:
- mode = EColor16;
- break;
- case 8:
- mode = EColor256;
- break;
- case 12:
- mode = EColor4K;
- break;
- case 16:
- mode = EColor64K;
- break;
- case 24:
- mode = EColor16M;
- break;
- case 32:
- case EColor16MU:
- break;
- default:
- qFatal("Unsupported pixmap depth");
- break;
- }
-
- qt_symbian_throwIfError(fbsBitmap->Create(size, mode));
- fbsBitmap->LockHeap();
- QImage image = pixmap.toImage();
-
- if (invert)
- image.invertPixels();
-
- int height = pixmap.size().height();
- for(int i=0;i<height;i++ )
- {
- TPtr8 scanline(image.scanLine(i), image.bytesPerLine(), image.bytesPerLine());
- fbsBitmap->SetScanLine( scanline, i );
- }
-
- fbsBitmap->UnlockHeap();
- return fbsBitmap;
-}
-
void QWidgetPrivate::setWindowIcon_sys(bool forceReset)
{
#ifdef Q_WS_S60
@@ -795,12 +746,8 @@ void QWidgetPrivate::setWindowIcon_sys(bool forceReset)
mask.fill(Qt::color1);
}
- // Convert to CFbsBitmp
- // TODO: When QPixmap is adapted to use native CFbsBitmap,
- // it could be set directly to context pane
- CFbsBitmap* nBitmap = qt_pixmapToNativeBitmap(pm, false);
- CFbsBitmap* nMask = qt_pixmapToNativeBitmap(mask, true);
-
+ CFbsBitmap* nBitmap = pm.toSymbianCFbsBitmap();
+ CFbsBitmap* nMask = mask.toSymbianCFbsBitmap();
contextPane->SetPicture(nBitmap,nMask);
} else {
// Icon set to null -> set context pane picture to default
@@ -831,12 +778,8 @@ void QWidgetPrivate::setWindowIcon_sys(bool forceReset)
mask.fill(Qt::color1);
}
- // Convert to CFbsBitmp
- // TODO: When QPixmap is adapted to use native CFbsBitmap,
- // it could be set directly to context pane
- CFbsBitmap* nBitmap = qt_pixmapToNativeBitmap(pm, false);
- CFbsBitmap* nMask = qt_pixmapToNativeBitmap(mask, true);
-
+ CFbsBitmap* nBitmap = pm.toSymbianCFbsBitmap();
+ CFbsBitmap* nMask = mask.toSymbianCFbsBitmap();
titlePane->SetSmallPicture( nBitmap, nMask, ETrue );
} else {
// Icon set to null -> set context pane picture to default
diff --git a/src/gui/kernel/qwidget_win.cpp b/src/gui/kernel/qwidget_win.cpp
index 2b11bec..22a94b9 100644
--- a/src/gui/kernel/qwidget_win.cpp
+++ b/src/gui/kernel/qwidget_win.cpp
@@ -161,6 +161,9 @@ static void qt_tablet_init()
qt_tablet_widget = new QWidget(0);
qt_tablet_widget->createWinId();
qt_tablet_widget->setObjectName(QLatin1String("Qt internal tablet widget"));
+ // We dont need this internal widget to appear in QApplication::topLevelWidgets()
+ if (QWidgetPrivate::allWidgets)
+ QWidgetPrivate::allWidgets->remove(qt_tablet_widget);
LOGCONTEXT lcMine;
qAddPostRoutine(qt_tablet_cleanup);
struct tagAXIS tpOri[3];
@@ -851,10 +854,13 @@ void QWidget::grabMouse()
Q_ASSERT(testAttribute(Qt::WA_WState_Created));
SetCapture(effectiveWinId());
mouseGrb = this;
+#ifndef QT_NO_CURSOR
mouseGrbCur = new QCursor(mouseGrb->cursor());
+#endif
}
}
+#ifndef QT_NO_CURSOR
void QWidget::grabMouse(const QCursor &cursor)
{
if (!qt_nograb()) {
@@ -868,6 +874,7 @@ void QWidget::grabMouse(const QCursor &cursor)
mouseGrb = this;
}
}
+#endif
void QWidget::releaseMouse()
{
@@ -2029,7 +2036,7 @@ void QWidgetPrivate::winSetupGestures()
if (!q || !q->isVisible())
return;
QApplicationPrivate *qAppPriv = QApplicationPrivate::instance();
- WId winid = q->effectiveWinId();
+ WId winid = q->internalWinId();
bool needh = false;
bool needv = false;
@@ -2045,6 +2052,8 @@ void QWidgetPrivate::winSetupGestures()
needv = (vbarpolicy == Qt::ScrollBarAlwaysOn ||
(vbarpolicy == Qt::ScrollBarAsNeeded && vbar->minimum() < vbar->maximum()));
singleFingerPanEnabled = asa->d_func()->singleFingerPanEnabled;
+ if (!winid)
+ winid = q->winId(); // enforces the native winid on the viewport
}
if (winid && qAppPriv->SetGestureConfig) {
GESTURECONFIG gc[1];
@@ -2064,17 +2073,6 @@ void QWidgetPrivate::winSetupGestures()
gc[0].dwBlock = GC_PAN;
}
-// gc[1].dwID = GID_ZOOM;
-// if (gestures.pinch)
-// gc[1].dwWant = GC_ZOOM;
-// else
-// gc[1].dwBlock = GC_ZOOM;
-// gc[2].dwID = GID_ROTATE;
-// if (gestures.pinch)
-// gc[2].dwWant = GC_ROTATE;
-// else
-// gc[2].dwBlock = GC_ROTATE;
-
qAppPriv->SetGestureConfig(winid, 0, sizeof(gc)/sizeof(gc[0]), gc, sizeof(gc[0]));
}
}
diff --git a/src/gui/kernel/qwinnativepangesturerecognizer_win.cpp b/src/gui/kernel/qwinnativepangesturerecognizer_win.cpp
index 12d3058..5fceb13 100644
--- a/src/gui/kernel/qwinnativepangesturerecognizer_win.cpp
+++ b/src/gui/kernel/qwinnativepangesturerecognizer_win.cpp
@@ -56,16 +56,16 @@ QWinNativePanGestureRecognizer::QWinNativePanGestureRecognizer()
{
}
-QGesture* QWinNativePanGestureRecognizer::createGesture(QObject *target) const
+QGesture *QWinNativePanGestureRecognizer::create(QObject *target)
{
if (!target)
return new QPanGesture; // a special case
- if (qobject_cast<QGraphicsObject*>(target))
- return 0;
if (!target->isWidgetType())
return 0;
+ if (qobject_cast<QGraphicsObject *>(target))
+ return 0;
- QWidget *q = static_cast<QWidget*>(target);
+ QWidget *q = static_cast<QWidget *>(target);
QWidgetPrivate *d = q->d_func();
d->nativeGesturePanEnabled = true;
d->winSetupGestures();
@@ -73,7 +73,9 @@ QGesture* QWinNativePanGestureRecognizer::createGesture(QObject *target) const
return new QPanGesture;
}
-QGestureRecognizer::Result QWinNativePanGestureRecognizer::filterEvent(QGesture *state, QObject *, QEvent *event)
+QGestureRecognizer::Result QWinNativePanGestureRecognizer::recognize(QGesture *state,
+ QObject *,
+ QEvent *event)
{
QPanGesture *q = static_cast<QPanGesture*>(state);
QPanGesturePrivate *d = q->d_func();
@@ -85,26 +87,25 @@ QGestureRecognizer::Result QWinNativePanGestureRecognizer::filterEvent(QGesture
case QNativeGestureEvent::GestureBegin:
break;
case QNativeGestureEvent::Pan:
- result = QGestureRecognizer::GestureTriggered;
+ result = QGestureRecognizer::TriggerGesture;
event->accept();
break;
case QNativeGestureEvent::GestureEnd:
if (q->state() == Qt::NoGesture)
return QGestureRecognizer::Ignore; // some other gesture has ended
- result = QGestureRecognizer::GestureFinished;
+ result = QGestureRecognizer::FinishGesture;
break;
default:
return QGestureRecognizer::Ignore;
}
if (q->state() == Qt::NoGesture) {
- d->lastOffset = d->totalOffset = d->offset = QPointF();
+ d->lastOffset = d->offset = QPointF();
+ d->startPosition = ev->position;
} else {
d->lastOffset = d->offset;
- d->offset = QPointF(ev->position.x() - d->lastPosition.x(),
- ev->position.y() - d->lastPosition.y());
- d->totalOffset += d->offset;
+ d->offset = QPointF(ev->position.x() - d->startPosition.x(),
+ ev->position.y() - d->startPosition.y());
}
- d->lastPosition = ev->position;
}
return result;
}
@@ -114,8 +115,8 @@ void QWinNativePanGestureRecognizer::reset(QGesture *state)
QPanGesture *pan = static_cast<QPanGesture*>(state);
QPanGesturePrivate *d = pan->d_func();
- d->totalOffset = d->lastOffset = d->offset = QPointF();
- d->lastPosition = QPoint();
+ d->lastOffset = d->offset = QPointF();
+ d->startPosition = QPoint();
d->acceleration = 0;
QGestureRecognizer::reset(state);
diff --git a/src/gui/kernel/qwinnativepangesturerecognizer_win_p.h b/src/gui/kernel/qwinnativepangesturerecognizer_win_p.h
index a1e8511..8fb0d50 100644
--- a/src/gui/kernel/qwinnativepangesturerecognizer_win_p.h
+++ b/src/gui/kernel/qwinnativepangesturerecognizer_win_p.h
@@ -62,9 +62,8 @@ class QWinNativePanGestureRecognizer : public QGestureRecognizer
public:
QWinNativePanGestureRecognizer();
- QGesture* createGesture(QObject *target) const;
-
- QGestureRecognizer::Result filterEvent(QGesture *state, QObject *watched, QEvent *event);
+ QGesture *create(QObject *target);
+ QGestureRecognizer::Result recognize(QGesture *state, QObject *watched, QEvent *event);
void reset(QGesture *state);
};
diff --git a/src/gui/math3d/qgenericmatrix.cpp b/src/gui/math3d/qgenericmatrix.cpp
index d211229..aa98536 100644
--- a/src/gui/math3d/qgenericmatrix.cpp
+++ b/src/gui/math3d/qgenericmatrix.cpp
@@ -80,7 +80,7 @@ QT_BEGIN_NAMESPACE
The contents of the array \a values is assumed to be in
row-major order.
- \sa toValueArray()
+ \sa copyDataTo()
*/
/*!
@@ -102,11 +102,11 @@ QT_BEGIN_NAMESPACE
Returns true if this matrix is the identity; false otherwise.
- \sa setIdentity()
+ \sa setToIdentity()
*/
/*!
- \fn void QGenericMatrix::setIdentity()
+ \fn void QGenericMatrix::setToIdentity()
Sets this matrix to the identity.
@@ -213,9 +213,9 @@ QT_BEGIN_NAMESPACE
*/
/*!
- \fn void QGenericMatrix::toValueArray(T *values)
+ \fn void QGenericMatrix::copyDataTo(T *values) const
- Retrieves the N * M items in this matrix and writes them to \a values
+ Retrieves the N * M items in this matrix and copies them to \a values
in row-major order.
*/
@@ -243,4 +243,100 @@ QT_BEGIN_NAMESPACE
\sa data()
*/
+#ifndef QT_NO_DATASTREAM
+
+/*!
+ \fn QDataStream &operator<<(QDataStream &stream, const QGenericMatrix<N, M, T> &matrix)
+ \relates QGenericMatrix
+
+ Writes the given \a matrix to the given \a stream and returns a
+ reference to the stream.
+
+ \sa {Format of the QDataStream Operators}
+*/
+
+/*!
+ \fn QDataStream &operator>>(QDataStream &stream, QGenericMatrix<N, M, T> &matrix)
+ \relates QGenericMatrix
+
+ Reads a NxM matrix from the given \a stream into the given \a matrix
+ and returns a reference to the stream.
+
+ \sa {Format of the QDataStream Operators}
+*/
+
+#endif
+
+/*!
+ \typedef QMatrix2x2
+ \relates QGenericMatrix
+
+ The QMatrix2x2 type defines a convenient instantiation of the
+ QGenericMatrix template for 2 columns, 2 rows, and qreal as
+ the element type.
+*/
+
+/*!
+ \typedef QMatrix2x3
+ \relates QGenericMatrix
+
+ The QMatrix2x3 type defines a convenient instantiation of the
+ QGenericMatrix template for 2 columns, 3 rows, and qreal as
+ the element type.
+*/
+
+/*!
+ \typedef QMatrix2x4
+ \relates QGenericMatrix
+
+ The QMatrix2x4 type defines a convenient instantiation of the
+ QGenericMatrix template for 2 columns, 4 rows, and qreal as
+ the element type.
+*/
+
+/*!
+ \typedef QMatrix3x2
+ \relates QGenericMatrix
+
+ The QMatrix3x2 type defines a convenient instantiation of the
+ QGenericMatrix template for 3 columns, 2 rows, and qreal as
+ the element type.
+*/
+
+/*!
+ \typedef QMatrix3x3
+ \relates QGenericMatrix
+
+ The QMatrix3x3 type defines a convenient instantiation of the
+ QGenericMatrix template for 3 columns, 3 rows, and qreal as
+ the element type.
+*/
+
+/*!
+ \typedef QMatrix3x4
+ \relates QGenericMatrix
+
+ The QMatrix3x4 type defines a convenient instantiation of the
+ QGenericMatrix template for 3 columns, 4 rows, and qreal as
+ the element type.
+*/
+
+/*!
+ \typedef QMatrix4x2
+ \relates QGenericMatrix
+
+ The QMatrix4x2 type defines a convenient instantiation of the
+ QGenericMatrix template for 4 columns, 2 rows, and qreal as
+ the element type.
+*/
+
+/*!
+ \typedef QMatrix4x3
+ \relates QGenericMatrix
+
+ The QMatrix4x3 type defines a convenient instantiation of the
+ QGenericMatrix template for 4 columns, 3 rows, and qreal as
+ the element type.
+*/
+
QT_END_NAMESPACE
diff --git a/src/gui/math3d/qgenericmatrix.h b/src/gui/math3d/qgenericmatrix.h
index f178d02..3871754 100644
--- a/src/gui/math3d/qgenericmatrix.h
+++ b/src/gui/math3d/qgenericmatrix.h
@@ -44,6 +44,7 @@
#include <QtCore/qmetatype.h>
#include <QtCore/qdebug.h>
+#include <QtCore/qdatastream.h>
QT_BEGIN_HEADER
@@ -63,7 +64,7 @@ public:
T& operator()(int row, int column);
bool isIdentity() const;
- void setIdentity();
+ void setToIdentity();
void fill(T value);
@@ -76,7 +77,7 @@ public:
bool operator==(const QGenericMatrix<N, M, T>& other) const;
bool operator!=(const QGenericMatrix<N, M, T>& other) const;
- void toValueArray(T *values);
+ void copyDataTo(T *values) const;
T *data() { return m[0]; }
const T *data() const { return m[0]; }
@@ -113,7 +114,7 @@ private:
template <int N, int M, typename T>
Q_INLINE_TEMPLATE QGenericMatrix<N, M, T>::QGenericMatrix()
{
- setIdentity();
+ setToIdentity();
}
template <int N, int M, typename T>
@@ -164,7 +165,7 @@ Q_OUTOFLINE_TEMPLATE bool QGenericMatrix<N, M, T>::isIdentity() const
}
template <int N, int M, typename T>
-Q_OUTOFLINE_TEMPLATE void QGenericMatrix<N, M, T>::setIdentity()
+Q_OUTOFLINE_TEMPLATE void QGenericMatrix<N, M, T>::setToIdentity()
{
for (int col = 0; col < N; ++col) {
for (int row = 0; row < M; ++row) {
@@ -316,7 +317,7 @@ Q_OUTOFLINE_TEMPLATE QGenericMatrix<N, M, T> operator/(const QGenericMatrix<N, M
}
template <int N, int M, typename T>
-Q_OUTOFLINE_TEMPLATE void QGenericMatrix<N, M, T>::toValueArray(T *values)
+Q_OUTOFLINE_TEMPLATE void QGenericMatrix<N, M, T>::copyDataTo(T *values) const
{
for (int col = 0; col < N; ++col)
for (int row = 0; row < M; ++row)
@@ -352,6 +353,32 @@ QDebug operator<<(QDebug dbg, const QGenericMatrix<N, M, T> &m)
#endif
+#ifndef QT_NO_DATASTREAM
+
+template <int N, int M, typename T>
+QDataStream &operator<<(QDataStream &stream, const QGenericMatrix<N, M, T> &matrix)
+{
+ for (int row = 0; row < M; ++row)
+ for (int col = 0; col < N; ++col)
+ stream << double(matrix(row, col));
+ return stream;
+}
+
+template <int N, int M, typename T>
+QDataStream &operator>>(QDataStream &stream, QGenericMatrix<N, M, T> &matrix)
+{
+ double x;
+ for (int row = 0; row < M; ++row) {
+ for (int col = 0; col < N; ++col) {
+ stream >> x;
+ matrix(row, col) = T(x);
+ }
+ }
+ return stream;
+}
+
+#endif
+
QT_END_NAMESPACE
Q_DECLARE_METATYPE(QMatrix2x2)
diff --git a/src/gui/math3d/qmatrix4x4.cpp b/src/gui/math3d/qmatrix4x4.cpp
index ed1b13d..2c3d616 100644
--- a/src/gui/math3d/qmatrix4x4.cpp
+++ b/src/gui/math3d/qmatrix4x4.cpp
@@ -58,6 +58,8 @@ QT_BEGIN_NAMESPACE
\sa QVector3D, QGenericMatrix
*/
+static const qreal inv_dist_to_plane = 1. / 1024.;
+
/*!
\fn QMatrix4x4::QMatrix4x4()
@@ -71,10 +73,10 @@ QT_BEGIN_NAMESPACE
If the matrix has a special type (identity, translate, scale, etc),
the programmer should follow this constructor with a call to
- inferSpecialType() if they wish QMatrix4x4 to optimize further
+ optimize() if they wish QMatrix4x4 to optimize further
calls to translate(), scale(), etc.
- \sa toValueArray(), inferSpecialType()
+ \sa copyDataTo(), optimize()
*/
QMatrix4x4::QMatrix4x4(const qreal *values)
{
@@ -94,10 +96,10 @@ QMatrix4x4::QMatrix4x4(const qreal *values)
If the matrix has a special type (identity, translate, scale, etc),
the programmer should follow this constructor with a call to
- inferSpecialType() if they wish QMatrix4x4 to optimize further
+ optimize() if they wish QMatrix4x4 to optimize further
calls to translate(), scale(), etc.
- \sa inferSpecialType()
+ \sa optimize()
*/
#if !defined(QT_NO_MEMBER_TEMPLATES) || defined(Q_QDOC)
@@ -174,10 +176,10 @@ QMatrix4x4::QMatrix4x4(const qreal *values, int cols, int rows)
If \a matrix has a special type (identity, translate, scale, etc),
the programmer should follow this constructor with a call to
- inferSpecialType() if they wish QMatrix4x4 to optimize further
+ optimize() if they wish QMatrix4x4 to optimize further
calls to translate(), scale(), etc.
- \sa toAffine(), inferSpecialType()
+ \sa toAffine(), optimize()
*/
QMatrix4x4::QMatrix4x4(const QMatrix& matrix)
{
@@ -206,10 +208,10 @@ QMatrix4x4::QMatrix4x4(const QMatrix& matrix)
If \a transform has a special type (identity, translate, scale, etc),
the programmer should follow this constructor with a call to
- inferSpecialType() if they wish QMatrix4x4 to optimize further
+ optimize() if they wish QMatrix4x4 to optimize further
calls to translate(), scale(), etc.
- \sa toTransform(), inferSpecialType()
+ \sa toTransform(), optimize()
*/
QMatrix4x4::QMatrix4x4(const QTransform& transform)
{
@@ -247,7 +249,7 @@ QMatrix4x4::QMatrix4x4(const QTransform& transform)
Returns a reference to the element at position (\a row, \a column)
in this matrix so that the element can be assigned to.
- \sa inferSpecialType(), setColumn(), setRow()
+ \sa optimize(), setColumn(), setRow()
*/
/*!
@@ -287,11 +289,11 @@ QMatrix4x4::QMatrix4x4(const QTransform& transform)
Returns true if this matrix is the identity; false otherwise.
- \sa setIdentity()
+ \sa setToIdentity()
*/
/*!
- \fn void QMatrix4x4::setIdentity()
+ \fn void QMatrix4x4::setToIdentity()
Sets this matrix to the identity.
@@ -692,11 +694,11 @@ QMatrix4x4 operator/(const QMatrix4x4& matrix, qreal divisor)
/*!
Multiplies this matrix by another that scales coordinates by
- the components of \a vector. Returns this matrix.
+ the components of \a vector.
\sa translate(), rotate()
*/
-QMatrix4x4& QMatrix4x4::scale(const QVector3D& vector)
+void QMatrix4x4::scale(const QVector3D& vector)
{
qreal vx = vector.x();
qreal vy = vector.y();
@@ -730,7 +732,6 @@ QMatrix4x4& QMatrix4x4::scale(const QVector3D& vector)
m[2][3] *= vz;
flagBits = General;
}
- return *this;
}
#endif
@@ -738,11 +739,11 @@ QMatrix4x4& QMatrix4x4::scale(const QVector3D& vector)
\overload
Multiplies this matrix by another that scales coordinates by the
- components \a x, and \a y. Returns this matrix.
+ components \a x, and \a y.
\sa translate(), rotate()
*/
-QMatrix4x4& QMatrix4x4::scale(qreal x, qreal y)
+void QMatrix4x4::scale(qreal x, qreal y)
{
if (flagBits == Identity) {
m[0][0] = x;
@@ -766,18 +767,17 @@ QMatrix4x4& QMatrix4x4::scale(qreal x, qreal y)
m[1][3] *= y;
flagBits = General;
}
- return *this;
}
/*!
\overload
Multiplies this matrix by another that scales coordinates by the
- components \a x, \a y, and \a z. Returns this matrix.
+ components \a x, \a y, and \a z.
\sa translate(), rotate()
*/
-QMatrix4x4& QMatrix4x4::scale(qreal x, qreal y, qreal z)
+void QMatrix4x4::scale(qreal x, qreal y, qreal z)
{
if (flagBits == Identity) {
m[0][0] = x;
@@ -808,18 +808,17 @@ QMatrix4x4& QMatrix4x4::scale(qreal x, qreal y, qreal z)
m[2][3] *= z;
flagBits = General;
}
- return *this;
}
/*!
\overload
Multiplies this matrix by another that scales coordinates by the
- given \a factor. Returns this matrix.
+ given \a factor.
\sa translate(), rotate()
*/
-QMatrix4x4& QMatrix4x4::scale(qreal factor)
+void QMatrix4x4::scale(qreal factor)
{
if (flagBits == Identity) {
m[0][0] = factor;
@@ -850,17 +849,16 @@ QMatrix4x4& QMatrix4x4::scale(qreal factor)
m[2][3] *= factor;
flagBits = General;
}
- return *this;
}
#ifndef QT_NO_VECTOR3D
/*!
Multiplies this matrix by another that translates coordinates by
- the components of \a vector. Returns this matrix.
+ the components of \a vector.
\sa scale(), rotate()
*/
-QMatrix4x4& QMatrix4x4::translate(const QVector3D& vector)
+void QMatrix4x4::translate(const QVector3D& vector)
{
qreal vx = vector.x();
qreal vy = vector.y();
@@ -893,7 +891,6 @@ QMatrix4x4& QMatrix4x4::translate(const QVector3D& vector)
else if (flagBits != (Rotation | Translation))
flagBits = General;
}
- return *this;
}
#endif
@@ -902,11 +899,11 @@ QMatrix4x4& QMatrix4x4::translate(const QVector3D& vector)
\overload
Multiplies this matrix by another that translates coordinates
- by the components \a x, and \a y. Returns this matrix.
+ by the components \a x, and \a y.
\sa scale(), rotate()
*/
-QMatrix4x4& QMatrix4x4::translate(qreal x, qreal y)
+void QMatrix4x4::translate(qreal x, qreal y)
{
if (flagBits == Identity) {
m[3][0] = x;
@@ -933,18 +930,17 @@ QMatrix4x4& QMatrix4x4::translate(qreal x, qreal y)
else if (flagBits != (Rotation | Translation))
flagBits = General;
}
- return *this;
}
/*!
\overload
Multiplies this matrix by another that translates coordinates
- by the components \a x, \a y, and \a z. Returns this matrix.
+ by the components \a x, \a y, and \a z.
\sa scale(), rotate()
*/
-QMatrix4x4& QMatrix4x4::translate(qreal x, qreal y, qreal z)
+void QMatrix4x4::translate(qreal x, qreal y, qreal z)
{
if (flagBits == Identity) {
m[3][0] = x;
@@ -974,20 +970,19 @@ QMatrix4x4& QMatrix4x4::translate(qreal x, qreal y, qreal z)
else if (flagBits != (Rotation | Translation))
flagBits = General;
}
- return *this;
}
#ifndef QT_NO_VECTOR3D
/*!
Multiples this matrix by another that rotates coordinates through
- \a angle degrees about \a vector. Returns this matrix.
+ \a angle degrees about \a vector.
\sa scale(), translate()
*/
-QMatrix4x4& QMatrix4x4::rotate(qreal angle, const QVector3D& vector)
+void QMatrix4x4::rotate(qreal angle, const QVector3D& vector)
{
- return rotate(angle, vector.x(), vector.y(), vector.z());
+ rotate(angle, vector.x(), vector.y(), vector.z());
}
#endif
@@ -996,14 +991,14 @@ QMatrix4x4& QMatrix4x4::rotate(qreal angle, const QVector3D& vector)
\overload
Multiplies this matrix by another that rotates coordinates through
- \a angle degrees about the vector (\a x, \a y, \a z). Returns this matrix.
+ \a angle degrees about the vector (\a x, \a y, \a z).
\sa scale(), translate()
*/
-QMatrix4x4& QMatrix4x4::rotate(qreal angle, qreal x, qreal y, qreal z)
+void QMatrix4x4::rotate(qreal angle, qreal x, qreal y, qreal z)
{
if (angle == 0.0f)
- return *this;
+ return;
QMatrix4x4 m(1); // The "1" says to not load the identity.
qreal c, s, ic;
if (angle == 90.0f || angle == -270.0f) {
@@ -1025,7 +1020,7 @@ QMatrix4x4& QMatrix4x4::rotate(qreal angle, qreal x, qreal y, qreal z)
if (y == 0.0f) {
if (z != 0.0f) {
// Rotate around the Z axis.
- m.setIdentity();
+ m.setToIdentity();
m.m[0][0] = c;
m.m[1][1] = c;
if (z < 0.0f) {
@@ -1040,7 +1035,7 @@ QMatrix4x4& QMatrix4x4::rotate(qreal angle, qreal x, qreal y, qreal z)
}
} else if (z == 0.0f) {
// Rotate around the Y axis.
- m.setIdentity();
+ m.setToIdentity();
m.m[0][0] = c;
m.m[2][2] = c;
if (y < 0.0f) {
@@ -1055,7 +1050,7 @@ QMatrix4x4& QMatrix4x4::rotate(qreal angle, qreal x, qreal y, qreal z)
}
} else if (y == 0.0f && z == 0.0f) {
// Rotate around the X axis.
- m.setIdentity();
+ m.setToIdentity();
m.m[1][1] = c;
m.m[2][2] = c;
if (x < 0.0f) {
@@ -1100,19 +1095,121 @@ QMatrix4x4& QMatrix4x4::rotate(qreal angle, qreal x, qreal y, qreal z)
flagBits = flags | Rotation;
else
flagBits = Rotation;
- return *this;
}
-#ifndef QT_NO_VECTOR4D
+/*!
+ \internal
+*/
+void QMatrix4x4::projectedRotate(qreal angle, qreal x, qreal y, qreal z)
+{
+ // Used by QGraphicsRotation::applyTo() to perform a rotation
+ // and projection back to 2D in a single step.
+ if (angle == 0.0f)
+ return;
+ QMatrix4x4 m(1); // The "1" says to not load the identity.
+ qreal c, s, ic;
+ if (angle == 90.0f || angle == -270.0f) {
+ s = 1.0f;
+ c = 0.0f;
+ } else if (angle == -90.0f || angle == 270.0f) {
+ s = -1.0f;
+ c = 0.0f;
+ } else if (angle == 180.0f || angle == -180.0f) {
+ s = 0.0f;
+ c = -1.0f;
+ } else {
+ qreal a = angle * M_PI / 180.0f;
+ c = qCos(a);
+ s = qSin(a);
+ }
+ bool quick = false;
+ if (x == 0.0f) {
+ if (y == 0.0f) {
+ if (z != 0.0f) {
+ // Rotate around the Z axis.
+ m.setToIdentity();
+ m.m[0][0] = c;
+ m.m[1][1] = c;
+ if (z < 0.0f) {
+ m.m[1][0] = s;
+ m.m[0][1] = -s;
+ } else {
+ m.m[1][0] = -s;
+ m.m[0][1] = s;
+ }
+ m.flagBits = General;
+ quick = true;
+ }
+ } else if (z == 0.0f) {
+ // Rotate around the Y axis.
+ m.setToIdentity();
+ m.m[0][0] = c;
+ m.m[2][2] = 1.0f;
+ if (y < 0.0f) {
+ m.m[0][3] = -s * inv_dist_to_plane;
+ } else {
+ m.m[0][3] = s * inv_dist_to_plane;
+ }
+ m.flagBits = General;
+ quick = true;
+ }
+ } else if (y == 0.0f && z == 0.0f) {
+ // Rotate around the X axis.
+ m.setToIdentity();
+ m.m[1][1] = c;
+ m.m[2][2] = 1.0f;
+ if (x < 0.0f) {
+ m.m[1][3] = s * inv_dist_to_plane;
+ } else {
+ m.m[1][3] = -s * inv_dist_to_plane;
+ }
+ m.flagBits = General;
+ quick = true;
+ }
+ if (!quick) {
+ qreal len = x * x + y * y + z * z;
+ if (!qFuzzyIsNull(len - 1.0f) && !qFuzzyIsNull(len)) {
+ len = qSqrt(len);
+ x /= len;
+ y /= len;
+ z /= len;
+ }
+ ic = 1.0f - c;
+ m.m[0][0] = x * x * ic + c;
+ m.m[1][0] = x * y * ic - z * s;
+ m.m[2][0] = 0.0f;
+ m.m[3][0] = 0.0f;
+ m.m[0][1] = y * x * ic + z * s;
+ m.m[1][1] = y * y * ic + c;
+ m.m[2][1] = 0.0f;
+ m.m[3][1] = 0.0f;
+ m.m[0][2] = 0.0f;
+ m.m[1][2] = 0.0f;
+ m.m[2][2] = 1.0f;
+ m.m[3][2] = 0.0f;
+ m.m[0][3] = (x * z * ic - y * s) * -inv_dist_to_plane;
+ m.m[1][3] = (y * z * ic + x * s) * -inv_dist_to_plane;
+ m.m[2][3] = 0.0f;
+ m.m[3][3] = 1.0f;
+ }
+ int flags = flagBits;
+ *this *= m;
+ if (flags != Identity)
+ flagBits = flags | Rotation;
+ else
+ flagBits = Rotation;
+}
+
+#ifndef QT_NO_QUATERNION
/*!
Multiples this matrix by another that rotates coordinates according
to a specified \a quaternion. The \a quaternion is assumed to have
- been normalized. Returns this matrix.
+ been normalized.
\sa scale(), translate(), QQuaternion
*/
-QMatrix4x4& QMatrix4x4::rotate(const QQuaternion& quaternion)
+void QMatrix4x4::rotate(const QQuaternion& quaternion)
{
// Algorithm from:
// http://www.j3d.org/matrix_faq/matrfaq_latest.html#Q54
@@ -1148,7 +1245,6 @@ QMatrix4x4& QMatrix4x4::rotate(const QQuaternion& quaternion)
flagBits = flags | Rotation;
else
flagBits = Rotation;
- return *this;
}
#endif
@@ -1159,17 +1255,16 @@ QMatrix4x4& QMatrix4x4::rotate(const QQuaternion& quaternion)
Multiplies this matrix by another that applies an orthographic
projection for a window with boundaries specified by \a rect.
The near and far clipping planes will be -1 and 1 respectively.
- Returns this matrix.
\sa frustum(), perspective()
*/
-QMatrix4x4& QMatrix4x4::ortho(const QRect& rect)
+void QMatrix4x4::ortho(const QRect& rect)
{
// Note: rect.right() and rect.bottom() subtract 1 in QRect,
// which gives the location of a pixel within the rectangle,
// instead of the extent of the rectangle. We want the extent.
// QRectF expresses the extent properly.
- return ortho(rect.x(), rect.x() + rect.width(), rect.y() + rect.height(), rect.y(), -1.0f, 1.0f);
+ ortho(rect.x(), rect.x() + rect.width(), rect.y() + rect.height(), rect.y(), -1.0f, 1.0f);
}
/*!
@@ -1178,28 +1273,27 @@ QMatrix4x4& QMatrix4x4::ortho(const QRect& rect)
Multiplies this matrix by another that applies an orthographic
projection for a window with boundaries specified by \a rect.
The near and far clipping planes will be -1 and 1 respectively.
- Returns this matrix.
\sa frustum(), perspective()
*/
-QMatrix4x4& QMatrix4x4::ortho(const QRectF& rect)
+void QMatrix4x4::ortho(const QRectF& rect)
{
- return ortho(rect.left(), rect.right(), rect.bottom(), rect.top(), -1.0f, 1.0f);
+ ortho(rect.left(), rect.right(), rect.bottom(), rect.top(), -1.0f, 1.0f);
}
/*!
Multiplies this matrix by another that applies an orthographic
projection for a window with lower-left corner (\a left, \a bottom),
upper-right corner (\a right, \a top), and the specified \a nearPlane
- and \a farPlane clipping planes. Returns this matrix.
+ and \a farPlane clipping planes.
\sa frustum(), perspective()
*/
-QMatrix4x4& QMatrix4x4::ortho(qreal left, qreal right, qreal bottom, qreal top, qreal nearPlane, qreal farPlane)
+void QMatrix4x4::ortho(qreal left, qreal right, qreal bottom, qreal top, qreal nearPlane, qreal farPlane)
{
// Bail out if the projection volume is zero-sized.
if (left == right || bottom == top || nearPlane == farPlane)
- return *this;
+ return;
// Construct the projection.
qreal width = right - left;
@@ -1218,7 +1312,7 @@ QMatrix4x4& QMatrix4x4::ortho(qreal left, qreal right, qreal bottom, qreal top,
(2.0f / width,
2.0f / invheight,
-1.0f));
- return *this;
+ return;
}
#endif
QMatrix4x4 m(1);
@@ -1241,22 +1335,22 @@ QMatrix4x4& QMatrix4x4::ortho(qreal left, qreal right, qreal bottom, qreal top,
// Apply the projection.
*this *= m;
- return *this;
+ return;
}
/*!
Multiplies this matrix by another that applies a perspective
frustum projection for a window with lower-left corner (\a left, \a bottom),
upper-right corner (\a right, \a top), and the specified \a nearPlane
- and \a farPlane clipping planes. Returns this matrix.
+ and \a farPlane clipping planes.
\sa ortho(), perspective()
*/
-QMatrix4x4& QMatrix4x4::frustum(qreal left, qreal right, qreal bottom, qreal top, qreal nearPlane, qreal farPlane)
+void QMatrix4x4::frustum(qreal left, qreal right, qreal bottom, qreal top, qreal nearPlane, qreal farPlane)
{
// Bail out if the projection volume is zero-sized.
if (left == right || bottom == top || nearPlane == farPlane)
- return *this;
+ return;
// Construct the projection.
QMatrix4x4 m(1);
@@ -1282,7 +1376,6 @@ QMatrix4x4& QMatrix4x4::frustum(qreal left, qreal right, qreal bottom, qreal top
// Apply the projection.
*this *= m;
- return *this;
}
/*!
@@ -1290,22 +1383,21 @@ QMatrix4x4& QMatrix4x4::frustum(qreal left, qreal right, qreal bottom, qreal top
projection. The field of view will be \a angle degrees within
a window with a given \a aspect ratio. The projection will
have the specified \a nearPlane and \a farPlane clipping planes.
- Returns this matrix.
\sa ortho(), frustum()
*/
-QMatrix4x4& QMatrix4x4::perspective(qreal angle, qreal aspect, qreal nearPlane, qreal farPlane)
+void QMatrix4x4::perspective(qreal angle, qreal aspect, qreal nearPlane, qreal farPlane)
{
// Bail out if the projection volume is zero-sized.
if (nearPlane == farPlane || aspect == 0.0f)
- return *this;
+ return;
// Construct the projection.
QMatrix4x4 m(1);
qreal radians = (angle / 2.0f) * M_PI / 180.0f;
qreal sine = qSin(radians);
if (sine == 0.0f)
- return *this;
+ return;
qreal cotan = qCos(radians) / sine;
qreal clip = farPlane - nearPlane;
m.m[0][0] = cotan / aspect;
@@ -1327,7 +1419,6 @@ QMatrix4x4& QMatrix4x4::perspective(qreal angle, qreal aspect, qreal nearPlane,
// Apply the projection.
*this *= m;
- return *this;
}
#ifndef QT_NO_VECTOR3D
@@ -1337,9 +1428,8 @@ QMatrix4x4& QMatrix4x4::perspective(qreal angle, qreal aspect, qreal nearPlane,
transformation. The \a center value indicates the center of the
view that the \a eye is looking at. The \a up value indicates
which direction should be considered up with respect to the \a eye.
- Returns this matrix.
*/
-QMatrix4x4& QMatrix4x4::lookAt(const QVector3D& eye, const QVector3D& center, const QVector3D& up)
+void QMatrix4x4::lookAt(const QVector3D& eye, const QVector3D& center, const QVector3D& up)
{
QVector3D forward = (center - eye).normalized();
QVector3D side = QVector3D::crossProduct(forward, up).normalized();
@@ -1365,7 +1455,7 @@ QMatrix4x4& QMatrix4x4::lookAt(const QVector3D& eye, const QVector3D& center, co
m.m[3][3] = 1.0f;
*this *= m;
- return translate(-eye);
+ translate(-eye);
}
#endif
@@ -1374,11 +1464,11 @@ QMatrix4x4& QMatrix4x4::lookAt(const QVector3D& eye, const QVector3D& center, co
Flips between right-handed and left-handed coordinate systems
by multiplying the y and z co-ordinates by -1. This is normally
used to create a left-handed orthographic view without scaling
- the viewport as ortho() does. Returns this matrix.
+ the viewport as ortho() does.
\sa ortho()
*/
-QMatrix4x4& QMatrix4x4::flipCoordinates()
+void QMatrix4x4::flipCoordinates()
{
if (flagBits == Scale || flagBits == (Scale | Translation)) {
m[1][1] = -m[1][1];
@@ -1402,14 +1492,13 @@ QMatrix4x4& QMatrix4x4::flipCoordinates()
m[2][3] = -m[2][3];
flagBits = General;
}
- return *this;
}
/*!
- Retrieves the 16 items in this matrix and writes them to \a values
+ Retrieves the 16 items in this matrix and copies them to \a values
in row-major order.
*/
-void QMatrix4x4::toValueArray(qreal *values) const
+void QMatrix4x4::copyDataTo(qreal *values) const
{
for (int row = 0; row < 4; ++row)
for (int col = 0; col < 4; ++col)
@@ -1430,15 +1519,31 @@ QMatrix QMatrix4x4::toAffine() const
m[3][0], m[3][1]);
}
-static const qreal inv_dist_to_plane = 1. / 1024.;
+/*!
+ Returns the conventional Qt 2D transformation matrix that
+ corresponds to this matrix.
+
+ The returned QTransform is formed by simply dropping the
+ third row and third column of the QMatrix4x4. This is suitable
+ for implementing orthographic projections where the z co-ordinate
+ should be dropped rather than projected.
+
+ \sa toAffine()
+*/
+QTransform QMatrix4x4::toTransform() const
+{
+ return QTransform(m[0][0], m[0][1], m[0][3],
+ m[1][0], m[1][1], m[1][3],
+ m[3][0], m[3][1], m[3][3]);
+}
/*!
Returns the conventional Qt 2D transformation matrix that
corresponds to this matrix.
If \a distanceToPlane is non-zero, it indicates a projection
- factor to use to adjust for the z co-ordinate. The default
- value of 1024 corresponds to the projection factor used
+ factor to use to adjust for the z co-ordinate. The value of
+ 1024 corresponds to the projection factor used
by QTransform::rotate() for the x and y axes.
If \a distanceToPlane is zero, then the returned QTransform
@@ -1617,7 +1722,7 @@ QRectF QMatrix4x4::mapRect(const QRectF& rect) const
Returns a pointer to the raw data of this matrix.
- \sa constData(), inferSpecialType()
+ \sa constData(), optimize()
*/
/*!
@@ -1666,94 +1771,8 @@ QMatrix4x4 QMatrix4x4::orthonormalInverse() const
return result;
}
-#ifndef QT_NO_VECTOR3D
-/*!
- Decomposes the current rotation matrix into an \a axis of rotation plus
- an \a angle. The result can be used to construct an equivalent rotation
- matrix using glRotate(). It is assumed that the homogenous coordinate
- is 1.0. The returned vector is guaranteed to be normalized.
-
- \code
- qreal angle;
- QVector3D axis;
-
- matrix.extractAxisAngle(angle, axis);
- glRotate(angle, axis[0], axis[1], axis[2]);
- \endcode
-
- \sa rotate()
-*/
-void QMatrix4x4::extractAxisRotation(qreal &angle, QVector3D &axis) const
-{
- // Orientation is dependent on the upper 3x3 matrix; subtract the
- // homogeneous scaling element from the trace of the 4x4 matrix
- qreal tr = m[0][0] + m[1][1] + m[2][2];
- qreal cosa = qreal(0.5f * (tr - 1.0f));
- angle = acos(cosa) * 180.0f / M_PI;
-
- // Any axis will work if r is zero (means no rotation)
- if (qFuzzyIsNull(angle)) {
- axis.setX(1.0f);
- axis.setY(0.0f);
- axis.setZ(0.0f);
- return;
- }
-
- if (angle < 180.0f) {
- axis.setX(m[1][2] - m[2][1]);
- axis.setY(m[2][0] - m[0][2]);
- axis.setZ(m[0][1] - m[1][0]);
- axis.normalize();
- return;
- }
-
- // rads == PI
- qreal tmp;
-
- // r00 is maximum
- if ((m[0][0] >= m[2][2]) && (m[0][0] >= m[1][1])) {
- axis.setX(0.5f * qSqrt(m[0][0] - m[1][1] - m[2][2] + 1.0f));
- tmp = 0.5f / axis.x();
- axis.setY(m[1][0] * tmp);
- axis.setZ(m[2][0] * tmp);
- }
-
- // r11 is maximum
- if ((m[1][1] >= m[2][2]) && (m[1][1] >= m[0][0])) {
- axis.setY(0.5f * qSqrt(m[1][1] - m[0][0] - m[2][2] + 1.0f));
- tmp = 0.5f / axis.y();
- axis.setX(tmp * m[1][0]);
- axis.setZ(tmp * m[2][1]);
- }
-
- // r22 is maximum
- if ((m[2][2] >= m[1][1]) && (m[2][2] >= m[0][0])) {
- axis.setZ(0.5f * qSqrt(m[2][2] - m[0][0] - m[1][1] + 1.0f));
- tmp = 0.5f / axis.z();
- axis.setX(m[2][0]*tmp);
- axis.setY(m[2][1]*tmp);
- }
-}
-
-/*!
- If this is an orthonormal transformation matrix (e.g. only rotations and
- translations have been applied to the matrix, no scaling, or shearing)
- then the world translational component can be obtained by calling this function.
-
- This is most useful for camera matrices, where the negation of this vector
- is effectively the camera world coordinates.
-*/
-QVector3D QMatrix4x4::extractTranslation() const
-{
- return QVector3D
- (m[0][0] * m[3][0] + m[0][1] * m[3][1] + m[0][2] * m[3][2],
- m[1][0] * m[3][0] + m[1][1] * m[3][1] + m[1][2] * m[3][2],
- m[2][0] * m[3][0] + m[2][1] * m[3][1] + m[2][2] * m[3][2]);
-}
-#endif
-
/*!
- Infers the special type of this matrix from its current elements.
+ Optimize the usage of this matrix from its current elements.
Some operations such as translate(), scale(), and rotate() can be
performed more efficiently if the matrix being modified is already
@@ -1766,13 +1785,13 @@ QVector3D QMatrix4x4::extractTranslation() const
the special type and will revert to the safest but least efficient
operations thereafter.
- By calling inferSpecialType() after directly modifying the matrix,
+ By calling optimize() after directly modifying the matrix,
the programmer can force QMatrix4x4 to recover the special type if
the elements appear to conform to one of the known optimized types.
\sa operator()(), data(), translate()
*/
-void QMatrix4x4::inferSpecialType()
+void QMatrix4x4::optimize()
{
// If the last element is not 1, then it can never be special.
if (m[3][3] != 1.0f) {
@@ -1889,7 +1908,7 @@ QDataStream &operator>>(QDataStream &stream, QMatrix4x4 &matrix)
matrix(row, col) = qreal(x);
}
}
- matrix.inferSpecialType();
+ matrix.optimize();
return stream;
}
diff --git a/src/gui/math3d/qmatrix4x4.h b/src/gui/math3d/qmatrix4x4.h
index b32e00a..4193bdc 100644
--- a/src/gui/math3d/qmatrix4x4.h
+++ b/src/gui/math3d/qmatrix4x4.h
@@ -63,7 +63,7 @@ class QVariant;
class Q_GUI_EXPORT QMatrix4x4
{
public:
- inline QMatrix4x4() { setIdentity(); }
+ inline QMatrix4x4() { setToIdentity(); }
explicit QMatrix4x4(const qreal *values);
inline QMatrix4x4(qreal m11, qreal m12, qreal m13, qreal m14,
qreal m21, qreal m22, qreal m23, qreal m24,
@@ -87,7 +87,7 @@ public:
inline void setRow(int index, const QVector4D& value);
inline bool isIdentity() const;
- inline void setIdentity();
+ inline void setToIdentity();
inline void fill(qreal value);
@@ -127,39 +127,35 @@ public:
friend inline bool qFuzzyCompare(const QMatrix4x4& m1, const QMatrix4x4& m2);
#ifndef QT_NO_VECTOR3D
- QMatrix4x4& scale(const QVector3D& vector);
- QMatrix4x4& translate(const QVector3D& vector);
- QMatrix4x4& rotate(qreal angle, const QVector3D& vector);
+ void scale(const QVector3D& vector);
+ void translate(const QVector3D& vector);
+ void rotate(qreal angle, const QVector3D& vector);
#endif
- QMatrix4x4& scale(qreal x, qreal y);
- QMatrix4x4& scale(qreal x, qreal y, qreal z);
- QMatrix4x4& scale(qreal factor);
- QMatrix4x4& translate(qreal x, qreal y);
- QMatrix4x4& translate(qreal x, qreal y, qreal z);
- QMatrix4x4& rotate(qreal angle, qreal x, qreal y, qreal z = 0.0f);
+ void scale(qreal x, qreal y);
+ void scale(qreal x, qreal y, qreal z);
+ void scale(qreal factor);
+ void translate(qreal x, qreal y);
+ void translate(qreal x, qreal y, qreal z);
+ void rotate(qreal angle, qreal x, qreal y, qreal z = 0.0f);
#ifndef QT_NO_QUATERNION
- QMatrix4x4& rotate(const QQuaternion& quaternion);
+ void rotate(const QQuaternion& quaternion);
#endif
+ void ortho(const QRect& rect);
+ void ortho(const QRectF& rect);
+ void ortho(qreal left, qreal right, qreal bottom, qreal top, qreal nearPlane, qreal farPlane);
+ void frustum(qreal left, qreal right, qreal bottom, qreal top, qreal nearPlane, qreal farPlane);
+ void perspective(qreal angle, qreal aspect, qreal nearPlane, qreal farPlane);
#ifndef QT_NO_VECTOR3D
- void extractAxisRotation(qreal &angle, QVector3D &axis) const;
- QVector3D extractTranslation() const;
+ void lookAt(const QVector3D& eye, const QVector3D& center, const QVector3D& up);
#endif
+ void flipCoordinates();
- QMatrix4x4& ortho(const QRect& rect);
- QMatrix4x4& ortho(const QRectF& rect);
- QMatrix4x4& ortho(qreal left, qreal right, qreal bottom, qreal top, qreal nearPlane, qreal farPlane);
- QMatrix4x4& frustum(qreal left, qreal right, qreal bottom, qreal top, qreal nearPlane, qreal farPlane);
- QMatrix4x4& perspective(qreal angle, qreal aspect, qreal nearPlane, qreal farPlane);
-#ifndef QT_NO_VECTOR3D
- QMatrix4x4& lookAt(const QVector3D& eye, const QVector3D& center, const QVector3D& up);
-#endif
- QMatrix4x4& flipCoordinates();
-
- void toValueArray(qreal *values) const;
+ void copyDataTo(qreal *values) const;
QMatrix toAffine() const;
- QTransform toTransform(qreal distanceToPlane = 1024.0f) const;
+ QTransform toTransform() const;
+ QTransform toTransform(qreal distanceToPlane) const;
QPoint map(const QPoint& point) const;
QPointF map(const QPointF& point) const;
@@ -182,7 +178,7 @@ public:
inline const qreal *data() const { return m[0]; }
inline const qreal *constData() const { return m[0]; }
- void inferSpecialType();
+ void optimize();
operator QVariant() const;
@@ -206,6 +202,10 @@ private:
QMatrix4x4(int) { flagBits = General; }
QMatrix4x4 orthonormalInverse() const;
+
+ void projectedRotate(qreal angle, qreal x, qreal y, qreal z);
+
+ friend class QGraphicsRotation;
};
inline QMatrix4x4::QMatrix4x4
@@ -325,7 +325,7 @@ inline bool QMatrix4x4::isIdentity() const
return (m[3][3] == 1.0f);
}
-inline void QMatrix4x4::setIdentity()
+inline void QMatrix4x4::setToIdentity()
{
m[0][0] = 1.0f;
m[0][1] = 0.0f;
diff --git a/src/gui/math3d/qquaternion.cpp b/src/gui/math3d/qquaternion.cpp
index d5ec054..626cb3c 100644
--- a/src/gui/math3d/qquaternion.cpp
+++ b/src/gui/math3d/qquaternion.cpp
@@ -288,7 +288,7 @@ void QQuaternion::normalize()
in 3D space. The following code:
\code
- QVector3D result = q.rotateVector(vector);
+ QVector3D result = q.rotatedVector(vector);
\endcode
is equivalent to the following:
@@ -297,7 +297,7 @@ void QQuaternion::normalize()
QVector3D result = (q * QQuaternion(0, vector) * q.conjugate()).vector();
\endcode
*/
-QVector3D QQuaternion::rotateVector(const QVector3D& vector) const
+QVector3D QQuaternion::rotatedVector(const QVector3D& vector) const
{
return (*this * QQuaternion(0, vector) * conjugate()).vector();
}
diff --git a/src/gui/math3d/qquaternion.h b/src/gui/math3d/qquaternion.h
index 7480a5c..5b2454f 100644
--- a/src/gui/math3d/qquaternion.h
+++ b/src/gui/math3d/qquaternion.h
@@ -95,7 +95,7 @@ public:
QQuaternion conjugate() const;
- QVector3D rotateVector(const QVector3D& vector) const;
+ QVector3D rotatedVector(const QVector3D& vector) const;
QQuaternion &operator+=(const QQuaternion &quaternion);
QQuaternion &operator-=(const QQuaternion &quaternion);
diff --git a/src/gui/painting/qbackingstore.cpp b/src/gui/painting/qbackingstore.cpp
index 3cd1402..8226797 100644
--- a/src/gui/painting/qbackingstore.cpp
+++ b/src/gui/painting/qbackingstore.cpp
@@ -498,18 +498,6 @@ static inline void sendUpdateRequest(QWidget *widget, bool updateImmediately)
if (!widget)
return;
-#if defined(Q_WS_WIN) && !defined(Q_OS_WINCE)
- if (QApplicationPrivate::inSizeMove && widget->internalWinId() && !updateImmediately
- && !widget->testAttribute(Qt::WA_DontShowOnScreen)) {
- // Tell Windows to send us a paint event if we're in WM_SIZE/WM_MOVE; posted events
- // are blocked until the mouse button is released. See task 146849.
- const QRegion rgn(qt_dirtyRegion(widget));
- InvalidateRgn(widget->internalWinId(), rgn.handle(), false);
- qt_widget_private(widget)->dirty = QRegion();
- return;
- }
-#endif
-
if (updateImmediately) {
QEvent event(QEvent::UpdateRequest);
QApplication::sendEvent(widget, &event);
@@ -541,7 +529,9 @@ void QWidgetBackingStore::markDirty(const QRegion &rgn, QWidget *widget, bool up
Q_ASSERT(widget->window() == tlw);
Q_ASSERT(!rgn.isEmpty());
+#ifndef QT_NO_GRAPHICSEFFECT
widget->d_func()->invalidateGraphicsEffectsRecursively();
+#endif //QT_NO_GRAPHICSEFFECT
if (widget->d_func()->paintOnScreen()) {
if (widget->d_func()->dirty.isEmpty()) {
@@ -571,9 +561,11 @@ void QWidgetBackingStore::markDirty(const QRegion &rgn, QWidget *widget, bool up
if (invalidateBuffer) {
const bool eventAlreadyPosted = !dirty.isEmpty();
+#ifndef QT_NO_GRAPHICSEFFECT
if (widget->d_func()->graphicsEffect)
dirty += widget->d_func()->effectiveRectFor(rgn.boundingRect()).translated(offset);
else
+#endif //QT_NO_GRAPHICSEFFECT
dirty += rgn.translated(offset);
if (!eventAlreadyPosted || updateImmediately)
sendUpdateRequest(tlw, updateImmediately);
@@ -588,9 +580,11 @@ void QWidgetBackingStore::markDirty(const QRegion &rgn, QWidget *widget, bool up
if (widget->d_func()->inDirtyList) {
if (!qt_region_strictContains(widget->d_func()->dirty, widgetRect)) {
+#ifndef QT_NO_GRAPHICSEFFECT
if (widget->d_func()->graphicsEffect)
widget->d_func()->dirty += widget->d_func()->effectiveRectFor(rgn.boundingRect());
else
+#endif //QT_NO_GRAPHICSEFFECT
widget->d_func()->dirty += rgn;
}
} else {
@@ -618,7 +612,9 @@ void QWidgetBackingStore::markDirty(const QRect &rect, QWidget *widget, bool upd
Q_ASSERT(widget->window() == tlw);
Q_ASSERT(!rect.isEmpty());
+#ifndef QT_NO_GRAPHICSEFFECT
widget->d_func()->invalidateGraphicsEffectsRecursively();
+#endif //QT_NO_GRAPHICSEFFECT
if (widget->d_func()->paintOnScreen()) {
if (widget->d_func()->dirty.isEmpty()) {
@@ -891,7 +887,7 @@ void QWidgetPrivate::moveRect(const QRect &rect, int dx, int dy)
const QRect parentRect(rect & clipR);
bool accelerateMove = accelEnv && isOpaque
-#ifndef QT_NO_GRAPHICSCVIEW
+#ifndef QT_NO_GRAPHICSVIEW
// No accelerate move for proxy widgets.
&& !tlw->d_func()->extra->proxyWidget
#endif
@@ -1189,7 +1185,7 @@ void QWidgetBackingStore::sync()
: wd->dirty);
toClean += widgetDirty;
-#ifndef QT_NO_GRAPHICSCVIEW
+#ifndef QT_NO_GRAPHICSVIEW
if (tlw->d_func()->extra->proxyWidget) {
resetWidget(w);
continue;
diff --git a/src/gui/painting/qbackingstore_p.h b/src/gui/painting/qbackingstore_p.h
index 3288dae..fbef980 100644
--- a/src/gui/painting/qbackingstore_p.h
+++ b/src/gui/painting/qbackingstore_p.h
@@ -146,9 +146,11 @@ private:
{
if (widget && !widget->d_func()->inDirtyList && !widget->data->in_destructor) {
QWidgetPrivate *widgetPrivate = widget->d_func();
+#ifndef QT_NO_GRAPHICSEFFECT
if (widgetPrivate->graphicsEffect)
widgetPrivate->dirty = widgetPrivate->effectiveRectFor(rgn.boundingRect());
else
+#endif //QT_NO_GRAPHICSEFFECT
widgetPrivate->dirty = rgn;
dirtyWidgets.append(widget);
widgetPrivate->inDirtyList = true;
diff --git a/src/gui/painting/qblendfunctions.cpp b/src/gui/painting/qblendfunctions.cpp
index f8dd424..8737f10 100644
--- a/src/gui/painting/qblendfunctions.cpp
+++ b/src/gui/painting/qblendfunctions.cpp
@@ -223,11 +223,23 @@ void qt_scale_image_16bit(uchar *destPixels, int dbpl,
int h = ty2 - ty1;
int w = tx2 - tx1;
- const int dstx = qCeil((tx1 + 0.5 - qMin(targetRect.left(), targetRect.right())) * ix) - 1;
- const int dsty = qCeil((ty1 + 0.5 - qMin(targetRect.top(), targetRect.bottom())) * iy) - 1;
+ quint32 basex;
+ quint32 srcy;
- quint32 basex = quint32((sx < 0 ? srcRect.right() : srcRect.left()) * 65536) + dstx;
- quint32 srcy = quint32((sy < 0 ? srcRect.bottom() : srcRect.top()) * 65536) + dsty;
+ if (sx < 0) {
+ int dstx = qFloor((tx1 + 0.5 - targetRect.right()) * ix) + 1;
+ basex = quint32(srcRect.right() * 65536) + dstx;
+ } else {
+ int dstx = qCeil((tx1 + 0.5 - targetRect.left()) * ix) - 1;
+ basex = quint32(srcRect.left() * 65536) + dstx;
+ }
+ if (sy < 0) {
+ int dsty = qFloor((ty1 + 0.5 - targetRect.bottom()) * iy) + 1;
+ srcy = quint32(srcRect.bottom() * 65536) + dsty;
+ } else {
+ int dsty = qCeil((ty1 + 0.5 - targetRect.top()) * iy) - 1;
+ srcy = quint32(srcRect.top() * 65536) + dsty;
+ }
quint16 *dst = ((quint16 *) (destPixels + ty1 * dbpl)) + tx1;
@@ -723,11 +735,23 @@ template <typename T> void qt_scale_image_32bit(uchar *destPixels, int dbpl,
int h = ty2 - ty1;
int w = tx2 - tx1;
- const int dstx = qCeil((tx1 + 0.5 - qMin(targetRect.left(), targetRect.right())) * ix) - 1;
- const int dsty = qCeil((ty1 + 0.5 - qMin(targetRect.top(), targetRect.bottom())) * iy) - 1;
+ quint32 basex;
+ quint32 srcy;
- quint32 basex = quint32((sx < 0 ? srcRect.right() : srcRect.left()) * 65536) + dstx;
- quint32 srcy = quint32((sy < 0 ? srcRect.bottom() : srcRect.top()) * 65536) + dsty;
+ if (sx < 0) {
+ int dstx = qFloor((tx1 + 0.5 - targetRect.right()) * ix) + 1;
+ basex = quint32(srcRect.right() * 65536) + dstx;
+ } else {
+ int dstx = qCeil((tx1 + 0.5 - targetRect.left()) * ix) - 1;
+ basex = quint32(srcRect.left() * 65536) + dstx;
+ }
+ if (sy < 0) {
+ int dsty = qFloor((ty1 + 0.5 - targetRect.bottom()) * iy) + 1;
+ srcy = quint32(srcRect.bottom() * 65536) + dsty;
+ } else {
+ int dsty = qCeil((ty1 + 0.5 - targetRect.top()) * iy) - 1;
+ srcy = quint32(srcRect.top() * 65536) + dsty;
+ }
quint32 *dst = ((quint32 *) (destPixels + ty1 * dbpl)) + tx1;
diff --git a/src/gui/painting/qbrush.cpp b/src/gui/painting/qbrush.cpp
index cbfbba6..6f5d892 100644
--- a/src/gui/painting/qbrush.cpp
+++ b/src/gui/painting/qbrush.cpp
@@ -970,7 +970,29 @@ bool QBrush::operator==(const QBrush &b) const
QDebug operator<<(QDebug dbg, const QBrush &b)
{
#ifndef Q_BROKEN_DEBUG_STREAM
- dbg.nospace() << "QBrush(" << b.color() << ',' << b.style() << ')';
+ char *BRUSH_STYLES[] = {
+ "NoBrush",
+ "SolidPattern",
+ "Dense1Pattern",
+ "Dense2Pattern",
+ "Dense3Pattern",
+ "Dense4Pattern",
+ "Dense5Pattern",
+ "Dense6Pattern",
+ "Dense7Pattern",
+ "HorPattern",
+ "VerPattern",
+ "CrossPattern",
+ "BDiagPattern",
+ "FDiagPattern",
+ "DiagCrossPattern",
+ "LinearGradientPattern",
+ "RadialGradientPattern",
+ "ConicalGradientPattern",
+ "TexturePattern"
+ };
+
+ dbg.nospace() << "QBrush(" << b.color() << ',' << BRUSH_STYLES[b.style()] << ')';
return dbg.space();
#else
qWarning("This compiler doesn't support streaming QBrush to QDebug");
diff --git a/src/gui/painting/qdrawhelper.cpp b/src/gui/painting/qdrawhelper.cpp
index 53edbb0..4df7f8a 100644
--- a/src/gui/painting/qdrawhelper.cpp
+++ b/src/gui/painting/qdrawhelper.cpp
@@ -2386,12 +2386,12 @@ static void QT_FASTCALL comp_func_HardLight(uint *dest, const uint *src, int len
}
/*
- if 2.Sca < Sa
- Dca' = Dca.(Sa - (1 - Dca/Da).(2.Sca - Sa)) + Sca.(1 - Da) + Dca.(1 - Sa)
- otherwise if 8.Dca <= Da
- Dca' = Dca.(Sa - (1 - Dca/Da).(2.Sca - Sa).(3 - 8.Dca/Da)) + Sca.(1 - Da) + Dca.(1 - Sa)
- otherwise
- Dca' = (Dca.Sa + ((Dca/Da)^(0.5).Da - Dca).(2.Sca - Sa)) + Sca.(1 - Da) + Dca.(1 - Sa)
+ if 2.Sca <= Sa
+ Dca' = Dca.(Sa + (2.Sca - Sa).(1 - Dca/Da)) + Sca.(1 - Da) + Dca.(1 - Sa)
+ otherwise if 2.Sca > Sa and 4.Dca <= Da
+ Dca' = Dca.Sa + Da.(2.Sca - Sa).(4.Dca/Da.(4.Dca/Da + 1).(Dca/Da - 1) + 7.Dca/Da) + Sca.(1 - Da) + Dca.(1 - Sa)
+ otherwise if 2.Sca > Sa and 4.Dca > Da
+ Dca' = Dca.Sa + Da.(2.Sca - Sa).((Dca/Da)^0.5 - Dca/Da) + Sca.(1 - Da) + Dca.(1 - Sa)
*/
static inline int soft_light_op(int dst, int src, int da, int sa)
{
@@ -2400,13 +2400,11 @@ static inline int soft_light_op(int dst, int src, int da, int sa)
const int temp = (src * (255 - da) + dst * (255 - sa)) * 255;
if (src2 < sa)
- return (dst * ((sa * 255) - (255 - dst_np) * (src2 - sa)) + temp) / 65025;
- else if (8 * dst <= da)
- return (dst * ((sa * 255) - ((255 - dst_np) * (src2 - sa) * ((3 * 255) - 8 * dst_np)) / 255) + temp) / 65025;
+ return (dst * (sa * 255 + (src2 - sa) * (255 - dst_np)) + temp) / 65025;
+ else if (4 * dst <= da)
+ return (dst * sa * 255 + da * (src2 - sa) * ((((16 * dst_np - 12 * 255) * dst_np + 3 * 65025) * dst_np) / 65025) + temp) / 65025;
else {
- // sqrt is too expensive to do three times per pixel, so skipping it for now
- // a future possibility is to use a LUT
- return ((dst * sa * 255) + (int(dst_np) * da - (dst * 255)) * (src2 - sa) + temp) / 65025;
+ return (dst * sa * 255 + da * (src2 - sa) * (int(sqrt(qreal(dst_np * 255))) - dst_np) + temp) / 65025;
}
}
@@ -7424,6 +7422,14 @@ QT_RECTFILL(qrgb444)
QT_RECTFILL(qargb4444)
#undef QT_RECTFILL
+inline static void qt_rectfill_nonpremul_quint32(QRasterBuffer *rasterBuffer,
+ int x, int y, int width, int height,
+ quint32 color)
+{
+ qt_rectfill<quint32>(reinterpret_cast<quint32 *>(rasterBuffer->buffer()),
+ INV_PREMUL(color), x, y, width, height, rasterBuffer->bytesPerLine());
+}
+
// Map table for destination image format. Contains function pointers
// for blends of various types unto the destination
@@ -7466,7 +7472,7 @@ DrawHelper qDrawHelper[QImage::NImageFormats] =
qt_bitmapblit_quint32,
qt_alphamapblit_quint32,
qt_alphargbblit_quint32,
- qt_rectfill_quint32
+ qt_rectfill_nonpremul_quint32
},
// Format_ARGB32_Premultiplied
{
diff --git a/src/gui/painting/qpaintbuffer.cpp b/src/gui/painting/qpaintbuffer.cpp
index 6b9d77c..b8700c3 100644
--- a/src/gui/painting/qpaintbuffer.cpp
+++ b/src/gui/painting/qpaintbuffer.cpp
@@ -48,7 +48,7 @@
#include <QDebug>
-//#define QPAINTBUFFER_DEBUG_DRAW
+// #define QPAINTBUFFER_DEBUG_DRAW
QT_BEGIN_NAMESPACE
@@ -247,23 +247,24 @@ void QPaintBuffer::draw(QPainter *painter, int frame) const
#ifdef QPAINTBUFFER_DEBUG_DRAW
qDebug() << "QPaintBuffer::draw() --------------------------------";
-// printf("Float buffer:");
-// for (int i=0; i<d->floats.size(); i++) {
-// if ((i % 10) == 0) {
-// printf("\n%4d-%4d: ", i, i+9);
-// }
-// printf("%4.2f ", d->floats[i]);
-// }
-// printf("\n");
-
-// printf("Int Buffer:");
-// for (int i=0; i<d->ints.size(); i++) {
-// if ((i % 10) == 0) {
-// printf("\n%4d-%4d: ", i, i+10);
-// }
-// printf("%5d", d->ints[i]);
-// }
-// printf("\n");
+ Q_D(const QPaintBuffer);
+ printf("Float buffer:");
+ for (int i=0; i<d->floats.size(); i++) {
+ if ((i % 10) == 0) {
+ printf("\n%4d-%4d: ", i, i+9);
+ }
+ printf("%4.2f ", d->floats[i]);
+ }
+ printf("\n");
+
+ printf("Int Buffer:");
+ for (int i=0; i<d->ints.size(); i++) {
+ if ((i % 10) == 0) {
+ printf("\n%4d-%4d: ", i, i+10);
+ }
+ printf("%5d", d->ints[i]);
+ }
+ printf("\n");
#endif
if (painter && !painter->isActive())
@@ -406,16 +407,17 @@ void QPaintBufferEngine::clipEnabledChanged()
void QPaintBufferEngine::penChanged()
{
-#ifdef QPAINTBUFFER_DEBUG_DRAW
- qDebug() << "QPaintBufferEngine:" << state()->pen;
-#endif
const QPen &pen = state()->pen;
if (!buffer->commands.isEmpty()
&& buffer->commands.last().id == QPaintBufferPrivate::Cmd_SetPen) {
+#ifdef QPAINTBUFFER_DEBUG_DRAW
+ qDebug() << "QPaintBufferEngine: penChanged (compressed)" << state()->pen;
+#endif
buffer->variants[buffer->commands.last().offset] = pen;
return;
}
+
if (buffer->calculateBoundingRect) {
if (pen.style() == Qt::NoPen) {
buffer->penWidthAdjustment = 0;
@@ -427,22 +429,28 @@ void QPaintBufferEngine::penChanged()
buffer->penWidthAdjustment = transformedWidth.x() / 2.0;
}
}
+#ifdef QPAINTBUFFER_DEBUG_DRAW
+ qDebug() << "QPaintBufferEngine: penChanged" << state()->pen;
+#endif
buffer->addCommand(QPaintBufferPrivate::Cmd_SetPen, pen);
}
void QPaintBufferEngine::brushChanged()
{
-#ifdef QPAINTBUFFER_DEBUG_DRAW
- qDebug() << "QPaintBufferEngine:" << state()->brush;
-#endif
const QBrush &brush = state()->brush;
if (!buffer->commands.isEmpty()
&& buffer->commands.last().id == QPaintBufferPrivate::Cmd_SetBrush) {
+#ifdef QPAINTBUFFER_DEBUG_DRAW
+ qDebug() << "QPaintBufferEngine: brushChanged (compressed)" << state()->brush;
+#endif
buffer->variants[buffer->commands.last().offset] = brush;
return;
}
+#ifdef QPAINTBUFFER_DEBUG_DRAW
+ qDebug() << "QPaintBufferEngine: brushChanged" << state()->brush;
+#endif
buffer->addCommand(QPaintBufferPrivate::Cmd_SetBrush, brush);
}
@@ -488,14 +496,14 @@ void QPaintBufferEngine::transformChanged()
if (!buffer->commands.isEmpty()
&& buffer->commands.last().id == QPaintBufferPrivate::Cmd_SetTransform) {
#ifdef QPAINTBUFFER_DEBUG_DRAW
- qDebug() << "QPaintBufferEngine: compressing " << state()->matrix;
+ qDebug() << "QPaintBufferEngine: transformChanged (compressing) " << state()->matrix;
#endif
buffer->variants[buffer->commands.last().offset] = state()->matrix;
return;
}
#ifdef QPAINTBUFFER_DEBUG_DRAW
- qDebug() << "QPaintBufferEngine: " << state()->matrix;
+ qDebug() << "QPaintBufferEngine: transformChanged:" << state()->matrix;
#endif
buffer->addCommand(QPaintBufferPrivate::Cmd_SetTransform, state()->matrix);
}
@@ -514,7 +522,18 @@ void QPaintBufferEngine::draw(const QVectorPath &path)
#ifdef QPAINTBUFFER_DEBUG_DRAW
qDebug() << "QPaintBufferEngine: draw vpath:" << path.elementCount();
#endif
- buffer->addCommand(QPaintBufferPrivate::Cmd_DrawVectorPath, path);
+
+ bool hasBrush = qbrush_style(state()->brush) != Qt::NoBrush;
+ bool hasPen = qpen_style(state()->pen) != Qt::NoPen
+ && qbrush_style(qpen_brush(state()->pen)) != Qt::NoBrush;
+
+ if (hasPen || hasBrush)
+ buffer->addCommand(QPaintBufferPrivate::Cmd_DrawVectorPath, path);
+#ifdef QPAINTBUFFER_DEBUG_DRAW
+ else
+ qDebug() << " - no pen or brush active, discarded...\n";
+#endif
+
// if (buffer->calculateBoundingRect) {
// QRealRect r = path.controlPointRect();
// buffer->updateBoundingRect(QRectF(r.x1, r.y1, r.x2 - r.x1, r.y2 - r.y1));
@@ -745,15 +764,15 @@ void QPaintBufferEngine::drawEllipse(const QRect &r)
void QPaintBufferEngine::drawPath(const QPainterPath &path)
{
-#ifdef QPAINTBUFFER_DEBUG_DRAW
- qDebug() << "QPaintBufferEngine: drawPath: element count:" << path.elementCount();
-#endif
- // ### Path -> QVariant
- // buffer->addCommand(QPaintBufferPrivate::Cmd_DrawPath, QVariant(path));
+// #ifdef QPAINTBUFFER_DEBUG_DRAW
+// qDebug() << "QPaintBufferEngine: drawPath: element count:" << path.elementCount();
+// #endif
+// // ### Path -> QVariant
+// // buffer->addCommand(QPaintBufferPrivate::Cmd_DrawPath, QVariant(path));
QPaintEngineEx::drawPath(path);
- if (buffer->calculateBoundingRect)
- buffer->updateBoundingRect(path.boundingRect());
+// if (buffer->calculateBoundingRect)
+// buffer->updateBoundingRect(path.boundingRect());
}
void QPaintBufferEngine::drawPoints(const QPoint *points, int pointCount)
@@ -1424,10 +1443,6 @@ void QPainterReplayer::process(const QPaintBufferCommand &cmd)
QTextItemInt &ti = (*tiCopy)();
QString text(ti.text());
-#ifdef QPAINTBUFFER_DEBUG_DRAW
- qDebug() << " -> Cmd_DrawTextItem:" << pos << " " << text << " " << scaleFactor;
-#endif
-
QFont font(ti.font());
font.setUnderline(false);
font.setStrikeOut(false);
@@ -1439,6 +1454,10 @@ void QPainterReplayer::process(const QPaintBufferCommand &cmd)
justificationWidth = si.width.toReal();
qreal scaleFactor = font.d->dpi/qreal(qt_defaultDpiY());
+#ifdef QPAINTBUFFER_DEBUG_DRAW
+ qDebug() << " -> Cmd_DrawTextItem:" << pos << " " << text << " " << scaleFactor;
+#endif
+
if (scaleFactor != 1.0) {
QFont fnt(font);
QFakeDevice fake;
diff --git a/src/gui/painting/qpaintbuffer_p.h b/src/gui/painting/qpaintbuffer_p.h
index 6a7ac73..adf0564 100644
--- a/src/gui/painting/qpaintbuffer_p.h
+++ b/src/gui/painting/qpaintbuffer_p.h
@@ -66,6 +66,7 @@ class QPaintBufferPlayback;
class Q_GUI_EXPORT QPaintBuffer : public QPaintDevice
{
+ Q_DECLARE_PRIVATE(QPaintBuffer);
public:
QPaintBuffer();
QPaintBuffer(const QPaintBuffer &other);
@@ -311,7 +312,7 @@ public:
virtual ~QPainterReplayer() { }
void setupTransform(QPainter *painter);
- void process(const QPaintBufferCommand &cmd);
+ virtual void process(const QPaintBufferCommand &cmd);
void draw(const QPaintBuffer &buffer, QPainter *painter, int frame);
protected:
@@ -326,7 +327,7 @@ class Q_GUI_EXPORT QPaintEngineExReplayer : public QPainterReplayer
public:
QPaintEngineExReplayer() { }
- void process(const QPaintBufferCommand &cmd);
+ virtual void process(const QPaintBufferCommand &cmd);
};
class QPaintBufferEnginePrivate;
diff --git a/src/gui/painting/qpaintengine_raster.cpp b/src/gui/painting/qpaintengine_raster.cpp
index fd0e810..8d0b961 100644
--- a/src/gui/painting/qpaintengine_raster.cpp
+++ b/src/gui/painting/qpaintengine_raster.cpp
@@ -1686,7 +1686,7 @@ void QRasterPaintEngine::stroke(const QVectorPath &path, const QPen &pen)
if (!s->penData.blend)
return;
- if (s->flags.fast_pen && path.shape() <= QVectorPath::NonCurvedShapeHint
+ if (s->flags.fast_pen && !path.isCurved()
&& s->lastPen.brush().isOpaque()) {
int count = path.elementCount();
QPointF *points = (QPointF *) path.points();
@@ -1739,8 +1739,7 @@ void QRasterPaintEngine::stroke(const QVectorPath &path, const QPen &pen)
const QLineF *lines = reinterpret_cast<const QLineF *>(path.points());
for (int i = 0; i < lineCount; ++i) {
- if (path.shape() == QVectorPath::LinesHint)
- dashOffset = s->lastPen.dashOffset();
+ dashOffset = s->lastPen.dashOffset();
if (lines[i].p1() == lines[i].p2()) {
if (s->lastPen.capStyle() != Qt::FlatCap) {
QPointF p = lines[i].p1();
@@ -5120,6 +5119,9 @@ void QSpanData::adjustSpanMethods()
#else
unclipped_blend = qBlendTexture;
#endif
+ if (!texture.imageData)
+ unclipped_blend = 0;
+
break;
}
// setup clipping
diff --git a/src/gui/painting/qpaintengine_x11.cpp b/src/gui/painting/qpaintengine_x11.cpp
index 59482c6..35b77f7 100644
--- a/src/gui/painting/qpaintengine_x11.cpp
+++ b/src/gui/painting/qpaintengine_x11.cpp
@@ -146,7 +146,7 @@ static inline int qpainterOpToXrender(QPainter::CompositionMode mode)
// hack, so we don't have to make QRegion::clipRectangles() public or include
// X11 headers in qregion.h
-Q_AUTOTEST_EXPORT void *qt_getClipRects(const QRegion &r, int &num)
+Q_GUI_EXPORT void *qt_getClipRects(const QRegion &r, int &num)
{
return r.clipRectangles(num);
}
diff --git a/src/gui/painting/qpaintengineex.cpp b/src/gui/painting/qpaintengineex.cpp
index 195be0a..1fb8aab 100644
--- a/src/gui/painting/qpaintengineex.cpp
+++ b/src/gui/painting/qpaintengineex.cpp
@@ -92,6 +92,24 @@ QRectF QVectorPath::controlPointRect() const
return QRectF(QPointF(m_cp_rect.x1, m_cp_rect.y1), QPointF(m_cp_rect.x2, m_cp_rect.y2));
}
+
+QVectorPath::CacheEntry *QVectorPath::addCacheData(QPaintEngineEx *engine, void *data,
+ qvectorpath_cache_cleanup cleanup) {
+ Q_ASSERT(!lookupCacheData(engine));
+ if ((m_hints & IsCachedHint) == 0) {
+ m_cache = 0;
+ m_hints |= IsCachedHint;
+ }
+ CacheEntry *e = new CacheEntry;
+ e->engine = engine;
+ e->data = data;
+ e->cleanup = cleanup;
+ e->next = m_cache;
+ m_cache = e;
+ return m_cache;
+}
+
+
const QVectorPath &qtVectorPathForPath(const QPainterPath &path)
{
Q_ASSERT(path.d_func());
@@ -413,8 +431,12 @@ void QPaintEngineEx::stroke(const QVectorPath &path, const QPen &pen)
// Some engines might decide to optimize for the non-shape hint later on...
uint flags = QVectorPath::WindingFill;
+
+ if (path.elementCount() > 2)
+ flags |= QVectorPath::NonConvexShapeMask;
+
if (d->stroker.capStyle() == Qt::RoundCap || d->stroker.joinStyle() == Qt::RoundJoin)
- flags |= QVectorPath::CurvedShapeHint;
+ flags |= QVectorPath::CurvedShapeMask;
// ### Perspective Xforms are currently not supported...
if (!pen.isCosmetic()) {
@@ -442,7 +464,7 @@ void QPaintEngineEx::stroke(const QVectorPath &path, const QPen &pen)
points[4], points[5]);
points += 6;
types += 3;
- flags |= QVectorPath::CurvedShapeHint;
+ flags |= QVectorPath::CurvedShapeMask;
break;
default:
break;
@@ -504,7 +526,7 @@ void QPaintEngineEx::stroke(const QVectorPath &path, const QPen &pen)
d->activeStroker->cubicTo(c1.x(), c1.y(), c2.x(), c2.y(), e.x(), e.y());
points += 6;
types += 3;
- flags |= QVectorPath::CurvedShapeHint;
+ flags |= QVectorPath::CurvedShapeMask;
break;
}
default:
@@ -736,7 +758,7 @@ void QPaintEngineEx::drawRoundedRect(const QRectF &rect, qreal xRadius, qreal yR
x1 + xRadius, y1
};
- QVectorPath path(pts, 17, qpaintengineex_roundedrect_types);
+ QVectorPath path(pts, 17, qpaintengineex_roundedrect_types, QVectorPath::RoundedRectHint);
draw(path);
}
@@ -827,7 +849,7 @@ void QPaintEngineEx::drawPoints(const QPointF *points, int pointCount)
pts[++oset] = points[i].x() + 0.001;
pts[++oset] = points[i].y();
}
- QVectorPath path(pts, count * 2, qpaintengineex_line_types_16, QVectorPath::NonCurvedShapeHint);
+ QVectorPath path(pts, count * 2, qpaintengineex_line_types_16, QVectorPath::LinesHint);
stroke(path, pen);
pointCount -= 16;
points += 16;
@@ -858,7 +880,7 @@ void QPaintEngineEx::drawPoints(const QPoint *points, int pointCount)
pts[++oset] = points[i].x() + 0.001;
pts[++oset] = points[i].y();
}
- QVectorPath path(pts, count * 2, qpaintengineex_line_types_16, QVectorPath::NonCurvedShapeHint);
+ QVectorPath path(pts, count * 2, qpaintengineex_line_types_16, QVectorPath::LinesHint);
stroke(path, pen);
pointCount -= 16;
points += 16;
diff --git a/src/gui/painting/qpaintengineex_p.h b/src/gui/painting/qpaintengineex_p.h
index 3ec9bd6..02d77f4 100644
--- a/src/gui/painting/qpaintengineex_p.h
+++ b/src/gui/painting/qpaintengineex_p.h
@@ -250,9 +250,9 @@ public:
inline uint QVectorPath::polygonFlags(QPaintEngine::PolygonDrawMode mode) {
switch (mode) {
case QPaintEngine::ConvexMode: return ConvexPolygonHint | ImplicitClose;
- case QPaintEngine::OddEvenMode: return NonCurvedShapeHint | OddEvenFill | ImplicitClose;
- case QPaintEngine::WindingMode: return NonCurvedShapeHint | WindingFill | ImplicitClose;
- case QPaintEngine::PolylineMode: return NonCurvedShapeHint;
+ case QPaintEngine::OddEvenMode: return PolygonHint | OddEvenFill | ImplicitClose;
+ case QPaintEngine::WindingMode: return PolygonHint | WindingFill | ImplicitClose;
+ case QPaintEngine::PolylineMode: return PolygonHint;
default: return 0;
}
}
diff --git a/src/gui/painting/qpainter.cpp b/src/gui/painting/qpainter.cpp
index cddad7d..48629d1 100644
--- a/src/gui/painting/qpainter.cpp
+++ b/src/gui/painting/qpainter.cpp
@@ -2275,8 +2275,9 @@ void QPainter::setBrushOrigin(const QPointF &p)
/*!
Sets the composition mode to the given \a mode.
- \warning You can only set the composition mode for QPainter
- objects that operates on a QImage.
+ \warning Only a QPainter operating on a QImage fully supports all
+ composition modes. The RasterOp modes are supported for X11 as
+ described in compositionMode().
\sa compositionMode()
*/
@@ -3786,27 +3787,14 @@ void QPainter::setPen(const QPen &pen)
if (d->state->pen == pen)
return;
+ d->state->pen = pen;
+
if (d->extended) {
- d->state->pen = pen;
d->checkEmulation();
d->extended->penChanged();
return;
}
- // Do some checks to see if we are the same pen.
- Qt::PenStyle currentStyle = d->state->pen.style();
- if (currentStyle == pen.style() && currentStyle != Qt::CustomDashLine) {
- if (currentStyle == Qt::NoPen ||
- (d->state->pen.isSolid() && pen.isSolid()
- && d->state->pen.color() == pen.color()
- && d->state->pen.widthF() == pen.widthF()
- && d->state->pen.capStyle() == pen.capStyle()
- && d->state->pen.joinStyle() == pen.joinStyle()
- && d->state->pen.isCosmetic() == pen.isCosmetic()))
- return;
- }
-
- d->state->pen = pen;
d->state->dirtyFlags |= QPaintEngine::DirtyPen;
}
@@ -3889,14 +3877,6 @@ void QPainter::setBrush(const QBrush &brush)
return;
}
- Qt::BrushStyle currentStyle = d->state->brush.style();
- if (currentStyle == brush.style()) {
- if (currentStyle == Qt::NoBrush
- || (currentStyle == Qt::SolidPattern
- && d->state->brush.color() == brush.color()))
- return;
- }
-
d->state->brush = brush;
d->state->dirtyFlags |= QPaintEngine::DirtyBrush;
}
@@ -5163,7 +5143,7 @@ void QPainter::drawPixmap(const QPointF &p, const QPixmap &pm)
Q_D(QPainter);
- if (!d->engine)
+ if (!d->engine || pm.isNull())
return;
#ifndef QT_NO_DEBUG
@@ -7603,7 +7583,7 @@ start_lengthVariant:
l.setPosition(QPointF(0., height));
height += l.height();
width = qMax(width, l.naturalTextWidth());
- if (!brect && height >= r.height())
+ if (!dontclip && !brect && height >= r.height())
break;
}
textLayout.endLayout();
diff --git a/src/gui/painting/qpainterpath.cpp b/src/gui/painting/qpainterpath.cpp
index 69e189c..8133793 100644
--- a/src/gui/painting/qpainterpath.cpp
+++ b/src/gui/painting/qpainterpath.cpp
@@ -688,6 +688,8 @@ void QPainterPath::lineTo(const QPointF &p)
return;
Element elm = { p.x(), p.y(), LineToElement };
d->elements.append(elm);
+
+ d->convex = d->elements.size() == 3 || (d->elements.size() == 4 && d->isClosed());
}
/*!
@@ -960,6 +962,8 @@ void QPainterPath::addRect(const QRectF &r)
ensureData();
detach();
+ bool first = d_func()->elements.size() < 2;
+
d_func()->elements.reserve(d_func()->elements.size() + 5);
moveTo(r.x(), r.y());
@@ -970,6 +974,7 @@ void QPainterPath::addRect(const QRectF &r)
d_func()->elements << l1 << l2 << l3 << l4;
d_func()->require_moveTo = true;
+ d_func()->convex = first;
}
/*!
@@ -1039,6 +1044,7 @@ void QPainterPath::addEllipse(const QRectF &boundingRect)
detach();
Q_D(QPainterPath);
+ bool first = d_func()->elements.size() < 2;
d->elements.reserve(d->elements.size() + 13);
QPointF pts[12];
@@ -1051,6 +1057,8 @@ void QPainterPath::addEllipse(const QRectF &boundingRect)
cubicTo(pts[6], pts[7], pts[8]); // 180 -> 90
cubicTo(pts[9], pts[10], pts[11]); // 90 - >0
d_func()->require_moveTo = true;
+
+ d_func()->convex = first;
}
/*!
@@ -3027,14 +3035,17 @@ void QPainterPath::addRoundedRect(const QRectF &rect, qreal xRadius, qreal yRadi
ensureData();
detach();
- arcMoveTo(x, y, rxx2, ryy2, 90);
- arcTo(x, y, rxx2, ryy2, 90, 90);
- arcTo(x, y+h-ryy2, rxx2, ryy2, 2*90, 90);
- arcTo(x+w-rxx2, y+h-ryy2, rxx2, ryy2, 3*90, 90);
- arcTo(x+w-rxx2, y, rxx2, ryy2, 0, 90);
+ bool first = d_func()->elements.size() < 2;
+
+ arcMoveTo(x, y, rxx2, ryy2, 180);
+ arcTo(x, y, rxx2, ryy2, 180, -90);
+ arcTo(x+w-rxx2, y, rxx2, ryy2, 90, -90);
+ arcTo(x+w-rxx2, y+h-ryy2, rxx2, ryy2, 0, -90);
+ arcTo(x, y+h-ryy2, rxx2, ryy2, 270, -90);
closeSubpath();
d_func()->require_moveTo = true;
+ d_func()->convex = first;
}
/*!
@@ -3081,14 +3092,17 @@ void QPainterPath::addRoundRect(const QRectF &r, int xRnd, int yRnd)
ensureData();
detach();
- arcMoveTo(x, y, rxx2, ryy2, 90);
- arcTo(x, y, rxx2, ryy2, 90, 90);
- arcTo(x, y+h-ryy2, rxx2, ryy2, 2*90, 90);
- arcTo(x+w-rxx2, y+h-ryy2, rxx2, ryy2, 3*90, 90);
- arcTo(x+w-rxx2, y, rxx2, ryy2, 0, 90);
+ bool first = d_func()->elements.size() < 2;
+
+ arcMoveTo(x, y, rxx2, ryy2, 180);
+ arcTo(x, y, rxx2, ryy2, 180, -90);
+ arcTo(x+w-rxx2, y, rxx2, ryy2, 90, -90);
+ arcTo(x+w-rxx2, y+h-ryy2, rxx2, ryy2, 0, -90);
+ arcTo(x, y+h-ryy2, rxx2, ryy2, 270, -90);
closeSubpath();
d_func()->require_moveTo = true;
+ d_func()->convex = first;
}
/*!
@@ -3269,6 +3283,7 @@ void QPainterPath::setDirty(bool dirty)
d_func()->dirtyControlBounds = dirty;
delete d_func()->pathConverter;
d_func()->pathConverter = 0;
+ d_func()->convex = false;
}
void QPainterPath::computeBoundingRect() const
diff --git a/src/gui/painting/qpainterpath_p.h b/src/gui/painting/qpainterpath_p.h
index 54c182d..54b9392 100644
--- a/src/gui/painting/qpainterpath_p.h
+++ b/src/gui/painting/qpainterpath_p.h
@@ -81,8 +81,8 @@ class QVectorPathConverter;
class QVectorPathConverter
{
public:
- QVectorPathConverter(const QVector<QPainterPath::Element> &path, uint fillRule)
- : pathData(path, fillRule),
+ QVectorPathConverter(const QVector<QPainterPath::Element> &path, uint fillRule, bool convex)
+ : pathData(path, fillRule, convex),
path(pathData.points.data(), path.size(),
pathData.elements.data(), pathData.flags) {}
@@ -91,7 +91,7 @@ public:
}
struct QVectorPathData {
- QVectorPathData(const QVector<QPainterPath::Element> &path, uint fillRule)
+ QVectorPathData(const QVector<QPainterPath::Element> &path, uint fillRule, bool convex)
: elements(path.size()),
points(path.size() * 2),
flags(0)
@@ -103,7 +103,7 @@ public:
points[ptsPos++] = e.x;
points[ptsPos++] = e.y;
if (e.type == QPainterPath::CurveToElement)
- flags |= QVectorPath::CurvedShapeHint;
+ flags |= QVectorPath::CurvedShapeMask;
}
if (fillRule == Qt::WindingFill)
@@ -111,6 +111,8 @@ public:
else
flags |= QVectorPath::OddEvenFill;
+ if (!convex)
+ flags |= QVectorPath::NonConvexShapeMask;
}
QVarLengthArray<QPainterPath::ElementType> elements;
QVarLengthArray<qreal> points;
@@ -128,19 +130,24 @@ class QPainterPathData : public QPainterPathPrivate
{
public:
QPainterPathData() :
- cStart(0), fillRule(Qt::OddEvenFill),
- dirtyBounds(false), dirtyControlBounds(false),
+ cStart(0),
+ fillRule(Qt::OddEvenFill),
+ dirtyBounds(false),
+ dirtyControlBounds(false),
pathConverter(0)
{
ref = 1;
require_moveTo = false;
+ convex = false;
}
QPainterPathData(const QPainterPathData &other) :
QPainterPathPrivate(), cStart(other.cStart), fillRule(other.fillRule),
- dirtyBounds(other.dirtyBounds), bounds(other.bounds),
- dirtyControlBounds(other.dirtyControlBounds),
+ bounds(other.bounds),
controlBounds(other.controlBounds),
+ dirtyBounds(other.dirtyBounds),
+ dirtyControlBounds(other.dirtyControlBounds),
+ convex(other.convex),
pathConverter(0)
{
ref = 1;
@@ -158,20 +165,21 @@ public:
const QVectorPath &vectorPath() {
if (!pathConverter)
- pathConverter = new QVectorPathConverter(elements, fillRule);
+ pathConverter = new QVectorPathConverter(elements, fillRule, convex);
return pathConverter->path;
}
int cStart;
Qt::FillRule fillRule;
- bool require_moveTo;
-
- bool dirtyBounds;
QRectF bounds;
- bool dirtyControlBounds;
QRectF controlBounds;
+ uint require_moveTo : 1;
+ uint dirtyBounds : 1;
+ uint dirtyControlBounds : 1;
+ uint convex : 1;
+
QVectorPathConverter *pathConverter;
};
diff --git a/src/gui/painting/qpen.cpp b/src/gui/painting/qpen.cpp
index 41efc80..77aa748 100644
--- a/src/gui/painting/qpen.cpp
+++ b/src/gui/painting/qpen.cpp
@@ -835,16 +835,17 @@ bool QPen::operator==(const QPen &p) const
{
QPenData *dd = static_cast<QPenData *>(d);
QPenData *pdd = static_cast<QPenData *>(p.d);
- return (p.d == d) || (p.d->style == d->style
- && p.d->capStyle == d->capStyle
- && p.d->joinStyle == d->joinStyle
- && p.d->width == d->width
- && pdd->miterLimit == dd->miterLimit
- && (d->style != Qt::CustomDashLine
- || (qFuzzyCompare(pdd->dashOffset, dd->dashOffset) &&
- pdd->dashPattern == dd->dashPattern))
- && p.d->brush == d->brush
- && pdd->cosmetic == dd->cosmetic);
+ return (p.d == d)
+ || (p.d->style == d->style
+ && p.d->capStyle == d->capStyle
+ && p.d->joinStyle == d->joinStyle
+ && p.d->width == d->width
+ && pdd->miterLimit == dd->miterLimit
+ && (d->style != Qt::CustomDashLine
+ || (qFuzzyCompare(pdd->dashOffset, dd->dashOffset) &&
+ pdd->dashPattern == dd->dashPattern))
+ && p.d->brush == d->brush
+ && pdd->cosmetic == dd->cosmetic);
}
@@ -983,8 +984,18 @@ QDataStream &operator>>(QDataStream &s, QPen &p)
QDebug operator<<(QDebug dbg, const QPen &p)
{
#ifndef Q_BROKEN_DEBUG_STREAM
+ const char *PEN_STYLES[] = {
+ "NoPen",
+ "SolidLine",
+ "DashLine",
+ "DotLine",
+ "DashDotLine",
+ "DashDotDotLine",
+ "CustomDashLine"
+ };
+
dbg.nospace() << "QPen(" << p.width() << ',' << p.brush()
- << ',' << int(p.style()) << ',' << int(p.capStyle())
+ << ',' << PEN_STYLES[p.style()] << ',' << int(p.capStyle())
<< ',' << int(p.joinStyle()) << ',' << p.dashPattern()
<< ',' << p.dashOffset()
<< ',' << p.miterLimit() << ')';
diff --git a/src/gui/painting/qprinterinfo_unix.cpp b/src/gui/painting/qprinterinfo_unix.cpp
index 7e2946a..6684ff7 100644
--- a/src/gui/painting/qprinterinfo_unix.cpp
+++ b/src/gui/painting/qprinterinfo_unix.cpp
@@ -421,6 +421,7 @@ int qt_pd_foreach(int /*status */, char * /*key */, int /*keyLen */,
int qt_retrieveNisPrinters(QList<QPrinterDescription> *printers)
{
+#ifndef QT_NO_LIBRARY
typedef int (*WildCast)(int, char *, int, char *, int, char *);
char printersConfByname[] = "printers.conf.byname";
char *domain;
@@ -444,6 +445,7 @@ int qt_retrieveNisPrinters(QList<QPrinterDescription> *printers)
if (!err)
return Success;
}
+#endif //QT_NO_LIBRARY
return Unavail;
}
diff --git a/src/gui/painting/qstroker.cpp b/src/gui/painting/qstroker.cpp
index c57b3c1..228a6b1 100644
--- a/src/gui/painting/qstroker.cpp
+++ b/src/gui/painting/qstroker.cpp
@@ -452,6 +452,17 @@ void QStroker::joinPoints(qfixed focal_x, qfixed focal_y, const QLineF &nextLine
#endif
if (join == FlatJoin) {
+ QLineF prevLine(qt_fixed_to_real(m_back2X), qt_fixed_to_real(m_back2Y),
+ qt_fixed_to_real(m_back1X), qt_fixed_to_real(m_back1Y));
+ QPointF isect;
+ QLineF::IntersectType type = prevLine.intersect(nextLine, &isect);
+ QLineF shortCut(prevLine.p2(), nextLine.p1());
+ qreal angle = shortCut.angleTo(prevLine);
+ if (type == QLineF::BoundedIntersection || (angle > 90 && !qFuzzyCompare(angle, (qreal)90))) {
+ emitLineTo(focal_x, focal_y);
+ emitLineTo(qt_real_to_fixed(nextLine.x1()), qt_real_to_fixed(nextLine.y1()));
+ return;
+ }
emitLineTo(qt_real_to_fixed(nextLine.x1()),
qt_real_to_fixed(nextLine.y1()));
@@ -468,8 +479,8 @@ void QStroker::joinPoints(qfixed focal_x, qfixed focal_y, const QLineF &nextLine
// If we are on the inside, do the short cut...
QLineF shortCut(prevLine.p2(), nextLine.p1());
qreal angle = shortCut.angleTo(prevLine);
-
if (type == QLineF::BoundedIntersection || (angle > 90 && !qFuzzyCompare(angle, (qreal)90))) {
+ emitLineTo(focal_x, focal_y);
emitLineTo(qt_real_to_fixed(nextLine.x1()), qt_real_to_fixed(nextLine.y1()));
return;
}
@@ -509,8 +520,9 @@ void QStroker::joinPoints(qfixed focal_x, qfixed focal_y, const QLineF &nextLine
qfixed offset = m_strokeWidth / 2;
QLineF shortCut(prevLine.p2(), nextLine.p1());
- qreal angle = prevLine.angle(shortCut);
+ qreal angle = shortCut.angleTo(prevLine);
if (type == QLineF::BoundedIntersection || (angle > 90 && !qFuzzyCompare(angle, (qreal)90))) {
+ emitLineTo(focal_x, focal_y);
emitLineTo(qt_real_to_fixed(nextLine.x1()), qt_real_to_fixed(nextLine.y1()));
return;
}
@@ -581,6 +593,13 @@ void QStroker::joinPoints(qfixed focal_x, qfixed focal_y, const QLineF &nextLine
qt_real_to_fixed(l1.x1()),
qt_real_to_fixed(l1.y1()));
} else if (join == SvgMiterJoin) {
+ QLineF shortCut(prevLine.p2(), nextLine.p1());
+ qreal angle = shortCut.angleTo(prevLine);
+ if (type == QLineF::BoundedIntersection || (angle > 90 && !qFuzzyCompare(angle, (qreal)90))) {
+ emitLineTo(focal_x, focal_y);
+ emitLineTo(qt_real_to_fixed(nextLine.x1()), qt_real_to_fixed(nextLine.y1()));
+ return;
+ }
QLineF miterLine(QPointF(qt_fixed_to_real(focal_x),
qt_fixed_to_real(focal_y)), isect);
if (miterLine.length() > qt_fixed_to_real(m_strokeWidth * m_miterLimit) / 2) {
diff --git a/src/gui/painting/qtransform.cpp b/src/gui/painting/qtransform.cpp
index 8118450..1bd5842 100644
--- a/src/gui/painting/qtransform.cpp
+++ b/src/gui/painting/qtransform.cpp
@@ -2214,12 +2214,14 @@ bool qt_scaleForTransform(const QTransform &transform, qreal *scale)
{
const QTransform::TransformationType type = transform.type();
if (type <= QTransform::TxTranslate) {
- *scale = 1;
+ if (scale)
+ *scale = 1;
return true;
} else if (type == QTransform::TxScale) {
const qreal xScale = qAbs(transform.m11());
const qreal yScale = qAbs(transform.m22());
- *scale = qMax(xScale, yScale);
+ if (scale)
+ *scale = qMax(xScale, yScale);
return qFuzzyCompare(xScale, yScale);
}
@@ -2227,7 +2229,8 @@ bool qt_scaleForTransform(const QTransform &transform, qreal *scale)
+ transform.m21() * transform.m21();
const qreal yScale = transform.m12() * transform.m12()
+ transform.m22() * transform.m22();
- *scale = qSqrt(qMax(xScale, yScale));
+ if (scale)
+ *scale = qSqrt(qMax(xScale, yScale));
return type == QTransform::TxRotate && qFuzzyCompare(xScale, yScale);
}
diff --git a/src/gui/painting/qvectorpath_p.h b/src/gui/painting/qvectorpath_p.h
index d023131..ec27970 100644
--- a/src/gui/painting/qvectorpath_p.h
+++ b/src/gui/painting/qvectorpath_p.h
@@ -66,8 +66,9 @@ QT_BEGIN_NAMESPACE
QT_MODULE(Gui)
+class QPaintEngineEx;
-#define QVECTORPATH_NO_CACHE
+typedef void (*qvectorpath_cache_cleanup)(void *data);
struct QRealRect {
qreal x1, y1, x2, y2;
@@ -77,19 +78,27 @@ class Q_GUI_EXPORT QVectorPath
{
public:
enum Hint {
- // Basic shapes...
- LinesHint = 0x0001, // Just plain lines...
- RectangleHint = 0x0002,
- ConvexPolygonHint = 0x0003, // Convex polygon...
- NonISectPolygonHint = 0x0004, // concave polygon, but not intersecting..
- NonCurvedShapeHint = 0x0005, // Generic polygon, possibly self-intersecting...
- CurvedShapeHint = 0x0006, // Generic vector path..
- EllipseHint = 0x0007,
- ShapeHintMask = 0x000f,
+ // Shape hints, in 0x000000ff, access using shape()
+ AreaShapeMask = 0x0001, // shape covers an area
+ NonConvexShapeMask = 0x0002, // shape is not convex
+ CurvedShapeMask = 0x0004, // shape contains curves...
+ LinesShapeMask = 0x0008,
+ RectangleShapeMask = 0x0010,
+ ShapeMask = 0x001f,
+
+ // Shape hints merged into basic shapes..
+ LinesHint = LinesShapeMask,
+ RectangleHint = AreaShapeMask | RectangleShapeMask,
+ EllipseHint = AreaShapeMask | CurvedShapeMask,
+ ConvexPolygonHint = AreaShapeMask,
+ PolygonHint = AreaShapeMask | NonConvexShapeMask,
+ RoundedRectHint = AreaShapeMask | CurvedShapeMask,
+ ArbitraryShapeHint = AreaShapeMask | NonConvexShapeMask | CurvedShapeMask,
// Other hints
- CacheHint = 0x0100,
- ControlPointRect = 0x0200, // Set if the control point rect has been calculated...
+ IsCachedHint = 0x0100, // Set if the cache hint is set
+ ShouldUseCacheHint = 0x0200, // Set if the path should be cached when possible..
+ ControlPointRect = 0x0400, // Set if the control point rect has been calculated...
// Shape rendering specifiers...
OddEvenFill = 0x1000,
@@ -101,22 +110,21 @@ public:
QVectorPath(const qreal *points,
int count,
const QPainterPath::ElementType *elements = 0,
- uint hints = CurvedShapeHint)
+ uint hints = ArbitraryShapeHint)
: m_elements(elements),
m_points(points),
m_count(count),
m_hints(hints)
-#ifndef QVECTORPATH_NO_CACHE
- , m_cache(0)
-#endif
{
}
QRectF controlPointRect() const;
- inline Hint shape() const { return (Hint) (m_hints & ShapeHintMask); }
+ inline Hint shape() const { return (Hint) (m_hints & ShapeMask); }
+ inline bool isConvex() const { return (m_hints & NonConvexShapeMask) == 0; }
+ inline bool isCurved() const { return m_hints & CurvedShapeMask; }
- inline bool hasCacheHint() const { return m_hints & CacheHint; }
+ inline bool isCacheable() const { return m_hints & ShouldUseCacheHint; }
inline bool hasImplicitClose() const { return m_hints & ImplicitClose; }
inline bool hasWindingFill() const { return m_hints & WindingFill; }
@@ -131,24 +139,30 @@ public:
static inline uint polygonFlags(QPaintEngine::PolygonDrawMode mode);
-private:
- Q_DISABLE_COPY(QVectorPath)
-
-#ifndef QVECTORPATH_NO_CACHE
struct CacheEntry {
- void *engine;
- int id;
- void *extra;
+ QPaintEngineEx *engine;
+ void *data;
+ qvectorpath_cache_cleanup cleanup;
CacheEntry *next;
};
- void addCacheData(CacheEntry *d) {
- d->next = m_cache;
- m_cache = d;
+ CacheEntry *addCacheData(QPaintEngineEx *engine, void *data, qvectorpath_cache_cleanup cleanup);
+ inline CacheEntry *lookupCacheData(QPaintEngineEx *engine) const {
+ Q_ASSERT(m_hints & IsCachedHint);
+ CacheEntry *e = m_cache;
+ while (e) {
+ if (e->engine == engine)
+ return e;
+ e = e->next;
+ }
+ return 0;
}
+
+private:
+ Q_DISABLE_COPY(QVectorPath)
+
CacheEntry *m_cache;
-#endif
const QPainterPath::ElementType *m_elements;
const qreal *m_points;
diff --git a/src/gui/painting/qwindowsurface_qws.cpp b/src/gui/painting/qwindowsurface_qws.cpp
index 4f489c4..fa0c80e 100644
--- a/src/gui/painting/qwindowsurface_qws.cpp
+++ b/src/gui/painting/qwindowsurface_qws.cpp
@@ -668,9 +668,11 @@ void QWSWindowSurface::flush(QWidget *widget, const QRegion &region,
if (!win)
return;
+#ifndef QT_NO_GRAPHICSVIEW
QWExtra *extra = win->d_func()->extra;
if (extra && extra->proxyWidget)
return;
+#endif //QT_NO_GRAPHICSVIEW
Q_UNUSED(offset);
diff --git a/src/gui/painting/qwindowsurface_raster.cpp b/src/gui/painting/qwindowsurface_raster.cpp
index 3a118bd..d412040 100644
--- a/src/gui/painting/qwindowsurface_raster.cpp
+++ b/src/gui/painting/qwindowsurface_raster.cpp
@@ -215,6 +215,12 @@ void QRasterWindowSurface::flush(QWidget *widget, const QRegion &rgn, const QPoi
XCopyArea(X11->display, d_ptr->image->xshmpm, widget->handle(), d_ptr->gc,
br.x(), br.y(), br.width(), br.height(), wbr.x(), wbr.y());
XSync(X11->display, False);
+ } else if (d_ptr->image->xshmimg) {
+ const QImage &src = d->image->image;
+ br = br.intersected(src.rect());
+ XShmPutImage(X11->display, widget->handle(), d_ptr->gc, d_ptr->image->xshmimg,
+ br.x(), br.y(), wbr.x(), wbr.y(), br.width(), br.height(), False);
+ XSync(X11->display, False);
} else
#endif
{
diff --git a/src/gui/painting/qwindowsurface_x11.cpp b/src/gui/painting/qwindowsurface_x11.cpp
index 46c4c42..77e019c 100644
--- a/src/gui/painting/qwindowsurface_x11.cpp
+++ b/src/gui/painting/qwindowsurface_x11.cpp
@@ -94,6 +94,8 @@ QPaintDevice *QX11WindowSurface::paintDevice()
void QX11WindowSurface::beginPaint(const QRegion &rgn)
{
#ifndef QT_NO_XRENDER
+ Q_ASSERT(!d_ptr->device.isNull());
+
if (d_ptr->translucentBackground) {
if (d_ptr->device.depth() != 32)
static_cast<QX11PixmapData *>(d_ptr->device.data_ptr().data())->convertToARGB32();
@@ -157,8 +159,8 @@ void QX11WindowSurface::setGeometry(const QRect &rect)
QPixmap::x11SetDefaultScreen(d_ptr->widget->x11Info().screen());
QX11PixmapData *oldData = static_cast<QX11PixmapData *>(d_ptr->device.pixmapData());
- Q_ASSERT(oldData);
- if (!(oldData->flags & QX11PixmapData::Uninitialized) && hasStaticContents()) {
+
+ if (oldData && !(oldData->flags & QX11PixmapData::Uninitialized) && hasStaticContents()) {
// Copy the content of the old pixmap into the new one.
QX11PixmapData *newData = new QX11PixmapData(QPixmapData::PixmapType);
newData->resize(size.width(), size.height());
diff --git a/src/gui/s60framework/qs60mainappui.cpp b/src/gui/s60framework/qs60mainappui.cpp
index 4ad78f9..4c4c994 100644
--- a/src/gui/s60framework/qs60mainappui.cpp
+++ b/src/gui/s60framework/qs60mainappui.cpp
@@ -163,7 +163,7 @@ void QS60MainAppUi::HandleResourceChangeL(TInt type)
/*!
* \brief Handles raw window server events.
*
- * The event type and information is passed in \a event, while the receiving control is passed in
+ * The event type and information is passed in \a wsEvent, while the receiving control is passed in
* \a destination.
*
* If you override this function, you should call the base class implementation if you do not
diff --git a/src/gui/s60framework/s60framework.pri b/src/gui/s60framework/s60framework.pri
index fea74fe..5884b68 100644
--- a/src/gui/s60framework/s60framework.pri
+++ b/src/gui/s60framework/s60framework.pri
@@ -1,3 +1,14 @@
+# This block serves the minimalistic resource file for S60 3.1 platforms.
+# Note there is no way to ifdef S60 version in mmp file, that is why the resource
+# file is always compiled for WINSCW
+minimalAppResource31 = \
+ "SOURCEPATH s60framework" \
+ "START RESOURCE s60main.rss" \
+ "HEADER" \
+ "TARGETPATH resource\apps" \
+ "END"
+MMP_RULES += minimalAppResource31
+
SOURCES += s60framework/qs60mainapplication.cpp \
s60framework/qs60mainappui.cpp \
s60framework/qs60maindocument.cpp
diff --git a/src/s60main/s60main.rss b/src/gui/s60framework/s60main.rss
index 07dc6a1..07dc6a1 100644
--- a/src/s60main/s60main.rss
+++ b/src/gui/s60framework/s60main.rss
diff --git a/src/gui/statemachine/qbasickeyeventtransition.cpp b/src/gui/statemachine/qbasickeyeventtransition.cpp
index 445a253..bf10e3d 100644
--- a/src/gui/statemachine/qbasickeyeventtransition.cpp
+++ b/src/gui/statemachine/qbasickeyeventtransition.cpp
@@ -68,14 +68,14 @@ public:
QEvent::Type eventType;
int key;
- Qt::KeyboardModifiers modifiersMask;
+ Qt::KeyboardModifiers modifierMask;
};
QBasicKeyEventTransitionPrivate::QBasicKeyEventTransitionPrivate()
{
eventType = QEvent::None;
key = 0;
- modifiersMask = Qt::NoModifier;
+ modifierMask = Qt::NoModifier;
}
QBasicKeyEventTransitionPrivate *QBasicKeyEventTransitionPrivate::get(QBasicKeyEventTransition *q)
@@ -106,17 +106,17 @@ QBasicKeyEventTransition::QBasicKeyEventTransition(QEvent::Type type, int key,
/*!
Constructs a new event transition for events of the given \a type for the
- given \a key, with the given \a modifiersMask and \a sourceState.
+ given \a key, with the given \a modifierMask and \a sourceState.
*/
QBasicKeyEventTransition::QBasicKeyEventTransition(QEvent::Type type, int key,
- Qt::KeyboardModifiers modifiersMask,
+ Qt::KeyboardModifiers modifierMask,
QState *sourceState)
: QAbstractTransition(*new QBasicKeyEventTransitionPrivate, sourceState)
{
Q_D(QBasicKeyEventTransition);
d->eventType = type;
d->key = key;
- d->modifiersMask = modifiersMask;
+ d->modifierMask = modifierMask;
}
/*!
@@ -163,23 +163,23 @@ void QBasicKeyEventTransition::setKey(int key)
}
/*!
- Returns the keyboard modifiers mask that this key event transition checks
+ Returns the keyboard modifier mask that this key event transition checks
for.
*/
-Qt::KeyboardModifiers QBasicKeyEventTransition::modifiersMask() const
+Qt::KeyboardModifiers QBasicKeyEventTransition::modifierMask() const
{
Q_D(const QBasicKeyEventTransition);
- return d->modifiersMask;
+ return d->modifierMask;
}
/*!
- Sets the keyboard modifiers mask that this key event transition will check
+ Sets the keyboard modifier mask that this key event transition will check
for.
*/
-void QBasicKeyEventTransition::setModifiersMask(Qt::KeyboardModifiers modifiersMask)
+void QBasicKeyEventTransition::setModifierMask(Qt::KeyboardModifiers modifierMask)
{
Q_D(QBasicKeyEventTransition);
- d->modifiersMask = modifiersMask;
+ d->modifierMask = modifierMask;
}
/*!
@@ -191,7 +191,7 @@ bool QBasicKeyEventTransition::eventTest(QEvent *event)
if (event->type() == d->eventType) {
QKeyEvent *ke = static_cast<QKeyEvent*>(event);
return (ke->key() == d->key)
- && ((ke->modifiers() & d->modifiersMask) == d->modifiersMask);
+ && ((ke->modifiers() & d->modifierMask) == d->modifierMask);
}
return false;
}
diff --git a/src/gui/statemachine/qbasickeyeventtransition_p.h b/src/gui/statemachine/qbasickeyeventtransition_p.h
index 3c2ec7d..87d3dc7 100644
--- a/src/gui/statemachine/qbasickeyeventtransition_p.h
+++ b/src/gui/statemachine/qbasickeyeventtransition_p.h
@@ -69,7 +69,7 @@ public:
QBasicKeyEventTransition(QState *sourceState = 0);
QBasicKeyEventTransition(QEvent::Type type, int key, QState *sourceState = 0);
QBasicKeyEventTransition(QEvent::Type type, int key,
- Qt::KeyboardModifiers modifiersMask,
+ Qt::KeyboardModifiers modifierMask,
QState *sourceState = 0);
~QBasicKeyEventTransition();
@@ -79,8 +79,8 @@ public:
int key() const;
void setKey(int key);
- Qt::KeyboardModifiers modifiersMask() const;
- void setModifiersMask(Qt::KeyboardModifiers modifiers);
+ Qt::KeyboardModifiers modifierMask() const;
+ void setModifierMask(Qt::KeyboardModifiers modifiers);
protected:
bool eventTest(QEvent *event);
diff --git a/src/gui/statemachine/qbasicmouseeventtransition.cpp b/src/gui/statemachine/qbasicmouseeventtransition.cpp
index 694c319..fe0dea9 100644
--- a/src/gui/statemachine/qbasicmouseeventtransition.cpp
+++ b/src/gui/statemachine/qbasicmouseeventtransition.cpp
@@ -69,7 +69,7 @@ public:
QEvent::Type eventType;
Qt::MouseButton button;
- Qt::KeyboardModifiers modifiersMask;
+ Qt::KeyboardModifiers modifierMask;
QPainterPath path;
};
@@ -149,38 +149,38 @@ void QBasicMouseEventTransition::setButton(Qt::MouseButton button)
}
/*!
- Returns the keyboard modifiers mask that this mouse event transition checks
+ Returns the keyboard modifier mask that this mouse event transition checks
for.
*/
-Qt::KeyboardModifiers QBasicMouseEventTransition::modifiersMask() const
+Qt::KeyboardModifiers QBasicMouseEventTransition::modifierMask() const
{
Q_D(const QBasicMouseEventTransition);
- return d->modifiersMask;
+ return d->modifierMask;
}
/*!
- Sets the keyboard modifiers mask that this mouse event transition will check
+ Sets the keyboard modifier mask that this mouse event transition will check
for.
*/
-void QBasicMouseEventTransition::setModifiersMask(Qt::KeyboardModifiers modifiersMask)
+void QBasicMouseEventTransition::setModifierMask(Qt::KeyboardModifiers modifierMask)
{
Q_D(QBasicMouseEventTransition);
- d->modifiersMask = modifiersMask;
+ d->modifierMask = modifierMask;
}
/*!
- Returns the path for this mouse event transition.
+ Returns the hit test path for this mouse event transition.
*/
-QPainterPath QBasicMouseEventTransition::path() const
+QPainterPath QBasicMouseEventTransition::hitTestPath() const
{
Q_D(const QBasicMouseEventTransition);
return d->path;
}
/*!
- Sets the path for this mouse event transition.
+ Sets the hit test path for this mouse event transition.
*/
-void QBasicMouseEventTransition::setPath(const QPainterPath &path)
+void QBasicMouseEventTransition::setHitTestPath(const QPainterPath &path)
{
Q_D(QBasicMouseEventTransition);
d->path = path;
@@ -195,7 +195,7 @@ bool QBasicMouseEventTransition::eventTest(QEvent *event)
if (event->type() == d->eventType) {
QMouseEvent *me = static_cast<QMouseEvent*>(event);
return (me->button() == d->button)
- && ((me->modifiers() & d->modifiersMask) == d->modifiersMask)
+ && ((me->modifiers() & d->modifierMask) == d->modifierMask)
&& (d->path.isEmpty() || d->path.contains(me->pos()));
}
return false;
diff --git a/src/gui/statemachine/qbasicmouseeventtransition_p.h b/src/gui/statemachine/qbasicmouseeventtransition_p.h
index 512e0f8..6754c55 100644
--- a/src/gui/statemachine/qbasicmouseeventtransition_p.h
+++ b/src/gui/statemachine/qbasicmouseeventtransition_p.h
@@ -79,11 +79,11 @@ public:
Qt::MouseButton button() const;
void setButton(Qt::MouseButton button);
- Qt::KeyboardModifiers modifiersMask() const;
- void setModifiersMask(Qt::KeyboardModifiers modifiers);
+ Qt::KeyboardModifiers modifierMask() const;
+ void setModifierMask(Qt::KeyboardModifiers modifiers);
- QPainterPath path() const;
- void setPath(const QPainterPath &path);
+ QPainterPath hitTestPath() const;
+ void setHitTestPath(const QPainterPath &path);
protected:
bool eventTest(QEvent *event);
diff --git a/src/gui/statemachine/qkeyeventtransition.cpp b/src/gui/statemachine/qkeyeventtransition.cpp
index dee3168..a15e671 100644
--- a/src/gui/statemachine/qkeyeventtransition.cpp
+++ b/src/gui/statemachine/qkeyeventtransition.cpp
@@ -69,9 +69,9 @@ QT_BEGIN_NAMESPACE
*/
/*!
- \property QKeyEventTransition::modifiersMask
+ \property QKeyEventTransition::modifierMask
- \brief the keyboard modifiers mask that this key event transition checks for
+ \brief the keyboard modifier mask that this key event transition checks for
*/
class QKeyEventTransitionPrivate : public QEventTransitionPrivate
@@ -133,23 +133,23 @@ void QKeyEventTransition::setKey(int key)
}
/*!
- Returns the keyboard modifiers mask that this key event transition checks
+ Returns the keyboard modifier mask that this key event transition checks
for.
*/
-Qt::KeyboardModifiers QKeyEventTransition::modifiersMask() const
+Qt::KeyboardModifiers QKeyEventTransition::modifierMask() const
{
Q_D(const QKeyEventTransition);
- return d->transition->modifiersMask();
+ return d->transition->modifierMask();
}
/*!
- Sets the keyboard \a modifiers mask that this key event transition will
- check for.
+ Sets the keyboard modifier mask that this key event transition will
+ check for to \a modifierMask.
*/
-void QKeyEventTransition::setModifiersMask(Qt::KeyboardModifiers modifiersMask)
+void QKeyEventTransition::setModifierMask(Qt::KeyboardModifiers modifierMask)
{
Q_D(QKeyEventTransition);
- d->transition->setModifiersMask(modifiersMask);
+ d->transition->setModifierMask(modifierMask);
}
/*!
diff --git a/src/gui/statemachine/qkeyeventtransition.h b/src/gui/statemachine/qkeyeventtransition.h
index 8df8138..ab1c155 100644
--- a/src/gui/statemachine/qkeyeventtransition.h
+++ b/src/gui/statemachine/qkeyeventtransition.h
@@ -57,7 +57,7 @@ class Q_GUI_EXPORT QKeyEventTransition : public QEventTransition
{
Q_OBJECT
Q_PROPERTY(int key READ key WRITE setKey)
- Q_PROPERTY(Qt::KeyboardModifiers modifiersMask READ modifiersMask WRITE setModifiersMask)
+ Q_PROPERTY(Qt::KeyboardModifiers modifierMask READ modifierMask WRITE setModifierMask)
public:
QKeyEventTransition(QState *sourceState = 0);
QKeyEventTransition(QObject *object, QEvent::Type type, int key,
@@ -67,8 +67,8 @@ public:
int key() const;
void setKey(int key);
- Qt::KeyboardModifiers modifiersMask() const;
- void setModifiersMask(Qt::KeyboardModifiers modifiers);
+ Qt::KeyboardModifiers modifierMask() const;
+ void setModifierMask(Qt::KeyboardModifiers modifiers);
protected:
void onTransition(QEvent *event);
diff --git a/src/gui/statemachine/qmouseeventtransition.cpp b/src/gui/statemachine/qmouseeventtransition.cpp
index 86cacf7..f5c0cb1 100644
--- a/src/gui/statemachine/qmouseeventtransition.cpp
+++ b/src/gui/statemachine/qmouseeventtransition.cpp
@@ -70,9 +70,9 @@ QT_BEGIN_NAMESPACE
*/
/*!
- \property QMouseEventTransition::modifiersMask
+ \property QMouseEventTransition::modifierMask
- \brief the keyboard modifiers mask that this mouse event transition checks for
+ \brief the keyboard modifier mask that this mouse event transition checks for
*/
class QMouseEventTransitionPrivate : public QEventTransitionPrivate
@@ -139,45 +139,45 @@ void QMouseEventTransition::setButton(Qt::MouseButton button)
}
/*!
- Returns the keyboard modifiers mask that this mouse event transition checks
+ Returns the keyboard modifier mask that this mouse event transition checks
for.
*/
-Qt::KeyboardModifiers QMouseEventTransition::modifiersMask() const
+Qt::KeyboardModifiers QMouseEventTransition::modifierMask() const
{
Q_D(const QMouseEventTransition);
- return d->transition->modifiersMask();
+ return d->transition->modifierMask();
}
/*!
- Sets the keyboard \a modifiers mask that this mouse event transition will
- check for.
+ Sets the keyboard modifier mask that this mouse event transition will
+ check for to \a modifierMask.
*/
-void QMouseEventTransition::setModifiersMask(Qt::KeyboardModifiers modifiersMask)
+void QMouseEventTransition::setModifierMask(Qt::KeyboardModifiers modifierMask)
{
Q_D(QMouseEventTransition);
- d->transition->setModifiersMask(modifiersMask);
+ d->transition->setModifierMask(modifierMask);
}
/*!
- Returns the path for this mouse event transition.
+ Returns the hit test path for this mouse event transition.
*/
-QPainterPath QMouseEventTransition::path() const
+QPainterPath QMouseEventTransition::hitTestPath() const
{
Q_D(const QMouseEventTransition);
- return d->transition->path();
+ return d->transition->hitTestPath();
}
/*!
- Sets the \a path for this mouse event transition.
+ Sets the hit test path for this mouse event transition to \a path.
If a valid path has been set, the transition will only trigger if the mouse
event position (QMouseEvent::pos()) is inside the path.
\sa QPainterPath::contains()
*/
-void QMouseEventTransition::setPath(const QPainterPath &path)
+void QMouseEventTransition::setHitTestPath(const QPainterPath &path)
{
Q_D(QMouseEventTransition);
- d->transition->setPath(path);
+ d->transition->setHitTestPath(path);
}
/*!
diff --git a/src/gui/statemachine/qmouseeventtransition.h b/src/gui/statemachine/qmouseeventtransition.h
index 4e324ec..e7f6a45 100644
--- a/src/gui/statemachine/qmouseeventtransition.h
+++ b/src/gui/statemachine/qmouseeventtransition.h
@@ -58,7 +58,7 @@ class Q_GUI_EXPORT QMouseEventTransition : public QEventTransition
{
Q_OBJECT
Q_PROPERTY(Qt::MouseButton button READ button WRITE setButton)
- Q_PROPERTY(Qt::KeyboardModifiers modifiersMask READ modifiersMask WRITE setModifiersMask)
+ Q_PROPERTY(Qt::KeyboardModifiers modifierMask READ modifierMask WRITE setModifierMask)
public:
QMouseEventTransition(QState *sourceState = 0);
QMouseEventTransition(QObject *object, QEvent::Type type,
@@ -68,11 +68,11 @@ public:
Qt::MouseButton button() const;
void setButton(Qt::MouseButton button);
- Qt::KeyboardModifiers modifiersMask() const;
- void setModifiersMask(Qt::KeyboardModifiers modifiers);
+ Qt::KeyboardModifiers modifierMask() const;
+ void setModifierMask(Qt::KeyboardModifiers modifiers);
- QPainterPath path() const;
- void setPath(const QPainterPath &path);
+ QPainterPath hitTestPath() const;
+ void setHitTestPath(const QPainterPath &path);
protected:
void onTransition(QEvent *event);
diff --git a/src/gui/styles/gtksymbols.cpp b/src/gui/styles/gtksymbols.cpp
deleted file mode 100644
index 6ec5796..0000000
--- a/src/gui/styles/gtksymbols.cpp
+++ /dev/null
@@ -1,1005 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtGui module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, 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.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "gtksymbols_p.h"
-
-// This file is responsible for resolving all GTK functions we use
-// dynamically. This is done to avoid link-time dependancy on GTK
-// as well as crashes occurring due to usage of the GTK_QT engines
-//
-// Additionally we create a map of common GTK widgets that we can pass
-// to the GTK theme engine as many engines resort to querying the
-// actual widget pointers for details that are not covered by the
-// state flags
-
-#include <QtCore/qglobal.h>
-#if !defined(QT_NO_STYLE_GTK)
-
-#include <QtCore/QEvent>
-#include <QtCore/QFile>
-#include <QtCore/QStringList>
-#include <QtCore/QTextStream>
-#include <QtCore/QHash>
-#include <QtCore/QUrl>
-
-#include <private/qapplication_p.h>
-#include <private/qiconloader_p.h>
-
-#include <QtGui/QMenu>
-#include <QtGui/QStyle>
-#include <QtGui/QApplication>
-#include <QtGui/QPixmapCache>
-#include <QtGui/QStatusBar>
-#include <QtGui/QMenuBar>
-#include <QtGui/QToolBar>
-#include <QtGui/QToolButton>
-#include <QtGui/QX11Info>
-
-#include <X11/Xlib.h>
-
-QT_BEGIN_NAMESPACE
-
-static bool displayDepth = -1;
-Q_GLOBAL_STATIC(QGtkStyleUpdateScheduler, styleScheduler)
-
-typedef QHash<QString, GtkWidget*> WidgetMap;
-Q_GLOBAL_STATIC(WidgetMap, gtkWidgetMap)
-
-Ptr_gtk_container_forall QGtk::gtk_container_forall = 0;
-Ptr_gtk_init QGtk::gtk_init = 0;
-Ptr_gtk_style_attach QGtk::gtk_style_attach = 0;
-Ptr_gtk_window_new QGtk::gtk_window_new = 0;
-Ptr_gtk_widget_destroy QGtk::gtk_widget_destroy = 0;
-Ptr_gtk_widget_realize QGtk::gtk_widget_realize = 0;
-Ptr_gtk_widget_set_default_direction QGtk::gtk_widget_set_default_direction = 0;
-Ptr_gtk_widget_modify_color QGtk::gtk_widget_modify_fg = 0;
-Ptr_gtk_widget_modify_color QGtk::gtk_widget_modify_bg = 0;
-Ptr_gtk_arrow_new QGtk::gtk_arrow_new = 0;
-Ptr_gtk_menu_item_new QGtk::gtk_menu_item_new = 0;
-Ptr_gtk_check_menu_item_new QGtk::gtk_check_menu_item_new = 0;
-Ptr_gtk_menu_bar_new QGtk::gtk_menu_bar_new = 0;
-Ptr_gtk_menu_new QGtk::gtk_menu_new = 0;
-Ptr_gtk_button_new QGtk::gtk_button_new = 0;
-Ptr_gtk_hbutton_box_new QGtk::gtk_hbutton_box_new = 0;
-Ptr_gtk_check_button_new QGtk::gtk_check_button_new = 0;
-Ptr_gtk_radio_button_new QGtk::gtk_radio_button_new = 0;
-Ptr_gtk_spin_button_new QGtk::gtk_spin_button_new = 0;
-Ptr_gtk_frame_new QGtk::gtk_frame_new = 0;
-Ptr_gtk_expander_new QGtk::gtk_expander_new = 0;
-Ptr_gtk_statusbar_new QGtk::gtk_statusbar_new = 0;
-Ptr_gtk_entry_new QGtk::gtk_entry_new = 0;
-Ptr_gtk_hscale_new QGtk::gtk_hscale_new = 0;
-Ptr_gtk_vscale_new QGtk::gtk_vscale_new = 0;
-Ptr_gtk_hscrollbar_new QGtk::gtk_hscrollbar_new = 0;
-Ptr_gtk_vscrollbar_new QGtk::gtk_vscrollbar_new = 0;
-Ptr_gtk_scrolled_window_new QGtk::gtk_scrolled_window_new = 0;
-Ptr_gtk_notebook_new QGtk::gtk_notebook_new = 0;
-Ptr_gtk_toolbar_new QGtk::gtk_toolbar_new = 0;
-Ptr_gtk_toolbar_insert QGtk::gtk_toolbar_insert = 0;
-Ptr_gtk_separator_tool_item_new QGtk::gtk_separator_tool_item_new = 0;
-Ptr_gtk_tree_view_new QGtk::gtk_tree_view_new = 0;
-Ptr_gtk_combo_box_new QGtk::gtk_combo_box_new = 0;
-Ptr_gtk_combo_box_entry_new QGtk::gtk_combo_box_entry_new = 0;
-Ptr_gtk_progress_bar_new QGtk::gtk_progress_bar_new = 0;
-Ptr_gtk_container_add QGtk::gtk_container_add = 0;
-Ptr_gtk_menu_shell_append QGtk::gtk_menu_shell_append = 0;
-Ptr_gtk_progress_set_adjustment QGtk::gtk_progress_set_adjustment = 0;
-Ptr_gtk_range_set_adjustment QGtk::gtk_range_set_adjustment = 0;
-Ptr_gtk_range_set_inverted QGtk::gtk_range_set_inverted = 0;
-Ptr_gtk_icon_factory_lookup_default QGtk::gtk_icon_factory_lookup_default = 0;
-Ptr_gtk_icon_theme_get_default QGtk::gtk_icon_theme_get_default = 0;
-Ptr_gtk_widget_style_get QGtk::gtk_widget_style_get = 0;
-Ptr_gtk_icon_set_render_icon QGtk::gtk_icon_set_render_icon = 0;
-Ptr_gtk_fixed_new QGtk::gtk_fixed_new = 0;
-Ptr_gtk_tree_view_column_new QGtk::gtk_tree_view_column_new = 0;
-Ptr_gtk_tree_view_get_column QGtk::gtk_tree_view_get_column = 0;
-Ptr_gtk_tree_view_append_column QGtk::gtk_tree_view_append_column = 0;
-Ptr_gtk_paint_check QGtk::gtk_paint_check = 0;
-Ptr_gtk_paint_box QGtk::gtk_paint_box = 0;
-Ptr_gtk_paint_box_gap QGtk::gtk_paint_box_gap = 0;
-Ptr_gtk_paint_flat_box QGtk::gtk_paint_flat_box = 0;
-Ptr_gtk_paint_option QGtk::gtk_paint_option = 0;
-Ptr_gtk_paint_extension QGtk::gtk_paint_extension = 0;
-Ptr_gtk_paint_slider QGtk::gtk_paint_slider = 0;
-Ptr_gtk_paint_shadow QGtk::gtk_paint_shadow = 0;
-Ptr_gtk_paint_resize_grip QGtk::gtk_paint_resize_grip = 0;
-Ptr_gtk_paint_focus QGtk::gtk_paint_focus = 0;
-Ptr_gtk_paint_arrow QGtk::gtk_paint_arrow = 0;
-Ptr_gtk_paint_handle QGtk::gtk_paint_handle = 0;
-Ptr_gtk_paint_expander QGtk::gtk_paint_expander = 0;
-Ptr_gtk_adjustment_new QGtk::gtk_adjustment_new = 0;
-Ptr_gtk_paint_hline QGtk::gtk_paint_hline = 0;
-Ptr_gtk_paint_vline QGtk::gtk_paint_vline = 0;
-Ptr_gtk_menu_item_set_submenu QGtk::gtk_menu_item_set_submenu = 0;
-Ptr_gtk_settings_get_default QGtk::gtk_settings_get_default = 0;
-Ptr_gtk_separator_menu_item_new QGtk::gtk_separator_menu_item_new = 0;
-Ptr_gtk_widget_size_allocate QGtk::gtk_widget_size_allocate = 0;
-Ptr_gtk_widget_set_direction QGtk::gtk_widget_set_direction = 0;
-Ptr_gtk_widget_path QGtk::gtk_widget_path = 0;
-Ptr_gtk_container_get_type QGtk::gtk_container_get_type = 0;
-Ptr_gtk_window_get_type QGtk::gtk_window_get_type = 0;
-Ptr_gtk_widget_get_type QGtk::gtk_widget_get_type = 0;
-Ptr_gtk_rc_get_style_by_paths QGtk::gtk_rc_get_style_by_paths = 0;
-Ptr_gtk_check_version QGtk::gtk_check_version = 0;
-
-Ptr_pango_font_description_get_size QGtk::pango_font_description_get_size = 0;
-Ptr_pango_font_description_get_weight QGtk::pango_font_description_get_weight = 0;
-Ptr_pango_font_description_get_family QGtk::pango_font_description_get_family = 0;
-Ptr_pango_font_description_get_style QGtk::pango_font_description_get_style = 0;
-
-Ptr_gtk_file_filter_new QGtk::gtk_file_filter_new = 0;
-Ptr_gtk_file_filter_set_name QGtk::gtk_file_filter_set_name = 0;
-Ptr_gtk_file_filter_add_pattern QGtk::gtk_file_filter_add_pattern = 0;
-Ptr_gtk_file_chooser_add_filter QGtk::gtk_file_chooser_add_filter = 0;
-Ptr_gtk_file_chooser_set_filter QGtk::gtk_file_chooser_set_filter = 0;
-Ptr_gtk_file_chooser_get_filter QGtk::gtk_file_chooser_get_filter = 0;
-Ptr_gtk_file_chooser_dialog_new QGtk::gtk_file_chooser_dialog_new = 0;
-Ptr_gtk_file_chooser_set_current_folder QGtk::gtk_file_chooser_set_current_folder = 0;
-Ptr_gtk_file_chooser_get_filename QGtk::gtk_file_chooser_get_filename = 0;
-Ptr_gtk_file_chooser_get_filenames QGtk::gtk_file_chooser_get_filenames = 0;
-Ptr_gtk_file_chooser_set_current_name QGtk::gtk_file_chooser_set_current_name = 0;
-Ptr_gtk_dialog_run QGtk::gtk_dialog_run = 0;
-Ptr_gtk_file_chooser_set_filename QGtk::gtk_file_chooser_set_filename = 0;
-
-Ptr_gdk_pixbuf_get_pixels QGtk::gdk_pixbuf_get_pixels = 0;
-Ptr_gdk_pixbuf_get_width QGtk::gdk_pixbuf_get_width = 0;
-Ptr_gdk_pixbuf_get_height QGtk::gdk_pixbuf_get_height = 0;
-Ptr_gdk_pixmap_new QGtk::gdk_pixmap_new = 0;
-Ptr_gdk_pixbuf_new QGtk::gdk_pixbuf_new = 0;
-Ptr_gdk_pixbuf_get_from_drawable QGtk::gdk_pixbuf_get_from_drawable = 0;
-Ptr_gdk_draw_rectangle QGtk::gdk_draw_rectangle = 0;
-Ptr_gdk_pixbuf_unref QGtk::gdk_pixbuf_unref = 0;
-Ptr_gdk_drawable_unref QGtk::gdk_drawable_unref = 0;
-Ptr_gdk_drawable_get_depth QGtk::gdk_drawable_get_depth = 0;
-Ptr_gdk_color_free QGtk::gdk_color_free = 0;
-Ptr_gdk_x11_window_set_user_time QGtk::gdk_x11_window_set_user_time = 0;
-Ptr_gdk_x11_drawable_get_xid QGtk::gdk_x11_drawable_get_xid = 0;
-Ptr_gdk_x11_drawable_get_xdisplay QGtk::gdk_x11_drawable_get_xdisplay = 0;
-
-Ptr_gconf_client_get_default QGtk::gconf_client_get_default = 0;
-Ptr_gconf_client_get_string QGtk::gconf_client_get_string = 0;
-Ptr_gconf_client_get_bool QGtk::gconf_client_get_bool = 0;
-
-Ptr_gnome_icon_lookup_sync QGtk::gnome_icon_lookup_sync = 0;
-Ptr_gnome_vfs_init QGtk::gnome_vfs_init = 0;
-
-static QString classPath(GtkWidget *widget)
-{
- char* class_path;
- QGtk::gtk_widget_path (widget, NULL, &class_path, NULL);
- QString path = QLS(class_path);
- g_free(class_path);
-
- // Remove the prefixes
- path.remove(QLS("GtkWindow."));
- path.remove(QLS("GtkFixed."));
- return path;
-}
-
-static void resolveGtk()
-{
- // enforce the "0" suffix, so we'll open libgtk-x11-2.0.so.0
- QLibrary libgtk(QLS("gtk-x11-2.0"), 0, 0);
- QGtk::gtk_init = (Ptr_gtk_init)libgtk.resolve("gtk_init");
- QGtk::gtk_window_new = (Ptr_gtk_window_new)libgtk.resolve("gtk_window_new");
- QGtk::gtk_style_attach = (Ptr_gtk_style_attach)libgtk.resolve("gtk_style_attach");
- QGtk::gtk_widget_destroy = (Ptr_gtk_widget_destroy)libgtk.resolve("gtk_widget_destroy");
- QGtk::gtk_widget_realize = (Ptr_gtk_widget_realize)libgtk.resolve("gtk_widget_realize");
-
- QGtk::gtk_file_chooser_set_current_folder = (Ptr_gtk_file_chooser_set_current_folder)libgtk.resolve("gtk_file_chooser_set_current_folder");
- QGtk::gtk_file_filter_new = (Ptr_gtk_file_filter_new)libgtk.resolve("gtk_file_filter_new");
- QGtk::gtk_file_filter_set_name = (Ptr_gtk_file_filter_set_name)libgtk.resolve("gtk_file_filter_set_name");
- QGtk::gtk_file_filter_add_pattern = (Ptr_gtk_file_filter_add_pattern)libgtk.resolve("gtk_file_filter_add_pattern");
- QGtk::gtk_file_chooser_add_filter = (Ptr_gtk_file_chooser_add_filter)libgtk.resolve("gtk_file_chooser_add_filter");
- QGtk::gtk_file_chooser_set_filter = (Ptr_gtk_file_chooser_set_filter)libgtk.resolve("gtk_file_chooser_set_filter");
- QGtk::gtk_file_chooser_get_filter = (Ptr_gtk_file_chooser_get_filter)libgtk.resolve("gtk_file_chooser_get_filter");
- QGtk::gtk_file_chooser_dialog_new = (Ptr_gtk_file_chooser_dialog_new)libgtk.resolve("gtk_file_chooser_dialog_new");
- QGtk::gtk_file_chooser_set_current_folder = (Ptr_gtk_file_chooser_set_current_folder)libgtk.resolve("gtk_file_chooser_set_current_folder");
- QGtk::gtk_file_chooser_get_filename = (Ptr_gtk_file_chooser_get_filename)libgtk.resolve("gtk_file_chooser_get_filename");
- QGtk::gtk_file_chooser_get_filenames = (Ptr_gtk_file_chooser_get_filenames)libgtk.resolve("gtk_file_chooser_get_filenames");
- QGtk::gtk_file_chooser_set_current_name = (Ptr_gtk_file_chooser_set_current_name)libgtk.resolve("gtk_file_chooser_set_current_name");
- QGtk::gtk_dialog_run = (Ptr_gtk_dialog_run)libgtk.resolve("gtk_dialog_run");
- QGtk::gtk_file_chooser_set_filename = (Ptr_gtk_file_chooser_set_filename)libgtk.resolve("gtk_file_chooser_set_filename");
-
- QGtk::gdk_pixbuf_get_pixels = (Ptr_gdk_pixbuf_get_pixels)libgtk.resolve("gdk_pixbuf_get_pixels");
- QGtk::gdk_pixbuf_get_width = (Ptr_gdk_pixbuf_get_width)libgtk.resolve("gdk_pixbuf_get_width");
- QGtk::gdk_pixbuf_get_height = (Ptr_gdk_pixbuf_get_height)libgtk.resolve("gdk_pixbuf_get_height");
- QGtk::gdk_pixmap_new = (Ptr_gdk_pixmap_new)libgtk.resolve("gdk_pixmap_new");
- QGtk::gdk_pixbuf_new = (Ptr_gdk_pixbuf_new)libgtk.resolve("gdk_pixbuf_new");
- QGtk::gdk_pixbuf_get_from_drawable = (Ptr_gdk_pixbuf_get_from_drawable)libgtk.resolve("gdk_pixbuf_get_from_drawable");
- QGtk::gdk_draw_rectangle = (Ptr_gdk_draw_rectangle)libgtk.resolve("gdk_draw_rectangle");
- QGtk::gdk_pixbuf_unref = (Ptr_gdk_pixbuf_unref)libgtk.resolve("gdk_pixbuf_unref");
- QGtk::gdk_drawable_unref = (Ptr_gdk_drawable_unref)libgtk.resolve("gdk_drawable_unref");
- QGtk::gdk_drawable_get_depth = (Ptr_gdk_drawable_get_depth)libgtk.resolve("gdk_drawable_get_depth");
- QGtk::gdk_color_free = (Ptr_gdk_color_free)libgtk.resolve("gdk_color_free");
- QGtk::gdk_x11_window_set_user_time = (Ptr_gdk_x11_window_set_user_time)libgtk.resolve("gdk_x11_window_set_user_time");
- QGtk::gdk_x11_drawable_get_xid = (Ptr_gdk_x11_drawable_get_xid)libgtk.resolve("gdk_x11_drawable_get_xid");
- QGtk::gdk_x11_drawable_get_xdisplay = (Ptr_gdk_x11_drawable_get_xdisplay)libgtk.resolve("gdk_x11_drawable_get_xdisplay");
-
- QGtk::gtk_widget_set_default_direction = (Ptr_gtk_widget_set_default_direction)libgtk.resolve("gtk_widget_set_default_direction");
- QGtk::gtk_widget_modify_fg = (Ptr_gtk_widget_modify_color)libgtk.resolve("gtk_widget_modify_fg");
- QGtk::gtk_widget_modify_bg = (Ptr_gtk_widget_modify_color)libgtk.resolve("gtk_widget_modify_bg");
- QGtk::gtk_arrow_new = (Ptr_gtk_arrow_new)libgtk.resolve("gtk_arrow_new");
- QGtk::gtk_menu_item_new = (Ptr_gtk_menu_item_new)libgtk.resolve("gtk_menu_item_new");
- QGtk::gtk_check_menu_item_new = (Ptr_gtk_check_menu_item_new)libgtk.resolve("gtk_check_menu_item_new");
- QGtk::gtk_menu_bar_new = (Ptr_gtk_menu_bar_new)libgtk.resolve("gtk_menu_bar_new");
- QGtk::gtk_menu_new = (Ptr_gtk_menu_new)libgtk.resolve("gtk_menu_new");
- QGtk::gtk_toolbar_new = (Ptr_gtk_toolbar_new)libgtk.resolve("gtk_toolbar_new");
- QGtk::gtk_separator_tool_item_new = (Ptr_gtk_separator_tool_item_new)libgtk.resolve("gtk_separator_tool_item_new");
- QGtk::gtk_toolbar_insert = (Ptr_gtk_toolbar_insert)libgtk.resolve("gtk_toolbar_insert");
- QGtk::gtk_button_new = (Ptr_gtk_button_new)libgtk.resolve("gtk_button_new");
- QGtk::gtk_hbutton_box_new = (Ptr_gtk_hbutton_box_new)libgtk.resolve("gtk_hbutton_box_new");
- QGtk::gtk_check_button_new = (Ptr_gtk_check_button_new)libgtk.resolve("gtk_check_button_new");
- QGtk::gtk_radio_button_new = (Ptr_gtk_radio_button_new)libgtk.resolve("gtk_radio_button_new");
- QGtk::gtk_notebook_new = (Ptr_gtk_notebook_new)libgtk.resolve("gtk_notebook_new");
- QGtk::gtk_progress_bar_new = (Ptr_gtk_progress_bar_new)libgtk.resolve("gtk_progress_bar_new");
- QGtk::gtk_spin_button_new = (Ptr_gtk_spin_button_new)libgtk.resolve("gtk_spin_button_new");
- QGtk::gtk_hscale_new = (Ptr_gtk_hscale_new)libgtk.resolve("gtk_hscale_new");
- QGtk::gtk_vscale_new = (Ptr_gtk_vscale_new)libgtk.resolve("gtk_vscale_new");
- QGtk::gtk_hscrollbar_new = (Ptr_gtk_hscrollbar_new)libgtk.resolve("gtk_hscrollbar_new");
- QGtk::gtk_vscrollbar_new = (Ptr_gtk_vscrollbar_new)libgtk.resolve("gtk_vscrollbar_new");
- QGtk::gtk_scrolled_window_new = (Ptr_gtk_scrolled_window_new)libgtk.resolve("gtk_scrolled_window_new");
- QGtk::gtk_menu_shell_append = (Ptr_gtk_menu_shell_append)libgtk.resolve("gtk_menu_shell_append");
- QGtk::gtk_entry_new = (Ptr_gtk_entry_new)libgtk.resolve("gtk_entry_new");
- QGtk::gtk_tree_view_new = (Ptr_gtk_tree_view_new)libgtk.resolve("gtk_tree_view_new");
- QGtk::gtk_combo_box_new = (Ptr_gtk_combo_box_new)libgtk.resolve("gtk_combo_box_new");
- QGtk::gtk_progress_set_adjustment = (Ptr_gtk_progress_set_adjustment)libgtk.resolve("gtk_progress_set_adjustment");
- QGtk::gtk_range_set_adjustment = (Ptr_gtk_range_set_adjustment)libgtk.resolve("gtk_range_set_adjustment");
- QGtk::gtk_range_set_inverted = (Ptr_gtk_range_set_inverted)libgtk.resolve("gtk_range_set_inverted");
- QGtk::gtk_container_add = (Ptr_gtk_container_add)libgtk.resolve("gtk_container_add");
- QGtk::gtk_icon_factory_lookup_default = (Ptr_gtk_icon_factory_lookup_default)libgtk.resolve("gtk_icon_factory_lookup_default");
- QGtk::gtk_icon_theme_get_default = (Ptr_gtk_icon_theme_get_default)libgtk.resolve("gtk_icon_theme_get_default");
- QGtk::gtk_widget_style_get = (Ptr_gtk_widget_style_get)libgtk.resolve("gtk_widget_style_get");
- QGtk::gtk_icon_set_render_icon = (Ptr_gtk_icon_set_render_icon)libgtk.resolve("gtk_icon_set_render_icon");
- QGtk::gtk_fixed_new = (Ptr_gtk_fixed_new)libgtk.resolve("gtk_fixed_new");
- QGtk::gtk_tree_view_column_new = (Ptr_gtk_tree_view_column_new)libgtk.resolve("gtk_tree_view_column_new");
- QGtk::gtk_tree_view_append_column= (Ptr_gtk_tree_view_append_column )libgtk.resolve("gtk_tree_view_append_column");
- QGtk::gtk_tree_view_get_column = (Ptr_gtk_tree_view_get_column )libgtk.resolve("gtk_tree_view_get_column");
- QGtk::gtk_paint_check = (Ptr_gtk_paint_check)libgtk.resolve("gtk_paint_check");
- QGtk::gtk_paint_box = (Ptr_gtk_paint_box)libgtk.resolve("gtk_paint_box");
- QGtk::gtk_paint_flat_box = (Ptr_gtk_paint_flat_box)libgtk.resolve("gtk_paint_flat_box");
- QGtk::gtk_paint_check = (Ptr_gtk_paint_check)libgtk.resolve("gtk_paint_check");
- QGtk::gtk_paint_box = (Ptr_gtk_paint_box)libgtk.resolve("gtk_paint_box");
- QGtk::gtk_paint_resize_grip = (Ptr_gtk_paint_resize_grip)libgtk.resolve("gtk_paint_resize_grip");
- QGtk::gtk_paint_focus = (Ptr_gtk_paint_focus)libgtk.resolve("gtk_paint_focus");
- QGtk::gtk_paint_shadow = (Ptr_gtk_paint_shadow)libgtk.resolve("gtk_paint_shadow");
- QGtk::gtk_paint_slider = (Ptr_gtk_paint_slider)libgtk.resolve("gtk_paint_slider");
- QGtk::gtk_paint_expander = (Ptr_gtk_paint_expander)libgtk.resolve("gtk_paint_expander");
- QGtk::gtk_paint_handle = (Ptr_gtk_paint_handle)libgtk.resolve("gtk_paint_handle");
- QGtk::gtk_paint_option = (Ptr_gtk_paint_option)libgtk.resolve("gtk_paint_option");
- QGtk::gtk_paint_arrow = (Ptr_gtk_paint_arrow)libgtk.resolve("gtk_paint_arrow");
- QGtk::gtk_paint_box_gap = (Ptr_gtk_paint_box_gap)libgtk.resolve("gtk_paint_box_gap");
- QGtk::gtk_paint_extension = (Ptr_gtk_paint_extension)libgtk.resolve("gtk_paint_extension");
- QGtk::gtk_paint_hline = (Ptr_gtk_paint_hline)libgtk.resolve("gtk_paint_hline");
- QGtk::gtk_paint_vline = (Ptr_gtk_paint_vline)libgtk.resolve("gtk_paint_vline");
- QGtk::gtk_adjustment_new = (Ptr_gtk_adjustment_new)libgtk.resolve("gtk_adjustment_new");
- QGtk::gtk_menu_item_set_submenu = (Ptr_gtk_menu_item_set_submenu)libgtk.resolve("gtk_menu_item_set_submenu");
- QGtk::gtk_settings_get_default = (Ptr_gtk_settings_get_default)libgtk.resolve("gtk_settings_get_default");
- QGtk::gtk_separator_menu_item_new = (Ptr_gtk_separator_menu_item_new)libgtk.resolve("gtk_separator_menu_item_new");
- QGtk::gtk_frame_new = (Ptr_gtk_frame_new)libgtk.resolve("gtk_frame_new");
- QGtk::gtk_expander_new = (Ptr_gtk_expander_new)libgtk.resolve("gtk_expander_new");
- QGtk::gtk_statusbar_new = (Ptr_gtk_statusbar_new)libgtk.resolve("gtk_statusbar_new");
- QGtk::gtk_combo_box_entry_new = (Ptr_gtk_combo_box_entry_new)libgtk.resolve("gtk_combo_box_entry_new");
- QGtk::gtk_container_forall = (Ptr_gtk_container_forall)libgtk.resolve("gtk_container_forall");
- QGtk::gtk_widget_size_allocate =(Ptr_gtk_widget_size_allocate)libgtk.resolve("gtk_widget_size_allocate");
- QGtk::gtk_widget_set_direction =(Ptr_gtk_widget_set_direction)libgtk.resolve("gtk_widget_set_direction");
- QGtk::gtk_widget_path =(Ptr_gtk_widget_path)libgtk.resolve("gtk_widget_path");
- QGtk::gtk_container_get_type =(Ptr_gtk_container_get_type)libgtk.resolve("gtk_container_get_type");
- QGtk::gtk_window_get_type =(Ptr_gtk_window_get_type)libgtk.resolve("gtk_window_get_type");
- QGtk::gtk_widget_get_type =(Ptr_gtk_widget_get_type)libgtk.resolve("gtk_widget_get_type");
- QGtk::gtk_rc_get_style_by_paths =(Ptr_gtk_rc_get_style_by_paths)libgtk.resolve("gtk_rc_get_style_by_paths");
- QGtk::gtk_check_version =(Ptr_gtk_check_version)libgtk.resolve("gtk_check_version");
- QGtk::pango_font_description_get_size = (Ptr_pango_font_description_get_size)libgtk.resolve("pango_font_description_get_size");
- QGtk::pango_font_description_get_weight = (Ptr_pango_font_description_get_weight)libgtk.resolve("pango_font_description_get_weight");
- QGtk::pango_font_description_get_family = (Ptr_pango_font_description_get_family)libgtk.resolve("pango_font_description_get_family");
- QGtk::pango_font_description_get_style = (Ptr_pango_font_description_get_style)libgtk.resolve("pango_font_description_get_style");
-
- QGtk::gnome_icon_lookup_sync = (Ptr_gnome_icon_lookup_sync)QLibrary::resolve( QLS("gnomeui-2"), 0, "gnome_icon_lookup_sync");
- QGtk::gnome_vfs_init= (Ptr_gnome_vfs_init)QLibrary::resolve( QLS("gnomevfs-2"), 0, "gnome_vfs_init");
-}
-
-void QGtk::cleanup_gtk_widgets()
-{
- if (gtkWidgetMap()->contains(QLS("GtkWindow"))) // Gtk will destroy all children
- QGtk::gtk_widget_destroy(gtkWidgetMap()->value(QLS("GtkWindow")));
-}
-
-static bool resolveGConf()
-{
- if (!QGtk::gconf_client_get_default) {
- QGtk::gconf_client_get_default = (Ptr_gconf_client_get_default)QLibrary::resolve(QLS("gconf-2"), 4, "gconf_client_get_default");
- QGtk::gconf_client_get_string = (Ptr_gconf_client_get_string)QLibrary::resolve(QLS("gconf-2"), 4, "gconf_client_get_string");
- QGtk::gconf_client_get_bool = (Ptr_gconf_client_get_bool)QLibrary::resolve(QLS("gconf-2"), 4, "gconf_client_get_bool");
- }
- return (QGtk::gconf_client_get_default !=0);
-}
-
-typedef int (*x11ErrorHandler)(Display*, XErrorEvent*);
-
-QString QGtk::getGConfString(const QString &value, const QString &fallback)
-{
- QString retVal = fallback;
- if (resolveGConf()) {
- g_type_init();
- GConfClient* client = QGtk::gconf_client_get_default();
- GError *err = 0;
- char *str = QGtk::gconf_client_get_string(client, qPrintable(value), &err);
- if (!err) {
- retVal = QString::fromUtf8(str);
- g_free(str);
- }
- g_object_unref(client);
- if (err)
- g_error_free (err);
- }
- return retVal;
-}
-
-bool QGtk::getGConfBool(const QString &key, bool fallback)
-{
- bool retVal = fallback;
- if (resolveGConf()) {
- g_type_init();
- GConfClient* client = QGtk::gconf_client_get_default();
- GError *err = 0;
- bool result = QGtk::gconf_client_get_bool(client, qPrintable(key), &err);
- g_object_unref(client);
- if (!err)
- retVal = result;
- else
- g_error_free (err);
- }
- return retVal;
-}
-
-static QString getThemeName()
-{
- QString themeName;
- // We try to parse the gtkrc file first
- // primarily to avoid resolving Gtk functions if
- // the KDE 3 "Qt" style is currently in use
- QString rcPaths = QString::fromLocal8Bit(qgetenv("GTK2_RC_FILES"));
- if (!rcPaths.isEmpty()) {
- QStringList paths = rcPaths.split(QLS(":"));
- foreach (const QString &rcPath, paths) {
- if (!rcPath.isEmpty()) {
- QFile rcFile(rcPath);
- if (rcFile.exists() && rcFile.open(QIODevice::ReadOnly | QIODevice::Text)) {
- QTextStream in(&rcFile);
- while(!in.atEnd()) {
- QString line = in.readLine();
- if (line.contains(QLS("gtk-theme-name"))) {
- line = line.right(line.length() - line.indexOf(QLatin1Char('=')) - 1);
- line.remove(QLatin1Char('\"'));
- line = line.trimmed();
- themeName = line;
- break;
- }
- }
- }
- }
- if (!themeName.isEmpty())
- break;
- }
- }
-
- // Fall back to gconf
- if (themeName.isEmpty() && resolveGConf())
- themeName = QGtk::getGConfString(QLS("/desktop/gnome/interface/gtk_theme"));
-
- return themeName;
-}
-
-static void init_gtk_window()
-{
- static QString themeName;
- if (!gtkWidgetMap()->contains(QLS("GtkWindow")) && themeName.isEmpty()) {
- themeName = getThemeName();
-
- if (themeName.isEmpty()) {
- qWarning("QGtkStyle was unable to detect the current GTK+ theme.");
- return;
- } else if (themeName == QLS("Qt") || themeName == QLS("Qt4")) {
- // Due to namespace conflicts with Qt3 and obvious recursion with Qt4,
- // we cannot support the GTK_Qt Gtk engine
- qWarning("QGtkStyle cannot be used together with the GTK_Qt engine.");
- return;
- }
-
- resolveGtk();
-
- if (QGtk::gtk_init) {
- // Gtk will set the Qt error handler so we have to reset it afterwards
- x11ErrorHandler qt_x_errhandler = XSetErrorHandler(0);
- QGtk::gtk_init (NULL, NULL);
- XSetErrorHandler(qt_x_errhandler);
-
- GtkWidget* gtkWindow = QGtk::gtk_window_new(GTK_WINDOW_POPUP);
- QGtk::gtk_widget_realize(gtkWindow);
- if (displayDepth == -1)
- displayDepth = QGtk::gdk_drawable_get_depth(gtkWindow->window);
- gtkWidgetMap()->insert(QLS("GtkWindow"), gtkWindow);
- } else {
- qWarning("QGtkStyle could not resolve GTK. Make sure you have installed the proper libraries.");
- }
- }
-}
-
-static void setup_gtk_widget(GtkWidget* widget)
-{
- if (Q_GTK_IS_WIDGET(widget)) {
- static GtkWidget* protoLayout = 0;
- if (!protoLayout) {
- protoLayout = QGtk::gtk_fixed_new();
- QGtk::gtk_container_add((GtkContainer*)(gtkWidgetMap()->value(QLS("GtkWindow"))), protoLayout);
- }
- Q_ASSERT(protoLayout);
-
- QGtk::gtk_container_add((GtkContainer*)(protoLayout), widget);
- QGtk::gtk_widget_realize(widget);
- }
-}
-
-static void add_widget_to_map(GtkWidget *widget)
-{
- if (Q_GTK_IS_WIDGET(widget)) {
- QGtk::gtk_widget_realize(widget);
- gtkWidgetMap()->insert(classPath(widget), widget);
- }
- }
-
-static void add_all_sub_widgets(GtkWidget *widget, gpointer v = 0)
-{
- Q_UNUSED(v);
- add_widget_to_map(widget);
- if (GTK_CHECK_TYPE ((widget), Q_GTK_TYPE_CONTAINER))
- QGtk::gtk_container_forall((GtkContainer*)widget, add_all_sub_widgets, NULL);
-}
-
-static void init_gtk_menu()
-{
- // Create menubar
- GtkWidget *gtkMenuBar = QGtk::gtk_menu_bar_new();
- setup_gtk_widget(gtkMenuBar);
-
- GtkWidget *gtkMenuBarItem = QGtk::gtk_menu_item_new();
- QGtk::gtk_menu_shell_append((GtkMenuShell*)(gtkMenuBar), gtkMenuBarItem);
- QGtk::gtk_widget_realize(gtkMenuBarItem);
-
- // Create menu
- GtkWidget *gtkMenu = QGtk::gtk_menu_new();
- QGtk::gtk_menu_item_set_submenu((GtkMenuItem*)(gtkMenuBarItem), gtkMenu);
- QGtk::gtk_widget_realize(gtkMenu);
-
- GtkWidget *gtkMenuItem = QGtk::gtk_menu_item_new();
- QGtk::gtk_menu_shell_append((GtkMenuShell*)gtkMenu, gtkMenuItem);
- QGtk::gtk_widget_realize(gtkMenuItem);
-
- GtkWidget *gtkCheckMenuItem = QGtk::gtk_check_menu_item_new();
- QGtk::gtk_menu_shell_append((GtkMenuShell*)gtkMenu, gtkCheckMenuItem);
- QGtk::gtk_widget_realize(gtkCheckMenuItem);
-
- GtkWidget *gtkMenuSeparator = QGtk::gtk_separator_menu_item_new();
- QGtk::gtk_menu_shell_append((GtkMenuShell*)gtkMenu, gtkMenuSeparator);
-
- add_all_sub_widgets(gtkMenuBar);
- add_all_sub_widgets(gtkMenu);
-}
-
-// Updates window/windowtext palette based on the indicated gtk widget
-static QPalette gtkWidgetPalette(const QString &gtkWidgetName)
-{
- GtkWidget *gtkWidget = QGtk::gtkWidget(gtkWidgetName);
- Q_ASSERT(gtkWidget);
- QPalette pal = QApplication::palette();
- GdkColor gdkBg = gtkWidget->style->bg[GTK_STATE_NORMAL];
- GdkColor gdkText = gtkWidget->style->fg[GTK_STATE_NORMAL];
- GdkColor gdkDisabledText = gtkWidget->style->fg[GTK_STATE_INSENSITIVE];
- QColor bgColor(gdkBg.red>>8, gdkBg.green>>8, gdkBg.blue>>8);
- QColor textColor(gdkText.red>>8, gdkText.green>>8, gdkText.blue>>8);
- QColor disabledTextColor(gdkDisabledText.red>>8, gdkDisabledText.green>>8, gdkDisabledText.blue>>8);
- pal.setBrush(QPalette::Window, bgColor);
- pal.setBrush(QPalette::Button, bgColor);
- pal.setBrush(QPalette::All, QPalette::WindowText, textColor);
- pal.setBrush(QPalette::Disabled, QPalette::WindowText, disabledTextColor);
- pal.setBrush(QPalette::All, QPalette::ButtonText, textColor);
- pal.setBrush(QPalette::Disabled, QPalette::ButtonText, disabledTextColor);
- return pal;
-}
-
-bool QGtk::isKDE4Session()
-{
- static int version = -1;
- if (version == -1)
- version = qgetenv("KDE_SESSION_VERSION").toInt();
- return (version == 4);
-}
-
-void QGtk::applyCustomPaletteHash()
-{
- QPalette menuPal = gtkWidgetPalette(QLS("GtkMenu"));
- GdkColor gdkBg = QGtk::gtkWidget(QLS("GtkMenu"))->style->bg[GTK_STATE_NORMAL];
- QColor bgColor(gdkBg.red>>8, gdkBg.green>>8, gdkBg.blue>>8);
- menuPal.setBrush(QPalette::Base, bgColor);
- menuPal.setBrush(QPalette::Window, bgColor);
- qApp->setPalette(menuPal, "QMenu");
-
- QPalette toolbarPal = gtkWidgetPalette(QLS("GtkToolbar"));
- qApp->setPalette(toolbarPal, "QToolBar");
-
- QPalette menuBarPal = gtkWidgetPalette(QLS("GtkMenuBar"));
- qApp->setPalette(menuBarPal, "QMenuBar");
-}
-
-static void gtkStyleSetCallback(GtkWidget*, GtkStyle*, void*)
-{
- // We have to let this function return and complete the event
- // loop to ensure that all gtk widgets have been styled before
- // updating
- QMetaObject::invokeMethod(styleScheduler(), "updateTheme", Qt::QueuedConnection);
-}
-
-void QGtkStyleUpdateScheduler::updateTheme()
-{
- static QString oldTheme(QLS("qt_not_set"));
- QPixmapCache::clear();
-
- QFont font = QGtk::getThemeFont();
- if (QApplication::font() != font)
- qApp->setFont(font);
-
- if (oldTheme != getThemeName()) {
- oldTheme = getThemeName();
- QPalette newPalette = qApp->style()->standardPalette();
- QApplicationPrivate::setSystemPalette(newPalette);
- QApplication::setPalette(newPalette);
- QGtk::initGtkWidgets();
- QGtk::applyCustomPaletteHash();
- QList<QWidget*> widgets = QApplication::allWidgets();
- // Notify all widgets that size metrics might have changed
- foreach (QWidget *widget, widgets) {
- QEvent e(QEvent::StyleChange);
- QApplication::sendEvent(widget, &e);
- }
- }
- QIconLoader::instance()->updateSystemTheme();
-}
-
-static void add_widget(GtkWidget *widget)
-{
- if (widget) {
- setup_gtk_widget(widget);
- add_all_sub_widgets(widget);
- }
-}
-
-static void init_gtk_treeview()
-{
- GtkWidget *gtkTreeView = QGtk::gtk_tree_view_new();
- QGtk::gtk_tree_view_append_column((GtkTreeView*)gtkTreeView, QGtk::gtk_tree_view_column_new());
- QGtk::gtk_tree_view_append_column((GtkTreeView*)gtkTreeView, QGtk::gtk_tree_view_column_new());
- QGtk::gtk_tree_view_append_column((GtkTreeView*)gtkTreeView, QGtk::gtk_tree_view_column_new());
- add_widget(gtkTreeView);
-}
-
-
-// Fetch the application font from the pango font description
-// contained in the theme.
-QFont QGtk::getThemeFont()
-{
- QFont font;
- GtkStyle *style = gtkStyle();
- if (style && qApp->desktopSettingsAware())
- {
- PangoFontDescription *gtk_font = style->font_desc;
- font.setPointSizeF((float)(pango_font_description_get_size(gtk_font))/PANGO_SCALE);
-
- QString family = QString::fromLatin1(pango_font_description_get_family(gtk_font));
- if (!family.isEmpty())
- font.setFamily(family);
-
- int weight = pango_font_description_get_weight(gtk_font);
- if (weight >= PANGO_WEIGHT_HEAVY)
- font.setWeight(QFont::Black);
- else if (weight >= PANGO_WEIGHT_BOLD)
- font.setWeight(QFont::Bold);
- else if (weight >= PANGO_WEIGHT_SEMIBOLD)
- font.setWeight(QFont::DemiBold);
- else if (weight >= PANGO_WEIGHT_NORMAL)
- font.setWeight(QFont::Normal);
- else
- font.setWeight(QFont::Light);
-
- PangoStyle fontstyle = pango_font_description_get_style(gtk_font);
- if (fontstyle == PANGO_STYLE_ITALIC)
- font.setStyle(QFont::StyleItalic);
- else if (fontstyle == PANGO_STYLE_OBLIQUE)
- font.setStyle(QFont::StyleOblique);
- else
- font.setStyle(QFont::StyleNormal);
- }
- return font;
-}
-
-GtkWidget* QGtk::gtkWidget(const QString &path)
-{
- GtkWidget *widget = gtkWidgetMap()->value(path);
- if (!widget) {
- // Theme might have rearranged widget internals
- widget = gtkWidgetMap()->value(path);
- }
- return widget;
-}
-
-GtkStyle* QGtk::gtkStyle(const QString &path)
-{
- if (gtkWidgetMap()->contains(path))
- return gtkWidgetMap()->value(path)->style;
- return 0;
-}
-
-static void update_toolbar_style(GtkWidget *gtkToolBar, GParamSpec *, gpointer)
-{
- GtkToolbarStyle toolbar_style = GTK_TOOLBAR_ICONS;
- g_object_get(gtkToolBar, "toolbar-style", &toolbar_style, NULL);
- QWidgetList widgets = QApplication::allWidgets();
- for (int i = 0; i < widgets.size(); ++i) {
- QWidget *widget = widgets.at(i);
- if (qobject_cast<QToolButton*>(widget)) {
- QEvent event(QEvent::StyleChange);
- QApplication::sendEvent(widget, &event);
- }
- }
-}
-
-void QGtk::initGtkWidgets()
-{
- // From gtkmain.c
- uid_t ruid = getuid ();
- uid_t rgid = getgid ();
- uid_t euid = geteuid ();
- uid_t egid = getegid ();
- if (ruid != euid || rgid != egid) {
- qWarning("\nThis process is currently running setuid or setgid.\nGTK+ does not allow this "
- "therefore Qt cannot use the GTK+ integration.\nTry launching your app using \'gksudo\', "
- "\'kdesudo\' or a similar tool.\n\n"
- "See http://www.gtk.org/setuid.html for more information.\n");
- return;
- }
-
- init_gtk_window();
-
- if (QGtk::gtk_init) {
-
- // Make all widgets respect the text direction
- if (qApp->layoutDirection() == Qt::RightToLeft)
- QGtk::gtk_widget_set_default_direction(GTK_TEXT_DIR_RTL);
-
- if (!gtkWidgetMap()->contains(QLS("GtkButton"))) {
- GtkWidget *gtkButton = QGtk::gtk_button_new();
- add_widget(gtkButton);
- g_signal_connect(gtkButton, "style-set", G_CALLBACK(gtkStyleSetCallback), NULL);
- add_widget(QGtk::gtk_arrow_new(GTK_ARROW_DOWN, GTK_SHADOW_NONE));
- add_widget(QGtk::gtk_hbutton_box_new());
- add_widget(QGtk::gtk_check_button_new());
- add_widget(QGtk::gtk_radio_button_new(NULL));
- add_widget(QGtk::gtk_combo_box_new());
- add_widget(QGtk::gtk_combo_box_entry_new());
- add_widget(QGtk::gtk_entry_new());
- add_widget(QGtk::gtk_frame_new(NULL));
- add_widget(QGtk::gtk_expander_new(""));
- add_widget(QGtk::gtk_statusbar_new());
- add_widget(QGtk::gtk_hscale_new((GtkAdjustment*)(QGtk::gtk_adjustment_new(1, 0, 1, 0, 0, 0))));
- add_widget(QGtk::gtk_hscrollbar_new(NULL));
- add_widget(QGtk::gtk_scrolled_window_new(NULL, NULL));
- init_gtk_menu();
- add_widget(QGtk::gtk_notebook_new());
- add_widget(QGtk::gtk_progress_bar_new());
- add_widget(QGtk::gtk_spin_button_new((GtkAdjustment*)
- (QGtk::gtk_adjustment_new(1, 0, 1, 0, 0, 0)), 0.1, 3));
- GtkWidget *toolbar = QGtk::gtk_toolbar_new();
- g_signal_connect (toolbar, "notify::toolbar-style", G_CALLBACK (update_toolbar_style), toolbar);
- QGtk::gtk_toolbar_insert((GtkToolbar*)toolbar, QGtk::gtk_separator_tool_item_new(), -1);
- add_widget(toolbar);
- init_gtk_treeview();
- add_widget(QGtk::gtk_vscale_new((GtkAdjustment*)(QGtk::gtk_adjustment_new(1, 0, 1, 0, 0, 0))));
- add_widget(QGtk::gtk_vscrollbar_new(NULL));
- }
- else // Rebuild map
- {
- // When styles change subwidgets can get rearranged
- // as with the combo box. We need to update the widget map
- // to reflect this;
- QHash<QString, GtkWidget*> oldMap = *gtkWidgetMap();
- gtkWidgetMap()->clear();
- QHashIterator<QString, GtkWidget*> it(oldMap);
- while (it.hasNext()) {
- it.next();
- if (!it.key().contains(QLatin1Char('.'))) {
- add_all_sub_widgets(it.value());
- }
- }
- }
- }
-}
-
-// ----------- Native file dialogs -----------
-
-// Extract filter list from expressions of type: foo (*.a *.b *.c)"
-static QStringList extract_filter(const QString &rawFilter)
-{
- QString result = rawFilter;
- QRegExp r(QString::fromLatin1("^([^()]*)\\(([a-zA-Z0-9_.*? +;#\\-\\[\\]@\\{\\}/!<>\\$%&=^~:\\|]*)\\)$"));
- int index = r.indexIn(result);
- if (index >= 0)
- result = r.cap(2);
- return result.split(QLatin1Char(' '));
-}
-
-extern QStringList qt_make_filter_list(const QString &filter);
-
-static void setupGtkFileChooser(GtkWidget* gtkFileChooser, QWidget *parent,
- const QString &dir, const QString &filter, QString *selectedFilter,
- QFileDialog::Options options, bool isSaveDialog = false,
- QMap<GtkFileFilter *, QString> *filterMap = 0)
-{
- g_object_set(gtkFileChooser, "do-overwrite-confirmation", gboolean(!(options & QFileDialog::DontConfirmOverwrite)), NULL);
- g_object_set(gtkFileChooser, "local_only", gboolean(true), NULL);
- if (!filter.isEmpty()) {
- QStringList filters = qt_make_filter_list(filter);
- foreach (const QString &rawfilter, filters) {
- GtkFileFilter *gtkFilter = QGtk::gtk_file_filter_new ();
- QString name = rawfilter.left(rawfilter.indexOf(QLatin1Char('(')));
- QStringList extensions = extract_filter(rawfilter);
- QGtk::gtk_file_filter_set_name(gtkFilter, qPrintable(name.isEmpty() ? extensions.join(QLS(", ")) : name));
-
- foreach (const QString &fileExtension, extensions) {
- // Note Gtk file dialogs are by default case sensitive
- // and only supports basic glob syntax so we
- // rewrite .xyz to .[xX][yY][zZ]
- QString caseInsensitive;
- for (int i = 0 ; i < fileExtension.length() ; ++i) {
- QChar ch = fileExtension.at(i);
- if (ch.isLetter()) {
- caseInsensitive.append(
- QLatin1Char('[') +
- ch.toLower() +
- ch.toUpper() +
- QLatin1Char(']'));
- } else {
- caseInsensitive.append(ch);
- }
- }
- QGtk::gtk_file_filter_add_pattern (gtkFilter, qPrintable(caseInsensitive));
-
- }
- if (filterMap)
- filterMap->insert(gtkFilter, rawfilter);
- QGtk::gtk_file_chooser_add_filter((GtkFileChooser*)gtkFileChooser, gtkFilter);
- if (selectedFilter && (rawfilter == *selectedFilter))
- QGtk::gtk_file_chooser_set_filter((GtkFileChooser*)gtkFileChooser, gtkFilter);
- }
- }
-
- // Using the currently active window is not entirely correct, however
- // it gives more sensible behavior for applications that do not provide a
- // parent
- QWidget *modalFor = parent ? parent->window() : qApp->activeWindow();
- if (modalFor) {
- QGtk::gtk_widget_realize(gtkFileChooser); // Creates X window
- XSetTransientForHint(QGtk::gdk_x11_drawable_get_xdisplay(gtkFileChooser->window),
- QGtk::gdk_x11_drawable_get_xid(gtkFileChooser->window),
- modalFor->winId());
- QGtk::gdk_x11_window_set_user_time (gtkFileChooser->window, QX11Info::appUserTime());
-
- }
-
- QFileInfo fileinfo(dir);
- if (dir.isEmpty())
- fileinfo.setFile(QDir::currentPath());
- fileinfo.makeAbsolute();
- if (fileinfo.isDir()) {
- QGtk::gtk_file_chooser_set_current_folder((GtkFileChooser*)gtkFileChooser, qPrintable(dir));
- } else if (isSaveDialog) {
- QGtk::gtk_file_chooser_set_current_folder((GtkFileChooser*)gtkFileChooser, qPrintable(fileinfo.absolutePath()));
- QGtk::gtk_file_chooser_set_current_name((GtkFileChooser*)gtkFileChooser, qPrintable(fileinfo.fileName()));
- } else {
- QGtk::gtk_file_chooser_set_filename((GtkFileChooser*)gtkFileChooser, qPrintable(dir));
- }
-}
-
-QString QGtk::openFilename(QWidget *parent, const QString &caption, const QString &dir, const QString &filter,
- QString *selectedFilter, QFileDialog::Options options)
-{
- QMap<GtkFileFilter *, QString> filterMap;
- GtkWidget *gtkFileChooser = QGtk::gtk_file_chooser_dialog_new (qPrintable(caption),
- NULL,
- GTK_FILE_CHOOSER_ACTION_OPEN,
- GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
- GTK_STOCK_OPEN, GTK_RESPONSE_ACCEPT,
- NULL);
-
- setupGtkFileChooser(gtkFileChooser, parent, dir, filter, selectedFilter, options, false, &filterMap);
-
- QWidget modal_widget;
- modal_widget.setAttribute(Qt::WA_NoChildEventsForParent, true);
- modal_widget.setParent(parent, Qt::Window);
- QApplicationPrivate::enterModal(&modal_widget);
-
- QString filename;
- if (QGtk::gtk_dialog_run ((GtkDialog*)gtkFileChooser) == GTK_RESPONSE_ACCEPT) {
- char *gtk_filename = QGtk::gtk_file_chooser_get_filename ((GtkFileChooser*)gtkFileChooser);
- filename = QString::fromUtf8(gtk_filename);
- g_free (gtk_filename);
- if (selectedFilter) {
- GtkFileFilter *gtkFilter = QGtk::gtk_file_chooser_get_filter ((GtkFileChooser*)gtkFileChooser);
- *selectedFilter = filterMap.value(gtkFilter);
- }
- }
-
- QApplicationPrivate::leaveModal(&modal_widget);
- gtk_widget_destroy (gtkFileChooser);
- return filename;
-}
-
-
-QString QGtk::openDirectory(QWidget *parent, const QString &caption, const QString &dir, QFileDialog::Options options)
-{
- QMap<GtkFileFilter *, QString> filterMap;
- GtkWidget *gtkFileChooser = QGtk::gtk_file_chooser_dialog_new (qPrintable(caption),
- NULL,
- GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER,
- GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
- GTK_STOCK_OPEN, GTK_RESPONSE_ACCEPT,
- NULL);
-
- setupGtkFileChooser(gtkFileChooser, parent, dir, QString(), 0, options);
- QWidget modal_widget;
- modal_widget.setAttribute(Qt::WA_NoChildEventsForParent, true);
- modal_widget.setParent(parent, Qt::Window);
- QApplicationPrivate::enterModal(&modal_widget);
-
- QString filename;
- if (QGtk::gtk_dialog_run ((GtkDialog*)gtkFileChooser) == GTK_RESPONSE_ACCEPT) {
- char *gtk_filename = QGtk::gtk_file_chooser_get_filename ((GtkFileChooser*)gtkFileChooser);
- filename = QString::fromUtf8(gtk_filename);
- g_free (gtk_filename);
- }
-
- QApplicationPrivate::leaveModal(&modal_widget);
- gtk_widget_destroy (gtkFileChooser);
- return filename;
-}
-
-QStringList QGtk::openFilenames(QWidget *parent, const QString &caption, const QString &dir, const QString &filter,
- QString *selectedFilter, QFileDialog::Options options)
-{
- QStringList filenames;
- QMap<GtkFileFilter *, QString> filterMap;
- GtkWidget *gtkFileChooser = QGtk::gtk_file_chooser_dialog_new (qPrintable(caption),
- NULL,
- GTK_FILE_CHOOSER_ACTION_OPEN,
- GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
- GTK_STOCK_OPEN, GTK_RESPONSE_ACCEPT,
- NULL);
-
- setupGtkFileChooser(gtkFileChooser, parent, dir, filter, selectedFilter, options, false, &filterMap);
- g_object_set(gtkFileChooser, "select-multiple", gboolean(true), NULL);
-
- QWidget modal_widget;
- modal_widget.setAttribute(Qt::WA_NoChildEventsForParent, true);
- modal_widget.setParent(parent, Qt::Window);
- QApplicationPrivate::enterModal(&modal_widget);
-
- if (gtk_dialog_run ((GtkDialog*)gtkFileChooser) == GTK_RESPONSE_ACCEPT) {
- GSList *gtk_file_names = QGtk::gtk_file_chooser_get_filenames((GtkFileChooser*)gtkFileChooser);
- for (GSList *iterator = gtk_file_names ; iterator; iterator = iterator->next)
- filenames << QString::fromUtf8((const char*)iterator->data);
- g_slist_free(gtk_file_names);
- if (selectedFilter) {
- GtkFileFilter *gtkFilter = QGtk::gtk_file_chooser_get_filter ((GtkFileChooser*)gtkFileChooser);
- *selectedFilter = filterMap.value(gtkFilter);
- }
- }
-
- QApplicationPrivate::leaveModal(&modal_widget);
- gtk_widget_destroy (gtkFileChooser);
- return filenames;
-}
-
-QString QGtk::saveFilename(QWidget *parent, const QString &caption, const QString &dir, const QString &filter,
- QString *selectedFilter, QFileDialog::Options options)
-{
- QMap<GtkFileFilter *, QString> filterMap;
- GtkWidget *gtkFileChooser = QGtk::gtk_file_chooser_dialog_new (qPrintable(caption),
- NULL,
- GTK_FILE_CHOOSER_ACTION_SAVE,
- GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
- GTK_STOCK_SAVE, GTK_RESPONSE_ACCEPT,
- NULL);
- setupGtkFileChooser(gtkFileChooser, parent, dir, filter, selectedFilter, options, true, &filterMap);
-
- QWidget modal_widget;
- modal_widget.setAttribute(Qt::WA_NoChildEventsForParent, true);
- modal_widget.setParent(parent, Qt::Window);
- QApplicationPrivate::enterModal(&modal_widget);
-
- QString filename;
- if (QGtk::gtk_dialog_run ((GtkDialog*)gtkFileChooser) == GTK_RESPONSE_ACCEPT) {
- char *gtk_filename = QGtk::gtk_file_chooser_get_filename ((GtkFileChooser*)gtkFileChooser);
- filename = QString::fromUtf8(gtk_filename);
- g_free (gtk_filename);
- if (selectedFilter) {
- GtkFileFilter *gtkFilter = QGtk::gtk_file_chooser_get_filter ((GtkFileChooser*)gtkFileChooser);
- *selectedFilter = filterMap.value(gtkFilter);
- }
- }
-
- QApplicationPrivate::leaveModal(&modal_widget);
- gtk_widget_destroy (gtkFileChooser);
- return filename;
-}
-
-QIcon QGtk::getFilesystemIcon(const QFileInfo &info)
-{
- QIcon icon;
- if (QGtk::gnome_vfs_init && QGtk::gnome_icon_lookup_sync) {
- QGtk::gnome_vfs_init();
- GtkIconTheme *theme = QGtk::gtk_icon_theme_get_default();
- QByteArray fileurl = QUrl::fromLocalFile(info.absoluteFilePath()).toEncoded();
- char * icon_name = QGtk::gnome_icon_lookup_sync(theme,
- NULL,
- fileurl.data(),
- NULL,
- GNOME_ICON_LOOKUP_FLAGS_NONE,
- NULL);
- QString iconName = QString::fromUtf8(icon_name);
- g_free(icon_name);
- if (iconName.startsWith(QLatin1Char('/')))
- return QIcon(iconName);
- return QIcon::fromTheme(iconName);
- }
- return icon;
-}
-
-QT_END_NAMESPACE
-
-#endif // !defined(QT_NO_STYLE_GTK)
diff --git a/src/gui/styles/qcleanlooksstyle.cpp b/src/gui/styles/qcleanlooksstyle.cpp
index fabd7ca..973e682 100644
--- a/src/gui/styles/qcleanlooksstyle.cpp
+++ b/src/gui/styles/qcleanlooksstyle.cpp
@@ -3825,6 +3825,7 @@ QSize QCleanlooksStyle::sizeFromContents(ContentsType type, const QStyleOption *
}
}
break;
+#ifndef QT_NO_GROUPBOX
case CT_GroupBox:
// Since we use a bold font we have to recalculate base width
if (const QGroupBox *gb = qobject_cast<const QGroupBox*>(widget)) {
@@ -3840,6 +3841,7 @@ QSize QCleanlooksStyle::sizeFromContents(ContentsType type, const QStyleOption *
}
newSize += QSize(0, 1);
break;
+#endif //QT_NO_GROUPBOX
case CT_RadioButton:
case CT_CheckBox:
newSize += QSize(0, 1);
@@ -3866,7 +3868,7 @@ QSize QCleanlooksStyle::sizeFromContents(ContentsType type, const QStyleOption *
if (const QStyleOptionMenuItem *menuItem = qstyleoption_cast<const QStyleOptionMenuItem *>(option)) {
if (menuItem->menuItemType == QStyleOptionMenuItem::Separator) {
if (!menuItem->text.isEmpty()) {
- newSize.setHeight(menuItem->fontMetrics.lineSpacing());
+ newSize.setHeight(menuItem->fontMetrics.height());
}
}
#ifndef QT_NO_COMBOBOX
diff --git a/src/gui/styles/qcommonstyle.cpp b/src/gui/styles/qcommonstyle.cpp
index 5886512..4c9541b 100644
--- a/src/gui/styles/qcommonstyle.cpp
+++ b/src/gui/styles/qcommonstyle.cpp
@@ -4396,13 +4396,13 @@ int QCommonStyle::pixelMetric(PixelMetric m, const QStyleOption *opt, const QWid
case PM_TitleBarHeight: {
if (const QStyleOptionTitleBar *tb = qstyleoption_cast<const QStyleOptionTitleBar *>(opt)) {
if ((tb->titleBarFlags & Qt::WindowType_Mask) == Qt::Tool) {
- ret = qMax(widget ? widget->fontMetrics().lineSpacing() : opt->fontMetrics.lineSpacing(), 16);
+ ret = qMax(widget ? widget->fontMetrics().height() : opt->fontMetrics.height(), 16);
#ifndef QT_NO_DOCKWIDGET
} else if (qobject_cast<const QDockWidget*>(widget)) {
- ret = qMax(widget->fontMetrics().lineSpacing(), int(QStyleHelper::dpiScaled(13)));
+ ret = qMax(widget->fontMetrics().height(), int(QStyleHelper::dpiScaled(13)));
#endif
} else {
- ret = qMax(widget ? widget->fontMetrics().lineSpacing() : opt->fontMetrics.lineSpacing(), 18);
+ ret = qMax(widget ? widget->fontMetrics().height() : opt->fontMetrics.height(), 18);
}
} else {
ret = int(QStyleHelper::dpiScaled(18.));
@@ -4661,7 +4661,7 @@ int QCommonStyle::pixelMetric(PixelMetric m, const QStyleOption *opt, const QWid
case PM_ToolBarIconSize:
ret = qt_guiPlatformPlugin()->platformHint(QGuiPlatformPlugin::PH_ToolBarIconSize);
if (!ret)
- ret = proxy()->pixelMetric(PM_SmallIconSize, opt, widget);
+ ret = int(QStyleHelper::dpiScaled(24.));
break;
case PM_TabBarIconSize:
@@ -5169,13 +5169,12 @@ int QCommonStyle::styleHint(StyleHint sh, const QStyleOption *opt, const QWidget
QPixmap QCommonStyle::standardPixmap(StandardPixmap sp, const QStyleOption *option,
const QWidget *widget) const
{
+ const bool rtl = (option && option->direction == Qt::RightToLeft) || (!option && QApplication::isRightToLeft());
#ifdef QT_NO_IMAGEFORMAT_PNG
- Q_UNUSED(option);
Q_UNUSED(widget);
Q_UNUSED(sp);
#else
QPixmap pixmap;
- const bool rtl = (option && option->direction == Qt::RightToLeft) || (!option && QApplication::isRightToLeft());
if (QApplication::desktopSettingsAware() && !QIcon::themeName().isEmpty()) {
switch (sp) {
@@ -5657,102 +5656,103 @@ QIcon QCommonStyle::standardIconImplementation(StandardPixmap standardIcon, cons
default:
break;
}
-
+ } // if (QApplication::desktopSettingsAware() && !QIcon::themeName().isEmpty())
if (!icon.isNull())
return icon;
#if defined(Q_WS_MAC)
- OSType iconType = 0;
- switch (standardIcon) {
- case QStyle::SP_MessageBoxQuestion:
- case QStyle::SP_MessageBoxInformation:
- case QStyle::SP_MessageBoxWarning:
- case QStyle::SP_MessageBoxCritical:
- iconType = kGenericApplicationIcon;
- break;
- case SP_DesktopIcon:
- iconType = kDesktopIcon;
- break;
- case SP_TrashIcon:
- iconType = kTrashIcon;
- break;
- case SP_ComputerIcon:
- iconType = kComputerIcon;
- break;
- case SP_DriveFDIcon:
- iconType = kGenericFloppyIcon;
- break;
- case SP_DriveHDIcon:
- iconType = kGenericHardDiskIcon;
- break;
- case SP_DriveCDIcon:
- case SP_DriveDVDIcon:
- iconType = kGenericCDROMIcon;
- break;
- case SP_DriveNetIcon:
- iconType = kGenericNetworkIcon;
- break;
- case SP_DirOpenIcon:
- iconType = kOpenFolderIcon;
- break;
- case SP_DirClosedIcon:
- case SP_DirLinkIcon:
- iconType = kGenericFolderIcon;
- break;
- case SP_FileLinkIcon:
- case SP_FileIcon:
- iconType = kGenericDocumentIcon;
- break;
- case SP_DirIcon: {
- // A rather special case
- QIcon closeIcon = QStyle::standardIcon(SP_DirClosedIcon, option, widget);
- QIcon openIcon = QStyle::standardIcon(SP_DirOpenIcon, option, widget);
- closeIcon.addPixmap(openIcon.pixmap(16, 16), QIcon::Normal, QIcon::On);
- closeIcon.addPixmap(openIcon.pixmap(32, 32), QIcon::Normal, QIcon::On);
- closeIcon.addPixmap(openIcon.pixmap(64, 64), QIcon::Normal, QIcon::On);
- closeIcon.addPixmap(openIcon.pixmap(128, 128), QIcon::Normal, QIcon::On);
- return closeIcon;
- }
- case SP_TitleBarNormalButton:
- case SP_TitleBarCloseButton: {
- QIcon titleBarIcon;
- if (standardIcon == SP_TitleBarCloseButton) {
- titleBarIcon.addFile(QLatin1String(":/trolltech/styles/macstyle/images/closedock-16.png"));
- titleBarIcon.addFile(QLatin1String(":/trolltech/styles/macstyle/images/closedock-down-16.png"), QSize(16, 16), QIcon::Normal, QIcon::On);
- } else {
- titleBarIcon.addFile(QLatin1String(":/trolltech/styles/macstyle/images/dockdock-16.png"));
- titleBarIcon.addFile(QLatin1String(":/trolltech/styles/macstyle/images/dockdock-down-16.png"), QSize(16, 16), QIcon::Normal, QIcon::On);
+ if (QApplication::desktopSettingsAware()) {
+ OSType iconType = 0;
+ switch (standardIcon) {
+ case QStyle::SP_MessageBoxQuestion:
+ case QStyle::SP_MessageBoxInformation:
+ case QStyle::SP_MessageBoxWarning:
+ case QStyle::SP_MessageBoxCritical:
+ iconType = kGenericApplicationIcon;
+ break;
+ case SP_DesktopIcon:
+ iconType = kDesktopIcon;
+ break;
+ case SP_TrashIcon:
+ iconType = kTrashIcon;
+ break;
+ case SP_ComputerIcon:
+ iconType = kComputerIcon;
+ break;
+ case SP_DriveFDIcon:
+ iconType = kGenericFloppyIcon;
+ break;
+ case SP_DriveHDIcon:
+ iconType = kGenericHardDiskIcon;
+ break;
+ case SP_DriveCDIcon:
+ case SP_DriveDVDIcon:
+ iconType = kGenericCDROMIcon;
+ break;
+ case SP_DriveNetIcon:
+ iconType = kGenericNetworkIcon;
+ break;
+ case SP_DirOpenIcon:
+ iconType = kOpenFolderIcon;
+ break;
+ case SP_DirClosedIcon:
+ case SP_DirLinkIcon:
+ iconType = kGenericFolderIcon;
+ break;
+ case SP_FileLinkIcon:
+ case SP_FileIcon:
+ iconType = kGenericDocumentIcon;
+ break;
+ case SP_DirIcon: {
+ // A rather special case
+ QIcon closeIcon = QStyle::standardIcon(SP_DirClosedIcon, option, widget);
+ QIcon openIcon = QStyle::standardIcon(SP_DirOpenIcon, option, widget);
+ closeIcon.addPixmap(openIcon.pixmap(16, 16), QIcon::Normal, QIcon::On);
+ closeIcon.addPixmap(openIcon.pixmap(32, 32), QIcon::Normal, QIcon::On);
+ closeIcon.addPixmap(openIcon.pixmap(64, 64), QIcon::Normal, QIcon::On);
+ closeIcon.addPixmap(openIcon.pixmap(128, 128), QIcon::Normal, QIcon::On);
+ return closeIcon;
+ }
+ case SP_TitleBarNormalButton:
+ case SP_TitleBarCloseButton: {
+ QIcon titleBarIcon;
+ if (standardIcon == SP_TitleBarCloseButton) {
+ titleBarIcon.addFile(QLatin1String(":/trolltech/styles/macstyle/images/closedock-16.png"));
+ titleBarIcon.addFile(QLatin1String(":/trolltech/styles/macstyle/images/closedock-down-16.png"), QSize(16, 16), QIcon::Normal, QIcon::On);
+ } else {
+ titleBarIcon.addFile(QLatin1String(":/trolltech/styles/macstyle/images/dockdock-16.png"));
+ titleBarIcon.addFile(QLatin1String(":/trolltech/styles/macstyle/images/dockdock-down-16.png"), QSize(16, 16), QIcon::Normal, QIcon::On);
+ }
+ return titleBarIcon;
}
- return titleBarIcon;
- }
- default:
- break;
- }
- if (iconType != 0) {
- QIcon retIcon;
- IconRef icon;
- IconRef overlayIcon = 0;
- if (iconType != kGenericApplicationIcon) {
- GetIconRef(kOnSystemDisk, kSystemIconsCreator, iconType, &icon);
- } else {
- FSRef fsRef;
- ProcessSerialNumber psn = { 0, kCurrentProcess };
- GetProcessBundleLocation(&psn, &fsRef);
- GetIconRefFromFileInfo(&fsRef, 0, 0, 0, 0, kIconServicesNormalUsageFlag, &icon, 0);
- if (standardIcon == SP_MessageBoxCritical) {
- overlayIcon = icon;
- GetIconRef(kOnSystemDisk, kSystemIconsCreator, kAlertCautionIcon, &icon);
- }
- }
- if (icon) {
- qt_mac_constructQIconFromIconRef(icon, overlayIcon, &retIcon, standardIcon);
- ReleaseIconRef(icon);
- }
- if (overlayIcon)
- ReleaseIconRef(overlayIcon);
- return retIcon;
- }
+ default:
+ break;
+ }
+ if (iconType != 0) {
+ QIcon retIcon;
+ IconRef icon;
+ IconRef overlayIcon = 0;
+ if (iconType != kGenericApplicationIcon) {
+ GetIconRef(kOnSystemDisk, kSystemIconsCreator, iconType, &icon);
+ } else {
+ FSRef fsRef;
+ ProcessSerialNumber psn = { 0, kCurrentProcess };
+ GetProcessBundleLocation(&psn, &fsRef);
+ GetIconRefFromFileInfo(&fsRef, 0, 0, 0, 0, kIconServicesNormalUsageFlag, &icon, 0);
+ if (standardIcon == SP_MessageBoxCritical) {
+ overlayIcon = icon;
+ GetIconRef(kOnSystemDisk, kSystemIconsCreator, kAlertCautionIcon, &icon);
+ }
+ }
+ if (icon) {
+ qt_mac_constructQIconFromIconRef(icon, overlayIcon, &retIcon, standardIcon);
+ ReleaseIconRef(icon);
+ }
+ if (overlayIcon)
+ ReleaseIconRef(overlayIcon);
+ return retIcon;
+ }
+ } // if (QApplication::desktopSettingsAware())
#endif // Q_WS_MAC
- }
switch (standardIcon) {
#ifndef QT_NO_IMAGEFORMAT_PNG
diff --git a/src/gui/styles/qcommonstyle_p.h b/src/gui/styles/qcommonstyle_p.h
index a905601..6122f81 100644
--- a/src/gui/styles/qcommonstyle_p.h
+++ b/src/gui/styles/qcommonstyle_p.h
@@ -62,25 +62,6 @@ QT_BEGIN_NAMESPACE
class QStringList;
-#ifdef Q_WS_X11
-class QIconTheme
-{
-public:
- QIconTheme(QHash <int, QString> dirList, QStringList parents) :
- _dirList(dirList), _parents(parents), _valid(true){ }
- QIconTheme() : _valid(false){ }
-
- QHash <int, QString> dirList() {return _dirList;}
- QStringList parents() {return _parents;}
- bool isValid() {return _valid;}
-
-private:
- QHash <int, QString> _dirList;
- QStringList _parents;
- bool _valid;
-};
-#endif
-
// Private class
class QCommonStylePrivate : public QStylePrivate
{
diff --git a/src/gui/styles/qgtkpainter.cpp b/src/gui/styles/qgtkpainter.cpp
index 05c5804..aaa029a 100644
--- a/src/gui/styles/qgtkpainter.cpp
+++ b/src/gui/styles/qgtkpainter.cpp
@@ -108,41 +108,41 @@ QPixmap QGtkPainter::renderTheme(uchar *bdata, uchar *wdata, const QRect &rect)
return; \
QRect pixmapRect(0, 0, rect.width(), rect.height()); \
{ \
- GdkPixmap *pixmap = QGtk::gdk_pixmap_new((GdkDrawable*)(m_window->window), \
+ GdkPixmap *pixmap = QGtkStylePrivate::gdk_pixmap_new((GdkDrawable*)(m_window->window), \
rect.width(), rect.height(), -1); \
if (!pixmap) \
return; \
- style = QGtk::gtk_style_attach (style, m_window->window); \
- QGtk::gdk_draw_rectangle(pixmap, m_alpha ? style->black_gc : *style->bg_gc, true, \
+ style = QGtkStylePrivate::gtk_style_attach (style, m_window->window); \
+ QGtkStylePrivate::gdk_draw_rectangle(pixmap, m_alpha ? style->black_gc : *style->bg_gc, true, \
0, 0, rect.width(), rect.height()); \
draw_func; \
- GdkPixbuf *imgb = QGtk::gdk_pixbuf_new(GDK_COLORSPACE_RGB, true, 8, rect.width(), rect.height());\
+ GdkPixbuf *imgb = QGtkStylePrivate::gdk_pixbuf_new(GDK_COLORSPACE_RGB, true, 8, rect.width(), rect.height());\
if (!imgb) \
return; \
- imgb = QGtk::gdk_pixbuf_get_from_drawable(imgb, pixmap, NULL, 0, 0, 0, 0, \
+ imgb = QGtkStylePrivate::gdk_pixbuf_get_from_drawable(imgb, pixmap, NULL, 0, 0, 0, 0, \
rect.width(), rect.height()); \
- uchar* bdata = (uchar*)QGtk::gdk_pixbuf_get_pixels(imgb); \
+ uchar* bdata = (uchar*)QGtkStylePrivate::gdk_pixbuf_get_pixels(imgb); \
if (m_alpha) { \
- QGtk::gdk_draw_rectangle(pixmap, style->white_gc, true, 0, 0, rect.width(), rect.height()); \
+ QGtkStylePrivate::gdk_draw_rectangle(pixmap, style->white_gc, true, 0, 0, rect.width(), rect.height()); \
draw_func; \
- GdkPixbuf *imgw = QGtk::gdk_pixbuf_new(GDK_COLORSPACE_RGB, true, 8, rect. \
+ GdkPixbuf *imgw = QGtkStylePrivate::gdk_pixbuf_new(GDK_COLORSPACE_RGB, true, 8, rect. \
width(), rect.height()); \
if (!imgw) \
return; \
- imgw = QGtk::gdk_pixbuf_get_from_drawable(imgw, pixmap, NULL, 0, 0, 0, 0, \
+ imgw = QGtkStylePrivate::gdk_pixbuf_get_from_drawable(imgw, pixmap, NULL, 0, 0, 0, 0, \
rect.width(), rect.height()); \
- uchar* wdata = (uchar*)QGtk::gdk_pixbuf_get_pixels(imgw); \
+ uchar* wdata = (uchar*)QGtkStylePrivate::gdk_pixbuf_get_pixels(imgw); \
cache = renderTheme(bdata, wdata, rect); \
- QGtk::gdk_pixbuf_unref(imgw); \
+ QGtkStylePrivate::gdk_pixbuf_unref(imgw); \
} else { \
cache = renderTheme(bdata, 0, rect); \
} \
- QGtk::gdk_drawable_unref(pixmap); \
- QGtk::gdk_pixbuf_unref(imgb); \
+ QGtkStylePrivate::gdk_drawable_unref(pixmap); \
+ QGtkStylePrivate::gdk_pixbuf_unref(imgb); \
}
QGtkPainter::QGtkPainter(QPainter *_painter)
- : m_window(QGtk::gtkWidget(QLatin1String("GtkWindow")))
+ : m_window(QGtkStylePrivate::gtkWidget(QLatin1String("GtkWindow")))
, m_painter(_painter)
, m_alpha(true)
, m_hflipped(false)
@@ -185,18 +185,18 @@ GtkStyle* QGtkPainter::getStyle(GtkWidget *gtkWidget)
QPixmap QGtkPainter::getIcon(const char* iconName, GtkIconSize size)
{
- GtkStyle *style = QGtk::gtkStyle();
- GtkIconSet* iconSet = QGtk::gtk_icon_factory_lookup_default (iconName);
- GdkPixbuf* icon = QGtk::gtk_icon_set_render_icon(iconSet,
+ GtkStyle *style = QGtkStylePrivate::gtkStyle();
+ GtkIconSet* iconSet = QGtkStylePrivate::gtk_icon_factory_lookup_default (iconName);
+ GdkPixbuf* icon = QGtkStylePrivate::gtk_icon_set_render_icon(iconSet,
style,
GTK_TEXT_DIR_LTR,
GTK_STATE_NORMAL,
size,
NULL,
"button");
- uchar* data = (uchar*)QGtk::gdk_pixbuf_get_pixels(icon);
- int width = QGtk::gdk_pixbuf_get_width(icon);
- int height = QGtk::gdk_pixbuf_get_height(icon);
+ uchar* data = (uchar*)QGtkStylePrivate::gdk_pixbuf_get_pixels(icon);
+ int width = QGtkStylePrivate::gdk_pixbuf_get_width(icon);
+ int height = QGtkStylePrivate::gdk_pixbuf_get_height(icon);
QImage converted(width, height, QImage::Format_ARGB32);
uchar* tdata = (uchar*)converted.bits();
@@ -208,7 +208,7 @@ QPixmap QGtkPainter::getIcon(const char* iconName, GtkIconSize size)
tdata[index + QT_ALPHA] = data[index + GTK_ALPHA];
}
- QGtk::gdk_pixbuf_unref(icon);
+ QGtkStylePrivate::gdk_pixbuf_unref(icon);
// should we free iconset?
return QPixmap::fromImage(converted);
@@ -240,7 +240,7 @@ void QGtkPainter::paintBoxGap(GtkWidget *gtkWidget, const gchar* part,
QString pixmapName = uniqueName(QLS(part), state, shadow, rect.size(), gtkWidget) + gapExtras;
if (!m_usePixmapCache || !QPixmapCache::find(pixmapName, cache)) {
- DRAW_TO_CACHE(QGtk::gtk_paint_box_gap (style,
+ DRAW_TO_CACHE(QGtkStylePrivate::gtk_paint_box_gap (style,
pixmap,
state,
shadow,
@@ -305,7 +305,7 @@ void QGtkPainter::paintBox(GtkWidget *gtkWidget, const gchar* part,
rect.size(), gtkWidget) + pmKey;
if (!m_usePixmapCache || !QPixmapCache::find(pixmapName, cache)) {
- DRAW_TO_CACHE(QGtk::gtk_paint_box (style,
+ DRAW_TO_CACHE(QGtkStylePrivate::gtk_paint_box (style,
pixmap,
state,
shadow,
@@ -356,7 +356,7 @@ void QGtkPainter::paintHline(GtkWidget *gtkWidget, const gchar* part,
QString pixmapName = uniqueName(QLS(part), state, GTK_SHADOW_NONE, rect.size(), gtkWidget)
+ hLineExtras + pmKey;
if (!m_usePixmapCache || !QPixmapCache::find(pixmapName, cache)) {
- DRAW_TO_CACHE(QGtk::gtk_paint_hline (style,
+ DRAW_TO_CACHE(QGtkStylePrivate::gtk_paint_hline (style,
pixmap,
state,
NULL,
@@ -383,7 +383,7 @@ void QGtkPainter::paintVline(GtkWidget *gtkWidget, const gchar* part,
QString pixmapName = uniqueName(QLS(part), state, GTK_SHADOW_NONE, rect.size(),
gtkWidget) + vLineExtras +pmKey;
if (!m_usePixmapCache || !QPixmapCache::find(pixmapName, cache)) {
- DRAW_TO_CACHE(QGtk::gtk_paint_vline (style,
+ DRAW_TO_CACHE(QGtkStylePrivate::gtk_paint_vline (style,
pixmap,
state,
NULL,
@@ -410,7 +410,7 @@ void QGtkPainter::paintExpander(GtkWidget *gtkWidget,
QString pixmapName = uniqueName(QLS(part), state, GTK_SHADOW_NONE, rect.size(),
gtkWidget) + QString::number(expander_state) + pmKey;
if (!m_usePixmapCache || !QPixmapCache::find(pixmapName, cache)) {
- DRAW_TO_CACHE(QGtk::gtk_paint_expander (style, pixmap,
+ DRAW_TO_CACHE(QGtkStylePrivate::gtk_paint_expander (style, pixmap,
state, NULL,
gtkWidget, part,
rect.width()/2,
@@ -433,7 +433,7 @@ void QGtkPainter::paintFocus(GtkWidget *gtkWidget, const gchar* part,
QPixmap cache;
QString pixmapName = uniqueName(QLS(part), state, GTK_SHADOW_NONE, rect.size(), gtkWidget) + pmKey;
if (!m_usePixmapCache || !QPixmapCache::find(pixmapName, cache)) {
- DRAW_TO_CACHE(QGtk::gtk_paint_focus (style, pixmap, state, NULL,
+ DRAW_TO_CACHE(QGtkStylePrivate::gtk_paint_focus (style, pixmap, state, NULL,
gtkWidget,
part,
0, 0,
@@ -458,7 +458,7 @@ void QGtkPainter::paintResizeGrip(GtkWidget *gtkWidget, const gchar* part,
QPixmap cache;
QString pixmapName = uniqueName(QLS(part), state, shadow, rect.size(), gtkWidget) + pmKey;
if (!m_usePixmapCache || !QPixmapCache::find(pixmapName, cache)) {
- DRAW_TO_CACHE(QGtk::gtk_paint_resize_grip (style, pixmap, state,
+ DRAW_TO_CACHE(QGtkStylePrivate::gtk_paint_resize_grip (style, pixmap, state,
NULL, gtkWidget,
part, edge, 0, 0,
rect.width(),
@@ -488,7 +488,7 @@ void QGtkPainter::paintArrow(GtkWidget *gtkWidget, const gchar* part,
int xOffset = m_cliprect.isValid() ? arrowrect.x() - m_cliprect.x() : 0;
int yOffset = m_cliprect.isValid() ? arrowrect.y() - m_cliprect.y() : 0;
if (!m_usePixmapCache || !QPixmapCache::find(pixmapName, cache)) {
- DRAW_TO_CACHE(QGtk::gtk_paint_arrow (style, pixmap, state, shadow,
+ DRAW_TO_CACHE(QGtkStylePrivate::gtk_paint_arrow (style, pixmap, state, shadow,
&gtkCliprect,
gtkWidget,
part,
@@ -515,7 +515,7 @@ void QGtkPainter::paintHandle(GtkWidget *gtkWidget, const gchar* part, const QRe
QString pixmapName = uniqueName(QLS(part), state, shadow, rect.size())
+ QString::number(orientation);
if (!m_usePixmapCache || !QPixmapCache::find(pixmapName, cache)) {
- DRAW_TO_CACHE(QGtk::gtk_paint_handle (style,
+ DRAW_TO_CACHE(QGtkStylePrivate::gtk_paint_handle (style,
pixmap,
state,
shadow,
@@ -543,7 +543,7 @@ void QGtkPainter::paintSlider(GtkWidget *gtkWidget, const gchar* part, const QRe
QPixmap cache;
QString pixmapName = uniqueName(QLS(part), state, shadow, rect.size(), gtkWidget) + pmKey;
if (!m_usePixmapCache || !QPixmapCache::find(pixmapName, cache)) {
- DRAW_TO_CACHE(QGtk::gtk_paint_slider (style,
+ DRAW_TO_CACHE(QGtkStylePrivate::gtk_paint_slider (style,
pixmap,
state,
shadow,
@@ -574,7 +574,7 @@ void QGtkPainter::paintShadow(GtkWidget *gtkWidget, const gchar* part,
QPixmap cache;
QString pixmapName = uniqueName(QLS(part), state, shadow, rect.size()) + pmKey;
if (!m_usePixmapCache || !QPixmapCache::find(pixmapName, cache)) {
- DRAW_TO_CACHE(QGtk::gtk_paint_shadow(style, pixmap, state, shadow, NULL,
+ DRAW_TO_CACHE(QGtkStylePrivate::gtk_paint_shadow(style, pixmap, state, shadow, NULL,
gtkWidget, part, 0, 0, rect.width(), rect.height()));
if (m_usePixmapCache)
QPixmapCache::insert(pixmapName, cache);
@@ -593,7 +593,7 @@ void QGtkPainter::paintFlatBox(GtkWidget *gtkWidget, const gchar* part,
QPixmap cache;
QString pixmapName = uniqueName(QLS(part), state, shadow, rect.size()) + pmKey;
if (!m_usePixmapCache || !QPixmapCache::find(pixmapName, cache)) {
- DRAW_TO_CACHE(QGtk::gtk_paint_flat_box (style,
+ DRAW_TO_CACHE(QGtkStylePrivate::gtk_paint_flat_box (style,
pixmap,
state,
shadow,
@@ -622,7 +622,7 @@ void QGtkPainter::paintExtention(GtkWidget *gtkWidget,
pixmapName += QString::number(gap_pos);
if (!m_usePixmapCache || !QPixmapCache::find(pixmapName, cache)) {
- DRAW_TO_CACHE(QGtk::gtk_paint_extension (style, pixmap, state, shadow,
+ DRAW_TO_CACHE(QGtkStylePrivate::gtk_paint_extension (style, pixmap, state, shadow,
NULL, gtkWidget,
(gchar*)part, 0, 0,
rect.width(),
@@ -651,7 +651,7 @@ void QGtkPainter::paintOption(GtkWidget *gtkWidget, const QRect &radiorect,
int xOffset = m_cliprect.isValid() ? radiorect.x() - m_cliprect.x() : 0;
int yOffset = m_cliprect.isValid() ? radiorect.y() - m_cliprect.y() : 0;
if (!m_usePixmapCache || !QPixmapCache::find(pixmapName, cache)) {
- DRAW_TO_CACHE(QGtk::gtk_paint_option(style, pixmap,
+ DRAW_TO_CACHE(QGtkStylePrivate::gtk_paint_option(style, pixmap,
state, shadow,
&gtkCliprect,
gtkWidget,
@@ -683,7 +683,7 @@ void QGtkPainter::paintCheckbox(GtkWidget *gtkWidget, const QRect &checkrect,
int xOffset = m_cliprect.isValid() ? checkrect.x() - m_cliprect.x() : 0;
int yOffset = m_cliprect.isValid() ? checkrect.y() - m_cliprect.y() : 0;
if (!m_usePixmapCache || !QPixmapCache::find(pixmapName, cache)) {
- DRAW_TO_CACHE(QGtk::gtk_paint_check (style,
+ DRAW_TO_CACHE(QGtkStylePrivate::gtk_paint_check (style,
pixmap,
state,
shadow,
diff --git a/src/gui/styles/qgtkpainter_p.h b/src/gui/styles/qgtkpainter_p.h
index 0e8ffe2..cbc96c0 100644
--- a/src/gui/styles/qgtkpainter_p.h
+++ b/src/gui/styles/qgtkpainter_p.h
@@ -56,11 +56,11 @@
#include <QtCore/qglobal.h>
#if !defined(QT_NO_STYLE_GTK)
-#include "gtksymbols_p.h"
#include <QtGui/QCleanlooksStyle>
#include <QtGui/QPainter>
#include <QtGui/QPalette>
#include <QtGui/QFont>
+#include <private/qgtkstyle_p.h>
QT_BEGIN_NAMESPACE
diff --git a/src/gui/styles/qgtkstyle.cpp b/src/gui/styles/qgtkstyle.cpp
index 414580e..1c78a47 100644
--- a/src/gui/styles/qgtkstyle.cpp
+++ b/src/gui/styles/qgtkstyle.cpp
@@ -69,28 +69,14 @@
#include <QtGui/QTreeView>
#include <qpixmapcache.h>
#undef signals // Collides with GTK stymbols
-#include "qgtkpainter_p.h"
-#include "qstylehelper_p.h"
-
+#include <private/qgtkpainter_p.h>
+#include <private/qstylehelper_p.h>
+#include <private/qgtkstyle_p.h>
#include <private/qcleanlooksstyle_p.h>
QT_BEGIN_NAMESPACE
-typedef QStringList (*_qt_filedialog_open_filenames_hook)(QWidget * parent, const QString &caption, const QString &dir,
- const QString &filter, QString *selectedFilter, QFileDialog::Options options);
-typedef QString (*_qt_filedialog_open_filename_hook) (QWidget * parent, const QString &caption, const QString &dir,
- const QString &filter, QString *selectedFilter, QFileDialog::Options options);
-typedef QString (*_qt_filedialog_save_filename_hook) (QWidget * parent, const QString &caption, const QString &dir,
- const QString &filter, QString *selectedFilter, QFileDialog::Options options);
-typedef QString (*_qt_filedialog_existing_directory_hook)(QWidget *parent, const QString &caption, const QString &dir,
- QFileDialog::Options options);
-
-extern Q_GUI_EXPORT _qt_filedialog_open_filename_hook qt_filedialog_open_filename_hook;
-extern Q_GUI_EXPORT _qt_filedialog_open_filenames_hook qt_filedialog_open_filenames_hook;
-extern Q_GUI_EXPORT _qt_filedialog_save_filename_hook qt_filedialog_save_filename_hook;
-extern Q_GUI_EXPORT _qt_filedialog_existing_directory_hook qt_filedialog_existing_directory_hook;
-
static const char * const dock_widget_close_xpm[] =
{
"11 13 5 1",
@@ -137,57 +123,18 @@ static const char * const dock_widget_restore_xpm[] =
" "
};
-
-class QGtkStyleFilter : public QObject
-{
-public:
- QGtkStyleFilter() {}
-private:
- bool eventFilter(QObject *obj, QEvent *e);
-};
-
-bool QGtkStyleFilter::eventFilter(QObject *obj, QEvent *e)
-{
- if (e->type() == QEvent::ApplicationPaletteChange) {
- // Only do this the first time since this will also
- // generate applicationPaletteChange events
- if (!qt_app_palettes_hash() || qt_app_palettes_hash()->isEmpty()) {
- QGtk::applyCustomPaletteHash();
- }
- }
- return QObject::eventFilter(obj, e);
-}
-
-class QGtkStylePrivate : public QCleanlooksStylePrivate
-{
- Q_DECLARE_PUBLIC(QGtkStyle)
-public:
- QGtkStylePrivate()
- : QCleanlooksStylePrivate()
- {
- QGtk::initGtkWidgets();
- if (QGtk::isThemeAvailable())
- qApp->installEventFilter(&filter);
-
- }
- QGtkStyleFilter filter;
-};
-
static const int groupBoxBottomMargin = 2; // space below the groupbox
static const int groupBoxTitleMargin = 6; // space between contents and title
static const int groupBoxTopMargin = 2;
-// Get size of the arrow controls in a GtkSpinButton
-static int spinboxArrowSize()
+QString QGtkStyle::getGConfString(const QString &value, const QString &fallback)
{
- const int MIN_ARROW_WIDTH = 6;
- GtkWidget *spinButton = QGtk::gtkWidget(QLS("GtkSpinButton"));
- GtkStyle *style = spinButton->style;
- gint size = QGtk::pango_font_description_get_size (style->font_desc);
- gint arrow_size;
- arrow_size = qMax(PANGO_PIXELS (size), MIN_ARROW_WIDTH) + style->xthickness;
- arrow_size += arrow_size%2 + 1;
- return arrow_size;
+ return QGtkStylePrivate::getGConfString(value, fallback);
+}
+
+bool QGtkStyle::getGConfBool(const QString &key, bool fallback)
+{
+ return QGtkStylePrivate::getGConfBool(key, fallback);
}
static QColor mergedColors(const QColor &colorA, const QColor &colorB, int factor = 50)
@@ -233,8 +180,23 @@ static GdkColor fromQColor(const QColor &color)
QGtkStyle::QGtkStyle()
: QCleanlooksStyle(*new QGtkStylePrivate)
{
+ Q_D(QGtkStyle);
+ d->init();
+}
+
+/*!
+ \internal
+
+ Constructs a QGtkStyle object.
+*/
+QGtkStyle::QGtkStyle(QGtkStylePrivate &dd)
+ : QCleanlooksStyle(dd)
+{
+ Q_D(QGtkStyle);
+ d->init();
}
+
/*!
Destroys the QGtkStyle object.
*/
@@ -247,11 +209,13 @@ QGtkStyle::~QGtkStyle()
*/
QPalette QGtkStyle::standardPalette() const
{
+ Q_D(const QGtkStyle);
+
QPalette palette = QCleanlooksStyle::standardPalette();
- if (QGtk::isThemeAvailable()) {
- GtkStyle *style = QGtk::gtkStyle();
- GtkWidget *gtkButton = QGtk::gtkWidget(QLS("GtkButton"));
- GtkWidget *gtkEntry = QGtk::gtkWidget(QLS("GtkEntry"));
+ if (d->isThemeAvailable()) {
+ GtkStyle *style = d->gtkStyle();
+ GtkWidget *gtkButton = d->gtkWidget(QLS("GtkButton"));
+ GtkWidget *gtkEntry = d->getTextColorWidget();
GdkColor gdkBg, gdkBase, gdkText, gdkForeground, gdkSbg, gdkSfg;
QColor bg, base, text, fg, highlight, highlightText;
@@ -281,12 +245,12 @@ QPalette QGtkStyle::standardPalette() const
palette.setColor(QPalette::Base, base);
QColor alternateRowColor = palette.base().color().lighter(93); // ref gtkstyle.c draw_flat_box
- GtkWidget *gtkTreeView = QGtk::gtkWidget(QLS("GtkTreeView"));
+ GtkWidget *gtkTreeView = d->gtkWidget(QLS("GtkTreeView"));
GdkColor *gtkAltBase = NULL;
- QGtk::gtk_widget_style_get(gtkTreeView, "odd-row-color", &gtkAltBase, NULL);
+ d->gtk_widget_style_get(gtkTreeView, "odd-row-color", &gtkAltBase, NULL);
if (gtkAltBase) {
alternateRowColor = QColor(gtkAltBase->red>>8, gtkAltBase->green>>8, gtkAltBase->blue>>8);
- QGtk::gdk_color_free(gtkAltBase);
+ d->gdk_color_free(gtkAltBase);
}
palette.setColor(QPalette::AlternateBase, alternateRowColor);
@@ -306,7 +270,8 @@ QPalette QGtkStyle::standardPalette() const
highlightText.setHsv(highlightText.hue(), 0, highlightText.value(), highlightText.alpha());
palette.setColor(QPalette::Disabled, QPalette::Highlight, highlight);
palette.setColor(QPalette::Disabled, QPalette::HighlightedText, highlightText);
- style = QGtk::gtk_rc_get_style_by_paths(QGtk::gtk_settings_get_default(), "gtk-tooltips", "GtkWindow", Q_GTK_TYPE_WINDOW);
+ style = d->gtk_rc_get_style_by_paths(d->gtk_settings_get_default(), "gtk-tooltips", "GtkWindow",
+ d->gtk_window_get_type());
if (style) {
gdkText = style->fg[GTK_STATE_NORMAL];
text = QColor(gdkText.red>>8, gdkText.green>>8, gdkText.blue>>8);
@@ -321,10 +286,12 @@ QPalette QGtkStyle::standardPalette() const
*/
void QGtkStyle::polish(QPalette &palette)
{
+ Q_D(QGtkStyle);
+
// QCleanlooksStyle will alter the palette, hence we do
// not want to polish the palette unless we are using it as
// the fallback
- if (!QGtk::isThemeAvailable())
+ if (!d->isThemeAvailable())
QCleanlooksStyle::polish(palette);
else
palette = palette.resolve(standardPalette());
@@ -335,19 +302,21 @@ void QGtkStyle::polish(QPalette &palette)
*/
void QGtkStyle::polish(QApplication *app)
{
+ Q_D(QGtkStyle);
+
QCleanlooksStyle::polish(app);
// Custom fonts and palettes with QtConfig are intentionally
// not supported as these should be entirely determined by
// current Gtk settings
- if (app->desktopSettingsAware() && QGtk::isThemeAvailable()) {
+ if (app->desktopSettingsAware() && d->isThemeAvailable()) {
QApplicationPrivate::setSystemPalette(standardPalette());
- QApplicationPrivate::setSystemFont(QGtk::getThemeFont());
- QGtk::applyCustomPaletteHash();
- if (!QGtk::isKDE4Session()) {
- qt_filedialog_open_filename_hook = &QGtk::openFilename;
- qt_filedialog_save_filename_hook = &QGtk::saveFilename;
- qt_filedialog_open_filenames_hook = &QGtk::openFilenames;
- qt_filedialog_existing_directory_hook = &QGtk::openDirectory;
+ QApplicationPrivate::setSystemFont(d->getThemeFont());
+ d->applyCustomPaletteHash();
+ if (!d->isKDE4Session()) {
+ qt_filedialog_open_filename_hook = &QGtkStylePrivate::openFilename;
+ qt_filedialog_save_filename_hook = &QGtkStylePrivate::saveFilename;
+ qt_filedialog_open_filenames_hook = &QGtkStylePrivate::openFilenames;
+ qt_filedialog_existing_directory_hook = &QGtkStylePrivate::openDirectory;
}
}
}
@@ -357,11 +326,13 @@ void QGtkStyle::polish(QApplication *app)
*/
void QGtkStyle::unpolish(QApplication *app)
{
+ Q_D(QGtkStyle);
+
QCleanlooksStyle::unpolish(app);
QPixmapCache::clear();
- if (app->desktopSettingsAware() && QGtk::isThemeAvailable()
- && !QGtk::isKDE4Session()) {
+ if (app->desktopSettingsAware() && d->isThemeAvailable()
+ && !d->isKDE4Session()) {
qt_filedialog_open_filename_hook = 0;
qt_filedialog_save_filename_hook = 0;
qt_filedialog_open_filenames_hook = 0;
@@ -375,8 +346,10 @@ void QGtkStyle::unpolish(QApplication *app)
void QGtkStyle::polish(QWidget *widget)
{
+ Q_D(QGtkStyle);
+
QCleanlooksStyle::polish(widget);
- if (!QGtk::isThemeAvailable())
+ if (!d->isThemeAvailable())
return;
if (qobject_cast<QAbstractButton*>(widget)
|| qobject_cast<QToolButton*>(widget)
@@ -404,21 +377,22 @@ void QGtkStyle::unpolish(QWidget *widget)
\reimp
*/
int QGtkStyle::pixelMetric(PixelMetric metric,
-
const QStyleOption *option,
const QWidget *widget) const
{
- if (!QGtk::isThemeAvailable())
+ Q_D(const QGtkStyle);
+
+ if (!d->isThemeAvailable())
return QCleanlooksStyle::pixelMetric(metric, option, widget);
switch (metric) {
case PM_DefaultFrameWidth:
if (qobject_cast<const QFrame*>(widget)) {
if (GtkStyle *style =
- QGtk::gtk_rc_get_style_by_paths(QGtk::gtk_settings_get_default(),
+ d->gtk_rc_get_style_by_paths(d->gtk_settings_get_default(),
"*.GtkScrolledWindow",
"*.GtkScrolledWindow",
- Q_GTK_TYPE_WINDOW))
+ d->gtk_window_get_type()))
return qMax(style->xthickness, style->ythickness);
}
return 2;
@@ -439,16 +413,16 @@ int QGtkStyle::pixelMetric(PixelMetric metric,
return 0;
case PM_ButtonShiftHorizontal: {
- GtkWidget *gtkButton = QGtk::gtkWidget(QLS("GtkButton"));
+ GtkWidget *gtkButton = d->gtkWidget(QLS("GtkButton"));
guint horizontal_shift;
- QGtk::gtk_widget_style_get(gtkButton, "child-displacement-x", &horizontal_shift, NULL);
+ d->gtk_widget_style_get(gtkButton, "child-displacement-x", &horizontal_shift, NULL);
return horizontal_shift;
}
case PM_ButtonShiftVertical: {
- GtkWidget *gtkButton = QGtk::gtkWidget(QLS("GtkButton"));
+ GtkWidget *gtkButton = d->gtkWidget(QLS("GtkButton"));
guint vertical_shift;
- QGtk::gtk_widget_style_get(gtkButton, "child-displacement-y", &vertical_shift, NULL);
+ d->gtk_widget_style_get(gtkButton, "child-displacement-y", &vertical_shift, NULL);
return vertical_shift;
}
@@ -456,18 +430,18 @@ int QGtkStyle::pixelMetric(PixelMetric metric,
return 0;
case PM_MenuPanelWidth: {
- GtkWidget *gtkMenu = QGtk::gtkWidget(QLS("GtkMenu"));
+ GtkWidget *gtkMenu = d->gtkWidget(QLS("GtkMenu"));
guint horizontal_padding = 0;
// horizontal-padding is used by Maemo to get thicker borders
- if (!QGtk::gtk_check_version(2, 10, 0))
- QGtk::gtk_widget_style_get(gtkMenu, "horizontal-padding", &horizontal_padding, NULL);
+ if (!d->gtk_check_version(2, 10, 0))
+ d->gtk_widget_style_get(gtkMenu, "horizontal-padding", &horizontal_padding, NULL);
int padding = qMax<int>(gtkMenu->style->xthickness, horizontal_padding);
return padding;
}
case PM_ButtonIconSize: {
int retVal = 24;
- GtkSettings *settings = QGtk::gtk_settings_get_default();
+ GtkSettings *settings = d->gtk_settings_get_default();
gchararray icon_sizes;
g_object_get(settings, "gtk-icon-sizes", &icon_sizes, NULL);
QStringList values = QString(QLS(icon_sizes)).split(QLatin1Char(':'));
@@ -513,9 +487,9 @@ int QGtkStyle::pixelMetric(PixelMetric metric,
case PM_SliderThickness:
case PM_SliderControlThickness: {
- GtkWidget *gtkScale = QGtk::gtkWidget(QLS("GtkHScale"));
+ GtkWidget *gtkScale = d->gtkWidget(QLS("GtkHScale"));
gint val;
- QGtk::gtk_widget_style_get(gtkScale, "slider-width", &val, NULL);
+ d->gtk_widget_style_get(gtkScale, "slider-width", &val, NULL);
if (metric == PM_SliderControlThickness)
return val + 2*gtkScale->style->ythickness;
return val;
@@ -524,8 +498,8 @@ int QGtkStyle::pixelMetric(PixelMetric metric,
case PM_ScrollBarExtent: {
gint sliderLength;
gint trough_border;
- GtkWidget *hScrollbar = QGtk::gtkWidget(QLS("GtkHScrollbar"));
- QGtk::gtk_widget_style_get(hScrollbar,
+ GtkWidget *hScrollbar = d->gtkWidget(QLS("GtkHScrollbar"));
+ d->gtk_widget_style_get(hScrollbar,
"trough-border", &trough_border,
"slider-width", &sliderLength,
NULL);
@@ -537,35 +511,35 @@ int QGtkStyle::pixelMetric(PixelMetric metric,
case PM_SliderLength:
gint val;
- QGtk::gtk_widget_style_get(QGtk::gtkWidget(QLS("GtkHScale")), "slider-length", &val, NULL);
+ d->gtk_widget_style_get(d->gtkWidget(QLS("GtkHScale")), "slider-length", &val, NULL);
return val;
case PM_ExclusiveIndicatorWidth:
case PM_ExclusiveIndicatorHeight:
case PM_IndicatorWidth:
case PM_IndicatorHeight: {
- GtkWidget *gtkCheckButton = QGtk::gtkWidget(QLS("GtkCheckButton"));
+ GtkWidget *gtkCheckButton = d->gtkWidget(QLS("GtkCheckButton"));
gint size, spacing;
- QGtk::gtk_widget_style_get(gtkCheckButton, "indicator-spacing", &spacing, "indicator-size", &size, NULL);
+ d->gtk_widget_style_get(gtkCheckButton, "indicator-spacing", &spacing, "indicator-size", &size, NULL);
return size + 2 * spacing;
}
case PM_MenuBarVMargin: {
- GtkWidget *gtkMenubar = QGtk::gtkWidget(QLS("GtkMenuBar"));
+ GtkWidget *gtkMenubar = d->gtkWidget(QLS("GtkMenuBar"));
return qMax(0, gtkMenubar->style->ythickness);
}
case PM_ScrollView_ScrollBarSpacing:
{
gint spacing = 3;
- GtkWidget *gtkScrollWindow = QGtk::gtkWidget(QLS("GtkScrolledWindow"));
+ GtkWidget *gtkScrollWindow = d->gtkWidget(QLS("GtkScrolledWindow"));
Q_ASSERT(gtkScrollWindow);
- QGtk::gtk_widget_style_get(gtkScrollWindow, "scrollbar-spacing", &spacing, NULL);
+ d->gtk_widget_style_get(gtkScrollWindow, "scrollbar-spacing", &spacing, NULL);
return spacing;
}
case PM_SubMenuOverlap: {
gint offset = 0;
- GtkWidget *gtkMenu = QGtk::gtkWidget(QLS("GtkMenu"));
- QGtk::gtk_widget_style_get(gtkMenu, "horizontal-offset", &offset, NULL);
+ GtkWidget *gtkMenu = d->gtkWidget(QLS("GtkMenu"));
+ d->gtk_widget_style_get(gtkMenu, "horizontal-offset", &offset, NULL);
return offset;
}
default:
@@ -580,7 +554,9 @@ int QGtkStyle::styleHint(StyleHint hint, const QStyleOption *option, const QWidg
QStyleHintReturn *returnData = 0) const
{
- if (!QGtk::isThemeAvailable())
+ Q_D(const QGtkStyle);
+
+ if (!d->isThemeAvailable())
return QCleanlooksStyle::styleHint(hint, option, widget, returnData);
switch (hint) {
@@ -588,7 +564,7 @@ int QGtkStyle::styleHint(StyleHint hint, const QStyleOption *option, const QWidg
case SH_DialogButtonLayout: {
int ret = QDialogButtonBox::GnomeLayout;
gboolean alternateOrder = 0;
- GtkSettings *settings = QGtk::gtk_settings_get_default();
+ GtkSettings *settings = d->gtk_settings_get_default();
g_object_get(settings, "gtk-alternative-button-order", &alternateOrder, NULL);
if (alternateOrder)
@@ -601,9 +577,9 @@ int QGtkStyle::styleHint(StyleHint hint, const QStyleOption *option, const QWidg
case SH_ToolButtonStyle:
{
- if (QGtk::isKDE4Session())
+ if (d->isKDE4Session())
return QCleanlooksStyle::styleHint(hint, option, widget, returnData);
- GtkWidget *gtkToolbar = QGtk::gtkWidget(QLS("GtkToolbar"));
+ GtkWidget *gtkToolbar = d->gtkWidget(QLS("GtkToolbar"));
GtkToolbarStyle toolbar_style = GTK_TOOLBAR_ICONS;
g_object_get(gtkToolbar, "toolbar-style", &toolbar_style, NULL);
switch (toolbar_style) {
@@ -626,9 +602,9 @@ int QGtkStyle::styleHint(StyleHint hint, const QStyleOption *option, const QWidg
return int(false);
case SH_ComboBox_Popup: {
- GtkWidget *gtkComboBox = QGtk::gtkWidget(QLS("GtkComboBox"));
+ GtkWidget *gtkComboBox = d->gtkWidget(QLS("GtkComboBox"));
gboolean appears_as_list;
- QGtk::gtk_widget_style_get((GtkWidget*)gtkComboBox, "appears-as-list", &appears_as_list, NULL);
+ d->gtk_widget_style_get((GtkWidget*)gtkComboBox, "appears-as-list", &appears_as_list, NULL);
return appears_as_list ? 0 : 1;
}
@@ -640,7 +616,7 @@ int QGtkStyle::styleHint(StyleHint hint, const QStyleOption *option, const QWidg
case SH_Menu_SubMenuPopupDelay: {
gint delay = 225;
- GtkSettings *settings = QGtk::gtk_settings_get_default();
+ GtkSettings *settings = d->gtk_settings_get_default();
g_object_get(settings, "gtk-menu-popup-delay", &delay, NULL);
return delay;
}
@@ -649,15 +625,15 @@ int QGtkStyle::styleHint(StyleHint hint, const QStyleOption *option, const QWidg
gboolean scrollbars_within_bevel = false;
if (widget && widget->isWindow())
scrollbars_within_bevel = true;
- else if (!QGtk::gtk_check_version(2, 12, 0)) {
- GtkWidget *gtkScrollWindow = QGtk::gtkWidget(QLS("GtkScrolledWindow"));
- QGtk::gtk_widget_style_get(gtkScrollWindow, "scrollbars-within-bevel", &scrollbars_within_bevel, NULL);
+ else if (!d->gtk_check_version(2, 12, 0)) {
+ GtkWidget *gtkScrollWindow = d->gtkWidget(QLS("GtkScrolledWindow"));
+ d->gtk_widget_style_get(gtkScrollWindow, "scrollbars-within-bevel", &scrollbars_within_bevel, NULL);
}
return !scrollbars_within_bevel;
}
case SH_DialogButtonBox_ButtonsHaveIcons: {
- static bool buttonsHaveIcons = QGtk::getGConfBool(QLS("/desktop/gnome/interface/buttons_have_icons"));
+ static bool buttonsHaveIcons = d->getGConfBool(QLS("/desktop/gnome/interface/buttons_have_icons"));
return buttonsHaveIcons;
}
@@ -670,17 +646,18 @@ int QGtkStyle::styleHint(StyleHint hint, const QStyleOption *option, const QWidg
\reimp
*/
void QGtkStyle::drawPrimitive(PrimitiveElement element,
-
const QStyleOption *option,
QPainter *painter,
const QWidget *widget) const
{
- if (!QGtk::isThemeAvailable()) {
+ Q_D(const QGtkStyle);
+
+ if (!d->isThemeAvailable()) {
QCleanlooksStyle::drawPrimitive(element, option, painter, widget);
return;
}
- GtkStyle* style = QGtk::gtkStyle();
+ GtkStyle* style = d->gtkStyle();
QGtkPainter gtkPainter(painter);
switch (element) {
@@ -715,10 +692,10 @@ void QGtkStyle::drawPrimitive(PrimitiveElement element,
else if (option->state & State_Raised)
shadow_type = GTK_SHADOW_OUT;
- GtkStyle *style = QGtk::gtk_rc_get_style_by_paths(QGtk::gtk_settings_get_default(),
- "*.GtkScrolledWindow", "*.GtkScrolledWindow", Q_GTK_TYPE_WINDOW);
+ GtkStyle *style = d->gtk_rc_get_style_by_paths(d->gtk_settings_get_default(),
+ "*.GtkScrolledWindow", "*.GtkScrolledWindow", d->gtk_window_get_type());
if (style)
- gtkFramePainter.paintShadow(QGtk::gtkWidget(QLS("GtkFrame")), "viewport", pmRect,
+ gtkFramePainter.paintShadow(d->gtkWidget(QLS("GtkFrame")), "viewport", pmRect,
option->state & State_Enabled ? GTK_STATE_NORMAL : GTK_STATE_INSENSITIVE,
shadow_type, style);
QPixmapCache::insert(pmKey, pixmap);
@@ -745,8 +722,9 @@ void QGtkStyle::drawPrimitive(PrimitiveElement element,
break;
case PE_PanelTipLabel: {
- GtkWidget *gtkWindow = QGtk::gtkWidget(QLS("GtkWindow")); // The Murrine Engine currently assumes a widget is passed
- style = QGtk::gtk_rc_get_style_by_paths(QGtk::gtk_settings_get_default(), "gtk-tooltips", "GtkWindow", Q_GTK_TYPE_WINDOW);
+ GtkWidget *gtkWindow = d->gtkWidget(QLS("GtkWindow")); // The Murrine Engine currently assumes a widget is passed
+ style = d->gtk_rc_get_style_by_paths(d->gtk_settings_get_default(), "gtk-tooltips", "GtkWindow",
+ d->gtk_window_get_type());
gtkPainter.paintFlatBox(gtkWindow, "tooltip", option->rect, GTK_STATE_NORMAL, GTK_SHADOW_NONE, style);
}
break;
@@ -759,8 +737,8 @@ void QGtkStyle::drawPrimitive(PrimitiveElement element,
break;
}
GtkShadowType shadow_type;
- GtkWidget *gtkStatusbarFrame = QGtk::gtkWidget(QLS("GtkStatusbar.GtkFrame"));
- QGtk::gtk_widget_style_get(gtkStatusbarFrame->parent, "shadow-type", &shadow_type, NULL);
+ GtkWidget *gtkStatusbarFrame = d->gtkWidget(QLS("GtkStatusbar.GtkFrame"));
+ d->gtk_widget_style_get(gtkStatusbarFrame->parent, "shadow-type", &shadow_type, NULL);
gtkPainter.paintShadow(gtkStatusbarFrame, "frame", option->rect, GTK_STATE_NORMAL,
shadow_type, gtkStatusbarFrame->style);
}
@@ -768,7 +746,7 @@ void QGtkStyle::drawPrimitive(PrimitiveElement element,
case PE_IndicatorHeaderArrow:
if (const QStyleOptionHeader *header = qstyleoption_cast<const QStyleOptionHeader *>(option)) {
- GtkWidget *gtkTreeHeader = QGtk::gtkWidget(QLS("GtkTreeView.GtkButton"));
+ GtkWidget *gtkTreeHeader = d->gtkWidget(QLS("GtkTreeView.GtkButton"));
GtkStateType state = gtkPainter.gtkState(option);
style = gtkTreeHeader->style;
GtkArrowType type = GTK_ARROW_UP;
@@ -806,7 +784,7 @@ void QGtkStyle::drawPrimitive(PrimitiveElement element,
rect.translate(2, 0);
GtkExpanderStyle openState = GTK_EXPANDER_EXPANDED;
GtkExpanderStyle closedState = GTK_EXPANDER_COLLAPSED;
- GtkWidget *gtkTreeView = QGtk::gtkWidget(QLS("GtkTreeView"));
+ GtkWidget *gtkTreeView = d->gtkWidget(QLS("GtkTreeView"));
GtkStateType state = GTK_STATE_NORMAL;
if (!(option->state & State_Enabled))
@@ -842,7 +820,7 @@ void QGtkStyle::drawPrimitive(PrimitiveElement element,
case PE_IndicatorToolBarSeparator:
{
const int margin = 6;
- GtkWidget *gtkSeparator = QGtk::gtkWidget(QLS("GtkToolbar.GtkSeparatorToolItem"));
+ GtkWidget *gtkSeparator = d->gtkWidget(QLS("GtkToolbar.GtkSeparatorToolItem"));
if (option->state & State_Horizontal) {
const int offset = option->rect.width()/2;
QRect rect = option->rect.adjusted(offset, margin, 0, -margin);
@@ -862,9 +840,9 @@ void QGtkStyle::drawPrimitive(PrimitiveElement element,
break;
case PE_IndicatorToolBarHandle: {
- GtkWidget *gtkToolbar = QGtk::gtkWidget(QLS("GtkToolbar"));
+ GtkWidget *gtkToolbar = d->gtkWidget(QLS("GtkToolbar"));
GtkShadowType shadow_type;
- QGtk::gtk_widget_style_get(gtkToolbar, "shadow-type", &shadow_type, NULL);
+ d->gtk_widget_style_get(gtkToolbar, "shadow-type", &shadow_type, NULL);
//Note when the toolbar is horizontal, the handle is vertical
painter->setClipRect(option->rect);
gtkPainter.paintHandle(gtkToolbar, "toolbar", option->rect.adjusted(-1, -1 ,0 ,1),
@@ -910,14 +888,14 @@ void QGtkStyle::drawPrimitive(PrimitiveElement element,
GtkStateType state = gtkPainter.gtkState(option);
QColor arrowColor = option->palette.buttonText().color();
- GtkWidget *gtkArrow = QGtk::gtkWidget(QLS("GtkArrow"));
+ GtkWidget *gtkArrow = d->gtkWidget(QLS("GtkArrow"));
GdkColor color = fromQColor(arrowColor);
- QGtk::gtk_widget_modify_fg (gtkArrow, state, &color);
+ d->gtk_widget_modify_fg (gtkArrow, state, &color);
gtkPainter.paintArrow(gtkArrow, "button", arrowRect,
type, state, shadow, FALSE, gtkArrow->style,
QString::number(arrowColor.rgba(), 16));
// Passing NULL will revert the color change
- QGtk::gtk_widget_modify_fg (gtkArrow, state, NULL);
+ d->gtk_widget_modify_fg (gtkArrow, state, NULL);
}
break;
@@ -926,7 +904,7 @@ void QGtkStyle::drawPrimitive(PrimitiveElement element,
break;
case PE_PanelMenu: {
- GtkWidget *gtkMenu = QGtk::gtkWidget(QLS("GtkMenu"));
+ GtkWidget *gtkMenu = d->gtkWidget(QLS("GtkMenu"));
gtkPainter.setAlphaSupport(false); // Note, alpha disabled for performance reasons
gtkPainter.paintBox(gtkMenu, "menu", option->rect, GTK_STATE_NORMAL, GTK_SHADOW_OUT, gtkMenu->style, QString());
}
@@ -938,7 +916,7 @@ void QGtkStyle::drawPrimitive(PrimitiveElement element,
// This is only used by floating tool bars
if (qobject_cast<const QToolBar *>(widget)) {
- GtkWidget *gtkMenubar = QGtk::gtkWidget(QLS("GtkMenuBar"));
+ GtkWidget *gtkMenubar = d->gtkWidget(QLS("GtkMenuBar"));
gtkPainter.paintBox( gtkMenubar, "toolbar", option->rect,
GTK_STATE_NORMAL, GTK_SHADOW_OUT, style);
gtkPainter.paintBox( gtkMenubar, "menu", option->rect,
@@ -947,13 +925,13 @@ void QGtkStyle::drawPrimitive(PrimitiveElement element,
break;
case PE_FrameLineEdit: {
- GtkWidget *gtkEntry = QGtk::gtkWidget(QLS("GtkEntry"));
+ GtkWidget *gtkEntry = d->gtkWidget(QLS("GtkEntry"));
gboolean interior_focus;
gint focus_line_width;
QRect rect = option->rect;
- QGtk::gtk_widget_style_get(gtkEntry,
+ d->gtk_widget_style_get(gtkEntry,
"interior-focus", &interior_focus,
"focus-line-width", &focus_line_width, NULL);
@@ -981,7 +959,7 @@ void QGtkStyle::drawPrimitive(PrimitiveElement element,
case PE_PanelLineEdit:
if (const QStyleOptionFrame *panel = qstyleoption_cast<const QStyleOptionFrame *>(option)) {
- GtkWidget *gtkEntry = QGtk::gtkWidget(QLS("GtkEntry"));
+ GtkWidget *gtkEntry = d->gtkWidget(QLS("GtkEntry"));
if (panel->lineWidth > 0)
proxy()->drawPrimitive(PE_FrameLineEdit, option, painter, widget);
uint resolve_mask = option->palette.resolve();
@@ -999,54 +977,58 @@ void QGtkStyle::drawPrimitive(PrimitiveElement element,
case PE_FrameTabWidget:
if (const QStyleOptionTabWidgetFrame *frame = qstyleoption_cast<const QStyleOptionTabWidgetFrame*>(option)) {
- GtkWidget *gtkNotebook = QGtk::gtkWidget(QLS("GtkNotebook"));
+ GtkWidget *gtkNotebook = d->gtkWidget(QLS("GtkNotebook"));
style = gtkPainter.getStyle(gtkNotebook);
gtkPainter.setAlphaSupport(false);
GtkShadowType shadow = GTK_SHADOW_OUT;
GtkStateType state = GTK_STATE_NORMAL; // Only state supported by gtknotebook
- if (const QTabWidget *tabwidget = qobject_cast<const QTabWidget*>(widget)) {
- // We should introduce QStyleOptionTabWidgetFrameV2 to obtain this information
- // No gap if we do not show the actual tabs
- QTabBar *tabBar = tabwidget->findChild<QTabBar*>();
- if (tabwidget->count() > 0 && tabBar->isVisible()) {
- QRect tabRect = tabBar->tabRect(tabBar->currentIndex());
- int begin = 0, size = 0;
- GtkPositionType frameType = GTK_POS_TOP;
- QTabBar::Shape shape = frame->shape;
- if (shape == QTabBar::RoundedNorth || shape == QTabBar::RoundedSouth) {
- begin = option->direction == Qt::LeftToRight ?
- frame->leftCornerWidgetSize.width() + tabRect.left() :
- frame->rect.width() - frame->tabBarSize.width() + tabRect.left()
- - frame->rightCornerWidgetSize.width();
- size = tabRect.width();
- frameType = (shape == QTabBar::RoundedNorth) ? GTK_POS_TOP : GTK_POS_BOTTOM;
- } else {
- begin = frame->leftCornerWidgetSize.height() + tabRect.top();
- size = tabRect.height();
- frameType = (shape == QTabBar::RoundedWest) ? GTK_POS_LEFT : GTK_POS_RIGHT;
- }
- gtkPainter.paintBoxGap(gtkNotebook, "notebook", option->rect, state, shadow, frameType,
- begin, size, style);
- break; // done
+ bool reverse = (option->direction == Qt::RightToLeft);
+ QGtkStylePrivate::gtk_widget_set_direction(gtkNotebook, reverse ? GTK_TEXT_DIR_RTL : GTK_TEXT_DIR_LTR);
+ if (const QStyleOptionTabWidgetFrameV2 *tabframe = qstyleoption_cast<const QStyleOptionTabWidgetFrameV2*>(option)) {
+ GtkPositionType frameType = GTK_POS_TOP;
+ QTabBar::Shape shape = frame->shape;
+ int gapStart = 0;
+ int gapSize = 0;
+ if (shape == QTabBar::RoundedNorth || shape == QTabBar::RoundedSouth) {
+ frameType = (shape == QTabBar::RoundedNorth) ? GTK_POS_TOP : GTK_POS_BOTTOM;
+ gapStart = tabframe->selectedTabRect.left();
+ gapSize = tabframe->selectedTabRect.width();
+ } else {
+ frameType = (shape == QTabBar::RoundedWest) ? GTK_POS_LEFT : GTK_POS_RIGHT;
+ gapStart = tabframe->selectedTabRect.y();
+ gapSize = tabframe->selectedTabRect.height();
}
+ gtkPainter.paintBoxGap(gtkNotebook, "notebook", option->rect, state, shadow, frameType,
+ gapStart, gapSize, style);
+ break; // done
}
+
// Note this is only the fallback option
gtkPainter.paintBox(gtkNotebook, "notebook", option->rect, state, shadow, style);
}
break;
- case PE_PanelButtonCommand: {
+ case PE_PanelButtonCommand:
+ case PE_PanelButtonTool: {
bool isDefault = false;
+ bool isTool = (element == PE_PanelButtonTool);
if (const QStyleOptionButton *btn = qstyleoption_cast<const QStyleOptionButton*>(option))
isDefault = btn->features & QStyleOptionButton::DefaultButton;
+ // don't draw a frame for tool buttons that have the autoRaise flag and are not enabled or on
+ if (isTool && !(option->state & State_Enabled || option->state & State_On) && (option->state & State_AutoRaise))
+ break;
+ // don't draw a frame for dock widget buttons, unless we are hovering
+ if (widget && widget->inherits("QDockWidgetTitleButton") && !(option->state & State_MouseOver))
+ break;
+
GtkStateType state = gtkPainter.gtkState(option);
if (option->state & State_On || option->state & State_Sunken)
state = GTK_STATE_ACTIVE;
- GtkWidget *gtkButton = QGtk::gtkWidget(QLS("GtkButton"));
+ GtkWidget *gtkButton = d->gtkWidget(isTool ? QLS("GtkToolButton.GtkButton") : QLS("GtkButton"));
gint focusWidth, focusPad;
gboolean interiorFocus = false;
- QGtk::gtk_widget_style_get (gtkButton,
+ d->gtk_widget_style_get (gtkButton,
"focus-line-width", &focusWidth,
"focus-padding", &focusPad,
"interior-focus", &interiorFocus, NULL);
@@ -1099,14 +1081,14 @@ void QGtkStyle::drawPrimitive(PrimitiveElement element,
else
shadow = GTK_SHADOW_OUT;
- GtkWidget *gtkRadioButton = QGtk::gtkWidget(QLS("GtkRadioButton"));
+ GtkWidget *gtkRadioButton = d->gtkWidget(QLS("GtkRadioButton"));
gint spacing;
- QGtk::gtk_widget_style_get(gtkRadioButton, "indicator-spacing", &spacing, NULL);
+ d->gtk_widget_style_get(gtkRadioButton, "indicator-spacing", &spacing, NULL);
QRect buttonRect = option->rect.adjusted(spacing, spacing, -spacing, -spacing);
gtkPainter.setClipRect(option->rect);
// ### Note: Ubuntulooks breaks when the proper widget is passed
// Murrine engine requires a widget not to get RGBA check - warnings
- GtkWidget *gtkCheckButton = QGtk::gtkWidget(QLS("GtkCheckButton"));
+ GtkWidget *gtkCheckButton = d->gtkWidget(QLS("GtkCheckButton"));
gtkPainter.paintOption(gtkCheckButton , buttonRect, state, shadow, gtkRadioButton->style, QLS("radiobutton"));
}
@@ -1128,12 +1110,12 @@ void QGtkStyle::drawPrimitive(PrimitiveElement element,
int spacing;
- GtkWidget *gtkCheckButton = QGtk::gtkWidget(QLS("GtkCheckButton"));
+ GtkWidget *gtkCheckButton = d->gtkWidget(QLS("GtkCheckButton"));
// Some styles such as aero-clone assume they can paint in the spacing area
gtkPainter.setClipRect(option->rect);
- QGtk::gtk_widget_style_get(gtkCheckButton, "indicator-spacing", &spacing, NULL);
+ d->gtk_widget_style_get(gtkCheckButton, "indicator-spacing", &spacing, NULL);
QRect checkRect = option->rect.adjusted(spacing, spacing, -spacing, -spacing);
@@ -1200,12 +1182,14 @@ void QGtkStyle::drawComplexControl(ComplexControl control, const QStyleOptionCom
QPainter *painter, const QWidget *widget) const
{
- if (!QGtk::isThemeAvailable()) {
+ Q_D(const QGtkStyle);
+
+ if (!d->isThemeAvailable()) {
QCleanlooksStyle::drawComplexControl(control, option, painter, widget);
return;
}
- GtkStyle* style = QGtk::gtkStyle();
+ GtkStyle* style = d->gtkStyle();
QGtkPainter gtkPainter(painter);
QColor button = option->palette.button().color();
QColor dark;
@@ -1260,7 +1244,7 @@ void QGtkStyle::drawComplexControl(ComplexControl control, const QStyleOptionCom
if ((groupBox->subControls & QStyle::SC_GroupBoxLabel) && !groupBox->text.isEmpty()) {
// Draw prelight background
- GtkWidget *gtkCheckButton = QGtk::gtkWidget(QLS("GtkCheckButton"));
+ GtkWidget *gtkCheckButton = d->gtkWidget(QLS("GtkCheckButton"));
if (option->state & State_MouseOver) {
QRect bgRect = textRect | checkBoxRect;
@@ -1336,14 +1320,14 @@ void QGtkStyle::drawComplexControl(ComplexControl control, const QStyleOptionCom
QString comboBoxPath = QLS(comboBox->editable ? "GtkComboBoxEntry" : "GtkComboBox");
// We use the gtk widget to position arrows and separators for us
- GtkWidget *gtkCombo = QGtk::gtkWidget(comboBoxPath);
+ GtkWidget *gtkCombo = d->gtkWidget(comboBoxPath);
GtkAllocation geometry = {0, 0, option->rect.width(), option->rect.height()};
- QGtk::gtk_widget_set_direction(gtkCombo, reverse ? GTK_TEXT_DIR_RTL : GTK_TEXT_DIR_LTR);
- QGtk::gtk_widget_size_allocate(gtkCombo, &geometry);
+ d->gtk_widget_set_direction(gtkCombo, reverse ? GTK_TEXT_DIR_RTL : GTK_TEXT_DIR_LTR);
+ d->gtk_widget_size_allocate(gtkCombo, &geometry);
QString buttonPath = comboBoxPath + QLS(".GtkToggleButton");
- GtkWidget *gtkToggleButton = QGtk::gtkWidget(buttonPath);
- QGtk::gtk_widget_set_direction(gtkToggleButton, reverse ? GTK_TEXT_DIR_RTL : GTK_TEXT_DIR_LTR);
+ GtkWidget *gtkToggleButton = d->gtkWidget(buttonPath);
+ d->gtk_widget_set_direction(gtkToggleButton, reverse ? GTK_TEXT_DIR_RTL : GTK_TEXT_DIR_LTR);
if (gtkToggleButton && (appears_as_list || comboBox->editable)) {
if (focus)
GTK_WIDGET_SET_FLAGS(gtkToggleButton, GTK_HAS_FOCUS);
@@ -1351,8 +1335,8 @@ void QGtkStyle::drawComplexControl(ComplexControl control, const QStyleOptionCom
if (comboBox->editable || appears_as_list) {
GtkStateType frameState = (state == GTK_STATE_PRELIGHT) ? GTK_STATE_NORMAL : state;
QString entryPath = QLS(comboBox->editable ? "GtkComboBoxEntry.GtkEntry" : "GtkComboBox.GtkFrame");
- GtkWidget *gtkEntry = QGtk::gtkWidget(entryPath);
- QGtk::gtk_widget_set_direction(gtkEntry, reverse ? GTK_TEXT_DIR_RTL : GTK_TEXT_DIR_LTR);
+ GtkWidget *gtkEntry = d->gtkWidget(entryPath);
+ d->gtk_widget_set_direction(gtkEntry, reverse ? GTK_TEXT_DIR_RTL : GTK_TEXT_DIR_LTR);
QRect frameRect = option->rect;
if (reverse)
@@ -1421,7 +1405,7 @@ void QGtkStyle::drawComplexControl(ComplexControl control, const QStyleOptionCom
// Draw the separator between label and arrows
QString vSeparatorPath = buttonPath + QLS(".GtkHBox.GtkVSeparator");
- if (GtkWidget *gtkVSeparator = QGtk::gtkWidget(vSeparatorPath)) {
+ if (GtkWidget *gtkVSeparator = d->gtkWidget(vSeparatorPath)) {
QRect vLineRect(gtkVSeparator->allocation.x,
gtkVSeparator->allocation.y,
gtkVSeparator->allocation.width,
@@ -1433,7 +1417,7 @@ void QGtkStyle::drawComplexControl(ComplexControl control, const QStyleOptionCom
gint interiorFocus = true;
- QGtk::gtk_widget_style_get(gtkToggleButton, "interior-focus", &interiorFocus, NULL);
+ d->gtk_widget_style_get(gtkToggleButton, "interior-focus", &interiorFocus, NULL);
int xt = interiorFocus ? gtkToggleButton->style->xthickness : 0;
int yt = interiorFocus ? gtkToggleButton->style->ythickness : 0;
if (focus && ((option->state & State_KeyboardFocusChange) || styleHint(SH_UnderlineShortcut, option, widget)))
@@ -1457,14 +1441,14 @@ void QGtkStyle::drawComplexControl(ComplexControl control, const QStyleOptionCom
QString arrowPath = comboBoxPath + QLS(appears_as_list ? ".GtkToggleButton.GtkArrow"
: ".GtkToggleButton.GtkHBox.GtkArrow");
- GtkWidget *gtkArrow = QGtk::gtkWidget(arrowPath);
+ GtkWidget *gtkArrow = d->gtkWidget(arrowPath);
gfloat scale = 0.7;
gint minSize = 15;
QRect arrowWidgetRect;
- if (gtkArrow && !QGtk::gtk_check_version(2, 12, 0)) {
- QGtk::gtk_widget_style_get(gtkArrow, "arrow-scaling", &scale, NULL);
- QGtk::gtk_widget_style_get(gtkCombo, "arrow-size", &minSize, NULL);
+ if (gtkArrow && !d->gtk_check_version(2, 12, 0)) {
+ d->gtk_widget_style_get(gtkArrow, "arrow-scaling", &scale, NULL);
+ d->gtk_widget_style_get(gtkCombo, "arrow-size", &minSize, NULL);
}
if (gtkArrow) {
arrowWidgetRect = QRect(gtkArrow->allocation.x, gtkArrow->allocation.y,
@@ -1482,9 +1466,9 @@ void QGtkStyle::drawComplexControl(ComplexControl control, const QStyleOptionCom
if (sunken) {
int xoff, yoff;
- GtkWidget *gtkButton = QGtk::gtkWidget(comboBoxPath + QLS(".GtkToggleButton"));
- QGtk::gtk_widget_style_get(gtkButton, "child-displacement-x", &xoff, NULL);
- QGtk::gtk_widget_style_get(gtkButton, "child-displacement-y", &yoff, NULL);
+ GtkWidget *gtkButton = d->gtkWidget(comboBoxPath + QLS(".GtkToggleButton"));
+ d->gtk_widget_style_get(gtkButton, "child-displacement-x", &xoff, NULL);
+ d->gtk_widget_style_get(gtkButton, "child-displacement-y", &yoff, NULL);
arrowRect = arrowRect.adjusted(xoff, yoff, xoff, yoff);
}
@@ -1555,7 +1539,7 @@ void QGtkStyle::drawComplexControl(ComplexControl control, const QStyleOptionCom
QStyleOptionToolButton label = *toolbutton;
label.state = bflags;
- GtkWidget *gtkButton = QGtk::gtkWidget(QLS("GtkButton"));
+ GtkWidget *gtkButton = d->gtkWidget(QLS("GtkToolButton.GtkButton"));
QPalette pal = toolbutton->palette;
if (option->state & State_Enabled &&
option->state & State_MouseOver && !(widget && widget->testAttribute(Qt::WA_SetPalette))) {
@@ -1590,8 +1574,8 @@ void QGtkStyle::drawComplexControl(ComplexControl control, const QStyleOptionCom
case CC_ScrollBar:
if (const QStyleOptionSlider *scrollBar = qstyleoption_cast<const QStyleOptionSlider *>(option)) {
- GtkWidget *gtkHScrollBar = QGtk::gtkWidget(QLS("GtkHScrollbar"));
- GtkWidget *gtkVScrollBar = QGtk::gtkWidget(QLS("GtkVScrollbar"));
+ GtkWidget *gtkHScrollBar = d->gtkWidget(QLS("GtkHScrollbar"));
+ GtkWidget *gtkVScrollBar = d->gtkWidget(QLS("GtkVScrollbar"));
// Fill background in case the scrollbar is partially transparent
painter->fillRect(option->rect, option->palette.background());
@@ -1608,8 +1592,8 @@ void QGtkStyle::drawComplexControl(ComplexControl control, const QStyleOptionCom
gboolean trough_side_details = false;
gboolean stepper_size = 14;
gint trough_border = 1;
- if (!QGtk::gtk_check_version(2, 10, 0)) {
- QGtk::gtk_widget_style_get((GtkWidget*)(scrollbarWidget),
+ if (!d->gtk_check_version(2, 10, 0)) {
+ d->gtk_widget_style_get((GtkWidget*)(scrollbarWidget),
"trough-border", &trough_border,
"trough-side-details", &trough_side_details,
"trough-under-steppers", &trough_under_steppers,
@@ -1633,12 +1617,12 @@ void QGtkStyle::drawComplexControl(ComplexControl control, const QStyleOptionCom
fakePos = maximum;
else if (scrollBar->sliderPosition > scrollBar->minimum)
fakePos = maximum - 1;
- GtkObject *adjustment = QGtk::gtk_adjustment_new(fakePos, 0, maximum, 0, 0, 0);
+ GtkObject *adjustment = d->gtk_adjustment_new(fakePos, 0, maximum, 0, 0, 0);
if (horizontal)
- QGtk::gtk_range_set_adjustment((GtkRange*)(gtkHScrollBar), (GtkAdjustment*)(adjustment));
+ d->gtk_range_set_adjustment((GtkRange*)(gtkHScrollBar), (GtkAdjustment*)(adjustment));
else
- QGtk::gtk_range_set_adjustment((GtkRange*)(gtkVScrollBar), (GtkAdjustment*)(adjustment));
+ d->gtk_range_set_adjustment((GtkRange*)(gtkVScrollBar), (GtkAdjustment*)(adjustment));
if (scrollBar->subControls & SC_ScrollBarGroove) {
GtkStateType state = GTK_STATE_ACTIVE;
@@ -1735,7 +1719,7 @@ void QGtkStyle::drawComplexControl(ComplexControl control, const QStyleOptionCom
case CC_SpinBox:
if (const QStyleOptionSpinBox *spinBox = qstyleoption_cast<const QStyleOptionSpinBox *>(option)) {
- GtkWidget *gtkSpinButton = QGtk::gtkWidget(QLS("GtkSpinButton"));
+ GtkWidget *gtkSpinButton = d->gtkWidget(QLS("GtkSpinButton"));
bool isEnabled = (spinBox->state & State_Enabled);
bool hover = isEnabled && (spinBox->state & State_MouseOver);
bool sunken = (spinBox->state & State_Sunken);
@@ -1850,7 +1834,7 @@ void QGtkStyle::drawComplexControl(ComplexControl control, const QStyleOptionCom
}
} else {
- int size = spinboxArrowSize();
+ int size = d->getSpinboxArrowSize();
int w = size / 2 - 1;
w -= w % 2 - 1; // force odd
int h = (w + 1)/2;
@@ -1882,8 +1866,8 @@ void QGtkStyle::drawComplexControl(ComplexControl control, const QStyleOptionCom
case CC_Slider:
if (const QStyleOptionSlider *slider = qstyleoption_cast<const QStyleOptionSlider *>(option)) {
- GtkWidget *hScaleWidget = QGtk::gtkWidget(QLS("GtkHScale"));
- GtkWidget *vScaleWidget = QGtk::gtkWidget(QLS("GtkVScale"));
+ GtkWidget *hScaleWidget = d->gtkWidget(QLS("GtkHScale"));
+ GtkWidget *vScaleWidget = d->gtkWidget(QLS("GtkVScale"));
QRect groove = proxy()->subControlRect(CC_Slider, option, SC_SliderGroove, widget);
QRect handle = proxy()->subControlRect(CC_Slider, option, SC_SliderHandle, widget);
@@ -1907,16 +1891,16 @@ void QGtkStyle::drawComplexControl(ComplexControl control, const QStyleOptionCom
style = scaleWidget->style;
if ((option->subControls & SC_SliderGroove) && groove.isValid()) {
- GtkObject *adjustment = QGtk::gtk_adjustment_new(slider->sliderPosition,
+ GtkObject *adjustment = d->gtk_adjustment_new(slider->sliderPosition,
slider->minimum,
slider->maximum,
slider->singleStep,
slider->singleStep,
slider->pageStep);
int outerSize;
- QGtk::gtk_range_set_adjustment ((GtkRange*)(scaleWidget), (GtkAdjustment*)(adjustment));
- QGtk::gtk_range_set_inverted((GtkRange*)(scaleWidget), !horizontal);
- QGtk::gtk_widget_style_get(scaleWidget, "trough-border", &outerSize, NULL);
+ d->gtk_range_set_adjustment ((GtkRange*)(scaleWidget), (GtkAdjustment*)(adjustment));
+ d->gtk_range_set_inverted((GtkRange*)(scaleWidget), !horizontal);
+ d->gtk_widget_style_get(scaleWidget, "trough-border", &outerSize, NULL);
outerSize++;
GtkStateType state = gtkPainter.gtkState(option);
@@ -1924,20 +1908,30 @@ void QGtkStyle::drawComplexControl(ComplexControl control, const QStyleOptionCom
QRect grooveRect = option->rect.adjusted(focusFrameMargin, outerSize + focusFrameMargin,
-focusFrameMargin, -outerSize - focusFrameMargin);
- gtkPainter.paintBox( scaleWidget, "trough", grooveRect, state,
- GTK_SHADOW_IN, style, QString(QLS("p%0")).arg(slider->sliderPosition));
-
gboolean trough_side_details = false; // Indicates if the upper or lower scale background differs
- if (!QGtk::gtk_check_version(2, 10, 0))
- QGtk::gtk_widget_style_get((GtkWidget*)(scaleWidget), "trough-side-details", &trough_side_details, NULL);
+ if (!d->gtk_check_version(2, 10, 0))
+ d->gtk_widget_style_get((GtkWidget*)(scaleWidget), "trough-side-details", &trough_side_details, NULL);
- if (trough_side_details && horizontal) { //### Vertical sliders look broken with this for some reason
+ if (!trough_side_details) {
+ gtkPainter.paintBox( scaleWidget, "trough", grooveRect, state,
+ GTK_SHADOW_IN, style, QString(QLS("p%0")).arg(slider->sliderPosition));
+ } else {
+ QRect upperGroove = grooveRect;
QRect lowerGroove = grooveRect;
- lowerGroove.setRight(handle.center().x());
+
+ if (horizontal) {
+ upperGroove.setLeft(handle.center().x());
+ lowerGroove.setRight(handle.center().x());
+ } else {
+ upperGroove.setBottom(handle.center().y());
+ lowerGroove.setTop(handle.center().y());
+ }
+
+ gtkPainter.paintBox( scaleWidget, "trough-upper", upperGroove, state,
+ GTK_SHADOW_IN, style, QString(QLS("p%0")).arg(slider->sliderPosition));
gtkPainter.paintBox( scaleWidget, "trough-lower", lowerGroove, state,
GTK_SHADOW_IN, style, QString(QLS("p%0")).arg(slider->sliderPosition));
}
-
}
if (option->subControls & SC_SliderTickmarks) {
@@ -2050,18 +2044,20 @@ void QGtkStyle::drawControl(ControlElement element,
QPainter *painter,
const QWidget *widget) const
{
- if (!QGtk::isThemeAvailable()) {
+ Q_D(const QGtkStyle);
+
+ if (!d->isThemeAvailable()) {
QCleanlooksStyle::drawControl(element, option, painter, widget);
return;
}
- GtkStyle* style = QGtk::gtkStyle();
+ GtkStyle* style = d->gtkStyle();
QGtkPainter gtkPainter(painter);
switch (element) {
case CE_ProgressBarLabel:
if (const QStyleOptionProgressBar *bar = qstyleoption_cast<const QStyleOptionProgressBar *>(option)) {
- GtkWidget *gtkProgressBar = QGtk::gtkWidget(QLS("GtkProgressBar"));
+ GtkWidget *gtkProgressBar = d->gtkWidget(QLS("GtkProgressBar"));
if (!gtkProgressBar)
return;
@@ -2164,7 +2160,7 @@ void QGtkStyle::drawControl(ControlElement element,
if (button->features & QStyleOptionButton::HasMenu)
ir = ir.adjusted(0, 0, -pixelMetric(PM_MenuButtonIndicator, button, widget), 0);
- GtkWidget *gtkButton = QGtk::gtkWidget(QLS("GtkButton"));
+ GtkWidget *gtkButton = d->gtkWidget(QLS("GtkButton"));
QPalette pal = button->palette;
int labelState = GTK_STATE_INSENSITIVE;
if (option->state & State_Enabled)
@@ -2185,7 +2181,7 @@ void QGtkStyle::drawControl(ControlElement element,
bool isRadio = (element == CE_RadioButton);
// Draw prelight background
- GtkWidget *gtkRadioButton = QGtk::gtkWidget(QLS("GtkRadioButton"));
+ GtkWidget *gtkRadioButton = d->gtkWidget(QLS("GtkRadioButton"));
if (option->state & State_MouseOver) {
gtkPainter.paintFlatBox(gtkRadioButton, "checkbutton", option->rect,
@@ -2253,7 +2249,7 @@ void QGtkStyle::drawControl(ControlElement element,
}
if (!cb->currentText.isEmpty() && !cb->editable) {
- GtkWidget *gtkCombo = QGtk::gtkWidget(QLS("GtkComboBox"));
+ GtkWidget *gtkCombo = d->gtkWidget(QLS("GtkComboBox"));
QPalette pal = cb->palette;
int labelState = GTK_STATE_INSENSITIVE;
@@ -2330,9 +2326,9 @@ void QGtkStyle::drawControl(ControlElement element,
// Draws the header in tables.
if (const QStyleOptionHeader *header = qstyleoption_cast<const QStyleOptionHeader *>(option)) {
Q_UNUSED(header);
- GtkWidget *gtkTreeView = QGtk::gtkWidget(QLS("GtkTreeView"));
+ GtkWidget *gtkTreeView = d->gtkWidget(QLS("GtkTreeView"));
// Get the middle column
- GtkTreeViewColumn *column = QGtk::gtk_tree_view_get_column((GtkTreeView*)gtkTreeView, 1);
+ GtkTreeViewColumn *column = d->gtk_tree_view_get_column((GtkTreeView*)gtkTreeView, 1);
Q_ASSERT(column);
GtkWidget *gtkTreeHeader = column->button;
@@ -2351,7 +2347,7 @@ void QGtkStyle::drawControl(ControlElement element,
#ifndef QT_NO_SIZEGRIP
case CE_SizeGrip: {
- GtkWidget *gtkStatusbar = QGtk::gtkWidget(QLS("GtkStatusbar.GtkFrame"));
+ GtkWidget *gtkStatusbar = d->gtkWidget(QLS("GtkStatusbar.GtkFrame"));
QRect gripRect = option->rect.adjusted(0, 0, -gtkStatusbar->style->xthickness, -gtkStatusbar->style->ythickness);
gtkPainter.paintResizeGrip( gtkStatusbar, "statusbar", gripRect, GTK_STATE_NORMAL,
GTK_SHADOW_OUT, QApplication::isRightToLeft() ?
@@ -2363,7 +2359,7 @@ void QGtkStyle::drawControl(ControlElement element,
#endif // QT_NO_SIZEGRIP
case CE_MenuBarEmptyArea: {
- GtkWidget *gtkMenubar = QGtk::gtkWidget(QLS("GtkMenuBar"));
+ GtkWidget *gtkMenubar = d->gtkWidget(QLS("GtkMenuBar"));
GdkColor gdkBg = gtkMenubar->style->bg[GTK_STATE_NORMAL]; // Theme can depend on transparency
painter->fillRect(option->rect, QColor(gdkBg.red>>8, gdkBg.green>>8, gdkBg.blue>>8));
if (widget) { // See CE_MenuBarItem
@@ -2373,7 +2369,7 @@ void QGtkStyle::drawControl(ControlElement element,
QPainter pmPainter(&pixmap);
QGtkPainter gtkMenuBarPainter(&pmPainter);
GtkShadowType shadow_type;
- QGtk::gtk_widget_style_get(gtkMenubar, "shadow-type", &shadow_type, NULL);
+ d->gtk_widget_style_get(gtkMenubar, "shadow-type", &shadow_type, NULL);
gtkMenuBarPainter.paintBox( gtkMenubar, "menubar", menuBarRect,
GTK_STATE_NORMAL, shadow_type, gtkMenubar->style);
pmPainter.end();
@@ -2386,8 +2382,8 @@ void QGtkStyle::drawControl(ControlElement element,
painter->save();
if (const QStyleOptionMenuItem *mbi = qstyleoption_cast<const QStyleOptionMenuItem *>(option)) {
- GtkWidget *gtkMenubarItem = QGtk::gtkWidget(QLS("GtkMenuBar.GtkMenuItem"));
- GtkWidget *gtkMenubar = QGtk::gtkWidget(QLS("GtkMenuBar"));
+ GtkWidget *gtkMenubarItem = d->gtkWidget(QLS("GtkMenuBar.GtkMenuItem"));
+ GtkWidget *gtkMenubar = d->gtkWidget(QLS("GtkMenuBar"));
style = gtkMenubarItem->style;
@@ -2402,7 +2398,7 @@ void QGtkStyle::drawControl(ControlElement element,
QPainter pmPainter(&pixmap);
QGtkPainter menubarPainter(&pmPainter);
GtkShadowType shadow_type;
- QGtk::gtk_widget_style_get(gtkMenubar, "shadow-type", &shadow_type, NULL);
+ d->gtk_widget_style_get(gtkMenubar, "shadow-type", &shadow_type, NULL);
GdkColor gdkBg = gtkMenubar->style->bg[GTK_STATE_NORMAL]; // Theme can depend on transparency
painter->fillRect(option->rect, QColor(gdkBg.red>>8, gdkBg.green>>8, gdkBg.blue>>8));
menubarPainter.paintBox(gtkMenubar, "menubar", menuBarRect,
@@ -2426,7 +2422,7 @@ void QGtkStyle::drawControl(ControlElement element,
if (act) {
GtkShadowType shadowType = GTK_SHADOW_NONE;
- QGtk::gtk_widget_style_get (gtkMenubarItem, "selected-shadow-type", &shadowType, NULL);
+ d->gtk_widget_style_get (gtkMenubarItem, "selected-shadow-type", &shadowType, NULL);
gtkPainter.paintBox(gtkMenubarItem, "menuitem", option->rect.adjusted(0, 0, 0, 3),
GTK_STATE_PRELIGHT, shadowType, gtkMenubarItem->style);
//draw text
@@ -2443,7 +2439,7 @@ void QGtkStyle::drawControl(ControlElement element,
break;
case CE_Splitter: {
- GtkWidget *gtkWindow = QGtk::gtkWidget(QLS("GtkWindow")); // The Murrine Engine currently assumes a widget is passed
+ GtkWidget *gtkWindow = d->gtkWidget(QLS("GtkWindow")); // The Murrine Engine currently assumes a widget is passed
gtkPainter.paintHandle(gtkWindow, "splitter", option->rect, gtkPainter.gtkState(option), GTK_SHADOW_NONE,
!(option->state & State_Horizontal) ? GTK_ORIENTATION_HORIZONTAL : GTK_ORIENTATION_VERTICAL,
style);
@@ -2463,9 +2459,9 @@ void QGtkStyle::drawControl(ControlElement element,
if (toolbar->positionWithinLine != QStyleOptionToolBar::End)
rect.adjust(0, 0, 1, 0);
- GtkWidget *gtkToolbar = QGtk::gtkWidget(QLS("GtkToolbar"));
+ GtkWidget *gtkToolbar = d->gtkWidget(QLS("GtkToolbar"));
GtkShadowType shadow_type = GTK_SHADOW_NONE;
- QGtk::gtk_widget_style_get(gtkToolbar, "shadow-type", &shadow_type, NULL);
+ d->gtk_widget_style_get(gtkToolbar, "shadow-type", &shadow_type, NULL);
gtkPainter.paintBox( gtkToolbar, "toolbar", rect,
GTK_STATE_NORMAL, shadow_type, gtkToolbar->style);
}
@@ -2482,22 +2478,22 @@ void QGtkStyle::drawControl(ControlElement element,
const int windowsItemHMargin = 3; // menu item hor text margin
const int windowsItemVMargin = 26; // menu item ver text margin
const int windowsRightBorder = 15; // right border on windows
- GtkWidget *gtkMenu = QGtk::gtkWidget(QLS("GtkMenu"));
- GtkWidget *gtkMenuItem = menuItem->checked ? QGtk::gtkWidget(QLS("GtkMenu.GtkCheckMenuItem")) :
- QGtk::gtkWidget(QLS("GtkMenu.GtkMenuItem"));
+ GtkWidget *gtkMenu = d->gtkWidget(QLS("GtkMenu"));
+ GtkWidget *gtkMenuItem = menuItem->checked ? d->gtkWidget(QLS("GtkMenu.GtkCheckMenuItem")) :
+ d->gtkWidget(QLS("GtkMenu.GtkMenuItem"));
style = gtkPainter.getStyle(gtkMenuItem);
QColor borderColor = option->palette.background().color().darker(160);
QColor shadow = option->palette.dark().color();
if (menuItem->menuItemType == QStyleOptionMenuItem::Separator) {
- GtkWidget *gtkMenuSeparator = QGtk::gtkWidget(QLS("GtkMenu.GtkSeparatorMenuItem"));
+ GtkWidget *gtkMenuSeparator = d->gtkWidget(QLS("GtkMenu.GtkSeparatorMenuItem"));
painter->setPen(shadow.lighter(106));
gboolean wide_separators = 0;
gint separator_height = 0;
guint horizontal_padding = 3;
- if (!QGtk::gtk_check_version(2, 10, 0)) {
- QGtk::gtk_widget_style_get(gtkMenuSeparator,
+ if (!d->gtk_check_version(2, 10, 0)) {
+ d->gtk_widget_style_get(gtkMenuSeparator,
"wide-separators", &wide_separators,
"separator-height", &separator_height,
"horizontal-padding", &horizontal_padding,
@@ -2531,7 +2527,7 @@ void QGtkStyle::drawControl(ControlElement element,
bool ignoreCheckMark = false;
gint checkSize;
- QGtk::gtk_widget_style_get(QGtk::gtkWidget(QLS("GtkMenu.GtkCheckMenuItem")), "indicator-size", &checkSize, NULL);
+ d->gtk_widget_style_get(d->gtkWidget(QLS("GtkMenu.GtkCheckMenuItem")), "indicator-size", &checkSize, NULL);
int checkcol = qMax(menuItem->maxIconWidth, qMax(20, checkSize));
@@ -2718,7 +2714,7 @@ void QGtkStyle::drawControl(ControlElement element,
// "arrow-scaling" is actually hardcoded and fails on hardy (see gtk+-2.12/gtkmenuitem.c)
// though the current documentation states otherwise
int horizontal_padding;
- QGtk::gtk_widget_style_get(gtkMenuItem, "horizontal-padding", &horizontal_padding, NULL);
+ d->gtk_widget_style_get(gtkMenuItem, "horizontal-padding", &horizontal_padding, NULL);
const int dim = static_cast<int>(arrow_size * arrow_scaling);
int xpos = menuItem->rect.left() + menuItem->rect.width() - horizontal_padding - dim;
@@ -2736,12 +2732,12 @@ void QGtkStyle::drawControl(ControlElement element,
case CE_PushButton:
if (const QStyleOptionButton *btn = qstyleoption_cast<const QStyleOptionButton *>(option)) {
- GtkWidget *gtkButton = QGtk::gtkWidget(QLS("GtkButton"));
+ GtkWidget *gtkButton = d->gtkWidget(QLS("GtkButton"));
proxy()->drawControl(CE_PushButtonBevel, btn, painter, widget);
QStyleOptionButton subopt = *btn;
subopt.rect = subElementRect(SE_PushButtonContents, btn, widget);
gint interiorFocus = true;
- QGtk::gtk_widget_style_get(gtkButton, "interior-focus", &interiorFocus, NULL);
+ d->gtk_widget_style_get(gtkButton, "interior-focus", &interiorFocus, NULL);
int xt = interiorFocus ? gtkButton->style->xthickness : 0;
int yt = interiorFocus ? gtkButton->style->ythickness : 0;
@@ -2762,7 +2758,7 @@ void QGtkStyle::drawControl(ControlElement element,
case CE_TabBarTabShape:
if (const QStyleOptionTab *tab = qstyleoption_cast<const QStyleOptionTab *>(option)) {
- GtkWidget *gtkNotebook = QGtk::gtkWidget(QLS("GtkNotebook"));
+ GtkWidget *gtkNotebook = d->gtkWidget(QLS("GtkNotebook"));
style = gtkPainter.getStyle(gtkNotebook);
QRect rect = option->rect;
@@ -2829,7 +2825,7 @@ void QGtkStyle::drawControl(ControlElement element,
case CE_ProgressBarGroove:
if (const QStyleOptionProgressBar *bar = qstyleoption_cast<const QStyleOptionProgressBar *>(option)) {
Q_UNUSED(bar);
- GtkWidget *gtkProgressBar = QGtk::gtkWidget(QLS("GtkProgressBar"));
+ GtkWidget *gtkProgressBar = d->gtkWidget(QLS("GtkProgressBar"));
GtkStateType state = gtkPainter.gtkState(option);
gtkPainter.paintBox( gtkProgressBar, "trough", option->rect, state, GTK_SHADOW_IN, gtkProgressBar->style);
}
@@ -2839,7 +2835,7 @@ void QGtkStyle::drawControl(ControlElement element,
case CE_ProgressBarContents:
if (const QStyleOptionProgressBar *bar = qstyleoption_cast<const QStyleOptionProgressBar *>(option)) {
GtkStateType state = option->state & State_Enabled ? GTK_STATE_NORMAL : GTK_STATE_INSENSITIVE;
- GtkWidget *gtkProgressBar = QGtk::gtkWidget(QLS("GtkProgressBar"));
+ GtkWidget *gtkProgressBar = d->gtkWidget(QLS("GtkProgressBar"));
style = gtkProgressBar->style;
gtkPainter.paintBox( gtkProgressBar, "trough", option->rect, state, GTK_SHADOW_IN, style);
int xt = style->xthickness;
@@ -2887,8 +2883,8 @@ void QGtkStyle::drawControl(ControlElement element,
else if (bar->progress > bar->minimum)
fakePos = maximum - 1;
- GtkObject *adjustment = QGtk::gtk_adjustment_new(fakePos, 0, maximum, 0, 0, 0);
- QGtk::gtk_progress_set_adjustment((GtkProgress*)(gtkProgressBar), (GtkAdjustment*)(adjustment));
+ GtkObject *adjustment = d->gtk_adjustment_new(fakePos, 0, maximum, 0, 0, 0);
+ d->gtk_progress_set_adjustment((GtkProgress*)(gtkProgressBar), (GtkAdjustment*)(adjustment));
QRect progressBar;
@@ -2928,8 +2924,10 @@ void QGtkStyle::drawControl(ControlElement element,
QRect QGtkStyle::subControlRect(ComplexControl control, const QStyleOptionComplex *option,
SubControl subControl, const QWidget *widget) const
{
+ Q_D(const QGtkStyle);
+
QRect rect = QWindowsStyle::subControlRect(control, option, subControl, widget);
- if (!QGtk::isThemeAvailable())
+ if (!d->isThemeAvailable())
return QCleanlooksStyle::subControlRect(control, option, subControl, widget);
switch (control) {
@@ -2995,7 +2993,7 @@ QRect QGtkStyle::subControlRect(ComplexControl control, const QStyleOptionComple
case CC_SpinBox:
if (const QStyleOptionSpinBox *spinbox = qstyleoption_cast<const QStyleOptionSpinBox *>(option)) {
- GtkWidget *gtkSpinButton = QGtk::gtkWidget(QLS("GtkSpinButton"));
+ GtkWidget *gtkSpinButton = d->gtkWidget(QLS("GtkSpinButton"));
int center = spinbox->rect.height() / 2;
int xt = spinbox->frame ? gtkSpinButton->style->xthickness : 0;
int yt = spinbox->frame ? gtkSpinButton->style->ythickness : 0;
@@ -3003,7 +3001,7 @@ QRect QGtkStyle::subControlRect(ComplexControl control, const QStyleOptionComple
QSize bs;
bs.setHeight(qMax(8, spinbox->rect.height()/2 - y));
- bs.setWidth(spinboxArrowSize());
+ bs.setWidth(d->getSpinboxArrowSize());
int x, lx, rx;
x = spinbox->rect.width() - y - bs.width() + 2;
lx = xt;
@@ -3049,17 +3047,17 @@ QRect QGtkStyle::subControlRect(ComplexControl control, const QStyleOptionComple
if (const QStyleOptionComboBox *box = qstyleoption_cast<const QStyleOptionComboBox *>(option)) {
// We employ the gtk widget to position arrows and separators for us
QString comboBoxPath = box->editable ? QLS("GtkComboBoxEntry") : QLS("GtkComboBox");
- GtkWidget *gtkCombo = QGtk::gtkWidget(comboBoxPath);
- QGtk::gtk_widget_set_direction(gtkCombo, (option->direction == Qt::RightToLeft) ? GTK_TEXT_DIR_RTL : GTK_TEXT_DIR_LTR);
+ GtkWidget *gtkCombo = d->gtkWidget(comboBoxPath);
+ d->gtk_widget_set_direction(gtkCombo, (option->direction == Qt::RightToLeft) ? GTK_TEXT_DIR_RTL : GTK_TEXT_DIR_LTR);
GtkAllocation geometry = {0, 0, qMax(0, option->rect.width()), qMax(0, option->rect.height())};
- QGtk::gtk_widget_size_allocate(gtkCombo, &geometry);
+ d->gtk_widget_size_allocate(gtkCombo, &geometry);
int appears_as_list = !proxy()->styleHint(QStyle::SH_ComboBox_Popup, option, widget);
QString arrowPath = comboBoxPath + QLS(".GtkToggleButton");
if (!box->editable && !appears_as_list)
arrowPath += QLS(".GtkHBox.GtkArrow");
- GtkWidget *arrowWidget = QGtk::gtkWidget(arrowPath);
+ GtkWidget *arrowWidget = d->gtkWidget(arrowPath);
if (!arrowWidget)
return QCleanlooksStyle::subControlRect(control, option, subControl, widget);
@@ -3104,19 +3102,19 @@ QRect QGtkStyle::subControlRect(ComplexControl control, const QStyleOptionComple
\reimp
*/
QSize QGtkStyle::sizeFromContents(ContentsType type, const QStyleOption *option,
-
const QSize &size, const QWidget *widget) const
{
+ Q_D(const QGtkStyle);
QSize newSize = QCleanlooksStyle::sizeFromContents(type, option, size, widget);
- if (!QGtk::isThemeAvailable())
+ if (!d->isThemeAvailable())
return newSize;
switch (type) {
case CT_ToolButton:
if (const QStyleOptionToolButton *toolbutton = qstyleoption_cast<const QStyleOptionToolButton *>(option)) {
- GtkWidget *gtkButton = QGtk::gtkWidget(QLS("GtkButton"));
+ GtkWidget *gtkButton = d->gtkWidget(QLS("GtkToolButton.GtkButton"));
newSize = size + QSize(2 * gtkButton->style->xthickness, 1 + 2 * gtkButton->style->ythickness);
if (widget && qobject_cast<QToolBar *>(widget->parentWidget())) {
QSize minSize(0, 25);
@@ -3124,7 +3122,7 @@ QSize QGtkStyle::sizeFromContents(ContentsType type, const QStyleOption *option,
minSize = toolbutton->iconSize + QSize(12, 12);
newSize = newSize.expandedTo(minSize);
}
-
+
if (toolbutton->features & QStyleOptionToolButton::HasMenu)
newSize += QSize(6, 0);
}
@@ -3135,10 +3133,10 @@ QSize QGtkStyle::sizeFromContents(ContentsType type, const QStyleOption *option,
int textMargin = 8;
if (menuItem->menuItemType == QStyleOptionMenuItem::Separator) {
- GtkWidget *gtkMenuSeparator = QGtk::gtkWidget(QLS("GtkMenu.GtkSeparatorMenuItem"));
+ GtkWidget *gtkMenuSeparator = d->gtkWidget(QLS("GtkMenu.GtkSeparatorMenuItem"));
gboolean wide_separators;
gint separator_height;
- QGtk::gtk_widget_style_get(gtkMenuSeparator,
+ d->gtk_widget_style_get(gtkMenuSeparator,
"wide-separators", &wide_separators,
"separator-height", &separator_height,
NULL);
@@ -3147,14 +3145,14 @@ QSize QGtkStyle::sizeFromContents(ContentsType type, const QStyleOption *option,
break;
}
- GtkWidget *gtkMenuItem = QGtk::gtkWidget(QLS("GtkMenu.GtkMenuItem"));
+ GtkWidget *gtkMenuItem = d->gtkWidget(QLS("GtkMenu.GtkMenuItem"));
GtkStyle* style = gtkMenuItem->style;
newSize += QSize(textMargin + style->xthickness - 2, style->ythickness - 4);
// Cleanlooks assumes a check column of 20 pixels so we need to
// expand it a bit
gint checkSize;
- QGtk::gtk_widget_style_get(QGtk::gtkWidget(QLS("GtkMenu.GtkCheckMenuItem")), "indicator-size", &checkSize, NULL);
+ d->gtk_widget_style_get(d->gtkWidget(QLS("GtkMenu.GtkCheckMenuItem")), "indicator-size", &checkSize, NULL);
newSize.setHeight(qMax(newSize.height(), checkSize + 2));
newSize.setWidth(newSize.width() + qMax(0, checkSize - 20));
}
@@ -3169,22 +3167,22 @@ QSize QGtkStyle::sizeFromContents(ContentsType type, const QStyleOption *option,
case CT_SpinBox:
// QSpinBox does some nasty things that depends on CT_LineEdit
- newSize = size + QSize(0, -QGtk::gtkWidget(QLS("GtkSpinButton"))->style->ythickness * 2 + 2);
+ newSize = size + QSize(0, -d->gtkWidget(QLS("GtkSpinButton"))->style->ythickness * 2 + 2);
break;
case CT_PushButton:
if (const QStyleOptionButton *btn = qstyleoption_cast<const QStyleOptionButton *>(option)) {
- GtkWidget *gtkButton = QGtk::gtkWidget(QLS("GtkButton"));
+ GtkWidget *gtkButton = d->gtkWidget(QLS("GtkButton"));
gint focusPadding, focusWidth;
- QGtk::gtk_widget_style_get(gtkButton, "focus-padding", &focusPadding, NULL);
- QGtk::gtk_widget_style_get(gtkButton, "focus-line-width", &focusWidth, NULL);
+ d->gtk_widget_style_get(gtkButton, "focus-padding", &focusPadding, NULL);
+ d->gtk_widget_style_get(gtkButton, "focus-line-width", &focusWidth, NULL);
newSize = size;
newSize += QSize(2*gtkButton->style->xthickness + 4, 2*gtkButton->style->ythickness);
newSize += QSize(2*(focusWidth + focusPadding + 2), 2*(focusWidth + focusPadding));
- GtkWidget *gtkButtonBox = QGtk::gtkWidget(QLS("GtkHButtonBox"));
+ GtkWidget *gtkButtonBox = d->gtkWidget(QLS("GtkHButtonBox"));
gint minWidth = 85, minHeight = 0;
- QGtk::gtk_widget_style_get(gtkButtonBox, "child-min-width", &minWidth,
+ d->gtk_widget_style_get(gtkButtonBox, "child-min-width", &minWidth,
"child-min-height", &minHeight, NULL);
if (!btn->text.isEmpty() && newSize.width() < minWidth)
newSize.setWidth(minWidth);
@@ -3195,7 +3193,7 @@ QSize QGtkStyle::sizeFromContents(ContentsType type, const QStyleOption *option,
break;
case CT_Slider: {
- GtkWidget *gtkSlider = QGtk::gtkWidget(QLS("GtkHScale"));
+ GtkWidget *gtkSlider = d->gtkWidget(QLS("GtkHScale"));
newSize = size + QSize(2*gtkSlider->style->xthickness, 2*gtkSlider->style->ythickness);
}
break;
@@ -3205,7 +3203,7 @@ QSize QGtkStyle::sizeFromContents(ContentsType type, const QStyleOption *option,
break;
case CT_LineEdit: {
- GtkWidget *gtkEntry = QGtk::gtkWidget(QLS("GtkEntry"));
+ GtkWidget *gtkEntry = d->gtkWidget(QLS("GtkEntry"));
newSize = size + QSize(2*gtkEntry->style->xthickness, 2*gtkEntry->style->ythickness);
}
break;
@@ -3216,7 +3214,7 @@ QSize QGtkStyle::sizeFromContents(ContentsType type, const QStyleOption *option,
case CT_ComboBox:
if (const QStyleOptionComboBox *combo = qstyleoption_cast<const QStyleOptionComboBox *>(option)) {
- GtkWidget *gtkCombo = QGtk::gtkWidget(QLS("GtkComboBox"));
+ GtkWidget *gtkCombo = d->gtkWidget(QLS("GtkComboBox"));
QRect arrowButtonRect = proxy()->subControlRect(CC_ComboBox, combo, SC_ComboBoxArrow, widget);
newSize = size + QSize(12 + arrowButtonRect.width() + 2*gtkCombo->style->xthickness, 4 + 2*gtkCombo->style->ythickness);
@@ -3249,7 +3247,9 @@ QSize QGtkStyle::sizeFromContents(ContentsType type, const QStyleOption *option,
QPixmap QGtkStyle::standardPixmap(StandardPixmap sp, const QStyleOption *option,
const QWidget *widget) const
{
- if (!QGtk::isThemeAvailable())
+ Q_D(const QGtkStyle);
+
+ if (!d->isThemeAvailable())
return QCleanlooksStyle::standardPixmap(sp, option, widget);
QPixmap pixmap;
@@ -3316,7 +3316,9 @@ QIcon QGtkStyle::standardIconImplementation(StandardPixmap standardIcon,
const QStyleOption *option,
const QWidget *widget) const
{
- if (!QGtk::isThemeAvailable())
+ Q_D(const QGtkStyle);
+
+ if (!d->isThemeAvailable())
return QCleanlooksStyle::standardIconImplementation(standardIcon, option, widget);
switch (standardIcon) {
case SP_DialogDiscardButton:
diff --git a/src/gui/styles/qgtkstyle.h b/src/gui/styles/qgtkstyle.h
index 20c2b52..5c3bad1 100644
--- a/src/gui/styles/qgtkstyle.h
+++ b/src/gui/styles/qgtkstyle.h
@@ -45,6 +45,7 @@
#include <QtGui/QCleanlooksStyle>
#include <QtGui/QPalette>
#include <QtGui/QFont>
+#include <QtGui/QFileDialog>
QT_BEGIN_HEADER
@@ -64,6 +65,8 @@ class Q_GUI_EXPORT QGtkStyle : public QCleanlooksStyle
public:
QGtkStyle();
+ QGtkStyle(QGtkStylePrivate &dd);
+
~QGtkStyle();
QPalette standardPalette() const;
@@ -107,12 +110,15 @@ public:
void unpolish(QWidget *widget);
void unpolish(QApplication *app);
+ static bool getGConfBool(const QString &key, bool fallback = 0);
+ static QString getGConfString(const QString &key, const QString &fallback = QString());
+
+
protected Q_SLOTS:
QIcon standardIconImplementation(StandardPixmap standardIcon, const QStyleOption *option,
const QWidget *widget = 0) const;
};
-
#endif //!defined(QT_NO_STYLE_QGTK)
QT_END_NAMESPACE
diff --git a/src/gui/styles/qgtkstyle_p.cpp b/src/gui/styles/qgtkstyle_p.cpp
new file mode 100644
index 0000000..7119a4f
--- /dev/null
+++ b/src/gui/styles/qgtkstyle_p.cpp
@@ -0,0 +1,1069 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtGui module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, 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.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "qgtkstyle_p.h"
+
+// This file is responsible for resolving all GTK functions we use
+// dynamically. This is done to avoid link-time dependancy on GTK
+// as well as crashes occurring due to usage of the GTK_QT engines
+//
+// Additionally we create a map of common GTK widgets that we can pass
+// to the GTK theme engine as many engines resort to querying the
+// actual widget pointers for details that are not covered by the
+// state flags
+
+#include <QtCore/qglobal.h>
+#if !defined(QT_NO_STYLE_GTK)
+
+#include <QtCore/QEvent>
+#include <QtCore/QFile>
+#include <QtCore/QStringList>
+#include <QtCore/QTextStream>
+#include <QtCore/QHash>
+#include <QtCore/QUrl>
+#include <QtCore/QLibrary>
+
+#include <private/qapplication_p.h>
+#include <private/qiconloader_p.h>
+
+#include <QtGui/QMenu>
+#include <QtGui/QStyle>
+#include <QtGui/QApplication>
+#include <QtGui/QPixmapCache>
+#include <QtGui/QStatusBar>
+#include <QtGui/QMenuBar>
+#include <QtGui/QToolBar>
+#include <QtGui/QToolButton>
+#include <QtGui/QX11Info>
+
+#include <private/qt_x11_p.h>
+
+QT_BEGIN_NAMESPACE
+
+static bool displayDepth = -1;
+Q_GLOBAL_STATIC(QGtkStyleUpdateScheduler, styleScheduler)
+
+Ptr_gtk_container_forall QGtkStylePrivate::gtk_container_forall = 0;
+Ptr_gtk_init QGtkStylePrivate::gtk_init = 0;
+Ptr_gtk_style_attach QGtkStylePrivate::gtk_style_attach = 0;
+Ptr_gtk_window_new QGtkStylePrivate::gtk_window_new = 0;
+Ptr_gtk_widget_destroy QGtkStylePrivate::gtk_widget_destroy = 0;
+Ptr_gtk_widget_realize QGtkStylePrivate::gtk_widget_realize = 0;
+Ptr_gtk_widget_set_default_direction QGtkStylePrivate::gtk_widget_set_default_direction = 0;
+Ptr_gtk_widget_modify_color QGtkStylePrivate::gtk_widget_modify_fg = 0;
+Ptr_gtk_widget_modify_color QGtkStylePrivate::gtk_widget_modify_bg = 0;
+Ptr_gtk_arrow_new QGtkStylePrivate::gtk_arrow_new = 0;
+Ptr_gtk_menu_item_new QGtkStylePrivate::gtk_menu_item_new = 0;
+Ptr_gtk_check_menu_item_new QGtkStylePrivate::gtk_check_menu_item_new = 0;
+Ptr_gtk_menu_bar_new QGtkStylePrivate::gtk_menu_bar_new = 0;
+Ptr_gtk_menu_new QGtkStylePrivate::gtk_menu_new = 0;
+Ptr_gtk_button_new QGtkStylePrivate::gtk_button_new = 0;
+Ptr_gtk_tool_button_new QGtkStylePrivate::gtk_tool_button_new = 0;
+Ptr_gtk_hbutton_box_new QGtkStylePrivate::gtk_hbutton_box_new = 0;
+Ptr_gtk_check_button_new QGtkStylePrivate::gtk_check_button_new = 0;
+Ptr_gtk_radio_button_new QGtkStylePrivate::gtk_radio_button_new = 0;
+Ptr_gtk_spin_button_new QGtkStylePrivate::gtk_spin_button_new = 0;
+Ptr_gtk_frame_new QGtkStylePrivate::gtk_frame_new = 0;
+Ptr_gtk_expander_new QGtkStylePrivate::gtk_expander_new = 0;
+Ptr_gtk_statusbar_new QGtkStylePrivate::gtk_statusbar_new = 0;
+Ptr_gtk_entry_new QGtkStylePrivate::gtk_entry_new = 0;
+Ptr_gtk_hscale_new QGtkStylePrivate::gtk_hscale_new = 0;
+Ptr_gtk_vscale_new QGtkStylePrivate::gtk_vscale_new = 0;
+Ptr_gtk_hscrollbar_new QGtkStylePrivate::gtk_hscrollbar_new = 0;
+Ptr_gtk_vscrollbar_new QGtkStylePrivate::gtk_vscrollbar_new = 0;
+Ptr_gtk_scrolled_window_new QGtkStylePrivate::gtk_scrolled_window_new = 0;
+Ptr_gtk_notebook_new QGtkStylePrivate::gtk_notebook_new = 0;
+Ptr_gtk_toolbar_new QGtkStylePrivate::gtk_toolbar_new = 0;
+Ptr_gtk_toolbar_insert QGtkStylePrivate::gtk_toolbar_insert = 0;
+Ptr_gtk_separator_tool_item_new QGtkStylePrivate::gtk_separator_tool_item_new = 0;
+Ptr_gtk_tree_view_new QGtkStylePrivate::gtk_tree_view_new = 0;
+Ptr_gtk_combo_box_new QGtkStylePrivate::gtk_combo_box_new = 0;
+Ptr_gtk_combo_box_entry_new QGtkStylePrivate::gtk_combo_box_entry_new = 0;
+Ptr_gtk_progress_bar_new QGtkStylePrivate::gtk_progress_bar_new = 0;
+Ptr_gtk_container_add QGtkStylePrivate::gtk_container_add = 0;
+Ptr_gtk_menu_shell_append QGtkStylePrivate::gtk_menu_shell_append = 0;
+Ptr_gtk_progress_set_adjustment QGtkStylePrivate::gtk_progress_set_adjustment = 0;
+Ptr_gtk_range_set_adjustment QGtkStylePrivate::gtk_range_set_adjustment = 0;
+Ptr_gtk_range_set_inverted QGtkStylePrivate::gtk_range_set_inverted = 0;
+Ptr_gtk_icon_factory_lookup_default QGtkStylePrivate::gtk_icon_factory_lookup_default = 0;
+Ptr_gtk_icon_theme_get_default QGtkStylePrivate::gtk_icon_theme_get_default = 0;
+Ptr_gtk_widget_style_get QGtkStylePrivate::gtk_widget_style_get = 0;
+Ptr_gtk_icon_set_render_icon QGtkStylePrivate::gtk_icon_set_render_icon = 0;
+Ptr_gtk_fixed_new QGtkStylePrivate::gtk_fixed_new = 0;
+Ptr_gtk_tree_view_column_new QGtkStylePrivate::gtk_tree_view_column_new = 0;
+Ptr_gtk_tree_view_get_column QGtkStylePrivate::gtk_tree_view_get_column = 0;
+Ptr_gtk_tree_view_append_column QGtkStylePrivate::gtk_tree_view_append_column = 0;
+Ptr_gtk_paint_check QGtkStylePrivate::gtk_paint_check = 0;
+Ptr_gtk_paint_box QGtkStylePrivate::gtk_paint_box = 0;
+Ptr_gtk_paint_box_gap QGtkStylePrivate::gtk_paint_box_gap = 0;
+Ptr_gtk_paint_flat_box QGtkStylePrivate::gtk_paint_flat_box = 0;
+Ptr_gtk_paint_option QGtkStylePrivate::gtk_paint_option = 0;
+Ptr_gtk_paint_extension QGtkStylePrivate::gtk_paint_extension = 0;
+Ptr_gtk_paint_slider QGtkStylePrivate::gtk_paint_slider = 0;
+Ptr_gtk_paint_shadow QGtkStylePrivate::gtk_paint_shadow = 0;
+Ptr_gtk_paint_resize_grip QGtkStylePrivate::gtk_paint_resize_grip = 0;
+Ptr_gtk_paint_focus QGtkStylePrivate::gtk_paint_focus = 0;
+Ptr_gtk_paint_arrow QGtkStylePrivate::gtk_paint_arrow = 0;
+Ptr_gtk_paint_handle QGtkStylePrivate::gtk_paint_handle = 0;
+Ptr_gtk_paint_expander QGtkStylePrivate::gtk_paint_expander = 0;
+Ptr_gtk_adjustment_new QGtkStylePrivate::gtk_adjustment_new = 0;
+Ptr_gtk_paint_hline QGtkStylePrivate::gtk_paint_hline = 0;
+Ptr_gtk_paint_vline QGtkStylePrivate::gtk_paint_vline = 0;
+Ptr_gtk_menu_item_set_submenu QGtkStylePrivate::gtk_menu_item_set_submenu = 0;
+Ptr_gtk_settings_get_default QGtkStylePrivate::gtk_settings_get_default = 0;
+Ptr_gtk_separator_menu_item_new QGtkStylePrivate::gtk_separator_menu_item_new = 0;
+Ptr_gtk_widget_size_allocate QGtkStylePrivate::gtk_widget_size_allocate = 0;
+Ptr_gtk_widget_set_direction QGtkStylePrivate::gtk_widget_set_direction = 0;
+Ptr_gtk_widget_path QGtkStylePrivate::gtk_widget_path = 0;
+Ptr_gtk_container_get_type QGtkStylePrivate::gtk_container_get_type = 0;
+Ptr_gtk_window_get_type QGtkStylePrivate::gtk_window_get_type = 0;
+Ptr_gtk_widget_get_type QGtkStylePrivate::gtk_widget_get_type = 0;
+Ptr_gtk_rc_get_style_by_paths QGtkStylePrivate::gtk_rc_get_style_by_paths = 0;
+Ptr_gtk_check_version QGtkStylePrivate::gtk_check_version = 0;
+
+Ptr_pango_font_description_get_size QGtkStylePrivate::pango_font_description_get_size = 0;
+Ptr_pango_font_description_get_weight QGtkStylePrivate::pango_font_description_get_weight = 0;
+Ptr_pango_font_description_get_family QGtkStylePrivate::pango_font_description_get_family = 0;
+Ptr_pango_font_description_get_style QGtkStylePrivate::pango_font_description_get_style = 0;
+
+Ptr_gtk_file_filter_new QGtkStylePrivate::gtk_file_filter_new = 0;
+Ptr_gtk_file_filter_set_name QGtkStylePrivate::gtk_file_filter_set_name = 0;
+Ptr_gtk_file_filter_add_pattern QGtkStylePrivate::gtk_file_filter_add_pattern = 0;
+Ptr_gtk_file_chooser_add_filter QGtkStylePrivate::gtk_file_chooser_add_filter = 0;
+Ptr_gtk_file_chooser_set_filter QGtkStylePrivate::gtk_file_chooser_set_filter = 0;
+Ptr_gtk_file_chooser_get_filter QGtkStylePrivate::gtk_file_chooser_get_filter = 0;
+Ptr_gtk_file_chooser_dialog_new QGtkStylePrivate::gtk_file_chooser_dialog_new = 0;
+Ptr_gtk_file_chooser_set_current_folder QGtkStylePrivate::gtk_file_chooser_set_current_folder = 0;
+Ptr_gtk_file_chooser_get_filename QGtkStylePrivate::gtk_file_chooser_get_filename = 0;
+Ptr_gtk_file_chooser_get_filenames QGtkStylePrivate::gtk_file_chooser_get_filenames = 0;
+Ptr_gtk_file_chooser_set_current_name QGtkStylePrivate::gtk_file_chooser_set_current_name = 0;
+Ptr_gtk_dialog_run QGtkStylePrivate::gtk_dialog_run = 0;
+Ptr_gtk_file_chooser_set_filename QGtkStylePrivate::gtk_file_chooser_set_filename = 0;
+
+Ptr_gdk_pixbuf_get_pixels QGtkStylePrivate::gdk_pixbuf_get_pixels = 0;
+Ptr_gdk_pixbuf_get_width QGtkStylePrivate::gdk_pixbuf_get_width = 0;
+Ptr_gdk_pixbuf_get_height QGtkStylePrivate::gdk_pixbuf_get_height = 0;
+Ptr_gdk_pixmap_new QGtkStylePrivate::gdk_pixmap_new = 0;
+Ptr_gdk_pixbuf_new QGtkStylePrivate::gdk_pixbuf_new = 0;
+Ptr_gdk_pixbuf_get_from_drawable QGtkStylePrivate::gdk_pixbuf_get_from_drawable = 0;
+Ptr_gdk_draw_rectangle QGtkStylePrivate::gdk_draw_rectangle = 0;
+Ptr_gdk_pixbuf_unref QGtkStylePrivate::gdk_pixbuf_unref = 0;
+Ptr_gdk_drawable_unref QGtkStylePrivate::gdk_drawable_unref = 0;
+Ptr_gdk_drawable_get_depth QGtkStylePrivate::gdk_drawable_get_depth = 0;
+Ptr_gdk_color_free QGtkStylePrivate::gdk_color_free = 0;
+Ptr_gdk_x11_window_set_user_time QGtkStylePrivate::gdk_x11_window_set_user_time = 0;
+Ptr_gdk_x11_drawable_get_xid QGtkStylePrivate::gdk_x11_drawable_get_xid = 0;
+Ptr_gdk_x11_drawable_get_xdisplay QGtkStylePrivate::gdk_x11_drawable_get_xdisplay = 0;
+
+Ptr_gconf_client_get_default QGtkStylePrivate::gconf_client_get_default = 0;
+Ptr_gconf_client_get_string QGtkStylePrivate::gconf_client_get_string = 0;
+Ptr_gconf_client_get_bool QGtkStylePrivate::gconf_client_get_bool = 0;
+
+Ptr_gnome_icon_lookup_sync QGtkStylePrivate::gnome_icon_lookup_sync = 0;
+Ptr_gnome_vfs_init QGtkStylePrivate::gnome_vfs_init = 0;
+
+typedef int (*x11ErrorHandler)(Display*, XErrorEvent*);
+
+static void gtkStyleSetCallback(GtkWidget*, QGtkStylePrivate* stylePrivate)
+{
+ // We have to let this function return and complete the event
+ // loop to ensure that all gtk widgets have been styled before
+ // updating
+ QMetaObject::invokeMethod(styleScheduler(), "updateTheme", Qt::QueuedConnection, Q_ARG(QGtkStylePrivate*, stylePrivate));
+}
+
+static void update_toolbar_style(GtkWidget *gtkToolBar, GParamSpec *, gpointer)
+{
+ GtkToolbarStyle toolbar_style = GTK_TOOLBAR_ICONS;
+ g_object_get(gtkToolBar, "toolbar-style", &toolbar_style, NULL);
+ QWidgetList widgets = QApplication::allWidgets();
+ for (int i = 0; i < widgets.size(); ++i) {
+ QWidget *widget = widgets.at(i);
+ if (qobject_cast<QToolButton*>(widget)) {
+ QEvent event(QEvent::StyleChange);
+ QApplication::sendEvent(widget, &event);
+ }
+ }
+}
+
+static QString classPath(GtkWidget *widget)
+{
+ char* class_path;
+ QGtkStylePrivate::gtk_widget_path (widget, NULL, &class_path, NULL);
+ QString path = QLS(class_path);
+ g_free(class_path);
+
+ // Remove the prefixes
+ path.remove(QLS("GtkWindow."));
+ path.remove(QLS("GtkFixed."));
+ return path;
+}
+
+
+
+bool QGtkStyleFilter::eventFilter(QObject *obj, QEvent *e)
+{
+ if (e->type() == QEvent::ApplicationPaletteChange) {
+ // Only do this the first time since this will also
+ // generate applicationPaletteChange events
+ if (!qt_app_palettes_hash() || qt_app_palettes_hash()->isEmpty()) {
+ stylePrivate->applyCustomPaletteHash();
+ }
+ }
+ return QObject::eventFilter(obj, e);
+}
+
+QGtkStylePrivate::QGtkStylePrivate()
+ : QCleanlooksStylePrivate()
+ , filter(this)
+{
+}
+
+void QGtkStylePrivate::init()
+{
+ resolveGtk();
+ initGtkWidgets();
+ if (isThemeAvailable())
+ qApp->installEventFilter(&filter);
+}
+
+GtkWidget* QGtkStylePrivate::gtkWidget(const QString &path)
+{
+ GtkWidget *widget = gtkWidgetMap()->value(path);
+ if (!widget) {
+ // Theme might have rearranged widget internals
+ widget = gtkWidgetMap()->value(path);
+ }
+ return widget;
+}
+
+GtkStyle* QGtkStylePrivate::gtkStyle(const QString &path)
+{
+ if (gtkWidgetMap()->contains(path))
+ return gtkWidgetMap()->value(path)->style;
+ return 0;
+}
+
+/*! \internal
+ * Get references to gtk functions after we dynamically load the library.
+ */
+void QGtkStylePrivate::resolveGtk()
+{
+ // enforce the "0" suffix, so we'll open libgtk-x11-2.0.so.0
+ QLibrary libgtk(QLS("gtk-x11-2.0"), 0, 0);
+
+ gtk_init = (Ptr_gtk_init)libgtk.resolve("gtk_init");
+ gtk_window_new = (Ptr_gtk_window_new)libgtk.resolve("gtk_window_new");
+ gtk_style_attach = (Ptr_gtk_style_attach)libgtk.resolve("gtk_style_attach");
+ gtk_widget_destroy = (Ptr_gtk_widget_destroy)libgtk.resolve("gtk_widget_destroy");
+ gtk_widget_realize = (Ptr_gtk_widget_realize)libgtk.resolve("gtk_widget_realize");
+
+ gtk_file_chooser_set_current_folder = (Ptr_gtk_file_chooser_set_current_folder)libgtk.resolve("gtk_file_chooser_set_current_folder");
+ gtk_file_filter_new = (Ptr_gtk_file_filter_new)libgtk.resolve("gtk_file_filter_new");
+ gtk_file_filter_set_name = (Ptr_gtk_file_filter_set_name)libgtk.resolve("gtk_file_filter_set_name");
+ gtk_file_filter_add_pattern = (Ptr_gtk_file_filter_add_pattern)libgtk.resolve("gtk_file_filter_add_pattern");
+ gtk_file_chooser_add_filter = (Ptr_gtk_file_chooser_add_filter)libgtk.resolve("gtk_file_chooser_add_filter");
+ gtk_file_chooser_set_filter = (Ptr_gtk_file_chooser_set_filter)libgtk.resolve("gtk_file_chooser_set_filter");
+ gtk_file_chooser_get_filter = (Ptr_gtk_file_chooser_get_filter)libgtk.resolve("gtk_file_chooser_get_filter");
+ gtk_file_chooser_dialog_new = (Ptr_gtk_file_chooser_dialog_new)libgtk.resolve("gtk_file_chooser_dialog_new");
+ gtk_file_chooser_set_current_folder = (Ptr_gtk_file_chooser_set_current_folder)libgtk.resolve("gtk_file_chooser_set_current_folder");
+ gtk_file_chooser_get_filename = (Ptr_gtk_file_chooser_get_filename)libgtk.resolve("gtk_file_chooser_get_filename");
+ gtk_file_chooser_get_filenames = (Ptr_gtk_file_chooser_get_filenames)libgtk.resolve("gtk_file_chooser_get_filenames");
+ gtk_file_chooser_set_current_name = (Ptr_gtk_file_chooser_set_current_name)libgtk.resolve("gtk_file_chooser_set_current_name");
+ gtk_dialog_run = (Ptr_gtk_dialog_run)libgtk.resolve("gtk_dialog_run");
+ gtk_file_chooser_set_filename = (Ptr_gtk_file_chooser_set_filename)libgtk.resolve("gtk_file_chooser_set_filename");
+
+ gdk_pixbuf_get_pixels = (Ptr_gdk_pixbuf_get_pixels)libgtk.resolve("gdk_pixbuf_get_pixels");
+ gdk_pixbuf_get_width = (Ptr_gdk_pixbuf_get_width)libgtk.resolve("gdk_pixbuf_get_width");
+ gdk_pixbuf_get_height = (Ptr_gdk_pixbuf_get_height)libgtk.resolve("gdk_pixbuf_get_height");
+ gdk_pixmap_new = (Ptr_gdk_pixmap_new)libgtk.resolve("gdk_pixmap_new");
+ gdk_pixbuf_new = (Ptr_gdk_pixbuf_new)libgtk.resolve("gdk_pixbuf_new");
+ gdk_pixbuf_get_from_drawable = (Ptr_gdk_pixbuf_get_from_drawable)libgtk.resolve("gdk_pixbuf_get_from_drawable");
+ gdk_draw_rectangle = (Ptr_gdk_draw_rectangle)libgtk.resolve("gdk_draw_rectangle");
+ gdk_pixbuf_unref = (Ptr_gdk_pixbuf_unref)libgtk.resolve("gdk_pixbuf_unref");
+ gdk_drawable_unref = (Ptr_gdk_drawable_unref)libgtk.resolve("gdk_drawable_unref");
+ gdk_drawable_get_depth = (Ptr_gdk_drawable_get_depth)libgtk.resolve("gdk_drawable_get_depth");
+ gdk_color_free = (Ptr_gdk_color_free)libgtk.resolve("gdk_color_free");
+ gdk_x11_window_set_user_time = (Ptr_gdk_x11_window_set_user_time)libgtk.resolve("gdk_x11_window_set_user_time");
+ gdk_x11_drawable_get_xid = (Ptr_gdk_x11_drawable_get_xid)libgtk.resolve("gdk_x11_drawable_get_xid");
+ gdk_x11_drawable_get_xdisplay = (Ptr_gdk_x11_drawable_get_xdisplay)libgtk.resolve("gdk_x11_drawable_get_xdisplay");
+
+ gtk_widget_set_default_direction = (Ptr_gtk_widget_set_default_direction)libgtk.resolve("gtk_widget_set_default_direction");
+ gtk_widget_modify_fg = (Ptr_gtk_widget_modify_color)libgtk.resolve("gtk_widget_modify_fg");
+ gtk_widget_modify_bg = (Ptr_gtk_widget_modify_color)libgtk.resolve("gtk_widget_modify_bg");
+ gtk_arrow_new = (Ptr_gtk_arrow_new)libgtk.resolve("gtk_arrow_new");
+ gtk_menu_item_new = (Ptr_gtk_menu_item_new)libgtk.resolve("gtk_menu_item_new");
+ gtk_check_menu_item_new = (Ptr_gtk_check_menu_item_new)libgtk.resolve("gtk_check_menu_item_new");
+ gtk_menu_bar_new = (Ptr_gtk_menu_bar_new)libgtk.resolve("gtk_menu_bar_new");
+ gtk_menu_new = (Ptr_gtk_menu_new)libgtk.resolve("gtk_menu_new");
+ gtk_toolbar_new = (Ptr_gtk_toolbar_new)libgtk.resolve("gtk_toolbar_new");
+ gtk_separator_tool_item_new = (Ptr_gtk_separator_tool_item_new)libgtk.resolve("gtk_separator_tool_item_new");
+ gtk_toolbar_insert = (Ptr_gtk_toolbar_insert)libgtk.resolve("gtk_toolbar_insert");
+ gtk_button_new = (Ptr_gtk_button_new)libgtk.resolve("gtk_button_new");
+ gtk_tool_button_new = (Ptr_gtk_tool_button_new)libgtk.resolve("gtk_tool_button_new");
+ gtk_hbutton_box_new = (Ptr_gtk_hbutton_box_new)libgtk.resolve("gtk_hbutton_box_new");
+ gtk_check_button_new = (Ptr_gtk_check_button_new)libgtk.resolve("gtk_check_button_new");
+ gtk_radio_button_new = (Ptr_gtk_radio_button_new)libgtk.resolve("gtk_radio_button_new");
+ gtk_notebook_new = (Ptr_gtk_notebook_new)libgtk.resolve("gtk_notebook_new");
+ gtk_progress_bar_new = (Ptr_gtk_progress_bar_new)libgtk.resolve("gtk_progress_bar_new");
+ gtk_spin_button_new = (Ptr_gtk_spin_button_new)libgtk.resolve("gtk_spin_button_new");
+ gtk_hscale_new = (Ptr_gtk_hscale_new)libgtk.resolve("gtk_hscale_new");
+ gtk_vscale_new = (Ptr_gtk_vscale_new)libgtk.resolve("gtk_vscale_new");
+ gtk_hscrollbar_new = (Ptr_gtk_hscrollbar_new)libgtk.resolve("gtk_hscrollbar_new");
+ gtk_vscrollbar_new = (Ptr_gtk_vscrollbar_new)libgtk.resolve("gtk_vscrollbar_new");
+ gtk_scrolled_window_new = (Ptr_gtk_scrolled_window_new)libgtk.resolve("gtk_scrolled_window_new");
+ gtk_menu_shell_append = (Ptr_gtk_menu_shell_append)libgtk.resolve("gtk_menu_shell_append");
+ gtk_entry_new = (Ptr_gtk_entry_new)libgtk.resolve("gtk_entry_new");
+ gtk_tree_view_new = (Ptr_gtk_tree_view_new)libgtk.resolve("gtk_tree_view_new");
+ gtk_combo_box_new = (Ptr_gtk_combo_box_new)libgtk.resolve("gtk_combo_box_new");
+ gtk_progress_set_adjustment = (Ptr_gtk_progress_set_adjustment)libgtk.resolve("gtk_progress_set_adjustment");
+ gtk_range_set_adjustment = (Ptr_gtk_range_set_adjustment)libgtk.resolve("gtk_range_set_adjustment");
+ gtk_range_set_inverted = (Ptr_gtk_range_set_inverted)libgtk.resolve("gtk_range_set_inverted");
+ gtk_container_add = (Ptr_gtk_container_add)libgtk.resolve("gtk_container_add");
+ gtk_icon_factory_lookup_default = (Ptr_gtk_icon_factory_lookup_default)libgtk.resolve("gtk_icon_factory_lookup_default");
+ gtk_icon_theme_get_default = (Ptr_gtk_icon_theme_get_default)libgtk.resolve("gtk_icon_theme_get_default");
+ gtk_widget_style_get = (Ptr_gtk_widget_style_get)libgtk.resolve("gtk_widget_style_get");
+ gtk_icon_set_render_icon = (Ptr_gtk_icon_set_render_icon)libgtk.resolve("gtk_icon_set_render_icon");
+ gtk_fixed_new = (Ptr_gtk_fixed_new)libgtk.resolve("gtk_fixed_new");
+ gtk_tree_view_column_new = (Ptr_gtk_tree_view_column_new)libgtk.resolve("gtk_tree_view_column_new");
+ gtk_tree_view_append_column= (Ptr_gtk_tree_view_append_column )libgtk.resolve("gtk_tree_view_append_column");
+ gtk_tree_view_get_column = (Ptr_gtk_tree_view_get_column )libgtk.resolve("gtk_tree_view_get_column");
+ gtk_paint_check = (Ptr_gtk_paint_check)libgtk.resolve("gtk_paint_check");
+ gtk_paint_box = (Ptr_gtk_paint_box)libgtk.resolve("gtk_paint_box");
+ gtk_paint_flat_box = (Ptr_gtk_paint_flat_box)libgtk.resolve("gtk_paint_flat_box");
+ gtk_paint_check = (Ptr_gtk_paint_check)libgtk.resolve("gtk_paint_check");
+ gtk_paint_box = (Ptr_gtk_paint_box)libgtk.resolve("gtk_paint_box");
+ gtk_paint_resize_grip = (Ptr_gtk_paint_resize_grip)libgtk.resolve("gtk_paint_resize_grip");
+ gtk_paint_focus = (Ptr_gtk_paint_focus)libgtk.resolve("gtk_paint_focus");
+ gtk_paint_shadow = (Ptr_gtk_paint_shadow)libgtk.resolve("gtk_paint_shadow");
+ gtk_paint_slider = (Ptr_gtk_paint_slider)libgtk.resolve("gtk_paint_slider");
+ gtk_paint_expander = (Ptr_gtk_paint_expander)libgtk.resolve("gtk_paint_expander");
+ gtk_paint_handle = (Ptr_gtk_paint_handle)libgtk.resolve("gtk_paint_handle");
+ gtk_paint_option = (Ptr_gtk_paint_option)libgtk.resolve("gtk_paint_option");
+ gtk_paint_arrow = (Ptr_gtk_paint_arrow)libgtk.resolve("gtk_paint_arrow");
+ gtk_paint_box_gap = (Ptr_gtk_paint_box_gap)libgtk.resolve("gtk_paint_box_gap");
+ gtk_paint_extension = (Ptr_gtk_paint_extension)libgtk.resolve("gtk_paint_extension");
+ gtk_paint_hline = (Ptr_gtk_paint_hline)libgtk.resolve("gtk_paint_hline");
+ gtk_paint_vline = (Ptr_gtk_paint_vline)libgtk.resolve("gtk_paint_vline");
+ gtk_adjustment_new = (Ptr_gtk_adjustment_new)libgtk.resolve("gtk_adjustment_new");
+ gtk_menu_item_set_submenu = (Ptr_gtk_menu_item_set_submenu)libgtk.resolve("gtk_menu_item_set_submenu");
+ gtk_settings_get_default = (Ptr_gtk_settings_get_default)libgtk.resolve("gtk_settings_get_default");
+ gtk_separator_menu_item_new = (Ptr_gtk_separator_menu_item_new)libgtk.resolve("gtk_separator_menu_item_new");
+ gtk_frame_new = (Ptr_gtk_frame_new)libgtk.resolve("gtk_frame_new");
+ gtk_expander_new = (Ptr_gtk_expander_new)libgtk.resolve("gtk_expander_new");
+ gtk_statusbar_new = (Ptr_gtk_statusbar_new)libgtk.resolve("gtk_statusbar_new");
+ gtk_combo_box_entry_new = (Ptr_gtk_combo_box_entry_new)libgtk.resolve("gtk_combo_box_entry_new");
+ gtk_container_forall = (Ptr_gtk_container_forall)libgtk.resolve("gtk_container_forall");
+ gtk_widget_size_allocate =(Ptr_gtk_widget_size_allocate)libgtk.resolve("gtk_widget_size_allocate");
+ gtk_widget_set_direction =(Ptr_gtk_widget_set_direction)libgtk.resolve("gtk_widget_set_direction");
+ gtk_widget_path =(Ptr_gtk_widget_path)libgtk.resolve("gtk_widget_path");
+ gtk_container_get_type =(Ptr_gtk_container_get_type)libgtk.resolve("gtk_container_get_type");
+ gtk_window_get_type =(Ptr_gtk_window_get_type)libgtk.resolve("gtk_window_get_type");
+ gtk_widget_get_type =(Ptr_gtk_widget_get_type)libgtk.resolve("gtk_widget_get_type");
+ gtk_rc_get_style_by_paths =(Ptr_gtk_rc_get_style_by_paths)libgtk.resolve("gtk_rc_get_style_by_paths");
+ gtk_check_version =(Ptr_gtk_check_version)libgtk.resolve("gtk_check_version");
+ pango_font_description_get_size = (Ptr_pango_font_description_get_size)libgtk.resolve("pango_font_description_get_size");
+ pango_font_description_get_weight = (Ptr_pango_font_description_get_weight)libgtk.resolve("pango_font_description_get_weight");
+ pango_font_description_get_family = (Ptr_pango_font_description_get_family)libgtk.resolve("pango_font_description_get_family");
+ pango_font_description_get_style = (Ptr_pango_font_description_get_style)libgtk.resolve("pango_font_description_get_style");
+
+ gnome_icon_lookup_sync = (Ptr_gnome_icon_lookup_sync)QLibrary::resolve(QLS("gnomeui-2"), 0, "gnome_icon_lookup_sync");
+ gnome_vfs_init= (Ptr_gnome_vfs_init)QLibrary::resolve(QLS("gnomevfs-2"), 0, "gnome_vfs_init");
+}
+
+/* \internal
+ * Initializes a number of gtk menu widgets.
+ * The widgets are cached.
+ */
+void QGtkStylePrivate::initGtkMenu()
+{
+ // Create menubar
+ GtkWidget *gtkMenuBar = QGtkStylePrivate::gtk_menu_bar_new();
+ setupGtkWidget(gtkMenuBar);
+
+ GtkWidget *gtkMenuBarItem = QGtkStylePrivate::gtk_menu_item_new();
+ gtk_menu_shell_append((GtkMenuShell*)(gtkMenuBar), gtkMenuBarItem);
+ gtk_widget_realize(gtkMenuBarItem);
+
+ // Create menu
+ GtkWidget *gtkMenu = QGtkStylePrivate::gtk_menu_new();
+ gtk_menu_item_set_submenu((GtkMenuItem*)(gtkMenuBarItem), gtkMenu);
+ gtk_widget_realize(gtkMenu);
+
+ GtkWidget *gtkMenuItem = QGtkStylePrivate::gtk_menu_item_new();
+ gtk_menu_shell_append((GtkMenuShell*)gtkMenu, gtkMenuItem);
+ gtk_widget_realize(gtkMenuItem);
+
+ GtkWidget *gtkCheckMenuItem = QGtkStylePrivate::gtk_check_menu_item_new();
+ gtk_menu_shell_append((GtkMenuShell*)gtkMenu, gtkCheckMenuItem);
+ gtk_widget_realize(gtkCheckMenuItem);
+
+ GtkWidget *gtkMenuSeparator = QGtkStylePrivate::gtk_separator_menu_item_new();
+ gtk_menu_shell_append((GtkMenuShell*)gtkMenu, gtkMenuSeparator);
+
+ addAllSubWidgets(gtkMenuBar);
+ addAllSubWidgets(gtkMenu);
+}
+
+
+void QGtkStylePrivate::initGtkTreeview()
+{
+ GtkWidget *gtkTreeView = gtk_tree_view_new();
+ gtk_tree_view_append_column((GtkTreeView*)gtkTreeView, gtk_tree_view_column_new());
+ gtk_tree_view_append_column((GtkTreeView*)gtkTreeView, gtk_tree_view_column_new());
+ gtk_tree_view_append_column((GtkTreeView*)gtkTreeView, gtk_tree_view_column_new());
+ addWidget(gtkTreeView);
+}
+
+
+/* \internal
+ * Initializes a number of gtk widgets that we can later on use to determine some of our styles.
+ * The widgets are cached.
+ */
+void QGtkStylePrivate::initGtkWidgets()
+{
+ // From gtkmain.c
+ uid_t ruid = getuid ();
+ uid_t rgid = getgid ();
+ uid_t euid = geteuid ();
+ uid_t egid = getegid ();
+ if (ruid != euid || rgid != egid) {
+ qWarning("\nThis process is currently running setuid or setgid.\nGTK+ does not allow this "
+ "therefore Qt cannot use the GTK+ integration.\nTry launching your app using \'gksudo\', "
+ "\'kdesudo\' or a similar tool.\n\n"
+ "See http://www.gtk.org/setuid.html for more information.\n");
+ return;
+ }
+
+ static QString themeName;
+ if (!gtkWidgetMap()->contains(QLS("GtkWindow")) && themeName.isEmpty()) {
+ themeName = getThemeName();
+
+ if (themeName.isEmpty()) {
+ qWarning("QGtkStyle was unable to detect the current GTK+ theme.");
+ return;
+ } else if (themeName == QLS("Qt") || themeName == QLS("Qt4")) {
+ // Due to namespace conflicts with Qt3 and obvious recursion with Qt4,
+ // we cannot support the GTK_Qt Gtk engine
+ qWarning("QGtkStyle cannot be used together with the GTK_Qt engine.");
+ return;
+ }
+ }
+
+ if (QGtkStylePrivate::gtk_init) {
+ // Gtk will set the Qt error handler so we have to reset it afterwards
+ x11ErrorHandler qt_x_errhandler = XSetErrorHandler(0);
+ QGtkStylePrivate::gtk_init (NULL, NULL);
+ XSetErrorHandler(qt_x_errhandler);
+
+ // make a window
+ GtkWidget* gtkWindow = QGtkStylePrivate::gtk_window_new(GTK_WINDOW_POPUP);
+ QGtkStylePrivate::gtk_widget_realize(gtkWindow);
+ if (displayDepth == -1)
+ displayDepth = QGtkStylePrivate::gdk_drawable_get_depth(gtkWindow->window);
+ gtkWidgetMap()->insert(QLS("GtkWindow"), gtkWindow);
+
+
+ // Make all other widgets. respect the text direction
+ if (qApp->layoutDirection() == Qt::RightToLeft)
+ QGtkStylePrivate::gtk_widget_set_default_direction(GTK_TEXT_DIR_RTL);
+
+ if (!gtkWidgetMap()->contains(QLS("GtkButton"))) {
+ GtkWidget *gtkButton = QGtkStylePrivate::gtk_button_new();
+ addWidget(gtkButton);
+ g_signal_connect(gtkButton, "style-set", G_CALLBACK(gtkStyleSetCallback), this);
+ addWidget(QGtkStylePrivate::gtk_tool_button_new(NULL, NULL));
+ addWidget(QGtkStylePrivate::gtk_arrow_new(GTK_ARROW_DOWN, GTK_SHADOW_NONE));
+ addWidget(QGtkStylePrivate::gtk_hbutton_box_new());
+ addWidget(QGtkStylePrivate::gtk_check_button_new());
+ addWidget(QGtkStylePrivate::gtk_radio_button_new(NULL));
+ addWidget(QGtkStylePrivate::gtk_combo_box_new());
+ addWidget(QGtkStylePrivate::gtk_combo_box_entry_new());
+ addWidget(QGtkStylePrivate::gtk_entry_new());
+ addWidget(QGtkStylePrivate::gtk_frame_new(NULL));
+ addWidget(QGtkStylePrivate::gtk_expander_new(""));
+ addWidget(QGtkStylePrivate::gtk_statusbar_new());
+ addWidget(QGtkStylePrivate::gtk_hscale_new((GtkAdjustment*)(QGtkStylePrivate::gtk_adjustment_new(1, 0, 1, 0, 0, 0))));
+ addWidget(QGtkStylePrivate::gtk_hscrollbar_new(NULL));
+ addWidget(QGtkStylePrivate::gtk_scrolled_window_new(NULL, NULL));
+
+ initGtkMenu();
+ addWidget(QGtkStylePrivate::gtk_notebook_new());
+ addWidget(QGtkStylePrivate::gtk_progress_bar_new());
+ addWidget(QGtkStylePrivate::gtk_spin_button_new((GtkAdjustment*)
+ (QGtkStylePrivate::gtk_adjustment_new(1, 0, 1, 0, 0, 0)), 0.1, 3));
+ GtkWidget *toolbar = gtk_toolbar_new();
+ g_signal_connect (toolbar, "notify::toolbar-style", G_CALLBACK (update_toolbar_style), toolbar);
+ gtk_toolbar_insert((GtkToolbar*)toolbar, gtk_separator_tool_item_new(), -1);
+ addWidget(toolbar);
+ initGtkTreeview();
+ addWidget(gtk_vscale_new((GtkAdjustment*)(QGtkStylePrivate::gtk_adjustment_new(1, 0, 1, 0, 0, 0))));
+ addWidget(gtk_vscrollbar_new(NULL));
+ }
+ else // Rebuild map
+ {
+ // When styles change subwidgets can get rearranged
+ // as with the combo box. We need to update the widget map
+ // to reflect this;
+ QHash<QString, GtkWidget*> oldMap = *gtkWidgetMap();
+ gtkWidgetMap()->clear();
+ QHashIterator<QString, GtkWidget*> it(oldMap);
+ while (it.hasNext()) {
+ it.next();
+ if (!it.key().contains(QLatin1Char('.'))) {
+ addAllSubWidgets(it.value());
+ }
+ }
+ }
+ } else {
+ qWarning("QGtkStyle could not resolve GTK. Make sure you have installed the proper libraries.");
+ }
+}
+
+/*! \internal
+ * destroys all previously buffered widgets.
+ */
+void QGtkStylePrivate::cleanupGtkWidgets()
+{
+ if (gtkWidgetMap()->contains(QLS("GtkWindow"))) // Gtk will destroy all children
+ gtk_widget_destroy(gtkWidgetMap()->value(QLS("GtkWindow")));
+}
+
+static bool resolveGConf()
+{
+ if (!QGtkStylePrivate::gconf_client_get_default) {
+ QGtkStylePrivate::gconf_client_get_default = (Ptr_gconf_client_get_default)QLibrary::resolve(QLS("gconf-2"), 4, "gconf_client_get_default");
+ QGtkStylePrivate::gconf_client_get_string = (Ptr_gconf_client_get_string)QLibrary::resolve(QLS("gconf-2"), 4, "gconf_client_get_string");
+ QGtkStylePrivate::gconf_client_get_bool = (Ptr_gconf_client_get_bool)QLibrary::resolve(QLS("gconf-2"), 4, "gconf_client_get_bool");
+ }
+ return (QGtkStylePrivate::gconf_client_get_default !=0);
+}
+
+QString QGtkStylePrivate::getGConfString(const QString &value, const QString &fallback)
+{
+ QString retVal = fallback;
+ if (resolveGConf()) {
+ g_type_init();
+ GConfClient* client = gconf_client_get_default();
+ GError *err = 0;
+ char *str = gconf_client_get_string(client, qPrintable(value), &err);
+ if (!err) {
+ retVal = QString::fromUtf8(str);
+ g_free(str);
+ }
+ g_object_unref(client);
+ if (err)
+ g_error_free (err);
+ }
+ return retVal;
+}
+
+bool QGtkStylePrivate::getGConfBool(const QString &key, bool fallback)
+{
+ bool retVal = fallback;
+ if (resolveGConf()) {
+ g_type_init();
+ GConfClient* client = gconf_client_get_default();
+ GError *err = 0;
+ bool result = gconf_client_get_bool(client, qPrintable(key), &err);
+ g_object_unref(client);
+ if (!err)
+ retVal = result;
+ else
+ g_error_free (err);
+ }
+ return retVal;
+}
+
+QString QGtkStylePrivate::getThemeName() const
+{
+ QString themeName;
+ // We try to parse the gtkrc file first
+ // primarily to avoid resolving Gtk functions if
+ // the KDE 3 "Qt" style is currently in use
+ QString rcPaths = QString::fromLocal8Bit(qgetenv("GTK2_RC_FILES"));
+ if (!rcPaths.isEmpty()) {
+ QStringList paths = rcPaths.split(QLS(":"));
+ foreach (const QString &rcPath, paths) {
+ if (!rcPath.isEmpty()) {
+ QFile rcFile(rcPath);
+ if (rcFile.exists() && rcFile.open(QIODevice::ReadOnly | QIODevice::Text)) {
+ QTextStream in(&rcFile);
+ while(!in.atEnd()) {
+ QString line = in.readLine();
+ if (line.contains(QLS("gtk-theme-name"))) {
+ line = line.right(line.length() - line.indexOf(QLatin1Char('=')) - 1);
+ line.remove(QLatin1Char('\"'));
+ line = line.trimmed();
+ themeName = line;
+ break;
+ }
+ }
+ }
+ }
+ if (!themeName.isEmpty())
+ break;
+ }
+ }
+
+ // Fall back to gconf
+ if (themeName.isEmpty() && resolveGConf())
+ themeName = getGConfString(QLS("/desktop/gnome/interface/gtk_theme"));
+
+ return themeName;
+}
+
+// Get size of the arrow controls in a GtkSpinButton
+int QGtkStylePrivate::getSpinboxArrowSize() const
+{
+ const int MIN_ARROW_WIDTH = 6;
+ GtkWidget *spinButton = gtkWidget(QLS("GtkSpinButton"));
+ GtkStyle *style = spinButton->style;
+ gint size = pango_font_description_get_size (style->font_desc);
+ gint arrow_size;
+ arrow_size = qMax(PANGO_PIXELS (size), MIN_ARROW_WIDTH) + style->xthickness;
+ arrow_size += arrow_size%2 + 1;
+ return arrow_size;
+}
+
+
+bool QGtkStylePrivate::isKDE4Session()
+{
+ static int version = -1;
+ if (version == -1)
+ version = qgetenv("KDE_SESSION_VERSION").toInt();
+ return (version == 4);
+}
+
+void QGtkStylePrivate::applyCustomPaletteHash()
+{
+ QPalette menuPal = gtkWidgetPalette(QLS("GtkMenu"));
+ GdkColor gdkBg = gtkWidget(QLS("GtkMenu"))->style->bg[GTK_STATE_NORMAL];
+ QColor bgColor(gdkBg.red>>8, gdkBg.green>>8, gdkBg.blue>>8);
+ menuPal.setBrush(QPalette::Base, bgColor);
+ menuPal.setBrush(QPalette::Window, bgColor);
+ qApp->setPalette(menuPal, "QMenu");
+
+ QPalette toolbarPal = gtkWidgetPalette(QLS("GtkToolbar"));
+ qApp->setPalette(toolbarPal, "QToolBar");
+
+ QPalette menuBarPal = gtkWidgetPalette(QLS("GtkMenuBar"));
+ qApp->setPalette(menuBarPal, "QMenuBar");
+}
+
+/*! \internal
+ * Returns the gtk Widget that should be used to determine text foreground and background colors.
+*/
+GtkWidget* QGtkStylePrivate::getTextColorWidget() const
+{
+ return gtkWidget(QLS("GtkEntry"));
+}
+
+void QGtkStylePrivate::setupGtkWidget(GtkWidget* widget)
+{
+ if (Q_GTK_IS_WIDGET(widget)) {
+ static GtkWidget* protoLayout = 0;
+ if (!protoLayout) {
+ protoLayout = QGtkStylePrivate::gtk_fixed_new();
+ QGtkStylePrivate::gtk_container_add((GtkContainer*)(gtkWidgetMap()->value(QLS("GtkWindow"))), protoLayout);
+ }
+ Q_ASSERT(protoLayout);
+
+ if (!widget->parent && !GTK_WIDGET_TOPLEVEL(widget))
+ QGtkStylePrivate::gtk_container_add((GtkContainer*)(protoLayout), widget);
+ QGtkStylePrivate::gtk_widget_realize(widget);
+ }
+}
+
+void QGtkStylePrivate::addWidgetToMap(GtkWidget *widget)
+{
+ if (Q_GTK_IS_WIDGET(widget)) {
+ gtk_widget_realize(widget);
+ gtkWidgetMap()->insert(classPath(widget), widget);
+ }
+ }
+
+void QGtkStylePrivate::addAllSubWidgets(GtkWidget *widget, gpointer v)
+{
+ Q_UNUSED(v);
+ addWidgetToMap(widget);
+ if (GTK_CHECK_TYPE ((widget), gtk_container_get_type()))
+ gtk_container_forall((GtkContainer*)widget, addAllSubWidgets, NULL);
+}
+
+// Updates window/windowtext palette based on the indicated gtk widget
+QPalette QGtkStylePrivate::gtkWidgetPalette(const QString &gtkWidgetName)
+{
+ GtkWidget *gtkWidget = QGtkStylePrivate::gtkWidget(gtkWidgetName);
+ Q_ASSERT(gtkWidget);
+ QPalette pal = QApplication::palette();
+ GdkColor gdkBg = gtkWidget->style->bg[GTK_STATE_NORMAL];
+ GdkColor gdkText = gtkWidget->style->fg[GTK_STATE_NORMAL];
+ GdkColor gdkDisabledText = gtkWidget->style->fg[GTK_STATE_INSENSITIVE];
+ QColor bgColor(gdkBg.red>>8, gdkBg.green>>8, gdkBg.blue>>8);
+ QColor textColor(gdkText.red>>8, gdkText.green>>8, gdkText.blue>>8);
+ QColor disabledTextColor(gdkDisabledText.red>>8, gdkDisabledText.green>>8, gdkDisabledText.blue>>8);
+ pal.setBrush(QPalette::Window, bgColor);
+ pal.setBrush(QPalette::Button, bgColor);
+ pal.setBrush(QPalette::All, QPalette::WindowText, textColor);
+ pal.setBrush(QPalette::Disabled, QPalette::WindowText, disabledTextColor);
+ pal.setBrush(QPalette::All, QPalette::ButtonText, textColor);
+ pal.setBrush(QPalette::Disabled, QPalette::ButtonText, disabledTextColor);
+ return pal;
+}
+
+
+void QGtkStyleUpdateScheduler::updateTheme( QGtkStylePrivate* stylePrivate )
+{
+ static QString oldTheme(QLS("qt_not_set"));
+ QPixmapCache::clear();
+
+ QFont font = QGtkStylePrivate::getThemeFont();
+ if (QApplication::font() != font)
+ qApp->setFont(font);
+
+ if (oldTheme != stylePrivate->getThemeName()) {
+ oldTheme = stylePrivate->getThemeName();
+ QPalette newPalette = qApp->style()->standardPalette();
+ QApplicationPrivate::setSystemPalette(newPalette);
+ QApplication::setPalette(newPalette);
+ stylePrivate->initGtkWidgets();
+ stylePrivate->applyCustomPaletteHash();
+ QList<QWidget*> widgets = QApplication::allWidgets();
+ // Notify all widgets that size metrics might have changed
+ foreach (QWidget *widget, widgets) {
+ QEvent e(QEvent::StyleChange);
+ QApplication::sendEvent(widget, &e);
+ }
+ }
+ QIconLoader::instance()->updateSystemTheme();
+}
+
+void QGtkStylePrivate::addWidget(GtkWidget *widget)
+{
+ if (widget) {
+ setupGtkWidget(widget);
+ addAllSubWidgets(widget);
+ }
+}
+
+
+// Fetch the application font from the pango font description
+// contained in the theme.
+QFont QGtkStylePrivate::getThemeFont()
+{
+ QFont font;
+ GtkStyle *style = gtkStyle();
+ if (style && qApp->desktopSettingsAware())
+ {
+ PangoFontDescription *gtk_font = style->font_desc;
+ font.setPointSizeF((float)(pango_font_description_get_size(gtk_font))/PANGO_SCALE);
+
+ QString family = QString::fromLatin1(pango_font_description_get_family(gtk_font));
+ if (!family.isEmpty())
+ font.setFamily(family);
+
+ int weight = pango_font_description_get_weight(gtk_font);
+ if (weight >= PANGO_WEIGHT_HEAVY)
+ font.setWeight(QFont::Black);
+ else if (weight >= PANGO_WEIGHT_BOLD)
+ font.setWeight(QFont::Bold);
+ else if (weight >= PANGO_WEIGHT_SEMIBOLD)
+ font.setWeight(QFont::DemiBold);
+ else if (weight >= PANGO_WEIGHT_NORMAL)
+ font.setWeight(QFont::Normal);
+ else
+ font.setWeight(QFont::Light);
+
+ PangoStyle fontstyle = pango_font_description_get_style(gtk_font);
+ if (fontstyle == PANGO_STYLE_ITALIC)
+ font.setStyle(QFont::StyleItalic);
+ else if (fontstyle == PANGO_STYLE_OBLIQUE)
+ font.setStyle(QFont::StyleOblique);
+ else
+ font.setStyle(QFont::StyleNormal);
+ }
+ return font;
+}
+
+
+// ----------- Native file dialogs -----------
+
+// Extract filter list from expressions of type: foo (*.a *.b *.c)"
+QStringList QGtkStylePrivate::extract_filter(const QString &rawFilter)
+{
+ QString result = rawFilter;
+ QRegExp r(QString::fromLatin1("^([^()]*)\\(([a-zA-Z0-9_.*? +;#\\-\\[\\]@\\{\\}/!<>\\$%&=^~:\\|]*)\\)$"));
+ int index = r.indexIn(result);
+ if (index >= 0)
+ result = r.cap(2);
+ return result.split(QLatin1Char(' '));
+}
+
+extern QStringList qt_make_filter_list(const QString &filter);
+
+void QGtkStylePrivate::setupGtkFileChooser(GtkWidget* gtkFileChooser, QWidget *parent,
+ const QString &dir, const QString &filter, QString *selectedFilter,
+ QFileDialog::Options options, bool isSaveDialog,
+ QMap<GtkFileFilter *, QString> *filterMap)
+{
+ g_object_set(gtkFileChooser, "do-overwrite-confirmation", gboolean(!(options & QFileDialog::DontConfirmOverwrite)), NULL);
+ g_object_set(gtkFileChooser, "local_only", gboolean(true), NULL);
+ if (!filter.isEmpty()) {
+ QStringList filters = qt_make_filter_list(filter);
+ foreach (const QString &rawfilter, filters) {
+ GtkFileFilter *gtkFilter = QGtkStylePrivate::gtk_file_filter_new ();
+ QString name = rawfilter.left(rawfilter.indexOf(QLatin1Char('(')));
+ QStringList extensions = extract_filter(rawfilter);
+ QGtkStylePrivate::gtk_file_filter_set_name(gtkFilter, qPrintable(name.isEmpty() ? extensions.join(QLS(", ")) : name));
+
+ foreach (const QString &fileExtension, extensions) {
+ // Note Gtk file dialogs are by default case sensitive
+ // and only supports basic glob syntax so we
+ // rewrite .xyz to .[xX][yY][zZ]
+ QString caseInsensitive;
+ for (int i = 0 ; i < fileExtension.length() ; ++i) {
+ QChar ch = fileExtension.at(i);
+ if (ch.isLetter()) {
+ caseInsensitive.append(
+ QLatin1Char('[') +
+ ch.toLower() +
+ ch.toUpper() +
+ QLatin1Char(']'));
+ } else {
+ caseInsensitive.append(ch);
+ }
+ }
+ QGtkStylePrivate::gtk_file_filter_add_pattern (gtkFilter, qPrintable(caseInsensitive));
+
+ }
+ if (filterMap)
+ filterMap->insert(gtkFilter, rawfilter);
+ QGtkStylePrivate::gtk_file_chooser_add_filter((GtkFileChooser*)gtkFileChooser, gtkFilter);
+ if (selectedFilter && (rawfilter == *selectedFilter))
+ QGtkStylePrivate::gtk_file_chooser_set_filter((GtkFileChooser*)gtkFileChooser, gtkFilter);
+ }
+ }
+
+ // Using the currently active window is not entirely correct, however
+ // it gives more sensible behavior for applications that do not provide a
+ // parent
+ QWidget *modalFor = parent ? parent->window() : qApp->activeWindow();
+ if (modalFor) {
+ QGtkStylePrivate::gtk_widget_realize(gtkFileChooser); // Creates X window
+ XSetTransientForHint(QGtkStylePrivate::gdk_x11_drawable_get_xdisplay(gtkFileChooser->window),
+ QGtkStylePrivate::gdk_x11_drawable_get_xid(gtkFileChooser->window),
+ modalFor->winId());
+ QGtkStylePrivate::gdk_x11_window_set_user_time (gtkFileChooser->window, QX11Info::appUserTime());
+
+ }
+
+ QFileInfo fileinfo(dir);
+ if (dir.isEmpty())
+ fileinfo.setFile(QDir::currentPath());
+ fileinfo.makeAbsolute();
+ if (fileinfo.isDir()) {
+ QGtkStylePrivate::gtk_file_chooser_set_current_folder((GtkFileChooser*)gtkFileChooser, qPrintable(dir));
+ } else if (isSaveDialog) {
+ QGtkStylePrivate::gtk_file_chooser_set_current_folder((GtkFileChooser*)gtkFileChooser, qPrintable(fileinfo.absolutePath()));
+ QGtkStylePrivate::gtk_file_chooser_set_current_name((GtkFileChooser*)gtkFileChooser, qPrintable(fileinfo.fileName()));
+ } else {
+ QGtkStylePrivate::gtk_file_chooser_set_filename((GtkFileChooser*)gtkFileChooser, qPrintable(dir));
+ }
+}
+
+QString QGtkStylePrivate::openFilename(QWidget *parent, const QString &caption, const QString &dir, const QString &filter,
+ QString *selectedFilter, QFileDialog::Options options)
+{
+ QMap<GtkFileFilter *, QString> filterMap;
+ GtkWidget *gtkFileChooser = QGtkStylePrivate::gtk_file_chooser_dialog_new (qPrintable(caption),
+ NULL,
+ GTK_FILE_CHOOSER_ACTION_OPEN,
+ GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
+ GTK_STOCK_OPEN, GTK_RESPONSE_ACCEPT,
+ NULL);
+
+ setupGtkFileChooser(gtkFileChooser, parent, dir, filter, selectedFilter, options, false, &filterMap);
+
+ QWidget modal_widget;
+ modal_widget.setAttribute(Qt::WA_NoChildEventsForParent, true);
+ modal_widget.setParent(parent, Qt::Window);
+ QApplicationPrivate::enterModal(&modal_widget);
+
+ QString filename;
+ if (QGtkStylePrivate::gtk_dialog_run ((GtkDialog*)gtkFileChooser) == GTK_RESPONSE_ACCEPT) {
+ char *gtk_filename = QGtkStylePrivate::gtk_file_chooser_get_filename ((GtkFileChooser*)gtkFileChooser);
+ filename = QString::fromUtf8(gtk_filename);
+ g_free (gtk_filename);
+ if (selectedFilter) {
+ GtkFileFilter *gtkFilter = QGtkStylePrivate::gtk_file_chooser_get_filter ((GtkFileChooser*)gtkFileChooser);
+ *selectedFilter = filterMap.value(gtkFilter);
+ }
+ }
+
+ QApplicationPrivate::leaveModal(&modal_widget);
+ gtk_widget_destroy (gtkFileChooser);
+ return filename;
+}
+
+
+QString QGtkStylePrivate::openDirectory(QWidget *parent, const QString &caption, const QString &dir, QFileDialog::Options options)
+{
+ QMap<GtkFileFilter *, QString> filterMap;
+ GtkWidget *gtkFileChooser = QGtkStylePrivate::gtk_file_chooser_dialog_new (qPrintable(caption),
+ NULL,
+ GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER,
+ GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
+ GTK_STOCK_OPEN, GTK_RESPONSE_ACCEPT,
+ NULL);
+
+ setupGtkFileChooser(gtkFileChooser, parent, dir, QString(), 0, options);
+ QWidget modal_widget;
+ modal_widget.setAttribute(Qt::WA_NoChildEventsForParent, true);
+ modal_widget.setParent(parent, Qt::Window);
+ QApplicationPrivate::enterModal(&modal_widget);
+
+ QString filename;
+ if (QGtkStylePrivate::gtk_dialog_run ((GtkDialog*)gtkFileChooser) == GTK_RESPONSE_ACCEPT) {
+ char *gtk_filename = QGtkStylePrivate::gtk_file_chooser_get_filename ((GtkFileChooser*)gtkFileChooser);
+ filename = QString::fromUtf8(gtk_filename);
+ g_free (gtk_filename);
+ }
+
+ QApplicationPrivate::leaveModal(&modal_widget);
+ gtk_widget_destroy (gtkFileChooser);
+ return filename;
+}
+
+QStringList QGtkStylePrivate::openFilenames(QWidget *parent, const QString &caption, const QString &dir, const QString &filter,
+ QString *selectedFilter, QFileDialog::Options options)
+{
+ QStringList filenames;
+ QMap<GtkFileFilter *, QString> filterMap;
+ GtkWidget *gtkFileChooser = QGtkStylePrivate::gtk_file_chooser_dialog_new (qPrintable(caption),
+ NULL,
+ GTK_FILE_CHOOSER_ACTION_OPEN,
+ GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
+ GTK_STOCK_OPEN, GTK_RESPONSE_ACCEPT,
+ NULL);
+
+ setupGtkFileChooser(gtkFileChooser, parent, dir, filter, selectedFilter, options, false, &filterMap);
+ g_object_set(gtkFileChooser, "select-multiple", gboolean(true), NULL);
+
+ QWidget modal_widget;
+ modal_widget.setAttribute(Qt::WA_NoChildEventsForParent, true);
+ modal_widget.setParent(parent, Qt::Window);
+ QApplicationPrivate::enterModal(&modal_widget);
+
+ if (gtk_dialog_run ((GtkDialog*)gtkFileChooser) == GTK_RESPONSE_ACCEPT) {
+ GSList *gtk_file_names = QGtkStylePrivate::gtk_file_chooser_get_filenames((GtkFileChooser*)gtkFileChooser);
+ for (GSList *iterator = gtk_file_names ; iterator; iterator = iterator->next)
+ filenames << QString::fromUtf8((const char*)iterator->data);
+ g_slist_free(gtk_file_names);
+ if (selectedFilter) {
+ GtkFileFilter *gtkFilter = QGtkStylePrivate::gtk_file_chooser_get_filter ((GtkFileChooser*)gtkFileChooser);
+ *selectedFilter = filterMap.value(gtkFilter);
+ }
+ }
+
+ QApplicationPrivate::leaveModal(&modal_widget);
+ gtk_widget_destroy (gtkFileChooser);
+ return filenames;
+}
+
+QString QGtkStylePrivate::saveFilename(QWidget *parent, const QString &caption, const QString &dir, const QString &filter,
+ QString *selectedFilter, QFileDialog::Options options)
+{
+ QMap<GtkFileFilter *, QString> filterMap;
+ GtkWidget *gtkFileChooser = QGtkStylePrivate::gtk_file_chooser_dialog_new (qPrintable(caption),
+ NULL,
+ GTK_FILE_CHOOSER_ACTION_SAVE,
+ GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
+ GTK_STOCK_SAVE, GTK_RESPONSE_ACCEPT,
+ NULL);
+ setupGtkFileChooser(gtkFileChooser, parent, dir, filter, selectedFilter, options, true, &filterMap);
+
+ QWidget modal_widget;
+ modal_widget.setAttribute(Qt::WA_NoChildEventsForParent, true);
+ modal_widget.setParent(parent, Qt::Window);
+ QApplicationPrivate::enterModal(&modal_widget);
+
+ QString filename;
+ if (QGtkStylePrivate::gtk_dialog_run ((GtkDialog*)gtkFileChooser) == GTK_RESPONSE_ACCEPT) {
+ char *gtk_filename = QGtkStylePrivate::gtk_file_chooser_get_filename ((GtkFileChooser*)gtkFileChooser);
+ filename = QString::fromUtf8(gtk_filename);
+ g_free (gtk_filename);
+ if (selectedFilter) {
+ GtkFileFilter *gtkFilter = QGtkStylePrivate::gtk_file_chooser_get_filter ((GtkFileChooser*)gtkFileChooser);
+ *selectedFilter = filterMap.value(gtkFilter);
+ }
+ }
+
+ QApplicationPrivate::leaveModal(&modal_widget);
+ gtk_widget_destroy (gtkFileChooser);
+ return filename;
+}
+
+QIcon QGtkStylePrivate::getFilesystemIcon(const QFileInfo &info)
+{
+ QIcon icon;
+ if (gnome_vfs_init && gnome_icon_lookup_sync) {
+ gnome_vfs_init();
+ GtkIconTheme *theme = gtk_icon_theme_get_default();
+ QByteArray fileurl = QUrl::fromLocalFile(info.absoluteFilePath()).toEncoded();
+ char * icon_name = gnome_icon_lookup_sync(theme,
+ NULL,
+ fileurl.data(),
+ NULL,
+ GNOME_ICON_LOOKUP_FLAGS_NONE,
+ NULL);
+ QString iconName = QString::fromUtf8(icon_name);
+ g_free(icon_name);
+ if (iconName.startsWith(QLatin1Char('/')))
+ return QIcon(iconName);
+ return QIcon::fromTheme(iconName);
+ }
+ return icon;
+}
+
+QT_END_NAMESPACE
+
+#endif // !defined(QT_NO_STYLE_GTK)
diff --git a/src/gui/styles/gtksymbols_p.h b/src/gui/styles/qgtkstyle_p.h
index 313d948..fa16769 100644
--- a/src/gui/styles/gtksymbols_p.h
+++ b/src/gui/styles/qgtkstyle_p.h
@@ -39,8 +39,8 @@
**
****************************************************************************/
-#ifndef GTKSYMBOLS_H
-#define GTKSYMBOLS_H
+#ifndef QGTKSTYLE_P_H
+#define QGTKSTYLE_P_H
//
// W A R N I N G
@@ -56,19 +56,19 @@
#include <QtCore/qglobal.h>
#if !defined(QT_NO_STYLE_GTK)
+#include <QtGui/QFileDialog>
+
+#include <QtGui/QGtkStyle>
+#include <private/qcleanlooksstyle_p.h>
+
#undef signals // Collides with GTK stymbols
#include <gtk/gtk.h>
-#include <QtCore/QLibrary>
-#include <QtGui/QFont>
-#include <QtGui/QFileDialog>
+
typedef unsigned long XID;
#undef GTK_OBJECT_FLAGS
#define GTK_OBJECT_FLAGS(obj)(((GtkObject*)(obj))->flags)
-#define Q_GTK_TYPE_WIDGET QGtk::gtk_widget_get_type()
-#define Q_GTK_IS_WIDGET(widget) widget && GTK_CHECK_TYPE ((widget), Q_GTK_TYPE_WIDGET)
-#define Q_GTK_TYPE_WINDOW QGtk::gtk_window_get_type()
-#define Q_GTK_TYPE_CONTAINER QGtk::gtk_container_get_type()
+#define Q_GTK_IS_WIDGET(widget) widget && GTK_CHECK_TYPE ((widget), QGtkStylePrivate::gtk_widget_get_type())
#define QLS(x) QLatin1String(x)
@@ -96,6 +96,7 @@ typedef GtkWidget* (*Ptr_gtk_combo_box_entry_new)(void);
typedef GtkWidget* (*Ptr_gtk_toolbar_new)(void);
typedef GtkWidget* (*Ptr_gtk_spin_button_new)(GtkAdjustment*, double, int);
typedef GtkWidget* (*Ptr_gtk_button_new)(void);
+typedef GtkWidget* (*Ptr_gtk_tool_button_new)(GtkWidget *, const gchar *);
typedef GtkWidget* (*Ptr_gtk_hbutton_box_new)(void);
typedef GtkWidget* (*Ptr_gtk_check_button_new)(void);
typedef GtkWidget* (*Ptr_gtk_radio_button_new)(GSList *);
@@ -197,6 +198,35 @@ typedef XID (*Ptr_gdk_x11_drawable_get_xid) (GdkDrawable *);
typedef Display* (*Ptr_gdk_x11_drawable_get_xdisplay) ( GdkDrawable *);
+QT_BEGIN_NAMESPACE
+
+typedef QStringList (*_qt_filedialog_open_filenames_hook)(QWidget * parent, const QString &caption, const QString &dir,
+ const QString &filter, QString *selectedFilter, QFileDialog::Options options);
+typedef QString (*_qt_filedialog_open_filename_hook) (QWidget * parent, const QString &caption, const QString &dir,
+ const QString &filter, QString *selectedFilter, QFileDialog::Options options);
+typedef QString (*_qt_filedialog_save_filename_hook) (QWidget * parent, const QString &caption, const QString &dir,
+ const QString &filter, QString *selectedFilter, QFileDialog::Options options);
+typedef QString (*_qt_filedialog_existing_directory_hook)(QWidget *parent, const QString &caption, const QString &dir,
+ QFileDialog::Options options);
+
+extern Q_GUI_EXPORT _qt_filedialog_open_filename_hook qt_filedialog_open_filename_hook;
+extern Q_GUI_EXPORT _qt_filedialog_open_filenames_hook qt_filedialog_open_filenames_hook;
+extern Q_GUI_EXPORT _qt_filedialog_save_filename_hook qt_filedialog_save_filename_hook;
+extern Q_GUI_EXPORT _qt_filedialog_existing_directory_hook qt_filedialog_existing_directory_hook;
+
+class QGtkStylePrivate;
+
+class QGtkStyleFilter : public QObject
+{
+public:
+ QGtkStyleFilter(QGtkStylePrivate* sp)
+ : stylePrivate(sp)
+ {}
+private:
+ QGtkStylePrivate* stylePrivate;
+ bool eventFilter(QObject *obj, QEvent *e);
+};
+
typedef enum {
GNOME_ICON_LOOKUP_FLAGS_NONE = 0,
GNOME_ICON_LOOKUP_FLAGS_EMBEDDING_TEXT = 1<<0,
@@ -219,21 +249,41 @@ typedef char* (*Ptr_gnome_icon_lookup_sync) (
GnomeIconLookupFlags flags,
GnomeIconLookupResultFlags *result);
-QT_BEGIN_NAMESPACE
-class QGtk
+class QGtkStylePrivate : public QCleanlooksStylePrivate
{
+ Q_DECLARE_PUBLIC(QGtkStyle)
public:
+ QGtkStylePrivate();
+
+ QGtkStyleFilter filter;
+
static GtkWidget* gtkWidget(const QString &path);
static GtkStyle* gtkStyle(const QString &path = QLatin1String("GtkWindow"));
- static void cleanup_gtk_widgets();
- static void initGtkWidgets();
+ virtual void resolveGtk();
+ virtual void initGtkMenu();
+ virtual void initGtkTreeview();
+ virtual void initGtkWidgets();
+
+ static void cleanupGtkWidgets();
+
static bool isKDE4Session();
- static void applyCustomPaletteHash();
+ void applyCustomPaletteHash();
static QFont getThemeFont();
static bool isThemeAvailable() { return gtkStyle() != 0; }
+ static bool getGConfBool(const QString &key, bool fallback = 0);
+ static QString getGConfString(const QString &key, const QString &fallback = QString());
+
+ virtual QString getThemeName() const;
+ virtual int getSpinboxArrowSize() const;
+
+ static void setupGtkFileChooser(GtkWidget* gtkFileChooser, QWidget *parent,
+ const QString &dir, const QString &filter, QString *selectedFilter,
+ QFileDialog::Options options, bool isSaveDialog = false,
+ QMap<GtkFileFilter *, QString> *filterMap = 0);
+
static QString openFilename(QWidget *parent, const QString &caption, const QString &dir, const QString &filter,
QString *selectedFilter, QFileDialog::Options options);
static QString saveFilename(QWidget *parent, const QString &caption, const QString &dir, const QString &filter,
@@ -241,8 +291,6 @@ public:
static QString openDirectory(QWidget *parent, const QString &caption, const QString &dir, QFileDialog::Options options);
static QStringList openFilenames(QWidget *parent, const QString &caption, const QString &dir, const QString &filter,
QString *selectedFilter, QFileDialog::Options options);
- static QString getGConfString(const QString &key, const QString &fallback = QString());
- static bool getGConfBool(const QString &key, bool fallback = 0);
static QIcon getFilesystemIcon(const QFileInfo &);
static Ptr_gtk_container_forall gtk_container_forall;
@@ -261,6 +309,7 @@ public:
static Ptr_gtk_menu_new gtk_menu_new;
static Ptr_gtk_expander_new gtk_expander_new;
static Ptr_gtk_button_new gtk_button_new;
+ static Ptr_gtk_tool_button_new gtk_tool_button_new;
static Ptr_gtk_hbutton_box_new gtk_hbutton_box_new;
static Ptr_gtk_check_button_new gtk_check_button_new;
static Ptr_gtk_radio_button_new gtk_radio_button_new;
@@ -362,6 +411,29 @@ public:
static Ptr_gnome_icon_lookup_sync gnome_icon_lookup_sync;
static Ptr_gnome_vfs_init gnome_vfs_init;
+
+ virtual QPalette gtkWidgetPalette(const QString &gtkWidgetName);
+
+protected:
+ typedef QHash<QString, GtkWidget*> WidgetMap;
+
+ static inline WidgetMap *gtkWidgetMap()
+ {
+ static WidgetMap *map = 0;
+ if (!map)
+ map = new WidgetMap();
+ return map;
+ }
+
+ static QStringList extract_filter(const QString &rawFilter);
+
+ virtual GtkWidget* getTextColorWidget() const;
+ static void setupGtkWidget(GtkWidget* widget);
+ static void addWidgetToMap(GtkWidget* widget);
+ static void addAllSubWidgets(GtkWidget *widget, gpointer v = 0);
+ static void addWidget(GtkWidget *widget);
+
+ virtual void init();
};
// Helper to ensure that we have polished all our gtk widgets
@@ -370,10 +442,10 @@ class QGtkStyleUpdateScheduler : public QObject
{
Q_OBJECT
public slots:
- void updateTheme();
+ void updateTheme( QGtkStylePrivate* stylePrivate );
};
QT_END_NAMESPACE
#endif // !QT_NO_STYLE_GTK
-#endif // GTKSYMBOLS_H
+#endif // QGTKSTYLE_P_H
diff --git a/src/gui/styles/qmacstyle_mac.mm b/src/gui/styles/qmacstyle_mac.mm
index 63ba641..38c3feb 100644
--- a/src/gui/styles/qmacstyle_mac.mm
+++ b/src/gui/styles/qmacstyle_mac.mm
@@ -342,12 +342,12 @@ void drawTabBase(QPainter *p, const QStyleOptionTabBarBaseV2 *tbb, const QWidget
borderHighlightTop = QColor(207, 207, 207);
}
p->setPen(borderHighlightTop);
- p->drawLine(0, 0, width, 0);
+ p->drawLine(tabRect.x(), 0, width, 0);
p->setPen(borderTop);
- p->drawLine(0, 1, width, 1);
+ p->drawLine(tabRect.x(), 1, width, 1);
// center block
- QRect centralRect(0, 2, width, height - 2);
+ QRect centralRect(tabRect.x(), 2, width, height - 2);
if (active) {
QColor mainColor = QColor(120, 120, 120);
p->fillRect(centralRect, mainColor);
@@ -370,9 +370,9 @@ void drawTabBase(QPainter *p, const QStyleOptionTabBarBaseV2 *tbb, const QWidget
borderBottom = QColor(127, 127, 127);
}
p->setPen(borderHighlightBottom);
- p->drawLine(0, height - 2, width, height - 2);
+ p->drawLine(tabRect.x(), height - 2, width, height - 2);
p->setPen(borderBottom);
- p->drawLine(0, height - 1, width, height - 1);
+ p->drawLine(tabRect.x(), height - 1, width, height - 1);
}
/*
@@ -3637,17 +3637,19 @@ void QMacStyle::drawControl(ControlElement ce, const QStyleOption *opt, QPainter
break;
}
}
+ bool stretchTabs = (!verticalTabs && tabRect.height() > 22 || verticalTabs && tabRect.width() > 22);
+
switch (tp) {
case QStyleOptionTab::Beginning:
tdi.position = kHIThemeTabPositionFirst;
- if (sp != QStyleOptionTab::NextIsSelected)
+ if (sp != QStyleOptionTab::NextIsSelected || stretchTabs)
tdi.adornment |= kHIThemeTabAdornmentTrailingSeparator;
break;
case QStyleOptionTab::Middle:
tdi.position = kHIThemeTabPositionMiddle;
if (selected)
tdi.adornment |= kHIThemeTabAdornmentLeadingSeparator;
- if (sp != QStyleOptionTab::NextIsSelected) // Also when we're selected.
+ if (sp != QStyleOptionTab::NextIsSelected || stretchTabs) // Also when we're selected.
tdi.adornment |= kHIThemeTabAdornmentTrailingSeparator;
break;
case QStyleOptionTab::End:
@@ -3659,9 +3661,8 @@ void QMacStyle::drawControl(ControlElement ce, const QStyleOption *opt, QPainter
tdi.position = kHIThemeTabPositionOnly;
break;
}
-
// HITheme doesn't stretch its tabs. Therefore we have to cheat and do the job ourselves.
- if ((!verticalTabs && tabRect.height() > 21 || verticalTabs && tabRect.width() > 21)) {
+ if (stretchTabs) {
HIRect hirect = CGRectMake(0, 0, 23, 23);
QPixmap pm(23, 23);
pm.fill(Qt::transparent);
diff --git a/src/gui/styles/qmotifstyle.cpp b/src/gui/styles/qmotifstyle.cpp
index e6c60cf..b65d45c 100644
--- a/src/gui/styles/qmotifstyle.cpp
+++ b/src/gui/styles/qmotifstyle.cpp
@@ -1154,7 +1154,7 @@ void QMotifStyle::drawControl(ControlElement element, const QStyleOption *opt, Q
menuitem->palette, menuitem->state & State_Enabled, menuitem->text,
QPalette::Text);
textWidth = menuitem->fontMetrics.width(menuitem->text) + 10;
- y += menuitem->fontMetrics.lineSpacing() / 2;
+ y += menuitem->fontMetrics.height() / 2;
p->setFont(oldFont);
}
p->setPen(opt->palette.dark().color());
@@ -2056,7 +2056,7 @@ QMotifStyle::sizeFromContents(ContentsType ct, const QStyleOption *opt,
if (mi->menuItemType == QStyleOptionMenuItem::Separator) {
w = 10;
- h = (mi->text.isEmpty()) ? motifSepHeight : mi->fontMetrics.lineSpacing();
+ h = (mi->text.isEmpty()) ? motifSepHeight : mi->fontMetrics.height();
}
// a little bit of border can never harm
diff --git a/src/gui/styles/qplastiquestyle.cpp b/src/gui/styles/qplastiquestyle.cpp
index ce2109a..f880351 100644
--- a/src/gui/styles/qplastiquestyle.cpp
+++ b/src/gui/styles/qplastiquestyle.cpp
@@ -5027,7 +5027,7 @@ QSize QPlastiqueStyle::sizeFromContents(ContentsType type, const QStyleOption *o
case CT_MenuItem:
if (const QStyleOptionMenuItem *menuItem = qstyleoption_cast<const QStyleOptionMenuItem *>(option)) {
if (menuItem->menuItemType == QStyleOptionMenuItem::Separator)
- newSize.setHeight(menuItem->text.isEmpty() ? 2 : menuItem->fontMetrics.lineSpacing());
+ newSize.setHeight(menuItem->text.isEmpty() ? 2 : menuItem->fontMetrics.height());
}
break;
case CT_MenuBarItem:
@@ -5514,9 +5514,6 @@ int QPlastiqueStyle::pixelMetric(PixelMetric metric, const QStyleOption *option,
case PM_MenuHMargin:
ret = 0;
break;
- case PM_ToolBarIconSize:
- ret = 24;
- break;
case PM_ButtonShiftHorizontal:
case PM_ButtonShiftVertical:
ret = 1;
@@ -5607,11 +5604,11 @@ int QPlastiqueStyle::pixelMetric(PixelMetric metric, const QStyleOption *option,
#ifdef QT3_SUPPORT
if (widget && widget->inherits("Q3DockWindowTitleBar")) {
// Q3DockWindow has smaller title bars than QDockWidget
- ret = qMax(widget->fontMetrics().lineSpacing(), 20);
+ ret = qMax(widget->fontMetrics().height(), 20);
} else
#endif
- ret = qMax(widget ? widget->fontMetrics().lineSpacing() :
- (option ? option->fontMetrics.lineSpacing() : 0), 30);
+ ret = qMax(widget ? widget->fontMetrics().height() :
+ (option ? option->fontMetrics.height() : 0), 30);
break;
case PM_MaximumDragDistance:
return -1;
diff --git a/src/gui/styles/qs60style.cpp b/src/gui/styles/qs60style.cpp
index 4c6bc46..e0fcb92 100644
--- a/src/gui/styles/qs60style.cpp
+++ b/src/gui/styles/qs60style.cpp
@@ -66,7 +66,6 @@
#include "qtextedit.h"
#include "qtoolbar.h"
#include "qtoolbutton.h"
-#include "qtreeview.h"
#include "qfocusframe.h"
#include "private/qtoolbarextension_p.h"
@@ -91,14 +90,14 @@ static const qreal goldenRatio = 1.618;
const layoutHeader QS60StylePrivate::m_layoutHeaders[] = {
// *** generated layout data ***
-{240,320,1,14,true,"QVGA Landscape Mirrored"},
-{240,320,1,14,false,"QVGA Landscape"},
-{320,240,1,14,true,"QVGA Portrait Mirrored"},
-{320,240,1,14,false,"QVGA Portrait"},
-{360,640,1,14,true,"NHD Landscape Mirrored"},
-{360,640,1,14,false,"NHD Landscape"},
-{640,360,1,14,true,"NHD Portrait Mirrored"},
-{640,360,1,14,false,"NHD Portrait"},
+{240,320,1,15,true,"QVGA Landscape Mirrored"},
+{240,320,1,15,false,"QVGA Landscape"},
+{320,240,1,15,true,"QVGA Portrait Mirrored"},
+{320,240,1,15,false,"QVGA Portrait"},
+{360,640,1,15,true,"NHD Landscape Mirrored"},
+{360,640,1,15,false,"NHD Landscape"},
+{640,360,1,15,true,"NHD Portrait Mirrored"},
+{640,360,1,15,false,"NHD Portrait"},
{352,800,1,12,true,"E90 Landscape Mirrored"},
{352,800,1,12,false,"E90 Landscape"}
// *** End of generated data ***
@@ -108,16 +107,16 @@ const int QS60StylePrivate::m_numberOfLayouts =
const short QS60StylePrivate::data[][MAX_PIXELMETRICS] = {
// *** generated pixel metrics ***
-{5,0,-909,0,0,1,0,0,-1,8,15,22,15,15,7,198,-909,-909,-909,19,15,2,0,0,21,-909,21,-909,4,4,1,-909,-909,0,2,0,0,13,23,17,17,21,21,2,115,21,0,-909,-909,-909,-909,0,0,15,1,-909,0,0,-909,15,-909,-909,-909,-909,32,21,51,27,51,4,4,5,10,15,-909,5,58,12,5,0,7,4,4,9,4,4,-909,1,-909,-909,-909,-909,4,4,3,1},
-{5,0,-909,0,0,1,0,0,-1,8,15,22,15,15,7,198,-909,-909,-909,19,15,2,0,0,21,-909,21,-909,4,4,1,-909,-909,0,2,0,0,13,23,17,17,21,21,2,115,21,0,-909,-909,-909,-909,0,0,15,1,-909,0,0,-909,15,-909,-909,-909,-909,32,21,51,27,51,4,4,5,10,15,-909,5,58,12,5,0,4,4,7,9,4,4,-909,1,-909,-909,-909,-909,4,4,3,1},
-{5,0,-909,0,0,1,0,0,-1,8,14,22,15,15,7,164,-909,-909,-909,19,15,2,0,0,21,-909,27,-909,4,4,1,-909,-909,0,7,6,0,13,23,17,17,21,21,7,115,21,0,-909,-909,-909,-909,0,0,15,1,-909,0,0,-909,15,-909,-909,-909,-909,32,21,65,27,65,4,4,5,10,15,-909,5,58,13,5,0,7,4,4,9,4,4,-909,1,-909,-909,-909,-909,4,4,3,1},
-{5,0,-909,0,0,1,0,0,-1,8,14,22,15,15,7,164,-909,-909,-909,19,15,2,0,0,21,-909,27,-909,4,4,1,-909,-909,0,7,6,0,13,23,17,17,21,21,7,115,21,0,-909,-909,-909,-909,0,0,15,1,-909,0,0,-909,15,-909,-909,-909,-909,32,21,65,27,65,4,4,5,10,15,-909,5,58,13,5,0,4,4,7,9,4,4,-909,1,-909,-909,-909,-909,4,4,3,1},
-{7,0,-909,0,0,2,0,0,-1,20,53,28,19,19,9,258,-909,-909,-909,29,19,26,0,0,32,-909,72,-909,5,5,2,-909,-909,0,7,21,0,17,29,22,22,27,27,7,173,29,0,-909,-909,-909,-909,0,0,25,2,-909,0,0,-909,25,-909,-909,-909,-909,87,27,77,35,77,5,5,6,8,19,-909,7,74,19,7,0,8,5,5,12,5,5,-909,2,-909,-909,-909,-909,7,7,3,1},
-{7,0,-909,0,0,2,0,0,-1,20,53,28,19,19,9,258,-909,-909,-909,29,19,26,0,0,32,-909,72,-909,5,5,2,-909,-909,0,7,21,0,17,29,22,22,27,27,7,173,29,0,-909,-909,-909,-909,0,0,25,2,-909,0,0,-909,25,-909,-909,-909,-909,87,27,77,35,77,5,5,6,8,19,-909,7,74,19,7,0,5,5,8,12,5,5,-909,2,-909,-909,-909,-909,7,7,3,1},
-{7,0,-909,0,0,2,0,0,-1,20,52,28,19,19,9,258,-909,-909,-909,29,19,6,0,0,32,-909,60,-909,5,5,2,-909,-909,0,7,32,0,17,29,22,22,27,27,7,173,29,0,-909,-909,-909,-909,0,0,26,2,-909,0,0,-909,26,-909,-909,-909,-909,87,27,98,35,98,5,5,6,8,19,-909,7,74,22,7,0,8,5,5,12,5,5,-909,2,-909,-909,-909,-909,7,7,3,1},
-{7,0,-909,0,0,2,0,0,-1,20,52,28,19,19,9,258,-909,-909,-909,29,19,6,0,0,32,-909,60,-909,5,5,2,-909,-909,0,7,32,0,17,29,22,22,27,27,7,173,29,0,-909,-909,-909,-909,0,0,26,2,-909,0,0,-909,26,-909,-909,-909,-909,87,27,98,35,98,5,5,6,8,19,-909,7,74,22,7,0,5,5,8,12,5,5,-909,2,-909,-909,-909,-909,7,7,3,1},
-{7,0,-909,0,0,2,0,0,-1,10,20,27,18,18,9,301,-909,-909,-909,29,18,5,0,0,35,-909,32,-909,5,5,2,-909,-909,0,2,8,0,16,28,21,21,26,26,2,170,26,0,-909,-909,-909,-909,0,0,21,5,-909,0,0,-909,-909,-909,-909,-909,-909,54,26,265,34,265,5,5,6,3,18,-909,7,72,19,7,0,8,6,5,11,6,5,-909,2,-909,-909,-909,-909,5,5,3,1},
-{7,0,-909,0,0,2,0,0,-1,10,20,27,18,18,9,301,-909,-909,-909,29,18,5,0,0,35,-909,32,-909,5,5,2,-909,-909,0,2,8,0,16,28,21,21,26,26,2,170,26,0,-909,-909,-909,-909,0,0,21,6,-909,0,0,-909,-909,-909,-909,-909,-909,54,26,265,34,265,5,5,6,3,18,-909,7,72,19,7,0,5,6,8,11,6,5,-909,2,-909,-909,-909,-909,5,5,3,1}
+{5,0,-909,0,0,2,0,0,-1,7,12,19,13,13,6,200,-909,-909,-909,20,13,2,0,0,21,7,18,-909,3,3,1,-909,-909,0,1,0,0,12,20,15,15,18,18,1,115,18,0,-909,-909,-909,-909,0,0,16,2,-909,0,0,-909,16,-909,-909,-909,-909,32,18,55,24,55,3,3,4,9,13,-909,5,51,11,5,0,6,3,3,8,3,3,-909,2,-909,-909,-909,-909,5,5,3,1},
+{5,0,-909,0,0,2,0,0,-1,7,12,19,13,13,6,200,-909,-909,-909,20,13,2,0,0,21,7,18,-909,3,3,1,-909,-909,0,1,0,0,12,20,15,15,18,18,1,115,18,0,-909,-909,-909,-909,0,0,16,2,-909,0,0,-909,16,-909,-909,-909,-909,32,18,55,24,55,3,3,4,9,13,-909,5,51,11,5,0,3,3,6,8,3,3,-909,2,-909,-909,-909,-909,5,5,3,1},
+{5,0,-909,0,0,1,0,0,-1,8,14,22,15,15,7,164,-909,-909,-909,19,15,2,0,0,21,8,27,-909,4,4,1,-909,-909,0,7,6,0,13,23,17,17,21,21,7,115,21,0,-909,-909,-909,-909,0,0,15,1,-909,0,0,-909,15,-909,-909,-909,-909,32,21,65,27,65,4,4,5,10,15,-909,5,58,13,5,0,7,4,4,9,4,4,-909,2,-909,-909,-909,-909,6,6,3,1},
+{5,0,-909,0,0,1,0,0,-1,8,14,22,15,15,7,164,-909,-909,-909,19,15,2,0,0,21,8,27,-909,4,4,1,-909,-909,0,7,6,0,13,23,17,17,21,21,7,115,21,0,-909,-909,-909,-909,0,0,15,1,-909,0,0,-909,15,-909,-909,-909,-909,32,21,65,27,65,4,4,5,10,15,-909,5,58,13,5,0,4,4,7,9,4,4,-909,2,-909,-909,-909,-909,6,6,3,1},
+{7,0,-909,0,0,2,0,0,-1,25,69,28,19,19,9,258,-909,-909,-909,23,19,26,0,0,32,25,72,-909,5,5,2,-909,-909,0,7,21,0,17,29,22,22,27,27,7,173,29,0,-909,-909,-909,-909,0,0,25,2,-909,0,0,-909,25,-909,-909,-909,-909,87,27,77,35,77,5,5,6,8,19,-909,7,74,19,7,0,8,5,5,12,5,5,-909,3,-909,-909,-909,-909,7,7,3,1},
+{7,0,-909,0,0,2,0,0,-1,25,69,28,19,19,9,258,-909,-909,-909,23,19,26,0,0,32,25,72,-909,5,5,2,-909,-909,0,7,21,0,17,29,22,22,27,27,7,173,29,0,-909,-909,-909,-909,0,0,25,2,-909,0,0,-909,25,-909,-909,-909,-909,87,27,77,35,77,5,5,6,8,19,-909,7,74,19,7,0,5,5,8,12,5,5,-909,3,-909,-909,-909,-909,7,7,3,1},
+{7,0,-909,0,0,2,0,0,-1,25,68,28,19,19,9,258,-909,-909,-909,31,19,6,0,0,32,25,60,-909,5,5,2,-909,-909,0,7,32,0,17,29,22,22,27,27,7,173,29,0,-909,-909,-909,-909,0,0,26,2,-909,0,0,-909,26,-909,-909,-909,-909,87,27,96,35,96,5,5,6,8,19,-909,7,74,22,7,0,8,5,5,12,5,5,-909,3,-909,-909,-909,-909,7,7,3,1},
+{7,0,-909,0,0,2,0,0,-1,25,68,28,19,19,9,258,-909,-909,-909,31,19,6,0,0,32,25,60,-909,5,5,2,-909,-909,0,7,32,0,17,29,22,22,27,27,7,173,29,0,-909,-909,-909,-909,0,0,26,2,-909,0,0,-909,26,-909,-909,-909,-909,87,27,96,35,96,5,5,6,8,19,-909,7,74,22,7,0,5,5,8,12,5,5,-909,3,-909,-909,-909,-909,7,7,3,1},
+{7,0,-909,0,0,2,0,0,-1,10,20,27,18,18,9,301,-909,-909,-909,29,18,5,0,0,35,7,32,-909,5,5,2,-909,-909,0,2,8,0,16,28,21,21,26,26,2,170,26,0,-909,-909,-909,-909,0,0,21,5,-909,0,0,-909,-909,-909,-909,-909,-909,54,26,265,34,265,5,5,6,3,18,-909,7,72,19,7,0,8,6,5,11,6,5,-909,2,-909,-909,-909,-909,5,5,3,1},
+{7,0,-909,0,0,2,0,0,-1,10,20,27,18,18,9,301,-909,-909,-909,29,18,5,0,0,35,7,32,-909,5,5,2,-909,-909,0,2,8,0,16,28,21,21,26,26,2,170,26,0,-909,-909,-909,-909,0,0,21,6,-909,0,0,-909,-909,-909,-909,-909,-909,54,26,265,34,265,5,5,6,3,18,-909,7,72,19,7,0,5,6,8,11,6,5,-909,2,-909,-909,-909,-909,5,5,3,1}
// *** End of generated data ***
};
@@ -282,7 +281,7 @@ void QS60StylePrivate::drawSkinElement(SkinElements element, QPainter *painter,
drawFrame(SF_ButtonInactive, painter, rect, flags | SF_PointNorth);
break;
case SE_Editor:
- drawFrame(SF_Editor, painter, rect, flags | SF_PointNorth);
+ drawFrame(SF_FrameLineEdit, painter, rect, flags | SF_PointNorth);
break;
default:
break;
@@ -500,7 +499,7 @@ void QS60StylePrivate::setBackgroundTexture(QApplication *app) const
Q_UNUSED(app)
QPalette applicationPalette = QApplication::palette();
applicationPalette.setBrush(QPalette::Window, backgroundTexture());
- QApplication::setPalette(applicationPalette);
+ setThemePalette(app);
}
void QS60StylePrivate::deleteBackground()
@@ -526,7 +525,8 @@ void QS60StylePrivate::drawPart(QS60StyleEnums::SkinParts skinPart,
#else
true;
#endif
- const QPixmap skinPartPixMap((doCache ? cachedPart : part)(skinPart, rect.size(), flags));
+
+ const QPixmap skinPartPixMap((doCache ? cachedPart : part)(skinPart, rect.size(), painter, flags));
if (!skinPartPixMap.isNull())
painter->drawPixmap(rect.topLeft(), skinPartPixMap);
}
@@ -593,14 +593,14 @@ void QS60StylePrivate::drawRow(QS60StyleEnums::SkinParts start,
}
QPixmap QS60StylePrivate::cachedPart(QS60StyleEnums::SkinParts part,
- const QSize &size, SkinElementFlags flags)
+ const QSize &size, QPainter *painter, SkinElementFlags flags)
{
QPixmap result;
const QString cacheKey =
QString::fromLatin1("S60Style: SkinParts=%1 QSize=%2|%3 SkinPartFlags=%4")
.arg((int)part).arg(size.width()).arg(size.height()).arg((int)flags);
if (!QPixmapCache::find(cacheKey, result)) {
- result = QS60StylePrivate::part(part, size, flags);
+ result = QS60StylePrivate::part(part, size, painter, flags);
QPixmapCache::insert(cacheKey, result);
}
return result;
@@ -743,7 +743,7 @@ void QS60StylePrivate::setThemePaletteHash(QPalette *palette) const
const QColor mainAreaTextColor =
s60Color(QS60StyleEnums::CL_QsnTextColors, 6, 0);
- widgetPalette.setColor(QPalette::All, QPalette::WindowText,
+ widgetPalette.setColor(QPalette::WindowText,
s60Color(QS60StyleEnums::CL_QsnLineColors, 8, 0));
QApplication::setPalette(widgetPalette, "QSlider");
// return to original palette after each widget
@@ -767,34 +767,34 @@ void QS60StylePrivate::setThemePaletteHash(QPalette *palette) const
QApplication::setPalette(widgetPalette, "QHeaderView");
widgetPalette = *palette;
- widgetPalette.setColor(QPalette::All, QPalette::ButtonText,
+ widgetPalette.setColor(QPalette::ButtonText,
s60Color(QS60StyleEnums::CL_QsnTextColors, 8, 0));
QApplication::setPalette(widgetPalette, "QMenuBar");
widgetPalette = *palette;
- widgetPalette.setColor(QPalette::Active, QPalette::WindowText,
+ widgetPalette.setColor(QPalette::WindowText,
s60Color(QS60StyleEnums::CL_QsnTextColors, 4, 0));
QApplication::setPalette(widgetPalette, "QTabBar");
widgetPalette = *palette;
- widgetPalette.setColor(QPalette::All, QPalette::Text,
+ widgetPalette.setColor(QPalette::Text,
s60Color(QS60StyleEnums::CL_QsnTextColors, 22, 0));
QApplication::setPalette(widgetPalette, "QTableView");
widgetPalette = *palette;
- widgetPalette.setColor(QPalette::All, QPalette::HighlightedText,
+ widgetPalette.setColor(QPalette::HighlightedText,
s60Color(QS60StyleEnums::CL_QsnTextColors, 24, 0));
QApplication::setPalette(widgetPalette, "QLineEdit");
widgetPalette = *palette;
- widgetPalette.setColor(QPalette::All, QPalette::Text,
+ widgetPalette.setColor(QPalette::Text,
s60Color(QS60StyleEnums::CL_QsnTextColors, 34, 0));
- widgetPalette.setColor(QPalette::All, QPalette::HighlightedText,
+ widgetPalette.setColor(QPalette::HighlightedText,
s60Color(QS60StyleEnums::CL_QsnTextColors, 24, 0));
QApplication::setPalette(widgetPalette, "QTextEdit");
widgetPalette = *palette;
- widgetPalette.setColor(QPalette::All, QPalette::HighlightedText,
+ widgetPalette.setColor(QPalette::HighlightedText,
s60Color(QS60StyleEnums::CL_QsnTextColors, 24, 0));
QApplication::setPalette(widgetPalette, "QComboBox");
widgetPalette = *palette;
@@ -831,6 +831,11 @@ QSize QS60StylePrivate::partSize(QS60StyleEnums::SkinParts part, SkinElementFlag
pixelMetric(QStyle::PM_SliderControlThickness), Qt::IgnoreAspectRatio);
break;
+ case QS60StyleEnums::SP_QgnGrafBarFrameSideL:
+ case QS60StyleEnums::SP_QgnGrafBarFrameSideR:
+ result.setWidth(pixelMetric(PM_Custom_FrameCornerWidth));
+ break;
+
case QS60StyleEnums::SP_QsnCpScrollHandleBottomPressed:
case QS60StyleEnums::SP_QsnCpScrollHandleTopPressed:
case QS60StyleEnums::SP_QsnCpScrollHandleMiddlePressed:
@@ -994,6 +999,10 @@ void QS60Style::drawComplexControl(ComplexControl control, const QStyleOptionCom
if (const QStyleOptionToolButton *toolBtn = qstyleoption_cast<const QStyleOptionToolButton *>(option)) {
const State bflags = toolBtn->state;
const QRect button(subControlRect(control, toolBtn, SC_ToolButton, widget));
+ QRect menuRect = QRect();
+ if (toolBtn->subControls & SC_ToolButtonMenu)
+ menuRect = subControlRect(control, toolBtn, SC_ToolButtonMenu, widget);
+
QStyleOptionToolButton toolButton = *toolBtn;
if (sub&SC_ToolButton) {
@@ -1006,7 +1015,7 @@ void QS60Style::drawComplexControl(ComplexControl control, const QStyleOptionCom
toolBar = qobject_cast<QToolBar *>(widget->parentWidget());
if (bflags & (State_Sunken | State_On | State_Raised)) {
- tool.rect = button;
+ tool.rect = button.unite(menuRect);
tool.state = bflags;
// todo: I'd like to move extension button next to where last button is
@@ -1061,6 +1070,12 @@ void QS60Style::drawComplexControl(ComplexControl control, const QStyleOptionCom
} else {
drawPrimitive(PE_PanelButtonTool, &tool, painter, widget);
}
+
+ if (toolButton.subControls & SC_ToolButtonMenu) {
+ tool.rect = menuRect;
+ tool.state = bflags;
+ drawPrimitive(PE_IndicatorArrowDown, &tool, painter, widget);
+ }
}
}
@@ -1315,13 +1330,13 @@ void QS60Style::drawControl(ControlElement element, const QStyleOption *option,
painter->setClipRect(voptAdj.rect);
const bool isSelected = (vopt->state & QStyle::State_Selected);
- bool isVisible = false;
+ bool isScrollBarVisible = false;
int scrollBarWidth = 0;
QList<QScrollBar *> scrollBars = qFindChildren<QScrollBar *>(widget);
for (int i = 0; i < scrollBars.size(); ++i) {
QScrollBar *scrollBar = scrollBars.at(i);
if (scrollBar && scrollBar->orientation() == Qt::Vertical) {
- isVisible = scrollBar->isVisible();
+ isScrollBarVisible = scrollBar->isVisible();
scrollBarWidth = scrollBar->size().width();
break;
}
@@ -1329,7 +1344,7 @@ void QS60Style::drawControl(ControlElement element, const QStyleOption *option,
int rightValue = widget ? widget->contentsRect().right() : 0;
- if (isVisible)
+ if (isScrollBarVisible)
rightValue -= scrollBarWidth;
if (voptAdj.rect.right() > rightValue)
@@ -1337,49 +1352,51 @@ void QS60Style::drawControl(ControlElement element, const QStyleOption *option,
const QRect iconRect = subElementRect(SE_ItemViewItemDecoration, &voptAdj, widget);
QRect textRect = subElementRect(SE_ItemViewItemText, &voptAdj, widget);
+ const QAbstractItemView *itemView = qobject_cast<const QAbstractItemView *>(widget);
// draw themed background for table unless background brush has been defined.
if (vopt->backgroundBrush == Qt::NoBrush) {
- const QStyleOptionViewItemV4 *tableOption = qstyleoption_cast<const QStyleOptionViewItemV4 *>(option);
- const QTableView *table = qobject_cast<const QTableView *>(widget);
- if (table && tableOption) {
- const QModelIndex index = tableOption->index;
+ if (itemView) {
+ const QModelIndex index = vopt->index;
//todo: Draw cell background only once - for the first cell.
QStyleOptionViewItemV4 voptAdj2 = voptAdj;
- const QModelIndex indexFirst = table->model()->index(0,0);
- const QModelIndex indexLast = table->model()->index(
- table->model()->rowCount()-1,table->model()->columnCount()-1);
- if (table->viewport())
- voptAdj2.rect = QRect( table->visualRect(indexFirst).topLeft(),
- table->visualRect(indexLast).bottomRight()).intersect(table->viewport()->rect());
- drawPrimitive(PE_PanelItemViewItem, &voptAdj2, painter, widget);
+ const QModelIndex indexFirst = itemView->model()->index(0,0);
+ const QModelIndex indexLast = itemView->model()->index(
+ itemView->model()->rowCount()-1,itemView->model()->columnCount()-1);
+ if (itemView->viewport())
+ voptAdj2.rect = QRect( itemView->visualRect(indexFirst).topLeft(),
+ itemView->visualRect(indexLast).bottomRight()).intersect(itemView->viewport()->rect());
+ drawPrimitive(PE_PanelItemViewItem, &voptAdj, painter, widget);
}
- } else { QCommonStyle::drawPrimitive(PE_PanelItemViewItem, option, painter, widget);}
+ } else { QCommonStyle::drawPrimitive(PE_PanelItemViewItem, &voptAdj, painter, widget);}
// draw the focus rect
if (isSelected) {
QRect highlightRect = option->rect.adjusted(1,1,-1,-1);
- const QAbstractItemView *view = qobject_cast<const QAbstractItemView *>(widget);
- if (view && view->selectionBehavior() != QAbstractItemView::SelectItems) {
+ QAbstractItemView::SelectionBehavior selectionBehavior =
+ itemView ? itemView->selectionBehavior() : QAbstractItemView::SelectItems;
+ if (selectionBehavior != QAbstractItemView::SelectItems) {
// set highlight rect so that it is continuous from cell to cell, yet sligthly
// smaller than cell rect
int xBeginning = 0, yBeginning = 0, xEnd = 0, yEnd = 0;
- if (view->selectionBehavior() == QAbstractItemView::SelectRows) {
+ if (selectionBehavior == QAbstractItemView::SelectRows) {
yBeginning = 1; yEnd = -1;
if (vopt->viewItemPosition == QStyleOptionViewItemV4::Beginning)
xBeginning = 1;
else if (vopt->viewItemPosition == QStyleOptionViewItemV4::End)
xEnd = -1;
- } else if (view->selectionBehavior() == QAbstractItemView::SelectColumns) {
+ } else if (selectionBehavior == QAbstractItemView::SelectColumns) {
xBeginning = 1; xEnd = -1;
if (vopt->viewItemPosition == QStyleOptionViewItemV4::Beginning)
yBeginning = 1;
else if (vopt->viewItemPosition == QStyleOptionViewItemV4::End)
yEnd = -1;
}
- highlightRect = option->rect.adjusted(xBeginning, yBeginning, xEnd, xBeginning);
+ highlightRect = option->rect.adjusted(xBeginning, yBeginning, xEnd, yEnd);
}
- QS60StylePrivate::drawSkinElement(QS60StylePrivate::SE_ListHighlight, painter, highlightRect, flags);
+ if (vopt->showDecorationSelected &&
+ (vopt->palette.highlight().color() == d->themePalette()->highlight().color()))
+ QS60StylePrivate::drawSkinElement(QS60StylePrivate::SE_ListHighlight, painter, highlightRect, flags);
}
// draw the icon
@@ -1388,48 +1405,44 @@ void QS60Style::drawControl(ControlElement element, const QStyleOption *option,
voptAdj.icon.paint(painter, iconRect, voptAdj.decorationAlignment, mode, state);
// Draw selection check mark. Show check mark only in multi selection modes.
- if (const QListView *listView = (qobject_cast<const QListView *>(widget))) {
+ if (itemView) {
const bool singleSelection =
- listView &&
- (listView->selectionMode() == QAbstractItemView::SingleSelection ||
- listView->selectionMode() == QAbstractItemView::NoSelection);
+ (itemView->selectionMode() == QAbstractItemView::SingleSelection ||
+ itemView->selectionMode() == QAbstractItemView::NoSelection);
const QRect selectionRect = subElementRect(SE_ItemViewItemCheckIndicator, &voptAdj, widget);
+
+ QStyleOptionViewItemV4 checkMarkOption(voptAdj);
+ // Draw selection mark.
if (voptAdj.state & QStyle::State_Selected && !singleSelection) {
- QStyleOptionViewItemV4 option(voptAdj);
- option.rect = selectionRect;
- // Draw selection mark.
- drawPrimitive(QStyle::PE_IndicatorViewItemCheck, &option, painter, widget);
+ checkMarkOption.rect = selectionRect;
+ drawPrimitive(QStyle::PE_IndicatorViewItemCheck, &checkMarkOption, painter, widget);
if ( textRect.right() > selectionRect.left() )
textRect.setRight(selectionRect.left());
} else if (singleSelection &&
- voptAdj.features & QStyleOptionViewItemV2::HasCheckIndicator) {
- // draw the check mark
- if (selectionRect.isValid()) {
- QStyleOptionViewItemV4 option(*vopt);
- option.rect = selectionRect;
- option.state = option.state & ~QStyle::State_HasFocus;
-
- switch (vopt->checkState) {
- case Qt::Unchecked:
- option.state |= QStyle::State_Off;
- break;
- case Qt::PartiallyChecked:
- option.state |= QStyle::State_NoChange;
- break;
- case Qt::Checked:
- option.state |= QStyle::State_On;
- break;
- }
- drawPrimitive(QStyle::PE_IndicatorViewItemCheck, &option, painter, widget);
+ voptAdj.features & QStyleOptionViewItemV2::HasCheckIndicator &&
+ selectionRect.isValid()) {
+ checkMarkOption.rect = selectionRect;
+ checkMarkOption.state = checkMarkOption.state & ~QStyle::State_HasFocus;
+
+ switch (vopt->checkState) {
+ case Qt::Unchecked:
+ checkMarkOption.state |= QStyle::State_Off;
+ break;
+ case Qt::PartiallyChecked:
+ checkMarkOption.state |= QStyle::State_NoChange;
+ break;
+ case Qt::Checked:
+ checkMarkOption.state |= QStyle::State_On;
+ break;
}
+ drawPrimitive(QStyle::PE_IndicatorViewItemCheck, &checkMarkOption, painter, widget);
}
}
// draw the text
if (!voptAdj.text.isEmpty()) {
- const QStyleOptionViewItemV4 *tableOption = qstyleoption_cast<const QStyleOptionViewItemV4 *>(option);
if (isSelected) {
- if (qobject_cast<const QTableView *>(widget) && tableOption)
+ if (qobject_cast<const QTableView *>(widget))
voptAdj.palette.setColor(
QPalette::Text, QS60StylePrivate::s60Color(QS60StyleEnums::CL_QsnTextColors, 11, 0));
else
@@ -1668,18 +1681,18 @@ void QS60Style::drawControl(ControlElement element, const QStyleOption *option,
if (!styleHint(SH_UnderlineShortcut, menuItem, widget))
text_flags |= Qt::TextHideMnemonic;
- QRect iconRect =
- subElementRect(SE_ItemViewItemDecoration, &optionMenuItem, widget);
- QRect textRect = subElementRect(SE_ItemViewItemText, &optionMenuItem, widget);
-
if ((option->state & State_Selected) && (option->state & State_Enabled))
QS60StylePrivate::drawSkinElement(QS60StylePrivate::SE_ListHighlight, painter, option->rect, flags);
+ QRect iconRect = subElementRect(SE_ItemViewItemDecoration, &optionMenuItem, widget);
+ QRect textRect = subElementRect(SE_ItemViewItemText, &optionMenuItem, widget);
+
//todo: move the vertical spacing stuff into subElementRect
const int vSpacing = QS60StylePrivate::pixelMetric(QStyle::PM_LayoutVerticalSpacing);
if (checkable){
+ const int hSpacing = QS60StylePrivate::pixelMetric(QStyle::PM_LayoutHorizontalSpacing);
QStyleOptionMenuItem optionCheckBox;
- optionCheckBox.QStyleOption::operator=(*menuItem);
+ optionCheckBox.QStyleOptionMenuItem::operator=(*menuItem);
optionCheckBox.rect.setWidth(pixelMetric(PM_IndicatorWidth));
optionCheckBox.rect.setHeight(pixelMetric(PM_IndicatorHeight));
const int moveByX = optionCheckBox.rect.width()+vSpacing;
@@ -1688,6 +1701,7 @@ void QS60Style::drawControl(ControlElement element, const QStyleOption *option,
iconRect.translate(moveByX, 0);
iconRect.setWidth(iconRect.width()+vSpacing);
textRect.setWidth(textRect.width()-moveByX-vSpacing);
+ optionCheckBox.rect.translate(vSpacing/2, hSpacing/2);
} else {
textRect.setWidth(textRect.width()-moveByX);
iconRect.setWidth(iconRect.width()+vSpacing);
@@ -1722,8 +1736,11 @@ void QS60Style::drawControl(ControlElement element, const QStyleOption *option,
// direction is set to north (and south when in RightToLeft)
const QS60StylePrivate::SkinElementFlag arrowDirection = (arrowOptions.direction == Qt::LeftToRight) ?
QS60StylePrivate::SF_PointNorth : QS60StylePrivate::SF_PointSouth;
+ painter->save();
+ painter->setPen(option->palette.windowText().color());
QS60StylePrivate::drawSkinPart(QS60StyleEnums::SP_QgnIndiSubMenu, painter, arrowOptions.rect,
(flags | QS60StylePrivate::SF_ColorSkinned | arrowDirection));
+ painter->restore();
}
//draw text
@@ -1751,7 +1768,7 @@ void QS60Style::drawControl(ControlElement element, const QStyleOption *option,
#endif //QT_NO_MENUBAR
case CE_HeaderSection:
- if ( const QStyleOptionHeader *header = qstyleoption_cast<const QStyleOptionHeader *>(option)) {
+ if (const QStyleOptionHeader *header = qstyleoption_cast<const QStyleOptionHeader *>(option)) {
painter->save();
QPen linePen = QPen(QS60StylePrivate::s60Color(QS60StyleEnums::CL_QsnLineColors, 1, header));
const int penWidth = (header->orientation == Qt::Horizontal) ?
@@ -1769,6 +1786,25 @@ void QS60Style::drawControl(ControlElement element, const QStyleOption *option,
}
}
painter->restore();
+
+ //Draw corner button as normal pushButton.
+ if (qobject_cast<const QAbstractButton *>(widget)) {
+ //Make cornerButton slightly smaller so that it is not on top of table border graphic.
+ QStyleOptionHeader subopt = *header;
+ const int borderTweak =
+ QS60StylePrivate::pixelMetric(PM_Custom_FrameCornerWidth)>>1;
+ if (subopt.direction == Qt::LeftToRight)
+ subopt.rect.adjust(borderTweak, borderTweak, 0, -borderTweak);
+ else
+ subopt.rect.adjust(0, borderTweak, -borderTweak, -borderTweak);
+ drawPrimitive(PE_PanelButtonBevel, &subopt, painter, widget);
+ } else if ((header->palette.brush(QPalette::Button) != Qt::transparent)) {
+ //Draw non-themed background. Background for theme is drawn in CE_ShapedFrame
+ //to get continuous theme graphic across all the header cells.
+ qDrawShadePanel(painter, header->rect, header->palette,
+ header->state & (State_Sunken | State_On), penWidth,
+ &header->palette.brush(QPalette::Button));
+ }
}
break;
case CE_HeaderEmptyArea: // no need to draw this
@@ -1830,20 +1866,33 @@ void QS60Style::drawControl(ControlElement element, const QStyleOption *option,
break;
#endif //QT_NO_TOOLBAR
case CE_ShapedFrame:
- if (qobject_cast<const QTextEdit *>(widget)) {
- QS60StylePrivate::drawSkinElement(QS60StylePrivate::SE_Editor, painter, option->rect, flags);
+ if (const QTextEdit *textEdit = qobject_cast<const QTextEdit *>(widget)) {
+ const QStyleOptionFrame *frame = qstyleoption_cast<const QStyleOptionFrame *>(option);
+ if (frame->palette.base().color()==Qt::transparent)
+ QS60StylePrivate::drawSkinElement(QS60StylePrivate::SE_Editor, painter, option->rect, flags);
+ else
+ QCommonStyle::drawControl(element, option, painter, widget);
} else if (qobject_cast<const QTableView *>(widget)) {
QS60StylePrivate::drawSkinElement(QS60StylePrivate::SE_TableItem, painter, option->rect, flags);
} else if (const QHeaderView *header = qobject_cast<const QHeaderView *>(widget)) {
- if (header->orientation() == Qt::Horizontal) {
- QRect headerRect = option->rect;
- const int frameWidth = QS60StylePrivate::pixelMetric(PM_DefaultFrameWidth);
- headerRect.adjust(0,frameWidth,-2*frameWidth,0);
- QS60StylePrivate::drawSkinElement(QS60StylePrivate::SE_TableHeaderItem, painter, headerRect, flags);
- } else {
+ //QS60style draws header background here instead of in each headersection, to get
+ //continuous graphic from section to section.
+ QS60StylePrivate::SkinElementFlags adjustableFlags = flags;
+ QRect headerRect = option->rect;
+ if (header->orientation() != Qt::Horizontal) {
//todo: update to horizontal table graphic
- QS60StylePrivate::drawSkinElement(QS60StylePrivate::SE_TableHeaderItem, painter, option->rect, flags | QS60StylePrivate::SF_PointWest);
+ adjustableFlags = (adjustableFlags | QS60StylePrivate::SF_PointWest);
+ } else {
+ const int frameWidth = QS60StylePrivate::pixelMetric(PM_DefaultFrameWidth);
+ if (option->direction == Qt::LeftToRight)
+ headerRect.adjust(-2*frameWidth, 0, 0, 0);
+ else
+ headerRect.adjust(0, 0, 2*frameWidth, 0);
}
+ if (option->palette.brush(QPalette::Button).color() == Qt::transparent)
+ QS60StylePrivate::drawSkinElement(
+ QS60StylePrivate::SE_TableHeaderItem, painter, headerRect, adjustableFlags);
+
} else if (qobject_cast<const QFrame *>(widget)) {
QCommonStyle::drawControl(element, option, painter, widget);
}
@@ -1889,6 +1938,17 @@ void QS60Style::drawControl(ControlElement element, const QStyleOption *option,
painter->restore();
}
break;
+ case CE_Splitter:
+ if (option->state & State_Sunken && option->state & State_Enabled) {
+ painter->save();
+ painter->setOpacity(0.5);
+ painter->setBrush(d->themePalette()->light());
+ painter->setRenderHint(QPainter::Antialiasing);
+ const qreal roundRectRadius = 4 * goldenRatio;
+ painter->drawRoundedRect(option->rect, roundRectRadius, roundRectRadius);
+ painter->restore();
+ }
+ break;
default:
QCommonStyle::drawControl(element, option, painter, widget);
}
@@ -1899,6 +1959,7 @@ void QS60Style::drawControl(ControlElement element, const QStyleOption *option,
*/
void QS60Style::drawPrimitive(PrimitiveElement element, const QStyleOption *option, QPainter *painter, const QWidget *widget) const
{
+ Q_D(const QS60Style);
const QS60StylePrivate::SkinElementFlags flags = (option->state & State_Enabled) ? QS60StylePrivate::SF_StateEnabled : QS60StylePrivate::SF_StateDisabled;
switch (element) {
#ifndef QT_NO_LINEEDIT
@@ -1908,19 +1969,27 @@ void QS60Style::drawPrimitive(PrimitiveElement element, const QStyleOption *opti
if (widget && qobject_cast<const QComboBox *>(widget->parentWidget()))
break;
#endif
- QS60StylePrivate::drawSkinElement(QS60StylePrivate::SE_FrameLineEdit,
- painter, option->rect, flags);
+ QBrush editBrush = option->palette.brush(QPalette::Base);
+ if (editBrush.color() == Qt::transparent)
+ QS60StylePrivate::drawSkinElement(QS60StylePrivate::SE_FrameLineEdit,
+ painter, option->rect, flags);
+ else
+ QCommonStyle::drawPrimitive(element, option, painter, widget);
}
break;
#endif // QT_NO_LINEEDIT
case PE_IndicatorCheckBox:
{
- const QRect indicatorRect = option->rect;
// Draw checkbox indicator as color skinned graphics.
const QS60StyleEnums::SkinParts skinPart = (option->state & QStyle::State_On) ?
QS60StyleEnums::SP_QgnIndiCheckboxOn : QS60StyleEnums::SP_QgnIndiCheckboxOff;
- QS60StylePrivate::drawSkinPart(skinPart, painter, indicatorRect,
- (flags | QS60StylePrivate::SF_ColorSkinned));
+ painter->save();
+ QColor themeColor = d->s60Color(QS60StyleEnums::CL_QsnIconColors, 13, option);
+ QColor buttonTextColor = option->palette.buttonText().color();
+ if (themeColor != buttonTextColor)
+ painter->setPen(buttonTextColor);
+ QS60StylePrivate::drawSkinPart(skinPart, painter, option->rect, flags | QS60StylePrivate::SF_ColorSkinned );
+ painter->restore();
}
break;
case PE_IndicatorViewItemCheck:
@@ -1960,21 +2029,33 @@ void QS60Style::drawPrimitive(PrimitiveElement element, const QStyleOption *opti
const int newY = (buttonRect.bottomRight().y() - option->rect.bottomRight().y()) >> 1 ;
buttonRect.adjust(0,-newY,0,-newY);
+ painter->save();
+ QColor themeColor = d->s60Color(QS60StyleEnums::CL_QsnIconColors, 13, option);
+ QColor buttonTextColor = option->palette.buttonText().color();
+ if (themeColor != buttonTextColor)
+ painter->setPen(buttonTextColor);
+
// Draw radiobutton indicator as color skinned graphics.
QS60StyleEnums::SkinParts skinPart = (option->state & QStyle::State_On) ?
QS60StyleEnums::SP_QgnIndiRadiobuttOn : QS60StyleEnums::SP_QgnIndiRadiobuttOff;
QS60StylePrivate::drawSkinPart(skinPart, painter, buttonRect,
(flags | QS60StylePrivate::SF_ColorSkinned));
+ painter->restore();
}
break;
case PE_PanelButtonCommand:
case PE_PanelButtonTool:
case PE_PanelButtonBevel:
case PE_FrameButtonBevel: {
- const bool isPressed = option->state & QStyle::State_Sunken;
- const QS60StylePrivate::SkinElements skinElement =
- isPressed ? QS60StylePrivate::SE_ButtonPressed : QS60StylePrivate::SE_ButtonNormal;
- QS60StylePrivate::drawSkinElement(skinElement, painter, option->rect, flags);
+ QBrush editBrush = option->palette.brush(QPalette::Base);
+ if (editBrush.color() == Qt::transparent) {
+ const bool isPressed = option->state & QStyle::State_Sunken;
+ const QS60StylePrivate::SkinElements skinElement =
+ isPressed ? QS60StylePrivate::SE_ButtonPressed : QS60StylePrivate::SE_ButtonNormal;
+ QS60StylePrivate::drawSkinElement(skinElement, painter, option->rect, flags);
+ } else {
+ QCommonStyle::drawPrimitive(element, option, painter, widget);
+ }
}
break;
#ifndef QT_NO_TOOLBUTTON
@@ -2001,21 +2082,29 @@ void QS60Style::drawPrimitive(PrimitiveElement element, const QStyleOption *opti
case PE_IndicatorSpinUp:
if (const QStyleOptionSpinBox *spinBox = qstyleoption_cast<const QStyleOptionSpinBox *>(option)) {
QStyleOptionSpinBox optionSpinBox = *spinBox;
- const QS60StyleEnums::SkinParts part = (element == PE_IndicatorSpinUp) ?
- QS60StyleEnums::SP_QgnGrafScrollArrowUp :
- QS60StyleEnums::SP_QgnGrafScrollArrowDown;
- const int adjustment = qMin(optionSpinBox.rect.width(), optionSpinBox.rect.height())/6;
- optionSpinBox.rect.translate(0, (element == PE_IndicatorSpinDown) ? adjustment : -adjustment );
- QS60StylePrivate::drawSkinPart(part, painter, optionSpinBox.rect,flags);
+ if (optionSpinBox.palette.base().color()==Qt::transparent) {
+ const QS60StyleEnums::SkinParts part = (element == PE_IndicatorSpinUp) ?
+ QS60StyleEnums::SP_QgnGrafScrollArrowUp :
+ QS60StyleEnums::SP_QgnGrafScrollArrowDown;
+ const int adjustment = qMin(optionSpinBox.rect.width(), optionSpinBox.rect.height())/6;
+ optionSpinBox.rect.translate(0, (element == PE_IndicatorSpinDown) ? adjustment : -adjustment );
+ QS60StylePrivate::drawSkinPart(part, painter, optionSpinBox.rect,flags);
+ } else {
+ QCommonStyle::drawPrimitive(element, &optionSpinBox, painter, widget);
+ }
}
#ifndef QT_NO_COMBOBOX
else if (const QStyleOptionFrame *cmb = qstyleoption_cast<const QStyleOptionFrame *>(option)) {
- // We want to draw down arrow here for comboboxes as well.
- const QS60StyleEnums::SkinParts part = QS60StyleEnums::SP_QgnGrafScrollArrowDown;
- QStyleOptionFrame comboBox = *cmb;
- const int adjustment = qMin(comboBox.rect.width(), comboBox.rect.height())/6;
- comboBox.rect.translate(0, (element == PE_IndicatorSpinDown) ? adjustment : -adjustment );
- QS60StylePrivate::drawSkinPart(part, painter, comboBox.rect,flags);
+ if (cmb->palette.base().color()==Qt::transparent) {
+ // We want to draw down arrow here for comboboxes as well.
+ const QS60StyleEnums::SkinParts part = QS60StyleEnums::SP_QgnGrafScrollArrowDown;
+ QStyleOptionFrame comboBox = *cmb;
+ const int adjustment = qMin(comboBox.rect.width(), comboBox.rect.height())/6;
+ comboBox.rect.translate(0, (element == PE_IndicatorSpinDown) ? adjustment : -adjustment );
+ QS60StylePrivate::drawSkinPart(part, painter, comboBox.rect,flags);
+ } else {
+ QCommonStyle::drawPrimitive(element, cmb, painter, widget);
+ }
}
#endif //QT_NO_COMBOBOX
break;
@@ -2045,8 +2134,12 @@ void QS60Style::drawPrimitive(PrimitiveElement element, const QStyleOption *opti
|| qobject_cast<const QMenu *> (widget)
#endif //QT_NO_MENU
) {
- QS60StylePrivate::SkinElements skinElement = QS60StylePrivate::SE_OptionsMenu;
- QS60StylePrivate::drawSkinElement(skinElement, painter, option->rect, flags);
+ if (option->palette.base().color()==Qt::transparent) {
+ QS60StylePrivate::SkinElements skinElement = QS60StylePrivate::SE_OptionsMenu;
+ QS60StylePrivate::drawSkinElement(skinElement, painter, option->rect, flags);
+ } else {
+ QCommonStyle::drawPrimitive(element, option, painter, widget);
+ }
}
break;
case PE_FrameWindow:
@@ -2133,7 +2226,7 @@ void QS60Style::drawPrimitive(PrimitiveElement element, const QStyleOption *opti
drawSkinPart = true;
}
- if ( drawSkinPart )
+ if (drawSkinPart)
QS60StylePrivate::drawSkinPart(skinPart, painter, option->rect, flags);
if (option->state & State_Children) {
@@ -2155,7 +2248,6 @@ void QS60Style::drawPrimitive(PrimitiveElement element, const QStyleOption *opti
// todo: items are below with #ifdefs "just in case". in final version, remove all non-required cases
case PE_FrameLineEdit:
- case PE_IndicatorButtonDropDown:
case PE_IndicatorDockWidgetResizeHandle:
case PE_PanelTipLabel:
case PE_PanelScrollAreaCorner:
@@ -2190,7 +2282,7 @@ int QS60Style::pixelMetric(PixelMetric metric, const QStyleOption *option, const
if (metricValue == KNotFound)
metricValue = QCommonStyle::pixelMetric(metric, option, widget);
- if (metric == PM_SubMenuOverlap && widget){
+ if (metric == PM_SubMenuOverlap && widget) {
const QMenu *menu = qobject_cast<const QMenu *>(widget);
if (menu && menu->activeAction() && menu->activeAction()->menu()) {
const int menuWidth = menu->activeAction()->menu()->sizeHint().width();
@@ -2206,8 +2298,18 @@ QSize QS60Style::sizeFromContents(ContentsType ct, const QStyleOption *opt,
{
QSize sz(csz);
switch (ct) {
+ case CT_ToolButton:
+ sz = QCommonStyle::sizeFromContents( ct, opt, csz, widget);
+ //FIXME properly - style should calculate the location of border frame-part
+ sz += QSize(2*pixelMetric(PM_ButtonMargin), 2*pixelMetric(PM_ButtonMargin));
+ if (const QStyleOptionToolButton *toolBtn = qstyleoption_cast<const QStyleOptionToolButton *>(opt))
+ if (toolBtn->subControls & SC_ToolButtonMenu)
+ sz += QSize(pixelMetric(PM_MenuButtonIndicator),0);
+ break;
case CT_PushButton:
sz = QCommonStyle::sizeFromContents( ct, opt, csz, widget);
+ //FIXME properly - style should calculate the location of border frame-part
+ sz += QSize(2*pixelMetric(PM_ButtonMargin), 2*pixelMetric(PM_ButtonMargin));
if (const QAbstractButton *buttonWidget = (qobject_cast<const QAbstractButton *>(widget)))
if (buttonWidget->isCheckable())
sz += QSize(pixelMetric(PM_IndicatorWidth) + pixelMetric(PM_CheckBoxLabelSpacing), 0);
@@ -2217,10 +2319,19 @@ QSize QS60Style::sizeFromContents(ContentsType ct, const QStyleOption *opt,
sz += QSize(2*f->lineWidth, 4*f->lineWidth);
break;
case CT_TabBarTab:
- QSize naviPaneSize = QS60StylePrivate::naviPaneSize();
+ {
+ const QSize naviPaneSize = QS60StylePrivate::naviPaneSize();
+ sz = QCommonStyle::sizeFromContents(ct, opt, csz, widget);
+ if (naviPaneSize.height() > sz.height())
+ sz.setHeight(naviPaneSize.height());
+ }
+ break;
+ case CT_ItemViewItem:
sz = QCommonStyle::sizeFromContents( ct, opt, csz, widget);
- if (naviPaneSize.height() > sz.height())
- sz.setHeight(naviPaneSize.height());
+ if (QS60StylePrivate::isTouchSupported())
+ //Make itemview easier to use in touch devices
+ //QCommonStyle does not adjust height with horizontal margin, it only adjusts width
+ sz.setHeight(sz.height() + 2*pixelMetric(QStyle::PM_FocusFrameVMargin));
break;
default:
sz = QCommonStyle::sizeFromContents( ct, opt, csz, widget);
@@ -2475,6 +2586,29 @@ QRect QS60Style::subControlRect(ComplexControl control, const QStyleOptionComple
}
}
break;
+ case CC_ToolButton:
+ if (const QStyleOptionToolButton *toolButton = qstyleoption_cast<const QStyleOptionToolButton *>(option)) {
+ const int indicatorRect = pixelMetric(PM_MenuButtonIndicator) + 2*pixelMetric(PM_ButtonMargin);
+ const int border = pixelMetric(PM_ButtonMargin) + pixelMetric(PM_DefaultFrameWidth);
+ ret = toolButton->rect;
+ const bool popup = (toolButton->features &
+ (QStyleOptionToolButton::MenuButtonPopup | QStyleOptionToolButton::PopupDelay))
+ == QStyleOptionToolButton::MenuButtonPopup;
+ switch (scontrol) {
+ case SC_ToolButton:
+ if (popup)
+ ret.adjust(0, 0, -indicatorRect, 0);
+ break;
+ case SC_ToolButtonMenu:
+ if (popup)
+ ret.adjust(ret.width() - indicatorRect, border, -pixelMetric(PM_ButtonMargin), -border);
+ break;
+ default:
+ break;
+ }
+ ret = visualRect(toolButton->direction, toolButton->rect, ret);
+ }
+ break;
default:
ret = QCommonStyle::subControlRect(control, option, scontrol, widget);
}
@@ -2489,8 +2623,8 @@ QRect QS60Style::subElementRect(SubElement element, const QStyleOption *opt, con
QRect ret;
switch (element) {
case SE_LineEditContents: {
- // in S60 the input text box doesn't start from line Edit's TL, but
- // a bit indented.
+ // in S60 the input text box doesn't start from line Edit's TL, but
+ // a bit indented.
QRect lineEditRect = opt->rect;
const int adjustment = opt->rect.height()>>2;
lineEditRect.adjust(adjustment,0,0,0);
@@ -2878,7 +3012,7 @@ QIcon QS60Style::standardIconImplementation(StandardPixmap standardIcon,
return QCommonStyle::standardIconImplementation(standardIcon, option, widget);
}
const QS60StylePrivate::SkinElementFlags flags = adjustedFlags;
- const QPixmap cachedPixMap(QS60StylePrivate::cachedPart(part, iconSize.size(), flags));
+ const QPixmap cachedPixMap(QS60StylePrivate::cachedPart(part, iconSize.size(), 0, flags));
return cachedPixMap.isNull() ?
QCommonStyle::standardIconImplementation(standardIcon, option, widget) : QIcon(cachedPixMap);
}
diff --git a/src/gui/styles/qs60style_p.h b/src/gui/styles/qs60style_p.h
index 8e53eee..46547bf 100644
--- a/src/gui/styles/qs60style_p.h
+++ b/src/gui/styles/qs60style_p.h
@@ -361,7 +361,6 @@ public:
SF_ToolBarButtonPressed,
SF_PanelBackground,
SF_ButtonInactive,
- SF_Editor,
};
enum SkinElementFlag {
@@ -372,7 +371,7 @@ public:
SF_StateEnabled = 0x0010, // Enabled = the default
SF_StateDisabled = 0x0020,
- SF_ColorSkinned = 0x0040,
+ SF_ColorSkinned = 0x0040, // pixmap is colored with foreground pen color
};
enum CacheClearReason {
@@ -472,7 +471,7 @@ private:
const QRect &rect, SkinElementFlags flags = KDefaultSkinElementFlags);
static QPixmap cachedPart(QS60StyleEnums::SkinParts part, const QSize &size,
- SkinElementFlags flags = KDefaultSkinElementFlags);
+ QPainter *painter, SkinElementFlags flags = KDefaultSkinElementFlags);
static QPixmap cachedFrame(SkinFrameElements frame, const QSize &size,
SkinElementFlags flags = KDefaultSkinElementFlags);
@@ -489,7 +488,7 @@ private:
static QSize partSize(QS60StyleEnums::SkinParts part,
SkinElementFlags flags = KDefaultSkinElementFlags);
static QPixmap part(QS60StyleEnums::SkinParts part, const QSize &size,
- SkinElementFlags flags = KDefaultSkinElementFlags);
+ QPainter *painter, SkinElementFlags flags = KDefaultSkinElementFlags);
static QFont s60Font_specific(QS60StyleEnums::FontCategories fontCategory, int pointSize);
diff --git a/src/gui/styles/qs60style_s60.cpp b/src/gui/styles/qs60style_s60.cpp
index 9765066..c2a207c 100644
--- a/src/gui/styles/qs60style_s60.cpp
+++ b/src/gui/styles/qs60style_s60.cpp
@@ -99,7 +99,7 @@ public:
const QSize &size, QS60StylePrivate::SkinElementFlags flags);
static QPixmap skinnedGraphics(QS60StylePrivate::SkinFrameElements frameElement, const QSize &size, QS60StylePrivate::SkinElementFlags flags);
static QPixmap colorSkinnedGraphics(const QS60StyleEnums::SkinParts &stylepart,
- const QSize &size, QS60StylePrivate::SkinElementFlags flags);
+ const QSize &size, QPainter *painter, QS60StylePrivate::SkinElementFlags flags);
static QColor colorValue(const TAknsItemID &colorGroup, int colorIndex);
static QPixmap fromFbsBitmap(CFbsBitmap *icon, CFbsBitmap *mask, QS60StylePrivate::SkinElementFlags flags, QImage::Format format);
static bool disabledPartGraphic(QS60StyleEnums::SkinParts &part);
@@ -112,14 +112,12 @@ private:
const QSize &size, QS60StylePrivate::SkinElementFlags flags);
static QPixmap createSkinnedGraphicsLX(QS60StylePrivate::SkinFrameElements frameElement, const QSize &size, QS60StylePrivate::SkinElementFlags flags);
static QPixmap colorSkinnedGraphicsLX(const QS60StyleEnums::SkinParts &stylepart,
- const QSize &size, QS60StylePrivate::SkinElementFlags flags);
+ const QSize &size, QPainter *painter, QS60StylePrivate::SkinElementFlags flags);
static void frameIdAndCenterId(QS60StylePrivate::SkinFrameElements frameElement, TAknsItemID &frameId, TAknsItemID &centerId);
static TRect innerRectFromElement(QS60StylePrivate::SkinFrameElements frameElement, const TRect &outerRect);
static void checkAndUnCompressBitmapL(CFbsBitmap*& aOriginalBitmap);
static void checkAndUnCompressBitmap(CFbsBitmap*& aOriginalBitmap);
static void unCompressBitmapL(const TRect& aTrgRect, CFbsBitmap* aTrgBitmap, CFbsBitmap* aSrcBitmap);
- static void colorGroupAndIndex(QS60StyleEnums::SkinParts skinID,
- TAknsItemID &colorGroup, int &colorIndex);
static void fallbackInfo(const QS60StyleEnums::SkinParts &stylepart, TDes& fallbackFileName, TInt& fallbackIndex);
static bool checkSupport(const int supportedRelease);
static TAknsItemID checkAndUpdateReleaseSpecificGraphics(int part);
@@ -321,16 +319,6 @@ const partMapEntry QS60StyleModeSpecifics::m_partMap[] = {
/* SP_QsnFrButtonSideRInactive */ {KAknsIIDQsnFrButtonTbSideR, ENoDraw, ES60_3_1 | ES60_3_2, EAknsMajorSkin, 0x21b8},
/* SP_QsnFrButtonCenterInactive */ {KAknsIIDQsnFrButtonTbCenter, EDrawIcon, ES60_3_1 | ES60_3_2, EAknsMajorSkin, 0x21b9},
- /* SP_QsnFrNotepadCornerTl */ {KAknsIIDQsnFrNotepadContCornerTl, ENoDraw, ES60_AllReleases, -1,-1},
- /* SP_QsnFrNotepadCornerTr */ {KAknsIIDQsnFrNotepadContCornerTr, ENoDraw, ES60_AllReleases, -1,-1},
- /* SP_QsnFrNotepadCornerBl */ {KAknsIIDQsnFrNotepadCornerBl, ENoDraw, ES60_AllReleases, -1,-1},
- /* SP_QsnFrNotepadCornerBr */ {KAknsIIDQsnFrNotepadCornerBr, ENoDraw, ES60_AllReleases, -1,-1},
- /* SP_QsnFrNotepadSideT */ {KAknsIIDQsnFrNotepadContSideT, ENoDraw, ES60_AllReleases, -1,-1},
- /* SP_QsnFrNotepadSideB */ {KAknsIIDQsnFrNotepadSideB, ENoDraw, ES60_AllReleases, -1,-1},
- /* SP_QsnFrNotepadSideL */ {KAknsIIDQsnFrNotepadSideL, ENoDraw, ES60_AllReleases, -1,-1},
- /* SP_QsnFrNotepadSideR */ {KAknsIIDQsnFrNotepadSideR, ENoDraw, ES60_AllReleases, -1,-1},
- /* SP_QsnFrNotepadCenter */ {KAknsIIDQsnFrNotepadCenter, EDrawIcon, ES60_AllReleases, -1,-1},
-
};
QPixmap QS60StyleModeSpecifics::skinnedGraphics(
@@ -361,11 +349,11 @@ QPixmap QS60StyleModeSpecifics::skinnedGraphics(
}
QPixmap QS60StyleModeSpecifics::colorSkinnedGraphics(
- const QS60StyleEnums::SkinParts &stylepart,
- const QSize &size, QS60StylePrivate::SkinElementFlags flags)
+ const QS60StyleEnums::SkinParts &stylepart, const QSize &size, QPainter *painter,
+ QS60StylePrivate::SkinElementFlags flags)
{
QPixmap colorGraphics;
- TRAPD(error, QT_TRYCATCH_LEAVING(colorGraphics = colorSkinnedGraphicsLX(stylepart, size, flags)));
+ TRAPD(error, QT_TRYCATCH_LEAVING(colorGraphics = colorSkinnedGraphicsLX(stylepart, size, painter, flags)));
return error ? QPixmap() : colorGraphics;
}
@@ -525,7 +513,7 @@ void QS60StyleModeSpecifics::fallbackInfo(const QS60StyleEnums::SkinParts &style
QPixmap QS60StyleModeSpecifics::colorSkinnedGraphicsLX(
const QS60StyleEnums::SkinParts &stylepart,
- const QSize &size, QS60StylePrivate::SkinElementFlags flags)
+ const QSize &size, QPainter *painter, QS60StylePrivate::SkinElementFlags flags)
{
// this function can throw both exceptions and leaves. There are no cleanup dependencies between Qt and Symbian parts.
const int stylepartIndex = (int)stylepart;
@@ -537,8 +525,13 @@ QPixmap QS60StyleModeSpecifics::colorSkinnedGraphicsLX(
fallbackInfo(stylepart, fileNamePtr, fallbackGraphicID);
TAknsItemID colorGroup = KAknsIIDQsnIconColors;
- int colorIndex = 0;
- colorGroupAndIndex(stylepart, colorGroup, colorIndex);
+ TRgb defaultColor = KRgbBlack;
+ int colorIndex = -1; //set a bogus value to color index to ensure that painter color is used
+ //to color the icon
+ if (painter) {
+ QRgb widgetColor = painter->pen().color().rgb();
+ defaultColor = TRgb(qRed(widgetColor), qGreen(widgetColor), qBlue(widgetColor));
+ }
const bool rotatedBy90or270 =
(flags & (QS60StylePrivate::SF_PointEast | QS60StylePrivate::SF_PointWest));
@@ -550,7 +543,7 @@ QPixmap QS60StyleModeSpecifics::colorSkinnedGraphicsLX(
fallbackGraphicID == KErrNotFound?KErrNotFound:fallbackGraphicID+1; //masks are auto-generated as next in mif files
MAknsSkinInstance* skinInstance = AknsUtils::SkinInstance();
AknsUtils::CreateColorIconLC(
- skinInstance, skinId, colorGroup, colorIndex, icon, iconMask, fileNamePtr, fallbackGraphicID , fallbackGraphicsMaskID, KRgbBlack);
+ skinInstance, skinId, colorGroup, colorIndex, icon, iconMask, fileNamePtr, fallbackGraphicID , fallbackGraphicsMaskID, defaultColor);
User::LeaveIfError(AknIconUtils::SetSize(icon, targetSize, EAspectRatioNotPreserved));
User::LeaveIfError(AknIconUtils::SetSize(iconMask, targetSize, EAspectRatioNotPreserved));
QPixmap result = fromFbsBitmap(icon, iconMask, flags, qt_TDisplayMode2Format(icon->DisplayMode()));
@@ -652,8 +645,8 @@ QPoint qt_s60_fill_background_offset(const QWidget *targetWidget)
}
QPixmap QS60StyleModeSpecifics::createSkinnedGraphicsLX(
- QS60StyleEnums::SkinParts part,
- const QSize &size, QS60StylePrivate::SkinElementFlags flags)
+ QS60StyleEnums::SkinParts part, const QSize &size,
+ QS60StylePrivate::SkinElementFlags flags)
{
// this function can throw both exceptions and leaves. There are no cleanup dependencies between Qt and Symbian parts.
if (!size.isValid())
@@ -700,13 +693,13 @@ QPixmap QS60StyleModeSpecifics::createSkinnedGraphicsLX(
CleanupStack::PushL(background);
User::LeaveIfError(background->Create(targetSize, EColor16MA));
- CFbsBitmapDevice* dev = CFbsBitmapDevice::NewL(background);
+ CFbsBitmapDevice *dev = CFbsBitmapDevice::NewL(background);
CleanupStack::PushL(dev);
- CFbsBitGc* gc = NULL;
+ CFbsBitGc *gc = NULL;
User::LeaveIfError(dev->CreateContext(gc));
CleanupStack::PushL(gc);
- CAknsBasicBackgroundControlContext* bgContext = CAknsBasicBackgroundControlContext::NewL(
+ CAknsBasicBackgroundControlContext *bgContext = CAknsBasicBackgroundControlContext::NewL(
skinId,
targetSize,
EFalse);
@@ -849,10 +842,6 @@ void QS60StyleModeSpecifics::frameIdAndCenterId(QS60StylePrivate::SkinFrameEleme
centerId.Set(KAknsIIDNone);
frameId.Set(KAknsIIDQsnFrSetOpt);
break;
- case QS60StylePrivate::SF_Editor:
- centerId.Set(KAknsIIDQsnFrNotepadCenter);
- frameId.Set(KAknsIIDQsnFrNotepadCont);
- break;
default:
// center should be correct here
frameId.iMinor = centerId.iMinor - 9;
@@ -1145,12 +1134,12 @@ QPixmap QS60StyleModeSpecifics::generateMissingThemeGraphic(QS60StyleEnums::Skin
}
QPixmap QS60StylePrivate::part(QS60StyleEnums::SkinParts part,
- const QSize &size, SkinElementFlags flags)
+ const QSize &size, QPainter *painter, SkinElementFlags flags)
{
QSymbianFbsHeapLock lock(QSymbianFbsHeapLock::Unlock);
QPixmap result = (flags & SF_ColorSkinned)?
- QS60StyleModeSpecifics::colorSkinnedGraphics(part, size, flags)
+ QS60StyleModeSpecifics::colorSkinnedGraphics(part, size, painter, flags)
: QS60StyleModeSpecifics::skinnedGraphics(part, size, flags);
lock.relock();
@@ -1189,7 +1178,7 @@ QPixmap QS60StylePrivate::backgroundTexture()
{
if (!m_background) {
QPixmap background = part(QS60StyleEnums::SP_QsnBgScreen,
- QSize(S60->screenWidthInPixels, S60->screenHeightInPixels), SkinElementFlags());
+ QSize(S60->screenWidthInPixels, S60->screenHeightInPixels), 0, SkinElementFlags());
m_background = new QPixmap(background);
}
return *m_background;
@@ -1343,26 +1332,6 @@ QSize QS60StylePrivate::screenSize()
return QSize(screenSize.iWidth, screenSize.iHeight);
}
-void QS60StyleModeSpecifics::colorGroupAndIndex(
- QS60StyleEnums::SkinParts skinID, TAknsItemID &colorGroup, int &colorIndex)
-{
- switch(skinID) {
- case QS60StyleEnums::SP_QgnIndiSubMenu:
- colorGroup = KAknsIIDQsnIconColors;
- colorIndex = EAknsCIQsnIconColorsCG1;
- break;
- case QS60StyleEnums::SP_QgnIndiRadiobuttOff:
- case QS60StyleEnums::SP_QgnIndiRadiobuttOn:
- case QS60StyleEnums::SP_QgnIndiCheckboxOff:
- case QS60StyleEnums::SP_QgnIndiCheckboxOn:
- colorGroup = KAknsIIDQsnIconColors;
- colorIndex = EAknsCIQsnIconColorsCG14;
- break;
- default:
- break;
- }
-}
-
QS60Style::QS60Style()
: QCommonStyle(*new QS60StylePrivate)
{
@@ -1399,13 +1368,13 @@ QSize QS60StylePrivate::naviPaneSize()
QSize QS60StyleModeSpecifics::naviPaneSize()
{
CAknNavigationControlContainer* naviContainer;
- if (S60->statusPane())
- naviContainer = static_cast<CAknNavigationControlContainer*>
- (S60->statusPane()->ControlL(TUid::Uid(EEikStatusPaneUidNavi)));
- if (naviContainer)
- return QSize(naviContainer->Size().iWidth, naviContainer->Size().iHeight);
- else
- return QSize(0,0);
+ if (S60->statusPane()) {
+ TRAPD(err, naviContainer = static_cast<CAknNavigationControlContainer*>
+ (S60->statusPane()->ControlL(TUid::Uid(EEikStatusPaneUidNavi))));
+ if (err==KErrNone)
+ return QSize(naviContainer->Size().iWidth, naviContainer->Size().iHeight);
+ }
+ return QSize(0,0);
}
#endif // Q_WS_S60
diff --git a/src/gui/styles/qs60style_simulated.cpp b/src/gui/styles/qs60style_simulated.cpp
index 8a2616d..706b4e9 100644
--- a/src/gui/styles/qs60style_simulated.cpp
+++ b/src/gui/styles/qs60style_simulated.cpp
@@ -189,8 +189,10 @@ QColor QS60StylePrivate::s60Color(QS60StyleEnums::ColorLists list,
}
QPixmap QS60StylePrivate::part(QS60StyleEnums::SkinParts part, const QSize &size,
- QS60StylePrivate::SkinElementFlags flags)
+ QPainter *painter, QS60StylePrivate::SkinElementFlags flags)
{
+ Q_UNUSED(painter);
+
const QString partKey = QS60Style::partKeys().at(part);
const QPicture partPicture = QS60StyleModeSpecifics::m_partPictures.value(partKey);
QSize partSize(partPicture.boundingRect().size());
@@ -320,7 +322,7 @@ QPixmap QS60StylePrivate::backgroundTexture()
{
if (!m_background) {
const QSize size = QApplication::desktop()->screen()->size();
- QPixmap background = part(QS60StyleEnums::SP_QsnBgScreen, size);
+ QPixmap background = part(QS60StyleEnums::SP_QsnBgScreen, size, 0);
m_background = new QPixmap(background);
}
return *m_background;
diff --git a/src/gui/styles/qstyle.cpp b/src/gui/styles/qstyle.cpp
index eef1573..ec238a9 100644
--- a/src/gui/styles/qstyle.cpp
+++ b/src/gui/styles/qstyle.cpp
@@ -2417,13 +2417,13 @@ int QStyle::layoutSpacingImplementation(QSizePolicy::ControlType /* control1 */,
return -1;
}
-#if !defined(QT_NO_DEBUG) && !defined(QT_NO_DEBUG_STREAM)
QT_BEGIN_INCLUDE_NAMESPACE
#include <QDebug>
QT_END_INCLUDE_NAMESPACE
QDebug operator<<(QDebug debug, QStyle::State state)
{
+#if !defined(QT_NO_DEBUG) && !defined(QT_NO_DEBUG_STREAM)
debug << "QStyle::State(";
QStringList states;
@@ -2455,9 +2455,9 @@ QDebug operator<<(QDebug debug, QStyle::State state)
qSort(states);
debug << states.join(QLatin1String(" | "));
debug << ')';
+#endif
return debug;
}
-#endif
/*!
\since 4.6
diff --git a/src/gui/styles/qstyle.h b/src/gui/styles/qstyle.h
index 1f8d5c8..0014954 100644
--- a/src/gui/styles/qstyle.h
+++ b/src/gui/styles/qstyle.h
@@ -878,9 +878,7 @@ private:
Q_DECLARE_OPERATORS_FOR_FLAGS(QStyle::State)
Q_DECLARE_OPERATORS_FOR_FLAGS(QStyle::SubControls)
-#if !defined(QT_NO_DEBUG_STREAM) && !defined(QT_NO_DEBUG)
Q_GUI_EXPORT QDebug operator<<(QDebug debug, QStyle::State state);
-#endif
QT_END_NAMESPACE
diff --git a/src/gui/styles/qstyleoption.cpp b/src/gui/styles/qstyleoption.cpp
index 10a6b5b..d73a563 100644
--- a/src/gui/styles/qstyleoption.cpp
+++ b/src/gui/styles/qstyleoption.cpp
@@ -45,9 +45,7 @@
# include "private/qt_mac_p.h"
# include "qmacstyle_mac.h"
#endif
-#ifndef QT_NO_DEBUG
#include <qdebug.h>
-#endif
#include <QtCore/qmath.h>
QT_BEGIN_NAMESPACE
@@ -1254,7 +1252,7 @@ QStyleOptionViewItemV4::QStyleOptionViewItemV4(int version)
\brief the features of the group box frame
The frame is flat by default.
-
+
\sa QStyleOptionFrameV2::FrameFeature
*/
@@ -4656,6 +4654,120 @@ QStyleOptionTabWidgetFrame::QStyleOptionTabWidgetFrame(int version)
The default value is QSize(-1, -1), i.e. an invalid size.
*/
+
+
+/*!
+
+ \class QStyleOptionTabWidgetFrameV2
+ \brief The QStyleOptionTabWidgetFrameV2 class is used to describe the
+ parameters for drawing the frame around a tab widget.
+
+ QStyleOptionTabWidgetFrameV2 contains all the information that
+ QStyle functions need to draw the frame around QTabWidget.
+
+ For performance reasons, the access to the member variables is
+ direct (i.e., using the \c . or \c -> operator). This low-level feel
+ makes the structures straightforward to use and emphasizes that
+ these are simply parameters used by the style functions.
+
+ For an example demonstrating how style options can be used, see
+ the \l {widgets/styles}{Styles} example.
+
+ \sa QStyleOption, QTabWidget
+*/
+
+
+/*!
+ \variable QStyleOptionTabWidgetFrameV2::tabBarRect
+ \brief the rectangle containing all the tabs
+
+ The default value is a null rectangle, i.e. a rectangle with both
+ the width and the height set to 0.
+*/
+
+/*!
+ \variable QStyleOptionTabWidgetFrameV2::selectedTabRect
+ \brief the rectangle containing the selected tab
+
+ This rectangle is contained within the tabBarRect. The default
+ value is a null rectangle, i.e. a rectangle with both the width
+ and the height set to 0.
+*/
+
+
+/*!
+ Constructs a QStyleOptionTabWidgetFrameV2, initializing the members
+ variables to their default values.
+*/
+
+QStyleOptionTabWidgetFrameV2::QStyleOptionTabWidgetFrameV2()
+ : QStyleOptionTabWidgetFrame(Version)
+{
+}
+
+
+/*! \internal */
+QStyleOptionTabWidgetFrameV2::QStyleOptionTabWidgetFrameV2(int version)
+ : QStyleOptionTabWidgetFrame(version)
+{
+}
+
+
+/*!
+ Constructs a QStyleOptionTabWidgetFrameV2 copy of the \a other style option
+ which can be either of the QStyleOptionTabWidgetFrameV2 or
+ QStyleOptionTabWidgetFrame types.
+
+ If the \a other style option's version is 1, the new style option's \l
+ selectedTabRect and tabBarRect will contain null rects
+
+ \sa version
+*/
+QStyleOptionTabWidgetFrameV2::QStyleOptionTabWidgetFrameV2(const QStyleOptionTabWidgetFrame &other)
+{
+ QStyleOptionTabWidgetFrameV2::operator=(other);
+
+}
+
+
+/*!
+ Assigns the \a other style option to this style option. The \a
+ other style option can be either of the QStyleOptionFrameV2 or
+ QStyleOptionFrame types.
+
+ If the \a{other} style option's version is 1, this style option's
+ QStyleOptionFrameV2::FrameFeature value is set to
+ QStyleOptionFrameV2::None. If its version is 2, its
+ \l{QStyleOptionFrameV2::}{FrameFeature} value is simply copied to
+ this style option.
+*/
+QStyleOptionTabWidgetFrameV2 &QStyleOptionTabWidgetFrameV2::operator=(const QStyleOptionTabWidgetFrame &other)
+{
+ QStyleOptionTabWidgetFrame::operator=(other);
+ if (const QStyleOptionTabWidgetFrameV2 *f2 = qstyleoption_cast<const QStyleOptionTabWidgetFrameV2 *>(&other)) {
+ selectedTabRect = f2->selectedTabRect;
+ tabBarRect = f2->tabBarRect;
+ }
+ return *this;
+}
+
+
+/*!
+ \enum QStyleOptionTabWidgetFrameV2::StyleOptionVersion
+
+ This enum is used to hold information about the version of the style option, and
+ is defined for each QStyleOption subclass.
+
+ \value Version 2
+
+ The version is used by QStyleOption subclasses to implement
+ extensions without breaking compatibility. If you use
+ qstyleoption_cast(), you normally do not need to check it.
+
+ \sa StyleOptionType
+*/
+
+
#endif // QT_NO_TABWIDGET
#ifndef QT_NO_TABBAR
@@ -5298,9 +5410,9 @@ QStyleHintReturnVariant::QStyleHintReturnVariant() : QStyleHintReturn(Version, T
Returns a T or 0 depending on the type of \a hint.
*/
-#if !defined(QT_NO_DEBUG) && !defined(QT_NO_DEBUG_STREAM)
QDebug operator<<(QDebug debug, const QStyleOption::OptionType &optionType)
{
+#if !defined(QT_NO_DEBUG) && !defined(QT_NO_DEBUG_STREAM)
switch (optionType) {
case QStyleOption::SO_Default:
debug << "SO_Default"; break;
@@ -5361,19 +5473,21 @@ QDebug operator<<(QDebug debug, const QStyleOption::OptionType &optionType)
case QStyleOption::SO_GraphicsItem:
debug << "SO_GraphicsItem"; break;
}
+#endif
return debug;
}
QDebug operator<<(QDebug debug, const QStyleOption &option)
{
+#if !defined(QT_NO_DEBUG) && !defined(QT_NO_DEBUG_STREAM)
debug << "QStyleOption(";
debug << QStyleOption::OptionType(option.type);
debug << ',' << (option.direction == Qt::RightToLeft ? "RightToLeft" : "LeftToRight");
debug << ',' << option.state;
debug << ',' << option.rect;
debug << ')';
+#endif
return debug;
}
-#endif
QT_END_NAMESPACE
diff --git a/src/gui/styles/qstyleoption.h b/src/gui/styles/qstyleoption.h
index 2860664..abd52bf 100644
--- a/src/gui/styles/qstyleoption.h
+++ b/src/gui/styles/qstyleoption.h
@@ -192,8 +192,28 @@ public:
protected:
QStyleOptionTabWidgetFrame(int version);
};
+
+class Q_GUI_EXPORT QStyleOptionTabWidgetFrameV2 : public QStyleOptionTabWidgetFrame
+{
+public:
+ enum StyleOptionVersion { Version = 2 };
+
+ QRect tabBarRect;
+ QRect selectedTabRect;
+
+ QStyleOptionTabWidgetFrameV2();
+ QStyleOptionTabWidgetFrameV2(const QStyleOptionTabWidgetFrameV2 &other) :
+ QStyleOptionTabWidgetFrame(Version) { *this = other; }
+ QStyleOptionTabWidgetFrameV2(const QStyleOptionTabWidgetFrame &other);
+ QStyleOptionTabWidgetFrameV2 &operator=(const QStyleOptionTabWidgetFrame &other);
+
+protected:
+ QStyleOptionTabWidgetFrameV2(int version);
+};
+
#endif
+
#ifndef QT_NO_TABBAR
class Q_GUI_EXPORT QStyleOptionTabBarBase : public QStyleOption
{
@@ -938,10 +958,8 @@ T qstyleoption_cast(QStyleHintReturn *hint)
return 0;
}
-#if !defined(QT_NO_DEBUG_STREAM) && !defined(QT_NO_DEBUG)
Q_GUI_EXPORT QDebug operator<<(QDebug debug, const QStyleOption::OptionType &optionType);
Q_GUI_EXPORT QDebug operator<<(QDebug debug, const QStyleOption &option);
-#endif
QT_END_NAMESPACE
diff --git a/src/gui/styles/qstylesheetstyle.cpp b/src/gui/styles/qstylesheetstyle.cpp
index 707b05e..ae1d33a 100644
--- a/src/gui/styles/qstylesheetstyle.cpp
+++ b/src/gui/styles/qstylesheetstyle.cpp
@@ -4325,7 +4325,7 @@ void QStyleSheetStyle::drawPrimitive(PrimitiveElement pe, const QStyleOption *op
QRenderRule subRule = renderRule(w, opt, PseudoElement_TabWidgetPane);
if (subRule.hasNativeBorder()) {
subRule.drawBackground(p, opt->rect);
- QStyleOptionTabWidgetFrame frmCopy(*frm);
+ QStyleOptionTabWidgetFrameV2 frmCopy(*frm);
subRule.configurePalette(&frmCopy.palette, QPalette::WindowText, QPalette::Window);
baseStyle()->drawPrimitive(pe, &frmCopy, p, w);
} else {
@@ -4722,7 +4722,7 @@ int QStyleSheetStyle::pixelMetric(PixelMetric m, const QStyleOption *opt, const
return subRule.size().height();
else if (subRule.hasBox() || subRule.hasBorder()) {
QFontMetrics fm = opt ? opt->fontMetrics : w->fontMetrics();
- return subRule.size(QSize(0, fm.lineSpacing())).height();
+ return subRule.size(QSize(0, fm.height())).height();
}
break;
}
diff --git a/src/gui/styles/qwindowsmobilestyle.cpp b/src/gui/styles/qwindowsmobilestyle.cpp
index 5fa6251..7ed187f 100644
--- a/src/gui/styles/qwindowsmobilestyle.cpp
+++ b/src/gui/styles/qwindowsmobilestyle.cpp
@@ -5347,10 +5347,8 @@ void QWindowsMobileStyle::drawPrimitive(PrimitiveElement element, const QStyleOp
painter->drawLines(a);
break; }
case PE_Frame:
- if (d->doubleControls)
- qDrawPlainRect(painter, option->rect, option->palette.shadow().color(),2,&option->palette.light());
- else
- qDrawPlainRect(painter, option->rect, option->palette.shadow().color(),1,&option->palette.light());
+ qDrawPlainRect(painter, option->rect, option->palette.shadow().color(),
+ d->doubleControls ? 2 : 1, &option->palette.background());
break;
case PE_FrameLineEdit:
case PE_FrameMenu:
@@ -6840,34 +6838,11 @@ void QWindowsMobileStyle::polish(QWidget *widget) {
else
#endif //QT_NO_TOOLBAR
-#ifndef QT_NO_PROPERTIES
- if (QAbstractButton *pushButton = qobject_cast<QAbstractButton*>(widget)) {
- QVariant oldFont = widget->property("_q_styleWindowsMobileFont");
- if (!oldFont.isValid()) {
- QFont f = pushButton->font();
- widget->setProperty("_q_styleWindowsMobileFont", f);
- f.setBold(true);
- int p = f.pointSize();
- if (p > 2)
- f.setPointSize(p-1);
- pushButton->setFont(f);
- }
- }
-#endif
- QWindowsStyle::polish(widget);
+ QWindowsStyle::polish(widget);
}
void QWindowsMobileStyle::unpolish(QWidget *widget)
{
-#ifndef QT_NO_PROPERTIES
- if (QAbstractButton *pushButton = qobject_cast<QAbstractButton*>(widget)) {
- QVariant oldFont = widget->property("_q_styleWindowsMobileFont");
- if (oldFont.isValid()) {
- widget->setFont(qVariantValue<QFont>(oldFont));
- widget->setProperty("_q_styleWindowsMobileFont", QVariant());
- }
- }
-#endif
QWindowsStyle::unpolish(widget);
}
diff --git a/src/gui/styles/qwindowsstyle.cpp b/src/gui/styles/qwindowsstyle.cpp
index 0f72440..5cf738e 100644
--- a/src/gui/styles/qwindowsstyle.cpp
+++ b/src/gui/styles/qwindowsstyle.cpp
@@ -454,9 +454,6 @@ int QWindowsStyle::pixelMetric(PixelMetric pm, const QStyleOption *opt, const QW
ret = proxy()->pixelMetric(PM_LargeIconSize, opt, widget);
break;
- case PM_ToolBarIconSize:
- ret = int(QStyleHelper::dpiScaled(24.));
- break;
case PM_DockWidgetTitleMargin:
ret = int(QStyleHelper::dpiScaled(2.));
break;
diff --git a/src/gui/styles/qwindowsvistastyle.cpp b/src/gui/styles/qwindowsvistastyle.cpp
index 6cb8b40..9f5440c 100644
--- a/src/gui/styles/qwindowsvistastyle.cpp
+++ b/src/gui/styles/qwindowsvistastyle.cpp
@@ -159,7 +159,7 @@ QWindowsVistaStyle::QWindowsVistaStyle()
}
//convert Qt state flags to uxtheme button states
-int buttonStateId(int flags, int partId)
+static int buttonStateId(int flags, int partId)
{
int stateId = 0;
if (partId == BP_RADIOBUTTON || partId == BP_CHECKBOX) {
@@ -190,7 +190,7 @@ int buttonStateId(int flags, int partId)
return stateId;
}
-void Animation::paint(QPainter *painter, const QStyleOption *option)
+void QWindowsVistaAnimation::paint(QPainter *painter, const QStyleOption *option)
{
Q_UNUSED(option);
Q_UNUSED(painter);
@@ -205,7 +205,7 @@ void Animation::paint(QPainter *painter, const QStyleOption *option)
+ ((1-alpha)*_secondaryImage)
*/
-void Animation::drawBlendedImage(QPainter *painter, QRect rect, float alpha) {
+void QWindowsVistaAnimation::drawBlendedImage(QPainter *painter, QRect rect, float alpha) {
if (_secondaryImage.isNull() || _primaryImage.isNull())
return;
@@ -251,7 +251,7 @@ void Animation::drawBlendedImage(QPainter *painter, QRect rect, float alpha) {
initial and final state of the transition, depending on the time
difference between _startTime and current time.
*/
-void Transition::paint(QPainter *painter, const QStyleOption *option)
+void QWindowsVistaTransition::paint(QPainter *painter, const QStyleOption *option)
{
float alpha = 1.0;
if (_duration > 0) {
@@ -278,7 +278,7 @@ void Transition::paint(QPainter *painter, const QStyleOption *option)
secondary pulse images depending on the time difference between
_startTime and current time.
*/
-void Pulse::paint(QPainter *painter, const QStyleOption *option)
+void QWindowsVistaPulse::paint(QPainter *painter, const QStyleOption *option)
{
float alpha = 1.0;
if (_duration > 0) {
@@ -393,8 +393,8 @@ void QWindowsVistaStyle::drawPrimitive(PrimitiveElement element, const QStyleOpt
startImage.fill(0);
QPainter startPainter(&startImage);
- Animation *anim = d->widgetAnimation(widget);
- Transition *t = new Transition;
+ QWindowsVistaAnimation *anim = d->widgetAnimation(widget);
+ QWindowsVistaTransition *t = new QWindowsVistaTransition;
t->setWidget(w);
// If we have a running animation on the widget already, we will use that to paint the initial
@@ -531,7 +531,7 @@ void QWindowsVistaStyle::drawPrimitive(PrimitiveElement element, const QStyleOpt
case PE_IndicatorCheckBox:
case PE_IndicatorRadioButton:
{
- if (Animation *a = d->widgetAnimation(widget)) {
+ if (QWindowsVistaAnimation *a = d->widgetAnimation(widget)) {
a->paint(painter, option);
} else {
QWindowsXPStyle::drawPrimitive(element, option, painter, widget);
@@ -644,7 +644,7 @@ void QWindowsVistaStyle::drawPrimitive(PrimitiveElement element, const QStyleOpt
break;
case PE_FrameLineEdit:
- if (Animation *anim = d->widgetAnimation(widget)) {
+ if (QWindowsVistaAnimation *anim = d->widgetAnimation(widget)) {
anim->paint(painter, option);
} else {
QPainter *p = painter;
@@ -929,13 +929,13 @@ void QWindowsVistaStyle::drawControl(ControlElement element, const QStyleOption
if (doTransition) {
QImage startImage(option->rect.size(), QImage::Format_ARGB32_Premultiplied);
QImage endImage(option->rect.size(), QImage::Format_ARGB32_Premultiplied);
- Animation *anim = d->widgetAnimation(widget);
+ QWindowsVistaAnimation *anim = d->widgetAnimation(widget);
QStyleOptionButton opt = *button;
opt.state = (QStyle::State)oldState;
startImage.fill(0);
- Transition *t = new Transition;
+ QWindowsVistaTransition *t = new QWindowsVistaTransition;
t->setWidget(w);
QPainter startPainter(&startImage);
@@ -972,7 +972,7 @@ void QWindowsVistaStyle::drawControl(ControlElement element, const QStyleOption
if (const QStyleOptionButton *btn = qstyleoption_cast<const QStyleOptionButton *>(option))
{
- if (Animation *anim = d->widgetAnimation(widget)) {
+ if (QWindowsVistaAnimation *anim = d->widgetAnimation(widget)) {
anim->paint(painter, option);
} else {
name = QLatin1String("BUTTON");
@@ -999,14 +999,14 @@ void QWindowsVistaStyle::drawControl(ControlElement element, const QStyleOption
!(state & (State_Sunken | State_On)) && !(state & State_MouseOver) &&
(state & State_Enabled) && (state & State_Active))
{
- Animation *anim = d->widgetAnimation(widget);
+ QWindowsVistaAnimation *anim = d->widgetAnimation(widget);
if (!anim && widget) {
QImage startImage(option->rect.size(), QImage::Format_ARGB32_Premultiplied);
startImage.fill(0);
QImage alternateImage(option->rect.size(), QImage::Format_ARGB32_Premultiplied);
alternateImage.fill(0);
- Pulse *pulse = new Pulse;
+ QWindowsVistaPulse *pulse = new QWindowsVistaPulse;
pulse->setWidget(const_cast<QWidget*>(widget));
QPainter startPainter(&startImage);
@@ -1079,7 +1079,7 @@ void QWindowsVistaStyle::drawControl(ControlElement element, const QStyleOption
if (const QProgressBar *progressbar = qobject_cast<const QProgressBar *>(widget)) {
if (((progressbar->value() > 0 && d->transitionsEnabled()) || isIndeterminate)) {
if (!d->widgetAnimation(progressbar) && progressbar->value() < progressbar->maximum()) {
- Animation *a = new Animation;
+ QWindowsVistaAnimation *a = new QWindowsVistaAnimation;
a->setWidget(const_cast<QWidget*>(widget));
a->setStartTime(QTime::currentTime());
d->startAnimation(a);
@@ -1095,7 +1095,7 @@ void QWindowsVistaStyle::drawControl(ControlElement element, const QStyleOption
QTime current = QTime::currentTime();
if (isIndeterminate) {
- if (Animation *a = d->widgetAnimation(widget)) {
+ if (QWindowsVistaAnimation *a = d->widgetAnimation(widget)) {
int glowSize = 120;
int animationWidth = glowSize * 2 + (vertical ? theme.rect.height() : theme.rect.width());
int animOffset = a->startTime().msecsTo(current) / 4;
@@ -1165,7 +1165,7 @@ void QWindowsVistaStyle::drawControl(ControlElement element, const QStyleOption
}
d->drawBackground(theme);
- if (Animation *a = d->widgetAnimation(widget)) {
+ if (QWindowsVistaAnimation *a = d->widgetAnimation(widget)) {
int glowSize = 140;
int animationWidth = glowSize * 2 + (vertical ? theme.rect.height() : theme.rect.width());
int animOffset = a->startTime().msecsTo(current) / 4;
@@ -1603,8 +1603,8 @@ void QWindowsVistaStyle::drawComplexControl(ComplexControl control, const QStyle
if (doTransition) {
QImage startImage(option->rect.size(), QImage::Format_ARGB32_Premultiplied);
QImage endImage(option->rect.size(), QImage::Format_ARGB32_Premultiplied);
- Animation *anim = d->widgetAnimation(widget);
- Transition *t = new Transition;
+ QWindowsVistaAnimation *anim = d->widgetAnimation(widget);
+ QWindowsVistaTransition *t = new QWindowsVistaTransition;
t->setWidget(w);
if (!anim) {
if (const QStyleOptionComboBox *combo = qstyleoption_cast<const QStyleOptionComboBox*>(option)) {
@@ -1651,7 +1651,7 @@ void QWindowsVistaStyle::drawComplexControl(ComplexControl control, const QStyle
t->setDuration(500);
}
- if (Animation *anim = d->widgetAnimation(widget)) {
+ if (QWindowsVistaAnimation *anim = d->widgetAnimation(widget)) {
anim->paint(painter, option);
return;
}
@@ -2217,14 +2217,15 @@ QRect QWindowsVistaStyle::subControlRect(ComplexControl control, const QStyleOpt
int xpos = x;
int margin = cb->frame ? 3 : 0;
int bmarg = cb->frame ? 2 : 0;
- xpos += wi - bmarg - 16;
+ int arrowButtonWidth = bmarg + 16;
+ xpos += wi - arrowButtonWidth;
switch (subControl) {
case SC_ComboBoxFrame:
rect = cb->rect;
break;
case SC_ComboBoxArrow:
- rect.setRect(xpos, y , wi - xpos, he);
+ rect.setRect(xpos, y , arrowButtonWidth, he);
break;
case SC_ComboBoxEditField:
rect.setRect(x + margin, y + margin, wi - 2 * margin - 16, he - 2 * margin);
@@ -2533,7 +2534,7 @@ void QWindowsVistaStylePrivate::timerEvent()
!animations[i]->running() ||
!QWindowsVistaStylePrivate::useVista())
{
- Animation *a = animations.takeAt(i);
+ QWindowsVistaAnimation *a = animations.takeAt(i);
delete a;
}
}
@@ -2546,14 +2547,14 @@ void QWindowsVistaStylePrivate::stopAnimation(const QWidget *w)
{
for (int i = animations.size() - 1 ; i >= 0 ; --i) {
if (animations[i]->widget() == w) {
- Animation *a = animations.takeAt(i);
+ QWindowsVistaAnimation *a = animations.takeAt(i);
delete a;
break;
}
}
}
-void QWindowsVistaStylePrivate::startAnimation(Animation *t)
+void QWindowsVistaStylePrivate::startAnimation(QWindowsVistaAnimation *t)
{
Q_Q(QWindowsVistaStyle);
stopAnimation(t->widget());
@@ -2575,11 +2576,11 @@ bool QWindowsVistaStylePrivate::transitionsEnabled() const
}
-Animation * QWindowsVistaStylePrivate::widgetAnimation(const QWidget *widget) const
+QWindowsVistaAnimation * QWindowsVistaStylePrivate::widgetAnimation(const QWidget *widget) const
{
if (!widget)
return 0;
- foreach (Animation *a, animations) {
+ foreach (QWindowsVistaAnimation *a, animations) {
if (a->widget() == widget)
return a;
}
diff --git a/src/gui/styles/qwindowsvistastyle_p.h b/src/gui/styles/qwindowsvistastyle_p.h
index e9bbb77..04823c1 100644
--- a/src/gui/styles/qwindowsvistastyle_p.h
+++ b/src/gui/styles/qwindowsvistastyle_p.h
@@ -136,11 +136,11 @@ QT_BEGIN_NAMESPACE
#define TDLG_SECONDARYPANEL 8
#endif
-class Animation
+class QWindowsVistaAnimation
{
public :
- Animation() : _running(true) { }
- virtual ~Animation() { }
+ QWindowsVistaAnimation() : _running(true) { }
+ virtual ~QWindowsVistaAnimation() { }
QWidget * widget() const { return _widget; }
bool running() const { return _running; }
const QTime &startTime() const { return _startTime; }
@@ -161,11 +161,11 @@ protected:
// Handles state transition animations
-class Transition : public Animation
+class QWindowsVistaTransition : public QWindowsVistaAnimation
{
public :
- Transition() : Animation() {}
- virtual ~Transition() { }
+ QWindowsVistaTransition() : QWindowsVistaAnimation() {}
+ virtual ~QWindowsVistaTransition() { }
void setDuration(int duration) { _duration = duration; }
void setStartImage(const QImage &image) { _primaryImage = image; }
void setEndImage(const QImage &image) { _secondaryImage = image; }
@@ -176,11 +176,11 @@ public :
// Handles pulse animations (default buttons)
-class Pulse: public Animation
+class QWindowsVistaPulse: public QWindowsVistaAnimation
{
public :
- Pulse() : Animation() {}
- virtual ~Pulse() { }
+ QWindowsVistaPulse() : QWindowsVistaAnimation() {}
+ virtual ~QWindowsVistaPulse() { }
void setDuration(int duration) { _duration = duration; }
void setPrimaryImage(const QImage &image) { _primaryImage = image; }
void setAlternateImage(const QImage &image) { _secondaryImage = image; }
@@ -199,15 +199,15 @@ public:
~QWindowsVistaStylePrivate();
static bool resolveSymbols();
static inline bool useVista();
- void startAnimation(Animation *);
+ void startAnimation(QWindowsVistaAnimation *);
void stopAnimation(const QWidget *);
- Animation* widgetAnimation(const QWidget *) const;
+ QWindowsVistaAnimation* widgetAnimation(const QWidget *) const;
void timerEvent();
bool transitionsEnabled() const;
QWidget *treeViewHelper();
private:
- QList <Animation*> animations;
+ QList <QWindowsVistaAnimation*> animations;
QBasicTimer animationTimer;
QWidget *m_treeViewHelper;
};
diff --git a/src/gui/styles/qwindowsxpstyle.cpp b/src/gui/styles/qwindowsxpstyle.cpp
index 9ef30e5..fe7f5d7 100644
--- a/src/gui/styles/qwindowsxpstyle.cpp
+++ b/src/gui/styles/qwindowsxpstyle.cpp
@@ -47,6 +47,7 @@
#include <private/qpaintengine_raster_p.h>
#include <private/qapplication_p.h>
#include <private/qstylehelper_p.h>
+#include <private/qwidget_p.h>
#include <qlibrary.h>
#include <qpainter.h>
#include <qpaintengine.h>
@@ -299,7 +300,11 @@ HWND QWindowsXPStylePrivate::winId(const QWidget *widget)
if (!limboWidget) {
limboWidget = new QWidget(0);
+ limboWidget->createWinId();
limboWidget->setObjectName(QLatin1String("xp_limbo_widget"));
+ // We dont need this internal widget to appear in QApplication::topLevelWidgets()
+ if (QWidgetPrivate::allWidgets)
+ QWidgetPrivate::allWidgets->remove(limboWidget);
}
return limboWidget->winId();
@@ -1577,7 +1582,7 @@ case PE_Frame:
// This should work, but currently there's an error in the ::drawBackgroundDirectly()
// code, when using the HDC directly..
if (useGradient) {
- QStyleOptionTabWidgetFrame frameOpt = *tab;
+ QStyleOptionTabWidgetFrameV2 frameOpt = *tab;
frameOpt.rect = widget->rect();
QRect contentsRect = subElementRect(SE_TabWidgetTabContents, &frameOpt, widget);
QRegion reg = option->rect;
@@ -2836,8 +2841,8 @@ void QWindowsXPStyle::drawComplexControl(ComplexControl cc, const QStyleOptionCo
State bflags = toolbutton->state & ~State_Sunken;
State mflags = bflags;
-
- if (bflags & State_AutoRaise) {
+ bool autoRaise = flags & State_AutoRaise;
+ if (autoRaise) {
if (!(bflags & State_MouseOver) || !(bflags & State_Enabled)) {
bflags &= ~State_Raised;
}
@@ -2856,8 +2861,8 @@ void QWindowsXPStyle::drawComplexControl(ComplexControl cc, const QStyleOptionCo
QStyleOption tool(0);
tool.palette = toolbutton->palette;
if (toolbutton->subControls & SC_ToolButton) {
- if (flags & (State_Sunken | State_On | State_Raised) || !(flags & State_AutoRaise)) {
- if (toolbutton->features & QStyleOptionToolButton::MenuButtonPopup) {
+ if (flags & (State_Sunken | State_On | State_Raised) || !autoRaise) {
+ if (toolbutton->features & QStyleOptionToolButton::MenuButtonPopup && autoRaise) {
XPThemeData theme(widget, p, QLatin1String("TOOLBAR"));
theme.partId = TP_SPLITBUTTON;
theme.rect = button;
@@ -2876,13 +2881,12 @@ void QWindowsXPStyle::drawComplexControl(ComplexControl cc, const QStyleOptionCo
theme.stateId = stateId;
d->drawBackground(theme);
} else {
- tool.rect = button;
+ tool.rect = option->rect;
tool.state = bflags;
- if (widget && !qobject_cast<QToolBar*>(widget->parentWidget())
- && !(bflags & State_AutoRaise))
- proxy()->drawPrimitive(PE_PanelButtonBevel, &tool, p, widget);
- else
+ if (autoRaise) // for tool bars
proxy()->drawPrimitive(PE_PanelButtonTool, &tool, p, widget);
+ else
+ proxy()->drawPrimitive(PE_PanelButtonBevel, &tool, p, widget);
}
}
}
@@ -2899,13 +2903,40 @@ void QWindowsXPStyle::drawComplexControl(ComplexControl cc, const QStyleOptionCo
QStyleOptionToolButton label = *toolbutton;
label.state = bflags;
int fw = 2;
+ if (!autoRaise)
+ label.state &= ~State_Sunken;
label.rect = button.adjusted(fw, fw, -fw, -fw);
proxy()->drawControl(CE_ToolButtonLabel, &label, p, widget);
if (toolbutton->subControls & SC_ToolButtonMenu) {
tool.rect = menuarea;
tool.state = mflags;
- proxy()->drawPrimitive(PE_IndicatorButtonDropDown, &tool, p, widget);
+ if (autoRaise) {
+ proxy()->drawPrimitive(PE_IndicatorButtonDropDown, &tool, p, widget);
+ } else {
+ tool.state = mflags;
+ menuarea.adjust(-2, 0, 0, 0);
+ // Draw menu button
+ if ((bflags & State_Sunken) != (mflags & State_Sunken)){
+ p->save();
+ p->setClipRect(menuarea);
+ tool.rect = option->rect;
+ proxy()->drawPrimitive(PE_PanelButtonBevel, &tool, p, 0);
+ p->restore();
+ }
+ // Draw arrow
+ p->save();
+ p->setPen(option->palette.dark().color());
+ p->drawLine(menuarea.left(), menuarea.top() + 3,
+ menuarea.left(), menuarea.bottom() - 3);
+ p->setPen(option->palette.light().color());
+ p->drawLine(menuarea.left() - 1, menuarea.top() + 3,
+ menuarea.left() - 1, menuarea.bottom() - 3);
+
+ tool.rect = menuarea.adjusted(2, 3, -2, -1);
+ proxy()->drawPrimitive(PE_IndicatorArrowDown, &tool, p, widget);
+ p->restore();
+ }
} else if (toolbutton->features & QStyleOptionToolButton::HasMenu) {
int mbi = proxy()->pixelMetric(PM_MenuButtonIndicator, toolbutton, widget);
QRect ir = toolbutton->rect;
diff --git a/src/gui/styles/styles.pri b/src/gui/styles/styles.pri
index 767ade0..88a2cce 100644
--- a/src/gui/styles/styles.pri
+++ b/src/gui/styles/styles.pri
@@ -109,10 +109,10 @@ contains( styles, plastique ) {
contains( styles, gtk ) {
HEADERS += styles/qgtkstyle.h
HEADERS += styles/qgtkpainter_p.h
- HEADERS += styles/gtksymbols_p.h
+ HEADERS += styles/qgtkstyle_p.h
SOURCES += styles/qgtkstyle.cpp
SOURCES += styles/qgtkpainter.cpp
- SOURCES += styles/gtksymbols.cpp
+ SOURCES += styles/qgtkstyle_p.cpp
!contains( styles, cleanlooks ) {
styles += cleanlooks
DEFINES+= QT_STYLE_CLEANLOOKS
diff --git a/src/gui/symbian/qsymbianevent.cpp b/src/gui/symbian/qsymbianevent.cpp
index af2c861..2799e6f 100644
--- a/src/gui/symbian/qsymbianevent.cpp
+++ b/src/gui/symbian/qsymbianevent.cpp
@@ -66,13 +66,13 @@ QT_BEGIN_NAMESPACE
*/
/*!
- \fn QSymbianEvent::type()
+ \fn QSymbianEvent::type() const
Returns the event type contained in the QSymbianEvent instance.
*/
/*!
- \fn QSymbianEvent::isValid()
+ \fn QSymbianEvent::isValid() const
Returns whether this QSymbianEvent instance contains a valid event.
*/
diff --git a/src/gui/text/qfont.cpp b/src/gui/text/qfont.cpp
index 7b630da..09dff89 100644
--- a/src/gui/text/qfont.cpp
+++ b/src/gui/text/qfont.cpp
@@ -2324,22 +2324,22 @@ QDataStream &operator>>(QDataStream &s, QFont &font)
*/
QFontInfo::QFontInfo(const QFont &font)
: d(font.d.data())
-{ d->ref.ref(); }
+{
+}
/*!
Constructs a copy of \a fi.
*/
QFontInfo::QFontInfo(const QFontInfo &fi)
- : d(fi.d)
-{ d->ref.ref(); }
+ : d(fi.d.data())
+{
+}
/*!
Destroys the font info object.
*/
QFontInfo::~QFontInfo()
{
- if (!d->ref.deref())
- delete d;
}
/*!
@@ -2347,7 +2347,7 @@ QFontInfo::~QFontInfo()
*/
QFontInfo &QFontInfo::operator=(const QFontInfo &fi)
{
- qAtomicAssign(d, fi.d);
+ d = fi.d.data();
return *this;
}
@@ -2632,7 +2632,7 @@ QFontCache::~QFontCache()
while (it != end) {
if (--it.value().data->cache_count == 0) {
if (it.value().data->ref == 0) {
- FC_DEBUG("QFontCache::~QFontCache: deleting engine %p key=(%d / %g %d %d %d %d)",
+ FC_DEBUG("QFontCache::~QFontCache: deleting engine %p key=(%d / %g %g %d %d %d)",
it.value().data, it.key().script, it.key().def.pointSize,
it.key().def.pixelSize, it.key().def.weight, it.key().def.style,
it.key().def.fixedPitch);
diff --git a/src/gui/text/qfont_p.h b/src/gui/text/qfont_p.h
index d74f0b4..144a82d 100644
--- a/src/gui/text/qfont_p.h
+++ b/src/gui/text/qfont_p.h
@@ -86,7 +86,7 @@ struct QFontDef
#endif // Q_WS_X11
qreal pointSize;
- int pixelSize;
+ qreal pixelSize;
uint styleStrategy : 16;
uint styleHint : 8;
diff --git a/src/gui/text/qfontdatabase.cpp b/src/gui/text/qfontdatabase.cpp
index 738e36a..7e93aa0 100644
--- a/src/gui/text/qfontdatabase.cpp
+++ b/src/gui/text/qfontdatabase.cpp
@@ -533,7 +533,13 @@ static int requiredUnicodeBits[QFontDatabase::WritingSystemsCount][2] = {
// Vietnamese,
{ 0, 127 }, // same as latin1
// Other,
- { 126, 127 }
+ { 126, 127 },
+ // Ogham,
+ { 78, 127 },
+ // Runic,
+ { 79, 127 },
+ // Nko,
+ { 14, 127 },
};
#define SimplifiedChineseCsbBit 18
@@ -873,7 +879,8 @@ static const int scriptForWritingSystem[] = {
QUnicodeTables::Common, // Braille
QUnicodeTables::Common, // Symbol
QUnicodeTables::Ogham, // Ogham
- QUnicodeTables::Runic // Runic
+ QUnicodeTables::Runic, // Runic
+ QUnicodeTables::Nko // Nko
};
@@ -881,12 +888,12 @@ static const int scriptForWritingSystem[] = {
static inline bool requiresOpenType(int writingSystem)
{
return ((writingSystem >= QFontDatabase::Syriac && writingSystem <= QFontDatabase::Sinhala)
- || writingSystem == QFontDatabase::Khmer);
+ || writingSystem == QFontDatabase::Khmer || writingSystem == QFontDatabase::Nko);
}
static inline bool scriptRequiresOpenType(int script)
{
return ((script >= QUnicodeTables::Syriac && script <= QUnicodeTables::Sinhala)
- || script == QUnicodeTables::Khmer);
+ || script == QUnicodeTables::Khmer || script == QUnicodeTables::Nko);
}
#endif
@@ -1331,7 +1338,7 @@ static void match(int script, const QFontDef &request,
" family: %s [%s], script: %d\n"
" weight: %d, style: %d\n"
" stretch: %d\n"
- " pixelSize: %d\n"
+ " pixelSize: %g\n"
" pitch: %c",
family_name.isEmpty() ? "-- first in script --" : family_name.toLatin1().constData(),
foundry_name.isEmpty() ? "-- any --" : foundry_name.toLatin1().constData(),
@@ -1558,6 +1565,7 @@ QFontDatabase::QFontDatabase()
\value Other (the same as Symbol)
\value Ogham
\value Runic
+ \value Nko
\omitvalue WritingSystemsCount
*/
@@ -2232,6 +2240,9 @@ QString QFontDatabase::writingSystemName(WritingSystem writingSystem)
case Runic:
name = QT_TRANSLATE_NOOP("QFontDatabase", "Runic");
break;
+ case Nko:
+ name = QT_TRANSLATE_NOOP("QFontDatabase", "N'Ko");
+ break;
default:
Q_ASSERT_X(false, "QFontDatabase::writingSystemName", "invalid 'writingSystem' parameter");
break;
@@ -2445,6 +2456,12 @@ QString QFontDatabase::writingSystemSample(WritingSystem writingSystem)
sample += QChar(0x16a2);
sample += QChar(0x16a3);
break;
+ case Nko:
+ sample += QChar(0x7ca);
+ sample += QChar(0x7cb);
+ sample += QChar(0x7cc);
+ sample += QChar(0x7cd);
+ break;
default:
break;
}
diff --git a/src/gui/text/qfontdatabase.h b/src/gui/text/qfontdatabase.h
index e6dcfc9..37b5860 100644
--- a/src/gui/text/qfontdatabase.h
+++ b/src/gui/text/qfontdatabase.h
@@ -108,6 +108,7 @@ public:
Ogham,
Runic,
+ Nko,
WritingSystemsCount
};
diff --git a/src/gui/text/qfontdatabase_win.cpp b/src/gui/text/qfontdatabase_win.cpp
index ae26dab..6cde9ed 100644
--- a/src/gui/text/qfontdatabase_win.cpp
+++ b/src/gui/text/qfontdatabase_win.cpp
@@ -40,6 +40,7 @@
****************************************************************************/
#include "qt_windows.h"
+#include <qmath.h>
#include <private/qapplication_p.h>
#include "qfont_p.h"
#include "qfontengine_p.h"
@@ -670,7 +671,7 @@ QFontEngine *loadEngine(int script, const QFontPrivate *fp, const QFontDef &requ
break;
}
- lf.lfHeight = -request.pixelSize;
+ lf.lfHeight = -qRound(request.pixelSize);
lf.lfWidth = 0;
lf.lfEscapement = 0;
lf.lfOrientation = 0;
@@ -899,7 +900,6 @@ static QFontEngine *loadWin(const QFontPrivate *d, int script, const QFontDef &r
return fe;
}
-
void QFontDatabase::load(const QFontPrivate *d, int script)
{
// sanity checks
@@ -910,8 +910,9 @@ void QFontDatabase::load(const QFontPrivate *d, int script)
// normalize the request to get better caching
QFontDef req = d->request;
if (req.pixelSize <= 0)
- req.pixelSize = qMax(1, qRound(req.pointSize * d->dpi / 72.));
- req.pointSize = 0;
+ req.pixelSize = qreal((req.pointSize * d->dpi) / 72.);
+ if (req.pixelSize < 1)
+ req.pixelSize = 1;
if (req.weight == 0)
req.weight = QFont::Normal;
if (req.stretch == 0)
@@ -928,7 +929,8 @@ void QFontDatabase::load(const QFontPrivate *d, int script)
QFontEngine *fe = QFontCache::instance()->findEngine(key);
// set it to the actual pointsize, so QFontInfo will do the right thing
- req.pointSize = req.pixelSize*72./d->dpi;
+ if (req.pointSize < 0)
+ req.pointSize = req.pixelSize*72./d->dpi;
if (!fe) {
if (qt_enable_test_font && req.family == QLatin1String("__Qt__Box__Engine__")) {
diff --git a/src/gui/text/qfontdatabase_x11.cpp b/src/gui/text/qfontdatabase_x11.cpp
index 27ff003..dd575f9 100644
--- a/src/gui/text/qfontdatabase_x11.cpp
+++ b/src/gui/text/qfontdatabase_x11.cpp
@@ -51,6 +51,7 @@
#include <qfile.h>
#include <qtemporaryfile.h>
#include <qabstractfileengine.h>
+#include <qmath.h>
#include <ctype.h>
#include <stdlib.h>
@@ -154,187 +155,187 @@ static const char writingSystems_for_xlfd_encoding[sizeof(xlfd_encoding)][QFontD
{ 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0 },
+ 0, 0 },
// iso8859-2
{ 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0 },
+ 0, 0 },
// iso8859-3
{ 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0 },
+ 0, 0 },
// iso8859-4
{ 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0 },
+ 0, 0 },
// iso8859-9
{ 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0 },
+ 0, 0 },
// iso8859-10
{ 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0 },
+ 0, 0 },
// iso8859-13
{ 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0 },
+ 0, 0 },
// iso8859-14
{ 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0 },
+ 0, 0 },
// iso8859-15
{ 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0 },
+ 0, 0 },
// hp-roman8
{ 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0 },
+ 0, 0 },
// iso8859-5
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0 },
+ 0, 0 },
// *-cp1251
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0 },
+ 0, 0 },
// koi8-ru
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0 },
+ 0, 0 },
// koi8-u
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0 },
+ 0, 0 },
// koi8-r
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0 },
+ 0, 0 },
// iso8859-7
{ 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0 },
+ 0, 0 },
// iso8859-8
{ 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0 },
+ 0, 0 },
// gb18030-0
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
- 0 },
+ 0, 0 },
// gb18030.2000-0
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
- 0 },
+ 0, 0 },
// gbk-0
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
- 0 },
+ 0, 0 },
// gb2312.*-0
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
- 0 },
+ 0, 0 },
// jisx0201*-0
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
- 0 },
+ 0, 0 },
// jisx0208*-0
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
- 0 },
+ 0, 0 },
// ksc5601*-*
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
- 0 },
+ 0, 0 },
// big5hkscs-0
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
- 0 },
+ 0, 0 },
// hkscs-1
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
- 0 },
+ 0, 0 },
// big5*-*
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
- 0 },
+ 0, 0 },
// tscii-*
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0 },
+ 0, 0 },
// tis620*-*
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0 },
+ 0, 0 },
// iso8859-11
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0 },
+ 0, 0 },
// mulelao-1
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0 },
+ 0, 0 },
// ethiopic-unicode
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0 },
+ 0, 0 },
// iso10646-1
{ 0, 1, 1, 1, 1, 1, 1, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
1, 1, 0, 1, 0, 1, 1, 0, 0, 0,
- 0 },
+ 0, 0 },
// unicode-*
{ 0, 1, 1, 1, 1, 1, 1, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
1, 1, 0, 1, 0, 1, 1, 0, 0, 0,
- 0 },
+ 0, 0 },
// *-symbol
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1 },
+ 1, 0 },
// *-fontspecific
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1 },
+ 1, 0 },
// fontspecific-*
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1 }
+ 1, 0 }
};
@@ -757,7 +758,7 @@ QFontDef qt_FcPatternToQFontDef(FcPattern *pattern, const QFontDef &request)
double size;
if (FcPatternGetDouble(pattern, FC_PIXEL_SIZE, 0, &size) == FcResultMatch)
- fontDef.pixelSize = qRound(size);
+ fontDef.pixelSize = size;
else
fontDef.pixelSize = 12;
@@ -834,7 +835,8 @@ static const char *specialLanguages[] = {
"ko", // Hangul
"", // Ogham
"", // Runic
- "km" // Khmer
+ "km", // Khmer
+ "" // N'Ko
};
enum { SpecialLanguageCount = sizeof(specialLanguages) / sizeof(const char *) };
@@ -865,7 +867,8 @@ static const ushort specialChars[] = {
0, // Hangul
0x1681, // Ogham
0x16a0, // Runic
- 0 // Khmer
+ 0, // Khmer
+ 0x7ca // N'Ko
};
enum { SpecialCharCount = sizeof(specialChars) / sizeof(ushort) };
@@ -904,7 +907,8 @@ static const char *languageForWritingSystem[] = {
"vi", // Vietnamese
0, // Symbol
0, // Ogham
- 0 // Runic
+ 0, // Runic
+ 0 // N'Ko
};
enum { LanguageCount = sizeof(languageForWritingSystem) / sizeof(const char *) };
@@ -943,7 +947,8 @@ static const ushort sampleCharForWritingSystem[] = {
0, // Vietnamese
0, // Symbol
0x1681, // Ogham
- 0x16a0 // Runic
+ 0x16a0, // Runic
+ 0x7ca // N'Ko
};
enum { SampleCharCount = sizeof(sampleCharForWritingSystem) / sizeof(ushort) };
@@ -983,7 +988,8 @@ static const char *openType[] = {
0, // Vietnamese
0, // Symbol
0, // Ogham
- 0 // Runic
+ 0, // Runic
+ "nko " // N'Ko
};
enum { OpenTypeCount = sizeof(openType) / sizeof(const char *) };
@@ -1455,7 +1461,7 @@ void qt_addPatternProps(FcPattern *pattern, int screen, int script, const QFontD
slant_value = FC_SLANT_OBLIQUE;
FcPatternAddInteger(pattern, FC_SLANT, slant_value);
- double size_value = qMax(1, request.pixelSize);
+ double size_value = qMax(qreal(1.), request.pixelSize);
FcPatternAddDouble(pattern, FC_PIXEL_SIZE, size_value);
int stretch = request.stretch;
@@ -1471,7 +1477,7 @@ void qt_addPatternProps(FcPattern *pattern, int screen, int script, const QFontD
!(request.styleStrategy & QFont::NoAntialias));
}
- if (script != QUnicodeTables::Common) {
+ if (script != QUnicodeTables::Common && *specialLanguages[script] != '\0') {
Q_ASSERT(script < QUnicodeTables::ScriptCount);
FcLangSet *ls = FcLangSetCreate();
FcLangSetAdd(ls, (const FcChar8*)specialLanguages[script]);
@@ -1614,7 +1620,7 @@ static QFontEngine *tryPatternLoad(FcPattern *p, int screen,
goto done;
if (!FcCharSetHasChar(cs, specialChars[script]))
goto done;
- } else {
+ } else if (*specialLanguages[script] != '\0'){
FcLangSet *langSet = 0;
if (FcPatternGetLangSet(match, FC_LANG, 0, &langSet) != FcResultMatch)
goto done;
@@ -1893,8 +1899,9 @@ void QFontDatabase::load(const QFontPrivate *d, int script)
// normalize the request to get better caching
QFontDef req = d->request;
if (req.pixelSize <= 0)
- req.pixelSize = qRound(qt_pixelSize(req.pointSize, d->dpi));
- req.pointSize = 0;
+ req.pixelSize = floor(qt_pixelSize(req.pointSize, d->dpi) * 100 + 0.5) / 100;
+ if (req.pixelSize < 1)
+ req.pixelSize = 1;
if (req.weight == 0)
req.weight = QFont::Normal;
if (req.stretch == 0)
@@ -1909,7 +1916,9 @@ void QFontDatabase::load(const QFontPrivate *d, int script)
return;
// set it to the actual pointsize, so QFontInfo will do the right thing
- req.pointSize = qt_pointSize(req.pixelSize, d->dpi);
+ if (req.pointSize < 0)
+ req.pointSize = qt_pointSize(req.pixelSize, d->dpi);
+
QFontEngine *fe = QFontCache::instance()->findEngine(key);
diff --git a/src/gui/text/qfontengine_ft.cpp b/src/gui/text/qfontengine_ft.cpp
index 3da1593..4041717 100644
--- a/src/gui/text/qfontengine_ft.cpp
+++ b/src/gui/text/qfontengine_ft.cpp
@@ -327,7 +327,7 @@ void QFreetypeFace::release(const QFontEngine::FaceId &face_id)
void QFreetypeFace::computeSize(const QFontDef &fontDef, int *xsize, int *ysize, bool *outline_drawing)
{
- *ysize = fontDef.pixelSize << 6;
+ *ysize = qRound(fontDef.pixelSize * 64);
*xsize = *ysize * fontDef.stretch / 100;
*outline_drawing = false;
@@ -387,7 +387,9 @@ QFontEngine::Properties QFreetypeFace::properties() const
p.descent = QFixed::fromFixed(-face->size->metrics.descender);
p.leading = QFixed::fromFixed(face->size->metrics.height - face->size->metrics.ascender + face->size->metrics.descender);
p.emSquare = face->size->metrics.y_ppem;
- p.boundingBox = QRectF(-p.ascent.toReal(), 0, (p.ascent + p.descent).toReal(), face->size->metrics.max_advance/64.);
+// p.boundingBox = QRectF(-p.ascent.toReal(), 0, (p.ascent + p.descent).toReal(), face->size->metrics.max_advance/64.);
+ p.boundingBox = QRectF(0, -p.ascent.toReal(),
+ face->size->metrics.max_advance/64, (p.ascent + p.descent).toReal() );
}
p.italicAngle = 0;
p.capHeight = p.ascent;
@@ -709,6 +711,7 @@ bool QFontEngineFT::init(FaceId faceId, bool antialias, GlyphFormat format)
hbFace = freetype->hbFace;
metrics = face->size->metrics;
+
#if defined(Q_WS_QWS)
/*
TrueType fonts with embedded bitmaps may have a bitmap font specific
@@ -1219,7 +1222,8 @@ QFixed QFontEngineFT::ascent() const
QFixed QFontEngineFT::descent() const
{
- return QFixed::fromFixed(-metrics.descender);
+ // subtract a pixel to work around QFontMetrics's built-in + 1
+ return QFixed::fromFixed(-metrics.descender - 64);
}
QFixed QFontEngineFT::leading() const
diff --git a/src/gui/text/qfontengine_mac.mm b/src/gui/text/qfontengine_mac.mm
index 8ce437d..a4e7c04 100644
--- a/src/gui/text/qfontengine_mac.mm
+++ b/src/gui/text/qfontengine_mac.mm
@@ -546,7 +546,7 @@ void QCoreTextFontEngine::addGlyphsToPath(glyph_t *glyphs, QFixedPoint *position
cgMatrix = CGAffineTransformScale(cgMatrix, 1, -1);
if (synthesisFlags & QFontEngine::SynthesizedItalic)
- cgMatrix = CGAffineTransformConcat(cgMatrix, CGAffineTransformMake(1, 0, tanf(14 * acosf(0) / 90), 1, 0, 0));
+ cgMatrix = CGAffineTransformConcat(cgMatrix, CGAffineTransformMake(1, 0, -tanf(14 * acosf(0) / 90), 1, 0, 0));
for (int i = 0; i < nGlyphs; ++i) {
diff --git a/src/gui/text/qfontengine_qpf.cpp b/src/gui/text/qfontengine_qpf.cpp
index ef3f2ae..94974fc 100644
--- a/src/gui/text/qfontengine_qpf.cpp
+++ b/src/gui/text/qfontengine_qpf.cpp
@@ -819,7 +819,7 @@ FT_Face QFontEngineQPF::lockFace() const
FT_Face face = freetype->face;
// ### not perfect
- const int ysize = fontDef.pixelSize << 6;
+ const int ysize = qRound(fontDef.pixelSize * qreal(64));
const int xsize = ysize;
if (freetype->xsize != xsize || freetype->ysize != ysize) {
diff --git a/src/gui/text/qfontengine_win.cpp b/src/gui/text/qfontengine_win.cpp
index d781c70..6c367ab 100644
--- a/src/gui/text/qfontengine_win.cpp
+++ b/src/gui/text/qfontengine_win.cpp
@@ -208,7 +208,7 @@ void QFontEngineWin::getCMap()
unitsPerEm = otm->otmEMSquare;
x_height = (int)otm->otmsXHeight;
loadKerningPairs(designToDevice);
- _faceId.filename = (char *)otm + (int)otm->otmpFullName;
+ _faceId.filename = QString::fromWCharArray((wchar_t *)((char *)otm + (int)otm->otmpFullName)).toLatin1();
lineWidth = otm->otmsUnderscoreSize;
fsType = otm->otmfsType;
free(otm);
@@ -577,7 +577,9 @@ QFixed QFontEngineWin::ascent() const
QFixed QFontEngineWin::descent() const
{
- return tm.tmDescent;
+ // ### we substract 1 to even out the historical +1 in QFontMetrics's
+ // ### height=asc+desc+1 equation. Fix in Qt5.
+ return tm.tmDescent - 1;
}
QFixed QFontEngineWin::leading() const
@@ -985,8 +987,8 @@ QFontEngine::Properties QFontEngineWin::properties() const
Properties p;
p.emSquare = unitsPerEm;
p.italicAngle = otm->otmItalicAngle;
- p.postscriptName = (char *)otm + (int)otm->otmpFamilyName;
- p.postscriptName += (char *)otm + (int)otm->otmpStyleName;
+ p.postscriptName = QString::fromWCharArray((wchar_t *)((char *)otm + (int)otm->otmpFamilyName)).toLatin1();
+ p.postscriptName += QString::fromWCharArray((wchar_t *)((char *)otm + (int)otm->otmpStyleName)).toLatin1();
#ifndef QT_NO_PRINTER
p.postscriptName = QPdf::stripSpecialCharacters(p.postscriptName);
#endif
@@ -1108,7 +1110,7 @@ QNativeImage *QFontEngineWin::drawGDIGlyph(HFONT font, glyph_t glyph, int margin
ih + 2 * margin + 4,
QNativeImage::systemFormat(), !qt_cleartype_enabled);
- /*If cleartype is enabled we use the standard system format even on Windows CE
+ /*If cleartype is enabled we use the standard system format even on Windows CE
and not the special textbuffer format we have to use if cleartype is disabled*/
ni->image.fill(0xffffffff);
diff --git a/src/gui/text/qfontinfo.h b/src/gui/text/qfontinfo.h
index 335d761..0998949 100644
--- a/src/gui/text/qfontinfo.h
+++ b/src/gui/text/qfontinfo.h
@@ -43,6 +43,7 @@
#define QFONTINFO_H
#include <QtGui/qfont.h>
+#include <QtCore/qsharedpointer.h>
QT_BEGIN_HEADER
@@ -77,7 +78,7 @@ public:
bool exactMatch() const;
private:
- QFontPrivate *d;
+ QExplicitlySharedDataPointer<QFontPrivate> d;
};
QT_END_NAMESPACE
diff --git a/src/gui/text/qfontmetrics.cpp b/src/gui/text/qfontmetrics.cpp
index ce122aa..b8c1b33 100644
--- a/src/gui/text/qfontmetrics.cpp
+++ b/src/gui/text/qfontmetrics.cpp
@@ -165,7 +165,6 @@ extern int qt_defaultDpi();
QFontMetrics::QFontMetrics(const QFont &font)
: d(font.d.data())
{
- d->ref.ref();
}
/*!
@@ -196,7 +195,6 @@ QFontMetrics::QFontMetrics(const QFont &font, QPaintDevice *paintdevice)
d->screen = screen;
} else {
d = font.d.data();
- d->ref.ref();
}
}
@@ -205,8 +203,9 @@ QFontMetrics::QFontMetrics(const QFont &font, QPaintDevice *paintdevice)
Constructs a copy of \a fm.
*/
QFontMetrics::QFontMetrics(const QFontMetrics &fm)
- : d(fm.d)
-{ d->ref.ref(); }
+ : d(fm.d.data())
+{
+}
/*!
Destroys the font metrics object and frees all allocated
@@ -214,8 +213,6 @@ QFontMetrics::QFontMetrics(const QFontMetrics &fm)
*/
QFontMetrics::~QFontMetrics()
{
- if (!d->ref.deref())
- delete d;
}
/*!
@@ -223,7 +220,7 @@ QFontMetrics::~QFontMetrics()
*/
QFontMetrics &QFontMetrics::operator=(const QFontMetrics &fm)
{
- qAtomicAssign(d, fm.d);
+ d = fm.d.data();
return *this;
}
@@ -536,7 +533,7 @@ int QFontMetrics::width(const QString &text, int len) const
if (len == 0)
return 0;
- QTextEngine layout(text, d);
+ QTextEngine layout(text, d.data());
layout.ignoreBidi = true;
return qRound(layout.width(0, len));
}
@@ -612,7 +609,7 @@ int QFontMetrics::charWidth(const QString &text, int pos) const
int from = qMax(0, pos - 8);
int to = qMin(text.length(), pos + 8);
QString cstr = QString::fromRawData(text.unicode() + from, to - from);
- QTextEngine layout(cstr, d);
+ QTextEngine layout(cstr, d.data());
layout.ignoreBidi = true;
layout.itemize();
width = qRound(layout.width(pos-from, 1));
@@ -661,7 +658,7 @@ QRect QFontMetrics::boundingRect(const QString &text) const
if (text.length() == 0)
return QRect();
- QTextEngine layout(text, d);
+ QTextEngine layout(text, d.data());
layout.ignoreBidi = true;
layout.itemize();
glyph_metrics_t gm = layout.boundingBox(0, text.length());
@@ -770,7 +767,7 @@ QRect QFontMetrics::boundingRect(const QRect &rect, int flags, const QString &te
QRectF rb;
QRectF rr(rect);
- qt_format_text(QFont(d), rr, flags | Qt::TextDontPrint, text, &rb, tabStops, tabArray,
+ qt_format_text(QFont(d.data()), rr, flags | Qt::TextDontPrint, text, &rb, tabStops, tabArray,
tabArrayLen, 0);
return rb.toAlignedRect();
@@ -831,7 +828,7 @@ QRect QFontMetrics::tightBoundingRect(const QString &text) const
if (text.length() == 0)
return QRect();
- QTextEngine layout(text, d);
+ QTextEngine layout(text, d.data());
layout.ignoreBidi = true;
layout.itemize();
glyph_metrics_t gm = layout.tightBoundingBox(0, text.length());
@@ -876,7 +873,7 @@ QString QFontMetrics::elidedText(const QString &text, Qt::TextElideMode mode, in
}
_text = _text.mid(posA);
}
- QStackTextEngine engine(_text, QFont(d));
+ QStackTextEngine engine(_text, QFont(d.data()));
return engine.elidedText(mode, width, flags);
}
@@ -989,9 +986,8 @@ int QFontMetrics::lineWidth() const
from the given \a fontMetrics object.
*/
QFontMetricsF::QFontMetricsF(const QFontMetrics &fontMetrics)
- : d(fontMetrics.d)
+ : d(fontMetrics.d.data())
{
- d->ref.ref();
}
/*!
@@ -1001,7 +997,7 @@ QFontMetricsF::QFontMetricsF(const QFontMetrics &fontMetrics)
*/
QFontMetricsF &QFontMetricsF::operator=(const QFontMetrics &other)
{
- qAtomicAssign(d, other.d);
+ d = other.d.data();
return *this;
}
@@ -1021,7 +1017,6 @@ QFontMetricsF &QFontMetricsF::operator=(const QFontMetrics &other)
QFontMetricsF::QFontMetricsF(const QFont &font)
: d(font.d.data())
{
- d->ref.ref();
}
/*!
@@ -1052,7 +1047,6 @@ QFontMetricsF::QFontMetricsF(const QFont &font, QPaintDevice *paintdevice)
d->screen = screen;
} else {
d = font.d.data();
- d->ref.ref();
}
}
@@ -1061,8 +1055,9 @@ QFontMetricsF::QFontMetricsF(const QFont &font, QPaintDevice *paintdevice)
Constructs a copy of \a fm.
*/
QFontMetricsF::QFontMetricsF(const QFontMetricsF &fm)
- : d(fm.d)
-{ d->ref.ref(); }
+ : d(fm.d.data())
+{
+}
/*!
Destroys the font metrics object and frees all allocated
@@ -1070,8 +1065,6 @@ QFontMetricsF::QFontMetricsF(const QFontMetricsF &fm)
*/
QFontMetricsF::~QFontMetricsF()
{
- if (!d->ref.deref())
- delete d;
}
/*!
@@ -1079,7 +1072,7 @@ QFontMetricsF::~QFontMetricsF()
*/
QFontMetricsF &QFontMetricsF::operator=(const QFontMetricsF &fm)
{
- qAtomicAssign(d, fm.d);
+ d = fm.d.data();
return *this;
}
@@ -1374,7 +1367,7 @@ qreal QFontMetricsF::rightBearing(QChar ch) const
*/
qreal QFontMetricsF::width(const QString &text) const
{
- QTextEngine layout(text, d);
+ QTextEngine layout(text, d.data());
layout.ignoreBidi = true;
layout.itemize();
return layout.width(0, text.length()).toReal();
@@ -1451,7 +1444,7 @@ QRectF QFontMetricsF::boundingRect(const QString &text) const
if (len == 0)
return QRectF();
- QTextEngine layout(text, d);
+ QTextEngine layout(text, d.data());
layout.ignoreBidi = true;
layout.itemize();
glyph_metrics_t gm = layout.boundingBox(0, len);
@@ -1559,7 +1552,7 @@ QRectF QFontMetricsF::boundingRect(const QRectF &rect, int flags, const QString&
tabArrayLen++;
QRectF rb;
- qt_format_text(QFont(d), rect, flags | Qt::TextDontPrint, text, &rb, tabStops, tabArray,
+ qt_format_text(QFont(d.data()), rect, flags | Qt::TextDontPrint, text, &rb, tabStops, tabArray,
tabArrayLen, 0);
return rb;
}
@@ -1624,7 +1617,7 @@ QRectF QFontMetricsF::tightBoundingRect(const QString &text) const
if (text.length() == 0)
return QRect();
- QTextEngine layout(text, d);
+ QTextEngine layout(text, d.data());
layout.ignoreBidi = true;
layout.itemize();
glyph_metrics_t gm = layout.tightBoundingBox(0, text.length());
@@ -1649,7 +1642,7 @@ QRectF QFontMetricsF::tightBoundingRect(const QString &text) const
*/
QString QFontMetricsF::elidedText(const QString &text, Qt::TextElideMode mode, qreal width, int flags) const
{
- QStackTextEngine engine(text, QFont(d));
+ QStackTextEngine engine(text, QFont(d.data()));
return engine.elidedText(mode, QFixed::fromReal(width), flags);
}
diff --git a/src/gui/text/qfontmetrics.h b/src/gui/text/qfontmetrics.h
index 1147e3a..23200c5 100644
--- a/src/gui/text/qfontmetrics.h
+++ b/src/gui/text/qfontmetrics.h
@@ -43,6 +43,7 @@
#define QFONTMETRICS_H
#include <QtGui/qfont.h>
+#include <QtCore/qsharedpointer.h>
#ifndef QT_INCLUDE_COMPAT
#include <QtCore/qrect.h>
#endif
@@ -131,7 +132,7 @@ private:
friend class QFontMetricsF;
friend class QStackTextEngine;
- QFontPrivate *d;
+ QExplicitlySharedDataPointer<QFontPrivate> d;
};
@@ -187,7 +188,7 @@ public:
inline bool operator !=(const QFontMetricsF &other) const { return !operator==(other); }
private:
- QFontPrivate *d;
+ QExplicitlySharedDataPointer<QFontPrivate> d;
};
QT_END_NAMESPACE
diff --git a/src/gui/text/qtextcontrol.cpp b/src/gui/text/qtextcontrol.cpp
index ee8b751..9497b6f 100644
--- a/src/gui/text/qtextcontrol.cpp
+++ b/src/gui/text/qtextcontrol.cpp
@@ -1619,9 +1619,11 @@ void QTextControlPrivate::mouseMoveEvent(Qt::MouseButtons buttons, const QPointF
if (cursor.position() != oldCursorPos)
emit q->cursorPositionChanged();
_q_updateCurrentCharFormatAndSelection();
+#ifndef QT_NO_IM
if (QInputContext *ic = inputContext()) {
ic->update();
}
+#endif //QT_NO_IM
} else {
//emit q->visibilityRequest(QRectF(mousePos, QSizeF(1, 1)));
if (cursor.position() != oldCursorPos)
@@ -1829,7 +1831,8 @@ void QTextControlPrivate::inputMethodEvent(QInputMethodEvent *e)
e->ignore();
return;
}
- bool isGettingInput = !e->commitString().isEmpty() || !e->preeditString().isEmpty()
+ bool isGettingInput = !e->commitString().isEmpty()
+ || e->preeditString() != cursor.block().layout()->preeditAreaText()
|| e->replacementLength() > 0;
if (isGettingInput) {
diff --git a/src/gui/text/qtextdocument.cpp b/src/gui/text/qtextdocument.cpp
index a8956b8..1aad385 100644
--- a/src/gui/text/qtextdocument.cpp
+++ b/src/gui/text/qtextdocument.cpp
@@ -140,7 +140,7 @@ bool Qt::mightBeRichText(const QString& text)
/*!
Converts the plain text string \a plain to a HTML string with
- HTML metacharacters \c{<}, \c{>}, and \c{&} replaced by HTML
+ HTML metacharacters \c{<}, \c{>}, \c{&}, and \c{"} replaced by HTML
entities.
Example:
@@ -162,6 +162,8 @@ QString Qt::escape(const QString& plain)
rich += QLatin1String("&gt;");
else if (plain.at(i) == QLatin1Char('&'))
rich += QLatin1String("&amp;");
+ else if (plain.at(i) == QLatin1Char('"'))
+ rich += QLatin1String("&quot;");
else
rich += plain.at(i);
}
@@ -956,6 +958,8 @@ QString QTextDocument::defaultStyleSheet() const
/*!
Returns true if undo is available; otherwise returns false.
+
+ \sa isRedoAvailable(), availableUndoSteps()
*/
bool QTextDocument::isUndoAvailable() const
{
@@ -965,6 +969,8 @@ bool QTextDocument::isUndoAvailable() const
/*!
Returns true if redo is available; otherwise returns false.
+
+ \sa isUndoAvailable(), availableRedoSteps()
*/
bool QTextDocument::isRedoAvailable() const
{
@@ -972,6 +978,29 @@ bool QTextDocument::isRedoAvailable() const
return d->isRedoAvailable();
}
+/*! \since 4.6
+
+ Returns the number of available undo steps.
+
+ \sa isUndoAvailable()
+*/
+int QTextDocument::availableUndoSteps() const
+{
+ Q_D(const QTextDocument);
+ return d->availableUndoSteps();
+}
+
+/*! \since 4.6
+
+ Returns the number of available redo steps.
+
+ \sa isRedoAvailable()
+*/
+int QTextDocument::availableRedoSteps() const
+{
+ Q_D(const QTextDocument);
+ return d->availableRedoSteps();
+}
/*! \since 4.4
@@ -2038,7 +2067,7 @@ void QTextHtmlExporter::emitAttribute(const char *attribute, const QString &valu
html += QLatin1Char(' ');
html += QLatin1String(attribute);
html += QLatin1String("=\"");
- html += value;
+ html += Qt::escape(value);
html += QLatin1Char('"');
}
@@ -2302,12 +2331,12 @@ void QTextHtmlExporter::emitFontFamily(const QString &family)
{
html += QLatin1String(" font-family:");
- QLatin1Char quote('\'');
- if (family.contains(quote))
- quote = QLatin1Char('\"');
+ QLatin1String quote("\'");
+ if (family.contains(QLatin1Char('\'')))
+ quote = QLatin1String("&quot;");
html += quote;
- html += family;
+ html += Qt::escape(family);
html += quote;
html += QLatin1Char(';');
}
@@ -2341,13 +2370,13 @@ void QTextHtmlExporter::emitFragment(const QTextFragment &fragment)
const QString name = format.anchorName();
if (!name.isEmpty()) {
html += QLatin1String("<a name=\"");
- html += name;
+ html += Qt::escape(name);
html += QLatin1String("\"></a>");
}
const QString href = format.anchorHref();
if (!href.isEmpty()) {
html += QLatin1String("<a href=\"");
- html += href;
+ html += Qt::escape(href);
html += QLatin1String("\">");
closeAnchor = true;
}
diff --git a/src/gui/text/qtextdocument.h b/src/gui/text/qtextdocument.h
index e52716a..d217a4d 100644
--- a/src/gui/text/qtextdocument.h
+++ b/src/gui/text/qtextdocument.h
@@ -142,6 +142,9 @@ public:
bool isUndoAvailable() const;
bool isRedoAvailable() const;
+ int availableUndoSteps() const;
+ int availableRedoSteps() const;
+
int revision() const;
void setDocumentLayout(QAbstractTextDocumentLayout *layout);
diff --git a/src/gui/text/qtextdocument_p.h b/src/gui/text/qtextdocument_p.h
index ce25c57..c10855b 100644
--- a/src/gui/text/qtextdocument_p.h
+++ b/src/gui/text/qtextdocument_p.h
@@ -212,6 +212,9 @@ public:
inline bool isUndoAvailable() const { return undoEnabled && undoState > 0; }
inline bool isRedoAvailable() const { return undoEnabled && undoState < undoStack.size(); }
+ inline int availableUndoSteps() const { return undoEnabled ? undoState : 0; }
+ inline int availableRedoSteps() const { return undoEnabled ? qMax(undoStack.size() - undoState - 1, 0) : 0; }
+
inline QString buffer() const { return text; }
QString plainText() const;
inline int length() const { return fragments.length(); }
diff --git a/src/gui/text/qtextdocumentlayout.cpp b/src/gui/text/qtextdocumentlayout.cpp
index de83d39..73434b1 100644
--- a/src/gui/text/qtextdocumentlayout.cpp
+++ b/src/gui/text/qtextdocumentlayout.cpp
@@ -1437,7 +1437,9 @@ void QTextDocumentLayoutPrivate::drawListItem(const QPointF &offset, QPainter *p
option.setTextDirection(dir);
layout.setTextOption(option);
layout.beginLayout();
- layout.createLine();
+ QTextLine line = layout.createLine();
+ if (line.isValid())
+ line.setLeadingIncluded(true);
layout.endLayout();
layout.draw(painter, QPointF(r.left(), pos.y()));
break;
@@ -2579,6 +2581,7 @@ void QTextDocumentLayoutPrivate::layoutBlock(const QTextBlock &bl, int blockPosi
QTextLine line = tl->createLine();
if (!line.isValid())
break;
+ line.setLeadingIncluded(true);
QFixed left, right;
floatMargins(layoutStruct->y, layoutStruct, &left, &right);
diff --git a/src/gui/text/qtextengine.cpp b/src/gui/text/qtextengine.cpp
index 81c9142..a91408f 100644
--- a/src/gui/text/qtextengine.cpp
+++ b/src/gui/text/qtextengine.cpp
@@ -1042,7 +1042,7 @@ void QTextEngine::shapeTextWithCE(int item) const
QScriptItem &si = layoutData->items[item];
si.glyph_data_offset = layoutData->used;
- QFontEngine *fe = fontEngine(si, &si.ascent, &si.descent);
+ QFontEngine *fe = fontEngine(si, &si.ascent, &si.descent, &si.leading);
QTextEngine::ShaperFlags flags;
if (si.analysis.bidiLevel % 2)
@@ -1119,7 +1119,7 @@ void QTextEngine::shapeTextWithHarfbuzz(int item) const
si.glyph_data_offset = layoutData->used;
- QFontEngine *font = fontEngine(si, &si.ascent, &si.descent);
+ QFontEngine *font = fontEngine(si, &si.ascent, &si.descent, &si.leading);
bool kerningEnabled = this->font(si).d->kerning;
@@ -1350,8 +1350,11 @@ void QTextEngine::shape(int item) const
layoutData->items[item].position + block.position(), format);
}
} else if (layoutData->items[item].analysis.flags == QScriptAnalysis::Tab) {
- // set up at least the ascent/descent of the script item for the tab
- fontEngine(layoutData->items[item], &layoutData->items[item].ascent, &layoutData->items[item].descent);
+ // set up at least the ascent/descent/leading of the script item for the tab
+ fontEngine(layoutData->items[item],
+ &layoutData->items[item].ascent,
+ &layoutData->items[item].descent,
+ &layoutData->items[item].leading);
} else {
shapeText(item);
}
@@ -1737,7 +1740,7 @@ QFont QTextEngine::font(const QScriptItem &si) const
return font;
}
-QFontEngine *QTextEngine::fontEngine(const QScriptItem &si, QFixed *ascent, QFixed *descent) const
+QFontEngine *QTextEngine::fontEngine(const QScriptItem &si, QFixed *ascent, QFixed *descent, QFixed *leading) const
{
QFontEngine *engine = 0;
QFontEngine *scaledEngine = 0;
@@ -1777,6 +1780,7 @@ QFontEngine *QTextEngine::fontEngine(const QScriptItem &si, QFixed *ascent, QFix
if (ascent) {
*ascent = engine->ascent();
*descent = engine->descent();
+ *leading = engine->leading();
}
if (scaledEngine)
@@ -2009,8 +2013,12 @@ void QScriptLine::setDefaultHeight(QTextEngine *eng)
e = eng->fnt.d->engineForScript(QUnicodeTables::Common);
}
- ascent = qMax(ascent, e->ascent());
- descent = qMax(descent, e->descent());
+ QFixed other_ascent = e->ascent();
+ QFixed other_descent = e->descent();
+ QFixed other_leading = e->leading();
+ leading = qMax(leading + ascent, other_leading + other_ascent) - qMax(ascent, other_ascent);
+ ascent = qMax(ascent, other_ascent);
+ descent = qMax(descent, other_descent);
}
QTextEngine::LayoutData::LayoutData()
diff --git a/src/gui/text/qtextengine_mac.cpp b/src/gui/text/qtextengine_mac.cpp
index e101830..54be53b 100644
--- a/src/gui/text/qtextengine_mac.cpp
+++ b/src/gui/text/qtextengine_mac.cpp
@@ -557,7 +557,7 @@ void QTextEngine::shapeTextMac(int item) const
si.glyph_data_offset = layoutData->used;
- QFontEngine *font = fontEngine(si, &si.ascent, &si.descent);
+ QFontEngine *font = fontEngine(si, &si.ascent, &si.descent, &si.leading);
if (font->type() != QFontEngine::Multi) {
shapeTextWithHarfbuzz(item);
return;
@@ -594,53 +594,50 @@ void QTextEngine::shapeTextMac(int item) const
str = reinterpret_cast<const QChar *>(uc);
}
- while (true) {
- ensureSpace(num_glyphs);
- num_glyphs = layoutData->glyphLayout.numGlyphs - layoutData->used;
-
- QGlyphLayout g = availableGlyphs(&si);
- g.numGlyphs = num_glyphs;
- unsigned short *log_clusters = logClusters(&si);
+ ensureSpace(num_glyphs);
+ num_glyphs = layoutData->glyphLayout.numGlyphs - layoutData->used;
- if (fe->stringToCMap(str,
- len,
- &g,
- &num_glyphs,
- flags,
- log_clusters,
- attributes())) {
+ QGlyphLayout g = availableGlyphs(&si);
+ g.numGlyphs = num_glyphs;
+ unsigned short *log_clusters = logClusters(&si);
- heuristicSetGlyphAttributes(str, len, &g, log_clusters, num_glyphs);
- break;
- }
+ bool stringToCMapFailed = false;
+ if (!fe->stringToCMap(str, len, &g, &num_glyphs, flags, log_clusters, attributes())) {
+ ensureSpace(num_glyphs);
+ stringToCMapFailed = fe->stringToCMap(str, len, &g, &num_glyphs, flags, log_clusters,
+ attributes());
}
- si.num_glyphs = num_glyphs;
+ if (!stringToCMapFailed) {
+ heuristicSetGlyphAttributes(str, len, &g, log_clusters, num_glyphs);
- layoutData->used += si.num_glyphs;
+ si.num_glyphs = num_glyphs;
- QGlyphLayout g = shapedGlyphs(&si);
+ layoutData->used += si.num_glyphs;
- if (si.analysis.script == QUnicodeTables::Arabic) {
- QVarLengthArray<QArabicProperties> props(len + 2);
- QArabicProperties *properties = props.data();
- int f = si.position;
- int l = len;
- if (f > 0) {
- --f;
- ++l;
- ++properties;
- }
- if (f + l < layoutData->string.length()) {
- ++l;
- }
- qt_getArabicProperties((const unsigned short *)(layoutData->string.unicode()+f), l, props.data());
+ QGlyphLayout g = shapedGlyphs(&si);
- unsigned short *log_clusters = logClusters(&si);
+ if (si.analysis.script == QUnicodeTables::Arabic) {
+ QVarLengthArray<QArabicProperties> props(len + 2);
+ QArabicProperties *properties = props.data();
+ int f = si.position;
+ int l = len;
+ if (f > 0) {
+ --f;
+ ++l;
+ ++properties;
+ }
+ if (f + l < layoutData->string.length()) {
+ ++l;
+ }
+ qt_getArabicProperties((const unsigned short *)(layoutData->string.unicode()+f), l, props.data());
- for (int i = 0; i < len; ++i) {
- int gpos = log_clusters[i];
- g.attributes[gpos].justification = properties[i].justification;
+ unsigned short *log_clusters = logClusters(&si);
+
+ for (int i = 0; i < len; ++i) {
+ int gpos = log_clusters[i];
+ g.attributes[gpos].justification = properties[i].justification;
+ }
}
}
diff --git a/src/gui/text/qtextengine_p.h b/src/gui/text/qtextengine_p.h
index 85c6928..a1d363b 100644
--- a/src/gui/text/qtextengine_p.h
+++ b/src/gui/text/qtextengine_p.h
@@ -345,11 +345,11 @@ struct Q_AUTOTEST_EXPORT QScriptItem
{
inline QScriptItem()
: position(0),
- num_glyphs(0), descent(-1), ascent(-1), width(-1),
+ num_glyphs(0), descent(-1), ascent(-1), leading(-1), width(-1),
glyph_data_offset(0) {}
inline QScriptItem(int p, const QScriptAnalysis &a)
: position(p), analysis(a),
- num_glyphs(0), descent(-1), ascent(-1), width(-1),
+ num_glyphs(0), descent(-1), ascent(-1), leading(-1), width(-1),
glyph_data_offset(0) {}
int position;
@@ -357,6 +357,7 @@ struct Q_AUTOTEST_EXPORT QScriptItem
unsigned short num_glyphs;
QFixed descent;
QFixed ascent;
+ QFixed leading;
QFixed width;
int glyph_data_offset;
QFixed height() const { return ascent + descent + 1; }
@@ -373,9 +374,10 @@ struct Q_AUTOTEST_EXPORT QScriptLine
QScriptLine()
: from(0), length(0),
justified(0), gridfitted(0),
- hasTrailingSpaces(0) {}
+ hasTrailingSpaces(0), leadingIncluded(0) {}
QFixed descent;
QFixed ascent;
+ QFixed leading;
QFixed x;
QFixed y;
QFixed width;
@@ -385,7 +387,11 @@ struct Q_AUTOTEST_EXPORT QScriptLine
mutable uint justified : 1;
mutable uint gridfitted : 1;
uint hasTrailingSpaces : 1;
- QFixed height() const { return ascent + descent + 1; }
+ uint leadingIncluded : 1;
+ QFixed height() const { return ascent + descent + 1
+ + (leadingIncluded? qMax(QFixed(),leading) : QFixed()); }
+ QFixed base() const { return ascent
+ + (leadingIncluded ? qMax(QFixed(),leading) : QFixed()); }
void setDefaultHeight(QTextEngine *eng);
void operator+=(const QScriptLine &other);
};
@@ -394,6 +400,7 @@ Q_DECLARE_TYPEINFO(QScriptLine, Q_PRIMITIVE_TYPE);
inline void QScriptLine::operator+=(const QScriptLine &other)
{
+ leading= qMax(leading + ascent, other.leading + other.ascent) - qMax(ascent, other.ascent);
descent = qMax(descent, other.descent);
ascent = qMax(ascent, other.ascent);
textWidth += other.textWidth;
@@ -476,7 +483,7 @@ public:
return end - si->position;
}
- QFontEngine *fontEngine(const QScriptItem &si, QFixed *ascent = 0, QFixed *descent = 0) const;
+ QFontEngine *fontEngine(const QScriptItem &si, QFixed *ascent = 0, QFixed *descent = 0, QFixed *leading = 0) const;
QFont font(const QScriptItem &si) const;
inline QFont font() const { return fnt; }
diff --git a/src/gui/text/qtextlayout.cpp b/src/gui/text/qtextlayout.cpp
index c5f0e35..4600a29 100644
--- a/src/gui/text/qtextlayout.cpp
+++ b/src/gui/text/qtextlayout.cpp
@@ -860,7 +860,7 @@ QRectF QTextLayout::boundingRect() const
ymin = qMin(ymin, si.y);
xmax = qMax(xmax, si.x+qMax(si.width, si.textWidth));
// ### shouldn't the ascent be used in ymin???
- ymax = qMax(ymax, si.y+si.ascent+si.descent+1);
+ ymax = qMax(ymax, si.y+si.height());
}
return QRectF(xmin.toReal(), ymin.toReal(), (xmax-xmin).toReal(), (ymax-ymin).toReal());
}
@@ -1071,10 +1071,10 @@ static void addSelectedRegionsToPath(QTextEngine *eng, int lineNumber, const QPo
QTextLineItemIterator iterator(eng, lineNumber, pos, selection);
- const QFixed y = QFixed::fromReal(pos.y()) + line.y + line.ascent;
+
+ const qreal selectionY = pos.y() + line.y.toReal();
const qreal lineHeight = line.height().toReal();
- const qreal selectionY = (y - line.ascent).toReal();
QFixed lastSelectionX = iterator.x;
QFixed lastSelectionWidth;
@@ -1334,23 +1334,23 @@ void QTextLayout::drawCursor(QPainter *p, const QPointF &pos, int cursorPosition
const qreal x = position.x() + l.cursorToX(cursorPosition);
int itm = d->findItem(cursorPosition - 1);
- QFixed ascent = sl.ascent;
+ QFixed base = sl.base();
QFixed descent = sl.descent;
bool rightToLeft = (d->option.textDirection() == Qt::RightToLeft);
if (itm >= 0) {
const QScriptItem &si = d->layoutData->items.at(itm);
if (si.ascent > 0)
- ascent = si.ascent;
+ base = si.ascent;
if (si.descent > 0)
descent = si.descent;
rightToLeft = si.analysis.bidiLevel % 2;
}
- qreal y = position.y() + (sl.y + sl.ascent - ascent).toReal();
+ qreal y = position.y() + (sl.y + sl.base() - base).toReal();
bool toggleAntialiasing = !(p->renderHints() & QPainter::Antialiasing)
&& (p->transform().type() > QTransform::TxTranslate);
if (toggleAntialiasing)
p->setRenderHint(QPainter::Antialiasing);
- p->fillRect(QRectF(x, y, qreal(width), (ascent + descent).toReal()), p->pen().brush());
+ p->fillRect(QRectF(x, y, qreal(width), (base + descent + 1).toReal()), p->pen().brush());
if (toggleAntialiasing)
p->setRenderHint(QPainter::Antialiasing, false);
if (d->layoutData->hasBidi) {
@@ -1500,9 +1500,11 @@ qreal QTextLine::descent() const
}
/*!
- Returns the line's height. This is equal to ascent() + descent() + 1.
+ Returns the line's height. This is equal to ascent() + descent() + 1
+ if leading is not included. If leading is included, this equals to
+ ascent() + descent() + leading() + 1.
- \sa ascent() descent()
+ \sa ascent() descent() leading() setLeadingIncluded()
*/
qreal QTextLine::height() const
{
@@ -1510,6 +1512,51 @@ qreal QTextLine::height() const
}
/*!
+ \since 4.6
+
+ Returns the line's leading.
+
+ \sa ascent() descent() height()
+*/
+qreal QTextLine::leading() const
+{
+ return eng->lines[i].leading.toReal();
+}
+
+/*! \since 4.6
+
+ Includes positive leading into the line's height if \a included is true;
+ otherwise does not include leading.
+
+ By default, leading is not included.
+
+ Note that negative leading is ignored, it must be handled
+ in the code using the text lines by letting the lines overlap.
+
+ \sa leadingIncluded()
+
+*/
+void QTextLine::setLeadingIncluded(bool included)
+{
+ eng->lines[i].leadingIncluded= included;
+
+}
+
+/*! \since 4.6
+
+ Returns true if positive leading is included into the line's height; otherwise returns false.
+
+ By default, leading is not included.
+
+ \sa setLeadingIncluded()
+*/
+bool QTextLine::leadingIncluded() const
+{
+ return eng->lines[i].leadingIncluded;
+}
+
+
+/*!
Returns the width of the line that is occupied by text. This is
always \<= to width(), and is the minimum width that could be used
by layout() without changing the line break position.
@@ -1712,6 +1759,9 @@ void QTextLine::layout_helper(int maxGlyphs)
}
const QScriptItem &current = eng->layoutData->items[item];
+ lbh.tmpData.leading = qMax(lbh.tmpData.leading + lbh.tmpData.ascent,
+ current.leading + current.ascent) - qMax(lbh.tmpData.ascent,
+ current.ascent);
lbh.tmpData.ascent = qMax(lbh.tmpData.ascent, current.ascent);
lbh.tmpData.descent = qMax(lbh.tmpData.descent, current.descent);
@@ -2042,7 +2092,9 @@ void QTextLine::draw(QPainter *p, const QPointF &pos, const QTextLayout::FormatR
QTextLineItemIterator iterator(eng, i, pos, selection);
- const QFixed y = QFixed::fromReal(pos.y()) + line.y + line.ascent;
+ QFixed lineBase = line.base();
+
+ const QFixed y = QFixed::fromReal(pos.y()) + line.y + lineBase;
bool suppressColors = (eng->option.flags() & QTextOption::SuppressColors);
while (!iterator.atEnd()) {
@@ -2065,7 +2117,7 @@ void QTextLine::draw(QPainter *p, const QPointF &pos, const QTextLayout::FormatR
if (selection)
format.merge(selection->format);
- setPenAndDrawBackground(p, pen, format, QRectF(iterator.x.toReal(), (y - line.ascent).toReal(),
+ setPenAndDrawBackground(p, pen, format, QRectF(iterator.x.toReal(), (y - lineBase).toReal(),
iterator.itemWidth.toReal(), line.height().toReal()));
QTextCharFormat::VerticalAlignment valign = format.verticalAlignment();
@@ -2086,7 +2138,7 @@ void QTextLine::draw(QPainter *p, const QPointF &pos, const QTextLayout::FormatR
if (si.analysis.flags == QScriptAnalysis::Object && eng->block.docHandle()) {
QFixed itemY = y - si.ascent;
if (format.verticalAlignment() == QTextCharFormat::AlignTop) {
- itemY = y - line.ascent;
+ itemY = y - lineBase;
}
QRectF itemRect(iterator.x.toReal(), itemY.toReal(), iterator.itemWidth.toReal(), si.height().toReal());
diff --git a/src/gui/text/qtextlayout.h b/src/gui/text/qtextlayout.h
index 90afac8..9f170f5 100644
--- a/src/gui/text/qtextlayout.h
+++ b/src/gui/text/qtextlayout.h
@@ -196,6 +196,10 @@ public:
qreal ascent() const;
qreal descent() const;
qreal height() const;
+ qreal leading() const;
+
+ void setLeadingIncluded(bool included);
+ bool leadingIncluded() const;
qreal naturalTextWidth() const;
QRectF naturalTextRect() const;
diff --git a/src/gui/text/text.pri b/src/gui/text/text.pri
index b28ecd7..b7615a4 100644
--- a/src/gui/text/text.pri
+++ b/src/gui/text/text.pri
@@ -78,6 +78,7 @@ win32 {
unix:x11 {
HEADERS += \
text/qfontengine_x11_p.h \
+ text/qfontdatabase_x11.cpp \
text/qfontengine_ft_p.h
SOURCES += \
text/qfont_x11.cpp \
diff --git a/src/gui/util/qdesktopservices.cpp b/src/gui/util/qdesktopservices.cpp
index 1690d87..fd84949 100644
--- a/src/gui/util/qdesktopservices.cpp
+++ b/src/gui/util/qdesktopservices.cpp
@@ -293,17 +293,6 @@ void QDesktopServices::unsetUrlHandler(const QString &scheme)
have desktop concept, DesktopLocation returns same path as DocumentsLocation.
Rest of the standard locations point to folder on same drive with executable, except
that if executable is in ROM the folder from C drive is returned.
-
- \note On Mac OS X, DataLocation does not include QCoreApplication::organizationName.
- Use code like this to add it:
-
- \code
- QString location = QDesktopServices::storageLocation(QDesktopServices::DataLocation);
- #ifdef Q_WS_MAC
- location.insert(location.count() - QCoreApplication::applicationName().count(),
- QCoreApplication::organizationName() + "/");
- #endif
- \endcode
*/
/*!
diff --git a/src/gui/util/qdesktopservices_mac.cpp b/src/gui/util/qdesktopservices_mac.cpp
index 0626e0a..23f9e60 100644
--- a/src/gui/util/qdesktopservices_mac.cpp
+++ b/src/gui/util/qdesktopservices_mac.cpp
@@ -153,9 +153,12 @@ QString QDesktopServices::storageLocation(StandardLocation type)
QString path = getFullPath(ref);
- QString appName = QCoreApplication::applicationName();
- if (!appName.isEmpty() && (type == DataLocation || type == CacheLocation))
- path += QLatin1Char('/') + appName;
+ if (type == DataLocation || type == CacheLocation) {
+ if (QCoreApplication::organizationName().isEmpty() == false)
+ path += QLatin1Char('/') + QCoreApplication::organizationName();
+ if (QCoreApplication::applicationName().isEmpty() == false)
+ path += QLatin1Char('/') + QCoreApplication::applicationName();
+ }
return path;
}
diff --git a/src/gui/widgets/qabstractscrollarea.cpp b/src/gui/widgets/qabstractscrollarea.cpp
index 0896256..7d81d5a 100644
--- a/src/gui/widgets/qabstractscrollarea.cpp
+++ b/src/gui/widgets/qabstractscrollarea.cpp
@@ -293,13 +293,16 @@ void QAbstractScrollAreaPrivate::init()
q->setFrameStyle(QFrame::StyledPanel | QFrame::Sunken);
q->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
layoutChildren();
+ viewport->grabGesture(Qt::PanGesture);
}
#ifdef Q_WS_WIN
void QAbstractScrollAreaPrivate::setSingleFingerPanEnabled(bool on)
{
singleFingerPanEnabled = on;
- winSetupGestures();
+ QWidgetPrivate *dd = static_cast<QWidgetPrivate *>(QObjectPrivate::get(viewport));
+ if (dd)
+ dd->winSetupGestures();
}
#endif // Q_WS_WIN
@@ -539,6 +542,7 @@ void QAbstractScrollArea::setViewport(QWidget *widget)
d->viewport->setParent(this);
d->viewport->setFocusProxy(this);
d->viewport->installEventFilter(d->viewportFilter.data());
+ d->viewport->grabGesture(Qt::PanGesture);
d->layoutChildren();
if (isVisible())
d->viewport->show();
@@ -935,6 +939,26 @@ bool QAbstractScrollArea::event(QEvent *e)
case QEvent::TouchUpdate:
case QEvent::TouchEnd:
return false;
+ case QEvent::Gesture:
+ {
+ QGestureEvent *ge = static_cast<QGestureEvent *>(e);
+ QPanGesture *g = static_cast<QPanGesture *>(ge->gesture(Qt::PanGesture));
+ if (g) {
+ QScrollBar *hBar = horizontalScrollBar();
+ QScrollBar *vBar = verticalScrollBar();
+ QPointF delta = g->lastOffset();
+ if (!delta.isNull()) {
+ if (QApplication::isRightToLeft())
+ delta.rx() *= -1;
+ int newX = hBar->value() - delta.x();
+ int newY = vBar->value() - delta.y();
+ hBar->setValue(newX);
+ vBar->setValue(newY);
+ }
+ return true;
+ }
+ return false;
+ }
case QEvent::StyleChange:
case QEvent::LayoutDirectionChange:
case QEvent::ApplicationLayoutDirectionChange:
@@ -990,6 +1014,8 @@ bool QAbstractScrollArea::viewportEvent(QEvent *e)
#endif
return QFrame::event(e);
case QEvent::LayoutRequest:
+ case QEvent::Gesture:
+ case QEvent::GestureOverride:
return event(e);
default:
break;
@@ -1266,11 +1292,13 @@ void QAbstractScrollAreaPrivate::_q_vslide(int y)
void QAbstractScrollAreaPrivate::_q_showOrHideScrollBars()
{
layoutChildren();
-#ifdef Q_OS_WIN
+#ifdef Q_WS_WIN
// Need to re-subscribe to gestures as the content changes to make sure we
// enable/disable panning when needed.
- winSetupGestures();
-#endif // Q_OS_WIN
+ QWidgetPrivate *dd = static_cast<QWidgetPrivate *>(QObjectPrivate::get(viewport));
+ if (dd)
+ dd->winSetupGestures();
+#endif // Q_WS_WIN
}
QPoint QAbstractScrollAreaPrivate::contentsOffset() const
@@ -1335,25 +1363,6 @@ void QAbstractScrollArea::setupViewport(QWidget *viewport)
Q_UNUSED(viewport);
}
-//void QAbstractScrollAreaPrivate::_q_gestureTriggered()
-//{
-// Q_Q(QAbstractScrollArea);
-// QPanGesture *g = qobject_cast<QPanGesture*>(q->sender());
-// if (!g)
-// return;
-// QScrollBar *hBar = q->horizontalScrollBar();
-// QScrollBar *vBar = q->verticalScrollBar();
-// QSizeF delta = g->lastOffset();
-// if (!delta.isNull()) {
-// if (QApplication::isRightToLeft())
-// delta.rwidth() *= -1;
-// int newX = hBar->value() - delta.width();
-// int newY = vBar->value() - delta.height();
-// hbar->setValue(newX);
-// vbar->setValue(newY);
-// }
-//}
-
QT_END_NAMESPACE
#include "moc_qabstractscrollarea.cpp"
diff --git a/src/gui/widgets/qabstractslider.cpp b/src/gui/widgets/qabstractslider.cpp
index 588a48e..fec9fab 100644
--- a/src/gui/widgets/qabstractslider.cpp
+++ b/src/gui/widgets/qabstractslider.cpp
@@ -693,29 +693,27 @@ void QAbstractSlider::wheelEvent(QWheelEvent * e)
if (e->orientation() != d->orientation && !rect().contains(e->pos()))
return;
- qreal currentOffset = qreal(e->delta()) / 120;
- d->offset_accumulated += currentOffset;
- if (int(d->offset_accumulated) == 0) {
- // QAbstractSlider works on integer values. So if the accumulated
- // offset is less than +/- 1, we need to wait until we get more
- // wheel events (this means that the wheel resolution is higher than
- // 15 degrees, e.g. when using mac mighty mouse/trackpad):
- return;
- }
+ int stepsToScroll = 0;
+ qreal offset = qreal(e->delta()) / 120;
- int stepsToScroll;
if ((e->modifiers() & Qt::ControlModifier) || (e->modifiers() & Qt::ShiftModifier)) {
- stepsToScroll = currentOffset > 0 ? d->pageStep : -d->pageStep;
+ // Scroll one page regardless of delta:
+ stepsToScroll = qBound(-d->pageStep, int(offset * d->pageStep), d->pageStep);
+ d->offset_accumulated = 0;
} else {
- // Calculate the number of steps to scroll (per 15 degrees of rotate):
-#ifdef Q_OS_MAC
- // On mac, since mouse wheel scrolling is accelerated and
- // fine tuned by the OS, we skip applying acceleration:
- stepsToScroll = int(d->offset_accumulated);
-#else
- stepsToScroll = int(d->offset_accumulated) * QApplication::wheelScrollLines() * d->singleStep;
-#endif
- stepsToScroll = qBound(-d->pageStep, stepsToScroll, d->pageStep);
+ // Calculate how many lines to scroll. Depending on what delta is (and
+ // offset), we might end up with a fraction (e.g. scroll 1.3 lines). We can
+ // only scroll whole lines, so we keep the reminder until next event.
+ qreal stepsToScrollF = offset * QApplication::wheelScrollLines() * d->singleStep;
+ // Check if wheel changed direction since last event:
+ if (d->offset_accumulated != 0 && (offset / d->offset_accumulated) < 0)
+ d->offset_accumulated = 0;
+
+ d->offset_accumulated += stepsToScrollF;
+ stepsToScroll = qBound(-d->pageStep, int(d->offset_accumulated), d->pageStep);
+ d->offset_accumulated -= int(d->offset_accumulated);
+ if (stepsToScroll == 0)
+ return;
}
if (d->invertedControls)
@@ -725,12 +723,10 @@ void QAbstractSlider::wheelEvent(QWheelEvent * e)
d->position = d->overflowSafeAdd(stepsToScroll); // value will be updated by triggerAction()
triggerAction(SliderMove);
- if (prevValue == d->value) {
+ if (prevValue == d->value)
d->offset_accumulated = 0;
- } else {
- d->offset_accumulated -= int(d->offset_accumulated);
+ else
e->accept();
- }
}
#endif
#ifdef QT_KEYPAD_NAVIGATION
diff --git a/src/gui/widgets/qcombobox.cpp b/src/gui/widgets/qcombobox.cpp
index 0e888d6..1879db4 100644
--- a/src/gui/widgets/qcombobox.cpp
+++ b/src/gui/widgets/qcombobox.cpp
@@ -192,6 +192,8 @@ void QComboBoxPrivate::_q_modelReset()
lineEdit->setText(QString());
updateLineEditGeometry();
}
+ if (currentIndex.row() != indexBeforeChange)
+ _q_emitCurrentIndexChanged(currentIndex);
q->update();
}
@@ -314,7 +316,7 @@ QSize QComboBoxPrivate::recomputeSizeHint(QSize &sh) const
// height
- sh.setHeight(qMax(fm.lineSpacing(), 14) + 2);
+ sh.setHeight(qMax(fm.height(), 14) + 2);
if (hasIcon) {
sh.setHeight(qMax(sh.height(), iconSize.height() + 2));
}
@@ -402,13 +404,6 @@ QComboBoxPrivateContainer::QComboBoxPrivateContainer(QAbstractItemView *itemView
layout->setSpacing(0);
layout->setMargin(0);
-#ifdef QT_SOFTKEYS_ENABLED
- selectAction = QSoftKeyManager::createKeyedAction(QSoftKeyManager::SelectSoftKey, Qt::Key_Select, this);
- cancelAction = QSoftKeyManager::createKeyedAction(QSoftKeyManager::CancelSoftKey, Qt::Key_Escape, this);
- addAction(selectAction);
- addAction(cancelAction);
-#endif
-
// set item view
setItemView(itemView);
@@ -494,18 +489,6 @@ void QComboBoxPrivateContainer::viewDestroyed()
}
/*
- Sets currentIndex on entered if the LeftButton is not pressed. This
- means that if mouseTracking(...) is on, we setCurrentIndex and select
- even when LeftButton is not pressed.
-*/
-void QComboBoxPrivateContainer::setCurrentIndex(const QModelIndex &index)
-{
- if (QComboBoxDelegate::isSeparator(index))
- return;
- view->setCurrentIndex(index);
-}
-
-/*
Returns the item view used for the combobox popup.
*/
QAbstractItemView *QComboBoxPrivateContainer::itemView() const
@@ -530,8 +513,6 @@ void QComboBoxPrivateContainer::setItemView(QAbstractItemView *itemView)
disconnect(view->verticalScrollBar(), SIGNAL(rangeChanged(int,int)),
this, SLOT(updateScrollers()));
#endif
- disconnect(view, SIGNAL(entered(QModelIndex)),
- this, SLOT(setCurrentIndex(QModelIndex)));
disconnect(view, SIGNAL(destroyed()),
this, SLOT(viewDestroyed()));
@@ -568,10 +549,15 @@ void QComboBoxPrivateContainer::setItemView(QAbstractItemView *itemView)
connect(view->verticalScrollBar(), SIGNAL(rangeChanged(int,int)),
this, SLOT(updateScrollers()));
#endif
- connect(view, SIGNAL(entered(QModelIndex)),
- this, SLOT(setCurrentIndex(QModelIndex)));
connect(view, SIGNAL(destroyed()),
this, SLOT(viewDestroyed()));
+
+#ifdef QT_SOFTKEYS_ENABLED
+ selectAction = QSoftKeyManager::createKeyedAction(QSoftKeyManager::SelectSoftKey, Qt::Key_Select, itemView);
+ cancelAction = QSoftKeyManager::createKeyedAction(QSoftKeyManager::CancelSoftKey, Qt::Key_Escape, itemView);
+ addAction(selectAction);
+ addAction(cancelAction);
+#endif
}
/*!
@@ -653,16 +639,20 @@ bool QComboBoxPrivateContainer::eventFilter(QObject *o, QEvent *e)
break;
}
break;
- case QEvent::MouseMove: {
+ case QEvent::MouseMove:
if (isVisible()) {
QMouseEvent *m = static_cast<QMouseEvent *>(e);
QWidget *widget = static_cast<QWidget *>(o);
QPoint vector = widget->mapToGlobal(m->pos()) - initialClickPosition;
if (vector.manhattanLength() > 9 && blockMouseReleaseTimer.isActive())
blockMouseReleaseTimer.stop();
+ QModelIndex indexUnderMouse = view->indexAt(m->pos());
+ if (indexUnderMouse.isValid() && indexUnderMouse != view->currentIndex()
+ && !QComboBoxDelegate::isSeparator(indexUnderMouse)) {
+ view->setCurrentIndex(indexUnderMouse);
+ }
}
break;
- }
case QEvent::MouseButtonRelease: {
QMouseEvent *m = static_cast<QMouseEvent *>(e);
if (isVisible() && view->rect().contains(m->pos()) && view->currentIndex().isValid()
@@ -992,14 +982,6 @@ void QComboBoxPrivate::_q_dataChanged(const QModelIndex &topLeft, const QModelIn
}
}
-void QComboBoxPrivate::_q_rowsAboutToBeInserted(const QModelIndex & parent,
- int /*start*/, int /*end*/)
-{
- if (parent != root)
- return;
- indexBeforeChange = currentIndex.row();
-}
-
void QComboBoxPrivate::_q_rowsInserted(const QModelIndex &parent, int start, int end)
{
Q_Q(QComboBox);
@@ -1022,11 +1004,8 @@ void QComboBoxPrivate::_q_rowsInserted(const QModelIndex &parent, int start, int
}
}
-void QComboBoxPrivate::_q_rowsAboutToBeRemoved(const QModelIndex &parent, int /*start*/, int /*end*/)
+void QComboBoxPrivate::_q_updateIndexBeforeChange()
{
- if (parent != root)
- return;
-
indexBeforeChange = currentIndex.row();
}
@@ -1868,15 +1847,17 @@ void QComboBox::setModel(QAbstractItemModel *model)
disconnect(d->model, SIGNAL(dataChanged(QModelIndex,QModelIndex)),
this, SLOT(_q_dataChanged(QModelIndex,QModelIndex)));
disconnect(d->model, SIGNAL(rowsAboutToBeInserted(QModelIndex,int,int)),
- this, SLOT(_q_rowsAboutToBeInserted(QModelIndex,int,int)));
+ this, SLOT(_q_updateIndexBeforeChange()));
disconnect(d->model, SIGNAL(rowsInserted(QModelIndex,int,int)),
this, SLOT(_q_rowsInserted(QModelIndex,int,int)));
disconnect(d->model, SIGNAL(rowsAboutToBeRemoved(QModelIndex,int,int)),
- this, SLOT(_q_rowsAboutToBeRemoved(QModelIndex,int,int)));
+ this, SLOT(_q_updateIndexBeforeChange()));
disconnect(d->model, SIGNAL(rowsRemoved(QModelIndex,int,int)),
this, SLOT(_q_rowsRemoved(QModelIndex,int,int)));
disconnect(d->model, SIGNAL(destroyed()),
this, SLOT(_q_modelDestroyed()));
+ disconnect(d->model, SIGNAL(modelAboutToBeReset()),
+ this, SLOT(_q_updateIndexBeforeChange()));
disconnect(d->model, SIGNAL(modelReset()),
this, SLOT(_q_modelReset()));
if (d->model->QObject::parent() == this)
@@ -1888,15 +1869,17 @@ void QComboBox::setModel(QAbstractItemModel *model)
connect(model, SIGNAL(dataChanged(QModelIndex,QModelIndex)),
this, SLOT(_q_dataChanged(QModelIndex,QModelIndex)));
connect(model, SIGNAL(rowsAboutToBeInserted(QModelIndex,int,int)),
- this, SLOT(_q_rowsAboutToBeInserted(QModelIndex,int,int)));
+ this, SLOT(_q_updateIndexBeforeChange()));
connect(model, SIGNAL(rowsInserted(QModelIndex,int,int)),
this, SLOT(_q_rowsInserted(QModelIndex,int,int)));
connect(model, SIGNAL(rowsAboutToBeRemoved(QModelIndex,int,int)),
- this, SLOT(_q_rowsAboutToBeRemoved(QModelIndex,int,int)));
+ this, SLOT(_q_updateIndexBeforeChange()));
connect(model, SIGNAL(rowsRemoved(QModelIndex,int,int)),
this, SLOT(_q_rowsRemoved(QModelIndex,int,int)));
connect(model, SIGNAL(destroyed()),
this, SLOT(_q_modelDestroyed()));
+ connect(model, SIGNAL(modelAboutToBeReset()),
+ this, SLOT(_q_updateIndexBeforeChange()));
connect(model, SIGNAL(modelReset()),
this, SLOT(_q_modelReset()));
@@ -2452,15 +2435,15 @@ void QComboBox::showPopup()
#if defined(Q_WS_WIN) && !defined(QT_NO_EFFECTS)
bool scrollDown = (listRect.topLeft() == below);
- if (QApplication::isEffectEnabled(Qt::UI_AnimateCombo)
+ if (QApplication::isEffectEnabled(Qt::UI_AnimateCombo)
&& !style->styleHint(QStyle::SH_ComboBox_Popup, &opt, this) && !window()->testAttribute(Qt::WA_DontShowOnScreen))
qScrollEffect(container, scrollDown ? QEffects::DownScroll : QEffects::UpScroll, 150);
#endif
// Don't disable updates on Mac OS X. Windows are displayed immediately on this platform,
// which means that the window will be visible before the call to container->show() returns.
-// If updates are disabled at this point we'll miss our chance at painting the popup
-// menu before it's shown, causing flicker since the window then displays the standard gray
+// If updates are disabled at this point we'll miss our chance at painting the popup
+// menu before it's shown, causing flicker since the window then displays the standard gray
// background.
#ifndef Q_WS_MAC
container->setUpdatesEnabled(false);
diff --git a/src/gui/widgets/qcombobox.h b/src/gui/widgets/qcombobox.h
index 6a85096..0652594 100644
--- a/src/gui/widgets/qcombobox.h
+++ b/src/gui/widgets/qcombobox.h
@@ -52,7 +52,6 @@ QT_BEGIN_HEADER
QT_BEGIN_NAMESPACE
QT_MODULE(Gui)
-
#ifndef QT_NO_COMBOBOX
class QAbstractItemView;
@@ -308,9 +307,8 @@ private:
Q_PRIVATE_SLOT(d_func(), void _q_returnPressed())
Q_PRIVATE_SLOT(d_func(), void _q_resetButton())
Q_PRIVATE_SLOT(d_func(), void _q_dataChanged(const QModelIndex &, const QModelIndex &))
- Q_PRIVATE_SLOT(d_func(), void _q_rowsAboutToBeInserted(const QModelIndex & parent, int start, int end))
+ Q_PRIVATE_SLOT(d_func(), void _q_updateIndexBeforeChange())
Q_PRIVATE_SLOT(d_func(), void _q_rowsInserted(const QModelIndex & parent, int start, int end))
- Q_PRIVATE_SLOT(d_func(), void _q_rowsAboutToBeRemoved(const QModelIndex & parent, int start, int end))
Q_PRIVATE_SLOT(d_func(), void _q_rowsRemoved(const QModelIndex & parent, int start, int end))
Q_PRIVATE_SLOT(d_func(), void _q_modelDestroyed())
Q_PRIVATE_SLOT(d_func(), void _q_modelReset())
diff --git a/src/gui/widgets/qcombobox_p.h b/src/gui/widgets/qcombobox_p.h
index f7458c4..fe42c47 100644
--- a/src/gui/widgets/qcombobox_p.h
+++ b/src/gui/widgets/qcombobox_p.h
@@ -231,7 +231,6 @@ public:
public Q_SLOTS:
void scrollItemView(int action);
void updateScrollers();
- void setCurrentIndex(const QModelIndex &index);
void viewDestroyed();
protected:
@@ -357,9 +356,8 @@ public:
#endif
void _q_resetButton();
void _q_dataChanged(const QModelIndex &topLeft, const QModelIndex &bottomRight);
- void _q_rowsAboutToBeInserted(const QModelIndex & parent, int start, int end);
+ void _q_updateIndexBeforeChange();
void _q_rowsInserted(const QModelIndex & parent, int start, int end);
- void _q_rowsAboutToBeRemoved(const QModelIndex & parent, int start, int end);
void _q_rowsRemoved(const QModelIndex & parent, int start, int end);
void updateArrow(QStyle::StateFlag state);
bool updateHoverControl(const QPoint &pos);
diff --git a/src/gui/widgets/qdockarealayout.cpp b/src/gui/widgets/qdockarealayout.cpp
index 5a0a9d4..dffec11 100644
--- a/src/gui/widgets/qdockarealayout.cpp
+++ b/src/gui/widgets/qdockarealayout.cpp
@@ -1556,9 +1556,10 @@ void QDockAreaLayoutInfo::apply(bool animate)
}
}
}
-
+#ifndef QT_NO_TABBAR
if (sep == 1)
updateSeparatorWidgets();
+#endif //QT_NO_TABBAR
}
static void paintSep(QPainter *p, QWidget *w, const QRect &r, Qt::Orientation o, bool mouse_over)
@@ -2008,13 +2009,14 @@ bool QDockAreaLayoutInfo::restoreState(QDataStream &stream, QList<QDockWidget*>
updateTabBar();
setCurrentTabId(tabId(item_list.at(index)));
}
-#endif
if (!testing && sep == 1)
updateSeparatorWidgets();
+#endif
return true;
}
+#ifndef QT_NO_TABBAR
void QDockAreaLayoutInfo::updateSeparatorWidgets() const
{
if (tabbed) {
@@ -2065,6 +2067,7 @@ void QDockAreaLayoutInfo::updateSeparatorWidgets() const
separatorWidgets.resize(j);
Q_ASSERT(separatorWidgets.size() == j);
}
+#endif //QT_NO_TABBAR
#ifndef QT_NO_TABBAR
void QDockAreaLayoutInfo::updateTabBar() const
@@ -2259,7 +2262,7 @@ QRect QDockAreaLayoutInfo::tabContentRect() const
** QDockAreaLayout
*/
-QDockAreaLayout::QDockAreaLayout(QMainWindow *win)
+QDockAreaLayout::QDockAreaLayout(QMainWindow *win) : fallbackToSizeHints(true)
{
mainWindow = win;
sep = win->style()->pixelMetric(QStyle::PM_DockWidgetSeparatorExtent, 0, win);
@@ -2346,6 +2349,9 @@ bool QDockAreaLayout::restoreState(QDataStream &stream, const QList<QDockWidget*
for (int i = 0; i < 4; ++i)
corners[i] = static_cast<Qt::DockWidgetArea>(cornerData[i]);
}
+
+ if (!testing)
+ fallbackToSizeHints = false;
}
return ok;
@@ -2582,7 +2588,7 @@ void QDockAreaLayout::getGrid(QVector<QLayoutStruct> *_ver_struct_list,
{
QSize center_hint(0, 0);
QSize center_min(0, 0);
- bool have_central = centralWidgetItem != 0 && !centralWidgetItem->isEmpty();
+ const bool have_central = centralWidgetItem != 0 && !centralWidgetItem->isEmpty();
if (have_central) {
center_hint = centralWidgetRect.size();
if (!center_hint.isValid())
@@ -2601,33 +2607,35 @@ void QDockAreaLayout::getGrid(QVector<QLayoutStruct> *_ver_struct_list,
center_rect.setBottom(rect.bottom() - docks[QInternal::BottomDock].rect.height() - sep);
QSize left_hint = docks[QInternal::LeftDock].size();
- if (left_hint.isNull())
+ if (left_hint.isNull() || fallbackToSizeHints)
left_hint = docks[QInternal::LeftDock].sizeHint();
QSize left_min = docks[QInternal::LeftDock].minimumSize();
QSize left_max = docks[QInternal::LeftDock].maximumSize();
left_hint = left_hint.boundedTo(left_max).expandedTo(left_min);
QSize right_hint = docks[QInternal::RightDock].size();
- if (right_hint.isNull())
+ if (right_hint.isNull() || fallbackToSizeHints)
right_hint = docks[QInternal::RightDock].sizeHint();
QSize right_min = docks[QInternal::RightDock].minimumSize();
QSize right_max = docks[QInternal::RightDock].maximumSize();
right_hint = right_hint.boundedTo(right_max).expandedTo(right_min);
QSize top_hint = docks[QInternal::TopDock].size();
- if (top_hint.isNull())
+ if (top_hint.isNull() || fallbackToSizeHints)
top_hint = docks[QInternal::TopDock].sizeHint();
QSize top_min = docks[QInternal::TopDock].minimumSize();
QSize top_max = docks[QInternal::TopDock].maximumSize();
top_hint = top_hint.boundedTo(top_max).expandedTo(top_min);
QSize bottom_hint = docks[QInternal::BottomDock].size();
- if (bottom_hint.isNull())
+ if (bottom_hint.isNull() || fallbackToSizeHints)
bottom_hint = docks[QInternal::BottomDock].sizeHint();
QSize bottom_min = docks[QInternal::BottomDock].minimumSize();
QSize bottom_max = docks[QInternal::BottomDock].maximumSize();
bottom_hint = bottom_hint.boundedTo(bottom_max).expandedTo(bottom_min);
+ fallbackToSizeHints = !have_central;
+
if (_ver_struct_list != 0) {
QVector<QLayoutStruct> &ver_struct_list = *_ver_struct_list;
ver_struct_list.resize(3);
@@ -3073,9 +3081,10 @@ void QDockAreaLayout::apply(bool animate)
widgetAnimator.animate(centralWidgetItem->widget(), centralWidgetRect,
animate);
}
-
+#ifndef QT_NO_TABBAR
if (sep == 1)
updateSeparatorWidgets();
+#endif //QT_NO_TABBAR
}
void QDockAreaLayout::paintSeparators(QPainter *p, QWidget *widget,
@@ -3153,6 +3162,7 @@ int QDockAreaLayout::separatorMove(const QList<int> &separator, const QPoint &or
return delta;
}
+#ifndef QT_NO_TABBAR
// Sets the correct positions for the seperator widgets
// Allocates new sepearator widgets with getSeparatorWidget
void QDockAreaLayout::updateSeparatorWidgets() const
@@ -3186,6 +3196,7 @@ void QDockAreaLayout::updateSeparatorWidgets() const
separatorWidgets.resize(j);
}
+#endif //QT_NO_TABBAR
QLayoutItem *QDockAreaLayout::itemAt(int *x, int index) const
{
@@ -3238,7 +3249,6 @@ QSet<QTabBar*> QDockAreaLayout::usedTabBars() const
}
return result;
}
-#endif
// Returns the set of all used separator widgets
QSet<QWidget*> QDockAreaLayout::usedSeparatorWidgets() const
@@ -3253,6 +3263,7 @@ QSet<QWidget*> QDockAreaLayout::usedSeparatorWidgets() const
}
return result;
}
+#endif
QRect QDockAreaLayout::gapRect(const QList<int> &path) const
{
diff --git a/src/gui/widgets/qdockarealayout_p.h b/src/gui/widgets/qdockarealayout_p.h
index 99a9dbb..bd2067b 100644
--- a/src/gui/widgets/qdockarealayout_p.h
+++ b/src/gui/widgets/qdockarealayout_p.h
@@ -196,9 +196,10 @@ public:
QRect rect;
QMainWindow *mainWindow;
QList<QDockAreaLayoutItem> item_list;
-
+#ifndef QT_NO_TABBAR
void updateSeparatorWidgets() const;
QSet<QWidget*> usedSeparatorWidgets() const;
+#endif //QT_NO_TABBAR
#ifndef QT_NO_TABBAR
quintptr currentTabId() const;
@@ -233,6 +234,7 @@ public:
QDockAreaLayout(QMainWindow *win);
QDockAreaLayoutInfo docks[4];
int sep; // separator extent
+ bool fallbackToSizeHints; //determines if we should use the sizehint for the dock areas (true until the layout is restored or the central widget is set)
mutable QVector<QWidget*> separatorWidgets;
bool isValid() const;
@@ -278,7 +280,9 @@ public:
const QPoint &mouse) const;
QRegion separatorRegion() const;
int separatorMove(const QList<int> &separator, const QPoint &origin, const QPoint &dest);
+#ifndef QT_NO_TABBAR
void updateSeparatorWidgets() const;
+#endif //QT_NO_TABBAR
QLayoutItem *itemAt(int *x, int index) const;
QLayoutItem *takeAt(int *x, int index);
@@ -292,9 +296,10 @@ public:
QRect gapRect(const QList<int> &path) const;
void keepSize(QDockWidget *w);
-
+#ifndef QT_NO_TABBAR
QSet<QTabBar*> usedTabBars() const;
QSet<QWidget*> usedSeparatorWidgets() const;
+#endif //QT_NO_TABBAR
};
QT_END_NAMESPACE
diff --git a/src/gui/widgets/qdockwidget.cpp b/src/gui/widgets/qdockwidget.cpp
index a574262f..a8e2a37 100644
--- a/src/gui/widgets/qdockwidget.cpp
+++ b/src/gui/widgets/qdockwidget.cpp
@@ -456,7 +456,7 @@ int QDockWidgetLayout::titleHeight() const
int mw = q->style()->pixelMetric(QStyle::PM_DockWidgetTitleMargin, 0, q);
- return qMax(buttonHeight + 2, titleFontMetrics.lineSpacing() + 2*mw);
+ return qMax(buttonHeight + 2, titleFontMetrics.height() + 2*mw);
}
void QDockWidgetLayout::setGeometry(const QRect &geometry)
@@ -685,8 +685,6 @@ void QDockWidgetPrivate::_q_toggleTopLevel()
void QDockWidgetPrivate::initDrag(const QPoint &pos, bool nca)
{
- Q_Q(QDockWidget);
-
if (state != 0)
return;
@@ -694,8 +692,6 @@ void QDockWidgetPrivate::initDrag(const QPoint &pos, bool nca)
Q_ASSERT(win != 0);
QMainWindowLayout *layout = qobject_cast<QMainWindowLayout*>(win->layout());
Q_ASSERT(layout != 0);
- if (layout->layoutState.indexOf(q).isEmpty()) //The dock widget has not been added into the main window
- return;
if (layout->pluggingWidget != 0) // the main window is animating a docking operation
return;
@@ -1012,6 +1008,12 @@ void QDockWidgetPrivate::setWindowState(bool floating, bool unplug, const QRect
{
Q_Q(QDockWidget);
+ if (!floating && parent) {
+ QMainWindowLayout *mwlayout = qobject_cast<QMainWindowLayout *>(q->parentWidget()->layout());
+ if (!mwlayout || mwlayout->dockWidgetArea(q) == Qt::NoDockWidgetArea)
+ return; // this dockwidget can't be redocked
+ }
+
bool wasFloating = q->isFloating();
bool hidden = q->isHidden();
diff --git a/src/gui/widgets/qfontcombobox.cpp b/src/gui/widgets/qfontcombobox.cpp
index 7b39823..806db59 100644
--- a/src/gui/widgets/qfontcombobox.cpp
+++ b/src/gui/widgets/qfontcombobox.cpp
@@ -194,7 +194,7 @@ QSize QFontFamilyDelegate::sizeHint(const QStyleOptionViewItem &option,
// font.setFamily(text);
font.setPointSize(QFontInfo(font).pointSize() * 3/2);
QFontMetrics fontMetrics(font);
- return QSize(fontMetrics.width(text), fontMetrics.lineSpacing());
+ return QSize(fontMetrics.width(text), fontMetrics.height());
}
diff --git a/src/gui/widgets/qlinecontrol.cpp b/src/gui/widgets/qlinecontrol.cpp
index 7f9ff82..0fc94c9 100644
--- a/src/gui/widgets/qlinecontrol.cpp
+++ b/src/gui/widgets/qlinecontrol.cpp
@@ -401,7 +401,8 @@ void QLineControl::moveCursor(int pos, bool mark)
void QLineControl::processInputMethodEvent(QInputMethodEvent *event)
{
int priorState = 0;
- bool isGettingInput = !event->commitString().isEmpty() || !event->preeditString().isEmpty()
+ bool isGettingInput = !event->commitString().isEmpty()
+ || event->preeditString() != preeditAreaText()
|| event->replacementLength() > 0;
bool cursorPositionChanged = false;
@@ -447,8 +448,9 @@ void QLineControl::processInputMethodEvent(QInputMethodEvent *event)
cursorPositionChanged = true;
}
}
-
+#ifndef QT_NO_IM
setPreeditArea(m_cursor, event->preeditString());
+#endif //QT_NO_IM
m_preeditCursor = event->preeditString().length();
m_hideCursor = false;
QList<QTextLayout::FormatRange> formats;
diff --git a/src/gui/widgets/qlinecontrol_p.h b/src/gui/widgets/qlinecontrol_p.h
index 68898b6..f8e1a5d 100644
--- a/src/gui/widgets/qlinecontrol_p.h
+++ b/src/gui/widgets/qlinecontrol_p.h
@@ -174,8 +174,10 @@ public:
void setMaxLength(int maxLength);
int maxLength() const;
+#ifndef QT_NO_VALIDATOR
const QValidator *validator() const;
void setValidator(const QValidator *);
+#endif
#ifndef QT_NO_COMPLETER
QCompleter *completer() const;
@@ -282,7 +284,9 @@ private:
bool finishChange(int validateFromState = -1, bool update = false, bool edited = true);
+#ifndef QT_NO_VALIDATOR
QPointer<QValidator> m_validator;
+#endif
QPointer<QCompleter> m_completer;
#ifndef QT_NO_COMPLETER
bool advanceToEnabledItem(int dir);
@@ -623,6 +627,7 @@ inline int QLineControl::maxLength() const
return m_maxLength;
}
+#ifndef QT_NO_VALIDATOR
inline const QValidator *QLineControl::validator() const
{
return m_validator;
@@ -632,6 +637,7 @@ inline void QLineControl::setValidator(const QValidator *v)
{
m_validator = const_cast<QValidator*>(v);
}
+#endif
#ifndef QT_NO_COMPLETER
inline QCompleter *QLineControl::completer() const
diff --git a/src/gui/widgets/qlineedit.cpp b/src/gui/widgets/qlineedit.cpp
index 629e839..e4252b5 100644
--- a/src/gui/widgets/qlineedit.cpp
+++ b/src/gui/widgets/qlineedit.cpp
@@ -624,7 +624,7 @@ QSize QLineEdit::sizeHint() const
Q_D(const QLineEdit);
ensurePolished();
QFontMetrics fm(font());
- int h = qMax(fm.lineSpacing(), 14) + 2*d->verticalMargin
+ int h = qMax(fm.height(), 14) + 2*d->verticalMargin
+ d->topTextMargin + d->bottomTextMargin
+ d->topmargin + d->bottommargin;
int w = fm.width(QLatin1Char('x')) * 17 + 2*d->horizontalMargin
diff --git a/src/gui/widgets/qmenu.cpp b/src/gui/widgets/qmenu.cpp
index ea25901..1b5d1cd 100644
--- a/src/gui/widgets/qmenu.cpp
+++ b/src/gui/widgets/qmenu.cpp
@@ -1878,6 +1878,10 @@ void QMenu::popup(const QPoint &p, QAction *atAction)
if(snapToMouse) //position flowing left from the mouse
pos.setX(mouse.x()-size.width());
+ //if in a menubar, it should be right-aligned
+ if (qobject_cast<QMenuBar*>(d->causedPopup.widget))
+ pos.rx() -= size.width();
+
if (pos.x() < screen.left()+desktopFrame)
pos.setX(qMax(p.x(), screen.left()+desktopFrame));
if (pos.x()+size.width()-1 > screen.right()-desktopFrame)
diff --git a/src/gui/widgets/qmenubar.cpp b/src/gui/widgets/qmenubar.cpp
index f2f0722..689d2e1 100644
--- a/src/gui/widgets/qmenubar.cpp
+++ b/src/gui/widgets/qmenubar.cpp
@@ -336,30 +336,25 @@ void QMenuBarPrivate::popupAction(QAction *action, bool activateFirst)
const bool fitUp = (q->mapToGlobal(adjustedActionRect.topLeft()).y() >= popup_size.height());
const bool fitDown = (pos.y() + popup_size.height() <= screenRect.bottom());
+ const bool rtl = q->isRightToLeft();
const int actionWidth = adjustedActionRect.width();
if (!fitUp && !fitDown) { //we should shift the menu
- bool shouldShiftToRight = !q->isRightToLeft();
- if (q->isRightToLeft() && popup_size.width() > pos.x())
+ bool shouldShiftToRight = !rtl;
+ if (rtl && popup_size.width() > pos.x())
shouldShiftToRight = true;
else if (actionWidth + popup_size.width() + pos.x() > screenRect.right())
shouldShiftToRight = false;
- if (shouldShiftToRight)
- pos.rx() += actionWidth;
- else
- pos.rx() -= popup_size.width();
- } else if (q->isRightToLeft()) {
- pos.setX(pos.x()-(popup_size.width() - actionWidth));
- }
-
- if(pos.x() < screenRect.x()) {
- pos.setX(screenRect.x());
- } else {
- const int off = pos.x()+popup_size.width() - screenRect.right();
- if(off > 0)
- pos.setX(qMax(screenRect.x(), pos.x()-off));
-
+ if (shouldShiftToRight) {
+ pos.rx() += actionWidth + (rtl ? popup_size.width() : 0);
+ } else {
+ //shift to left
+ if (!rtl)
+ pos.rx() -= popup_size.width();
+ }
+ } else if (rtl) {
+ pos.rx() += actionWidth;
}
if(!defaultPopDown || (fitUp && !fitDown))
diff --git a/src/gui/widgets/qplaintextedit.cpp b/src/gui/widgets/qplaintextedit.cpp
index 22438bf..0de7421 100644
--- a/src/gui/widgets/qplaintextedit.cpp
+++ b/src/gui/widgets/qplaintextedit.cpp
@@ -357,10 +357,8 @@ void QPlainTextDocumentLayout::layoutBlock(const QTextBlock &block)
Q_D(QPlainTextDocumentLayout);
QTextDocument *doc = document();
qreal margin = doc->documentMargin();
- QFontMetrics fm(doc->defaultFont());
qreal blockMaximumWidth = 0;
- int leading = qMax(0, fm.leading());
qreal height = 0;
QTextLayout *tl = block.layout();
QTextOption option = doc->defaultTextOption();
@@ -381,9 +379,8 @@ void QPlainTextDocumentLayout::layoutBlock(const QTextBlock &block)
QTextLine line = tl->createLine();
if (!line.isValid())
break;
+ line.setLeadingIncluded(true);
line.setLineWidth(availableWidth);
-
- height += leading;
line.setPosition(QPointF(margin, height));
height += line.height();
blockMaximumWidth = qMax(blockMaximumWidth, line.naturalTextWidth() + 2*margin);
@@ -733,9 +730,6 @@ QPlainTextEditPrivate::QPlainTextEditPrivate()
backgroundVisible = false;
centerOnScroll = false;
inDrag = false;
-#ifdef Q_WS_WIN
- singleFingerPanEnabled = true;
-#endif
}
@@ -792,6 +786,9 @@ void QPlainTextEditPrivate::init(const QString &txt)
viewport->setCursor(Qt::IBeamCursor);
#endif
originalOffsetY = 0;
+#ifdef Q_WS_WIN
+ setSingleFingerPanEnabled(true);
+#endif
}
void QPlainTextEditPrivate::_q_repaintContents(const QRectF &contentsRect)
@@ -1453,6 +1450,29 @@ bool QPlainTextEdit::event(QEvent *e)
d->sendControlEvent(e);
}
#endif
+ else if (e->type() == QEvent::Gesture) {
+ QGestureEvent *ge = static_cast<QGestureEvent *>(e);
+ QPanGesture *g = static_cast<QPanGesture *>(ge->gesture(Qt::PanGesture));
+ if (g) {
+ QScrollBar *hBar = horizontalScrollBar();
+ QScrollBar *vBar = verticalScrollBar();
+ if (g->state() == Qt::GestureStarted)
+ d->originalOffsetY = vBar->value();
+ QPointF offset = g->offset();
+ if (!offset.isNull()) {
+ if (QApplication::isRightToLeft())
+ offset.rx() *= -1;
+ // QPlainTextEdit scrolls by lines only in vertical direction
+ QFontMetrics fm(document()->defaultFont());
+ int lineHeight = fm.height();
+ int newX = hBar->value() - g->lastOffset().x();
+ int newY = d->originalOffsetY - offset.y()/lineHeight;
+ hBar->setValue(newX);
+ vBar->setValue(newY);
+ }
+ }
+ return true;
+ }
return QAbstractScrollArea::event(e);
}
@@ -1602,7 +1622,6 @@ void QPlainTextEdit::keyPressEvent(QKeyEvent *e)
return;
}
}
-#endif // QT_NO_SHORTCUT
if (!(tif & Qt::TextEditable)) {
switch (e->key()) {
@@ -1630,6 +1649,7 @@ void QPlainTextEdit::keyPressEvent(QKeyEvent *e)
}
return;
}
+#endif // QT_NO_SHORTCUT
d->sendControlEvent(e);
#ifdef QT_KEYPAD_NAVIGATION
@@ -2932,30 +2952,6 @@ QAbstractTextDocumentLayout::PaintContext QPlainTextEdit::getPaintContext() cons
(\a available is true) or unavailable (\a available is false).
*/
-//void QPlainTextEditPrivate::_q_gestureTriggered()
-//{
-// Q_Q(QPlainTextEdit);
-// QPanGesture *g = qobject_cast<QPanGesture*>(q->sender());
-// if (!g)
-// return;
-// QScrollBar *hBar = q->horizontalScrollBar();
-// QScrollBar *vBar = q->verticalScrollBar();
-// if (g->state() == Qt::GestureStarted)
-// originalOffsetY = vBar->value();
-// QSizeF totalOffset = g->totalOffset();
-// if (!totalOffset.isNull()) {
-// if (QApplication::isRightToLeft())
-// totalOffset.rwidth() *= -1;
-// // QPlainTextEdit scrolls by lines only in vertical direction
-// QFontMetrics fm(q->document()->defaultFont());
-// int lineHeight = fm.height();
-// int newX = hBar->value() - g->lastOffset().width();
-// int newY = originalOffsetY - totalOffset.height()/lineHeight;
-// hbar->setValue(newX);
-// vbar->setValue(newY);
-// }
-//}
-
QT_END_NAMESPACE
#include "moc_qplaintextedit.cpp"
diff --git a/src/gui/widgets/qsplitter.cpp b/src/gui/widgets/qsplitter.cpp
index e3121ae..520a802 100644
--- a/src/gui/widgets/qsplitter.cpp
+++ b/src/gui/widgets/qsplitter.cpp
@@ -360,13 +360,26 @@ void QSplitterPrivate::recalc(bool update)
before a hidden widget must be hidden.
*/
bool first = true;
+ bool allInvisible = n != 0;
for (int i = 0; i < n ; ++i) {
QSplitterLayoutStruct *s = list.at(i);
- s->handle->setHidden(first || s->widget->isHidden());
- if (!s->widget->isHidden())
+ bool widgetHidden = s->widget->isHidden();
+ if (allInvisible && !widgetHidden && !s->collapsed)
+ allInvisible = false;
+ s->handle->setHidden(first || widgetHidden);
+ if (!widgetHidden)
first = false;
}
+ if (allInvisible)
+ for (int i = 0; i < n ; ++i) {
+ QSplitterLayoutStruct *s = list.at(i);
+ if (!s->widget->isHidden()) {
+ s->collapsed = false;
+ break;
+ }
+ }
+
int fi = 2 * q->frameWidth();
int maxl = fi;
int minl = fi;
diff --git a/src/gui/widgets/qtabbar.cpp b/src/gui/widgets/qtabbar.cpp
index 6c9761c..3935c55 100644
--- a/src/gui/widgets/qtabbar.cpp
+++ b/src/gui/widgets/qtabbar.cpp
@@ -1694,6 +1694,9 @@ void QTabBar::mousePressEvent(QMouseEvent *event)
d->moveTabFinished(d->pressedIndex);
d->pressedIndex = d->indexAtPos(event->pos());
+#ifdef Q_WS_MAC
+ d->previousPressedIndex = d->pressedIndex;
+#endif
if (d->validIndex(d->pressedIndex)) {
QStyleOptionTabBarBaseV2 optTabBase;
optTabBase.init(this);
@@ -1774,6 +1777,17 @@ void QTabBar::mouseMoveEvent(QMouseEvent *event)
update();
}
+#ifdef Q_WS_MAC
+ } else if (!d->documentMode && event->buttons() == Qt::LeftButton && d->previousPressedIndex != -1) {
+ int newPressedIndex = d->indexAtPos(event->pos());
+ if (d->pressedIndex == -1 && d->previousPressedIndex == newPressedIndex) {
+ d->pressedIndex = d->previousPressedIndex;
+ update(tabRect(d->pressedIndex));
+ } else if(d->pressedIndex != newPressedIndex) {
+ d->pressedIndex = -1;
+ update(tabRect(d->previousPressedIndex));
+ }
+#endif
}
if (event->buttons() != Qt::LeftButton) {
@@ -1798,6 +1812,7 @@ void QTabBarPrivate::setupMovableTab()
QPixmap grabImage(grabRect.size());
grabImage.fill(Qt::transparent);
QStylePainter p(&grabImage, q);
+ p.initFrom(q);
QStyleOptionTabV3 tab;
q->initStyleOption(&tab, pressedIndex);
@@ -1865,7 +1880,9 @@ void QTabBar::mouseReleaseEvent(QMouseEvent *event)
event->ignore();
return;
}
-
+#ifdef Q_WS_MAC
+ d->previousPressedIndex = -1;
+#endif
if (d->movable && d->dragInProgress && d->validIndex(d->pressedIndex)) {
int length = d->tabList[d->pressedIndex].dragOffset;
int width = verticalTabs(d->shape)
diff --git a/src/gui/widgets/qtabbar_p.h b/src/gui/widgets/qtabbar_p.h
index 494a340..9f3285b 100644
--- a/src/gui/widgets/qtabbar_p.h
+++ b/src/gui/widgets/qtabbar_p.h
@@ -77,7 +77,11 @@ public:
:currentIndex(-1), pressedIndex(-1), shape(QTabBar::RoundedNorth), layoutDirty(false),
drawBase(true), scrollOffset(0), expanding(true), closeButtonOnTabs(false),
selectionBehaviorOnRemove(QTabBar::SelectRightTab), paintWithOffsets(true), movable(false),
- dragInProgress(false), documentMode(false), movingTab(0) {}
+ dragInProgress(false), documentMode(false), movingTab(0)
+#ifdef Q_WS_MAC
+ , previousPressedIndex(-1)
+#endif
+ {}
int currentIndex;
int pressedIndex;
@@ -195,7 +199,9 @@ public:
bool documentMode;
QWidget *movingTab;
-
+#ifdef Q_WS_MAC
+ int previousPressedIndex;
+#endif
// shared by tabwidget and qtabbar
static void initStyleBaseOption(QStyleOptionTabBarBaseV2 *optTabBase, QTabBar *tabbar, QSize size)
{
diff --git a/src/gui/widgets/qtabwidget.cpp b/src/gui/widgets/qtabwidget.cpp
index 9aeb033..d22bd54 100644
--- a/src/gui/widgets/qtabwidget.cpp
+++ b/src/gui/widgets/qtabwidget.cpp
@@ -313,7 +313,16 @@ void QTabWidget::initStyleOption(QStyleOptionTabWidgetFrame *option) const
: QTabBar::TriangularEast;
break;
}
+
option->tabBarSize = t;
+
+ if (QStyleOptionTabWidgetFrameV2 *tabframe = qstyleoption_cast<QStyleOptionTabWidgetFrameV2*>(option)) {
+ QRect tbRect = tabBar()->geometry();
+ QRect selectedTabRect = tabBar()->tabRect(tabBar()->currentIndex());
+ tabframe->tabBarRect = tbRect;
+ selectedTabRect.moveTopLeft(selectedTabRect.topLeft() + tbRect.topLeft());
+ tabframe->selectedTabRect = selectedTabRect;
+ }
}
/*!
@@ -756,7 +765,7 @@ void QTabWidget::setUpLayout(bool onlyCheck)
if (onlyCheck && !d->dirty)
return; // nothing to do
- QStyleOptionTabWidgetFrame option;
+ QStyleOptionTabWidgetFrameV2 option;
initStyleOption(&option);
// this must be done immediately, because QWidgetItem relies on it (even if !isVisible())
@@ -1167,8 +1176,8 @@ void QTabWidget::tabRemoved(int index)
void QTabWidget::paintEvent(QPaintEvent *)
{
Q_D(QTabWidget);
- QStylePainter p(this);
if (documentMode()) {
+ QStylePainter p(this, tabBar());
if (QWidget *w = cornerWidget(Qt::TopLeftCorner)) {
QStyleOptionTabBarBaseV2 opt;
QTabBarPrivate::initStyleBaseOption(&opt, tabBar(), w->size());
@@ -1185,8 +1194,9 @@ void QTabWidget::paintEvent(QPaintEvent *)
}
return;
}
+ QStylePainter p(this);
- QStyleOptionTabWidgetFrame opt;
+ QStyleOptionTabWidgetFrameV2 opt;
initStyleOption(&opt);
opt.rect = d->panelRect;
p.drawPrimitive(QStyle::PE_FrameTabWidget, opt);
diff --git a/src/gui/widgets/qtextedit.cpp b/src/gui/widgets/qtextedit.cpp
index f477fee..88502e3 100644
--- a/src/gui/widgets/qtextedit.cpp
+++ b/src/gui/widgets/qtextedit.cpp
@@ -116,9 +116,6 @@ QTextEditPrivate::QTextEditPrivate()
preferRichText = false;
showCursorOnInitialShow = true;
inDrag = false;
-#ifdef Q_WS_WIN
- setSingleFingerPanEnabled(true);
-#endif
}
void QTextEditPrivate::createAutoBulletList()
@@ -186,6 +183,9 @@ void QTextEditPrivate::init(const QString &html)
#ifndef QT_NO_CURSOR
viewport->setCursor(Qt::IBeamCursor);
#endif
+#ifdef Q_WS_WIN
+ setSingleFingerPanEnabled(true);
+#endif
}
void QTextEditPrivate::_q_repaintContents(const QRectF &contentsRect)
@@ -1246,7 +1246,6 @@ void QTextEdit::keyPressEvent(QKeyEvent *e)
return;
}
}
-#endif // QT_NO_SHORTCUT
if (!(tif & Qt::TextEditable)) {
switch (e->key()) {
@@ -1274,6 +1273,7 @@ void QTextEdit::keyPressEvent(QKeyEvent *e)
}
return;
}
+#endif // QT_NO_SHORTCUT
{
QTextCursor cursor = d->control->textCursor();
diff --git a/src/gui/widgets/qtoolbar.cpp b/src/gui/widgets/qtoolbar.cpp
index 40c0b02..5596ca4 100644
--- a/src/gui/widgets/qtoolbar.cpp
+++ b/src/gui/widgets/qtoolbar.cpp
@@ -183,6 +183,9 @@ void QToolBarPrivate::setWindowState(bool floating, bool unplug, const QRect &re
if (visible)
q->show();
+
+ if (floating != wasFloating)
+ emit q->topLevelChanged(floating);
}
void QToolBarPrivate::initDrag(const QPoint &pos)
@@ -518,6 +521,19 @@ void QToolBarPrivate::plug(const QRect &r)
*/
/*!
+ \since 4.6
+
+ \fn void QToolBar::topLevelChanged(bool topLevel)
+
+ This signal is emitted when the \l floating property changes.
+ The \a topLevel parameter is true if the toolbar is now floating;
+ otherwise it is false.
+
+ \sa isWindow()
+*/
+
+
+/*!
Constructs a QToolBar with the given \a parent.
*/
QToolBar::QToolBar(QWidget *parent)
diff --git a/src/gui/widgets/qtoolbar.h b/src/gui/widgets/qtoolbar.h
index a084673..a1a24f0 100644
--- a/src/gui/widgets/qtoolbar.h
+++ b/src/gui/widgets/qtoolbar.h
@@ -142,6 +142,7 @@ Q_SIGNALS:
void orientationChanged(Qt::Orientation orientation);
void iconSizeChanged(const QSize &iconSize);
void toolButtonStyleChanged(Qt::ToolButtonStyle toolButtonStyle);
+ void topLevelChanged(bool topLevel);
protected:
void actionEvent(QActionEvent *event);
diff --git a/src/gui/widgets/qwidgetanimator.cpp b/src/gui/widgets/qwidgetanimator.cpp
index f440961..bdd3c75 100644
--- a/src/gui/widgets/qwidgetanimator.cpp
+++ b/src/gui/widgets/qwidgetanimator.cpp
@@ -105,7 +105,9 @@ void QWidgetAnimator::animate(QWidget *widget, const QRect &_final_geometry, boo
#else
//we do it in one shot
widget->setGeometry(final_geometry);
+#ifndef QT_NO_MAINWINDOW
m_mainWindowLayout->animationFinished(widget);
+#endif //QT_NO_MAINWINDOW
#endif //QT_NO_ANIMATION
}
diff --git a/src/multimedia/video/qabstractvideosurface.cpp b/src/multimedia/video/qabstractvideosurface.cpp
index a4f51a2..33dc815 100644
--- a/src/multimedia/video/qabstractvideosurface.cpp
+++ b/src/multimedia/video/qabstractvideosurface.cpp
@@ -57,8 +57,8 @@ QT_BEGIN_NAMESPACE
of each frame is compatible with a stream format supplied when starting a presentation.
A list of pixel formats a surface can present is given by the supportedPixelFormats() function,
- and the isFormatSupported() function will test if a complete video format is supported. In
- some cases when a format is not supported; isFormatSupported() may suggest a similar format.
+ and the isFormatSupported() function will test if a video surface format is supported. If a
+ format is not supported the nearestFormat() function may be able to suggest a similar format.
For example if a surface supports fixed set of resolutions it may suggest the smallest
supported resolution that contains the proposed resolution.
@@ -118,21 +118,37 @@ QAbstractVideoSurface::~QAbstractVideoSurface()
*/
/*!
- Tests a video \a format to determine if a surface can accept it. If the format isn't supported
- the surface may suggest a \a similar format that is supported.
+ Tests a video surface \a format to determine if a surface can accept it.
Returns true if the format is supported by the surface, and false otherwise.
*/
-bool QAbstractVideoSurface::isFormatSupported(
- const QVideoSurfaceFormat &format, QVideoSurfaceFormat *similar) const
+bool QAbstractVideoSurface::isFormatSupported(const QVideoSurfaceFormat &format) const
{
- Q_UNUSED(similar);
-
return supportedPixelFormats(format.handleType()).contains(format.pixelFormat());
}
/*!
+ Returns a supported video surface format that is similar to \a format.
+
+ A similar surface format is one that has the same \l {QVideoSurfaceFormat::pixelFormat()}{pixel
+ format} and \l {QVideoSurfaceFormat::handleType()}{handle type} but differs in some of the other
+ properties. For example if there are restrictions on the \l {QVideoSurfaceFormat::frameSize()}
+ {frame sizes} a video surface can accept it may suggest a format with a larger frame size and
+ a \l {QVideoSurfaceFormat::viewport()}{viewport} the size of the original frame size.
+
+ If the format is already supported it will be returned unchanged, or if there is no similar
+ supported format an invalid format will be returned.
+*/
+
+QVideoSurfaceFormat QAbstractVideoSurface::nearestFormat(const QVideoSurfaceFormat &format) const
+{
+ return isFormatSupported(format)
+ ? format
+ : QVideoSurfaceFormat();
+}
+
+/*!
\fn QAbstractVideoSurface::supportedFormatsChanged()
Signals that the set of formats supported by a video surface has changed.
@@ -162,23 +178,23 @@ QVideoSurfaceFormat QAbstractVideoSurface::surfaceFormat() const
Returns true if the surface was started, and false if an error occurred.
- \sa isStarted(), stop()
+ \sa isActive(), stop()
*/
bool QAbstractVideoSurface::start(const QVideoSurfaceFormat &format)
{
Q_D(QAbstractVideoSurface);
- bool wasStarted = d->started;
+ bool wasActive = d->active;
- d->started = true;
+ d->active = true;
d->format = format;
d->error = NoError;
emit surfaceFormatChanged(d->format);
- if (!wasStarted)
- emit startedChanged(true);
+ if (!wasActive)
+ emit activeChanged(true);
return true;
}
@@ -186,18 +202,18 @@ bool QAbstractVideoSurface::start(const QVideoSurfaceFormat &format)
/*!
Stops a video surface presenting frames and releases any resources acquired in start().
- \sa isStarted(), start()
+ \sa isActive(), start()
*/
void QAbstractVideoSurface::stop()
{
Q_D(QAbstractVideoSurface);
- if (d->started) {
+ if (d->active) {
d->format = QVideoSurfaceFormat();
- d->started = false;
+ d->active = false;
- emit startedChanged(false);
+ emit activeChanged(false);
emit surfaceFormatChanged(d->format);
}
}
@@ -208,17 +224,17 @@ void QAbstractVideoSurface::stop()
Returns true if the surface has been started, and false otherwise.
*/
-bool QAbstractVideoSurface::isStarted() const
+bool QAbstractVideoSurface::isActive() const
{
- return d_func()->started;
+ return d_func()->active;
}
/*!
- \fn QAbstractVideoSurface::startedChanged(bool started)
+ \fn QAbstractVideoSurface::activeChanged(bool active)
- Signals that the \a started state of a video surface has changed.
+ Signals that the \a active state of a video surface has changed.
- \sa isStarted(), start(), stop()
+ \sa isActive(), start(), stop()
*/
/*!
diff --git a/src/multimedia/video/qabstractvideosurface.h b/src/multimedia/video/qabstractvideosurface.h
index 3823eeb..58d06f1 100644
--- a/src/multimedia/video/qabstractvideosurface.h
+++ b/src/multimedia/video/qabstractvideosurface.h
@@ -75,22 +75,22 @@ public:
virtual QList<QVideoFrame::PixelFormat> supportedPixelFormats(
QAbstractVideoBuffer::HandleType handleType = QAbstractVideoBuffer::NoHandle) const = 0;
- virtual bool isFormatSupported(
- const QVideoSurfaceFormat &format, QVideoSurfaceFormat *similar = 0) const;
+ virtual bool isFormatSupported(const QVideoSurfaceFormat &format) const;
+ virtual QVideoSurfaceFormat nearestFormat(const QVideoSurfaceFormat &format) const;
QVideoSurfaceFormat surfaceFormat() const;
virtual bool start(const QVideoSurfaceFormat &format);
virtual void stop();
- bool isStarted() const;
+ bool isActive() const;
virtual bool present(const QVideoFrame &frame) = 0;
Error error() const;
Q_SIGNALS:
- void startedChanged(bool started);
+ void activeChanged(bool active);
void surfaceFormatChanged(const QVideoSurfaceFormat &format);
void supportedFormatsChanged();
diff --git a/src/multimedia/video/qabstractvideosurface_p.h b/src/multimedia/video/qabstractvideosurface_p.h
index 3142b78..8675fac 100644
--- a/src/multimedia/video/qabstractvideosurface_p.h
+++ b/src/multimedia/video/qabstractvideosurface_p.h
@@ -64,14 +64,13 @@ class QAbstractVideoSurfacePrivate : public QObjectPrivate
public:
QAbstractVideoSurfacePrivate()
: error(QAbstractVideoSurface::NoError)
- , started(false)
+ , active(false)
{
}
mutable QAbstractVideoSurface::Error error;
QVideoSurfaceFormat format;
- bool started;
-
+ bool active;
};
QT_END_NAMESPACE
diff --git a/src/multimedia/video/qvideoframe.cpp b/src/multimedia/video/qvideoframe.cpp
index c884da0..ae38e82 100644
--- a/src/multimedia/video/qvideoframe.cpp
+++ b/src/multimedia/video/qvideoframe.cpp
@@ -59,7 +59,7 @@ public:
: startTime(-1)
, endTime(-1)
, data(0)
- , numBytes(0)
+ , mappedBytes(0)
, bytesPerLine(0)
, pixelFormat(QVideoFrame::Format_Invalid)
, fieldType(QVideoFrame::ProgressiveFrame)
@@ -72,7 +72,7 @@ public:
, startTime(-1)
, endTime(-1)
, data(0)
- , numBytes(0)
+ , mappedBytes(0)
, bytesPerLine(0)
, pixelFormat(format)
, fieldType(QVideoFrame::ProgressiveFrame)
@@ -89,7 +89,7 @@ public:
qint64 startTime;
qint64 endTime;
uchar *data;
- int numBytes;
+ int mappedBytes;
int bytesPerLine;
QVideoFrame::PixelFormat pixelFormat;
QVideoFrame::FieldType fieldType;
@@ -109,7 +109,7 @@ private:
The contents of a video frame can be mapped to memory using the map() function. While
mapped the video data can accessed using the bits() function which returns a pointer to a
- buffer, the total size of which is given by the numBytes(), and the size of each line is given
+ buffer, the total size of which is given by the mappedBytes(), and the size of each line is given
by bytesPerLine(). The return value of the handle() function may be used to access frame data
using the internal buffer's native APIs.
@@ -304,12 +304,12 @@ QVideoFrame::QVideoFrame(int bytes, const QSize &size, int bytesPerLine, PixelFo
\note This will construct an invalid video frame if there is no frame type equivalent to the
image format.
- \sa equivalentPixelFormat()
+ \sa pixelFormatFromImageFormat()
*/
QVideoFrame::QVideoFrame(const QImage &image)
: d(new QVideoFramePrivate(
- image.size(), equivalentPixelFormat(image.format())))
+ image.size(), pixelFormatFromImageFormat(image.format())))
{
if (d->pixelFormat != Format_Invalid)
d->buffer = new QImageVideoBuffer(image);
@@ -510,9 +510,9 @@ bool QVideoFrame::map(QAbstractVideoBuffer::MapMode mode)
{
if (d->buffer != 0 && d->data == 0) {
Q_ASSERT(d->bytesPerLine == 0);
- Q_ASSERT(d->numBytes == 0);
+ Q_ASSERT(d->mappedBytes == 0);
- d->data = d->buffer->map(mode, &d->numBytes, &d->bytesPerLine);
+ d->data = d->buffer->map(mode, &d->mappedBytes, &d->bytesPerLine);
return d->data != 0;
}
@@ -532,7 +532,7 @@ bool QVideoFrame::map(QAbstractVideoBuffer::MapMode mode)
void QVideoFrame::unmap()
{
if (d->data != 0) {
- d->numBytes = 0;
+ d->mappedBytes = 0;
d->bytesPerLine = 0;
d->data = 0;
@@ -548,7 +548,7 @@ void QVideoFrame::unmap()
This value is only valid while the frame data is \l {map()}{mapped}.
- \sa bits(), map(), numBytes()
+ \sa bits(), map(), mappedBytes()
*/
int QVideoFrame::bytesPerLine() const
@@ -561,7 +561,7 @@ int QVideoFrame::bytesPerLine() const
This value is only valid while the frame data is \l {map()}{mapped}.
- \sa map(), numBytes(), bytesPerLine()
+ \sa map(), mappedBytes(), bytesPerLine()
*/
uchar *QVideoFrame::bits()
@@ -574,7 +574,7 @@ uchar *QVideoFrame::bits()
This value is only valid while the frame data is \l {map()}{mapped}.
- \sa map(), numBytes(), bytesPerLine()
+ \sa map(), mappedBytes(), bytesPerLine()
*/
const uchar *QVideoFrame::bits() const
@@ -583,16 +583,16 @@ const uchar *QVideoFrame::bits() const
}
/*!
- Returns the number of bytes occupied by the frame data.
+ Returns the number of bytes occupied by the mapped frame data.
This value is only valid while the frame data is \l {map()}{mapped}.
\sa map()
*/
-int QVideoFrame::numBytes() const
+int QVideoFrame::mappedBytes() const
{
- return d->numBytes;
+ return d->mappedBytes;
}
/*!
@@ -649,7 +649,7 @@ void QVideoFrame::setEndTime(qint64 time)
format QVideoFrame::InvalidType is returned instead.
*/
-QVideoFrame::PixelFormat QVideoFrame::equivalentPixelFormat(QImage::Format format)
+QVideoFrame::PixelFormat QVideoFrame::pixelFormatFromImageFormat(QImage::Format format)
{
switch (format) {
case QImage::Format_Invalid:
@@ -689,7 +689,7 @@ QVideoFrame::PixelFormat QVideoFrame::equivalentPixelFormat(QImage::Format forma
format QImage::Format_Invalid is returned instead.
*/
-QImage::Format QVideoFrame::equivalentImageFormat(PixelFormat format)
+QImage::Format QVideoFrame::imageFormatFromPixelFormat(PixelFormat format)
{
switch (format) {
case Format_Invalid:
diff --git a/src/multimedia/video/qvideoframe.h b/src/multimedia/video/qvideoframe.h
index e1b46a8..d08008b 100644
--- a/src/multimedia/video/qvideoframe.h
+++ b/src/multimedia/video/qvideoframe.h
@@ -141,7 +141,7 @@ public:
uchar *bits();
const uchar *bits() const;
- int numBytes() const;
+ int mappedBytes() const;
QVariant handle() const;
@@ -151,8 +151,8 @@ public:
qint64 endTime() const;
void setEndTime(qint64 time);
- static PixelFormat equivalentPixelFormat(QImage::Format format);
- static QImage::Format equivalentImageFormat(PixelFormat format);
+ static PixelFormat pixelFormatFromImageFormat(QImage::Format format);
+ static QImage::Format imageFormatFromPixelFormat(PixelFormat format);
private:
QExplicitlySharedDataPointer<QVideoFramePrivate> d;
diff --git a/src/multimedia/video/qvideosurfaceformat.cpp b/src/multimedia/video/qvideosurfaceformat.cpp
index e6ef8f3..c898e3a 100644
--- a/src/multimedia/video/qvideosurfaceformat.cpp
+++ b/src/multimedia/video/qvideosurfaceformat.cpp
@@ -57,7 +57,7 @@ public:
, handleType(QAbstractVideoBuffer::NoHandle)
, scanLineDirection(QVideoSurfaceFormat::TopToBottom)
, pixelAspectRatio(1, 1)
- , yuvColorSpace(QVideoSurfaceFormat::YCbCr_Undefined)
+ , ycbcrColorSpace(QVideoSurfaceFormat::YCbCr_Undefined)
, frameRate(0.0)
{
}
@@ -71,7 +71,7 @@ public:
, scanLineDirection(QVideoSurfaceFormat::TopToBottom)
, frameSize(size)
, pixelAspectRatio(1, 1)
- , yuvColorSpace(QVideoSurfaceFormat::YCbCr_Undefined)
+ , ycbcrColorSpace(QVideoSurfaceFormat::YCbCr_Undefined)
, viewport(QPoint(0, 0), size)
, frameRate(0.0)
{
@@ -84,7 +84,7 @@ public:
, scanLineDirection(other.scanLineDirection)
, frameSize(other.frameSize)
, pixelAspectRatio(other.pixelAspectRatio)
- , yuvColorSpace(other.yuvColorSpace)
+ , ycbcrColorSpace(other.ycbcrColorSpace)
, viewport(other.viewport)
, frameRate(other.frameRate)
, propertyNames(other.propertyNames)
@@ -101,7 +101,7 @@ public:
&& pixelAspectRatio == other.pixelAspectRatio
&& viewport == other.viewport
&& frameRatesEqual(frameRate, other.frameRate)
- && yuvColorSpace == other.yuvColorSpace
+ && ycbcrColorSpace == other.ycbcrColorSpace
&& propertyNames.count() == other.propertyNames.count()) {
for (int i = 0; i < propertyNames.count(); ++i) {
int j = other.propertyNames.indexOf(propertyNames.at(i));
@@ -125,7 +125,7 @@ public:
QVideoSurfaceFormat::Direction scanLineDirection;
QSize frameSize;
QSize pixelAspectRatio;
- QVideoSurfaceFormat::YuvColorSpace yuvColorSpace;
+ QVideoSurfaceFormat::YCbCrColorSpace ycbcrColorSpace;
QRect viewport;
qreal frameRate;
QList<QByteArray> propertyNames;
@@ -168,19 +168,10 @@ public:
\value BottomToTop Scan lines are arranged from the bottom of the frame to the top.
*/
-/*!
- \enum QVideoSurfaceFormat::ViewportMode
-
- Enumerates the methods for updating the stream viewport when the frame size is changed.
-
- \value ResetViewport The viewport is reset to cover an entire frame.
- \value KeepViewport The viewport is kept within the bounds the frame.
-*/
-
/*!
- \enum QVideoSurfaceFormat::YuvColorSpace
+ \enum QVideoSurfaceFormat::YCbCrColorSpace
- Enumerates the YUV color space of video frames.
+ Enumerates the Y'CbCr color space of video frames.
\value YCbCr_Undefined
No color space is specified.
@@ -340,21 +331,13 @@ int QVideoSurfaceFormat::frameHeight() const
/*!
Sets the size of frames in a video stream to \a size.
- The viewport \a mode indicates how the view port should be updated.
+ This will reset the viewport() to fill the entire frame.
*/
-void QVideoSurfaceFormat::setFrameSize(const QSize &size, ViewportMode mode)
+void QVideoSurfaceFormat::setFrameSize(const QSize &size)
{
d->frameSize = size;
-
- switch (mode) {
- case ResetViewport:
- d->viewport = QRect(QPoint(0, 0), size);
- break;
- case KeepViewport:
- d->viewport = QRect(QPoint(0, 0), size).intersected(d->viewport);
- break;
- }
+ d->viewport = QRect(QPoint(0, 0), size);
}
/*!
@@ -362,12 +345,13 @@ void QVideoSurfaceFormat::setFrameSize(const QSize &size, ViewportMode mode)
Sets the \a width and \a height of frames in a video stream.
- The viewport \a mode indicates how the view port should be updated.
+ This will reset the viewport() to fill the entire frame.
*/
-void QVideoSurfaceFormat::setFrameSize(int width, int height, ViewportMode mode)
+void QVideoSurfaceFormat::setFrameSize(int width, int height)
{
- setFrameSize(QSize(width, height), mode);
+ d->frameSize = QSize(width, height);
+ d->viewport = QRect(0, 0, width, height);
}
/*!
@@ -458,22 +442,22 @@ void QVideoSurfaceFormat::setPixelAspectRatio(int horizontal, int vertical)
}
/*!
- Returns a YUV color space of a video stream.
+ Returns the Y'CbCr color space of a video stream.
*/
-QVideoSurfaceFormat::YuvColorSpace QVideoSurfaceFormat::yuvColorSpace() const
+QVideoSurfaceFormat::YCbCrColorSpace QVideoSurfaceFormat::yCbCrColorSpace() const
{
- return d->yuvColorSpace;
+ return d->ycbcrColorSpace;
}
/*!
- Sets a YUV color \a space of a video stream.
+ Sets the Y'CbCr color \a space of a video stream.
It is only used with raw YUV frame types.
*/
-void QVideoSurfaceFormat::setYuvColorSpace(QVideoSurfaceFormat::YuvColorSpace space)
+void QVideoSurfaceFormat::setYCbCrColorSpace(QVideoSurfaceFormat::YCbCrColorSpace space)
{
- d->yuvColorSpace = space;
+ d->ycbcrColorSpace = space;
}
/*!
@@ -508,7 +492,7 @@ QList<QByteArray> QVideoSurfaceFormat::propertyNames() const
<< "frameRate"
<< "pixelAspectRatio"
<< "sizeHint"
- << "yuvColorSpace")
+ << "yCbCrColorSpace")
+ d->propertyNames;
}
@@ -540,8 +524,8 @@ QVariant QVideoSurfaceFormat::property(const char *name) const
return qVariantFromValue(d->pixelAspectRatio);
} else if (qstrcmp(name, "sizeHint") == 0) {
return sizeHint();
- } else if (qstrcmp(name, "yuvColorSpace") == 0) {
- return qVariantFromValue(d->yuvColorSpace);
+ } else if (qstrcmp(name, "yCbCrColorSpace") == 0) {
+ return qVariantFromValue(d->ycbcrColorSpace);
} else {
int id = 0;
for (; id < d->propertyNames.count() && d->propertyNames.at(id) != name; ++id) {}
@@ -585,9 +569,9 @@ void QVideoSurfaceFormat::setProperty(const char *name, const QVariant &value)
d->pixelAspectRatio = qvariant_cast<QSize>(value);
} else if (qstrcmp(name, "sizeHint") == 0) {
// read only.
- } else if (qstrcmp(name, "yuvColorSpace") == 0) {
- if (qVariantCanConvert<YuvColorSpace>(value))
- d->yuvColorSpace = qvariant_cast<YuvColorSpace>(value);
+ } else if (qstrcmp(name, "yCbCrColorSpace") == 0) {
+ if (qVariantCanConvert<YCbCrColorSpace>(value))
+ d->ycbcrColorSpace = qvariant_cast<YCbCrColorSpace>(value);
} else {
int id = 0;
for (; id < d->propertyNames.count() && d->propertyNames.at(id) != name; ++id) {}
diff --git a/src/multimedia/video/qvideosurfaceformat.h b/src/multimedia/video/qvideosurfaceformat.h
index 1f4a5cb..ee60244 100644
--- a/src/multimedia/video/qvideosurfaceformat.h
+++ b/src/multimedia/video/qvideosurfaceformat.h
@@ -68,13 +68,7 @@ public:
BottomToTop
};
- enum ViewportMode
- {
- ResetViewport,
- KeepViewport
- };
-
- enum YuvColorSpace
+ enum YCbCrColorSpace
{
YCbCr_Undefined,
YCbCr_BT601,
@@ -106,8 +100,8 @@ public:
QAbstractVideoBuffer::HandleType handleType() const;
QSize frameSize() const;
- void setFrameSize(const QSize &size, ViewportMode mode = ResetViewport);
- void setFrameSize(int width, int height, ViewportMode mode = ResetViewport);
+ void setFrameSize(const QSize &size);
+ void setFrameSize(int width, int height);
int frameWidth() const;
int frameHeight() const;
@@ -125,8 +119,8 @@ public:
void setPixelAspectRatio(const QSize &ratio);
void setPixelAspectRatio(int width, int height);
- YuvColorSpace yuvColorSpace() const;
- void setYuvColorSpace(YuvColorSpace colorSpace);
+ YCbCrColorSpace yCbCrColorSpace() const;
+ void setYCbCrColorSpace(YCbCrColorSpace colorSpace);
QSize sizeHint() const;
@@ -145,7 +139,7 @@ Q_MULTIMEDIA_EXPORT QDebug operator<<(QDebug, const QVideoSurfaceFormat &);
QT_END_NAMESPACE
Q_DECLARE_METATYPE(QVideoSurfaceFormat::Direction)
-Q_DECLARE_METATYPE(QVideoSurfaceFormat::YuvColorSpace)
+Q_DECLARE_METATYPE(QVideoSurfaceFormat::YCbCrColorSpace)
QT_END_HEADER
diff --git a/src/network/access/qnetworkaccessdebugpipebackend.cpp b/src/network/access/qnetworkaccessdebugpipebackend.cpp
index b4af5b6..fecbe83 100644
--- a/src/network/access/qnetworkaccessdebugpipebackend.cpp
+++ b/src/network/access/qnetworkaccessdebugpipebackend.cpp
@@ -229,7 +229,7 @@ void QNetworkAccessDebugPipeBackend::possiblyFinish()
void QNetworkAccessDebugPipeBackend::closeDownstreamChannel()
{
- qWarning() << "QNetworkAccessDebugPipeBackend::closeDownstreamChannel()" << operation();
+ qWarning("QNetworkAccessDebugPipeBackend::closeDownstreamChannel() %d",operation());;
//if (operation() == QNetworkAccessManager::GetOperation)
// socket.disconnectFromHost();
}
@@ -237,7 +237,7 @@ void QNetworkAccessDebugPipeBackend::closeDownstreamChannel()
void QNetworkAccessDebugPipeBackend::socketError()
{
- qWarning() << "QNetworkAccessDebugPipeBackend::socketError()" << socket.error();
+ qWarning("QNetworkAccessDebugPipeBackend::socketError() %d",socket.error());
QNetworkReply::NetworkError code;
switch (socket.error()) {
case QAbstractSocket::RemoteHostClosedError:
diff --git a/src/network/socket/qabstractsocket.cpp b/src/network/socket/qabstractsocket.cpp
index 9fb0b47..8b4f364 100644
--- a/src/network/socket/qabstractsocket.cpp
+++ b/src/network/socket/qabstractsocket.cpp
@@ -462,6 +462,7 @@ QAbstractSocketPrivate::QAbstractSocketPrivate()
isBuffered(false),
blockingTimeout(30000),
connectTimer(0),
+ disconnectTimer(0),
connectTimeElapsed(0),
hostLookupId(-1),
socketType(QAbstractSocket::UnknownSocketType),
@@ -497,9 +498,10 @@ void QAbstractSocketPrivate::resetSocketLayer()
socketEngine = 0;
cachedSocketDescriptor = -1;
}
- if (connectTimer) {
+ if (connectTimer)
connectTimer->stop();
- }
+ if (disconnectTimer)
+ disconnectTimer->stop();
}
/*! \internal
@@ -669,11 +671,11 @@ bool QAbstractSocketPrivate::canWriteNotification()
if (socketEngine) {
#if defined (Q_OS_WIN)
- if (!writeBuffer.isEmpty())
- socketEngine->setWriteNotificationEnabled(true);
+ if (!writeBuffer.isEmpty())
+ socketEngine->setWriteNotificationEnabled(true);
#else
- if (writeBuffer.isEmpty())
- socketEngine->setWriteNotificationEnabled(false);
+ if (writeBuffer.isEmpty() && socketEngine->bytesToWrite() == 0)
+ socketEngine->setWriteNotificationEnabled(false);
#endif
}
@@ -710,11 +712,17 @@ void QAbstractSocketPrivate::connectionNotification()
bool QAbstractSocketPrivate::flush()
{
Q_Q(QAbstractSocket);
- if (!socketEngine || !socketEngine->isValid() || writeBuffer.isEmpty()) {
+ if (!socketEngine || !socketEngine->isValid() || (writeBuffer.isEmpty()
+ && socketEngine->bytesToWrite() == 0)) {
#if defined (QABSTRACTSOCKET_DEBUG)
qDebug("QAbstractSocketPrivate::flush() nothing to do: valid ? %s, writeBuffer.isEmpty() ? %s",
socketEngine->isValid() ? "yes" : "no", writeBuffer.isEmpty() ? "yes" : "no");
#endif
+
+ // this covers the case when the buffer was empty, but we had to wait for the socket engine to finish
+ if (state == QAbstractSocket::ClosingState)
+ q->disconnectFromHost();
+
return false;
}
@@ -751,7 +759,8 @@ bool QAbstractSocketPrivate::flush()
}
}
- if (writeBuffer.isEmpty() && socketEngine && socketEngine->isWriteNotificationEnabled())
+ if (writeBuffer.isEmpty() && socketEngine && socketEngine->isWriteNotificationEnabled()
+ && !socketEngine->bytesToWrite())
socketEngine->setWriteNotificationEnabled(false);
if (state == QAbstractSocket::ClosingState)
q->disconnectFromHost();
@@ -1087,6 +1096,15 @@ void QAbstractSocketPrivate::_q_abortConnectionAttempt()
}
}
+void QAbstractSocketPrivate::_q_forceDisconnect()
+{
+ Q_Q(QAbstractSocket);
+ if (socketEngine && socketEngine->isValid() && state == QAbstractSocket::ClosingState) {
+ socketEngine->close();
+ q->disconnectFromHost();
+ }
+}
+
/*! \internal
Reads data from the socket layer into the read buffer. Returns
@@ -1571,10 +1589,10 @@ bool QAbstractSocket::setSocketDescriptor(int socketDescriptor, SocketState sock
}
/*!
- Sets the option \a option to the value described by \a value.
+ \since 4.6
+ Sets the given \a option to the value described by \a value.
\sa socketOption()
- \since 4.6
*/
void QAbstractSocket::setSocketOption(QAbstractSocket::SocketOption option, const QVariant &value)
{
@@ -1600,10 +1618,10 @@ void QAbstractSocket::setSocketOption(QAbstractSocket::SocketOption option, cons
}
/*!
+ \since 4.6
Returns the value of the \a option option.
\sa setSocketOption()
- \since 4.6
*/
QVariant QAbstractSocket::socketOption(QAbstractSocket::SocketOption option)
{
@@ -2347,7 +2365,22 @@ void QAbstractSocket::disconnectFromHostImplementation()
}
// Wait for pending data to be written.
- if (d->socketEngine && d->socketEngine->isValid() && d->writeBuffer.size() > 0) {
+ if (d->socketEngine && d->socketEngine->isValid() && (d->writeBuffer.size() > 0
+ || d->socketEngine->bytesToWrite() > 0)) {
+ // hack: when we are waiting for the socket engine to write bytes (only
+ // possible when using Socks5 or HTTP socket engine), then close
+ // anyway after 2 seconds. This is to prevent a timeout on Mac, where we
+ // sometimes just did not get the write notifier from the underlying
+ // CFSocket and no progress was made.
+ if (d->writeBuffer.size() == 0 && d->socketEngine->bytesToWrite() > 0) {
+ if (!d->disconnectTimer) {
+ d->disconnectTimer = new QTimer(this);
+ connect(d->disconnectTimer, SIGNAL(timeout()), this,
+ SLOT(_q_forceDisconnect()), Qt::DirectConnection);
+ }
+ if (!d->disconnectTimer->isActive())
+ d->disconnectTimer->start(2000);
+ }
d->socketEngine->setWriteNotificationEnabled(true);
#if defined(QABSTRACTSOCKET_DEBUG)
diff --git a/src/network/socket/qabstractsocket.h b/src/network/socket/qabstractsocket.h
index 5d94a01..5cfae17 100644
--- a/src/network/socket/qabstractsocket.h
+++ b/src/network/socket/qabstractsocket.h
@@ -216,6 +216,7 @@ private:
Q_PRIVATE_SLOT(d_func(), void _q_startConnecting(const QHostInfo &))
Q_PRIVATE_SLOT(d_func(), void _q_abortConnectionAttempt())
Q_PRIVATE_SLOT(d_func(), void _q_testConnection())
+ Q_PRIVATE_SLOT(d_func(), void _q_forceDisconnect())
#ifdef QT3_SUPPORT
public:
diff --git a/src/network/socket/qabstractsocket_p.h b/src/network/socket/qabstractsocket_p.h
index 8ccddd3..acf82bf 100644
--- a/src/network/socket/qabstractsocket_p.h
+++ b/src/network/socket/qabstractsocket_p.h
@@ -93,6 +93,7 @@ public:
void _q_startConnecting(const QHostInfo &hostInfo);
void _q_testConnection();
void _q_abortConnectionAttempt();
+ void _q_forceDisconnect();
bool readSocketNotifierCalled;
bool readSocketNotifierState;
@@ -148,6 +149,7 @@ public:
int blockingTimeout;
QTimer *connectTimer;
+ QTimer *disconnectTimer;
int connectTimeElapsed;
int hostLookupId;
diff --git a/src/network/socket/qabstractsocketengine_p.h b/src/network/socket/qabstractsocketengine_p.h
index c639092..14b3c81 100644
--- a/src/network/socket/qabstractsocketengine_p.h
+++ b/src/network/socket/qabstractsocketengine_p.h
@@ -126,6 +126,8 @@ public:
virtual qint64 pendingDatagramSize() const = 0;
#endif
+ virtual qint64 bytesToWrite() const = 0;
+
virtual int option(SocketOption option) const = 0;
virtual bool setOption(SocketOption option, int value) = 0;
diff --git a/src/network/socket/qhttpsocketengine.cpp b/src/network/socket/qhttpsocketengine.cpp
index fb61dbf..5c28318 100644
--- a/src/network/socket/qhttpsocketengine.cpp
+++ b/src/network/socket/qhttpsocketengine.cpp
@@ -276,6 +276,16 @@ qint64 QHttpSocketEngine::pendingDatagramSize() const
}
#endif // QT_NO_UDPSOCKET
+qint64 QHttpSocketEngine::bytesToWrite() const
+{
+ Q_D(const QHttpSocketEngine);
+ if (d->socket) {
+ return d->socket->bytesToWrite();
+ } else {
+ return 0;
+ }
+}
+
int QHttpSocketEngine::option(SocketOption option) const
{
Q_D(const QHttpSocketEngine);
diff --git a/src/network/socket/qhttpsocketengine_p.h b/src/network/socket/qhttpsocketengine_p.h
index a423116..76430db 100644
--- a/src/network/socket/qhttpsocketengine_p.h
+++ b/src/network/socket/qhttpsocketengine_p.h
@@ -110,6 +110,8 @@ public:
qint64 pendingDatagramSize() const;
#endif // QT_NO_UDPSOCKET
+ qint64 bytesToWrite() const;
+
int option(SocketOption option) const;
bool setOption(SocketOption option, int value);
diff --git a/src/network/socket/qlocalserver_unix.cpp b/src/network/socket/qlocalserver_unix.cpp
index 5ffe0c0..e09e547 100644
--- a/src/network/socket/qlocalserver_unix.cpp
+++ b/src/network/socket/qlocalserver_unix.cpp
@@ -216,24 +216,14 @@ void QLocalServerPrivate::waitForNewConnection(int msec, bool *timedOut)
timeout.tv_sec = msec / 1000;
timeout.tv_usec = (msec % 1000) * 1000;
- // timeout can not be 0 or else select will return an error.
- if (0 == msec)
- timeout.tv_usec = 1000;
-
int result = -1;
- // on Linux timeout will be updated by select, but _not_ on other systems.
- QTime timer;
- timer.start();
- while (pendingConnections.isEmpty() && (-1 == msec || timer.elapsed() < msec)) {
- result = ::select(listenSocket + 1, &readfds, 0, 0, &timeout);
- if (-1 == result && errno != EINTR) {
- setError(QLatin1String("QLocalServer::waitForNewConnection"));
- closeServer();
- break;
- }
- if (result > 0)
- _q_onNewConnection();
+ result = qt_safe_select(listenSocket + 1, &readfds, 0, 0, (msec == -1) ? 0 : &timeout);
+ if (-1 == result) {
+ setError(QLatin1String("QLocalServer::waitForNewConnection"));
+ closeServer();
}
+ if (result > 0)
+ _q_onNewConnection();
if (timedOut)
*timedOut = (result == 0);
}
diff --git a/src/network/socket/qnativesocketengine.cpp b/src/network/socket/qnativesocketengine.cpp
index e7f8401..ecf5ad9 100644
--- a/src/network/socket/qnativesocketengine.cpp
+++ b/src/network/socket/qnativesocketengine.cpp
@@ -194,82 +194,82 @@ void QNativeSocketEnginePrivate::setError(QAbstractSocket::SocketError error, Er
switch (errorString) {
case NonBlockingInitFailedErrorString:
- socketErrorString = QLatin1String(QT_TRANSLATE_NOOP("QNativeSocketEngine", "Unable to initialize non-blocking socket"));
+ socketErrorString = QNativeSocketEngine::tr("Unable to initialize non-blocking socket");
break;
case BroadcastingInitFailedErrorString:
- socketErrorString = QLatin1String(QT_TRANSLATE_NOOP("QNativeSocketEngine", "Unable to initialize broadcast socket"));
+ socketErrorString = QNativeSocketEngine::tr("Unable to initialize broadcast socket");
break;
case NoIpV6ErrorString:
- socketErrorString = QLatin1String(QT_TRANSLATE_NOOP("QNativeSocketEngine", "Attempt to use IPv6 socket on a platform with no IPv6 support"));
+ socketErrorString = QNativeSocketEngine::tr("Attempt to use IPv6 socket on a platform with no IPv6 support");
break;
case RemoteHostClosedErrorString:
- socketErrorString = QLatin1String(QT_TRANSLATE_NOOP("QNativeSocketEngine", "The remote host closed the connection"));
+ socketErrorString = QNativeSocketEngine::tr("The remote host closed the connection");
break;
case TimeOutErrorString:
- socketErrorString = QLatin1String(QT_TRANSLATE_NOOP("QNativeSocketEngine", "Network operation timed out"));
+ socketErrorString = QNativeSocketEngine::tr("Network operation timed out");
break;
case ResourceErrorString:
- socketErrorString = QLatin1String(QT_TRANSLATE_NOOP("QNativeSocketEngine", "Out of resources"));
+ socketErrorString = QNativeSocketEngine::tr("Out of resources");
break;
case OperationUnsupportedErrorString:
- socketErrorString = QLatin1String(QT_TRANSLATE_NOOP("QNativeSocketEngine", "Unsupported socket operation"));
+ socketErrorString = QNativeSocketEngine::tr("Unsupported socket operation");
break;
case ProtocolUnsupportedErrorString:
- socketErrorString = QLatin1String(QT_TRANSLATE_NOOP("QNativeSocketEngine", "Protocol type not supported"));
+ socketErrorString = QNativeSocketEngine::tr("Protocol type not supported");
break;
case InvalidSocketErrorString:
- socketErrorString = QLatin1String(QT_TRANSLATE_NOOP("QNativeSocketEngine", "Invalid socket descriptor"));
+ socketErrorString = QNativeSocketEngine::tr("Invalid socket descriptor");
break;
case HostUnreachableErrorString:
- socketErrorString = QLatin1String(QT_TRANSLATE_NOOP("QNativeSocketEngine", "Host unreachable"));
+ socketErrorString = QNativeSocketEngine::tr("Host unreachable");
break;
case NetworkUnreachableErrorString:
- socketErrorString = QLatin1String(QT_TRANSLATE_NOOP("QNativeSocketEngine", "Network unreachable"));
+ socketErrorString = QNativeSocketEngine::tr("Network unreachable");
break;
case AccessErrorString:
- socketErrorString = QLatin1String(QT_TRANSLATE_NOOP("QNativeSocketEngine", "Permission denied"));
+ socketErrorString = QNativeSocketEngine::tr("Permission denied");
break;
case ConnectionTimeOutErrorString:
- socketErrorString = QLatin1String(QT_TRANSLATE_NOOP("QNativeSocketEngine", "Connection timed out"));
+ socketErrorString = QNativeSocketEngine::tr("Connection timed out");
break;
case ConnectionRefusedErrorString:
- socketErrorString = QLatin1String(QT_TRANSLATE_NOOP("QNativeSocketEngine", "Connection refused"));
+ socketErrorString = QNativeSocketEngine::tr("Connection refused");
break;
case AddressInuseErrorString:
- socketErrorString = QLatin1String(QT_TRANSLATE_NOOP("QNativeSocketEngine", "The bound address is already in use"));
+ socketErrorString = QNativeSocketEngine::tr("The bound address is already in use");
break;
case AddressNotAvailableErrorString:
- socketErrorString = QLatin1String(QT_TRANSLATE_NOOP("QNativeSocketEngine", "The address is not available"));
+ socketErrorString = QNativeSocketEngine::tr("The address is not available");
break;
case AddressProtectedErrorString:
- socketErrorString = QLatin1String(QT_TRANSLATE_NOOP("QNativeSocketEngine", "The address is protected"));
+ socketErrorString = QNativeSocketEngine::tr("The address is protected");
break;
case DatagramTooLargeErrorString:
- socketErrorString = QLatin1String(QT_TRANSLATE_NOOP("QNativeSocketEngine", "Datagram was too large to send"));
+ socketErrorString = QNativeSocketEngine::tr("Datagram was too large to send");
break;
case SendDatagramErrorString:
- socketErrorString = QLatin1String(QT_TRANSLATE_NOOP("QNativeSocketEngine", "Unable to send a message"));
+ socketErrorString = QNativeSocketEngine::tr("Unable to send a message");
break;
case ReceiveDatagramErrorString:
- socketErrorString = QLatin1String(QT_TRANSLATE_NOOP("QNativeSocketEngine", "Unable to receive a message"));
+ socketErrorString = QNativeSocketEngine::tr("Unable to receive a message");
break;
case WriteErrorString:
- socketErrorString = QLatin1String(QT_TRANSLATE_NOOP("QNativeSocketEngine", "Unable to write"));
+ socketErrorString = QNativeSocketEngine::tr("Unable to write");
break;
case ReadErrorString:
- socketErrorString = QLatin1String(QT_TRANSLATE_NOOP("QNativeSocketEngine", "Network error"));
+ socketErrorString = QNativeSocketEngine::tr("Network error");
break;
case PortInuseErrorString:
- socketErrorString = QLatin1String(QT_TRANSLATE_NOOP("QNativeSocketEngine", "Another socket is already listening on the same port"));
+ socketErrorString = QNativeSocketEngine::tr("Another socket is already listening on the same port");
break;
case NotSocketErrorString:
- socketErrorString = QLatin1String(QT_TRANSLATE_NOOP("QNativeSocketEngine", "Operation on non-socket"));
+ socketErrorString = QNativeSocketEngine::tr("Operation on non-socket");
break;
case InvalidProxyTypeString:
- socketErrorString = QLatin1String(QT_TRANSLATE_NOOP("QNativeSocketEngine", "The proxy type is invalid for this operation"));
+ socketErrorString = QNativeSocketEngine::tr("The proxy type is invalid for this operation");
break;
case UnknownSocketErrorString:
- socketErrorString = QLatin1String(QT_TRANSLATE_NOOP("QNativeSocketEngine", "Unknown error"));
+ socketErrorString = QNativeSocketEngine::tr("Unknown error");
break;
}
}
@@ -754,6 +754,12 @@ qint64 QNativeSocketEngine::write(const char *data, qint64 size)
return d->nativeWrite(data, size);
}
+
+qint64 QNativeSocketEngine::bytesToWrite() const
+{
+ return 0;
+}
+
/*!
Reads up to \a maxSize bytes into \a data from the socket.
Returns the number of bytes read, or -1 if an error occurred.
diff --git a/src/network/socket/qnativesocketengine_p.h b/src/network/socket/qnativesocketengine_p.h
index 1f6a243..a03d8f1 100644
--- a/src/network/socket/qnativesocketengine_p.h
+++ b/src/network/socket/qnativesocketengine_p.h
@@ -135,6 +135,8 @@ public:
bool hasPendingDatagrams() const;
qint64 pendingDatagramSize() const;
+ qint64 bytesToWrite() const;
+
qint64 receiveBufferSize() const;
void setReceiveBufferSize(qint64 bufferSize);
diff --git a/src/network/socket/qsocks5socketengine.cpp b/src/network/socket/qsocks5socketengine.cpp
index 30074cf..bd60ad1 100644
--- a/src/network/socket/qsocks5socketengine.cpp
+++ b/src/network/socket/qsocks5socketengine.cpp
@@ -1235,6 +1235,9 @@ void QSocks5SocketEnginePrivate::_q_controlSocketError(QAbstractSocket::SocketEr
if (!readNotificationPending)
connectData->readBuffer.clear();
emitReadNotification();
+ data->controlSocket->close();
+ // cause a disconnect in the outer socket
+ emitWriteNotification();
} else if (socks5State == Uninitialized
|| socks5State == AuthenticationMethodsSent
|| socks5State == Authenticating
@@ -1245,6 +1248,7 @@ void QSocks5SocketEnginePrivate::_q_controlSocketError(QAbstractSocket::SocketEr
} else {
q_func()->setError(data->controlSocket->error(), data->controlSocket->errorString());
emitReadNotification();
+ emitWriteNotification();
}
}
@@ -1623,6 +1627,16 @@ qint64 QSocks5SocketEngine::pendingDatagramSize() const
}
#endif // QT_NO_UDPSOCKET
+qint64 QSocks5SocketEngine::bytesToWrite() const
+{
+ Q_D(const QSocks5SocketEngine);
+ if (d->data && d->data->controlSocket) {
+ return d->data->controlSocket->bytesToWrite();
+ } else {
+ return 0;
+ }
+}
+
int QSocks5SocketEngine::option(SocketOption option) const
{
Q_D(const QSocks5SocketEngine);
diff --git a/src/network/socket/qsocks5socketengine_p.h b/src/network/socket/qsocks5socketengine_p.h
index 7cb0920..2402517 100644
--- a/src/network/socket/qsocks5socketengine_p.h
+++ b/src/network/socket/qsocks5socketengine_p.h
@@ -100,6 +100,8 @@ public:
qint64 pendingDatagramSize() const;
#endif // QT_NO_UDPSOCKET
+ qint64 bytesToWrite() const;
+
int option(SocketOption option) const;
bool setOption(SocketOption option, int value);
diff --git a/src/network/ssl/qsslerror.cpp b/src/network/ssl/qsslerror.cpp
index 62fcd4c..e912626 100644
--- a/src/network/ssl/qsslerror.cpp
+++ b/src/network/ssl/qsslerror.cpp
@@ -91,6 +91,7 @@
*/
#include "qsslerror.h"
+#include "qsslsocket.h"
#ifndef QT_NO_DEBUG_STREAM
#include <QtCore/qdebug.h>
@@ -209,81 +210,79 @@ QString QSslError::errorString() const
QString errStr;
switch (d->error) {
case NoError:
- errStr = QObject::tr(QT_TRANSLATE_NOOP(QSslError, "No error"));
+ errStr = QSslSocket::tr("No error");
break;
case UnableToGetIssuerCertificate:
- errStr = QObject::tr(QT_TRANSLATE_NOOP(QSslError, "The issuer certificate could not be found"));
+ errStr = QSslSocket::tr("The issuer certificate could not be found");
break;
case UnableToDecryptCertificateSignature:
- errStr = QObject::tr(QT_TRANSLATE_NOOP(QSslError, "The certificate signature could not be decrypted"));
+ errStr = QSslSocket::tr("The certificate signature could not be decrypted");
break;
case UnableToDecodeIssuerPublicKey:
- errStr = QObject::tr(QT_TRANSLATE_NOOP(QSslError, "The public key in the certificate could not be read"));
+ errStr = QSslSocket::tr("The public key in the certificate could not be read");
break;
case CertificateSignatureFailed:
- errStr = QObject::tr(QT_TRANSLATE_NOOP(QSslError, "The signature of the certificate is invalid"));
+ errStr = QSslSocket::tr("The signature of the certificate is invalid");
break;
case CertificateNotYetValid:
- errStr = QObject::tr(QT_TRANSLATE_NOOP(QSslError, "The certificate is not yet valid"));
+ errStr = QSslSocket::tr("The certificate is not yet valid");
break;
case CertificateExpired:
- errStr = QObject::tr(QT_TRANSLATE_NOOP(QSslError, "The certificate has expired"));
+ errStr = QSslSocket::tr("The certificate has expired");
break;
case InvalidNotBeforeField:
- errStr = QObject::tr(QT_TRANSLATE_NOOP(QSslError, "The certificate's notBefore field contains an invalid time"));
+ errStr = QSslSocket::tr("The certificate's notBefore field contains an invalid time");
break;
case InvalidNotAfterField:
- errStr = QObject::tr(QT_TRANSLATE_NOOP(QSslError, "The certificate's notAfter field contains an invalid time"));
+ errStr = QSslSocket::tr("The certificate's notAfter field contains an invalid time");
break;
case SelfSignedCertificate:
- errStr = QObject::tr(QT_TRANSLATE_NOOP(QSslError, "The certificate is self-signed, and untrusted"));
+ errStr = QSslSocket::tr("The certificate is self-signed, and untrusted");
break;
case SelfSignedCertificateInChain:
- errStr = QObject::tr(QT_TRANSLATE_NOOP(QSslError, "The root certificate of the certificate chain is self-signed, and untrusted"));
+ errStr = QSslSocket::tr("The root certificate of the certificate chain is self-signed, and untrusted");
break;
case UnableToGetLocalIssuerCertificate:
- errStr = QObject::tr(QT_TRANSLATE_NOOP(QSslError, "The issuer certificate of a locally looked up certificate could not be found"));
+ errStr = QSslSocket::tr("The issuer certificate of a locally looked up certificate could not be found");
break;
case UnableToVerifyFirstCertificate:
- errStr = QObject::tr(QT_TRANSLATE_NOOP(QSslError, "No certificates could be verified"));
+ errStr = QSslSocket::tr("No certificates could be verified");
break;
case InvalidCaCertificate:
- errStr = QObject::tr(QT_TRANSLATE_NOOP(QSslError, "One of the CA certificates is invalid"));
+ errStr = QSslSocket::tr("One of the CA certificates is invalid");
break;
case PathLengthExceeded:
- errStr = QObject::tr(QT_TRANSLATE_NOOP(QSslError, "The basicConstraints pathlength parameter has been exceeded"));
+ errStr = QSslSocket::tr("The basicConstraints path length parameter has been exceeded");
break;
case InvalidPurpose:
- errStr = QObject::tr(QT_TRANSLATE_NOOP(QSslError, "The supplied certificate is unsuited for this purpose"));
+ errStr = QSslSocket::tr("The supplied certificate is unsuitable for this purpose");
break;
case CertificateUntrusted:
- errStr = QObject::tr(QT_TRANSLATE_NOOP(QSslError, "The root CA certificate is not trusted for this purpose"));
+ errStr = QSslSocket::tr("The root CA certificate is not trusted for this purpose");
break;
case CertificateRejected:
- errStr = QObject::tr(QT_TRANSLATE_NOOP(QSslError, "The root CA certificate is marked to reject the specified purpose"));
+ errStr = QSslSocket::tr("The root CA certificate is marked to reject the specified purpose");
break;
case SubjectIssuerMismatch: // hostname mismatch
- errStr = QObject::tr(QT_TRANSLATE_NOOP(QSslError,
- "The current candidate issuer certificate was rejected because its"
- " subject name did not match the issuer name of the current certificate"));
+ errStr = QSslSocket::tr("The current candidate issuer certificate was rejected because its"
+ " subject name did not match the issuer name of the current certificate");
break;
case AuthorityIssuerSerialNumberMismatch:
- errStr = QObject::tr(QT_TRANSLATE_NOOP(QSslError, "The current candidate issuer certificate was rejected because"
- " its issuer name and serial number was present and did not match the"
- " authority key identifier of the current certificate"));
+ errStr = QSslSocket::tr("The current candidate issuer certificate was rejected because"
+ " its issuer name and serial number was present and did not match the"
+ " authority key identifier of the current certificate");
break;
case NoPeerCertificate:
- errStr = QObject::tr(QT_TRANSLATE_NOOP(QSslError, "The peer did not present any certificate"));
+ errStr = QSslSocket::tr("The peer did not present any certificate");
break;
case HostNameMismatch:
- errStr = QObject::tr(QT_TRANSLATE_NOOP(QSslError,
- "The host name did not match any of the valid hosts"
- " for this certificate"));
+ errStr = QSslSocket::tr("The host name did not match any of the valid hosts"
+ " for this certificate");
break;
case NoSslSupport:
break;
default:
- errStr = QObject::tr(QT_TRANSLATE_NOOP(QSslError, "Unknown error"));
+ errStr = QSslSocket::tr("Unknown error");
break;
}
diff --git a/src/network/ssl/qsslsocket.cpp b/src/network/ssl/qsslsocket.cpp
index 2c88130..e53d8a4 100644
--- a/src/network/ssl/qsslsocket.cpp
+++ b/src/network/ssl/qsslsocket.cpp
@@ -467,6 +467,12 @@ bool QSslSocket::setSocketDescriptor(int socketDescriptor, SocketState state, Op
return retVal;
}
+/*!
+ \since 4.6
+ Sets the given \a option to the value described by \a value.
+
+ \sa socketOption()
+*/
void QSslSocket::setSocketOption(QAbstractSocket::SocketOption option, const QVariant &value)
{
Q_D(QSslSocket);
@@ -474,6 +480,12 @@ void QSslSocket::setSocketOption(QAbstractSocket::SocketOption option, const QVa
d->plainSocket->setSocketOption(option, value);
}
+/*!
+ \since 4.6
+ Returns the value of the \a option option.
+
+ \sa setSocketOption()
+*/
QVariant QSslSocket::socketOption(QAbstractSocket::SocketOption option)
{
Q_D(QSslSocket);
@@ -707,6 +719,8 @@ void QSslSocket::close()
qDebug() << "QSslSocket::close()";
#endif
Q_D(QSslSocket);
+ if (d->plainSocket)
+ d->plainSocket->close();
QTcpSocket::close();
// must be cleared, reading/writing not possible on closed socket:
diff --git a/src/network/ssl/qsslsocket_openssl.cpp b/src/network/ssl/qsslsocket_openssl.cpp
index 6f7e55a..743722f 100644
--- a/src/network/ssl/qsslsocket_openssl.cpp
+++ b/src/network/ssl/qsslsocket_openssl.cpp
@@ -324,7 +324,7 @@ init_context:
// Check if the certificate matches the private key.
if (!q_SSL_CTX_check_private_key(ctx)) {
- q->setErrorString(QSslSocket::tr("Private key does not certificate public key, %1").arg(SSL_ERRORSTR()));
+ q->setErrorString(QSslSocket::tr("Private key does not certify public key, %1").arg(SSL_ERRORSTR()));
emit q->error(QAbstractSocket::UnknownSocketError);
return false;
}
diff --git a/src/opengl/gl2paintengineex/qglcustomshaderstage.cpp b/src/opengl/gl2paintengineex/qglcustomshaderstage.cpp
index ab2026c..b71a7b7 100644
--- a/src/opengl/gl2paintengineex/qglcustomshaderstage.cpp
+++ b/src/opengl/gl2paintengineex/qglcustomshaderstage.cpp
@@ -67,8 +67,10 @@ QGLCustomShaderStage::QGLCustomShaderStage()
QGLCustomShaderStage::~QGLCustomShaderStage()
{
Q_D(QGLCustomShaderStage);
- if (d->m_manager)
- d->m_manager->removeCustomStage(this);
+ if (d->m_manager) {
+ d->m_manager->removeCustomStage();
+ d->m_manager->sharedShaders->cleanupCustomStage(this);
+ }
}
void QGLCustomShaderStage::setUniformsDirty()
@@ -85,6 +87,8 @@ bool QGLCustomShaderStage::setOnPainter(QPainter* p)
qWarning("QGLCustomShaderStage::setOnPainter() - paint engine not OpenGL2");
return false;
}
+ if (d->m_manager)
+ qWarning("Custom shader is already set on a painter");
QGL2PaintEngineEx *engine = static_cast<QGL2PaintEngineEx*>(p->paintEngine());
d->m_manager = QGL2PaintEngineExPrivate::shaderManagerForEngine(engine);
@@ -108,12 +112,21 @@ void QGLCustomShaderStage::removeFromPainter(QPainter* p)
// This should leave the program in a compiled/linked state
// if the next custom shader stage is this one again.
d->m_manager->setCustomStage(0);
+ d->m_manager = 0;
}
-const char* QGLCustomShaderStage::source() const
+QByteArray QGLCustomShaderStage::source() const
{
Q_D(const QGLCustomShaderStage);
- return d->m_source.constData();
+ return d->m_source;
+}
+
+// Called by the shader manager if another custom shader is attached or
+// the manager is deleted
+void QGLCustomShaderStage::setInactive()
+{
+ Q_D(QGLCustomShaderStage);
+ d->m_manager = 0;
}
void QGLCustomShaderStage::setSource(const QByteArray& s)
diff --git a/src/opengl/gl2paintengineex/qglcustomshaderstage_p.h b/src/opengl/gl2paintengineex/qglcustomshaderstage_p.h
index f8c13c5..e319389 100644
--- a/src/opengl/gl2paintengineex/qglcustomshaderstage_p.h
+++ b/src/opengl/gl2paintengineex/qglcustomshaderstage_p.h
@@ -74,8 +74,9 @@ public:
bool setOnPainter(QPainter*);
void removeFromPainter(QPainter*);
- const char* source() const;
+ QByteArray source() const;
+ void setInactive();
protected:
void setSource(const QByteArray&);
diff --git a/src/opengl/gl2paintengineex/qglengineshadermanager.cpp b/src/opengl/gl2paintengineex/qglengineshadermanager.cpp
index e22303d..8a8f483 100644
--- a/src/opengl/gl2paintengineex/qglengineshadermanager.cpp
+++ b/src/opengl/gl2paintengineex/qglengineshadermanager.cpp
@@ -66,7 +66,7 @@ QGLEngineSharedShaders *QGLEngineSharedShaders::shadersForContext(const QGLConte
return p;
}
-const char* QGLEngineSharedShaders::qglEngineShaderSourceCode[] = {
+const char* QGLEngineSharedShaders::qShaderSnippets[] = {
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
@@ -78,7 +78,6 @@ QGLEngineSharedShaders::QGLEngineSharedShaders(const QGLContext* context)
, blitShaderProg(0)
, simpleShaderProg(0)
{
- memset(compiledShaders, 0, sizeof(compiledShaders));
/*
Rather than having the shader source array statically initialised, it is initialised
@@ -86,10 +85,10 @@ QGLEngineSharedShaders::QGLEngineSharedShaders(const QGLContext* context)
around without having to change the order of the glsl strings. It is hoped this will
make future hard-to-find runtime bugs more obvious and generally give more solid code.
*/
- static bool qglEngineShaderSourceCodePopulated = false;
- if (!qglEngineShaderSourceCodePopulated) {
+ static bool snippetsPopulated = false;
+ if (!snippetsPopulated) {
- const char** code = qglEngineShaderSourceCode; // shortcut
+ const char** code = qShaderSnippets; // shortcut
code[MainVertexShader] = qglslMainVertexShader;
code[MainWithTexCoordsVertexShader] = qglslMainWithTexCoordsVertexShader;
@@ -121,7 +120,7 @@ QGLEngineSharedShaders::QGLEngineSharedShaders(const QGLContext* context)
code[ImageSrcFragmentShader] = qglslImageSrcFragmentShader;
code[ImageSrcWithPatternFragmentShader] = qglslImageSrcWithPatternFragmentShader;
code[NonPremultipliedImageSrcFragmentShader] = qglslNonPremultipliedImageSrcFragmentShader;
- code[CustomImageSrcFragmentShader] = ""; // Supplied by app.
+ code[CustomImageSrcFragmentShader] = qglslCustomSrcFragmentShader; // Calls "customShader", which must be appended
code[SolidBrushSrcFragmentShader] = qglslSolidBrushSrcFragmentShader;
code[TextureBrushSrcFragmentShader] = qglslTextureBrushSrcFragmentShader;
code[TextureBrushSrcWithPatternFragmentShader] = qglslTextureBrushSrcWithPatternFragmentShader;
@@ -131,11 +130,13 @@ QGLEngineSharedShaders::QGLEngineSharedShaders(const QGLContext* context)
code[ConicalGradientBrushSrcFragmentShader] = qglslConicalGradientBrushSrcFragmentShader;
code[ShockingPinkSrcFragmentShader] = qglslShockingPinkSrcFragmentShader;
+ code[NoMaskFragmentShader] = "";
code[MaskFragmentShader] = qglslMaskFragmentShader;
code[RgbMaskFragmentShaderPass1] = qglslRgbMaskFragmentShaderPass1;
code[RgbMaskFragmentShaderPass2] = qglslRgbMaskFragmentShaderPass2;
code[RgbMaskWithGammaFragmentShader] = ""; //###
+ code[NoCompositionModeFragmentShader] = "";
code[MultiplyCompositionModeFragmentShader] = ""; //###
code[ScreenCompositionModeFragmentShader] = ""; //###
code[OverlayCompositionModeFragmentShader] = ""; //###
@@ -150,29 +151,36 @@ QGLEngineSharedShaders::QGLEngineSharedShaders(const QGLContext* context)
#if defined(QT_DEBUG)
// Check that all the elements have been filled:
- for (int i = 0; i < TotalShaderCount; ++i) {
- if (qglEngineShaderSourceCode[i] == 0) {
- int enumIndex = staticMetaObject.indexOfEnumerator("ShaderName");
- QMetaEnum m = staticMetaObject.enumerator(enumIndex);
-
- qCritical() << "qglEngineShaderSourceCode: Source for" << m.valueToKey(i)
- << "(shader" << i << ") missing!";
+ for (int i = 0; i < TotalSnippetCount; ++i) {
+ if (qShaderSnippets[i] == 0) {
+ qFatal("Shader snippet for %s (#%d) is missing!",
+ snippetNameStr(SnippetName(i)).constData(), i);
}
}
#endif
- qglEngineShaderSourceCodePopulated = true;
+ snippetsPopulated = true;
}
+ QGLShader* fragShader;
+ QGLShader* vertexShader;
+ QByteArray source;
+
// Compile up the simple shader:
+ source.clear();
+ source.append(qShaderSnippets[MainVertexShader]);
+ source.append(qShaderSnippets[PositionOnlyVertexShader]);
+ vertexShader = new QGLShader(QGLShader::Vertex, context, this);
+ vertexShader->compileSourceCode(source);
+
+ source.clear();
+ source.append(qShaderSnippets[MainFragmentShader]);
+ source.append(qShaderSnippets[ShockingPinkSrcFragmentShader]);
+ fragShader = new QGLShader(QGLShader::Fragment, context, this);
+ fragShader->compileSourceCode(source);
+
simpleShaderProg = new QGLShaderProgram(context, this);
- compileNamedShader(MainVertexShader, QGLShader::PartialVertexShader);
- compileNamedShader(PositionOnlyVertexShader, QGLShader::PartialVertexShader);
- compileNamedShader(MainFragmentShader, QGLShader::PartialFragmentShader);
- compileNamedShader(ShockingPinkSrcFragmentShader, QGLShader::PartialFragmentShader);
- simpleShaderProg->addShader(compiledShaders[MainVertexShader]);
- simpleShaderProg->addShader(compiledShaders[PositionOnlyVertexShader]);
- simpleShaderProg->addShader(compiledShaders[MainFragmentShader]);
- simpleShaderProg->addShader(compiledShaders[ShockingPinkSrcFragmentShader]);
+ simpleShaderProg->addShader(vertexShader);
+ simpleShaderProg->addShader(fragShader);
simpleShaderProg->bindAttributeLocation("vertexCoordsArray", QT_VERTEX_COORDS_ATTR);
simpleShaderProg->link();
if (!simpleShaderProg->isLinked()) {
@@ -181,152 +189,159 @@ QGLEngineSharedShaders::QGLEngineSharedShaders(const QGLContext* context)
}
// Compile the blit shader:
+ source.clear();
+ source.append(qShaderSnippets[MainWithTexCoordsVertexShader]);
+ source.append(qShaderSnippets[UntransformedPositionVertexShader]);
+ vertexShader = new QGLShader(QGLShader::Vertex, context, this);
+ vertexShader->compileSourceCode(source);
+
+ source.clear();
+ source.append(qShaderSnippets[MainFragmentShader]);
+ source.append(qShaderSnippets[ImageSrcFragmentShader]);
+ fragShader = new QGLShader(QGLShader::Fragment, context, this);
+ fragShader->compileSourceCode(source);
+
blitShaderProg = new QGLShaderProgram(context, this);
- compileNamedShader(MainWithTexCoordsVertexShader, QGLShader::PartialVertexShader);
- compileNamedShader(UntransformedPositionVertexShader, QGLShader::PartialVertexShader);
- compileNamedShader(MainFragmentShader, QGLShader::PartialFragmentShader);
- compileNamedShader(ImageSrcFragmentShader, QGLShader::PartialFragmentShader);
- blitShaderProg->addShader(compiledShaders[MainWithTexCoordsVertexShader]);
- blitShaderProg->addShader(compiledShaders[UntransformedPositionVertexShader]);
- blitShaderProg->addShader(compiledShaders[MainFragmentShader]);
- blitShaderProg->addShader(compiledShaders[ImageSrcFragmentShader]);
+ blitShaderProg->addShader(vertexShader);
+ blitShaderProg->addShader(fragShader);
blitShaderProg->bindAttributeLocation("textureCoordArray", QT_TEXTURE_COORDS_ATTR);
blitShaderProg->bindAttributeLocation("vertexCoordsArray", QT_VERTEX_COORDS_ATTR);
blitShaderProg->link();
if (!blitShaderProg->isLinked()) {
qCritical() << "Errors linking blit shader:"
- << blitShaderProg->log();
- }
-}
-
-void QGLEngineSharedShaders::shaderDestroyed(QObject *shader)
-{
- // Remove any shader programs which has this as the srcPixel shader:
- for (int i = 0; i < cachedPrograms.size(); ++i) {
- if (cachedPrograms.at(i).srcPixelFragShader == shader) {
- delete cachedPrograms.at(i).program;
- cachedPrograms.removeAt(i--);
- }
+ << simpleShaderProg->log();
}
- emit shaderProgNeedsChanging();
}
-QGLShader *QGLEngineSharedShaders::compileNamedShader(ShaderName name, QGLShader::ShaderType type)
+#if defined (QT_DEBUG)
+QByteArray QGLEngineSharedShaders::snippetNameStr(SnippetName name)
{
- Q_ASSERT(name != CustomImageSrcFragmentShader);
- Q_ASSERT(name < InvalidShaderName);
-
- if (compiledShaders[name])
- return compiledShaders[name];
-
- QByteArray source = qglEngineShaderSourceCode[name];
- QGLShader *newShader = new QGLShader(type, ctxGuard.context(), this);
- newShader->compile(source);
-
-#if defined(QT_DEBUG)
- // Name the shader for easier debugging
- QMetaEnum m = staticMetaObject.enumerator(staticMetaObject.indexOfEnumerator("ShaderName"));
- newShader->setObjectName(QLatin1String(m.valueToKey(name)));
-#endif
-
- compiledShaders[name] = newShader;
- return newShader;
+ QMetaEnum m = staticMetaObject.enumerator(staticMetaObject.indexOfEnumerator("SnippetName"));
+ return QByteArray(m.valueToKey(name));
}
-
-QGLShader *QGLEngineSharedShaders::compileCustomShader(QGLCustomShaderStage *stage, QGLShader::ShaderType type)
-{
- QByteArray source = stage->source();
- source += qglslCustomSrcFragmentShader;
-
- QGLShader *newShader = customShaderCache.object(source);
- if (newShader)
- return newShader;
-
- newShader = new QGLShader(type, ctxGuard.context(), this);
- newShader->compile(source);
- customShaderCache.insert(source, newShader);
-
- connect(newShader, SIGNAL(destroyed(QObject *)),
- this, SLOT(shaderDestroyed(QObject *)));
-
-#if defined(QT_DEBUG)
- // Name the shader for easier debugging
- QMetaEnum m = staticMetaObject.enumerator(staticMetaObject.indexOfEnumerator("ShaderName"));
- newShader->setObjectName(QLatin1String(m.valueToKey(CustomImageSrcFragmentShader)));
#endif
- return newShader;
-}
-
// The address returned here will only be valid until next time this function is called.
QGLEngineShaderProg *QGLEngineSharedShaders::findProgramInCache(const QGLEngineShaderProg &prog)
{
for (int i = 0; i < cachedPrograms.size(); ++i) {
- if (cachedPrograms[i] == prog)
- return &cachedPrograms[i];
+ QGLEngineShaderProg *cachedProg = cachedPrograms[i];
+ if (*cachedProg == prog) {
+ // Move the program to the top of the list as a poor-man's cache algo
+ cachedPrograms.move(i, 0);
+ return cachedProg;
+ }
}
- cachedPrograms.append(prog);
- QGLEngineShaderProg &cached = cachedPrograms.last();
+ QByteArray source;
+ source.append(qShaderSnippets[prog.mainFragShader]);
+ source.append(qShaderSnippets[prog.srcPixelFragShader]);
+ if (prog.srcPixelFragShader == CustomImageSrcFragmentShader)
+ source.append(prog.customStageSource);
+ if (prog.compositionFragShader)
+ source.append(qShaderSnippets[prog.compositionFragShader]);
+ if (prog.maskFragShader)
+ source.append(qShaderSnippets[prog.maskFragShader]);
+ QGLShader* fragShader = new QGLShader(QGLShader::Fragment, ctxGuard.context(), this);
+ fragShader->compileSourceCode(source);
+
+ source.clear();
+ source.append(qShaderSnippets[prog.mainVertexShader]);
+ source.append(qShaderSnippets[prog.positionVertexShader]);
+ QGLShader* vertexShader = new QGLShader(QGLShader::Vertex, ctxGuard.context(), this);
+ vertexShader->compileSourceCode(source);
+
+#if defined(QT_DEBUG)
+ // Name the shaders for easier debugging
+ QByteArray description;
+ description.append("Fragment shader: main=");
+ description.append(snippetNameStr(prog.mainFragShader));
+ description.append(", srcPixel=");
+ description.append(snippetNameStr(prog.srcPixelFragShader));
+ if (prog.compositionFragShader) {
+ description.append(", composition=");
+ description.append(snippetNameStr(prog.compositionFragShader));
+ }
+ if (prog.maskFragShader) {
+ description.append(", mask=");
+ description.append(snippetNameStr(prog.maskFragShader));
+ }
+ fragShader->setObjectName(QString::fromLatin1(description));
+
+ description.clear();
+ description.append("Vertex shader: main=");
+ description.append(snippetNameStr(prog.mainVertexShader));
+ description.append(", position=");
+ description.append(snippetNameStr(prog.positionVertexShader));
+ vertexShader->setObjectName(QString::fromLatin1(description));
+#endif
+
+ QGLEngineShaderProg* newProg = new QGLEngineShaderProg(prog);
// If the shader program's not found in the cache, create it now.
- cached.program = new QGLShaderProgram(ctxGuard.context(), this);
- cached.program->addShader(cached.mainVertexShader);
- cached.program->addShader(cached.positionVertexShader);
- cached.program->addShader(cached.mainFragShader);
- cached.program->addShader(cached.srcPixelFragShader);
- cached.program->addShader(cached.maskFragShader);
- cached.program->addShader(cached.compositionFragShader);
+ newProg->program = new QGLShaderProgram(ctxGuard.context(), this);
+ newProg->program->addShader(vertexShader);
+ newProg->program->addShader(fragShader);
// We have to bind the vertex attribute names before the program is linked:
- cached.program->bindAttributeLocation("vertexCoordsArray", QT_VERTEX_COORDS_ATTR);
- if (cached.useTextureCoords)
- cached.program->bindAttributeLocation("textureCoordArray", QT_TEXTURE_COORDS_ATTR);
- if (cached.useOpacityAttribute)
- cached.program->bindAttributeLocation("opacityArray", QT_OPACITY_ATTR);
-
- cached.program->link();
- if (!cached.program->isLinked()) {
+ newProg->program->bindAttributeLocation("vertexCoordsArray", QT_VERTEX_COORDS_ATTR);
+ if (newProg->useTextureCoords)
+ newProg->program->bindAttributeLocation("textureCoordArray", QT_TEXTURE_COORDS_ATTR);
+ if (newProg->useOpacityAttribute)
+ newProg->program->bindAttributeLocation("opacityArray", QT_OPACITY_ATTR);
+
+ newProg->program->link();
+ if (!newProg->program->isLinked()) {
QLatin1String none("none");
QLatin1String br("\n");
QString error;
error = QLatin1String("Shader program failed to link,")
#if defined(QT_DEBUG)
+ br
- + QLatin1String(" Shaders Used:\n")
- + QLatin1String(" mainVertexShader = ")
- + (cached.mainVertexShader ?
- cached.mainVertexShader->objectName() : none) + br
- + QLatin1String(" positionVertexShader = ")
- + (cached.positionVertexShader ?
- cached.positionVertexShader->objectName() : none) + br
- + QLatin1String(" mainFragShader = ")
- + (cached.mainFragShader ?
- cached.mainFragShader->objectName() : none) + br
- + QLatin1String(" srcPixelFragShader = ")
- + (cached.srcPixelFragShader ?
- cached.srcPixelFragShader->objectName() : none) + br
- + QLatin1String(" maskFragShader = ")
- + (cached.maskFragShader ?
- cached.maskFragShader->objectName() : none) + br
- + QLatin1String(" compositionFragShader = ")
- + (cached.compositionFragShader ?
- cached.compositionFragShader->objectName() : none) + br
+ + QLatin1String(" Shaders Used:") + br
+ + QLatin1String(" ") + vertexShader->objectName() + QLatin1String(": ") + br
+ + QLatin1String(vertexShader->sourceCode()) + br
+ + QLatin1String(" ") + fragShader->objectName() + QLatin1String(": ") + br
+ + QLatin1String(fragShader->sourceCode()) + br
#endif
+ QLatin1String(" Error Log:\n")
- + QLatin1String(" ") + cached.program->log();
+ + QLatin1String(" ") + newProg->program->log();
qWarning() << error;
- delete cached.program;
- cachedPrograms.removeLast();
- return 0;
- } else {
- // taking the address here is safe since
- // cachePrograms isn't resized anywhere else
- return &cached;
+ delete newProg; // Deletes the QGLShaderProgram in it's destructor
+ newProg = 0;
}
+ else {
+ if (cachedPrograms.count() > 30) {
+ // The cache is full, so delete the last 5 programs in the list.
+ // These programs will be least used, as a program us bumped to
+ // the top of the list when it's used.
+ for (int i = 0; i < 5; ++i) {
+ delete cachedPrograms.last();
+ cachedPrograms.removeLast();
+ }
+ }
+
+ cachedPrograms.insert(0, newProg);
+ }
+
+ return newProg;
}
+void QGLEngineSharedShaders::cleanupCustomStage(QGLCustomShaderStage* stage)
+{
+ // Remove any shader programs which has this as the custom shader src:
+ for (int i = 0; i < cachedPrograms.size(); ++i) {
+ QGLEngineShaderProg *cachedProg = cachedPrograms[i];
+ if (cachedProg->customStageSource == stage->source()) {
+ delete cachedProg;
+ cachedPrograms.removeAt(i);
+ i--;
+ }
+ }
+}
+
+
QGLEngineShaderManager::QGLEngineShaderManager(QGLContext* context)
: ctx(context),
shaderProgNeedsChanging(true),
@@ -335,8 +350,7 @@ QGLEngineShaderManager::QGLEngineShaderManager(QGLContext* context)
maskType(NoMask),
compositionMode(QPainter::CompositionMode_SourceOver),
customSrcStage(0),
- currentShaderProg(0),
- customShader(0)
+ currentShaderProg(0)
{
sharedShaders = QGLEngineSharedShaders::shadersForContext(context);
connect(sharedShaders, SIGNAL(shaderProgNeedsChanging()), this, SLOT(shaderProgNeedsChangingSlot()));
@@ -345,6 +359,7 @@ QGLEngineShaderManager::QGLEngineShaderManager(QGLContext* context)
QGLEngineShaderManager::~QGLEngineShaderManager()
{
//###
+ removeCustomStage();
}
uint QGLEngineShaderManager::getUniformLocation(Uniform id)
@@ -436,21 +451,20 @@ void QGLEngineShaderManager::setCompositionMode(QPainter::CompositionMode mode)
void QGLEngineShaderManager::setCustomStage(QGLCustomShaderStage* stage)
{
+ if (customSrcStage)
+ removeCustomStage();
customSrcStage = stage;
- customShader = 0; // Will be compiled from 'customSrcStage' later.
shaderProgNeedsChanging = true;
}
-void QGLEngineShaderManager::removeCustomStage(QGLCustomShaderStage* stage)
+void QGLEngineShaderManager::removeCustomStage()
{
- Q_UNUSED(stage); // Currently we only support one at a time...
-
+ if (customSrcStage)
+ customSrcStage->setInactive();
customSrcStage = 0;
- customShader = 0;
shaderProgNeedsChanging = true;
}
-
QGLShaderProgram* QGLEngineShaderManager::currentProgram()
{
return currentShaderProg->program;
@@ -476,28 +490,27 @@ bool QGLEngineShaderManager::useCorrectShaderProg()
return false;
bool useCustomSrc = customSrcStage != 0;
- if (useCustomSrc && srcPixelType != QGLEngineShaderManager::ImageSrc) {
+ if (useCustomSrc && srcPixelType != QGLEngineShaderManager::ImageSrc && srcPixelType != Qt::TexturePattern) {
useCustomSrc = false;
qWarning("QGLEngineShaderManager - Ignoring custom shader stage for non image src");
}
QGLEngineShaderProg requiredProgram;
- requiredProgram.program = 0;
bool texCoords = false;
// Choose vertex shader shader position function (which typically also sets
// varyings) and the source pixel (srcPixel) fragment shader function:
- QGLEngineSharedShaders::ShaderName positionVertexShaderName = QGLEngineSharedShaders::InvalidShaderName;
- QGLEngineSharedShaders::ShaderName srcPixelFragShaderName = QGLEngineSharedShaders::InvalidShaderName;
+ requiredProgram.positionVertexShader = QGLEngineSharedShaders::InvalidSnippetName;
+ requiredProgram.srcPixelFragShader = QGLEngineSharedShaders::InvalidSnippetName;
bool isAffine = brushTransform.isAffine();
if ( (srcPixelType >= Qt::Dense1Pattern) && (srcPixelType <= Qt::DiagCrossPattern) ) {
if (isAffine)
- positionVertexShaderName = QGLEngineSharedShaders::AffinePositionWithPatternBrushVertexShader;
+ requiredProgram.positionVertexShader = QGLEngineSharedShaders::AffinePositionWithPatternBrushVertexShader;
else
- positionVertexShaderName = QGLEngineSharedShaders::PositionWithPatternBrushVertexShader;
+ requiredProgram.positionVertexShader = QGLEngineSharedShaders::PositionWithPatternBrushVertexShader;
- srcPixelFragShaderName = QGLEngineSharedShaders::PatternBrushSrcFragmentShader;
+ requiredProgram.srcPixelFragShader = QGLEngineSharedShaders::PatternBrushSrcFragmentShader;
}
else switch (srcPixelType) {
default:
@@ -505,177 +518,162 @@ bool QGLEngineShaderManager::useCorrectShaderProg()
qFatal("QGLEngineShaderManager::useCorrectShaderProg() - Qt::NoBrush style is set");
break;
case QGLEngineShaderManager::ImageSrc:
- srcPixelFragShaderName = QGLEngineSharedShaders::ImageSrcFragmentShader;
- positionVertexShaderName = QGLEngineSharedShaders::PositionOnlyVertexShader;
+ requiredProgram.srcPixelFragShader = QGLEngineSharedShaders::ImageSrcFragmentShader;
+ requiredProgram.positionVertexShader = QGLEngineSharedShaders::PositionOnlyVertexShader;
texCoords = true;
break;
case QGLEngineShaderManager::NonPremultipliedImageSrc:
- srcPixelFragShaderName = QGLEngineSharedShaders::NonPremultipliedImageSrcFragmentShader;
- positionVertexShaderName = QGLEngineSharedShaders::PositionOnlyVertexShader;
+ requiredProgram.srcPixelFragShader = QGLEngineSharedShaders::NonPremultipliedImageSrcFragmentShader;
+ requiredProgram.positionVertexShader = QGLEngineSharedShaders::PositionOnlyVertexShader;
texCoords = true;
break;
case QGLEngineShaderManager::PatternSrc:
- srcPixelFragShaderName = QGLEngineSharedShaders::ImageSrcWithPatternFragmentShader;
- positionVertexShaderName = QGLEngineSharedShaders::PositionOnlyVertexShader;
+ requiredProgram.srcPixelFragShader = QGLEngineSharedShaders::ImageSrcWithPatternFragmentShader;
+ requiredProgram.positionVertexShader = QGLEngineSharedShaders::PositionOnlyVertexShader;
texCoords = true;
break;
case QGLEngineShaderManager::TextureSrcWithPattern:
- srcPixelFragShaderName = QGLEngineSharedShaders::TextureBrushSrcWithPatternFragmentShader;
- positionVertexShaderName = isAffine ? QGLEngineSharedShaders::AffinePositionWithTextureBrushVertexShader
+ requiredProgram.srcPixelFragShader = QGLEngineSharedShaders::TextureBrushSrcWithPatternFragmentShader;
+ requiredProgram.positionVertexShader = isAffine ? QGLEngineSharedShaders::AffinePositionWithTextureBrushVertexShader
: QGLEngineSharedShaders::PositionWithTextureBrushVertexShader;
break;
case Qt::SolidPattern:
- srcPixelFragShaderName = QGLEngineSharedShaders::SolidBrushSrcFragmentShader;
- positionVertexShaderName = QGLEngineSharedShaders::PositionOnlyVertexShader;
+ requiredProgram.srcPixelFragShader = QGLEngineSharedShaders::SolidBrushSrcFragmentShader;
+ requiredProgram.positionVertexShader = QGLEngineSharedShaders::PositionOnlyVertexShader;
break;
case Qt::LinearGradientPattern:
- srcPixelFragShaderName = QGLEngineSharedShaders::LinearGradientBrushSrcFragmentShader;
- positionVertexShaderName = isAffine ? QGLEngineSharedShaders::AffinePositionWithLinearGradientBrushVertexShader
+ requiredProgram.srcPixelFragShader = QGLEngineSharedShaders::LinearGradientBrushSrcFragmentShader;
+ requiredProgram.positionVertexShader = isAffine ? QGLEngineSharedShaders::AffinePositionWithLinearGradientBrushVertexShader
: QGLEngineSharedShaders::PositionWithLinearGradientBrushVertexShader;
break;
case Qt::ConicalGradientPattern:
- srcPixelFragShaderName = QGLEngineSharedShaders::ConicalGradientBrushSrcFragmentShader;
- positionVertexShaderName = isAffine ? QGLEngineSharedShaders::AffinePositionWithConicalGradientBrushVertexShader
+ requiredProgram.srcPixelFragShader = QGLEngineSharedShaders::ConicalGradientBrushSrcFragmentShader;
+ requiredProgram.positionVertexShader = isAffine ? QGLEngineSharedShaders::AffinePositionWithConicalGradientBrushVertexShader
: QGLEngineSharedShaders::PositionWithConicalGradientBrushVertexShader;
break;
case Qt::RadialGradientPattern:
- srcPixelFragShaderName = QGLEngineSharedShaders::RadialGradientBrushSrcFragmentShader;
- positionVertexShaderName = isAffine ? QGLEngineSharedShaders::AffinePositionWithRadialGradientBrushVertexShader
+ requiredProgram.srcPixelFragShader = QGLEngineSharedShaders::RadialGradientBrushSrcFragmentShader;
+ requiredProgram.positionVertexShader = isAffine ? QGLEngineSharedShaders::AffinePositionWithRadialGradientBrushVertexShader
: QGLEngineSharedShaders::PositionWithRadialGradientBrushVertexShader;
break;
case Qt::TexturePattern:
- srcPixelFragShaderName = QGLEngineSharedShaders::TextureBrushSrcFragmentShader;
- positionVertexShaderName = isAffine ? QGLEngineSharedShaders::AffinePositionWithTextureBrushVertexShader
+ requiredProgram.srcPixelFragShader = QGLEngineSharedShaders::TextureBrushSrcFragmentShader;
+ requiredProgram.positionVertexShader = isAffine ? QGLEngineSharedShaders::AffinePositionWithTextureBrushVertexShader
: QGLEngineSharedShaders::PositionWithTextureBrushVertexShader;
break;
};
- requiredProgram.positionVertexShader = sharedShaders->compileNamedShader(positionVertexShaderName, QGLShader::PartialVertexShader);
+
if (useCustomSrc) {
- if (!customShader)
- customShader = sharedShaders->compileCustomShader(customSrcStage, QGLShader::PartialFragmentShader);
- requiredProgram.srcPixelFragShader = customShader;
- } else {
- requiredProgram.srcPixelFragShader = sharedShaders->compileNamedShader(srcPixelFragShaderName, QGLShader::PartialFragmentShader);
+ requiredProgram.srcPixelFragShader = QGLEngineSharedShaders::CustomImageSrcFragmentShader;
+ requiredProgram.customStageSource = customSrcStage->source();
}
const bool hasCompose = compositionMode > QPainter::CompositionMode_Plus;
const bool hasMask = maskType != QGLEngineShaderManager::NoMask;
// Choose fragment shader main function:
- QGLEngineSharedShaders::ShaderName mainFragShaderName;
-
if (opacityMode == AttributeOpacity) {
Q_ASSERT(!hasCompose && !hasMask);
- mainFragShaderName = QGLEngineSharedShaders::MainFragmentShader_ImageArrays;
+ requiredProgram.mainFragShader = QGLEngineSharedShaders::MainFragmentShader_ImageArrays;
} else {
bool useGlobalOpacity = (opacityMode == UniformOpacity);
if (hasCompose && hasMask && useGlobalOpacity)
- mainFragShaderName = QGLEngineSharedShaders::MainFragmentShader_CMO;
+ requiredProgram.mainFragShader = QGLEngineSharedShaders::MainFragmentShader_CMO;
if (hasCompose && hasMask && !useGlobalOpacity)
- mainFragShaderName = QGLEngineSharedShaders::MainFragmentShader_CM;
+ requiredProgram.mainFragShader = QGLEngineSharedShaders::MainFragmentShader_CM;
if (!hasCompose && hasMask && useGlobalOpacity)
- mainFragShaderName = QGLEngineSharedShaders::MainFragmentShader_MO;
+ requiredProgram.mainFragShader = QGLEngineSharedShaders::MainFragmentShader_MO;
if (!hasCompose && hasMask && !useGlobalOpacity)
- mainFragShaderName = QGLEngineSharedShaders::MainFragmentShader_M;
+ requiredProgram.mainFragShader = QGLEngineSharedShaders::MainFragmentShader_M;
if (hasCompose && !hasMask && useGlobalOpacity)
- mainFragShaderName = QGLEngineSharedShaders::MainFragmentShader_CO;
+ requiredProgram.mainFragShader = QGLEngineSharedShaders::MainFragmentShader_CO;
if (hasCompose && !hasMask && !useGlobalOpacity)
- mainFragShaderName = QGLEngineSharedShaders::MainFragmentShader_C;
+ requiredProgram.mainFragShader = QGLEngineSharedShaders::MainFragmentShader_C;
if (!hasCompose && !hasMask && useGlobalOpacity)
- mainFragShaderName = QGLEngineSharedShaders::MainFragmentShader_O;
+ requiredProgram.mainFragShader = QGLEngineSharedShaders::MainFragmentShader_O;
if (!hasCompose && !hasMask && !useGlobalOpacity)
- mainFragShaderName = QGLEngineSharedShaders::MainFragmentShader;
+ requiredProgram.mainFragShader = QGLEngineSharedShaders::MainFragmentShader;
}
- requiredProgram.mainFragShader = sharedShaders->compileNamedShader(mainFragShaderName, QGLShader::PartialFragmentShader);
-
if (hasMask) {
- QGLEngineSharedShaders::ShaderName maskShaderName = QGLEngineSharedShaders::InvalidShaderName;
if (maskType == PixelMask) {
- maskShaderName = QGLEngineSharedShaders::MaskFragmentShader;
+ requiredProgram.maskFragShader = QGLEngineSharedShaders::MaskFragmentShader;
texCoords = true;
} else if (maskType == SubPixelMaskPass1) {
- maskShaderName = QGLEngineSharedShaders::RgbMaskFragmentShaderPass1;
+ requiredProgram.maskFragShader = QGLEngineSharedShaders::RgbMaskFragmentShaderPass1;
texCoords = true;
} else if (maskType == SubPixelMaskPass2) {
- maskShaderName = QGLEngineSharedShaders::RgbMaskFragmentShaderPass2;
+ requiredProgram.maskFragShader = QGLEngineSharedShaders::RgbMaskFragmentShaderPass2;
texCoords = true;
} else if (maskType == SubPixelWithGammaMask) {
- maskShaderName = QGLEngineSharedShaders::RgbMaskWithGammaFragmentShader;
+ requiredProgram.maskFragShader = QGLEngineSharedShaders::RgbMaskWithGammaFragmentShader;
texCoords = true;
} else {
qCritical("QGLEngineShaderManager::useCorrectShaderProg() - Unknown mask type");
}
-
- requiredProgram.maskFragShader = sharedShaders->compileNamedShader(maskShaderName, QGLShader::PartialFragmentShader);
} else {
- requiredProgram.maskFragShader = 0;
+ requiredProgram.maskFragShader = QGLEngineSharedShaders::NoMaskFragmentShader;
}
if (hasCompose) {
- QGLEngineSharedShaders::ShaderName compositionShaderName = QGLEngineSharedShaders::InvalidShaderName;
switch (compositionMode) {
case QPainter::CompositionMode_Multiply:
- compositionShaderName = QGLEngineSharedShaders::MultiplyCompositionModeFragmentShader;
+ requiredProgram.compositionFragShader = QGLEngineSharedShaders::MultiplyCompositionModeFragmentShader;
break;
case QPainter::CompositionMode_Screen:
- compositionShaderName = QGLEngineSharedShaders::ScreenCompositionModeFragmentShader;
+ requiredProgram.compositionFragShader = QGLEngineSharedShaders::ScreenCompositionModeFragmentShader;
break;
case QPainter::CompositionMode_Overlay:
- compositionShaderName = QGLEngineSharedShaders::OverlayCompositionModeFragmentShader;
+ requiredProgram.compositionFragShader = QGLEngineSharedShaders::OverlayCompositionModeFragmentShader;
break;
case QPainter::CompositionMode_Darken:
- compositionShaderName = QGLEngineSharedShaders::DarkenCompositionModeFragmentShader;
+ requiredProgram.compositionFragShader = QGLEngineSharedShaders::DarkenCompositionModeFragmentShader;
break;
case QPainter::CompositionMode_Lighten:
- compositionShaderName = QGLEngineSharedShaders::LightenCompositionModeFragmentShader;
+ requiredProgram.compositionFragShader = QGLEngineSharedShaders::LightenCompositionModeFragmentShader;
break;
case QPainter::CompositionMode_ColorDodge:
- compositionShaderName = QGLEngineSharedShaders::ColorDodgeCompositionModeFragmentShader;
+ requiredProgram.compositionFragShader = QGLEngineSharedShaders::ColorDodgeCompositionModeFragmentShader;
break;
case QPainter::CompositionMode_ColorBurn:
- compositionShaderName = QGLEngineSharedShaders::ColorBurnCompositionModeFragmentShader;
+ requiredProgram.compositionFragShader = QGLEngineSharedShaders::ColorBurnCompositionModeFragmentShader;
break;
case QPainter::CompositionMode_HardLight:
- compositionShaderName = QGLEngineSharedShaders::HardLightCompositionModeFragmentShader;
+ requiredProgram.compositionFragShader = QGLEngineSharedShaders::HardLightCompositionModeFragmentShader;
break;
case QPainter::CompositionMode_SoftLight:
- compositionShaderName = QGLEngineSharedShaders::SoftLightCompositionModeFragmentShader;
+ requiredProgram.compositionFragShader = QGLEngineSharedShaders::SoftLightCompositionModeFragmentShader;
break;
case QPainter::CompositionMode_Difference:
- compositionShaderName = QGLEngineSharedShaders::DifferenceCompositionModeFragmentShader;
+ requiredProgram.compositionFragShader = QGLEngineSharedShaders::DifferenceCompositionModeFragmentShader;
break;
case QPainter::CompositionMode_Exclusion:
- compositionShaderName = QGLEngineSharedShaders::ExclusionCompositionModeFragmentShader;
+ requiredProgram.compositionFragShader = QGLEngineSharedShaders::ExclusionCompositionModeFragmentShader;
break;
default:
qWarning("QGLEngineShaderManager::useCorrectShaderProg() - Unsupported composition mode");
}
- requiredProgram.compositionFragShader = sharedShaders->compileNamedShader(compositionShaderName, QGLShader::PartialFragmentShader);
} else {
- requiredProgram.compositionFragShader = 0;
+ requiredProgram.compositionFragShader = QGLEngineSharedShaders::NoCompositionModeFragmentShader;
}
- // Choose vertex shader main function
- QGLEngineSharedShaders::ShaderName mainVertexShaderName = QGLEngineSharedShaders::InvalidShaderName;
+ // Choose vertex shader main function
if (opacityMode == AttributeOpacity) {
Q_ASSERT(texCoords);
- mainVertexShaderName = QGLEngineSharedShaders::MainWithTexCoordsAndOpacityVertexShader;
+ requiredProgram.mainVertexShader = QGLEngineSharedShaders::MainWithTexCoordsAndOpacityVertexShader;
} else if (texCoords) {
- mainVertexShaderName = QGLEngineSharedShaders::MainWithTexCoordsVertexShader;
+ requiredProgram.mainVertexShader = QGLEngineSharedShaders::MainWithTexCoordsVertexShader;
} else {
- mainVertexShaderName = QGLEngineSharedShaders::MainVertexShader;
+ requiredProgram.mainVertexShader = QGLEngineSharedShaders::MainVertexShader;
}
- requiredProgram.mainVertexShader = sharedShaders->compileNamedShader(mainVertexShaderName, QGLShader::PartialVertexShader);
requiredProgram.useTextureCoords = texCoords;
requiredProgram.useOpacityAttribute = (opacityMode == AttributeOpacity);
-
// At this point, requiredProgram is fully populated so try to find the program in the cache
currentShaderProg = sharedShaders->findProgramInCache(requiredProgram);
if (currentShaderProg) {
- currentShaderProg->program->enable();
+ currentShaderProg->program->bind();
if (useCustomSrc)
customSrcStage->setUniforms(currentShaderProg->program);
}
diff --git a/src/opengl/gl2paintengineex/qglengineshadermanager_p.h b/src/opengl/gl2paintengineex/qglengineshadermanager_p.h
index 291d24c..50c1432 100644
--- a/src/opengl/gl2paintengineex/qglengineshadermanager_p.h
+++ b/src/opengl/gl2paintengineex/qglengineshadermanager_p.h
@@ -234,32 +234,6 @@ QT_BEGIN_NAMESPACE
QT_MODULE(OpenGL)
-struct QGLEngineShaderProg
-{
- QGLShader* mainVertexShader;
- QGLShader* positionVertexShader;
- QGLShader* mainFragShader;
- QGLShader* srcPixelFragShader;
- QGLShader* maskFragShader; // Can be null for no mask
- QGLShader* compositionFragShader; // Can be null for GL-handled mode
- QGLShaderProgram* program;
-
- QVector<uint> uniformLocations;
-
- bool useTextureCoords;
- bool useOpacityAttribute;
-
- bool operator==(const QGLEngineShaderProg& other) {
- // We don't care about the program
- return ( mainVertexShader == other.mainVertexShader &&
- positionVertexShader == other.positionVertexShader &&
- mainFragShader == other.mainFragShader &&
- srcPixelFragShader == other.srcPixelFragShader &&
- maskFragShader == other.maskFragShader &&
- compositionFragShader == other.compositionFragShader
- );
- }
-};
/*
struct QGLEngineCachedShaderProg
@@ -280,15 +254,19 @@ static const GLuint QT_VERTEX_COORDS_ATTR = 0;
static const GLuint QT_TEXTURE_COORDS_ATTR = 1;
static const GLuint QT_OPACITY_ATTR = 2;
+class QGLEngineShaderProg;
+
class QGLEngineSharedShaders : public QObject
{
Q_OBJECT
public:
- enum ShaderName {
+
+ enum SnippetName {
MainVertexShader,
MainWithTexCoordsVertexShader,
MainWithTexCoordsAndOpacityVertexShader,
+ // UntransformedPositionVertexShader must be first in the list:
UntransformedPositionVertexShader,
PositionOnlyVertexShader,
PositionWithPatternBrushVertexShader,
@@ -302,6 +280,7 @@ public:
AffinePositionWithRadialGradientBrushVertexShader,
AffinePositionWithTextureBrushVertexShader,
+ // MainFragmentShader_CMO must be first in the list:
MainFragmentShader_CMO,
MainFragmentShader_CM,
MainFragmentShader_MO,
@@ -312,6 +291,7 @@ public:
MainFragmentShader,
MainFragmentShader_ImageArrays,
+ // ImageSrcFragmentShader must be first in the list::
ImageSrcFragmentShader,
ImageSrcWithPatternFragmentShader,
NonPremultipliedImageSrcFragmentShader,
@@ -325,11 +305,15 @@ public:
ConicalGradientBrushSrcFragmentShader,
ShockingPinkSrcFragmentShader,
+ // NoMaskFragmentShader must be first in the list:
+ NoMaskFragmentShader,
MaskFragmentShader,
RgbMaskFragmentShaderPass1,
RgbMaskFragmentShaderPass2,
RgbMaskWithGammaFragmentShader,
+ // NoCompositionModeFragmentShader must be first in the list:
+ NoCompositionModeFragmentShader,
MultiplyCompositionModeFragmentShader,
ScreenCompositionModeFragmentShader,
OverlayCompositionModeFragmentShader,
@@ -342,37 +326,88 @@ public:
DifferenceCompositionModeFragmentShader,
ExclusionCompositionModeFragmentShader,
- TotalShaderCount, InvalidShaderName
+ TotalSnippetCount, InvalidSnippetName
};
+#if defined (QT_DEBUG)
+ Q_ENUMS(SnippetName)
+ static QByteArray snippetNameStr(SnippetName snippetName);
+#endif
- QGLEngineSharedShaders(const QGLContext *context);
+/*
+ // These allow the ShaderName enum to be used as a cache key
+ const int mainVertexOffset = 0;
+ const int positionVertexOffset = (1<<2) - PositionOnlyVertexShader;
+ const int mainFragOffset = (1<<6) - MainFragmentShader_CMO;
+ const int srcPixelOffset = (1<<10) - ImageSrcFragmentShader;
+ const int maskOffset = (1<<14) - NoMaskShader;
+ const int compositionOffset = (1 << 16) - MultiplyCompositionModeFragmentShader;
+*/
- QGLShader *compileNamedShader(ShaderName name, QGLShader::ShaderType type);
+ QGLEngineSharedShaders(const QGLContext *context);
QGLShaderProgram *simpleProgram() { return simpleShaderProg; }
QGLShaderProgram *blitProgram() { return blitShaderProg; }
// Compile the program if it's not already in the cache, return the item in the cache.
QGLEngineShaderProg *findProgramInCache(const QGLEngineShaderProg &prog);
// Compile the custom shader if it's not already in the cache, return the item in the cache.
- QGLShader *compileCustomShader(QGLCustomShaderStage *stage, QGLShader::ShaderType type);
static QGLEngineSharedShaders *shadersForContext(const QGLContext *context);
+ // Ideally, this would be static and cleanup all programs in all contexts which
+ // contain the custom code. Currently it is just a hint and we rely on deleted
+ // custom shaders being cleaned up by being kicked out of the cache when it's
+ // full.
+ void cleanupCustomStage(QGLCustomShaderStage* stage);
+
signals:
void shaderProgNeedsChanging();
-private slots:
- void shaderDestroyed(QObject *shader);
-
private:
QGLSharedResourceGuard ctxGuard;
QGLShaderProgram *blitShaderProg;
QGLShaderProgram *simpleShaderProg;
- QList<QGLEngineShaderProg> cachedPrograms;
- QCache<QByteArray, QGLShader> customShaderCache;
- QGLShader* compiledShaders[TotalShaderCount];
+ QList<QGLEngineShaderProg*> cachedPrograms;
- static const char* qglEngineShaderSourceCode[TotalShaderCount];
+ static const char* qShaderSnippets[TotalSnippetCount];
+};
+
+
+class QGLEngineShaderProg
+{
+public:
+ QGLEngineShaderProg() : program(0) {}
+
+ ~QGLEngineShaderProg() {
+ if (program)
+ delete program;
+ }
+
+ QGLEngineSharedShaders::SnippetName mainVertexShader;
+ QGLEngineSharedShaders::SnippetName positionVertexShader;
+ QGLEngineSharedShaders::SnippetName mainFragShader;
+ QGLEngineSharedShaders::SnippetName srcPixelFragShader;
+ QGLEngineSharedShaders::SnippetName maskFragShader;
+ QGLEngineSharedShaders::SnippetName compositionFragShader;
+
+ QByteArray customStageSource; //TODO: Decent cache key for custom stages
+ QGLShaderProgram* program;
+
+ QVector<uint> uniformLocations;
+
+ bool useTextureCoords;
+ bool useOpacityAttribute;
+
+ bool operator==(const QGLEngineShaderProg& other) {
+ // We don't care about the program
+ return ( mainVertexShader == other.mainVertexShader &&
+ positionVertexShader == other.positionVertexShader &&
+ mainFragShader == other.mainFragShader &&
+ srcPixelFragShader == other.srcPixelFragShader &&
+ maskFragShader == other.maskFragShader &&
+ compositionFragShader == other.compositionFragShader &&
+ customStageSource == other.customStageSource
+ );
+ }
};
class Q_OPENGL_EXPORT QGLEngineShaderManager : public QObject
@@ -426,7 +461,7 @@ public:
void setMaskType(MaskType);
void setCompositionMode(QPainter::CompositionMode);
void setCustomStage(QGLCustomShaderStage* stage);
- void removeCustomStage(QGLCustomShaderStage* stage);
+ void removeCustomStage();
uint getUniformLocation(Uniform id);
@@ -437,19 +472,7 @@ public:
QGLShaderProgram* simpleProgram(); // Used to draw into e.g. stencil buffers
QGLShaderProgram* blitProgram(); // Used to blit a texture into the framebuffer
-/*
- // These allow the ShaderName enum to be used as a cache key
- const int mainVertexOffset = 0;
- const int positionVertexOffset = (1<<2) - PositionOnlyVertexShader;
- const int mainFragOffset = (1<<6) - MainFragmentShader_CMO;
- const int srcPixelOffset = (1<<10) - ImageSrcFragmentShader;
- const int maskOffset = (1<<14) - NoMaskShader;
- const int compositionOffset = (1 << 16) - MultiplyCompositionModeFragmentShader;
-*/
-
-#if defined (QT_DEBUG)
- Q_ENUMS(ShaderName)
-#endif
+ QGLEngineSharedShaders* sharedShaders;
private slots:
void shaderProgNeedsChangingSlot() { shaderProgNeedsChanging = true; }
@@ -466,9 +489,7 @@ private:
QPainter::CompositionMode compositionMode;
QGLCustomShaderStage* customSrcStage;
- QGLEngineShaderProg* currentShaderProg;
- QGLEngineSharedShaders *sharedShaders;
- QGLShader *customShader;
+ QGLEngineShaderProg* currentShaderProg;
};
QT_END_NAMESPACE
diff --git a/src/opengl/gl2paintengineex/qglengineshadersource_p.h b/src/opengl/gl2paintengineex/qglengineshadersource_p.h
index 3eef808..2407979 100644
--- a/src/opengl/gl2paintengineex/qglengineshadersource_p.h
+++ b/src/opengl/gl2paintengineex/qglengineshadersource_p.h
@@ -258,7 +258,7 @@ static const char* const qglslPositionWithTextureBrushVertexShader = "\
uniform mediump vec2 halfViewportSize; \
uniform highp vec2 invertedTextureSize; \
uniform highp mat3 brushTransform; \
- varying highp vec2 brushTextureCoords; \
+ varying highp vec2 textureCoords; \
void setPosition(void) { \
gl_Position = pmvMatrix * vertexCoordsArray;\
gl_Position.xy = gl_Position.xy / gl_Position.w; \
@@ -267,7 +267,7 @@ static const char* const qglslPositionWithTextureBrushVertexShader = "\
mediump float invertedHTexCoordsZ = 1.0 / hTexCoords.z; \
gl_Position.xy = gl_Position.xy * invertedHTexCoordsZ; \
gl_Position.w = invertedHTexCoordsZ; \
- brushTextureCoords.xy = (hTexCoords.xy * invertedTextureSize) * gl_Position.w; \
+ textureCoords.xy = (hTexCoords.xy * invertedTextureSize) * gl_Position.w; \
}";
static const char* const qglslAffinePositionWithTextureBrushVertexShader
@@ -278,26 +278,26 @@ static const char* const qglslAffinePositionWithTextureBrushVertexShader
// we emulate GL_REPEAT by only taking the fractional part of the texture coords.
// TODO: Special case POT textures which don't need this emulation
static const char* const qglslTextureBrushSrcFragmentShader = "\
- varying highp vec2 brushTextureCoords; \
+ varying highp vec2 textureCoords; \
uniform lowp sampler2D brushTexture; \
lowp vec4 srcPixel() { \
- return texture2D(brushTexture, fract(brushTextureCoords)); \
+ return texture2D(brushTexture, fract(textureCoords)); \
}";
#else
static const char* const qglslTextureBrushSrcFragmentShader = "\
- varying highp vec2 brushTextureCoords; \
+ varying highp vec2 textureCoords; \
uniform lowp sampler2D brushTexture; \
lowp vec4 srcPixel() { \
- return texture2D(brushTexture, brushTextureCoords); \
+ return texture2D(brushTexture, textureCoords); \
}";
#endif
static const char* const qglslTextureBrushSrcWithPatternFragmentShader = "\
- varying highp vec2 brushTextureCoords; \
+ varying highp vec2 textureCoords; \
uniform lowp vec4 patternColor; \
uniform lowp sampler2D brushTexture; \
lowp vec4 srcPixel() { \
- return patternColor * (1.0 - texture2D(brushTexture, brushTextureCoords).r); \
+ return patternColor * (1.0 - texture2D(brushTexture, textureCoords).r); \
}";
// Solid Fill Brush
diff --git a/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp b/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp
index bcc6bdb..8228c7e 100644
--- a/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp
+++ b/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp
@@ -246,7 +246,7 @@ void QGLTextureGlyphCache::resizeTextureData(int width, int height)
glVertexAttribPointer(QT_VERTEX_COORDS_ATTR, 2, GL_FLOAT, GL_FALSE, 0, vertexCoordinateArray);
glVertexAttribPointer(QT_TEXTURE_COORDS_ATTR, 2, GL_FLOAT, GL_FALSE, 0, textureCoordinateArray);
- pex->shaderManager->blitProgram()->enable();
+ pex->shaderManager->blitProgram()->bind();
pex->shaderManager->blitProgram()->setUniformValue("imageTexture", QT_IMAGE_TEXTURE_UNIT);
pex->shaderManager->setDirty();
@@ -395,7 +395,7 @@ void QGL2PaintEngineExPrivate::setBrush(const QBrush* brush)
void QGL2PaintEngineExPrivate::useSimpleShader()
{
- shaderManager->simpleProgram()->enable();
+ shaderManager->simpleProgram()->bind();
shaderManager->setDirty();
if (matrixDirty)
@@ -535,7 +535,7 @@ void QGL2PaintEngineExPrivate::updateBrushUniforms()
shaderManager->currentProgram()->setUniformValue(location(QGLEngineShaderManager::PatternColor), col);
}
- QSizeF invertedTextureSize(1.0 / texPixmap.width(), 1.0 * textureInvertedY / texPixmap.height());
+ QSizeF invertedTextureSize(1.0 / texPixmap.width(), 1.0 / texPixmap.height());
shaderManager->currentProgram()->setUniformValue(location(QGLEngineShaderManager::InvertedTextureSize), invertedTextureSize);
QVector2D halfViewportSize(width*0.5, height*0.5);
@@ -550,7 +550,11 @@ void QGL2PaintEngineExPrivate::updateBrushUniforms()
QTransform translate(1, 0, 0, 1, -translationPoint.x(), -translationPoint.y());
QTransform gl_to_qt(1, 0, 0, -1, 0, height);
- QTransform inv_matrix = gl_to_qt * (brushQTransform * matrix).inverted() * translate;
+ QTransform inv_matrix;
+ if (style == Qt::TexturePattern && textureInvertedY == -1)
+ inv_matrix = gl_to_qt * (QTransform(1, 0, 0, -1, 0, currentBrush->texture().height()) * brushQTransform * matrix).inverted() * translate;
+ else
+ inv_matrix = gl_to_qt * (brushQTransform * matrix).inverted() * translate;
shaderManager->currentProgram()->setUniformValue(location(QGLEngineShaderManager::BrushTransform), inv_matrix);
shaderManager->currentProgram()->setUniformValue(location(QGLEngineShaderManager::BrushTexture), QT_BRUSH_TEXTURE_UNIT);
@@ -858,9 +862,7 @@ void QGL2PaintEngineExPrivate::fill(const QVectorPath& path)
QGLRect rect(points[0].x(), points[0].y(), points[2].x(), points[2].y());
prepareForDraw(currentBrush->isOpaque());
composite(rect);
- } else if (path.shape() == QVectorPath::EllipseHint
- || path.shape() == QVectorPath::ConvexPolygonHint)
- {
+ } else if (path.isConvex()) {
vertexCoordinateArray.clear();
vertexCoordinateArray.addPath(path, inverseScale, false);
prepareForDraw(currentBrush->isOpaque());
@@ -1201,7 +1203,9 @@ void QGL2PaintEngineEx::fill(const QVectorPath &path, const QBrush &brush)
ensureActive();
QOpenGL2PaintEngineState *s = state();
- bool doOffset = !(s->renderHints & QPainter::Antialiasing) && style == Qt::SolidPattern;
+ bool doOffset = !(s->renderHints & QPainter::Antialiasing) &&
+ (style == Qt::SolidPattern) &&
+ !d->multisamplingAlwaysEnabled;
if (doOffset) {
d->temporaryTransform = s->matrix;
@@ -1219,6 +1223,9 @@ void QGL2PaintEngineEx::fill(const QVectorPath &path, const QBrush &brush)
}
}
+extern bool qt_scaleForTransform(const QTransform &transform, qreal *scale); // qtransform.cpp
+
+
void QGL2PaintEngineEx::stroke(const QVectorPath &path, const QPen &pen)
{
Q_D(QGL2PaintEngineEx);
@@ -1229,10 +1236,15 @@ void QGL2PaintEngineEx::stroke(const QVectorPath &path, const QPen &pen)
return;
QOpenGL2PaintEngineState *s = state();
+ if (pen.isCosmetic() && !qt_scaleForTransform(s->transform(), 0)) {
+ // QTriangulatingStroker class is not meant to support cosmetically sheared strokes.
+ QPaintEngineEx::stroke(path, pen);
+ return;
+ }
ensureActive();
- bool doOffset = !(s->renderHints & QPainter::Antialiasing);
+ bool doOffset = !(s->renderHints & QPainter::Antialiasing) && !d->multisamplingAlwaysEnabled;
if (doOffset) {
d->temporaryTransform = s->matrix;
QTransform tx = QTransform::fromTranslate(0.49, .49);
@@ -1263,6 +1275,7 @@ void QGL2PaintEngineEx::stroke(const QVectorPath &path, const QPen &pen)
QGLContext *ctx = d->ctx;
+ Q_UNUSED(ctx);
if (opaque) {
d->prepareForDraw(opaque);
@@ -1769,6 +1782,14 @@ bool QGL2PaintEngineEx::begin(QPaintDevice *pdev)
}
#endif
+#if defined(QT_OPENGL_ES_2)
+ // OpenGL ES can't switch MSAA off, so if the gl paint device is
+ // multisampled, it's always multisampled.
+ d->multisamplingAlwaysEnabled = d->device->format().sampleBuffers();
+#else
+ d->multisamplingAlwaysEnabled = false;
+#endif
+
return true;
}
diff --git a/src/opengl/gl2paintengineex/qpaintengineex_opengl2_p.h b/src/opengl/gl2paintengineex/qpaintengineex_opengl2_p.h
index 209cd36..9720723 100644
--- a/src/opengl/gl2paintengineex/qpaintengineex_opengl2_p.h
+++ b/src/opengl/gl2paintengineex/qpaintengineex_opengl2_p.h
@@ -277,6 +277,7 @@ public:
bool needsSync;
bool inRenderText;
+ bool multisamplingAlwaysEnabled;
GLfloat depthRange[2];
@@ -289,6 +290,7 @@ public:
QScopedPointer<QPixmapFilter> convolutionFilter;
QScopedPointer<QPixmapFilter> colorizeFilter;
QScopedPointer<QPixmapFilter> blurFilter;
+ QScopedPointer<QPixmapFilter> animationBlurFilter;
QScopedPointer<QPixmapFilter> fastBlurFilter;
QScopedPointer<QPixmapFilter> dropShadowFilter;
QScopedPointer<QPixmapFilter> fastDropShadowFilter;
diff --git a/src/opengl/gl2paintengineex/qtriangulatingstroker.cpp b/src/opengl/gl2paintengineex/qtriangulatingstroker.cpp
index a3c8266..1163eba 100644
--- a/src/opengl/gl2paintengineex/qtriangulatingstroker.cpp
+++ b/src/opengl/gl2paintengineex/qtriangulatingstroker.cpp
@@ -42,6 +42,7 @@
#include "qtriangulatingstroker_p.h"
#include <qmath.h>
+QT_BEGIN_NAMESPACE
#define CURVE_FLATNESS Q_PI / 8
@@ -113,7 +114,7 @@ void QTriangulatingStroker::process(const QVectorPath &path, const QPen &pen)
if (m_join_style == Qt::RoundJoin)
m_join_style = Qt::MiterJoin;
m_curvyness_add = 0.5;
- m_curvyness_mul = CURVE_FLATNESS;
+ m_curvyness_mul = CURVE_FLATNESS / m_inv_scale;
m_roundness = 1;
} else if (cosmetic) {
m_curvyness_add = realWidth / 2;
@@ -130,8 +131,8 @@ void QTriangulatingStroker::process(const QVectorPath &path, const QPen &pen)
if (m_roundness > 24)
m_roundness = 24;
- m_sin_theta = qSin(Q_PI / m_roundness); // ### Use qFastSin
- m_cos_theta = qCos(Q_PI / m_roundness);
+ m_sin_theta = qFastSin(Q_PI / m_roundness);
+ m_cos_theta = qFastCos(Q_PI / m_roundness);
const qreal *endPts = pts + (count<<1);
const qreal *startPts;
@@ -338,3 +339,6 @@ void QDashedStrokeProcessor::process(const QVectorPath &path, const QPen &pen)
m_dash_stroker.end();
}
+
+QT_END_NAMESPACE
+
diff --git a/src/opengl/gl2paintengineex/qtriangulatingstroker_p.h b/src/opengl/gl2paintengineex/qtriangulatingstroker_p.h
index b7354db..defa3f1 100644
--- a/src/opengl/gl2paintengineex/qtriangulatingstroker_p.h
+++ b/src/opengl/gl2paintengineex/qtriangulatingstroker_p.h
@@ -48,6 +48,7 @@
#include <private/qnumeric_p.h>
#include <private/qmath_p.h>
+QT_BEGIN_NAMESPACE
class QTriangulatingStroker
{
@@ -124,7 +125,16 @@ inline void QTriangulatingStroker::normalVector(float x1, float y1, float x2, fl
{
float dx = x2 - x1;
float dy = y2 - y1;
- float pw = m_width / sqrt(dx*dx + dy*dy);
+
+ float pw;
+
+ if (dx == 0)
+ pw = m_width / qAbs(dy);
+ else if (dy == 0)
+ pw = m_width / qAbs(dx);
+ else
+ pw = m_width / sqrt(dx*dx + dy*dy);
+
*nx = -dy * pw;
*ny = dx * pw;
}
@@ -249,8 +259,6 @@ void QTriangulatingStroker::lineTo(const qreal *pts)
-
-
void QTriangulatingStroker::join(const qreal *pts)
{
// Creates a join to the next segment (m_cx, m_cy) -> (pts[0], pts[1])
@@ -295,5 +303,6 @@ void QTriangulatingStroker::join(const qreal *pts)
emitLineSegment(m_cx, m_cy, m_nvx, m_nvy);
}
+QT_END_NAMESPACE
#endif
diff --git a/src/opengl/opengl.pro b/src/opengl/opengl.pro
index a212675..b2474ed 100644
--- a/src/opengl/opengl.pro
+++ b/src/opengl/opengl.pro
@@ -15,14 +15,7 @@ contains(QT_CONFIG, opengl):CONFIG += opengl
contains(QT_CONFIG, opengles1):CONFIG += opengles1
contains(QT_CONFIG, opengles1cl):CONFIG += opengles1cl
contains(QT_CONFIG, opengles2):CONFIG += opengles2
-
-contains(QT_CONFIG, opengles.*) {
- for(p, QMAKE_LIBDIR_EGL) {
- exists($$p):LIBS_PRIVATE += -L$$p
- }
- !isEmpty(QMAKE_INCDIR_EGL): INCLUDEPATH += $$QMAKE_INCDIR_EGL
- !isEmpty(QMAKE_LIBS_EGL): LIBS_PRIVATE += $$QMAKE_LIBS_EGL
-}
+contains(QT_CONFIG, egl):CONFIG += egl
HEADERS += qgl.h \
qgl_p.h \
@@ -61,7 +54,7 @@ SOURCES += qgl.cpp \
gl2paintengineex/qpaintengineex_opengl2_p.h \
gl2paintengineex/qglengineshadersource_p.h \
gl2paintengineex/qglcustomshaderstage_p.h \
- gl2paintengineex/qtriangulatingstroker_p.h
+ gl2paintengineex/qtriangulatingstroker_p.h
SOURCES += qglshaderprogram.cpp \
qglpixmapfilter.cpp \
@@ -103,7 +96,7 @@ x11 {
LIBS_PRIVATE += -lfreetype
} else {
### Note: how does this compile with a non-system freetype?
- # This probably doesn't compile
+ # This probably does not compile
}
} else {
DEFINES *= QT_NO_FREETYPE
@@ -149,19 +142,3 @@ embedded {
}
INCLUDEPATH += ../3rdparty/harfbuzz/src
-
-wince*: {
- contains(QT_CONFIG,opengles1) {
- QMAKE_LIBS += "libGLES_CM.lib"
- }
- contains(QT_CONFIG,opengles1cl) {
- QMAKE_LIBS += "libGLES_CL.lib"
- }
- contains(QT_CONFIG,opengles2) {
- QMAKE_LIBS += "libGLESv2.lib"
- }
-
-} else {
- LIBS_PRIVATE += $$QMAKE_LIBS_OPENGL
- LIBS += $$QMAKE_LFLAGS_OPENGL
-}
diff --git a/src/opengl/qgl.cpp b/src/opengl/qgl.cpp
index 6720ae7..ad177dc 100644
--- a/src/opengl/qgl.cpp
+++ b/src/opengl/qgl.cpp
@@ -1773,10 +1773,12 @@ Q_OPENGL_EXPORT QGLShareRegister* qgl_share_reg()
/*!
\enum QGLContext::BindOption
+ \since 4.6
+
A set of options to decide how to bind a texture using bindTexture().
\value NoBindOption Don't do anything, pass the texture straight
- thru.
+ through.
\value InvertedYBindOption Specifies that the texture should be flipped
over the X axis so that the texture coordinate 0,0 corresponds to
@@ -2137,7 +2139,7 @@ QGLTexture *QGLContextPrivate::bindTexture(const QImage &image, GLenum target, G
Q_ASSERT(texture);
if (texture->id > 0)
- const_cast<QImage &>(image).data_ptr()->is_cached = true;
+ QImagePixmapCleanupHooks::enableCleanupHooks(image);
return texture;
}
@@ -2156,6 +2158,11 @@ QGLTexture* QGLContextPrivate::bindTexture(const QImage &image, GLenum target, G
time.start();
#endif
+#ifndef QT_NO_DEBUG
+ // Reset the gl error stack...git
+ while (glGetError() != GL_NO_ERROR) ;
+#endif
+
// Scale the pixmap if needed. GL textures needs to have the
// dimensions 2^n+2(border) x 2^m+2(border), unless we're using GL
// 2.0 or use the GL_TEXTURE_RECTANGLE texture target
@@ -2391,7 +2398,7 @@ QGLTexture *QGLContextPrivate::bindTexture(const QPixmap &pixmap, GLenum target,
Q_ASSERT(texture);
if (texture->id > 0)
- const_cast<QPixmap &>(pixmap).data_ptr()->is_cached = true;
+ QImagePixmapCleanupHooks::enableCleanupHooks(pixmap);
return texture;
}
@@ -2440,6 +2447,9 @@ int QGLContextPrivate::maxTextureSize()
*/
GLuint QGLContext::bindTexture(const QImage &image, GLenum target, GLint format)
{
+ if (image.isNull())
+ return 0;
+
Q_D(QGLContext);
QGLTexture *texture = d->bindTexture(image, target, format, false, DefaultBindOption);
return texture->id;
@@ -2472,6 +2482,9 @@ GLuint QGLContext::bindTexture(const QImage &image, GLenum target, GLint format)
*/
GLuint QGLContext::bindTexture(const QImage &image, GLenum target, GLint format, BindOptions options)
{
+ if (image.isNull())
+ return 0;
+
Q_D(QGLContext);
QGLTexture *texture = d->bindTexture(image, target, format, false, options);
return texture->id;
@@ -2481,6 +2494,9 @@ GLuint QGLContext::bindTexture(const QImage &image, GLenum target, GLint format,
/*! \internal */
GLuint QGLContext::bindTexture(const QImage &image, QMacCompatGLenum target, QMacCompatGLint format)
{
+ if (image.isNull())
+ return 0;
+
Q_D(QGLContext);
QGLTexture *texture = d->bindTexture(image, GLenum(target), GLint(format), false, DefaultBindOption);
return texture->id;
@@ -2490,6 +2506,9 @@ GLuint QGLContext::bindTexture(const QImage &image, QMacCompatGLenum target, QMa
GLuint QGLContext::bindTexture(const QImage &image, QMacCompatGLenum target, QMacCompatGLint format,
BindOptions options)
{
+ if (image.isNull())
+ return 0;
+
Q_D(QGLContext);
QGLTexture *texture = d->bindTexture(image, GLenum(target), GLint(format), false, options);
return texture->id;
@@ -2502,6 +2521,9 @@ GLuint QGLContext::bindTexture(const QImage &image, QMacCompatGLenum target, QMa
*/
GLuint QGLContext::bindTexture(const QPixmap &pixmap, GLenum target, GLint format)
{
+ if (pixmap.isNull())
+ return 0;
+
Q_D(QGLContext);
QGLTexture *texture = d->bindTexture(pixmap, target, format, DefaultBindOption);
return texture->id;
@@ -2516,6 +2538,9 @@ GLuint QGLContext::bindTexture(const QPixmap &pixmap, GLenum target, GLint forma
*/
GLuint QGLContext::bindTexture(const QPixmap &pixmap, GLenum target, GLint format, BindOptions options)
{
+ if (pixmap.isNull())
+ return 0;
+
Q_D(QGLContext);
QGLTexture *texture = d->bindTexture(pixmap, target, format, options);
return texture->id;
@@ -2525,6 +2550,9 @@ GLuint QGLContext::bindTexture(const QPixmap &pixmap, GLenum target, GLint forma
/*! \internal */
GLuint QGLContext::bindTexture(const QPixmap &pixmap, QMacCompatGLenum target, QMacCompatGLint format)
{
+ if (pixmap.isNull())
+ return 0;
+
Q_D(QGLContext);
QGLTexture *texture = d->bindTexture(pixmap, GLenum(target), GLint(format), DefaultBindOption);
return texture->id;
@@ -2533,6 +2561,9 @@ GLuint QGLContext::bindTexture(const QPixmap &pixmap, QMacCompatGLenum target, Q
GLuint QGLContext::bindTexture(const QPixmap &pixmap, QMacCompatGLenum target, QMacCompatGLint format,
BindOptions options)
{
+ if (pixmap.isNull())
+ return 0;
+
Q_D(QGLContext);
QGLTexture *texture = d->bindTexture(pixmap, GLenum(target), GLint(format), options);
return texture->id;
@@ -4590,6 +4621,9 @@ bool QGLWidget::autoBufferSwap() const
*/
GLuint QGLWidget::bindTexture(const QImage &image, GLenum target, GLint format)
{
+ if (image.isNull())
+ return 0;
+
Q_D(QGLWidget);
return d->glcx->bindTexture(image, target, format, QGLContext::DefaultBindOption);
}
@@ -4603,6 +4637,9 @@ GLuint QGLWidget::bindTexture(const QImage &image, GLenum target, GLint format)
*/
GLuint QGLWidget::bindTexture(const QImage &image, GLenum target, GLint format, QGLContext::BindOptions options)
{
+ if (image.isNull())
+ return 0;
+
Q_D(QGLWidget);
return d->glcx->bindTexture(image, target, format, options);
}
@@ -4612,6 +4649,9 @@ GLuint QGLWidget::bindTexture(const QImage &image, GLenum target, GLint format,
/*! \internal */
GLuint QGLWidget::bindTexture(const QImage &image, QMacCompatGLenum target, QMacCompatGLint format)
{
+ if (image.isNull())
+ return 0;
+
Q_D(QGLWidget);
return d->glcx->bindTexture(image, GLenum(target), GLint(format), QGLContext::DefaultBindOption);
}
@@ -4619,6 +4659,9 @@ GLuint QGLWidget::bindTexture(const QImage &image, QMacCompatGLenum target, QMac
GLuint QGLWidget::bindTexture(const QImage &image, QMacCompatGLenum target, QMacCompatGLint format,
QGLContext::BindOptions options)
{
+ if (image.isNull())
+ return 0;
+
Q_D(QGLWidget);
return d->glcx->bindTexture(image, GLenum(target), GLint(format), options);
}
@@ -4632,6 +4675,9 @@ GLuint QGLWidget::bindTexture(const QImage &image, QMacCompatGLenum target, QMac
*/
GLuint QGLWidget::bindTexture(const QPixmap &pixmap, GLenum target, GLint format)
{
+ if (pixmap.isNull())
+ return 0;
+
Q_D(QGLWidget);
return d->glcx->bindTexture(pixmap, target, format, QGLContext::DefaultBindOption);
}
diff --git a/src/opengl/qgl.h b/src/opengl/qgl.h
index e14e7fb..079953f 100644
--- a/src/opengl/qgl.h
+++ b/src/opengl/qgl.h
@@ -399,6 +399,7 @@ private:
friend class QGLTextureGlyphCache;
friend class QGLShareRegister;
friend class QGLSharedResourceGuard;
+ friend class QGLPixmapBlurFilter;
friend QGLFormat::OpenGLVersionFlags QGLFormat::openGLVersionFlags();
#ifdef Q_WS_MAC
public:
diff --git a/src/opengl/qgl_wince.cpp b/src/opengl/qgl_wince.cpp
index 53b9e27..fea2d3a 100644
--- a/src/opengl/qgl_wince.cpp
+++ b/src/opengl/qgl_wince.cpp
@@ -54,9 +54,9 @@
#include <windows.h>
-#include "qegl_p.h"
-#include "qgl_egl_p.h"
-#include "qgl_cl_p.h"
+#include <private/qegl_p.h>
+#include <private/qgl_egl_p.h>
+#include <private/qgl_cl_p.h>
QT_BEGIN_NAMESPACE
diff --git a/src/opengl/qgl_x11.cpp b/src/opengl/qgl_x11.cpp
index 86e593d..899047a 100644
--- a/src/opengl/qgl_x11.cpp
+++ b/src/opengl/qgl_x11.cpp
@@ -53,6 +53,7 @@
#include <private/qfontengine_ft_p.h>
#include <private/qt_x11_p.h>
#include <private/qpixmap_x11_p.h>
+#include <private/qimagepixmapcleanuphooks_p.h>
#ifdef Q_OS_HPUX
// for GLXPBuffer
#include <private/qglpixelbuffer_p.h>
@@ -1704,7 +1705,7 @@ QGLTexture *QGLContextPrivate::bindTextureFromNativePixmap(QPixmapData *pmd, con
pixmapData->gl_surface = (Qt::HANDLE)glxPixmap;
// Make sure the cleanup hook gets called so we can delete the glx pixmap
- pixmapData->is_cached = true;
+ QImagePixmapCleanupHooks::enableCleanupHooks(pixmapData);
}
GLuint textureId;
diff --git a/src/opengl/qgl_x11egl.cpp b/src/opengl/qgl_x11egl.cpp
index 3894ed1..9b20297 100644
--- a/src/opengl/qgl_x11egl.cpp
+++ b/src/opengl/qgl_x11egl.cpp
@@ -42,6 +42,7 @@
#include "qgl.h"
#include <private/qt_x11_p.h>
#include <private/qpixmap_x11_p.h>
+#include <private/qimagepixmapcleanuphooks_p.h>
#include <private/qgl_p.h>
#include <private/qpaintengine_opengl_p.h>
#include "qgl_egl_p.h"
@@ -531,7 +532,7 @@ bool Q_OPENGL_EXPORT qt_createEGLSurfaceForPixmap(QPixmapData* pmd, bool readOnl
Q_ASSERT(sizeof(Qt::HANDLE) >= sizeof(EGLSurface)); // Just to make totally sure!
pixmapData->gl_surface = (Qt::HANDLE)pixmapSurface;
- pixmapData->is_cached = true; // Make sure the cleanup hook gets called
+ QImagePixmapCleanupHooks::enableCleanupHooks(pixmapData); // Make sure the cleanup hook gets called
return true;
}
@@ -589,7 +590,6 @@ QGLTexture *QGLContextPrivate::bindTextureFromNativePixmap(QPixmapData* pd, cons
GLuint textureId;
glGenTextures(1, &textureId);
- glEnable(GL_TEXTURE_2D);
glBindTexture(GL_TEXTURE_2D, textureId);
// bind the egl pixmap surface to a texture
diff --git a/src/opengl/qglframebufferobject.cpp b/src/opengl/qglframebufferobject.cpp
index 7374594..d79283e 100644
--- a/src/opengl/qglframebufferobject.cpp
+++ b/src/opengl/qglframebufferobject.cpp
@@ -342,39 +342,6 @@ QGLContext *QGLFBOGLPaintDevice::context() const
return fboContext;
}
-void QGLFBOGLPaintDevice::ensureActiveTarget()
-{
- if (QGLContext::currentContext() != context())
- context()->makeCurrent();
-
- QGLContext* ctx = const_cast<QGLContext*>(QGLContext::currentContext());
- Q_ASSERT(ctx);
- const GLuint fboId = fbo->d_func()->fbo();
- if (ctx->d_func()->current_fbo != fboId) {
- ctx->d_func()->current_fbo = fboId;
- glBindFramebuffer(GL_FRAMEBUFFER_EXT, fboId);
- }
-}
-
-void QGLFBOGLPaintDevice::beginPaint()
-{
- if (QGLContext::currentContext() != context())
- context()->makeCurrent();
-
- // We let QFBO track the previously bound FBO rather than doing it
- // ourselves here. This has the advantage that begin/release & bind/end
- // work as expected.
- wasBound = fbo->isBound();
- if (!wasBound)
- fbo->bind();
-}
-
-void QGLFBOGLPaintDevice::endPaint()
-{
- if (!wasBound)
- fbo->release();
-}
-
bool QGLFramebufferObjectPrivate::checkFramebufferStatus() const
{
QGL_FUNCP_CONTEXT;
@@ -879,13 +846,6 @@ bool QGLFramebufferObject::isValid() const
framebuffer to this framebuffer object.
Returns true upon success, false otherwise.
- Since 4.6: if another QGLFramebufferObject instance was already bound
- to the current context, then its handle() will be remembered and
- automatically restored when release() is called. This allows multiple
- framebuffer rendering targets to be stacked up. It is important that
- release() is called on the stacked framebuffer objects in the reverse
- order of the calls to bind().
-
\sa release()
*/
bool QGLFramebufferObject::bind()
@@ -896,17 +856,18 @@ bool QGLFramebufferObject::bind()
QGL_FUNC_CONTEXT;
if (!ctx)
return false; // Context no longer exists.
+ const QGLContext *current = QGLContext::currentContext();
+#ifdef QT_DEBUG
+ if (!current ||
+ QGLContextPrivate::contextGroup(current) != QGLContextPrivate::contextGroup(ctx))
+ {
+ qWarning("QGLFramebufferObject::bind() called from incompatible context");
+ }
+#endif
glBindFramebuffer(GL_FRAMEBUFFER_EXT, d->fbo());
d->valid = d->checkFramebufferStatus();
- const QGLContext *context = QGLContext::currentContext();
- if (d->valid && context) {
- Q_ASSERT(QGLContextPrivate::contextGroup(context) == QGLContextPrivate::contextGroup(ctx));
- // Save the previous setting to automatically restore in release().
- if (context->d_ptr->current_fbo != d->fbo()) {
- d->previous_fbo = context->d_ptr->current_fbo;
- context->d_ptr->current_fbo = d->fbo();
- }
- }
+ if (d->valid && current)
+ current->d_ptr->current_fbo = d->fbo();
return d->valid;
}
@@ -917,30 +878,29 @@ bool QGLFramebufferObject::bind()
framebuffer.
Returns true upon success, false otherwise.
- Since 4.6: if another QGLFramebufferObject instance was already bound
- to the current context when bind() was called, then this function will
- automatically re-bind it to the current context.
-
\sa bind()
*/
bool QGLFramebufferObject::release()
{
if (!isValid())
return false;
- Q_D(QGLFramebufferObject);
QGL_FUNC_CONTEXT;
if (!ctx)
return false; // Context no longer exists.
- const QGLContext *context = QGLContext::currentContext();
- if (context) {
- Q_ASSERT(QGLContextPrivate::contextGroup(context) == QGLContextPrivate::contextGroup(ctx));
- // Restore the previous setting for stacked framebuffer objects.
- if (d->previous_fbo != context->d_ptr->current_fbo) {
- context->d_ptr->current_fbo = d->previous_fbo;
- glBindFramebuffer(GL_FRAMEBUFFER_EXT, d->previous_fbo);
- }
- d->previous_fbo = 0;
+ const QGLContext *current = QGLContext::currentContext();
+
+#ifdef QT_DEBUG
+ if (!current ||
+ QGLContextPrivate::contextGroup(current) != QGLContextPrivate::contextGroup(ctx))
+ {
+ qWarning("QGLFramebufferObject::release() called from incompatible context");
+ }
+#endif
+
+ if (current) {
+ current->d_ptr->current_fbo = 0;
+ glBindFramebuffer(GL_FRAMEBUFFER_EXT, 0);
}
return true;
diff --git a/src/opengl/qglframebufferobject_p.h b/src/opengl/qglframebufferobject_p.h
index 122c42e..800cb68 100644
--- a/src/opengl/qglframebufferobject_p.h
+++ b/src/opengl/qglframebufferobject_p.h
@@ -111,9 +111,6 @@ public:
virtual QSize size() const {return fbo->size();}
virtual QGLContext* context() const;
virtual QGLFormat format() const {return fboFormat;}
- virtual void ensureActiveTarget();
- virtual void beginPaint();
- virtual void endPaint();
void setFBO(QGLFramebufferObject* f,
QGLFramebufferObject::Attachment attachment);
@@ -127,7 +124,8 @@ private:
class QGLFramebufferObjectPrivate
{
public:
- QGLFramebufferObjectPrivate() : fbo_guard(0), texture(0), depth_stencil_buffer(0), color_buffer(0), valid(false), previous_fbo(0), engine(0) {}
+ QGLFramebufferObjectPrivate() : fbo_guard(0), texture(0), depth_stencil_buffer(0)
+ , color_buffer(0), valid(false), engine(0) {}
~QGLFramebufferObjectPrivate() {}
void init(QGLFramebufferObject *q, const QSize& sz,
@@ -143,7 +141,6 @@ public:
QGLFramebufferObjectFormat format;
uint valid : 1;
QGLFramebufferObject::Attachment fbo_attachment;
- GLuint previous_fbo;
mutable QPaintEngine *engine;
QGLFBOGLPaintDevice glDevice;
diff --git a/src/opengl/qglpixmapfilter.cpp b/src/opengl/qglpixmapfilter.cpp
index 0603369..0eaab28 100644
--- a/src/opengl/qglpixmapfilter.cpp
+++ b/src/opengl/qglpixmapfilter.cpp
@@ -43,6 +43,8 @@
#include "private/qpixmapdata_gl_p.h"
#include "private/qpaintengineex_opengl2_p.h"
#include "private/qglengineshadermanager_p.h"
+#include "private/qpixmapdata_p.h"
+#include "private/qimagepixmapcleanuphooks_p.h"
#include "qglpixmapfilter_p.h"
#include "qgraphicssystem_gl_p.h"
#include "qpaintengine_opengl_p.h"
@@ -54,7 +56,7 @@
#include "private/qapplication_p.h"
#include "private/qmath_p.h"
-
+#include "qmath.h"
QT_BEGIN_NAMESPACE
@@ -100,11 +102,11 @@ private:
class QGLPixmapBlurFilter : public QGLCustomShaderStage, public QGLPixmapFilter<QPixmapBlurFilter>
{
public:
- QGLPixmapBlurFilter(Qt::RenderHint hint);
+ QGLPixmapBlurFilter(QGraphicsBlurEffect::BlurHint hint);
void setUniforms(QGLShaderProgram *program);
- static QByteArray generateGaussianShader(int radius, bool dropShadow = false);
+ static QByteArray generateGaussianShader(int radius, bool singlePass = false, bool dropShadow = false);
protected:
bool processGL(QPainter *painter, const QPointF &pos, const QPixmap &src, const QRectF &srcRect) const;
@@ -113,16 +115,21 @@ private:
mutable QSize m_textureSize;
mutable bool m_horizontalBlur;
+ mutable bool m_singlePass;
+ mutable bool m_animatedBlur;
+
+ mutable qreal m_t;
+ mutable QSize m_targetSize;
mutable bool m_haveCached;
mutable int m_cachedRadius;
- mutable Qt::RenderHint m_hint;
+ mutable QGraphicsBlurEffect::BlurHint m_hint;
};
class QGLPixmapDropShadowFilter : public QGLCustomShaderStage, public QGLPixmapFilter<QPixmapDropShadowFilter>
{
public:
- QGLPixmapDropShadowFilter(Qt::RenderHint hint);
+ QGLPixmapDropShadowFilter(QGraphicsBlurEffect::BlurHint hint);
void setUniforms(QGLShaderProgram *program);
@@ -132,10 +139,11 @@ protected:
private:
mutable QSize m_textureSize;
mutable bool m_horizontalBlur;
+ mutable bool m_singlePass;
mutable bool m_haveCached;
mutable int m_cachedRadius;
- mutable Qt::RenderHint m_hint;
+ mutable QGraphicsBlurEffect::BlurHint m_hint;
};
extern QGLWidget *qt_gl_share_widget();
@@ -151,13 +159,18 @@ QPixmapFilter *QGL2PaintEngineEx::pixmapFilter(int type, const QPixmapFilter *pr
case QPixmapFilter::BlurFilter: {
const QPixmapBlurFilter *proto = static_cast<const QPixmapBlurFilter *>(prototype);
- if (proto->blurHint() == Qt::PerformanceHint || proto->radius() <= 5) {
+ if (proto->blurHint() == QGraphicsBlurEffect::AnimationHint) {
+ if (!d->animationBlurFilter)
+ d->animationBlurFilter.reset(new QGLPixmapBlurFilter(proto->blurHint()));
+ return d->animationBlurFilter.data();
+ }
+ if (proto->blurHint() == QGraphicsBlurEffect::PerformanceHint || proto->radius() <= 5) {
if (!d->fastBlurFilter)
- d->fastBlurFilter.reset(new QGLPixmapBlurFilter(Qt::PerformanceHint));
+ d->fastBlurFilter.reset(new QGLPixmapBlurFilter(QGraphicsBlurEffect::PerformanceHint));
return d->fastBlurFilter.data();
}
if (!d->blurFilter)
- d->blurFilter.reset(new QGLPixmapBlurFilter(Qt::QualityHint));
+ d->blurFilter.reset(new QGLPixmapBlurFilter(QGraphicsBlurEffect::QualityHint));
return d->blurFilter.data();
}
@@ -165,11 +178,11 @@ QPixmapFilter *QGL2PaintEngineEx::pixmapFilter(int type, const QPixmapFilter *pr
const QPixmapDropShadowFilter *proto = static_cast<const QPixmapDropShadowFilter *>(prototype);
if (proto->blurRadius() <= 5) {
if (!d->fastDropShadowFilter)
- d->fastDropShadowFilter.reset(new QGLPixmapDropShadowFilter(Qt::PerformanceHint));
+ d->fastDropShadowFilter.reset(new QGLPixmapDropShadowFilter(QGraphicsBlurEffect::PerformanceHint));
return d->fastDropShadowFilter.data();
}
if (!d->dropShadowFilter)
- d->dropShadowFilter.reset(new QGLPixmapDropShadowFilter(Qt::QualityHint));
+ d->dropShadowFilter.reset(new QGLPixmapDropShadowFilter(QGraphicsBlurEffect::QualityHint));
return d->dropShadowFilter.data();
}
@@ -298,123 +311,470 @@ bool QGLPixmapConvolutionFilter::processGL(QPainter *painter, const QPointF &pos
return true;
}
-static const char *qt_gl_blur_filter_fast =
- "const int samples = 9;"
- "uniform mediump vec2 delta;"
- "lowp vec4 customShader(lowp sampler2D src, highp vec2 srcCoords) {"
- " mediump vec4 color = vec4(0.0, 0.0, 0.0, 0.0);"
- " mediump float offset = (float(samples) - 1.0) / 2.0;"
- " for (int i = 0; i < samples; i++) {"
- " mediump vec2 coord = srcCoords + delta * (offset - float(i)) / offset;"
- " color += texture2D(src, coord);"
- " }"
- " return color * (1.0 / float(samples));"
- "}";
-
-static const char *qt_gl_drop_shadow_filter_fast =
- "const int samples = 9;"
- "uniform mediump vec2 delta;"
- "uniform mediump vec4 shadowColor;"
- "lowp vec4 customShader(lowp sampler2D src, highp vec2 srcCoords) {"
- " mediump vec4 color = vec4(0.0, 0.0, 0.0, 0.0);"
- " mediump float offset = (float(samples) - 1.0) / 2.0;"
- " for (int i = 0; i < samples; i++) {"
- " mediump vec2 coord = srcCoords + delta * (offset - float(i)) / offset;"
- " color += texture2D(src, coord).a * shadowColor;"
- " }"
- " return color * (1.0 / float(samples));"
- "}";
-
-QGLPixmapBlurFilter::QGLPixmapBlurFilter(Qt::RenderHint hint)
- : m_haveCached(false)
- , m_cachedRadius(5)
+static const char *qt_gl_texture_sampling_helper =
+ "lowp float texture2DAlpha(lowp sampler2D src, highp vec2 srcCoords) {\n"
+ " return texture2D(src, srcCoords).a;\n"
+ "}\n";
+
+QGLPixmapBlurFilter::QGLPixmapBlurFilter(QGraphicsBlurEffect::BlurHint hint)
+ : m_animatedBlur(false)
+ , m_haveCached(false)
+ , m_cachedRadius(0)
, m_hint(hint)
{
- if (hint == Qt::PerformanceHint) {
- QGLPixmapBlurFilter *filter = const_cast<QGLPixmapBlurFilter *>(this);
- filter->setSource(qt_gl_blur_filter_fast);
- m_haveCached = true;
+}
+
+// should be even numbers as they will be divided by two
+static const int qCachedBlurLevels[] = { 6, 14, 30 };
+static const int qNumCachedBlurTextures = sizeof(qCachedBlurLevels) / sizeof(*qCachedBlurLevels);
+static const int qMaxCachedBlurLevel = qCachedBlurLevels[qNumCachedBlurTextures - 1];
+
+static qreal qLogBlurLevel(int level)
+{
+ static bool initialized = false;
+ static qreal logBlurLevelCache[qNumCachedBlurTextures];
+ if (!initialized) {
+ for (int i = 0; i < qNumCachedBlurTextures; ++i)
+ logBlurLevelCache[i] = qLn(qCachedBlurLevels[i]);
+ initialized = true;
}
+ return logBlurLevelCache[level];
}
-bool QGLPixmapBlurFilter::processGL(QPainter *painter, const QPointF &pos, const QPixmap &src, const QRectF &) const
+class QGLBlurTextureInfo
{
- QGLPixmapBlurFilter *filter = const_cast<QGLPixmapBlurFilter *>(this);
+public:
+ QGLBlurTextureInfo(QSize size, GLuint textureIds[])
+ : m_size(size)
+ {
+ for (int i = 0; i < qNumCachedBlurTextures; ++i)
+ m_textureIds[i] = textureIds[i];
+ }
- int radius = this->radius();
- if (!m_haveCached || (m_hint == Qt::QualityHint && radius != m_cachedRadius)) {
- // Only regenerate the shader from source if parameters have changed.
- m_haveCached = true;
- m_cachedRadius = radius;
- filter->setSource(generateGaussianShader(radius));
+ ~QGLBlurTextureInfo()
+ {
+ glDeleteTextures(qNumCachedBlurTextures, m_textureIds);
}
- QGLFramebufferObjectFormat format;
- format.setInternalTextureFormat(GLenum(src.hasAlphaChannel() ? GL_RGBA : GL_RGB));
- QGLFramebufferObject *fbo = qgl_fbo_pool()->acquire(src.size(), format);
+ QSize size() const { return m_size; }
+ GLuint textureId(int i) const { return m_textureIds[i]; }
+
+private:
+ GLuint m_textureIds[qNumCachedBlurTextures];
+ QSize m_size;
+};
+
+class QGLBlurTextureCache : public QObject
+{
+public:
+ static QGLBlurTextureCache *cacheForContext(const QGLContext *context);
+
+ QGLBlurTextureCache();
+ ~QGLBlurTextureCache();
- if (!fbo)
- return false;
+ QGLBlurTextureInfo *takeBlurTextureInfo(const QPixmap &pixmap);
+ bool fitsInCache(const QPixmap &pixmap) const;
+ bool hasBlurTextureInfo(const QPixmap &pixmap) const;
+ void insertBlurTextureInfo(const QPixmap &pixmap, QGLBlurTextureInfo *info);
+ void clearBlurTextureInfo(const QPixmap &pixmap);
- glBindTexture(GL_TEXTURE_2D, fbo->texture());
+ void timerEvent(QTimerEvent *event);
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
+private:
+ static void pixmapDestroyed(QPixmap *pixmap);
+
+ QCache<quint64, QGLBlurTextureInfo > cache;
+
+ static QList<QGLBlurTextureCache *> blurTextureCaches;
+
+ int timerId;
+};
+
+QList<QGLBlurTextureCache *> QGLBlurTextureCache::blurTextureCaches;
+
+static void QGLBlurTextureCache_free(void *ptr)
+{
+ delete reinterpret_cast<QGLBlurTextureCache *>(ptr);
+}
+
+Q_GLOBAL_STATIC_WITH_ARGS(QGLContextResource, qt_blur_texture_caches, (QGLBlurTextureCache_free))
+
+QGLBlurTextureCache::QGLBlurTextureCache()
+ : timerId(0)
+{
+ cache.setMaxCost(4 * 1024 * 1024);
+ blurTextureCaches.append(this);
+}
+
+QGLBlurTextureCache::~QGLBlurTextureCache()
+{
+ blurTextureCaches.removeAt(blurTextureCaches.indexOf(this));
+}
+
+void QGLBlurTextureCache::timerEvent(QTimerEvent *)
+{
+ killTimer(timerId);
+ timerId = 0;
+
+ cache.clear();
+}
+
+QGLBlurTextureCache *QGLBlurTextureCache::cacheForContext(const QGLContext *context)
+{
+ QGLBlurTextureCache *p = reinterpret_cast<QGLBlurTextureCache *>(qt_blur_texture_caches()->value(context));
+ if (!p) {
+ p = new QGLBlurTextureCache;
+ qt_blur_texture_caches()->insert(context, p);
+ }
+ return p;
+}
+
+QGLBlurTextureInfo *QGLBlurTextureCache::takeBlurTextureInfo(const QPixmap &pixmap)
+{
+ return cache.take(pixmap.cacheKey());
+}
+
+void QGLBlurTextureCache::clearBlurTextureInfo(const QPixmap &pixmap)
+{
+ cache.remove(pixmap.cacheKey());
+}
+
+bool QGLBlurTextureCache::hasBlurTextureInfo(const QPixmap &pixmap) const
+{
+ return cache.contains(pixmap.cacheKey());
+}
+
+void QGLBlurTextureCache::insertBlurTextureInfo(const QPixmap &pixmap, QGLBlurTextureInfo *info)
+{
+ static bool hookAdded = false;
+ if (!hookAdded) {
+ QImagePixmapCleanupHooks::instance()->addPixmapDestructionHook(pixmapDestroyed);
+ hookAdded = true;
+ }
+
+ QImagePixmapCleanupHooks::enableCleanupHooks(pixmap);
+ cache.insert(pixmap.cacheKey(), info, pixmap.width() * pixmap.height());
+
+ if (timerId)
+ killTimer(timerId);
+
+ timerId = startTimer(1000);
+}
+
+bool QGLBlurTextureCache::fitsInCache(const QPixmap &pixmap) const
+{
+ return pixmap.width() * pixmap.height() <= cache.maxCost();
+}
+
+void QGLBlurTextureCache::pixmapDestroyed(QPixmap *pixmap)
+{
+ foreach (QGLBlurTextureCache *cache, blurTextureCaches) {
+ if (cache->hasBlurTextureInfo(*pixmap))
+ cache->clearBlurTextureInfo(*pixmap);
+ }
+}
+
+static const char *qt_gl_interpolate_filter =
+ "uniform lowp float interpolationValue;"
+ "uniform lowp sampler2D interpolateTarget;"
+ "uniform highp vec4 interpolateMapping;"
+ "lowp vec4 customShader(lowp sampler2D src, highp vec2 srcCoords)"
+ "{"
+ " return mix(texture2D(interpolateTarget, interpolateMapping.xy + interpolateMapping.zw * srcCoords),"
+ " texture2D(src, srcCoords), interpolationValue);"
+ "}";
+
+static void initializeTexture(GLuint id, int width, int height)
+{
+ glBindTexture(GL_TEXTURE_2D, id);
+ glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, width, height, 0,
+ GL_RGBA, GL_UNSIGNED_BYTE, NULL);
+ glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
+ glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
glBindTexture(GL_TEXTURE_2D, 0);
+}
- // prepare for updateUniforms
- m_textureSize = src.size();
+bool QGLPixmapBlurFilter::processGL(QPainter *painter, const QPointF &pos, const QPixmap &src, const QRectF &) const
+{
+ QGLPixmapBlurFilter *filter = const_cast<QGLPixmapBlurFilter *>(this);
- // horizontal pass, to pixmap
- m_horizontalBlur = true;
+ QGLContext *ctx = const_cast<QGLContext *>(QGLContext::currentContext());
+ QGLBlurTextureCache *blurTextureCache = QGLBlurTextureCache::cacheForContext(ctx);
- QPainter fboPainter(fbo);
+ if (m_hint == QGraphicsBlurEffect::AnimationHint && blurTextureCache->fitsInCache(src)) {
+ QRect targetRect = src.rect().adjusted(-qMaxCachedBlurLevel, -qMaxCachedBlurLevel, qMaxCachedBlurLevel, qMaxCachedBlurLevel);
+ // ensure even dimensions (going to divide by two)
+ targetRect.setWidth((targetRect.width() + 1) & ~1);
+ targetRect.setHeight((targetRect.height() + 1) & ~1);
- if (src.hasAlphaChannel()) {
- glClearColor(0, 0, 0, 0);
- glClear(GL_COLOR_BUFFER_BIT);
+ QGLBlurTextureInfo *info = 0;
+ if (blurTextureCache->hasBlurTextureInfo(src)) {
+ info = blurTextureCache->takeBlurTextureInfo(src);
+ } else {
+ m_animatedBlur = false;
+ m_hint = QGraphicsBlurEffect::QualityHint;
+ m_singlePass = false;
+
+ QGLFramebufferObjectFormat format;
+ format.setInternalTextureFormat(GLenum(GL_RGBA));
+ QGLFramebufferObject *fbo = qgl_fbo_pool()->acquire(targetRect.size() / 2, format, true);
+
+ if (!fbo)
+ return false;
+
+ QPainter fboPainter(fbo);
+ QGL2PaintEngineEx *engine = static_cast<QGL2PaintEngineEx *>(fboPainter.paintEngine());
+
+ glClearColor(0, 0, 0, 0);
+ glClear(GL_COLOR_BUFFER_BIT);
+
+ // ensure GL_LINEAR filtering is used for scaling down to half the size
+ fboPainter.setRenderHint(QPainter::SmoothPixmapTransform);
+ fboPainter.setCompositionMode(QPainter::CompositionMode_Source);
+ fboPainter.drawPixmap(qMaxCachedBlurLevel / 2, qMaxCachedBlurLevel / 2,
+ targetRect.width() / 2 - qMaxCachedBlurLevel, targetRect.height() / 2 - qMaxCachedBlurLevel, src);
+
+ GLuint textures[qNumCachedBlurTextures]; // blur textures
+ glGenTextures(qNumCachedBlurTextures, textures);
+ GLuint temp; // temp texture
+ glGenTextures(1, &temp);
+
+ initializeTexture(temp, fbo->width(), fbo->height());
+ m_textureSize = fbo->size();
+
+ int currentBlur = 0;
+
+ QRect fboRect(0, 0, fbo->width(), fbo->height());
+ GLuint sourceTexture = fbo->texture();
+ for (int i = 0; i < qNumCachedBlurTextures; ++i) {
+ int targetBlur = qCachedBlurLevels[i] / 2;
+
+ int blurDelta = qRound(qSqrt(targetBlur * targetBlur - currentBlur * currentBlur));
+ QByteArray source = generateGaussianShader(blurDelta);
+ filter->setSource(source);
+
+ currentBlur = targetBlur;
+
+ // now we're going to be nasty and keep using the same FBO with different textures
+ glFramebufferTexture2D(GL_FRAMEBUFFER_EXT, GL_COLOR_ATTACHMENT0_EXT,
+ GL_TEXTURE_2D, temp, 0);
+
+ m_horizontalBlur = true;
+ filter->setOnPainter(&fboPainter);
+ engine->drawTexture(fboRect, sourceTexture, fbo->size(), fboRect);
+ filter->removeFromPainter(&fboPainter);
+
+ sourceTexture = textures[i];
+ initializeTexture(sourceTexture, fbo->width(), fbo->height());
+
+ glFramebufferTexture2D(GL_FRAMEBUFFER_EXT, GL_COLOR_ATTACHMENT0_EXT,
+ GL_TEXTURE_2D, textures[i], 0);
+
+ m_horizontalBlur = false;
+ filter->setOnPainter(&fboPainter);
+ engine->drawTexture(fboRect, temp, fbo->size(), fboRect);
+ filter->removeFromPainter(&fboPainter);
+ }
+
+ glDeleteTextures(1, &temp);
+
+ // reattach the original FBO texture
+ glFramebufferTexture2D(GL_FRAMEBUFFER_EXT, GL_COLOR_ATTACHMENT0_EXT,
+ GL_TEXTURE_2D, fbo->texture(), 0);
+
+ fboPainter.end();
+
+ qgl_fbo_pool()->release(fbo);
+
+ info = new QGLBlurTextureInfo(fboRect.size(), textures);
+ }
+
+ if (!m_haveCached || !m_animatedBlur) {
+ m_haveCached = true;
+ m_animatedBlur = true;
+ m_hint = QGraphicsBlurEffect::AnimationHint;
+ filter->setSource(qt_gl_interpolate_filter);
+ }
+
+ QGL2PaintEngineEx *engine = static_cast<QGL2PaintEngineEx *>(painter->paintEngine());
+ painter->setRenderHint(QPainter::SmoothPixmapTransform);
+ filter->setOnPainter(painter);
+
+ qreal logRadius = qLn(radius());
+
+ int t;
+ for (t = -1; t < qNumCachedBlurTextures - 2; ++t) {
+ if (logRadius < qLogBlurLevel(t+1))
+ break;
+ }
+
+ qreal logBase = t >= 0 ? qLogBlurLevel(t) : 0;
+ m_t = qBound(qreal(0), (logRadius - logBase) / (qLogBlurLevel(t+1) - logBase), qreal(1));
+
+ m_textureSize = info->size();
+
+ glActiveTexture(GL_TEXTURE0 + 3);
+ if (t >= 0) {
+ glBindTexture(GL_TEXTURE_2D, info->textureId(t));
+ m_targetSize = info->size();
+ } else {
+ QGLTexture *texture =
+ ctx->d_func()->bindTexture(src, GL_TEXTURE_2D, GL_RGBA,
+ QGLContext::InternalBindOption
+ | QGLContext::CanFlipNativePixmapBindOption);
+ m_targetSize = src.size();
+ if (!(texture->options & QGLContext::InvertedYBindOption))
+ m_targetSize.setHeight(-m_targetSize.height());
+ }
+
+ // restrict the target rect to the max of the radii we are interpolating between
+ int radiusDelta = qMaxCachedBlurLevel - qCachedBlurLevels[t+1];
+ targetRect = targetRect.translated(pos.toPoint()).adjusted(radiusDelta, radiusDelta, -radiusDelta, -radiusDelta);
+
+ radiusDelta /= 2;
+ QRect sourceRect = QRect(QPoint(), m_textureSize).adjusted(radiusDelta, radiusDelta, -radiusDelta, -radiusDelta);
+
+ engine->drawTexture(targetRect, info->textureId(t+1), m_textureSize, sourceRect);
+
+ glActiveTexture(GL_TEXTURE0 + 3);
+ glBindTexture(GL_TEXTURE_2D, 0);
+
+ filter->removeFromPainter(painter);
+ blurTextureCache->insertBlurTextureInfo(src, info);
+
+ return true;
}
- // ensure GL_LINEAR filtering is used
- fboPainter.setRenderHint(QPainter::SmoothPixmapTransform);
- filter->setOnPainter(&fboPainter);
- fboPainter.drawPixmap(0, 0, src);
- filter->removeFromPainter(&fboPainter);
- fboPainter.end();
+ if (blurTextureCache->hasBlurTextureInfo(src))
+ blurTextureCache->clearBlurTextureInfo(src);
+
+ int actualRadius = qRound(radius());
+ int filterRadius = actualRadius;
+ int fastRadii[] = { 1, 2, 3, 5, 8, 15, 25 };
+ if (m_hint != QGraphicsBlurEffect::QualityHint) {
+ uint i = 0;
+ for (; i < (sizeof(fastRadii)/sizeof(*fastRadii))-1; ++i) {
+ if (fastRadii[i+1] > filterRadius)
+ break;
+ }
+ filterRadius = fastRadii[i];
+ }
- QGL2PaintEngineEx *engine = static_cast<QGL2PaintEngineEx *>(painter->paintEngine());
+ m_singlePass = filterRadius <= 3;
- // vertical pass, to painter
- m_horizontalBlur = false;
+ if (!m_haveCached || m_animatedBlur || filterRadius != m_cachedRadius) {
+ // Only regenerate the shader from source if parameters have changed.
+ m_haveCached = true;
+ m_animatedBlur = false;
+ m_cachedRadius = filterRadius;
+ QByteArray source = generateGaussianShader(filterRadius, m_singlePass);
+ filter->setSource(source);
+ }
- painter->save();
- // ensure GL_LINEAR filtering is used
- painter->setRenderHint(QPainter::SmoothPixmapTransform);
- filter->setOnPainter(painter);
- engine->drawTexture(src.rect().translated(pos.x(), pos.y()), fbo->texture(), fbo->size(), src.rect().translated(0, fbo->height() - src.height()));
- filter->removeFromPainter(painter);
- painter->restore();
+ QRect targetRect = QRectF(src.rect()).translated(pos).adjusted(-actualRadius, -actualRadius, actualRadius, actualRadius).toAlignedRect();
+
+ if (m_singlePass) {
+ // prepare for updateUniforms
+ m_textureSize = src.size();
+
+ // ensure GL_LINEAR filtering is used
+ painter->setRenderHint(QPainter::SmoothPixmapTransform);
+ filter->setOnPainter(painter);
+ QBrush pixmapBrush = src;
+ pixmapBrush.setTransform(QTransform::fromTranslate(pos.x(), pos.y()));
+ painter->fillRect(targetRect, pixmapBrush);
+ filter->removeFromPainter(painter);
+ } else {
+ QGLFramebufferObjectFormat format;
+ format.setInternalTextureFormat(GLenum(src.hasAlphaChannel() ? GL_RGBA : GL_RGB));
+ QGLFramebufferObject *fbo = qgl_fbo_pool()->acquire(targetRect.size(), format);
+
+ if (!fbo)
+ return false;
+
+ // prepare for updateUniforms
+ m_textureSize = src.size();
+
+ // horizontal pass, to pixmap
+ m_horizontalBlur = true;
+
+ QPainter fboPainter(fbo);
+
+ glClearColor(0, 0, 0, 0);
+ glClear(GL_COLOR_BUFFER_BIT);
- qgl_fbo_pool()->release(fbo);
+ // ensure GL_LINEAR filtering is used
+ fboPainter.setRenderHint(QPainter::SmoothPixmapTransform);
+ fboPainter.setCompositionMode(QPainter::CompositionMode_Source);
+ filter->setOnPainter(&fboPainter);
+ QBrush pixmapBrush = src;
+ pixmapBrush.setTransform(QTransform::fromTranslate(actualRadius, actualRadius));
+ fboPainter.fillRect(QRect(0, 0, targetRect.width(), targetRect.height()), pixmapBrush);
+ filter->removeFromPainter(&fboPainter);
+ fboPainter.end();
+
+ QGL2PaintEngineEx *engine = static_cast<QGL2PaintEngineEx *>(painter->paintEngine());
+
+ // vertical pass, to painter
+ m_horizontalBlur = false;
+ m_textureSize = fbo->size();
+
+ painter->save();
+ // ensure GL_LINEAR filtering is used
+ painter->setRenderHint(QPainter::SmoothPixmapTransform);
+ filter->setOnPainter(painter);
+ engine->drawTexture(targetRect, fbo->texture(), fbo->size(), QRect(QPoint(), targetRect.size()).translated(0, fbo->height() - targetRect.height()));
+ filter->removeFromPainter(painter);
+ painter->restore();
+
+ qgl_fbo_pool()->release(fbo);
+ }
return true;
}
void QGLPixmapBlurFilter::setUniforms(QGLShaderProgram *program)
{
- if (m_hint == Qt::QualityHint) {
- if (m_horizontalBlur)
+ glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
+ glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
+
+ if (m_animatedBlur) {
+ program->setUniformValue("interpolateTarget", 3);
+ program->setUniformValue("interpolationValue", GLfloat(m_t));
+
+ if (m_textureSize == m_targetSize) {
+ program->setUniformValue("interpolateMapping", 0.0f, 0.0f, 1.0f, 1.0f);
+ } else {
+ float offsetX = (-qMaxCachedBlurLevel - 0.5) / qreal(m_targetSize.width());
+ float offsetY = (-qMaxCachedBlurLevel - 0.5) / qreal(m_targetSize.height());
+
+ if (m_targetSize.height() < 0)
+ offsetY = 1 + offsetY;
+
+ float scaleX = 2.0f * qreal(m_textureSize.width()) / qreal(m_targetSize.width());
+ float scaleY = 2.0f * qreal(m_textureSize.height()) / qreal(m_targetSize.height());
+
+ program->setUniformValue("interpolateMapping", offsetX, offsetY, scaleX, scaleY);
+ }
+
+ return;
+ }
+
+ if (m_hint == QGraphicsBlurEffect::QualityHint) {
+ if (m_singlePass)
+ program->setUniformValue("delta", 1.0 / m_textureSize.width(), 1.0 / m_textureSize.height());
+ else if (m_horizontalBlur)
program->setUniformValue("delta", 1.0 / m_textureSize.width(), 0.0);
else
program->setUniformValue("delta", 0.0, 1.0 / m_textureSize.height());
} else {
- // 1.4 is chosen to most closely match the blurriness of the gaussian blur
- // at low radii
- qreal blur = radius() / 1.4f;
+ qreal blur = radius() / qreal(m_cachedRadius);
- if (m_horizontalBlur)
+ if (m_singlePass)
+ program->setUniformValue("delta", blur / m_textureSize.width(), blur / m_textureSize.height());
+ else if (m_horizontalBlur)
program->setUniformValue("delta", blur / m_textureSize.width(), 0.0);
else
program->setUniformValue("delta", 0.0, blur / m_textureSize.height());
@@ -426,12 +786,21 @@ static inline qreal gaussian(qreal dx, qreal sigma)
return exp(-dx * dx / (2 * sigma * sigma)) / (Q_2PI * sigma * sigma);
}
-QByteArray QGLPixmapBlurFilter::generateGaussianShader(int radius, bool dropShadow)
+QByteArray QGLPixmapBlurFilter::generateGaussianShader(int radius, bool singlePass, bool dropShadow)
{
Q_ASSERT(radius >= 1);
+ radius = qMin(127, radius);
+
+ static QCache<uint, QByteArray> shaderSourceCache;
+ uint key = radius | (int(singlePass) << 7) | (int(dropShadow) << 8);
+ QByteArray *cached = shaderSourceCache.object(key);
+ if (cached)
+ return *cached;
+
QByteArray source;
source.reserve(1000);
+ source.append(qt_gl_texture_sampling_helper);
source.append("uniform highp vec2 delta;\n");
if (dropShadow)
@@ -446,7 +815,7 @@ QByteArray QGLPixmapBlurFilter::generateGaussianShader(int radius, bool dropShad
qreal sigma = radius / 1.65;
qreal sum = 0;
- for (int i = -radius; i <= radius; ++i) {
+ for (int i = -radius; i < radius; ++i) {
float value = gaussian(i, sigma);
gaussianComponents << value;
sum += value;
@@ -464,43 +833,67 @@ QByteArray QGLPixmapBlurFilter::generateGaussianShader(int radius, bool dropShad
weights << weight;
}
- // odd size ?
- if (gaussianComponents.size() & 1) {
- sampleOffsets << radius;
- weights << gaussianComponents.last();
- }
-
- int currentVariable = 1;
- source.append(" mediump vec4 sample = vec4(0.0);\n");
- source.append(" mediump vec2 coord;\n");
-
- qreal weightSum = 0;
- source.append(" mediump float c;\n");
- for (int i = 0; i < sampleOffsets.size(); ++i) {
- qreal delta = sampleOffsets.at(i);
-
- ++currentVariable;
+ int limit = sampleOffsets.size();
+ if (singlePass)
+ limit *= limit;
+
+ QByteArray baseCoordinate = "srcCoords";
+
+ for (int i = 0; i < limit; ++i) {
+ QByteArray coordinate = baseCoordinate;
+
+ qreal weight;
+ if (singlePass) {
+ const int xIndex = i % sampleOffsets.size();
+ const int yIndex = i / sampleOffsets.size();
+
+ const qreal deltaX = sampleOffsets.at(xIndex);
+ const qreal deltaY = sampleOffsets.at(yIndex);
+ weight = weights.at(xIndex) * weights.at(yIndex);
+
+ if (!qFuzzyCompare(deltaX, deltaY)) {
+ coordinate.append(" + vec2(delta.x * float(");
+ coordinate.append(QByteArray::number(deltaX));
+ coordinate.append("), delta.y * float(");
+ coordinate.append(QByteArray::number(deltaY));
+ coordinate.append("))");
+ } else if (!qFuzzyIsNull(deltaX)) {
+ coordinate.append(" + delta * float(");
+ coordinate.append(QByteArray::number(deltaX));
+ coordinate.append(")");
+ }
+ } else {
+ const qreal delta = sampleOffsets.at(i);
+ weight = weights.at(i);
+ if (!qFuzzyIsNull(delta)) {
+ coordinate.append(" + delta * float(");
+ coordinate.append(QByteArray::number(delta));
+ coordinate.append(")");
+ }
+ }
- QByteArray coordinate = "srcCoords";
- if (delta != qreal(0)) {
- coordinate.append(" + delta * float(");
- coordinate.append(QByteArray::number(delta));
- coordinate.append(")");
+ if (i == 0) {
+ if (dropShadow)
+ source.append(" mediump float sample = ");
+ else
+ source.append(" mediump vec4 sample = ");
+ } else {
+ if (dropShadow)
+ source.append(" sample += ");
+ else
+ source.append(" sample += ");
}
- source.append(" coord = ");
+ source.append("texture2D(src, ");
source.append(coordinate);
- source.append(";\n");
+ source.append(")");
if (dropShadow)
- source.append(" sample += texture2D(src, coord).a * shadowColor");
- else
- source.append(" sample += texture2D(src, coord)");
+ source.append(".a");
- weightSum += weights.at(i);
- if (weights.at(i) != qreal(1)) {
+ if (!qFuzzyCompare(weight, qreal(1))) {
source.append(" * float(");
- source.append(QByteArray::number(weights.at(i)));
+ source.append(QByteArray::number(weight));
source.append(");\n");
} else {
source.append(";\n");
@@ -508,86 +901,100 @@ QByteArray QGLPixmapBlurFilter::generateGaussianShader(int radius, bool dropShad
}
source.append(" return ");
+ if (dropShadow)
+ source.append("shadowColor * ");
source.append("sample;\n");
source.append("}\n");
+ cached = new QByteArray(source);
+ shaderSourceCache.insert(key, cached);
+
return source;
}
-QGLPixmapDropShadowFilter::QGLPixmapDropShadowFilter(Qt::RenderHint hint)
+QGLPixmapDropShadowFilter::QGLPixmapDropShadowFilter(QGraphicsBlurEffect::BlurHint hint)
: m_haveCached(false)
- , m_cachedRadius(5)
+ , m_cachedRadius(0)
, m_hint(hint)
{
- if (hint == Qt::PerformanceHint) {
- QGLPixmapDropShadowFilter *filter = const_cast<QGLPixmapDropShadowFilter *>(this);
- filter->setSource(qt_gl_drop_shadow_filter_fast);
- m_haveCached = true;
- }
}
bool QGLPixmapDropShadowFilter::processGL(QPainter *painter, const QPointF &pos, const QPixmap &src, const QRectF &srcRect) const
{
QGLPixmapDropShadowFilter *filter = const_cast<QGLPixmapDropShadowFilter *>(this);
- int radius = this->blurRadius();
- if (!m_haveCached || (m_hint == Qt::QualityHint && radius != m_cachedRadius)) {
+ int actualRadius = qRound(blurRadius());
+ int filterRadius = actualRadius;
+ m_singlePass = filterRadius <= 3;
+
+ if (!m_haveCached || filterRadius != m_cachedRadius) {
// Only regenerate the shader from source if parameters have changed.
m_haveCached = true;
- m_cachedRadius = radius;
- filter->setSource(QGLPixmapBlurFilter::generateGaussianShader(radius, true));
+ m_cachedRadius = filterRadius;
+ QByteArray source = QGLPixmapBlurFilter::generateGaussianShader(filterRadius, m_singlePass, true);
+ filter->setSource(source);
}
- QGLFramebufferObjectFormat format;
- format.setInternalTextureFormat(GLenum(src.hasAlphaChannel() ? GL_RGBA : GL_RGB));
- QGLFramebufferObject *fbo = qgl_fbo_pool()->acquire(src.size(), format);
-
- if (!fbo)
- return false;
-
- glBindTexture(GL_TEXTURE_2D, fbo->texture());
+ QRect targetRect = QRectF(src.rect()).translated(pos + offset()).adjusted(-actualRadius, -actualRadius, actualRadius, actualRadius).toAlignedRect();
+
+ if (m_singlePass) {
+ // prepare for updateUniforms
+ m_textureSize = src.size();
+
+ painter->save();
+ // ensure GL_LINEAR filtering is used
+ painter->setRenderHint(QPainter::SmoothPixmapTransform);
+ filter->setOnPainter(painter);
+ QBrush pixmapBrush = src;
+ pixmapBrush.setTransform(QTransform::fromTranslate(pos.x() + offset().x(), pos.y() + offset().y()));
+ painter->fillRect(targetRect, pixmapBrush);
+ filter->removeFromPainter(painter);
+ painter->restore();
+ } else {
+ QGLFramebufferObjectFormat format;
+ format.setInternalTextureFormat(GLenum(src.hasAlphaChannel() ? GL_RGBA : GL_RGB));
+ QGLFramebufferObject *fbo = qgl_fbo_pool()->acquire(targetRect.size(), format);
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
- glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
- glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
- glBindTexture(GL_TEXTURE_2D, 0);
+ if (!fbo)
+ return false;
- // prepare for updateUniforms
- m_textureSize = src.size();
+ // prepare for updateUniforms
+ m_textureSize = src.size();
- // horizontal pass, to pixmap
- m_horizontalBlur = true;
+ // horizontal pass, to pixmap
+ m_horizontalBlur = true;
- QPainter fboPainter(fbo);
+ QPainter fboPainter(fbo);
- if (src.hasAlphaChannel()) {
glClearColor(0, 0, 0, 0);
glClear(GL_COLOR_BUFFER_BIT);
- }
- // ensure GL_LINEAR filtering is used
- fboPainter.setRenderHint(QPainter::SmoothPixmapTransform);
- filter->setOnPainter(&fboPainter);
- fboPainter.drawPixmap(0, 0, src);
- filter->removeFromPainter(&fboPainter);
- fboPainter.end();
-
- QGL2PaintEngineEx *engine = static_cast<QGL2PaintEngineEx *>(painter->paintEngine());
-
- // vertical pass, to painter
- m_horizontalBlur = false;
-
- painter->save();
- // ensure GL_LINEAR filtering is used
- painter->setRenderHint(QPainter::SmoothPixmapTransform);
- filter->setOnPainter(painter);
- QPointF ofs = offset();
- engine->drawTexture(src.rect().translated(pos.x() + ofs.x(), pos.y() + ofs.y()), fbo->texture(), fbo->size(), src.rect().translated(0, fbo->height() - src.height()));
- filter->removeFromPainter(painter);
- painter->restore();
-
- qgl_fbo_pool()->release(fbo);
+ // ensure GL_LINEAR filtering is used
+ fboPainter.setRenderHint(QPainter::SmoothPixmapTransform);
+ fboPainter.setCompositionMode(QPainter::CompositionMode_Source);
+ filter->setOnPainter(&fboPainter);
+ QBrush pixmapBrush = src;
+ pixmapBrush.setTransform(QTransform::fromTranslate(actualRadius, actualRadius));
+ fboPainter.fillRect(QRect(0, 0, targetRect.width(), targetRect.height()), pixmapBrush);
+ filter->removeFromPainter(&fboPainter);
+ fboPainter.end();
+
+ QGL2PaintEngineEx *engine = static_cast<QGL2PaintEngineEx *>(painter->paintEngine());
+
+ // vertical pass, to painter
+ m_horizontalBlur = false;
+ m_textureSize = fbo->size();
+
+ painter->save();
+ // ensure GL_LINEAR filtering is used
+ painter->setRenderHint(QPainter::SmoothPixmapTransform);
+ filter->setOnPainter(painter);
+ engine->drawTexture(targetRect, fbo->texture(), fbo->size(), src.rect().translated(0, fbo->height() - src.height()));
+ filter->removeFromPainter(painter);
+ painter->restore();
+
+ qgl_fbo_pool()->release(fbo);
+ }
// Now draw the actual pixmap over the top.
painter->drawPixmap(pos, src, srcRect);
@@ -597,8 +1004,11 @@ bool QGLPixmapDropShadowFilter::processGL(QPainter *painter, const QPointF &pos,
void QGLPixmapDropShadowFilter::setUniforms(QGLShaderProgram *program)
{
+ glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
+ glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
+
QColor col = color();
- if (m_horizontalBlur) {
+ if (m_horizontalBlur && !m_singlePass) {
program->setUniformValue("shadowColor", 1.0f, 1.0f, 1.0f, 1.0f);
} else {
qreal alpha = col.alphaF();
@@ -607,17 +1017,20 @@ void QGLPixmapDropShadowFilter::setUniforms(QGLShaderProgram *program)
col.blueF() * alpha,
alpha);
}
- if (m_hint == Qt::QualityHint) {
- if (m_horizontalBlur)
+
+ if (m_hint == QGraphicsBlurEffect::QualityHint) {
+ if (m_singlePass)
+ program->setUniformValue("delta", 1.0 / m_textureSize.width(), 1.0 / m_textureSize.height());
+ else if (m_horizontalBlur)
program->setUniformValue("delta", 1.0 / m_textureSize.width(), 0.0);
else
program->setUniformValue("delta", 0.0, 1.0 / m_textureSize.height());
} else {
- // 1.4 is chosen to most closely match the blurriness of the gaussian blur
- // at low radii
- qreal blur = blurRadius() / 1.4f;
+ qreal blur = blurRadius() / qreal(m_cachedRadius);
- if (m_horizontalBlur)
+ if (m_singlePass)
+ program->setUniformValue("delta", blur / m_textureSize.width(), blur / m_textureSize.height());
+ else if (m_horizontalBlur)
program->setUniformValue("delta", blur / m_textureSize.width(), 0.0);
else
program->setUniformValue("delta", 0.0, blur / m_textureSize.height());
diff --git a/src/opengl/qglshaderprogram.cpp b/src/opengl/qglshaderprogram.cpp
index dfa6c40..b4191dc 100644
--- a/src/opengl/qglshaderprogram.cpp
+++ b/src/opengl/qglshaderprogram.cpp
@@ -42,6 +42,7 @@
#include "qglshaderprogram.h"
#include "qglextensions_p.h"
#include "qgl_p.h"
+#include <QtCore/private/qobject_p.h>
#include <QtCore/qdebug.h>
#include <QtCore/qfile.h>
#include <QtCore/qvarlengtharray.h>
@@ -68,7 +69,7 @@ QT_BEGIN_NAMESPACE
The following example creates a vertex shader program using the
supplied source \c{code}. Once compiled and linked, the shader
program is activated in the current QGLContext by calling
- QGLShaderProgram::enable():
+ QGLShaderProgram::bind():
\snippet doc/src/snippets/code/src_opengl_qglshaderprogram.cpp 0
@@ -105,30 +106,6 @@ QT_BEGIN_NAMESPACE
\snippet doc/src/snippets/code/src_opengl_qglshaderprogram.cpp 2
- \section1 Partial shaders
-
- Desktop GLSL can attach an arbitrary number of vertex and fragment
- shaders to a shader program. Embedded GLSL/ES on the other hand
- supports only a single shader of each type on a shader program.
-
- Multiple shaders of the same type can be useful when large libraries
- of shaders are needed. Common functions can be factored out into
- library shaders that can be reused in multiple shader programs.
-
- To support this use of shaders, the application programmer can
- create shaders with the QGLShader::PartialVertexShader and
- QGLShader::PartialFragmentShader types. These types direct
- QGLShader and QGLShaderProgram to delay shader compilation until
- link time.
-
- When link() is called, the sources for the partial shaders are
- concatenated, and a single vertex or fragment shader is compiled
- and linked into the shader program.
-
- It is more efficient to use the QGLShader::VertexShader and
- QGLShader::FragmentShader when there is only one shader of that
- type in the program.
-
\sa QGLShader
*/
@@ -148,16 +125,11 @@ QT_BEGIN_NAMESPACE
*/
/*!
- \enum QGLShader::ShaderTypeBits
+ \enum QGLShader::ShaderTypeBit
This enum specifies the type of QGLShader that is being created.
- \value VertexShader Vertex shader written in the OpenGL Shading Language (GLSL).
- \value FragmentShader Fragment shader written in the OpenGL Shading Language (GLSL).
-
- \value PartialVertexShader Partial vertex shader that will be concatenated with all other partial vertex shaders at link time.
- \value PartialFragmentShader Partial fragment shader that will be concatenated with all other partial fragment shaders at link time.
-
- \omitvalue PartialShader
+ \value Vertex Vertex shader written in the OpenGL Shading Language (GLSL).
+ \value Fragment Fragment shader written in the OpenGL Shading Language (GLSL).
*/
#ifndef GL_FRAGMENT_SHADER
@@ -200,25 +172,22 @@ QT_BEGIN_NAMESPACE
#define GL_NUM_SHADER_BINARY_FORMATS 0x8DF9
#endif
-class QGLShaderPrivate
+class QGLShaderPrivate : public QObjectPrivate
{
+ Q_DECLARE_PUBLIC(QGLShader)
public:
QGLShaderPrivate(const QGLContext *context, QGLShader::ShaderType type)
: shaderGuard(context)
, shaderType(type)
, compiled(false)
- , isPartial((type & QGLShader::PartialShader) != 0)
- , hasPartialSource(false)
{
}
+ ~QGLShaderPrivate();
QGLSharedResourceGuard shaderGuard;
QGLShader::ShaderType shaderType;
bool compiled;
- bool isPartial;
- bool hasPartialSource;
QString log;
- QByteArray partialSource;
bool create();
bool compile(QGLShader *q);
@@ -227,16 +196,22 @@ public:
#define ctx shaderGuard.context()
+QGLShaderPrivate::~QGLShaderPrivate()
+{
+ if (shaderGuard.id()) {
+ QGLShareContextScope scope(shaderGuard.context());
+ glDeleteShader(shaderGuard.id());
+ }
+}
+
bool QGLShaderPrivate::create()
{
const QGLContext *context = shaderGuard.context();
if (!context)
return false;
- if (isPartial)
- return true;
if (qt_resolve_glsl_extensions(const_cast<QGLContext *>(context))) {
GLuint shader;
- if (shaderType == QGLShader::VertexShader)
+ if (shaderType == QGLShader::Vertex)
shader = glCreateShader(GL_VERTEX_SHADER);
else
shader = glCreateShader(GL_FRAGMENT_SHADER);
@@ -253,11 +228,6 @@ bool QGLShaderPrivate::create()
bool QGLShaderPrivate::compile(QGLShader *q)
{
- // Partial shaders are compiled during QGLShaderProgram::link().
- if (isPartial && hasPartialSource) {
- compiled = true;
- return true;
- }
GLuint shader = shaderGuard.id();
if (!shader)
return false;
@@ -296,61 +266,41 @@ void QGLShaderPrivate::deleteShader()
/*!
Constructs a new QGLShader object of the specified \a type
and attaches it to \a parent. If shader programs are not supported,
- QGLShaderProgram::hasShaderPrograms() will return false.
+ QGLShaderProgram::hasOpenGLShaderPrograms() will return false.
- This constructor is normally followed by a call to compile()
- or compileFile().
+ This constructor is normally followed by a call to compileSourceCode()
+ or compileSourceFile().
The shader will be associated with the current QGLContext.
- \sa compile(), compileFile()
+ \sa compileSourceCode(), compileSourceFile()
*/
QGLShader::QGLShader(QGLShader::ShaderType type, QObject *parent)
- : QObject(parent)
+ : QObject(*new QGLShaderPrivate(QGLContext::currentContext(), type), parent)
{
- d = new QGLShaderPrivate(QGLContext::currentContext(), type);
+ Q_D(QGLShader);
d->create();
}
/*!
- Constructs a new QGLShader object of the specified \a type from the
- source code in \a fileName and attaches it to \a parent.
- If the shader could not be loaded, then isCompiled() will return false.
-
- The shader will be associated with the current QGLContext.
-
- \sa isCompiled()
-*/
-QGLShader::QGLShader
- (const QString& fileName, QGLShader::ShaderType type, QObject *parent)
- : QObject(parent)
-{
- d = new QGLShaderPrivate(QGLContext::currentContext(), type);
- if (d->create() && !compileFile(fileName))
- d->deleteShader();
-}
-
-/*!
Constructs a new QGLShader object of the specified \a type
and attaches it to \a parent. If shader programs are not supported,
- then QGLShaderProgram::hasShaderPrograms() will return false.
+ then QGLShaderProgram::hasOpenGLShaderPrograms() will return false.
- This constructor is normally followed by a call to compile()
- or compileFile().
+ This constructor is normally followed by a call to compileSourceCode()
+ or compileSourceFile().
The shader will be associated with \a context.
- \sa compile(), compileFile()
+ \sa compileSourceCode(), compileSourceFile()
*/
QGLShader::QGLShader(QGLShader::ShaderType type, const QGLContext *context, QObject *parent)
- : QObject(parent)
+ : QObject(*new QGLShaderPrivate(context ? context : QGLContext::currentContext(), type), parent)
{
- if (!context)
- context = QGLContext::currentContext();
- d = new QGLShaderPrivate(context, type);
+ Q_D(QGLShader);
#ifndef QT_NO_DEBUG
if (context && !QGLContext::areSharing(context, QGLContext::currentContext())) {
- qWarning("QGLShader::QGLShader: \'context\' must be the currect context or sharing with it.");
+ qWarning("QGLShader::QGLShader: \'context\' must be the current context or sharing with it.");
return;
}
#endif
@@ -358,43 +308,12 @@ QGLShader::QGLShader(QGLShader::ShaderType type, const QGLContext *context, QObj
}
/*!
- Constructs a new QGLShader object of the specified \a type from the
- source code in \a fileName and attaches it to \a parent.
- If the shader could not be loaded, then isCompiled() will return false.
-
- The shader will be associated with \a context.
-
- \sa isCompiled()
-*/
-QGLShader::QGLShader
- (const QString& fileName, QGLShader::ShaderType type, const QGLContext *context, QObject *parent)
- : QObject(parent)
-{
- if (!context)
- context = QGLContext::currentContext();
- d = new QGLShaderPrivate(context, type);
-#ifndef QT_NO_DEBUG
- if (context && !QGLContext::areSharing(context, QGLContext::currentContext())) {
- qWarning("QGLShader::QGLShader: \'context\' must be currect context or sharing with it.");
- return;
- }
-#endif
- if (d->create() && !compileFile(fileName))
- d->deleteShader();
-}
-
-/*!
Deletes this shader. If the shader has been attached to a
QGLShaderProgram object, then the actual shader will stay around
until the QGLShaderProgram is destroyed.
*/
QGLShader::~QGLShader()
{
- if (d->shaderGuard.id()) {
- QGLShareContextScope scope(d->shaderGuard.context());
- glDeleteShader(d->shaderGuard.id());
- }
- delete d;
}
/*!
@@ -402,6 +321,7 @@ QGLShader::~QGLShader()
*/
QGLShader::ShaderType QGLShader::shaderType() const
{
+ Q_D(const QGLShader);
return d->shaderType;
}
@@ -430,21 +350,14 @@ static const char redefineHighp[] =
Sets the \a source code for this shader and compiles it.
Returns true if the source was successfully compiled, false otherwise.
- If shaderType() is PartialVertexShader or PartialFragmentShader,
- then this function will always return true, even if the source code
- is invalid. Partial shaders are compiled when QGLShaderProgram::link()
- is called.
-
- \sa compileFile()
+ \sa compileSourceFile()
*/
-bool QGLShader::compile(const char *source)
+bool QGLShader::compileSourceCode(const char *source)
{
- if (d->isPartial) {
- d->partialSource = QByteArray(source);
- d->hasPartialSource = true;
- return d->compile(this);
- } else if (d->shaderGuard.id()) {
- QVarLengthArray<const char *> src;
+ Q_D(QGLShader);
+ if (d->shaderGuard.id()) {
+ QVarLengthArray<const char *, 4> src;
+ QVarLengthArray<GLint, 4> srclen;
int headerLen = 0;
while (source && source[headerLen] == '#') {
// Skip #version and #extension directives at the start of
@@ -459,21 +372,23 @@ bool QGLShader::compile(const char *source)
if (source[headerLen] == '\n')
++headerLen;
}
- QByteArray header;
if (headerLen > 0) {
- header = QByteArray(source, headerLen);
- src.append(header.constData());
+ src.append(source);
+ srclen.append(GLint(headerLen));
}
#ifdef QGL_DEFINE_QUALIFIERS
src.append(qualifierDefines);
+ srclen.append(GLint(sizeof(qualifierDefines) - 1));
#endif
#ifdef QGL_REDEFINE_HIGHP
- if (d->shaderType == FragmentShader ||
- d->shaderType == PartialFragmentShader)
+ if (d->shaderType == Fragment) {
src.append(redefineHighp);
+ srclen.append(GLint(sizeof(redefineHighp) - 1));
+ }
#endif
src.append(source + headerLen);
- glShaderSource(d->shaderGuard.id(), src.size(), src.data(), 0);
+ srclen.append(GLint(qstrlen(source + headerLen)));
+ glShaderSource(d->shaderGuard.id(), src.size(), src.data(), srclen.data());
return d->compile(this);
} else {
return false;
@@ -486,16 +401,11 @@ bool QGLShader::compile(const char *source)
Sets the \a source code for this shader and compiles it.
Returns true if the source was successfully compiled, false otherwise.
- If shaderType() is PartialVertexShader or PartialFragmentShader,
- then this function will always return true, even if the source code
- is invalid. Partial shaders are compiled when QGLShaderProgram::link()
- is called.
-
- \sa compileFile()
+ \sa compileSourceFile()
*/
-bool QGLShader::compile(const QByteArray& source)
+bool QGLShader::compileSourceCode(const QByteArray& source)
{
- return compile(source.constData());
+ return compileSourceCode(source.constData());
}
/*!
@@ -504,16 +414,11 @@ bool QGLShader::compile(const QByteArray& source)
Sets the \a source code for this shader and compiles it.
Returns true if the source was successfully compiled, false otherwise.
- If shaderType() is PartialVertexShader or PartialFragmentShader,
- then this function will always return true, even if the source code
- is invalid. Partial shaders are compiled when QGLShaderProgram::link()
- is called.
-
- \sa compileFile()
+ \sa compileSourceFile()
*/
-bool QGLShader::compile(const QString& source)
+bool QGLShader::compileSourceCode(const QString& source)
{
- return compile(source.toLatin1().constData());
+ return compileSourceCode(source.toLatin1().constData());
}
/*!
@@ -521,14 +426,9 @@ bool QGLShader::compile(const QString& source)
and compiles it. Returns true if the file could be opened and the
source compiled, false otherwise.
- If shaderType() is PartialVertexShader or PartialFragmentShader,
- then this function will always return true, even if the source code
- is invalid. Partial shaders are compiled when QGLShaderProgram::link()
- is called.
-
- \sa compile()
+ \sa compileSourceCode()
*/
-bool QGLShader::compileFile(const QString& fileName)
+bool QGLShader::compileSourceFile(const QString& fileName)
{
QFile file(fileName);
if (!file.open(QFile::ReadOnly)) {
@@ -537,105 +437,17 @@ bool QGLShader::compileFile(const QString& fileName)
}
QByteArray contents = file.readAll();
- return compile(contents.constData());
-}
-
-/*!
- Sets the binary code for this shader to the \a length bytes from
- the array \a binary. The \a format specifies how the binary data
- should be interpreted by the OpenGL engine. Returns true if the
- binary was set on the shader; false otherwise.
-
- This function cannot be used with PartialVertexShader or
- PartialFragmentShader.
-
- If this function succeeds, then the shader will be considered compiled.
-
- \sa shaderBinaryFormats()
-*/
-bool QGLShader::setShaderBinary(GLenum format, const void *binary, int length)
-{
-#if !defined(QT_OPENGL_ES_2)
- if (!glShaderBinary)
- return false;
-#endif
- GLuint shader = d->shaderGuard.id();
- if (d->isPartial || !shader)
- return false;
- glGetError(); // Clear error state.
- glShaderBinary(1, &shader, format, binary, length);
- d->compiled = (glGetError() == GL_NO_ERROR);
- return d->compiled;
-}
-
-/*!
- Sets the binary code for this shader to the \a length bytes from
- the array \a binary. The \a format specifies how the binary data
- should be interpreted by the OpenGL engine. Returns true if the
- binary was set on the shader; false otherwise.
-
- The \a otherShader will also have binary code set on it. This is
- for the case where \a binary contains both vertex and fragment
- shader code.
-
- This function cannot be used with PartialVertexShader or
- PartialFragmentShader.
-
- If this function succeeds, then the shader will be considered compiled.
-
- \sa shaderBinaryFormats()
-*/
-bool QGLShader::setShaderBinary
- (QGLShader& otherShader, GLenum format, const void *binary, int length)
-{
-#if !defined(QT_OPENGL_ES_2)
- if (!glShaderBinary)
- return false;
-#endif
- if (d->isPartial || !d->shaderGuard.id())
- return false;
- if (otherShader.d->isPartial || !otherShader.d->shaderGuard.id())
- return false;
- glGetError(); // Clear error state.
- GLuint shaders[2];
- shaders[0] = d->shaderGuard.id();
- shaders[1] = otherShader.d->shaderGuard.id();
- glShaderBinary(2, shaders, format, binary, length);
- d->compiled = (glGetError() == GL_NO_ERROR);
- otherShader.d->compiled = d->compiled;
- return d->compiled;
-}
-
-/*!
- Returns a list of all binary formats that are supported by
- setShaderBinary() on this system.
-
- \sa setShaderBinary()
-*/
-QList<GLenum> QGLShader::shaderBinaryFormats()
-{
- GLint num;
- QList<GLenum> list;
- glGetError(); // Clear error state.
- glGetIntegerv(GL_NUM_SHADER_BINARY_FORMATS, &num);
- if (glGetError() != GL_NO_ERROR || num <= 0)
- return list;
- QVarLengthArray<GLint> formats(num);
- glGetIntegerv(GL_SHADER_BINARY_FORMATS, formats.data());
- for (GLint i = 0; i < num; ++i)
- list += (GLenum)(formats[i]);
- return list;
+ return compileSourceCode(contents.constData());
}
/*!
Returns the source code for this shader.
- \sa compile()
+ \sa compileSourceCode()
*/
QByteArray QGLShader::sourceCode() const
{
- if (d->isPartial)
- return d->partialSource;
+ Q_D(const QGLShader);
GLuint shader = d->shaderGuard.id();
if (!shader)
return QByteArray();
@@ -654,48 +466,47 @@ QByteArray QGLShader::sourceCode() const
/*!
Returns true if this shader has been compiled; false otherwise.
- \sa compile()
+ \sa compileSourceCode(), compileSourceFile()
*/
bool QGLShader::isCompiled() const
{
+ Q_D(const QGLShader);
return d->compiled;
}
/*!
Returns the errors and warnings that occurred during the last compile.
- \sa compile()
+ \sa compileSourceCode(), compileSourceFile()
*/
QString QGLShader::log() const
{
+ Q_D(const QGLShader);
return d->log;
}
/*!
Returns the OpenGL identifier associated with this shader.
- If shaderType() is PartialVertexShader or PartialFragmentShader,
- this function will always return zero. Partial shaders are
- created and compiled when QGLShaderProgram::link() is called.
-
\sa QGLShaderProgram::programId()
*/
GLuint QGLShader::shaderId() const
{
+ Q_D(const QGLShader);
return d->shaderGuard.id();
}
#undef ctx
#define ctx programGuard.context()
-class QGLShaderProgramPrivate
+class QGLShaderProgramPrivate : public QObjectPrivate
{
+ Q_DECLARE_PUBLIC(QGLShaderProgram)
public:
QGLShaderProgramPrivate(const QGLContext *context)
: programGuard(context)
, linked(false)
, inited(false)
- , hasPartialShaders(false)
, removingShaders(false)
, vertexShader(0)
, fragmentShader(0)
@@ -706,13 +517,14 @@ public:
QGLSharedResourceGuard programGuard;
bool linked;
bool inited;
- bool hasPartialShaders;
bool removingShaders;
QString log;
QList<QGLShader *> shaders;
QList<QGLShader *> anonShaders;
QGLShader *vertexShader;
QGLShader *fragmentShader;
+
+ bool hasShader(QGLShader::ShaderType type) const;
};
QGLShaderProgramPrivate::~QGLShaderProgramPrivate()
@@ -723,6 +535,15 @@ QGLShaderProgramPrivate::~QGLShaderProgramPrivate()
}
}
+bool QGLShaderProgramPrivate::hasShader(QGLShader::ShaderType type) const
+{
+ foreach (QGLShader *shader, shaders) {
+ if (shader->shaderType() == type)
+ return true;
+ }
+ return false;
+}
+
#undef ctx
#define ctx d->programGuard.context()
@@ -735,9 +556,8 @@ QGLShaderProgramPrivate::~QGLShaderProgramPrivate()
\sa addShader()
*/
QGLShaderProgram::QGLShaderProgram(QObject *parent)
- : QObject(parent)
+ : QObject(*new QGLShaderProgramPrivate(QGLContext::currentContext()), parent)
{
- d = new QGLShaderProgramPrivate(QGLContext::currentContext());
}
/*!
@@ -749,9 +569,8 @@ QGLShaderProgram::QGLShaderProgram(QObject *parent)
\sa addShader()
*/
QGLShaderProgram::QGLShaderProgram(const QGLContext *context, QObject *parent)
- : QObject(parent)
+ : QObject(*new QGLShaderProgramPrivate(context), parent)
{
- d = new QGLShaderProgramPrivate(context);
}
/*!
@@ -759,11 +578,11 @@ QGLShaderProgram::QGLShaderProgram(const QGLContext *context, QObject *parent)
*/
QGLShaderProgram::~QGLShaderProgram()
{
- delete d;
}
bool QGLShaderProgram::init()
{
+ Q_D(QGLShaderProgram);
if (d->programGuard.id() || d->inited)
return true;
d->inited = true;
@@ -797,29 +616,27 @@ bool QGLShaderProgram::init()
is deleted. This allows the caller to add the same shader
to multiple shader programs.
+ \sa addShaderFromSourceCode(), addShaderFromSourceFile()
\sa removeShader(), link(), removeAllShaders()
*/
bool QGLShaderProgram::addShader(QGLShader *shader)
{
+ Q_D(QGLShaderProgram);
if (!init())
return false;
if (d->shaders.contains(shader))
return true; // Already added to this shader program.
if (d->programGuard.id() && shader) {
- if (!QGLContext::areSharing(shader->d->shaderGuard.context(),
+ if (!QGLContext::areSharing(shader->d_func()->shaderGuard.context(),
d->programGuard.context())) {
qWarning("QGLShaderProgram::addShader: Program and shader are not associated with same context.");
return false;
}
- if (!shader->d->compiled)
+ if (!shader->d_func()->compiled)
return false;
- if (!shader->d->isPartial) {
- if (!shader->d->shaderGuard.id())
- return false;
- glAttachShader(d->programGuard.id(), shader->d->shaderGuard.id());
- } else {
- d->hasPartialShaders = true;
- }
+ if (!shader->d_func()->shaderGuard.id())
+ return false;
+ glAttachShader(d->programGuard.id(), shader->d_func()->shaderGuard.id());
d->linked = false; // Program needs to be relinked.
d->shaders.append(shader);
connect(shader, SIGNAL(destroyed()), this, SLOT(shaderDestroyed()));
@@ -839,14 +656,16 @@ bool QGLShaderProgram::addShader(QGLShader *shader)
adding vertex and fragment shaders to a shader program without
creating an instance of QGLShader first.
+ \sa addShader(), addShaderFromSourceFile()
\sa removeShader(), link(), log(), removeAllShaders()
*/
-bool QGLShaderProgram::addShader(QGLShader::ShaderType type, const char *source)
+bool QGLShaderProgram::addShaderFromSourceCode(QGLShader::ShaderType type, const char *source)
{
+ Q_D(QGLShaderProgram);
if (!init())
return false;
QGLShader *shader = new QGLShader(type, this);
- if (!shader->compile(source)) {
+ if (!shader->compileSourceCode(source)) {
d->log = shader->log();
delete shader;
return false;
@@ -867,11 +686,12 @@ bool QGLShaderProgram::addShader(QGLShader::ShaderType type, const char *source)
adding vertex and fragment shaders to a shader program without
creating an instance of QGLShader first.
+ \sa addShader(), addShaderFromSourceFile()
\sa removeShader(), link(), log(), removeAllShaders()
*/
-bool QGLShaderProgram::addShader(QGLShader::ShaderType type, const QByteArray& source)
+bool QGLShaderProgram::addShaderFromSourceCode(QGLShader::ShaderType type, const QByteArray& source)
{
- return addShader(type, source.constData());
+ return addShaderFromSourceCode(type, source.constData());
}
/*!
@@ -886,11 +706,12 @@ bool QGLShaderProgram::addShader(QGLShader::ShaderType type, const QByteArray& s
adding vertex and fragment shaders to a shader program without
creating an instance of QGLShader first.
+ \sa addShader(), addShaderFromSourceFile()
\sa removeShader(), link(), log(), removeAllShaders()
*/
-bool QGLShaderProgram::addShader(QGLShader::ShaderType type, const QString& source)
+bool QGLShaderProgram::addShaderFromSourceCode(QGLShader::ShaderType type, const QString& source)
{
- return addShader(type, source.toLatin1().constData());
+ return addShaderFromSourceCode(type, source.toLatin1().constData());
}
/*!
@@ -903,15 +724,16 @@ bool QGLShaderProgram::addShader(QGLShader::ShaderType type, const QString& sour
adding vertex and fragment shaders to a shader program without
creating an instance of QGLShader first.
- \sa addShader()
+ \sa addShader(), addShaderFromSourceCode()
*/
-bool QGLShaderProgram::addShaderFromFile
+bool QGLShaderProgram::addShaderFromSourceFile
(QGLShader::ShaderType type, const QString& fileName)
{
+ Q_D(QGLShaderProgram);
if (!init())
return false;
QGLShader *shader = new QGLShader(type, this);
- if (!shader->compileFile(fileName)) {
+ if (!shader->compileSourceFile(fileName)) {
d->log = shader->log();
delete shader;
return false;
@@ -927,9 +749,10 @@ bool QGLShaderProgram::addShaderFromFile
*/
void QGLShaderProgram::removeShader(QGLShader *shader)
{
- if (d->programGuard.id() && shader && shader->d->shaderGuard.id()) {
+ Q_D(QGLShaderProgram);
+ if (d->programGuard.id() && shader && shader->d_func()->shaderGuard.id()) {
QGLShareContextScope scope(d->programGuard.context());
- glDetachShader(d->programGuard.id(), shader->d->shaderGuard.id());
+ glDetachShader(d->programGuard.id(), shader->d_func()->shaderGuard.id());
}
d->linked = false; // Program needs to be relinked.
if (shader) {
@@ -947,6 +770,7 @@ void QGLShaderProgram::removeShader(QGLShader *shader)
*/
QList<QGLShader *> QGLShaderProgram::shaders() const
{
+ Q_D(const QGLShaderProgram);
return d->shaders;
}
@@ -960,10 +784,11 @@ QList<QGLShader *> QGLShaderProgram::shaders() const
*/
void QGLShaderProgram::removeAllShaders()
{
+ Q_D(QGLShaderProgram);
d->removingShaders = true;
foreach (QGLShader *shader, d->shaders) {
- if (d->programGuard.id() && shader && shader->d->shaderGuard.id())
- glDetachShader(d->programGuard.id(), shader->d->shaderGuard.id());
+ if (d->programGuard.id() && shader && shader->d_func()->shaderGuard.id())
+ glDetachShader(d->programGuard.id(), shader->d_func()->shaderGuard.id());
}
foreach (QGLShader *shader, d->anonShaders) {
// Delete shader objects that were created anonymously.
@@ -975,128 +800,6 @@ void QGLShaderProgram::removeAllShaders()
d->removingShaders = false;
}
-#if defined(QT_OPENGL_ES_2)
-
-#ifndef GL_PROGRAM_BINARY_LENGTH_OES
-#define GL_PROGRAM_BINARY_LENGTH_OES 0x8741
-#endif
-#ifndef GL_NUM_PROGRAM_BINARY_FORMATS_OES
-#define GL_NUM_PROGRAM_BINARY_FORMATS_OES 0x87FE
-#endif
-#ifndef GL_PROGRAM_BINARY_FORMATS_OES
-#define GL_PROGRAM_BINARY_FORMATS_OES 0x87FF
-#endif
-
-#endif
-
-/*!
- Returns the program binary associated with this shader program.
- The numeric identifier of the program binary format is returned
- in \a format. The \c OES_get_program_binary extension will need
- to be supported by the system for binary retrieval to succeed.
-
- Returns an empty QByteArray if the program binary cannot be
- retrieved on this system, or the shader program has not yet
- been linked.
-
- The returned binary can be supplied to setProgramBinary() on the
- same machine at some future point to reload the program. It contains
- the compiled code of all of the shaders that were attached to the
- program at the time programBinary() is called.
-
- \sa setProgramBinary(), programBinaryFormats()
-*/
-QByteArray QGLShaderProgram::programBinary(int *format) const
-{
-#if defined(QT_OPENGL_ES_2)
- if (!isLinked())
- return QByteArray();
-
- // Get the length of the binary data, bailing out if there is none.
- GLint length = 0;
- GLuint program = d->programGuard.id();
- glGetProgramiv(program, GL_PROGRAM_BINARY_LENGTH_OES, &length);
- if (length <= 0)
- return QByteArray();
-
- // Retrieve the binary data.
- QByteArray binary(length, 0);
- GLenum binaryFormat;
- glGetProgramBinaryOES(program, length, 0, &binaryFormat, binary.data());
- if (format)
- *format = (int)binaryFormat;
- return binary;
-#else
- Q_UNUSED(format);
- return QByteArray();
-#endif
-}
-
-/*!
- Sets the \a binary for this shader program according to \a format.
- Returns true if the binary was set, or false if the binary format
- is not supported or this system does not support program binaries.
- The program will be linked if the load succeeds.
-
- \sa programBinary(), programBinaryFormats(), isLinked()
-*/
-bool QGLShaderProgram::setProgramBinary(int format, const QByteArray& binary)
-{
-#if defined(QT_OPENGL_ES_2)
- // Load the binary and check that it was linked correctly.
- GLuint program = d->programGuard.id();
- if (!program)
- return false;
- glProgramBinaryOES(program, (GLenum)format,
- binary.constData(), binary.size());
- GLint value = 0;
- glGetProgramiv(program, GL_LINK_STATUS, &value);
- d->linked = (value != 0);
- value = 0;
- glGetProgramiv(program, GL_INFO_LOG_LENGTH, &value);
- d->log = QString();
- if (value > 1) {
- char *logbuf = new char [value];
- GLint len;
- glGetProgramInfoLog(program, value, &len, logbuf);
- d->log = QString::fromLatin1(logbuf);
- QString name = objectName();
- if (name.isEmpty())
- qWarning() << "QGLShader::setProgramBinary:" << d->log;
- else
- qWarning() << "QGLShader::setProgramBinary[" << name << "]:" << d->log;
- delete [] logbuf;
- }
- return d->linked;
-#else
- Q_UNUSED(format);
- Q_UNUSED(binary);
- return false;
-#endif
-}
-
-/*!
- Returns the list of program binary formats that are accepted by
- this system for use with setProgramBinary().
-
- \sa programBinary(), setProgramBinary()
-*/
-QList<int> QGLShaderProgram::programBinaryFormats()
-{
-#if defined(QT_OPENGL_ES_2)
- GLint count = 0;
- glGetIntegerv(GL_NUM_PROGRAM_BINARY_FORMATS_OES, &count);
- if (count <= 0)
- return QList<int>();
- QVector<int> list;
- list.resize(count);
- glGetIntegerv(GL_PROGRAM_BINARY_FORMATS_OES, list.data());
- return list.toList();
-#else
- return QList<int>();
-#endif
-}
-
/*!
Links together the shaders that were added to this program with
addShader(). Returns true if the link was successful or
@@ -1113,54 +816,10 @@ QList<int> QGLShaderProgram::programBinaryFormats()
*/
bool QGLShaderProgram::link()
{
+ Q_D(QGLShaderProgram);
GLuint program = d->programGuard.id();
if (!program)
return false;
- if (d->hasPartialShaders) {
- // Compile the partial vertex and fragment shaders.
- QByteArray vertexSource;
- QByteArray fragmentSource;
- foreach (QGLShader *shader, d->shaders) {
- if (shader->shaderType() == QGLShader::PartialVertexShader)
- vertexSource += shader->sourceCode();
- else if (shader->shaderType() == QGLShader::PartialFragmentShader)
- fragmentSource += shader->sourceCode();
- }
- if (vertexSource.isEmpty()) {
- if (d->vertexShader) {
- glDetachShader(program, d->vertexShader->d->shaderGuard.id());
- delete d->vertexShader;
- d->vertexShader = 0;
- }
- } else {
- if (!d->vertexShader) {
- d->vertexShader =
- new QGLShader(QGLShader::VertexShader, this);
- }
- if (!d->vertexShader->compile(vertexSource)) {
- d->log = d->vertexShader->log();
- return false;
- }
- glAttachShader(program, d->vertexShader->d->shaderGuard.id());
- }
- if (fragmentSource.isEmpty()) {
- if (d->fragmentShader) {
- glDetachShader(program, d->fragmentShader->d->shaderGuard.id());
- delete d->fragmentShader;
- d->fragmentShader = 0;
- }
- } else {
- if (!d->fragmentShader) {
- d->fragmentShader =
- new QGLShader(QGLShader::FragmentShader, this);
- }
- if (!d->fragmentShader->compile(fragmentSource)) {
- d->log = d->fragmentShader->log();
- return false;
- }
- glAttachShader(program, d->fragmentShader->d->shaderGuard.id());
- }
- }
glLinkProgram(program);
GLint value = 0;
glGetProgramiv(program, GL_LINK_STATUS, &value);
@@ -1190,6 +849,7 @@ bool QGLShaderProgram::link()
*/
bool QGLShaderProgram::isLinked() const
{
+ Q_D(const QGLShaderProgram);
return d->linked;
}
@@ -1201,24 +861,34 @@ bool QGLShaderProgram::isLinked() const
*/
QString QGLShaderProgram::log() const
{
+ Q_D(const QGLShaderProgram);
return d->log;
}
/*!
- Enable use of this shader program in the currently active QGLContext.
- Returns true if the program was successfully enabled; false
- otherwise. If the shader program has not yet been linked,
+ Binds this shader program to the active QGLContext and makes
+ it the current shader program. Any previously bound shader program
+ is released. This is equivalent to calling \c{glUseProgram()} on
+ programId(). Returns true if the program was successfully bound;
+ false otherwise. If the shader program has not yet been linked,
or it needs to be re-linked, this function will call link().
- \sa link(), disable()
+ \sa link(), release()
*/
-bool QGLShaderProgram::enable()
+bool QGLShaderProgram::bind()
{
+ Q_D(QGLShaderProgram);
GLuint program = d->programGuard.id();
if (!program)
return false;
if (!d->linked && !link())
return false;
+#ifndef QT_NO_DEBUG
+ if (!QGLContext::areSharing(d->programGuard.context(), QGLContext::currentContext())) {
+ qWarning("QGLShaderProgram::bind: program is not valid in the current context.");
+ return false;
+ }
+#endif
glUseProgram(program);
return true;
}
@@ -1227,13 +897,18 @@ bool QGLShaderProgram::enable()
#define ctx QGLContext::currentContext()
/*!
- Disables the active shader program in the current QGLContext.
+ Releases the active shader program from the current QGLContext.
This is equivalent to calling \c{glUseProgram(0)}.
- \sa enable()
+ \sa bind()
*/
-void QGLShaderProgram::disable()
+void QGLShaderProgram::release()
{
+#ifndef QT_NO_DEBUG
+ Q_D(QGLShaderProgram);
+ if (!QGLContext::areSharing(d->programGuard.context(), QGLContext::currentContext()))
+ qWarning("QGLShaderProgram::release: program is not valid in the current context.");
+#endif
#if defined(QT_OPENGL_ES_2)
glUseProgram(0);
#else
@@ -1252,6 +927,7 @@ void QGLShaderProgram::disable()
*/
GLuint QGLShaderProgram::programId() const
{
+ Q_D(const QGLShaderProgram);
return d->programGuard.id();
}
@@ -1265,7 +941,13 @@ GLuint QGLShaderProgram::programId() const
*/
void QGLShaderProgram::bindAttributeLocation(const char *name, int location)
{
- glBindAttribLocation(d->programGuard.id(), location, name);
+ Q_D(QGLShaderProgram);
+ if (!d->linked) {
+ glBindAttribLocation(d->programGuard.id(), location, name);
+ } else {
+ qWarning() << "QGLShaderProgram::bindAttributeLocation(" << name
+ << "): cannot bind after shader program is linked";
+ }
}
/*!
@@ -1280,7 +962,7 @@ void QGLShaderProgram::bindAttributeLocation(const char *name, int location)
*/
void QGLShaderProgram::bindAttributeLocation(const QByteArray& name, int location)
{
- glBindAttribLocation(d->programGuard.id(), location, name.constData());
+ bindAttributeLocation(name.constData(), location);
}
/*!
@@ -1295,7 +977,7 @@ void QGLShaderProgram::bindAttributeLocation(const QByteArray& name, int locatio
*/
void QGLShaderProgram::bindAttributeLocation(const QString& name, int location)
{
- glBindAttribLocation(d->programGuard.id(), location, name.toLatin1().constData());
+ bindAttributeLocation(name.toLatin1().constData(), location);
}
/*!
@@ -1307,6 +989,7 @@ void QGLShaderProgram::bindAttributeLocation(const QString& name, int location)
*/
int QGLShaderProgram::attributeLocation(const char *name) const
{
+ Q_D(const QGLShaderProgram);
if (d->linked) {
return glGetAttribLocation(d->programGuard.id(), name);
} else {
@@ -1351,6 +1034,8 @@ int QGLShaderProgram::attributeLocation(const QString& name) const
*/
void QGLShaderProgram::setAttributeValue(int location, GLfloat value)
{
+ Q_D(QGLShaderProgram);
+ Q_UNUSED(d);
if (location != -1)
glVertexAttrib1fv(location, &value);
}
@@ -1375,6 +1060,8 @@ void QGLShaderProgram::setAttributeValue(const char *name, GLfloat value)
*/
void QGLShaderProgram::setAttributeValue(int location, GLfloat x, GLfloat y)
{
+ Q_D(QGLShaderProgram);
+ Q_UNUSED(d);
if (location != -1) {
GLfloat values[2] = {x, y};
glVertexAttrib2fv(location, values);
@@ -1403,6 +1090,8 @@ void QGLShaderProgram::setAttributeValue(const char *name, GLfloat x, GLfloat y)
void QGLShaderProgram::setAttributeValue
(int location, GLfloat x, GLfloat y, GLfloat z)
{
+ Q_D(QGLShaderProgram);
+ Q_UNUSED(d);
if (location != -1) {
GLfloat values[3] = {x, y, z};
glVertexAttrib3fv(location, values);
@@ -1432,6 +1121,8 @@ void QGLShaderProgram::setAttributeValue
void QGLShaderProgram::setAttributeValue
(int location, GLfloat x, GLfloat y, GLfloat z, GLfloat w)
{
+ Q_D(QGLShaderProgram);
+ Q_UNUSED(d);
if (location != -1) {
GLfloat values[4] = {x, y, z, w};
glVertexAttrib4fv(location, values);
@@ -1459,6 +1150,8 @@ void QGLShaderProgram::setAttributeValue
*/
void QGLShaderProgram::setAttributeValue(int location, const QVector2D& value)
{
+ Q_D(QGLShaderProgram);
+ Q_UNUSED(d);
if (location != -1)
glVertexAttrib2fv(location, reinterpret_cast<const GLfloat *>(&value));
}
@@ -1482,6 +1175,8 @@ void QGLShaderProgram::setAttributeValue(const char *name, const QVector2D& valu
*/
void QGLShaderProgram::setAttributeValue(int location, const QVector3D& value)
{
+ Q_D(QGLShaderProgram);
+ Q_UNUSED(d);
if (location != -1)
glVertexAttrib3fv(location, reinterpret_cast<const GLfloat *>(&value));
}
@@ -1505,6 +1200,8 @@ void QGLShaderProgram::setAttributeValue(const char *name, const QVector3D& valu
*/
void QGLShaderProgram::setAttributeValue(int location, const QVector4D& value)
{
+ Q_D(QGLShaderProgram);
+ Q_UNUSED(d);
if (location != -1)
glVertexAttrib4fv(location, reinterpret_cast<const GLfloat *>(&value));
}
@@ -1528,6 +1225,8 @@ void QGLShaderProgram::setAttributeValue(const char *name, const QVector4D& valu
*/
void QGLShaderProgram::setAttributeValue(int location, const QColor& value)
{
+ Q_D(QGLShaderProgram);
+ Q_UNUSED(d);
if (location != -1) {
GLfloat values[4] = {value.redF(), value.greenF(), value.blueF(), value.alphaF()};
glVertexAttrib4fv(location, values);
@@ -1558,6 +1257,8 @@ void QGLShaderProgram::setAttributeValue(const char *name, const QColor& value)
void QGLShaderProgram::setAttributeValue
(int location, const GLfloat *values, int columns, int rows)
{
+ Q_D(QGLShaderProgram);
+ Q_UNUSED(d);
if (rows < 1 || rows > 4) {
qWarning() << "QGLShaderProgram::setAttributeValue: rows" << rows << "not supported";
return;
@@ -1597,20 +1298,26 @@ void QGLShaderProgram::setAttributeValue
/*!
Sets an array of vertex \a values on the attribute at \a location
- in this shader program. The \a size indicates the number of
+ in this shader program. The \a tupleSize indicates the number of
components per vertex (1, 2, 3, or 4), and the \a stride indicates
the number of bytes between vertices. A default \a stride value
of zero indicates that the vertices are densely packed in \a values.
- \sa setAttributeValue(), setUniformValue(), disableAttributeArray()
+ The array will become active when enableAttributeArray() is called
+ on the \a location. Otherwise the value specified with
+ setAttributeValue() for \a location will be used.
+
+ \sa setAttributeValue(), setUniformValue(), enableAttributeArray()
+ \sa disableAttributeArray()
*/
void QGLShaderProgram::setAttributeArray
- (int location, const GLfloat *values, int size, int stride)
+ (int location, const GLfloat *values, int tupleSize, int stride)
{
+ Q_D(QGLShaderProgram);
+ Q_UNUSED(d);
if (location != -1) {
- glVertexAttribPointer(location, size, GL_FLOAT, GL_FALSE,
+ glVertexAttribPointer(location, tupleSize, GL_FLOAT, GL_FALSE,
stride, values);
- glEnableVertexAttribArray(location);
}
}
@@ -1620,15 +1327,21 @@ void QGLShaderProgram::setAttributeArray
between vertices. A default \a stride value of zero indicates that
the vertices are densely packed in \a values.
- \sa setAttributeValue(), setUniformValue(), disableAttributeArray()
+ The array will become active when enableAttributeArray() is called
+ on the \a location. Otherwise the value specified with
+ setAttributeValue() for \a location will be used.
+
+ \sa setAttributeValue(), setUniformValue(), enableAttributeArray()
+ \sa disableAttributeArray()
*/
void QGLShaderProgram::setAttributeArray
(int location, const QVector2D *values, int stride)
{
+ Q_D(QGLShaderProgram);
+ Q_UNUSED(d);
if (location != -1) {
glVertexAttribPointer(location, 2, GL_FLOAT, GL_FALSE,
stride, values);
- glEnableVertexAttribArray(location);
}
}
@@ -1638,15 +1351,21 @@ void QGLShaderProgram::setAttributeArray
between vertices. A default \a stride value of zero indicates that
the vertices are densely packed in \a values.
- \sa setAttributeValue(), setUniformValue(), disableAttributeArray()
+ The array will become active when enableAttributeArray() is called
+ on the \a location. Otherwise the value specified with
+ setAttributeValue() for \a location will be used.
+
+ \sa setAttributeValue(), setUniformValue(), enableAttributeArray()
+ \sa disableAttributeArray()
*/
void QGLShaderProgram::setAttributeArray
(int location, const QVector3D *values, int stride)
{
+ Q_D(QGLShaderProgram);
+ Q_UNUSED(d);
if (location != -1) {
glVertexAttribPointer(location, 3, GL_FLOAT, GL_FALSE,
stride, values);
- glEnableVertexAttribArray(location);
}
}
@@ -1656,15 +1375,21 @@ void QGLShaderProgram::setAttributeArray
between vertices. A default \a stride value of zero indicates that
the vertices are densely packed in \a values.
- \sa setAttributeValue(), setUniformValue(), disableAttributeArray()
+ The array will become active when enableAttributeArray() is called
+ on the \a location. Otherwise the value specified with
+ setAttributeValue() for \a location will be used.
+
+ \sa setAttributeValue(), setUniformValue(), enableAttributeArray()
+ \sa disableAttributeArray()
*/
void QGLShaderProgram::setAttributeArray
(int location, const QVector4D *values, int stride)
{
+ Q_D(QGLShaderProgram);
+ Q_UNUSED(d);
if (location != -1) {
glVertexAttribPointer(location, 4, GL_FLOAT, GL_FALSE,
stride, values);
- glEnableVertexAttribArray(location);
}
}
@@ -1672,17 +1397,22 @@ void QGLShaderProgram::setAttributeArray
\overload
Sets an array of vertex \a values on the attribute called \a name
- in this shader program. The \a size indicates the number of
+ in this shader program. The \a tupleSize indicates the number of
components per vertex (1, 2, 3, or 4), and the \a stride indicates
the number of bytes between vertices. A default \a stride value
of zero indicates that the vertices are densely packed in \a values.
- \sa setAttributeValue(), setUniformValue(), disableAttributeArray()
+ The array will become active when enableAttributeArray() is called
+ on \a name. Otherwise the value specified with setAttributeValue()
+ for \a name will be used.
+
+ \sa setAttributeValue(), setUniformValue(), enableAttributeArray()
+ \sa disableAttributeArray()
*/
void QGLShaderProgram::setAttributeArray
- (const char *name, const GLfloat *values, int size, int stride)
+ (const char *name, const GLfloat *values, int tupleSize, int stride)
{
- setAttributeArray(attributeLocation(name), values, size, stride);
+ setAttributeArray(attributeLocation(name), values, tupleSize, stride);
}
/*!
@@ -1693,7 +1423,12 @@ void QGLShaderProgram::setAttributeArray
between vertices. A default \a stride value of zero indicates that
the vertices are densely packed in \a values.
- \sa setAttributeValue(), setUniformValue(), disableAttributeArray()
+ The array will become active when enableAttributeArray() is called
+ on \a name. Otherwise the value specified with setAttributeValue()
+ for \a name will be used.
+
+ \sa setAttributeValue(), setUniformValue(), enableAttributeArray()
+ \sa disableAttributeArray()
*/
void QGLShaderProgram::setAttributeArray
(const char *name, const QVector2D *values, int stride)
@@ -1709,7 +1444,12 @@ void QGLShaderProgram::setAttributeArray
between vertices. A default \a stride value of zero indicates that
the vertices are densely packed in \a values.
- \sa setAttributeValue(), setUniformValue(), disableAttributeArray()
+ The array will become active when enableAttributeArray() is called
+ on \a name. Otherwise the value specified with setAttributeValue()
+ for \a name will be used.
+
+ \sa setAttributeValue(), setUniformValue(), enableAttributeArray()
+ \sa disableAttributeArray()
*/
void QGLShaderProgram::setAttributeArray
(const char *name, const QVector3D *values, int stride)
@@ -1725,7 +1465,12 @@ void QGLShaderProgram::setAttributeArray
between vertices. A default \a stride value of zero indicates that
the vertices are densely packed in \a values.
- \sa setAttributeValue(), setUniformValue(), disableAttributeArray()
+ The array will become active when enableAttributeArray() is called
+ on \a name. Otherwise the value specified with setAttributeValue()
+ for \a name will be used.
+
+ \sa setAttributeValue(), setUniformValue(), enableAttributeArray()
+ \sa disableAttributeArray()
*/
void QGLShaderProgram::setAttributeArray
(const char *name, const QVector4D *values, int stride)
@@ -1734,13 +1479,47 @@ void QGLShaderProgram::setAttributeArray
}
/*!
+ Enables the vertex array at \a location in this shader program
+ so that the value set by setAttributeArray() on \a location
+ will be used by the shader program.
+
+ \sa disableAttributeArray(), setAttributeArray(), setAttributeValue()
+ \sa setUniformValue()
+*/
+void QGLShaderProgram::enableAttributeArray(int location)
+{
+ Q_D(QGLShaderProgram);
+ Q_UNUSED(d);
+ if (location != -1)
+ glEnableVertexAttribArray(location);
+}
+
+/*!
+ \overload
+
+ Enables the vertex array called \a name in this shader program
+ so that the value set by setAttributeArray() on \a name
+ will be used by the shader program.
+
+ \sa disableAttributeArray(), setAttributeArray(), setAttributeValue()
+ \sa setUniformValue()
+*/
+void QGLShaderProgram::enableAttributeArray(const char *name)
+{
+ enableAttributeArray(attributeLocation(name));
+}
+
+/*!
Disables the vertex array at \a location in this shader program
- that was enabled by a previous call to setAttributeArray().
+ that was enabled by a previous call to enableAttributeArray().
- \sa setAttributeArray(), setAttributeValue(), setUniformValue()
+ \sa enableAttributeArray(), setAttributeArray(), setAttributeValue()
+ \sa setUniformValue()
*/
void QGLShaderProgram::disableAttributeArray(int location)
{
+ Q_D(QGLShaderProgram);
+ Q_UNUSED(d);
if (location != -1)
glDisableVertexAttribArray(location);
}
@@ -1749,9 +1528,10 @@ void QGLShaderProgram::disableAttributeArray(int location)
\overload
Disables the vertex array called \a name in this shader program
- that was enabled by a previous call to setAttributeArray().
+ that was enabled by a previous call to enableAttributeArray().
- \sa setAttributeArray(), setAttributeValue(), setUniformValue()
+ \sa enableAttributeArray(), setAttributeArray(), setAttributeValue()
+ \sa setUniformValue()
*/
void QGLShaderProgram::disableAttributeArray(const char *name)
{
@@ -1767,6 +1547,8 @@ void QGLShaderProgram::disableAttributeArray(const char *name)
*/
int QGLShaderProgram::uniformLocation(const char *name) const
{
+ Q_D(const QGLShaderProgram);
+ Q_UNUSED(d);
if (d->linked) {
return glGetUniformLocation(d->programGuard.id(), name);
} else {
@@ -1811,6 +1593,8 @@ int QGLShaderProgram::uniformLocation(const QString& name) const
*/
void QGLShaderProgram::setUniformValue(int location, GLfloat value)
{
+ Q_D(QGLShaderProgram);
+ Q_UNUSED(d);
if (location != -1)
glUniform1fv(location, 1, &value);
}
@@ -1835,6 +1619,8 @@ void QGLShaderProgram::setUniformValue(const char *name, GLfloat value)
*/
void QGLShaderProgram::setUniformValue(int location, GLint value)
{
+ Q_D(QGLShaderProgram);
+ Q_UNUSED(d);
if (location != -1)
glUniform1i(location, value);
}
@@ -1860,6 +1646,8 @@ void QGLShaderProgram::setUniformValue(const char *name, GLint value)
*/
void QGLShaderProgram::setUniformValue(int location, GLuint value)
{
+ Q_D(QGLShaderProgram);
+ Q_UNUSED(d);
if (location != -1)
glUniform1i(location, value);
}
@@ -1885,6 +1673,8 @@ void QGLShaderProgram::setUniformValue(const char *name, GLuint value)
*/
void QGLShaderProgram::setUniformValue(int location, GLfloat x, GLfloat y)
{
+ Q_D(QGLShaderProgram);
+ Q_UNUSED(d);
if (location != -1) {
GLfloat values[2] = {x, y};
glUniform2fv(location, 1, values);
@@ -1913,6 +1703,8 @@ void QGLShaderProgram::setUniformValue(const char *name, GLfloat x, GLfloat y)
void QGLShaderProgram::setUniformValue
(int location, GLfloat x, GLfloat y, GLfloat z)
{
+ Q_D(QGLShaderProgram);
+ Q_UNUSED(d);
if (location != -1) {
GLfloat values[3] = {x, y, z};
glUniform3fv(location, 1, values);
@@ -1942,6 +1734,8 @@ void QGLShaderProgram::setUniformValue
void QGLShaderProgram::setUniformValue
(int location, GLfloat x, GLfloat y, GLfloat z, GLfloat w)
{
+ Q_D(QGLShaderProgram);
+ Q_UNUSED(d);
if (location != -1) {
GLfloat values[4] = {x, y, z, w};
glUniform4fv(location, 1, values);
@@ -1969,6 +1763,8 @@ void QGLShaderProgram::setUniformValue
*/
void QGLShaderProgram::setUniformValue(int location, const QVector2D& value)
{
+ Q_D(QGLShaderProgram);
+ Q_UNUSED(d);
if (location != -1)
glUniform2fv(location, 1, reinterpret_cast<const GLfloat *>(&value));
}
@@ -1993,6 +1789,8 @@ void QGLShaderProgram::setUniformValue(const char *name, const QVector2D& value)
*/
void QGLShaderProgram::setUniformValue(int location, const QVector3D& value)
{
+ Q_D(QGLShaderProgram);
+ Q_UNUSED(d);
if (location != -1)
glUniform3fv(location, 1, reinterpret_cast<const GLfloat *>(&value));
}
@@ -2017,6 +1815,8 @@ void QGLShaderProgram::setUniformValue(const char *name, const QVector3D& value)
*/
void QGLShaderProgram::setUniformValue(int location, const QVector4D& value)
{
+ Q_D(QGLShaderProgram);
+ Q_UNUSED(d);
if (location != -1)
glUniform4fv(location, 1, reinterpret_cast<const GLfloat *>(&value));
}
@@ -2042,6 +1842,8 @@ void QGLShaderProgram::setUniformValue(const char *name, const QVector4D& value)
*/
void QGLShaderProgram::setUniformValue(int location, const QColor& color)
{
+ Q_D(QGLShaderProgram);
+ Q_UNUSED(d);
if (location != -1) {
GLfloat values[4] = {color.redF(), color.greenF(), color.blueF(), color.alphaF()};
glUniform4fv(location, 1, values);
@@ -2069,6 +1871,8 @@ void QGLShaderProgram::setUniformValue(const char *name, const QColor& color)
*/
void QGLShaderProgram::setUniformValue(int location, const QPoint& point)
{
+ Q_D(QGLShaderProgram);
+ Q_UNUSED(d);
if (location != -1) {
GLfloat values[4] = {point.x(), point.y()};
glUniform2fv(location, 1, values);
@@ -2096,6 +1900,8 @@ void QGLShaderProgram::setUniformValue(const char *name, const QPoint& point)
*/
void QGLShaderProgram::setUniformValue(int location, const QPointF& point)
{
+ Q_D(QGLShaderProgram);
+ Q_UNUSED(d);
if (location != -1) {
GLfloat values[4] = {point.x(), point.y()};
glUniform2fv(location, 1, values);
@@ -2123,6 +1929,8 @@ void QGLShaderProgram::setUniformValue(const char *name, const QPointF& point)
*/
void QGLShaderProgram::setUniformValue(int location, const QSize& size)
{
+ Q_D(QGLShaderProgram);
+ Q_UNUSED(d);
if (location != -1) {
GLfloat values[4] = {size.width(), size.width()};
glUniform2fv(location, 1, values);
@@ -2150,6 +1958,8 @@ void QGLShaderProgram::setUniformValue(const char *name, const QSize& size)
*/
void QGLShaderProgram::setUniformValue(int location, const QSizeF& size)
{
+ Q_D(QGLShaderProgram);
+ Q_UNUSED(d);
if (location != -1) {
GLfloat values[4] = {size.width(), size.height()};
glUniform2fv(location, 1, values);
@@ -2229,6 +2039,8 @@ void QGLShaderProgram::setUniformValue(const char *name, const QSizeF& size)
*/
void QGLShaderProgram::setUniformValue(int location, const QMatrix2x2& value)
{
+ Q_D(QGLShaderProgram);
+ Q_UNUSED(d);
setUniformMatrix(glUniformMatrix2fv, location, value, 2, 2);
}
@@ -2253,6 +2065,8 @@ void QGLShaderProgram::setUniformValue(const char *name, const QMatrix2x2& value
*/
void QGLShaderProgram::setUniformValue(int location, const QMatrix2x3& value)
{
+ Q_D(QGLShaderProgram);
+ Q_UNUSED(d);
setUniformGenericMatrix
(glUniformMatrix2x3fv, glUniform3fv, location, value, 2, 3);
}
@@ -2278,6 +2092,8 @@ void QGLShaderProgram::setUniformValue(const char *name, const QMatrix2x3& value
*/
void QGLShaderProgram::setUniformValue(int location, const QMatrix2x4& value)
{
+ Q_D(QGLShaderProgram);
+ Q_UNUSED(d);
setUniformGenericMatrix
(glUniformMatrix2x4fv, glUniform4fv, location, value, 2, 4);
}
@@ -2303,6 +2119,8 @@ void QGLShaderProgram::setUniformValue(const char *name, const QMatrix2x4& value
*/
void QGLShaderProgram::setUniformValue(int location, const QMatrix3x2& value)
{
+ Q_D(QGLShaderProgram);
+ Q_UNUSED(d);
setUniformGenericMatrix
(glUniformMatrix3x2fv, glUniform2fv, location, value, 3, 2);
}
@@ -2328,6 +2146,8 @@ void QGLShaderProgram::setUniformValue(const char *name, const QMatrix3x2& value
*/
void QGLShaderProgram::setUniformValue(int location, const QMatrix3x3& value)
{
+ Q_D(QGLShaderProgram);
+ Q_UNUSED(d);
setUniformMatrix(glUniformMatrix3fv, location, value, 3, 3);
}
@@ -2352,6 +2172,8 @@ void QGLShaderProgram::setUniformValue(const char *name, const QMatrix3x3& value
*/
void QGLShaderProgram::setUniformValue(int location, const QMatrix3x4& value)
{
+ Q_D(QGLShaderProgram);
+ Q_UNUSED(d);
setUniformGenericMatrix
(glUniformMatrix3x4fv, glUniform4fv, location, value, 3, 4);
}
@@ -2377,6 +2199,8 @@ void QGLShaderProgram::setUniformValue(const char *name, const QMatrix3x4& value
*/
void QGLShaderProgram::setUniformValue(int location, const QMatrix4x2& value)
{
+ Q_D(QGLShaderProgram);
+ Q_UNUSED(d);
setUniformGenericMatrix
(glUniformMatrix4x2fv, glUniform2fv, location, value, 4, 2);
}
@@ -2402,6 +2226,8 @@ void QGLShaderProgram::setUniformValue(const char *name, const QMatrix4x2& value
*/
void QGLShaderProgram::setUniformValue(int location, const QMatrix4x3& value)
{
+ Q_D(QGLShaderProgram);
+ Q_UNUSED(d);
setUniformGenericMatrix
(glUniformMatrix4x3fv, glUniform3fv, location, value, 4, 3);
}
@@ -2427,6 +2253,8 @@ void QGLShaderProgram::setUniformValue(const char *name, const QMatrix4x3& value
*/
void QGLShaderProgram::setUniformValue(int location, const QMatrix4x4& value)
{
+ Q_D(QGLShaderProgram);
+ Q_UNUSED(d);
setUniformMatrix(glUniformMatrix4fv, location, value, 4, 4);
}
@@ -2454,6 +2282,8 @@ void QGLShaderProgram::setUniformValue(const char *name, const QMatrix4x4& value
*/
void QGLShaderProgram::setUniformValue(int location, const GLfloat value[4][4])
{
+ Q_D(QGLShaderProgram);
+ Q_UNUSED(d);
if (location != -1)
glUniformMatrix4fv(location, 1, GL_FALSE, value[0]);
}
@@ -2481,6 +2311,8 @@ void QGLShaderProgram::setUniformValue(const char *name, const GLfloat value[4][
*/
void QGLShaderProgram::setUniformValue(int location, const QTransform& value)
{
+ Q_D(QGLShaderProgram);
+ Q_UNUSED(d);
if (location != -1) {
GLfloat mat[3][3] = {
{value.m11(), value.m12(), value.m13()},
@@ -2514,6 +2346,8 @@ void QGLShaderProgram::setUniformValue
*/
void QGLShaderProgram::setUniformValueArray(int location, const GLint *values, int count)
{
+ Q_D(QGLShaderProgram);
+ Q_UNUSED(d);
if (location != -1)
glUniform1iv(location, count, values);
}
@@ -2541,6 +2375,8 @@ void QGLShaderProgram::setUniformValueArray
*/
void QGLShaderProgram::setUniformValueArray(int location, const GLuint *values, int count)
{
+ Q_D(QGLShaderProgram);
+ Q_UNUSED(d);
if (location != -1)
glUniform1iv(location, count, reinterpret_cast<const GLint *>(values));
}
@@ -2563,23 +2399,25 @@ void QGLShaderProgram::setUniformValueArray
/*!
Sets the uniform variable array at \a location in the current
context to the \a count elements of \a values. Each element
- has \a size components. The \a size must be 1, 2, 3, or 4.
+ has \a tupleSize components. The \a tupleSize must be 1, 2, 3, or 4.
\sa setAttributeValue()
*/
-void QGLShaderProgram::setUniformValueArray(int location, const GLfloat *values, int count, int size)
+void QGLShaderProgram::setUniformValueArray(int location, const GLfloat *values, int count, int tupleSize)
{
+ Q_D(QGLShaderProgram);
+ Q_UNUSED(d);
if (location != -1) {
- if (size == 1)
+ if (tupleSize == 1)
glUniform1fv(location, count, values);
- else if (size == 2)
+ else if (tupleSize == 2)
glUniform2fv(location, count, values);
- else if (size == 3)
+ else if (tupleSize == 3)
glUniform3fv(location, count, values);
- else if (size == 4)
+ else if (tupleSize == 4)
glUniform4fv(location, count, values);
else
- qWarning() << "QGLShaderProgram::setUniformValue: size" << size << "not supported";
+ qWarning() << "QGLShaderProgram::setUniformValue: size" << tupleSize << "not supported";
}
}
@@ -2588,14 +2426,14 @@ void QGLShaderProgram::setUniformValueArray(int location, const GLfloat *values,
Sets the uniform variable array called \a name in the current
context to the \a count elements of \a values. Each element
- has \a size components. The \a size must be 1, 2, 3, or 4.
+ has \a tupleSize components. The \a tupleSize must be 1, 2, 3, or 4.
\sa setAttributeValue()
*/
void QGLShaderProgram::setUniformValueArray
- (const char *name, const GLfloat *values, int count, int size)
+ (const char *name, const GLfloat *values, int count, int tupleSize)
{
- setUniformValueArray(uniformLocation(name), values, count, size);
+ setUniformValueArray(uniformLocation(name), values, count, tupleSize);
}
/*!
@@ -2606,6 +2444,8 @@ void QGLShaderProgram::setUniformValueArray
*/
void QGLShaderProgram::setUniformValueArray(int location, const QVector2D *values, int count)
{
+ Q_D(QGLShaderProgram);
+ Q_UNUSED(d);
if (location != -1)
glUniform2fv(location, count, reinterpret_cast<const GLfloat *>(values));
}
@@ -2631,6 +2471,8 @@ void QGLShaderProgram::setUniformValueArray(const char *name, const QVector2D *v
*/
void QGLShaderProgram::setUniformValueArray(int location, const QVector3D *values, int count)
{
+ Q_D(QGLShaderProgram);
+ Q_UNUSED(d);
if (location != -1)
glUniform3fv(location, count, reinterpret_cast<const GLfloat *>(values));
}
@@ -2656,6 +2498,8 @@ void QGLShaderProgram::setUniformValueArray(const char *name, const QVector3D *v
*/
void QGLShaderProgram::setUniformValueArray(int location, const QVector4D *values, int count)
{
+ Q_D(QGLShaderProgram);
+ Q_UNUSED(d);
if (location != -1)
glUniform4fv(location, count, reinterpret_cast<const GLfloat *>(values));
}
@@ -2742,6 +2586,8 @@ void QGLShaderProgram::setUniformValueArray(const char *name, const QVector4D *v
*/
void QGLShaderProgram::setUniformValueArray(int location, const QMatrix2x2 *values, int count)
{
+ Q_D(QGLShaderProgram);
+ Q_UNUSED(d);
setUniformMatrixArray
(glUniformMatrix2fv, location, values, count, QMatrix2x2, 2, 2);
}
@@ -2767,6 +2613,8 @@ void QGLShaderProgram::setUniformValueArray(const char *name, const QMatrix2x2 *
*/
void QGLShaderProgram::setUniformValueArray(int location, const QMatrix2x3 *values, int count)
{
+ Q_D(QGLShaderProgram);
+ Q_UNUSED(d);
setUniformGenericMatrixArray
(glUniformMatrix2x3fv, glUniform3fv, location, values, count,
QMatrix2x3, 2, 3);
@@ -2793,6 +2641,8 @@ void QGLShaderProgram::setUniformValueArray(const char *name, const QMatrix2x3 *
*/
void QGLShaderProgram::setUniformValueArray(int location, const QMatrix2x4 *values, int count)
{
+ Q_D(QGLShaderProgram);
+ Q_UNUSED(d);
setUniformGenericMatrixArray
(glUniformMatrix2x4fv, glUniform4fv, location, values, count,
QMatrix2x4, 2, 4);
@@ -2819,6 +2669,8 @@ void QGLShaderProgram::setUniformValueArray(const char *name, const QMatrix2x4 *
*/
void QGLShaderProgram::setUniformValueArray(int location, const QMatrix3x2 *values, int count)
{
+ Q_D(QGLShaderProgram);
+ Q_UNUSED(d);
setUniformGenericMatrixArray
(glUniformMatrix3x2fv, glUniform2fv, location, values, count,
QMatrix3x2, 3, 2);
@@ -2845,6 +2697,8 @@ void QGLShaderProgram::setUniformValueArray(const char *name, const QMatrix3x2 *
*/
void QGLShaderProgram::setUniformValueArray(int location, const QMatrix3x3 *values, int count)
{
+ Q_D(QGLShaderProgram);
+ Q_UNUSED(d);
setUniformMatrixArray
(glUniformMatrix3fv, location, values, count, QMatrix3x3, 3, 3);
}
@@ -2870,6 +2724,8 @@ void QGLShaderProgram::setUniformValueArray(const char *name, const QMatrix3x3 *
*/
void QGLShaderProgram::setUniformValueArray(int location, const QMatrix3x4 *values, int count)
{
+ Q_D(QGLShaderProgram);
+ Q_UNUSED(d);
setUniformGenericMatrixArray
(glUniformMatrix3x4fv, glUniform4fv, location, values, count,
QMatrix3x4, 3, 4);
@@ -2896,6 +2752,8 @@ void QGLShaderProgram::setUniformValueArray(const char *name, const QMatrix3x4 *
*/
void QGLShaderProgram::setUniformValueArray(int location, const QMatrix4x2 *values, int count)
{
+ Q_D(QGLShaderProgram);
+ Q_UNUSED(d);
setUniformGenericMatrixArray
(glUniformMatrix4x2fv, glUniform2fv, location, values, count,
QMatrix4x2, 4, 2);
@@ -2922,6 +2780,8 @@ void QGLShaderProgram::setUniformValueArray(const char *name, const QMatrix4x2 *
*/
void QGLShaderProgram::setUniformValueArray(int location, const QMatrix4x3 *values, int count)
{
+ Q_D(QGLShaderProgram);
+ Q_UNUSED(d);
setUniformGenericMatrixArray
(glUniformMatrix4x3fv, glUniform3fv, location, values, count,
QMatrix4x3, 4, 3);
@@ -2948,6 +2808,8 @@ void QGLShaderProgram::setUniformValueArray(const char *name, const QMatrix4x3 *
*/
void QGLShaderProgram::setUniformValueArray(int location, const QMatrix4x4 *values, int count)
{
+ Q_D(QGLShaderProgram);
+ Q_UNUSED(d);
setUniformMatrixArray
(glUniformMatrix4fv, location, values, count, QMatrix4x4, 4, 4);
}
@@ -2974,7 +2836,7 @@ void QGLShaderProgram::setUniformValueArray(const char *name, const QMatrix4x4 *
The \a context is used to resolve the GLSL extensions.
If \a context is null, then QGLContext::currentContext() is used.
*/
-bool QGLShaderProgram::hasShaderPrograms(const QGLContext *context)
+bool QGLShaderProgram::hasOpenGLShaderPrograms(const QGLContext *context)
{
#if !defined(QT_OPENGL_ES_2)
if (!context)
@@ -2993,11 +2855,62 @@ bool QGLShaderProgram::hasShaderPrograms(const QGLContext *context)
*/
void QGLShaderProgram::shaderDestroyed()
{
+ Q_D(QGLShaderProgram);
QGLShader *shader = qobject_cast<QGLShader *>(sender());
if (shader && !d->removingShaders)
removeShader(shader);
}
+#ifdef Q_MAC_COMPAT_GL_FUNCTIONS
+/*! \internal */
+void QGLShaderProgram::setUniformValue(int location, QMacCompatGLint value)
+{
+ setUniformValue(location, GLint(value));
+}
+
+/*! \internal */
+void QGLShaderProgram::setUniformValue(int location, QMacCompatGLuint value)
+{
+ setUniformValue(location, GLuint(value));
+}
+
+/*! \internal */
+void QGLShaderProgram::setUniformValue(const char *name, QMacCompatGLint value)
+{
+ setUniformValue(name, GLint(value));
+}
+
+/*! \internal */
+void QGLShaderProgram::setUniformValue(const char *name, QMacCompatGLuint value)
+{
+ setUniformValue(name, GLuint(value));
+}
+
+/*! \internal */
+void QGLShaderProgram::setUniformValueArray(int location, const QMacCompatGLint *values, int count)
+{
+ setUniformValueArray(location, (const GLint *)values, count);
+}
+
+/*! \internal */
+void QGLShaderProgram::setUniformValueArray(int location, const QMacCompatGLuint *values, int count)
+{
+ setUniformValueArray(location, (const GLuint *)values, count);
+}
+
+/*! \internal */
+void QGLShaderProgram::setUniformValueArray(const char *name, const QMacCompatGLint *values, int count)
+{
+ setUniformValueArray(name, (const GLint *)values, count);
+}
+
+/*! \internal */
+void QGLShaderProgram::setUniformValueArray(const char *name, const QMacCompatGLuint *values, int count)
+{
+ setUniformValueArray(name, (const GLuint *)values, count);
+}
#endif
+#endif // !defined(QT_OPENGL_ES_1_CL) && !defined(QT_OPENGL_ES_1)
+
QT_END_NAMESPACE
diff --git a/src/opengl/qglshaderprogram.h b/src/opengl/qglshaderprogram.h
index f2d70fa..deeaee2 100644
--- a/src/opengl/qglshaderprogram.h
+++ b/src/opengl/qglshaderprogram.h
@@ -63,35 +63,23 @@ class Q_OPENGL_EXPORT QGLShader : public QObject
{
Q_OBJECT
public:
- enum ShaderTypeBits
+ enum ShaderTypeBit
{
- VertexShader = 0x0001,
- FragmentShader = 0x0002,
-
- PartialShader = 0x1000,
-
- PartialVertexShader = PartialShader | VertexShader,
- PartialFragmentShader = PartialShader | FragmentShader
+ Vertex = 0x0001,
+ Fragment = 0x0002
};
- Q_DECLARE_FLAGS(ShaderType, ShaderTypeBits)
+ Q_DECLARE_FLAGS(ShaderType, ShaderTypeBit)
explicit QGLShader(QGLShader::ShaderType type, QObject *parent = 0);
- QGLShader(const QString& fileName, QGLShader::ShaderType type, QObject *parent = 0);
QGLShader(QGLShader::ShaderType type, const QGLContext *context, QObject *parent = 0);
- QGLShader(const QString& fileName, QGLShader::ShaderType type, const QGLContext *context, QObject *parent = 0);
virtual ~QGLShader();
QGLShader::ShaderType shaderType() const;
- bool compile(const char *source);
- bool compile(const QByteArray& source);
- bool compile(const QString& source);
- bool compileFile(const QString& fileName);
-
- bool setShaderBinary(GLenum format, const void *binary, int length);
- bool setShaderBinary(QGLShader& otherShader, GLenum format, const void *binary, int length);
-
- static QList<GLenum> shaderBinaryFormats();
+ bool compileSourceCode(const char *source);
+ bool compileSourceCode(const QByteArray& source);
+ bool compileSourceCode(const QString& source);
+ bool compileSourceFile(const QString& fileName);
QByteArray sourceCode() const;
@@ -101,11 +89,10 @@ public:
GLuint shaderId() const;
private:
- QGLShaderPrivate *d;
-
friend class QGLShaderProgram;
Q_DISABLE_COPY(QGLShader)
+ Q_DECLARE_PRIVATE(QGLShader)
};
Q_DECLARE_OPERATORS_FOR_FLAGS(QGLShader::ShaderType)
@@ -125,23 +112,19 @@ public:
void removeShader(QGLShader *shader);
QList<QGLShader *> shaders() const;
- bool addShader(QGLShader::ShaderType type, const char *source);
- bool addShader(QGLShader::ShaderType type, const QByteArray& source);
- bool addShader(QGLShader::ShaderType type, const QString& source);
- bool addShaderFromFile(QGLShader::ShaderType type, const QString& fileName);
+ bool addShaderFromSourceCode(QGLShader::ShaderType type, const char *source);
+ bool addShaderFromSourceCode(QGLShader::ShaderType type, const QByteArray& source);
+ bool addShaderFromSourceCode(QGLShader::ShaderType type, const QString& source);
+ bool addShaderFromSourceFile(QGLShader::ShaderType type, const QString& fileName);
void removeAllShaders();
- QByteArray programBinary(int *format) const;
- bool setProgramBinary(int format, const QByteArray& binary);
- static QList<int> programBinaryFormats();
-
virtual bool link();
bool isLinked() const;
QString log() const;
- bool enable();
- static void disable();
+ bool bind();
+ void release();
GLuint programId() const;
@@ -174,7 +157,7 @@ public:
void setAttributeValue(const char *name, const GLfloat *values, int columns, int rows);
void setAttributeArray
- (int location, const GLfloat *values, int size, int stride = 0);
+ (int location, const GLfloat *values, int tupleSize, int stride = 0);
void setAttributeArray
(int location, const QVector2D *values, int stride = 0);
void setAttributeArray
@@ -182,13 +165,16 @@ public:
void setAttributeArray
(int location, const QVector4D *values, int stride = 0);
void setAttributeArray
- (const char *name, const GLfloat *values, int size, int stride = 0);
+ (const char *name, const GLfloat *values, int tupleSize, int stride = 0);
void setAttributeArray
(const char *name, const QVector2D *values, int stride = 0);
void setAttributeArray
(const char *name, const QVector3D *values, int stride = 0);
void setAttributeArray
(const char *name, const QVector4D *values, int stride = 0);
+
+ void enableAttributeArray(int location);
+ void enableAttributeArray(const char *name);
void disableAttributeArray(int location);
void disableAttributeArray(const char *name);
@@ -196,6 +182,17 @@ public:
int uniformLocation(const QByteArray& name) const;
int uniformLocation(const QString& name) const;
+#ifdef Q_MAC_COMPAT_GL_FUNCTIONS
+ void setUniformValue(int location, QMacCompatGLint value);
+ void setUniformValue(int location, QMacCompatGLuint value);
+ void setUniformValue(const char *name, QMacCompatGLint value);
+ void setUniformValue(const char *name, QMacCompatGLuint value);
+ void setUniformValueArray(int location, const QMacCompatGLint *values, int count);
+ void setUniformValueArray(int location, const QMacCompatGLuint *values, int count);
+ void setUniformValueArray(const char *name, const QMacCompatGLint *values, int count);
+ void setUniformValueArray(const char *name, const QMacCompatGLuint *values, int count);
+#endif
+
void setUniformValue(int location, GLfloat value);
void setUniformValue(int location, GLint value);
void setUniformValue(int location, GLuint value);
@@ -248,7 +245,7 @@ public:
void setUniformValue(const char *name, const GLfloat value[4][4]);
void setUniformValue(const char *name, const QTransform& value);
- void setUniformValueArray(int location, const GLfloat *values, int count, int size);
+ void setUniformValueArray(int location, const GLfloat *values, int count, int tupleSize);
void setUniformValueArray(int location, const GLint *values, int count);
void setUniformValueArray(int location, const GLuint *values, int count);
void setUniformValueArray(int location, const QVector2D *values, int count);
@@ -264,7 +261,7 @@ public:
void setUniformValueArray(int location, const QMatrix4x3 *values, int count);
void setUniformValueArray(int location, const QMatrix4x4 *values, int count);
- void setUniformValueArray(const char *name, const GLfloat *values, int count, int size);
+ void setUniformValueArray(const char *name, const GLfloat *values, int count, int tupleSize);
void setUniformValueArray(const char *name, const GLint *values, int count);
void setUniformValueArray(const char *name, const GLuint *values, int count);
void setUniformValueArray(const char *name, const QVector2D *values, int count);
@@ -280,15 +277,14 @@ public:
void setUniformValueArray(const char *name, const QMatrix4x3 *values, int count);
void setUniformValueArray(const char *name, const QMatrix4x4 *values, int count);
- static bool hasShaderPrograms(const QGLContext *context = 0);
+ static bool hasOpenGLShaderPrograms(const QGLContext *context = 0);
private Q_SLOTS:
void shaderDestroyed();
private:
- QGLShaderProgramPrivate *d;
-
Q_DISABLE_COPY(QGLShaderProgram)
+ Q_DECLARE_PRIVATE(QGLShaderProgram)
bool init();
};
diff --git a/src/opengl/qpixmapdata_gl.cpp b/src/opengl/qpixmapdata_gl.cpp
index 83ebece..5ca37ef 100644
--- a/src/opengl/qpixmapdata_gl.cpp
+++ b/src/opengl/qpixmapdata_gl.cpp
@@ -76,13 +76,35 @@ static inline int areaDiff(const QSize &size, const QGLFramebufferObject *fbo)
return qAbs(size.width() * size.height() - fbo->width() * fbo->height());
}
-QGLFramebufferObject *QGLFramebufferObjectPool::acquire(const QSize &requestSize, const QGLFramebufferObjectFormat &requestFormat)
+extern int qt_next_power_of_two(int v);
+
+static inline QSize maybeRoundToNextPowerOfTwo(const QSize &sz)
+{
+#ifdef QT_OPENGL_ES_2
+ QSize rounded(qt_next_power_of_two(sz.width()), qt_next_power_of_two(sz.height()));
+ if (rounded.width() * rounded.height() < 1.20 * sz.width() * sz.height())
+ return rounded;
+#endif
+ return sz;
+}
+
+
+QGLFramebufferObject *QGLFramebufferObjectPool::acquire(const QSize &requestSize, const QGLFramebufferObjectFormat &requestFormat, bool strictSize)
{
QGLFramebufferObject *chosen = 0;
QGLFramebufferObject *candidate = 0;
for (int i = 0; !chosen && i < m_fbos.size(); ++i) {
QGLFramebufferObject *fbo = m_fbos.at(i);
+ if (strictSize) {
+ if (fbo->size() == requestSize && fbo->format() == requestFormat) {
+ chosen = fbo;
+ break;
+ } else {
+ continue;
+ }
+ }
+
if (fbo->format() == requestFormat) {
// choose the fbo with a matching format and the closest size
if (!candidate || areaDiff(requestSize, candidate) > areaDiff(requestSize, fbo))
@@ -106,7 +128,7 @@ QGLFramebufferObject *QGLFramebufferObjectPool::acquire(const QSize &requestSize
if (sz != fboSize) {
delete candidate;
- candidate = new QGLFramebufferObject(sz, requestFormat);
+ candidate = new QGLFramebufferObject(maybeRoundToNextPowerOfTwo(sz), requestFormat);
}
chosen = candidate;
@@ -114,7 +136,10 @@ QGLFramebufferObject *QGLFramebufferObjectPool::acquire(const QSize &requestSize
}
if (!chosen) {
- chosen = new QGLFramebufferObject(requestSize, requestFormat);
+ if (strictSize)
+ chosen = new QGLFramebufferObject(requestSize, requestFormat);
+ else
+ chosen = new QGLFramebufferObject(maybeRoundToNextPowerOfTwo(requestSize), requestFormat);
}
if (!chosen->isValid()) {
@@ -127,7 +152,8 @@ QGLFramebufferObject *QGLFramebufferObjectPool::acquire(const QSize &requestSize
void QGLFramebufferObjectPool::release(QGLFramebufferObject *fbo)
{
- m_fbos << fbo;
+ if (fbo)
+ m_fbos << fbo;
}
diff --git a/src/opengl/qpixmapdata_gl_p.h b/src/opengl/qpixmapdata_gl_p.h
index 6190d38..8a13e03 100644
--- a/src/opengl/qpixmapdata_gl_p.h
+++ b/src/opengl/qpixmapdata_gl_p.h
@@ -69,7 +69,7 @@ class QGLPixmapData;
class QGLFramebufferObjectPool
{
public:
- QGLFramebufferObject *acquire(const QSize &size, const QGLFramebufferObjectFormat &format);
+ QGLFramebufferObject *acquire(const QSize &size, const QGLFramebufferObjectFormat &format, bool strictSize = false);
void release(QGLFramebufferObject *fbo);
private:
diff --git a/src/opengl/qwindowsurface_gl.cpp b/src/opengl/qwindowsurface_gl.cpp
index 4547416..f1f5976 100644
--- a/src/opengl/qwindowsurface_gl.cpp
+++ b/src/opengl/qwindowsurface_gl.cpp
@@ -49,12 +49,12 @@
#include <qglpixelbuffer.h>
#include <qcolormap.h>
#include <qdesktopwidget.h>
+#include <private/qwidget_p.h>
#include "qdebug.h"
#ifdef Q_WS_X11
#include <private/qt_x11_p.h>
#include <qx11info_x11.h>
-#include <private/qwidget_p.h>
#ifndef QT_OPENGL_ES
#include <GL/glx.h>
@@ -195,6 +195,9 @@ public:
if (!initializing && !widget && !cleanedUp) {
initializing = true;
widget = new QGLWidget;
+ // We dont need this internal widget to appear in QApplication::topLevelWidgets()
+ if (QWidgetPrivate::allWidgets)
+ QWidgetPrivate::allWidgets->remove(widget);
initializing = false;
}
return widget;
@@ -364,7 +367,7 @@ void QGLWindowSurface::hijackWindow(QWidget *widget)
if (ctxpriv->eglSurface == EGL_NO_SURFACE) {
qWarning() << "hijackWindow() could not create EGL surface";
}
- qDebug("QGLWindowSurface - using EGLConfig %d", ctxpriv->eglContext->config());
+ qDebug("QGLWindowSurface - using EGLConfig %d", reinterpret_cast<int>(ctxpriv->eglContext->config()));
#endif
widgetPrivate->extraData()->glContext = ctx;
@@ -622,7 +625,7 @@ void QGLWindowSurface::flush(QWidget *widget, const QRegion &rgn, const QPoint &
QGLShaderProgram *blitProgram =
QGLEngineSharedShaders::shadersForContext(ctx)->blitProgram();
- blitProgram->enable();
+ blitProgram->bind();
blitProgram->setUniformValue("imageTexture", 0 /*QT_IMAGE_TEXTURE_UNIT*/);
// The shader manager's blit program does not multiply the
diff --git a/src/opengl/qwindowsurface_x11gl.cpp b/src/opengl/qwindowsurface_x11gl.cpp
index 8ef239d..db81be2 100644
--- a/src/opengl/qwindowsurface_x11gl.cpp
+++ b/src/opengl/qwindowsurface_x11gl.cpp
@@ -124,6 +124,9 @@ void QX11GLWindowSurface::setGeometry(const QRect &rect)
bool QX11GLWindowSurface::scroll(const QRegion &area, int dx, int dy)
{
+ Q_UNUSED(area);
+ Q_UNUSED(dx);
+ Q_UNUSED(dy);
return false;
}
diff --git a/src/opengl/util/composition_mode_softlight.glsl b/src/opengl/util/composition_mode_softlight.glsl
index 4777b74..e4c1f89 100644
--- a/src/opengl/util/composition_mode_softlight.glsl
+++ b/src/opengl/util/composition_mode_softlight.glsl
@@ -1,18 +1,22 @@
-// Dca' = 2.Sca < Sa ?
-// Dca.(Sa - (1 - Dca/Da).(2.Sca - Sa)) + Sca.(1 - Da) + Dca.(1 - Sa) :
-// (8.Dca <= Da ?
-// Dca.(Sa - (1 - Dca/Da).(2.Sca - Sa).(3 - 8.Dca/Da)) + Sca.(1 - Da) + Dca.(1 - Sa) :
-// (Dca.Sa + ((Dca/Da)^(0.5).Da - Dca).(2.Sca - Sa)) + Sca.(1 - Da) + Dca.(1 - Sa))
+// if 2.Sca <= Sa
+// Dca' = Dca.(Sa + (2.Sca - Sa).(1 - Dca/Da)) + Sca.(1 - Da) + Dca.(1 - Sa)
+// otherwise if 2.Sca > Sa and 4.Dca <= Da
+// Dca' = Dca.Sa + Da.(2.Sca - Sa).(4.Dca/Da.(4.Dca/Da + 1).(Dca/Da - 1) + 7.Dca/Da) + Sca.(1 - Da) + Dca.(1 - Sa)
+// otherwise if 2.Sca > Sa and 4.Dca > Da
+// Dca' = Dca.Sa + Da.(2.Sca - Sa).((Dca/Da)^0.5 - Dca/Da) + Sca.(1 - Da) + Dca.(1 - Sa)
// Da' = Sa + Da - Sa.Da
+
vec4 composite(vec4 src, vec4 dst)
{
vec4 result;
float da = max(dst.a, 0.00001);
- result.rgb = mix(dst.rgb * (src.a - (1.0 - dst.rgb / da) * (2.0 * src.rgb - src.a)),
- mix(dst.rgb * (src.a - (1.0 - dst.rgb / da) * (2.0 * src.rgb - src.a) * (3.0 - 8.0 * dst.rgb / da)),
- (dst.rgb * src.a + (sqrt(dst.rgb / da) * dst.a - dst.rgb) * (2.0 * src.rgb - src.a)),
- step(dst.a, 8.0 * dst.rgb)),
- step(src.a, 2.0 * src.rgb)) + src.rgb * (1.0 - dst.a) + dst.rgb * (1.0 - src.a);
+ vec3 dst_np = dst.rgb / da;
+ result.rgb = mix(dst.rgb * (src.a + (2.0 * src.rgb - src.a) * (1.0 - dst_np)),
+ mix(dst.rgb * src.a + dst.a * (2.0 * src.rgb - src.a) * ((16.0 * dst_np - 12.0) * dst_np + 3.0) * dst_np,
+ dst.rgb * src.a + dst.a * (2.0 * src.rgb - src.a) * (sqrt(dst_np) - dst_np),
+ step(dst.a, 4.0 * dst.rgb)),
+ step(src.a, 2.0 * src.rgb))
+ + src.rgb * (1.0 - dst.a) + dst.rgb * (1.0 - src.a);
result.a = src.a + dst.a - src.a * dst.a;
return result;
}
diff --git a/src/opengl/util/fragmentprograms_p.h b/src/opengl/util/fragmentprograms_p.h
index 9154c6e..2241057 100644
--- a/src/opengl/util/fragmentprograms_p.h
+++ b/src/opengl/util/fragmentprograms_p.h
@@ -519,8 +519,8 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_SOLID_COMPOSITION_MODE
static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_SOLID_COMPOSITION_MODES_SOFTLIGHT =
"!!ARBfp1.0\n"
"PARAM c[6] = { program.local[0..3],\n"
- " { 1, 2, 9.9999997e-006, 8 },\n"
- " { 3 } };\n"
+ " { 1, 2, 9.9999997e-006, 4 },\n"
+ " { 16, 12, 3 } };\n"
"TEMP R0;\n"
"TEMP R1;\n"
"TEMP R2;\n"
@@ -530,30 +530,31 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_SOLID_COMPOSITION_MODE
"MUL R0.xy, fragment.position, c[1];\n"
"TEX R0, R0, texture[0], 2D;\n"
"MAX R1.x, R0.w, c[4].z;\n"
- "RCP R1.w, R1.x;\n"
- "MUL R1.xyz, R0, R1.w;\n"
- "MUL R4.xyz, -R1, c[4].w;\n"
- "RSQ R2.x, R1.x;\n"
- "RSQ R2.z, R1.z;\n"
- "RSQ R2.y, R1.y;\n"
- "MAD R1.xyz, -R0, R1.w, c[4].x;\n"
- "RCP R2.x, R2.x;\n"
- "RCP R2.z, R2.z;\n"
- "RCP R2.y, R2.y;\n"
- "MAD R3.xyz, R0.w, R2, -R0;\n"
- "MAD R2.xyz, fragment.color.primary, c[4].y, -fragment.color.primary.w;\n"
- "MUL R3.xyz, R2, R3;\n"
- "ADD R5.xyz, R4, c[5].x;\n"
- "MUL R4.xyz, R1, R2;\n"
- "MAD R1.xyz, -R1, R2, fragment.color.primary.w;\n"
+ "RCP R1.x, R1.x;\n"
+ "MUL R2.xyz, R0, R1.x;\n"
+ "MAD R1.xyz, R2, c[5].x, -c[5].y;\n"
+ "MAD R3.xyz, R2, R1, c[5].z;\n"
+ "MAD R1.xyz, fragment.color.primary, c[4].y, -fragment.color.primary.w;\n"
+ "MUL R4.xyz, R0.w, R1;\n"
+ "MUL R5.xyz, R4, R3;\n"
+ "RSQ R1.w, R2.x;\n"
+ "RSQ R2.w, R2.z;\n"
+ "RCP R3.x, R1.w;\n"
+ "RSQ R1.w, R2.y;\n"
+ "MUL R5.xyz, R2, R5;\n"
+ "RCP R3.z, R2.w;\n"
+ "RCP R3.y, R1.w;\n"
+ "ADD R3.xyz, -R2, R3;\n"
+ "MUL R3.xyz, R4, R3;\n"
+ "ADD R2.xyz, -R2, c[4].x;\n"
+ "MAD R1.xyz, R1, R2, fragment.color.primary.w;\n"
"MUL R2.xyz, fragment.color.primary, c[4].y;\n"
- "MAD R5.xyz, -R4, R5, fragment.color.primary.w;\n"
+ "MAD R4.xyz, fragment.color.primary.w, R0, R5;\n"
"MAD R3.xyz, fragment.color.primary.w, R0, R3;\n"
- "MAD R4.xyz, -R0, R5, R3;\n"
+ "ADD R5.xyz, R3, -R4;\n"
"MUL R3.xyz, R0, c[4].w;\n"
- "MUL R5.xyz, R0, R5;\n"
"SGE R3.xyz, R3, R0.w;\n"
- "MAD R3.xyz, R3, R4, R5;\n"
+ "MAD R3.xyz, R3, R5, R4;\n"
"MAD R3.xyz, -R0, R1, R3;\n"
"MUL R1.xyz, R0, R1;\n"
"SGE R2.xyz, R2, fragment.color.primary.w;\n"
@@ -861,8 +862,8 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_SOLID_COMPOSITION_MODE
static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_SOLID_COMPOSITION_MODES_SOFTLIGHT_NOMASK =
"!!ARBfp1.0\n"
"PARAM c[3] = { program.local[0],\n"
- " { 1, 2, 9.9999997e-006, 8 },\n"
- " { 3 } };\n"
+ " { 1, 2, 9.9999997e-006, 4 },\n"
+ " { 16, 12, 3 } };\n"
"TEMP R0;\n"
"TEMP R1;\n"
"TEMP R2;\n"
@@ -872,30 +873,31 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_SOLID_COMPOSITION_MODE
"MUL R0.xy, fragment.position, c[0];\n"
"TEX R0, R0, texture[0], 2D;\n"
"MAX R1.x, R0.w, c[1].z;\n"
- "RCP R1.w, R1.x;\n"
- "MUL R1.xyz, R0, R1.w;\n"
- "MUL R4.xyz, -R1, c[1].w;\n"
- "RSQ R2.x, R1.x;\n"
- "RSQ R2.z, R1.z;\n"
- "RSQ R2.y, R1.y;\n"
- "RCP R2.x, R2.x;\n"
- "RCP R2.z, R2.z;\n"
- "RCP R2.y, R2.y;\n"
- "MAD R3.xyz, R0.w, R2, -R0;\n"
- "MAD R2.xyz, fragment.color.primary, c[1].y, -fragment.color.primary.w;\n"
- "MUL R3.xyz, R2, R3;\n"
+ "RCP R1.x, R1.x;\n"
+ "MUL R2.xyz, R0, R1.x;\n"
+ "MAD R1.xyz, R2, c[2].x, -c[2].y;\n"
+ "MAD R3.xyz, R2, R1, c[2].z;\n"
+ "MAD R1.xyz, fragment.color.primary, c[1].y, -fragment.color.primary.w;\n"
+ "MUL R4.xyz, R0.w, R1;\n"
+ "MUL R5.xyz, R4, R3;\n"
+ "RSQ R1.w, R2.x;\n"
+ "RCP R3.x, R1.w;\n"
+ "RSQ R2.w, R2.z;\n"
+ "RSQ R1.w, R2.y;\n"
+ "MUL R5.xyz, R2, R5;\n"
+ "RCP R3.z, R2.w;\n"
+ "RCP R3.y, R1.w;\n"
+ "ADD R3.xyz, -R2, R3;\n"
+ "MUL R3.xyz, R4, R3;\n"
+ "ADD R2.xyz, -R2, c[1].x;\n"
+ "MAD R1.xyz, R1, R2, fragment.color.primary.w;\n"
+ "MUL R2.xyz, fragment.color.primary, c[1].y;\n"
+ "MAD R4.xyz, fragment.color.primary.w, R0, R5;\n"
"MAD R3.xyz, fragment.color.primary.w, R0, R3;\n"
- "MAD R1.xyz, -R0, R1.w, c[1].x;\n"
- "ADD R5.xyz, R4, c[2].x;\n"
- "MUL R4.xyz, R1, R2;\n"
- "MAD R1.xyz, -R1, R2, fragment.color.primary.w;\n"
- "MAD R5.xyz, -R4, R5, fragment.color.primary.w;\n"
- "MAD R4.xyz, -R0, R5, R3;\n"
+ "ADD R5.xyz, R3, -R4;\n"
"MUL R3.xyz, R0, c[1].w;\n"
- "MUL R2.xyz, fragment.color.primary, c[1].y;\n"
- "MUL R5.xyz, R0, R5;\n"
"SGE R3.xyz, R3, R0.w;\n"
- "MAD R3.xyz, R3, R4, R5;\n"
+ "MAD R3.xyz, R3, R5, R4;\n"
"MAD R3.xyz, -R0, R1, R3;\n"
"MUL R1.xyz, R0, R1;\n"
"SGE R2.xyz, R2, fragment.color.primary.w;\n"
@@ -1457,7 +1459,7 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_RADIAL_COMPOSITION_MOD
"!!ARBfp1.0\n"
"PARAM c[11] = { program.local[0..8],\n"
" { 2, 4, 1, 9.9999997e-006 },\n"
- " { 8, 3 } };\n"
+ " { 16, 12, 3 } };\n"
"TEMP R0;\n"
"TEMP R1;\n"
"TEMP R2;\n"
@@ -1469,53 +1471,55 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_RADIAL_COMPOSITION_MOD
"MAD R0.xyz, fragment.position.x, c[2], R0;\n"
"ADD R0.xyz, R0, c[4];\n"
"RCP R0.z, R0.z;\n"
- "MUL R1.xy, fragment.position, c[6];\n"
- "TEX R1, R1, texture[0], 2D;\n"
- "MAX R0.w, R1, c[9];\n"
- "RCP R2.w, R0.w;\n"
- "MUL R5.xyz, R1, R2.w;\n"
"MUL R0.xy, R0, R0.z;\n"
"MUL R0.zw, R0.xyxy, R0.xyxy;\n"
"ADD R0.z, R0, R0.w;\n"
"MUL R0.xy, R0, c[0];\n"
"ADD R0.x, R0, R0.y;\n"
- "MUL R0.y, R0.x, c[9].x;\n"
- "MOV R0.x, c[9];\n"
- "RSQ R2.x, R5.x;\n"
- "RSQ R2.z, R5.z;\n"
- "RSQ R2.y, R5.y;\n"
"MUL R0.z, -R0, c[1].x;\n"
- "MUL R0.z, R0, c[9].y;\n"
- "MAD R0.z, R0.y, R0.y, -R0;\n"
- "MUL R0.w, R0.x, c[1].x;\n"
- "RSQ R0.z, R0.z;\n"
- "RCP R0.x, R0.z;\n"
- "RCP R0.z, R0.w;\n"
- "ADD R0.x, -R0.y, R0;\n"
- "MUL R0.x, R0, R0.z;\n"
+ "MUL R0.y, R0.z, c[9];\n"
+ "MUL R0.x, R0, c[9];\n"
+ "MUL R0.zw, fragment.position.xyxy, c[6].xyxy;\n"
+ "TEX R1, R0.zwzw, texture[0], 2D;\n"
+ "MAD R0.y, R0.x, R0.x, -R0;\n"
+ "RSQ R0.y, R0.y;\n"
+ "RCP R0.y, R0.y;\n"
+ "ADD R0.y, -R0.x, R0;\n"
+ "MOV R0.x, c[9];\n"
+ "MUL R0.x, R0, c[1];\n"
+ "MAX R0.z, R1.w, c[9].w;\n"
+ "RCP R0.z, R0.z;\n"
+ "MUL R3.xyz, R1, R0.z;\n"
+ "MAD R4.xyz, R3, c[10].x, -c[10].y;\n"
+ "RCP R0.x, R0.x;\n"
+ "MUL R0.x, R0.y, R0;\n"
"TEX R0, R0, texture[2], 1D;\n"
- "MAD R3.xyz, R0, c[9].x, -R0.w;\n"
- "MAD R6.xyz, -R5, c[10].x, c[10].y;\n"
- "RCP R2.x, R2.x;\n"
- "RCP R2.z, R2.z;\n"
- "RCP R2.y, R2.y;\n"
- "MAD R2.xyz, R1.w, R2, -R1;\n"
- "MUL R2.xyz, R3, R2;\n"
- "MAD R4.xyz, R0.w, R1, R2;\n"
- "MAD R2.xyz, -R1, R2.w, c[9].z;\n"
- "MUL R5.xyz, R2, R3;\n"
- "MAD R6.xyz, -R5, R6, R0.w;\n"
- "MAD R5.xyz, -R1, R6, R4;\n"
- "MAD R2.xyz, -R2, R3, R0.w;\n"
+ "MAD R2.xyz, R0, c[9].x, -R0.w;\n"
+ "MAD R4.xyz, R3, R4, c[10].z;\n"
+ "MUL R5.xyz, R1.w, R2;\n"
+ "MUL R6.xyz, R5, R4;\n"
+ "RSQ R2.w, R3.x;\n"
+ "RCP R4.x, R2.w;\n"
+ "RSQ R2.w, R3.y;\n"
+ "RSQ R3.w, R3.z;\n"
+ "RCP R4.y, R2.w;\n"
+ "RCP R4.z, R3.w;\n"
+ "ADD R4.xyz, -R3, R4;\n"
+ "MUL R6.xyz, R3, R6;\n"
+ "MUL R4.xyz, R5, R4;\n"
+ "ADD R3.xyz, -R3, c[9].z;\n"
+ "MAD R2.xyz, R2, R3, R0.w;\n"
"MUL R3.xyz, R0, c[9].x;\n"
- "MUL R4.xyz, R1, c[10].x;\n"
- "SGE R3.xyz, R3, R0.w;\n"
- "ADD R2.w, -R1, c[9].z;\n"
- "MUL R6.xyz, R1, R6;\n"
+ "MAD R5.xyz, R0.w, R1, R6;\n"
+ "MAD R4.xyz, R0.w, R1, R4;\n"
+ "ADD R6.xyz, R4, -R5;\n"
+ "MUL R4.xyz, R1, c[9].y;\n"
"SGE R4.xyz, R4, R1.w;\n"
- "MAD R4.xyz, R4, R5, R6;\n"
+ "MAD R4.xyz, R4, R6, R5;\n"
"MAD R4.xyz, -R1, R2, R4;\n"
+ "SGE R3.xyz, R3, R0.w;\n"
"MUL R2.xyz, R1, R2;\n"
+ "ADD R2.w, -R1, c[9].z;\n"
"MAD R2.xyz, R3, R4, R2;\n"
"MAD R2.xyz, R0, R2.w, R2;\n"
"ADD R0.x, -R0.w, c[9].z;\n"
@@ -2060,7 +2064,7 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_RADIAL_COMPOSITION_MOD
"!!ARBfp1.0\n"
"PARAM c[8] = { program.local[0..5],\n"
" { 2, 4, 1, 9.9999997e-006 },\n"
- " { 8, 3 } };\n"
+ " { 16, 12, 3 } };\n"
"TEMP R0;\n"
"TEMP R1;\n"
"TEMP R2;\n"
@@ -2072,49 +2076,51 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_RADIAL_COMPOSITION_MOD
"MAD R0.xyz, fragment.position.x, c[2], R0;\n"
"ADD R0.xyz, R0, c[4];\n"
"RCP R0.z, R0.z;\n"
- "MUL R1.xy, fragment.position, c[5];\n"
- "TEX R1, R1, texture[0], 2D;\n"
- "MAX R0.w, R1, c[6];\n"
- "RCP R2.w, R0.w;\n"
- "MUL R5.xyz, R1, R2.w;\n"
"MUL R0.xy, R0, R0.z;\n"
"MUL R0.zw, R0.xyxy, R0.xyxy;\n"
"ADD R0.z, R0, R0.w;\n"
"MUL R0.xy, R0, c[0];\n"
"ADD R0.x, R0, R0.y;\n"
- "MUL R0.y, R0.x, c[6].x;\n"
- "MOV R0.x, c[6];\n"
- "RSQ R2.x, R5.x;\n"
- "RSQ R2.z, R5.z;\n"
- "RSQ R2.y, R5.y;\n"
"MUL R0.z, -R0, c[1].x;\n"
- "MUL R0.z, R0, c[6].y;\n"
- "MAD R0.z, R0.y, R0.y, -R0;\n"
- "MUL R0.w, R0.x, c[1].x;\n"
- "RSQ R0.z, R0.z;\n"
- "RCP R0.x, R0.z;\n"
- "RCP R0.z, R0.w;\n"
- "ADD R0.x, -R0.y, R0;\n"
- "MUL R0.x, R0, R0.z;\n"
+ "MUL R0.y, R0.z, c[6];\n"
+ "MUL R0.x, R0, c[6];\n"
+ "MUL R0.zw, fragment.position.xyxy, c[5].xyxy;\n"
+ "TEX R1, R0.zwzw, texture[0], 2D;\n"
+ "MAD R0.y, R0.x, R0.x, -R0;\n"
+ "RSQ R0.y, R0.y;\n"
+ "RCP R0.y, R0.y;\n"
+ "ADD R0.y, -R0.x, R0;\n"
+ "MOV R0.x, c[6];\n"
+ "MUL R0.x, R0, c[1];\n"
+ "MAX R0.z, R1.w, c[6].w;\n"
+ "RCP R0.z, R0.z;\n"
+ "MUL R3.xyz, R1, R0.z;\n"
+ "MAD R4.xyz, R3, c[7].x, -c[7].y;\n"
+ "RCP R0.x, R0.x;\n"
+ "MUL R0.x, R0.y, R0;\n"
"TEX R0, R0, texture[1], 1D;\n"
- "MAD R3.xyz, R0, c[6].x, -R0.w;\n"
- "MAD R6.xyz, -R5, c[7].x, c[7].y;\n"
- "RCP R2.x, R2.x;\n"
- "RCP R2.z, R2.z;\n"
- "RCP R2.y, R2.y;\n"
- "MAD R2.xyz, R1.w, R2, -R1;\n"
- "MUL R2.xyz, R3, R2;\n"
- "MAD R4.xyz, R0.w, R1, R2;\n"
- "MAD R2.xyz, -R1, R2.w, c[6].z;\n"
- "MUL R5.xyz, R2, R3;\n"
- "MAD R2.xyz, -R2, R3, R0.w;\n"
- "MAD R6.xyz, -R5, R6, R0.w;\n"
- "MAD R5.xyz, -R1, R6, R4;\n"
+ "MAD R2.xyz, R0, c[6].x, -R0.w;\n"
+ "MAD R4.xyz, R3, R4, c[7].z;\n"
+ "MUL R5.xyz, R1.w, R2;\n"
+ "MUL R6.xyz, R5, R4;\n"
+ "RSQ R2.w, R3.x;\n"
+ "RCP R4.x, R2.w;\n"
+ "RSQ R2.w, R3.y;\n"
+ "RSQ R3.w, R3.z;\n"
+ "RCP R4.y, R2.w;\n"
+ "RCP R4.z, R3.w;\n"
+ "ADD R4.xyz, -R3, R4;\n"
+ "MUL R6.xyz, R3, R6;\n"
+ "MUL R4.xyz, R5, R4;\n"
+ "ADD R3.xyz, -R3, c[6].z;\n"
+ "MAD R2.xyz, R2, R3, R0.w;\n"
"MUL R3.xyz, R0, c[6].x;\n"
- "MUL R4.xyz, R1, c[7].x;\n"
- "MUL R6.xyz, R1, R6;\n"
+ "MAD R5.xyz, R0.w, R1, R6;\n"
+ "MAD R4.xyz, R0.w, R1, R4;\n"
+ "ADD R6.xyz, R4, -R5;\n"
+ "MUL R4.xyz, R1, c[6].y;\n"
"SGE R4.xyz, R4, R1.w;\n"
- "MAD R4.xyz, R4, R5, R6;\n"
+ "MAD R4.xyz, R4, R6, R5;\n"
"MAD R4.xyz, -R1, R2, R4;\n"
"MUL R2.xyz, R1, R2;\n"
"SGE R3.xyz, R3, R0.w;\n"
@@ -2899,11 +2905,12 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_CONICAL_COMPOSITION_MO
static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_CONICAL_COMPOSITION_MODES_SOFTLIGHT =
"!!ARBfp1.0\n"
- "PARAM c[12] = { program.local[0..7],\n"
+ "PARAM c[13] = { program.local[0..7],\n"
" { 0.0020000001, -0.01348047, 0.05747731, 0.1212391 },\n"
" { 0.1956359, 0.33299461, 0.99999559, 1.570796 },\n"
" { 3.141593, 0.15915494, 1, 2 },\n"
- " { 9.9999997e-006, 8, 3 } };\n"
+ " { 9.9999997e-006, 4, 16, 12 },\n"
+ " { 3 } };\n"
"TEMP R0;\n"
"TEMP R1;\n"
"TEMP R2;\n"
@@ -2940,41 +2947,43 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_CONICAL_COMPOSITION_MO
"ADD R0.w, -R0.z, c[10].x;\n"
"CMP R0.x, R0, R0.w, R0.z;\n"
"MUL R0.zw, fragment.position.xyxy, c[5].xyxy;\n"
- "CMP R0.x, -R0.y, -R0, R0;\n"
"TEX R1, R0.zwzw, texture[0], 2D;\n"
- "MAX R0.y, R1.w, c[11].x;\n"
- "RCP R2.w, R0.y;\n"
- "MUL R5.xyz, R1, R2.w;\n"
- "RSQ R2.x, R5.x;\n"
- "RSQ R2.z, R5.z;\n"
- "RSQ R2.y, R5.y;\n"
+ "CMP R0.x, -R0.y, -R0, R0;\n"
+ "MAX R0.z, R1.w, c[11].x;\n"
+ "RCP R2.x, R0.z;\n"
+ "MUL R3.xyz, R1, R2.x;\n"
+ "MAD R4.xyz, R3, c[11].z, -c[11].w;\n"
"ADD R0.x, R0, c[0];\n"
"MUL R0.x, R0, c[10].y;\n"
"FLR R0.y, R0.x;\n"
"ADD R0.x, R0, -R0.y;\n"
"TEX R0, R0, texture[2], 1D;\n"
- "MAD R3.xyz, R0, c[10].w, -R0.w;\n"
- "MAD R6.xyz, -R5, c[11].y, c[11].z;\n"
- "RCP R2.x, R2.x;\n"
- "RCP R2.z, R2.z;\n"
- "RCP R2.y, R2.y;\n"
- "MAD R2.xyz, R1.w, R2, -R1;\n"
- "MUL R2.xyz, R3, R2;\n"
- "MAD R4.xyz, R0.w, R1, R2;\n"
- "MAD R2.xyz, -R1, R2.w, c[10].z;\n"
- "MUL R5.xyz, R2, R3;\n"
- "MAD R6.xyz, -R5, R6, R0.w;\n"
- "MAD R5.xyz, -R1, R6, R4;\n"
- "MAD R2.xyz, -R2, R3, R0.w;\n"
+ "MAD R2.xyz, R0, c[10].w, -R0.w;\n"
+ "MAD R4.xyz, R3, R4, c[12].x;\n"
+ "MUL R5.xyz, R1.w, R2;\n"
+ "MUL R6.xyz, R5, R4;\n"
+ "RSQ R2.w, R3.x;\n"
+ "RCP R4.x, R2.w;\n"
+ "RSQ R2.w, R3.y;\n"
+ "RSQ R3.w, R3.z;\n"
+ "RCP R4.y, R2.w;\n"
+ "RCP R4.z, R3.w;\n"
+ "ADD R4.xyz, -R3, R4;\n"
+ "MUL R6.xyz, R3, R6;\n"
+ "MUL R4.xyz, R5, R4;\n"
+ "ADD R3.xyz, -R3, c[10].z;\n"
+ "MAD R2.xyz, R2, R3, R0.w;\n"
"MUL R3.xyz, R0, c[10].w;\n"
+ "MAD R5.xyz, R0.w, R1, R6;\n"
+ "MAD R4.xyz, R0.w, R1, R4;\n"
+ "ADD R6.xyz, R4, -R5;\n"
"MUL R4.xyz, R1, c[11].y;\n"
- "SGE R3.xyz, R3, R0.w;\n"
- "ADD R2.w, -R1, c[10].z;\n"
- "MUL R6.xyz, R1, R6;\n"
"SGE R4.xyz, R4, R1.w;\n"
- "MAD R4.xyz, R4, R5, R6;\n"
+ "MAD R4.xyz, R4, R6, R5;\n"
"MAD R4.xyz, -R1, R2, R4;\n"
+ "SGE R3.xyz, R3, R0.w;\n"
"MUL R2.xyz, R1, R2;\n"
+ "ADD R2.w, -R1, c[10].z;\n"
"MAD R2.xyz, R3, R4, R2;\n"
"MAD R2.xyz, R0, R2.w, R2;\n"
"ADD R0.x, -R0.w, c[10].z;\n"
@@ -3682,11 +3691,12 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_CONICAL_COMPOSITION_MO
static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_CONICAL_COMPOSITION_MODES_SOFTLIGHT_NOMASK =
"!!ARBfp1.0\n"
- "PARAM c[9] = { program.local[0..4],\n"
+ "PARAM c[10] = { program.local[0..4],\n"
" { 0.0020000001, -0.01348047, 0.05747731, 0.1212391 },\n"
" { 0.1956359, 0.33299461, 0.99999559, 1.570796 },\n"
" { 3.141593, 0.15915494, 1, 2 },\n"
- " { 9.9999997e-006, 8, 3 } };\n"
+ " { 9.9999997e-006, 4, 16, 12 },\n"
+ " { 3 } };\n"
"TEMP R0;\n"
"TEMP R1;\n"
"TEMP R2;\n"
@@ -3723,37 +3733,39 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_CONICAL_COMPOSITION_MO
"ADD R0.w, -R0.z, c[7].x;\n"
"CMP R0.x, R0, R0.w, R0.z;\n"
"MUL R0.zw, fragment.position.xyxy, c[4].xyxy;\n"
- "CMP R0.x, -R0.y, -R0, R0;\n"
"TEX R1, R0.zwzw, texture[0], 2D;\n"
- "MAX R0.y, R1.w, c[8].x;\n"
- "RCP R2.w, R0.y;\n"
- "MUL R5.xyz, R1, R2.w;\n"
- "RSQ R2.x, R5.x;\n"
- "RSQ R2.z, R5.z;\n"
- "RSQ R2.y, R5.y;\n"
+ "CMP R0.x, -R0.y, -R0, R0;\n"
+ "MAX R0.z, R1.w, c[8].x;\n"
+ "RCP R2.x, R0.z;\n"
+ "MUL R3.xyz, R1, R2.x;\n"
+ "MAD R4.xyz, R3, c[8].z, -c[8].w;\n"
"ADD R0.x, R0, c[0];\n"
"MUL R0.x, R0, c[7].y;\n"
"FLR R0.y, R0.x;\n"
"ADD R0.x, R0, -R0.y;\n"
"TEX R0, R0, texture[1], 1D;\n"
- "MAD R3.xyz, R0, c[7].w, -R0.w;\n"
- "MAD R6.xyz, -R5, c[8].y, c[8].z;\n"
- "RCP R2.x, R2.x;\n"
- "RCP R2.z, R2.z;\n"
- "RCP R2.y, R2.y;\n"
- "MAD R2.xyz, R1.w, R2, -R1;\n"
- "MUL R2.xyz, R3, R2;\n"
- "MAD R4.xyz, R0.w, R1, R2;\n"
- "MAD R2.xyz, -R1, R2.w, c[7].z;\n"
- "MUL R5.xyz, R2, R3;\n"
- "MAD R2.xyz, -R2, R3, R0.w;\n"
- "MAD R6.xyz, -R5, R6, R0.w;\n"
- "MAD R5.xyz, -R1, R6, R4;\n"
+ "MAD R2.xyz, R0, c[7].w, -R0.w;\n"
+ "MAD R4.xyz, R3, R4, c[9].x;\n"
+ "MUL R5.xyz, R1.w, R2;\n"
+ "MUL R6.xyz, R5, R4;\n"
+ "RSQ R2.w, R3.x;\n"
+ "RCP R4.x, R2.w;\n"
+ "RSQ R2.w, R3.y;\n"
+ "RSQ R3.w, R3.z;\n"
+ "RCP R4.y, R2.w;\n"
+ "RCP R4.z, R3.w;\n"
+ "ADD R4.xyz, -R3, R4;\n"
+ "MUL R6.xyz, R3, R6;\n"
+ "MUL R4.xyz, R5, R4;\n"
+ "ADD R3.xyz, -R3, c[7].z;\n"
+ "MAD R2.xyz, R2, R3, R0.w;\n"
"MUL R3.xyz, R0, c[7].w;\n"
+ "MAD R5.xyz, R0.w, R1, R6;\n"
+ "MAD R4.xyz, R0.w, R1, R4;\n"
+ "ADD R6.xyz, R4, -R5;\n"
"MUL R4.xyz, R1, c[8].y;\n"
- "MUL R6.xyz, R1, R6;\n"
"SGE R4.xyz, R4, R1.w;\n"
- "MAD R4.xyz, R4, R5, R6;\n"
+ "MAD R4.xyz, R4, R6, R5;\n"
"MAD R4.xyz, -R1, R2, R4;\n"
"MUL R2.xyz, R1, R2;\n"
"SGE R3.xyz, R3, R0.w;\n"
@@ -4356,8 +4368,8 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_LINEAR_COMPOSITION_MOD
static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_LINEAR_COMPOSITION_MODES_SOFTLIGHT =
"!!ARBfp1.0\n"
"PARAM c[10] = { program.local[0..7],\n"
- " { 1, 2, 9.9999997e-006, 8 },\n"
- " { 3 } };\n"
+ " { 1, 2, 9.9999997e-006, 4 },\n"
+ " { 16, 12, 3 } };\n"
"TEMP R0;\n"
"TEMP R1;\n"
"TEMP R2;\n"
@@ -4365,13 +4377,6 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_LINEAR_COMPOSITION_MOD
"TEMP R4;\n"
"TEMP R5;\n"
"TEMP R6;\n"
- "MUL R0.xy, fragment.position, c[5];\n"
- "TEX R1, R0, texture[0], 2D;\n"
- "MAX R0.w, R1, c[8].z;\n"
- "RCP R2.w, R0.w;\n"
- "MUL R2.xyz, R1, R2.w;\n"
- "RSQ R0.w, R2.x;\n"
- "MUL R5.xyz, -R2, c[8].w;\n"
"MUL R0.xyz, fragment.position.y, c[2];\n"
"MAD R0.xyz, fragment.position.x, c[1], R0;\n"
"ADD R0.xyz, R0, c[3];\n"
@@ -4379,32 +4384,40 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_LINEAR_COMPOSITION_MOD
"MUL R0.xy, R0, R0.z;\n"
"MUL R0.xy, R0, c[0];\n"
"ADD R0.x, R0, R0.y;\n"
- "RSQ R0.z, R2.y;\n"
- "RSQ R0.y, R2.z;\n"
- "MAD R2.xyz, -R1, R2.w, c[8].x;\n"
- "RCP R3.x, R0.w;\n"
- "RCP R3.y, R0.z;\n"
- "RCP R3.z, R0.y;\n"
+ "MUL R1.xy, fragment.position, c[5];\n"
+ "TEX R1, R1, texture[0], 2D;\n"
+ "MAX R0.z, R1.w, c[8];\n"
+ "RCP R0.z, R0.z;\n"
+ "MUL R3.xyz, R1, R0.z;\n"
+ "MAD R2.xyz, R3, c[9].x, -c[9].y;\n"
"MUL R0.x, R0, c[0].z;\n"
"TEX R0, R0, texture[2], 1D;\n"
- "MAD R4.xyz, R1.w, R3, -R1;\n"
- "MAD R3.xyz, R0, c[8].y, -R0.w;\n"
- "MUL R4.xyz, R3, R4;\n"
- "ADD R6.xyz, R5, c[9].x;\n"
- "MUL R5.xyz, R2, R3;\n"
- "MAD R2.xyz, -R2, R3, R0.w;\n"
+ "MAD R4.xyz, R3, R2, c[9].z;\n"
+ "MAD R2.xyz, R0, c[8].y, -R0.w;\n"
+ "MUL R5.xyz, R1.w, R2;\n"
+ "MUL R6.xyz, R5, R4;\n"
+ "RSQ R2.w, R3.x;\n"
+ "RCP R4.x, R2.w;\n"
+ "RSQ R2.w, R3.y;\n"
+ "RSQ R3.w, R3.z;\n"
+ "RCP R4.y, R2.w;\n"
+ "RCP R4.z, R3.w;\n"
+ "ADD R4.xyz, -R3, R4;\n"
+ "MUL R6.xyz, R3, R6;\n"
+ "MUL R4.xyz, R5, R4;\n"
+ "ADD R3.xyz, -R3, c[8].x;\n"
+ "MAD R2.xyz, R2, R3, R0.w;\n"
"MUL R3.xyz, R0, c[8].y;\n"
- "MAD R6.xyz, -R5, R6, R0.w;\n"
+ "MAD R5.xyz, R0.w, R1, R6;\n"
"MAD R4.xyz, R0.w, R1, R4;\n"
- "MAD R5.xyz, -R1, R6, R4;\n"
+ "ADD R6.xyz, R4, -R5;\n"
"MUL R4.xyz, R1, c[8].w;\n"
- "SGE R3.xyz, R3, R0.w;\n"
- "ADD R2.w, -R1, c[8].x;\n"
- "MUL R6.xyz, R1, R6;\n"
"SGE R4.xyz, R4, R1.w;\n"
- "MAD R4.xyz, R4, R5, R6;\n"
+ "MAD R4.xyz, R4, R6, R5;\n"
"MAD R4.xyz, -R1, R2, R4;\n"
+ "SGE R3.xyz, R3, R0.w;\n"
"MUL R2.xyz, R1, R2;\n"
+ "ADD R2.w, -R1, c[8].x;\n"
"MAD R2.xyz, R3, R4, R2;\n"
"MAD R2.xyz, R0, R2.w, R2;\n"
"ADD R0.x, -R0.w, c[8];\n"
@@ -4815,8 +4828,8 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_LINEAR_COMPOSITION_MOD
static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_LINEAR_COMPOSITION_MODES_SOFTLIGHT_NOMASK =
"!!ARBfp1.0\n"
"PARAM c[7] = { program.local[0..4],\n"
- " { 1, 2, 9.9999997e-006, 8 },\n"
- " { 3 } };\n"
+ " { 1, 2, 9.9999997e-006, 4 },\n"
+ " { 16, 12, 3 } };\n"
"TEMP R0;\n"
"TEMP R1;\n"
"TEMP R2;\n"
@@ -4824,13 +4837,6 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_LINEAR_COMPOSITION_MOD
"TEMP R4;\n"
"TEMP R5;\n"
"TEMP R6;\n"
- "MUL R0.xy, fragment.position, c[4];\n"
- "TEX R1, R0, texture[0], 2D;\n"
- "MAX R0.w, R1, c[5].z;\n"
- "RCP R2.w, R0.w;\n"
- "MUL R2.xyz, R1, R2.w;\n"
- "RSQ R0.w, R2.x;\n"
- "MUL R5.xyz, -R2, c[5].w;\n"
"MUL R0.xyz, fragment.position.y, c[2];\n"
"MAD R0.xyz, fragment.position.x, c[1], R0;\n"
"ADD R0.xyz, R0, c[3];\n"
@@ -4838,28 +4844,36 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_LINEAR_COMPOSITION_MOD
"MUL R0.xy, R0, R0.z;\n"
"MUL R0.xy, R0, c[0];\n"
"ADD R0.x, R0, R0.y;\n"
- "RSQ R0.z, R2.y;\n"
- "RSQ R0.y, R2.z;\n"
- "MAD R2.xyz, -R1, R2.w, c[5].x;\n"
- "RCP R3.x, R0.w;\n"
- "RCP R3.y, R0.z;\n"
- "RCP R3.z, R0.y;\n"
+ "MUL R1.xy, fragment.position, c[4];\n"
+ "TEX R1, R1, texture[0], 2D;\n"
+ "MAX R0.z, R1.w, c[5];\n"
+ "RCP R0.z, R0.z;\n"
+ "MUL R3.xyz, R1, R0.z;\n"
+ "MAD R2.xyz, R3, c[6].x, -c[6].y;\n"
"MUL R0.x, R0, c[0].z;\n"
"TEX R0, R0, texture[1], 1D;\n"
- "MAD R4.xyz, R1.w, R3, -R1;\n"
- "MAD R3.xyz, R0, c[5].y, -R0.w;\n"
- "MUL R4.xyz, R3, R4;\n"
- "ADD R6.xyz, R5, c[6].x;\n"
- "MUL R5.xyz, R2, R3;\n"
- "MAD R2.xyz, -R2, R3, R0.w;\n"
+ "MAD R4.xyz, R3, R2, c[6].z;\n"
+ "MAD R2.xyz, R0, c[5].y, -R0.w;\n"
+ "MUL R5.xyz, R1.w, R2;\n"
+ "MUL R6.xyz, R5, R4;\n"
+ "RSQ R2.w, R3.x;\n"
+ "RCP R4.x, R2.w;\n"
+ "RSQ R2.w, R3.y;\n"
+ "RSQ R3.w, R3.z;\n"
+ "RCP R4.y, R2.w;\n"
+ "RCP R4.z, R3.w;\n"
+ "ADD R4.xyz, -R3, R4;\n"
+ "MUL R6.xyz, R3, R6;\n"
+ "MUL R4.xyz, R5, R4;\n"
+ "ADD R3.xyz, -R3, c[5].x;\n"
+ "MAD R2.xyz, R2, R3, R0.w;\n"
"MUL R3.xyz, R0, c[5].y;\n"
- "MAD R6.xyz, -R5, R6, R0.w;\n"
+ "MAD R5.xyz, R0.w, R1, R6;\n"
"MAD R4.xyz, R0.w, R1, R4;\n"
- "MAD R5.xyz, -R1, R6, R4;\n"
+ "ADD R6.xyz, R4, -R5;\n"
"MUL R4.xyz, R1, c[5].w;\n"
- "MUL R6.xyz, R1, R6;\n"
"SGE R4.xyz, R4, R1.w;\n"
- "MAD R4.xyz, R4, R5, R6;\n"
+ "MAD R4.xyz, R4, R6, R5;\n"
"MAD R4.xyz, -R1, R2, R4;\n"
"MUL R2.xyz, R1, R2;\n"
"SGE R3.xyz, R3, R0.w;\n"
@@ -5333,8 +5347,8 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_TEXTURE_COMPOSITION_MO
static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_TEXTURE_COMPOSITION_MODES_SOFTLIGHT =
"!!ARBfp1.0\n"
"PARAM c[10] = { program.local[0..7],\n"
- " { 1, 2, 9.9999997e-006, 8 },\n"
- " { 3 } };\n"
+ " { 1, 2, 9.9999997e-006, 4 },\n"
+ " { 16, 12, 3 } };\n"
"TEMP R0;\n"
"TEMP R1;\n"
"TEMP R2;\n"
@@ -5342,44 +5356,45 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_TEXTURE_COMPOSITION_MO
"TEMP R4;\n"
"TEMP R5;\n"
"TEMP R6;\n"
- "MUL R0.xy, fragment.position, c[5];\n"
- "TEX R1, R0, texture[0], 2D;\n"
- "MAX R0.x, R1.w, c[8].z;\n"
- "RCP R2.w, R0.x;\n"
- "MUL R2.xyz, R1, R2.w;\n"
- "RSQ R0.w, R2.x;\n"
- "RCP R3.x, R0.w;\n"
- "RSQ R0.w, R2.y;\n"
- "MUL R5.xyz, -R2, c[8].w;\n"
"MUL R0.xyz, fragment.position.y, c[2];\n"
+ "MUL R1.xy, fragment.position, c[5];\n"
+ "TEX R1, R1, texture[0], 2D;\n"
"MAD R0.xyz, fragment.position.x, c[1], R0;\n"
"ADD R0.xyz, R0, c[3];\n"
"RCP R0.z, R0.z;\n"
"MUL R0.xy, R0, R0.z;\n"
- "RSQ R0.z, R2.z;\n"
- "MAD R2.xyz, -R1, R2.w, c[8].x;\n"
- "RCP R3.y, R0.w;\n"
- "RCP R3.z, R0.z;\n"
+ "MAX R0.w, R1, c[8].z;\n"
+ "RCP R0.w, R0.w;\n"
+ "MUL R3.xyz, R1, R0.w;\n"
+ "MAD R2.xyz, R3, c[9].x, -c[9].y;\n"
"MUL R0.xy, R0, c[0];\n"
"TEX R0, R0, texture[2], 2D;\n"
- "MAD R4.xyz, R1.w, R3, -R1;\n"
- "MAD R3.xyz, R0, c[8].y, -R0.w;\n"
- "MUL R4.xyz, R3, R4;\n"
- "ADD R6.xyz, R5, c[9].x;\n"
- "MUL R5.xyz, R2, R3;\n"
- "MAD R2.xyz, -R2, R3, R0.w;\n"
+ "MAD R4.xyz, R3, R2, c[9].z;\n"
+ "MAD R2.xyz, R0, c[8].y, -R0.w;\n"
+ "MUL R5.xyz, R1.w, R2;\n"
+ "MUL R6.xyz, R5, R4;\n"
+ "RSQ R2.w, R3.x;\n"
+ "RCP R4.x, R2.w;\n"
+ "RSQ R2.w, R3.y;\n"
+ "RSQ R3.w, R3.z;\n"
+ "RCP R4.y, R2.w;\n"
+ "RCP R4.z, R3.w;\n"
+ "ADD R4.xyz, -R3, R4;\n"
+ "MUL R6.xyz, R3, R6;\n"
+ "MUL R4.xyz, R5, R4;\n"
+ "ADD R3.xyz, -R3, c[8].x;\n"
+ "MAD R2.xyz, R2, R3, R0.w;\n"
"MUL R3.xyz, R0, c[8].y;\n"
- "MAD R6.xyz, -R5, R6, R0.w;\n"
+ "MAD R5.xyz, R0.w, R1, R6;\n"
"MAD R4.xyz, R0.w, R1, R4;\n"
- "MAD R5.xyz, -R1, R6, R4;\n"
+ "ADD R6.xyz, R4, -R5;\n"
"MUL R4.xyz, R1, c[8].w;\n"
- "SGE R3.xyz, R3, R0.w;\n"
- "ADD R2.w, -R1, c[8].x;\n"
- "MUL R6.xyz, R1, R6;\n"
"SGE R4.xyz, R4, R1.w;\n"
- "MAD R4.xyz, R4, R5, R6;\n"
+ "MAD R4.xyz, R4, R6, R5;\n"
"MAD R4.xyz, -R1, R2, R4;\n"
+ "SGE R3.xyz, R3, R0.w;\n"
"MUL R2.xyz, R1, R2;\n"
+ "ADD R2.w, -R1, c[8].x;\n"
"MAD R2.xyz, R3, R4, R2;\n"
"MAD R2.xyz, R0, R2.w, R2;\n"
"ADD R0.x, -R0.w, c[8];\n"
@@ -5768,8 +5783,8 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_TEXTURE_COMPOSITION_MO
static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_TEXTURE_COMPOSITION_MODES_SOFTLIGHT_NOMASK =
"!!ARBfp1.0\n"
"PARAM c[7] = { program.local[0..4],\n"
- " { 1, 2, 9.9999997e-006, 8 },\n"
- " { 3 } };\n"
+ " { 1, 2, 9.9999997e-006, 4 },\n"
+ " { 16, 12, 3 } };\n"
"TEMP R0;\n"
"TEMP R1;\n"
"TEMP R2;\n"
@@ -5777,40 +5792,41 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_TEXTURE_COMPOSITION_MO
"TEMP R4;\n"
"TEMP R5;\n"
"TEMP R6;\n"
- "MUL R0.xy, fragment.position, c[4];\n"
- "TEX R1, R0, texture[0], 2D;\n"
- "MAX R0.x, R1.w, c[5].z;\n"
- "RCP R2.w, R0.x;\n"
- "MUL R2.xyz, R1, R2.w;\n"
- "RSQ R0.w, R2.x;\n"
- "RCP R3.x, R0.w;\n"
- "RSQ R0.w, R2.y;\n"
- "MUL R5.xyz, -R2, c[5].w;\n"
"MUL R0.xyz, fragment.position.y, c[2];\n"
+ "MUL R1.xy, fragment.position, c[4];\n"
+ "TEX R1, R1, texture[0], 2D;\n"
"MAD R0.xyz, fragment.position.x, c[1], R0;\n"
"ADD R0.xyz, R0, c[3];\n"
"RCP R0.z, R0.z;\n"
"MUL R0.xy, R0, R0.z;\n"
- "RSQ R0.z, R2.z;\n"
- "MAD R2.xyz, -R1, R2.w, c[5].x;\n"
- "RCP R3.y, R0.w;\n"
- "RCP R3.z, R0.z;\n"
+ "MAX R0.w, R1, c[5].z;\n"
+ "RCP R0.w, R0.w;\n"
+ "MUL R3.xyz, R1, R0.w;\n"
+ "MAD R2.xyz, R3, c[6].x, -c[6].y;\n"
"MUL R0.xy, R0, c[0];\n"
"TEX R0, R0, texture[1], 2D;\n"
- "MAD R4.xyz, R1.w, R3, -R1;\n"
- "MAD R3.xyz, R0, c[5].y, -R0.w;\n"
- "MUL R4.xyz, R3, R4;\n"
- "ADD R6.xyz, R5, c[6].x;\n"
- "MUL R5.xyz, R2, R3;\n"
- "MAD R2.xyz, -R2, R3, R0.w;\n"
+ "MAD R4.xyz, R3, R2, c[6].z;\n"
+ "MAD R2.xyz, R0, c[5].y, -R0.w;\n"
+ "MUL R5.xyz, R1.w, R2;\n"
+ "MUL R6.xyz, R5, R4;\n"
+ "RSQ R2.w, R3.x;\n"
+ "RCP R4.x, R2.w;\n"
+ "RSQ R2.w, R3.y;\n"
+ "RSQ R3.w, R3.z;\n"
+ "RCP R4.y, R2.w;\n"
+ "RCP R4.z, R3.w;\n"
+ "ADD R4.xyz, -R3, R4;\n"
+ "MUL R6.xyz, R3, R6;\n"
+ "MUL R4.xyz, R5, R4;\n"
+ "ADD R3.xyz, -R3, c[5].x;\n"
+ "MAD R2.xyz, R2, R3, R0.w;\n"
"MUL R3.xyz, R0, c[5].y;\n"
- "MAD R6.xyz, -R5, R6, R0.w;\n"
+ "MAD R5.xyz, R0.w, R1, R6;\n"
"MAD R4.xyz, R0.w, R1, R4;\n"
- "MAD R5.xyz, -R1, R6, R4;\n"
+ "ADD R6.xyz, R4, -R5;\n"
"MUL R4.xyz, R1, c[5].w;\n"
- "MUL R6.xyz, R1, R6;\n"
"SGE R4.xyz, R4, R1.w;\n"
- "MAD R4.xyz, R4, R5, R6;\n"
+ "MAD R4.xyz, R4, R6, R5;\n"
"MAD R4.xyz, -R1, R2, R4;\n"
"MUL R2.xyz, R1, R2;\n"
"SGE R3.xyz, R3, R0.w;\n"
@@ -6295,8 +6311,8 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_PATTERN_COMPOSITION_MO
static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_PATTERN_COMPOSITION_MODES_SOFTLIGHT =
"!!ARBfp1.0\n"
"PARAM c[10] = { program.local[0..7],\n"
- " { 1, 2, 9.9999997e-006, 8 },\n"
- " { 3 } };\n"
+ " { 1, 2, 9.9999997e-006, 4 },\n"
+ " { 16, 12, 3 } };\n"
"TEMP R0;\n"
"TEMP R1;\n"
"TEMP R2;\n"
@@ -6304,46 +6320,47 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_PATTERN_COMPOSITION_MO
"TEMP R4;\n"
"TEMP R5;\n"
"TEMP R6;\n"
- "MUL R0.xy, fragment.position, c[5];\n"
- "TEX R0, R0, texture[0], 2D;\n"
- "MAX R1.w, R0, c[8].z;\n"
- "RCP R2.w, R1.w;\n"
- "MUL R2.xyz, R0, R2.w;\n"
- "RSQ R1.w, R2.x;\n"
- "MUL R5.xyz, -R2, c[8].w;\n"
- "MUL R1.xyz, fragment.position.y, c[2];\n"
- "MAD R1.xyz, fragment.position.x, c[1], R1;\n"
- "ADD R1.xyz, R1, c[3];\n"
+ "MUL R0.xyz, fragment.position.y, c[2];\n"
+ "MAD R0.xyz, fragment.position.x, c[1], R0;\n"
+ "ADD R1.xyz, R0, c[3];\n"
"RCP R1.z, R1.z;\n"
"MUL R1.xy, R1, R1.z;\n"
"MUL R1.xy, R1, c[0];\n"
"TEX R1.x, R1, texture[2], 2D;\n"
- "RSQ R1.z, R2.y;\n"
- "RSQ R1.y, R2.z;\n"
- "MAD R2.xyz, -R0, R2.w, c[8].x;\n"
- "RCP R3.x, R1.w;\n"
- "RCP R3.y, R1.z;\n"
- "RCP R3.z, R1.y;\n"
+ "MUL R0.xy, fragment.position, c[5];\n"
+ "TEX R0, R0, texture[0], 2D;\n"
+ "MAX R1.z, R0.w, c[8];\n"
+ "RCP R1.z, R1.z;\n"
+ "MUL R3.xyz, R0, R1.z;\n"
+ "MAD R2.xyz, R3, c[9].x, -c[9].y;\n"
"ADD R1.x, -R1, c[8];\n"
"MUL R1, fragment.color.primary, R1.x;\n"
- "MAD R4.xyz, R0.w, R3, -R0;\n"
- "MAD R3.xyz, R1, c[8].y, -R1.w;\n"
- "MUL R4.xyz, R3, R4;\n"
- "ADD R6.xyz, R5, c[9].x;\n"
- "MUL R5.xyz, R2, R3;\n"
- "MAD R2.xyz, -R2, R3, R1.w;\n"
+ "MAD R4.xyz, R3, R2, c[9].z;\n"
+ "MAD R2.xyz, R1, c[8].y, -R1.w;\n"
+ "MUL R5.xyz, R0.w, R2;\n"
+ "MUL R6.xyz, R5, R4;\n"
+ "RSQ R2.w, R3.x;\n"
+ "RCP R4.x, R2.w;\n"
+ "RSQ R2.w, R3.y;\n"
+ "RSQ R3.w, R3.z;\n"
+ "RCP R4.y, R2.w;\n"
+ "RCP R4.z, R3.w;\n"
+ "ADD R4.xyz, -R3, R4;\n"
+ "MUL R6.xyz, R3, R6;\n"
+ "MUL R4.xyz, R5, R4;\n"
+ "ADD R3.xyz, -R3, c[8].x;\n"
+ "MAD R2.xyz, R2, R3, R1.w;\n"
"MUL R3.xyz, R1, c[8].y;\n"
- "MAD R6.xyz, -R5, R6, R1.w;\n"
+ "MAD R5.xyz, R1.w, R0, R6;\n"
"MAD R4.xyz, R1.w, R0, R4;\n"
- "MAD R5.xyz, -R0, R6, R4;\n"
+ "ADD R6.xyz, R4, -R5;\n"
"MUL R4.xyz, R0, c[8].w;\n"
- "SGE R3.xyz, R3, R1.w;\n"
- "ADD R2.w, -R0, c[8].x;\n"
- "MUL R6.xyz, R0, R6;\n"
"SGE R4.xyz, R4, R0.w;\n"
- "MAD R4.xyz, R4, R5, R6;\n"
+ "MAD R4.xyz, R4, R6, R5;\n"
"MAD R4.xyz, -R0, R2, R4;\n"
+ "SGE R3.xyz, R3, R1.w;\n"
"MUL R2.xyz, R0, R2;\n"
+ "ADD R2.w, -R0, c[8].x;\n"
"MAD R2.xyz, R3, R4, R2;\n"
"MAD R2.xyz, R1, R2.w, R2;\n"
"ADD R1.x, -R1.w, c[8];\n"
@@ -6755,8 +6772,8 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_PATTERN_COMPOSITION_MO
static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_PATTERN_COMPOSITION_MODES_SOFTLIGHT_NOMASK =
"!!ARBfp1.0\n"
"PARAM c[7] = { program.local[0..4],\n"
- " { 1, 2, 9.9999997e-006, 8 },\n"
- " { 3 } };\n"
+ " { 1, 2, 9.9999997e-006, 4 },\n"
+ " { 16, 12, 3 } };\n"
"TEMP R0;\n"
"TEMP R1;\n"
"TEMP R2;\n"
@@ -6764,42 +6781,43 @@ static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_PATTERN_COMPOSITION_MO
"TEMP R4;\n"
"TEMP R5;\n"
"TEMP R6;\n"
- "MUL R0.xy, fragment.position, c[4];\n"
- "TEX R0, R0, texture[0], 2D;\n"
- "MAX R1.w, R0, c[5].z;\n"
- "RCP R2.w, R1.w;\n"
- "MUL R2.xyz, R0, R2.w;\n"
- "RSQ R1.w, R2.x;\n"
- "MUL R5.xyz, -R2, c[5].w;\n"
- "MUL R1.xyz, fragment.position.y, c[2];\n"
- "MAD R1.xyz, fragment.position.x, c[1], R1;\n"
- "ADD R1.xyz, R1, c[3];\n"
+ "MUL R0.xyz, fragment.position.y, c[2];\n"
+ "MAD R0.xyz, fragment.position.x, c[1], R0;\n"
+ "ADD R1.xyz, R0, c[3];\n"
"RCP R1.z, R1.z;\n"
"MUL R1.xy, R1, R1.z;\n"
"MUL R1.xy, R1, c[0];\n"
"TEX R1.x, R1, texture[1], 2D;\n"
- "RSQ R1.z, R2.y;\n"
- "RSQ R1.y, R2.z;\n"
- "MAD R2.xyz, -R0, R2.w, c[5].x;\n"
- "RCP R3.x, R1.w;\n"
- "RCP R3.y, R1.z;\n"
- "RCP R3.z, R1.y;\n"
+ "MUL R0.xy, fragment.position, c[4];\n"
+ "TEX R0, R0, texture[0], 2D;\n"
+ "MAX R1.z, R0.w, c[5];\n"
+ "RCP R1.z, R1.z;\n"
+ "MUL R3.xyz, R0, R1.z;\n"
+ "MAD R2.xyz, R3, c[6].x, -c[6].y;\n"
"ADD R1.x, -R1, c[5];\n"
"MUL R1, fragment.color.primary, R1.x;\n"
- "MAD R4.xyz, R0.w, R3, -R0;\n"
- "MAD R3.xyz, R1, c[5].y, -R1.w;\n"
- "MUL R4.xyz, R3, R4;\n"
- "ADD R6.xyz, R5, c[6].x;\n"
- "MUL R5.xyz, R2, R3;\n"
- "MAD R2.xyz, -R2, R3, R1.w;\n"
+ "MAD R4.xyz, R3, R2, c[6].z;\n"
+ "MAD R2.xyz, R1, c[5].y, -R1.w;\n"
+ "MUL R5.xyz, R0.w, R2;\n"
+ "MUL R6.xyz, R5, R4;\n"
+ "RSQ R2.w, R3.x;\n"
+ "RCP R4.x, R2.w;\n"
+ "RSQ R2.w, R3.y;\n"
+ "RSQ R3.w, R3.z;\n"
+ "RCP R4.y, R2.w;\n"
+ "RCP R4.z, R3.w;\n"
+ "ADD R4.xyz, -R3, R4;\n"
+ "MUL R6.xyz, R3, R6;\n"
+ "MUL R4.xyz, R5, R4;\n"
+ "ADD R3.xyz, -R3, c[5].x;\n"
+ "MAD R2.xyz, R2, R3, R1.w;\n"
"MUL R3.xyz, R1, c[5].y;\n"
- "MAD R6.xyz, -R5, R6, R1.w;\n"
+ "MAD R5.xyz, R1.w, R0, R6;\n"
"MAD R4.xyz, R1.w, R0, R4;\n"
- "MAD R5.xyz, -R0, R6, R4;\n"
+ "ADD R6.xyz, R4, -R5;\n"
"MUL R4.xyz, R0, c[5].w;\n"
- "MUL R6.xyz, R0, R6;\n"
"SGE R4.xyz, R4, R0.w;\n"
- "MAD R4.xyz, R4, R5, R6;\n"
+ "MAD R4.xyz, R4, R6, R5;\n"
"MAD R4.xyz, -R0, R2, R4;\n"
"MUL R2.xyz, R0, R2;\n"
"SGE R3.xyz, R3, R1.w;\n"
diff --git a/src/openvg/qpaintengine_vg.cpp b/src/openvg/qpaintengine_vg.cpp
index da07c1d..047d9d8 100644
--- a/src/openvg/qpaintengine_vg.cpp
+++ b/src/openvg/qpaintengine_vg.cpp
@@ -1178,6 +1178,8 @@ VGPaintType QVGPaintEnginePrivate::setBrush
case Qt::TexturePattern: {
// The brush is a texture specified by a QPixmap/QImage.
QPixmapData *pd = brush.texture().pixmapData();
+ if (!pd)
+ break; // null QPixmap
VGImage vgImg;
bool deref = false;
if (pd->pixelType() == QPixmapData::BitmapType) {
@@ -2893,6 +2895,8 @@ void qt_vg_drawVGImageStencil
void QVGPaintEngine::drawPixmap(const QRectF &r, const QPixmap &pm, const QRectF &sr)
{
QPixmapData *pd = pm.pixmapData();
+ if (!pd)
+ return; // null QPixmap
if (pd->classId() == QPixmapData::OpenVGClass) {
Q_D(QVGPaintEngine);
QVGPixmapData *vgpd = static_cast<QVGPixmapData *>(pd);
@@ -2910,6 +2914,8 @@ void QVGPaintEngine::drawPixmap(const QRectF &r, const QPixmap &pm, const QRectF
void QVGPaintEngine::drawPixmap(const QPointF &pos, const QPixmap &pm)
{
QPixmapData *pd = pm.pixmapData();
+ if (!pd)
+ return; // null QPixmap
if (pd->classId() == QPixmapData::OpenVGClass) {
Q_D(QVGPaintEngine);
QVGPixmapData *vgpd = static_cast<QVGPixmapData *>(pd);
@@ -2985,6 +2991,8 @@ void QVGPaintEngine::drawPixmaps
// If the pixmap is not VG, or the transformation is projective,
// then fall back to the default implementation.
QPixmapData *pd = pixmap.pixmapData();
+ if (!pd)
+ return; // null QPixmap
if (pd->classId() != QPixmapData::OpenVGClass || !d->simpleTransform) {
QPaintEngineEx::drawPixmaps(drawingData, dataCount, pixmap, hints);
return;
@@ -3455,28 +3463,24 @@ void QVGCompositionHelper::blitWindow
// Set the image transform.
QTransform transform;
int y = screenSize.height() - (rect.bottom() + 1);
- transform.translate(rect.x() + 0.5f, y + 0.5f);
+ transform.translate(rect.x() - 0.5f, y - 0.5f);
d->setTransform(VG_MATRIX_IMAGE_USER_TO_SURFACE, transform);
// Enable opacity for image drawing if necessary.
- if (opacity < 255) {
- if (opacity != d->paintOpacity) {
- VGfloat values[4];
- values[0] = 1.0f;
- values[1] = 1.0f;
- values[2] = 1.0f;
- values[3] = ((VGfloat)opacity) / 255.0f;
- vgSetParameterfv(d->opacityPaint, VG_PAINT_COLOR, 4, values);
- d->paintOpacity = values[3];
- }
- if (d->fillPaint != d->opacityPaint) {
- vgSetPaint(d->opacityPaint, VG_FILL_PATH);
- d->fillPaint = d->opacityPaint;
- }
- d->setImageMode(VG_DRAW_IMAGE_MULTIPLY);
- } else {
- d->setImageMode(VG_DRAW_IMAGE_NORMAL);
+ if (opacity != d->paintOpacity) {
+ VGfloat values[4];
+ values[0] = 1.0f;
+ values[1] = 1.0f;
+ values[2] = 1.0f;
+ values[3] = ((VGfloat)opacity) / 255.0f;
+ vgSetParameterfv(d->opacityPaint, VG_PAINT_COLOR, 4, values);
+ d->paintOpacity = values[3];
}
+ if (d->fillPaint != d->opacityPaint) {
+ vgSetPaint(d->opacityPaint, VG_FILL_PATH);
+ d->fillPaint = d->opacityPaint;
+ }
+ d->setImageMode(VG_DRAW_IMAGE_MULTIPLY);
// Draw the child image.
vgDrawImage(child);
@@ -3527,74 +3531,101 @@ static void fillBackgroundRect(const QRect& rect, QVGPaintEnginePrivate *d)
void QVGCompositionHelper::fillBackground
(const QRegion& region, const QBrush& brush)
{
- // Set the path transform to the default viewport transformation.
- VGfloat devh = screenSize.height() - 1;
- QTransform viewport(1.0f, 0.0f, 0.0f,
- 0.0f, -1.0f, 0.0f,
- 0.5f, devh + 0.5f, 1.0f);
- d->setTransform(VG_MATRIX_PATH_USER_TO_SURFACE, viewport);
-
- // Set the brush to use to fill the background.
- d->ensureBrush(brush);
- d->setFillRule(VG_EVEN_ODD);
+ if (brush.style() == Qt::SolidPattern) {
+ // Use vgClear() to quickly fill the background.
+ QColor color = brush.color();
+ if (d->clearColor != color || d->clearOpacity != 1.0f) {
+ VGfloat values[4];
+ values[0] = color.redF();
+ values[1] = color.greenF();
+ values[2] = color.blueF();
+ values[3] = color.alphaF();
+ vgSetfv(VG_CLEAR_COLOR, 4, values);
+ d->clearColor = color;
+ d->clearOpacity = 1.0f;
+ }
+ if (region.numRects() == 1) {
+ QRect r = region.boundingRect();
+ vgClear(r.x(), screenSize.height() - r.y() - r.height(),
+ r.width(), r.height());
+ } else {
+ const QVector<QRect> rects = region.rects();
+ for (int i = 0; i < rects.size(); ++i) {
+ QRect r = rects.at(i);
+ vgClear(r.x(), screenSize.height() - r.y() - r.height(),
+ r.width(), r.height());
+ }
+ }
- if (region.numRects() == 1) {
- fillBackgroundRect(region.boundingRect(), d);
} else {
- const QVector<QRect> rects = region.rects();
- for (int i = 0; i < rects.size(); ++i)
- fillBackgroundRect(rects.at(i), d);
- }
+ // Set the path transform to the default viewport transformation.
+ VGfloat devh = screenSize.height() - 1;
+ QTransform viewport(1.0f, 0.0f, 0.0f,
+ 0.0f, -1.0f, 0.0f,
+ -0.5f, devh + 0.5f, 1.0f);
+ d->setTransform(VG_MATRIX_PATH_USER_TO_SURFACE, viewport);
+
+ // Set the brush to use to fill the background.
+ d->ensureBrush(brush);
+ d->setFillRule(VG_EVEN_ODD);
+
+ if (region.numRects() == 1) {
+ fillBackgroundRect(region.boundingRect(), d);
+ } else {
+ const QVector<QRect> rects = region.rects();
+ for (int i = 0; i < rects.size(); ++i)
+ fillBackgroundRect(rects.at(i), d);
+ }
- // We will need to reset the path transform during the next paint.
- d->pathTransformSet = false;
+ // We will need to reset the path transform during the next paint.
+ d->pathTransformSet = false;
+ }
}
-void QVGCompositionHelper::drawCursorImage
- (const QImage& image, const QPoint& offset)
+void QVGCompositionHelper::drawCursorPixmap
+ (const QPixmap& pixmap, const QPoint& offset)
{
- QImage img = image.convertToFormat(QImage::Format_ARGB32_Premultiplied);
+ VGImage vgImage = VG_INVALID_HANDLE;
- VGImage vgImg = vgCreateImage
- (VG_sARGB_8888_PRE, img.width(), img.height(),
- VG_IMAGE_QUALITY_FASTER);
- vgImageSubData
- (vgImg, img.bits() + img.bytesPerLine() * (img.height() - 1),
- -(img.bytesPerLine()), VG_sARGB_8888_PRE, 0, 0,
- img.width(), img.height());
+ // Fetch the VGImage from the pixmap if possible.
+ QPixmapData *pd = pixmap.pixmapData();
+ if (!pd)
+ return; // null QPixmap
+ if (pd->classId() == QPixmapData::OpenVGClass) {
+ QVGPixmapData *vgpd = static_cast<QVGPixmapData *>(pd);
+ if (vgpd->isValid())
+ vgImage = vgpd->toVGImage();
+ }
- QTransform transform;
- int y = screenSize.height() - (offset.y() + img.height());
- transform.translate(offset.x() + 0.5f, y + 0.5f);
+ // Set the image transformation and modes.
+ VGfloat devh = screenSize.height() - 1;
+ QTransform transform(1.0f, 0.0f, 0.0f,
+ 0.0f, -1.0f, 0.0f,
+ -0.5f, devh + 0.5f, 1.0f);
+ transform.translate(offset.x(), offset.y());
d->setTransform(VG_MATRIX_IMAGE_USER_TO_SURFACE, transform);
-
d->setImageMode(VG_DRAW_IMAGE_NORMAL);
- vgDrawImage(vgImg);
- vgDestroyImage(vgImg);
-}
+ // Draw the VGImage.
+ if (vgImage != VG_INVALID_HANDLE) {
+ vgDrawImage(vgImage);
+ } else {
+ QImage img = pixmap.toImage().convertToFormat
+ (QImage::Format_ARGB32_Premultiplied);
-void QVGCompositionHelper::drawCursorPixmap
- (const QPixmap& pixmap, const QPoint& offset)
-{
- QPixmapData *pd = pixmap.pixmapData();
- if (pd->classId() == QPixmapData::OpenVGClass) {
- QVGPixmapData *vgpd = static_cast<QVGPixmapData *>(pd);
- if (vgpd->isValid()) {
- VGfloat devh = screenSize.height() - 1;
- QTransform transform(1.0f, 0.0f, 0.0f,
- 0.0f, -1.0f, 0.0f,
- 0.5f, devh + 0.5f, 1.0f);
- transform.translate(offset.x(), offset.y());
- d->setTransform(VG_MATRIX_IMAGE_USER_TO_SURFACE, transform);
-
- d->setImageMode(VG_DRAW_IMAGE_NORMAL);
- vgDrawImage(vgpd->toVGImage());
+ vgImage = vgCreateImage
+ (VG_sARGB_8888_PRE, img.width(), img.height(),
+ VG_IMAGE_QUALITY_FASTER);
+ if (vgImage == VG_INVALID_HANDLE)
return;
- }
- }
+ vgImageSubData
+ (vgImage, img.bits() + img.bytesPerLine() * (img.height() - 1),
+ -(img.bytesPerLine()), VG_sARGB_8888_PRE, 0, 0,
+ img.width(), img.height());
- drawCursorImage(pixmap.toImage(), offset);
+ vgDrawImage(vgImage);
+ vgDestroyImage(vgImage);
+ }
}
void QVGCompositionHelper::setScissor(const QRegion& region)
diff --git a/src/openvg/qpixmapdata_vg.cpp b/src/openvg/qpixmapdata_vg.cpp
index f86e116..3254aa3 100644
--- a/src/openvg/qpixmapdata_vg.cpp
+++ b/src/openvg/qpixmapdata_vg.cpp
@@ -369,6 +369,8 @@ QImage::Format QVGPixmapData::sourceFormat() const
Q_OPENVG_EXPORT VGImage qPixmapToVGImage(const QPixmap& pixmap)
{
QPixmapData *pd = pixmap.pixmapData();
+ if (!pd)
+ return VG_INVALID_HANDLE; // null QPixmap
if (pd->classId() == QPixmapData::OpenVGClass) {
QVGPixmapData *vgpd = static_cast<QVGPixmapData *>(pd);
if (vgpd->isValid())
diff --git a/src/openvg/qpixmapfilter_vg.cpp b/src/openvg/qpixmapfilter_vg.cpp
index 8e104db..e17c728 100644
--- a/src/openvg/qpixmapfilter_vg.cpp
+++ b/src/openvg/qpixmapfilter_vg.cpp
@@ -65,6 +65,9 @@ void QVGPixmapConvolutionFilter::draw
(QPainter *painter, const QPointF &dest,
const QPixmap &src, const QRectF &srcRect) const
{
+ if (src.isNull())
+ return;
+
if (src.pixmapData()->classId() != QPixmapData::OpenVGClass) {
// The pixmap data is not an instance of QVGPixmapData, so fall
// back to the default convolution filter implementation.
@@ -135,6 +138,9 @@ QVGPixmapColorizeFilter::~QVGPixmapColorizeFilter()
void QVGPixmapColorizeFilter::draw(QPainter *painter, const QPointF &dest, const QPixmap &src, const QRectF &srcRect) const
{
+ if (src.isNull())
+ return;
+
if (src.pixmapData()->classId() != QPixmapData::OpenVGClass) {
// The pixmap data is not an instance of QVGPixmapData, so fall
// back to the default colorize filter implementation.
@@ -225,6 +231,9 @@ QVGPixmapDropShadowFilter::~QVGPixmapDropShadowFilter()
void QVGPixmapDropShadowFilter::draw(QPainter *painter, const QPointF &dest, const QPixmap &src, const QRectF &srcRect) const
{
+ if (src.isNull())
+ return;
+
if (src.pixmapData()->classId() != QPixmapData::OpenVGClass) {
// The pixmap data is not an instance of QVGPixmapData, so fall
// back to the default drop shadow filter implementation.
@@ -290,6 +299,9 @@ QVGPixmapBlurFilter::~QVGPixmapBlurFilter()
void QVGPixmapBlurFilter::draw(QPainter *painter, const QPointF &dest, const QPixmap &src, const QRectF &srcRect) const
{
+ if (src.isNull())
+ return;
+
if (src.pixmapData()->classId() != QPixmapData::OpenVGClass) {
// The pixmap data is not an instance of QVGPixmapData, so fall
// back to the default blur filter implementation.
diff --git a/src/openvg/qpixmapfilter_vg_p.h b/src/openvg/qpixmapfilter_vg_p.h
index efbbc7b..29dd37e 100644
--- a/src/openvg/qpixmapfilter_vg_p.h
+++ b/src/openvg/qpixmapfilter_vg_p.h
@@ -61,7 +61,7 @@ QT_BEGIN_NAMESPACE
#if !defined(QT_SHIVAVG)
-class Q_OPENVG_EXPORT QVGPixmapConvolutionFilter : public QPixmapConvolutionFilter
+class QVGPixmapConvolutionFilter : public QPixmapConvolutionFilter
{
Q_OBJECT
public:
@@ -71,7 +71,7 @@ public:
void draw(QPainter *painter, const QPointF &dest, const QPixmap &src, const QRectF &srcRect) const;
};
-class Q_OPENVG_EXPORT QVGPixmapColorizeFilter : public QPixmapColorizeFilter
+class QVGPixmapColorizeFilter : public QPixmapColorizeFilter
{
Q_OBJECT
public:
@@ -81,7 +81,7 @@ public:
void draw(QPainter *painter, const QPointF &dest, const QPixmap &src, const QRectF &srcRect) const;
};
-class Q_OPENVG_EXPORT QVGPixmapDropShadowFilter : public QPixmapDropShadowFilter
+class QVGPixmapDropShadowFilter : public QPixmapDropShadowFilter
{
Q_OBJECT
public:
@@ -91,7 +91,7 @@ public:
void draw(QPainter *p, const QPointF &pos, const QPixmap &px, const QRectF &src) const;
};
-class Q_OPENVG_EXPORT QVGPixmapBlurFilter : public QPixmapBlurFilter
+class QVGPixmapBlurFilter : public QPixmapBlurFilter
{
Q_OBJECT
public:
diff --git a/src/openvg/qvgcompositionhelper_p.h b/src/openvg/qvgcompositionhelper_p.h
index 6317c3f..3afe31e 100644
--- a/src/openvg/qvgcompositionhelper_p.h
+++ b/src/openvg/qvgcompositionhelper_p.h
@@ -74,7 +74,6 @@ public:
void blitWindow(QVGEGLWindowSurfacePrivate *surface, const QRect& rect,
const QPoint& topLeft, int opacity);
void fillBackground(const QRegion& region, const QBrush& brush);
- void drawCursorImage(const QImage& image, const QPoint& offset);
void drawCursorPixmap(const QPixmap& pixmap, const QPoint& offset);
void setScissor(const QRegion& region);
void clearScissor();
diff --git a/src/openvg/qwindowsurface_vg.cpp b/src/openvg/qwindowsurface_vg.cpp
index 661e06a..f8486a6 100644
--- a/src/openvg/qwindowsurface_vg.cpp
+++ b/src/openvg/qwindowsurface_vg.cpp
@@ -54,8 +54,8 @@ QT_BEGIN_NAMESPACE
QVGWindowSurface::QVGWindowSurface(QWidget *window)
: QWindowSurface(window)
{
- d_ptr = QVGEGLWindowSurfacePrivate::create
- (QVGEGLWindowSurfacePrivate::WindowSurface, this);
+ // Create the default type of EGL window surface for windows.
+ d_ptr = new QVGEGLWindowSurfaceDirect(this);
}
QVGWindowSurface::QVGWindowSurface
diff --git a/src/openvg/qwindowsurface_vgegl.cpp b/src/openvg/qwindowsurface_vgegl.cpp
index d622c1f..29d82c8 100644
--- a/src/openvg/qwindowsurface_vgegl.cpp
+++ b/src/openvg/qwindowsurface_vgegl.cpp
@@ -101,18 +101,6 @@ QImage::Format qt_vg_config_to_image_format(QEglContext *context)
return argbFormat; // XXX
}
-static void copySubImage(QImage *image, VGImage vgImage, const QRect& rect)
-{
- vgGetImageSubData
- (vgImage,
- image->bits() + rect.bottom() * image->bytesPerLine() +
- rect.x() * (image->depth() / 8),
- -(image->bytesPerLine()),
- qt_vg_image_to_vg_format(image->format()),
- rect.x(), (image->height() - 1) - rect.bottom(),
- rect.width(), rect.height());
-}
-
#if !defined(QVG_NO_SINGLE_CONTEXT)
class QVGSharedContext
@@ -205,6 +193,13 @@ static QEglContext *createContext(QPaintDevice *device)
return 0;
}
+ // Set the swap interval for the display.
+ QByteArray interval = qgetenv("QT_VG_SWAP_INTERVAL");
+ if (!interval.isEmpty())
+ eglSwapInterval(context->display(), interval.toInt());
+ else
+ eglSwapInterval(context->display(), 1);
+
// Choose an appropriate configuration for rendering into the device.
QEglProperties configProps;
configProps.setPaintDeviceFormat(device);
@@ -336,20 +331,6 @@ QVGEGLWindowSurfacePrivate::~QVGEGLWindowSurfacePrivate()
destroyPaintEngine();
}
-QVGEGLWindowSurfacePrivate *QVGEGLWindowSurfacePrivate::create
- (SurfaceType type, QWindowSurface *win)
-{
-#if defined(QVG_VGIMAGE_BACKBUFFERS)
- if (type == VGImageSurface)
- return new QVGEGLWindowSurfaceVGImage(win);
- else if (type == QImageSurface)
- return new QVGEGLWindowSurfaceQImage(win);
-#endif
- if (type == WindowSurface)
- return new QVGEGLWindowSurfaceDirect(win);
- return 0;
-}
-
QVGPaintEngine *QVGEGLWindowSurfacePrivate::paintEngine()
{
if (!engine)
@@ -514,39 +495,6 @@ EGLSurface QVGEGLWindowSurfaceVGImage::mainSurface() const
return qt_vg_shared_surface();
}
-QVGEGLWindowSurfaceQImage::QVGEGLWindowSurfaceQImage(QWindowSurface *win)
- : QVGEGLWindowSurfaceVGImage(win)
-{
-}
-
-QVGEGLWindowSurfaceQImage::~QVGEGLWindowSurfaceQImage()
-{
-}
-
-void QVGEGLWindowSurfaceQImage::endPaint
- (QWidget *widget, const QRegion& region, QImage *image)
-{
- QEglContext *context = ensureContext(widget);
- if (context) {
- if (backBufferSurface != EGL_NO_SURFACE) {
- if (isPaintingActive)
- vgFlush();
- context->makeCurrent(mainSurface());
- QRegion rgn = region.intersected
- (QRect(0, 0, image->width(), image->height()));
- if (rgn.numRects() == 1) {
- copySubImage(image, backBuffer, rgn.boundingRect());
- } else {
- QVector<QRect> rects = rgn.rects();
- for (int index = 0; index < rects.size(); ++index)
- copySubImage(image, backBuffer, rects[index]);
- }
- context->lazyDoneCurrent();
- }
- isPaintingActive = false;
- }
-}
-
#endif // QVG_VGIMAGE_BACKBUFFERS
QVGEGLWindowSurfaceDirect::QVGEGLWindowSurfaceDirect(QWindowSurface *win)
diff --git a/src/openvg/qwindowsurface_vgegl_p.h b/src/openvg/qwindowsurface_vgegl_p.h
index fa36b94..7fa60ea 100644
--- a/src/openvg/qwindowsurface_vgegl_p.h
+++ b/src/openvg/qwindowsurface_vgegl_p.h
@@ -70,16 +70,6 @@ public:
QVGEGLWindowSurfacePrivate(QWindowSurface *win);
virtual ~QVGEGLWindowSurfacePrivate();
- enum SurfaceType
- {
- WindowSurface,
- VGImageSurface,
- QImageSurface
- };
-
- static QVGEGLWindowSurfacePrivate *create
- (SurfaceType type, QWindowSurface *win);
-
QVGPaintEngine *paintEngine();
virtual QEglContext *ensureContext(QWidget *widget) = 0;
virtual void beginPaint(QWidget *widget) = 0;
@@ -126,15 +116,6 @@ protected:
EGLSurface mainSurface() const;
};
-class Q_OPENVG_EXPORT QVGEGLWindowSurfaceQImage : public QVGEGLWindowSurfaceVGImage
-{
-public:
- QVGEGLWindowSurfaceQImage(QWindowSurface *win);
- virtual ~QVGEGLWindowSurfaceQImage();
-
- void endPaint(QWidget *widget, const QRegion& region, QImage *image);
-};
-
#endif // EGL_OPENVG_IMAGE
class Q_OPENVG_EXPORT QVGEGLWindowSurfaceDirect : public QVGEGLWindowSurfacePrivate
diff --git a/src/plugins/accessible/widgets/simplewidgets.cpp b/src/plugins/accessible/widgets/simplewidgets.cpp
index aa51759..1d801e4 100644
--- a/src/plugins/accessible/widgets/simplewidgets.cpp
+++ b/src/plugins/accessible/widgets/simplewidgets.cpp
@@ -602,6 +602,44 @@ int QAccessibleDisplay::navigate(RelationFlag rel, int entry, QAccessibleInterfa
return QAccessibleWidgetEx::navigate(rel, entry, target);
}
+/*! \reimp */
+QString QAccessibleDisplay::imageDescription()
+{
+ return widget()->toolTip();
+}
+
+/*! \reimp */
+QSize QAccessibleDisplay::imageSize()
+{
+ QLabel *label = qobject_cast<QLabel *>(widget());
+ if (!label)
+ return QSize();
+ const QPixmap *pixmap = label->pixmap();
+ if (!pixmap)
+ return QSize();
+ return pixmap->size();
+}
+
+/*! \reimp */
+QRect QAccessibleDisplay::imagePosition(QAccessible2::CoordinateType coordType)
+{
+ QLabel *label = qobject_cast<QLabel *>(widget());
+ if (!label)
+ return QRect();
+ const QPixmap *pixmap = label->pixmap();
+ if (!pixmap)
+ return QRect();
+
+ switch (coordType) {
+ case QAccessible2::RelativeToScreen:
+ return QRect(label->mapToGlobal(label->pos()), label->size());
+ case QAccessible2::RelativeToParent:
+ return label->geometry();
+ }
+
+ return QRect();
+}
+
#ifndef QT_NO_LINEEDIT
/*!
\class QAccessibleLineEdit
diff --git a/src/plugins/accessible/widgets/simplewidgets.h b/src/plugins/accessible/widgets/simplewidgets.h
index 0c1cf5e..5182bdd 100644
--- a/src/plugins/accessible/widgets/simplewidgets.h
+++ b/src/plugins/accessible/widgets/simplewidgets.h
@@ -111,7 +111,7 @@ protected:
};
#endif // QT_NO_TOOLBUTTON
-class QAccessibleDisplay : public QAccessibleWidgetEx
+class QAccessibleDisplay : public QAccessibleWidgetEx, public QAccessibleImageInterface
{
Q_ACCESSIBLE_OBJECT
public:
@@ -122,6 +122,11 @@ public:
Relation relationTo(int child, const QAccessibleInterface *other, int otherChild) const;
int navigate(RelationFlag, int entry, QAccessibleInterface **target) const;
+
+ // QAccessibleImageInterface
+ QString imageDescription();
+ QSize imageSize();
+ QRect imagePosition(QAccessible2::CoordinateType coordType);
};
#ifndef QT_NO_LINEEDIT
diff --git a/src/plugins/gfxdrivers/directfb/qdirectfbpaintengine.cpp b/src/plugins/gfxdrivers/directfb/qdirectfbpaintengine.cpp
index dd6b0d3..c86af73 100644
--- a/src/plugins/gfxdrivers/directfb/qdirectfbpaintengine.cpp
+++ b/src/plugins/gfxdrivers/directfb/qdirectfbpaintengine.cpp
@@ -68,9 +68,11 @@ public:
};
enum CompositionModeStatus {
- PorterDuff_None = 0x0,
- PorterDuff_SupportedBlits = 0x1,
- PorterDuff_SupportedPrimitives = 0x2
+ PorterDuff_None = 0x00,
+ PorterDuff_SupportedBlits = 0x01,
+ PorterDuff_SupportedPrimitives = 0x02,
+ PorterDuff_SupportedOpaquePrimitives = 0x04,
+ PorterDuff_Dirty = 0x10
};
enum ClipType {
@@ -95,6 +97,7 @@ public:
inline void unlock();
static inline void unlock(QDirectFBPaintDevice *device);
+ inline bool testCompositionMode(const QPen *pen, const QBrush *brush, const QColor *color = 0) const;
inline bool isSimpleBrush(const QBrush &brush) const;
void drawTiledPixmap(const QRectF &dest, const QPixmap &pixmap, const QPointF &pos);
@@ -404,11 +407,11 @@ void QDirectFBPaintEngine::drawRects(const QRect *rects, int rectCount)
if (brush.style() == Qt::NoBrush && pen.style() == Qt::NoPen)
return;
- if (!(d->compositionModeStatus & QDirectFBPaintEnginePrivate::PorterDuff_SupportedPrimitives)
- || (d->transformationType & QDirectFBPaintEnginePrivate::Matrix_RectsUnsupported)
+ if ((d->transformationType & QDirectFBPaintEnginePrivate::Matrix_RectsUnsupported)
|| !d->simplePen
|| d->clipType == QDirectFBPaintEnginePrivate::ComplexClip
- || !d->isSimpleBrush(brush)) {
+ || !d->isSimpleBrush(brush)
+ || !d->testCompositionMode(&pen, &brush)) {
RASTERFALLBACK(DRAW_RECTS, rectCount, VOID_ARG(), VOID_ARG());
d->lock();
QRasterPaintEngine::drawRects(rects, rectCount);
@@ -434,11 +437,11 @@ void QDirectFBPaintEngine::drawRects(const QRectF *rects, int rectCount)
if (brush.style() == Qt::NoBrush && pen.style() == Qt::NoPen)
return;
- if (!(d->compositionModeStatus & QDirectFBPaintEnginePrivate::PorterDuff_SupportedPrimitives)
- || (d->transformationType & QDirectFBPaintEnginePrivate::Matrix_RectsUnsupported)
+ if ((d->transformationType & QDirectFBPaintEnginePrivate::Matrix_RectsUnsupported)
|| !d->simplePen
|| d->clipType == QDirectFBPaintEnginePrivate::ComplexClip
- || !d->isSimpleBrush(brush)) {
+ || !d->isSimpleBrush(brush)
+ || !d->testCompositionMode(&pen, &brush)) {
RASTERFALLBACK(DRAW_RECTS, rectCount, VOID_ARG(), VOID_ARG());
d->lock();
QRasterPaintEngine::drawRects(rects, rectCount);
@@ -460,16 +463,16 @@ void QDirectFBPaintEngine::drawLines(const QLine *lines, int lineCount)
{
Q_D(QDirectFBPaintEngine);
- if (!(d->compositionModeStatus & QDirectFBPaintEnginePrivate::PorterDuff_SupportedPrimitives)
- || !d->simplePen
- || d->clipType == QDirectFBPaintEnginePrivate::ComplexClip) {
+ const QPen &pen = state()->pen;
+ if (!d->simplePen
+ || d->clipType == QDirectFBPaintEnginePrivate::ComplexClip
+ || !d->testCompositionMode(&pen, 0)) {
RASTERFALLBACK(DRAW_LINES, lineCount, VOID_ARG(), VOID_ARG());
d->lock();
QRasterPaintEngine::drawLines(lines, lineCount);
return;
}
- const QPen &pen = state()->pen;
if (pen.style() != Qt::NoPen) {
d->setDFBColor(pen.color());
CLIPPED_PAINT(QT_PREPEND_NAMESPACE(drawLines<QLine>)(lines, lineCount, state()->matrix, d->surface));
@@ -480,16 +483,16 @@ void QDirectFBPaintEngine::drawLines(const QLineF *lines, int lineCount)
{
Q_D(QDirectFBPaintEngine);
- if (!(d->compositionModeStatus & QDirectFBPaintEnginePrivate::PorterDuff_SupportedPrimitives)
- || !d->simplePen
- || d->clipType == QDirectFBPaintEnginePrivate::ComplexClip) {
+ const QPen &pen = state()->pen;
+ if (!d->simplePen
+ || d->clipType == QDirectFBPaintEnginePrivate::ComplexClip
+ || !d->testCompositionMode(&pen, 0)) {
RASTERFALLBACK(DRAW_LINES, lineCount, VOID_ARG(), VOID_ARG());
d->lock();
QRasterPaintEngine::drawLines(lines, lineCount);
return;
}
- const QPen &pen = state()->pen;
if (pen.style() != Qt::NoPen) {
d->setDFBColor(pen.color());
CLIPPED_PAINT(QT_PREPEND_NAMESPACE(drawLines<QLineF>)(lines, lineCount, state()->matrix, d->surface));
@@ -714,8 +717,8 @@ void QDirectFBPaintEngine::fillRect(const QRectF &rect, const QBrush &brush)
if (d->clipType != QDirectFBPaintEnginePrivate::ComplexClip) {
switch (brush.style()) {
case Qt::SolidPattern: {
- if (!(d->compositionModeStatus & QDirectFBPaintEnginePrivate::PorterDuff_SupportedPrimitives)
- || (d->transformationType & QDirectFBPaintEnginePrivate::Matrix_RectsUnsupported)) {
+ if (d->transformationType & QDirectFBPaintEnginePrivate::Matrix_RectsUnsupported
+ || !d->testCompositionMode(0, &brush)) {
break;
}
const QColor color = brush.color();
@@ -753,9 +756,9 @@ void QDirectFBPaintEngine::fillRect(const QRectF &rect, const QColor &color)
if (!color.isValid())
return;
Q_D(QDirectFBPaintEngine);
- if (!(d->compositionModeStatus & QDirectFBPaintEnginePrivate::PorterDuff_SupportedPrimitives)
- || (d->transformationType & QDirectFBPaintEnginePrivate::Matrix_RectsUnsupported)
- || d->clipType == QDirectFBPaintEnginePrivate::ComplexClip) {
+ if ((d->transformationType & QDirectFBPaintEnginePrivate::Matrix_RectsUnsupported)
+ || d->clipType == QDirectFBPaintEnginePrivate::ComplexClip
+ || !d->testCompositionMode(0, 0, &color)) {
RASTERFALLBACK(FILL_RECT, rect, color, VOID_ARG());
d->lock();
QRasterPaintEngine::fillRect(rect, color);
@@ -815,6 +818,36 @@ bool QDirectFBPaintEnginePrivate::isSimpleBrush(const QBrush &brush) const
return (brush.style() == Qt::NoBrush) || (brush.style() == Qt::SolidPattern && !antialiased);
}
+bool QDirectFBPaintEnginePrivate::testCompositionMode(const QPen *pen, const QBrush *brush, const QColor *color) const
+{
+ Q_ASSERT(!pen || pen->style() == Qt::NoPen || pen->style() == Qt::SolidLine);
+ Q_ASSERT(!brush || brush->style() == Qt::NoBrush || brush->style() == Qt::SolidPattern);
+ switch (compositionModeStatus & (QDirectFBPaintEnginePrivate::PorterDuff_SupportedOpaquePrimitives
+ |QDirectFBPaintEnginePrivate::PorterDuff_SupportedPrimitives)) {
+ case QDirectFBPaintEnginePrivate::PorterDuff_SupportedPrimitives:
+ return true;
+ case QDirectFBPaintEnginePrivate::PorterDuff_SupportedOpaquePrimitives:
+ if (pen && pen->style() == Qt::SolidLine && pen->color().alpha() != 255)
+ return false;
+ if (brush) {
+ if (brush->style() == Qt::SolidPattern && brush->color().alpha() != 255) {
+ return false;
+ }
+ } else if (color && color->alpha() != 255) {
+ return false;
+ }
+ return true;
+ case QDirectFBPaintEnginePrivate::PorterDuff_None:
+ return false;
+ default:
+ // ### PorterDuff_SupportedOpaquePrimitives|PorterDuff_SupportedPrimitives can't be combined
+ break;
+ }
+ Q_ASSERT(0);
+ return false;
+}
+
+
void QDirectFBPaintEnginePrivate::lock()
{
// We will potentially get a new pointer to the buffer after a
@@ -888,6 +921,7 @@ void QDirectFBPaintEnginePrivate::setCompositionMode(QPainter::CompositionMode m
break;
case QPainter::CompositionMode_Source:
surface->SetPorterDuff(surface, DSPD_SRC);
+ compositionModeStatus |= PorterDuff_SupportedOpaquePrimitives;
break;
case QPainter::CompositionMode_SourceOver:
compositionModeStatus |= PorterDuff_SupportedPrimitives;
@@ -945,6 +979,9 @@ void QDirectFBPaintEnginePrivate::prepareForBlit(bool alpha)
}
surface->SetColor(surface, 0xff, 0xff, 0xff, opacity);
surface->SetBlittingFlags(surface, blittingFlags);
+ if (compositionModeStatus & PorterDuff_Dirty) {
+ setCompositionMode(q->state()->composition_mode);
+ }
}
static inline uint ALPHA_MUL(uint x, uint a)
@@ -962,6 +999,7 @@ void QDirectFBPaintEnginePrivate::setDFBColor(const QColor &color)
surface->SetColor(surface, color.red(), color.green(), color.blue(), alpha);
surface->SetPorterDuff(surface, DSPD_NONE);
surface->SetDrawingFlags(surface, alpha == 255 ? DSDRAW_NOFX : DSDRAW_BLEND);
+ compositionModeStatus |= PorterDuff_Dirty;
}
IDirectFBSurface *QDirectFBPaintEnginePrivate::getSurface(const QImage &img, bool *release)
diff --git a/src/plugins/gfxdrivers/qvfb/main.cpp b/src/plugins/gfxdrivers/qvfb/main.cpp
index bcaecab..beca37e 100644
--- a/src/plugins/gfxdrivers/qvfb/main.cpp
+++ b/src/plugins/gfxdrivers/qvfb/main.cpp
@@ -43,6 +43,7 @@
#include <qscreenvfb_qws.h>
#include <qstringlist.h>
+#ifndef QT_NO_LIBRARY
QT_BEGIN_NAMESPACE
class ScreenVfbDriver : public QScreenDriverPlugin
@@ -78,3 +79,4 @@ Q_EXPORT_STATIC_PLUGIN(ScreenVfbDriver)
Q_EXPORT_PLUGIN2(qscreenvfb, ScreenVfbDriver)
QT_END_NAMESPACE
+#endif //QT_NO_LIBRARY
diff --git a/src/plugins/gfxdrivers/transformed/main.cpp b/src/plugins/gfxdrivers/transformed/main.cpp
index 982882e..a9ff97d 100644
--- a/src/plugins/gfxdrivers/transformed/main.cpp
+++ b/src/plugins/gfxdrivers/transformed/main.cpp
@@ -42,7 +42,7 @@
#include <qscreendriverplugin_qws.h>
#include <qscreentransformed_qws.h>
#include <qstringlist.h>
-
+#ifndef QT_NO_LIBRARY
QT_BEGIN_NAMESPACE
class GfxTransformedDriver : public QScreenDriverPlugin
@@ -68,9 +68,12 @@ QStringList GfxTransformedDriver::keys() const
QScreen* GfxTransformedDriver::create(const QString& driver, int displayId)
{
+#ifndef QT_NO_QWS_TRANSFORMED
if (driver.toLower() == "transformed")
return new QTransformedScreen(displayId);
-
+#else //QT_NO_QWS_TRANSFORMED
+ printf("QT buildt with QT_NO_QWS_TRANSFORMED. No screen driver returned\n");
+#endif //QT_NO_QWS_TRANSFORMED
return 0;
}
@@ -78,3 +81,4 @@ Q_EXPORT_STATIC_PLUGIN(GfxTransformedDriver)
Q_EXPORT_PLUGIN2(qgfxtransformed, GfxTransformedDriver)
QT_END_NAMESPACE
+#endif //QT_NO_LIBRARY
diff --git a/src/plugins/gfxdrivers/vnc/main.cpp b/src/plugins/gfxdrivers/vnc/main.cpp
index aa20d11..58c8c25 100644
--- a/src/plugins/gfxdrivers/vnc/main.cpp
+++ b/src/plugins/gfxdrivers/vnc/main.cpp
@@ -43,6 +43,7 @@
#include <qscreenvnc_qws.h>
#include <qstringlist.h>
+#ifndef QT_NO_LIBRARY
QT_BEGIN_NAMESPACE
class GfxVncDriver : public QScreenDriverPlugin
@@ -68,9 +69,12 @@ QStringList GfxVncDriver::keys() const
QScreen* GfxVncDriver::create(const QString& driver, int displayId)
{
+#ifndef QT_NO_QWS_VNC
if (driver.toLower() == "vnc")
return new QVNCScreen(displayId);
-
+#else //QT_NO_QWS_VNC
+ printf("QT buildt with QT_NO_QWS_VNC. No screen driver returned\n");
+#endif //QT_NO_QWS_VNC
return 0;
}
@@ -78,3 +82,5 @@ Q_EXPORT_STATIC_PLUGIN(GfxVncDriver)
Q_EXPORT_PLUGIN2(qgfxvnc, GfxVncDriver)
QT_END_NAMESPACE
+
+#endif //QT_NO_LIBRARY
diff --git a/src/plugins/graphicssystems/graphicssystems.pro b/src/plugins/graphicssystems/graphicssystems.pro
index 14e3cfc..0788933 100644
--- a/src/plugins/graphicssystems/graphicssystems.pro
+++ b/src/plugins/graphicssystems/graphicssystems.pro
@@ -1,6 +1,6 @@
TEMPLATE = subdirs
SUBDIRS += trace
-contains(QT_CONFIG, opengl):SUBDIRS += opengl
+!wince*:contains(QT_CONFIG, opengl):SUBDIRS += opengl
contains(QT_CONFIG, openvg):contains(QT_CONFIG, egl):SUBDIRS += openvg
contains(QT_CONFIG, shivavg) {
diff --git a/src/plugins/graphicssystems/openvg/openvg.pro b/src/plugins/graphicssystems/openvg/openvg.pro
index d36570c..781cdc4 100644
--- a/src/plugins/graphicssystems/openvg/openvg.pro
+++ b/src/plugins/graphicssystems/openvg/openvg.pro
@@ -10,3 +10,5 @@ HEADERS = qgraphicssystem_vg_p.h
target.path += $$[QT_INSTALL_PLUGINS]/graphicssystems
INSTALLS += target
+
+symbian: TARGET.UID3 = 0x2001E62C
diff --git a/src/plugins/phonon/mmf/plugin/plugin.pro b/src/plugins/phonon/mmf/plugin/plugin.pro
index eb7fd27..8a7de98 100644
--- a/src/plugins/phonon/mmf/plugin/plugin.pro
+++ b/src/plugins/phonon/mmf/plugin/plugin.pro
@@ -26,6 +26,7 @@ HEADERS += \
$$PHONON_MMF_DIR/abstractaudioeffect.h \
$$PHONON_MMF_DIR/abstractmediaplayer.h \
$$PHONON_MMF_DIR/abstractplayer.h \
+ $$PHONON_MMF_DIR/ancestormovemonitor.h \
$$PHONON_MMF_DIR/audiooutput.h \
$$PHONON_MMF_DIR/audioequalizer.h \
$$PHONON_MMF_DIR/audioplayer.h \
@@ -47,6 +48,7 @@ SOURCES += \
$$PHONON_MMF_DIR/abstractaudioeffect.cpp \
$$PHONON_MMF_DIR/abstractmediaplayer.cpp \
$$PHONON_MMF_DIR/abstractplayer.cpp \
+ $$PHONON_MMF_DIR/ancestormovemonitor.cpp \
$$PHONON_MMF_DIR/audiooutput.cpp \
$$PHONON_MMF_DIR/audioequalizer.cpp \
$$PHONON_MMF_DIR/audioplayer.cpp \
@@ -67,11 +69,12 @@ debug {
LIBS += -lhal
}
-LIBS += -lmediaclientvideo # For CVideoPlayerUtility
-LIBS += -lcone # For CCoeEnv
-LIBS += -lws32 # For RWindow
-LIBS += -lefsrv # For file server
-LIBS += -lapgrfx -lapmime # For recognizer
+LIBS += -lmediaclientvideo # For CVideoPlayerUtility
+LIBS += -lcone # For CCoeEnv
+LIBS += -lws32 # For RWindow
+LIBS += -lefsrv # For file server
+LIBS += -lapgrfx -lapmime # For recognizer
+LIBS += -lmmfcontrollerframework # For CMMFMetaDataEntry
# These are for effects.
LIBS += -lAudioEqualizerEffect -lBassBoostEffect -lDistanceAttenuationEffect -lDopplerBase -lEffectBase -lEnvironmentalReverbEffect -lListenerDopplerEffect -lListenerLocationEffect -lListenerOrientationEffect -lLocationBase -lLoudnessEffect -lOrientationBase -lSourceDopplerEffect -lSourceLocationEffect -lSourceOrientationEffect -lStereoWideningEffect
diff --git a/src/plugins/s60/src/qlocale_3_1.cpp b/src/plugins/s60/src/qlocale_3_1.cpp
index 0afd10a..beeee7f 100644
--- a/src/plugins/s60/src/qlocale_3_1.cpp
+++ b/src/plugins/s60/src/qlocale_3_1.cpp
@@ -40,23 +40,109 @@
****************************************************************************/
#include <e32std.h>
+#include <e32const.h>
+#include <e32debug.h>
-EXPORT_C void defaultFormatL(TTime&, TDes& des, const TDesC&, const TLocale&)
+_LIT(KYear, "%Y");
+_LIT(KMonth, "%M");
+_LIT(KDay, "%D");
+_LIT(KLocaleIndependent, "%F");
+static TBuf<10> dateFormat;
+static TBuf<10> timeFormat;
+
+static void initialiseDateFormat()
+{
+ if(dateFormat.Length())
+ return;
+
+ TLocale locale;
+
+ //Separator 1 is used between 1st and 2nd components of the date
+ //Separator 2 is used between 2nd and 3rd components of the date
+ //Usually they are the same, but they are allowed to be different
+ TChar s1 = locale.DateSeparator(1);
+ TChar s2 = locale.DateSeparator(2);
+ dateFormat=KLocaleIndependent;
+ switch(locale.DateFormat()) {
+ case EDateAmerican:
+ dateFormat.Append(KMonth);
+ dateFormat.Append(s1);
+ dateFormat.Append(KDay);
+ dateFormat.Append(s2);
+ dateFormat.Append(KYear);
+ break;
+ case EDateEuropean:
+ dateFormat.Append(KDay);
+ dateFormat.Append(s1);
+ dateFormat.Append(KMonth);
+ dateFormat.Append(s2);
+ dateFormat.Append(KYear);
+ break;
+ case EDateJapanese:
+ default: //it's closest to ISO format
+ dateFormat.Append(KYear);
+ dateFormat.Append(s1);
+ dateFormat.Append(KMonth);
+ dateFormat.Append(s2);
+ dateFormat.Append(KDay);
+ break;
+ }
+#ifdef _DEBUG
+ RDebug::Print(_L("Date Format \"%S\""), &dateFormat);
+#endif
+}
+
+static void initialiseTimeFormat()
+{
+ if(timeFormat.Length())
+ return;
+
+ TLocale locale;
+ //Separator 1 is used between 1st and 2nd components of the time
+ //Separator 2 is used between 2nd and 3rd components of the time
+ //Usually they are the same, but they are allowed to be different
+ TChar s1 = locale.TimeSeparator(1);
+ TChar s2 = locale.TimeSeparator(2);
+ switch(locale.TimeFormat()) {
+ case ETime12:
+ timeFormat.Append(_L("%I"));
+ break;
+ case ETime24:
+ default:
+ timeFormat.Append(_L("%H"));
+ break;
+ }
+ timeFormat.Append(s1);
+ timeFormat.Append(_L("%T"));
+ timeFormat.Append(s2);
+ timeFormat.Append(_L("%S"));
+
+#ifdef _DEBUG
+ RDebug::Print(_L("Time Format \"%S\""), &timeFormat);
+#endif
+}
+
+EXPORT_C void defaultFormatL(TTime& time, TDes& des, const TDesC& fmt, const TLocale&)
{
- des.Zero();
+ //S60 3.1 does not support format for a specific locale, so use default locale
+ time.FormatL(des, fmt);
}
+//S60 3.1 doesn't support extended locale date&time formats, so use default locale
EXPORT_C TPtrC defaultGetTimeFormatSpec(TExtendedLocale&)
{
- return TPtrC(KNullDesC);
+ initialiseTimeFormat();
+ return TPtrC(timeFormat);
}
EXPORT_C TPtrC defaultGetLongDateFormatSpec(TExtendedLocale&)
{
- return TPtrC(KNullDesC);
+ initialiseDateFormat();
+ return TPtrC(dateFormat);
}
EXPORT_C TPtrC defaultGetShortDateFormatSpec(TExtendedLocale&)
{
- return TPtrC(KNullDesC);
+ initialiseDateFormat();
+ return TPtrC(dateFormat);
}
diff --git a/src/plugins/sqldrivers/sqlite_symbian/sqlite_symbian.pro b/src/plugins/sqldrivers/sqlite_symbian/sqlite_symbian.pro
index 4734144..158633d 100644
--- a/src/plugins/sqldrivers/sqlite_symbian/sqlite_symbian.pro
+++ b/src/plugins/sqldrivers/sqlite_symbian/sqlite_symbian.pro
@@ -1,5 +1,7 @@
# Use subdirs template to suppress generation of unnecessary files
TEMPLATE = subdirs
-# We just want to extract the zip file containing sqlite binaries for Symbian
-BLD_INF_RULES.prj_exports += ":zip SQLite3_v9.2.zip"
+# We just want to export the sqlite3 binaries for Symbian for platforms that do not have them.
+!exists($${EPOCROOT}epoc32/release/armv5/lib/sqlite3.dso) {
+ BLD_INF_RULES.prj_exports += ":zip SQLite3_v9.2.zip"
+}
diff --git a/src/qt3support/widgets/q3dockarea.cpp b/src/qt3support/widgets/q3dockarea.cpp
index afeefff..bb34622 100644
--- a/src/qt3support/widgets/q3dockarea.cpp
+++ b/src/qt3support/widgets/q3dockarea.cpp
@@ -1019,6 +1019,7 @@ void Q3DockArea::lineUp(bool keepNewLines)
if (!keepNewLines)
dw->setNewLine(false);
}
+ layout->invalidate();
layout->activate();
}
diff --git a/src/qt3support/widgets/q3dockwindow.cpp b/src/qt3support/widgets/q3dockwindow.cpp
index 46ad86c..80d30c4 100644
--- a/src/qt3support/widgets/q3dockwindow.cpp
+++ b/src/qt3support/widgets/q3dockwindow.cpp
@@ -409,7 +409,7 @@ Q3DockWindowHandle::Q3DockWindowHandle(Q3DockWindow *dw)
ctrlDown = false;
timer = new QTimer(this);
connect(timer, SIGNAL(timeout()), this, SLOT(minimize()));
-#ifdef Q_WS_WIN
+#if defined(Q_WS_WIN) && !defined(QT_NO_CURSOR)
setCursor(Qt::SizeAllCursor);
#endif
}
diff --git a/src/s60installs/bwins/QtCoreu.def b/src/s60installs/bwins/QtCoreu.def
new file mode 100644
index 0000000..9d3db41
--- /dev/null
+++ b/src/s60installs/bwins/QtCoreu.def
@@ -0,0 +1,4383 @@
+EXPORTS
+ adler32 @ 1 NONAME
+ compress @ 2 NONAME
+ compress2 @ 3 NONAME
+ crc32 @ 4 NONAME
+ deflate @ 5 NONAME
+ deflateCopy @ 6 NONAME
+ deflateEnd @ 7 NONAME
+ deflateInit2_ @ 8 NONAME
+ deflateInit_ @ 9 NONAME
+ deflateParams @ 10 NONAME
+ deflateReset @ 11 NONAME
+ deflateSetDictionary @ 12 NONAME
+ get_crc_table @ 13 NONAME
+ gzclose @ 14 NONAME
+ gzdopen @ 15 NONAME
+ gzeof @ 16 NONAME
+ gzerror @ 17 NONAME
+ gzflush @ 18 NONAME
+ gzgetc @ 19 NONAME
+ gzgets @ 20 NONAME
+ gzopen @ 21 NONAME
+ gzprintf @ 22 NONAME
+ gzputc @ 23 NONAME
+ gzputs @ 24 NONAME
+ gzread @ 25 NONAME
+ gzrewind @ 26 NONAME
+ gzseek @ 27 NONAME
+ gzsetparams @ 28 NONAME
+ gztell @ 29 NONAME
+ gzwrite @ 30 NONAME
+ inflate @ 31 NONAME
+ inflateEnd @ 32 NONAME
+ inflateInit2_ @ 33 NONAME
+ inflateInit_ @ 34 NONAME
+ inflateReset @ 35 NONAME
+ inflateSetDictionary @ 36 NONAME
+ inflateSync @ 37 NONAME
+ inflateSyncPoint @ 38 NONAME
+ qt_addObject @ 39 NONAME
+ qt_removeObject @ 40 NONAME
+ qt_startup_hook @ 41 NONAME
+ uncompress @ 42 NONAME
+ zError @ 43 NONAME
+ zlibVersion @ 44 NONAME
+ ?sort@QAbstractItemModel@@UAEXHW4SortOrder@Qt@@@Z @ 45 NONAME ; void QAbstractItemModel::sort(int, enum Qt::SortOrder)
+ ?trUtf8@QAbstractState@@SA?AVQString@@PBD0H@Z @ 46 NONAME ; class QString QAbstractState::trUtf8(char const *, char const *, int)
+ ?fromUcs4@QString@@SA?AV1@PBIH@Z @ 47 NONAME ; class QString QString::fromUcs4(unsigned int const *, int)
+ ?addMSecs@QDateTime@@QBE?AV1@_J@Z @ 48 NONAME ; class QDateTime QDateTime::addMSecs(long long) const
+ ?metaObject@QMimeData@@UBEPBUQMetaObject@@XZ @ 49 NONAME ; struct QMetaObject const * QMimeData::metaObject(void) const
+ ?encodedPath@QUrl@@QBE?AVQByteArray@@XZ @ 50 NONAME ; class QByteArray QUrl::encodedPath(void) const
+ ?trUtf8@QPluginLoader@@SA?AVQString@@PBD0H@Z @ 51 NONAME ; class QString QPluginLoader::trUtf8(char const *, char const *, int)
+ ?tr@QFile@@SA?AVQString@@PBD0@Z @ 52 NONAME ; class QString QFile::tr(char const *, char const *)
+ ?begin@QByteArray@@QAEPADXZ @ 53 NONAME ; char * QByteArray::begin(void)
+ ?systemId@QXmlStreamNotationDeclaration@@QBE?AVQStringRef@@XZ @ 54 NONAME ; class QStringRef QXmlStreamNotationDeclaration::systemId(void) const
+ ?isFetchAndAddNative@QBasicAtomicInt@@SA_NXZ @ 55 NONAME ; bool QBasicAtomicInt::isFetchAndAddNative(void)
+ ??NQString@@QBE_NABV0@@Z @ 56 NONAME ; bool QString::operator<=(class QString const &) const
+ ?setEncodedUrl@QUrl@@QAEXABVQByteArray@@@Z @ 57 NONAME ; void QUrl::setEncodedUrl(class QByteArray const &)
+ ?loopCount@QTimeLine@@QBEHXZ @ 58 NONAME ; int QTimeLine::loopCount(void) const
+ ?fileTime@QAbstractFileEngine@@UBE?AVQDateTime@@W4FileTime@1@@Z @ 59 NONAME ; class QDateTime QAbstractFileEngine::fileTime(enum QAbstractFileEngine::FileTime) const
+ ?writeCharacters@QXmlStreamWriter@@QAEXABVQString@@@Z @ 60 NONAME ; void QXmlStreamWriter::writeCharacters(class QString const &)
+ ?qt_metacast@QTimeLine@@UAEPAXPBD@Z @ 61 NONAME ; void * QTimeLine::qt_metacast(char const *)
+ ??1QEventTransitionPrivate@@UAE@XZ @ 62 NONAME ; QEventTransitionPrivate::~QEventTransitionPrivate(void)
+ ?isComment@QXmlStreamReader@@QBE_NXZ @ 63 NONAME ; bool QXmlStreamReader::isComment(void) const
+ ?tr@QAbstractTableModel@@SA?AVQString@@PBD0@Z @ 64 NONAME ; class QString QAbstractTableModel::tr(char const *, char const *)
+ ?shortMonthName@QDate@@SA?AVQString@@H@Z @ 65 NONAME ; class QString QDate::shortMonthName(int)
+ ?toString@QLocale@@QBE?AVQString@@H@Z @ 66 NONAME ; class QString QLocale::toString(int) const
+ ??0QAbstractState@@IAE@PAVQState@@@Z @ 67 NONAME ; QAbstractState::QAbstractState(class QState *)
+ ?d_func@QSequentialAnimationGroup@@AAEPAVQSequentialAnimationGroupPrivate@@XZ @ 68 NONAME ; class QSequentialAnimationGroupPrivate * QSequentialAnimationGroup::d_func(void)
+ ??0QString@@QAE@ABVQByteArray@@@Z @ 69 NONAME ; QString::QString(class QByteArray const &)
+ ?numCaptures@QRegExp@@QBEHXZ @ 70 NONAME ; int QRegExp::numCaptures(void) const
+ ?setNumberFlags@QTextStream@@QAEXV?$QFlags@W4NumberFlag@QTextStream@@@@@Z @ 71 NONAME ; void QTextStream::setNumberFlags(class QFlags<enum QTextStream::NumberFlag>)
+ ?setDefaultState@QHistoryState@@QAEXPAVQAbstractState@@@Z @ 72 NONAME ; void QHistoryState::setDefaultState(class QAbstractState *)
+ ?qt_metacall@QAbstractItemModel@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 73 NONAME ; int QAbstractItemModel::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?getMinimum@QDateTimeParser@@UBE?AVQDateTime@@XZ @ 74 NONAME ; class QDateTime QDateTimeParser::getMinimum(void) const
+ ?isInFinalState@QStateMachinePrivate@@QBE_NPAVQAbstractState@@@Z @ 75 NONAME ; bool QStateMachinePrivate::isInFinalState(class QAbstractState *) const
+ ?floatingPointPrecision@QDataStream@@QBE?AW4FloatingPointPrecision@1@XZ @ 76 NONAME ; enum QDataStream::FloatingPointPrecision QDataStream::floatingPointPrecision(void) const
+ ?currentDate@QDate@@SA?AV1@XZ @ 77 NONAME ; class QDate QDate::currentDate(void)
+ ?acquire@QSemaphore@@QAEXH@Z @ 78 NONAME ; void QSemaphore::acquire(int)
+ ?addStatesToEnter@QStateMachinePrivate@@QAEXPAVQAbstractState@@PAVQState@@AAV?$QSet@PAVQAbstractState@@@@2@Z @ 79 NONAME ; void QStateMachinePrivate::addStatesToEnter(class QAbstractState *, class QState *, class QSet<class QAbstractState *> &, class QSet<class QAbstractState *> &)
+ ?isReferenceCountingWaitFree@QBasicAtomicInt@@SA_NXZ @ 80 NONAME ; bool QBasicAtomicInt::isReferenceCountingWaitFree(void)
+ ?inherits@QObject@@QBE_NPBD@Z @ 81 NONAME ; bool QObject::inherits(char const *) const
+ ?pos@QRegExp@@QAEHH@Z @ 82 NONAME ; int QRegExp::pos(int)
+ ??8QString@@QBE_NABVQLatin1String@@@Z @ 83 NONAME ; bool QString::operator==(class QLatin1String const &) const
+ ?rowsAboutToBeInserted@QAbstractItemModel@@AAEXABVQModelIndex@@HH@Z @ 84 NONAME ; void QAbstractItemModel::rowsAboutToBeInserted(class QModelIndex const &, int, int)
+ ?decodeData@QAbstractItemModel@@IAE_NHHABVQModelIndex@@AAVQDataStream@@@Z @ 85 NONAME ; bool QAbstractItemModel::decodeData(int, int, class QModelIndex const &, class QDataStream &)
+ ?findAmPm@QDateTimeParser@@QBEHAAVQString@@HPAH@Z @ 86 NONAME ; int QDateTimeParser::findAmPm(class QString &, int, int *) const
+ ??YQSizeF@@QAEAAV0@ABV0@@Z @ 87 NONAME ; class QSizeF & QSizeF::operator+=(class QSizeF const &)
+ ??0QEventTransition@@QAE@PAVQState@@@Z @ 88 NONAME ; QEventTransition::QEventTransition(class QState *)
+ ?qGetCharAttributes@@YAXPBGIPBUHB_ScriptItem@@IPAUHB_CharAttributes@@@Z @ 89 NONAME ; void qGetCharAttributes(unsigned short const *, unsigned int, struct HB_ScriptItem const *, unsigned int, struct HB_CharAttributes *)
+ ??1QAbstractDynamicMetaObject@@UAE@XZ @ 90 NONAME ; QAbstractDynamicMetaObject::~QAbstractDynamicMetaObject(void)
+ ??0QAbstractListModel@@QAE@PAVQObject@@@Z @ 91 NONAME ; QAbstractListModel::QAbstractListModel(class QObject *)
+ ?tr@QSequentialAnimationGroup@@SA?AVQString@@PBD0H@Z @ 92 NONAME ; class QString QSequentialAnimationGroup::tr(char const *, char const *, int)
+ ?constData@QStringRef@@QBEPBVQChar@@XZ @ 93 NONAME ; class QChar const * QStringRef::constData(void) const
+ ??0QPluginLoader@@QAE@ABVQString@@PAVQObject@@@Z @ 94 NONAME ; QPluginLoader::QPluginLoader(class QString const &, class QObject *)
+ ?qIsFinite@@YA_NN@Z @ 95 NONAME ; bool qIsFinite(double)
+ ?isValid@QTextBoundaryFinder@@QBE_NXZ @ 96 NONAME ; bool QTextBoundaryFinder::isValid(void) const
+ ??0QMetaEnum@@QAE@XZ @ 97 NONAME ; QMetaEnum::QMetaEnum(void)
+ ?isLetter@QChar@@QBE_NXZ @ 98 NONAME ; bool QChar::isLetter(void) const
+ ?invoke@QMetaMethod@@QBE_NPAVQObject@@VQGenericArgument@@111111111@Z @ 99 NONAME ; bool QMetaMethod::invoke(class QObject *, class QGenericArgument, class QGenericArgument, class QGenericArgument, class QGenericArgument, class QGenericArgument, class QGenericArgument, class QGenericArgument, class QGenericArgument, class QGenericArgument, class QGenericArgument) const
+ ?toPercentEncoding@QUrl@@SA?AVQByteArray@@ABVQString@@ABV2@1@Z @ 100 NONAME ; class QByteArray QUrl::toPercentEncoding(class QString const &, class QByteArray const &, class QByteArray const &)
+ ?hasAttribute@QXmlStreamAttributes@@QBE_NABVQLatin1String@@@Z @ 101 NONAME ; bool QXmlStreamAttributes::hasAttribute(class QLatin1String const &) const
+ ?section@QString@@QBE?AV1@VQChar@@HHV?$QFlags@W4SectionFlag@QString@@@@@Z @ 102 NONAME ; class QString QString::section(class QChar, int, int, class QFlags<enum QString::SectionFlag>) const
+ ?replace@QString@@QAEAAV1@ABVQLatin1String@@0W4CaseSensitivity@Qt@@@Z @ 103 NONAME ; class QString & QString::replace(class QLatin1String const &, class QLatin1String const &, enum Qt::CaseSensitivity)
+ ?prefix@QXmlStreamReader@@QBE?AVQStringRef@@XZ @ 104 NONAME ; class QStringRef QXmlStreamReader::prefix(void) const
+ ?setP1@QLineF@@QAEXABVQPointF@@@Z @ 105 NONAME ; void QLineF::setP1(class QPointF const &)
+ ?executeTransitionContent@QStateMachinePrivate@@QAEXPAVQEvent@@ABV?$QList@PAVQAbstractTransition@@@@@Z @ 106 NONAME ; void QStateMachinePrivate::executeTransitionContent(class QEvent *, class QList<class QAbstractTransition *> const &)
+ ?ignore@QEvent@@QAEXXZ @ 107 NONAME ; void QEvent::ignore(void)
+ ?tr@QAbstractAnimation@@SA?AVQString@@PBD0@Z @ 108 NONAME ; class QString QAbstractAnimation::tr(char const *, char const *)
+ ?finished@QProcess@@IAEXH@Z @ 109 NONAME ; void QProcess::finished(int)
+ ?setPaused@QTimeLine@@QAEX_N@Z @ 110 NONAME ; void QTimeLine::setPaused(bool)
+ ?d_func@QTranslator@@AAEPAVQTranslatorPrivate@@XZ @ 111 NONAME ; class QTranslatorPrivate * QTranslator::d_func(void)
+ ??6QTextStream@@QAEAAV0@I@Z @ 112 NONAME ; class QTextStream & QTextStream::operator<<(unsigned int)
+ ?capacity@QString@@QBEHXZ @ 113 NONAME ; int QString::capacity(void) const
+ ??0QVariant@@QAE@ABVQPoint@@@Z @ 114 NONAME ; QVariant::QVariant(class QPoint const &)
+ ?isExtender@QXmlUtils@@CA_NVQChar@@@Z @ 115 NONAME ; bool QXmlUtils::isExtender(class QChar)
+ ?intersect@QRectF@@QBE?AV1@ABV1@@Z @ 116 NONAME ; class QRectF QRectF::intersect(class QRectF const &) const
+ ?boundaryReasons@QTextBoundaryFinder@@QBE?AV?$QFlags@W4BoundaryReason@QTextBoundaryFinder@@@@XZ @ 117 NONAME ; class QFlags<enum QTextBoundaryFinder::BoundaryReason> QTextBoundaryFinder::boundaryReasons(void) const
+ ??YQByteArray@@QAEAAV0@D@Z @ 118 NONAME ; class QByteArray & QByteArray::operator+=(char)
+ ?elapsed@QTime@@QBEHXZ @ 119 NONAME ; int QTime::elapsed(void) const
+ ?groupId@QFileInfo@@QBEIXZ @ 120 NONAME ; unsigned int QFileInfo::groupId(void) const
+ ?metaObject@QStateMachine@@UBEPBUQMetaObject@@XZ @ 121 NONAME ; struct QMetaObject const * QStateMachine::metaObject(void) const
+ ?rwidth@QSize@@QAEAAHXZ @ 122 NONAME ; int & QSize::rwidth(void)
+ ?type@QEasingCurve@@QBE?AW4Type@1@XZ @ 123 NONAME ; enum QEasingCurve::Type QEasingCurve::type(void) const
+ ?arguments@QCoreApplication@@SA?AVQStringList@@XZ @ 124 NONAME ; class QStringList QCoreApplication::arguments(void)
+ ?number@QByteArray@@SA?AV1@IH@Z @ 125 NONAME ; class QByteArray QByteArray::number(unsigned int, int)
+ ?indexOfMethod@QMetaObject@@QBEHPBD@Z @ 126 NONAME ; int QMetaObject::indexOfMethod(char const *) const
+ ??4QLocale@@QAEAAV0@ABV0@@Z @ 127 NONAME ; class QLocale & QLocale::operator=(class QLocale const &)
+ ??1QXmlStreamNotationDeclaration@@QAE@XZ @ 128 NONAME ; QXmlStreamNotationDeclaration::~QXmlStreamNotationDeclaration(void)
+ ??OQDate@@QBE_NABV0@@Z @ 129 NONAME ; bool QDate::operator>(class QDate const &) const
+ ?isDigit@QCharRef@@QBE_NXZ @ 130 NONAME ; bool QCharRef::isDigit(void) const
+ ?staticMetaObject@QObjectCleanupHandler@@2UQMetaObject@@B @ 131 NONAME ; struct QMetaObject const QObjectCleanupHandler::staticMetaObject
+ ?qt_metacall@QEventLoop@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 132 NONAME ; int QEventLoop::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?setDigit@QDateTimeParser@@QBE_NAAVQDateTime@@HH@Z @ 133 NONAME ; bool QDateTimeParser::setDigit(class QDateTime &, int, int) const
+ ?rheight@QSize@@QAEAAHXZ @ 134 NONAME ; int & QSize::rheight(void)
+ ?relock@QWriteLocker@@QAEXXZ @ 135 NONAME ; void QWriteLocker::relock(void)
+ ?toLong@QByteArray@@QBEJPA_NH@Z @ 136 NONAME ; long QByteArray::toLong(bool *, int) const
+ ??8QFileInfo@@QBE_NABV0@@Z @ 137 NONAME ; bool QFileInfo::operator==(class QFileInfo const &) const
+ ?unicodeVersion@QChar@@QBE?AW4UnicodeVersion@1@XZ @ 138 NONAME ; enum QChar::UnicodeVersion QChar::unicodeVersion(void) const
+ ?columnsInserted@QAbstractItemModelPrivate@@QAEXABVQModelIndex@@HH@Z @ 139 NONAME ; void QAbstractItemModelPrivate::columnsInserted(class QModelIndex const &, int, int)
+ ??AQString@@QBE?BVQChar@@I@Z @ 140 NONAME ; class QChar const QString::operator[](unsigned int) const
+ ?setItemData@QAbstractItemModel@@UAE_NABVQModelIndex@@ABV?$QMap@HVQVariant@@@@@Z @ 141 NONAME ; bool QAbstractItemModel::setItemData(class QModelIndex const &, class QMap<int, class QVariant> const &)
+ ?getStaticMetaObject@QEventLoop@@SAABUQMetaObject@@XZ @ 142 NONAME ; struct QMetaObject const & QEventLoop::getStaticMetaObject(void)
+ ?namespaceUri@QXmlStreamReader@@QBE?AVQStringRef@@XZ @ 143 NONAME ; class QStringRef QXmlStreamReader::namespaceUri(void) const
+ ?remove@QAbstractFileEngine@@UAE_NXZ @ 144 NONAME ; bool QAbstractFileEngine::remove(void)
+ ?RequestComplete@QEventDispatcherSymbian@@SAXAAVRThread@@AAPAVTRequestStatus@@H@Z @ 145 NONAME ; void QEventDispatcherSymbian::RequestComplete(class RThread &, class TRequestStatus * &, int)
+ ??BQPersistentModelIndex@@QBEABVQModelIndex@@XZ @ 146 NONAME ; QPersistentModelIndex::operator class QModelIndex const &(void) const
+ ?owner@QFileInfo@@QBE?AVQString@@XZ @ 147 NONAME ; class QString QFileInfo::owner(void) const
+ ?country@QLocale@@QBE?AW4Country@1@XZ @ 148 NONAME ; enum QLocale::Country QLocale::country(void) const
+ ??_EQHistoryState@@UAE@I@Z @ 149 NONAME ; QHistoryState::~QHistoryState(unsigned int)
+ ??8QHBufC@@QBE_NABV0@@Z @ 150 NONAME ; bool QHBufC::operator==(class QHBufC const &) const
+ ??9QDateTime@@QBE_NABV0@@Z @ 151 NONAME ; bool QDateTime::operator!=(class QDateTime const &) const
+ ?trimmed@QByteArray@@QBE?AV1@XZ @ 152 NONAME ; class QByteArray QByteArray::trimmed(void) const
+ ??1QObjectUserData@@UAE@XZ @ 153 NONAME ; QObjectUserData::~QObjectUserData(void)
+ ?event@QAbstractState@@MAE_NPAVQEvent@@@Z @ 154 NONAME ; bool QAbstractState::event(class QEvent *)
+ ?qShapeItem@@YAEPAUHB_ShaperItem@@@Z @ 155 NONAME ; unsigned char qShapeItem(struct HB_ShaperItem *)
+ ??9QLocale@@QBE_NABV0@@Z @ 156 NONAME ; bool QLocale::operator!=(class QLocale const &) const
+ ?started@QThread@@IAEXXZ @ 157 NONAME ; void QThread::started(void)
+ ?postEvent@QStateMachine@@QAEXPAVQEvent@@W4EventPriority@1@@Z @ 158 NONAME ; void QStateMachine::postEvent(class QEvent *, enum QStateMachine::EventPriority)
+ ?destroyed@QObject@@IAEXPAV1@@Z @ 159 NONAME ; void QObject::destroyed(class QObject *)
+ ?metaObject@QIODevice@@UBEPBUQMetaObject@@XZ @ 160 NONAME ; struct QMetaObject const * QIODevice::metaObject(void) const
+ ?getInterpolator@QVariantAnimationPrivate@@SAP6A?AVQVariant@@PBX0M@ZH@Z @ 161 NONAME ; class QVariant (*)(void const *, void const *, float) QVariantAnimationPrivate::getInterpolator(int)
+ ?trUtf8@QAbstractListModel@@SA?AVQString@@PBD0H@Z @ 162 NONAME ; class QString QAbstractListModel::trUtf8(char const *, char const *, int)
+ ?toString@QTime@@QBE?AVQString@@W4DateFormat@Qt@@@Z @ 163 NONAME ; class QString QTime::toString(enum Qt::DateFormat) const
+ ?caseSensitive@QAbstractFileEngine@@UBE_NXZ @ 164 NONAME ; bool QAbstractFileEngine::caseSensitive(void) const
+ ?isLower@QChar@@QBE_NXZ @ 165 NONAME ; bool QChar::isLower(void) const
+ ??_EQPluginLoader@@UAE@I@Z @ 166 NONAME ; QPluginLoader::~QPluginLoader(unsigned int)
+ ?right@QRect@@QBEHXZ @ 167 NONAME ; int QRect::right(void) const
+ ?close@QProcess@@UAEXXZ @ 168 NONAME ; void QProcess::close(void)
+ ??0QVariant@@QAE@ABVQSize@@@Z @ 169 NONAME ; QVariant::QVariant(class QSize const &)
+ ?setOrganizationDomain@QCoreApplication@@SAXABVQString@@@Z @ 170 NONAME ; void QCoreApplication::setOrganizationDomain(class QString const &)
+ ?hasChildren@QAbstractListModel@@EBE_NABVQModelIndex@@@Z @ 171 NONAME ; bool QAbstractListModel::hasChildren(class QModelIndex const &) const
+ ?currentLoopChanged@QAbstractAnimation@@IAEXH@Z @ 172 NONAME ; void QAbstractAnimation::currentLoopChanged(int)
+ ?configuration@QStateMachine@@QBE?AV?$QSet@PAVQAbstractState@@@@XZ @ 173 NONAME ; class QSet<class QAbstractState *> QStateMachine::configuration(void) const
+ ?dx@QLine@@QBEHXZ @ 174 NONAME ; int QLine::dx(void) const
+ ?clear@QMimeData@@QAEXXZ @ 175 NONAME ; void QMimeData::clear(void)
+ ?event@QAbstractAnimation@@MAE_NPAVQEvent@@@Z @ 176 NONAME ; bool QAbstractAnimation::event(class QEvent *)
+ ?create@QNonContiguousByteDeviceFactory@@SAPAVQNonContiguousByteDevice@@PAVQByteArray@@@Z @ 177 NONAME ; class QNonContiguousByteDevice * QNonContiguousByteDeviceFactory::create(class QByteArray *)
+ ??6@YAAAVQDataStream@@AAV0@ABVQString@@@Z @ 178 NONAME ; class QDataStream & operator<<(class QDataStream &, class QString const &)
+ ?filters@QAbstractFileEngineIterator@@QBE?AV?$QFlags@W4Filter@QDir@@@@XZ @ 179 NONAME ; class QFlags<enum QDir::Filter> QAbstractFileEngineIterator::filters(void) const
+ ?simplified@QString@@QBE?AV1@XZ @ 180 NONAME ; class QString QString::simplified(void) const
+ ?toString@QLocale@@QBE?AVQString@@ABVQDate@@ABV2@@Z @ 181 NONAME ; class QString QLocale::toString(class QDate const &, class QString const &) const
+ ?eventDispatcher@QCoreApplicationPrivate@@2PAVQAbstractEventDispatcher@@A @ 182 NONAME ; class QAbstractEventDispatcher * QCoreApplicationPrivate::eventDispatcher
+ ?trUtf8@QTextCodecPlugin@@SA?AVQString@@PBD0@Z @ 183 NONAME ; class QString QTextCodecPlugin::trUtf8(char const *, char const *)
+ ?setNum@QByteArray@@QAEAAV1@IH@Z @ 184 NONAME ; class QByteArray & QByteArray::setNum(unsigned int, int)
+ ?setIdnWhitelist@QUrl@@SAXABVQStringList@@@Z @ 185 NONAME ; void QUrl::setIdnWhitelist(class QStringList const &)
+ ?isSimpleText@QString@@QBE_NXZ @ 186 NONAME ; bool QString::isSimpleText(void) const
+ ?sectionText@QDateTimeParser@@QBE?AVQString@@ABV2@HH@Z @ 187 NONAME ; class QString QDateTimeParser::sectionText(class QString const &, int, int) const
+ ?trUtf8@QParallelAnimationGroup@@SA?AVQString@@PBD0@Z @ 188 NONAME ; class QString QParallelAnimationGroup::trUtf8(char const *, char const *)
+ ?userName@QUrl@@QBE?AVQString@@XZ @ 189 NONAME ; class QString QUrl::userName(void) const
+ ?permissions@QFile@@QBE?AV?$QFlags@W4Permission@QFile@@@@XZ @ 190 NONAME ; class QFlags<enum QFile::Permission> QFile::permissions(void) const
+ ??0QEventTransition@@QAE@PAVQObject@@W4Type@QEvent@@PAVQState@@@Z @ 191 NONAME ; QEventTransition::QEventTransition(class QObject *, enum QEvent::Type, class QState *)
+ ?processEnvironment@QProcess@@QBE?AVQProcessEnvironment@@XZ @ 192 NONAME ; class QProcessEnvironment QProcess::processEnvironment(void) const
+ ?exec@QEventLoop@@QAEHV?$QFlags@W4ProcessEventsFlag@QEventLoop@@@@@Z @ 193 NONAME ; int QEventLoop::exec(class QFlags<enum QEventLoop::ProcessEventsFlag>)
+ ?characterOffset@QXmlStreamReader@@QBE_JXZ @ 194 NONAME ; long long QXmlStreamReader::characterOffset(void) const
+ ?moveTopLeft@QRect@@QAEXABVQPoint@@@Z @ 195 NONAME ; void QRect::moveTopLeft(class QPoint const &)
+ ??_EQEvent@@UAE@I@Z @ 196 NONAME ; QEvent::~QEvent(unsigned int)
+ ?registerRestorable@QStateMachinePrivate@@QAEXPAVQObject@@ABVQByteArray@@@Z @ 197 NONAME ; void QStateMachinePrivate::registerRestorable(class QObject *, class QByteArray const &)
+ ?addExtraNamespaceDeclarations@QXmlStreamReader@@QAEXABV?$QVector@VQXmlStreamNamespaceDeclaration@@@@@Z @ 198 NONAME ; void QXmlStreamReader::addExtraNamespaceDeclarations(class QVector<class QXmlStreamNamespaceDeclaration> const &)
+ ?moveLeft@QRect@@QAEXH@Z @ 199 NONAME ; void QRect::moveLeft(int)
+ ?toLatin1@QChar@@QBEDXZ @ 200 NONAME ; char QChar::toLatin1(void) const
+ ?d_func@QState@@AAEPAVQStatePrivate@@XZ @ 201 NONAME ; class QStatePrivate * QState::d_func(void)
+ ?position@QStringRef@@QBEHXZ @ 202 NONAME ; int QStringRef::position(void) const
+ ?fileName@QDirIterator@@QBE?AVQString@@XZ @ 203 NONAME ; class QString QDirIterator::fileName(void) const
+ ?setFrameRange@QTimeLine@@QAEXHH@Z @ 204 NONAME ; void QTimeLine::setFrameRange(int, int)
+ ?event@QEventTransition@@MAE_NPAVQEvent@@@Z @ 205 NONAME ; bool QEventTransition::event(class QEvent *)
+ ??_EQSharedMemory@@UAE@I@Z @ 206 NONAME ; QSharedMemory::~QSharedMemory(unsigned int)
+ ?qt_metacast@QTextCodecPlugin@@UAEPAXPBD@Z @ 207 NONAME ; void * QTextCodecPlugin::qt_metacast(char const *)
+ ?convertSeparators@QDir@@SA?AVQString@@ABV2@@Z @ 208 NONAME ; class QString QDir::convertSeparators(class QString const &)
+ ?mimeData@QAbstractItemModel@@UBEPAVQMimeData@@ABV?$QList@VQModelIndex@@@@@Z @ 209 NONAME ; class QMimeData * QAbstractItemModel::mimeData(class QList<class QModelIndex> const &) const
+ ??0QPauseAnimation@@QAE@HPAVQObject@@@Z @ 210 NONAME ; QPauseAnimation::QPauseAnimation(int, class QObject *)
+ ??0QVariantAnimation@@QAE@PAVQObject@@@Z @ 211 NONAME ; QVariantAnimation::QVariantAnimation(class QObject *)
+ ?toString@QVariant@@QBE?AVQString@@XZ @ 212 NONAME ; class QString QVariant::toString(void) const
+ ?capacity@QByteArray@@QBEHXZ @ 213 NONAME ; int QByteArray::capacity(void) const
+ ?appendApplicationPathToLibraryPaths@QCoreApplicationPrivate@@QAEXXZ @ 214 NONAME ; void QCoreApplicationPrivate::appendApplicationPathToLibraryPaths(void)
+ ?count@QByteArray@@QBEHABV1@@Z @ 215 NONAME ; int QByteArray::count(class QByteArray const &) const
+ ?sprintf@QString@@QAAAAV1@PBDZZ @ 216 NONAME ; class QString & QString::sprintf(char const *, ...)
+ ?period@QEasingCurve@@QBEMXZ @ 217 NONAME ; float QEasingCurve::period(void) const
+ ?value@QXmlStreamAttributes@@QBE?AVQStringRef@@ABVQString@@0@Z @ 218 NONAME ; class QStringRef QXmlStreamAttributes::value(class QString const &, class QString const &) const
+ ?combiningClass@QCharRef@@QBEEXZ @ 219 NONAME ; unsigned char QCharRef::combiningClass(void) const
+ ?symLinkTarget@QFile@@QBE?AVQString@@XZ @ 220 NONAME ; class QString QFile::symLinkTarget(void) const
+ ?itemData@QAbstractItemModel@@UBE?AV?$QMap@HVQVariant@@@@ABVQModelIndex@@@Z @ 221 NONAME ; class QMap<int, class QVariant> QAbstractItemModel::itemData(class QModelIndex const &) const
+ ?metaObject@QSequentialAnimationGroup@@UBEPBUQMetaObject@@XZ @ 222 NONAME ; struct QMetaObject const * QSequentialAnimationGroup::metaObject(void) const
+ ?localeAwareCompare@QStringRef@@SAHABV1@0@Z @ 223 NONAME ; int QStringRef::localeAwareCompare(class QStringRef const &, class QStringRef const &)
+ ?fileName@QTemporaryFile@@QBE?AVQString@@XZ @ 224 NONAME ; class QString QTemporaryFile::fileName(void) const
+ ?qt_metacast@QAbstractState@@UAEPAXPBD@Z @ 225 NONAME ; void * QAbstractState::qt_metacast(char const *)
+ ?bytesToWrite@QIODevice@@UBE_JXZ @ 226 NONAME ; long long QIODevice::bytesToWrite(void) const
+ ?utf16@QString@@QBEPBGXZ @ 227 NONAME ; unsigned short const * QString::utf16(void) const
+ ?setLoadHints@QPluginLoader@@QAEXV?$QFlags@W4LoadHint@QLibrary@@@@@Z @ 228 NONAME ; void QPluginLoader::setLoadHints(class QFlags<enum QLibrary::LoadHint>)
+ ?toInt@QByteArray@@QBEHPA_NH@Z @ 229 NONAME ; int QByteArray::toInt(bool *, int) const
+ ?setSignal@QSignalTransition@@QAEXABVQByteArray@@@Z @ 230 NONAME ; void QSignalTransition::setSignal(class QByteArray const &)
+ ?isDetached@QBitArray@@QBE_NXZ @ 231 NONAME ; bool QBitArray::isDetached(void) const
+ ??8@YA_NABVQStringRef@@0@Z @ 232 NONAME ; bool operator==(class QStringRef const &, class QStringRef const &)
+ ?trUtf8@QTimeLine@@SA?AVQString@@PBD0H@Z @ 233 NONAME ; class QString QTimeLine::trUtf8(char const *, char const *, int)
+ ?columnsInserted@QAbstractItemModel@@AAEXABVQModelIndex@@HH@Z @ 234 NONAME ; void QAbstractItemModel::columnsInserted(class QModelIndex const &, int, int)
+ ?getStaticMetaObject@QState@@SAABUQMetaObject@@XZ @ 235 NONAME ; struct QMetaObject const & QState::getStaticMetaObject(void)
+ ?getStaticMetaObject@QAnimationGroup@@SAABUQMetaObject@@XZ @ 236 NONAME ; struct QMetaObject const & QAnimationGroup::getStaticMetaObject(void)
+ ?setAnimationsEnabled@QStateMachine@@QAEX_N@Z @ 237 NONAME ; void QStateMachine::setAnimationsEnabled(bool)
+ ??MQLatin1String@@QBE_NABVQString@@@Z @ 238 NONAME ; bool QLatin1String::operator<(class QString const &) const
+ ?contains@QSettings@@QBE_NABVQString@@@Z @ 239 NONAME ; bool QSettings::contains(class QString const &) const
+ ?wrap@QNonContiguousByteDeviceFactory@@SAPAVQIODevice@@PAVQNonContiguousByteDevice@@@Z @ 240 NONAME ; class QIODevice * QNonContiguousByteDeviceFactory::wrap(class QNonContiguousByteDevice *)
+ ?setLoopCount@QTimeLine@@QAEXH@Z @ 241 NONAME ; void QTimeLine::setLoopCount(int)
+ ?chop@QByteArray@@QAEXH@Z @ 242 NONAME ; void QByteArray::chop(int)
+ ?scale@QSize@@QAEXABV1@W4AspectRatioMode@Qt@@@Z @ 243 NONAME ; void QSize::scale(class QSize const &, enum Qt::AspectRatioMode)
+ ??BQByteRef@@QBEDXZ @ 244 NONAME ; QByteRef::operator char(void) const
+ ??4QString@@QAEAAV0@D@Z @ 245 NONAME ; class QString & QString::operator=(char)
+ ?metaObject@QAbstractState@@UBEPBUQMetaObject@@XZ @ 246 NONAME ; struct QMetaObject const * QAbstractState::metaObject(void) const
+ ?append@QByteArray@@QAEAAV1@ABV1@@Z @ 247 NONAME ; class QByteArray & QByteArray::append(class QByteArray const &)
+ ?tempPath@QDir@@SA?AVQString@@XZ @ 248 NONAME ; class QString QDir::tempPath(void)
+ ?onTransition@QSignalTransition@@MAEXPAVQEvent@@@Z @ 249 NONAME ; void QSignalTransition::onTransition(class QEvent *)
+ ?fromString@QDateTime@@SA?AV1@ABVQString@@0@Z @ 250 NONAME ; class QDateTime QDateTime::fromString(class QString const &, class QString const &)
+ ??6QDataStream@@QAEAAV0@E@Z @ 251 NONAME ; class QDataStream & QDataStream::operator<<(unsigned char)
+ ??_EQAbstractTableModel@@UAE@I@Z @ 252 NONAME ; QAbstractTableModel::~QAbstractTableModel(unsigned int)
+ ??5QDataStream@@QAEAAV0@AA_K@Z @ 253 NONAME ; class QDataStream & QDataStream::operator>>(unsigned long long &)
+ ?isDesignable@QMetaProperty@@QBE_NPBVQObject@@@Z @ 254 NONAME ; bool QMetaProperty::isDesignable(class QObject const *) const
+ ?exponential@QLocalePrivate@@QBE?AVQChar@@XZ @ 255 NONAME ; class QChar QLocalePrivate::exponential(void) const
+ ?unregisterResource@QResource@@SA_NABVQString@@0@Z @ 256 NONAME ; bool QResource::unregisterResource(class QString const &, class QString const &)
+ ?setKeyValueAt@QVariantAnimation@@QAEXMABVQVariant@@@Z @ 257 NONAME ; void QVariantAnimation::setKeyValueAt(float, class QVariant const &)
+ ?insert@QByteArray@@QAEAAV1@HABV1@@Z @ 258 NONAME ; class QByteArray & QByteArray::insert(int, class QByteArray const &)
+ ?lockForRead@QReadWriteLock@@QAEXXZ @ 259 NONAME ; void QReadWriteLock::lockForRead(void)
+ ?qHash@@YAIABVQString@@@Z @ 260 NONAME ; unsigned int qHash(class QString const &)
+ ?clear@QString@@QAEXXZ @ 261 NONAME ; void QString::clear(void)
+ ?groupSeparator@QLocale@@QBE?AVQChar@@XZ @ 262 NONAME ; class QChar QLocale::groupSeparator(void) const
+ ?arg@QString@@QBE?AV1@ABV1@000000@Z @ 263 NONAME ; class QString QString::arg(class QString const &, class QString const &, class QString const &, class QString const &, class QString const &, class QString const &, class QString const &) const
+ ??0QDirIterator@@QAE@ABVQString@@ABVQStringList@@V?$QFlags@W4Filter@QDir@@@@V?$QFlags@W4IteratorFlag@QDirIterator@@@@@Z @ 264 NONAME ; QDirIterator::QDirIterator(class QString const &, class QStringList const &, class QFlags<enum QDir::Filter>, class QFlags<enum QDirIterator::IteratorFlag>)
+ ?topLeft@QRectF@@QBE?AVQPointF@@XZ @ 265 NONAME ; class QPointF QRectF::topLeft(void) const
+ ?mapped@QSignalMapper@@IAEXABVQString@@@Z @ 266 NONAME ; void QSignalMapper::mapped(class QString const &)
+ ??0QReadLocker@@QAE@PAVQReadWriteLock@@@Z @ 267 NONAME ; QReadLocker::QReadLocker(class QReadWriteLock *)
+ ?tr@QNonContiguousByteDevice@@SA?AVQString@@PBD0H@Z @ 268 NONAME ; class QString QNonContiguousByteDevice::tr(char const *, char const *, int)
+ ?internalSafetyCheckRemove2@QtSharedPointer@@YAXPBX@Z @ 269 NONAME ; void QtSharedPointer::internalSafetyCheckRemove2(void const *)
+ ?idnWhitelist@QUrl@@SA?AVQStringList@@XZ @ 270 NONAME ; class QStringList QUrl::idnWhitelist(void)
+ ?systemId@QXmlStreamEntityDeclaration@@QBE?AVQStringRef@@XZ @ 271 NONAME ; class QStringRef QXmlStreamEntityDeclaration::systemId(void) const
+ ?julianToGregorian@QDate@@SAXIAAH00@Z @ 272 NONAME ; void QDate::julianToGregorian(unsigned int, int &, int &, int &)
+ ??9QBitArray@@QBE_NABV0@@Z @ 273 NONAME ; bool QBitArray::operator!=(class QBitArray const &) const
+ ?exit@QThread@@QAEXH@Z @ 274 NONAME ; void QThread::exit(int)
+ ?toDateTime@QLocale@@QBE?AVQDateTime@@ABVQString@@0@Z @ 275 NONAME ; class QDateTime QLocale::toDateTime(class QString const &, class QString const &) const
+ ??5@YAAAVQDataStream@@AAV0@AAVQPointF@@@Z @ 276 NONAME ; class QDataStream & operator>>(class QDataStream &, class QPointF &)
+ ??0QSettings@@QAE@W4Format@0@W4Scope@0@ABVQString@@2PAVQObject@@@Z @ 277 NONAME ; QSettings::QSettings(enum QSettings::Format, enum QSettings::Scope, class QString const &, class QString const &, class QObject *)
+ ?open@QFSFileEngine@@QAE_NV?$QFlags@W4OpenModeFlag@QIODevice@@@@H@Z @ 278 NONAME ; bool QFSFileEngine::open(class QFlags<enum QIODevice::OpenModeFlag>, int)
+ ?endEntryList@QFSFileEngine@@UAEPAVQAbstractFileEngineIterator@@XZ @ 279 NONAME ; class QAbstractFileEngineIterator * QFSFileEngine::endEntryList(void)
+ ?device@QXmlStreamReader@@QBEPAVQIODevice@@XZ @ 280 NONAME ; class QIODevice * QXmlStreamReader::device(void) const
+ ?qsnprintf@@YAHPADIPBDZZ @ 281 NONAME ; int qsnprintf(char *, unsigned int, char const *, ...)
+ ?setHost@QUrl@@QAEXABVQString@@@Z @ 282 NONAME ; void QUrl::setHost(class QString const &)
+ ?d_func@QSharedMemory@@ABEPBVQSharedMemoryPrivate@@XZ @ 283 NONAME ; class QSharedMemoryPrivate const * QSharedMemory::d_func(void) const
+ ?right@QByteArray@@QBE?AV1@H@Z @ 284 NONAME ; class QByteArray QByteArray::right(int) const
+ ??1QSequentialAnimationGroup@@UAE@XZ @ 285 NONAME ; QSequentialAnimationGroup::~QSequentialAnimationGroup(void)
+ ?registerResource@QResource@@SA_NPBEABVQString@@@Z @ 286 NONAME ; bool QResource::registerResource(unsigned char const *, class QString const &)
+ ??6QDebug@@QAEAAV0@ABVQString@@@Z @ 287 NONAME ; class QDebug & QDebug::operator<<(class QString const &)
+ ??1QFSFileEngine@@UAE@XZ @ 288 NONAME ; QFSFileEngine::~QFSFileEngine(void)
+ ?pos@QFile@@UBE_JXZ @ 289 NONAME ; long long QFile::pos(void) const
+ ?registerTransitions@QStateMachinePrivate@@QAEXPAVQAbstractState@@@Z @ 290 NONAME ; void QStateMachinePrivate::registerTransitions(class QAbstractState *)
+ ?number@QByteArray@@SA?AV1@NDH@Z @ 291 NONAME ; class QByteArray QByteArray::number(double, char, int)
+ ?forcepoint@@YAAAVQTextStream@@AAV1@@Z @ 292 NONAME ; class QTextStream & forcepoint(class QTextStream &)
+ ?classInfoOffset@QMetaObject@@QBEHXZ @ 293 NONAME ; int QMetaObject::classInfoOffset(void) const
+ ?wait@QThread@@QAE_NK@Z @ 294 NONAME ; bool QThread::wait(unsigned long)
+ ?qt_metacall@QVariantAnimation@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 295 NONAME ; int QVariantAnimation::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?getStaticMetaObject@QFile@@SAABUQMetaObject@@XZ @ 296 NONAME ; struct QMetaObject const & QFile::getStaticMetaObject(void)
+ ?toUShort@QLocale@@QBEGABVQString@@PA_NH@Z @ 297 NONAME ; unsigned short QLocale::toUShort(class QString const &, bool *, int) const
+ ?maybeSpace@QDebug@@QAEAAV1@XZ @ 298 NONAME ; class QDebug & QDebug::maybeSpace(void)
+ ?qt_regexp_toCanonical@@YA?AVQString@@ABV1@W4PatternSyntax@QRegExp@@@Z @ 299 NONAME ; class QString qt_regexp_toCanonical(class QString const &, enum QRegExp::PatternSyntax)
+ ?setCurrentSender@QObjectPrivate@@SAPAUSender@1@PAVQObject@@PAU21@@Z @ 300 NONAME ; struct QObjectPrivate::Sender * QObjectPrivate::setCurrentSender(class QObject *, struct QObjectPrivate::Sender *)
+ ?tr@QNonContiguousByteDevice@@SA?AVQString@@PBD0@Z @ 301 NONAME ; class QString QNonContiguousByteDevice::tr(char const *, char const *)
+ ?event@QParallelAnimationGroup@@MAE_NPAVQEvent@@@Z @ 302 NONAME ; bool QParallelAnimationGroup::event(class QEvent *)
+ ?tr@QObject@@SA?AVQString@@PBD0H@Z @ 303 NONAME ; class QString QObject::tr(char const *, char const *, int)
+ ?documentVersion@QXmlStreamReader@@QBE?AVQStringRef@@XZ @ 304 NONAME ; class QStringRef QXmlStreamReader::documentVersion(void) const
+ ?trUtf8@QAbstractTableModel@@SA?AVQString@@PBD0@Z @ 305 NONAME ; class QString QAbstractTableModel::trUtf8(char const *, char const *)
+ ??YQString@@QAEAAV0@ABVQByteArray@@@Z @ 306 NONAME ; class QString & QString::operator+=(class QByteArray const &)
+ ?event@QSequentialAnimationGroup@@MAE_NPAVQEvent@@@Z @ 307 NONAME ; bool QSequentialAnimationGroup::event(class QEvent *)
+ ?terminated@QThread@@IAEXXZ @ 308 NONAME ; void QThread::terminated(void)
+ ?startsWith@QByteArray@@QBE_NABV1@@Z @ 309 NONAME ; bool QByteArray::startsWith(class QByteArray const &) const
+ ?compare@QStringRef@@SAHABV1@0W4CaseSensitivity@Qt@@@Z @ 310 NONAME ; int QStringRef::compare(class QStringRef const &, class QStringRef const &, enum Qt::CaseSensitivity)
+ ?adjusted@QRectF@@QBE?AV1@MMMM@Z @ 311 NONAME ; class QRectF QRectF::adjusted(float, float, float, float) const
+ ?access@QMetaMethod@@QBE?AW4Access@1@XZ @ 312 NONAME ; enum QMetaMethod::Access QMetaMethod::access(void) const
+ ?toString@QUuid@@QBE?AVQString@@XZ @ 313 NONAME ; class QString QUuid::toString(void) const
+ ?category@QChar@@SA?AW4Category@1@I@Z @ 314 NONAME ; enum QChar::Category QChar::category(unsigned int)
+ ??0QGenericReturnArgument@@QAE@PBDPAX@Z @ 315 NONAME ; QGenericReturnArgument::QGenericReturnArgument(char const *, void *)
+ ?countryId@QLocalePrivate@@QBEIXZ @ 316 NONAME ; unsigned int QLocalePrivate::countryId(void) const
+ ?center@QRect@@QBE?AVQPoint@@XZ @ 317 NONAME ; class QPoint QRect::center(void) const
+ ??_EQThreadPool@@UAE@I@Z @ 318 NONAME ; QThreadPool::~QThreadPool(unsigned int)
+ ?resize@QByteArray@@QAEXH@Z @ 319 NONAME ; void QByteArray::resize(int)
+ ?isSingleShot@QTimer@@QBE_NXZ @ 320 NONAME ; bool QTimer::isSingleShot(void) const
+ ??1QTextCodecPlugin@@UAE@XZ @ 321 NONAME ; QTextCodecPlugin::~QTextCodecPlugin(void)
+ ?cell@QChar@@QBEEXZ @ 322 NONAME ; unsigned char QChar::cell(void) const
+ ?setUnicode@QString@@QAEAAV1@PBVQChar@@H@Z @ 323 NONAME ; class QString & QString::setUnicode(class QChar const *, int)
+ ?timeFormat@QLocale@@QBE?AVQString@@W4FormatType@1@@Z @ 324 NONAME ; class QString QLocale::timeFormat(enum QLocale::FormatType) const
+ ?isLetterOrNumber@QChar@@QBE_NXZ @ 325 NONAME ; bool QChar::isLetterOrNumber(void) const
+ ?contains@QByteArray@@QBE?AVQBool@@ABV1@@Z @ 326 NONAME ; class QBool QByteArray::contains(class QByteArray const &) const
+ ?staticMetaObject@QPluginLoader@@2UQMetaObject@@B @ 327 NONAME ; struct QMetaObject const QPluginLoader::staticMetaObject
+ ?isReferenceCountingNative@QBasicAtomicInt@@SA_NXZ @ 328 NONAME ; bool QBasicAtomicInt::isReferenceCountingNative(void)
+ ?connectNotify@QBuffer@@MAEXPBD@Z @ 329 NONAME ; void QBuffer::connectNotify(char const *)
+ ??_EQAbstractEventDispatcher@@UAE@I@Z @ 330 NONAME ; QAbstractEventDispatcher::~QAbstractEventDispatcher(unsigned int)
+ ?setError@QStateMachinePrivate@@QAEXW4Error@QStateMachine@@PAVQAbstractState@@@Z @ 331 NONAME ; void QStateMachinePrivate::setError(enum QStateMachine::Error, class QAbstractState *)
+ ?isSequential@QFile@@UBE_NXZ @ 332 NONAME ; bool QFile::isSequential(void) const
+ ??0QSignalTransition@@QAE@PAVQState@@@Z @ 333 NONAME ; QSignalTransition::QSignalTransition(class QState *)
+ ?unregisterType@QMetaType@@SAXPBD@Z @ 334 NONAME ; void QMetaType::unregisterType(char const *)
+ ??_EQStateMachinePrivate@@UAE@I@Z @ 335 NONAME ; QStateMachinePrivate::~QStateMachinePrivate(unsigned int)
+ ?replace@QByteArray@@QAEAAV1@PBDH0H@Z @ 336 NONAME ; class QByteArray & QByteArray::replace(char const *, int, char const *, int)
+ ?group@QSettings@@QBE?AVQString@@XZ @ 337 NONAME ; class QString QSettings::group(void) const
+ ?testAndSetAcquire@QBasicAtomicInt@@QAE_NHH@Z @ 338 NONAME ; bool QBasicAtomicInt::testAndSetAcquire(int, int)
+ ?qt_metacast@QPropertyAnimation@@UAEPAXPBD@Z @ 339 NONAME ; void * QPropertyAnimation::qt_metacast(char const *)
+ ?normalized@QRect@@QBE?AV1@XZ @ 340 NONAME ; class QRect QRect::normalized(void) const
+ ?handle@QAbstractFileEngine@@UBEHXZ @ 341 NONAME ; int QAbstractFileEngine::handle(void) const
+ ?x1@QLine@@QBEHXZ @ 342 NONAME ; int QLine::x1(void) const
+ ??_EQTranslator@@UAE@I@Z @ 343 NONAME ; QTranslator::~QTranslator(unsigned int)
+ ?error@QXmlStreamReader@@QBE?AW4Error@1@XZ @ 344 NONAME ; enum QXmlStreamReader::Error QXmlStreamReader::error(void) const
+ ?enumeratorOffset@QMetaObject@@QBEHXZ @ 345 NONAME ; int QMetaObject::enumeratorOffset(void) const
+ ?unload@QPluginLoader@@QAE_NXZ @ 346 NONAME ; bool QPluginLoader::unload(void)
+ ?aboutToClose@QIODevice@@IAEXXZ @ 347 NONAME ; void QIODevice::aboutToClose(void)
+ ??7QBitRef@@QBE_NXZ @ 348 NONAME ; bool QBitRef::operator!(void) const
+ ?start@QThreadPool@@QAEXPAVQRunnable@@H@Z @ 349 NONAME ; void QThreadPool::start(class QRunnable *, int)
+ ?timeSpec@QDateTime@@QBE?AW4TimeSpec@Qt@@XZ @ 350 NONAME ; enum Qt::TimeSpec QDateTime::timeSpec(void) const
+ ?group@QAbstractAnimation@@QBEPAVQAnimationGroup@@XZ @ 351 NONAME ; class QAnimationGroup * QAbstractAnimation::group(void) const
+ ?metaObject@QObjectCleanupHandler@@UBEPBUQMetaObject@@XZ @ 352 NONAME ; struct QMetaObject const * QObjectCleanupHandler::metaObject(void) const
+ ?tr@QSettings@@SA?AVQString@@PBD0@Z @ 353 NONAME ; class QString QSettings::tr(char const *, char const *)
+ ?wakeUpWasCalled@QEventDispatcherSymbian@@QAEXXZ @ 354 NONAME ; void QEventDispatcherSymbian::wakeUpWasCalled(void)
+ ?isEndDocument@QXmlStreamReader@@QBE_NXZ @ 355 NONAME ; bool QXmlStreamReader::isEndDocument(void) const
+ ?columnsAboutToBeMoved@QAbstractItemModel@@AAEXABVQModelIndex@@HH0H@Z @ 356 NONAME ; void QAbstractItemModel::columnsAboutToBeMoved(class QModelIndex const &, int, int, class QModelIndex const &, int)
+ ?flush@@YAAAVQTextStream@@AAV1@@Z @ 357 NONAME ; class QTextStream & flush(class QTextStream &)
+ ?fileInfo@QDirIterator@@QBE?AVQFileInfo@@XZ @ 358 NONAME ; class QFileInfo QDirIterator::fileInfo(void) const
+ ?enclosingMetaObject@QMetaClassInfo@@QBEPBUQMetaObject@@XZ @ 359 NONAME ; struct QMetaObject const * QMetaClassInfo::enclosingMetaObject(void) const
+ ??0QUrl@@QAE@XZ @ 360 NONAME ; QUrl::QUrl(void)
+ ?intersect@QLineF@@QBE?AW4IntersectType@1@ABV1@PAVQPointF@@@Z @ 361 NONAME ; enum QLineF::IntersectType QLineF::intersect(class QLineF const &, class QPointF *) const
+ ?isWritable@QFileInfo@@QBE_NXZ @ 362 NONAME ; bool QFileInfo::isWritable(void) const
+ ?isDir@QFileInfo@@QBE_NXZ @ 363 NONAME ; bool QFileInfo::isDir(void) const
+ ??5QTextStream@@QAEAAV0@AAM@Z @ 364 NONAME ; class QTextStream & QTextStream::operator>>(float &)
+ ?tr@QFile@@SA?AVQString@@PBD0H@Z @ 365 NONAME ; class QString QFile::tr(char const *, char const *, int)
+ ?temp@QDir@@SA?AV1@XZ @ 366 NONAME ; class QDir QDir::temp(void)
+ ?activate@QMetaObject@@SAXPAVQObject@@PBU1@HPAPAX@Z @ 367 NONAME ; void QMetaObject::activate(class QObject *, struct QMetaObject const *, int, void * *)
+ ??SQBitArray@@QBE?AV0@XZ @ 368 NONAME ; class QBitArray QBitArray::operator~(void) const
+ ?waitForBytesWritten@QProcess@@UAE_NH@Z @ 369 NONAME ; bool QProcess::waitForBytesWritten(int)
+ ?writeEndDocument@QXmlStreamWriter@@QAEXXZ @ 370 NONAME ; void QXmlStreamWriter::writeEndDocument(void)
+ ?endArray@QSettings@@QAEXXZ @ 371 NONAME ; void QSettings::endArray(void)
+ ??0QString@@QAE@HVQChar@@@Z @ 372 NONAME ; QString::QString(int, class QChar)
+ ?data@QByteArray@@QBEPBDXZ @ 373 NONAME ; char const * QByteArray::data(void) const
+ ?key@QSharedMemory@@QBE?AVQString@@XZ @ 374 NONAME ; class QString QSharedMemory::key(void) const
+ ?indexOf@QByteArray@@QBEHABV1@H@Z @ 375 NONAME ; int QByteArray::indexOf(class QByteArray const &, int) const
+ ?stop@QStateMachine@@QAEXXZ @ 376 NONAME ; void QStateMachine::stop(void)
+ ??4QAtomicInt@@QAEAAV0@H@Z @ 377 NONAME ; class QAtomicInt & QAtomicInt::operator=(int)
+ ?setIniCodec@QSettings@@QAEXPAVQTextCodec@@@Z @ 378 NONAME ; void QSettings::setIniCodec(class QTextCodec *)
+ ?count@QBitArray@@QBEH_N@Z @ 379 NONAME ; int QBitArray::count(bool) const
+ ?padChar@QTextStream@@QBE?AVQChar@@XZ @ 380 NONAME ; class QChar QTextStream::padChar(void) const
+ ?dayOfYear@QDate@@QBEHXZ @ 381 NONAME ; int QDate::dayOfYear(void) const
+ ??0QChar@@QAE@G@Z @ 382 NONAME ; QChar::QChar(unsigned short)
+ ?QStringList_indexOf@QtPrivate@@YAHPBVQStringList@@AAVQRegExp@@H@Z @ 383 NONAME ; int QtPrivate::QStringList_indexOf(class QStringList const *, class QRegExp &, int)
+ ?instance@QFactoryLoader@@QBEPAVQObject@@ABVQString@@@Z @ 384 NONAME ; class QObject * QFactoryLoader::instance(class QString const &) const
+ ?trUtf8@QObjectCleanupHandler@@SA?AVQString@@PBD0@Z @ 385 NONAME ; class QString QObjectCleanupHandler::trUtf8(char const *, char const *)
+ ?sendThroughObjectEventFilters@QCoreApplicationPrivate@@QAE_NPAVQObject@@PAVQEvent@@@Z @ 386 NONAME ; bool QCoreApplicationPrivate::sendThroughObjectEventFilters(class QObject *, class QEvent *)
+ ?setStandardErrorFile@QProcess@@QAEXABVQString@@V?$QFlags@W4OpenModeFlag@QIODevice@@@@@Z @ 387 NONAME ; void QProcess::setStandardErrorFile(class QString const &, class QFlags<enum QIODevice::OpenModeFlag>)
+ ?persistentIndexList@QAbstractItemModel@@IBE?AV?$QList@VQModelIndex@@@@XZ @ 388 NONAME ; class QList<class QModelIndex> QAbstractItemModel::persistentIndexList(void) const
+ ??6@YA?AVQDebug@@V0@V?$QFlags@W4Filter@QDir@@@@@Z @ 389 NONAME ; class QDebug operator<<(class QDebug, class QFlags<enum QDir::Filter>)
+ ?directoryChanged@QFileSystemWatcher@@IAEXABVQString@@@Z @ 390 NONAME ; void QFileSystemWatcher::directoryChanged(class QString const &)
+ ??_EQMetaCallEvent@@UAE@I@Z @ 391 NONAME ; QMetaCallEvent::~QMetaCallEvent(unsigned int)
+ ?setErrorString@QIODevice@@IAEXABVQString@@@Z @ 392 NONAME ; void QIODevice::setErrorString(class QString const &)
+ ?qt_symbian_throwIfError@@YAXH@Z @ 393 NONAME ; void qt_symbian_throwIfError(int)
+ ?writeCurrentToken@QXmlStreamWriter@@QAEXABVQXmlStreamReader@@@Z @ 394 NONAME ; void QXmlStreamWriter::writeCurrentToken(class QXmlStreamReader const &)
+ ?d_func@QEventLoop@@AAEPAVQEventLoopPrivate@@XZ @ 395 NONAME ; class QEventLoopPrivate * QEventLoop::d_func(void)
+ ??6QDebug@@QAEAAV0@VQBool@@@Z @ 396 NONAME ; class QDebug & QDebug::operator<<(class QBool)
+ ?toUnicode@QTextDecoder@@QAEXPAVQString@@PBDH@Z @ 397 NONAME ; void QTextDecoder::toUnicode(class QString *, char const *, int)
+ ?parse@QDateTimeParser@@QBE?AUStateNode@1@AAVQString@@AAHABVQDateTime@@_N@Z @ 398 NONAME ; struct QDateTimeParser::StateNode QDateTimeParser::parse(class QString &, int &, class QDateTime const &, bool) const
+ ??4QStringRef@@QAEAAV0@PBVQString@@@Z @ 399 NONAME ; class QStringRef & QStringRef::operator=(class QString const *)
+ ?center@@YAAAVQTextStream@@AAV1@@Z @ 400 NONAME ; class QTextStream & center(class QTextStream &)
+ ?setProcessChannelMode@QProcess@@QAEXW4ProcessChannelMode@1@@Z @ 401 NONAME ; void QProcess::setProcessChannelMode(enum QProcess::ProcessChannelMode)
+ ??0QSizeF@@QAE@XZ @ 402 NONAME ; QSizeF::QSizeF(void)
+ ??8QXmlStreamNotationDeclaration@@QBE_NABV0@@Z @ 403 NONAME ; bool QXmlStreamNotationDeclaration::operator==(class QXmlStreamNotationDeclaration const &) const
+ ?toCaseFolded@QChar@@SAGG@Z @ 404 NONAME ; unsigned short QChar::toCaseFolded(unsigned short)
+ ?setY@QRectF@@QAEXM@Z @ 405 NONAME ; void QRectF::setY(float)
+ ?dy@QLineF@@QBEMXZ @ 406 NONAME ; float QLineF::dy(void) const
+ ?trUtf8@QPauseAnimation@@SA?AVQString@@PBD0@Z @ 407 NONAME ; class QString QPauseAnimation::trUtf8(char const *, char const *)
+ ?trUtf8@QAbstractTableModel@@SA?AVQString@@PBD0H@Z @ 408 NONAME ; class QString QAbstractTableModel::trUtf8(char const *, char const *, int)
+ ?setSingleShot@QTimer@@QAEX_N@Z @ 409 NONAME ; void QTimer::setSingleShot(bool)
+ ?load@QMetaType@@SA_NAAVQDataStream@@HPAX@Z @ 410 NONAME ; bool QMetaType::load(class QDataStream &, int, void *)
+ ?setExpiryTimeout@QThreadPool@@QAEXH@Z @ 411 NONAME ; void QThreadPool::setExpiryTimeout(int)
+ ?isNameChar@QXmlUtils@@SA_NVQChar@@@Z @ 412 NONAME ; bool QXmlUtils::isNameChar(class QChar)
+ ?setVersion@QDataStream@@QAEXH@Z @ 413 NONAME ; void QDataStream::setVersion(int)
+ ?removePostedEvents@QCoreApplication@@SAXPAVQObject@@@Z @ 414 NONAME ; void QCoreApplication::removePostedEvents(class QObject *)
+ ??1QDateTime@@QAE@XZ @ 415 NONAME ; QDateTime::~QDateTime(void)
+ ?setReadChannelMode@QProcess@@QAEXW4ProcessChannelMode@1@@Z @ 416 NONAME ; void QProcess::setReadChannelMode(enum QProcess::ProcessChannelMode)
+ ?d_func@QFactoryLoader@@ABEPBVQFactoryLoaderPrivate@@XZ @ 417 NONAME ; class QFactoryLoaderPrivate const * QFactoryLoader::d_func(void) const
+ ?setEncodedUrl@QUrl@@QAEXABVQByteArray@@W4ParsingMode@1@@Z @ 418 NONAME ; void QUrl::setEncodedUrl(class QByteArray const &, enum QUrl::ParsingMode)
+ ?insertPauseAt@QSequentialAnimationGroup@@QAEPAVQPauseAnimation@@HH@Z @ 419 NONAME ; class QPauseAnimation * QSequentialAnimationGroup::insertPauseAt(int, int)
+ ?qt_metacast@QVariantAnimation@@UAEPAXPBD@Z @ 420 NONAME ; void * QVariantAnimation::qt_metacast(char const *)
+ ?insert@QString@@QAEAAV1@HVQChar@@@Z @ 421 NONAME ; class QString & QString::insert(int, class QChar)
+ ??0QTextStreamManipulator@@QAE@P8QTextStream@@AEXH@ZH@Z @ 422 NONAME ; QTextStreamManipulator::QTextStreamManipulator(void (*)(int), int)
+ ?QStringList_lastIndexOf@QtPrivate@@YAHPBVQStringList@@AAVQRegExp@@H@Z @ 423 NONAME ; int QtPrivate::QStringList_lastIndexOf(class QStringList const *, class QRegExp &, int)
+ ?isLeapYear@QDate@@SA_NH@Z @ 424 NONAME ; bool QDate::isLeapYear(int)
+ ?QBasicAtomicPointer_fetchAndAddOrdered@@YAPAXPCRAXH@Z @ 425 NONAME ; void * QBasicAtomicPointer_fetchAndAddOrdered(void * volatile *, int)
+ ?properties@QUnicodeTables@@YAPBUProperties@1@I@Z @ 426 NONAME ; struct QUnicodeTables::Properties const * QUnicodeTables::properties(unsigned int)
+ ??1QDir@@QAE@XZ @ 427 NONAME ; QDir::~QDir(void)
+ ?isFetchAndAddWaitFree@QBasicAtomicInt@@SA_NXZ @ 428 NONAME ; bool QBasicAtomicInt::isFetchAndAddWaitFree(void)
+ ?toTitleCase@QCharRef@@QBE?AVQChar@@XZ @ 429 NONAME ; class QChar QCharRef::toTitleCase(void) const
+ ?toSize@QSizeF@@QBE?AVQSize@@XZ @ 430 NONAME ; class QSize QSizeF::toSize(void) const
+ ?squeeze@QByteArray@@QAEXXZ @ 431 NONAME ; void QByteArray::squeeze(void)
+ ?drives@QFSFileEngine@@SA?AV?$QList@VQFileInfo@@@@XZ @ 432 NONAME ; class QList<class QFileInfo> QFSFileEngine::drives(void)
+ ?decomposition@QCharRef@@QBE?AVQString@@XZ @ 433 NONAME ; class QString QCharRef::decomposition(void) const
+ ?sync@QSettings@@QAEXXZ @ 434 NONAME ; void QSettings::sync(void)
+ ??0QFileSystemWatcher@@QAE@PAVQObject@@@Z @ 435 NONAME ; QFileSystemWatcher::QFileSystemWatcher(class QObject *)
+ ?setFileName@QPluginLoader@@QAEXABVQString@@@Z @ 436 NONAME ; void QPluginLoader::setFileName(class QString const &)
+ ?instance@QMutexPool@@SAPAV1@XZ @ 437 NONAME ; class QMutexPool * QMutexPool::instance(void)
+ ?device@QTextStream@@QBEPAVQIODevice@@XZ @ 438 NONAME ; class QIODevice * QTextStream::device(void) const
+ ??MQByteRef@@QBE_ND@Z @ 439 NONAME ; bool QByteRef::operator<(char) const
+ ?easingCurve@QTimeLine@@QBE?AVQEasingCurve@@XZ @ 440 NONAME ; class QEasingCurve QTimeLine::easingCurve(void) const
+ ??8QString@@QBE_NABV0@@Z @ 441 NONAME ; bool QString::operator==(class QString const &) const
+ ?x@QPoint@@QBEHXZ @ 442 NONAME ; int QPoint::x(void) const
+ ?grow@QVectorData@@SAHHHH_N@Z @ 443 NONAME ; int QVectorData::grow(int, int, int, bool)
+ ?notify_helper@QCoreApplicationPrivate@@QAE_NPAVQObject@@PAVQEvent@@@Z @ 444 NONAME ; bool QCoreApplicationPrivate::notify_helper(class QObject *, class QEvent *)
+ ?isChar@QXmlUtils@@SA_NVQChar@@@Z @ 445 NONAME ; bool QXmlUtils::isChar(class QChar)
+ ??XQPoint@@QAEAAV0@M@Z @ 446 NONAME ; class QPoint & QPoint::operator*=(float)
+ ??1QAbstractTransition@@UAE@XZ @ 447 NONAME ; QAbstractTransition::~QAbstractTransition(void)
+ ??ZQSizeF@@QAEAAV0@ABV0@@Z @ 448 NONAME ; class QSizeF & QSizeF::operator-=(class QSizeF const &)
+ ??1QDeclarativeData@@UAE@XZ @ 449 NONAME ; QDeclarativeData::~QDeclarativeData(void)
+ ??0QDir@@QAE@ABVQString@@@Z @ 450 NONAME ; QDir::QDir(class QString const &)
+ ?tempPath@QFSFileEngine@@SA?AVQString@@XZ @ 451 NONAME ; class QString QFSFileEngine::tempPath(void)
+ ?isResettable@QMetaProperty@@QBE_NXZ @ 452 NONAME ; bool QMetaProperty::isResettable(void) const
+ ?totalDuration@QAbstractAnimation@@QBEHXZ @ 453 NONAME ; int QAbstractAnimation::totalDuration(void) const
+ ?toAscii@QString@@QBE?AVQByteArray@@XZ @ 454 NONAME ; class QByteArray QString::toAscii(void) const
+ ??_EQAbstractFileEngineHandler@@UAE@I@Z @ 455 NONAME ; QAbstractFileEngineHandler::~QAbstractFileEngineHandler(unsigned int)
+ ?clear@QBitArray@@QAEXXZ @ 456 NONAME ; void QBitArray::clear(void)
+ ?setLibraryPaths@QCoreApplication@@SAXABVQStringList@@@Z @ 457 NONAME ; void QCoreApplication::setLibraryPaths(class QStringList const &)
+ ?data@QByteArray@@QAEPADXZ @ 458 NONAME ; char * QByteArray::data(void)
+ ?qt_metacast@QSignalTransition@@UAEPAXPBD@Z @ 459 NONAME ; void * QSignalTransition::qt_metacast(char const *)
+ ?encodeName@QFile@@SA?AVQByteArray@@ABVQString@@@Z @ 460 NONAME ; class QByteArray QFile::encodeName(class QString const &)
+ ??0QSignalTransition@@QAE@PAVQObject@@PBDPAVQState@@@Z @ 461 NONAME ; QSignalTransition::QSignalTransition(class QObject *, char const *, class QState *)
+ ?encodedPassword@QUrl@@QBE?AVQByteArray@@XZ @ 462 NONAME ; class QByteArray QUrl::encodedPassword(void) const
+ ?defaultState@QHistoryState@@QBEPAVQAbstractState@@XZ @ 463 NONAME ; class QAbstractState * QHistoryState::defaultState(void) const
+ ?clear@QVariant@@QAEXXZ @ 464 NONAME ; void QVariant::clear(void)
+ ?methodOffset@QMetaObject@@QBEHXZ @ 465 NONAME ; int QMetaObject::methodOffset(void) const
+ ?metaObject@QFinalState@@UBEPBUQMetaObject@@XZ @ 466 NONAME ; struct QMetaObject const * QFinalState::metaObject(void) const
+ ?d_func@QTranslator@@ABEPBVQTranslatorPrivate@@XZ @ 467 NONAME ; class QTranslatorPrivate const * QTranslator::d_func(void) const
+ ?hasImage@QMimeData@@QBE_NXZ @ 468 NONAME ; bool QMimeData::hasImage(void) const
+ ??8QPersistentModelIndex@@QBE_NABVQModelIndex@@@Z @ 469 NONAME ; bool QPersistentModelIndex::operator==(class QModelIndex const &) const
+ ?valueToKey@QMetaEnum@@QBEPBDH@Z @ 470 NONAME ; char const * QMetaEnum::valueToKey(int) const
+ ??9QHBufC@@QBE_NABV0@@Z @ 471 NONAME ; bool QHBufC::operator!=(class QHBufC const &) const
+ ?moveBottomRight@QRectF@@QAEXABVQPointF@@@Z @ 472 NONAME ; void QRectF::moveBottomRight(class QPointF const &)
+ ?fromLatin1@QString@@SA?AV1@PBDH@Z @ 473 NONAME ; class QString QString::fromLatin1(char const *, int)
+ ?constructor@QMetaObject@@QBE?AVQMetaMethod@@H@Z @ 474 NONAME ; class QMetaMethod QMetaObject::constructor(int) const
+ ?isRunning@QThread@@QBE_NXZ @ 475 NONAME ; bool QThread::isRunning(void) const
+ ?eventFilter@QObject@@UAE_NPAV1@PAVQEvent@@@Z @ 476 NONAME ; bool QObject::eventFilter(class QObject *, class QEvent *)
+ ?compare@QStringRef@@SAHABV1@ABVQString@@W4CaseSensitivity@Qt@@@Z @ 477 NONAME ; int QStringRef::compare(class QStringRef const &, class QString const &, enum Qt::CaseSensitivity)
+ ??0QVariant@@QAE@M@Z @ 478 NONAME ; QVariant::QVariant(float)
+ ?absolutePath@QDir@@QBE?AVQString@@XZ @ 479 NONAME ; class QString QDir::absolutePath(void) const
+ ?isActive@QBasicTimer@@QBE_NXZ @ 480 NONAME ; bool QBasicTimer::isActive(void) const
+ ?getStaticMetaObject@QLibrary@@SAABUQMetaObject@@XZ @ 481 NONAME ; struct QMetaObject const & QLibrary::getStaticMetaObject(void)
+ ??0QDebug@@QAE@PAVQString@@@Z @ 482 NONAME ; QDebug::QDebug(class QString *)
+ ?quit@QCoreApplication@@SAXXZ @ 483 NONAME ; void QCoreApplication::quit(void)
+ ??0QTemporaryFile@@QAE@ABVQString@@@Z @ 484 NONAME ; QTemporaryFile::QTemporaryFile(class QString const &)
+ ?y@QPointF@@QBEMXZ @ 485 NONAME ; float QPointF::y(void) const
+ ?setText@QMimeData@@QAEXABVQString@@@Z @ 486 NONAME ; void QMimeData::setText(class QString const &)
+ ??MQTime@@QBE_NABV0@@Z @ 487 NONAME ; bool QTime::operator<(class QTime const &) const
+ ?moveLeft@QRectF@@QAEXM@Z @ 488 NONAME ; void QRectF::moveLeft(float)
+ ?isEmpty@QStringRef@@QBE_NXZ @ 489 NONAME ; bool QStringRef::isEmpty(void) const
+ ?hasShrunk@QHashData@@QAEXXZ @ 490 NONAME ; void QHashData::hasShrunk(void)
+ ?absoluteMax@QDateTimeParser@@QBEHHABVQDateTime@@@Z @ 491 NONAME ; int QDateTimeParser::absoluteMax(int, class QDateTime const &) const
+ ??5@YAAAVQDataStream@@AAV0@AAW4Type@QVariant@@@Z @ 492 NONAME ; class QDataStream & operator>>(class QDataStream &, enum QVariant::Type &)
+ ??BQXmlStreamStringRef@@QBE?AVQStringRef@@XZ @ 493 NONAME ; QXmlStreamStringRef::operator class QStringRef(void) const
+ ?replace@QString@@QAEAAV1@ABV1@ABVQLatin1String@@W4CaseSensitivity@Qt@@@Z @ 494 NONAME ; class QString & QString::replace(class QString const &, class QLatin1String const &, enum Qt::CaseSensitivity)
+ ?qt_metacall@QThreadPool@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 495 NONAME ; int QThreadPool::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?create@QSharedMemory@@QAE_NHW4AccessMode@1@@Z @ 496 NONAME ; bool QSharedMemory::create(int, enum QSharedMemory::AccessMode)
+ ?qputenv@@YA_NPBDABVQByteArray@@@Z @ 497 NONAME ; bool qputenv(char const *, class QByteArray const &)
+ ?tryAcquire@QSemaphore@@QAE_NHH@Z @ 498 NONAME ; bool QSemaphore::tryAcquire(int, int)
+ ?isFetchAndStoreNative@QBasicAtomicInt@@SA_NXZ @ 499 NONAME ; bool QBasicAtomicInt::isFetchAndStoreNative(void)
+ ?removePersistentIndexData@QAbstractItemModelPrivate@@QAEXPAVQPersistentModelIndexData@@@Z @ 500 NONAME ; void QAbstractItemModelPrivate::removePersistentIndexData(class QPersistentModelIndexData *)
+ ?append@QListData@@QAEPAPAXABU1@@Z @ 501 NONAME ; void * * QListData::append(struct QListData const &)
+ ??9QFileInfo@@QBE_NABV0@@Z @ 502 NONAME ; bool QFileInfo::operator!=(class QFileInfo const &) const
+ ?indexIn@QByteArrayMatcher@@QBEHABVQByteArray@@H@Z @ 503 NONAME ; int QByteArrayMatcher::indexIn(class QByteArray const &, int) const
+ ?path@QAbstractFileEngineIterator@@QBE?AVQString@@XZ @ 504 NONAME ; class QString QAbstractFileEngineIterator::path(void) const
+ ?lastIndexOf@QString@@QBEHABVQLatin1String@@HW4CaseSensitivity@Qt@@@Z @ 505 NONAME ; int QString::lastIndexOf(class QLatin1String const &, int, enum Qt::CaseSensitivity) const
+ ??6@YAAAVQDataStream@@AAV0@ABVQLine@@@Z @ 506 NONAME ; class QDataStream & operator<<(class QDataStream &, class QLine const &)
+ ?key@QMetaEnum@@QBEPBDH@Z @ 507 NONAME ; char const * QMetaEnum::key(int) const
+ ?trUtf8@QAbstractEventDispatcher@@SA?AVQString@@PBD0@Z @ 508 NONAME ; class QString QAbstractEventDispatcher::trUtf8(char const *, char const *)
+ ?setMinimal@QRegExp@@QAEX_N@Z @ 509 NONAME ; void QRegExp::setMinimal(bool)
+ ?translated@QRect@@QBE?AV1@ABVQPoint@@@Z @ 510 NONAME ; class QRect QRect::translated(class QPoint const &) const
+ ?metaObject@QEventLoop@@UBEPBUQMetaObject@@XZ @ 511 NONAME ; struct QMetaObject const * QEventLoop::metaObject(void) const
+ ?append2@QListData@@QAEPAPAXABU1@@Z @ 512 NONAME ; void * * QListData::append2(struct QListData const &)
+ ?decomposition@QChar@@QBE?AVQString@@XZ @ 513 NONAME ; class QString QChar::decomposition(void) const
+ ?reset@@YAAAVQTextStream@@AAV1@@Z @ 514 NONAME ; class QTextStream & reset(class QTextStream &)
+ ?endsWith@QByteArray@@QBE_NABV1@@Z @ 515 NONAME ; bool QByteArray::endsWith(class QByteArray const &) const
+ ?trUtf8@QStateMachine@@SA?AVQString@@PBD0H@Z @ 516 NONAME ; class QString QStateMachine::trUtf8(char const *, char const *, int)
+ ?translated@QRectF@@QBE?AV1@MM@Z @ 517 NONAME ; class QRectF QRectF::translated(float, float) const
+ ??0QTemporaryFile@@QAE@ABVQString@@PAVQObject@@@Z @ 518 NONAME ; QTemporaryFile::QTemporaryFile(class QString const &, class QObject *)
+ ??5QDataStream@@QAEAAV0@AAH@Z @ 519 NONAME ; class QDataStream & QDataStream::operator>>(int &)
+ ?toLocale@QVariant@@QBE?AVQLocale@@XZ @ 520 NONAME ; class QLocale QVariant::toLocale(void) const
+ ?toRect@QRectF@@QBE?AVQRect@@XZ @ 521 NONAME ; class QRect QRectF::toRect(void) const
+ ?children@QObject@@QBEABV?$QList@PAVQObject@@@@XZ @ 522 NONAME ; class QList<class QObject *> const & QObject::children(void) const
+ ?reserveThread@QThreadPool@@QAEXXZ @ 523 NONAME ; void QThreadPool::reserveThread(void)
+ ?setNum@QByteArray@@QAEAAV1@_KH@Z @ 524 NONAME ; class QByteArray & QByteArray::setNum(unsigned long long, int)
+ ?year@QDate@@QBEHXZ @ 525 NONAME ; int QDate::year(void) const
+ ?beginReadArray@QSettings@@QAEHABVQString@@@Z @ 526 NONAME ; int QSettings::beginReadArray(class QString const &)
+ ?duration@QTimeLine@@QBEHXZ @ 527 NONAME ; int QTimeLine::duration(void) const
+ ?cftr@QTextCodec@@0PAV1@A @ 528 NONAME ; class QTextCodec * QTextCodec::cftr
+ ??_6QBitArray@@QAEAAV0@ABV0@@Z @ 529 NONAME ; class QBitArray & QBitArray::operator^=(class QBitArray const &)
+ ?errorString@QRegExp@@QBE?AVQString@@XZ @ 530 NONAME ; class QString QRegExp::errorString(void) const
+ ??_5QBitArray@@QAEAAV0@ABV0@@Z @ 531 NONAME ; class QBitArray & QBitArray::operator|=(class QBitArray const &)
+ ?closingDown@QCoreApplication@@SA_NXZ @ 532 NONAME ; bool QCoreApplication::closingDown(void)
+ ??0QAbstractItemModelPrivate@@QAE@XZ @ 533 NONAME ; QAbstractItemModelPrivate::QAbstractItemModelPrivate(void)
+ ?isOpen@QIODevice@@QBE_NXZ @ 534 NONAME ; bool QIODevice::isOpen(void) const
+ ??_4QBitArray@@QAEAAV0@ABV0@@Z @ 535 NONAME ; class QBitArray & QBitArray::operator&=(class QBitArray const &)
+ ?easingCurve@QVariantAnimation@@QBE?AVQEasingCurve@@XZ @ 536 NONAME ; class QEasingCurve QVariantAnimation::easingCurve(void) const
+ ?contains@QRect@@QBE_NHH@Z @ 537 NONAME ; bool QRect::contains(int, int) const
+ ??0QWriteLocker@@QAE@PAVQReadWriteLock@@@Z @ 538 NONAME ; QWriteLocker::QWriteLocker(class QReadWriteLock *)
+ ?d_func@QFile@@ABEPBVQFilePrivate@@XZ @ 539 NONAME ; class QFilePrivate const * QFile::d_func(void) const
+ ?createIndex@QAbstractItemModelPrivate@@QBE?AVQModelIndex@@HHH@Z @ 540 NONAME ; class QModelIndex QAbstractItemModelPrivate::createIndex(int, int, int) const
+ ?qInstallMsgHandler@@YAP6AXW4QtMsgType@@PBD@ZP6AX01@Z@Z @ 541 NONAME ; void (*)(enum QtMsgType, char const *) qInstallMsgHandler(void (*)(enum QtMsgType, char const *))
+ ?stop@QTimeLine@@QAEXXZ @ 542 NONAME ; void QTimeLine::stop(void)
+ ??4QCharRef@@QAEAAV0@I@Z @ 543 NONAME ; class QCharRef & QCharRef::operator=(unsigned int)
+ ?tr@QPropertyAnimation@@SA?AVQString@@PBD0H@Z @ 544 NONAME ; class QString QPropertyAnimation::tr(char const *, char const *, int)
+ ?codec@QXmlStreamWriter@@QBEPAVQTextCodec@@XZ @ 545 NONAME ; class QTextCodec * QXmlStreamWriter::codec(void) const
+ ?handler@QVariant@@1PBUHandler@1@B @ 546 NONAME ; struct QVariant::Handler const * const QVariant::handler
+ ??0QDir@@QAE@ABVQString@@0V?$QFlags@W4SortFlag@QDir@@@@V?$QFlags@W4Filter@QDir@@@@@Z @ 547 NONAME ; QDir::QDir(class QString const &, class QString const &, class QFlags<enum QDir::SortFlag>, class QFlags<enum QDir::Filter>)
+ ??MQString@@QBE_NPBD@Z @ 548 NONAME ; bool QString::operator<(char const *) const
+ ?push_front@QString@@QAEXABV1@@Z @ 549 NONAME ; void QString::push_front(class QString const &)
+ ?d_func@QXmlStreamReader@@AAEPAVQXmlStreamReaderPrivate@@XZ @ 550 NONAME ; class QXmlStreamReaderPrivate * QXmlStreamReader::d_func(void)
+ ?d_func@QParallelAnimationGroup@@ABEPBVQParallelAnimationGroupPrivate@@XZ @ 551 NONAME ; class QParallelAnimationGroupPrivate const * QParallelAnimationGroup::d_func(void) const
+ ?get@QAbstractTransitionPrivate@@SAPAV1@PAVQAbstractTransition@@@Z @ 552 NONAME ; class QAbstractTransitionPrivate * QAbstractTransitionPrivate::get(class QAbstractTransition *)
+ ?toLongLong@QString@@QBE_JPA_NH@Z @ 553 NONAME ; long long QString::toLongLong(bool *, int) const
+ ??5QTextStream@@QAEAAV0@AAF@Z @ 554 NONAME ; class QTextStream & QTextStream::operator>>(short &)
+ ?q_func@QAbstractTransitionPrivate@@AAEPAVQAbstractTransition@@XZ @ 555 NONAME ; class QAbstractTransition * QAbstractTransitionPrivate::q_func(void)
+ ?close@QFSFileEngine@@UAE_NXZ @ 556 NONAME ; bool QFSFileEngine::close(void)
+ ?next@QDirIterator@@QAE?AVQString@@XZ @ 557 NONAME ; class QString QDirIterator::next(void)
+ ?isTestAndSetWaitFree@QBasicAtomicInt@@SA_NXZ @ 558 NONAME ; bool QBasicAtomicInt::isTestAndSetWaitFree(void)
+ ?length@QStringRef@@QBEHXZ @ 559 NONAME ; int QStringRef::length(void) const
+ ?pos@QIODevice@@UBE_JXZ @ 560 NONAME ; long long QIODevice::pos(void) const
+ ?compare@QString@@SAHABV1@0@Z @ 561 NONAME ; int QString::compare(class QString const &, class QString const &)
+ ?truncate@QString@@QAEXH@Z @ 562 NONAME ; void QString::truncate(int)
+ ?unlock@QMutex@@QAEXXZ @ 563 NONAME ; void QMutex::unlock(void)
+ ?globalInstance@QThreadPool@@SAPAV1@XZ @ 564 NONAME ; class QThreadPool * QThreadPool::globalInstance(void)
+ ?d_func@QPauseAnimation@@AAEPAVQPauseAnimationPrivate@@XZ @ 565 NONAME ; class QPauseAnimationPrivate * QPauseAnimation::d_func(void)
+ ??0QVariant@@QAE@HPBX@Z @ 566 NONAME ; QVariant::QVariant(int, void const *)
+ ?toString@QLocale@@QBE?AVQString@@ABVQTime@@ABV2@@Z @ 567 NONAME ; class QString QLocale::toString(class QTime const &, class QString const &) const
+ ?qAddPostRoutine@@YAXP6AXXZ@Z @ 568 NONAME ; void qAddPostRoutine(void (*)(void))
+ ?trUtf8@QAbstractListModel@@SA?AVQString@@PBD0@Z @ 569 NONAME ; class QString QAbstractListModel::trUtf8(char const *, char const *)
+ ??_EQXmlStreamEntityResolver@@UAE@I@Z @ 570 NONAME ; QXmlStreamEntityResolver::~QXmlStreamEntityResolver(unsigned int)
+ ?event@QObject@@UAE_NPAVQEvent@@@Z @ 571 NONAME ; bool QObject::event(class QEvent *)
+ ?trUtf8@QAnimationGroup@@SA?AVQString@@PBD0H@Z @ 572 NONAME ; class QString QAnimationGroup::trUtf8(char const *, char const *, int)
+ ?fileName@QAbstractFileEngine@@UBE?AVQString@@W4FileName@1@@Z @ 573 NONAME ; class QString QAbstractFileEngine::fileName(enum QAbstractFileEngine::FileName) const
+ ??0QXmlStreamAttribute@@QAE@ABVQString@@0@Z @ 574 NONAME ; QXmlStreamAttribute::QXmlStreamAttribute(class QString const &, class QString const &)
+ ??0QPluginLoader@@QAE@PAVQObject@@@Z @ 575 NONAME ; QPluginLoader::QPluginLoader(class QObject *)
+ ??0QLocale@@QAE@XZ @ 576 NONAME ; QLocale::QLocale(void)
+ ??_EQPauseAnimation@@UAE@I@Z @ 577 NONAME ; QPauseAnimation::~QPauseAnimation(unsigned int)
+ ?open@QTemporaryFile@@QAE_NXZ @ 578 NONAME ; bool QTemporaryFile::open(void)
+ ?ownerId@QFileInfo@@QBEIXZ @ 579 NONAME ; unsigned int QFileInfo::ownerId(void) const
+ ?tr@QPropertyAnimation@@SA?AVQString@@PBD0@Z @ 580 NONAME ; class QString QPropertyAnimation::tr(char const *, char const *)
+ ?theMainThread@QCoreApplicationPrivate@@2PAVQThread@@A @ 581 NONAME ; class QThread * QCoreApplicationPrivate::theMainThread
+ ??5@YAAAVQDataStream@@AAV0@AAVQSizeF@@@Z @ 582 NONAME ; class QDataStream & operator>>(class QDataStream &, class QSizeF &)
+ ??PQLatin1String@@QBE_NPBD@Z @ 583 NONAME ; bool QLatin1String::operator>=(char const *) const
+ ?compare@QString@@SAHABV1@ABVQStringRef@@W4CaseSensitivity@Qt@@@Z @ 584 NONAME ; int QString::compare(class QString const &, class QStringRef const &, enum Qt::CaseSensitivity)
+ ?path@QDirIterator@@QBE?AVQString@@XZ @ 585 NONAME ; class QString QDirIterator::path(void) const
+ ?number@QString@@SA?AV1@NDH@Z @ 586 NONAME ; class QString QString::number(double, char, int)
+ ?caseSensitivity@QRegExp@@QBE?AW4CaseSensitivity@Qt@@XZ @ 587 NONAME ; enum Qt::CaseSensitivity QRegExp::caseSensitivity(void) const
+ ?staticEmptyModel@QAbstractItemModelPrivate@@SAPAVQAbstractItemModel@@XZ @ 588 NONAME ; class QAbstractItemModel * QAbstractItemModelPrivate::staticEmptyModel(void)
+ ??0QSettings@@QAE@PAVQObject@@@Z @ 589 NONAME ; QSettings::QSettings(class QObject *)
+ ??4QByteRef@@QAEAAV0@ABV0@@Z @ 590 NONAME ; class QByteRef & QByteRef::operator=(class QByteRef const &)
+ ?isConstant@QMetaProperty@@QBE_NXZ @ 591 NONAME ; bool QMetaProperty::isConstant(void) const
+ ?path@QDir@@QBE?AVQString@@XZ @ 592 NONAME ; class QString QDir::path(void) const
+ ?number@QByteArray@@SA?AV1@_JH@Z @ 593 NONAME ; class QByteArray QByteArray::number(long long, int)
+ ?moveBottomLeft@QRect@@QAEXABVQPoint@@@Z @ 594 NONAME ; void QRect::moveBottomLeft(class QPoint const &)
+ ?isFlagType@QMetaProperty@@QBE_NXZ @ 595 NONAME ; bool QMetaProperty::isFlagType(void) const
+ ?toLower@QChar@@SAII@Z @ 596 NONAME ; unsigned int QChar::toLower(unsigned int)
+ ??6@YAAAVQDataStream@@AAV0@ABVQRect@@@Z @ 597 NONAME ; class QDataStream & operator<<(class QDataStream &, class QRect const &)
+ ??T@YA?AVQBitArray@@ABV0@0@Z @ 598 NONAME ; class QBitArray operator^(class QBitArray const &, class QBitArray const &)
+ ??6QDebug@@QAEAAV0@H@Z @ 599 NONAME ; class QDebug & QDebug::operator<<(int)
+ ??I@YA?AVQBitArray@@ABV0@0@Z @ 600 NONAME ; class QBitArray operator&(class QBitArray const &, class QBitArray const &)
+ ?relock@QMutexLocker@@QAEXXZ @ 601 NONAME ; void QMutexLocker::relock(void)
+ ?signalIndex@QObjectPrivate@@QBEHPBD@Z @ 602 NONAME ; int QObjectPrivate::signalIndex(char const *) const
+ ?manhattanLength@QPoint@@QBEHXZ @ 603 NONAME ; int QPoint::manhattanLength(void) const
+ ?metaObject@QAbstractTransition@@UBEPBUQMetaObject@@XZ @ 604 NONAME ; struct QMetaObject const * QAbstractTransition::metaObject(void) const
+ ?isReadable@QMetaProperty@@QBE_NXZ @ 605 NONAME ; bool QMetaProperty::isReadable(void) const
+ ?caching@QFileInfo@@QBE_NXZ @ 606 NONAME ; bool QFileInfo::caching(void) const
+ ?measurementSystem@QLocale@@QBE?AW4MeasurementSystem@1@XZ @ 607 NONAME ; enum QLocale::MeasurementSystem QLocale::measurementSystem(void) const
+ ?getStaticMetaObject@QAbstractTransition@@SAABUQMetaObject@@XZ @ 608 NONAME ; struct QMetaObject const & QAbstractTransition::getStaticMetaObject(void)
+ ?cap@QRegExp@@QAE?AVQString@@H@Z @ 609 NONAME ; class QString QRegExp::cap(int)
+ ??OQUuid@@QBE_NABU0@@Z @ 610 NONAME ; bool QUuid::operator>(struct QUuid const &) const
+ ?arg@QString@@QBE?AV1@ABV1@00000@Z @ 611 NONAME ; class QString QString::arg(class QString const &, class QString const &, class QString const &, class QString const &, class QString const &, class QString const &) const
+ ?realloc@QByteArray@@AAEXH@Z @ 612 NONAME ; void QByteArray::realloc(int)
+ ?isNull@QLine@@QBE_NXZ @ 613 NONAME ; bool QLine::isNull(void) const
+ ?duration@QSequentialAnimationGroup@@UBEHXZ @ 614 NONAME ; int QSequentialAnimationGroup::duration(void) const
+ ??1QUrl@@QAE@XZ @ 615 NONAME ; QUrl::~QUrl(void)
+ ??9QXmlStreamEntityDeclaration@@QBE_NABV0@@Z @ 616 NONAME ; bool QXmlStreamEntityDeclaration::operator!=(class QXmlStreamEntityDeclaration const &) const
+ ?dumpObjectTree@QObject@@QAEXXZ @ 617 NONAME ; void QObject::dumpObjectTree(void)
+ ?stateChanged@QAbstractAnimation@@IAEXW4State@1@0@Z @ 618 NONAME ; void QAbstractAnimation::stateChanged(enum QAbstractAnimation::State, enum QAbstractAnimation::State)
+ ?status@QDataStream@@QBE?AW4Status@1@XZ @ 619 NONAME ; enum QDataStream::Status QDataStream::status(void) const
+ ?q_func@QAbstractEventDispatcherPrivate@@AAEPAVQAbstractEventDispatcher@@XZ @ 620 NONAME ; class QAbstractEventDispatcher * QAbstractEventDispatcherPrivate::q_func(void)
+ ?applicationVersion@QCoreApplication@@SA?AVQString@@XZ @ 621 NONAME ; class QString QCoreApplication::applicationVersion(void)
+ ??0QVariant@@QAE@ABVQDateTime@@@Z @ 622 NONAME ; QVariant::QVariant(class QDateTime const &)
+ ??6@YAAAVQDataStream@@AAV0@ABVQSizeF@@@Z @ 623 NONAME ; class QDataStream & operator<<(class QDataStream &, class QSizeF const &)
+ ?setCodec@QXmlStreamWriter@@QAEXPAVQTextCodec@@@Z @ 624 NONAME ; void QXmlStreamWriter::setCodec(class QTextCodec *)
+ ??0QVariant@@QAE@_K@Z @ 625 NONAME ; QVariant::QVariant(unsigned long long)
+ ?setCodec@QTextStream@@QAEXPBD@Z @ 626 NONAME ; void QTextStream::setCodec(char const *)
+ ?convertToUnicode@QFontLaoCodec@@UBE?AVQString@@PBDHPAUConverterState@QTextCodec@@@Z @ 627 NONAME ; class QString QFontLaoCodec::convertToUnicode(char const *, int, struct QTextCodec::ConverterState *) const
+ ?searchPaths@QDir@@SA?AVQStringList@@ABVQString@@@Z @ 628 NONAME ; class QStringList QDir::searchPaths(class QString const &)
+ ??1QNonContiguousByteDevice@@UAE@XZ @ 629 NONAME ; QNonContiguousByteDevice::~QNonContiguousByteDevice(void)
+ ?translate@QLine@@QAEXHH@Z @ 630 NONAME ; void QLine::translate(int, int)
+ ?setDevice@QXmlStreamWriter@@QAEXPAVQIODevice@@@Z @ 631 NONAME ; void QXmlStreamWriter::setDevice(class QIODevice *)
+ ?exit@QEventLoop@@QAEXH@Z @ 632 NONAME ; void QEventLoop::exit(int)
+ ??_EQTextCodec@@UAE@I@Z @ 633 NONAME ; QTextCodec::~QTextCodec(unsigned int)
+ ?setPattern@QRegExp@@QAEXABVQString@@@Z @ 634 NONAME ; void QRegExp::setPattern(class QString const &)
+ ?indexOf@QString@@QBEHABVQRegExp@@H@Z @ 635 NONAME ; int QString::indexOf(class QRegExp const &, int) const
+ ?united@QRectF@@QBE?AV1@ABV1@@Z @ 636 NONAME ; class QRectF QRectF::united(class QRectF const &) const
+ ?arg@QString@@QBE?AV1@ABV1@0@Z @ 637 NONAME ; class QString QString::arg(class QString const &, class QString const &) const
+ ??5@YAAAVQDataStream@@AAV0@AAVQLineF@@@Z @ 638 NONAME ; class QDataStream & operator>>(class QDataStream &, class QLineF &)
+ ?count@QDir@@QBEIXZ @ 639 NONAME ; unsigned int QDir::count(void) const
+ ?setCodec@QTextStream@@QAEXPAVQTextCodec@@@Z @ 640 NONAME ; void QTextStream::setCodec(class QTextCodec *)
+ ?setBit@QBitArray@@QAEXH@Z @ 641 NONAME ; void QBitArray::setBit(int)
+ ??0QAbstractListModel@@IAE@AAVQAbstractItemModelPrivate@@PAVQObject@@@Z @ 642 NONAME ; QAbstractListModel::QAbstractListModel(class QAbstractItemModelPrivate &, class QObject *)
+ ??6@YA?AVQDebug@@V0@W4Type@QVariant@@@Z @ 643 NONAME ; class QDebug operator<<(class QDebug, enum QVariant::Type)
+ ?isUser@QMetaProperty@@QBE_NPBVQObject@@@Z @ 644 NONAME ; bool QMetaProperty::isUser(class QObject const *) const
+ ??1QEvent@@UAE@XZ @ 645 NONAME ; QEvent::~QEvent(void)
+ ?finished@QAbstractAnimation@@IAEXXZ @ 646 NONAME ; void QAbstractAnimation::finished(void)
+ ?translate@QLine@@QAEXABVQPoint@@@Z @ 647 NONAME ; void QLine::translate(class QPoint const &)
+ ?hasNotifySignal@QMetaProperty@@QBE_NXZ @ 648 NONAME ; bool QMetaProperty::hasNotifySignal(void) const
+ ?shared_null@QHashData@@2U1@A @ 649 NONAME ; struct QHashData QHashData::shared_null
+ ?setQueryItems@QUrl@@QAEXABV?$QList@U?$QPair@VQString@@V1@@@@@@Z @ 650 NONAME ; void QUrl::setQueryItems(class QList<struct QPair<class QString, class QString> > const &)
+ ?restorablesToPropertyList@QStateMachinePrivate@@QBE?AV?$QList@UQPropertyAssignment@@@@ABV?$QHash@U?$QPair@PAVQObject@@VQByteArray@@@@VQVariant@@@@@Z @ 651 NONAME ; class QList<struct QPropertyAssignment> QStateMachinePrivate::restorablesToPropertyList(class QHash<struct QPair<class QObject *, class QByteArray>, class QVariant> const &) const
+ ?qt_metacall@QNonContiguousByteDevice@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 652 NONAME ; int QNonContiguousByteDevice::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?setLeft@QRect@@QAEXH@Z @ 653 NONAME ; void QRect::setLeft(int)
+ ?scientific@@YAAAVQTextStream@@AAV1@@Z @ 654 NONAME ; class QTextStream & scientific(class QTextStream &)
+ ?trUtf8@QFileSystemWatcher@@SA?AVQString@@PBD0@Z @ 655 NONAME ; class QString QFileSystemWatcher::trUtf8(char const *, char const *)
+ ??_EQFontLaoCodec@@UAE@I@Z @ 656 NONAME ; QFontLaoCodec::~QFontLaoCodec(unsigned int)
+ ?toString@QLocale@@QBE?AVQString@@I@Z @ 657 NONAME ; class QString QLocale::toString(unsigned int) const
+ ??0QVariant@@QAE@HPBXI@Z @ 658 NONAME ; QVariant::QVariant(int, void const *, unsigned int)
+ ??0QTemporaryFile@@QAE@XZ @ 659 NONAME ; QTemporaryFile::QTemporaryFile(void)
+ ??6QDebug@@QAEAAV0@_N@Z @ 660 NONAME ; class QDebug & QDebug::operator<<(bool)
+ ?addMonths@QDateTime@@QBE?AV1@H@Z @ 661 NONAME ; class QDateTime QDateTime::addMonths(int) const
+ ?locale@QTextStream@@QBE?AVQLocale@@XZ @ 662 NONAME ; class QLocale QTextStream::locale(void) const
+ ?clearGuards@QObjectPrivate@@SAXPAVQObject@@@Z @ 663 NONAME ; void QObjectPrivate::clearGuards(class QObject *)
+ ?organizationName@QSettings@@QBE?AVQString@@XZ @ 664 NONAME ; class QString QSettings::organizationName(void) const
+ ?value@QMetaClassInfo@@QBEPBDXZ @ 665 NONAME ; char const * QMetaClassInfo::value(void) const
+ ?q_func@QStateMachinePrivate@@AAEPAVQStateMachine@@XZ @ 666 NONAME ; class QStateMachine * QStateMachinePrivate::q_func(void)
+ ?restorableValue@QStateMachinePrivate@@QBE?AVQVariant@@PAVQObject@@ABVQByteArray@@@Z @ 667 NONAME ; class QVariant QStateMachinePrivate::restorableValue(class QObject *, class QByteArray const &) const
+ ?insert@QByteArray@@QAEAAV1@HPBD@Z @ 668 NONAME ; class QByteArray & QByteArray::insert(int, char const *)
+ ?tr@QTimeLine@@SA?AVQString@@PBD0H@Z @ 669 NONAME ; class QString QTimeLine::tr(char const *, char const *, int)
+ ?append@QString@@QAEAAV1@ABVQStringRef@@@Z @ 670 NONAME ; class QString & QString::append(class QStringRef const &)
+ ?toString@QUrl@@QBE?AVQString@@V?$QFlags@W4FormattingOption@QUrl@@@@@Z @ 671 NONAME ; class QString QUrl::toString(class QFlags<enum QUrl::FormattingOption>) const
+ ?setStatus@QTextStream@@QAEXW4Status@1@@Z @ 672 NONAME ; void QTextStream::setStatus(enum QTextStream::Status)
+ ?lastIndexOf@QByteArray@@QBEHABV1@H@Z @ 673 NONAME ; int QByteArray::lastIndexOf(class QByteArray const &, int) const
+ ??6@YAAAVQDataStream@@AAV0@ABVQLineF@@@Z @ 674 NONAME ; class QDataStream & operator<<(class QDataStream &, class QLineF const &)
+ ?detach_helper@QHashData@@QAEPAU1@P6AXPAUNode@1@PAX@ZH@Z @ 675 NONAME ; struct QHashData * QHashData::detach_helper(void (*)(struct QHashData::Node *, void *), int)
+ ??6QDataStream@@QAEAAV0@M@Z @ 676 NONAME ; class QDataStream & QDataStream::operator<<(float)
+ ?prepend@QString@@QAEAAV1@ABV1@@Z @ 677 NONAME ; class QString & QString::prepend(class QString const &)
+ ??6@YAAAVQDataStream@@AAV0@ABVQChar@@@Z @ 678 NONAME ; class QDataStream & operator<<(class QDataStream &, class QChar const &)
+ ?setAmplitude@QEasingCurve@@QAEXM@Z @ 679 NONAME ; void QEasingCurve::setAmplitude(float)
+ ?qQNaN@@YANXZ @ 680 NONAME ; double qQNaN(void)
+ ?indexOfAnimation@QAnimationGroup@@QBEHPAVQAbstractAnimation@@@Z @ 681 NONAME ; int QAnimationGroup::indexOfAnimation(class QAbstractAnimation *) const
+ ?updateCurrentValue@QPropertyAnimation@@MAEXABVQVariant@@@Z @ 682 NONAME ; void QPropertyAnimation::updateCurrentValue(class QVariant const &)
+ ?direction@QChar@@SA?AW4Direction@1@I@Z @ 683 NONAME ; enum QChar::Direction QChar::direction(unsigned int)
+ ?longLongToString@QLocalePrivate@@QBE?AVQString@@_JHHHI@Z @ 684 NONAME ; class QString QLocalePrivate::longLongToString(long long, int, int, int, unsigned int) const
+ ??0QByteArray@@QAE@HD@Z @ 685 NONAME ; QByteArray::QByteArray(int, char)
+ ??0QXmlStreamWriter@@QAE@PAVQByteArray@@@Z @ 686 NONAME ; QXmlStreamWriter::QXmlStreamWriter(class QByteArray *)
+ ?absoluteFilePath@QResource@@QBE?AVQString@@XZ @ 687 NONAME ; class QString QResource::absoluteFilePath(void) const
+ ?toUpper@QChar@@SAII@Z @ 688 NONAME ; unsigned int QChar::toUpper(unsigned int)
+ ?rowsAboutToBeInserted@QAbstractItemModelPrivate@@QAEXABVQModelIndex@@HH@Z @ 689 NONAME ; void QAbstractItemModelPrivate::rowsAboutToBeInserted(class QModelIndex const &, int, int)
+ ?itemsMoved@QAbstractItemModelPrivate@@QAEXABVQModelIndex@@HH0HW4Orientation@Qt@@@Z @ 690 NONAME ; void QAbstractItemModelPrivate::itemsMoved(class QModelIndex const &, int, int, class QModelIndex const &, int, enum Qt::Orientation)
+ ?resolve@QLibrary@@SAPAXABVQString@@0PBD@Z @ 691 NONAME ; void * QLibrary::resolve(class QString const &, class QString const &, char const *)
+ ??1QWaitCondition@@QAE@XZ @ 692 NONAME ; QWaitCondition::~QWaitCondition(void)
+ ?split@QString@@QBE?AVQStringList@@ABVQRegExp@@W4SplitBehavior@1@@Z @ 693 NONAME ; class QStringList QString::split(class QRegExp const &, enum QString::SplitBehavior) const
+ ?setCurrentTime@QAbstractAnimation@@QAEXH@Z @ 694 NONAME ; void QAbstractAnimation::setCurrentTime(int)
+ ?toPercentEncoding@QByteArray@@QBE?AV1@ABV1@0D@Z @ 695 NONAME ; class QByteArray QByteArray::toPercentEncoding(class QByteArray const &, class QByteArray const &, char) const
+ ?d_func@QAbstractState@@ABEPBVQAbstractStatePrivate@@XZ @ 696 NONAME ; class QAbstractStatePrivate const * QAbstractState::d_func(void) const
+ ??6QTextStream@@QAEAAV0@J@Z @ 697 NONAME ; class QTextStream & QTextStream::operator<<(long)
+ ?remove@QFile@@SA_NABVQString@@@Z @ 698 NONAME ; bool QFile::remove(class QString const &)
+ ?isMark@QCharRef@@QBE_NXZ @ 699 NONAME ; bool QCharRef::isMark(void) const
+ ?isSpace@QChar@@QBE_NXZ @ 700 NONAME ; bool QChar::isSpace(void) const
+ ?isRelativePath@QAbstractFileEngine@@UBE_NXZ @ 701 NONAME ; bool QAbstractFileEngine::isRelativePath(void) const
+ ?d_func@QSignalMapper@@AAEPAVQSignalMapperPrivate@@XZ @ 702 NONAME ; class QSignalMapperPrivate * QSignalMapper::d_func(void)
+ ?attribs@QCoreApplicationPrivate@@2IA @ 703 NONAME ; unsigned int QCoreApplicationPrivate::attribs
+ ?initialState@QState@@QBEPAVQAbstractState@@XZ @ 704 NONAME ; class QAbstractState * QState::initialState(void) const
+ ?realloc@QString@@AAEXXZ @ 705 NONAME ; void QString::realloc(void)
+ ?hasFormat@QMimeData@@UBE_NABVQString@@@Z @ 706 NONAME ; bool QMimeData::hasFormat(class QString const &) const
+ ?tr@QPauseAnimation@@SA?AVQString@@PBD0H@Z @ 707 NONAME ; class QString QPauseAnimation::tr(char const *, char const *, int)
+ ?connect@QObject@@QBE_NPBV1@PBD1W4ConnectionType@Qt@@@Z @ 708 NONAME ; bool QObject::connect(class QObject const *, char const *, char const *, enum Qt::ConnectionType) const
+ ?errorState@QState@@QBEPAVQAbstractState@@XZ @ 709 NONAME ; class QAbstractState * QState::errorState(void) const
+ ?at@QStringRef@@QBE?BVQChar@@H@Z @ 710 NONAME ; class QChar const QStringRef::at(int) const
+ ?yieldCurrentThread@QThread@@SAXXZ @ 711 NONAME ; void QThread::yieldCurrentThread(void)
+ ?getChar@QIODevice@@QAE_NPAD@Z @ 712 NONAME ; bool QIODevice::getChar(char *)
+ ?qt_metacast@QPluginLoader@@UAEPAXPBD@Z @ 713 NONAME ; void * QPluginLoader::qt_metacast(char const *)
+ ?trUtf8@QTextCodecPlugin@@SA?AVQString@@PBD0H@Z @ 714 NONAME ; class QString QTextCodecPlugin::trUtf8(char const *, char const *, int)
+ ?qRemovePostRoutine@@YAXP6AXXZ@Z @ 715 NONAME ; void qRemovePostRoutine(void (*)(void))
+ ?map@QSignalMapper@@QAEXPAVQObject@@@Z @ 716 NONAME ; void QSignalMapper::map(class QObject *)
+ ?fromAscii_helper@QString@@CAPAUData@1@PBDH@Z @ 717 NONAME ; struct QString::Data * QString::fromAscii_helper(char const *, int)
+ ?trUtf8@QLibrary@@SA?AVQString@@PBD0@Z @ 718 NONAME ; class QString QLibrary::trUtf8(char const *, char const *)
+ ??0QString@@QAE@XZ @ 719 NONAME ; QString::QString(void)
+ ?localeAwareCompare@QString@@QBEHABV1@@Z @ 720 NONAME ; int QString::localeAwareCompare(class QString const &) const
+ ?d_func@QResource@@AAEPAVQResourcePrivate@@XZ @ 721 NONAME ; class QResourcePrivate * QResource::d_func(void)
+ ?qRegisterResourceData@@YA_NHPBE00@Z @ 722 NONAME ; bool qRegisterResourceData(int, unsigned char const *, unsigned char const *, unsigned char const *)
+ ?fileEngine@QFile@@UBEPAVQAbstractFileEngine@@XZ @ 723 NONAME ; class QAbstractFileEngine * QFile::fileEngine(void) const
+ ??1QAbstractState@@UAE@XZ @ 724 NONAME ; QAbstractState::~QAbstractState(void)
+ ?resume@QAbstractAnimation@@QAEXXZ @ 725 NONAME ; void QAbstractAnimation::resume(void)
+ ?addTransition@QState@@QAEPAVQAbstractTransition@@PAV2@@Z @ 726 NONAME ; class QAbstractTransition * QState::addTransition(class QAbstractTransition *)
+ ?rowsRemoved@QAbstractItemModel@@AAEXABVQModelIndex@@HH@Z @ 727 NONAME ; void QAbstractItemModel::rowsRemoved(class QModelIndex const &, int, int)
+ ?intersects@QRect@@QBE_NABV1@@Z @ 728 NONAME ; bool QRect::intersects(class QRect const &) const
+ ?size@QRect@@QBE?AVQSize@@XZ @ 729 NONAME ; class QSize QRect::size(void) const
+ ?isReadable@QIODevice@@QBE_NXZ @ 730 NONAME ; bool QIODevice::isReadable(void) const
+ ?toTime@QVariant@@QBE?AVQTime@@XZ @ 731 NONAME ; class QTime QVariant::toTime(void) const
+ ?toUTC@QDateTime@@QBE?AV1@XZ @ 732 NONAME ; class QDateTime QDateTime::toUTC(void) const
+ ?getRect@QRectF@@QBEXPAM000@Z @ 733 NONAME ; void QRectF::getRect(float *, float *, float *, float *) const
+ ?read@QFSFileEngine@@UAE_JPAD_J@Z @ 734 NONAME ; long long QFSFileEngine::read(char *, long long)
+ ?entryInfoList@QDir@@QBE?AV?$QList@VQFileInfo@@@@V?$QFlags@W4Filter@QDir@@@@V?$QFlags@W4SortFlag@QDir@@@@@Z @ 735 NONAME ; class QList<class QFileInfo> QDir::entryInfoList(class QFlags<enum QDir::Filter>, class QFlags<enum QDir::SortFlag>) const
+ ?daysTo@QDateTime@@QBEHABV1@@Z @ 736 NONAME ; int QDateTime::daysTo(class QDateTime const &) const
+ ??BQUuid@@QBE?AVQString@@XZ @ 737 NONAME ; QUuid::operator class QString(void) const
+ ?mkdir@QAbstractFileEngine@@UBE_NABVQString@@_N@Z @ 738 NONAME ; bool QAbstractFileEngine::mkdir(class QString const &, bool) const
+ ?attributes@QXmlStreamReader@@QBE?AVQXmlStreamAttributes@@XZ @ 739 NONAME ; class QXmlStreamAttributes QXmlStreamReader::attributes(void) const
+ ?tr@QVariantAnimation@@SA?AVQString@@PBD0H@Z @ 740 NONAME ; class QString QVariantAnimation::tr(char const *, char const *, int)
+ ?isRightToLeft@QString@@QBE_NXZ @ 741 NONAME ; bool QString::isRightToLeft(void) const
+ ??4QBitRef@@QAEAAV0@_N@Z @ 742 NONAME ; class QBitRef & QBitRef::operator=(bool)
+ ?sectionType@QDateTimeParser@@QBE?AW4Section@1@H@Z @ 743 NONAME ; enum QDateTimeParser::Section QDateTimeParser::sectionType(int) const
+ ??1QPersistentModelIndex@@QAE@XZ @ 744 NONAME ; QPersistentModelIndex::~QPersistentModelIndex(void)
+ ?qt_metacast@QSequentialAnimationGroup@@UAEPAXPBD@Z @ 745 NONAME ; void * QSequentialAnimationGroup::qt_metacast(char const *)
+ ?isUpper@QCharRef@@QBE_NXZ @ 746 NONAME ; bool QCharRef::isUpper(void) const
+ ?notationName@QXmlStreamEntityDeclaration@@QBE?AVQStringRef@@XZ @ 747 NONAME ; class QStringRef QXmlStreamEntityDeclaration::notationName(void) const
+ ?updateDirection@QParallelAnimationGroup@@MAEXW4Direction@QAbstractAnimation@@@Z @ 748 NONAME ; void QParallelAnimationGroup::updateDirection(enum QAbstractAnimation::Direction)
+ ?setFilter@QDir@@QAEXV?$QFlags@W4Filter@QDir@@@@@Z @ 749 NONAME ; void QDir::setFilter(class QFlags<enum QDir::Filter>)
+ ??4QByteRef@@QAEAAV0@D@Z @ 750 NONAME ; class QByteRef & QByteRef::operator=(char)
+ ?tr@QAbstractItemModel@@SA?AVQString@@PBD0@Z @ 751 NONAME ; class QString QAbstractItemModel::tr(char const *, char const *)
+ ?d_func@QAnimationGroup@@ABEPBVQAnimationGroupPrivate@@XZ @ 752 NONAME ; class QAnimationGroupPrivate const * QAnimationGroup::d_func(void) const
+ ?isMark@QChar@@QBE_NXZ @ 753 NONAME ; bool QChar::isMark(void) const
+ ?arg@QString@@QBE?AV1@ABV1@000@Z @ 754 NONAME ; class QString QString::arg(class QString const &, class QString const &, class QString const &, class QString const &) const
+ ??6QDataStream@@QAEAAV0@_N@Z @ 755 NONAME ; class QDataStream & QDataStream::operator<<(bool)
+ ?tr@QParallelAnimationGroup@@SA?AVQString@@PBD0@Z @ 756 NONAME ; class QString QParallelAnimationGroup::tr(char const *, char const *)
+ ?currentTime@QTimeLine@@QBEHXZ @ 757 NONAME ; int QTimeLine::currentTime(void) const
+ ?prepend@QString@@QAEAAV1@ABVQLatin1String@@@Z @ 758 NONAME ; class QString & QString::prepend(class QLatin1String const &)
+ ?processEvents@QCoreApplication@@SAXV?$QFlags@W4ProcessEventsFlag@QEventLoop@@@@H@Z @ 759 NONAME ; void QCoreApplication::processEvents(class QFlags<enum QEventLoop::ProcessEventsFlag>, int)
+ ?valueToKeys@QMetaEnum@@QBE?AVQByteArray@@H@Z @ 760 NONAME ; class QByteArray QMetaEnum::valueToKeys(int) const
+ ?trUtf8@QPropertyAnimation@@SA?AVQString@@PBD0H@Z @ 761 NONAME ; class QString QPropertyAnimation::trUtf8(char const *, char const *, int)
+ ?clear@QXmlStreamReader@@QAEXXZ @ 762 NONAME ; void QXmlStreamReader::clear(void)
+ ?isSignalConnected@QObjectPrivate@@QBE_NH@Z @ 763 NONAME ; bool QObjectPrivate::isSignalConnected(int) const
+ ?fromJulianDay@QDate@@SA?AV1@H@Z @ 764 NONAME ; class QDate QDate::fromJulianDay(int)
+ ?isValid@QMetaEnum@@QBE_NXZ @ 765 NONAME ; bool QMetaEnum::isValid(void) const
+ ?sendPostedEvents@QCoreApplication@@SAXXZ @ 766 NONAME ; void QCoreApplication::sendPostedEvents(void)
+ ??8QUrl@@QBE_NABV0@@Z @ 767 NONAME ; bool QUrl::operator==(class QUrl const &) const
+ ?d_func@QDir@@AAEPAVQDirPrivate@@XZ @ 768 NONAME ; class QDirPrivate * QDir::d_func(void)
+ ?qCritical@@YA?AVQDebug@@XZ @ 769 NONAME ; class QDebug qCritical(void)
+ ??6@YA?AVQDebug@@V0@ABVQMargins@@@Z @ 770 NONAME ; class QDebug operator<<(class QDebug, class QMargins const &)
+ ?y@QRect@@QBEHXZ @ 771 NONAME ; int QRect::y(void) const
+ ?tr@QObjectCleanupHandler@@SA?AVQString@@PBD0@Z @ 772 NONAME ; class QString QObjectCleanupHandler::tr(char const *, char const *)
+ ?indexOfSlot@QMetaObject@@QBEHPBD@Z @ 773 NONAME ; int QMetaObject::indexOfSlot(char const *) const
+ ?isSequential@QIODevicePrivate@@QBE_NXZ @ 774 NONAME ; bool QIODevicePrivate::isSequential(void) const
+ ?fieldAlignment@QTextStream@@QBE?AW4FieldAlignment@1@XZ @ 775 NONAME ; enum QTextStream::FieldAlignment QTextStream::fieldAlignment(void) const
+ ?squeeze@QString@@QAEXXZ @ 776 NONAME ; void QString::squeeze(void)
+ ?caseSensitivity@QStringMatcher@@QBE?AW4CaseSensitivity@Qt@@XZ @ 777 NONAME ; enum Qt::CaseSensitivity QStringMatcher::caseSensitivity(void) const
+ ?bottomRight@QRect@@QBE?AVQPoint@@XZ @ 778 NONAME ; class QPoint QRect::bottomRight(void) const
+ ?isTitleCase@QCharRef@@QBE_NXZ @ 779 NONAME ; bool QCharRef::isTitleCase(void) const
+ ?receivers@QObject@@IBEHPBD@Z @ 780 NONAME ; int QObject::receivers(char const *) const
+ ?trUtf8@QFile@@SA?AVQString@@PBD0@Z @ 781 NONAME ; class QString QFile::trUtf8(char const *, char const *)
+ ?trUtf8@QEventTransition@@SA?AVQString@@PBD0@Z @ 782 NONAME ; class QString QEventTransition::trUtf8(char const *, char const *)
+ ?setMapping@QSignalMapper@@QAEXPAVQObject@@PAVQWidget@@@Z @ 783 NONAME ; void QSignalMapper::setMapping(class QObject *, class QWidget *)
+ ?qt_metacall@QStateMachine@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 784 NONAME ; int QStateMachine::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?isValid@QMetaProperty@@QBE_NXZ @ 785 NONAME ; bool QMetaProperty::isValid(void) const
+ ?name@QGenericArgument@@QBEPBDXZ @ 786 NONAME ; char const * QGenericArgument::name(void) const
+ ??0QVariant@@QAE@ABV?$QHash@VQString@@VQVariant@@@@@Z @ 787 NONAME ; QVariant::QVariant(class QHash<class QString, class QVariant> const &)
+ ?isSequential@QProcess@@UBE_NXZ @ 788 NONAME ; bool QProcess::isSequential(void) const
+ ?registerCallback@QInternal@@SA_NW4Callback@1@P6A_NPAPAX@Z@Z @ 789 NONAME ; bool QInternal::registerCallback(enum QInternal::Callback, bool (*)(void * *))
+ ?toStringList@QProcessEnvironment@@QBE?AVQStringList@@XZ @ 790 NONAME ; class QStringList QProcessEnvironment::toStringList(void) const
+ ?host@QUrl@@QBE?AVQString@@XZ @ 791 NONAME ; class QString QUrl::host(void) const
+ ?writeEntityReference@QXmlStreamWriter@@QAEXABVQString@@@Z @ 792 NONAME ; void QXmlStreamWriter::writeEntityReference(class QString const &)
+ ?setBottomLeft@QRect@@QAEXABVQPoint@@@Z @ 793 NONAME ; void QRect::setBottomLeft(class QPoint const &)
+ ??_4QRectF@@QAEAAV0@ABV0@@Z @ 794 NONAME ; class QRectF & QRectF::operator&=(class QRectF const &)
+ ?lastIndexIn@QRegExp@@QBEHABVQString@@HW4CaretMode@1@@Z @ 795 NONAME ; int QRegExp::lastIndexIn(class QString const &, int, enum QRegExp::CaretMode) const
+ ??8@YA_NABVQRectF@@0@Z @ 796 NONAME ; bool operator==(class QRectF const &, class QRectF const &)
+ ?trUtf8@QThreadPool@@SA?AVQString@@PBD0H@Z @ 797 NONAME ; class QString QThreadPool::trUtf8(char const *, char const *, int)
+ ?device@QDataStream@@QBEPAVQIODevice@@XZ @ 798 NONAME ; class QIODevice * QDataStream::device(void) const
+ ?blockSignals@QObject@@QAE_N_N@Z @ 799 NONAME ; bool QObject::blockSignals(bool)
+ ?tr@QAbstractTableModel@@SA?AVQString@@PBD0H@Z @ 800 NONAME ; class QString QAbstractTableModel::tr(char const *, char const *, int)
+ ?qt_metacall@QTranslator@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 801 NONAME ; int QTranslator::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?exists@QDir@@QBE_NXZ @ 802 NONAME ; bool QDir::exists(void) const
+ ?compressEvent@QCoreApplication@@MAE_NPAVQEvent@@PAVQObject@@PAVQPostEventList@@@Z @ 803 NONAME ; bool QCoreApplication::compressEvent(class QEvent *, class QObject *, class QPostEventList *)
+ ?isValid@QPersistentModelIndex@@QBE_NXZ @ 804 NONAME ; bool QPersistentModelIndex::isValid(void) const
+ ?dateTimeToString@QLocalePrivate@@QBE?AVQString@@ABV2@PBVQDate@@PBVQTime@@PBVQLocale@@@Z @ 805 NONAME ; class QString QLocalePrivate::dateTimeToString(class QString const &, class QDate const *, class QTime const *, class QLocale const *) const
+ ?text@QMimeData@@QBE?AVQString@@XZ @ 806 NONAME ; class QString QMimeData::text(void) const
+ ?createIndex@QAbstractItemModel@@IBE?AVQModelIndex@@HHH@Z @ 807 NONAME ; class QModelIndex QAbstractItemModel::createIndex(int, int, int) const
+ ?unregisterSignalTransition@QStateMachinePrivate@@QAEXPAVQSignalTransition@@@Z @ 808 NONAME ; void QStateMachinePrivate::unregisterSignalTransition(class QSignalTransition *)
+ ?width@QSize@@QBEHXZ @ 809 NONAME ; int QSize::width(void) const
+ ??0QChar@@QAE@EE@Z @ 810 NONAME ; QChar::QChar(unsigned char, unsigned char)
+ ?qt_metacall@QObject@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 811 NONAME ; int QObject::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?qMemSet@@YAPAXPAXHI@Z @ 812 NONAME ; void * qMemSet(void *, int, unsigned int)
+ ?hasQuery@QUrl@@QBE_NXZ @ 813 NONAME ; bool QUrl::hasQuery(void) const
+ ?format@QSettings@@QBE?AW4Format@1@XZ @ 814 NONAME ; enum QSettings::Format QSettings::format(void) const
+ ?isAbsolutePath@QDir@@SA_NABVQString@@@Z @ 815 NONAME ; bool QDir::isAbsolutePath(class QString const &)
+ ?mkdir@QFSFileEngine@@UBE_NABVQString@@_N@Z @ 816 NONAME ; bool QFSFileEngine::mkdir(class QString const &, bool) const
+ ?init@QAbstractEventDispatcherPrivate@@QAEXXZ @ 817 NONAME ; void QAbstractEventDispatcherPrivate::init(void)
+ ??8QFileInfo@@QAE_NABV0@@Z @ 818 NONAME ; bool QFileInfo::operator==(class QFileInfo const &)
+ ?deleteChildren@QObjectPrivate@@QAEXXZ @ 819 NONAME ; void QObjectPrivate::deleteChildren(void)
+ ?d_func@QAbstractTransition@@AAEPAVQAbstractTransitionPrivate@@XZ @ 820 NONAME ; class QAbstractTransitionPrivate * QAbstractTransition::d_func(void)
+ ?setDirection@QTimeLine@@QAEXW4Direction@1@@Z @ 821 NONAME ; void QTimeLine::setDirection(enum QTimeLine::Direction)
+ ?string@QXmlStreamStringRef@@QBEPBVQString@@XZ @ 822 NONAME ; class QString const * QXmlStreamStringRef::string(void) const
+ ?name@QLocale@@QBE?AVQString@@XZ @ 823 NONAME ; class QString QLocale::name(void) const
+ ??1QBuffer@@UAE@XZ @ 824 NONAME ; QBuffer::~QBuffer(void)
+ ??1QMutex@@QAE@XZ @ 825 NONAME ; QMutex::~QMutex(void)
+ ?trUtf8@QAnimationGroup@@SA?AVQString@@PBD0@Z @ 826 NONAME ; class QString QAnimationGroup::trUtf8(char const *, char const *)
+ ??6@YA?AVQDebug@@V0@ABVQPoint@@@Z @ 827 NONAME ; class QDebug operator<<(class QDebug, class QPoint const &)
+ ?isRoot@QDir@@QBE_NXZ @ 828 NONAME ; bool QDir::isRoot(void) const
+ ??9QByteRef@@QBE_ND@Z @ 829 NONAME ; bool QByteRef::operator!=(char) const
+ ?setTopLeft@QRect@@QAEXABVQPoint@@@Z @ 830 NONAME ; void QRect::setTopLeft(class QPoint const &)
+ ?currentFrame@QTimeLine@@QBEHXZ @ 831 NONAME ; int QTimeLine::currentFrame(void) const
+ ?licensedProducts@QLibraryInfo@@SA?AVQString@@XZ @ 832 NONAME ; class QString QLibraryInfo::licensedProducts(void)
+ ?trUtf8@QCoreApplication@@SA?AVQString@@PBD0H@Z @ 833 NONAME ; class QString QCoreApplication::trUtf8(char const *, char const *, int)
+ ?setUserIniPath@QSettings@@SAXABVQString@@@Z @ 834 NONAME ; void QSettings::setUserIniPath(class QString const &)
+ ?sectionPos@QDateTimeParser@@QBEHABUSectionNode@1@@Z @ 835 NONAME ; int QDateTimeParser::sectionPos(struct QDateTimeParser::SectionNode const &) const
+ ?updateCurrentTime@QPauseAnimation@@MAEXH@Z @ 836 NONAME ; void QPauseAnimation::updateCurrentTime(int)
+ ??1QHBufC@@QAE@XZ @ 837 NONAME ; QHBufC::~QHBufC(void)
+ ??0QRectF@@QAE@ABV0@@Z @ 838 NONAME ; QRectF::QRectF(class QRectF const &)
+ ?sectionName@QDateTimeParser@@QBE?AVQString@@H@Z @ 839 NONAME ; class QString QDateTimeParser::sectionName(int) const
+ ??0QPersistentModelIndex@@QAE@ABV0@@Z @ 840 NONAME ; QPersistentModelIndex::QPersistentModelIndex(class QPersistentModelIndex const &)
+ ?errorString@QSharedMemory@@QBE?AVQString@@XZ @ 841 NONAME ; class QString QSharedMemory::errorString(void) const
+ ?atEnd@QAbstractFileEngine@@QBE_NXZ @ 842 NONAME ; bool QAbstractFileEngine::atEnd(void) const
+ ?type@QSocketNotifier@@QBE?AW4Type@1@XZ @ 843 NONAME ; enum QSocketNotifier::Type QSocketNotifier::type(void) const
+ ?frameForTime@QTimeLine@@QBEHH@Z @ 844 NONAME ; int QTimeLine::frameForTime(int) const
+ ??5QTextStream@@QAEAAV0@PAD@Z @ 845 NONAME ; class QTextStream & QTextStream::operator>>(char *)
+ ??0QFile@@IAE@AAVQFilePrivate@@PAVQObject@@@Z @ 846 NONAME ; QFile::QFile(class QFilePrivate &, class QObject *)
+ ?length@QLineF@@QBEMXZ @ 847 NONAME ; float QLineF::length(void) const
+ ?getStaticMetaObject@QAbstractEventDispatcher@@SAABUQMetaObject@@XZ @ 848 NONAME ; struct QMetaObject const & QAbstractEventDispatcher::getStaticMetaObject(void)
+ ??6QDataStream@@QAEAAV0@F@Z @ 849 NONAME ; class QDataStream & QDataStream::operator<<(short)
+ ?trUtf8@QParallelAnimationGroup@@SA?AVQString@@PBD0H@Z @ 850 NONAME ; class QString QParallelAnimationGroup::trUtf8(char const *, char const *, int)
+ ?pointAt@QLineF@@QBE?AVQPointF@@M@Z @ 851 NONAME ; class QPointF QLineF::pointAt(float) const
+ ?trUtf8@QBuffer@@SA?AVQString@@PBD0@Z @ 852 NONAME ; class QString QBuffer::trUtf8(char const *, char const *)
+ ??0QMetaCallEvent@@QAE@HPBVQObject@@HHPAHPAPAXPAVQSemaphore@@@Z @ 853 NONAME ; QMetaCallEvent::QMetaCallEvent(int, class QObject const *, int, int, int *, void * *, class QSemaphore *)
+ ?tr@QThreadPool@@SA?AVQString@@PBD0@Z @ 854 NONAME ; class QString QThreadPool::tr(char const *, char const *)
+ ?secsTo@QDateTime@@QBEHABV1@@Z @ 855 NONAME ; int QDateTime::secsTo(class QDateTime const &) const
+ ?isEditable@QMetaProperty@@QBE_NPBVQObject@@@Z @ 856 NONAME ; bool QMetaProperty::isEditable(class QObject const *) const
+ ?setProcessState@QProcess@@IAEXW4ProcessState@1@@Z @ 857 NONAME ; void QProcess::setProcessState(enum QProcess::ProcessState)
+ ?adjust@QRectF@@QAEXMMMM@Z @ 858 NONAME ; void QRectF::adjust(float, float, float, float)
+ ??1QMutexPool@@QAE@XZ @ 859 NONAME ; QMutexPool::~QMutexPool(void)
+ ?setParent_helper@QObjectPrivate@@QAEXPAVQObject@@@Z @ 860 NONAME ; void QObjectPrivate::setParent_helper(class QObject *)
+ ?start@QTimeLine@@QAEXXZ @ 861 NONAME ; void QTimeLine::start(void)
+ ?wait@QWaitCondition@@QAE_NPAVQReadWriteLock@@K@Z @ 862 NONAME ; bool QWaitCondition::wait(class QReadWriteLock *, unsigned long)
+ ?number@QString@@SA?AV1@_JH@Z @ 863 NONAME ; class QString QString::number(long long, int)
+ ?getStaticMetaObject@QSignalMapper@@SAABUQMetaObject@@XZ @ 864 NONAME ; struct QMetaObject const & QSignalMapper::getStaticMetaObject(void)
+ ?dumpObjectInfo@QObject@@QAEXXZ @ 865 NONAME ; void QObject::dumpObjectInfo(void)
+ ?tr@QSharedMemory@@SA?AVQString@@PBD0H@Z @ 866 NONAME ; class QString QSharedMemory::tr(char const *, char const *, int)
+ ?setSupportedDragActions@QAbstractItemModel@@QAEXV?$QFlags@W4DropAction@Qt@@@@@Z @ 867 NONAME ; void QAbstractItemModel::setSupportedDragActions(class QFlags<enum Qt::DropAction>)
+ ?userType@QMetaProperty@@QBEHXZ @ 868 NONAME ; int QMetaProperty::userType(void) const
+ ?setEncodedQuery@QUrl@@QAEXABVQByteArray@@@Z @ 869 NONAME ; void QUrl::setEncodedQuery(class QByteArray const &)
+ ?sectionText@QDateTimeParser@@QBE?AVQString@@H@Z @ 870 NONAME ; class QString QDateTimeParser::sectionText(int) const
+ ?setBit@QBitArray@@QAEXH_N@Z @ 871 NONAME ; void QBitArray::setBit(int, bool)
+ ?arg@QString@@QBE?AV1@NHDHABVQChar@@@Z @ 872 NONAME ; class QString QString::arg(double, int, char, int, class QChar const &) const
+ ?fileName@QSettings@@QBE?AVQString@@XZ @ 873 NONAME ; class QString QSettings::fileName(void) const
+ ?match@QAbstractItemModel@@UBE?AV?$QList@VQModelIndex@@@@ABVQModelIndex@@HABVQVariant@@HV?$QFlags@W4MatchFlag@Qt@@@@@Z @ 874 NONAME ; class QList<class QModelIndex> QAbstractItemModel::match(class QModelIndex const &, int, class QVariant const &, int, class QFlags<enum Qt::MatchFlag>) const
+ ?toLine@QVariant@@QBE?AVQLine@@XZ @ 875 NONAME ; class QLine QVariant::toLine(void) const
+ ?writeAttributes@QXmlStreamWriter@@QAEXABVQXmlStreamAttributes@@@Z @ 876 NONAME ; void QXmlStreamWriter::writeAttributes(class QXmlStreamAttributes const &)
+ ?at@QByteArray@@QBEDH@Z @ 877 NONAME ; char QByteArray::at(int) const
+ ??4QByteArray@@QAEAAV0@PBD@Z @ 878 NONAME ; class QByteArray & QByteArray::operator=(char const *)
+ ?map@QSignalMapper@@QAEXXZ @ 879 NONAME ; void QSignalMapper::map(void)
+ ?spontaneous@QEvent@@QBE_NXZ @ 880 NONAME ; bool QEvent::spontaneous(void) const
+ ?remove@QString@@QAEAAV1@VQChar@@W4CaseSensitivity@Qt@@@Z @ 881 NONAME ; class QString & QString::remove(class QChar, enum Qt::CaseSensitivity)
+ ?setCaseSensitivity@QRegExp@@QAEXW4CaseSensitivity@Qt@@@Z @ 882 NONAME ; void QRegExp::setCaseSensitivity(enum Qt::CaseSensitivity)
+ ?remove@QFSFileEngine@@UAE_NXZ @ 883 NONAME ; bool QFSFileEngine::remove(void)
+ ?itemsAboutToBeMoved@QAbstractItemModelPrivate@@QAEXABVQModelIndex@@HH0HW4Orientation@Qt@@@Z @ 884 NONAME ; void QAbstractItemModelPrivate::itemsAboutToBeMoved(class QModelIndex const &, int, int, class QModelIndex const &, int, enum Qt::Orientation)
+ ?invokeMethod@QMetaObject@@SA_NPAVQObject@@PBDW4ConnectionType@Qt@@VQGenericArgument@@333333333@Z @ 885 NONAME ; bool QMetaObject::invokeMethod(class QObject *, char const *, enum Qt::ConnectionType, class QGenericArgument, class QGenericArgument, class QGenericArgument, class QGenericArgument, class QGenericArgument, class QGenericArgument, class QGenericArgument, class QGenericArgument, class QGenericArgument, class QGenericArgument)
+ ?readLine@QTextStream@@QAE?AVQString@@_J@Z @ 886 NONAME ; class QString QTextStream::readLine(long long)
+ ?defaultFormat@QSettings@@SA?AW4Format@1@XZ @ 887 NONAME ; enum QSettings::Format QSettings::defaultFormat(void)
+ ?arg@QString@@QBE?AV1@IHHABVQChar@@@Z @ 888 NONAME ; class QString QString::arg(unsigned int, int, int, class QChar const &) const
+ ?invokeMethod@QMetaObject@@SA_NPAVQObject@@PBDVQGenericArgument@@222222222@Z @ 889 NONAME ; bool QMetaObject::invokeMethod(class QObject *, char const *, class QGenericArgument, class QGenericArgument, class QGenericArgument, class QGenericArgument, class QGenericArgument, class QGenericArgument, class QGenericArgument, class QGenericArgument, class QGenericArgument, class QGenericArgument)
+ ?arg@QString@@QBE?AV1@_JHHABVQChar@@@Z @ 890 NONAME ; class QString QString::arg(long long, int, int, class QChar const &) const
+ ??0QTextStream@@QAE@PAVQByteArray@@V?$QFlags@W4OpenModeFlag@QIODevice@@@@@Z @ 891 NONAME ; QTextStream::QTextStream(class QByteArray *, class QFlags<enum QIODevice::OpenModeFlag>)
+ ?qt_metacast@QTimer@@UAEPAXPBD@Z @ 892 NONAME ; void * QTimer::qt_metacast(char const *)
+ ?fromEncoded@QUrl@@SA?AV1@ABVQByteArray@@@Z @ 893 NONAME ; class QUrl QUrl::fromEncoded(class QByteArray const &)
+ ??_EQBuffer@@UAE@I@Z @ 894 NONAME ; QBuffer::~QBuffer(unsigned int)
+ ?path@QUrl@@QBE?AVQString@@XZ @ 895 NONAME ; class QString QUrl::path(void) const
+ ?zeroDigit@QLocale@@QBE?AVQChar@@XZ @ 896 NONAME ; class QChar QLocale::zeroDigit(void) const
+ ??0QReadWriteLock@@QAE@XZ @ 897 NONAME ; QReadWriteLock::QReadWriteLock(void)
+ ?errorString@QStateMachine@@QBE?AVQString@@XZ @ 898 NONAME ; class QString QStateMachine::errorString(void) const
+ ?constEnd@QString@@QBEPBVQChar@@XZ @ 899 NONAME ; class QChar const * QString::constEnd(void) const
+ ??9QPersistentModelIndex@@QBE_NABVQModelIndex@@@Z @ 900 NONAME ; bool QPersistentModelIndex::operator!=(class QModelIndex const &) const
+ ?isLibrary@QLibrary@@SA_NABVQString@@@Z @ 901 NONAME ; bool QLibrary::isLibrary(class QString const &)
+ ?port@QUrl@@QBEHXZ @ 902 NONAME ; int QUrl::port(void) const
+ ?toLatin1@QCharRef@@QBEDXZ @ 903 NONAME ; char QCharRef::toLatin1(void) const
+ ?shared_null@QString@@0UData@1@A @ 904 NONAME ; struct QString::Data QString::shared_null
+ ?isEmpty@QBitArray@@QBE_NXZ @ 905 NONAME ; bool QBitArray::isEmpty(void) const
+ ?isEmpty@QListData@@QBE_NXZ @ 906 NONAME ; bool QListData::isEmpty(void) const
+ ?resetDeleteWatch@QObjectPrivate@@SAXPAV1@PAHH@Z @ 907 NONAME ; void QObjectPrivate::resetDeleteWatch(class QObjectPrivate *, int *, int)
+ ?nameFilters@QAbstractFileEngineIterator@@QBE?AVQStringList@@XZ @ 908 NONAME ; class QStringList QAbstractFileEngineIterator::nameFilters(void) const
+ ?hasMirrored@QCharRef@@QBE_NXZ @ 909 NONAME ; bool QCharRef::hasMirrored(void) const
+ ?animationCount@QAnimationGroup@@QBEHXZ @ 910 NONAME ; int QAnimationGroup::animationCount(void) const
+ ?secsTo@QTime@@QBEHABV1@@Z @ 911 NONAME ; int QTime::secsTo(class QTime const &) const
+ ?trUtf8@QProcess@@SA?AVQString@@PBD0H@Z @ 912 NONAME ; class QString QProcess::trUtf8(char const *, char const *, int)
+ ?peek@QIODevice@@QAE_JPAD_J@Z @ 913 NONAME ; long long QIODevice::peek(char *, long long)
+ ??0QUuid@@QAE@PBD@Z @ 914 NONAME ; QUuid::QUuid(char const *)
+ ??0QCharRef@@AAE@AAVQString@@H@Z @ 915 NONAME ; QCharRef::QCharRef(class QString &, int)
+ ?eventTest@QSignalTransition@@MAE_NPAVQEvent@@@Z @ 916 NONAME ; bool QSignalTransition::eventTest(class QEvent *)
+ ?internalSafetyCheckAdd2@QtSharedPointer@@YAXPBXPDX@Z @ 917 NONAME ; void QtSharedPointer::internalSafetyCheckAdd2(void const *, void const volatile *)
+ ??0QAbstractAnimation@@QAE@PAVQObject@@@Z @ 918 NONAME ; QAbstractAnimation::QAbstractAnimation(class QObject *)
+ ?setNum@QString@@QAEAAV1@GH@Z @ 919 NONAME ; class QString & QString::setNum(unsigned short, int)
+ ?namespaceUri@QXmlStreamAttribute@@QBE?AVQStringRef@@XZ @ 920 NONAME ; class QStringRef QXmlStreamAttribute::namespaceUri(void) const
+ ??_EQCoreApplication@@UAE@I@Z @ 921 NONAME ; QCoreApplication::~QCoreApplication(unsigned int)
+ ?bin@@YAAAVQTextStream@@AAV1@@Z @ 922 NONAME ; class QTextStream & bin(class QTextStream &)
+ ?rootState@QStateMachinePrivate@@QBEPAVQState@@XZ @ 923 NONAME ; class QState * QStateMachinePrivate::rootState(void) const
+ ?toULongLong@QByteArray@@QBE_KPA_NH@Z @ 924 NONAME ; unsigned long long QByteArray::toULongLong(bool *, int) const
+ ?addSecs@QTime@@QBE?AV1@H@Z @ 925 NONAME ; class QTime QTime::addSecs(int) const
+ ?bottomLeft@QRectF@@QBE?AVQPointF@@XZ @ 926 NONAME ; class QPointF QRectF::bottomLeft(void) const
+ ?qt_metacall@QAbstractTransition@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 927 NONAME ; int QAbstractTransition::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ??9QTime@@QBE_NABV0@@Z @ 928 NONAME ; bool QTime::operator!=(class QTime const &) const
+ ?iterationCount@QEventDispatcherSymbian@@QBEHXZ @ 929 NONAME ; int QEventDispatcherSymbian::iterationCount(void) const
+ ??DQHBufC@@QBEABVHBufC16@@XZ @ 930 NONAME ; class HBufC16 const & QHBufC::operator*(void) const
+ ?setEncodedPath@QUrl@@QAEXABVQByteArray@@@Z @ 931 NONAME ; void QUrl::setEncodedPath(class QByteArray const &)
+ ?d_func@QObject@@AAEPAVQObjectPrivate@@XZ @ 932 NONAME ; class QObjectPrivate * QObject::d_func(void)
+ ?qt_metacast@QAbstractEventDispatcher@@UAEPAXPBD@Z @ 933 NONAME ; void * QAbstractEventDispatcher::qt_metacast(char const *)
+ ?firstNode@QHashData@@QAEPAUNode@1@XZ @ 934 NONAME ; struct QHashData::Node * QHashData::firstNode(void)
+ ?argc@QCoreApplication@@SAHXZ @ 935 NONAME ; int QCoreApplication::argc(void)
+ ?relativeFilePath@QDir@@QBE?AVQString@@ABV2@@Z @ 936 NONAME ; class QString QDir::relativeFilePath(class QString const &) const
+ ?findDay@QDateTimeParser@@QBEHABVQString@@HHPAV2@PAH@Z @ 937 NONAME ; int QDateTimeParser::findDay(class QString const &, int, int, class QString *, int *) const
+ ??0QVariant@@QAE@ABV?$QMap@VQString@@VQVariant@@@@@Z @ 938 NONAME ; QVariant::QVariant(class QMap<class QString, class QVariant> const &)
+ ??0QEventLoop@@QAE@PAVQObject@@@Z @ 939 NONAME ; QEventLoop::QEventLoop(class QObject *)
+ ?toBitArray@QVariant@@QBE?AVQBitArray@@XZ @ 940 NONAME ; class QBitArray QVariant::toBitArray(void) const
+ ?qHash@@YAIABVQStringRef@@@Z @ 941 NONAME ; unsigned int qHash(class QStringRef const &)
+ ?contains@QRectF@@QBE_NMM@Z @ 942 NONAME ; bool QRectF::contains(float, float) const
+ ??0QTimer@@QAE@PAVQObject@@@Z @ 943 NONAME ; QTimer::QTimer(class QObject *)
+ ?isEmpty@QSize@@QBE_NXZ @ 944 NONAME ; bool QSize::isEmpty(void) const
+ ??0QState@@QAE@W4ChildMode@0@PAV0@@Z @ 945 NONAME ; QState::QState(enum QState::ChildMode, class QState *)
+ ?fromPunycode@QUrl@@SA?AVQString@@ABVQByteArray@@@Z @ 946 NONAME ; class QString QUrl::fromPunycode(class QByteArray const &)
+ ?trUtf8@QEventLoop@@SA?AVQString@@PBD0H@Z @ 947 NONAME ; class QString QEventLoop::trUtf8(char const *, char const *, int)
+ ?testAttribute@QCoreApplication@@SA_NW4ApplicationAttribute@Qt@@@Z @ 948 NONAME ; bool QCoreApplication::testAttribute(enum Qt::ApplicationAttribute)
+ ?compare@QString@@QBEHABVQStringRef@@W4CaseSensitivity@Qt@@@Z @ 949 NONAME ; int QString::compare(class QStringRef const &, enum Qt::CaseSensitivity) const
+ ?setEventSource@QEventTransition@@QAEXPAVQObject@@@Z @ 950 NONAME ; void QEventTransition::setEventSource(class QObject *)
+ ?toPreviousBoundary@QTextBoundaryFinder@@QAEHXZ @ 951 NONAME ; int QTextBoundaryFinder::toPreviousBoundary(void)
+ ?resize@QFile@@SA_NABVQString@@_J@Z @ 952 NONAME ; bool QFile::resize(class QString const &, long long)
+ ??0QSharedData@@QAE@ABV0@@Z @ 953 NONAME ; QSharedData::QSharedData(class QSharedData const &)
+ ??5QTextStream@@QAEAAV0@AAN@Z @ 954 NONAME ; class QTextStream & QTextStream::operator>>(double &)
+ ??8QModelIndex@@QBE_NABV0@@Z @ 955 NONAME ; bool QModelIndex::operator==(class QModelIndex const &) const
+ ?separator@QDir@@SA?AVQChar@@XZ @ 956 NONAME ; class QChar QDir::separator(void)
+ ?append@QString@@QAEAAV1@ABVQByteArray@@@Z @ 957 NONAME ; class QString & QString::append(class QByteArray const &)
+ ?defaultAnimations@QStateMachine@@QBE?AV?$QList@PAVQAbstractAnimation@@@@XZ @ 958 NONAME ; class QList<class QAbstractAnimation *> QStateMachine::defaultAnimations(void) const
+ ?setFileName@QFSFileEngine@@UAEXABVQString@@@Z @ 959 NONAME ; void QFSFileEngine::setFileName(class QString const &)
+ ??1QAnimationGroup@@UAE@XZ @ 960 NONAME ; QAnimationGroup::~QAnimationGroup(void)
+ ?reserve@QByteArray@@QAEXH@Z @ 961 NONAME ; void QByteArray::reserve(int)
+ ?isSequential@QIODevice@@UBE_NXZ @ 962 NONAME ; bool QIODevice::isSequential(void) const
+ ??0QChar@@QAE@H@Z @ 963 NONAME ; QChar::QChar(int)
+ ?qIsNaN@@YA_NM@Z @ 964 NONAME ; bool qIsNaN(float)
+ ?data@QModelIndex@@QBE?AVQVariant@@H@Z @ 965 NONAME ; class QVariant QModelIndex::data(int) const
+ ?constData@QSharedMemory@@QBEPBXXZ @ 966 NONAME ; void const * QSharedMemory::constData(void) const
+ ??0QTextDecoder@@QAE@PBVQTextCodec@@@Z @ 967 NONAME ; QTextDecoder::QTextDecoder(class QTextCodec const *)
+ ??6@YAAAVQDataStream@@AAV0@ABVQVariant@@@Z @ 968 NONAME ; class QDataStream & operator<<(class QDataStream &, class QVariant const &)
+ ?applicationDirPath@QCoreApplication@@SA?AVQString@@XZ @ 969 NONAME ; class QString QCoreApplication::applicationDirPath(void)
+ ?entityResolver@QXmlStreamReader@@QBEPAVQXmlStreamEntityResolver@@XZ @ 970 NONAME ; class QXmlStreamEntityResolver * QXmlStreamReader::entityResolver(void) const
+ ??5@YAAAVQDataStream@@AAV0@AAVQDate@@@Z @ 971 NONAME ; class QDataStream & operator>>(class QDataStream &, class QDate &)
+ ?toULongLong@QVariant@@QBE_KPA_N@Z @ 972 NONAME ; unsigned long long QVariant::toULongLong(bool *) const
+ ?scope@QMetaEnum@@QBEPBDXZ @ 973 NONAME ; char const * QMetaEnum::scope(void) const
+ ?isDTD@QXmlStreamReader@@QBE_NXZ @ 974 NONAME ; bool QXmlStreamReader::isDTD(void) const
+ ?value@QMetaEnum@@QBEHH@Z @ 975 NONAME ; int QMetaEnum::value(int) const
+ ?tr@QSignalTransition@@SA?AVQString@@PBD0H@Z @ 976 NONAME ; class QString QSignalTransition::tr(char const *, char const *, int)
+ ?qrand@@YAHXZ @ 977 NONAME ; int qrand(void)
+ ?quit@QEventLoop@@QAEXXZ @ 978 NONAME ; void QEventLoop::quit(void)
+ ??0QXmlStreamWriter@@QAE@XZ @ 979 NONAME ; QXmlStreamWriter::QXmlStreamWriter(void)
+ ?trUtf8@QTemporaryFile@@SA?AVQString@@PBD0H@Z @ 980 NONAME ; class QString QTemporaryFile::trUtf8(char const *, char const *, int)
+ ?standaloneMonthName@QLocale@@QBE?AVQString@@HW4FormatType@1@@Z @ 981 NONAME ; class QString QLocale::standaloneMonthName(int, enum QLocale::FormatType) const
+ ?namespaceProcessing@QXmlStreamReader@@QBE_NXZ @ 982 NONAME ; bool QXmlStreamReader::namespaceProcessing(void) const
+ ?state@QAbstractAnimation@@QBE?AW4State@1@XZ @ 983 NONAME ; enum QAbstractAnimation::State QAbstractAnimation::state(void) const
+ ?enclosingMetaObject@QMetaEnum@@QBEPBUQMetaObject@@XZ @ 984 NONAME ; struct QMetaObject const * QMetaEnum::enclosingMetaObject(void) const
+ ?disconnect@QObject@@QAE_NPBDPBV1@0@Z @ 985 NONAME ; bool QObject::disconnect(char const *, class QObject const *, char const *)
+ ??9QString@@QBE_NPBD@Z @ 986 NONAME ; bool QString::operator!=(char const *) const
+ ?addDeferredActiveObject@QEventDispatcherSymbian@@QAEXPAVQActiveObject@@@Z @ 987 NONAME ; void QEventDispatcherSymbian::addDeferredActiveObject(class QActiveObject *)
+ ?beginMicrostep@QStateMachine@@MAEXPAVQEvent@@@Z @ 988 NONAME ; void QStateMachine::beginMicrostep(class QEvent *)
+ ?parent@QAbstractTableModel@@EBE?AVQModelIndex@@ABV2@@Z @ 989 NONAME ; class QModelIndex QAbstractTableModel::parent(class QModelIndex const &) const
+ ?createProperty@QAbstractDynamicMetaObject@@UAEHPBD0@Z @ 990 NONAME ; int QAbstractDynamicMetaObject::createProperty(char const *, char const *)
+ ??0QSemaphore@@QAE@H@Z @ 991 NONAME ; QSemaphore::QSemaphore(int)
+ ?stop@QBasicTimer@@QAEXXZ @ 992 NONAME ; void QBasicTimer::stop(void)
+ ?standaloneDayName@QLocale@@QBE?AVQString@@HW4FormatType@1@@Z @ 993 NONAME ; class QString QLocale::standaloneDayName(int, enum QLocale::FormatType) const
+ ?replace@QString@@QAEAAV1@VQChar@@0W4CaseSensitivity@Qt@@@Z @ 994 NONAME ; class QString & QString::replace(class QChar, class QChar, enum Qt::CaseSensitivity)
+ ?addAnimation@QAnimationGroup@@QAEXPAVQAbstractAnimation@@@Z @ 995 NONAME ; void QAnimationGroup::addAnimation(class QAbstractAnimation *)
+ ??8QProcessEnvironment@@QBE_NABV0@@Z @ 996 NONAME ; bool QProcessEnvironment::operator==(class QProcessEnvironment const &) const
+ ?isDetached@QString@@QBE_NXZ @ 997 NONAME ; bool QString::isDetached(void) const
+ ??0QAbstractTableModel@@IAE@AAVQAbstractItemModelPrivate@@PAVQObject@@@Z @ 998 NONAME ; QAbstractTableModel::QAbstractTableModel(class QAbstractItemModelPrivate &, class QObject *)
+ ?disconnectNotify@QBuffer@@MAEXPBD@Z @ 999 NONAME ; void QBuffer::disconnectNotify(char const *)
+ ??0QSharedMemory@@QAE@PAVQObject@@@Z @ 1000 NONAME ; QSharedMemory::QSharedMemory(class QObject *)
+ ?constData@QByteArray@@QBEPBDXZ @ 1001 NONAME ; char const * QByteArray::constData(void) const
+ ?setOpenMode@QIODevice@@IAEXV?$QFlags@W4OpenModeFlag@QIODevice@@@@@Z @ 1002 NONAME ; void QIODevice::setOpenMode(class QFlags<enum QIODevice::OpenModeFlag>)
+ ?getStaticMetaObject@QAbstractAnimation@@SAABUQMetaObject@@XZ @ 1003 NONAME ; struct QMetaObject const & QAbstractAnimation::getStaticMetaObject(void)
+ ?data_ptr@QBitArray@@QAEAAPAUData@QByteArray@@XZ @ 1004 NONAME ; struct QByteArray::Data * & QBitArray::data_ptr(void)
+ ?stateEntryLessThan@QStateMachinePrivate@@SA_NPAVQAbstractState@@0@Z @ 1005 NONAME ; bool QStateMachinePrivate::stateEntryLessThan(class QAbstractState *, class QAbstractState *)
+ ?home@QDir@@SA?AV1@XZ @ 1006 NONAME ; class QDir QDir::home(void)
+ ??0QStringRef@@QAE@PBVQString@@HH@Z @ 1007 NONAME ; QStringRef::QStringRef(class QString const *, int, int)
+ ?setNum@QByteArray@@QAEAAV1@MDH@Z @ 1008 NONAME ; class QByteArray & QByteArray::setNum(float, char, int)
+ ?qt_metacall@QPauseAnimation@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 1009 NONAME ; int QPauseAnimation::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?moveTo@QRect@@QAEXHH@Z @ 1010 NONAME ; void QRect::moveTo(int, int)
+ ?tr@QState@@SA?AVQString@@PBD0@Z @ 1011 NONAME ; class QString QState::tr(char const *, char const *)
+ ?fromUserInput@QUrl@@SA?AV1@ABVQString@@@Z @ 1012 NONAME ; class QUrl QUrl::fromUserInput(class QString const &)
+ ??4QXmlStreamNamespaceDeclaration@@QAEAAV0@ABV0@@Z @ 1013 NONAME ; class QXmlStreamNamespaceDeclaration & QXmlStreamNamespaceDeclaration::operator=(class QXmlStreamNamespaceDeclaration const &)
+ ?timerEvent@QTimeLine@@MAEXPAVQTimerEvent@@@Z @ 1014 NONAME ; void QTimeLine::timerEvent(class QTimerEvent *)
+ ?setFile@QFileInfo@@QAEXABVQFile@@@Z @ 1015 NONAME ; void QFileInfo::setFile(class QFile const &)
+ ?setAutoRemove@QTemporaryFile@@QAEX_N@Z @ 1016 NONAME ; void QTemporaryFile::setAutoRemove(bool)
+ ?direction@QChar@@QBE?AW4Direction@1@XZ @ 1017 NONAME ; enum QChar::Direction QChar::direction(void) const
+ ?append@QString@@QAEAAV1@PBD@Z @ 1018 NONAME ; class QString & QString::append(char const *)
+ ?reserve@QString@@QAEXH@Z @ 1019 NONAME ; void QString::reserve(int)
+ ?makeDecoder@QTextCodec@@QBEPAVQTextDecoder@@XZ @ 1020 NONAME ; class QTextDecoder * QTextCodec::makeDecoder(void) const
+ ??0QHistoryState@@QAE@PAVQState@@@Z @ 1021 NONAME ; QHistoryState::QHistoryState(class QState *)
+ ?instance@QCoreApplication@@SAPAV1@XZ @ 1022 NONAME ; class QCoreApplication * QCoreApplication::instance(void)
+ ?setTime_t@QDateTime@@QAEXI@Z @ 1023 NONAME ; void QDateTime::setTime_t(unsigned int)
+ ?positiveSign@QLocale@@QBE?AVQChar@@XZ @ 1024 NONAME ; class QChar QLocale::positiveSign(void) const
+ ?open@QBuffer@@UAE_NV?$QFlags@W4OpenModeFlag@QIODevice@@@@@Z @ 1025 NONAME ; bool QBuffer::open(class QFlags<enum QIODevice::OpenModeFlag>)
+ ?isNull@QChar@@QBE_NXZ @ 1026 NONAME ; bool QChar::isNull(void) const
+ ??_EQProcess@@UAE@I@Z @ 1027 NONAME ; QProcess::~QProcess(unsigned int)
+ ?save@QVariant@@QBEXAAVQDataStream@@@Z @ 1028 NONAME ; void QVariant::save(class QDataStream &) const
+ ??0QAbstractEventDispatcher@@IAE@AAVQAbstractEventDispatcherPrivate@@PAVQObject@@@Z @ 1029 NONAME ; QAbstractEventDispatcher::QAbstractEventDispatcher(class QAbstractEventDispatcherPrivate &, class QObject *)
+ ?addResourceSearchPath@QDir@@SAXABVQString@@@Z @ 1030 NONAME ; void QDir::addResourceSearchPath(class QString const &)
+ ?writeDefaultNamespace@QXmlStreamWriter@@QAEXABVQString@@@Z @ 1031 NONAME ; void QXmlStreamWriter::writeDefaultNamespace(class QString const &)
+ ?read@QAbstractFileEngine@@UAE_JPAD_J@Z @ 1032 NONAME ; long long QAbstractFileEngine::read(char *, long long)
+ ?html@QMimeData@@QBE?AVQString@@XZ @ 1033 NONAME ; class QString QMimeData::html(void) const
+ ?toBase64@QByteArray@@QBE?AV1@XZ @ 1034 NONAME ; class QByteArray QByteArray::toBase64(void) const
+ ?supportsExtension@QFSFileEngine@@UBE_NW4Extension@QAbstractFileEngine@@@Z @ 1035 NONAME ; bool QFSFileEngine::supportsExtension(enum QAbstractFileEngine::Extension) const
+ ??1QSemaphore@@QAE@XZ @ 1036 NONAME ; QSemaphore::~QSemaphore(void)
+ ?colorData@QMimeData@@QBE?AVQVariant@@XZ @ 1037 NONAME ; class QVariant QMimeData::colorData(void) const
+ ?rehash@QHashData@@QAEXH@Z @ 1038 NONAME ; void QHashData::rehash(int)
+ ?setOrganizationName@QCoreApplication@@SAXABVQString@@@Z @ 1039 NONAME ; void QCoreApplication::setOrganizationName(class QString const &)
+ ?number@QString@@SA?AV1@IH@Z @ 1040 NONAME ; class QString QString::number(unsigned int, int)
+ ??4QCharRef@@QAEAAV0@ABV0@@Z @ 1041 NONAME ; class QCharRef & QCharRef::operator=(class QCharRef const &)
+ ?toShort@QString@@QBEFPA_NH@Z @ 1042 NONAME ; short QString::toShort(bool *, int) const
+ ?toByteArray@QVariant@@QBE?AVQByteArray@@XZ @ 1043 NONAME ; class QByteArray QVariant::toByteArray(void) const
+ ?senderObject@QSignalTransition@@QBEPAVQObject@@XZ @ 1044 NONAME ; class QObject * QSignalTransition::senderObject(void) const
+ ?headerData@QAbstractItemModel@@UBE?AVQVariant@@HW4Orientation@Qt@@H@Z @ 1045 NONAME ; class QVariant QAbstractItemModel::headerData(int, enum Qt::Orientation, int) const
+ ?toUShort@QString@@QBEGPA_NH@Z @ 1046 NONAME ; unsigned short QString::toUShort(bool *, int) const
+ ??0QVariant@@QAE@ABVQPointF@@@Z @ 1047 NONAME ; QVariant::QVariant(class QPointF const &)
+ ??0QVariant@@QAE@N@Z @ 1048 NONAME ; QVariant::QVariant(double)
+ ?contains@QProcessEnvironment@@QBE_NABVQString@@@Z @ 1049 NONAME ; bool QProcessEnvironment::contains(class QString const &) const
+ ?toDouble@QVariant@@QBENPA_N@Z @ 1050 NONAME ; double QVariant::toDouble(bool *) const
+ ?lastIndexOf@QString@@QBEHABV1@HW4CaseSensitivity@Qt@@@Z @ 1051 NONAME ; int QString::lastIndexOf(class QString const &, int, enum Qt::CaseSensitivity) const
+ ??4QTextBoundaryFinder@@QAEAAV0@ABV0@@Z @ 1052 NONAME ; class QTextBoundaryFinder & QTextBoundaryFinder::operator=(class QTextBoundaryFinder const &)
+ ?setEasingCurve@QTimeLine@@QAEXABVQEasingCurve@@@Z @ 1053 NONAME ; void QTimeLine::setEasingCurve(class QEasingCurve const &)
+ ?isValid@QRegExp@@QBE_NXZ @ 1054 NONAME ; bool QRegExp::isValid(void) const
+ ?d_func@QState@@ABEPBVQStatePrivate@@XZ @ 1055 NONAME ; class QStatePrivate const * QState::d_func(void) const
+ ??5@YAAAVQDataStream@@AAV0@AAVQLocale@@@Z @ 1056 NONAME ; class QDataStream & operator>>(class QDataStream &, class QLocale &)
+ ?clearAnimations@QAnimationGroup@@QAEXXZ @ 1057 NONAME ; void QAnimationGroup::clearAnimations(void)
+ ?toFloat@QString@@QBEMPA_N@Z @ 1058 NONAME ; float QString::toFloat(bool *) const
+ ?kill@QProcess@@QAEXXZ @ 1059 NONAME ; void QProcess::kill(void)
+ ?d_func@QResource@@ABEPBVQResourcePrivate@@XZ @ 1060 NONAME ; class QResourcePrivate const * QResource::d_func(void) const
+ ?onEntry@QHistoryState@@MAEXPAVQEvent@@@Z @ 1061 NONAME ; void QHistoryState::onEntry(class QEvent *)
+ ?moveTopRight@QRectF@@QAEXABVQPointF@@@Z @ 1062 NONAME ; void QRectF::moveTopRight(class QPointF const &)
+ ?registerUserData@QObject@@SAIXZ @ 1063 NONAME ; unsigned int QObject::registerUserData(void)
+ ?supportedDropActions@QAbstractItemModel@@UBE?AV?$QFlags@W4DropAction@Qt@@@@XZ @ 1064 NONAME ; class QFlags<enum Qt::DropAction> QAbstractItemModel::supportedDropActions(void) const
+ ?append@QString@@QAEAAV1@ABV1@@Z @ 1065 NONAME ; class QString & QString::append(class QString const &)
+ ?timerId@QTimer@@QBEHXZ @ 1066 NONAME ; int QTimer::timerId(void) const
+ ?valueChanged@QTimeLine@@IAEXM@Z @ 1067 NONAME ; void QTimeLine::valueChanged(float)
+ ?toTitleCase@QChar@@SAII@Z @ 1068 NONAME ; unsigned int QChar::toTitleCase(unsigned int)
+ ?event@QAbstractTransition@@MAE_NPAVQEvent@@@Z @ 1069 NONAME ; bool QAbstractTransition::event(class QEvent *)
+ ?getStaticMetaObject@QPluginLoader@@SAABUQMetaObject@@XZ @ 1070 NONAME ; struct QMetaObject const & QPluginLoader::getStaticMetaObject(void)
+ ??0QHBufC@@QAE@PAVHBufC16@@@Z @ 1071 NONAME ; QHBufC::QHBufC(class HBufC16 *)
+ ?split@QString@@QBE?AVQStringList@@ABV1@W4SplitBehavior@1@W4CaseSensitivity@Qt@@@Z @ 1072 NONAME ; class QStringList QString::split(class QString const &, enum QString::SplitBehavior, enum Qt::CaseSensitivity) const
+ ?destroy@QMetaType@@SAXHPAX@Z @ 1073 NONAME ; void QMetaType::destroy(int, void *)
+ ??5QDataStream@@QAEAAV0@AAI@Z @ 1074 NONAME ; class QDataStream & QDataStream::operator>>(unsigned int &)
+ ?errorString@QAbstractFileEngine@@QBE?AVQString@@XZ @ 1075 NONAME ; class QString QAbstractFileEngine::errorString(void) const
+ ?dateTimeFormat@QLocale@@QBE?AVQString@@W4FormatType@1@@Z @ 1076 NONAME ; class QString QLocale::dateTimeFormat(enum QLocale::FormatType) const
+ ?fetchMore@QAbstractItemModel@@UAEXABVQModelIndex@@@Z @ 1077 NONAME ; void QAbstractItemModel::fetchMore(class QModelIndex const &)
+ ?event@QPauseAnimation@@MAE_NPAVQEvent@@@Z @ 1078 NONAME ; bool QPauseAnimation::event(class QEvent *)
+ ??_EQAbstractDynamicMetaObject@@UAE@I@Z @ 1079 NONAME ; QAbstractDynamicMetaObject::~QAbstractDynamicMetaObject(unsigned int)
+ ?sectionSize@QDateTimeParser@@QBEHH@Z @ 1080 NONAME ; int QDateTimeParser::sectionSize(int) const
+ ?setAutoFormattingIndent@QXmlStreamWriter@@QAEXH@Z @ 1081 NONAME ; void QXmlStreamWriter::setAutoFormattingIndent(int)
+ ?setSize@QAbstractFileEngine@@UAE_N_J@Z @ 1082 NONAME ; bool QAbstractFileEngine::setSize(long long)
+ ?d_func@QSignalTransition@@ABEPBVQSignalTransitionPrivate@@XZ @ 1083 NONAME ; class QSignalTransitionPrivate const * QSignalTransition::d_func(void) const
+ ?string@QTextBoundaryFinder@@QBE?AVQString@@XZ @ 1084 NONAME ; class QString QTextBoundaryFinder::string(void) const
+ ??MQPersistentModelIndex@@QBE_NABV0@@Z @ 1085 NONAME ; bool QPersistentModelIndex::operator<(class QPersistentModelIndex const &) const
+ ?isAtomic@QStateMachinePrivate@@QBE_NPBVQAbstractState@@@Z @ 1086 NONAME ; bool QStateMachinePrivate::isAtomic(class QAbstractState const *) const
+ ?toRegExp@QVariant@@QBE?AVQRegExp@@XZ @ 1087 NONAME ; class QRegExp QVariant::toRegExp(void) const
+ ?enclosingMetaObject@QMetaMethod@@QBEPBUQMetaObject@@XZ @ 1088 NONAME ; struct QMetaObject const * QMetaMethod::enclosingMetaObject(void) const
+ ?hasEncodedQueryItem@QUrl@@QBE_NABVQByteArray@@@Z @ 1089 NONAME ; bool QUrl::hasEncodedQueryItem(class QByteArray const &) const
+ ?objectDestroyed@QObjectCleanupHandler@@AAEXPAVQObject@@@Z @ 1090 NONAME ; void QObjectCleanupHandler::objectDestroyed(class QObject *)
+ ?fromRawData@QString@@SA?AV1@PBVQChar@@H@Z @ 1091 NONAME ; class QString QString::fromRawData(class QChar const *, int)
+ ?stringToUnsLongLong@QLocalePrivate@@QBE_KABVQString@@HPA_NW4GroupSeparatorMode@1@@Z @ 1092 NONAME ; unsigned long long QLocalePrivate::stringToUnsLongLong(class QString const &, int, bool *, enum QLocalePrivate::GroupSeparatorMode) const
+ ?signalsBlocked@QObject@@QBE_NXZ @ 1093 NONAME ; bool QObject::signalsBlocked(void) const
+ ?endInsertColumns@QAbstractItemModel@@IAEXXZ @ 1094 NONAME ; void QAbstractItemModel::endInsertColumns(void)
+ ??PQString@@QBE_NABVQByteArray@@@Z @ 1095 NONAME ; bool QString::operator>=(class QByteArray const &) const
+ ?placeMetaCall@QMetaCallEvent@@UAEHPAVQObject@@@Z @ 1096 NONAME ; int QMetaCallEvent::placeMetaCall(class QObject *)
+ ??_EQAbstractListModel@@UAE@I@Z @ 1097 NONAME ; QAbstractListModel::~QAbstractListModel(unsigned int)
+ ??1QCryptographicHash@@QAE@XZ @ 1098 NONAME ; QCryptographicHash::~QCryptographicHash(void)
+ ?staticMetaObject@QFinalState@@2UQMetaObject@@B @ 1099 NONAME ; struct QMetaObject const QFinalState::staticMetaObject
+ ?isLoaded@QPluginLoader@@QBE_NXZ @ 1100 NONAME ; bool QPluginLoader::isLoaded(void) const
+ ?removeRows@QAbstractItemModel@@UAE_NHHABVQModelIndex@@@Z @ 1101 NONAME ; bool QAbstractItemModel::removeRows(int, int, class QModelIndex const &)
+ ?d_func@QMimeData@@AAEPAVQMimeDataPrivate@@XZ @ 1102 NONAME ; class QMimeDataPrivate * QMimeData::d_func(void)
+ ?setNum@QString@@QAEAAV1@IH@Z @ 1103 NONAME ; class QString & QString::setNum(unsigned int, int)
+ ??5QTextStream@@QAEAAV0@AAG@Z @ 1104 NONAME ; class QTextStream & QTextStream::operator>>(unsigned short &)
+ ?unicode@QChar@@QBEGXZ @ 1105 NONAME ; unsigned short QChar::unicode(void) const
+ ??1QTimeLine@@UAE@XZ @ 1106 NONAME ; QTimeLine::~QTimeLine(void)
+ ?findMonth@QDateTimeParser@@QBEHABVQString@@HHPAV2@PAH@Z @ 1107 NONAME ; int QDateTimeParser::findMonth(class QString const &, int, int, class QString *, int *) const
+ ?fromString@QDateTime@@SA?AV1@ABVQString@@W4DateFormat@Qt@@@Z @ 1108 NONAME ; class QDateTime QDateTime::fromString(class QString const &, enum Qt::DateFormat)
+ ??BQByteArray@@QBEPBXXZ @ 1109 NONAME ; QByteArray::operator void const *(void) const
+ ?directories@QFileSystemWatcher@@QBE?AVQStringList@@XZ @ 1110 NONAME ; class QStringList QFileSystemWatcher::directories(void) const
+ ?d_func@QEventTransition@@ABEPBVQEventTransitionPrivate@@XZ @ 1111 NONAME ; class QEventTransitionPrivate const * QEventTransition::d_func(void) const
+ ?getAndRef@ExternalRefCountData@QtSharedPointer@@SAPAU12@PBVQObject@@@Z @ 1112 NONAME ; struct QtSharedPointer::ExternalRefCountData * QtSharedPointer::ExternalRefCountData::getAndRef(class QObject const *)
+ ?arg@QString@@QBE?AV1@ABV1@00@Z @ 1113 NONAME ; class QString QString::arg(class QString const &, class QString const &, class QString const &) const
+ ?isPunct@QChar@@QBE_NXZ @ 1114 NONAME ; bool QChar::isPunct(void) const
+ ?setLocale@QResource@@QAEXABVQLocale@@@Z @ 1115 NONAME ; void QResource::setLocale(class QLocale const &)
+ ?qMetaTypeGuiHelper@@3PBUQMetaTypeGuiHelper@@B @ 1116 NONAME ; struct QMetaTypeGuiHelper const * const qMetaTypeGuiHelper
+ ??0QUuid@@QAE@ABVQString@@@Z @ 1117 NONAME ; QUuid::QUuid(class QString const &)
+ ?isWidgetType@QObject@@QBE_NXZ @ 1118 NONAME ; bool QObject::isWidgetType(void) const
+ ??1QSystemLocale@@UAE@XZ @ 1119 NONAME ; QSystemLocale::~QSystemLocale(void)
+ ??0QTextStream@@QAE@PAVQString@@V?$QFlags@W4OpenModeFlag@QIODevice@@@@@Z @ 1120 NONAME ; QTextStream::QTextStream(class QString *, class QFlags<enum QIODevice::OpenModeFlag>)
+ ??5QTextStream@@QAEAAV0@AA_J@Z @ 1121 NONAME ; class QTextStream & QTextStream::operator>>(long long &)
+ ??YQString@@QAEAAV0@PBD@Z @ 1122 NONAME ; class QString & QString::operator+=(char const *)
+ ??8QLineF@@QBE_NABV0@@Z @ 1123 NONAME ; bool QLineF::operator==(class QLineF const &) const
+ ?rx@QPoint@@QAEAAHXZ @ 1124 NONAME ; int & QPoint::rx(void)
+ ?model@QPersistentModelIndex@@QBEPBVQAbstractItemModel@@XZ @ 1125 NONAME ; class QAbstractItemModel const * QPersistentModelIndex::model(void) const
+ ?indexOfEnumerator@QMetaObject@@QBEHPBD@Z @ 1126 NONAME ; int QMetaObject::indexOfEnumerator(char const *) const
+ ??_EQIODevicePrivate@@UAE@I@Z @ 1127 NONAME ; QIODevicePrivate::~QIODevicePrivate(unsigned int)
+ ?truncate@QBitArray@@QAEXH@Z @ 1128 NONAME ; void QBitArray::truncate(int)
+ ??_5QRectF@@QAEAAV0@ABV0@@Z @ 1129 NONAME ; class QRectF & QRectF::operator|=(class QRectF const &)
+ ?createIndex@QAbstractItemModel@@IBE?AVQModelIndex@@HHPAX@Z @ 1130 NONAME ; class QModelIndex QAbstractItemModel::createIndex(int, int, void *) const
+ ?trUtf8@QBuffer@@SA?AVQString@@PBD0H@Z @ 1131 NONAME ; class QString QBuffer::trUtf8(char const *, char const *, int)
+ ??_4QRect@@QAEAAV0@ABV0@@Z @ 1132 NONAME ; class QRect & QRect::operator&=(class QRect const &)
+ ?mid@QByteArray@@QBE?AV1@HH@Z @ 1133 NONAME ; class QByteArray QByteArray::mid(int, int) const
+ ?isDescendantOf@QStateMachinePrivate@@SA_NPBVQAbstractState@@0@Z @ 1134 NONAME ; bool QStateMachinePrivate::isDescendantOf(class QAbstractState const *, class QAbstractState const *)
+ ?columnsAboutToBeRemoved@QAbstractItemModelPrivate@@QAEXABVQModelIndex@@HH@Z @ 1135 NONAME ; void QAbstractItemModelPrivate::columnsAboutToBeRemoved(class QModelIndex const &, int, int)
+ ?qt_symbian_exception2Error@@YAHABVexception@std@@@Z @ 1136 NONAME ; int qt_symbian_exception2Error(class std::exception const &)
+ ?metaObject@QSignalMapper@@UBEPBUQMetaObject@@XZ @ 1137 NONAME ; struct QMetaObject const * QSignalMapper::metaObject(void) const
+ ?lastIndexOf@QString@@QBEHABVQRegExp@@H@Z @ 1138 NONAME ; int QString::lastIndexOf(class QRegExp const &, int) const
+ ??0QObjectPrivate@@QAE@H@Z @ 1139 NONAME ; QObjectPrivate::QObjectPrivate(int)
+ ?lastRead@QFileInfo@@QBE?AVQDateTime@@XZ @ 1140 NONAME ; class QDateTime QFileInfo::lastRead(void) const
+ ?y@QRectF@@QBEMXZ @ 1141 NONAME ; float QRectF::y(void) const
+ ?setDevice@QXmlStreamReader@@QAEXPAVQIODevice@@@Z @ 1142 NONAME ; void QXmlStreamReader::setDevice(class QIODevice *)
+ ?bom@@YAAAVQTextStream@@AAV1@@Z @ 1143 NONAME ; class QTextStream & bom(class QTextStream &)
+ ?triggered@QAbstractTransition@@AAEXXZ @ 1144 NONAME ; void QAbstractTransition::triggered(void)
+ ?size@QListData@@QBEHXZ @ 1145 NONAME ; int QListData::size(void) const
+ ??9QFileInfo@@QAE_NABV0@@Z @ 1146 NONAME ; bool QFileInfo::operator!=(class QFileInfo const &)
+ ?clear@QProcessEnvironment@@QAEXXZ @ 1147 NONAME ; void QProcessEnvironment::clear(void)
+ ?trUtf8@QAbstractTransition@@SA?AVQString@@PBD0H@Z @ 1148 NONAME ; class QString QAbstractTransition::trUtf8(char const *, char const *, int)
+ ?createEventDispatcher@QCoreApplicationPrivate@@UAEXXZ @ 1149 NONAME ; void QCoreApplicationPrivate::createEventDispatcher(void)
+ ?data@QString@@QAEPAVQChar@@XZ @ 1150 NONAME ; class QChar * QString::data(void)
+ ?topRight@QRectF@@QBE?AVQPointF@@XZ @ 1151 NONAME ; class QPointF QRectF::topRight(void) const
+ ?acquire@QSystemSemaphore@@QAE_NXZ @ 1152 NONAME ; bool QSystemSemaphore::acquire(void)
+ ?size@QBuffer@@UBE_JXZ @ 1153 NONAME ; long long QBuffer::size(void) const
+ ??PQDate@@QBE_NABV0@@Z @ 1154 NONAME ; bool QDate::operator>=(class QDate const &) const
+ ?allowMove@QAbstractItemModelPrivate@@QAE_NABVQModelIndex@@HH0HW4Orientation@Qt@@@Z @ 1155 NONAME ; bool QAbstractItemModelPrivate::allowMove(class QModelIndex const &, int, int, class QModelIndex const &, int, enum Qt::Orientation)
+ ??6QDebug@@QAEAAV0@I@Z @ 1156 NONAME ; class QDebug & QDebug::operator<<(unsigned int)
+ ?remove@QString@@QAEAAV1@HH@Z @ 1157 NONAME ; class QString & QString::remove(int, int)
+ ?arg@QString@@QBE?AV1@VQChar@@HABV2@@Z @ 1158 NONAME ; class QString QString::arg(class QChar, int, class QChar const &) const
+ ?setLoopCount@QAbstractAnimation@@QAEXH@Z @ 1159 NONAME ; void QAbstractAnimation::setLoopCount(int)
+ ?setCodec@QXmlStreamWriter@@QAEXPBD@Z @ 1160 NONAME ; void QXmlStreamWriter::setCodec(char const *)
+ ?setDate@QDate@@QAE_NHHH@Z @ 1161 NONAME ; bool QDate::setDate(int, int, int)
+ ?end@QByteArray@@QBEPBDXZ @ 1162 NONAME ; char const * QByteArray::end(void) const
+ ??CQHBufC@@QAEPAVHBufC16@@XZ @ 1163 NONAME ; class HBufC16 * QHBufC::operator->(void)
+ ?metaObject@QVariantAnimation@@UBEPBUQMetaObject@@XZ @ 1164 NONAME ; struct QMetaObject const * QVariantAnimation::metaObject(void) const
+ ?tr@QIODevice@@SA?AVQString@@PBD0@Z @ 1165 NONAME ; class QString QIODevice::tr(char const *, char const *)
+ ?isRegistered@QMetaType@@SA_NH@Z @ 1166 NONAME ; bool QMetaType::isRegistered(int)
+ ?append@QByteArray@@QAEAAV1@D@Z @ 1167 NONAME ; class QByteArray & QByteArray::append(char)
+ ??1QProcessEnvironment@@QAE@XZ @ 1168 NONAME ; QProcessEnvironment::~QProcessEnvironment(void)
+ ?endValue@QVariantAnimation@@QBE?AVQVariant@@XZ @ 1169 NONAME ; class QVariant QVariantAnimation::endValue(void) const
+ ?endResetModel@QAbstractItemModel@@IAEXXZ @ 1170 NONAME ; void QAbstractItemModel::endResetModel(void)
+ ?languageId@QLocalePrivate@@QBEIXZ @ 1171 NONAME ; unsigned int QLocalePrivate::languageId(void) const
+ ?left@@YAAAVQTextStream@@AAV1@@Z @ 1172 NONAME ; class QTextStream & left(class QTextStream &)
+ ??6@YA?AVQDebug@@V0@ABVQTime@@@Z @ 1173 NONAME ; class QDebug operator<<(class QDebug, class QTime const &)
+ ?localeAwareCompare@QStringRef@@SAHABV1@ABVQString@@@Z @ 1174 NONAME ; int QStringRef::localeAwareCompare(class QStringRef const &, class QString const &)
+ ??0QMutexPool@@QAE@W4RecursionMode@QMutex@@H@Z @ 1175 NONAME ; QMutexPool::QMutexPool(enum QMutex::RecursionMode, int)
+ ?setTime@QDateTime@@QAEXABVQTime@@@Z @ 1176 NONAME ; void QDateTime::setTime(class QTime const &)
+ ??0QMetaClassInfo@@QAE@XZ @ 1177 NONAME ; QMetaClassInfo::QMetaClassInfo(void)
+ ?push_front@QByteArray@@QAEXD@Z @ 1178 NONAME ; void QByteArray::push_front(char)
+ ?replace@QByteArray@@QAEAAV1@PBDABV1@@Z @ 1179 NONAME ; class QByteArray & QByteArray::replace(char const *, class QByteArray const &)
+ ?script@QUnicodeTables@@YAHI@Z @ 1180 NONAME ; int QUnicodeTables::script(unsigned int)
+ ??9@YA_NABVQRect@@0@Z @ 1181 NONAME ; bool operator!=(class QRect const &, class QRect const &)
+ ?setLength@QLineF@@QAEXM@Z @ 1182 NONAME ; void QLineF::setLength(float)
+ ?metaObject@QTemporaryFile@@UBEPBUQMetaObject@@XZ @ 1183 NONAME ; struct QMetaObject const * QTemporaryFile::metaObject(void) const
+ ??0QCoreApplication@@IAE@AAVQCoreApplicationPrivate@@@Z @ 1184 NONAME ; QCoreApplication::QCoreApplication(class QCoreApplicationPrivate &)
+ ?addData@QCryptographicHash@@QAEXABVQByteArray@@@Z @ 1185 NONAME ; void QCryptographicHash::addData(class QByteArray const &)
+ ?endRemoveRows@QAbstractItemModel@@IAEXXZ @ 1186 NONAME ; void QAbstractItemModel::endRemoveRows(void)
+ ??_EQEventDispatcherSymbian@@UAE@I@Z @ 1187 NONAME ; QEventDispatcherSymbian::~QEventDispatcherSymbian(unsigned int)
+ ?type@QMetaType@@SAHPBD@Z @ 1188 NONAME ; int QMetaType::type(char const *)
+ ?ownerId@QAbstractFileEngine@@UBEIW4FileOwner@1@@Z @ 1189 NONAME ; unsigned int QAbstractFileEngine::ownerId(enum QAbstractFileEngine::FileOwner) const
+ ?shared_empty@QString@@0UData@1@A @ 1190 NONAME ; struct QString::Data QString::shared_empty
+ ?type@QMetaProperty@@QBE?AW4Type@QVariant@@XZ @ 1191 NONAME ; enum QVariant::Type QMetaProperty::type(void) const
+ ?disableReset@QNonContiguousByteDevice@@QAEXXZ @ 1192 NONAME ; void QNonContiguousByteDevice::disableReset(void)
+ ?unmap@QAbstractFileEngine@@QAE_NPAE@Z @ 1193 NONAME ; bool QAbstractFileEngine::unmap(unsigned char *)
+ ?currentValue@QVariantAnimation@@QBE?AVQVariant@@XZ @ 1194 NONAME ; class QVariant QVariantAnimation::currentValue(void) const
+ ?waitForReadyRead@QProcess@@UAE_NH@Z @ 1195 NONAME ; bool QProcess::waitForReadyRead(int)
+ ?errorString@QPluginLoader@@QBE?AVQString@@XZ @ 1196 NONAME ; class QString QPluginLoader::errorString(void) const
+ ?center@QRectF@@QBE?AVQPointF@@XZ @ 1197 NONAME ; class QPointF QRectF::center(void) const
+ ?currentAnimationChanged@QSequentialAnimationGroup@@IAEXPAVQAbstractAnimation@@@Z @ 1198 NONAME ; void QSequentialAnimationGroup::currentAnimationChanged(class QAbstractAnimation *)
+ ?qt_metacast@QObject@@UAEPAXPBD@Z @ 1199 NONAME ; void * QObject::qt_metacast(char const *)
+ ??6QTextStream@@QAEAAV0@ABVQByteArray@@@Z @ 1200 NONAME ; class QTextStream & QTextStream::operator<<(class QByteArray const &)
+ ?sender@QObject@@IBEPAV1@XZ @ 1201 NONAME ; class QObject * QObject::sender(void) const
+ ??0QRectF@@QAE@ABVQRect@@@Z @ 1202 NONAME ; QRectF::QRectF(class QRect const &)
+ ?trUtf8@QCoreApplication@@SA?AVQString@@PBD0@Z @ 1203 NONAME ; class QString QCoreApplication::trUtf8(char const *, char const *)
+ ?d_func@QFileInfo@@AAEPAVQFileInfoPrivate@@XZ @ 1204 NONAME ; class QFileInfoPrivate * QFileInfo::d_func(void)
+ ??8@YA_NABVQLatin1String@@ABVQStringRef@@@Z @ 1205 NONAME ; bool operator==(class QLatin1String const &, class QStringRef const &)
+ ?flush@QTextStream@@QAEXXZ @ 1206 NONAME ; void QTextStream::flush(void)
+ ?waitForFinished@QProcess@@QAE_NH@Z @ 1207 NONAME ; bool QProcess::waitForFinished(int)
+ ??0QLatin1String@@QAE@PBD@Z @ 1208 NONAME ; QLatin1String::QLatin1String(char const *)
+ ?readElementText@QXmlStreamReader@@QAE?AVQString@@XZ @ 1209 NONAME ; class QString QXmlStreamReader::readElementText(void)
+ ?setPropertyName@QPropertyAnimation@@QAEXABVQByteArray@@@Z @ 1210 NONAME ; void QPropertyAnimation::setPropertyName(class QByteArray const &)
+ ?indexOf@QString@@QBEHAAVQRegExp@@H@Z @ 1211 NONAME ; int QString::indexOf(class QRegExp &, int) const
+ ??_EQState@@UAE@I@Z @ 1212 NONAME ; QState::~QState(unsigned int)
+ ??XQSize@@QAEAAV0@M@Z @ 1213 NONAME ; class QSize & QSize::operator*=(float)
+ ?isBundle@QFileInfo@@QBE_NXZ @ 1214 NONAME ; bool QFileInfo::isBundle(void) const
+ ??0QEasingCurve@@QAE@ABV0@@Z @ 1215 NONAME ; QEasingCurve::QEasingCurve(class QEasingCurve const &)
+ ??4QStringMatcher@@QAEAAV0@ABV0@@Z @ 1216 NONAME ; class QStringMatcher & QStringMatcher::operator=(class QStringMatcher const &)
+ ?qHash@@YAIABVQByteArray@@@Z @ 1217 NONAME ; unsigned int qHash(class QByteArray const &)
+ ?qstrnicmp@@YAHPBD0I@Z @ 1218 NONAME ; int qstrnicmp(char const *, char const *, unsigned int)
+ ?tr@QSocketNotifier@@SA?AVQString@@PBD0@Z @ 1219 NONAME ; class QString QSocketNotifier::tr(char const *, char const *)
+ ?prepend@QByteArray@@QAEAAV1@PBD@Z @ 1220 NONAME ; class QByteArray & QByteArray::prepend(char const *)
+ ??0QFactoryLoader@@QAE@PBDABVQString@@W4CaseSensitivity@Qt@@@Z @ 1221 NONAME ; QFactoryLoader::QFactoryLoader(char const *, class QString const &, enum Qt::CaseSensitivity)
+ ?reset@QTextStream@@QAEXXZ @ 1222 NONAME ; void QTextStream::reset(void)
+ ?realNumberPrecision@QTextStream@@QBEHXZ @ 1223 NONAME ; int QTextStream::realNumberPrecision(void) const
+ ?setEncodedHost@QUrl@@QAEXABVQByteArray@@@Z @ 1224 NONAME ; void QUrl::setEncodedHost(class QByteArray const &)
+ ?mapping@QSignalMapper@@QBEPAVQObject@@H@Z @ 1225 NONAME ; class QObject * QSignalMapper::mapping(int) const
+ ?number@QString@@SA?AV1@KH@Z @ 1226 NONAME ; class QString QString::number(unsigned long, int)
+ ?tr@QAbstractTransition@@SA?AVQString@@PBD0@Z @ 1227 NONAME ; class QString QAbstractTransition::tr(char const *, char const *)
+ ?shared_null@QVectorData@@2U1@A @ 1228 NONAME ; struct QVectorData QVectorData::shared_null
+ ?contains@QString@@QBE?AVQBool@@VQChar@@W4CaseSensitivity@Qt@@@Z @ 1229 NONAME ; class QBool QString::contains(class QChar, enum Qt::CaseSensitivity) const
+ ??4QString@@QAEAAV0@ABVQByteArray@@@Z @ 1230 NONAME ; class QString & QString::operator=(class QByteArray const &)
+ ??0QPoint@@QAE@XZ @ 1231 NONAME ; QPoint::QPoint(void)
+ ?lastIndexOf@QByteArray@@QBEHPBDH@Z @ 1232 NONAME ; int QByteArray::lastIndexOf(char const *, int) const
+ ??6@YAAAVQDataStream@@AAV0@ABVQDateTime@@@Z @ 1233 NONAME ; class QDataStream & operator<<(class QDataStream &, class QDateTime const &)
+ ?activate@QMetaObject@@SAXPAVQObject@@HHPAPAX@Z @ 1234 NONAME ; void QMetaObject::activate(class QObject *, int, int, void * *)
+ ?endMoveRows@QAbstractItemModel@@IAEXXZ @ 1235 NONAME ; void QAbstractItemModel::endMoveRows(void)
+ ??1QFactoryInterface@@UAE@XZ @ 1236 NONAME ; QFactoryInterface::~QFactoryInterface(void)
+ ??0QByteRef@@AAE@AAVQByteArray@@H@Z @ 1237 NONAME ; QByteRef::QByteRef(class QByteArray &, int)
+ ??9QXmlStreamNotationDeclaration@@QBE_NABV0@@Z @ 1238 NONAME ; bool QXmlStreamNotationDeclaration::operator!=(class QXmlStreamNotationDeclaration const &) const
+ ??6QDataStream@@QAEAAV0@N@Z @ 1239 NONAME ; class QDataStream & QDataStream::operator<<(double)
+ ?end@QByteArray@@QAEPADXZ @ 1240 NONAME ; char * QByteArray::end(void)
+ ?Error@CQtActiveScheduler@@UBEXH@Z @ 1241 NONAME ; void CQtActiveScheduler::Error(int) const
+ ?isCharacters@QXmlStreamReader@@QBE_NXZ @ 1242 NONAME ; bool QXmlStreamReader::isCharacters(void) const
+ ?setFile@QFileInfo@@QAEXABVQString@@@Z @ 1243 NONAME ; void QFileInfo::setFile(class QString const &)
+ ??1QObjectCleanupHandler@@UAE@XZ @ 1244 NONAME ; QObjectCleanupHandler::~QObjectCleanupHandler(void)
+ ?tr@QHistoryState@@SA?AVQString@@PBD0@Z @ 1245 NONAME ; class QString QHistoryState::tr(char const *, char const *)
+ ?d_func@QThread@@AAEPAVQThreadPrivate@@XZ @ 1246 NONAME ; class QThreadPrivate * QThread::d_func(void)
+ ??YQByteArray@@QAEAAV0@PBD@Z @ 1247 NONAME ; class QByteArray & QByteArray::operator+=(char const *)
+ ?trUtf8@QMetaObject@@QBE?AVQString@@PBD0@Z @ 1248 NONAME ; class QString QMetaObject::trUtf8(char const *, char const *) const
+ ?isFinal@QMetaProperty@@QBE_NXZ @ 1249 NONAME ; bool QMetaProperty::isFinal(void) const
+ ?columnsAboutToBeRemoved@QAbstractItemModel@@AAEXABVQModelIndex@@HH@Z @ 1250 NONAME ; void QAbstractItemModel::columnsAboutToBeRemoved(class QModelIndex const &, int, int)
+ ?toAce@QUrl@@SA?AVQByteArray@@ABVQString@@@Z @ 1251 NONAME ; class QByteArray QUrl::toAce(class QString const &)
+ ??0QProcessEnvironment@@QAE@XZ @ 1252 NONAME ; QProcessEnvironment::QProcessEnvironment(void)
+ ??5@YAAAVQDataStream@@AAV0@AAVQDateTime@@@Z @ 1253 NONAME ; class QDataStream & operator>>(class QDataStream &, class QDateTime &)
+ ?rootPath@QDir@@SA?AVQString@@XZ @ 1254 NONAME ; class QString QDir::rootPath(void)
+ ?qt_metacast@QAnimationGroup@@UAEPAXPBD@Z @ 1255 NONAME ; void * QAnimationGroup::qt_metacast(char const *)
+ ?at@QString@@QBE?BVQChar@@H@Z @ 1256 NONAME ; class QChar const QString::at(int) const
+ ?loopCount@QAbstractAnimation@@QBEHXZ @ 1257 NONAME ; int QAbstractAnimation::loopCount(void) const
+ ?toRect@QVariant@@QBE?AVQRect@@XZ @ 1258 NONAME ; class QRect QVariant::toRect(void) const
+ ?rowsAboutToBeMoved@QAbstractItemModel@@AAEXABVQModelIndex@@HH0H@Z @ 1259 NONAME ; void QAbstractItemModel::rowsAboutToBeMoved(class QModelIndex const &, int, int, class QModelIndex const &, int)
+ ?setBottomRight@QRectF@@QAEXABVQPointF@@@Z @ 1260 NONAME ; void QRectF::setBottomRight(class QPointF const &)
+ ?moveTo@QRect@@QAEXABVQPoint@@@Z @ 1261 NONAME ; void QRect::moveTo(class QPoint const &)
+ ??1QAbstractTableModel@@UAE@XZ @ 1262 NONAME ; QAbstractTableModel::~QAbstractTableModel(void)
+ ??4QProcessEnvironment@@QAEAAV0@ABV0@@Z @ 1263 NONAME ; class QProcessEnvironment & QProcessEnvironment::operator=(class QProcessEnvironment const &)
+ ??0QSizeF@@QAE@MM@Z @ 1264 NONAME ; QSizeF::QSizeF(float, float)
+ ??6QTextStream@@QAEAAV0@K@Z @ 1265 NONAME ; class QTextStream & QTextStream::operator<<(unsigned long)
+ ?trUtf8@QFinalState@@SA?AVQString@@PBD0@Z @ 1266 NONAME ; class QString QFinalState::trUtf8(char const *, char const *)
+ ?licensee@QLibraryInfo@@SA?AVQString@@XZ @ 1267 NONAME ; class QString QLibraryInfo::licensee(void)
+ ?toLocalFile@QUrl@@QBE?AVQString@@XZ @ 1268 NONAME ; class QString QUrl::toLocalFile(void) const
+ ??_0QSizeF@@QAEAAV0@M@Z @ 1269 NONAME ; class QSizeF & QSizeF::operator/=(float)
+ ?trUtf8@QVariantAnimation@@SA?AVQString@@PBD0@Z @ 1270 NONAME ; class QString QVariantAnimation::trUtf8(char const *, char const *)
+ ?toULongLong@QString@@QBE_KPA_NH@Z @ 1271 NONAME ; unsigned long long QString::toULongLong(bool *, int) const
+ ?topRight@QRect@@QBE?AVQPoint@@XZ @ 1272 NONAME ; class QPoint QRect::topRight(void) const
+ ?uppercasedigits@@YAAAVQTextStream@@AAV1@@Z @ 1273 NONAME ; class QTextStream & uppercasedigits(class QTextStream &)
+ ?toString@QLocale@@QBE?AVQString@@ABVQDate@@W4FormatType@1@@Z @ 1274 NONAME ; class QString QLocale::toString(class QDate const &, enum QLocale::FormatType) const
+ ?setTopRight@QRectF@@QAEXABVQPointF@@@Z @ 1275 NONAME ; void QRectF::setTopRight(class QPointF const &)
+ ?setEndValue@QVariantAnimation@@QAEXABVQVariant@@@Z @ 1276 NONAME ; void QVariantAnimation::setEndValue(class QVariant const &)
+ ??0QTranslator@@QAE@PAVQObject@@@Z @ 1277 NONAME ; QTranslator::QTranslator(class QObject *)
+ ??4QString@@QAEAAV0@ABVQLatin1String@@@Z @ 1278 NONAME ; class QString & QString::operator=(class QLatin1String const &)
+ ??4QDebug@@QAEAAV0@ABV0@@Z @ 1279 NONAME ; class QDebug & QDebug::operator=(class QDebug const &)
+ ?atEnd@QIODevice@@UBE_NXZ @ 1280 NONAME ; bool QIODevice::atEnd(void) const
+ ?tr@QSocketNotifier@@SA?AVQString@@PBD0H@Z @ 1281 NONAME ; class QString QSocketNotifier::tr(char const *, char const *, int)
+ ?readLine@QIODevice@@QAE_JPAD_J@Z @ 1282 NONAME ; long long QIODevice::readLine(char *, long long)
+ ?tr@QThreadPool@@SA?AVQString@@PBD0H@Z @ 1283 NONAME ; class QString QThreadPool::tr(char const *, char const *, int)
+ ?tr@QProcess@@SA?AVQString@@PBD0@Z @ 1284 NONAME ; class QString QProcess::tr(char const *, char const *)
+ ??_EQThread@@UAE@I@Z @ 1285 NONAME ; QThread::~QThread(unsigned int)
+ ?device@QXmlStreamWriter@@QBEPAVQIODevice@@XZ @ 1286 NONAME ; class QIODevice * QXmlStreamWriter::device(void) const
+ ??0QByteArray@@QAE@PBDH@Z @ 1287 NONAME ; QByteArray::QByteArray(char const *, int)
+ ?qt_call_post_routines@@YAXXZ @ 1288 NONAME ; void qt_call_post_routines(void)
+ ?moveTo@QRectF@@QAEXABVQPointF@@@Z @ 1289 NONAME ; void QRectF::moveTo(class QPointF const &)
+ ?entryInfo@QAbstractFileEngineIterator@@MBE?AVQVariant@@W4EntryInfoType@1@@Z @ 1290 NONAME ; class QVariant QAbstractFileEngineIterator::entryInfo(enum QAbstractFileEngineIterator::EntryInfoType) const
+ ?moveRight@QRect@@QAEXH@Z @ 1291 NONAME ; void QRect::moveRight(int)
+ ?toLower@QString@@QBE?AV1@XZ @ 1292 NONAME ; class QString QString::toLower(void) const
+ ?disconnect@QObject@@SA_NPBV1@PBD01@Z @ 1293 NONAME ; bool QObject::disconnect(class QObject const *, char const *, class QObject const *, char const *)
+ ?hour@QTime@@QBEHXZ @ 1294 NONAME ; int QTime::hour(void) const
+ ?qt_metacast@QCoreApplication@@UAEPAXPBD@Z @ 1295 NONAME ; void * QCoreApplication::qt_metacast(char const *)
+ ??0QRectF@@QAE@XZ @ 1296 NONAME ; QRectF::QRectF(void)
+ ?getStaticMetaObject@QTimeLine@@SAABUQMetaObject@@XZ @ 1297 NONAME ; struct QMetaObject const & QTimeLine::getStaticMetaObject(void)
+ ?reactivateSocketNotifier@QEventDispatcherSymbian@@QAEXPAVQSocketNotifier@@@Z @ 1298 NONAME ; void QEventDispatcherSymbian::reactivateSocketNotifier(class QSocketNotifier *)
+ ?permissions@QFile@@SA?AV?$QFlags@W4Permission@QFile@@@@ABVQString@@@Z @ 1299 NONAME ; class QFlags<enum QFile::Permission> QFile::permissions(class QString const &)
+ ?metaObject@QAbstractListModel@@UBEPBUQMetaObject@@XZ @ 1300 NONAME ; struct QMetaObject const * QAbstractListModel::metaObject(void) const
+ ?qMalloc@@YAPAXI@Z @ 1301 NONAME ; void * qMalloc(unsigned int)
+ ??0QVariant@@QAE@ABVQUrl@@@Z @ 1302 NONAME ; QVariant::QVariant(class QUrl const &)
+ ?isEnabled@QSocketNotifier@@QBE_NXZ @ 1303 NONAME ; bool QSocketNotifier::isEnabled(void) const
+ ?refresh@QFileInfo@@QAEXXZ @ 1304 NONAME ; void QFileInfo::refresh(void)
+ ?setCurrentPath@QFSFileEngine@@SA_NABVQString@@@Z @ 1305 NONAME ; bool QFSFileEngine::setCurrentPath(class QString const &)
+ ?moveBottom@QRectF@@QAEXM@Z @ 1306 NONAME ; void QRectF::moveBottom(float)
+ ?QBasicAtomicInt_testAndSetOrdered@@YA_NPCHHH@Z @ 1307 NONAME ; bool QBasicAtomicInt_testAndSetOrdered(int volatile *, int, int)
+ ??4QDir@@QAEAAV0@ABVQString@@@Z @ 1308 NONAME ; class QDir & QDir::operator=(class QString const &)
+ ?setNum@QString@@QAEAAV1@KH@Z @ 1309 NONAME ; class QString & QString::setNum(unsigned long, int)
+ ?startingUp@QEventDispatcherSymbian@@UAEXXZ @ 1310 NONAME ; void QEventDispatcherSymbian::startingUp(void)
+ ?replace@QByteArray@@QAEAAV1@DD@Z @ 1311 NONAME ; class QByteArray & QByteArray::replace(char, char)
+ ?isTranslatorInstalled@QCoreApplicationPrivate@@SA_NPAVQTranslator@@@Z @ 1312 NONAME ; bool QCoreApplicationPrivate::isTranslatorInstalled(class QTranslator *)
+ ?toTime@QLocale@@QBE?AVQTime@@ABVQString@@0@Z @ 1313 NONAME ; class QTime QLocale::toTime(class QString const &, class QString const &) const
+ ?readyRead@QNonContiguousByteDevice@@IAEXXZ @ 1314 NONAME ; void QNonContiguousByteDevice::readyRead(void)
+ ?availableMibs@QTextCodec@@SA?AV?$QList@H@@XZ @ 1315 NONAME ; class QList<int> QTextCodec::availableMibs(void)
+ ?toUnicode@QTextCodec@@QBE?AVQString@@PBDHPAUConverterState@1@@Z @ 1316 NONAME ; class QString QTextCodec::toUnicode(char const *, int, struct QTextCodec::ConverterState *) const
+ ?start@QProcess@@QAEXABVQString@@V?$QFlags@W4OpenModeFlag@QIODevice@@@@@Z @ 1317 NONAME ; void QProcess::start(class QString const &, class QFlags<enum QIODevice::OpenModeFlag>)
+ ?newInstance@QMetaObject@@QBEPAVQObject@@VQGenericArgument@@000000000@Z @ 1318 NONAME ; class QObject * QMetaObject::newInstance(class QGenericArgument, class QGenericArgument, class QGenericArgument, class QGenericArgument, class QGenericArgument, class QGenericArgument, class QGenericArgument, class QGenericArgument, class QGenericArgument, class QGenericArgument) const
+ ?sendPostedEvents@QCoreApplication@@SAXPAVQObject@@H@Z @ 1319 NONAME ; void QCoreApplication::sendPostedEvents(class QObject *, int)
+ ??1QTimerEvent@@UAE@XZ @ 1320 NONAME ; QTimerEvent::~QTimerEvent(void)
+ ?unicode@QCharRef@@QBEGXZ @ 1321 NONAME ; unsigned short QCharRef::unicode(void) const
+ ?qt_metacast@QAbstractTransition@@UAEPAXPBD@Z @ 1322 NONAME ; void * QAbstractTransition::qt_metacast(char const *)
+ ??1QHistoryState@@UAE@XZ @ 1323 NONAME ; QHistoryState::~QHistoryState(void)
+ ?isAbsolute@QDir@@QBE_NXZ @ 1324 NONAME ; bool QDir::isAbsolute(void) const
+ ?headerDataChanged@QAbstractItemModel@@IAEXW4Orientation@Qt@@HH@Z @ 1325 NONAME ; void QAbstractItemModel::headerDataChanged(enum Qt::Orientation, int, int)
+ ?toDouble@QString@@QBENPA_N@Z @ 1326 NONAME ; double QString::toDouble(bool *) const
+ ?staticMetaObject@QIODevice@@2UQMetaObject@@B @ 1327 NONAME ; struct QMetaObject const QIODevice::staticMetaObject
+ ?readLink@QFile@@QBE?AVQString@@XZ @ 1328 NONAME ; class QString QFile::readLink(void) const
+ ?isRunning@QEventLoop@@QBE_NXZ @ 1329 NONAME ; bool QEventLoop::isRunning(void) const
+ ??MQLatin1String@@QBE_NPBD@Z @ 1330 NONAME ; bool QLatin1String::operator<(char const *) const
+ ?keysToValue@QMetaEnum@@QBEHPBD@Z @ 1331 NONAME ; int QMetaEnum::keysToValue(char const *) const
+ ?getStaticMetaObject@QLocale@@SAABUQMetaObject@@XZ @ 1332 NONAME ; struct QMetaObject const & QLocale::getStaticMetaObject(void)
+ ?machine@QAbstractState@@QBEPAVQStateMachine@@XZ @ 1333 NONAME ; class QStateMachine * QAbstractState::machine(void) const
+ ?qt_register_signal_spy_callbacks@@YAXABUQSignalSpyCallbackSet@@@Z @ 1334 NONAME ; void qt_register_signal_spy_callbacks(struct QSignalSpyCallbackSet const &)
+ ?isCombiningChar@QXmlUtils@@CA_NVQChar@@@Z @ 1335 NONAME ; bool QXmlUtils::isCombiningChar(class QChar)
+ ?getStaticMetaObject@QEvent@@SAABUQMetaObject@@XZ @ 1336 NONAME ; struct QMetaObject const & QEvent::getStaticMetaObject(void)
+ ?updateCurrentTime@QVariantAnimation@@MAEXH@Z @ 1337 NONAME ; void QVariantAnimation::updateCurrentTime(int)
+ ?endsWith@QByteArray@@QBE_ND@Z @ 1338 NONAME ; bool QByteArray::endsWith(char) const
+ ?indexOf@QString@@QBEHVQChar@@HW4CaseSensitivity@Qt@@@Z @ 1339 NONAME ; int QString::indexOf(class QChar, int, enum Qt::CaseSensitivity) const
+ ?staticMetaObject@QSignalMapper@@2UQMetaObject@@B @ 1340 NONAME ; struct QMetaObject const QSignalMapper::staticMetaObject
+ ??5@YAAAVQDataStream@@AAV0@AAVQVariant@@@Z @ 1341 NONAME ; class QDataStream & operator>>(class QDataStream &, class QVariant &)
+ ?d_func@QEventDispatcherSymbian@@ABEPBVQAbstractEventDispatcherPrivate@@XZ @ 1342 NONAME ; class QAbstractEventDispatcherPrivate const * QEventDispatcherSymbian::d_func(void) const
+ ?frameChanged@QTimeLine@@IAEXH@Z @ 1343 NONAME ; void QTimeLine::frameChanged(int)
+ ?trUtf8@QEventLoop@@SA?AVQString@@PBD0@Z @ 1344 NONAME ; class QString QEventLoop::trUtf8(char const *, char const *)
+ ??OQString@@QBE_NABVQByteArray@@@Z @ 1345 NONAME ; bool QString::operator>(class QByteArray const &) const
+ ?trUtf8@QLibrary@@SA?AVQString@@PBD0H@Z @ 1346 NONAME ; class QString QLibrary::trUtf8(char const *, char const *, int)
+ ?size@QStringRef@@QBEHXZ @ 1347 NONAME ; int QStringRef::size(void) const
+ ??0QVariantAnimation@@IAE@AAVQVariantAnimationPrivate@@PAVQObject@@@Z @ 1348 NONAME ; QVariantAnimation::QVariantAnimation(class QVariantAnimationPrivate &, class QObject *)
+ ?exitCode@QProcess@@QBEHXZ @ 1349 NONAME ; int QProcess::exitCode(void) const
+ ?percent@QLocalePrivate@@QBE?AVQChar@@XZ @ 1350 NONAME ; class QChar QLocalePrivate::percent(void) const
+ ??1QAbstractFileEngineHandler@@UAE@XZ @ 1351 NONAME ; QAbstractFileEngineHandler::~QAbstractFileEngineHandler(void)
+ ?qt_metacall@QIODevice@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 1352 NONAME ; int QIODevice::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ??1QDebug@@QAE@XZ @ 1353 NONAME ; QDebug::~QDebug(void)
+ ??9QEasingCurve@@QBE_NABV0@@Z @ 1354 NONAME ; bool QEasingCurve::operator!=(class QEasingCurve const &) const
+ ?tryStart@QThreadPool@@QAE_NPAVQRunnable@@@Z @ 1355 NONAME ; bool QThreadPool::tryStart(class QRunnable *)
+ ?setFile@QFileInfo@@QAEXABVQDir@@ABVQString@@@Z @ 1356 NONAME ; void QFileInfo::setFile(class QDir const &, class QString const &)
+ ??8QEasingCurve@@QBE_NABV0@@Z @ 1357 NONAME ; bool QEasingCurve::operator==(class QEasingCurve const &) const
+ ?isCompound@QStateMachinePrivate@@QBE_NPBVQAbstractState@@@Z @ 1358 NONAME ; bool QStateMachinePrivate::isCompound(class QAbstractState const *) const
+ ?attributes@QMetaMethod@@QBEHXZ @ 1359 NONAME ; int QMetaMethod::attributes(void) const
+ ??_EQTimer@@UAE@I@Z @ 1360 NONAME ; QTimer::~QTimer(unsigned int)
+ ?unregisterCallback@QInternal@@SA_NW4Callback@1@P6A_NPAPAX@Z@Z @ 1361 NONAME ; bool QInternal::unregisterCallback(enum QInternal::Callback, bool (*)(void * *))
+ ?tr@QAbstractState@@SA?AVQString@@PBD0H@Z @ 1362 NONAME ; class QString QAbstractState::tr(char const *, char const *, int)
+ ?microstep@QStateMachinePrivate@@QAEXPAVQEvent@@ABV?$QList@PAVQAbstractTransition@@@@@Z @ 1363 NONAME ; void QStateMachinePrivate::microstep(class QEvent *, class QList<class QAbstractTransition *> const &)
+ ?tryLock@QMutex@@QAE_NH@Z @ 1364 NONAME ; bool QMutex::tryLock(int)
+ ?height@QRect@@QBEHXZ @ 1365 NONAME ; int QRect::height(void) const
+ ?top@QRectF@@QBEMXZ @ 1366 NONAME ; float QRectF::top(void) const
+ ??_ECQtActiveScheduler@@UAE@I@Z @ 1367 NONAME ; CQtActiveScheduler::~CQtActiveScheduler(unsigned int)
+ ??0QRect@@QAE@ABVQPoint@@0@Z @ 1368 NONAME ; QRect::QRect(class QPoint const &, class QPoint const &)
+ ?getStaticMetaObject@QParallelAnimationGroup@@SAABUQMetaObject@@XZ @ 1369 NONAME ; struct QMetaObject const & QParallelAnimationGroup::getStaticMetaObject(void)
+ ?arg@QString@@QBE?AV1@ABV1@0000@Z @ 1370 NONAME ; class QString QString::arg(class QString const &, class QString const &, class QString const &, class QString const &, class QString const &) const
+ ??1QSystemSemaphore@@QAE@XZ @ 1371 NONAME ; QSystemSemaphore::~QSystemSemaphore(void)
+ ?canReadLine@QProcess@@UBE_NXZ @ 1372 NONAME ; bool QProcess::canReadLine(void) const
+ ?compare_helper@QString@@CAHPBVQChar@@H0HW4CaseSensitivity@Qt@@@Z @ 1373 NONAME ; int QString::compare_helper(class QChar const *, int, class QChar const *, int, enum Qt::CaseSensitivity)
+ ??1QByteArray@@QAE@XZ @ 1374 NONAME ; QByteArray::~QByteArray(void)
+ ?rename@QFSFileEngine@@UAE_NABVQString@@@Z @ 1375 NONAME ; bool QFSFileEngine::rename(class QString const &)
+ ?translated@QRect@@QBE?AV1@HH@Z @ 1376 NONAME ; class QRect QRect::translated(int, int) const
+ ?filter@QDir@@QBE?AV?$QFlags@W4Filter@QDir@@@@XZ @ 1377 NONAME ; class QFlags<enum QDir::Filter> QDir::filter(void) const
+ ?position@QXmlStreamStringRef@@QBEHXZ @ 1378 NONAME ; int QXmlStreamStringRef::position(void) const
+ ?prepend@QByteArray@@QAEAAV1@PBDH@Z @ 1379 NONAME ; class QByteArray & QByteArray::prepend(char const *, int)
+ ?quit@QThread@@QAEXXZ @ 1380 NONAME ; void QThread::quit(void)
+ ?isPunct@QCharRef@@QBE_NXZ @ 1381 NONAME ; bool QCharRef::isPunct(void) const
+ ?execute@QProcess@@SAHABVQString@@ABVQStringList@@@Z @ 1382 NONAME ; int QProcess::execute(class QString const &, class QStringList const &)
+ ?queryPairDelimiter@QUrl@@QBEDXZ @ 1383 NONAME ; char QUrl::queryPairDelimiter(void) const
+ ?createIndex@QAbstractItemModel@@IBE?AVQModelIndex@@HHI@Z @ 1384 NONAME ; class QModelIndex QAbstractItemModel::createIndex(int, int, unsigned int) const
+ ?dirName@QDir@@QBE?AVQString@@XZ @ 1385 NONAME ; class QString QDir::dirName(void) const
+ ?setStackSize@QThread@@QAEXI@Z @ 1386 NONAME ; void QThread::setStackSize(unsigned int)
+ ?ownerId@QFSFileEngine@@UBEIW4FileOwner@QAbstractFileEngine@@@Z @ 1387 NONAME ; unsigned int QFSFileEngine::ownerId(enum QAbstractFileEngine::FileOwner) const
+ ?isWhitespace@QXmlStreamReader@@QBE_NXZ @ 1388 NONAME ; bool QXmlStreamReader::isWhitespace(void) const
+ ?onEntry@QState@@MAEXPAVQEvent@@@Z @ 1389 NONAME ; void QState::onEntry(class QEvent *)
+ ?mirroredChar@QChar@@SAII@Z @ 1390 NONAME ; unsigned int QChar::mirroredChar(unsigned int)
+ ?fromLocalFile@QUrl@@SA?AV1@ABVQString@@@Z @ 1391 NONAME ; class QUrl QUrl::fromLocalFile(class QString const &)
+ ?metaObject@QTimeLine@@UBEPBUQMetaObject@@XZ @ 1392 NONAME ; struct QMetaObject const * QTimeLine::metaObject(void) const
+ ?toTimeSpec@QDateTime@@QBE?AV1@W4TimeSpec@Qt@@@Z @ 1393 NONAME ; class QDateTime QDateTime::toTimeSpec(enum Qt::TimeSpec) const
+ ?column@QPersistentModelIndex@@QBEHXZ @ 1394 NONAME ; int QPersistentModelIndex::column(void) const
+ ?duration@QVariantAnimation@@UBEHXZ @ 1395 NONAME ; int QVariantAnimation::duration(void) const
+ ?qt_resolveS60PluginFunc@@YAP6AHXZH@Z @ 1396 NONAME ; int (*)(void) qt_resolveS60PluginFunc(int)
+ ?resolved@QUrl@@QBE?AV1@ABV1@@Z @ 1397 NONAME ; class QUrl QUrl::resolved(class QUrl const &) const
+ ?get@QThreadStorageData@@QBEPAPAXXZ @ 1398 NONAME ; void * * QThreadStorageData::get(void) const
+ ?getStaticMetaObject@QMimeData@@SAABUQMetaObject@@XZ @ 1399 NONAME ; struct QMetaObject const & QMimeData::getStaticMetaObject(void)
+ ?translate@QRect@@QAEXHH@Z @ 1400 NONAME ; void QRect::translate(int, int)
+ ?isRelative@QUrl@@QBE_NXZ @ 1401 NONAME ; bool QUrl::isRelative(void) const
+ ?dy@QLine@@QBEHXZ @ 1402 NONAME ; int QLine::dy(void) const
+ ?open@QAbstractFileEngine@@UAE_NV?$QFlags@W4OpenModeFlag@QIODevice@@@@@Z @ 1403 NONAME ; bool QAbstractFileEngine::open(class QFlags<enum QIODevice::OpenModeFlag>)
+ ?contains@QRect@@QBE_NABVQPoint@@_N@Z @ 1404 NONAME ; bool QRect::contains(class QPoint const &, bool) const
+ ?pos@QBuffer@@UBE_JXZ @ 1405 NONAME ; long long QBuffer::pos(void) const
+ ?bottomRight@QRectF@@QBE?AVQPointF@@XZ @ 1406 NONAME ; class QPointF QRectF::bottomRight(void) const
+ ??_EQDirIterator@@UAE@I@Z @ 1407 NONAME ; QDirIterator::~QDirIterator(unsigned int)
+ ?trUtf8@QFactoryLoader@@SA?AVQString@@PBD0H@Z @ 1408 NONAME ; class QString QFactoryLoader::trUtf8(char const *, char const *, int)
+ ?qt_s60GetRFs@@YAAAVRFs@@XZ @ 1409 NONAME ; class RFs & qt_s60GetRFs(void)
+ ?setWidth@QSizeF@@QAEXM@Z @ 1410 NONAME ; void QSizeF::setWidth(float)
+ ?count@QString@@QBEHVQChar@@W4CaseSensitivity@Qt@@@Z @ 1411 NONAME ; int QString::count(class QChar, enum Qt::CaseSensitivity) const
+ ?cleanPath@QDir@@SA?AVQString@@ABV2@@Z @ 1412 NONAME ; class QString QDir::cleanPath(class QString const &)
+ ?metaObject@QSignalTransition@@UBEPBUQMetaObject@@XZ @ 1413 NONAME ; struct QMetaObject const * QSignalTransition::metaObject(void) const
+ ??BQFlag@@QBEHXZ @ 1414 NONAME ; QFlag::operator int(void) const
+ ?indexOfClassInfo@QMetaObject@@QBEHPBD@Z @ 1415 NONAME ; int QMetaObject::indexOfClassInfo(char const *) const
+ ?sender@QMetaCallEvent@@QBEPBVQObject@@XZ @ 1416 NONAME ; class QObject const * QMetaCallEvent::sender(void) const
+ ??0QPointF@@QAE@ABVQPoint@@@Z @ 1417 NONAME ; QPointF::QPointF(class QPoint const &)
+ ?beginEntryList@QAbstractFileEngine@@UAEPAVQAbstractFileEngineIterator@@V?$QFlags@W4Filter@QDir@@@@ABVQStringList@@@Z @ 1418 NONAME ; class QAbstractFileEngineIterator * QAbstractFileEngine::beginEntryList(class QFlags<enum QDir::Filter>, class QStringList const &)
+ ??6QDataStream@@QAEAAV0@G@Z @ 1419 NONAME ; class QDataStream & QDataStream::operator<<(unsigned short)
+ ?toDouble@QByteArray@@QBENPA_N@Z @ 1420 NONAME ; double QByteArray::toDouble(bool *) const
+ ?setSenderObject@QSignalTransition@@QAEXPAVQObject@@@Z @ 1421 NONAME ; void QSignalTransition::setSenderObject(class QObject *)
+ ?fileName@QFile@@QBE?AVQString@@XZ @ 1422 NONAME ; class QString QFile::fileName(void) const
+ ?tr@QMetaObject@@QBE?AVQString@@PBD0H@Z @ 1423 NONAME ; class QString QMetaObject::tr(char const *, char const *, int) const
+ ?toChar@QVariant@@QBE?AVQChar@@XZ @ 1424 NONAME ; class QChar QVariant::toChar(void) const
+ ?isStored@QMetaProperty@@QBE_NPBVQObject@@@Z @ 1425 NONAME ; bool QMetaProperty::isStored(class QObject const *) const
+ ?pause@QAbstractAnimation@@QAEXXZ @ 1426 NONAME ; void QAbstractAnimation::pause(void)
+ ?error@QProcess@@QBE?AW4ProcessError@1@XZ @ 1427 NONAME ; enum QProcess::ProcessError QProcess::error(void) const
+ ?registerStreamOperators@QMetaType@@SAXPBDP6AXAAVQDataStream@@PBX@ZP6AX1PAX@Z@Z @ 1428 NONAME ; void QMetaType::registerStreamOperators(char const *, void (*)(class QDataStream &, void const *), void (*)(class QDataStream &, void *))
+ ?trUtf8@QSequentialAnimationGroup@@SA?AVQString@@PBD0@Z @ 1429 NONAME ; class QString QSequentialAnimationGroup::trUtf8(char const *, char const *)
+ ?args@QMetaCallEvent@@QBEPAPAXXZ @ 1430 NONAME ; void * * QMetaCallEvent::args(void) const
+ ?fieldWidth@QTextStream@@QBEHXZ @ 1431 NONAME ; int QTextStream::fieldWidth(void) const
+ ?addPause@QSequentialAnimationGroup@@QAEPAVQPauseAnimation@@H@Z @ 1432 NONAME ; class QPauseAnimation * QSequentialAnimationGroup::addPause(int)
+ ?senderList@QObjectPrivate@@QBE?AV?$QList@PAVQObject@@@@XZ @ 1433 NONAME ; class QList<class QObject *> QObjectPrivate::senderList(void) const
+ ??4QStringRef@@QAEAAV0@ABV0@@Z @ 1434 NONAME ; class QStringRef & QStringRef::operator=(class QStringRef const &)
+ ?qt_metacast@QSettings@@UAEPAXPBD@Z @ 1435 NONAME ; void * QSettings::qt_metacast(char const *)
+ ?animationAt@QAnimationGroup@@QBEPAVQAbstractAnimation@@H@Z @ 1436 NONAME ; class QAbstractAnimation * QAnimationGroup::animationAt(int) const
+ ?metaObject@QNonContiguousByteDevice@@UBEPBUQMetaObject@@XZ @ 1437 NONAME ; struct QMetaObject const * QNonContiguousByteDevice::metaObject(void) const
+ ?childGroups@QSettings@@QBE?AVQStringList@@XZ @ 1438 NONAME ; class QStringList QSettings::childGroups(void) const
+ ?handle@QFile@@QBEHXZ @ 1439 NONAME ; int QFile::handle(void) const
+ ??6@YAAAVQDataStream@@AAV0@ABUQUuid@@@Z @ 1440 NONAME ; class QDataStream & operator<<(class QDataStream &, struct QUuid const &)
+ ??0QXmlStreamStringRef@@QAE@ABVQString@@@Z @ 1441 NONAME ; QXmlStreamStringRef::QXmlStreamStringRef(class QString const &)
+ ?setDirection@QAbstractAnimation@@QAEXW4Direction@1@@Z @ 1442 NONAME ; void QAbstractAnimation::setDirection(enum QAbstractAnimation::Direction)
+ ??9QLineF@@QBE_NABV0@@Z @ 1443 NONAME ; bool QLineF::operator!=(class QLineF const &) const
+ ?x2@QLineF@@QBEMXZ @ 1444 NONAME ; float QLineF::x2(void) const
+ ?atEnd@QProcess@@UBE_NXZ @ 1445 NONAME ; bool QProcess::atEnd(void) const
+ ??6QTextStream@@QAEAAV0@D@Z @ 1446 NONAME ; class QTextStream & QTextStream::operator<<(char)
+ ?beginRemoveColumns@QAbstractItemModel@@IAEXABVQModelIndex@@HH@Z @ 1447 NONAME ; void QAbstractItemModel::beginRemoveColumns(class QModelIndex const &, int, int)
+ ??0QTextStreamManipulator@@QAE@P8QTextStream@@AEXVQChar@@@Z0@Z @ 1448 NONAME ; QTextStreamManipulator::QTextStreamManipulator(void (*)(class QChar), class QChar)
+ ??6QDebug@@QAEAAV0@PBX@Z @ 1449 NONAME ; class QDebug & QDebug::operator<<(void const *)
+ ?d_func@QXmlStreamWriter@@AAEPAVQXmlStreamWriterPrivate@@XZ @ 1450 NONAME ; class QXmlStreamWriterPrivate * QXmlStreamWriter::d_func(void)
+ ?animationsEnabled@QStateMachine@@QBE_NXZ @ 1451 NONAME ; bool QStateMachine::animationsEnabled(void) const
+ ?scale@QSize@@QAEXHHW4AspectRatioMode@Qt@@@Z @ 1452 NONAME ; void QSize::scale(int, int, enum Qt::AspectRatioMode)
+ ?fileFlags@QFSFileEngine@@UBE?AV?$QFlags@W4FileFlag@QAbstractFileEngine@@@@V2@@Z @ 1453 NONAME ; class QFlags<enum QAbstractFileEngine::FileFlag> QFSFileEngine::fileFlags(class QFlags<enum QAbstractFileEngine::FileFlag>) const
+ ??1QReadLocker@@QAE@XZ @ 1454 NONAME ; QReadLocker::~QReadLocker(void)
+ ?qstrcpy@@YAPADPADPBD@Z @ 1455 NONAME ; char * qstrcpy(char *, char const *)
+ ??4QFileInfo@@QAEAAV0@ABV0@@Z @ 1456 NONAME ; class QFileInfo & QFileInfo::operator=(class QFileInfo const &)
+ ?writeNamespace@QXmlStreamWriter@@QAEXABVQString@@0@Z @ 1457 NONAME ; void QXmlStreamWriter::writeNamespace(class QString const &, class QString const &)
+ ?startsWith@QString@@QBE_NABVQLatin1String@@W4CaseSensitivity@Qt@@@Z @ 1458 NONAME ; bool QString::startsWith(class QLatin1String const &, enum Qt::CaseSensitivity) const
+ ?d_func@QMimeData@@ABEPBVQMimeDataPrivate@@XZ @ 1459 NONAME ; class QMimeDataPrivate const * QMimeData::d_func(void) const
+ ?setUpdateInterval@QTimeLine@@QAEXH@Z @ 1460 NONAME ; void QTimeLine::setUpdateInterval(int)
+ ?toLineF@QVariant@@QBE?AVQLineF@@XZ @ 1461 NONAME ; class QLineF QVariant::toLineF(void) const
+ ?replace@QString@@QAEAAV1@ABV1@0W4CaseSensitivity@Qt@@@Z @ 1462 NONAME ; class QString & QString::replace(class QString const &, class QString const &, enum Qt::CaseSensitivity)
+ ?indexValid@QAbstractItemModelPrivate@@QBE_NABVQModelIndex@@@Z @ 1463 NONAME ; bool QAbstractItemModelPrivate::indexValid(class QModelIndex const &) const
+ ?getStaticMetaObject@QPropertyAnimation@@SAABUQMetaObject@@XZ @ 1464 NONAME ; struct QMetaObject const & QPropertyAnimation::getStaticMetaObject(void)
+ ?receiverList@QObjectPrivate@@QBE?AV?$QList@PAVQObject@@@@PBD@Z @ 1465 NONAME ; class QList<class QObject *> QObjectPrivate::receiverList(char const *) const
+ ?truncate@QByteArray@@QAEXH@Z @ 1466 NONAME ; void QByteArray::truncate(int)
+ ?processChannelMode@QProcess@@QBE?AW4ProcessChannelMode@1@XZ @ 1467 NONAME ; enum QProcess::ProcessChannelMode QProcess::processChannelMode(void) const
+ ?beginRemoveRows@QAbstractItemModel@@IAEXABVQModelIndex@@HH@Z @ 1468 NONAME ; void QAbstractItemModel::beginRemoveRows(class QModelIndex const &, int, int)
+ ?emitTriggered@QAbstractTransitionPrivate@@QAEXXZ @ 1469 NONAME ; void QAbstractTransitionPrivate::emitTriggered(void)
+ ?amplitude@QEasingCurve@@QBEMXZ @ 1470 NONAME ; float QEasingCurve::amplitude(void) const
+ ??4QChar@@QAEAAV0@ABV0@@Z @ 1471 NONAME ; class QChar & QChar::operator=(class QChar const &)
+ ?setBottomLeft@QRectF@@QAEXABVQPointF@@@Z @ 1472 NONAME ; void QRectF::setBottomLeft(class QPointF const &)
+ ?create@QNonContiguousByteDeviceFactory@@SAPAVQNonContiguousByteDevice@@PAVQRingBuffer@@@Z @ 1473 NONAME ; class QNonContiguousByteDevice * QNonContiguousByteDeviceFactory::create(class QRingBuffer *)
+ ?codecForName@QTextCodec@@SAPAV1@ABVQByteArray@@@Z @ 1474 NONAME ; class QTextCodec * QTextCodec::codecForName(class QByteArray const &)
+ ?qt_qFindChildren_helper@@YAXPBVQObject@@ABVQString@@PBVQRegExp@@ABUQMetaObject@@PAV?$QList@PAX@@@Z @ 1475 NONAME ; void qt_qFindChildren_helper(class QObject const *, class QString const &, class QRegExp const *, struct QMetaObject const &, class QList<void *> *)
+ ??0QDir@@QAE@ABV0@@Z @ 1476 NONAME ; QDir::QDir(class QDir const &)
+ ?arg@QString@@QBE?AV1@FHHABVQChar@@@Z @ 1477 NONAME ; class QString QString::arg(short, int, int, class QChar const &) const
+ ?translate@QTranslator@@QBE?AVQString@@PBD00H@Z @ 1478 NONAME ; class QString QTranslator::translate(char const *, char const *, char const *, int) const
+ ?transpose@QSizeF@@QAEXXZ @ 1479 NONAME ; void QSizeF::transpose(void)
+ ??0QXmlStreamWriter@@QAE@PAVQIODevice@@@Z @ 1480 NONAME ; QXmlStreamWriter::QXmlStreamWriter(class QIODevice *)
+ ?beginInsertColumns@QAbstractItemModel@@IAEXABVQModelIndex@@HH@Z @ 1481 NONAME ; void QAbstractItemModel::beginInsertColumns(class QModelIndex const &, int, int)
+ ?qt_metacast@QHistoryState@@UAEPAXPBD@Z @ 1482 NONAME ; void * QHistoryState::qt_metacast(char const *)
+ ?writeStartDocument@QXmlStreamWriter@@QAEXABVQString@@@Z @ 1483 NONAME ; void QXmlStreamWriter::writeStartDocument(class QString const &)
+ ?trUtf8@QAbstractTransition@@SA?AVQString@@PBD0@Z @ 1484 NONAME ; class QString QAbstractTransition::trUtf8(char const *, char const *)
+ ??0QThread@@IAE@AAVQThreadPrivate@@PAVQObject@@@Z @ 1485 NONAME ; QThread::QThread(class QThreadPrivate &, class QObject *)
+ ??0QDebug@@QAE@PAVQIODevice@@@Z @ 1486 NONAME ; QDebug::QDebug(class QIODevice *)
+ ?detach@QSharedMemory@@QAE_NXZ @ 1487 NONAME ; bool QSharedMemory::detach(void)
+ ?unicode@QCharRef@@QAEAAGXZ @ 1488 NONAME ; unsigned short & QCharRef::unicode(void)
+ ?qstrcmp@@YAHPBD0@Z @ 1489 NONAME ; int qstrcmp(char const *, char const *)
+ ?qt_metacall@QObjectCleanupHandler@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 1490 NONAME ; int QObjectCleanupHandler::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?d_func@QFSFileEngine@@AAEPAVQFSFileEnginePrivate@@XZ @ 1491 NONAME ; class QFSFileEnginePrivate * QFSFileEngine::d_func(void)
+ ?typeName@QMetaProperty@@QBEPBDXZ @ 1492 NONAME ; char const * QMetaProperty::typeName(void) const
+ ?count@QBitArray@@QBEHXZ @ 1493 NONAME ; int QBitArray::count(void) const
+ ?replace@QString@@QAEAAV1@HHVQChar@@@Z @ 1494 NONAME ; class QString & QString::replace(int, int, class QChar)
+ ?imageData@QMimeData@@QBE?AVQVariant@@XZ @ 1495 NONAME ; class QVariant QMimeData::imageData(void) const
+ ?digitValue@QChar@@QBEHXZ @ 1496 NONAME ; int QChar::digitValue(void) const
+ ?trUtf8@QTranslator@@SA?AVQString@@PBD0@Z @ 1497 NONAME ; class QString QTranslator::trUtf8(char const *, char const *)
+ ?append@QByteArray@@QAEAAV1@PBD@Z @ 1498 NONAME ; class QByteArray & QByteArray::append(char const *)
+ ?readAll@QIODevice@@QAE?AVQByteArray@@XZ @ 1499 NONAME ; class QByteArray QIODevice::readAll(void)
+ ??1QXmlStreamReader@@QAE@XZ @ 1500 NONAME ; QXmlStreamReader::~QXmlStreamReader(void)
+ ??1QFactoryLoader@@UAE@XZ @ 1501 NONAME ; QFactoryLoader::~QFactoryLoader(void)
+ ?isNull@QCharRef@@QBE_NXZ @ 1502 NONAME ; bool QCharRef::isNull(void) const
+ ?toSizeF@QVariant@@QBE?AVQSizeF@@XZ @ 1503 NONAME ; class QSizeF QVariant::toSizeF(void) const
+ ?isRelativePath@QDir@@SA_NABVQString@@@Z @ 1504 NONAME ; bool QDir::isRelativePath(class QString const &)
+ ?closingDown@QEventDispatcherSymbian@@UAEXXZ @ 1505 NONAME ; void QEventDispatcherSymbian::closingDown(void)
+ ?setParent@QObject@@QAEXPAV1@@Z @ 1506 NONAME ; void QObject::setParent(class QObject *)
+ ?realNumberNotation@QTextStream@@QBE?AW4RealNumberNotation@1@XZ @ 1507 NONAME ; enum QTextStream::RealNumberNotation QTextStream::realNumberNotation(void) const
+ ??NQTime@@QBE_NABV0@@Z @ 1508 NONAME ; bool QTime::operator<=(class QTime const &) const
+ ??0QFileInfo@@QAE@ABVQString@@@Z @ 1509 NONAME ; QFileInfo::QFileInfo(class QString const &)
+ ?q_func@QStateMachinePrivate@@ABEPBVQStateMachine@@XZ @ 1510 NONAME ; class QStateMachine const * QStateMachinePrivate::q_func(void) const
+ ?endMoveColumns@QAbstractItemModel@@IAEXXZ @ 1511 NONAME ; void QAbstractItemModel::endMoveColumns(void)
+ ??0QDataStream@@QAE@XZ @ 1512 NONAME ; QDataStream::QDataStream(void)
+ ?staticMetaObject@QPauseAnimation@@2UQMetaObject@@B @ 1513 NONAME ; struct QMetaObject const QPauseAnimation::staticMetaObject
+ ?event@QStateMachine@@MAE_NPAVQEvent@@@Z @ 1514 NONAME ; bool QStateMachine::event(class QEvent *)
+ ?fetchAndAddAcquire@QBasicAtomicInt@@QAEHH@Z @ 1515 NONAME ; int QBasicAtomicInt::fetchAndAddAcquire(int)
+ ?wakeAll@QWaitCondition@@QAEXXZ @ 1516 NONAME ; void QWaitCondition::wakeAll(void)
+ ?read@QIODevice@@QAE?AVQByteArray@@_J@Z @ 1517 NONAME ; class QByteArray QIODevice::read(long long)
+ ??_EQSocketNotifier@@UAE@I@Z @ 1518 NONAME ; QSocketNotifier::~QSocketNotifier(unsigned int)
+ ?fromUnicode@QTextCodec@@QBE?AVQByteArray@@ABVQString@@@Z @ 1519 NONAME ; class QByteArray QTextCodec::fromUnicode(class QString const &) const
+ ??1QEventLoop@@UAE@XZ @ 1520 NONAME ; QEventLoop::~QEventLoop(void)
+ ?release@QSemaphore@@QAEXH@Z @ 1521 NONAME ; void QSemaphore::release(int)
+ ?interrupt@QEventDispatcherSymbian@@UAEXXZ @ 1522 NONAME ; void QEventDispatcherSymbian::interrupt(void)
+ ?findLCA@QStateMachinePrivate@@QBEPAVQState@@ABV?$QList@PAVQAbstractState@@@@@Z @ 1523 NONAME ; class QState * QStateMachinePrivate::findLCA(class QList<class QAbstractState *> const &) const
+ ?setKey@QSharedMemory@@QAEXABVQString@@@Z @ 1524 NONAME ; void QSharedMemory::setKey(class QString const &)
+ ?tr@QTemporaryFile@@SA?AVQString@@PBD0@Z @ 1525 NONAME ; class QString QTemporaryFile::tr(char const *, char const *)
+ ?setPath@QDir@@QAEXABVQString@@@Z @ 1526 NONAME ; void QDir::setPath(class QString const &)
+ ?setNum@QString@@QAEAAV1@_KH@Z @ 1527 NONAME ; class QString & QString::setNum(unsigned long long, int)
+ ?read@QIODevice@@QAE_JPAD_J@Z @ 1528 NONAME ; long long QIODevice::read(char *, long long)
+ ?layoutAboutToBeChanged@QAbstractItemModel@@IAEXXZ @ 1529 NONAME ; void QAbstractItemModel::layoutAboutToBeChanged(void)
+ ?urls@QMimeData@@QBE?AV?$QList@VQUrl@@@@XZ @ 1530 NONAME ; class QList<class QUrl> QMimeData::urls(void) const
+ ?files@QFileSystemWatcher@@QBE?AVQStringList@@XZ @ 1531 NONAME ; class QStringList QFileSystemWatcher::files(void) const
+ ?trUtf8@QSignalMapper@@SA?AVQString@@PBD0H@Z @ 1532 NONAME ; class QString QSignalMapper::trUtf8(char const *, char const *, int)
+ ??8QXmlStreamAttribute@@QBE_NABV0@@Z @ 1533 NONAME ; bool QXmlStreamAttribute::operator==(class QXmlStreamAttribute const &) const
+ ?isProcessingInstruction@QXmlStreamReader@@QBE_NXZ @ 1534 NONAME ; bool QXmlStreamReader::isProcessingInstruction(void) const
+ ?addEncodedQueryItem@QUrl@@QAEXABVQByteArray@@0@Z @ 1535 NONAME ; void QUrl::addEncodedQueryItem(class QByteArray const &, class QByteArray const &)
+ ??1QAbstractItemModel@@UAE@XZ @ 1536 NONAME ; QAbstractItemModel::~QAbstractItemModel(void)
+ ?shortDayName@QDate@@SA?AVQString@@HW4MonthNameType@1@@Z @ 1537 NONAME ; class QString QDate::shortDayName(int, enum QDate::MonthNameType)
+ ?d_func@QHistoryState@@AAEPAVQHistoryStatePrivate@@XZ @ 1538 NONAME ; class QHistoryStatePrivate * QHistoryState::d_func(void)
+ ?metaObject@QParallelAnimationGroup@@UBEPBUQMetaObject@@XZ @ 1539 NONAME ; struct QMetaObject const * QParallelAnimationGroup::metaObject(void) const
+ ??0QByteArrayMatcher@@QAE@XZ @ 1540 NONAME ; QByteArrayMatcher::QByteArrayMatcher(void)
+ ?sectionFormat@QDateTimeParser@@QBE?AVQString@@H@Z @ 1541 NONAME ; class QString QDateTimeParser::sectionFormat(int) const
+ ?setDevice@QDataStream@@QAEXPAVQIODevice@@@Z @ 1542 NONAME ; void QDataStream::setDevice(class QIODevice *)
+ ?stopped@QStateMachine@@IAEXXZ @ 1543 NONAME ; void QStateMachine::stopped(void)
+ ?unregisterRestorable@QStateMachinePrivate@@QAEXPAVQObject@@ABVQByteArray@@@Z @ 1544 NONAME ; void QStateMachinePrivate::unregisterRestorable(class QObject *, class QByteArray const &)
+ ?stateChanged@QTimeLine@@IAEXW4State@1@@Z @ 1545 NONAME ; void QTimeLine::stateChanged(enum QTimeLine::State)
+ ?hasError@QXmlStreamReader@@QBE_NXZ @ 1546 NONAME ; bool QXmlStreamReader::hasError(void) const
+ ?codecForMib@QTextCodec@@SAPAV1@H@Z @ 1547 NONAME ; class QTextCodec * QTextCodec::codecForMib(int)
+ ?toLongLong@QByteArray@@QBE_JPA_NH@Z @ 1548 NONAME ; long long QByteArray::toLongLong(bool *, int) const
+ ??0QChar@@QAE@I@Z @ 1549 NONAME ; QChar::QChar(unsigned int)
+ ?qIsNaN@@YA_NN@Z @ 1550 NONAME ; bool qIsNaN(double)
+ ?hasNext@QDirIterator@@QBE_NXZ @ 1551 NONAME ; bool QDirIterator::hasNext(void) const
+ ?joining@QCharRef@@QBE?AW4Joining@QChar@@XZ @ 1552 NONAME ; enum QChar::Joining QCharRef::joining(void) const
+ ?toLong@QString@@QBEJPA_NH@Z @ 1553 NONAME ; long QString::toLong(bool *, int) const
+ ?methodIndex@QMetaMethod@@QBEHXZ @ 1554 NONAME ; int QMetaMethod::methodIndex(void) const
+ ?prepend@QByteArray@@QAEAAV1@D@Z @ 1555 NONAME ; class QByteArray & QByteArray::prepend(char)
+ ??0QNonContiguousByteDevice@@IAE@XZ @ 1556 NONAME ; QNonContiguousByteDevice::QNonContiguousByteDevice(void)
+ ?readAllStandardOutput@QProcess@@QAE?AVQByteArray@@XZ @ 1557 NONAME ; class QByteArray QProcess::readAllStandardOutput(void)
+ ??0QVariant@@QAE@ABVQDate@@@Z @ 1558 NONAME ; QVariant::QVariant(class QDate const &)
+ ??0QIncompatibleFlag@@QAE@H@Z @ 1559 NONAME ; QIncompatibleFlag::QIncompatibleFlag(int)
+ ?x2@QLine@@QBEHXZ @ 1560 NONAME ; int QLine::x2(void) const
+ ?d_func@QFileInfo@@ABEPBVQFileInfoPrivate@@XZ @ 1561 NONAME ; class QFileInfoPrivate const * QFileInfo::d_func(void) const
+ ?tr@QAbstractTransition@@SA?AVQString@@PBD0H@Z @ 1562 NONAME ; class QString QAbstractTransition::tr(char const *, char const *, int)
+ ?qDeleteInEventHandler@@YAXPAVQObject@@@Z @ 1563 NONAME ; void qDeleteInEventHandler(class QObject *)
+ ?tr@QTextCodecPlugin@@SA?AVQString@@PBD0@Z @ 1564 NONAME ; class QString QTextCodecPlugin::tr(char const *, char const *)
+ ?left@QByteArray@@QBE?AV1@H@Z @ 1565 NONAME ; class QByteArray QByteArray::left(int) const
+ ?seek@QTextStream@@QAE_N_J@Z @ 1566 NONAME ; bool QTextStream::seek(long long)
+ ?constData@QVariant@@QBEPBXXZ @ 1567 NONAME ; void const * QVariant::constData(void) const
+ ?qstrcmp@@YAHABVQByteArray@@PBD@Z @ 1568 NONAME ; int qstrcmp(class QByteArray const &, char const *)
+ ?toUpper@QByteArray@@QBE?AV1@XZ @ 1569 NONAME ; class QByteArray QByteArray::toUpper(void) const
+ ?normalizedType@QMetaObject@@SA?AVQByteArray@@PBD@Z @ 1570 NONAME ; class QByteArray QMetaObject::normalizedType(char const *)
+ ?setAutoDetectUnicode@QTextStream@@QAEX_N@Z @ 1571 NONAME ; void QTextStream::setAutoDetectUnicode(bool)
+ ?qBadAlloc@@YAXXZ @ 1572 NONAME ; void qBadAlloc(void)
+ ??NQString@@QBE_NPBD@Z @ 1573 NONAME ; bool QString::operator<=(char const *) const
+ ?unmap@QFile@@QAE_NPAE@Z @ 1574 NONAME ; bool QFile::unmap(unsigned char *)
+ ?isActive@QTimer@@QBE_NXZ @ 1575 NONAME ; bool QTimer::isActive(void) const
+ ??1QXmlStreamEntityResolver@@UAE@XZ @ 1576 NONAME ; QXmlStreamEntityResolver::~QXmlStreamEntityResolver(void)
+ ?wakeUp@QEventLoop@@QAEXXZ @ 1577 NONAME ; void QEventLoop::wakeUp(void)
+ ?qt_metacast@QSharedMemory@@UAEPAXPBD@Z @ 1578 NONAME ; void * QSharedMemory::qt_metacast(char const *)
+ ?unixSignal@QCoreApplication@@IAEXH@Z @ 1579 NONAME ; void QCoreApplication::unixSignal(int)
+ ?end@QString@@QBEPBVQChar@@XZ @ 1580 NONAME ; class QChar const * QString::end(void) const
+ ?QBasicAtomicInt_fetchAndAddOrdered@@YAHPCHH@Z @ 1581 NONAME ; int QBasicAtomicInt_fetchAndAddOrdered(int volatile *, int)
+ ?setFragment@QUrl@@QAEXABVQString@@@Z @ 1582 NONAME ; void QUrl::setFragment(class QString const &)
+ ?numberToCLocale@QLocalePrivate@@QBE_NABVQString@@W4GroupSeparatorMode@1@PAV?$QVarLengthArray@D$0BAA@@@@Z @ 1583 NONAME ; bool QLocalePrivate::numberToCLocale(class QString const &, enum QLocalePrivate::GroupSeparatorMode, class QVarLengthArray<char, 256> *) const
+ ?endRemoveColumns@QAbstractItemModel@@IAEXXZ @ 1584 NONAME ; void QAbstractItemModel::endRemoveColumns(void)
+ ?readLine@QFSFileEngine@@UAE_JPAD_J@Z @ 1585 NONAME ; long long QFSFileEngine::readLine(char *, long long)
+ ?startTimer@QObject@@QAEHH@Z @ 1586 NONAME ; int QObject::startTimer(int)
+ ?raiseError@QXmlStreamReader@@QAEXABVQString@@@Z @ 1587 NONAME ; void QXmlStreamReader::raiseError(class QString const &)
+ ??0QByteArrayMatcher@@QAE@PBDH@Z @ 1588 NONAME ; QByteArrayMatcher::QByteArrayMatcher(char const *, int)
+ ?maxThreadCount@QThreadPool@@QBEHXZ @ 1589 NONAME ; int QThreadPool::maxThreadCount(void) const
+ ?bytearrayToLongLong@QLocalePrivate@@SA_JPBDHPA_N1@Z @ 1590 NONAME ; long long QLocalePrivate::bytearrayToLongLong(char const *, int, bool *, bool *)
+ ?fromUnicode@QTextCodec@@QBE?AVQByteArray@@PBVQChar@@HPAUConverterState@1@@Z @ 1591 NONAME ; class QByteArray QTextCodec::fromUnicode(class QChar const *, int, struct QTextCodec::ConverterState *) const
+ ??_EQAbstractState@@UAE@I@Z @ 1592 NONAME ; QAbstractState::~QAbstractState(unsigned int)
+ ?createLocalFile@QTemporaryFile@@SAPAV1@ABVQString@@@Z @ 1593 NONAME ; class QTemporaryFile * QTemporaryFile::createLocalFile(class QString const &)
+ ?setX@QPoint@@QAEXH@Z @ 1594 NONAME ; void QPoint::setX(int)
+ ?staticMetaObject@QThread@@2UQMetaObject@@B @ 1595 NONAME ; struct QMetaObject const QThread::staticMetaObject
+ ?fromWCharArray@QString@@SA?AV1@PB_WH@Z @ 1596 NONAME ; class QString QString::fromWCharArray(wchar_t const *, int)
+ ??4QLatin1String@@QAEAAV0@ABV0@@Z @ 1597 NONAME ; class QLatin1String & QLatin1String::operator=(class QLatin1String const &)
+ ?properAncestors@QStateMachinePrivate@@SA?AV?$QList@PAVQState@@@@PBVQAbstractState@@PBVQState@@@Z @ 1598 NONAME ; class QList<class QState *> QStateMachinePrivate::properAncestors(class QAbstractState const *, class QState const *)
+ ?isNull@QUuid@@QBE_NXZ @ 1599 NONAME ; bool QUuid::isNull(void) const
+ ?qdtoa@@YAPADNHHPAH0PAPAD1@Z @ 1600 NONAME ; char * qdtoa(double, int, int, int *, int *, char * *, char * *)
+ ?currentFilePath@QAbstractFileEngineIterator@@QBE?AVQString@@XZ @ 1601 NONAME ; class QString QAbstractFileEngineIterator::currentFilePath(void) const
+ ?capturedTexts@QRegExp@@QAE?AVQStringList@@XZ @ 1602 NONAME ; class QStringList QRegExp::capturedTexts(void)
+ ??NQString@@QBE_NABVQByteArray@@@Z @ 1603 NONAME ; bool QString::operator<=(class QByteArray const &) const
+ ?invalidatePersistentIndexes@QAbstractItemModelPrivate@@QAEXXZ @ 1604 NONAME ; void QAbstractItemModelPrivate::invalidatePersistentIndexes(void)
+ ??6@YA?AVQDebug@@V0@ABVQPersistentModelIndex@@@Z @ 1605 NONAME ; class QDebug operator<<(class QDebug, class QPersistentModelIndex const &)
+ ?plus@QLocalePrivate@@QBE?AVQChar@@XZ @ 1606 NONAME ; class QChar QLocalePrivate::plus(void) const
+ ?nameToType@QVariant@@SA?AW4Type@1@PBD@Z @ 1607 NONAME ; enum QVariant::Type QVariant::nameToType(char const *)
+ ?installEventFilter@QObject@@QAEXPAV1@@Z @ 1608 NONAME ; void QObject::installEventFilter(class QObject *)
+ ??0QRegExp@@QAE@XZ @ 1609 NONAME ; QRegExp::QRegExp(void)
+ ?clear@QUrl@@QAEXXZ @ 1610 NONAME ; void QUrl::clear(void)
+ ?toUnicode@QTextCodec@@QBE?AVQString@@PBD@Z @ 1611 NONAME ; class QString QTextCodec::toUnicode(char const *) const
+ ?startTimer@QTimer@@AAEHH@Z @ 1612 NONAME ; int QTimer::startTimer(int)
+ ?state@QTimeLine@@QBE?AW4State@1@XZ @ 1613 NONAME ; enum QTimeLine::State QTimeLine::state(void) const
+ ?staticMetaObject@QFile@@2UQMetaObject@@B @ 1614 NONAME ; struct QMetaObject const QFile::staticMetaObject
+ ?compare@QString@@QBEHABVQLatin1String@@W4CaseSensitivity@Qt@@@Z @ 1615 NONAME ; int QString::compare(class QLatin1String const &, enum Qt::CaseSensitivity) const
+ ?duration@QPauseAnimation@@UBEHXZ @ 1616 NONAME ; int QPauseAnimation::duration(void) const
+ ?sibling@QModelIndex@@QBE?AV1@HH@Z @ 1617 NONAME ; class QModelIndex QModelIndex::sibling(int, int) const
+ ?metaObject@QFactoryLoader@@UBEPBUQMetaObject@@XZ @ 1618 NONAME ; struct QMetaObject const * QFactoryLoader::metaObject(void) const
+ ?fetchAndAddRelaxed@QBasicAtomicInt@@QAEHH@Z @ 1619 NONAME ; int QBasicAtomicInt::fetchAndAddRelaxed(int)
+ ??0QFinalState@@QAE@PAVQState@@@Z @ 1620 NONAME ; QFinalState::QFinalState(class QState *)
+ ??0QFileInfo@@QAE@ABV0@@Z @ 1621 NONAME ; QFileInfo::QFileInfo(class QFileInfo const &)
+ ?setIntegerBase@QTextStream@@QAEXH@Z @ 1622 NONAME ; void QTextStream::setIntegerBase(int)
+ ?trUtf8@QSettings@@SA?AVQString@@PBD0H@Z @ 1623 NONAME ; class QString QSettings::trUtf8(char const *, char const *, int)
+ ?workingDirectory@QProcess@@QBE?AVQString@@XZ @ 1624 NONAME ; class QString QProcess::workingDirectory(void) const
+ ??0QMutexLocker@@QAE@PAVQMutex@@@Z @ 1625 NONAME ; QMutexLocker::QMutexLocker(class QMutex *)
+ ?type@QVariant@@QBE?AW4Type@1@XZ @ 1626 NONAME ; enum QVariant::Type QVariant::type(void) const
+ ?setPatternSyntax@QRegExp@@QAEXW4PatternSyntax@1@@Z @ 1627 NONAME ; void QRegExp::setPatternSyntax(enum QRegExp::PatternSyntax)
+ ?propertyCount@QMetaObject@@QBEHXZ @ 1628 NONAME ; int QMetaObject::propertyCount(void) const
+ ?d_func@QFinalState@@AAEPAVQFinalStatePrivate@@XZ @ 1629 NONAME ; class QFinalStatePrivate * QFinalState::d_func(void)
+ ?d_func@QStateMachine@@AAEPAVQStateMachinePrivate@@XZ @ 1630 NONAME ; class QStateMachinePrivate * QStateMachine::d_func(void)
+ ?setPoints@QLine@@QAEXABVQPoint@@0@Z @ 1631 NONAME ; void QLine::setPoints(class QPoint const &, class QPoint const &)
+ ?qt_metacast@QAbstractAnimation@@UAEPAXPBD@Z @ 1632 NONAME ; void * QAbstractAnimation::qt_metacast(char const *)
+ ?setData@QAbstractItemModel@@UAE_NABVQModelIndex@@ABVQVariant@@H@Z @ 1633 NONAME ; bool QAbstractItemModel::setData(class QModelIndex const &, class QVariant const &, int)
+ ?scale@QSizeF@@QAEXABV1@W4AspectRatioMode@Qt@@@Z @ 1634 NONAME ; void QSizeF::scale(class QSizeF const &, enum Qt::AspectRatioMode)
+ ?isAbsolute@QFileInfo@@QBE_NXZ @ 1635 NONAME ; bool QFileInfo::isAbsolute(void) const
+ ?callEventTest@QAbstractTransitionPrivate@@QAE_NPAVQEvent@@@Z @ 1636 NONAME ; bool QAbstractTransitionPrivate::callEventTest(class QEvent *)
+ ?invoke@QMetaMethod@@QBE_NPAVQObject@@W4ConnectionType@Qt@@VQGenericReturnArgument@@VQGenericArgument@@333333333@Z @ 1637 NONAME ; bool QMetaMethod::invoke(class QObject *, enum Qt::ConnectionType, class QGenericReturnArgument, class QGenericArgument, class QGenericArgument, class QGenericArgument, class QGenericArgument, class QGenericArgument, class QGenericArgument, class QGenericArgument, class QGenericArgument, class QGenericArgument, class QGenericArgument) const
+ ??0QBuffer@@QAE@PAVQByteArray@@PAVQObject@@@Z @ 1638 NONAME ; QBuffer::QBuffer(class QByteArray *, class QObject *)
+ ?toTime@QLocale@@QBE?AVQTime@@ABVQString@@W4FormatType@1@@Z @ 1639 NONAME ; class QTime QLocale::toTime(class QString const &, enum QLocale::FormatType) const
+ ??YQSize@@QAEAAV0@ABV0@@Z @ 1640 NONAME ; class QSize & QSize::operator+=(class QSize const &)
+ ??0QFile@@QAE@PAVQObject@@@Z @ 1641 NONAME ; QFile::QFile(class QObject *)
+ ?data@QSharedMemory@@QBEPBXXZ @ 1642 NONAME ; void const * QSharedMemory::data(void) const
+ ?setKey@QSystemSemaphore@@QAEXABVQString@@HW4AccessMode@1@@Z @ 1643 NONAME ; void QSystemSemaphore::setKey(class QString const &, int, enum QSystemSemaphore::AccessMode)
+ ?toLongLong@QLocale@@QBE_JABVQString@@PA_NH@Z @ 1644 NONAME ; long long QLocale::toLongLong(class QString const &, bool *, int) const
+ ?read@QMetaProperty@@QBE?AVQVariant@@PBVQObject@@@Z @ 1645 NONAME ; class QVariant QMetaProperty::read(class QObject const *) const
+ ?getStaticMetaObject@QAbstractItemModel@@SAABUQMetaObject@@XZ @ 1646 NONAME ; struct QMetaObject const & QAbstractItemModel::getStaticMetaObject(void)
+ ??5QTextStream@@QAEAAV0@AAVQString@@@Z @ 1647 NONAME ; class QTextStream & QTextStream::operator>>(class QString &)
+ ??_EQFactoryInterface@@UAE@I@Z @ 1648 NONAME ; QFactoryInterface::~QFactoryInterface(unsigned int)
+ ?setBottomRight@QRect@@QAEXABVQPoint@@@Z @ 1649 NONAME ; void QRect::setBottomRight(class QPoint const &)
+ ?fromEncoded@QUrl@@SA?AV1@ABVQByteArray@@W4ParsingMode@1@@Z @ 1650 NONAME ; class QUrl QUrl::fromEncoded(class QByteArray const &, enum QUrl::ParsingMode)
+ ?releaseTimerId@QAbstractEventDispatcherPrivate@@SAXH@Z @ 1651 NONAME ; void QAbstractEventDispatcherPrivate::releaseTimerId(int)
+ ?link@QFile@@QAE_NABVQString@@@Z @ 1652 NONAME ; bool QFile::link(class QString const &)
+ ?d_func@QProcess@@AAEPAVQProcessPrivate@@XZ @ 1653 NONAME ; class QProcessPrivate * QProcess::d_func(void)
+ ?flush@QAbstractFileEngine@@UAE_NXZ @ 1654 NONAME ; bool QAbstractFileEngine::flush(void)
+ ?sibling@QPersistentModelIndex@@QBE?AVQModelIndex@@HH@Z @ 1655 NONAME ; class QModelIndex QPersistentModelIndex::sibling(int, int) const
+ ?skipRawData@QDataStream@@QAEHH@Z @ 1656 NONAME ; int QDataStream::skipRawData(int)
+ ?userProperty@QMetaObject@@QBE?AVQMetaProperty@@XZ @ 1657 NONAME ; class QMetaProperty QMetaObject::userProperty(void) const
+ ?qAppName@@YA?AVQString@@XZ @ 1658 NONAME ; class QString qAppName(void)
+ ??1QObject@@UAE@XZ @ 1659 NONAME ; QObject::~QObject(void)
+ ?string@QTextStream@@QBEPAVQString@@XZ @ 1660 NONAME ; class QString * QTextStream::string(void) const
+ ?data@QHBufC@@QAEPAVHBufC16@@XZ @ 1661 NONAME ; class HBufC16 * QHBufC::data(void)
+ ?unicode@QChar@@QAEAAGXZ @ 1662 NONAME ; unsigned short & QChar::unicode(void)
+ ?staticMetaObject@QFactoryLoader@@2UQMetaObject@@B @ 1663 NONAME ; struct QMetaObject const QFactoryLoader::staticMetaObject
+ ??0QMetaProperty@@QAE@XZ @ 1664 NONAME ; QMetaProperty::QMetaProperty(void)
+ ?resize@QFile@@QAE_N_J@Z @ 1665 NONAME ; bool QFile::resize(long long)
+ ?moveTop@QRectF@@QAEXM@Z @ 1666 NONAME ; void QRectF::moveTop(float)
+ ??4QByteArray@@QAEAAV0@ABV0@@Z @ 1667 NONAME ; class QByteArray & QByteArray::operator=(class QByteArray const &)
+ ?waitForStarted@QProcess@@QAE_NH@Z @ 1668 NONAME ; bool QProcess::waitForStarted(int)
+ ?d_func@QAbstractEventDispatcher@@ABEPBVQAbstractEventDispatcherPrivate@@XZ @ 1669 NONAME ; class QAbstractEventDispatcherPrivate const * QAbstractEventDispatcher::d_func(void) const
+ ?isEmpty@QSizeF@@QBE_NXZ @ 1670 NONAME ; bool QSizeF::isEmpty(void) const
+ ??0QUuid@@QAE@IGGEEEEEEEE@Z @ 1671 NONAME ; QUuid::QUuid(unsigned int, unsigned short, unsigned short, unsigned char, unsigned char, unsigned char, unsigned char, unsigned char, unsigned char, unsigned char, unsigned char)
+ ??6@YAAAVQDataStream@@AAV0@ABVQPointF@@@Z @ 1672 NONAME ; class QDataStream & operator<<(class QDataStream &, class QPointF const &)
+ ?data_ptr@QByteArray@@QAEAAPAUData@1@XZ @ 1673 NONAME ; struct QByteArray::Data * & QByteArray::data_ptr(void)
+ ?decompositionTag@QChar@@SA?AW4Decomposition@1@I@Z @ 1674 NONAME ; enum QChar::Decomposition QChar::decompositionTag(unsigned int)
+ ??6QTextStream@@QAEAAV0@_J@Z @ 1675 NONAME ; class QTextStream & QTextStream::operator<<(long long)
+ ?isHidden@QFileInfo@@QBE_NXZ @ 1676 NONAME ; bool QFileInfo::isHidden(void) const
+ ??9QDir@@QBE_NABV0@@Z @ 1677 NONAME ; bool QDir::operator!=(class QDir const &) const
+ ?sorting@QDir@@QBE?AV?$QFlags@W4SortFlag@QDir@@@@XZ @ 1678 NONAME ; class QFlags<enum QDir::SortFlag> QDir::sorting(void) const
+ ??1QResource@@QAE@XZ @ 1679 NONAME ; QResource::~QResource(void)
+ ?registerInterpolator@QVariantAnimation@@CAXP6A?AVQVariant@@PBX0M@ZH@Z @ 1680 NONAME ; void QVariantAnimation::registerInterpolator(class QVariant (*)(void const *, void const *, float), int)
+ ?staticMetaObject@QSocketNotifier@@2UQMetaObject@@B @ 1681 NONAME ; struct QMetaObject const QSocketNotifier::staticMetaObject
+ ??0QAnimationGroup@@QAE@PAVQObject@@@Z @ 1682 NONAME ; QAnimationGroup::QAnimationGroup(class QObject *)
+ ?append@QByteArray@@QAEAAV1@PBDH@Z @ 1683 NONAME ; class QByteArray & QByteArray::append(char const *, int)
+ ??8QByteRef@@QBE_ND@Z @ 1684 NONAME ; bool QByteRef::operator==(char) const
+ ?setAttribute@QCoreApplication@@SAXW4ApplicationAttribute@Qt@@_N@Z @ 1685 NONAME ; void QCoreApplication::setAttribute(enum Qt::ApplicationAttribute, bool)
+ ?addData@QXmlStreamReader@@QAEXPBD@Z @ 1686 NONAME ; void QXmlStreamReader::addData(char const *)
+ ?typeName@QMetaType@@SAPBDH@Z @ 1687 NONAME ; char const * QMetaType::typeName(int)
+ ?registerTimer@QAbstractEventDispatcher@@QAEHHPAVQObject@@@Z @ 1688 NONAME ; int QAbstractEventDispatcher::registerTimer(int, class QObject *)
+ ??4QUrl@@QAEAAV0@ABV0@@Z @ 1689 NONAME ; class QUrl & QUrl::operator=(class QUrl const &)
+ ?activated@QSocketNotifier@@IAEXH@Z @ 1690 NONAME ; void QSocketNotifier::activated(int)
+ ?trUtf8@QTranslator@@SA?AVQString@@PBD0H@Z @ 1691 NONAME ; class QString QTranslator::trUtf8(char const *, char const *, int)
+ ?readyRead@QIODevice@@IAEXXZ @ 1692 NONAME ; void QIODevice::readyRead(void)
+ ??5QTextStream@@QAEAAV0@AAH@Z @ 1693 NONAME ; class QTextStream & QTextStream::operator>>(int &)
+ ?row@QModelIndex@@QBEHXZ @ 1694 NONAME ; int QModelIndex::row(void) const
+ ?update@QFactoryLoader@@QAEXXZ @ 1695 NONAME ; void QFactoryLoader::update(void)
+ ?hasAttribute@QXmlStreamAttributes@@QBE_NABVQString@@0@Z @ 1696 NONAME ; bool QXmlStreamAttributes::hasAttribute(class QString const &, class QString const &) const
+ ?qvsnprintf@@YAHPADIPBD0@Z @ 1697 NONAME ; int qvsnprintf(char *, unsigned int, char const *, char *)
+ ?qCompress@@YA?AVQByteArray@@PBEHH@Z @ 1698 NONAME ; class QByteArray qCompress(unsigned char const *, int, int)
+ ?processingInstructionTarget@QXmlStreamReader@@QBE?AVQStringRef@@XZ @ 1699 NONAME ; class QStringRef QXmlStreamReader::processingInstructionTarget(void) const
+ ?setP1@QLine@@QAEXABVQPoint@@@Z @ 1700 NONAME ; void QLine::setP1(class QPoint const &)
+ ?tr@QSequentialAnimationGroup@@SA?AVQString@@PBD0@Z @ 1701 NONAME ; class QString QSequentialAnimationGroup::tr(char const *, char const *)
+ ?y1@QLineF@@QBEMXZ @ 1702 NONAME ; float QLineF::y1(void) const
+ ?setWidth@QRectF@@QAEXM@Z @ 1703 NONAME ; void QRectF::setWidth(float)
+ ?setPattern@QStringMatcher@@QAEXABVQString@@@Z @ 1704 NONAME ; void QStringMatcher::setPattern(class QString const &)
+ ?organizationName@QCoreApplication@@SA?AVQString@@XZ @ 1705 NONAME ; class QString QCoreApplication::organizationName(void)
+ ??8QDate@@QBE_NABV0@@Z @ 1706 NONAME ; bool QDate::operator==(class QDate const &) const
+ ?allEncodedQueryItemValues@QUrl@@QBE?AV?$QList@VQByteArray@@@@ABVQByteArray@@@Z @ 1707 NONAME ; class QList<class QByteArray> QUrl::allEncodedQueryItemValues(class QByteArray const &) const
+ ?trUtf8@QTimeLine@@SA?AVQString@@PBD0@Z @ 1708 NONAME ; class QString QTimeLine::trUtf8(char const *, char const *)
+ ??5QTextStream@@QAEAAV0@AA_K@Z @ 1709 NONAME ; class QTextStream & QTextStream::operator>>(unsigned long long &)
+ ?data@QSharedMemory@@QAEPAXXZ @ 1710 NONAME ; void * QSharedMemory::data(void)
+ ?gregorianToJulian@QDate@@SAIHHH@Z @ 1711 NONAME ; unsigned int QDate::gregorianToJulian(int, int, int)
+ ?qGlobalPostedEventsCount@@YAIXZ @ 1712 NONAME ; unsigned int qGlobalPostedEventsCount(void)
+ ?changePersistentIndex@QAbstractItemModel@@IAEXABVQModelIndex@@0@Z @ 1713 NONAME ; void QAbstractItemModel::changePersistentIndex(class QModelIndex const &, class QModelIndex const &)
+ ?revert@QAbstractItemModel@@UAEXXZ @ 1714 NONAME ; void QAbstractItemModel::revert(void)
+ ?d_func@QXmlStreamReader@@ABEPBVQXmlStreamReaderPrivate@@XZ @ 1715 NONAME ; class QXmlStreamReaderPrivate const * QXmlStreamReader::d_func(void) const
+ ?q_func@QEventTransitionPrivate@@AAEPAVQEventTransition@@XZ @ 1716 NONAME ; class QEventTransition * QEventTransitionPrivate::q_func(void)
+ ??_EQParallelAnimationGroup@@UAE@I@Z @ 1717 NONAME ; QParallelAnimationGroup::~QParallelAnimationGroup(unsigned int)
+ ?clear@QObjectCleanupHandler@@QAEXXZ @ 1718 NONAME ; void QObjectCleanupHandler::clear(void)
+ ?tr@QPauseAnimation@@SA?AVQString@@PBD0@Z @ 1719 NONAME ; class QString QPauseAnimation::tr(char const *, char const *)
+ ?getStaticMetaObject@QStateMachine@@SAABUQMetaObject@@XZ @ 1720 NONAME ; struct QMetaObject const & QStateMachine::getStaticMetaObject(void)
+ ?get@QMutexPool@@QAEPAVQMutex@@PBX@Z @ 1721 NONAME ; class QMutex * QMutexPool::get(void const *)
+ ?reset@QMetaProperty@@QBE_NPAVQObject@@@Z @ 1722 NONAME ; bool QMetaProperty::reset(class QObject *) const
+ ?staticMetaObject@QLocale@@2UQMetaObject@@B @ 1723 NONAME ; struct QMetaObject const QLocale::staticMetaObject
+ ?d_func@QEventDispatcherSymbian@@AAEPAVQAbstractEventDispatcherPrivate@@XZ @ 1724 NONAME ; class QAbstractEventDispatcherPrivate * QEventDispatcherSymbian::d_func(void)
+ ?isWritable@QIODevice@@QBE_NXZ @ 1725 NONAME ; bool QIODevice::isWritable(void) const
+ ?addState@QStateMachine@@QAEXPAVQAbstractState@@@Z @ 1726 NONAME ; void QStateMachine::addState(class QAbstractState *)
+ ?onExit@QHistoryState@@MAEXPAVQEvent@@@Z @ 1727 NONAME ; void QHistoryState::onExit(class QEvent *)
+ ??U@YA?AVQBitArray@@ABV0@0@Z @ 1728 NONAME ; class QBitArray operator|(class QBitArray const &, class QBitArray const &)
+ ??6QTextStream@@QAEAAV0@ABVQString@@@Z @ 1729 NONAME ; class QTextStream & QTextStream::operator<<(class QString const &)
+ ?setEnabled@QSocketNotifier@@QAEX_N@Z @ 1730 NONAME ; void QSocketNotifier::setEnabled(bool)
+ ?close@QFile@@UAEXXZ @ 1731 NONAME ; void QFile::close(void)
+ ??5@YAAAVQDataStream@@AAV0@AAVQRegExp@@@Z @ 1732 NONAME ; class QDataStream & operator>>(class QDataStream &, class QRegExp &)
+ ?tr@QAbstractState@@SA?AVQString@@PBD0@Z @ 1733 NONAME ; class QString QAbstractState::tr(char const *, char const *)
+ ??6QDebug@@QAEAAV0@J@Z @ 1734 NONAME ; class QDebug & QDebug::operator<<(long)
+ ?tr@QMetaObject@@QBE?AVQString@@PBD0@Z @ 1735 NONAME ; class QString QMetaObject::tr(char const *, char const *) const
+ ?q_func@QAbstractEventDispatcherPrivate@@ABEPBVQAbstractEventDispatcher@@XZ @ 1736 NONAME ; class QAbstractEventDispatcher const * QAbstractEventDispatcherPrivate::q_func(void) const
+ ?port@QUrl@@QBEHH@Z @ 1737 NONAME ; int QUrl::port(int) const
+ ?beginWriteArray@QSettings@@QAEXABVQString@@H@Z @ 1738 NONAME ; void QSettings::beginWriteArray(class QString const &, int)
+ ?qt_metacall@QSettings@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 1739 NONAME ; int QSettings::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ??1QProcess@@UAE@XZ @ 1740 NONAME ; QProcess::~QProcess(void)
+ ?setCell@QChar@@QAEXE@Z @ 1741 NONAME ; void QChar::setCell(unsigned char)
+ ?lastIndexOf@QString@@QBEHAAVQRegExp@@H@Z @ 1742 NONAME ; int QString::lastIndexOf(class QRegExp &, int) const
+ ??0QHBufC@@QAE@ABV0@@Z @ 1743 NONAME ; QHBufC::QHBufC(class QHBufC const &)
+ ?remove@QListData@@QAEXH@Z @ 1744 NONAME ; void QListData::remove(int)
+ ?setTimeSpec@QDateTime@@QAEXW4TimeSpec@Qt@@@Z @ 1745 NONAME ; void QDateTime::setTimeSpec(enum Qt::TimeSpec)
+ ?makeEncoder@QTextCodec@@QBEPAVQTextEncoder@@XZ @ 1746 NONAME ; class QTextEncoder * QTextCodec::makeEncoder(void) const
+ ?byteOrder@QDataStream@@QBE?AW4ByteOrder@1@XZ @ 1747 NONAME ; enum QDataStream::ByteOrder QDataStream::byteOrder(void) const
+ ?codecForName@QTextCodec@@SAPAV1@PBD@Z @ 1748 NONAME ; class QTextCodec * QTextCodec::codecForName(char const *)
+ ?toString@QDateTime@@QBE?AVQString@@ABV2@@Z @ 1749 NONAME ; class QString QDateTime::toString(class QString const &) const
+ ?remove@QListData@@QAEXHH@Z @ 1750 NONAME ; void QListData::remove(int, int)
+ ?toCaseFolded@QChar@@SAII@Z @ 1751 NONAME ; unsigned int QChar::toCaseFolded(unsigned int)
+ ??0QFSFileEngine@@QAE@ABVQString@@@Z @ 1752 NONAME ; QFSFileEngine::QFSFileEngine(class QString const &)
+ ?lastIndexOf@QString@@QBEHVQChar@@HW4CaseSensitivity@Qt@@@Z @ 1753 NONAME ; int QString::lastIndexOf(class QChar, int, enum Qt::CaseSensitivity) const
+ ?tr@QEventLoop@@SA?AVQString@@PBD0@Z @ 1754 NONAME ; class QString QEventLoop::tr(char const *, char const *)
+ ??OQString@@QBE_NABV0@@Z @ 1755 NONAME ; bool QString::operator>(class QString const &) const
+ ?surrogateToUcs4@QChar@@SAIV1@0@Z @ 1756 NONAME ; unsigned int QChar::surrogateToUcs4(class QChar, class QChar)
+ ??5@YAAAVQDataStream@@AAV0@AAVQLine@@@Z @ 1757 NONAME ; class QDataStream & operator>>(class QDataStream &, class QLine &)
+ ?d_func@QVariantAnimation@@AAEPAVQVariantAnimationPrivate@@XZ @ 1758 NONAME ; class QVariantAnimationPrivate * QVariantAnimation::d_func(void)
+ ??PQLatin1String@@QBE_NABVQString@@@Z @ 1759 NONAME ; bool QLatin1String::operator>=(class QString const &) const
+ ??8QRegExp@@QBE_NABV0@@Z @ 1760 NONAME ; bool QRegExp::operator==(class QRegExp const &) const
+ ?addDays@QDate@@QBE?AV1@H@Z @ 1761 NONAME ; class QDate QDate::addDays(int) const
+ ?translated@QLine@@QBE?AV1@ABVQPoint@@@Z @ 1762 NONAME ; class QLine QLine::translated(class QPoint const &) const
+ ??0QLibrary@@QAE@ABVQString@@PAVQObject@@@Z @ 1763 NONAME ; QLibrary::QLibrary(class QString const &, class QObject *)
+ ?processEvents@QStateMachinePrivate@@QAEXW4EventProcessingMode@1@@Z @ 1764 NONAME ; void QStateMachinePrivate::processEvents(enum QStateMachinePrivate::EventProcessingMode)
+ ?getStaticMetaObject@QSignalTransition@@SAABUQMetaObject@@XZ @ 1765 NONAME ; struct QMetaObject const & QSignalTransition::getStaticMetaObject(void)
+ ?section@QString@@QBE?AV1@ABVQRegExp@@HHV?$QFlags@W4SectionFlag@QString@@@@@Z @ 1766 NONAME ; class QString QString::section(class QRegExp const &, int, int, class QFlags<enum QString::SectionFlag>) const
+ ?qt_metacall@QEventTransition@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 1767 NONAME ; int QEventTransition::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?localeAwareCompare@QString@@SAHABV1@0@Z @ 1768 NONAME ; int QString::localeAwareCompare(class QString const &, class QString const &)
+ ?staticMetaObject@QMimeData@@2UQMetaObject@@B @ 1769 NONAME ; struct QMetaObject const QMimeData::staticMetaObject
+ ??4QDateTime@@QAEAAV0@ABV0@@Z @ 1770 NONAME ; class QDateTime & QDateTime::operator=(class QDateTime const &)
+ ?staticMetaObject@QAbstractTransition@@2UQMetaObject@@B @ 1771 NONAME ; struct QMetaObject const QAbstractTransition::staticMetaObject
+ ?isIdeographic@QXmlUtils@@CA_NVQChar@@@Z @ 1772 NONAME ; bool QXmlUtils::isIdeographic(class QChar)
+ ?applicationName@QCoreApplication@@SA?AVQString@@XZ @ 1773 NONAME ; class QString QCoreApplication::applicationName(void)
+ ?staticMetaObject@QEventLoop@@2UQMetaObject@@B @ 1774 NONAME ; struct QMetaObject const QEventLoop::staticMetaObject
+ ?fileName@QResource@@QBE?AVQString@@XZ @ 1775 NONAME ; class QString QResource::fileName(void) const
+ ?insert@QString@@QAEAAV1@HABVQLatin1String@@@Z @ 1776 NONAME ; class QString & QString::insert(int, class QLatin1String const &)
+ ??AQString@@QAE?AVQCharRef@@H@Z @ 1777 NONAME ; class QCharRef QString::operator[](int)
+ ?tr@QFactoryLoader@@SA?AVQString@@PBD0@Z @ 1778 NONAME ; class QString QFactoryLoader::tr(char const *, char const *)
+ ?setHMS@QTime@@QAE_NHHHH@Z @ 1779 NONAME ; bool QTime::setHMS(int, int, int, int)
+ ?language@QLocale@@QBE?AW4Language@1@XZ @ 1780 NONAME ; enum QLocale::Language QLocale::language(void) const
+ ??1QIODevice@@UAE@XZ @ 1781 NONAME ; QIODevice::~QIODevice(void)
+ ??0QTextStream@@QAE@XZ @ 1782 NONAME ; QTextStream::QTextStream(void)
+ ?property@QMetaObject@@QBE?AVQMetaProperty@@H@Z @ 1783 NONAME ; class QMetaProperty QMetaObject::property(int) const
+ ?libraryPaths@QCoreApplication@@SA?AVQStringList@@XZ @ 1784 NONAME ; class QStringList QCoreApplication::libraryPaths(void)
+ ??0QVariant@@QAE@H@Z @ 1785 NONAME ; QVariant::QVariant(int)
+ ?testAndSetRelease@QBasicAtomicInt@@QAE_NHH@Z @ 1786 NONAME ; bool QBasicAtomicInt::testAndSetRelease(int, int)
+ ?setPeriod@QEasingCurve@@QAEXM@Z @ 1787 NONAME ; void QEasingCurve::setPeriod(float)
+ ??0QAbstractFileEngineIterator@@QAE@V?$QFlags@W4Filter@QDir@@@@ABVQStringList@@@Z @ 1788 NONAME ; QAbstractFileEngineIterator::QAbstractFileEngineIterator(class QFlags<enum QDir::Filter>, class QStringList const &)
+ ?sourceState@QAbstractTransitionPrivate@@QBEPAVQState@@XZ @ 1789 NONAME ; class QState * QAbstractTransitionPrivate::sourceState(void) const
+ ?startingUp@QCoreApplication@@SA_NXZ @ 1790 NONAME ; bool QCoreApplication::startingUp(void)
+ ?decodeName@QFile@@SA?AVQString@@ABVQByteArray@@@Z @ 1791 NONAME ; class QString QFile::decodeName(class QByteArray const &)
+ ?_q_animationFinished@QStateMachinePrivate@@QAEXXZ @ 1792 NONAME ; void QStateMachinePrivate::_q_animationFinished(void)
+ ?setTargetState@QAbstractTransition@@QAEXPAVQAbstractState@@@Z @ 1793 NONAME ; void QAbstractTransition::setTargetState(class QAbstractState *)
+ ?trUtf8@QMimeData@@SA?AVQString@@PBD0@Z @ 1794 NONAME ; class QString QMimeData::trUtf8(char const *, char const *)
+ ??0QFSFileEngine@@QAE@XZ @ 1795 NONAME ; QFSFileEngine::QFSFileEngine(void)
+ ?makeAbsolute@QDir@@QAE_NXZ @ 1796 NONAME ; bool QDir::makeAbsolute(void)
+ ??0QRectF@@QAE@ABVQPointF@@0@Z @ 1797 NONAME ; QRectF::QRectF(class QPointF const &, class QPointF const &)
+ ?exec@QTextStreamManipulator@@QAEXAAVQTextStream@@@Z @ 1798 NONAME ; void QTextStreamManipulator::exec(class QTextStream &)
+ ??0QHBufC@@QAE@ABVQString@@@Z @ 1799 NONAME ; QHBufC::QHBufC(class QString const &)
+ ?setKeyValues@QVariantAnimation@@QAEXABV?$QVector@U?$QPair@MVQVariant@@@@@@@Z @ 1800 NONAME ; void QVariantAnimation::setKeyValues(class QVector<struct QPair<float, class QVariant> > const &)
+ ??0QVariant@@QAE@ABVQLocale@@@Z @ 1801 NONAME ; QVariant::QVariant(class QLocale const &)
+ ?toEnd@QTextBoundaryFinder@@QAEXXZ @ 1802 NONAME ; void QTextBoundaryFinder::toEnd(void)
+ ?instance@QAbstractEventDispatcher@@SAPAV1@PAVQThread@@@Z @ 1803 NONAME ; class QAbstractEventDispatcher * QAbstractEventDispatcher::instance(class QThread *)
+ ?translate@QCoreApplication@@SA?AVQString@@PBD00W4Encoding@1@@Z @ 1804 NONAME ; class QString QCoreApplication::translate(char const *, char const *, char const *, enum QCoreApplication::Encoding)
+ ??_EQEventTransitionPrivate@@UAE@I@Z @ 1805 NONAME ; QEventTransitionPrivate::~QEventTransitionPrivate(unsigned int)
+ ?absolutePath@QFileInfo@@QBE?AVQString@@XZ @ 1806 NONAME ; class QString QFileInfo::absolutePath(void) const
+ ?staticMetaObject@QVariantAnimation@@2UQMetaObject@@B @ 1807 NONAME ; struct QMetaObject const QVariantAnimation::staticMetaObject
+ ?invokeMethod@QMetaObject@@SA_NPAVQObject@@PBDVQGenericReturnArgument@@VQGenericArgument@@333333333@Z @ 1808 NONAME ; bool QMetaObject::invokeMethod(class QObject *, char const *, class QGenericReturnArgument, class QGenericArgument, class QGenericArgument, class QGenericArgument, class QGenericArgument, class QGenericArgument, class QGenericArgument, class QGenericArgument, class QGenericArgument, class QGenericArgument, class QGenericArgument)
+ ?getStaticMetaObject@QObjectCleanupHandler@@SAABUQMetaObject@@XZ @ 1809 NONAME ; struct QMetaObject const & QObjectCleanupHandler::getStaticMetaObject(void)
+ ?append@QString@@QAEAAV1@ABVQLatin1String@@@Z @ 1810 NONAME ; class QString & QString::append(class QLatin1String const &)
+ ?toTitleCase@QChar@@QBE?AV1@XZ @ 1811 NONAME ; class QChar QChar::toTitleCase(void) const
+ ??4QModelIndex@@QAEAAV0@ABV0@@Z @ 1812 NONAME ; class QModelIndex & QModelIndex::operator=(class QModelIndex const &)
+ ?getStaticMetaObject@QTextCodecPlugin@@SAABUQMetaObject@@XZ @ 1813 NONAME ; struct QMetaObject const & QTextCodecPlugin::getStaticMetaObject(void)
+ ??9QProcessEnvironment@@QBE_NABV0@@Z @ 1814 NONAME ; bool QProcessEnvironment::operator!=(class QProcessEnvironment const &) const
+ ?toLocal8Bit@QString@@QBE?AVQByteArray@@XZ @ 1815 NONAME ; class QByteArray QString::toLocal8Bit(void) const
+ ?QStringList_replaceInStrings@QtPrivate@@YAXPAVQStringList@@ABVQRegExp@@ABVQString@@@Z @ 1816 NONAME ; void QtPrivate::QStringList_replaceInStrings(class QStringList *, class QRegExp const &, class QString const &)
+ ?userData@QObject@@QBEPAVQObjectUserData@@I@Z @ 1817 NONAME ; class QObjectUserData * QObject::userData(unsigned int) const
+ ?potentialValue@QDateTimeParser@@QBE_NABVQString@@HHHABVQDateTime@@H@Z @ 1818 NONAME ; bool QDateTimeParser::potentialValue(class QString const &, int, int, int, class QDateTime const &, int) const
+ ?link@QFile@@SA_NABVQString@@0@Z @ 1819 NONAME ; bool QFile::link(class QString const &, class QString const &)
+ ??YQString@@QAEAAV0@ABV0@@Z @ 1820 NONAME ; class QString & QString::operator+=(class QString const &)
+ ?skipCurrentElement@QXmlStreamReader@@QAEXXZ @ 1821 NONAME ; void QXmlStreamReader::skipCurrentElement(void)
+ ?qt_metacast@QEventLoop@@UAEPAXPBD@Z @ 1822 NONAME ; void * QEventLoop::qt_metacast(char const *)
+ ?qt_metacast@QEventTransition@@UAEPAXPBD@Z @ 1823 NONAME ; void * QEventTransition::qt_metacast(char const *)
+ ??0QVariant@@QAE@W4Type@0@@Z @ 1824 NONAME ; QVariant::QVariant(enum QVariant::Type)
+ ?getCoords@QRect@@QBEXPAH000@Z @ 1825 NONAME ; void QRect::getCoords(int *, int *, int *, int *) const
+ ??0QSequentialAnimationGroup@@IAE@AAVQSequentialAnimationGroupPrivate@@PAVQObject@@@Z @ 1826 NONAME ; QSequentialAnimationGroup::QSequentialAnimationGroup(class QSequentialAnimationGroupPrivate &, class QObject *)
+ ??5QDataStream@@QAEAAV0@AAC@Z @ 1827 NONAME ; class QDataStream & QDataStream::operator>>(signed char &)
+ ?historyType@QHistoryState@@QBE?AW4HistoryType@1@XZ @ 1828 NONAME ; enum QHistoryState::HistoryType QHistoryState::historyType(void) const
+ ??9@YA_NABVQRectF@@0@Z @ 1829 NONAME ; bool operator!=(class QRectF const &, class QRectF const &)
+ ??0QAbstractEventDispatcherPrivate@@QAE@XZ @ 1830 NONAME ; QAbstractEventDispatcherPrivate::QAbstractEventDispatcherPrivate(void)
+ ?close@QBuffer@@UAEXXZ @ 1831 NONAME ; void QBuffer::close(void)
+ ?registerFormat@QSettings@@SA?AW4Format@1@ABVQString@@P6A_NAAVQIODevice@@AAV?$QMap@VQString@@VQVariant@@@@@ZP6A_N1ABV5@@ZW4CaseSensitivity@Qt@@@Z @ 1832 NONAME ; enum QSettings::Format QSettings::registerFormat(class QString const &, bool (*)(class QIODevice &, class QMap<class QString, class QVariant> &), bool (*)(class QIODevice &, class QMap<class QString, class QVariant> const &), enum Qt::CaseSensitivity)
+ ??_EQTimerEvent@@UAE@I@Z @ 1833 NONAME ; QTimerEvent::~QTimerEvent(unsigned int)
+ ??0QEvent@@QAE@W4Type@0@@Z @ 1834 NONAME ; QEvent::QEvent(enum QEvent::Type)
+ ?repeated@QString@@QBE?AV1@H@Z @ 1835 NONAME ; class QString QString::repeated(int) const
+ ?indexOfConstructor@QMetaObject@@QBEHPBD@Z @ 1836 NONAME ; int QMetaObject::indexOfConstructor(char const *) const
+ ?isEmpty@QRect@@QBE_NXZ @ 1837 NONAME ; bool QRect::isEmpty(void) const
+ ??MQString@@QBE_NABVQByteArray@@@Z @ 1838 NONAME ; bool QString::operator<(class QByteArray const &) const
+ ??1QFinalState@@UAE@XZ @ 1839 NONAME ; QFinalState::~QFinalState(void)
+ ??0QLibrary@@QAE@PAVQObject@@@Z @ 1840 NONAME ; QLibrary::QLibrary(class QObject *)
+ ??0QRect@@QAE@XZ @ 1841 NONAME ; QRect::QRect(void)
+ ?begin@QListData@@QBEPAPAXXZ @ 1842 NONAME ; void * * QListData::begin(void) const
+ ?takeAnimationAt@QAnimationGroup@@QAEPAVQAbstractAnimation@@H@Z @ 1843 NONAME ; class QAbstractAnimation * QAnimationGroup::takeAnimationAt(int)
+ ?machine@QAbstractTransitionPrivate@@QBEPAVQStateMachine@@XZ @ 1844 NONAME ; class QStateMachine * QAbstractTransitionPrivate::machine(void) const
+ ?sendPostedEvents@QEventDispatcherSymbian@@AAE_NXZ @ 1845 NONAME ; bool QEventDispatcherSymbian::sendPostedEvents(void)
+ ?eventType@QEventTransition@@QBE?AW4Type@QEvent@@XZ @ 1846 NONAME ; enum QEvent::Type QEventTransition::eventType(void) const
+ ??4QCharRef@@QAEAAV0@D@Z @ 1847 NONAME ; class QCharRef & QCharRef::operator=(char)
+ ??6QDataStream@@QAEAAV0@PBD@Z @ 1848 NONAME ; class QDataStream & QDataStream::operator<<(char const *)
+ ?q_func@QObjectPrivate@@ABEPBVQObject@@XZ @ 1849 NONAME ; class QObject const * QObjectPrivate::q_func(void) const
+ ?isPrint@QCharRef@@QBE_NXZ @ 1850 NONAME ; bool QCharRef::isPrint(void) const
+ ?version@QDataStream@@QBEHXZ @ 1851 NONAME ; int QDataStream::version(void) const
+ ??6@YAAAVQDataStream@@AAV0@ABVQTime@@@Z @ 1852 NONAME ; class QDataStream & operator<<(class QDataStream &, class QTime const &)
+ ?getStaticMetaObject@QSettings@@SAABUQMetaObject@@XZ @ 1853 NONAME ; struct QMetaObject const & QSettings::getStaticMetaObject(void)
+ ?dropMimeData@QAbstractTableModel@@UAE_NPBVQMimeData@@W4DropAction@Qt@@HHABVQModelIndex@@@Z @ 1854 NONAME ; bool QAbstractTableModel::dropMimeData(class QMimeData const *, enum Qt::DropAction, int, int, class QModelIndex const &)
+ ?weekNumber@QDate@@QBEHPAH@Z @ 1855 NONAME ; int QDate::weekNumber(int *) const
+ ?updateState@QParallelAnimationGroup@@MAEXW4State@QAbstractAnimation@@0@Z @ 1856 NONAME ; void QParallelAnimationGroup::updateState(enum QAbstractAnimation::State, enum QAbstractAnimation::State)
+ ?mightGrow@QHashData@@QAEXXZ @ 1857 NONAME ; void QHashData::mightGrow(void)
+ ??6@YA?AVQDebug@@V0@ABVQSize@@@Z @ 1858 NONAME ; class QDebug operator<<(class QDebug, class QSize const &)
+ ?getMaximum@QDateTimeParser@@UBE?AVQDateTime@@XZ @ 1859 NONAME ; class QDateTime QDateTimeParser::getMaximum(void) const
+ ?time@QDateTime@@QBE?AVQTime@@XZ @ 1860 NONAME ; class QTime QDateTime::time(void) const
+ ?pmText@QLocale@@QBE?AVQString@@XZ @ 1861 NONAME ; class QString QLocale::pmText(void) const
+ ?isNCName@QXmlUtils@@SA_NABVQString@@@Z @ 1862 NONAME ; bool QXmlUtils::isNCName(class QString const &)
+ ?setCurrent@QDir@@SA_NABVQString@@@Z @ 1863 NONAME ; bool QDir::setCurrent(class QString const &)
+ ?reset@QCryptographicHash@@QAEXXZ @ 1864 NONAME ; void QCryptographicHash::reset(void)
+ ??5@YAAAVQDataStream@@AAV0@AAVQRect@@@Z @ 1865 NONAME ; class QDataStream & operator>>(class QDataStream &, class QRect &)
+ ?rmdir@QAbstractFileEngine@@UBE_NABVQString@@_N@Z @ 1866 NONAME ; bool QAbstractFileEngine::rmdir(class QString const &, bool) const
+ ?startValue@QVariantAnimation@@QBE?AVQVariant@@XZ @ 1867 NONAME ; class QVariant QVariantAnimation::startValue(void) const
+ ?unite@QRectF@@QBE?AV1@ABV1@@Z @ 1868 NONAME ; class QRectF QRectF::unite(class QRectF const &) const
+ ?toUnicode@QTextCodec@@QBE?AVQString@@ABVQByteArray@@@Z @ 1869 NONAME ; class QString QTextCodec::toUnicode(class QByteArray const &) const
+ ??1QVariant@@QAE@XZ @ 1870 NONAME ; QVariant::~QVariant(void)
+ ?pattern@QRegExp@@QBE?AVQString@@XZ @ 1871 NONAME ; class QString QRegExp::pattern(void) const
+ ?amText@QLocale@@QBE?AVQString@@XZ @ 1872 NONAME ; class QString QLocale::amText(void) const
+ ??0QChildEvent@@QAE@W4Type@QEvent@@PAVQObject@@@Z @ 1873 NONAME ; QChildEvent::QChildEvent(enum QEvent::Type, class QObject *)
+ ?closeWriteChannel@QProcess@@QAEXXZ @ 1874 NONAME ; void QProcess::closeWriteChannel(void)
+ ?onEntry@QStateMachine@@MAEXPAVQEvent@@@Z @ 1875 NONAME ; void QStateMachine::onEntry(class QEvent *)
+ ?moveCenter@QRect@@QAEXABVQPoint@@@Z @ 1876 NONAME ; void QRect::moveCenter(class QPoint const &)
+ ?setPermissions@QFile@@QAE_NV?$QFlags@W4Permission@QFile@@@@@Z @ 1877 NONAME ; bool QFile::setPermissions(class QFlags<enum QFile::Permission>)
+ ??0QXmlStreamReader@@QAE@ABVQString@@@Z @ 1878 NONAME ; QXmlStreamReader::QXmlStreamReader(class QString const &)
+ ?isDefault@QXmlStreamAttribute@@QBE_NXZ @ 1879 NONAME ; bool QXmlStreamAttribute::isDefault(void) const
+ ??0QModelIndex@@AAE@HHPAXPBVQAbstractItemModel@@@Z @ 1880 NONAME ; QModelIndex::QModelIndex(int, int, void *, class QAbstractItemModel const *)
+ ?setLine@QLineF@@QAEXMMMM@Z @ 1881 NONAME ; void QLineF::setLine(float, float, float, float)
+ ??5@YAAAVQDataStream@@AAV0@AAVQPoint@@@Z @ 1882 NONAME ; class QDataStream & operator>>(class QDataStream &, class QPoint &)
+ ?set@QThreadStorageData@@QAEPAPAXPAX@Z @ 1883 NONAME ; void * * QThreadStorageData::set(void *)
+ ?qt_symbian_exception2LeaveL@@YAXABVexception@std@@@Z @ 1884 NONAME ; void qt_symbian_exception2LeaveL(class std::exception const &)
+ ?hasUrls@QMimeData@@QBE_NXZ @ 1885 NONAME ; bool QMimeData::hasUrls(void) const
+ ?globalInstanceGet@QMutexPool@@SAPAVQMutex@@PBX@Z @ 1886 NONAME ; class QMutex * QMutexPool::globalInstanceGet(void const *)
+ ?errorString@QSystemSemaphore@@QBE?AVQString@@XZ @ 1887 NONAME ; class QString QSystemSemaphore::errorString(void) const
+ ?isNull@QPoint@@QBE_NXZ @ 1888 NONAME ; bool QPoint::isNull(void) const
+ ?processEvents@QEventLoop@@QAE_NV?$QFlags@W4ProcessEventsFlag@QEventLoop@@@@@Z @ 1889 NONAME ; bool QEventLoop::processEvents(class QFlags<enum QEventLoop::ProcessEventsFlag>)
+ ?readNext@QXmlStreamReader@@QAE?AW4TokenType@1@XZ @ 1890 NONAME ; enum QXmlStreamReader::TokenType QXmlStreamReader::readNext(void)
+ ?lock@QSharedMemory@@QAE_NXZ @ 1891 NONAME ; bool QSharedMemory::lock(void)
+ ??_EQFactoryLoader@@UAE@I@Z @ 1892 NONAME ; QFactoryLoader::~QFactoryLoader(unsigned int)
+ ?toString@QLocale@@QBE?AVQString@@ABVQDateTime@@W4FormatType@1@@Z @ 1893 NONAME ; class QString QLocale::toString(class QDateTime const &, enum QLocale::FormatType) const
+ ?d_func@QFile@@AAEPAVQFilePrivate@@XZ @ 1894 NONAME ; class QFilePrivate * QFile::d_func(void)
+ ??8QVariant@@QBE_NABV0@@Z @ 1895 NONAME ; bool QVariant::operator==(class QVariant const &) const
+ ?fetchAndAddOrdered@QBasicAtomicInt@@QAEHH@Z @ 1896 NONAME ; int QBasicAtomicInt::fetchAndAddOrdered(int)
+ ?qt_metacast@QStateMachine@@UAEPAXPBD@Z @ 1897 NONAME ; void * QStateMachine::qt_metacast(char const *)
+ ?isDigit@QXmlUtils@@CA_NVQChar@@@Z @ 1898 NONAME ; bool QXmlUtils::isDigit(class QChar)
+ ?rmdir@QFSFileEngine@@UBE_NABVQString@@_N@Z @ 1899 NONAME ; bool QFSFileEngine::rmdir(class QString const &, bool) const
+ ?exitStates@QStateMachinePrivate@@QAE?AV?$QList@PAVQAbstractState@@@@PAVQEvent@@ABV?$QList@PAVQAbstractTransition@@@@@Z @ 1900 NONAME ; class QList<class QAbstractState *> QStateMachinePrivate::exitStates(class QEvent *, class QList<class QAbstractTransition *> const &)
+ ?staticMetaObject@QState@@2UQMetaObject@@B @ 1901 NONAME ; struct QMetaObject const QState::staticMetaObject
+ ?stop@QTimer@@QAEXXZ @ 1902 NONAME ; void QTimer::stop(void)
+ ?resolve@QLibrary@@SAPAXABVQString@@PBD@Z @ 1903 NONAME ; void * QLibrary::resolve(class QString const &, char const *)
+ ??OQString@@QBE_NABVQLatin1String@@@Z @ 1904 NONAME ; bool QString::operator>(class QLatin1String const &) const
+ ?metaObject@QPropertyAnimation@@UBEPBUQMetaObject@@XZ @ 1905 NONAME ; struct QMetaObject const * QPropertyAnimation::metaObject(void) const
+ ?isNull@QByteArray@@QBE_NXZ @ 1906 NONAME ; bool QByteArray::isNull(void) const
+ ?isEntityReference@QXmlStreamReader@@QBE_NXZ @ 1907 NONAME ; bool QXmlStreamReader::isEntityReference(void) const
+ ?setSize@QFSFileEngine@@UAE_N_J@Z @ 1908 NONAME ; bool QFSFileEngine::setSize(long long)
+ ?normalized@QString@@QBE?AV1@W4NormalizationForm@1@W4UnicodeVersion@QChar@@@Z @ 1909 NONAME ; class QString QString::normalized(enum QString::NormalizationForm, enum QChar::UnicodeVersion) const
+ ?toFloat@QLocale@@QBEMABVQString@@PA_N@Z @ 1910 NONAME ; float QLocale::toFloat(class QString const &, bool *) const
+ ?interval@QTimer@@QBEHXZ @ 1911 NONAME ; int QTimer::interval(void) const
+ ?childKeys@QSettings@@QBE?AVQStringList@@XZ @ 1912 NONAME ; class QStringList QSettings::childKeys(void) const
+ ?getStaticMetaObject@QThreadPool@@SAABUQMetaObject@@XZ @ 1913 NONAME ; struct QMetaObject const & QThreadPool::getStaticMetaObject(void)
+ ?waitForBytesWritten@QIODevice@@UAE_NH@Z @ 1914 NONAME ; bool QIODevice::waitForBytesWritten(int)
+ ?setStandardInputFile@QProcess@@QAEXABVQString@@@Z @ 1915 NONAME ; void QProcess::setStandardInputFile(class QString const &)
+ ??0QAbstractEventDispatcher@@QAE@PAVQObject@@@Z @ 1916 NONAME ; QAbstractEventDispatcher::QAbstractEventDispatcher(class QObject *)
+ ?fileTemplate@QTemporaryFile@@QBE?AVQString@@XZ @ 1917 NONAME ; class QString QTemporaryFile::fileTemplate(void) const
+ ?d_func@QSharedMemory@@AAEPAVQSharedMemoryPrivate@@XZ @ 1918 NONAME ; class QSharedMemoryPrivate * QSharedMemory::d_func(void)
+ ?endEntryList@QAbstractFileEngine@@UAEPAVQAbstractFileEngineIterator@@XZ @ 1919 NONAME ; class QAbstractFileEngineIterator * QAbstractFileEngine::endEntryList(void)
+ ?tr@QAnimationGroup@@SA?AVQString@@PBD0H@Z @ 1920 NONAME ; class QString QAnimationGroup::tr(char const *, char const *, int)
+ ?onEntry@QFinalState@@MAEXPAVQEvent@@@Z @ 1921 NONAME ; void QFinalState::onEntry(class QEvent *)
+ ?load@QLibrary@@QAE_NXZ @ 1922 NONAME ; bool QLibrary::load(void)
+ ??6@YAAAVQDataStream@@AAV0@ABVQPoint@@@Z @ 1923 NONAME ; class QDataStream & operator<<(class QDataStream &, class QPoint const &)
+ ?setFileTemplate@QTemporaryFile@@QAEXABVQString@@@Z @ 1924 NONAME ; void QTemporaryFile::setFileTemplate(class QString const &)
+ ??0QSettings@@QAE@W4Scope@0@ABVQString@@1PAVQObject@@@Z @ 1925 NONAME ; QSettings::QSettings(enum QSettings::Scope, class QString const &, class QString const &, class QObject *)
+ ?category@QChar@@QBE?AW4Category@1@XZ @ 1926 NONAME ; enum QChar::Category QChar::category(void) const
+ ?fragment@QUrl@@QBE?AVQString@@XZ @ 1927 NONAME ; class QString QUrl::fragment(void) const
+ ?toULong@QByteArray@@QBEKPA_NH@Z @ 1928 NONAME ; unsigned long QByteArray::toULong(bool *, int) const
+ ??5@YAAAVQDataStream@@AAV0@AAVQUrl@@@Z @ 1929 NONAME ; class QDataStream & operator>>(class QDataStream &, class QUrl &)
+ ?writeEmptyElement@QXmlStreamWriter@@QAEXABVQString@@0@Z @ 1930 NONAME ; void QXmlStreamWriter::writeEmptyElement(class QString const &, class QString const &)
+ ?toStart@QTextBoundaryFinder@@QAEXXZ @ 1931 NONAME ; void QTextBoundaryFinder::toStart(void)
+ ?fromUnicode@QTextEncoder@@QAE?AVQByteArray@@PBVQChar@@H@Z @ 1932 NONAME ; class QByteArray QTextEncoder::fromUnicode(class QChar const *, int)
+ ?processingInstructionData@QXmlStreamReader@@QBE?AVQStringRef@@XZ @ 1933 NONAME ; class QStringRef QXmlStreamReader::processingInstructionData(void) const
+ ?onExit@QFinalState@@MAEXPAVQEvent@@@Z @ 1934 NONAME ; void QFinalState::onExit(class QEvent *)
+ ?insert@QListData@@QAEPAPAXH@Z @ 1935 NONAME ; void * * QListData::insert(int)
+ ??_EQChildEvent@@UAE@I@Z @ 1936 NONAME ; QChildEvent::~QChildEvent(unsigned int)
+ ?setRect@QRect@@QAEXHHHH@Z @ 1937 NONAME ; void QRect::setRect(int, int, int, int)
+ ?isCompressed@QResource@@QBE_NXZ @ 1938 NONAME ; bool QResource::isCompressed(void) const
+ ?isValid@QVariant@@QBE_NXZ @ 1939 NONAME ; bool QVariant::isValid(void) const
+ ?setGenerateByteOrderMark@QTextStream@@QAEX_N@Z @ 1940 NONAME ; void QTextStream::setGenerateByteOrderMark(bool)
+ ?toLower@QByteArray@@QBE?AV1@XZ @ 1941 NONAME ; class QByteArray QByteArray::toLower(void) const
+ ??4QString@@QAEAAV0@ABV0@@Z @ 1942 NONAME ; class QString & QString::operator=(class QString const &)
+ ?searchPaths@QResource@@SA?AVQStringList@@XZ @ 1943 NONAME ; class QStringList QResource::searchPaths(void)
+ ?readLink@QFileInfo@@QBE?AVQString@@XZ @ 1944 NONAME ; class QString QFileInfo::readLink(void) const
+ ??1QSettings@@UAE@XZ @ 1945 NONAME ; QSettings::~QSettings(void)
+ ?beginResetModel@QAbstractItemModel@@IAEXXZ @ 1946 NONAME ; void QAbstractItemModel::beginResetModel(void)
+ ?handleTransitionSignal@QStateMachinePrivate@@QAEXPAVQObject@@HPAPAX@Z @ 1947 NONAME ; void QStateMachinePrivate::handleTransitionSignal(class QObject *, int, void * *)
+ ??AQByteArray@@QAE?AVQByteRef@@H@Z @ 1948 NONAME ; class QByteRef QByteArray::operator[](int)
+ ??5@YAAAVQDataStream@@AAV0@AAVQChar@@@Z @ 1949 NONAME ; class QDataStream & operator>>(class QDataStream &, class QChar &)
+ ?trUtf8@QHistoryState@@SA?AVQString@@PBD0@Z @ 1950 NONAME ; class QString QHistoryState::trUtf8(char const *, char const *)
+ ?setMapping@QSignalMapper@@QAEXPAVQObject@@0@Z @ 1951 NONAME ; void QSignalMapper::setMapping(class QObject *, class QObject *)
+ ?create@QVariant@@IAEXHPBX@Z @ 1952 NONAME ; void QVariant::create(int, void const *)
+ ?property@QObject@@QBE?AVQVariant@@PBD@Z @ 1953 NONAME ; class QVariant QObject::property(char const *) const
+ ??6QTextStream@@QAEAAV0@PBX@Z @ 1954 NONAME ; class QTextStream & QTextStream::operator<<(void const *)
+ ?indexOf@QString@@QBEHABV1@HW4CaseSensitivity@Qt@@@Z @ 1955 NONAME ; int QString::indexOf(class QString const &, int, enum Qt::CaseSensitivity) const
+ ?free_helper@QHashData@@QAEXP6AXPAUNode@1@@Z@Z @ 1956 NONAME ; void QHashData::free_helper(void (*)(struct QHashData::Node *))
+ ??0QTime@@QAE@XZ @ 1957 NONAME ; QTime::QTime(void)
+ ??_EQSystemLocale@@UAE@I@Z @ 1958 NONAME ; QSystemLocale::~QSystemLocale(unsigned int)
+ ?fetchAndAddRelease@QBasicAtomicInt@@QAEHH@Z @ 1959 NONAME ; int QBasicAtomicInt::fetchAndAddRelease(int)
+ ?isRunning@QStateMachine@@QBE_NXZ @ 1960 NONAME ; bool QStateMachine::isRunning(void) const
+ ?setMapping@QSignalMapper@@QAEXPAVQObject@@ABVQString@@@Z @ 1961 NONAME ; void QSignalMapper::setMapping(class QObject *, class QString const &)
+ ?d_func@QFinalState@@ABEPBVQFinalStatePrivate@@XZ @ 1962 NONAME ; class QFinalStatePrivate const * QFinalState::d_func(void) const
+ ?static_metacall@QMetaObject@@QBEHW4Call@1@HPAPAX@Z @ 1963 NONAME ; int QMetaObject::static_metacall(enum QMetaObject::Call, int, void * *) const
+ ?setByteOrder@QDataStream@@QAEXW4ByteOrder@1@@Z @ 1964 NONAME ; void QDataStream::setByteOrder(enum QDataStream::ByteOrder)
+ ?sendSpontaneousEvent@QCoreApplication@@CA_NPAVQObject@@PAVQEvent@@@Z @ 1965 NONAME ; bool QCoreApplication::sendSpontaneousEvent(class QObject *, class QEvent *)
+ ?readWriteLock@QWriteLocker@@QBEPAVQReadWriteLock@@XZ @ 1966 NONAME ; class QReadWriteLock * QWriteLocker::readWriteLock(void) const
+ ?setPermissions@QFile@@SA_NABVQString@@V?$QFlags@W4Permission@QFile@@@@@Z @ 1967 NONAME ; bool QFile::setPermissions(class QString const &, class QFlags<enum QFile::Permission>)
+ ?setupChildProcess@QProcess@@MAEXXZ @ 1968 NONAME ; void QProcess::setupChildProcess(void)
+ ?parent@QPersistentModelIndex@@QBE?AVQModelIndex@@XZ @ 1969 NONAME ; class QModelIndex QPersistentModelIndex::parent(void) const
+ ?setDevice@QTextStream@@QAEXPAVQIODevice@@@Z @ 1970 NONAME ; void QTextStream::setDevice(class QIODevice *)
+ ?pos@QFSFileEngine@@UBE_JXZ @ 1971 NONAME ; long long QFSFileEngine::pos(void) const
+ ?isEmpty@QRectF@@QBE_NXZ @ 1972 NONAME ; bool QRectF::isEmpty(void) const
+ ?invoke@QMetaMethod@@QBE_NPAVQObject@@W4ConnectionType@Qt@@VQGenericArgument@@222222222@Z @ 1973 NONAME ; bool QMetaMethod::invoke(class QObject *, enum Qt::ConnectionType, class QGenericArgument, class QGenericArgument, class QGenericArgument, class QGenericArgument, class QGenericArgument, class QGenericArgument, class QGenericArgument, class QGenericArgument, class QGenericArgument, class QGenericArgument) const
+ ?QStringList_contains@QtPrivate@@YA?AVQBool@@PBVQStringList@@ABVQString@@W4CaseSensitivity@Qt@@@Z @ 1974 NONAME ; class QBool QtPrivate::QStringList_contains(class QStringList const *, class QString const &, enum Qt::CaseSensitivity)
+ ?tr@QEventLoop@@SA?AVQString@@PBD0H@Z @ 1975 NONAME ; class QString QEventLoop::tr(char const *, char const *, int)
+ ?append@QXmlStreamAttributes@@QAEXABVQString@@0@Z @ 1976 NONAME ; void QXmlStreamAttributes::append(class QString const &, class QString const &)
+ ?notifySignal@QMetaProperty@@QBE?AVQMetaMethod@@XZ @ 1977 NONAME ; class QMetaMethod QMetaProperty::notifySignal(void) const
+ ??0QTextStream@@QAE@PAU__sFILE@@V?$QFlags@W4OpenModeFlag@QIODevice@@@@@Z @ 1978 NONAME ; QTextStream::QTextStream(struct __sFILE *, class QFlags<enum QIODevice::OpenModeFlag>)
+ ??1QThread@@UAE@XZ @ 1979 NONAME ; QThread::~QThread(void)
+ ??_EQModelIndex@@QAE@I@Z @ 1980 NONAME ; QModelIndex::~QModelIndex(unsigned int)
+ ??0QAnimationGroup@@IAE@AAVQAnimationGroupPrivate@@PAVQObject@@@Z @ 1981 NONAME ; QAnimationGroup::QAnimationGroup(class QAnimationGroupPrivate &, class QObject *)
+ ?tr@QSignalTransition@@SA?AVQString@@PBD0@Z @ 1982 NONAME ; class QString QSignalTransition::tr(char const *, char const *)
+ ?testAttribute@QCoreApplicationPrivate@@SA_NI@Z @ 1983 NONAME ; bool QCoreApplicationPrivate::testAttribute(unsigned int)
+ ??0QParallelAnimationGroup@@QAE@PAVQObject@@@Z @ 1984 NONAME ; QParallelAnimationGroup::QParallelAnimationGroup(class QObject *)
+ ?updateState@QSequentialAnimationGroup@@MAEXW4State@QAbstractAnimation@@0@Z @ 1985 NONAME ; void QSequentialAnimationGroup::updateState(enum QAbstractAnimation::State, enum QAbstractAnimation::State)
+ ??0QSocketNotifier@@QAE@HW4Type@0@PAVQObject@@@Z @ 1986 NONAME ; QSocketNotifier::QSocketNotifier(int, enum QSocketNotifier::Type, class QObject *)
+ ?d_func@QTemporaryFile@@AAEPAVQTemporaryFilePrivate@@XZ @ 1987 NONAME ; class QTemporaryFilePrivate * QTemporaryFile::d_func(void)
+ ??_EQFinalState@@UAE@I@Z @ 1988 NONAME ; QFinalState::~QFinalState(unsigned int)
+ ?bytesWritten@QIODevice@@IAEX_J@Z @ 1989 NONAME ; void QIODevice::bytesWritten(long long)
+ ?staticMetaObject@QProcess@@2UQMetaObject@@B @ 1990 NONAME ; struct QMetaObject const QProcess::staticMetaObject
+ ?insert@QString@@QAEAAV1@HPBVQChar@@H@Z @ 1991 NONAME ; class QString & QString::insert(int, class QChar const *, int)
+ ?canConvert@QVariant@@QBE_NW4Type@1@@Z @ 1992 NONAME ; bool QVariant::canConvert(enum QVariant::Type) const
+ ?endMicrostep@QStateMachine@@MAEXPAVQEvent@@@Z @ 1993 NONAME ; void QStateMachine::endMicrostep(class QEvent *)
+ ??0QPersistentModelIndex@@QAE@ABVQModelIndex@@@Z @ 1994 NONAME ; QPersistentModelIndex::QPersistentModelIndex(class QModelIndex const &)
+ ?setNum@QByteArray@@QAEAAV1@FH@Z @ 1995 NONAME ; class QByteArray & QByteArray::setNum(short, int)
+ ??6QDataStream@@QAEAAV0@H@Z @ 1996 NONAME ; class QDataStream & QDataStream::operator<<(int)
+ ?resize@QBitArray@@QAEXH@Z @ 1997 NONAME ; void QBitArray::resize(int)
+ ??5QDataStream@@QAEAAV0@AA_N@Z @ 1998 NONAME ; class QDataStream & QDataStream::operator>>(bool &)
+ ?right@QString@@QBE?AV1@H@Z @ 1999 NONAME ; class QString QString::right(int) const
+ ?countryToString@QLocale@@SA?AVQString@@W4Country@1@@Z @ 2000 NONAME ; class QString QLocale::countryToString(enum QLocale::Country)
+ ?metaObject@QPauseAnimation@@UBEPBUQMetaObject@@XZ @ 2001 NONAME ; struct QMetaObject const * QPauseAnimation::metaObject(void) const
+ ??9QString@@QBE_NABVQLatin1String@@@Z @ 2002 NONAME ; bool QString::operator!=(class QLatin1String const &) const
+ ?toShort@QLocale@@QBEFABVQString@@PA_NH@Z @ 2003 NONAME ; short QLocale::toShort(class QString const &, bool *, int) const
+ ?mid@QString@@QBE?AV1@HH@Z @ 2004 NONAME ; class QString QString::mid(int, int) const
+ ?setAuthority@QUrl@@QAEXABVQString@@@Z @ 2005 NONAME ; void QUrl::setAuthority(class QString const &)
+ ?d_func@QFileSystemWatcher@@ABEPBVQFileSystemWatcherPrivate@@XZ @ 2006 NONAME ; class QFileSystemWatcherPrivate const * QFileSystemWatcher::d_func(void) const
+ ?setNum@QString@@QAEAAV1@MDH@Z @ 2007 NONAME ; class QString & QString::setNum(float, char, int)
+ ?qt_metacast@QFinalState@@UAEPAXPBD@Z @ 2008 NONAME ; void * QFinalState::qt_metacast(char const *)
+ ?toJulianDay@QDate@@QBEHXZ @ 2009 NONAME ; int QDate::toJulianDay(void) const
+ ?flush@QEventDispatcherSymbian@@UAEXXZ @ 2010 NONAME ; void QEventDispatcherSymbian::flush(void)
+ ?qt_metacast@QAbstractTableModel@@UAEPAXPBD@Z @ 2011 NONAME ; void * QAbstractTableModel::qt_metacast(char const *)
+ ??0QXmlStreamReader@@QAE@PAVQIODevice@@@Z @ 2012 NONAME ; QXmlStreamReader::QXmlStreamReader(class QIODevice *)
+ ?node_delete@QMapData@@QAEXQAPAUNode@1@HPAU21@@Z @ 2013 NONAME ; void QMapData::node_delete(struct QMapData::Node * * const, int, struct QMapData::Node *)
+ ?clear@QXmlStreamStringRef@@QAEXXZ @ 2014 NONAME ; void QXmlStreamStringRef::clear(void)
+ ?resetStatus@QDataStream@@QAEXXZ @ 2015 NONAME ; void QDataStream::resetStatus(void)
+ ?encodedQueryItems@QUrl@@QBE?AV?$QList@U?$QPair@VQByteArray@@V1@@@@@XZ @ 2016 NONAME ; class QList<struct QPair<class QByteArray, class QByteArray> > QUrl::encodedQueryItems(void) const
+ ?systemEnvironment@QProcess@@SA?AVQStringList@@XZ @ 2017 NONAME ; class QStringList QProcess::systemEnvironment(void)
+ ??0QAbstractTableModel@@QAE@PAVQObject@@@Z @ 2018 NONAME ; QAbstractTableModel::QAbstractTableModel(class QObject *)
+ ?boundedTo@QSizeF@@QBE?AV1@ABV1@@Z @ 2019 NONAME ; class QSizeF QSizeF::boundedTo(class QSizeF const &) const
+ ?onExit@QState@@MAEXPAVQEvent@@@Z @ 2020 NONAME ; void QState::onExit(class QEvent *)
+ ?tr@QSettings@@SA?AVQString@@PBD0H@Z @ 2021 NONAME ; class QString QSettings::tr(char const *, char const *, int)
+ ?right@@YAAAVQTextStream@@AAV1@@Z @ 2022 NONAME ; class QTextStream & right(class QTextStream &)
+ ?mirroredChar@QCharRef@@QBE?AVQChar@@XZ @ 2023 NONAME ; class QChar QCharRef::mirroredChar(void) const
+ ?modelAboutToBeReset@QAbstractItemModel@@AAEXXZ @ 2024 NONAME ; void QAbstractItemModel::modelAboutToBeReset(void)
+ ?columnsMoved@QAbstractItemModel@@AAEXABVQModelIndex@@HH0H@Z @ 2025 NONAME ; void QAbstractItemModel::columnsMoved(class QModelIndex const &, int, int, class QModelIndex const &, int)
+ ?qt_metacast@QAbstractItemModel@@UAEPAXPBD@Z @ 2026 NONAME ; void * QAbstractItemModel::qt_metacast(char const *)
+ ?toUInt@QLocale@@QBEIABVQString@@PA_NH@Z @ 2027 NONAME ; unsigned int QLocale::toUInt(class QString const &, bool *, int) const
+ ?type@QTextBoundaryFinder@@QBE?AW4BoundaryType@1@XZ @ 2028 NONAME ; enum QTextBoundaryFinder::BoundaryType QTextBoundaryFinder::type(void) const
+ ?count@QString@@QBEHXZ @ 2029 NONAME ; int QString::count(void) const
+ ??1QXmlStreamStringRef@@QAE@XZ @ 2030 NONAME ; QXmlStreamStringRef::~QXmlStreamStringRef(void)
+ ?refreshAll@QFactoryLoader@@SAXXZ @ 2031 NONAME ; void QFactoryLoader::refreshAll(void)
+ ?setQObjectShared@ExternalRefCountData@QtSharedPointer@@QAEXPBVQObject@@_N@Z @ 2032 NONAME ; void QtSharedPointer::ExternalRefCountData::setQObjectShared(class QObject const *, bool)
+ ?isTestAndSetNative@QBasicAtomicInt@@SA_NXZ @ 2033 NONAME ; bool QBasicAtomicInt::isTestAndSetNative(void)
+ ?hasIndex@QAbstractItemModel@@QBE_NHHABVQModelIndex@@@Z @ 2034 NONAME ; bool QAbstractItemModel::hasIndex(int, int, class QModelIndex const &) const
+ ?dec@@YAAAVQTextStream@@AAV1@@Z @ 2035 NONAME ; class QTextStream & dec(class QTextStream &)
+ ?staticMetaObject@QSettings@@2UQMetaObject@@B @ 2036 NONAME ; struct QMetaObject const QSettings::staticMetaObject
+ ??0QTextEncoder@@QAE@PBVQTextCodec@@@Z @ 2037 NONAME ; QTextEncoder::QTextEncoder(class QTextCodec const *)
+ ??0QAbstractTransition@@QAE@PAVQState@@@Z @ 2038 NONAME ; QAbstractTransition::QAbstractTransition(class QState *)
+ ?writeStartDocument@QXmlStreamWriter@@QAEXABVQString@@_N@Z @ 2039 NONAME ; void QXmlStreamWriter::writeStartDocument(class QString const &, bool)
+ ??0QByteArray@@QAE@ABV0@@Z @ 2040 NONAME ; QByteArray::QByteArray(class QByteArray const &)
+ ??0QFlag@@QAE@H@Z @ 2041 NONAME ; QFlag::QFlag(int)
+ ?setX@QRect@@QAEXH@Z @ 2042 NONAME ; void QRect::setX(int)
+ ??1QBitArray@@QAE@XZ @ 2043 NONAME ; QBitArray::~QBitArray(void)
+ ?getStaticMetaObject@QSharedMemory@@SAABUQMetaObject@@XZ @ 2044 NONAME ; struct QMetaObject const & QSharedMemory::getStaticMetaObject(void)
+ ??8@YA_NABVQRect@@0@Z @ 2045 NONAME ; bool operator==(class QRect const &, class QRect const &)
+ ?endsWith@QString@@QBE_NABVQLatin1String@@W4CaseSensitivity@Qt@@@Z @ 2046 NONAME ; bool QString::endsWith(class QLatin1String const &, enum Qt::CaseSensitivity) const
+ ?unlock@QWriteLocker@@QAEXXZ @ 2047 NONAME ; void QWriteLocker::unlock(void)
+ ?postEvent@QCoreApplication@@SAXPAVQObject@@PAVQEvent@@@Z @ 2048 NONAME ; void QCoreApplication::postEvent(class QObject *, class QEvent *)
+ ??PQByteRef@@QBE_ND@Z @ 2049 NONAME ; bool QByteRef::operator>=(char) const
+ ?q_func@QEventTransitionPrivate@@ABEPBVQEventTransition@@XZ @ 2050 NONAME ; class QEventTransition const * QEventTransitionPrivate::q_func(void) const
+ ?qt_metacall@QAbstractState@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 2051 NONAME ; int QAbstractState::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?children@QResource@@IBE?AVQStringList@@XZ @ 2052 NONAME ; class QStringList QResource::children(void) const
+ ?fill@QString@@QAEAAV1@VQChar@@H@Z @ 2053 NONAME ; class QString & QString::fill(class QChar, int)
+ ?staticMetaObject@QTextCodecPlugin@@2UQMetaObject@@B @ 2054 NONAME ; struct QMetaObject const QTextCodecPlugin::staticMetaObject
+ ?variantLessThan@QAbstractItemModelPrivate@@SA_NABVQVariant@@0@Z @ 2055 NONAME ; bool QAbstractItemModelPrivate::variantLessThan(class QVariant const &, class QVariant const &)
+ ?setAccepted@QEvent@@QAEX_N@Z @ 2056 NONAME ; void QEvent::setAccepted(bool)
+ ?tr@QHistoryState@@SA?AVQString@@PBD0H@Z @ 2057 NONAME ; class QString QHistoryState::tr(char const *, char const *, int)
+ ?d_func@QAbstractEventDispatcher@@AAEPAVQAbstractEventDispatcherPrivate@@XZ @ 2058 NONAME ; class QAbstractEventDispatcherPrivate * QAbstractEventDispatcher::d_func(void)
+ ?utcOffset@QDateTime@@QBEHXZ @ 2059 NONAME ; int QDateTime::utcOffset(void) const
+ ?qt_metacast@QIODevice@@UAEPAXPBD@Z @ 2060 NONAME ; void * QIODevice::qt_metacast(char const *)
+ ?ry@QPointF@@QAEAAMXZ @ 2061 NONAME ; float & QPointF::ry(void)
+ ?pattern@QByteArrayMatcher@@QBE?AVQByteArray@@XZ @ 2062 NONAME ; class QByteArray QByteArrayMatcher::pattern(void) const
+ ?typeName@QMetaMethod@@QBEPBDXZ @ 2063 NONAME ; char const * QMetaMethod::typeName(void) const
+ ??0QDirIterator@@QAE@ABVQString@@V?$QFlags@W4IteratorFlag@QDirIterator@@@@@Z @ 2064 NONAME ; QDirIterator::QDirIterator(class QString const &, class QFlags<enum QDirIterator::IteratorFlag>)
+ ??1QState@@UAE@XZ @ 2065 NONAME ; QState::~QState(void)
+ ?toLatin1@QString@@QBE?AVQByteArray@@XZ @ 2066 NONAME ; class QByteArray QString::toLatin1(void) const
+ ?completeSuffix@QFileInfo@@QBE?AVQString@@XZ @ 2067 NONAME ; class QString QFileInfo::completeSuffix(void) const
+ ?codecForHtml@QTextCodec@@SAPAV1@ABVQByteArray@@PAV1@@Z @ 2068 NONAME ; class QTextCodec * QTextCodec::codecForHtml(class QByteArray const &, class QTextCodec *)
+ ?writeStartElement@QXmlStreamWriter@@QAEXABVQString@@@Z @ 2069 NONAME ; void QXmlStreamWriter::writeStartElement(class QString const &)
+ ??0QVariant@@QAE@ABVQRectF@@@Z @ 2070 NONAME ; QVariant::QVariant(class QRectF const &)
+ ?entryList@QAbstractFileEngine@@UBE?AVQStringList@@V?$QFlags@W4Filter@QDir@@@@ABV2@@Z @ 2071 NONAME ; class QStringList QAbstractFileEngine::entryList(class QFlags<enum QDir::Filter>, class QStringList const &) const
+ ?longMonthName@QDate@@SA?AVQString@@HW4MonthNameType@1@@Z @ 2072 NONAME ; class QString QDate::longMonthName(int, enum QDate::MonthNameType)
+ ?installTranslator@QCoreApplication@@SAXPAVQTranslator@@@Z @ 2073 NONAME ; void QCoreApplication::installTranslator(class QTranslator *)
+ ?writeAttribute@QXmlStreamWriter@@QAEXABVQString@@00@Z @ 2074 NONAME ; void QXmlStreamWriter::writeAttribute(class QString const &, class QString const &, class QString const &)
+ ?clear@QByteArray@@QAEXXZ @ 2075 NONAME ; void QByteArray::clear(void)
+ ?removeState@QStateMachine@@QAEXPAVQAbstractState@@@Z @ 2076 NONAME ; void QStateMachine::removeState(class QAbstractState *)
+ ?setDuration@QVariantAnimation@@QAEXH@Z @ 2077 NONAME ; void QVariantAnimation::setDuration(int)
+ ??PQByteArray@@QBE_NABVQString@@@Z @ 2078 NONAME ; bool QByteArray::operator>=(class QString const &) const
+ ?setCell@QCharRef@@QAEXE@Z @ 2079 NONAME ; void QCharRef::setCell(unsigned char)
+ ??1ConverterState@QTextCodec@@QAE@XZ @ 2080 NONAME ; QTextCodec::ConverterState::~ConverterState(void)
+ ??0QModelIndex@@QAE@ABV0@@Z @ 2081 NONAME ; QModelIndex::QModelIndex(class QModelIndex const &)
+ ?readAll@QTextStream@@QAE?AVQString@@XZ @ 2082 NONAME ; class QString QTextStream::readAll(void)
+ ??0QEventTransition@@IAE@AAVQEventTransitionPrivate@@PAVQState@@@Z @ 2083 NONAME ; QEventTransition::QEventTransition(class QEventTransitionPrivate &, class QState *)
+ ?toDouble@QLocale@@QBENABVQString@@PA_N@Z @ 2084 NONAME ; double QLocale::toDouble(class QString const &, bool *) const
+ ??1QMetaCallEvent@@UAE@XZ @ 2085 NONAME ; QMetaCallEvent::~QMetaCallEvent(void)
+ ?arg@QString@@QBE?AV1@JHHABVQChar@@@Z @ 2086 NONAME ; class QString QString::arg(long, int, int, class QChar const &) const
+ ?arg@QString@@QBE?AV1@_KHHABVQChar@@@Z @ 2087 NONAME ; class QString QString::arg(unsigned long long, int, int, class QChar const &) const
+ ?moveCenter@QRectF@@QAEXABVQPointF@@@Z @ 2088 NONAME ; void QRectF::moveCenter(class QPointF const &)
+ ?setSorting@QDir@@QAEXV?$QFlags@W4SortFlag@QDir@@@@@Z @ 2089 NONAME ; void QDir::setSorting(class QFlags<enum QDir::SortFlag>)
+ ?seek@QAbstractFileEngine@@UAE_N_J@Z @ 2090 NONAME ; bool QAbstractFileEngine::seek(long long)
+ ?setErrorState@QState@@QAEXPAVQAbstractState@@@Z @ 2091 NONAME ; void QState::setErrorState(class QAbstractState *)
+ ?d_func@QAbstractFileEngine@@AAEPAVQAbstractFileEnginePrivate@@XZ @ 2092 NONAME ; class QAbstractFileEnginePrivate * QAbstractFileEngine::d_func(void)
+ ?open@QFile@@QAE_NPAU__sFILE@@V?$QFlags@W4OpenModeFlag@QIODevice@@@@@Z @ 2093 NONAME ; bool QFile::open(struct __sFILE *, class QFlags<enum QIODevice::OpenModeFlag>)
+ ??0QRectF@@QAE@ABVQPointF@@ABVQSizeF@@@Z @ 2094 NONAME ; QRectF::QRectF(class QPointF const &, class QSizeF const &)
+ ??9QModelIndex@@QBE_NABV0@@Z @ 2095 NONAME ; bool QModelIndex::operator!=(class QModelIndex const &) const
+ ?qErrnoWarning@@YAXPBDZZ @ 2096 NONAME ; void qErrnoWarning(char const *, ...)
+ ??0QDateTime@@QAE@XZ @ 2097 NONAME ; QDateTime::QDateTime(void)
+ ?compare@QStringRef@@QBEHABVQString@@W4CaseSensitivity@Qt@@@Z @ 2098 NONAME ; int QStringRef::compare(class QString const &, enum Qt::CaseSensitivity) const
+ ?joining@QChar@@SA?AW4Joining@1@G@Z @ 2099 NONAME ; enum QChar::Joining QChar::joining(unsigned short)
+ ?setTop@QRectF@@QAEXM@Z @ 2100 NONAME ; void QRectF::setTop(float)
+ ?toFloat@QByteArray@@QBEMPA_N@Z @ 2101 NONAME ; float QByteArray::toFloat(bool *) const
+ ?mutex@QMutexLocker@@QBEPAVQMutex@@XZ @ 2102 NONAME ; class QMutex * QMutexLocker::mutex(void) const
+ ?self@QCoreApplication@@0PAV1@A @ 2103 NONAME ; class QCoreApplication * QCoreApplication::self
+ ?setProperty@QObject@@QAE_NPBDABVQVariant@@@Z @ 2104 NONAME ; bool QObject::setProperty(char const *, class QVariant const &)
+ ?endsWith@QString@@QBE_NABVQChar@@W4CaseSensitivity@Qt@@@Z @ 2105 NONAME ; bool QString::endsWith(class QChar const &, enum Qt::CaseSensitivity) const
+ ?setUrls@QMimeData@@QAEXABV?$QList@VQUrl@@@@@Z @ 2106 NONAME ; void QMimeData::setUrls(class QList<class QUrl> const &)
+ ?setObjectName@QObject@@QAEXABVQString@@@Z @ 2107 NONAME ; void QObject::setObjectName(class QString const &)
+ ?sendEvent@QCoreApplication@@SA_NPAVQObject@@PAVQEvent@@@Z @ 2108 NONAME ; bool QCoreApplication::sendEvent(class QObject *, class QEvent *)
+ ?translated@QLineF@@QBE?AV1@ABVQPointF@@@Z @ 2109 NONAME ; class QLineF QLineF::translated(class QPointF const &) const
+ ?canonicalPath@QDir@@QBE?AVQString@@XZ @ 2110 NONAME ; class QString QDir::canonicalPath(void) const
+ ?trUtf8@QMetaObject@@QBE?AVQString@@PBD0H@Z @ 2111 NONAME ; class QString QMetaObject::trUtf8(char const *, char const *, int) const
+ ?fromLatin1_helper@QString@@CAPAUData@1@PBDH@Z @ 2112 NONAME ; struct QString::Data * QString::fromLatin1_helper(char const *, int)
+ ?isNull@QString@@QBE_NXZ @ 2113 NONAME ; bool QString::isNull(void) const
+ ??_EQObjectPrivate@@UAE@I@Z @ 2114 NONAME ; QObjectPrivate::~QObjectPrivate(unsigned int)
+ ?d_func@QAnimationGroup@@AAEPAVQAnimationGroupPrivate@@XZ @ 2115 NONAME ; class QAnimationGroupPrivate * QAnimationGroup::d_func(void)
+ ?toPointF@QVariant@@QBE?AVQPointF@@XZ @ 2116 NONAME ; class QPointF QVariant::toPointF(void) const
+ ??0QXmlStreamStringRef@@QAE@XZ @ 2117 NONAME ; QXmlStreamStringRef::QXmlStreamStringRef(void)
+ ?name@QMetaEnum@@QBEPBDXZ @ 2118 NONAME ; char const * QMetaEnum::name(void) const
+ ?prepend@QString@@QAEAAV1@VQChar@@@Z @ 2119 NONAME ; class QString & QString::prepend(class QChar)
+ ?endsWith@QByteArray@@QBE_NPBD@Z @ 2120 NONAME ; bool QByteArray::endsWith(char const *) const
+ ?uppercasebase@@YAAAVQTextStream@@AAV1@@Z @ 2121 NONAME ; class QTextStream & uppercasebase(class QTextStream &)
+ ?setImageData@QMimeData@@QAEXABVQVariant@@@Z @ 2122 NONAME ; void QMimeData::setImageData(class QVariant const &)
+ ?detach@QDateTime@@AAEXXZ @ 2123 NONAME ; void QDateTime::detach(void)
+ ??0QStringMatcher@@QAE@XZ @ 2124 NONAME ; QStringMatcher::QStringMatcher(void)
+ ??0QCoreApplication@@QAE@AAHPAPAD@Z @ 2125 NONAME ; QCoreApplication::QCoreApplication(int &, char * *)
+ ?toDateTime@QVariant@@QBE?AVQDateTime@@XZ @ 2126 NONAME ; class QDateTime QVariant::toDateTime(void) const
+ ??0QAbstractFileEngine@@IAE@AAVQAbstractFileEnginePrivate@@@Z @ 2127 NONAME ; QAbstractFileEngine::QAbstractFileEngine(class QAbstractFileEnginePrivate &)
+ ?mapped@QSignalMapper@@IAEXPAVQObject@@@Z @ 2128 NONAME ; void QSignalMapper::mapped(class QObject *)
+ ?rename@QAbstractFileEngine@@UAE_NABVQString@@@Z @ 2129 NONAME ; bool QAbstractFileEngine::rename(class QString const &)
+ ?disconnect@QObject@@QAE_NPBV1@PBD@Z @ 2130 NONAME ; bool QObject::disconnect(class QObject const *, char const *)
+ ?qt_global_mutexpool@@3PAVQMutexPool@@A @ 2131 NONAME ; class QMutexPool * qt_global_mutexpool
+ ?number@QByteArray@@SA?AV1@HH@Z @ 2132 NONAME ; class QByteArray QByteArray::number(int, int)
+ ??9QString@@QBE_NABV0@@Z @ 2133 NONAME ; bool QString::operator!=(class QString const &) const
+ ?tr@QAnimationGroup@@SA?AVQString@@PBD0@Z @ 2134 NONAME ; class QString QAnimationGroup::tr(char const *, char const *)
+ ?monthName@QLocale@@QBE?AVQString@@HW4FormatType@1@@Z @ 2135 NONAME ; class QString QLocale::monthName(int, enum QLocale::FormatType) const
+ ??0QAbstractState@@IAE@AAVQAbstractStatePrivate@@PAVQState@@@Z @ 2136 NONAME ; QAbstractState::QAbstractState(class QAbstractStatePrivate &, class QState *)
+ ?remove@QSettings@@QAEXABVQString@@@Z @ 2137 NONAME ; void QSettings::remove(class QString const &)
+ ?buddy@QAbstractItemModel@@UBE?AVQModelIndex@@ABV2@@Z @ 2138 NONAME ; class QModelIndex QAbstractItemModel::buddy(class QModelIndex const &) const
+ ??1QFileInfo@@QAE@XZ @ 2139 NONAME ; QFileInfo::~QFileInfo(void)
+ ?tr@QEventTransition@@SA?AVQString@@PBD0@Z @ 2140 NONAME ; class QString QEventTransition::tr(char const *, char const *)
+ ?group@QLocalePrivate@@QBE?AVQChar@@XZ @ 2141 NONAME ; class QChar QLocalePrivate::group(void) const
+ ?parent@QModelIndex@@QBE?AV1@XZ @ 2142 NONAME ; class QModelIndex QModelIndex::parent(void) const
+ ??1QIODevicePrivate@@UAE@XZ @ 2143 NONAME ; QIODevicePrivate::~QIODevicePrivate(void)
+ ??NQLatin1String@@QBE_NABVQString@@@Z @ 2144 NONAME ; bool QLatin1String::operator<=(class QString const &) const
+ ?rowsAboutToBeRemoved@QAbstractItemModel@@AAEXABVQModelIndex@@HH@Z @ 2145 NONAME ; void QAbstractItemModel::rowsAboutToBeRemoved(class QModelIndex const &, int, int)
+ ?intersect@QRect@@QBE?AV1@ABV1@@Z @ 2146 NONAME ; class QRect QRect::intersect(class QRect const &) const
+ ??0QTextCodecPlugin@@QAE@PAVQObject@@@Z @ 2147 NONAME ; QTextCodecPlugin::QTextCodecPlugin(class QObject *)
+ ?applicationName@QSettings@@QBE?AVQString@@XZ @ 2148 NONAME ; class QString QSettings::applicationName(void) const
+ ?trUtf8@QAbstractAnimation@@SA?AVQString@@PBD0@Z @ 2149 NONAME ; class QString QAbstractAnimation::trUtf8(char const *, char const *)
+ ??4QPersistentModelIndex@@QAEAAV0@ABVQModelIndex@@@Z @ 2150 NONAME ; class QPersistentModelIndex & QPersistentModelIndex::operator=(class QModelIndex const &)
+ ?flush@QFile@@QAE_NXZ @ 2151 NONAME ; bool QFile::flush(void)
+ ??7QBasicAtomicInt@@QBE_NXZ @ 2152 NONAME ; bool QBasicAtomicInt::operator!(void) const
+ ??8QUuid@@QBE_NABU0@@Z @ 2153 NONAME ; bool QUuid::operator==(struct QUuid const &) const
+ ?staticMetaObject@QEventTransition@@2UQMetaObject@@B @ 2154 NONAME ; struct QMetaObject const QEventTransition::staticMetaObject
+ ?compare@QString@@SAHABVQLatin1String@@ABV1@W4CaseSensitivity@Qt@@@Z @ 2155 NONAME ; int QString::compare(class QLatin1String const &, class QString const &, enum Qt::CaseSensitivity)
+ ?toUInt@QString@@QBEIPA_NH@Z @ 2156 NONAME ; unsigned int QString::toUInt(bool *, int) const
+ ?mimeTypes@QAbstractItemModel@@UBE?AVQStringList@@XZ @ 2157 NONAME ; class QStringList QAbstractItemModel::mimeTypes(void) const
+ ??1QStateMachine@@UAE@XZ @ 2158 NONAME ; QStateMachine::~QStateMachine(void)
+ ?isFetchAndStoreWaitFree@QBasicAtomicInt@@SA_NXZ @ 2159 NONAME ; bool QBasicAtomicInt::isFetchAndStoreWaitFree(void)
+ ?tr@QTranslator@@SA?AVQString@@PBD0H@Z @ 2160 NONAME ; class QString QTranslator::tr(char const *, char const *, int)
+ ?lastModified@QFileInfo@@QBE?AVQDateTime@@XZ @ 2161 NONAME ; class QDateTime QFileInfo::lastModified(void) const
+ ?fromHex@QByteArray@@SA?AV1@ABV1@@Z @ 2162 NONAME ; class QByteArray QByteArray::fromHex(class QByteArray const &)
+ ?toLower@QChar@@QBE?AV1@XZ @ 2163 NONAME ; class QChar QChar::toLower(void) const
+ ??1QLibrary@@UAE@XZ @ 2164 NONAME ; QLibrary::~QLibrary(void)
+ ?malloc@QVectorData@@SAPAU1@HHHPAU1@@Z @ 2165 NONAME ; struct QVectorData * QVectorData::malloc(int, int, int, struct QVectorData *)
+ ?width@QSizeF@@QBEMXZ @ 2166 NONAME ; float QSizeF::width(void) const
+ ?scale@QSizeF@@QAEXMMW4AspectRatioMode@Qt@@@Z @ 2167 NONAME ; void QSizeF::scale(float, float, enum Qt::AspectRatioMode)
+ ?digitValue@QChar@@SAHG@Z @ 2168 NONAME ; int QChar::digitValue(unsigned short)
+ ?unitVector@QLineF@@QBE?AV1@XZ @ 2169 NONAME ; class QLineF QLineF::unitVector(void) const
+ ?span@QAbstractItemModel@@UBE?AVQSize@@ABVQModelIndex@@@Z @ 2170 NONAME ; class QSize QAbstractItemModel::span(class QModelIndex const &) const
+ ?isEnumType@QMetaProperty@@QBE_NXZ @ 2171 NONAME ; bool QMetaProperty::isEnumType(void) const
+ ?lowercasebase@@YAAAVQTextStream@@AAV1@@Z @ 2172 NONAME ; class QTextStream & lowercasebase(class QTextStream &)
+ ?isCDATA@QXmlStreamReader@@QBE_NXZ @ 2173 NONAME ; bool QXmlStreamReader::isCDATA(void) const
+ ?isRelativePath@QFSFileEngine@@UBE_NXZ @ 2174 NONAME ; bool QFSFileEngine::isRelativePath(void) const
+ ?method@QMetaObject@@QBE?AVQMetaMethod@@H@Z @ 2175 NONAME ; class QMetaMethod QMetaObject::method(int) const
+ ?layoutChanged@QAbstractItemModel@@IAEXXZ @ 2176 NONAME ; void QAbstractItemModel::layoutChanged(void)
+ ?setNum@QByteArray@@QAEAAV1@HH@Z @ 2177 NONAME ; class QByteArray & QByteArray::setNum(int, int)
+ ?qt_metacall@QSharedMemory@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 2178 NONAME ; int QSharedMemory::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?space@QDebug@@QAEAAV1@XZ @ 2179 NONAME ; class QDebug & QDebug::space(void)
+ ??XQPointF@@QAEAAV0@M@Z @ 2180 NONAME ; class QPointF & QPointF::operator*=(float)
+ ?writeCDATA@QXmlStreamWriter@@QAEXABVQString@@@Z @ 2181 NONAME ; void QXmlStreamWriter::writeCDATA(class QString const &)
+ ?reset@QIODevice@@UAE_NXZ @ 2182 NONAME ; bool QIODevice::reset(void)
+ ?load@QPluginLoader@@QAE_NXZ @ 2183 NONAME ; bool QPluginLoader::load(void)
+ ?dtdSystemId@QXmlStreamReader@@QBE?AVQStringRef@@XZ @ 2184 NONAME ; class QStringRef QXmlStreamReader::dtdSystemId(void) const
+ ?entryInfoList@QDir@@QBE?AV?$QList@VQFileInfo@@@@ABVQStringList@@V?$QFlags@W4Filter@QDir@@@@V?$QFlags@W4SortFlag@QDir@@@@@Z @ 2185 NONAME ; class QList<class QFileInfo> QDir::entryInfoList(class QStringList const &, class QFlags<enum QDir::Filter>, class QFlags<enum QDir::SortFlag>) const
+ ?numberOptions@QLocale@@QBE?AV?$QFlags@W4NumberOption@QLocale@@@@XZ @ 2186 NONAME ; class QFlags<enum QLocale::NumberOption> QLocale::numberOptions(void) const
+ ??IQRect@@QBE?AV0@ABV0@@Z @ 2187 NONAME ; class QRect QRect::operator&(class QRect const &) const
+ ??0QXmlStreamNamespaceDeclaration@@QAE@ABVQString@@0@Z @ 2188 NONAME ; QXmlStreamNamespaceDeclaration::QXmlStreamNamespaceDeclaration(class QString const &, class QString const &)
+ ??BQByteArray@@QBEPBDXZ @ 2189 NONAME ; QByteArray::operator char const *(void) const
+ ?exponential@QLocale@@QBE?AVQChar@@XZ @ 2190 NONAME ; class QChar QLocale::exponential(void) const
+ ?createUuid@QUuid@@SA?AU1@XZ @ 2191 NONAME ; struct QUuid QUuid::createUuid(void)
+ ?indexIn@QStringMatcher@@QBEHPBVQChar@@HH@Z @ 2192 NONAME ; int QStringMatcher::indexIn(class QChar const *, int, int) const
+ ?isSpace@QCharRef@@QBE_NXZ @ 2193 NONAME ; bool QCharRef::isSpace(void) const
+ ??0QString@@QAE@VQChar@@@Z @ 2194 NONAME ; QString::QString(class QChar)
+ ?namespaceUri@QXmlStreamNamespaceDeclaration@@QBE?AVQStringRef@@XZ @ 2195 NONAME ; class QStringRef QXmlStreamNamespaceDeclaration::namespaceUri(void) const
+ ?patternSyntax@QRegExp@@QBE?AW4PatternSyntax@1@XZ @ 2196 NONAME ; enum QRegExp::PatternSyntax QRegExp::patternSyntax(void) const
+ ?polished@QState@@IAEXXZ @ 2197 NONAME ; void QState::polished(void)
+ ?finished@QProcess@@IAEXHW4ExitStatus@1@@Z @ 2198 NONAME ; void QProcess::finished(int, enum QProcess::ExitStatus)
+ ?autoRemove@QTemporaryFile@@QBE_NXZ @ 2199 NONAME ; bool QTemporaryFile::autoRemove(void) const
+ ?createLocalFile@QTemporaryFile@@SAPAV1@AAVQFile@@@Z @ 2200 NONAME ; class QTemporaryFile * QTemporaryFile::createLocalFile(class QFile &)
+ ??_EQCoreApplicationPrivate@@UAE@I@Z @ 2201 NONAME ; QCoreApplicationPrivate::~QCoreApplicationPrivate(unsigned int)
+ ??ZQPointF@@QAEAAV0@ABV0@@Z @ 2202 NONAME ; class QPointF & QPointF::operator-=(class QPointF const &)
+ ?trUtf8@QThread@@SA?AVQString@@PBD0H@Z @ 2203 NONAME ; class QString QThread::trUtf8(char const *, char const *, int)
+ ??_EQTimeLine@@UAE@I@Z @ 2204 NONAME ; QTimeLine::~QTimeLine(unsigned int)
+ ?setY@QPointF@@QAEXM@Z @ 2205 NONAME ; void QPointF::setY(float)
+ ??1QAbstractFileEngine@@UAE@XZ @ 2206 NONAME ; QAbstractFileEngine::~QAbstractFileEngine(void)
+ ?isScriptable@QMetaProperty@@QBE_NPBVQObject@@@Z @ 2207 NONAME ; bool QMetaProperty::isScriptable(class QObject const *) const
+ ?setNum@QByteArray@@QAEAAV1@NDH@Z @ 2208 NONAME ; class QByteArray & QByteArray::setNum(double, char, int)
+ ?trUtf8@QAbstractEventDispatcher@@SA?AVQString@@PBD0H@Z @ 2209 NONAME ; class QString QAbstractEventDispatcher::trUtf8(char const *, char const *, int)
+ ?load@QTranslator@@QAE_NABVQString@@000@Z @ 2210 NONAME ; bool QTranslator::load(class QString const &, class QString const &, class QString const &, class QString const &)
+ ?cancelAllDelayedEvents@QStateMachinePrivate@@QAEXXZ @ 2211 NONAME ; void QStateMachinePrivate::cancelAllDelayedEvents(void)
+ ?link@QFSFileEngine@@UAE_NABVQString@@@Z @ 2212 NONAME ; bool QFSFileEngine::link(class QString const &)
+ ??0QRegExp@@QAE@ABV0@@Z @ 2213 NONAME ; QRegExp::QRegExp(class QRegExp const &)
+ ?tryLockForRead@QReadWriteLock@@QAE_NXZ @ 2214 NONAME ; bool QReadWriteLock::tryLockForRead(void)
+ ?insert@QProcessEnvironment@@QAEXABVQString@@0@Z @ 2215 NONAME ; void QProcessEnvironment::insert(class QString const &, class QString const &)
+ ?toString@QLocale@@QBE?AVQString@@ABVQDateTime@@ABV2@@Z @ 2216 NONAME ; class QString QLocale::toString(class QDateTime const &, class QString const &) const
+ ?p2@QLineF@@QBE?AVQPointF@@XZ @ 2217 NONAME ; class QPointF QLineF::p2(void) const
+ ?removeColumn@QAbstractItemModel@@QAE_NHABVQModelIndex@@@Z @ 2218 NONAME ; bool QAbstractItemModel::removeColumn(int, class QModelIndex const &)
+ ?p1@QLineF@@QBE?AVQPointF@@XZ @ 2219 NONAME ; class QPointF QLineF::p1(void) const
+ ?bytesToWrite@QProcess@@UBE_JXZ @ 2220 NONAME ; long long QProcess::bytesToWrite(void) const
+ ?staticMetaObject@QCoreApplication@@2UQMetaObject@@B @ 2221 NONAME ; struct QMetaObject const QCoreApplication::staticMetaObject
+ ?daysTo@QDate@@QBEHABV1@@Z @ 2222 NONAME ; int QDate::daysTo(class QDate const &) const
+ ?filePath@QFileInfo@@QBE?AVQString@@XZ @ 2223 NONAME ; class QString QFileInfo::filePath(void) const
+ ?toString@QTime@@QBE?AVQString@@ABV2@@Z @ 2224 NONAME ; class QString QTime::toString(class QString const &) const
+ ?toPunycode@QUrl@@SA?AVQByteArray@@ABVQString@@@Z @ 2225 NONAME ; class QByteArray QUrl::toPunycode(class QString const &)
+ ??_EQAbstractTransition@@UAE@I@Z @ 2226 NONAME ; QAbstractTransition::~QAbstractTransition(unsigned int)
+ ?errorString@QIODevice@@QBE?AVQString@@XZ @ 2227 NONAME ; class QString QIODevice::errorString(void) const
+ ?completeBaseName@QFileInfo@@QBE?AVQString@@XZ @ 2228 NONAME ; class QString QFileInfo::completeBaseName(void) const
+ ?goToState@QStateMachinePrivate@@QAEXPAVQAbstractState@@@Z @ 2229 NONAME ; void QStateMachinePrivate::goToState(class QAbstractState *)
+ ?toShort@QByteArray@@QBEFPA_NH@Z @ 2230 NONAME ; short QByteArray::toShort(bool *, int) const
+ ??0QByteArray@@QAE@XZ @ 2231 NONAME ; QByteArray::QByteArray(void)
+ ?setSize@QRect@@QAEXABVQSize@@@Z @ 2232 NONAME ; void QRect::setSize(class QSize const &)
+ ??BQHBufC@@QBEPBVHBufC16@@XZ @ 2233 NONAME ; QHBufC::operator class HBufC16 const *(void) const
+ ?arg@QString@@QBE?AV1@ABV1@0000000@Z @ 2234 NONAME ; class QString QString::arg(class QString const &, class QString const &, class QString const &, class QString const &, class QString const &, class QString const &, class QString const &, class QString const &) const
+ ?decimal@QLocalePrivate@@QBE?AVQChar@@XZ @ 2235 NONAME ; class QChar QLocalePrivate::decimal(void) const
+ ?onTransition@QEventTransition@@MAEXPAVQEvent@@@Z @ 2236 NONAME ; void QEventTransition::onTransition(class QEvent *)
+ ?fromPercentEncoding@QByteArray@@SA?AV1@ABV1@D@Z @ 2237 NONAME ; class QByteArray QByteArray::fromPercentEncoding(class QByteArray const &, char)
+ ?prefix@QXmlStreamAttribute@@QBE?AVQStringRef@@XZ @ 2238 NONAME ; class QStringRef QXmlStreamAttribute::prefix(void) const
+ ?symbianVersion@QSysInfo@@SA?AW4SymbianVersion@1@XZ @ 2239 NONAME ; enum QSysInfo::SymbianVersion QSysInfo::symbianVersion(void)
+ ??0QStateMachine@@IAE@AAVQStateMachinePrivate@@PAVQObject@@@Z @ 2240 NONAME ; QStateMachine::QStateMachine(class QStateMachinePrivate &, class QObject *)
+ ??6QTextStream@@QAEAAV0@_K@Z @ 2241 NONAME ; class QTextStream & QTextStream::operator<<(unsigned long long)
+ ?indexOf@QByteArray@@QBEHPBDH@Z @ 2242 NONAME ; int QByteArray::indexOf(char const *, int) const
+ ?indexIn@QStringMatcher@@QBEHABVQString@@H@Z @ 2243 NONAME ; int QStringMatcher::indexIn(class QString const &, int) const
+ ?setLeft@QRectF@@QAEXM@Z @ 2244 NONAME ; void QRectF::setLeft(float)
+ ?value@QXmlStreamAttributes@@QBE?AVQStringRef@@ABVQString@@@Z @ 2245 NONAME ; class QStringRef QXmlStreamAttributes::value(class QString const &) const
+ ??0QUrl@@QAE@ABVQString@@@Z @ 2246 NONAME ; QUrl::QUrl(class QString const &)
+ ??8QLatin1String@@QBE_NABVQString@@@Z @ 2247 NONAME ; bool QLatin1String::operator==(class QString const &) const
+ ?freeNode@QHashData@@QAEXPAX@Z @ 2248 NONAME ; void QHashData::freeNode(void *)
+ ?assignProperty@QState@@QAEXPAVQObject@@PBDABVQVariant@@@Z @ 2249 NONAME ; void QState::assignProperty(class QObject *, char const *, class QVariant const &)
+ ?toUrl@QVariant@@QBE?AVQUrl@@XZ @ 2250 NONAME ; class QUrl QVariant::toUrl(void) const
+ ?trUtf8@QSettings@@SA?AVQString@@PBD0@Z @ 2251 NONAME ; class QString QSettings::trUtf8(char const *, char const *)
+ ?get@QObjectPrivate@@SAPAV1@PAVQObject@@@Z @ 2252 NONAME ; class QObjectPrivate * QObjectPrivate::get(class QObject *)
+ ?tr@QEventTransition@@SA?AVQString@@PBD0H@Z @ 2253 NONAME ; class QString QEventTransition::tr(char const *, char const *, int)
+ ?setStartFrame@QTimeLine@@QAEXH@Z @ 2254 NONAME ; void QTimeLine::setStartFrame(int)
+ ?tr@QPluginLoader@@SA?AVQString@@PBD0H@Z @ 2255 NONAME ; class QString QPluginLoader::tr(char const *, char const *, int)
+ ??0QXmlStreamReader@@QAE@PBD@Z @ 2256 NONAME ; QXmlStreamReader::QXmlStreamReader(char const *)
+ ?staticMetaObject@QParallelAnimationGroup@@2UQMetaObject@@B @ 2257 NONAME ; struct QMetaObject const QParallelAnimationGroup::staticMetaObject
+ ?allocateNode@QHashData@@QAEPAXXZ @ 2258 NONAME ; void * QHashData::allocateNode(void)
+ ?rightJustified@QString@@QBE?AV1@HVQChar@@_N@Z @ 2259 NONAME ; class QString QString::rightJustified(int, class QChar, bool) const
+ ?noforcepoint@@YAAAVQTextStream@@AAV1@@Z @ 2260 NONAME ; class QTextStream & noforcepoint(class QTextStream &)
+ ?startingUp@QAbstractEventDispatcher@@UAEXXZ @ 2261 NONAME ; void QAbstractEventDispatcher::startingUp(void)
+ ??5QTextStream@@QAEAAV0@AAI@Z @ 2262 NONAME ; class QTextStream & QTextStream::operator>>(unsigned int &)
+ ??AQBitArray@@QBE_NH@Z @ 2263 NONAME ; bool QBitArray::operator[](int) const
+ ?qt_metacall@QMimeData@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 2264 NONAME ; int QMimeData::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?registerSocketNotifier@QEventDispatcherSymbian@@UAEXPAVQSocketNotifier@@@Z @ 2265 NONAME ; void QEventDispatcherSymbian::registerSocketNotifier(class QSocketNotifier *)
+ ?toUInt@QByteArray@@QBEIPA_NH@Z @ 2266 NONAME ; unsigned int QByteArray::toUInt(bool *, int) const
+ ?unsetDevice@QDataStream@@QAEXXZ @ 2267 NONAME ; void QDataStream::unsetDevice(void)
+ ?push_front@QByteArray@@QAEXPBD@Z @ 2268 NONAME ; void QByteArray::push_front(char const *)
+ ?moveTop@QRect@@QAEXH@Z @ 2269 NONAME ; void QRect::moveTop(int)
+ ??5QTextStream@@QAEAAV0@AAVQByteArray@@@Z @ 2270 NONAME ; class QTextStream & QTextStream::operator>>(class QByteArray &)
+ ??AQBitArray@@QAE?AVQBitRef@@H@Z @ 2271 NONAME ; class QBitRef QBitArray::operator[](int)
+ ?qt_metacast@QBuffer@@UAEPAXPBD@Z @ 2272 NONAME ; void * QBuffer::qt_metacast(char const *)
+ ?releaseThread@QThreadPool@@QAEXXZ @ 2273 NONAME ; void QThreadPool::releaseThread(void)
+ ??MQDate@@QBE_NABV0@@Z @ 2274 NONAME ; bool QDate::operator<(class QDate const &) const
+ ??4QBitRef@@QAEAAV0@ABV0@@Z @ 2275 NONAME ; class QBitRef & QBitRef::operator=(class QBitRef const &)
+ ?tr@QAbstractEventDispatcher@@SA?AVQString@@PBD0@Z @ 2276 NONAME ; class QString QAbstractEventDispatcher::tr(char const *, char const *)
+ ?activeThreadCount@QThreadPool@@QBEHXZ @ 2277 NONAME ; int QThreadPool::activeThreadCount(void) const
+ ?staticMetaObject@QAbstractTableModel@@2UQMetaObject@@B @ 2278 NONAME ; struct QMetaObject const QAbstractTableModel::staticMetaObject
+ ?tryLock@QMutex@@QAE_NXZ @ 2279 NONAME ; bool QMutex::tryLock(void)
+ ?split@QString@@QBE?AVQStringList@@ABVQChar@@W4SplitBehavior@1@W4CaseSensitivity@Qt@@@Z @ 2280 NONAME ; class QStringList QString::split(class QChar const &, enum QString::SplitBehavior, enum Qt::CaseSensitivity) const
+ ?unsetError@QFile@@QAEXXZ @ 2281 NONAME ; void QFile::unsetError(void)
+ ?model@QModelIndex@@QBEPBVQAbstractItemModel@@XZ @ 2282 NONAME ; class QAbstractItemModel const * QModelIndex::model(void) const
+ ?setEncodingFunction@QFile@@SAXP6A?AVQByteArray@@ABVQString@@@Z@Z @ 2283 NONAME ; void QFile::setEncodingFunction(class QByteArray (*)(class QString const &))
+ ?tr@QTemporaryFile@@SA?AVQString@@PBD0H@Z @ 2284 NONAME ; class QString QTemporaryFile::tr(char const *, char const *, int)
+ ?validateChars@QLocalePrivate@@QBE_NABVQString@@W4NumberMode@1@PAVQByteArray@@H@Z @ 2285 NONAME ; bool QLocalePrivate::validateChars(class QString const &, enum QLocalePrivate::NumberMode, class QByteArray *, int) const
+ ?rmdir@QDir@@QBE_NABVQString@@@Z @ 2286 NONAME ; bool QDir::rmdir(class QString const &) const
+ ??MQString@@QBE_NABVQLatin1String@@@Z @ 2287 NONAME ; bool QString::operator<(class QLatin1String const &) const
+ ?d_func@QProcess@@ABEPBVQProcessPrivate@@XZ @ 2288 NONAME ; class QProcessPrivate const * QProcess::d_func(void) const
+ ?metaObject@QFile@@UBEPBUQMetaObject@@XZ @ 2289 NONAME ; struct QMetaObject const * QFile::metaObject(void) const
+ ?flags@QPersistentModelIndex@@QBE?AV?$QFlags@W4ItemFlag@Qt@@@@XZ @ 2290 NONAME ; class QFlags<enum Qt::ItemFlag> QPersistentModelIndex::flags(void) const
+ ??1QWriteLocker@@QAE@XZ @ 2291 NONAME ; QWriteLocker::~QWriteLocker(void)
+ ??_EQAbstractFileEngine@@UAE@I@Z @ 2292 NONAME ; QAbstractFileEngine::~QAbstractFileEngine(unsigned int)
+ ??_EQDynamicPropertyChangeEvent@@UAE@I@Z @ 2293 NONAME ; QDynamicPropertyChangeEvent::~QDynamicPropertyChangeEvent(unsigned int)
+ ?mirroredChar@QChar@@QBE?AV1@XZ @ 2294 NONAME ; class QChar QChar::mirroredChar(void) const
+ ?resetStatus@QTextStream@@QAEXXZ @ 2295 NONAME ; void QTextStream::resetStatus(void)
+ ??_EQVariantAnimation@@UAE@I@Z @ 2296 NONAME ; QVariantAnimation::~QVariantAnimation(unsigned int)
+ ?lowSurrogate@QChar@@SAGI@Z @ 2297 NONAME ; unsigned short QChar::lowSurrogate(unsigned int)
+ ??0QString@@AAE@PAUData@0@H@Z @ 2298 NONAME ; QString::QString(struct QString::Data *, int)
+ ?data@QStringRef@@QBEPBVQChar@@XZ @ 2299 NONAME ; class QChar const * QStringRef::data(void) const
+ ?close@QAbstractFileEngine@@UAE_NXZ @ 2300 NONAME ; bool QAbstractFileEngine::close(void)
+ ?unregisterResource@QResource@@SA_NPBEABVQString@@@Z @ 2301 NONAME ; bool QResource::unregisterResource(unsigned char const *, class QString const &)
+ ?tr@QFinalState@@SA?AVQString@@PBD0@Z @ 2302 NONAME ; class QString QFinalState::tr(char const *, char const *)
+ ?methodCount@QMetaObject@@QBEHXZ @ 2303 NONAME ; int QMetaObject::methodCount(void) const
+ ?notify@QCoreApplication@@UAE_NPAVQObject@@PAVQEvent@@@Z @ 2304 NONAME ; bool QCoreApplication::notify(class QObject *, class QEvent *)
+ ?filePath@QDirIterator@@QBE?AVQString@@XZ @ 2305 NONAME ; class QString QDirIterator::filePath(void) const
+ ?data@QBuffer@@QBEABVQByteArray@@XZ @ 2306 NONAME ; class QByteArray const & QBuffer::data(void) const
+ ?staticMetaObject@QPropertyAnimation@@2UQMetaObject@@B @ 2307 NONAME ; struct QMetaObject const QPropertyAnimation::staticMetaObject
+ ?timerId@QBasicTimer@@QBEHXZ @ 2308 NONAME ; int QBasicTimer::timerId(void) const
+ ??0QBitRef@@AAE@AAVQBitArray@@H@Z @ 2309 NONAME ; QBitRef::QBitRef(class QBitArray &, int)
+ ?qDebug@@YAXPBDZZ @ 2310 NONAME ; void qDebug(char const *, ...)
+ ??0QString@@QAE@ABV0@@Z @ 2311 NONAME ; QString::QString(class QString const &)
+ ?decomposition@QChar@@SA?AVQString@@I@Z @ 2312 NONAME ; class QString QChar::decomposition(unsigned int)
+ ?translate@QTranslator@@UBE?AVQString@@PBD00@Z @ 2313 NONAME ; class QString QTranslator::translate(char const *, char const *, char const *) const
+ ?isRelative@QFileInfo@@QBE_NXZ @ 2314 NONAME ; bool QFileInfo::isRelative(void) const
+ ?isValid@QDate@@SA_NHHH@Z @ 2315 NONAME ; bool QDate::isValid(int, int, int)
+ ??1QXmlStreamAttribute@@QAE@XZ @ 2316 NONAME ; QXmlStreamAttribute::~QXmlStreamAttribute(void)
+ ??0QHistoryState@@QAE@W4HistoryType@0@PAVQState@@@Z @ 2317 NONAME ; QHistoryState::QHistoryState(enum QHistoryState::HistoryType, class QState *)
+ ??6QDebug@@QAEAAV0@K@Z @ 2318 NONAME ; class QDebug & QDebug::operator<<(unsigned long)
+ ?enumerator@QMetaProperty@@QBE?AVQMetaEnum@@XZ @ 2319 NONAME ; class QMetaEnum QMetaProperty::enumerator(void) const
+ ?mkpath@QDir@@QBE_NABVQString@@@Z @ 2320 NONAME ; bool QDir::mkpath(class QString const &) const
+ ?remove@QObjectCleanupHandler@@QAEXPAVQObject@@@Z @ 2321 NONAME ; void QObjectCleanupHandler::remove(class QObject *)
+ ??0QTimeLine@@QAE@HPAVQObject@@@Z @ 2322 NONAME ; QTimeLine::QTimeLine(int, class QObject *)
+ ??OQByteArray@@QBE_NABVQString@@@Z @ 2323 NONAME ; bool QByteArray::operator>(class QString const &) const
+ ?value@QProcessEnvironment@@QBE?AVQString@@ABV2@0@Z @ 2324 NONAME ; class QString QProcessEnvironment::value(class QString const &, class QString const &) const
+ ?writeDTD@QXmlStreamWriter@@QAEXABVQString@@@Z @ 2325 NONAME ; void QXmlStreamWriter::writeDTD(class QString const &)
+ ?tr@QSignalMapper@@SA?AVQString@@PBD0@Z @ 2326 NONAME ; class QString QSignalMapper::tr(char const *, char const *)
+ ?y1@QLine@@QBEHXZ @ 2327 NONAME ; int QLine::y1(void) const
+ ?cleanup@QThread@@CAXXZ @ 2328 NONAME ; void QThread::cleanup(void)
+ ?grow@QString@@CAHH@Z @ 2329 NONAME ; int QString::grow(int)
+ ?translated@QLineF@@QBE?AV1@MM@Z @ 2330 NONAME ; class QLineF QLineF::translated(float, float) const
+ ?parameterNames@QMetaMethod@@QBE?AV?$QList@VQByteArray@@@@XZ @ 2331 NONAME ; class QList<class QByteArray> QMetaMethod::parameterNames(void) const
+ ??0QTemporaryFile@@QAE@PAVQObject@@@Z @ 2332 NONAME ; QTemporaryFile::QTemporaryFile(class QObject *)
+ ?exists@QFileInfo@@QBE_NXZ @ 2333 NONAME ; bool QFileInfo::exists(void) const
+ ?invoke@QMetaMethod@@QBE_NPAVQObject@@VQGenericReturnArgument@@VQGenericArgument@@222222222@Z @ 2334 NONAME ; bool QMetaMethod::invoke(class QObject *, class QGenericReturnArgument, class QGenericArgument, class QGenericArgument, class QGenericArgument, class QGenericArgument, class QGenericArgument, class QGenericArgument, class QGenericArgument, class QGenericArgument, class QGenericArgument, class QGenericArgument) const
+ ?toString@QLocale@@QBE?AVQString@@_J@Z @ 2335 NONAME ; class QString QLocale::toString(long long) const
+ ??1QAbstractItemModelPrivate@@UAE@XZ @ 2336 NONAME ; QAbstractItemModelPrivate::~QAbstractItemModelPrivate(void)
+ ?isValid@QUrl@@QBE_NXZ @ 2337 NONAME ; bool QUrl::isValid(void) const
+ ?qt_metacall@QAbstractEventDispatcher@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 2338 NONAME ; int QAbstractEventDispatcher::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?match@QDir@@SA_NABVQStringList@@ABVQString@@@Z @ 2339 NONAME ; bool QDir::match(class QStringList const &, class QString const &)
+ ??9QXmlStreamAttribute@@QBE_NABV0@@Z @ 2340 NONAME ; bool QXmlStreamAttribute::operator!=(class QXmlStreamAttribute const &) const
+ ?ds@QTime@@ABEHXZ @ 2341 NONAME ; int QTime::ds(void) const
+ ?extension@QAbstractFileEngine@@UAE_NW4Extension@1@PBVExtensionOption@1@PAVExtensionReturn@1@@Z @ 2342 NONAME ; bool QAbstractFileEngine::extension(enum QAbstractFileEngine::Extension, class QAbstractFileEngine::ExtensionOption const *, class QAbstractFileEngine::ExtensionReturn *)
+ ?size@QFSFileEngine@@UBE_JXZ @ 2343 NONAME ; long long QFSFileEngine::size(void) const
+ ??0QVariant@@QAE@_N@Z @ 2344 NONAME ; QVariant::QVariant(bool)
+ ?right@QRectF@@QBEMXZ @ 2345 NONAME ; float QRectF::right(void) const
+ ?combiningClass@QChar@@QBEEXZ @ 2346 NONAME ; unsigned char QChar::combiningClass(void) const
+ ?toDate@QVariant@@QBE?AVQDate@@XZ @ 2347 NONAME ; class QDate QVariant::toDate(void) const
+ ??0QVariant@@QAE@ABVQLine@@@Z @ 2348 NONAME ; QVariant::QVariant(class QLine const &)
+ ?date@QDateTime@@QBE?AVQDate@@XZ @ 2349 NONAME ; class QDate QDateTime::date(void) const
+ ?updateState@QVariantAnimation@@MAEXW4State@QAbstractAnimation@@0@Z @ 2350 NONAME ; void QVariantAnimation::updateState(enum QAbstractAnimation::State, enum QAbstractAnimation::State)
+ ?connect@QObject@@SA_NPBV1@PBD01W4ConnectionType@Qt@@@Z @ 2351 NONAME ; bool QObject::connect(class QObject const *, char const *, class QObject const *, char const *, enum Qt::ConnectionType)
+ ?fileName@QLibrary@@QBE?AVQString@@XZ @ 2352 NONAME ; class QString QLibrary::fileName(void) const
+ ?value@QXmlStreamAttributes@@QBE?AVQStringRef@@ABVQLatin1String@@@Z @ 2353 NONAME ; class QStringRef QXmlStreamAttributes::value(class QLatin1String const &) const
+ ?column@QModelIndex@@QBEHXZ @ 2354 NONAME ; int QModelIndex::column(void) const
+ ??1QDirIterator@@UAE@XZ @ 2355 NONAME ; QDirIterator::~QDirIterator(void)
+ ?toDate@QLocale@@QBE?AVQDate@@ABVQString@@0@Z @ 2356 NONAME ; class QDate QLocale::toDate(class QString const &, class QString const &) const
+ ??AQString@@QAE?AVQCharRef@@I@Z @ 2357 NONAME ; class QCharRef QString::operator[](unsigned int)
+ ?tr@QState@@SA?AVQString@@PBD0H@Z @ 2358 NONAME ; class QString QState::tr(char const *, char const *, int)
+ ?symLinkTarget@QFileInfo@@QBE?AVQString@@XZ @ 2359 NONAME ; class QString QFileInfo::symLinkTarget(void) const
+ ?combiningClass@QChar@@SAEG@Z @ 2360 NONAME ; unsigned char QChar::combiningClass(unsigned short)
+ ?mainThread@QCoreApplicationPrivate@@SAPAVQThread@@XZ @ 2361 NONAME ; class QThread * QCoreApplicationPrivate::mainThread(void)
+ ??0QVariant@@QAE@I@Z @ 2362 NONAME ; QVariant::QVariant(unsigned int)
+ ??1QFontLaoCodec@@UAE@XZ @ 2363 NONAME ; QFontLaoCodec::~QFontLaoCodec(void)
+ ?isEmpty@QRegExp@@QBE_NXZ @ 2364 NONAME ; bool QRegExp::isEmpty(void) const
+ ?isPreempted@QStateMachinePrivate@@QBE_NPBVQAbstractState@@ABV?$QSet@PAVQAbstractTransition@@@@@Z @ 2365 NONAME ; bool QStateMachinePrivate::isPreempted(class QAbstractState const *, class QSet<class QAbstractTransition *> const &) const
+ ?setX@QRectF@@QAEXM@Z @ 2366 NONAME ; void QRectF::setX(float)
+ ?testBit@QBitArray@@QBE_NH@Z @ 2367 NONAME ; bool QBitArray::testBit(int) const
+ ?qt_metacast@QTranslator@@UAEPAXPBD@Z @ 2368 NONAME ; void * QTranslator::qt_metacast(char const *)
+ ?replace_helper@QString@@AAEXPAIHHPBVQChar@@H@Z @ 2369 NONAME ; void QString::replace_helper(unsigned int *, int, int, class QChar const *, int)
+ ?setDate@QDateTime@@QAEXABVQDate@@@Z @ 2370 NONAME ; void QDateTime::setDate(class QDate const &)
+ ?addData@QXmlStreamReader@@QAEXABVQString@@@Z @ 2371 NONAME ; void QXmlStreamReader::addData(class QString const &)
+ ?value@QXmlStreamEntityDeclaration@@QBE?AVQStringRef@@XZ @ 2372 NONAME ; class QStringRef QXmlStreamEntityDeclaration::value(void) const
+ ?insert@QString@@QAEAAV1@HABV1@@Z @ 2373 NONAME ; class QString & QString::insert(int, class QString const &)
+ ?setUserInfo@QUrl@@QAEXABVQString@@@Z @ 2374 NONAME ; void QUrl::setUserInfo(class QString const &)
+ ?minute@QTime@@QBEHXZ @ 2375 NONAME ; int QTime::minute(void) const
+ ?write@QIODevice@@QAE_JPBD_J@Z @ 2376 NONAME ; long long QIODevice::write(char const *, long long)
+ ?p2@QLine@@QBE?AVQPoint@@XZ @ 2377 NONAME ; class QPoint QLine::p2(void) const
+ ?status@QSettings@@QBE?AW4Status@1@XZ @ 2378 NONAME ; enum QSettings::Status QSettings::status(void) const
+ ?msleep@QThread@@KAXK@Z @ 2379 NONAME ; void QThread::msleep(unsigned long)
+ ?notationDeclarations@QXmlStreamReader@@QBE?AV?$QVector@VQXmlStreamNotationDeclaration@@@@XZ @ 2380 NONAME ; class QVector<class QXmlStreamNotationDeclaration> QXmlStreamReader::notationDeclarations(void) const
+ ?staticMetaObject@QAbstractAnimation@@2UQMetaObject@@B @ 2381 NONAME ; struct QMetaObject const QAbstractAnimation::staticMetaObject
+ ??4QByteArrayMatcher@@QAEAAV0@ABV0@@Z @ 2382 NONAME ; class QByteArrayMatcher & QByteArrayMatcher::operator=(class QByteArrayMatcher const &)
+ ??0QDateTime@@QAE@ABVQDate@@ABVQTime@@W4TimeSpec@Qt@@@Z @ 2383 NONAME ; QDateTime::QDateTime(class QDate const &, class QTime const &, enum Qt::TimeSpec)
+ ??0QTextBoundaryFinder@@QAE@W4BoundaryType@0@PBVQChar@@HPAEH@Z @ 2384 NONAME ; QTextBoundaryFinder::QTextBoundaryFinder(enum QTextBoundaryFinder::BoundaryType, class QChar const *, int, unsigned char *, int)
+ ??0QLine@@QAE@XZ @ 2385 NONAME ; QLine::QLine(void)
+ ?atEnd@QDataStream@@QBE_NXZ @ 2386 NONAME ; bool QDataStream::atEnd(void) const
+ ?notifySignalIndex@QMetaProperty@@QBEHXZ @ 2387 NONAME ; int QMetaProperty::notifySignalIndex(void) const
+ ?toMap@QVariant@@QBE?AV?$QMap@VQString@@VQVariant@@@@XZ @ 2388 NONAME ; class QMap<class QString, class QVariant> QVariant::toMap(void) const
+ ?isLetter@QXmlUtils@@SA_NVQChar@@@Z @ 2389 NONAME ; bool QXmlUtils::isLetter(class QChar)
+ ?setDuration@QTimeLine@@QAEXH@Z @ 2390 NONAME ; void QTimeLine::setDuration(int)
+ ?startFrame@QTimeLine@@QBEHXZ @ 2391 NONAME ; int QTimeLine::startFrame(void) const
+ ??0QTextStream@@QAE@ABVQByteArray@@V?$QFlags@W4OpenModeFlag@QIODevice@@@@@Z @ 2392 NONAME ; QTextStream::QTextStream(class QByteArray const &, class QFlags<enum QIODevice::OpenModeFlag>)
+ ?filePath@QDir@@QBE?AVQString@@ABV2@@Z @ 2393 NONAME ; class QString QDir::filePath(class QString const &) const
+ ?isStartElement@QXmlStreamReader@@QBE_NXZ @ 2394 NONAME ; bool QXmlStreamReader::isStartElement(void) const
+ ??1QObjectPrivate@@UAE@XZ @ 2395 NONAME ; QObjectPrivate::~QObjectPrivate(void)
+ ?tr@QAbstractAnimation@@SA?AVQString@@PBD0H@Z @ 2396 NONAME ; class QString QAbstractAnimation::tr(char const *, char const *, int)
+ ?readLineData@QIODevice@@MAE_JPAD_J@Z @ 2397 NONAME ; long long QIODevice::readLineData(char *, long long)
+ ?setInterval@QTimer@@QAEXH@Z @ 2398 NONAME ; void QTimer::setInterval(int)
+ ??0QXmlStreamAttribute@@QAE@XZ @ 2399 NONAME ; QXmlStreamAttribute::QXmlStreamAttribute(void)
+ ?isSequential@QAbstractFileEngine@@UBE_NXZ @ 2400 NONAME ; bool QAbstractFileEngine::isSequential(void) const
+ ?open@QFile@@UAE_NV?$QFlags@W4OpenModeFlag@QIODevice@@@@@Z @ 2401 NONAME ; bool QFile::open(class QFlags<enum QIODevice::OpenModeFlag>)
+ ?setGlobalRestorePolicy@QStateMachine@@QAEXW4RestorePolicy@1@@Z @ 2402 NONAME ; void QStateMachine::setGlobalRestorePolicy(enum QStateMachine::RestorePolicy)
+ ?isEmpty@QUrl@@QBE_NXZ @ 2403 NONAME ; bool QUrl::isEmpty(void) const
+ ??6QDebug@@QAEAAV0@ABVQLatin1String@@@Z @ 2404 NONAME ; class QDebug & QDebug::operator<<(class QLatin1String const &)
+ ??1QThreadStorageData@@QAE@XZ @ 2405 NONAME ; QThreadStorageData::~QThreadStorageData(void)
+ ?isSymbol@QChar@@QBE_NXZ @ 2406 NONAME ; bool QChar::isSymbol(void) const
+ ??1QSocketNotifier@@UAE@XZ @ 2407 NONAME ; QSocketNotifier::~QSocketNotifier(void)
+ ??0QDataStream@@QAE@PAVQByteArray@@V?$QFlags@W4OpenModeFlag@QIODevice@@@@@Z @ 2408 NONAME ; QDataStream::QDataStream(class QByteArray *, class QFlags<enum QIODevice::OpenModeFlag>)
+ ?count@QString@@QBEHABVQRegExp@@@Z @ 2409 NONAME ; int QString::count(class QRegExp const &) const
+ ?replace@QByteArray@@QAEAAV1@PBD0@Z @ 2410 NONAME ; class QByteArray & QByteArray::replace(char const *, char const *)
+ ?hasColor@QMimeData@@QBE_NXZ @ 2411 NONAME ; bool QMimeData::hasColor(void) const
+ ?y@QPoint@@QBEHXZ @ 2412 NONAME ; int QPoint::y(void) const
+ ??4QEasingCurve@@QAEAAV0@ABV0@@Z @ 2413 NONAME ; class QEasingCurve & QEasingCurve::operator=(class QEasingCurve const &)
+ ?getStaticMetaObject@QEventTransition@@SAABUQMetaObject@@XZ @ 2414 NONAME ; struct QMetaObject const & QEventTransition::getStaticMetaObject(void)
+ ?stateChanged@QProcess@@IAEXW4ProcessState@1@@Z @ 2415 NONAME ; void QProcess::stateChanged(enum QProcess::ProcessState)
+ ??AQDir@@QBE?AVQString@@H@Z @ 2416 NONAME ; class QString QDir::operator[](int) const
+ ?seek@QIODevice@@UAE_N_J@Z @ 2417 NONAME ; bool QIODevice::seek(long long)
+ ??_EQSequentialAnimationGroup@@UAE@I@Z @ 2418 NONAME ; QSequentialAnimationGroup::~QSequentialAnimationGroup(unsigned int)
+ ?detach3@QListData@@QAEPAUData@1@XZ @ 2419 NONAME ; struct QListData::Data * QListData::detach3(void)
+ ??0QPointF@@QAE@XZ @ 2420 NONAME ; QPointF::QPointF(void)
+ ??4QCharRef@@QAEAAV0@E@Z @ 2421 NONAME ; class QCharRef & QCharRef::operator=(unsigned char)
+ ??6@YA?AVQDebug@@V0@ABVQDir@@@Z @ 2422 NONAME ; class QDebug operator<<(class QDebug, class QDir const &)
+ ??6QTextStream@@QAEAAV0@M@Z @ 2423 NONAME ; class QTextStream & QTextStream::operator<<(float)
+ ?name@QMetaProperty@@QBEPBDXZ @ 2424 NONAME ; char const * QMetaProperty::name(void) const
+ ?addPaths@QFileSystemWatcher@@QAEXABVQStringList@@@Z @ 2425 NONAME ; void QFileSystemWatcher::addPaths(class QStringList const &)
+ ?fromUtf8@QString@@SA?AV1@PBDH@Z @ 2426 NONAME ; class QString QString::fromUtf8(char const *, int)
+ ?contains@QByteArray@@QBE?AVQBool@@PBD@Z @ 2427 NONAME ; class QBool QByteArray::contains(char const *) const
+ ?testAndSetRelaxed@QBasicAtomicInt@@QAE_NHH@Z @ 2428 NONAME ; bool QBasicAtomicInt::testAndSetRelaxed(int, int)
+ ??1QStateMachinePrivate@@UAE@XZ @ 2429 NONAME ; QStateMachinePrivate::~QStateMachinePrivate(void)
+ ??0QXmlStreamAttribute@@QAE@ABV0@@Z @ 2430 NONAME ; QXmlStreamAttribute::QXmlStreamAttribute(class QXmlStreamAttribute const &)
+ ??1QReadWriteLock@@QAE@XZ @ 2431 NONAME ; QReadWriteLock::~QReadWriteLock(void)
+ ?x@QPointF@@QBEMXZ @ 2432 NONAME ; float QPointF::x(void) const
+ ?autoFormatting@QXmlStreamWriter@@QBE_NXZ @ 2433 NONAME ; bool QXmlStreamWriter::autoFormatting(void) const
+ ?finished@QState@@IAEXXZ @ 2434 NONAME ; void QState::finished(void)
+ ?setCurveShape@QTimeLine@@QAEXW4CurveShape@1@@Z @ 2435 NONAME ; void QTimeLine::setCurveShape(enum QTimeLine::CurveShape)
+ ?addDefaultAnimation@QStateMachine@@QAEXPAVQAbstractAnimation@@@Z @ 2436 NONAME ; void QStateMachine::addDefaultAnimation(class QAbstractAnimation *)
+ ?killTimer@QObject@@QAEXH@Z @ 2437 NONAME ; void QObject::killTimer(int)
+ ??6@YAAAVQDataStream@@AAV0@ABVQLocale@@@Z @ 2438 NONAME ; class QDataStream & operator<<(class QDataStream &, class QLocale const &)
+ ?tryLockForWrite@QReadWriteLock@@QAE_NH@Z @ 2439 NONAME ; bool QReadWriteLock::tryLockForWrite(int)
+ ??0QVariant@@QAE@ABVQRect@@@Z @ 2440 NONAME ; QVariant::QVariant(class QRect const &)
+ ?currentTime@QAbstractAnimation@@QBEHXZ @ 2441 NONAME ; int QAbstractAnimation::currentTime(void) const
+ ?pos@QRegExp@@QBEHH@Z @ 2442 NONAME ; int QRegExp::pos(int) const
+ ?rowsAboutToBeRemoved@QAbstractItemModelPrivate@@QAEXABVQModelIndex@@HH@Z @ 2443 NONAME ; void QAbstractItemModelPrivate::rowsAboutToBeRemoved(class QModelIndex const &, int, int)
+ ??YQString@@QAEAAV0@ABVQLatin1String@@@Z @ 2444 NONAME ; class QString & QString::operator+=(class QLatin1String const &)
+ ?qt_metacast@QProcess@@UAEPAXPBD@Z @ 2445 NONAME ; void * QProcess::qt_metacast(char const *)
+ ?retrieveData@QMimeData@@MBE?AVQVariant@@ABVQString@@W4Type@2@@Z @ 2446 NONAME ; class QVariant QMimeData::retrieveData(class QString const &, enum QVariant::Type) const
+ ?adjusted@QRect@@QBE?AV1@HHHH@Z @ 2447 NONAME ; class QRect QRect::adjusted(int, int, int, int) const
+ ??0QIODevice@@IAE@AAVQIODevicePrivate@@PAVQObject@@@Z @ 2448 NONAME ; QIODevice::QIODevice(class QIODevicePrivate &, class QObject *)
+ ?localeAwareCompare@QStringRef@@QBEHABVQString@@@Z @ 2449 NONAME ; int QStringRef::localeAwareCompare(class QString const &) const
+ ?angleTo@QLineF@@QBEMABV1@@Z @ 2450 NONAME ; float QLineF::angleTo(class QLineF const &) const
+ ?toCaseFolded@QString@@QBE?AV1@XZ @ 2451 NONAME ; class QString QString::toCaseFolded(void) const
+ ?addGuard@QMetaObject@@SAXPAPAVQObject@@@Z @ 2452 NONAME ; void QMetaObject::addGuard(class QObject * *)
+ ??_EQAbstractTransitionPrivate@@UAE@I@Z @ 2453 NONAME ; QAbstractTransitionPrivate::~QAbstractTransitionPrivate(unsigned int)
+ ?isDetached@QByteArray@@QBE_NXZ @ 2454 NONAME ; bool QByteArray::isDetached(void) const
+ ??0ConverterState@QTextCodec@@QAE@V?$QFlags@W4ConversionFlag@QTextCodec@@@@@Z @ 2455 NONAME ; QTextCodec::ConverterState::ConverterState(class QFlags<enum QTextCodec::ConversionFlag>)
+ ?setPath@QAbstractFileEngineIterator@@AAEXABVQString@@@Z @ 2456 NONAME ; void QAbstractFileEngineIterator::setPath(class QString const &)
+ ?d_func@QFileSystemWatcher@@AAEPAVQFileSystemWatcherPrivate@@XZ @ 2457 NONAME ; class QFileSystemWatcherPrivate * QFileSystemWatcher::d_func(void)
+ ?modelReset@QAbstractItemModel@@AAEXXZ @ 2458 NONAME ; void QAbstractItemModel::modelReset(void)
+ ??0QIODevice@@QAE@XZ @ 2459 NONAME ; QIODevice::QIODevice(void)
+ ?joining@QChar@@QBE?AW4Joining@1@XZ @ 2460 NONAME ; enum QChar::Joining QChar::joining(void) const
+ ?setCurrentTime@QTimeLine@@QAEXH@Z @ 2461 NONAME ; void QTimeLine::setCurrentTime(int)
+ ?tokenString@QXmlStreamReader@@QBE?AVQString@@XZ @ 2462 NONAME ; class QString QXmlStreamReader::tokenString(void) const
+ ?resolve@QLibrary@@SAPAXABVQString@@HPBD@Z @ 2463 NONAME ; void * QLibrary::resolve(class QString const &, int, char const *)
+ ?qsrand@@YAXI@Z @ 2464 NONAME ; void qsrand(unsigned int)
+ ?lock@QMutex@@QAEXXZ @ 2465 NONAME ; void QMutex::lock(void)
+ ?d_func@QAbstractTransition@@ABEPBVQAbstractTransitionPrivate@@XZ @ 2466 NONAME ; class QAbstractTransitionPrivate const * QAbstractTransition::d_func(void) const
+ ?setFloatingPointPrecision@QDataStream@@QAEXW4FloatingPointPrecision@1@@Z @ 2467 NONAME ; void QDataStream::setFloatingPointPrecision(enum QDataStream::FloatingPointPrecision)
+ ?updateDirection@QSequentialAnimationGroup@@MAEXW4Direction@QAbstractAnimation@@@Z @ 2468 NONAME ; void QSequentialAnimationGroup::updateDirection(enum QAbstractAnimation::Direction)
+ ?tr@QAbstractItemModel@@SA?AVQString@@PBD0H@Z @ 2469 NONAME ; class QString QAbstractItemModel::tr(char const *, char const *, int)
+ ?submit@QAbstractItemModel@@UAE_NXZ @ 2470 NONAME ; bool QAbstractItemModel::submit(void)
+ ??NQLatin1String@@QBE_NPBD@Z @ 2471 NONAME ; bool QLatin1String::operator<=(char const *) const
+ ??8QLatin1String@@QBE_NPBD@Z @ 2472 NONAME ; bool QLatin1String::operator==(char const *) const
+ ?result@QCryptographicHash@@QBE?AVQByteArray@@XZ @ 2473 NONAME ; class QByteArray QCryptographicHash::result(void) const
+ ??6QDebug@@QAEAAV0@D@Z @ 2474 NONAME ; class QDebug & QDebug::operator<<(char)
+ ?metacall@QMetaObject@@SAHPAVQObject@@W4Call@1@HPAPAX@Z @ 2475 NONAME ; int QMetaObject::metacall(class QObject *, enum QMetaObject::Call, int, void * *)
+ ?exec@QCoreApplication@@SAHXZ @ 2476 NONAME ; int QCoreApplication::exec(void)
+ ?metaObject@QSharedMemory@@UBEPBUQMetaObject@@XZ @ 2477 NONAME ; struct QMetaObject const * QSharedMemory::metaObject(void) const
+ ??1CQtActiveScheduler@@UAE@XZ @ 2478 NONAME ; CQtActiveScheduler::~CQtActiveScheduler(void)
+ ??_EQAbstractItemModelPrivate@@UAE@I@Z @ 2479 NONAME ; QAbstractItemModelPrivate::~QAbstractItemModelPrivate(unsigned int)
+ ?unlock@QMutexLocker@@QAEXXZ @ 2480 NONAME ; void QMutexLocker::unlock(void)
+ ??0QDebug@@QAE@W4QtMsgType@@@Z @ 2481 NONAME ; QDebug::QDebug(enum QtMsgType)
+ ??0QVariant@@QAE@ABVQRegExp@@@Z @ 2482 NONAME ; QVariant::QVariant(class QRegExp const &)
+ ?unlock@QReadLocker@@QAEXXZ @ 2483 NONAME ; void QReadLocker::unlock(void)
+ ?remove@QDir@@QAE_NABVQString@@@Z @ 2484 NONAME ; bool QDir::remove(class QString const &)
+ ??0QDateTime@@QAE@ABV0@@Z @ 2485 NONAME ; QDateTime::QDateTime(class QDateTime const &)
+ ?toAscii@QCharRef@@QBEDXZ @ 2486 NONAME ; char QCharRef::toAscii(void) const
+ ?QBasicAtomicInt_fetchAndStoreOrdered@@YAHPCHH@Z @ 2487 NONAME ; int QBasicAtomicInt_fetchAndStoreOrdered(int volatile *, int)
+ ?staticQtMetaObject@QObject@@1UQMetaObject@@B @ 2488 NONAME ; struct QMetaObject const QObject::staticQtMetaObject
+ ?indexOf@QString@@QBEHABVQLatin1String@@HW4CaseSensitivity@Qt@@@Z @ 2489 NONAME ; int QString::indexOf(class QLatin1String const &, int, enum Qt::CaseSensitivity) const
+ ?q_func@QIODevicePrivate@@ABEPBVQIODevice@@XZ @ 2490 NONAME ; class QIODevice const * QIODevicePrivate::q_func(void) const
+ ?tr@QAbstractEventDispatcher@@SA?AVQString@@PBD0H@Z @ 2491 NONAME ; class QString QAbstractEventDispatcher::tr(char const *, char const *, int)
+ ?translate@QRect@@QAEXABVQPoint@@@Z @ 2492 NONAME ; void QRect::translate(class QPoint const &)
+ ??0QPointF@@QAE@MM@Z @ 2493 NONAME ; QPointF::QPointF(float, float)
+ ?clearBit@QBitArray@@QAEXH@Z @ 2494 NONAME ; void QBitArray::clearBit(int)
+ ?applicationFilePath@QCoreApplication@@SA?AVQString@@XZ @ 2495 NONAME ; class QString QCoreApplication::applicationFilePath(void)
+ ?compare@QString@@QBEHABV1@W4CaseSensitivity@Qt@@@Z @ 2496 NONAME ; int QString::compare(class QString const &, enum Qt::CaseSensitivity) const
+ ?detach2@QListData@@QAEPAUData@1@XZ @ 2497 NONAME ; struct QListData::Data * QListData::detach2(void)
+ ?qt_metacast@QFile@@UAEPAXPBD@Z @ 2498 NONAME ; void * QFile::qt_metacast(char const *)
+ ?_q_process@QStateMachinePrivate@@QAEXXZ @ 2499 NONAME ; void QStateMachinePrivate::_q_process(void)
+ ?indexOf@QByteArray@@QBEHDH@Z @ 2500 NONAME ; int QByteArray::indexOf(char, int) const
+ ?setValue@QSettings@@QAEXABVQString@@ABVQVariant@@@Z @ 2501 NONAME ; void QSettings::setValue(class QString const &, class QVariant const &)
+ ?staticMetaObject@QLibrary@@2UQMetaObject@@B @ 2502 NONAME ; struct QMetaObject const QLibrary::staticMetaObject
+ ?terminate@QProcess@@QAEXXZ @ 2503 NONAME ; void QProcess::terminate(void)
+ ?setFileNameAndVersion@QLibrary@@QAEXABVQString@@0@Z @ 2504 NONAME ; void QLibrary::setFileNameAndVersion(class QString const &, class QString const &)
+ ?authority@QUrl@@QBE?AVQString@@XZ @ 2505 NONAME ; class QString QUrl::authority(void) const
+ ?setNum@QByteArray@@QAEAAV1@_JH@Z @ 2506 NONAME ; class QByteArray & QByteArray::setNum(long long, int)
+ ?animations@QAbstractTransition@@QBE?AV?$QList@PAVQAbstractAnimation@@@@XZ @ 2507 NONAME ; class QList<class QAbstractAnimation *> QAbstractTransition::animations(void) const
+ ?q_func@QCoreApplicationPrivate@@AAEPAVQCoreApplication@@XZ @ 2508 NONAME ; class QCoreApplication * QCoreApplicationPrivate::q_func(void)
+ ?readyReadStandardError@QProcess@@IAEXXZ @ 2509 NONAME ; void QProcess::readyReadStandardError(void)
+ ?isDetached@QUrl@@QBE_NXZ @ 2510 NONAME ; bool QUrl::isDetached(void) const
+ ?insertAnimationAt@QAnimationGroup@@QAEXHPAVQAbstractAnimation@@@Z @ 2511 NONAME ; void QAnimationGroup::insertAnimationAt(int, class QAbstractAnimation *)
+ ??0QFile@@QAE@ABVQString@@PAVQObject@@@Z @ 2512 NONAME ; QFile::QFile(class QString const &, class QObject *)
+ ??6QDebug@@QAEAAV0@ABVQStringRef@@@Z @ 2513 NONAME ; class QDebug & QDebug::operator<<(class QStringRef const &)
+ ?setLoadHints@QLibrary@@QAEXV?$QFlags@W4LoadHint@QLibrary@@@@@Z @ 2514 NONAME ; void QLibrary::setLoadHints(class QFlags<enum QLibrary::LoadHint>)
+ ?d_func@QThreadPool@@AAEPAVQThreadPoolPrivate@@XZ @ 2515 NONAME ; class QThreadPoolPrivate * QThreadPool::d_func(void)
+ ??AQByteArray@@QAE?AVQByteRef@@I@Z @ 2516 NONAME ; class QByteRef QByteArray::operator[](unsigned int)
+ ?removePaths@QFileSystemWatcher@@QAEXABVQStringList@@@Z @ 2517 NONAME ; void QFileSystemWatcher::removePaths(class QStringList const &)
+ ??0QDynamicPropertyChangeEvent@@QAE@ABVQByteArray@@@Z @ 2518 NONAME ; QDynamicPropertyChangeEvent::QDynamicPropertyChangeEvent(class QByteArray const &)
+ ??6@YAAAVQDataStream@@AAV0@ABVQUrl@@@Z @ 2519 NONAME ; class QDataStream & operator<<(class QDataStream &, class QUrl const &)
+ ??1QAbstractAnimation@@UAE@XZ @ 2520 NONAME ; QAbstractAnimation::~QAbstractAnimation(void)
+ ??0QIODevicePrivate@@QAE@XZ @ 2521 NONAME ; QIODevicePrivate::QIODevicePrivate(void)
+ ??6@YAAAVQDataStream@@AAV0@ABVQSize@@@Z @ 2522 NONAME ; class QDataStream & operator<<(class QDataStream &, class QSize const &)
+ ?removeTransition@QState@@QAEXPAVQAbstractTransition@@@Z @ 2523 NONAME ; void QState::removeTransition(class QAbstractTransition *)
+ ??6QDebug@@QAEAAV0@PBD@Z @ 2524 NONAME ; class QDebug & QDebug::operator<<(char const *)
+ ??OQTime@@QBE_NABV0@@Z @ 2525 NONAME ; bool QTime::operator>(class QTime const &) const
+ ?setCoords@QRectF@@QAEXMMMM@Z @ 2526 NONAME ; void QRectF::setCoords(float, float, float, float)
+ ?tr@QTranslator@@SA?AVQString@@PBD0@Z @ 2527 NONAME ; class QString QTranslator::tr(char const *, char const *)
+ ??0QVariant@@QAE@ABVQChar@@@Z @ 2528 NONAME ; QVariant::QVariant(class QChar const &)
+ ?changePersistentIndexList@QAbstractItemModel@@IAEXABV?$QList@VQModelIndex@@@@0@Z @ 2529 NONAME ; void QAbstractItemModel::changePersistentIndexList(class QList<class QModelIndex> const &, class QList<class QModelIndex> const &)
+ ?tr@QPluginLoader@@SA?AVQString@@PBD0@Z @ 2530 NONAME ; class QString QPluginLoader::tr(char const *, char const *)
+ ?trUtf8@QObject@@SA?AVQString@@PBD0H@Z @ 2531 NONAME ; class QString QObject::trUtf8(char const *, char const *, int)
+ ??6@YA?AVQDebug@@V0@ABVQVariant@@@Z @ 2532 NONAME ; class QDebug operator<<(class QDebug, class QVariant const &)
+ ?child@QChildEvent@@QBEPAVQObject@@XZ @ 2533 NONAME ; class QObject * QChildEvent::child(void) const
+ ?writeStartElement@QXmlStreamWriter@@QAEXABVQString@@0@Z @ 2534 NONAME ; void QXmlStreamWriter::writeStartElement(class QString const &, class QString const &)
+ ??_EQAbstractAnimation@@UAE@I@Z @ 2535 NONAME ; QAbstractAnimation::~QAbstractAnimation(unsigned int)
+ ??0QVariant@@QAE@ABVQStringList@@@Z @ 2536 NONAME ; QVariant::QVariant(class QStringList const &)
+ ?readElementText@QXmlStreamReader@@QAE?AVQString@@W4ReadElementTextBehaviour@1@@Z @ 2537 NONAME ; class QString QXmlStreamReader::readElementText(enum QXmlStreamReader::ReadElementTextBehaviour)
+ ?toDateTime@QLocale@@QBE?AVQDateTime@@ABVQString@@W4FormatType@1@@Z @ 2538 NONAME ; class QDateTime QLocale::toDateTime(class QString const &, enum QLocale::FormatType) const
+ ??8QDir@@QBE_NABV0@@Z @ 2539 NONAME ; bool QDir::operator==(class QDir const &) const
+ ?signalId@QMetaCallEvent@@QBEHXZ @ 2540 NONAME ; int QMetaCallEvent::signalId(void) const
+ ?intersected@QRect@@QBE?AV1@ABV1@@Z @ 2541 NONAME ; class QRect QRect::intersected(class QRect const &) const
+ ?qt_symbianLocaleName@@YA?AVQByteArray@@H@Z @ 2542 NONAME ; class QByteArray qt_symbianLocaleName(int)
+ ?d_func@QBuffer@@ABEPBVQBufferPrivate@@XZ @ 2543 NONAME ; class QBufferPrivate const * QBuffer::d_func(void) const
+ ?argv@QCoreApplication@@SAPAPADXZ @ 2544 NONAME ; char * * QCoreApplication::argv(void)
+ ?count@QByteArray@@QBEHXZ @ 2545 NONAME ; int QByteArray::count(void) const
+ ?propertyName@QDynamicPropertyChangeEvent@@QBE?AVQByteArray@@XZ @ 2546 NONAME ; class QByteArray QDynamicPropertyChangeEvent::propertyName(void) const
+ ??0QState@@IAE@AAVQStatePrivate@@PAV0@@Z @ 2547 NONAME ; QState::QState(class QStatePrivate &, class QState *)
+ ?onExit@QStateMachine@@MAEXPAVQEvent@@@Z @ 2548 NONAME ; void QStateMachine::onExit(class QEvent *)
+ ??0QLineF@@QAE@ABV0@@Z @ 2549 NONAME ; QLineF::QLineF(class QLineF const &)
+ ?findErrorState@QStateMachinePrivate@@QAEPAVQAbstractState@@PAV2@@Z @ 2550 NONAME ; class QAbstractState * QStateMachinePrivate::findErrorState(class QAbstractState *)
+ ?permission@QFileInfo@@QBE_NV?$QFlags@W4Permission@QFile@@@@@Z @ 2551 NONAME ; bool QFileInfo::permission(class QFlags<enum QFile::Permission>) const
+ ?msec@QTime@@QBEHXZ @ 2552 NONAME ; int QTime::msec(void) const
+ ?longDayName@QDate@@SA?AVQString@@H@Z @ 2553 NONAME ; class QString QDate::longDayName(int)
+ ?readRawData@QDataStream@@QAEHPADH@Z @ 2554 NONAME ; int QDataStream::readRawData(char *, int)
+ ?toLocalTime@QDateTime@@QBE?AV1@XZ @ 2555 NONAME ; class QDateTime QDateTime::toLocalTime(void) const
+ ??0QVariant@@QAE@ABV?$QList@VQVariant@@@@@Z @ 2556 NONAME ; QVariant::QVariant(class QList<class QVariant> const &)
+ ?setSystemIniPath@QSettings@@SAXABVQString@@@Z @ 2557 NONAME ; void QSettings::setSystemIniPath(class QString const &)
+ ??6QDebug@@QAEAAV0@_J@Z @ 2558 NONAME ; class QDebug & QDebug::operator<<(long long)
+ ?qt_metacall@QHistoryState@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 2559 NONAME ; int QHistoryState::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ??0QLineF@@QAE@XZ @ 2560 NONAME ; QLineF::QLineF(void)
+ ?remove@QByteArray@@QAEAAV1@HH@Z @ 2561 NONAME ; class QByteArray & QByteArray::remove(int, int)
+ ?realloc@QListData@@QAEXH@Z @ 2562 NONAME ; void QListData::realloc(int)
+ ?removeLibraryPath@QCoreApplication@@SAXABVQString@@@Z @ 2563 NONAME ; void QCoreApplication::removeLibraryPath(class QString const &)
+ ??0QEasingCurve@@QAE@W4Type@0@@Z @ 2564 NONAME ; QEasingCurve::QEasingCurve(enum QEasingCurve::Type)
+ ?qt_metacall@QBuffer@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 2565 NONAME ; int QBuffer::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ??MQString@@QBE_NABV0@@Z @ 2566 NONAME ; bool QString::operator<(class QString const &) const
+ ?_q_reregisterTimers@QObjectPrivate@@QAEXPAX@Z @ 2567 NONAME ; void QObjectPrivate::_q_reregisterTimers(void *)
+ ?free@QString@@CAXPAUData@1@@Z @ 2568 NONAME ; void QString::free(struct QString::Data *)
+ ??9QString@@QBE_NABVQByteArray@@@Z @ 2569 NONAME ; bool QString::operator!=(class QByteArray const &) const
+ ??_EQMimeData@@UAE@I@Z @ 2570 NONAME ; QMimeData::~QMimeData(unsigned int)
+ ?encodeData@QAbstractItemModel@@IBEXABV?$QList@VQModelIndex@@@@AAVQDataStream@@@Z @ 2571 NONAME ; void QAbstractItemModel::encodeData(class QList<class QModelIndex> const &, class QDataStream &) const
+ ?left@QRectF@@QBEMXZ @ 2572 NONAME ; float QRectF::left(void) const
+ ?endFrame@QTimeLine@@QBEHXZ @ 2573 NONAME ; int QTimeLine::endFrame(void) const
+ ?toInt@QString@@QBEHPA_NH@Z @ 2574 NONAME ; int QString::toInt(bool *, int) const
+ ??NQByteArray@@QBE_NABVQString@@@Z @ 2575 NONAME ; bool QByteArray::operator<=(class QString const &) const
+ ?replace@QByteArray@@QAEAAV1@DPBD@Z @ 2576 NONAME ; class QByteArray & QByteArray::replace(char, char const *)
+ ?nameFilters@QDir@@QBE?AVQStringList@@XZ @ 2577 NONAME ; class QStringList QDir::nameFilters(void) const
+ ?allKeys@QSettings@@QBE?AVQStringList@@XZ @ 2578 NONAME ; class QStringList QSettings::allKeys(void) const
+ ?setReadChannel@QProcess@@QAEXW4ProcessChannel@1@@Z @ 2579 NONAME ; void QProcess::setReadChannel(enum QProcess::ProcessChannel)
+ ??6QDataStream@@QAEAAV0@I@Z @ 2580 NONAME ; class QDataStream & QDataStream::operator<<(unsigned int)
+ ??_EQByteArray@@QAE@I@Z @ 2581 NONAME ; QByteArray::~QByteArray(unsigned int)
+ ??5QDataStream@@QAEAAV0@AAPAD@Z @ 2582 NONAME ; class QDataStream & QDataStream::operator>>(char * &)
+ ?setScheme@QUrl@@QAEXABVQString@@@Z @ 2583 NONAME ; void QUrl::setScheme(class QString const &)
+ ?currentValue@QTimeLine@@QBEMXZ @ 2584 NONAME ; float QTimeLine::currentValue(void) const
+ ?addSearchPath@QResource@@SAXABVQString@@@Z @ 2585 NONAME ; void QResource::addSearchPath(class QString const &)
+ ?tr@QCoreApplication@@SA?AVQString@@PBD0@Z @ 2586 NONAME ; class QString QCoreApplication::tr(char const *, char const *)
+ ?setTopRight@QRect@@QAEXABVQPoint@@@Z @ 2587 NONAME ; void QRect::setTopRight(class QPoint const &)
+ ?thread@QObject@@QBEPAVQThread@@XZ @ 2588 NONAME ; class QThread * QObject::thread(void) const
+ ?metaObject@QSocketNotifier@@UBEPBUQMetaObject@@XZ @ 2589 NONAME ; struct QMetaObject const * QSocketNotifier::metaObject(void) const
+ ?fromString@QTime@@SA?AV1@ABVQString@@0@Z @ 2590 NONAME ; class QTime QTime::fromString(class QString const &, class QString const &)
+ ?methodType@QMetaMethod@@QBE?AW4MethodType@1@XZ @ 2591 NONAME ; enum QMetaMethod::MethodType QMetaMethod::methodType(void) const
+ ?qMemCopy@@YAPAXPAXPBXI@Z @ 2592 NONAME ; void * qMemCopy(void *, void const *, unsigned int)
+ ?qstrtod@@YANPBDPAPBDPA_N@Z @ 2593 NONAME ; double qstrtod(char const *, char const * *, bool *)
+ ?key@QSystemSemaphore@@QBE?AVQString@@XZ @ 2594 NONAME ; class QString QSystemSemaphore::key(void) const
+ ?qIsInf@@YA_NM@Z @ 2595 NONAME ; bool qIsInf(float)
+ ?setError@QAbstractFileEngine@@IAEXW4FileError@QFile@@ABVQString@@@Z @ 2596 NONAME ; void QAbstractFileEngine::setError(enum QFile::FileError, class QString const &)
+ ??OQString@@QBE_NPBD@Z @ 2597 NONAME ; bool QString::operator>(char const *) const
+ ?sectionPos@QDateTimeParser@@QBEHH@Z @ 2598 NONAME ; int QDateTimeParser::sectionPos(int) const
+ ??4QString@@QAEAAV0@VQChar@@@Z @ 2599 NONAME ; class QString & QString::operator=(class QChar)
+ ?startDetached@QProcess@@SA_NABVQString@@ABVQStringList@@0PA_J@Z @ 2600 NONAME ; bool QProcess::startDetached(class QString const &, class QStringList const &, class QString const &, long long *)
+ ?writeData@QBuffer@@MAE_JPBD_J@Z @ 2601 NONAME ; long long QBuffer::writeData(char const *, long long)
+ ?qRegisterStaticPluginInstanceFunction@@YAXP6APAVQObject@@XZ@Z @ 2602 NONAME ; void qRegisterStaticPluginInstanceFunction(class QObject * (*)(void))
+ ?countriesForLanguage@QLocale@@SA?AV?$QList@W4Country@QLocale@@@@W4Language@1@@Z @ 2603 NONAME ; class QList<enum QLocale::Country> QLocale::countriesForLanguage(enum QLocale::Language)
+ ?qt_metacall@QProcess@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 2604 NONAME ; int QProcess::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ??6QTextStream@@QAEAAV0@F@Z @ 2605 NONAME ; class QTextStream & QTextStream::operator<<(short)
+ ?stateExitLessThan@QStateMachinePrivate@@SA_NPAVQAbstractState@@0@Z @ 2606 NONAME ; bool QStateMachinePrivate::stateExitLessThan(class QAbstractState *, class QAbstractState *)
+ ?rangeContains@QXmlUtils@@CA_NPBVQXmlCharRange@@0VQChar@@@Z @ 2607 NONAME ; bool QXmlUtils::rangeContains(class QXmlCharRange const *, class QXmlCharRange const *, class QChar)
+ ?staticMetaObject@QEasingCurve@@2UQMetaObject@@B @ 2608 NONAME ; struct QMetaObject const QEasingCurve::staticMetaObject
+ ?toString@QLocale@@QBE?AVQString@@MDH@Z @ 2609 NONAME ; class QString QLocale::toString(float, char, int) const
+ ?started@QStateMachine@@IAEXXZ @ 2610 NONAME ; void QStateMachine::started(void)
+ ?isFinished@QThread@@QBE_NXZ @ 2611 NONAME ; bool QThread::isFinished(void) const
+ ?internalId@QPersistentModelIndex@@QBE_JXZ @ 2612 NONAME ; long long QPersistentModelIndex::internalId(void) const
+ ?rename@QFile@@QAE_NABVQString@@@Z @ 2613 NONAME ; bool QFile::rename(class QString const &)
+ ?d_func@QSocketNotifier@@ABEPBVQObjectPrivate@@XZ @ 2614 NONAME ; class QObjectPrivate const * QSocketNotifier::d_func(void) const
+ ?setBottom@QRectF@@QAEXM@Z @ 2615 NONAME ; void QRectF::setBottom(float)
+ ?metaObject@QState@@UBEPBUQMetaObject@@XZ @ 2616 NONAME ; struct QMetaObject const * QState::metaObject(void) const
+ ?addTransition@QState@@QAEPAVQAbstractTransition@@PAVQAbstractState@@@Z @ 2617 NONAME ; class QAbstractTransition * QState::addTransition(class QAbstractState *)
+ ?setFileName@QResource@@QAEXABVQString@@@Z @ 2618 NONAME ; void QResource::setFileName(class QString const &)
+ ?d_func@QTextStream@@AAEPAVQTextStreamPrivate@@XZ @ 2619 NONAME ; class QTextStreamPrivate * QTextStream::d_func(void)
+ ?isExecutable@QFileInfo@@QBE_NXZ @ 2620 NONAME ; bool QFileInfo::isExecutable(void) const
+ ?metaObject@QBuffer@@UBEPBUQMetaObject@@XZ @ 2621 NONAME ; struct QMetaObject const * QBuffer::metaObject(void) const
+ ?moveToThread_helper@QObjectPrivate@@QAEXXZ @ 2622 NONAME ; void QObjectPrivate::moveToThread_helper(void)
+ ??0QThreadPool@@QAE@PAVQObject@@@Z @ 2623 NONAME ; QThreadPool::QThreadPool(class QObject *)
+ ?convertFromUnicode@QFontLaoCodec@@UBE?AVQByteArray@@PBVQChar@@HPAUConverterState@QTextCodec@@@Z @ 2624 NONAME ; class QByteArray QFontLaoCodec::convertFromUnicode(class QChar const *, int, struct QTextCodec::ConverterState *) const
+ ?hasQueryItem@QUrl@@QBE_NABVQString@@@Z @ 2625 NONAME ; bool QUrl::hasQueryItem(class QString const &) const
+ ?trUtf8@QPropertyAnimation@@SA?AVQString@@PBD0@Z @ 2626 NONAME ; class QString QPropertyAnimation::trUtf8(char const *, char const *)
+ ?qt_metacast@QLibrary@@UAEPAXPBD@Z @ 2627 NONAME ; void * QLibrary::qt_metacast(char const *)
+ ?fromLocal8Bit@QString@@SA?AV1@PBDH@Z @ 2628 NONAME ; class QString QString::fromLocal8Bit(char const *, int)
+ ?activate@QMetaObject@@SAXPAVQObject@@HPAPAX@Z @ 2629 NONAME ; void QMetaObject::activate(class QObject *, int, void * *)
+ ?connectSlotsByName@QMetaObject@@SAXPAVQObject@@@Z @ 2630 NONAME ; void QMetaObject::connectSlotsByName(class QObject *)
+ ??0QCoreApplicationPrivate@@QAE@AAHPAPAD@Z @ 2631 NONAME ; QCoreApplicationPrivate::QCoreApplicationPrivate(int &, char * *)
+ ?width@QRect@@QBEHXZ @ 2632 NONAME ; int QRect::width(void) const
+ ?capturedTexts@QRegExp@@QBE?AVQStringList@@XZ @ 2633 NONAME ; class QStringList QRegExp::capturedTexts(void) const
+ ??_EQSignalTransition@@UAE@I@Z @ 2634 NONAME ; QSignalTransition::~QSignalTransition(unsigned int)
+ ?registeredTimers@QEventDispatcherSymbian@@UBE?AV?$QList@U?$QPair@HH@@@@PAVQObject@@@Z @ 2635 NONAME ; class QList<struct QPair<int, int> > QEventDispatcherSymbian::registeredTimers(class QObject *) const
+ ?d_func@QXmlStreamWriter@@ABEPBVQXmlStreamWriterPrivate@@XZ @ 2636 NONAME ; class QXmlStreamWriterPrivate const * QXmlStreamWriter::d_func(void) const
+ ?seek@QFSFileEngine@@UAE_N_J@Z @ 2637 NONAME ; bool QFSFileEngine::seek(long long)
+ ??_EQSignalMapper@@UAE@I@Z @ 2638 NONAME ; QSignalMapper::~QSignalMapper(unsigned int)
+ ??0QStringRef@@QAE@ABV0@@Z @ 2639 NONAME ; QStringRef::QStringRef(class QStringRef const &)
+ ?dx@QLineF@@QBEMXZ @ 2640 NONAME ; float QLineF::dx(void) const
+ ??1QPauseAnimation@@UAE@XZ @ 2641 NONAME ; QPauseAnimation::~QPauseAnimation(void)
+ ??0QSystemLocale@@QAE@XZ @ 2642 NONAME ; QSystemLocale::QSystemLocale(void)
+ ?qt_signal_spy_callback_set@@3UQSignalSpyCallbackSet@@A @ 2643 NONAME ; struct QSignalSpyCallbackSet qt_signal_spy_callback_set
+ ?tr@QParallelAnimationGroup@@SA?AVQString@@PBD0H@Z @ 2644 NONAME ; class QString QParallelAnimationGroup::tr(char const *, char const *, int)
+ ?detach@QListData@@QAEPAUData@1@XZ @ 2645 NONAME ; struct QListData::Data * QListData::detach(void)
+ ?bundleName@QFileInfo@@QBE?AVQString@@XZ @ 2646 NONAME ; class QString QFileInfo::bundleName(void) const
+ ?bottom@QRect@@QBEHXZ @ 2647 NONAME ; int QRect::bottom(void) const
+ ?setStatus@QDataStream@@QAEXW4Status@1@@Z @ 2648 NONAME ; void QDataStream::setStatus(enum QDataStream::Status)
+ ?moveToThread@QObject@@QAEXPAVQThread@@@Z @ 2649 NONAME ; void QObject::moveToThread(class QThread *)
+ ?trUtf8@QAbstractAnimation@@SA?AVQString@@PBD0H@Z @ 2650 NONAME ; class QString QAbstractAnimation::trUtf8(char const *, char const *, int)
+ ?replace@QByteArray@@QAEAAV1@HHPBD@Z @ 2651 NONAME ; class QByteArray & QByteArray::replace(int, int, char const *)
+ ?setRight@QRectF@@QAEXM@Z @ 2652 NONAME ; void QRectF::setRight(float)
+ ??9QXmlStreamNamespaceDeclaration@@QBE_NABV0@@Z @ 2653 NONAME ; bool QXmlStreamNamespaceDeclaration::operator!=(class QXmlStreamNamespaceDeclaration const &) const
+ ?toNativeSeparators@QDir@@SA?AVQString@@ABV2@@Z @ 2654 NONAME ; class QString QDir::toNativeSeparators(class QString const &)
+ ?row@QPersistentModelIndex@@QBEHXZ @ 2655 NONAME ; int QPersistentModelIndex::row(void) const
+ ??0QAbstractFileEngineHandler@@QAE@XZ @ 2656 NONAME ; QAbstractFileEngineHandler::QAbstractFileEngineHandler(void)
+ ??0QDataStream@@QAE@PAVQIODevice@@@Z @ 2657 NONAME ; QDataStream::QDataStream(class QIODevice *)
+ ??0QXmlStreamNamespaceDeclaration@@QAE@XZ @ 2658 NONAME ; QXmlStreamNamespaceDeclaration::QXmlStreamNamespaceDeclaration(void)
+ ?currentTime@QTime@@SA?AV1@XZ @ 2659 NONAME ; class QTime QTime::currentTime(void)
+ ?isFile@QResource@@IBE_NXZ @ 2660 NONAME ; bool QResource::isFile(void) const
+ ?qstrcmp@@YAHABVQByteArray@@0@Z @ 2661 NONAME ; int qstrcmp(class QByteArray const &, class QByteArray const &)
+ ?isNull@QSize@@QBE_NXZ @ 2662 NONAME ; bool QSize::isNull(void) const
+ ??0QByteArray@@AAE@PAUData@0@HH@Z @ 2663 NONAME ; QByteArray::QByteArray(struct QByteArray::Data *, int, int)
+ ?setTargetStates@QAbstractTransition@@QAEXABV?$QList@PAVQAbstractState@@@@@Z @ 2664 NONAME ; void QAbstractTransition::setTargetStates(class QList<class QAbstractState *> const &)
+ ?timerEvent@QTimer@@MAEXPAVQTimerEvent@@@Z @ 2665 NONAME ; void QTimer::timerEvent(class QTimerEvent *)
+ ??6QDataStream@@QAEAAV0@_J@Z @ 2666 NONAME ; class QDataStream & QDataStream::operator<<(long long)
+ ?unicode@QStringRef@@QBEPBVQChar@@XZ @ 2667 NONAME ; class QChar const * QStringRef::unicode(void) const
+ ?size@QAbstractFileEngine@@UBE_JXZ @ 2668 NONAME ; long long QAbstractFileEngine::size(void) const
+ ?setDeleteWatch@QObjectPrivate@@SAPAHPAV1@PAH@Z @ 2669 NONAME ; int * QObjectPrivate::setDeleteWatch(class QObjectPrivate *, int *)
+ ?metaObject@QEventTransition@@UBEPBUQMetaObject@@XZ @ 2670 NONAME ; struct QMetaObject const * QEventTransition::metaObject(void) const
+ ?resume@QTimeLine@@QAEXXZ @ 2671 NONAME ; void QTimeLine::resume(void)
+ ?match@QDir@@SA_NABVQString@@0@Z @ 2672 NONAME ; bool QDir::match(class QString const &, class QString const &)
+ ?event@QSocketNotifier@@MAE_NPAVQEvent@@@Z @ 2673 NONAME ; bool QSocketNotifier::event(class QEvent *)
+ ??8QLocale@@QBE_NABV0@@Z @ 2674 NONAME ; bool QLocale::operator==(class QLocale const &) const
+ ?d_func@QAbstractAnimation@@ABEPBVQAbstractAnimationPrivate@@XZ @ 2675 NONAME ; class QAbstractAnimationPrivate const * QAbstractAnimation::d_func(void) const
+ ??8@YA_NABUSectionNode@QDateTimeParser@@0@Z @ 2676 NONAME ; bool operator==(struct QDateTimeParser::SectionNode const &, struct QDateTimeParser::SectionNode const &)
+ ?getStaticMetaObject@QIODevice@@SAABUQMetaObject@@XZ @ 2677 NONAME ; struct QMetaObject const & QIODevice::getStaticMetaObject(void)
+ ?size@QRectF@@QBE?AVQSizeF@@XZ @ 2678 NONAME ; class QSizeF QRectF::size(void) const
+ ??8QBasicAtomicInt@@QBE_NH@Z @ 2679 NONAME ; bool QBasicAtomicInt::operator==(int) const
+ ?removeDefaultAnimation@QStateMachine@@QAEXPAVQAbstractAnimation@@@Z @ 2680 NONAME ; void QStateMachine::removeDefaultAnimation(class QAbstractAnimation *)
+ ?setUrl@QUrl@@QAEXABVQString@@W4ParsingMode@1@@Z @ 2681 NONAME ; void QUrl::setUrl(class QString const &, enum QUrl::ParsingMode)
+ ?qt_metacast@QSignalMapper@@UAEPAXPBD@Z @ 2682 NONAME ; void * QSignalMapper::qt_metacast(char const *)
+ ?isFlag@QMetaEnum@@QBE_NXZ @ 2683 NONAME ; bool QMetaEnum::isFlag(void) const
+ ?pos@QAbstractFileEngine@@UBE_JXZ @ 2684 NONAME ; long long QAbstractFileEngine::pos(void) const
+ ??1QFileSystemWatcher@@UAE@XZ @ 2685 NONAME ; QFileSystemWatcher::~QFileSystemWatcher(void)
+ ??0QVariant@@QAE@W4GlobalColor@Qt@@@Z @ 2686 NONAME ; QVariant::QVariant(enum Qt::GlobalColor)
+ ?arg@QString@@QBE?AV1@GHHABVQChar@@@Z @ 2687 NONAME ; class QString QString::arg(unsigned short, int, int, class QChar const &) const
+ ?getStaticMetaObject@QObject@@SAABUQMetaObject@@XZ @ 2688 NONAME ; struct QMetaObject const & QObject::getStaticMetaObject(void)
+ ?removePostedEvent@QCoreApplicationPrivate@@SAXPAVQEvent@@@Z @ 2689 NONAME ; void QCoreApplicationPrivate::removePostedEvent(class QEvent *)
+ ??_EQAbstractFileEngineIterator@@UAE@I@Z @ 2690 NONAME ; QAbstractFileEngineIterator::~QAbstractFileEngineIterator(unsigned int)
+ ??1QByteArrayMatcher@@QAE@XZ @ 2691 NONAME ; QByteArrayMatcher::~QByteArrayMatcher(void)
+ ?addYears@QDate@@QBE?AV1@H@Z @ 2692 NONAME ; class QDate QDate::addYears(int) const
+ ??1QSignalMapper@@UAE@XZ @ 2693 NONAME ; QSignalMapper::~QSignalMapper(void)
+ ?createIndex@QAbstractItemModelPrivate@@QBE?AVQModelIndex@@HHPAX@Z @ 2694 NONAME ; class QModelIndex QAbstractItemModelPrivate::createIndex(int, int, void *) const
+ ??_5QRect@@QAEAAV0@ABV0@@Z @ 2695 NONAME ; class QRect & QRect::operator|=(class QRect const &)
+ ?link@QAbstractFileEngine@@UAE_NABVQString@@@Z @ 2696 NONAME ; bool QAbstractFileEngine::link(class QString const &)
+ ?isEmpty@QObjectCleanupHandler@@QBE_NXZ @ 2697 NONAME ; bool QObjectCleanupHandler::isEmpty(void) const
+ ??0QTextBoundaryFinder@@QAE@ABV0@@Z @ 2698 NONAME ; QTextBoundaryFinder::QTextBoundaryFinder(class QTextBoundaryFinder const &)
+ ??6QDebug@@QAEAAV0@P6AAAVQTextStream@@AAV1@@Z@Z @ 2699 NONAME ; class QDebug & QDebug::operator<<(class QTextStream & (*)(class QTextStream &))
+ ?setString@QTextStream@@QAEXPAVQString@@V?$QFlags@W4OpenModeFlag@QIODevice@@@@@Z @ 2700 NONAME ; void QTextStream::setString(class QString *, class QFlags<enum QIODevice::OpenModeFlag>)
+ ?shared_null@QLinkedListData@@2U1@A @ 2701 NONAME ; struct QLinkedListData QLinkedListData::shared_null
+ ?showbase@@YAAAVQTextStream@@AAV1@@Z @ 2702 NONAME ; class QTextStream & showbase(class QTextStream &)
+ ?entryList@QDir@@QBE?AVQStringList@@V?$QFlags@W4Filter@QDir@@@@V?$QFlags@W4SortFlag@QDir@@@@@Z @ 2703 NONAME ; class QStringList QDir::entryList(class QFlags<enum QDir::Filter>, class QFlags<enum QDir::SortFlag>) const
+ ?isWritable@QSettings@@QBE_NXZ @ 2704 NONAME ; bool QSettings::isWritable(void) const
+ ?lowercasedigits@@YAAAVQTextStream@@AAV1@@Z @ 2705 NONAME ; class QTextStream & lowercasedigits(class QTextStream &)
+ ?qt_metacast@QObjectCleanupHandler@@UAEPAXPBD@Z @ 2706 NONAME ; void * QObjectCleanupHandler::qt_metacast(char const *)
+ ?tr@QFileSystemWatcher@@SA?AVQString@@PBD0H@Z @ 2707 NONAME ; class QString QFileSystemWatcher::tr(char const *, char const *, int)
+ ??1QString@@QAE@XZ @ 2708 NONAME ; QString::~QString(void)
+ ?qt_metacast@QPauseAnimation@@UAEPAXPBD@Z @ 2709 NONAME ; void * QPauseAnimation::qt_metacast(char const *)
+ ?tr@QLibrary@@SA?AVQString@@PBD0@Z @ 2710 NONAME ; class QString QLibrary::tr(char const *, char const *)
+ ?at@QListData@@QBEPAPAXH@Z @ 2711 NONAME ; void * * QListData::at(int) const
+ ?begin@QString@@QBEPBVQChar@@XZ @ 2712 NONAME ; class QChar const * QString::begin(void) const
+ ?tr@QStateMachine@@SA?AVQString@@PBD0H@Z @ 2713 NONAME ; class QString QStateMachine::tr(char const *, char const *, int)
+ ??_EQStateMachine@@UAE@I@Z @ 2714 NONAME ; QStateMachine::~QStateMachine(unsigned int)
+ ??UQRectF@@QBE?AV0@ABV0@@Z @ 2715 NONAME ; class QRectF QRectF::operator|(class QRectF const &) const
+ ?isAccepted@QEvent@@QBE_NXZ @ 2716 NONAME ; bool QEvent::isAccepted(void) const
+ ??6@YAAAVQDataStream@@AAV0@W4Type@QVariant@@@Z @ 2717 NONAME ; class QDataStream & operator<<(class QDataStream &, enum QVariant::Type)
+ ??5@YAAAVQDataStream@@AAV0@AAUQUuid@@@Z @ 2718 NONAME ; class QDataStream & operator>>(class QDataStream &, struct QUuid &)
+ ?setHeight@QSize@@QAEXH@Z @ 2719 NONAME ; void QSize::setHeight(int)
+ ?enumerator@QMetaObject@@QBE?AVQMetaEnum@@H@Z @ 2720 NONAME ; class QMetaEnum QMetaObject::enumerator(int) const
+ ?write@QAbstractFileEngine@@UAE_JPBD_J@Z @ 2721 NONAME ; long long QAbstractFileEngine::write(char const *, long long)
+ ?exec@QThread@@IAEHXZ @ 2722 NONAME ; int QThread::exec(void)
+ ?normalizedSignature@QMetaObject@@SA?AVQByteArray@@PBD@Z @ 2723 NONAME ; class QByteArray QMetaObject::normalizedSignature(char const *)
+ ?attach@QSharedMemory@@QAE_NW4AccessMode@1@@Z @ 2724 NONAME ; bool QSharedMemory::attach(enum QSharedMemory::AccessMode)
+ ?tr@QFactoryLoader@@SA?AVQString@@PBD0H@Z @ 2725 NONAME ; class QString QFactoryLoader::tr(char const *, char const *, int)
+ ?addQueryItem@QUrl@@QAEXABVQString@@0@Z @ 2726 NONAME ; void QUrl::addQueryItem(class QString const &, class QString const &)
+ ?isStartDocument@QXmlStreamReader@@QBE_NXZ @ 2727 NONAME ; bool QXmlStreamReader::isStartDocument(void) const
+ ?start@QTimer@@QAEXXZ @ 2728 NONAME ; void QTimer::start(void)
+ ?tr@QAbstractListModel@@SA?AVQString@@PBD0@Z @ 2729 NONAME ; class QString QAbstractListModel::tr(char const *, char const *)
+ ?trUtf8@QNonContiguousByteDevice@@SA?AVQString@@PBD0@Z @ 2730 NONAME ; class QString QNonContiguousByteDevice::trUtf8(char const *, char const *)
+ ?trUtf8@QTimer@@SA?AVQString@@PBD0@Z @ 2731 NONAME ; class QString QTimer::trUtf8(char const *, char const *)
+ ??8QLine@@QBE_NABV0@@Z @ 2732 NONAME ; bool QLine::operator==(class QLine const &) const
+ ?bytesAvailable@QProcess@@UBE_JXZ @ 2733 NONAME ; long long QProcess::bytesAvailable(void) const
+ ?longDayName@QDate@@SA?AVQString@@HW4MonthNameType@1@@Z @ 2734 NONAME ; class QString QDate::longDayName(int, enum QDate::MonthNameType)
+ ?trUtf8@QAbstractItemModel@@SA?AVQString@@PBD0H@Z @ 2735 NONAME ; class QString QAbstractItemModel::trUtf8(char const *, char const *, int)
+ ??0QMetaMethod@@QAE@XZ @ 2736 NONAME ; QMetaMethod::QMetaMethod(void)
+ ?targetState@QAbstractTransition@@QBEPAVQAbstractState@@XZ @ 2737 NONAME ; class QAbstractState * QAbstractTransition::targetState(void) const
+ ?setNamespaceProcessing@QXmlStreamReader@@QAEX_N@Z @ 2738 NONAME ; void QXmlStreamReader::setNamespaceProcessing(bool)
+ ?save@QMetaType@@SA_NAAVQDataStream@@HPBX@Z @ 2739 NONAME ; bool QMetaType::save(class QDataStream &, int, void const *)
+ ??_EQEventLoop@@UAE@I@Z @ 2740 NONAME ; QEventLoop::~QEventLoop(unsigned int)
+ ?metaObject@QThreadPool@@UBEPBUQMetaObject@@XZ @ 2741 NONAME ; struct QMetaObject const * QThreadPool::metaObject(void) const
+ ?qErrnoWarning@@YAXHPBDZZ @ 2742 NONAME ; void qErrnoWarning(int, char const *, ...)
+ ?rmpath@QDir@@QBE_NABVQString@@@Z @ 2743 NONAME ; bool QDir::rmpath(class QString const &) const
+ ?trUtf8@QFinalState@@SA?AVQString@@PBD0H@Z @ 2744 NONAME ; class QString QFinalState::trUtf8(char const *, char const *, int)
+ ?defaultRoleNames@QAbstractItemModelPrivate@@SAABV?$QHash@HVQByteArray@@@@XZ @ 2745 NONAME ; class QHash<int, class QByteArray> const & QAbstractItemModelPrivate::defaultRoleNames(void)
+ ?setEncodedFragment@QUrl@@QAEXABVQByteArray@@@Z @ 2746 NONAME ; void QUrl::setEncodedFragment(class QByteArray const &)
+ ?moveTopLeft@QRectF@@QAEXABVQPointF@@@Z @ 2747 NONAME ; void QRectF::moveTopLeft(class QPointF const &)
+ ?seek@QFile@@UAE_N_J@Z @ 2748 NONAME ; bool QFile::seek(long long)
+ ??9QDate@@QBE_NABV0@@Z @ 2749 NONAME ; bool QDate::operator!=(class QDate const &) const
+ ?documentEncoding@QXmlStreamReader@@QBE?AVQStringRef@@XZ @ 2750 NONAME ; class QStringRef QXmlStreamReader::documentEncoding(void) const
+ ?errorString@QRegExp@@QAE?AVQString@@XZ @ 2751 NONAME ; class QString QRegExp::errorString(void)
+ ?isWritable@QMetaProperty@@QBE_NXZ @ 2752 NONAME ; bool QMetaProperty::isWritable(void) const
+ ?start@QAbstractAnimation@@QAEXW4DeletionPolicy@1@@Z @ 2753 NONAME ; void QAbstractAnimation::start(enum QAbstractAnimation::DeletionPolicy)
+ ?exited@QAbstractState@@AAEXXZ @ 2754 NONAME ; void QAbstractState::exited(void)
+ ?addTransition@QState@@QAEPAVQSignalTransition@@PAVQObject@@PBDPAVQAbstractState@@@Z @ 2755 NONAME ; class QSignalTransition * QState::addTransition(class QObject *, char const *, class QAbstractState *)
+ ?setTopLeft@QRectF@@QAEXABVQPointF@@@Z @ 2756 NONAME ; void QRectF::setTopLeft(class QPointF const &)
+ ?RequestComplete@QEventDispatcherSymbian@@SAXAAPAVTRequestStatus@@H@Z @ 2757 NONAME ; void QEventDispatcherSymbian::RequestComplete(class TRequestStatus * &, int)
+ ?setChildMode@QState@@QAEXW4ChildMode@1@@Z @ 2758 NONAME ; void QState::setChildMode(enum QState::ChildMode)
+ ?toLower@QCharRef@@QBE?AVQChar@@XZ @ 2759 NONAME ; class QChar QCharRef::toLower(void) const
+ ?setData@QMimeData@@QAEXABVQString@@ABVQByteArray@@@Z @ 2760 NONAME ; void QMimeData::setData(class QString const &, class QByteArray const &)
+ ?classInfo@QMetaObject@@QBE?AVQMetaClassInfo@@H@Z @ 2761 NONAME ; class QMetaClassInfo QMetaObject::classInfo(int) const
+ ?setData@QBuffer@@QAEXABVQByteArray@@@Z @ 2762 NONAME ; void QBuffer::setData(class QByteArray const &)
+ ?isValid@QTime@@SA_NHHHH@Z @ 2763 NONAME ; bool QTime::isValid(int, int, int, int)
+ ?writeTextElement@QXmlStreamWriter@@QAEXABVQString@@0@Z @ 2764 NONAME ; void QXmlStreamWriter::writeTextElement(class QString const &, class QString const &)
+ ??1QMutexLocker@@QAE@XZ @ 2765 NONAME ; QMutexLocker::~QMutexLocker(void)
+ ??MQUuid@@QBE_NABU0@@Z @ 2766 NONAME ; bool QUuid::operator<(struct QUuid const &) const
+ ?codecForLocale@QTextCodec@@SAPAV1@XZ @ 2767 NONAME ; class QTextCodec * QTextCodec::codecForLocale(void)
+ ?event@QAnimationGroup@@MAE_NPAVQEvent@@@Z @ 2768 NONAME ; bool QAnimationGroup::event(class QEvent *)
+ ?isEmpty@QString@@QBE_NXZ @ 2769 NONAME ; bool QString::isEmpty(void) const
+ ??YQByteArray@@QAEAAV0@ABV0@@Z @ 2770 NONAME ; class QByteArray & QByteArray::operator+=(class QByteArray const &)
+ ?metaObject@QSettings@@UBEPBUQMetaObject@@XZ @ 2771 NONAME ; struct QMetaObject const * QSettings::metaObject(void) const
+ ?qcoreVariantHandler@@YAPBUHandler@QVariant@@XZ @ 2772 NONAME ; struct QVariant::Handler const * qcoreVariantHandler(void)
+ ?setCodecForTr@QTextCodec@@SAXPAV1@@Z @ 2773 NONAME ; void QTextCodec::setCodecForTr(class QTextCodec *)
+ ?setLocale@QTextStream@@QAEXABVQLocale@@@Z @ 2774 NONAME ; void QTextStream::setLocale(class QLocale const &)
+ ?event@QSignalTransition@@MAE_NPAVQEvent@@@Z @ 2775 NONAME ; bool QSignalTransition::event(class QEvent *)
+ ?willGrow@QHashData@@QAE_NXZ @ 2776 NONAME ; bool QHashData::willGrow(void)
+ ??6@YA?AVQDebug@@V0@ABVQUrl@@@Z @ 2777 NONAME ; class QDebug operator<<(class QDebug, class QUrl const &)
+ ?status@QTextStream@@QBE?AW4Status@1@XZ @ 2778 NONAME ; enum QTextStream::Status QTextStream::status(void) const
+ ?d_func@QAbstractItemModel@@ABEPBVQAbstractItemModelPrivate@@XZ @ 2779 NONAME ; class QAbstractItemModelPrivate const * QAbstractItemModel::d_func(void) const
+ ??6@YA?AVQDebug@@V0@ABVQDateTime@@@Z @ 2780 NONAME ; class QDebug operator<<(class QDebug, class QDateTime const &)
+ ?activate@QMetaObject@@SAXPAVQObject@@PBU1@HHPAPAX@Z @ 2781 NONAME ; void QMetaObject::activate(class QObject *, struct QMetaObject const *, int, int, void * *)
+ ?toBool@QVariant@@QBE_NXZ @ 2782 NONAME ; bool QVariant::toBool(void) const
+ ?isTitleCase@QChar@@QBE_NXZ @ 2783 NONAME ; bool QChar::isTitleCase(void) const
+ ??MQDateTime@@QBE_NABV0@@Z @ 2784 NONAME ; bool QDateTime::operator<(class QDateTime const &) const
+ ?currentPath@QDir@@SA?AVQString@@XZ @ 2785 NONAME ; class QString QDir::currentPath(void)
+ ?getRect@QRect@@QBEXPAH000@Z @ 2786 NONAME ; void QRect::getRect(int *, int *, int *, int *) const
+ ?setEncodedPassword@QUrl@@QAEXABVQByteArray@@@Z @ 2787 NONAME ; void QUrl::setEncodedPassword(class QByteArray const &)
+ ?currentThread@QThread@@SAPAV1@XZ @ 2788 NONAME ; class QThread * QThread::currentThread(void)
+ ??0QFile@@QAE@XZ @ 2789 NONAME ; QFile::QFile(void)
+ ?keys@QTextCodecPlugin@@EBE?AVQStringList@@XZ @ 2790 NONAME ; class QStringList QTextCodecPlugin::keys(void) const
+ ?toInt@QVariant@@QBEHPA_N@Z @ 2791 NONAME ; int QVariant::toInt(bool *) const
+ ?rename@QFile@@SA_NABVQString@@0@Z @ 2792 NONAME ; bool QFile::rename(class QString const &, class QString const &)
+ ?size@QFileInfo@@QBE_JXZ @ 2793 NONAME ; long long QFileInfo::size(void) const
+ ??6@YA?AVQDebug@@V0@ABVQRectF@@@Z @ 2794 NONAME ; class QDebug operator<<(class QDebug, class QRectF const &)
+ ?updateState@QPropertyAnimation@@MAEXW4State@QAbstractAnimation@@0@Z @ 2795 NONAME ; void QPropertyAnimation::updateState(enum QAbstractAnimation::State, enum QAbstractAnimation::State)
+ ?writeProcessingInstruction@QXmlStreamWriter@@QAEXABVQString@@0@Z @ 2796 NONAME ; void QXmlStreamWriter::writeProcessingInstruction(class QString const &, class QString const &)
+ ?isEmpty@QProcessEnvironment@@QBE_NXZ @ 2797 NONAME ; bool QProcessEnvironment::isEmpty(void) const
+ ?qHash@@YAIABVQBitArray@@@Z @ 2798 NONAME ; unsigned int qHash(class QBitArray const &)
+ ??0QBuffer@@QAE@PAVQObject@@@Z @ 2799 NONAME ; QBuffer::QBuffer(class QObject *)
+ ?qt_QString2HBufC@@YAPAVHBufC16@@ABVQString@@@Z @ 2800 NONAME ; class HBufC16 * qt_QString2HBufC(class QString const &)
+ ?isLowSurrogate@QChar@@QBE_NXZ @ 2801 NONAME ; bool QChar::isLowSurrogate(void) const
+ ??_EQLibrary@@UAE@I@Z @ 2802 NONAME ; QLibrary::~QLibrary(unsigned int)
+ ?addDays@QDateTime@@QBE?AV1@H@Z @ 2803 NONAME ; class QDateTime QDateTime::addDays(int) const
+ ??1QMimeData@@UAE@XZ @ 2804 NONAME ; QMimeData::~QMimeData(void)
+ ??0QPropertyAnimation@@QAE@PAVQObject@@ABVQByteArray@@0@Z @ 2805 NONAME ; QPropertyAnimation::QPropertyAnimation(class QObject *, class QByteArray const &, class QObject *)
+ ??1QEasingCurve@@QAE@XZ @ 2806 NONAME ; QEasingCurve::~QEasingCurve(void)
+ ?number@QByteArray@@SA?AV1@_KH@Z @ 2807 NONAME ; class QByteArray QByteArray::number(unsigned long long, int)
+ ?replace@QByteArray@@QAEAAV1@DABV1@@Z @ 2808 NONAME ; class QByteArray & QByteArray::replace(char, class QByteArray const &)
+ ?decodeName@QFile@@SA?AVQString@@PBD@Z @ 2809 NONAME ; class QString QFile::decodeName(char const *)
+ ?trUtf8@QVariantAnimation@@SA?AVQString@@PBD0H@Z @ 2810 NONAME ; class QString QVariantAnimation::trUtf8(char const *, char const *, int)
+ ?absoluteFilePath@QFileInfo@@QBE?AVQString@@XZ @ 2811 NONAME ; class QString QFileInfo::absoluteFilePath(void) const
+ ?contains@QString@@QBE?AVQBool@@ABV1@W4CaseSensitivity@Qt@@@Z @ 2812 NONAME ; class QBool QString::contains(class QString const &, enum Qt::CaseSensitivity) const
+ ?mkdir@QDir@@QBE_NABVQString@@@Z @ 2813 NONAME ; bool QDir::mkdir(class QString const &) const
+ ?id@QMetaCallEvent@@QBEHXZ @ 2814 NONAME ; int QMetaCallEvent::id(void) const
+ ?setIniCodec@QSettings@@QAEXPBD@Z @ 2815 NONAME ; void QSettings::setIniCodec(char const *)
+ ?push_back@QByteArray@@QAEXABV1@@Z @ 2816 NONAME ; void QByteArray::push_back(class QByteArray const &)
+ ??0QLine@@QAE@ABVQPoint@@0@Z @ 2817 NONAME ; QLine::QLine(class QPoint const &, class QPoint const &)
+ ?isNull@QDate@@QBE_NXZ @ 2818 NONAME ; bool QDate::isNull(void) const
+ ?setCaching@QFileInfo@@QAEX_N@Z @ 2819 NONAME ; void QFileInfo::setCaching(bool)
+ ?changeGuard@QMetaObject@@SAXPAPAVQObject@@PAV2@@Z @ 2820 NONAME ; void QMetaObject::changeGuard(class QObject * *, class QObject *)
+ ?tr@QFileSystemWatcher@@SA?AVQString@@PBD0@Z @ 2821 NONAME ; class QString QFileSystemWatcher::tr(char const *, char const *)
+ ?trUtf8@QAbstractItemModel@@SA?AVQString@@PBD0@Z @ 2822 NONAME ; class QString QAbstractItemModel::trUtf8(char const *, char const *)
+ ?parent@QObject@@QBEPAV1@XZ @ 2823 NONAME ; class QObject * QObject::parent(void) const
+ ?absoluteMin@QDateTimeParser@@QBEHH@Z @ 2824 NONAME ; int QDateTimeParser::absoluteMin(int) const
+ ??6QDebug@@QAEAAV0@ABVQByteArray@@@Z @ 2825 NONAME ; class QDebug & QDebug::operator<<(class QByteArray const &)
+ ??0QFileInfo@@QAE@ABVQDir@@ABVQString@@@Z @ 2826 NONAME ; QFileInfo::QFileInfo(class QDir const &, class QString const &)
+ ??8QString@@QBE_NABVQByteArray@@@Z @ 2827 NONAME ; bool QString::operator==(class QByteArray const &) const
+ ??1QPropertyAnimation@@UAE@XZ @ 2828 NONAME ; QPropertyAnimation::~QPropertyAnimation(void)
+ ?unload@QLibrary@@QAE_NXZ @ 2829 NONAME ; bool QLibrary::unload(void)
+ ??1QTranslator@@UAE@XZ @ 2830 NONAME ; QTranslator::~QTranslator(void)
+ ?error@QSharedMemory@@QBE?AW4SharedMemoryError@1@XZ @ 2831 NONAME ; enum QSharedMemory::SharedMemoryError QSharedMemory::error(void) const
+ ?d_func@QCoreApplication@@AAEPAVQCoreApplicationPrivate@@XZ @ 2832 NONAME ; class QCoreApplicationPrivate * QCoreApplication::d_func(void)
+ ?height@QSizeF@@QBEMXZ @ 2833 NONAME ; float QSizeF::height(void) const
+ ?QStringList_filter@QtPrivate@@YA?AVQStringList@@PBV2@ABVQRegExp@@@Z @ 2834 NONAME ; class QStringList QtPrivate::QStringList_filter(class QStringList const *, class QRegExp const &)
+ ??MQByteArray@@QBE_NABVQString@@@Z @ 2835 NONAME ; bool QByteArray::operator<(class QString const &) const
+ ?stateName@QDateTimeParser@@QBE?AVQString@@H@Z @ 2836 NONAME ; class QString QDateTimeParser::stateName(int) const
+ ??1QAbstractTransitionPrivate@@UAE@XZ @ 2837 NONAME ; QAbstractTransitionPrivate::~QAbstractTransitionPrivate(void)
+ ?setPermissions@QFSFileEngine@@UAE_NI@Z @ 2838 NONAME ; bool QFSFileEngine::setPermissions(unsigned int)
+ ?rootPath@QFSFileEngine@@SA?AVQString@@XZ @ 2839 NONAME ; class QString QFSFileEngine::rootPath(void)
+ ?data@QMimeData@@QBE?AVQByteArray@@ABVQString@@@Z @ 2840 NONAME ; class QByteArray QMimeData::data(class QString const &) const
+ ??IQRectF@@QBE?AV0@ABV0@@Z @ 2841 NONAME ; class QRectF QRectF::operator&(class QRectF const &) const
+ ??4QString@@QAEAAV0@ABUNull@0@@Z @ 2842 NONAME ; class QString & QString::operator=(struct QString::Null const &)
+ ?atEnd@QXmlStreamReader@@QBE_NXZ @ 2843 NONAME ; bool QXmlStreamReader::atEnd(void) const
+ ?entityDeclarations@QXmlStreamReader@@QBE?AV?$QVector@VQXmlStreamEntityDeclaration@@@@XZ @ 2844 NONAME ; class QVector<class QXmlStreamEntityDeclaration> QXmlStreamReader::entityDeclarations(void) const
+ ?timerId@QTimerEvent@@QBEHXZ @ 2845 NONAME ; int QTimerEvent::timerId(void) const
+ ??1QStringRef@@QAE@XZ @ 2846 NONAME ; QStringRef::~QStringRef(void)
+ ?staticMetaObject@QSignalTransition@@2UQMetaObject@@B @ 2847 NONAME ; struct QMetaObject const QSignalTransition::staticMetaObject
+ ?putCharHelper@QIODevicePrivate@@UAE_ND@Z @ 2848 NONAME ; bool QIODevicePrivate::putCharHelper(char)
+ ?callFunction@QInternal@@SA_NW4InternalFunction@1@PAPAX@Z @ 2849 NONAME ; bool QInternal::callFunction(enum QInternal::InternalFunction, void * *)
+ ?eventFilter@QStateMachine@@UAE_NPAVQObject@@PAVQEvent@@@Z @ 2850 NONAME ; bool QStateMachine::eventFilter(class QObject *, class QEvent *)
+ ?className@QMetaObject@@QBEPBDXZ @ 2851 NONAME ; char const * QMetaObject::className(void) const
+ ?d_func@QTemporaryFile@@ABEPBVQTemporaryFilePrivate@@XZ @ 2852 NONAME ; class QTemporaryFilePrivate const * QTemporaryFile::d_func(void) const
+ ?end@QString@@QAEPAVQChar@@XZ @ 2853 NONAME ; class QChar * QString::end(void)
+ ??_0QPointF@@QAEAAV0@M@Z @ 2854 NONAME ; class QPointF & QPointF::operator/=(float)
+ ?cap@QRegExp@@QBE?AVQString@@H@Z @ 2855 NONAME ; class QString QRegExp::cap(int) const
+ ?getStaticMetaObject@QCoreApplication@@SAABUQMetaObject@@XZ @ 2856 NONAME ; struct QMetaObject const & QCoreApplication::getStaticMetaObject(void)
+ ?resize@QString@@QAEXH@Z @ 2857 NONAME ; void QString::resize(int)
+ ?d_func@QTimeLine@@AAEPAVQTimeLinePrivate@@XZ @ 2858 NONAME ; class QTimeLinePrivate * QTimeLine::d_func(void)
+ ?qInf@@YANXZ @ 2859 NONAME ; double qInf(void)
+ ?registerResource@QResource@@SA_NABVQString@@0@Z @ 2860 NONAME ; bool QResource::registerResource(class QString const &, class QString const &)
+ ?prepend@QString@@QAEAAV1@ABVQByteArray@@@Z @ 2861 NONAME ; class QString & QString::prepend(class QByteArray const &)
+ ?removeGuard@QMetaObject@@SAXPAPAVQObject@@@Z @ 2862 NONAME ; void QMetaObject::removeGuard(class QObject * *)
+ ??5QTextStream@@QAEAAV0@AAJ@Z @ 2863 NONAME ; class QTextStream & QTextStream::operator>>(long &)
+ ??_EQEventTransition@@UAE@I@Z @ 2864 NONAME ; QEventTransition::~QEventTransition(unsigned int)
+ ??AQBitArray@@QBE_NI@Z @ 2865 NONAME ; bool QBitArray::operator[](unsigned int) const
+ ?setProcessEnvironment@QProcess@@QAEXABVQProcessEnvironment@@@Z @ 2866 NONAME ; void QProcess::setProcessEnvironment(class QProcessEnvironment const &)
+ ?q_func@QCoreApplicationPrivate@@ABEPBVQCoreApplication@@XZ @ 2867 NONAME ; class QCoreApplication const * QCoreApplicationPrivate::q_func(void) const
+ ?setP2@QLine@@QAEXABVQPoint@@@Z @ 2868 NONAME ; void QLine::setP2(class QPoint const &)
+ ?push_back@QString@@QAEXABV1@@Z @ 2869 NONAME ; void QString::push_back(class QString const &)
+ ?isPublicID@QXmlUtils@@SA_NABVQString@@@Z @ 2870 NONAME ; bool QXmlUtils::isPublicID(class QString const &)
+ ?rowsInserted@QAbstractItemModelPrivate@@QAEXABVQModelIndex@@HH@Z @ 2871 NONAME ; void QAbstractItemModelPrivate::rowsInserted(class QModelIndex const &, int, int)
+ ??4QVariant@@QAEAAV0@ABV0@@Z @ 2872 NONAME ; class QVariant & QVariant::operator=(class QVariant const &)
+ ?setFieldAlignment@QTextStream@@QAEXW4FieldAlignment@1@@Z @ 2873 NONAME ; void QTextStream::setFieldAlignment(enum QTextStream::FieldAlignment)
+ ?fromStdWString@QString@@SA?AV1@ABV?$basic_string@_WV?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@Z @ 2874 NONAME ; class QString QString::fromStdWString(class std::basic_string<wchar_t, class std::char_traits<wchar_t>, class std::allocator<wchar_t> > const &)
+ ??_EQObjectCleanupHandler@@UAE@I@Z @ 2875 NONAME ; QObjectCleanupHandler::~QObjectCleanupHandler(unsigned int)
+ ?errorString@QXmlStreamReader@@QBE?AVQString@@XZ @ 2876 NONAME ; class QString QXmlStreamReader::errorString(void) const
+ ?tr@QObject@@SA?AVQString@@PBD0@Z @ 2877 NONAME ; class QString QObject::tr(char const *, char const *)
+ ??0QChar@@QAE@D@Z @ 2878 NONAME ; QChar::QChar(char)
+ ??AQBitArray@@QAE?AVQBitRef@@I@Z @ 2879 NONAME ; class QBitRef QBitArray::operator[](unsigned int)
+ ?moveRight@QRectF@@QAEXM@Z @ 2880 NONAME ; void QRectF::moveRight(float)
+ ?d_func@QThreadPool@@ABEPBVQThreadPoolPrivate@@XZ @ 2881 NONAME ; class QThreadPoolPrivate const * QThreadPool::d_func(void) const
+ ?metaObject@QProcess@@UBEPBUQMetaObject@@XZ @ 2882 NONAME ; struct QMetaObject const * QProcess::metaObject(void) const
+ ?trUtf8@QSharedMemory@@SA?AVQString@@PBD0H@Z @ 2883 NONAME ; class QString QSharedMemory::trUtf8(char const *, char const *, int)
+ ??0QXmlStreamReader@@QAE@XZ @ 2884 NONAME ; QXmlStreamReader::QXmlStreamReader(void)
+ ?qualifiedName@QXmlStreamAttribute@@QBE?AVQStringRef@@XZ @ 2885 NONAME ; class QStringRef QXmlStreamAttribute::qualifiedName(void) const
+ ?constData@QString@@QBEPBVQChar@@XZ @ 2886 NONAME ; class QChar const * QString::constData(void) const
+ ?startsWith@QString@@QBE_NABV1@W4CaseSensitivity@Qt@@@Z @ 2887 NONAME ; bool QString::startsWith(class QString const &, enum Qt::CaseSensitivity) const
+ ?staticMetaObject@QFileSystemWatcher@@2UQMetaObject@@B @ 2888 NONAME ; struct QMetaObject const QFileSystemWatcher::staticMetaObject
+ ?propertyIndex@QMetaProperty@@QBEHXZ @ 2889 NONAME ; int QMetaProperty::propertyIndex(void) const
+ ?split@QByteArray@@QBE?AV?$QList@VQByteArray@@@@D@Z @ 2890 NONAME ; class QList<class QByteArray> QByteArray::split(char) const
+ ?start@QTimer@@QAEXH@Z @ 2891 NONAME ; void QTimer::start(int)
+ ?aboutToBlock@QAbstractEventDispatcher@@IAEXXZ @ 2892 NONAME ; void QAbstractEventDispatcher::aboutToBlock(void)
+ ?position@QTextBoundaryFinder@@QBEHXZ @ 2893 NONAME ; int QTextBoundaryFinder::position(void) const
+ ?qt_safe_select@@YAHHPAUfd_set@@00PBUtimeval@@@Z @ 2894 NONAME ; int qt_safe_select(int, struct fd_set *, struct fd_set *, struct fd_set *, struct timeval const *)
+ ??4QDir@@QAEAAV0@ABV0@@Z @ 2895 NONAME ; class QDir & QDir::operator=(class QDir const &)
+ ?isLoaded@QLibrary@@QBE_NXZ @ 2896 NONAME ; bool QLibrary::isLoaded(void) const
+ ?dropMimeData@QAbstractItemModel@@UAE_NPBVQMimeData@@W4DropAction@Qt@@HHABVQModelIndex@@@Z @ 2897 NONAME ; bool QAbstractItemModel::dropMimeData(class QMimeData const *, enum Qt::DropAction, int, int, class QModelIndex const &)
+ ?isBaseChar@QXmlUtils@@CA_NVQChar@@@Z @ 2898 NONAME ; bool QXmlUtils::isBaseChar(class QChar)
+ ??BQBasicAtomicInt@@QBEHXZ @ 2899 NONAME ; QBasicAtomicInt::operator int(void) const
+ ?variant@QUuid@@QBE?AW4Variant@1@XZ @ 2900 NONAME ; enum QUuid::Variant QUuid::variant(void) const
+ ?toPoint@QPointF@@QBE?AVQPoint@@XZ @ 2901 NONAME ; class QPoint QPointF::toPoint(void) const
+ ?execute@QProcess@@SAHABVQString@@@Z @ 2902 NONAME ; int QProcess::execute(class QString const &)
+ ?qt_TDesC2QString@@YA?AVQString@@ABVTDesC16@@@Z @ 2903 NONAME ; class QString qt_TDesC2QString(class TDesC16 const &)
+ ??1QCoreApplicationPrivate@@UAE@XZ @ 2904 NONAME ; QCoreApplicationPrivate::~QCoreApplicationPrivate(void)
+ ?matchedLength@QRegExp@@QBEHXZ @ 2905 NONAME ; int QRegExp::matchedLength(void) const
+ ?setThreadData_helper@QObjectPrivate@@QAEXPAVQThreadData@@0@Z @ 2906 NONAME ; void QObjectPrivate::setThreadData_helper(class QThreadData *, class QThreadData *)
+ ?priority@QThread@@QBE?AW4Priority@1@XZ @ 2907 NONAME ; enum QThread::Priority QThread::priority(void) const
+ ?removePath@QFileSystemWatcher@@QAEXABVQString@@@Z @ 2908 NONAME ; void QFileSystemWatcher::removePath(class QString const &)
+ ?isValid@QSize@@QBE_NXZ @ 2909 NONAME ; bool QSize::isValid(void) const
+ ?setApplicationName@QCoreApplication@@SAXABVQString@@@Z @ 2910 NONAME ; void QCoreApplication::setApplicationName(class QString const &)
+ ?isRoot@QFileInfo@@QBE_NXZ @ 2911 NONAME ; bool QFileInfo::isRoot(void) const
+ ?stringToDouble@QLocalePrivate@@QBENABVQString@@PA_NW4GroupSeparatorMode@1@@Z @ 2912 NONAME ; double QLocalePrivate::stringToDouble(class QString const &, bool *, enum QLocalePrivate::GroupSeparatorMode) const
+ ?fetchAndStoreAcquire@QBasicAtomicInt@@QAEHH@Z @ 2913 NONAME ; int QBasicAtomicInt::fetchAndStoreAcquire(int)
+ ??0QTextBoundaryFinder@@QAE@W4BoundaryType@0@ABVQString@@@Z @ 2914 NONAME ; QTextBoundaryFinder::QTextBoundaryFinder(enum QTextBoundaryFinder::BoundaryType, class QString const &)
+ ?fromPercentEncoding@QUrl@@SA?AVQString@@ABVQByteArray@@@Z @ 2915 NONAME ; class QString QUrl::fromPercentEncoding(class QByteArray const &)
+ ?vsprintf@QString@@QAEAAV1@PBDPAD@Z @ 2916 NONAME ; class QString & QString::vsprintf(char const *, char *)
+ ?d_func@QVariantAnimation@@ABEPBVQVariantAnimationPrivate@@XZ @ 2917 NONAME ; class QVariantAnimationPrivate const * QVariantAnimation::d_func(void) const
+ ?daysInYear@QDate@@QBEHXZ @ 2918 NONAME ; int QDate::daysInYear(void) const
+ ??0QXmlStreamNotationDeclaration@@QAE@ABV0@@Z @ 2919 NONAME ; QXmlStreamNotationDeclaration::QXmlStreamNotationDeclaration(class QXmlStreamNotationDeclaration const &)
+ ?getAmPmText@QDateTimeParser@@UBE?AVQString@@W4AmPm@1@W4Case@1@@Z @ 2920 NONAME ; class QString QDateTimeParser::getAmPmText(enum QDateTimeParser::AmPm, enum QDateTimeParser::Case) const
+ ??4QAtomicInt@@QAEAAV0@ABV0@@Z @ 2921 NONAME ; class QAtomicInt & QAtomicInt::operator=(class QAtomicInt const &)
+ ?isParentOf@QUrl@@QBE_NABV1@@Z @ 2922 NONAME ; bool QUrl::isParentOf(class QUrl const &) const
+ ?isNull@QBitArray@@QBE_NXZ @ 2923 NONAME ; bool QBitArray::isNull(void) const
+ ?getStaticMetaObject@QEasingCurve@@SAABUQMetaObject@@XZ @ 2924 NONAME ; struct QMetaObject const & QEasingCurve::getStaticMetaObject(void)
+ ?normalized@QRectF@@QBE?AV1@XZ @ 2925 NONAME ; class QRectF QRectF::normalized(void) const
+ ?removeColumns@QAbstractItemModel@@UAE_NHHABVQModelIndex@@@Z @ 2926 NONAME ; bool QAbstractItemModel::removeColumns(int, int, class QModelIndex const &)
+ ?addYears@QDateTime@@QBE?AV1@H@Z @ 2927 NONAME ; class QDateTime QDateTime::addYears(int) const
+ ?setWidth@QSize@@QAEXH@Z @ 2928 NONAME ; void QSize::setWidth(int)
+ ?started@QProcess@@IAEXXZ @ 2929 NONAME ; void QProcess::started(void)
+ ?toString@QLocale@@QBE?AVQString@@_K@Z @ 2930 NONAME ; class QString QLocale::toString(unsigned long long) const
+ ?prepend@QByteArray@@QAEAAV1@ABV1@@Z @ 2931 NONAME ; class QByteArray & QByteArray::prepend(class QByteArray const &)
+ ??XQSizeF@@QAEAAV0@M@Z @ 2932 NONAME ; class QSizeF & QSizeF::operator*=(float)
+ ??0QString@@QAE@ABVQLatin1String@@@Z @ 2933 NONAME ; QString::QString(class QLatin1String const &)
+ ?qt_metacall@QFactoryLoader@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 2934 NONAME ; int QFactoryLoader::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?registerEventTransition@QStateMachinePrivate@@QAEXPAVQEventTransition@@@Z @ 2935 NONAME ; void QStateMachinePrivate::registerEventTransition(class QEventTransition *)
+ ??OQByteRef@@QBE_ND@Z @ 2936 NONAME ; bool QByteRef::operator>(char) const
+ ?unregisterAllTransitions@QStateMachinePrivate@@QAEXXZ @ 2937 NONAME ; void QStateMachinePrivate::unregisterAllTransitions(void)
+ ?added@QChildEvent@@QBE_NXZ @ 2938 NONAME ; bool QChildEvent::added(void) const
+ ?processEvents@QEventLoop@@QAEXV?$QFlags@W4ProcessEventsFlag@QEventLoop@@@@H@Z @ 2939 NONAME ; void QEventLoop::processEvents(class QFlags<enum QEventLoop::ProcessEventsFlag>, int)
+ ?setNum@QString@@QAEAAV1@FH@Z @ 2940 NONAME ; class QString & QString::setNum(short, int)
+ ??DQHBufC@@QAEAAVHBufC16@@XZ @ 2941 NONAME ; class HBufC16 & QHBufC::operator*(void)
+ ?queryValueDelimiter@QUrl@@QBEDXZ @ 2942 NONAME ; char QUrl::queryValueDelimiter(void) const
+ ?rx@QPointF@@QAEAAMXZ @ 2943 NONAME ; float & QPointF::rx(void)
+ ?getStaticMetaObject@QThread@@SAABUQMetaObject@@XZ @ 2944 NONAME ; struct QMetaObject const & QThread::getStaticMetaObject(void)
+ ??4QXmlStreamAttribute@@QAEAAV0@ABV0@@Z @ 2945 NONAME ; class QXmlStreamAttribute & QXmlStreamAttribute::operator=(class QXmlStreamAttribute const &)
+ ?currentLoop@QAbstractAnimation@@QBEHXZ @ 2946 NONAME ; int QAbstractAnimation::currentLoop(void) const
+ ?error@QFile@@QBE?AW4FileError@1@XZ @ 2947 NONAME ; enum QFile::FileError QFile::error(void) const
+ ?columnsRemoved@QAbstractItemModel@@AAEXABVQModelIndex@@HH@Z @ 2948 NONAME ; void QAbstractItemModel::columnsRemoved(class QModelIndex const &, int, int)
+ ?qt_metacall@QSignalMapper@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 2949 NONAME ; int QSignalMapper::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?event@QVariantAnimation@@MAE_NPAVQEvent@@@Z @ 2950 NONAME ; bool QVariantAnimation::event(class QEvent *)
+ ??0QStateMachine@@QAE@PAVQObject@@@Z @ 2951 NONAME ; QStateMachine::QStateMachine(class QObject *)
+ ?oct@@YAAAVQTextStream@@AAV1@@Z @ 2952 NONAME ; class QTextStream & oct(class QTextStream &)
+ ?removeEventFilter@QObject@@QAEXPAV1@@Z @ 2953 NONAME ; void QObject::removeEventFilter(class QObject *)
+ ?shared_null@QListData@@2UData@1@A @ 2954 NONAME ; struct QListData::Data QListData::shared_null
+ ?qt_locale_initialized@@3_NA @ 2955 NONAME ; bool qt_locale_initialized
+ ?instance@QUnifiedTimer@@SAPAV1@XZ @ 2956 NONAME ; class QUnifiedTimer * QUnifiedTimer::instance(void)
+ ?translate@QRectF@@QAEXABVQPointF@@@Z @ 2957 NONAME ; void QRectF::translate(class QPointF const &)
+ ?trUtf8@QFileSystemWatcher@@SA?AVQString@@PBD0H@Z @ 2958 NONAME ; class QString QFileSystemWatcher::trUtf8(char const *, char const *, int)
+ ?d_func@QTextStream@@ABEPBVQTextStreamPrivate@@XZ @ 2959 NONAME ; class QTextStreamPrivate const * QTextStream::d_func(void) const
+ ?deleteLater@QObject@@QAEXXZ @ 2960 NONAME ; void QObject::deleteLater(void)
+ ?writeAttribute@QXmlStreamWriter@@QAEXABVQString@@0@Z @ 2961 NONAME ; void QXmlStreamWriter::writeAttribute(class QString const &, class QString const &)
+ ?qWarning@@YAXPBDZZ @ 2962 NONAME ; void qWarning(char const *, ...)
+ ?toPoint@QVariant@@QBE?AVQPoint@@XZ @ 2963 NONAME ; class QPoint QVariant::toPoint(void) const
+ ??BQCharRef@@QBE?AVQChar@@XZ @ 2964 NONAME ; QCharRef::operator class QChar(void) const
+ ?relock@QReadLocker@@QAEXXZ @ 2965 NONAME ; void QReadLocker::relock(void)
+ ?data_ptr@QVariant@@QAEAAUPrivate@1@XZ @ 2966 NONAME ; struct QVariant::Private & QVariant::data_ptr(void)
+ ?day@QDate@@QBEHXZ @ 2967 NONAME ; int QDate::day(void) const
+ ?setEndFrame@QTimeLine@@QAEXH@Z @ 2968 NONAME ; void QTimeLine::setEndFrame(int)
+ ?toHex@QByteArray@@QBE?AV1@XZ @ 2969 NONAME ; class QByteArray QByteArray::toHex(void) const
+ ?getStaticMetaObject@QTimer@@SAABUQMetaObject@@XZ @ 2970 NONAME ; struct QMetaObject const & QTimer::getStaticMetaObject(void)
+ ?absoluteFilePath@QDir@@QBE?AVQString@@ABV2@@Z @ 2971 NONAME ; class QString QDir::absoluteFilePath(class QString const &) const
+ ?atEnd@QFile@@UBE_NXZ @ 2972 NONAME ; bool QFile::atEnd(void) const
+ ?beginEntryList@QFSFileEngine@@UAEPAVQAbstractFileEngineIterator@@V?$QFlags@W4Filter@QDir@@@@ABVQStringList@@@Z @ 2973 NONAME ; class QAbstractFileEngineIterator * QFSFileEngine::beginEntryList(class QFlags<enum QDir::Filter>, class QStringList const &)
+ ?count@QString@@QBEHABV1@W4CaseSensitivity@Qt@@@Z @ 2974 NONAME ; int QString::count(class QString const &, enum Qt::CaseSensitivity) const
+ ??_EQNonContiguousByteDevice@@UAE@I@Z @ 2975 NONAME ; QNonContiguousByteDevice::~QNonContiguousByteDevice(unsigned int)
+ ?trUtf8@QObjectCleanupHandler@@SA?AVQString@@PBD0H@Z @ 2976 NONAME ; class QString QObjectCleanupHandler::trUtf8(char const *, char const *, int)
+ ?canonicalPath@QFileInfo@@QBE?AVQString@@XZ @ 2977 NONAME ; class QString QFileInfo::canonicalPath(void) const
+ ?setSearchPaths@QDir@@SAXABVQString@@ABVQStringList@@@Z @ 2978 NONAME ; void QDir::setSearchPaths(class QString const &, class QStringList const &)
+ ?superClass@QMetaObject@@QBEPBU1@XZ @ 2979 NONAME ; struct QMetaObject const * QMetaObject::superClass(void) const
+ ?moveTopRight@QRect@@QAEXABVQPoint@@@Z @ 2980 NONAME ; void QRect::moveTopRight(class QPoint const &)
+ ?overshoot@QEasingCurve@@QBEMXZ @ 2981 NONAME ; float QEasingCurve::overshoot(void) const
+ ?remove@QString@@QAEAAV1@ABV1@W4CaseSensitivity@Qt@@@Z @ 2982 NONAME ; class QString & QString::remove(class QString const &, enum Qt::CaseSensitivity)
+ ?shortDayName@QDate@@SA?AVQString@@H@Z @ 2983 NONAME ; class QString QDate::shortDayName(int)
+ ?isNCName@QXmlUtils@@SA_NABVQStringRef@@@Z @ 2984 NONAME ; bool QXmlUtils::isNCName(class QStringRef const &)
+ ?unicodeVersion@QChar@@SA?AW4UnicodeVersion@1@G@Z @ 2985 NONAME ; enum QChar::UnicodeVersion QChar::unicodeVersion(unsigned short)
+ ?parseFormat@QDateTimeParser@@QAE_NABVQString@@@Z @ 2986 NONAME ; bool QDateTimeParser::parseFormat(class QString const &)
+ ?targetObject@QPropertyAnimation@@QBEPAVQObject@@XZ @ 2987 NONAME ; class QObject * QPropertyAnimation::targetObject(void) const
+ ?compare@QString@@SAHABV1@0W4CaseSensitivity@Qt@@@Z @ 2988 NONAME ; int QString::compare(class QString const &, class QString const &, enum Qt::CaseSensitivity)
+ ?minus@QLocalePrivate@@QBE?AVQChar@@XZ @ 2989 NONAME ; class QChar QLocalePrivate::minus(void) const
+ ?event@QPropertyAnimation@@MAE_NPAVQEvent@@@Z @ 2990 NONAME ; bool QPropertyAnimation::event(class QEvent *)
+ ??0QTime@@QAE@HHHH@Z @ 2991 NONAME ; QTime::QTime(int, int, int, int)
+ ?bottomLeft@QRect@@QBE?AVQPoint@@XZ @ 2992 NONAME ; class QPoint QRect::bottomLeft(void) const
+ ?error@QSystemSemaphore@@QBE?AW4SystemSemaphoreError@1@XZ @ 2993 NONAME ; enum QSystemSemaphore::SystemSemaphoreError QSystemSemaphore::error(void) const
+ ??4QUrl@@QAEAAV0@ABVQString@@@Z @ 2994 NONAME ; class QUrl & QUrl::operator=(class QString const &)
+ ?mapping@QSignalMapper@@QBEPAVQObject@@PAVQWidget@@@Z @ 2995 NONAME ; class QObject * QSignalMapper::mapping(class QWidget *) const
+ ?q_func@QIODevicePrivate@@AAEPAVQIODevice@@XZ @ 2996 NONAME ; class QIODevice * QIODevicePrivate::q_func(void)
+ ?hash@QCryptographicHash@@SA?AVQByteArray@@ABV2@W4Algorithm@1@@Z @ 2997 NONAME ; class QByteArray QCryptographicHash::hash(class QByteArray const &, enum QCryptographicHash::Algorithm)
+ ??5QDataStream@@QAEAAV0@AAE@Z @ 2998 NONAME ; class QDataStream & QDataStream::operator>>(unsigned char &)
+ ?toLongLong@QVariant@@QBE_JPA_N@Z @ 2999 NONAME ; long long QVariant::toLongLong(bool *) const
+ ?toUpper@QChar@@QBE?AV1@XZ @ 3000 NONAME ; class QChar QChar::toUpper(void) const
+ ?previousNode@QHashData@@SAPAUNode@1@PAU21@@Z @ 3001 NONAME ; struct QHashData::Node * QHashData::previousNode(struct QHashData::Node *)
+ ?socketFired@QEventDispatcherSymbian@@QAEXPAVQSocketActiveObject@@@Z @ 3002 NONAME ; void QEventDispatcherSymbian::socketFired(class QSocketActiveObject *)
+ ?boundedTo@QSize@@QBE?AV1@ABV1@@Z @ 3003 NONAME ; class QSize QSize::boundedTo(class QSize const &) const
+ ?moveBottomRight@QRect@@QAEXABVQPoint@@@Z @ 3004 NONAME ; void QRect::moveBottomRight(class QPoint const &)
+ ??1QChildEvent@@UAE@XZ @ 3005 NONAME ; QChildEvent::~QChildEvent(void)
+ ?arg@QString@@QBE?AV1@DHABVQChar@@@Z @ 3006 NONAME ; class QString QString::arg(char, int, class QChar const &) const
+ ??0QBasicTimer@@QAE@XZ @ 3007 NONAME ; QBasicTimer::QBasicTimer(void)
+ ?push_back@QByteArray@@QAEXPBD@Z @ 3008 NONAME ; void QByteArray::push_back(char const *)
+ ?topLeft@QRect@@QBE?AVQPoint@@XZ @ 3009 NONAME ; class QPoint QRect::topLeft(void) const
+ ??0QLocale@@QAE@ABVQString@@@Z @ 3010 NONAME ; QLocale::QLocale(class QString const &)
+ ?copy@QAbstractFileEngine@@UAE_NABVQString@@@Z @ 3011 NONAME ; bool QAbstractFileEngine::copy(class QString const &)
+ ?hasStdCppSet@QMetaProperty@@QBE_NXZ @ 3012 NONAME ; bool QMetaProperty::hasStdCppSet(void) const
+ ??0QSettings@@QAE@ABVQString@@W4Format@0@PAVQObject@@@Z @ 3013 NONAME ; QSettings::QSettings(class QString const &, enum QSettings::Format, class QObject *)
+ ?encodedHost@QUrl@@QBE?AVQByteArray@@XZ @ 3014 NONAME ; class QByteArray QUrl::encodedHost(void) const
+ ?fromAce@QUrl@@SA?AVQString@@ABVQByteArray@@@Z @ 3015 NONAME ; class QString QUrl::fromAce(class QByteArray const &)
+ ?staticMetaObject@QSharedMemory@@2UQMetaObject@@B @ 3016 NONAME ; struct QMetaObject const QSharedMemory::staticMetaObject
+ ?toStdString@QString@@QBE?AV?$basic_string@DV?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ @ 3017 NONAME ; class std::basic_string<char, class std::char_traits<char>, class std::allocator<char> > QString::toStdString(void) const
+ ?accept@QEvent@@QAEXXZ @ 3018 NONAME ; void QEvent::accept(void)
+ ?codecForTr@QTextCodec@@SAPAV1@XZ @ 3019 NONAME ; class QTextCodec * QTextCodec::codecForTr(void)
+ ??4QCharRef@@QAEAAV0@F@Z @ 3020 NONAME ; class QCharRef & QCharRef::operator=(short)
+ ?toLine@QLineF@@QBE?AVQLine@@XZ @ 3021 NONAME ; class QLine QLineF::toLine(void) const
+ ??6QTextStream@@QAEAAV0@N@Z @ 3022 NONAME ; class QTextStream & QTextStream::operator<<(double)
+ ??YQString@@QAEAAV0@W4SpecialCharacter@QChar@@@Z @ 3023 NONAME ; class QString & QString::operator+=(enum QChar::SpecialCharacter)
+ ??5@YAAAVQDataStream@@AAV0@AAVQString@@@Z @ 3024 NONAME ; class QDataStream & operator>>(class QDataStream &, class QString &)
+ ?fetchAndStoreRelaxed@QBasicAtomicInt@@QAEHH@Z @ 3025 NONAME ; int QBasicAtomicInt::fetchAndStoreRelaxed(int)
+ ??_0QPoint@@QAEAAV0@M@Z @ 3026 NONAME ; class QPoint & QPoint::operator/=(float)
+ ??0QByteArrayMatcher@@QAE@ABV0@@Z @ 3027 NONAME ; QByteArrayMatcher::QByteArrayMatcher(class QByteArrayMatcher const &)
+ ?exists@QFile@@SA_NABVQString@@@Z @ 3028 NONAME ; bool QFile::exists(class QString const &)
+ ?qt_metacall@QAbstractListModel@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 3029 NONAME ; int QAbstractListModel::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?indexIn@QByteArrayMatcher@@QBEHPBDHH@Z @ 3030 NONAME ; int QByteArrayMatcher::indexIn(char const *, int, int) const
+ ?toULong@QString@@QBEKPA_NH@Z @ 3031 NONAME ; unsigned long QString::toULong(bool *, int) const
+ ?insertRow@QAbstractItemModel@@QAE_NHABVQModelIndex@@@Z @ 3032 NONAME ; bool QAbstractItemModel::insertRow(int, class QModelIndex const &)
+ ?toEncoded@QUrl@@QBE?AVQByteArray@@V?$QFlags@W4FormattingOption@QUrl@@@@@Z @ 3033 NONAME ; class QByteArray QUrl::toEncoded(class QFlags<enum QUrl::FormattingOption>) const
+ ??0QVariant@@QAE@ABVQSizeF@@@Z @ 3034 NONAME ; QVariant::QVariant(class QSizeF const &)
+ ?toString@QStringRef@@QBE?AVQString@@XZ @ 3035 NONAME ; class QString QStringRef::toString(void) const
+ ?QStringList_removeDuplicates@QtPrivate@@YAHPAVQStringList@@@Z @ 3036 NONAME ; int QtPrivate::QStringList_removeDuplicates(class QStringList *)
+ ?isEmpty@QByteArray@@QBE_NXZ @ 3037 NONAME ; bool QByteArray::isEmpty(void) const
+ ?translated@QRectF@@QBE?AV1@ABVQPointF@@@Z @ 3038 NONAME ; class QRectF QRectF::translated(class QPointF const &) const
+ ??0QObject@@QAE@PAV0@@Z @ 3039 NONAME ; QObject::QObject(class QObject *)
+ ?writeData@QProcess@@MAE_JPBD_J@Z @ 3040 NONAME ; long long QProcess::writeData(char const *, long long)
+ ?fromStdString@QString@@SA?AV1@ABV?$basic_string@DV?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z @ 3041 NONAME ; class QString QString::fromStdString(class std::basic_string<char, class std::char_traits<char>, class std::allocator<char> > const &)
+ ?sectionFormat@QDateTimeParser@@QBE?AVQString@@W4Section@1@H@Z @ 3042 NONAME ; class QString QDateTimeParser::sectionFormat(enum QDateTimeParser::Section, int) const
+ ?setYMD@QDate@@QAE_NHHH@Z @ 3043 NONAME ; bool QDate::setYMD(int, int, int)
+ ?setQueryDelimiters@QUrl@@QAEXDD@Z @ 3044 NONAME ; void QUrl::setQueryDelimiters(char, char)
+ ?toggleDirection@QTimeLine@@QAEXXZ @ 3045 NONAME ; void QTimeLine::toggleDirection(void)
+ ?trUtf8@QSignalMapper@@SA?AVQString@@PBD0@Z @ 3046 NONAME ; class QString QSignalMapper::trUtf8(char const *, char const *)
+ ?trUtf8@QSignalTransition@@SA?AVQString@@PBD0H@Z @ 3047 NONAME ; class QString QSignalTransition::trUtf8(char const *, char const *, int)
+ ??0QRegExp@@QAE@ABVQString@@W4CaseSensitivity@Qt@@W4PatternSyntax@0@@Z @ 3048 NONAME ; QRegExp::QRegExp(class QString const &, enum Qt::CaseSensitivity, enum QRegExp::PatternSyntax)
+ ?fromRawData@QByteArray@@SA?AV1@PBDH@Z @ 3049 NONAME ; class QByteArray QByteArray::fromRawData(char const *, int)
+ ?skipToNextSection@QDateTimeParser@@QBE_NHABVQDateTime@@ABVQString@@@Z @ 3050 NONAME ; bool QDateTimeParser::skipToNextSection(int, class QDateTime const &, class QString const &) const
+ ?addData@QXmlStreamReader@@QAEXABVQByteArray@@@Z @ 3051 NONAME ; void QXmlStreamReader::addData(class QByteArray const &)
+ ??0QIODevice@@QAE@PAVQObject@@@Z @ 3052 NONAME ; QIODevice::QIODevice(class QObject *)
+ ?move@QListData@@QAEXHH@Z @ 3053 NONAME ; void QListData::move(int, int)
+ ?push_back@QString@@QAEXVQChar@@@Z @ 3054 NONAME ; void QString::push_back(class QChar)
+ ?isNumber@QChar@@QBE_NXZ @ 3055 NONAME ; bool QChar::isNumber(void) const
+ ?isValid@QSizeF@@QBE_NXZ @ 3056 NONAME ; bool QSizeF::isValid(void) const
+ ?toString@QDateTime@@QBE?AVQString@@W4DateFormat@Qt@@@Z @ 3057 NONAME ; class QString QDateTime::toString(enum Qt::DateFormat) const
+ ?endl@@YAAAVQTextStream@@AAV1@@Z @ 3058 NONAME ; class QTextStream & endl(class QTextStream &)
+ ??0QVariant@@QAE@ABV0@@Z @ 3059 NONAME ; QVariant::QVariant(class QVariant const &)
+ ?isValid@QDate@@QBE_NXZ @ 3060 NONAME ; bool QDate::isValid(void) const
+ ?reactivateDeferredActiveObjects@QEventDispatcherSymbian@@QAEXXZ @ 3061 NONAME ; void QEventDispatcherSymbian::reactivateDeferredActiveObjects(void)
+ ?msecsTo@QTime@@QBEHABV1@@Z @ 3062 NONAME ; int QTime::msecsTo(class QTime const &) const
+ ??_EQTemporaryFile@@UAE@I@Z @ 3063 NONAME ; QTemporaryFile::~QTemporaryFile(unsigned int)
+ ?number@QString@@SA?AV1@HH@Z @ 3064 NONAME ; class QString QString::number(int, int)
+ ?setRealNumberPrecision@QTextStream@@QAEXH@Z @ 3065 NONAME ; void QTextStream::setRealNumberPrecision(int)
+ ?qSharedBuild@@YA_NXZ @ 3066 NONAME ; bool qSharedBuild(void)
+ ??6QTextStream@@QAEAAV0@PBD@Z @ 3067 NONAME ; class QTextStream & QTextStream::operator<<(char const *)
+ ?processEvents@QEventDispatcherSymbian@@UAE_NV?$QFlags@W4ProcessEventsFlag@QEventLoop@@@@@Z @ 3068 NONAME ; bool QEventDispatcherSymbian::processEvents(class QFlags<enum QEventLoop::ProcessEventsFlag>)
+ ?setArrayIndex@QSettings@@QAEXH@Z @ 3069 NONAME ; void QSettings::setArrayIndex(int)
+ ?setCoords@QRect@@QAEXHHHH@Z @ 3070 NONAME ; void QRect::setCoords(int, int, int, int)
+ ?error@QStateMachine@@QBE?AW4Error@1@XZ @ 3071 NONAME ; enum QStateMachine::Error QStateMachine::error(void) const
+ ??1QAbstractEventDispatcherPrivate@@UAE@XZ @ 3072 NONAME ; QAbstractEventDispatcherPrivate::~QAbstractEventDispatcherPrivate(void)
+ ?replace@QString@@QAEAAV1@ABVQLatin1String@@ABV1@W4CaseSensitivity@Qt@@@Z @ 3073 NONAME ; class QString & QString::replace(class QLatin1String const &, class QString const &, enum Qt::CaseSensitivity)
+ ?toUcs4@QString@@QBE?AV?$QVector@I@@XZ @ 3074 NONAME ; class QVector<unsigned int> QString::toUcs4(void) const
+ ?readWriteLock@QReadLocker@@QBEPAVQReadWriteLock@@XZ @ 3075 NONAME ; class QReadWriteLock * QReadLocker::readWriteLock(void) const
+ ??4QString@@QAEAAV0@PBD@Z @ 3076 NONAME ; class QString & QString::operator=(char const *)
+ ?compare_helper@QString@@CAHPBVQChar@@HVQLatin1String@@W4CaseSensitivity@Qt@@@Z @ 3077 NONAME ; int QString::compare_helper(class QChar const *, int, class QLatin1String, enum Qt::CaseSensitivity)
+ ?finished@QTimeLine@@IAEXXZ @ 3078 NONAME ; void QTimeLine::finished(void)
+ ?organizationDomain@QCoreApplication@@SA?AVQString@@XZ @ 3079 NONAME ; class QString QCoreApplication::organizationDomain(void)
+ ?QStringList_filter@QtPrivate@@YA?AVQStringList@@PBV2@ABVQString@@W4CaseSensitivity@Qt@@@Z @ 3080 NONAME ; class QStringList QtPrivate::QStringList_filter(class QStringList const *, class QString const &, enum Qt::CaseSensitivity)
+ ?qt_assert@@YAXPBD0H@Z @ 3081 NONAME ; void qt_assert(char const *, char const *, int)
+ ??0QLibraryInfo@@AAE@XZ @ 3082 NONAME ; QLibraryInfo::QLibraryInfo(void)
+ ?appendTo@QStringRef@@QBE?AV1@PAVQString@@@Z @ 3083 NONAME ; class QStringRef QStringRef::appendTo(class QString *) const
+ ??6@YA?AVQDebug@@V0@ABVQModelIndex@@@Z @ 3084 NONAME ; class QDebug operator<<(class QDebug, class QModelIndex const &)
+ ?internalPointer@QPersistentModelIndex@@QBEPAXXZ @ 3085 NONAME ; void * QPersistentModelIndex::internalPointer(void) const
+ ??_EQObjectUserData@@UAE@I@Z @ 3086 NONAME ; QObjectUserData::~QObjectUserData(unsigned int)
+ ?setUtcOffset@QDateTime@@QAEXH@Z @ 3087 NONAME ; void QDateTime::setUtcOffset(int)
+ ?qFatal@@YAXPBDZZ @ 3088 NONAME ; void qFatal(char const *, ...)
+ ?number@QString@@SA?AV1@_KH@Z @ 3089 NONAME ; class QString QString::number(unsigned long long, int)
+ ?unlock@QReadWriteLock@@QAEXXZ @ 3090 NONAME ; void QReadWriteLock::unlock(void)
+ ?buffer@QBuffer@@QAEAAVQByteArray@@XZ @ 3091 NONAME ; class QByteArray & QBuffer::buffer(void)
+ ?getStaticMetaObject@QNonContiguousByteDevice@@SAABUQMetaObject@@XZ @ 3092 NONAME ; struct QMetaObject const & QNonContiguousByteDevice::getStaticMetaObject(void)
+ ?null@QString@@2UNull@1@B @ 3093 NONAME ; struct QString::Null const QString::null
+ ??0QVariant@@QAE@ABVQLineF@@@Z @ 3094 NONAME ; QVariant::QVariant(class QLineF const &)
+ ?queryItems@QUrl@@QBE?AV?$QList@U?$QPair@VQString@@V1@@@@@XZ @ 3095 NONAME ; class QList<struct QPair<class QString, class QString> > QUrl::queryItems(void) const
+ ?name@QXmlStreamNotationDeclaration@@QBE?AVQStringRef@@XZ @ 3096 NONAME ; class QStringRef QXmlStreamNotationDeclaration::name(void) const
+ ?trUtf8@QIODevice@@SA?AVQString@@PBD0@Z @ 3097 NONAME ; class QString QIODevice::trUtf8(char const *, char const *)
+ ?postDelayedEvent@QStateMachine@@QAEHPAVQEvent@@H@Z @ 3098 NONAME ; int QStateMachine::postDelayedEvent(class QEvent *, int)
+ ?setRight@QRect@@QAEXH@Z @ 3099 NONAME ; void QRect::setRight(int)
+ ??_EQAbstractItemModel@@UAE@I@Z @ 3100 NONAME ; QAbstractItemModel::~QAbstractItemModel(unsigned int)
+ ??0QString@@QAE@HW4Initialization@Qt@@@Z @ 3101 NONAME ; QString::QString(int, enum Qt::Initialization)
+ ?index@QAbstractListModel@@UBE?AVQModelIndex@@HHABV2@@Z @ 3102 NONAME ; class QModelIndex QAbstractListModel::index(int, int, class QModelIndex const &) const
+ ?staticMetaObject@QTranslator@@2UQMetaObject@@B @ 3103 NONAME ; struct QMetaObject const QTranslator::staticMetaObject
+ ?timerFired@QEventDispatcherSymbian@@QAEXH@Z @ 3104 NONAME ; void QEventDispatcherSymbian::timerFired(int)
+ ?qt_assert_x@@YAXPBD00H@Z @ 3105 NONAME ; void qt_assert_x(char const *, char const *, char const *, int)
+ ?width@QRectF@@QBEMXZ @ 3106 NONAME ; float QRectF::width(void) const
+ ?d_func@QEventLoop@@ABEPBVQEventLoopPrivate@@XZ @ 3107 NONAME ; class QEventLoopPrivate const * QEventLoop::d_func(void) const
+ ?fromNativeSeparators@QDir@@SA?AVQString@@ABV2@@Z @ 3108 NONAME ; class QString QDir::fromNativeSeparators(class QString const &)
+ ?deref@QBasicAtomicInt@@QAE_NXZ @ 3109 NONAME ; bool QBasicAtomicInt::deref(void)
+ ?toStringList@QVariant@@QBE?AVQStringList@@XZ @ 3110 NONAME ; class QStringList QVariant::toStringList(void) const
+ ?event@QCoreApplication@@MAE_NPAVQEvent@@@Z @ 3111 NONAME ; bool QCoreApplication::event(class QEvent *)
+ ?indexOfProperty@QMetaObject@@QBEHPBD@Z @ 3112 NONAME ; int QMetaObject::indexOfProperty(char const *) const
+ ?selectTransitions@QStateMachinePrivate@@QBE?AV?$QSet@PAVQAbstractTransition@@@@PAVQEvent@@@Z @ 3113 NONAME ; class QSet<class QAbstractTransition *> QStateMachinePrivate::selectTransitions(class QEvent *) const
+ ?translated@QLine@@QBE?AV1@HH@Z @ 3114 NONAME ; class QLine QLine::translated(int, int) const
+ ?availableCodecs@QTextCodec@@SA?AV?$QList@VQByteArray@@@@XZ @ 3115 NONAME ; class QList<class QByteArray> QTextCodec::availableCodecs(void)
+ ?qCritical@@YAXPBDZZ @ 3116 NONAME ; void qCritical(char const *, ...)
+ ?left@QString@@QBE?AV1@H@Z @ 3117 NONAME ; class QString QString::left(int) const
+ ?toUpper@QCharRef@@QBE?AVQChar@@XZ @ 3118 NONAME ; class QChar QCharRef::toUpper(void) const
+ ?currentFileInfo@QAbstractFileEngineIterator@@UBE?AVQFileInfo@@XZ @ 3119 NONAME ; class QFileInfo QAbstractFileEngineIterator::currentFileInfo(void) const
+ ?setPriority@QThread@@QAEXW4Priority@1@@Z @ 3120 NONAME ; void QThread::setPriority(enum QThread::Priority)
+ ??1QDateTimeParser@@UAE@XZ @ 3121 NONAME ; QDateTimeParser::~QDateTimeParser(void)
+ ??0QTextStream@@QAE@PAVQIODevice@@@Z @ 3122 NONAME ; QTextStream::QTextStream(class QIODevice *)
+ ?qt_metacall@QState@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 3123 NONAME ; int QState::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?toFloat@QVariant@@QBEMPA_N@Z @ 3124 NONAME ; float QVariant::toFloat(bool *) const
+ ?toWCharArray@QString@@QBEHPA_W@Z @ 3125 NONAME ; int QString::toWCharArray(wchar_t *) const
+ ??0QSharedMemory@@QAE@ABVQString@@PAVQObject@@@Z @ 3126 NONAME ; QSharedMemory::QSharedMemory(class QString const &, class QObject *)
+ ?setWorkingDirectory@QProcess@@QAEXABVQString@@@Z @ 3127 NONAME ; void QProcess::setWorkingDirectory(class QString const &)
+ ?tr@QThread@@SA?AVQString@@PBD0@Z @ 3128 NONAME ; class QString QThread::tr(char const *, char const *)
+ ?readLineData@QFile@@MAE_JPAD_J@Z @ 3129 NONAME ; long long QFile::readLineData(char *, long long)
+ ?typeToName@QVariant@@SAPBDW4Type@1@@Z @ 3130 NONAME ; char const * QVariant::typeToName(enum QVariant::Type)
+ ??0QState@@QAE@PAV0@@Z @ 3131 NONAME ; QState::QState(class QState *)
+ ??0QModelIndex@@QAE@XZ @ 3132 NONAME ; QModelIndex::QModelIndex(void)
+ ??1QEventDispatcherSymbian@@UAE@XZ @ 3133 NONAME ; QEventDispatcherSymbian::~QEventDispatcherSymbian(void)
+ ?writeAttribute@QXmlStreamWriter@@QAEXABVQXmlStreamAttribute@@@Z @ 3134 NONAME ; void QXmlStreamWriter::writeAttribute(class QXmlStreamAttribute const &)
+ ?lockForWrite@QReadWriteLock@@QAEXXZ @ 3135 NONAME ; void QReadWriteLock::lockForWrite(void)
+ ?longMonthName@QDate@@SA?AVQString@@H@Z @ 3136 NONAME ; class QString QDate::longMonthName(int)
+ ?qstricmp@@YAHPBD0@Z @ 3137 NONAME ; int qstricmp(char const *, char const *)
+ ??NQDateTime@@QBE_NABV0@@Z @ 3138 NONAME ; bool QDateTime::operator<=(class QDateTime const &) const
+ ?read@QTextStream@@QAE?AVQString@@_J@Z @ 3139 NONAME ; class QString QTextStream::read(long long)
+ ?write@QIODevice@@QAE_JPBD@Z @ 3140 NONAME ; long long QIODevice::write(char const *)
+ ?value@QXmlStreamAttributes@@QBE?AVQStringRef@@ABVQString@@ABVQLatin1String@@@Z @ 3141 NONAME ; class QStringRef QXmlStreamAttributes::value(class QString const &, class QLatin1String const &) const
+ ??1QPluginLoader@@UAE@XZ @ 3142 NONAME ; QPluginLoader::~QPluginLoader(void)
+ ?toList@QVariant@@QBE?AV?$QList@VQVariant@@@@XZ @ 3143 NONAME ; class QList<class QVariant> QVariant::toList(void) const
+ ?length@QString@@QBEHXZ @ 3144 NONAME ; int QString::length(void) const
+ ?trUtf8@QMimeData@@SA?AVQString@@PBD0H@Z @ 3145 NONAME ; class QString QMimeData::trUtf8(char const *, char const *, int)
+ ?setNum@QString@@QAEAAV1@HH@Z @ 3146 NONAME ; class QString & QString::setNum(int, int)
+ ?exists@QDir@@QBE_NABVQString@@@Z @ 3147 NONAME ; bool QDir::exists(class QString const &) const
+ ?create@QNonContiguousByteDeviceFactory@@SAPAVQNonContiguousByteDevice@@PAVQIODevice@@@Z @ 3148 NONAME ; class QNonContiguousByteDevice * QNonContiguousByteDeviceFactory::create(class QIODevice *)
+ ??0QSizeF@@QAE@ABVQSize@@@Z @ 3149 NONAME ; QSizeF::QSizeF(class QSize const &)
+ ??1QParallelAnimationGroup@@UAE@XZ @ 3150 NONAME ; QParallelAnimationGroup::~QParallelAnimationGroup(void)
+ ?bytearrayToUnsLongLong@QLocalePrivate@@SA_KPBDHPA_N@Z @ 3151 NONAME ; unsigned long long QLocalePrivate::bytearrayToUnsLongLong(char const *, int, bool *)
+ ?isDir@QResource@@IBE_NXZ @ 3152 NONAME ; bool QResource::isDir(void) const
+ ?setEnvironment@QProcess@@QAEXABVQStringList@@@Z @ 3153 NONAME ; void QProcess::setEnvironment(class QStringList const &)
+ ?bytearrayToDouble@QLocalePrivate@@SANPBDPA_N1@Z @ 3154 NONAME ; double QLocalePrivate::bytearrayToDouble(char const *, bool *, bool *)
+ ?value@QSettings@@QBE?AVQVariant@@ABVQString@@ABV2@@Z @ 3155 NONAME ; class QVariant QSettings::value(class QString const &, class QVariant const &) const
+ ?updateState@QAbstractAnimation@@MAEXW4State@1@0@Z @ 3156 NONAME ; void QAbstractAnimation::updateState(enum QAbstractAnimation::State, enum QAbstractAnimation::State)
+ ?tr@QBuffer@@SA?AVQString@@PBD0H@Z @ 3157 NONAME ; class QString QBuffer::tr(char const *, char const *, int)
+ ??5@YAAAVQDataStream@@AAV0@AAVQTime@@@Z @ 3158 NONAME ; class QDataStream & operator>>(class QDataStream &, class QTime &)
+ ?propertyOffset@QMetaObject@@QBEHXZ @ 3159 NONAME ; int QMetaObject::propertyOffset(void) const
+ ?toString@QLocale@@QBE?AVQString@@F@Z @ 3160 NONAME ; class QString QLocale::toString(short) const
+ ?d_func@QAbstractAnimation@@AAEPAVQAbstractAnimationPrivate@@XZ @ 3161 NONAME ; class QAbstractAnimationPrivate * QAbstractAnimation::d_func(void)
+ ?encodedFragment@QUrl@@QBE?AVQByteArray@@XZ @ 3162 NONAME ; class QByteArray QUrl::encodedFragment(void) const
+ ??6QDebug@@QAEAAV0@_K@Z @ 3163 NONAME ; class QDebug & QDebug::operator<<(unsigned long long)
+ ?_q_start@QStateMachinePrivate@@QAEXXZ @ 3164 NONAME ; void QStateMachinePrivate::_q_start(void)
+ ??6@YAAAVQDataStream@@AAV0@ABVQRegExp@@@Z @ 3165 NONAME ; class QDataStream & operator<<(class QDataStream &, class QRegExp const &)
+ ?qt_metacall@QPluginLoader@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 3166 NONAME ; int QPluginLoader::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?isValid@QResource@@QBE_NXZ @ 3167 NONAME ; bool QResource::isValid(void) const
+ ?load@QTranslator@@QAE_NPBEH@Z @ 3168 NONAME ; bool QTranslator::load(unsigned char const *, int)
+ ?allocateTimerId@QAbstractEventDispatcherPrivate@@SAHXZ @ 3169 NONAME ; int QAbstractEventDispatcherPrivate::allocateTimerId(void)
+ ??5QTextStream@@QAEAAV0@AAVQChar@@@Z @ 3170 NONAME ; class QTextStream & QTextStream::operator>>(class QChar &)
+ ?removeAnimation@QAbstractTransition@@QAEXPAVQAbstractAnimation@@@Z @ 3171 NONAME ; void QAbstractTransition::removeAnimation(class QAbstractAnimation *)
+ ?angle@QLineF@@QBEMXZ @ 3172 NONAME ; float QLineF::angle(void) const
+ ?owner@QAbstractFileEngine@@UBE?AVQString@@W4FileOwner@1@@Z @ 3173 NONAME ; class QString QAbstractFileEngine::owner(enum QAbstractFileEngine::FileOwner) const
+ ?dateFormat@QLocale@@QBE?AVQString@@W4FormatType@1@@Z @ 3174 NONAME ; class QString QLocale::dateFormat(enum QLocale::FormatType) const
+ ??0QBitArray@@QAE@ABV0@@Z @ 3175 NONAME ; QBitArray::QBitArray(class QBitArray const &)
+ ?connect@QMetaObject@@SA_NPBVQObject@@H0HHPAH@Z @ 3176 NONAME ; bool QMetaObject::connect(class QObject const *, int, class QObject const *, int, int, int *)
+ ?ungetChar@QIODevice@@QAEXD@Z @ 3177 NONAME ; void QIODevice::ungetChar(char)
+ ?internalSafetyCheckRemove@QtSharedPointer@@YAXPDX@Z @ 3178 NONAME ; void QtSharedPointer::internalSafetyCheckRemove(void const volatile *)
+ ?ref@QBasicAtomicInt@@QAE_NXZ @ 3179 NONAME ; bool QBasicAtomicInt::ref(void)
+ ?unregisterTimers@QEventDispatcherSymbian@@UAE_NPAVQObject@@@Z @ 3180 NONAME ; bool QEventDispatcherSymbian::unregisterTimers(class QObject *)
+ ?unregisterTimer@QEventDispatcherSymbian@@UAE_NH@Z @ 3181 NONAME ; bool QEventDispatcherSymbian::unregisterTimer(int)
+ ?staticMetaObject@QObject@@2UQMetaObject@@B @ 3182 NONAME ; struct QMetaObject const QObject::staticMetaObject
+ ?checkInstance@QCoreApplicationPrivate@@SA_NPBD@Z @ 3183 NONAME ; bool QCoreApplicationPrivate::checkInstance(char const *)
+ ?isPrint@QChar@@QBE_NXZ @ 3184 NONAME ; bool QChar::isPrint(void) const
+ ?arg@QString@@QBE?AV1@ABV1@HABVQChar@@@Z @ 3185 NONAME ; class QString QString::arg(class QString const &, int, class QChar const &) const
+ ?tr@QTimer@@SA?AVQString@@PBD0H@Z @ 3186 NONAME ; class QString QTimer::tr(char const *, char const *, int)
+ ?stop@QAbstractAnimation@@QAEXXZ @ 3187 NONAME ; void QAbstractAnimation::stop(void)
+ ?qChecksum@@YAGPBDI@Z @ 3188 NONAME ; unsigned short qChecksum(char const *, unsigned int)
+ ?applyProperties@QStateMachinePrivate@@QAEXABV?$QList@PAVQAbstractTransition@@@@ABV?$QList@PAVQAbstractState@@@@1@Z @ 3189 NONAME ; void QStateMachinePrivate::applyProperties(class QList<class QAbstractTransition *> const &, class QList<class QAbstractState *> const &, class QList<class QAbstractState *> const &)
+ ?maxChange@QDateTimeParser@@QBEHH@Z @ 3190 NONAME ; int QDateTimeParser::maxChange(int) const
+ ?staticMetaObject@QAbstractItemModel@@2UQMetaObject@@B @ 3191 NONAME ; struct QMetaObject const QAbstractItemModel::staticMetaObject
+ ??_EQFileSystemWatcher@@UAE@I@Z @ 3192 NONAME ; QFileSystemWatcher::~QFileSystemWatcher(unsigned int)
+ ?entered@QAbstractState@@AAEXXZ @ 3193 NONAME ; void QAbstractState::entered(void)
+ ?copy@QFile@@QAE_NABVQString@@@Z @ 3194 NONAME ; bool QFile::copy(class QString const &)
+ ??0QStringMatcher@@QAE@ABVQString@@W4CaseSensitivity@Qt@@@Z @ 3195 NONAME ; QStringMatcher::QStringMatcher(class QString const &, enum Qt::CaseSensitivity)
+ ?isNull@QTime@@QBE_NXZ @ 3196 NONAME ; bool QTime::isNull(void) const
+ ?qIsInf@@YA_NN@Z @ 3197 NONAME ; bool qIsInf(double)
+ ?version@QUuid@@QBE?AW4Version@1@XZ @ 3198 NONAME ; enum QUuid::Version QUuid::version(void) const
+ ?updateProperties@QString@@ABEXXZ @ 3199 NONAME ; void QString::updateProperties(void) const
+ ?setHeight@QSizeF@@QAEXM@Z @ 3200 NONAME ; void QSizeF::setHeight(float)
+ ??1QFile@@UAE@XZ @ 3201 NONAME ; QFile::~QFile(void)
+ ?contains@QString@@QBE?AVQBool@@AAVQRegExp@@@Z @ 3202 NONAME ; class QBool QString::contains(class QRegExp &) const
+ ?percent@QLocale@@QBE?AVQChar@@XZ @ 3203 NONAME ; class QChar QLocale::percent(void) const
+ ??_EQDataStream@@UAE@I@Z @ 3204 NONAME ; QDataStream::~QDataStream(unsigned int)
+ ?isEncName@QXmlUtils@@SA_NABVQString@@@Z @ 3205 NONAME ; bool QXmlUtils::isEncName(class QString const &)
+ ?loadHints@QLibrary@@QBE?AV?$QFlags@W4LoadHint@QLibrary@@@@XZ @ 3206 NONAME ; class QFlags<enum QLibrary::LoadHint> QLibrary::loadHints(void) const
+ ?setMapping@QSignalMapper@@QAEXPAVQObject@@H@Z @ 3207 NONAME ; void QSignalMapper::setMapping(class QObject *, int)
+ ??6QTextStream@@QAEAAV0@G@Z @ 3208 NONAME ; class QTextStream & QTextStream::operator<<(unsigned short)
+ ??ZQSize@@QAEAAV0@ABV0@@Z @ 3209 NONAME ; class QSize & QSize::operator-=(class QSize const &)
+ ?getCoords@QRectF@@QBEXPAM000@Z @ 3210 NONAME ; void QRectF::getCoords(float *, float *, float *, float *) const
+ ?isStandaloneDocument@QXmlStreamReader@@QBE_NXZ @ 3211 NONAME ; bool QXmlStreamReader::isStandaloneDocument(void) const
+ ??AQByteArray@@QBEDH@Z @ 3212 NONAME ; char QByteArray::operator[](int) const
+ ?encodedQueryItemValue@QUrl@@QBE?AVQByteArray@@ABV2@@Z @ 3213 NONAME ; class QByteArray QUrl::encodedQueryItemValue(class QByteArray const &) const
+ ??_EQDateTimeParser@@UAE@I@Z @ 3214 NONAME ; QDateTimeParser::~QDateTimeParser(unsigned int)
+ ?write@QFSFileEngine@@UAE_JPBD_J@Z @ 3215 NONAME ; long long QFSFileEngine::write(char const *, long long)
+ ?d_func@QTimeLine@@ABEPBVQTimeLinePrivate@@XZ @ 3216 NONAME ; class QTimeLinePrivate const * QTimeLine::d_func(void) const
+ ?exactMatch@QRegExp@@QBE_NABVQString@@@Z @ 3217 NONAME ; bool QRegExp::exactMatch(class QString const &) const
+ ?qt_metacall@QFinalState@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 3218 NONAME ; int QFinalState::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?init@QCoreApplication@@AAEXXZ @ 3219 NONAME ; void QCoreApplication::init(void)
+ ?midRef@QString@@QBE?AVQStringRef@@HH@Z @ 3220 NONAME ; class QStringRef QString::midRef(int, int) const
+ ?tr@QStateMachine@@SA?AVQString@@PBD0@Z @ 3221 NONAME ; class QString QStateMachine::tr(char const *, char const *)
+ ?checkReceiverThread@QCoreApplicationPrivate@@QAEXPAVQObject@@@Z @ 3222 NONAME ; void QCoreApplicationPrivate::checkReceiverThread(class QObject *)
+ ?fromString@QTime@@SA?AV1@ABVQString@@W4DateFormat@Qt@@@Z @ 3223 NONAME ; class QTime QTime::fromString(class QString const &, enum Qt::DateFormat)
+ ?internalPointer@QModelIndex@@QBEPAXXZ @ 3224 NONAME ; void * QModelIndex::internalPointer(void) const
+ ?child@QPersistentModelIndex@@QBE?AVQModelIndex@@HH@Z @ 3225 NONAME ; class QModelIndex QPersistentModelIndex::child(int, int) const
+ ??YQString@@QAEAAV0@D@Z @ 3226 NONAME ; class QString & QString::operator+=(char)
+ ??1QTemporaryFile@@UAE@XZ @ 3227 NONAME ; QTemporaryFile::~QTemporaryFile(void)
+ ?updateSystemPrivate@QLocalePrivate@@SAXXZ @ 3228 NONAME ; void QLocalePrivate::updateSystemPrivate(void)
+ ?columnsRemoved@QAbstractItemModelPrivate@@QAEXABVQModelIndex@@HH@Z @ 3229 NONAME ; void QAbstractItemModelPrivate::columnsRemoved(class QModelIndex const &, int, int)
+ ?staticMetaObject@QTemporaryFile@@2UQMetaObject@@B @ 3230 NONAME ; struct QMetaObject const QTemporaryFile::staticMetaObject
+ ?killTimer@QTimer@@AAEXH@Z @ 3231 NONAME ; void QTimer::killTimer(int)
+ ??9QUuid@@QBE_NABU0@@Z @ 3232 NONAME ; bool QUuid::operator!=(struct QUuid const &) const
+ ??M@YA_NABVQStringRef@@0@Z @ 3233 NONAME ; bool operator<(class QStringRef const &, class QStringRef const &)
+ ??6QTextStream@@QAEAAV0@VQChar@@@Z @ 3234 NONAME ; class QTextStream & QTextStream::operator<<(class QChar)
+ ?noforcesign@@YAAAVQTextStream@@AAV1@@Z @ 3235 NONAME ; class QTextStream & noforcesign(class QTextStream &)
+ ??0QVariant@@QAE@AAVQDataStream@@@Z @ 3236 NONAME ; QVariant::QVariant(class QDataStream &)
+ ??0QThread@@QAE@PAVQObject@@@Z @ 3237 NONAME ; QThread::QThread(class QObject *)
+ ?beginSelectTransitions@QStateMachine@@MAEXPAVQEvent@@@Z @ 3238 NONAME ; void QStateMachine::beginSelectTransitions(class QEvent *)
+ ?fromAscii@QString@@SA?AV1@PBDH@Z @ 3239 NONAME ; class QString QString::fromAscii(char const *, int)
+ ??4QRegExp@@QAEAAV0@ABV0@@Z @ 3240 NONAME ; class QRegExp & QRegExp::operator=(class QRegExp const &)
+ ?readLine@QAbstractFileEngine@@UAE_JPAD_J@Z @ 3241 NONAME ; long long QAbstractFileEngine::readLine(char *, long long)
+ ?rename@QDir@@QAE_NABVQString@@0@Z @ 3242 NONAME ; bool QDir::rename(class QString const &, class QString const &)
+ ?movePersistentIndexes@QAbstractItemModelPrivate@@QAEXV?$QVector@PAVQPersistentModelIndexData@@@@HABVQModelIndex@@W4Orientation@Qt@@@Z @ 3243 NONAME ; void QAbstractItemModelPrivate::movePersistentIndexes(class QVector<class QPersistentModelIndexData *>, int, class QModelIndex const &, enum Qt::Orientation)
+ ?tryLockForWrite@QReadWriteLock@@QAE_NXZ @ 3244 NONAME ; bool QReadWriteLock::tryLockForWrite(void)
+ ?tr@QProcess@@SA?AVQString@@PBD0H@Z @ 3245 NONAME ; class QString QProcess::tr(char const *, char const *, int)
+ ?fill@QBitArray@@QAE_N_NH@Z @ 3246 NONAME ; bool QBitArray::fill(bool, int)
+ ?metaObject@QAnimationGroup@@UBEPBUQMetaObject@@XZ @ 3247 NONAME ; struct QMetaObject const * QAnimationGroup::metaObject(void) const
+ ?dayOfWeek@QDate@@QBEHXZ @ 3248 NONAME ; int QDate::dayOfWeek(void) const
+ ?qstrncpy@@YAPADPADPBDI@Z @ 3249 NONAME ; char * qstrncpy(char *, char const *, unsigned int)
+ ?setDefault@QLocale@@SAXABV1@@Z @ 3250 NONAME ; void QLocale::setDefault(class QLocale const &)
+ ??0QDirIterator@@QAE@ABVQString@@V?$QFlags@W4Filter@QDir@@@@V?$QFlags@W4IteratorFlag@QDirIterator@@@@@Z @ 3251 NONAME ; QDirIterator::QDirIterator(class QString const &, class QFlags<enum QDir::Filter>, class QFlags<enum QDirIterator::IteratorFlag>)
+ ?surrogateToUcs4@QChar@@SAIGG@Z @ 3252 NONAME ; unsigned int QChar::surrogateToUcs4(unsigned short, unsigned short)
+ ?toString@QDate@@QBE?AVQString@@ABV2@@Z @ 3253 NONAME ; class QString QDate::toString(class QString const &) const
+ ?connectNotify@QObject@@MAEXPBD@Z @ 3254 NONAME ; void QObject::connectNotify(char const *)
+ ?staticMetaObject@QAbstractListModel@@2UQMetaObject@@B @ 3255 NONAME ; struct QMetaObject const QAbstractListModel::staticMetaObject
+ ?removeStartState@QStateMachinePrivate@@QAEXXZ @ 3256 NONAME ; void QStateMachinePrivate::removeStartState(void)
+ ?isNull@QLineF@@QBE_NXZ @ 3257 NONAME ; bool QLineF::isNull(void) const
+ ?tr@QFinalState@@SA?AVQString@@PBD0H@Z @ 3258 NONAME ; class QString QFinalState::tr(char const *, char const *, int)
+ ?contains@QRect@@QBE_NHH_N@Z @ 3259 NONAME ; bool QRect::contains(int, int, bool) const
+ ??0QLineF@@QAE@MMMM@Z @ 3260 NONAME ; QLineF::QLineF(float, float, float, float)
+ ?postEvent@QCoreApplication@@SAXPAVQObject@@PAVQEvent@@H@Z @ 3261 NONAME ; void QCoreApplication::postEvent(class QObject *, class QEvent *, int)
+ ?d_func@QAbstractItemModel@@AAEPAVQAbstractItemModelPrivate@@XZ @ 3262 NONAME ; class QAbstractItemModelPrivate * QAbstractItemModel::d_func(void)
+ ?qt_metacast@QMimeData@@UAEPAXPBD@Z @ 3263 NONAME ; void * QMimeData::qt_metacast(char const *)
+ ?detach@QVariant@@QAEXXZ @ 3264 NONAME ; void QVariant::detach(void)
+ ??0QXmlStreamNamespaceDeclaration@@QAE@ABV0@@Z @ 3265 NONAME ; QXmlStreamNamespaceDeclaration::QXmlStreamNamespaceDeclaration(class QXmlStreamNamespaceDeclaration const &)
+ ??_EQIODevice@@UAE@I@Z @ 3266 NONAME ; QIODevice::~QIODevice(unsigned int)
+ ??6@YA?AVQDebug@@V0@ABVQDate@@@Z @ 3267 NONAME ; class QDebug operator<<(class QDebug, class QDate const &)
+ ?setStartValue@QVariantAnimation@@QAEXABVQVariant@@@Z @ 3268 NONAME ; void QVariantAnimation::setStartValue(class QVariant const &)
+ ??0QVariant@@QAE@ABVQBitArray@@@Z @ 3269 NONAME ; QVariant::QVariant(class QBitArray const &)
+ ?tr@QObjectCleanupHandler@@SA?AVQString@@PBD0H@Z @ 3270 NONAME ; class QString QObjectCleanupHandler::tr(char const *, char const *, int)
+ ?setNum@QString@@QAEAAV1@NDH@Z @ 3271 NONAME ; class QString & QString::setNum(double, char, int)
+ ?trUtf8@QPluginLoader@@SA?AVQString@@PBD0@Z @ 3272 NONAME ; class QString QPluginLoader::trUtf8(char const *, char const *)
+ ?escape@QRegExp@@SA?AVQString@@ABV2@@Z @ 3273 NONAME ; class QString QRegExp::escape(class QString const &)
+ ?trUtf8@QIODevice@@SA?AVQString@@PBD0H@Z @ 3274 NONAME ; class QString QIODevice::trUtf8(char const *, char const *, int)
+ ??6@YAAAVQDataStream@@AAV0@ABVQByteArray@@@Z @ 3275 NONAME ; class QDataStream & operator<<(class QDataStream &, class QByteArray const &)
+ ?parentState@QAbstractState@@QBEPAVQState@@XZ @ 3276 NONAME ; class QState * QAbstractState::parentState(void) const
+ ?atEnd@QTextStream@@QBE_NXZ @ 3277 NONAME ; bool QTextStream::atEnd(void) const
+ ??6QDataStream@@QAEAAV0@_K@Z @ 3278 NONAME ; class QDataStream & QDataStream::operator<<(unsigned long long)
+ ?isSymLink@QFileInfo@@QBE_NXZ @ 3279 NONAME ; bool QFileInfo::isSymLink(void) const
+ ?number@QString@@SA?AV1@JH@Z @ 3280 NONAME ; class QString QString::number(long, int)
+ ?makeAbsolute@QFileInfo@@QAE_NXZ @ 3281 NONAME ; bool QFileInfo::makeAbsolute(void)
+ ?registerSignalTransition@QStateMachinePrivate@@QAEXPAVQSignalTransition@@@Z @ 3282 NONAME ; void QStateMachinePrivate::registerSignalTransition(class QSignalTransition *)
+ ?setPattern@QByteArrayMatcher@@QAEXABVQByteArray@@@Z @ 3283 NONAME ; void QByteArrayMatcher::setPattern(class QByteArray const &)
+ ??0QXmlStreamStringRef@@QAE@ABVQStringRef@@@Z @ 3284 NONAME ; QXmlStreamStringRef::QXmlStreamStringRef(class QStringRef const &)
+ ??_EQDeclarativeData@@UAE@I@Z @ 3285 NONAME ; QDeclarativeData::~QDeclarativeData(unsigned int)
+ ?qt_metacall@QSocketNotifier@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 3286 NONAME ; int QSocketNotifier::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ??0QXmlStreamAttribute@@QAE@ABVQString@@00@Z @ 3287 NONAME ; QXmlStreamAttribute::QXmlStreamAttribute(class QString const &, class QString const &, class QString const &)
+ ?leftJustified@QString@@QBE?AV1@HVQChar@@_N@Z @ 3288 NONAME ; class QString QString::leftJustified(int, class QChar, bool) const
+ ?isReadable@QDir@@QBE_NXZ @ 3289 NONAME ; bool QDir::isReadable(void) const
+ ??0QAbstractItemModel@@IAE@AAVQAbstractItemModelPrivate@@PAVQObject@@@Z @ 3290 NONAME ; QAbstractItemModel::QAbstractItemModel(class QAbstractItemModelPrivate &, class QObject *)
+ ?qt_error_string@@YA?AVQString@@H@Z @ 3291 NONAME ; class QString qt_error_string(int)
+ ?indexIn@QRegExp@@QBEHABVQString@@HW4CaretMode@1@@Z @ 3292 NONAME ; int QRegExp::indexIn(class QString const &, int, enum QRegExp::CaretMode) const
+ ?daysInMonth@QDate@@QBEHXZ @ 3293 NONAME ; int QDate::daysInMonth(void) const
+ ??6@YA?AVQDebug@@V0@ABVQPointF@@@Z @ 3294 NONAME ; class QDebug operator<<(class QDebug, class QPointF const &)
+ ?toStdWString@QString@@QBE?AV?$basic_string@_WV?$char_traits@_W@std@@V?$allocator@_W@2@@std@@XZ @ 3295 NONAME ; class std::basic_string<wchar_t, class std::char_traits<wchar_t>, class std::allocator<wchar_t> > QString::toStdWString(void) const
+ ?toString@QDate@@QBE?AVQString@@W4DateFormat@Qt@@@Z @ 3296 NONAME ; class QString QDate::toString(enum Qt::DateFormat) const
+ ?joining@QChar@@SA?AW4Joining@1@I@Z @ 3297 NONAME ; enum QChar::Joining QChar::joining(unsigned int)
+ ?dtdPublicId@QXmlStreamReader@@QBE?AVQStringRef@@XZ @ 3298 NONAME ; class QStringRef QXmlStreamReader::dtdPublicId(void) const
+ ?childEvent@QObject@@MAEXPAVQChildEvent@@@Z @ 3299 NONAME ; void QObject::childEvent(class QChildEvent *)
+ ?getStaticMetaObject@QTemporaryFile@@SAABUQMetaObject@@XZ @ 3300 NONAME ; struct QMetaObject const & QTemporaryFile::getStaticMetaObject(void)
+ ?path@QFileInfo@@QBE?AVQString@@XZ @ 3301 NONAME ; class QString QFileInfo::path(void) const
+ ?leftRef@QString@@QBE?AVQStringRef@@H@Z @ 3302 NONAME ; class QStringRef QString::leftRef(int) const
+ ?getStaticMetaObject@QProcess@@SAABUQMetaObject@@XZ @ 3303 NONAME ; struct QMetaObject const & QProcess::getStaticMetaObject(void)
+ ??8QXmlStreamEntityDeclaration@@QBE_NABV0@@Z @ 3304 NONAME ; bool QXmlStreamEntityDeclaration::operator==(class QXmlStreamEntityDeclaration const &) const
+ ?seek@QBuffer@@UAE_N_J@Z @ 3305 NONAME ; bool QBuffer::seek(long long)
+ ?resolveUndeclaredEntity@QXmlStreamEntityResolver@@UAE?AVQString@@ABV2@@Z @ 3306 NONAME ; class QString QXmlStreamEntityResolver::resolveUndeclaredEntity(class QString const &)
+ ?addData@QCryptographicHash@@QAEXPBDH@Z @ 3307 NONAME ; void QCryptographicHash::addData(char const *, int)
+ ?invokeMethod@QMetaObject@@SA_NPAVQObject@@PBDW4ConnectionType@Qt@@VQGenericReturnArgument@@VQGenericArgument@@444444444@Z @ 3308 NONAME ; bool QMetaObject::invokeMethod(class QObject *, char const *, enum Qt::ConnectionType, class QGenericReturnArgument, class QGenericArgument, class QGenericArgument, class QGenericArgument, class QGenericArgument, class QGenericArgument, class QGenericArgument, class QGenericArgument, class QGenericArgument, class QGenericArgument, class QGenericArgument)
+ ?leftJustified@QByteArray@@QBE?AV1@HD_N@Z @ 3309 NONAME ; class QByteArray QByteArray::leftJustified(int, char, bool) const
+ ?QBasicAtomicPointer_testAndSetOrdered@@YA_NPCRAXPAX1@Z @ 3310 NONAME ; bool QBasicAtomicPointer_testAndSetOrdered(void * volatile *, void *, void *)
+ ?codecForCStrings@QString@@0PAVQTextCodec@@A @ 3311 NONAME ; class QTextCodec * QString::codecForCStrings
+ ??0QByteArray@@QAE@PBD@Z @ 3312 NONAME ; QByteArray::QByteArray(char const *)
+ ?isAtBoundary@QTextBoundaryFinder@@QBE_NXZ @ 3313 NONAME ; bool QTextBoundaryFinder::isAtBoundary(void) const
+ ?string@QStringRef@@QBEPBVQString@@XZ @ 3314 NONAME ; class QString const * QStringRef::string(void) const
+ ?supportedDragActions@QAbstractItemModel@@QBE?AV?$QFlags@W4DropAction@Qt@@@@XZ @ 3315 NONAME ; class QFlags<enum Qt::DropAction> QAbstractItemModel::supportedDragActions(void) const
+ ?node_create@QMapData@@QAEPAUNode@1@QAPAU21@H@Z @ 3316 NONAME ; struct QMapData::Node * QMapData::node_create(struct QMapData::Node * * const, int)
+ ?dropMimeData@QAbstractListModel@@UAE_NPBVQMimeData@@W4DropAction@Qt@@HHABVQModelIndex@@@Z @ 3317 NONAME ; bool QAbstractListModel::dropMimeData(class QMimeData const *, enum Qt::DropAction, int, int, class QModelIndex const &)
+ ?start@QThread@@QAEXW4Priority@1@@Z @ 3318 NONAME ; void QThread::start(enum QThread::Priority)
+ ?d_func@QSignalMapper@@ABEPBVQSignalMapperPrivate@@XZ @ 3319 NONAME ; class QSignalMapperPrivate const * QSignalMapper::d_func(void) const
+ ?d_func@QIODevice@@AAEPAVQIODevicePrivate@@XZ @ 3320 NONAME ; class QIODevicePrivate * QIODevice::d_func(void)
+ ?is_app_closing@QCoreApplicationPrivate@@2_NA @ 3321 NONAME ; bool QCoreApplicationPrivate::is_app_closing
+ ?qt_metacall@QCoreApplication@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 3322 NONAME ; int QCoreApplication::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?stringToLongLong@QLocalePrivate@@QBE_JABVQString@@HPA_NW4GroupSeparatorMode@1@@Z @ 3323 NONAME ; long long QLocalePrivate::stringToLongLong(class QString const &, int, bool *, enum QLocalePrivate::GroupSeparatorMode) const
+ ??0QXmlStreamNotationDeclaration@@QAE@XZ @ 3324 NONAME ; QXmlStreamNotationDeclaration::QXmlStreamNotationDeclaration(void)
+ ?removeDeferredActiveObject@QEventDispatcherSymbian@@QAEXPAVQActiveObject@@@Z @ 3325 NONAME ; void QEventDispatcherSymbian::removeDeferredActiveObject(class QActiveObject *)
+ ?latin1@QLatin1String@@QBEPBDXZ @ 3326 NONAME ; char const * QLatin1String::latin1(void) const
+ ?fetchAndStoreOrdered@QBasicAtomicInt@@QAEHH@Z @ 3327 NONAME ; int QBasicAtomicInt::fetchAndStoreOrdered(int)
+ ?atEnd@QBuffer@@UBE_NXZ @ 3328 NONAME ; bool QBuffer::atEnd(void) const
+ ?lineNumber@QXmlStreamReader@@QBE_JXZ @ 3329 NONAME ; long long QXmlStreamReader::lineNumber(void) const
+ ??0QEventDispatcherSymbian@@QAE@PAVQObject@@@Z @ 3330 NONAME ; QEventDispatcherSymbian::QEventDispatcherSymbian(class QObject *)
+ ?readyReadStandardOutput@QProcess@@IAEXXZ @ 3331 NONAME ; void QProcess::readyReadStandardOutput(void)
+ ?s60Version@QSysInfo@@SA?AW4S60Version@1@XZ @ 3332 NONAME ; enum QSysInfo::S60Version QSysInfo::s60Version(void)
+ ?customType@QEasingCurve@@QBEP6AMM@ZXZ @ 3333 NONAME ; float (*)(float) QEasingCurve::customType(void) const
+ ?canReadLine@QIODevice@@UBE_NXZ @ 3334 NONAME ; bool QIODevice::canReadLine(void) const
+ ?q_func@QAbstractTransitionPrivate@@ABEPBVQAbstractTransition@@XZ @ 3335 NONAME ; class QAbstractTransition const * QAbstractTransitionPrivate::q_func(void) const
+ ??0QRectF@@QAE@MMMM@Z @ 3336 NONAME ; QRectF::QRectF(float, float, float, float)
+ ?unicode@QString@@QBEPBVQChar@@XZ @ 3337 NONAME ; class QChar const * QString::unicode(void) const
+ ??0QVariant@@AAE@_NH@Z @ 3338 NONAME ; QVariant::QVariant(bool, int)
+ ?setRealNumberNotation@QTextStream@@QAEXW4RealNumberNotation@1@@Z @ 3339 NONAME ; void QTextStream::setRealNumberNotation(enum QTextStream::RealNumberNotation)
+ ?arg@QString@@QBE?AV1@KHHABVQChar@@@Z @ 3340 NONAME ; class QString QString::arg(unsigned long, int, int, class QChar const &) const
+ ?get@QEventTransitionPrivate@@SAPAV1@PAVQEventTransition@@@Z @ 3341 NONAME ; class QEventTransitionPrivate * QEventTransitionPrivate::get(class QEventTransition *)
+ ?fallbackLocale@QSystemLocale@@UBE?AVQLocale@@XZ @ 3342 NONAME ; class QLocale QSystemLocale::fallbackLocale(void) const
+ ?codecForCStrings@QTextCodec@@SAPAV1@XZ @ 3343 NONAME ; class QTextCodec * QTextCodec::codecForCStrings(void)
+ ?length@QByteArray@@QBEHXZ @ 3344 NONAME ; int QByteArray::length(void) const
+ ?setDefaultFormat@QSettings@@SAXW4Format@1@@Z @ 3345 NONAME ; void QSettings::setDefaultFormat(enum QSettings::Format)
+ ?signal@QSignalTransition@@QBE?AVQByteArray@@XZ @ 3346 NONAME ; class QByteArray QSignalTransition::signal(void) const
+ ?metaObject@QLibrary@@UBEPBUQMetaObject@@XZ @ 3347 NONAME ; struct QMetaObject const * QLibrary::metaObject(void) const
+ ?shared_empty@QByteArray@@0UData@1@A @ 3348 NONAME ; struct QByteArray::Data QByteArray::shared_empty
+ ?scheme@QUrl@@QBE?AVQString@@XZ @ 3349 NONAME ; class QString QUrl::scheme(void) const
+ ?data_ptr@QUrl@@QAEAAPAVQUrlPrivate@@XZ @ 3350 NONAME ; class QUrlPrivate * & QUrl::data_ptr(void)
+ ?count@QByteArray@@QBEHD@Z @ 3351 NONAME ; int QByteArray::count(char) const
+ ??4QCharRef@@QAEAAV0@ABVQChar@@@Z @ 3352 NONAME ; class QCharRef & QCharRef::operator=(class QChar const &)
+ ?staticMetaObject@QAnimationGroup@@2UQMetaObject@@B @ 3353 NONAME ; struct QMetaObject const QAnimationGroup::staticMetaObject
+ ?aboutToQuit@QCoreApplication@@IAEXXZ @ 3354 NONAME ; void QCoreApplication::aboutToQuit(void)
+ ?appName@QCoreApplicationPrivate@@UBE?AVQString@@XZ @ 3355 NONAME ; class QString QCoreApplicationPrivate::appName(void) const
+ ??1QXmlStreamEntityDeclaration@@QAE@XZ @ 3356 NONAME ; QXmlStreamEntityDeclaration::~QXmlStreamEntityDeclaration(void)
+ ?openMode@QIODevice@@QBE?AV?$QFlags@W4OpenModeFlag@QIODevice@@@@XZ @ 3357 NONAME ; class QFlags<enum QIODevice::OpenModeFlag> QIODevice::openMode(void) const
+ ?mapped@QSignalMapper@@IAEXPAVQWidget@@@Z @ 3358 NONAME ; void QSignalMapper::mapped(class QWidget *)
+ ?current@QDir@@SA?AV1@XZ @ 3359 NONAME ; class QDir QDir::current(void)
+ ??NQDate@@QBE_NABV0@@Z @ 3360 NONAME ; bool QDate::operator<=(class QDate const &) const
+ ?setTextModeEnabled@QIODevice@@QAEX_N@Z @ 3361 NONAME ; void QIODevice::setTextModeEnabled(bool)
+ ?keyCount@QMetaEnum@@QBEHXZ @ 3362 NONAME ; int QMetaEnum::keyCount(void) const
+ ??6QDataStream@@QAEAAV0@C@Z @ 3363 NONAME ; class QDataStream & QDataStream::operator<<(signed char)
+ ?setHeaderData@QAbstractItemModel@@UAE_NHW4Orientation@Qt@@ABVQVariant@@H@Z @ 3364 NONAME ; bool QAbstractItemModel::setHeaderData(int, enum Qt::Orientation, class QVariant const &, int)
+ ?pid@QProcess@@QBE_JXZ @ 3365 NONAME ; long long QProcess::pid(void) const
+ ?registerType@QMetaType@@SAHPBDP6AXPAX@ZP6APAXPBX@Z@Z @ 3366 NONAME ; int QMetaType::registerType(char const *, void (*)(void *), void * (*)(void const *))
+ ?setNum@QString@@QAEAAV1@JH@Z @ 3367 NONAME ; class QString & QString::setNum(long, int)
+ ?trUtf8@QSignalTransition@@SA?AVQString@@PBD0@Z @ 3368 NONAME ; class QString QSignalTransition::trUtf8(char const *, char const *)
+ ?isDigit@QChar@@QBE_NXZ @ 3369 NONAME ; bool QChar::isDigit(void) const
+ ?registerEventType@QEvent@@SAHH@Z @ 3370 NONAME ; int QEvent::registerEventType(int)
+ ?sectionNode@QDateTimeParser@@QBEABUSectionNode@1@H@Z @ 3371 NONAME ; struct QDateTimeParser::SectionNode const & QDateTimeParser::sectionNode(int) const
+ ?qAllocMore@@YAHHH@Z @ 3372 NONAME ; int qAllocMore(int, int)
+ ?end@QListData@@QBEPAPAXXZ @ 3373 NONAME ; void * * QListData::end(void) const
+ ?available@QSemaphore@@QBEHXZ @ 3374 NONAME ; int QSemaphore::available(void) const
+ ?qt_metacall@QSignalTransition@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 3375 NONAME ; int QSignalTransition::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?addConnection@QObjectPrivate@@QAEXHPAUConnection@1@@Z @ 3376 NONAME ; void QObjectPrivate::addConnection(int, struct QObjectPrivate::Connection *)
+ ??0QUrl@@QAE@ABV0@@Z @ 3377 NONAME ; QUrl::QUrl(class QUrl const &)
+ ??0QXmlStreamEntityDeclaration@@QAE@ABV0@@Z @ 3378 NONAME ; QXmlStreamEntityDeclaration::QXmlStreamEntityDeclaration(class QXmlStreamEntityDeclaration const &)
+ ?setUserName@QUrl@@QAEXABVQString@@@Z @ 3379 NONAME ; void QUrl::setUserName(class QString const &)
+ ?copy@QFSFileEngine@@UAE_NABVQString@@@Z @ 3380 NONAME ; bool QFSFileEngine::copy(class QString const &)
+ ?setPath@QUrl@@QAEXABVQString@@@Z @ 3381 NONAME ; void QUrl::setPath(class QString const &)
+ ?readData@QFile@@MAE_JPAD_J@Z @ 3382 NONAME ; long long QFile::readData(char *, long long)
+ ?copy@QFile@@SA_NABVQString@@0@Z @ 3383 NONAME ; bool QFile::copy(class QString const &, class QString const &)
+ ?canEncode@QTextCodec@@QBE_NABVQString@@@Z @ 3384 NONAME ; bool QTextCodec::canEncode(class QString const &) const
+ ??_EQTextCodecFactoryInterface@@UAE@I@Z @ 3385 NONAME ; QTextCodecFactoryInterface::~QTextCodecFactoryInterface(unsigned int)
+ ?qt_metacall@QFileSystemWatcher@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 3386 NONAME ; int QFileSystemWatcher::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?invalidatePersistentIndex@QAbstractItemModelPrivate@@QAEXABVQModelIndex@@@Z @ 3387 NONAME ; void QAbstractItemModelPrivate::invalidatePersistentIndex(class QModelIndex const &)
+ ?dayName@QLocale@@QBE?AVQString@@HW4FormatType@1@@Z @ 3388 NONAME ; class QString QLocale::dayName(int, enum QLocale::FormatType) const
+ ??_EQObject@@UAE@I@Z @ 3389 NONAME ; QObject::~QObject(unsigned int)
+ ?hasChildren@QAbstractTableModel@@EBE_NABVQModelIndex@@@Z @ 3390 NONAME ; bool QAbstractTableModel::hasChildren(class QModelIndex const &) const
+ ?isValid@QRectF@@QBE_NXZ @ 3391 NONAME ; bool QRectF::isValid(void) const
+ ?handleFilteredEvent@QStateMachinePrivate@@QAEXPAVQObject@@PAVQEvent@@@Z @ 3392 NONAME ; void QStateMachinePrivate::handleFilteredEvent(class QObject *, class QEvent *)
+ ?digitValue@QChar@@SAHI@Z @ 3393 NONAME ; int QChar::digitValue(unsigned int)
+ ?write@QIODevice@@QAE_JABVQByteArray@@@Z @ 3394 NONAME ; long long QIODevice::write(class QByteArray const &)
+ ?isNull@QVariant@@QBE_NXZ @ 3395 NONAME ; bool QVariant::isNull(void) const
+ ?removeAllEncodedQueryItems@QUrl@@QAEXABVQByteArray@@@Z @ 3396 NONAME ; void QUrl::removeAllEncodedQueryItems(class QByteArray const &)
+ ?rowsInserted@QAbstractItemModel@@AAEXABVQModelIndex@@HH@Z @ 3397 NONAME ; void QAbstractItemModel::rowsInserted(class QModelIndex const &, int, int)
+ ?decompositionTag@QChar@@QBE?AW4Decomposition@1@XZ @ 3398 NONAME ; enum QChar::Decomposition QChar::decompositionTag(void) const
+ ?interpolated@QVariantAnimation@@MBE?AVQVariant@@ABV2@0M@Z @ 3399 NONAME ; class QVariant QVariantAnimation::interpolated(class QVariant const &, class QVariant const &, float) const
+ ?data_ptr@QString@@QAEAAPAUData@1@XZ @ 3400 NONAME ; struct QString::Data * & QString::data_ptr(void)
+ ?languageToString@QLocale@@SA?AVQString@@W4Language@1@@Z @ 3401 NONAME ; class QString QLocale::languageToString(enum QLocale::Language)
+ ?fetchAndStoreRelease@QBasicAtomicInt@@QAEHH@Z @ 3402 NONAME ; int QBasicAtomicInt::fetchAndStoreRelease(int)
+ ?machine@QAbstractTransition@@QBEPAVQStateMachine@@XZ @ 3403 NONAME ; class QStateMachine * QAbstractTransition::machine(void) const
+ ?doubleToString@QLocalePrivate@@QBE?AVQString@@NHW4DoubleForm@1@HI@Z @ 3404 NONAME ; class QString QLocalePrivate::doubleToString(double, int, enum QLocalePrivate::DoubleForm, int, unsigned int) const
+ ?direction@QAbstractAnimation@@QBE?AW4Direction@1@XZ @ 3405 NONAME ; enum QAbstractAnimation::Direction QAbstractAnimation::direction(void) const
+ ?q_func@QAbstractItemModelPrivate@@AAEPAVQAbstractItemModel@@XZ @ 3406 NONAME ; class QAbstractItemModel * QAbstractItemModelPrivate::q_func(void)
+ ?waitForDone@QThreadPool@@QAEXXZ @ 3407 NONAME ; void QThreadPool::waitForDone(void)
+ ?timerEvent@QObject@@MAEXPAVQTimerEvent@@@Z @ 3408 NONAME ; void QObject::timerEvent(class QTimerEvent *)
+ ?group@QFileInfo@@QBE?AVQString@@XZ @ 3409 NONAME ; class QString QFileInfo::group(void) const
+ ?currentDateTime@QDateTime@@SA?AV1@XZ @ 3410 NONAME ; class QDateTime QDateTime::currentDateTime(void)
+ ?normalized@QString@@QBE?AV1@W4NormalizationForm@1@@Z @ 3411 NONAME ; class QString QString::normalized(enum QString::NormalizationForm) const
+ ?child@QModelIndex@@QBE?AV1@HH@Z @ 3412 NONAME ; class QModelIndex QModelIndex::child(int, int) const
+ ??0QWaitCondition@@QAE@XZ @ 3413 NONAME ; QWaitCondition::QWaitCondition(void)
+ ??0QLine@@QAE@HHHH@Z @ 3414 NONAME ; QLine::QLine(int, int, int, int)
+ ?setPort@QUrl@@QAEXH@Z @ 3415 NONAME ; void QUrl::setPort(int)
+ ?activateCallbacks@QInternal@@SA_NW4Callback@1@PAPAX@Z @ 3416 NONAME ; bool QInternal::activateCallbacks(enum QInternal::Callback, void * *)
+ ?replace@QString@@QAEAAV1@HHPBVQChar@@H@Z @ 3417 NONAME ; class QString & QString::replace(int, int, class QChar const *, int)
+ ?toUnicode@QTextDecoder@@QAE?AVQString@@PBDH@Z @ 3418 NONAME ; class QString QTextDecoder::toUnicode(char const *, int)
+ ?category@QChar@@SA?AW4Category@1@G@Z @ 3419 NONAME ; enum QChar::Category QChar::category(unsigned short)
+ ?endGroup@QSettings@@QAEXXZ @ 3420 NONAME ; void QSettings::endGroup(void)
+ ?addExtraNamespaceDeclaration@QXmlStreamReader@@QAEXABVQXmlStreamNamespaceDeclaration@@@Z @ 3421 NONAME ; void QXmlStreamReader::addExtraNamespaceDeclaration(class QXmlStreamNamespaceDeclaration const &)
+ ?localeAwareCompare@QString@@QBEHABVQStringRef@@@Z @ 3422 NONAME ; int QString::localeAwareCompare(class QStringRef const &) const
+ ?adjust@QRect@@QAEXHHHH@Z @ 3423 NONAME ; void QRect::adjust(int, int, int, int)
+ ?resetCurrentSender@QObjectPrivate@@SAXPAVQObject@@PAUSender@1@1@Z @ 3424 NONAME ; void QObjectPrivate::resetCurrentSender(class QObject *, struct QObjectPrivate::Sender *, struct QObjectPrivate::Sender *)
+ ?restart@QTime@@QAEHXZ @ 3425 NONAME ; int QTime::restart(void)
+ ?getStaticMetaObject@QFinalState@@SAABUQMetaObject@@XZ @ 3426 NONAME ; struct QMetaObject const & QFinalState::getStaticMetaObject(void)
+ ?fromString@QDateTimeParser@@QBE_NABVQString@@PAVQDate@@PAVQTime@@@Z @ 3427 NONAME ; bool QDateTimeParser::fromString(class QString const &, class QDate *, class QTime *) const
+ ??1QAbstractListModel@@UAE@XZ @ 3428 NONAME ; QAbstractListModel::~QAbstractListModel(void)
+ ??0QStringRef@@QAE@PBVQString@@@Z @ 3429 NONAME ; QStringRef::QStringRef(class QString const *)
+ ?staticMetaObject@QStateMachine@@2UQMetaObject@@B @ 3430 NONAME ; struct QMetaObject const QStateMachine::staticMetaObject
+ ?x@QRectF@@QBEMXZ @ 3431 NONAME ; float QRectF::x(void) const
+ ?setRow@QCharRef@@QAEXE@Z @ 3432 NONAME ; void QCharRef::setRow(unsigned char)
+ ??5QDataStream@@QAEAAV0@AAM@Z @ 3433 NONAME ; class QDataStream & QDataStream::operator>>(float &)
+ ?dynamicPropertyNames@QObject@@QBE?AV?$QList@VQByteArray@@@@XZ @ 3434 NONAME ; class QList<class QByteArray> QObject::dynamicPropertyNames(void) const
+ ?detach@QUrl@@QAEXXZ @ 3435 NONAME ; void QUrl::detach(void)
+ ?skipWhiteSpace@QTextStream@@QAEXXZ @ 3436 NONAME ; void QTextStream::skipWhiteSpace(void)
+ ??CQHBufC@@QBEPBVHBufC16@@XZ @ 3437 NONAME ; class HBufC16 const * QHBufC::operator->(void) const
+ ?d_func@QPauseAnimation@@ABEPBVQPauseAnimationPrivate@@XZ @ 3438 NONAME ; class QPauseAnimationPrivate const * QPauseAnimation::d_func(void) const
+ ?clearError@QStateMachine@@QAEXXZ @ 3439 NONAME ; void QStateMachine::clearError(void)
+ ?write@QMetaProperty@@QBE_NPAVQObject@@ABVQVariant@@@Z @ 3440 NONAME ; bool QMetaProperty::write(class QObject *, class QVariant const &) const
+ ?localeAwareCompare@QStringRef@@QBEHABV1@@Z @ 3441 NONAME ; int QStringRef::localeAwareCompare(class QStringRef const &) const
+ ?usleep@QThread@@KAXK@Z @ 3442 NONAME ; void QThread::usleep(unsigned long)
+ ?codecForUtfText@QTextCodec@@SAPAV1@ABVQByteArray@@@Z @ 3443 NONAME ; class QTextCodec * QTextCodec::codecForUtfText(class QByteArray const &)
+ ?forcesign@@YAAAVQTextStream@@AAV1@@Z @ 3444 NONAME ; class QTextStream & forcesign(class QTextStream &)
+ ?isValid@QTime@@QBE_NXZ @ 3445 NONAME ; bool QTime::isValid(void) const
+ ?cmp@QVariant@@IBE_NABV1@@Z @ 3446 NONAME ; bool QVariant::cmp(class QVariant const &) const
+ ?metaObject@QTimer@@UBEPBUQMetaObject@@XZ @ 3447 NONAME ; struct QMetaObject const * QTimer::metaObject(void) const
+ ?autoFormattingIndent@QXmlStreamWriter@@QBEHXZ @ 3448 NONAME ; int QXmlStreamWriter::autoFormattingIndent(void) const
+ ?homePath@QFSFileEngine@@SA?AVQString@@XZ @ 3449 NONAME ; class QString QFSFileEngine::homePath(void)
+ ?contains@QString@@QBE?AVQBool@@ABVQRegExp@@@Z @ 3450 NONAME ; class QBool QString::contains(class QRegExp const &) const
+ ??BQIncompatibleFlag@@QBEHXZ @ 3451 NONAME ; QIncompatibleFlag::operator int(void) const
+ ?isEmpty@QTranslator@@UBE_NXZ @ 3452 NONAME ; bool QTranslator::isEmpty(void) const
+ ?qt_metacall@QTextCodecPlugin@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 3453 NONAME ; int QTextCodecPlugin::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?iniCodec@QSettings@@QBEPAVQTextCodec@@XZ @ 3454 NONAME ; class QTextCodec * QSettings::iniCodec(void) const
+ ??0QEventTransition@@IAE@AAVQEventTransitionPrivate@@PAVQObject@@W4Type@QEvent@@PAVQState@@@Z @ 3455 NONAME ; QEventTransition::QEventTransition(class QEventTransitionPrivate &, class QObject *, enum QEvent::Type, class QState *)
+ ?setCodecForCStrings@QTextCodec@@SAXPAV1@@Z @ 3456 NONAME ; void QTextCodec::setCodecForCStrings(class QTextCodec *)
+ ?globalRestorePolicy@QStateMachine@@QBE?AW4RestorePolicy@1@XZ @ 3457 NONAME ; enum QStateMachine::RestorePolicy QStateMachine::globalRestorePolicy(void) const
+ ?removeAnimation@QAnimationGroup@@QAEXPAVQAbstractAnimation@@@Z @ 3458 NONAME ; void QAnimationGroup::removeAnimation(class QAbstractAnimation *)
+ ?setPassword@QUrl@@QAEXABVQString@@@Z @ 3459 NONAME ; void QUrl::setPassword(class QString const &)
+ ?updateDirection@QAbstractAnimation@@MAEXW4Direction@1@@Z @ 3460 NONAME ; void QAbstractAnimation::updateDirection(enum QAbstractAnimation::Direction)
+ ?qt_int_sqrt@@YAII@Z @ 3461 NONAME ; unsigned int qt_int_sqrt(unsigned int)
+ ?canReadLine@QBuffer@@UBE_NXZ @ 3462 NONAME ; bool QBuffer::canReadLine(void) const
+ ??_EQPropertyAnimation@@UAE@I@Z @ 3463 NONAME ; QPropertyAnimation::~QPropertyAnimation(unsigned int)
+ ?qtTrId@@YA?AVQString@@PBDH@Z @ 3464 NONAME ; class QString qtTrId(char const *, int)
+ ?loadHints@QPluginLoader@@QBE?AV?$QFlags@W4LoadHint@QLibrary@@@@XZ @ 3465 NONAME ; class QFlags<enum QLibrary::LoadHint> QPluginLoader::loadHints(void) const
+ ??5QTextStream@@QAEAAV0@AAK@Z @ 3466 NONAME ; class QTextStream & QTextStream::operator>>(unsigned long &)
+ ?getDigit@QDateTimeParser@@QBEHABVQDateTime@@H@Z @ 3467 NONAME ; int QDateTimeParser::getDigit(class QDateTime const &, int) const
+ ?continueFreeData@QMapData@@QAEXH@Z @ 3468 NONAME ; void QMapData::continueFreeData(int)
+ ?size@QIODevice@@UBE_JXZ @ 3469 NONAME ; long long QIODevice::size(void) const
+ ??0QAbstractTransition@@IAE@AAVQAbstractTransitionPrivate@@PAVQState@@@Z @ 3470 NONAME ; QAbstractTransition::QAbstractTransition(class QAbstractTransitionPrivate &, class QState *)
+ ?detach@QByteArray@@QAEXXZ @ 3471 NONAME ; void QByteArray::detach(void)
+ ??0QChar@@QAE@E@Z @ 3472 NONAME ; QChar::QChar(unsigned char)
+ ?d_func@QSettings@@AAEPAVQSettingsPrivate@@XZ @ 3473 NONAME ; class QSettingsPrivate * QSettings::d_func(void)
+ ??0QProcessEnvironment@@QAE@ABV0@@Z @ 3474 NONAME ; QProcessEnvironment::QProcessEnvironment(class QProcessEnvironment const &)
+ ??9QVariant@@QBE_NABV0@@Z @ 3475 NONAME ; bool QVariant::operator!=(class QVariant const &) const
+ ?toLower@QChar@@SAGG@Z @ 3476 NONAME ; unsigned short QChar::toLower(unsigned short)
+ ?setAutoFormatting@QXmlStreamWriter@@QAEX_N@Z @ 3477 NONAME ; void QXmlStreamWriter::setAutoFormatting(bool)
+ ?setMaxThreadCount@QThreadPool@@QAEXH@Z @ 3478 NONAME ; void QThreadPool::setMaxThreadCount(int)
+ ?trUtf8@QState@@SA?AVQString@@PBD0H@Z @ 3479 NONAME ; class QString QState::trUtf8(char const *, char const *, int)
+ ??0QAbstractAnimation@@IAE@AAVQAbstractAnimationPrivate@@PAVQObject@@@Z @ 3480 NONAME ; QAbstractAnimation::QAbstractAnimation(class QAbstractAnimationPrivate &, class QObject *)
+ ?qt_metacall@QPropertyAnimation@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 3481 NONAME ; int QPropertyAnimation::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?fieldInfo@QDateTimeParser@@QBE?AV?$QFlags@W4FieldInfoFlag@QDateTimeParser@@@@H@Z @ 3482 NONAME ; class QFlags<enum QDateTimeParser::FieldInfoFlag> QDateTimeParser::fieldInfo(int) const
+ ?initialize@QThread@@CAXXZ @ 3483 NONAME ; void QThread::initialize(void)
+ ?toAlignedRect@QRectF@@QBE?AVQRect@@XZ @ 3484 NONAME ; class QRect QRectF::toAlignedRect(void) const
+ ?integerBase@QTextStream@@QBEHXZ @ 3485 NONAME ; int QTextStream::integerBase(void) const
+ ??OQDateTime@@QBE_NABV0@@Z @ 3486 NONAME ; bool QDateTime::operator>(class QDateTime const &) const
+ ?setPermissions@QAbstractFileEngine@@UAE_NI@Z @ 3487 NONAME ; bool QAbstractFileEngine::setPermissions(unsigned int)
+ ?size@QBitArray@@QBEHXZ @ 3488 NONAME ; int QBitArray::size(void) const
+ ??0QLineF@@QAE@ABVQLine@@@Z @ 3489 NONAME ; QLineF::QLineF(class QLine const &)
+ ?fromUtf16@QString@@SA?AV1@PBGH@Z @ 3490 NONAME ; class QString QString::fromUtf16(unsigned short const *, int)
+ ??0QVariant@@AAE@PAX@Z @ 3491 NONAME ; QVariant::QVariant(void *)
+ ??0QXmlStreamEntityDeclaration@@QAE@XZ @ 3492 NONAME ; QXmlStreamEntityDeclaration::QXmlStreamEntityDeclaration(void)
+ ?qt_check_pointer@@YAXPBDH@Z @ 3493 NONAME ; void qt_check_pointer(char const *, int)
+ ?codecForUtfText@QTextCodec@@SAPAV1@ABVQByteArray@@PAV1@@Z @ 3494 NONAME ; class QTextCodec * QTextCodec::codecForUtfText(class QByteArray const &, class QTextCodec *)
+ ?pattern@QStringMatcher@@QBE?AVQString@@XZ @ 3495 NONAME ; class QString QStringMatcher::pattern(void) const
+ ?insertRows@QAbstractItemModel@@UAE_NHHABVQModelIndex@@@Z @ 3496 NONAME ; bool QAbstractItemModel::insertRows(int, int, class QModelIndex const &)
+ ?fromTime_t@QDateTime@@SA?AV1@I@Z @ 3497 NONAME ; class QDateTime QDateTime::fromTime_t(unsigned int)
+ ?formats@QMimeData@@UBE?AVQStringList@@XZ @ 3498 NONAME ; class QStringList QMimeData::formats(void) const
+ ?readLink@QFile@@SA?AVQString@@ABV2@@Z @ 3499 NONAME ; class QString QFile::readLink(class QString const &)
+ ?isNumber@QCharRef@@QBE_NXZ @ 3500 NONAME ; bool QCharRef::isNumber(void) const
+ ?canonicalFilePath@QFileInfo@@QBE?AVQString@@XZ @ 3501 NONAME ; class QString QFileInfo::canonicalFilePath(void) const
+ ?columnNumber@QXmlStreamReader@@QBE_JXZ @ 3502 NONAME ; long long QXmlStreamReader::columnNumber(void) const
+ ??PQString@@QBE_NABV0@@Z @ 3503 NONAME ; bool QString::operator>=(class QString const &) const
+ ??0QString@@QAE@PBD@Z @ 3504 NONAME ; QString::QString(char const *)
+ ?error@QAbstractFileEngine@@QBE?AW4FileError@QFile@@XZ @ 3505 NONAME ; enum QFile::FileError QAbstractFileEngine::error(void) const
+ ??8@YA_NABVQString@@ABVQStringRef@@@Z @ 3506 NONAME ; bool operator==(class QString const &, class QStringRef const &)
+ ?start@QBasicTimer@@QAEXHPAVQObject@@@Z @ 3507 NONAME ; void QBasicTimer::start(int, class QObject *)
+ ??_0QSize@@QAEAAV0@M@Z @ 3508 NONAME ; class QSize & QSize::operator/=(float)
+ ?fromAscii@QChar@@SA?AV1@D@Z @ 3509 NONAME ; class QChar QChar::fromAscii(char)
+ ??0QMimeData@@QAE@XZ @ 3510 NONAME ; QMimeData::QMimeData(void)
+ ?qRealloc@@YAPAXPAXI@Z @ 3511 NONAME ; void * qRealloc(void *, unsigned int)
+ ?setHeight@QRectF@@QAEXM@Z @ 3512 NONAME ; void QRectF::setHeight(float)
+ ?construct@QMetaType@@SAPAXHPBX@Z @ 3513 NONAME ; void * QMetaType::construct(int, void const *)
+ ??6QDebug@@QAEAAV0@M@Z @ 3514 NONAME ; class QDebug & QDebug::operator<<(float)
+ ?fromLatin1@QChar@@SA?AV1@D@Z @ 3515 NONAME ; class QChar QChar::fromLatin1(char)
+ ??9QRegExp@@QBE_NABV0@@Z @ 3516 NONAME ; bool QRegExp::operator!=(class QRegExp const &) const
+ ?setBuffer@QBuffer@@QAEXPAVQByteArray@@@Z @ 3517 NONAME ; void QBuffer::setBuffer(class QByteArray *)
+ ?get@QStateMachinePrivate@@SAPAV1@PAVQStateMachine@@@Z @ 3518 NONAME ; class QStateMachinePrivate * QStateMachinePrivate::get(class QStateMachine *)
+ ?properties@QUnicodeTables@@YAPBUProperties@1@G@Z @ 3519 NONAME ; struct QUnicodeTables::Properties const * QUnicodeTables::properties(unsigned short)
+ ??4QXmlStreamNotationDeclaration@@QAEAAV0@ABV0@@Z @ 3520 NONAME ; class QXmlStreamNotationDeclaration & QXmlStreamNotationDeclaration::operator=(class QXmlStreamNotationDeclaration const &)
+ ??0QDate@@QAE@XZ @ 3521 NONAME ; QDate::QDate(void)
+ ?filterEvent@QCoreApplication@@QAE_NPAXPAJ@Z @ 3522 NONAME ; bool QCoreApplication::filterEvent(void *, long *)
+ ??1QTextCodecFactoryInterface@@UAE@XZ @ 3523 NONAME ; QTextCodecFactoryInterface::~QTextCodecFactoryInterface(void)
+ ?exitStatus@QProcess@@QBE?AW4ExitStatus@1@XZ @ 3524 NONAME ; enum QProcess::ExitStatus QProcess::exitStatus(void) const
+ ?setEntityResolver@QXmlStreamReader@@QAEXPAVQXmlStreamEntityResolver@@@Z @ 3525 NONAME ; void QXmlStreamReader::setEntityResolver(class QXmlStreamEntityResolver *)
+ ?moveBottomLeft@QRectF@@QAEXABVQPointF@@@Z @ 3526 NONAME ; void QRectF::moveBottomLeft(class QPointF const &)
+ ?getStaticMetaObject@QAbstractState@@SAABUQMetaObject@@XZ @ 3527 NONAME ; struct QMetaObject const & QAbstractState::getStaticMetaObject(void)
+ ?setAngle@QLineF@@QAEXM@Z @ 3528 NONAME ; void QLineF::setAngle(float)
+ ?beginMoveColumns@QAbstractItemModel@@IAE_NABVQModelIndex@@HH0H@Z @ 3529 NONAME ; bool QAbstractItemModel::beginMoveColumns(class QModelIndex const &, int, int, class QModelIndex const &, int)
+ ??0QStringMatcher@@QAE@ABV0@@Z @ 3530 NONAME ; QStringMatcher::QStringMatcher(class QStringMatcher const &)
+ ?sendDeferredSocketEvents@QEventDispatcherSymbian@@AAE_NXZ @ 3531 NONAME ; bool QEventDispatcherSymbian::sendDeferredSocketEvents(void)
+ ?highSurrogate@QChar@@SAGI@Z @ 3532 NONAME ; unsigned short QChar::highSurrogate(unsigned int)
+ ?handle@QFSFileEngine@@UBEHXZ @ 3533 NONAME ; int QFSFileEngine::handle(void) const
+ ?setEventFilter@QCoreApplication@@QAEP6A_NPAXPAJ@ZP6A_N01@Z@Z @ 3534 NONAME ; bool (*)(void *, long *) QCoreApplication::setEventFilter(bool (*)(void *, long *))
+ ?qInitResourceIO@@YAXXZ @ 3535 NONAME ; void qInitResourceIO(void)
+ ?fileEngine@QTemporaryFile@@UBEPAVQAbstractFileEngine@@XZ @ 3536 NONAME ; class QAbstractFileEngine * QTemporaryFile::fileEngine(void) const
+ ?reset@QAbstractItemModel@@IAEXXZ @ 3537 NONAME ; void QAbstractItemModel::reset(void)
+ ?supportsExtension@QAbstractFileEngine@@UBE_NW4Extension@1@@Z @ 3538 NONAME ; bool QAbstractFileEngine::supportsExtension(enum QAbstractFileEngine::Extension) const
+ ?endSelectTransitions@QStateMachine@@MAEXPAVQEvent@@@Z @ 3539 NONAME ; void QStateMachine::endSelectTransitions(class QEvent *)
+ ?d_func@QObject@@ABEPBVQObjectPrivate@@XZ @ 3540 NONAME ; class QObjectPrivate const * QObject::d_func(void) const
+ ?isValid@QDateTime@@QBE_NXZ @ 3541 NONAME ; bool QDateTime::isValid(void) const
+ ?error@QProcess@@IAEXW4ProcessError@1@@Z @ 3542 NONAME ; void QProcess::error(enum QProcess::ProcessError)
+ ?indexOfSignal@QMetaObject@@QBEHPBD@Z @ 3543 NONAME ; int QMetaObject::indexOfSignal(char const *) const
+ ?manhattanLength@QPointF@@QBEMXZ @ 3544 NONAME ; float QPointF::manhattanLength(void) const
+ ?setNumberOptions@QLocale@@QAEXV?$QFlags@W4NumberOption@QLocale@@@@@Z @ 3545 NONAME ; void QLocale::setNumberOptions(class QFlags<enum QLocale::NumberOption>)
+ ?processEvents@QCoreApplication@@SAXV?$QFlags@W4ProcessEventsFlag@QEventLoop@@@@@Z @ 3546 NONAME ; void QCoreApplication::processEvents(class QFlags<enum QEventLoop::ProcessEventsFlag>)
+ ?startsWith@QByteArray@@QBE_NPBD@Z @ 3547 NONAME ; bool QByteArray::startsWith(char const *) const
+ ?list@QLocalePrivate@@QBE?AVQChar@@XZ @ 3548 NONAME ; class QChar QLocalePrivate::list(void) const
+ ?tr@QSharedMemory@@SA?AVQString@@PBD0@Z @ 3549 NONAME ; class QString QSharedMemory::tr(char const *, char const *)
+ ?setEventFilter@QAbstractEventDispatcher@@QAEP6A_NPAX@ZP6A_N0@Z@Z @ 3550 NONAME ; bool (*)(void *) QAbstractEventDispatcher::setEventFilter(bool (*)(void *))
+ ?trUtf8@QProcess@@SA?AVQString@@PBD0@Z @ 3551 NONAME ; class QString QProcess::trUtf8(char const *, char const *)
+ ?currentAnimation@QSequentialAnimationGroup@@QBEPAVQAbstractAnimation@@XZ @ 3552 NONAME ; class QAbstractAnimation * QSequentialAnimationGroup::currentAnimation(void) const
+ ??0QMutex@@QAE@W4RecursionMode@0@@Z @ 3553 NONAME ; QMutex::QMutex(enum QMutex::RecursionMode)
+ ?trUtf8@QTemporaryFile@@SA?AVQString@@PBD0@Z @ 3554 NONAME ; class QString QTemporaryFile::trUtf8(char const *, char const *)
+ ?data@QVariant@@QBEPBXXZ @ 3555 NONAME ; void const * QVariant::data(void) const
+ ?combiningClass@QChar@@SAEI@Z @ 3556 NONAME ; unsigned char QChar::combiningClass(unsigned int)
+ ?setUserData@QObject@@QAEXIPAVQObjectUserData@@@Z @ 3557 NONAME ; void QObject::setUserData(unsigned int, class QObjectUserData *)
+ ?toRectF@QVariant@@QBE?AVQRectF@@XZ @ 3558 NONAME ; class QRectF QVariant::toRectF(void) const
+ ?setNum@QString@@QAEAAV1@_JH@Z @ 3559 NONAME ; class QString & QString::setNum(long long, int)
+ ?setPath@QSettings@@SAXW4Format@1@W4Scope@1@ABVQString@@@Z @ 3560 NONAME ; void QSettings::setPath(enum QSettings::Format, enum QSettings::Scope, class QString const &)
+ ?socket@QSocketNotifier@@QBEHXZ @ 3561 NONAME ; int QSocketNotifier::socket(void) const
+ ?owner@QFSFileEngine@@UBE?AVQString@@W4FileOwner@QAbstractFileEngine@@@Z @ 3562 NONAME ; class QString QFSFileEngine::owner(enum QAbstractFileEngine::FileOwner) const
+ ??0QAbstractFileEngine@@IAE@XZ @ 3563 NONAME ; QAbstractFileEngine::QAbstractFileEngine(void)
+ ??0QEventTransitionPrivate@@QAE@XZ @ 3564 NONAME ; QEventTransitionPrivate::QEventTransitionPrivate(void)
+ ?entryList@QFSFileEngine@@UBE?AVQStringList@@V?$QFlags@W4Filter@QDir@@@@ABV2@@Z @ 3565 NONAME ; class QStringList QFSFileEngine::entryList(class QFlags<enum QDir::Filter>, class QStringList const &) const
+ ?created@QFileInfo@@QBE?AVQDateTime@@XZ @ 3566 NONAME ; class QDateTime QFileInfo::created(void) const
+ ?release@QSystemSemaphore@@QAE_NH@Z @ 3567 NONAME ; bool QSystemSemaphore::release(int)
+ ??1QDynamicPropertyChangeEvent@@UAE@XZ @ 3568 NONAME ; QDynamicPropertyChangeEvent::~QDynamicPropertyChangeEvent(void)
+ ?close@QIODevice@@UAEXXZ @ 3569 NONAME ; void QIODevice::close(void)
+ ??YQPoint@@QAEAAV0@ABV0@@Z @ 3570 NONAME ; class QPoint & QPoint::operator+=(class QPoint const &)
+ ?getStaticMetaObject@QFactoryLoader@@SAABUQMetaObject@@XZ @ 3571 NONAME ; struct QMetaObject const & QFactoryLoader::getStaticMetaObject(void)
+ ?cd@QDir@@QAE_NABVQString@@@Z @ 3572 NONAME ; bool QDir::cd(class QString const &)
+ ??0QCryptographicHash@@QAE@W4Algorithm@0@@Z @ 3573 NONAME ; QCryptographicHash::QCryptographicHash(enum QCryptographicHash::Algorithm)
+ ?rwidth@QSizeF@@QAEAAMXZ @ 3574 NONAME ; float & QSizeF::rwidth(void)
+ ?setEncodedUserName@QUrl@@QAEXABVQByteArray@@@Z @ 3575 NONAME ; void QUrl::setEncodedUserName(class QByteArray const &)
+ ?clear@QStringRef@@QAEXXZ @ 3576 NONAME ; void QStringRef::clear(void)
+ ??0QXmlStreamReader@@QAE@ABVQByteArray@@@Z @ 3577 NONAME ; QXmlStreamReader::QXmlStreamReader(class QByteArray const &)
+ ?putChar@QIODevice@@QAE_ND@Z @ 3578 NONAME ; bool QIODevice::putChar(char)
+ ?codecForHtml@QTextCodec@@SAPAV1@ABVQByteArray@@@Z @ 3579 NONAME ; class QTextCodec * QTextCodec::codecForHtml(class QByteArray const &)
+ ?name@QMetaClassInfo@@QBEPBDXZ @ 3580 NONAME ; char const * QMetaClassInfo::name(void) const
+ ?y2@QLine@@QBEHXZ @ 3581 NONAME ; int QLine::y2(void) const
+ ?isUpper@QChar@@QBE_NXZ @ 3582 NONAME ; bool QChar::isUpper(void) const
+ ??0QLibrary@@QAE@ABVQString@@HPAVQObject@@@Z @ 3583 NONAME ; QLibrary::QLibrary(class QString const &, int, class QObject *)
+ ?tr@QMimeData@@SA?AVQString@@PBD0H@Z @ 3584 NONAME ; class QString QMimeData::tr(char const *, char const *, int)
+ ?cancelDelayedEvent@QStateMachine@@QAE_NH@Z @ 3585 NONAME ; bool QStateMachine::cancelDelayedEvent(int)
+ ??1QDataStream@@UAE@XZ @ 3586 NONAME ; QDataStream::~QDataStream(void)
+ ?readData@QBuffer@@MAE_JPAD_J@Z @ 3587 NONAME ; long long QBuffer::readData(char *, long long)
+ ??1QAbstractFileEngineIterator@@UAE@XZ @ 3588 NONAME ; QAbstractFileEngineIterator::~QAbstractFileEngineIterator(void)
+ ?qUnregisterResourceData@@YA_NHPBE00@Z @ 3589 NONAME ; bool qUnregisterResourceData(int, unsigned char const *, unsigned char const *, unsigned char const *)
+ ?qt_metacast@QThread@@UAEPAXPBD@Z @ 3590 NONAME ; void * QThread::qt_metacast(char const *)
+ ??1QTextBoundaryFinder@@QAE@XZ @ 3591 NONAME ; QTextBoundaryFinder::~QTextBoundaryFinder(void)
+ ??9QByteArray@@QBE_NABVQString@@@Z @ 3592 NONAME ; bool QByteArray::operator!=(class QString const &) const
+ ?checkConnectArgs@QMetaObject@@SA_NPBD0@Z @ 3593 NONAME ; bool QMetaObject::checkConnectArgs(char const *, char const *)
+ ?toUpper@QChar@@SAGG@Z @ 3594 NONAME ; unsigned short QChar::toUpper(unsigned short)
+ ?readChannel@QProcess@@QBE?AW4ProcessChannel@1@XZ @ 3595 NONAME ; enum QProcess::ProcessChannel QProcess::readChannel(void) const
+ ??0QVariant@@QAE@ABVQByteArray@@@Z @ 3596 NONAME ; QVariant::QVariant(class QByteArray const &)
+ ?getStaticMetaObject@QSocketNotifier@@SAABUQMetaObject@@XZ @ 3597 NONAME ; struct QMetaObject const & QSocketNotifier::getStaticMetaObject(void)
+ ?detach@QBitArray@@QAEXXZ @ 3598 NONAME ; void QBitArray::detach(void)
+ ??4QPersistentModelIndex@@QAEAAV0@ABV0@@Z @ 3599 NONAME ; class QPersistentModelIndex & QPersistentModelIndex::operator=(class QPersistentModelIndex const &)
+ ?qSNaN@@YANXZ @ 3600 NONAME ; double qSNaN(void)
+ ?objectName@QObject@@QBE?AVQString@@XZ @ 3601 NONAME ; class QString QObject::objectName(void) const
+ ?clear@QSettings@@QAEXXZ @ 3602 NONAME ; void QSettings::clear(void)
+ ?trUtf8@QPauseAnimation@@SA?AVQString@@PBD0H@Z @ 3603 NONAME ; class QString QPauseAnimation::trUtf8(char const *, char const *, int)
+ ?setPadChar@QTextStream@@QAEXVQChar@@@Z @ 3604 NONAME ; void QTextStream::setPadChar(class QChar)
+ ?value@QXmlStreamAttributes@@QBE?AVQStringRef@@ABVQLatin1String@@0@Z @ 3605 NONAME ; class QStringRef QXmlStreamAttributes::value(class QLatin1String const &, class QLatin1String const &) const
+ ?tryLockForRead@QReadWriteLock@@QAE_NH@Z @ 3606 NONAME ; bool QReadWriteLock::tryLockForRead(int)
+ ?qt_metacall@QLibrary@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 3607 NONAME ; int QLibrary::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ??5QDataStream@@QAEAAV0@AAF@Z @ 3608 NONAME ; class QDataStream & QDataStream::operator>>(short &)
+ ?fileFlags@QAbstractFileEngine@@UBE?AV?$QFlags@W4FileFlag@QAbstractFileEngine@@@@V2@@Z @ 3609 NONAME ; class QFlags<enum QAbstractFileEngine::FileFlag> QAbstractFileEngine::fileFlags(class QFlags<enum QAbstractFileEngine::FileFlag>) const
+ ?name@QXmlStreamEntityDeclaration@@QBE?AVQStringRef@@XZ @ 3610 NONAME ; class QStringRef QXmlStreamEntityDeclaration::name(void) const
+ ?qt_metacall@QTemporaryFile@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 3611 NONAME ; int QTemporaryFile::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?isNull@QRect@@QBE_NXZ @ 3612 NONAME ; bool QRect::isNull(void) const
+ ?trUtf8@QSequentialAnimationGroup@@SA?AVQString@@PBD0H@Z @ 3613 NONAME ; class QString QSequentialAnimationGroup::trUtf8(char const *, char const *, int)
+ ?allQueryItemValues@QUrl@@QBE?AVQStringList@@ABVQString@@@Z @ 3614 NONAME ; class QStringList QUrl::allQueryItemValues(class QString const &) const
+ ??PQTime@@QBE_NABV0@@Z @ 3615 NONAME ; bool QTime::operator>=(class QTime const &) const
+ ?setHtml@QMimeData@@QAEXABVQString@@@Z @ 3616 NONAME ; void QMimeData::setHtml(class QString const &)
+ ?typeName@QVariant@@QBEPBDXZ @ 3617 NONAME ; char const * QVariant::typeName(void) const
+ ?startDetached@QProcess@@SA_NABVQString@@@Z @ 3618 NONAME ; bool QProcess::startDetached(class QString const &)
+ ?fromString@QDate@@SA?AV1@ABVQString@@0@Z @ 3619 NONAME ; class QDate QDate::fromString(class QString const &, class QString const &)
+ ?category@QCharRef@@QBE?AW4Category@QChar@@XZ @ 3620 NONAME ; enum QChar::Category QCharRef::category(void) const
+ ??0QLine@@QAE@ABV0@@Z @ 3621 NONAME ; QLine::QLine(class QLine const &)
+ ?QStringList_sort@QtPrivate@@YAXPAVQStringList@@@Z @ 3622 NONAME ; void QtPrivate::QStringList_sort(class QStringList *)
+ ??1QSignalTransition@@UAE@XZ @ 3623 NONAME ; QSignalTransition::~QSignalTransition(void)
+ ??0QFileInfo@@QAE@ABVQFile@@@Z @ 3624 NONAME ; QFileInfo::QFileInfo(class QFile const &)
+ ?setEventType@QEventTransition@@QAEXW4Type@QEvent@@@Z @ 3625 NONAME ; void QEventTransition::setEventType(enum QEvent::Type)
+ ??4QXmlStreamEntityDeclaration@@QAEAAV0@ABV0@@Z @ 3626 NONAME ; class QXmlStreamEntityDeclaration & QXmlStreamEntityDeclaration::operator=(class QXmlStreamEntityDeclaration const &)
+ ??0QVariant@@QAE@ABVQLatin1String@@@Z @ 3627 NONAME ; QVariant::QVariant(class QLatin1String const &)
+ ?endsWith@QString@@QBE_NABV1@W4CaseSensitivity@Qt@@@Z @ 3628 NONAME ; bool QString::endsWith(class QString const &, enum Qt::CaseSensitivity) const
+ ?isReadable@QFileInfo@@QBE_NXZ @ 3629 NONAME ; bool QFileInfo::isReadable(void) const
+ ?isNull@QStringRef@@QBE_NXZ @ 3630 NONAME ; bool QStringRef::isNull(void) const
+ ?section@QString@@QBE?AV1@ABV1@HHV?$QFlags@W4SectionFlag@QString@@@@@Z @ 3631 NONAME ; class QString QString::section(class QString const &, int, int, class QFlags<enum QString::SectionFlag>) const
+ ?addSearchPath@QDir@@SAXABVQString@@0@Z @ 3632 NONAME ; void QDir::addSearchPath(class QString const &, class QString const &)
+ ??4QCharRef@@QAEAAV0@G@Z @ 3633 NONAME ; class QCharRef & QCharRef::operator=(unsigned short)
+ ??0QPoint@@QAE@HH@Z @ 3634 NONAME ; QPoint::QPoint(int, int)
+ ??0QString@@QAE@ABUNull@0@@Z @ 3635 NONAME ; QString::QString(struct QString::Null const &)
+ ?setFieldWidth@QTextStream@@QAEXH@Z @ 3636 NONAME ; void QTextStream::setFieldWidth(int)
+ ?toULongLong@QLocale@@QBE_JABVQString@@PA_NH@Z @ 3637 NONAME ; long long QLocale::toULongLong(class QString const &, bool *, int) const
+ ??1QRegExp@@QAE@XZ @ 3638 NONAME ; QRegExp::~QRegExp(void)
+ ?translate@QCoreApplication@@SA?AVQString@@PBD00W4Encoding@1@H@Z @ 3639 NONAME ; class QString QCoreApplication::translate(char const *, char const *, char const *, enum QCoreApplication::Encoding, int)
+ ?setBottom@QRect@@QAEXH@Z @ 3640 NONAME ; void QRect::setBottom(int)
+ ?isNull@QPointF@@QBE_NXZ @ 3641 NONAME ; bool QPointF::isNull(void) const
+ ?enclosingMetaObject@QMetaProperty@@QBEPBUQMetaObject@@XZ @ 3642 NONAME ; struct QMetaObject const * QMetaProperty::enclosingMetaObject(void) const
+ ??YQPointF@@QAEAAV0@ABV0@@Z @ 3643 NONAME ; class QPointF & QPointF::operator+=(class QPointF const &)
+ ?sectionMaxSize@QDateTimeParser@@QBEHW4Section@1@H@Z @ 3644 NONAME ; int QDateTimeParser::sectionMaxSize(enum QDateTimeParser::Section, int) const
+ ?top@QRect@@QBEHXZ @ 3645 NONAME ; int QRect::top(void) const
+ ?tr@QTextCodecPlugin@@SA?AVQString@@PBD0H@Z @ 3646 NONAME ; class QString QTextCodecPlugin::tr(char const *, char const *, int)
+ ?updateInterval@QTimeLine@@QBEHXZ @ 3647 NONAME ; int QTimeLine::updateInterval(void) const
+ ?trUtf8@QFile@@SA?AVQString@@PBD0H@Z @ 3648 NONAME ; class QString QFile::trUtf8(char const *, char const *, int)
+ ?data@QVariant@@QAEPAXXZ @ 3649 NONAME ; void * QVariant::data(void)
+ ??5QTextStream@@QAEAAV0@AAD@Z @ 3650 NONAME ; class QTextStream & QTextStream::operator>>(char &)
+ ?insert@QByteArray@@QAEAAV1@HPBDH@Z @ 3651 NONAME ; class QByteArray & QByteArray::insert(int, char const *, int)
+ ?keyToValue@QMetaEnum@@QBEHPBD@Z @ 3652 NONAME ; int QMetaEnum::keyToValue(char const *) const
+ ?internalId@QModelIndex@@QBE_JXZ @ 3653 NONAME ; long long QModelIndex::internalId(void) const
+ ??1QAbstractEventDispatcher@@UAE@XZ @ 3654 NONAME ; QAbstractEventDispatcher::~QAbstractEventDispatcher(void)
+ ?trUtf8@QEventTransition@@SA?AVQString@@PBD0H@Z @ 3655 NONAME ; class QString QEventTransition::trUtf8(char const *, char const *, int)
+ ?getStaticMetaObject@QTranslator@@SAABUQMetaObject@@XZ @ 3656 NONAME ; struct QMetaObject const & QTranslator::getStaticMetaObject(void)
+ ?unregisterSocketNotifier@QEventDispatcherSymbian@@UAEXPAVQSocketNotifier@@@Z @ 3657 NONAME ; void QEventDispatcherSymbian::unregisterSocketNotifier(class QSocketNotifier *)
+ ?destroyAndFree@QHashData@@QAEXXZ @ 3658 NONAME ; void QHashData::destroyAndFree(void)
+ ??0QDataStream@@QAE@ABVQByteArray@@@Z @ 3659 NONAME ; QDataStream::QDataStream(class QByteArray const &)
+ ?namespaceDeclarations@QXmlStreamReader@@QBE?AV?$QVector@VQXmlStreamNamespaceDeclaration@@@@XZ @ 3660 NONAME ; class QVector<class QXmlStreamNamespaceDeclaration> QXmlStreamReader::namespaceDeclarations(void) const
+ ?queryItemValue@QUrl@@QBE?AVQString@@ABV2@@Z @ 3661 NONAME ; class QString QUrl::queryItemValue(class QString const &) const
+ ?finish@QThreadStorageData@@SAXPAPAX@Z @ 3662 NONAME ; void QThreadStorageData::finish(void * *)
+ ?getStaticMetaObject@QAbstractListModel@@SAABUQMetaObject@@XZ @ 3663 NONAME ; struct QMetaObject const & QAbstractListModel::getStaticMetaObject(void)
+ ?trimmed@QString@@QBE?AV1@XZ @ 3664 NONAME ; class QString QString::trimmed(void) const
+ ?direction@QCharRef@@QBE?AW4Direction@QChar@@XZ @ 3665 NONAME ; enum QChar::Direction QCharRef::direction(void) const
+ ??0QObjectCleanupHandler@@QAE@XZ @ 3666 NONAME ; QObjectCleanupHandler::QObjectCleanupHandler(void)
+ ?setHeight@QRect@@QAEXH@Z @ 3667 NONAME ; void QRect::setHeight(int)
+ ?lastIndexOf@QByteArray@@QBEHDH@Z @ 3668 NONAME ; int QByteArray::lastIndexOf(char, int) const
+ ?query@QSystemLocale@@UBE?AVQVariant@@W4QueryType@1@V2@@Z @ 3669 NONAME ; class QVariant QSystemLocale::query(enum QSystemLocale::QueryType, class QVariant) const
+ ?d_func@QIODevice@@ABEPBVQIODevicePrivate@@XZ @ 3670 NONAME ; class QIODevicePrivate const * QIODevice::d_func(void) const
+ ?repeated@QByteArray@@QBE?AV1@H@Z @ 3671 NONAME ; class QByteArray QByteArray::repeated(int) const
+ ?system@QLocale@@SA?AV1@XZ @ 3672 NONAME ; class QLocale QLocale::system(void)
+ ?publicId@QXmlStreamEntityDeclaration@@QBE?AVQStringRef@@XZ @ 3673 NONAME ; class QStringRef QXmlStreamEntityDeclaration::publicId(void) const
+ ?unite@QRect@@QBE?AV1@ABV1@@Z @ 3674 NONAME ; class QRect QRect::unite(class QRect const &) const
+ ?hasHtml@QMimeData@@QBE_NXZ @ 3675 NONAME ; bool QMimeData::hasHtml(void) const
+ ?setStandardOutputFile@QProcess@@QAEXABVQString@@V?$QFlags@W4OpenModeFlag@QIODevice@@@@@Z @ 3676 NONAME ; void QProcess::setStandardOutputFile(class QString const &, class QFlags<enum QIODevice::OpenModeFlag>)
+ ?qFlagLocation@@YAPBDPBD@Z @ 3677 NONAME ; char const * qFlagLocation(char const *)
+ ??PQString@@QBE_NPBD@Z @ 3678 NONAME ; bool QString::operator>=(char const *) const
+ ?metaObject@QTranslator@@UBEPBUQMetaObject@@XZ @ 3679 NONAME ; struct QMetaObject const * QTranslator::metaObject(void) const
+ ??0QTextBoundaryFinder@@QAE@XZ @ 3680 NONAME ; QTextBoundaryFinder::QTextBoundaryFinder(void)
+ ?scope@QSettings@@QBE?AW4Scope@1@XZ @ 3681 NONAME ; enum QSettings::Scope QSettings::scope(void) const
+ ?setCustomType@QEasingCurve@@QAEXP6AMM@Z@Z @ 3682 NONAME ; void QEasingCurve::setCustomType(float (*)(float))
+ ?flush@QCoreApplication@@SAXXZ @ 3683 NONAME ; void QCoreApplication::flush(void)
+ ?left@QRect@@QBEHXZ @ 3684 NONAME ; int QRect::left(void) const
+ ?prefix@QXmlStreamNamespaceDeclaration@@QBE?AVQStringRef@@XZ @ 3685 NONAME ; class QStringRef QXmlStreamNamespaceDeclaration::prefix(void) const
+ ?toUnicode@QTextDecoder@@QAE?AVQString@@ABVQByteArray@@@Z @ 3686 NONAME ; class QString QTextDecoder::toUnicode(class QByteArray const &)
+ ??1QSharedMemory@@UAE@XZ @ 3687 NONAME ; QSharedMemory::~QSharedMemory(void)
+ ?setEncodedQueryItems@QUrl@@QAEXABV?$QList@U?$QPair@VQByteArray@@V1@@@@@@Z @ 3688 NONAME ; void QUrl::setEncodedQueryItems(class QList<struct QPair<class QByteArray, class QByteArray> > const &)
+ ?normalVector@QLineF@@QBE?AV1@XZ @ 3689 NONAME ; class QLineF QLineF::normalVector(void) const
+ ??_EQTextCodecPlugin@@UAE@I@Z @ 3690 NONAME ; QTextCodecPlugin::~QTextCodecPlugin(unsigned int)
+ ?addMonths@QDate@@QBE?AV1@H@Z @ 3691 NONAME ; class QDate QDate::addMonths(int) const
+ ??OQLatin1String@@QBE_NPBD@Z @ 3692 NONAME ; bool QLatin1String::operator>(char const *) const
+ ??0QReadWriteLock@@QAE@W4RecursionMode@0@@Z @ 3693 NONAME ; QReadWriteLock::QReadWriteLock(enum QReadWriteLock::RecursionMode)
+ ??9QLatin1String@@QBE_NPBD@Z @ 3694 NONAME ; bool QLatin1String::operator!=(char const *) const
+ ?hasPendingEvents@QCoreApplication@@SA_NXZ @ 3695 NONAME ; bool QCoreApplication::hasPendingEvents(void)
+ ?open@QFile@@QAE_NHV?$QFlags@W4OpenModeFlag@QIODevice@@@@@Z @ 3696 NONAME ; bool QFile::open(int, class QFlags<enum QIODevice::OpenModeFlag>)
+ ?getStaticMetaObject@QAbstractTableModel@@SAABUQMetaObject@@XZ @ 3697 NONAME ; struct QMetaObject const & QAbstractTableModel::getStaticMetaObject(void)
+ ?isParallel@QStateMachinePrivate@@SA_NPBVQAbstractState@@@Z @ 3698 NONAME ; bool QStateMachinePrivate::isParallel(class QAbstractState const *)
+ ?dir@QFileInfo@@QBE?AVQDir@@XZ @ 3699 NONAME ; class QDir QFileInfo::dir(void) const
+ ??6QDebug@@QAEAAV0@VQTextStreamManipulator@@@Z @ 3700 NONAME ; class QDebug & QDebug::operator<<(class QTextStreamManipulator)
+ ?remove@QProcessEnvironment@@QAEXABVQString@@@Z @ 3701 NONAME ; void QProcessEnvironment::remove(class QString const &)
+ ?hasRestorable@QStateMachinePrivate@@QBE_NPAVQObject@@ABVQByteArray@@@Z @ 3702 NONAME ; bool QStateMachinePrivate::hasRestorable(class QObject *, class QByteArray const &) const
+ ?duration@QParallelAnimationGroup@@UBEHXZ @ 3703 NONAME ; int QParallelAnimationGroup::duration(void) const
+ ?qt_metacall@QParallelAnimationGroup@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 3704 NONAME ; int QParallelAnimationGroup::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?fromString@QDate@@SA?AV1@ABVQString@@W4DateFormat@Qt@@@Z @ 3705 NONAME ; class QDate QDate::fromString(class QString const &, enum Qt::DateFormat)
+ ?password@QUrl@@QBE?AVQString@@XZ @ 3706 NONAME ; class QString QUrl::password(void) const
+ ??0QRect@@QAE@ABV0@@Z @ 3707 NONAME ; QRect::QRect(class QRect const &)
+ ??6QDebug@@QAEAAV0@F@Z @ 3708 NONAME ; class QDebug & QDebug::operator<<(short)
+ ?tr@QIODevice@@SA?AVQString@@PBD0H@Z @ 3709 NONAME ; class QString QIODevice::tr(char const *, char const *, int)
+ ?detach@QFileInfo@@QAEXXZ @ 3710 NONAME ; void QFileInfo::detach(void)
+ ?staticMetaObject@QAbstractState@@2UQMetaObject@@B @ 3711 NONAME ; struct QMetaObject const QAbstractState::staticMetaObject
+ ??0QLocale@@QAE@W4Language@0@W4Country@0@@Z @ 3712 NONAME ; QLocale::QLocale(enum QLocale::Language, enum QLocale::Country)
+ ?staticMetaObject@QTimeLine@@2UQMetaObject@@B @ 3713 NONAME ; struct QMetaObject const QTimeLine::staticMetaObject
+ ??0QParallelAnimationGroup@@IAE@AAVQParallelAnimationGroupPrivate@@PAVQObject@@@Z @ 3714 NONAME ; QParallelAnimationGroup::QParallelAnimationGroup(class QParallelAnimationGroupPrivate &, class QObject *)
+ ??0QTimerEvent@@QAE@H@Z @ 3715 NONAME ; QTimerEvent::QTimerEvent(int)
+ ?tr@QLibrary@@SA?AVQString@@PBD0H@Z @ 3716 NONAME ; class QString QLibrary::tr(char const *, char const *, int)
+ ?ry@QPoint@@QAEAAHXZ @ 3717 NONAME ; int & QPoint::ry(void)
+ ?d_func@QPropertyAnimation@@ABEPBVQPropertyAnimationPrivate@@XZ @ 3718 NONAME ; class QPropertyAnimationPrivate const * QPropertyAnimation::d_func(void) const
+ ??1QTextDecoder@@QAE@XZ @ 3719 NONAME ; QTextDecoder::~QTextDecoder(void)
+ ?cell@QCharRef@@QBEEXZ @ 3720 NONAME ; unsigned char QCharRef::cell(void) const
+ ?metaObject@QAbstractEventDispatcher@@UBEPBUQMetaObject@@XZ @ 3721 NONAME ; struct QMetaObject const * QAbstractEventDispatcher::metaObject(void) const
+ ?toTime_t@QDateTime@@QBEIXZ @ 3722 NONAME ; unsigned int QDateTime::toTime_t(void) const
+ ?rowsRemoved@QAbstractItemModelPrivate@@QAEXABVQModelIndex@@HH@Z @ 3723 NONAME ; void QAbstractItemModelPrivate::rowsRemoved(class QModelIndex const &, int, int)
+ ?negativeSign@QLocale@@QBE?AVQChar@@XZ @ 3724 NONAME ; class QChar QLocale::negativeSign(void) const
+ ??0QVariant@@QAE@PBD@Z @ 3725 NONAME ; QVariant::QVariant(char const *)
+ ?sectionMaxSize@QDateTimeParser@@QBEHH@Z @ 3726 NONAME ; int QDateTimeParser::sectionMaxSize(int) const
+ ??1QTextEncoder@@QAE@XZ @ 3727 NONAME ; QTextEncoder::~QTextEncoder(void)
+ ?sleep@QThread@@KAXK@Z @ 3728 NONAME ; void QThread::sleep(unsigned long)
+ ?append@QXmlStreamAttributes@@QAEXABVQString@@00@Z @ 3729 NONAME ; void QXmlStreamAttributes::append(class QString const &, class QString const &, class QString const &)
+ ??0QObject@@IAE@AAVQObjectPrivate@@PAV0@@Z @ 3730 NONAME ; QObject::QObject(class QObjectPrivate &, class QObject *)
+ ?toSize@QVariant@@QBE?AVQSize@@XZ @ 3731 NONAME ; class QSize QVariant::toSize(void) const
+ ?x1@QLineF@@QBEMXZ @ 3732 NONAME ; float QLineF::x1(void) const
+ ?multiArg@QString@@ABE?AV1@HPAPBV1@@Z @ 3733 NONAME ; class QString QString::multiArg(int, class QString const * *) const
+ ??1QStringMatcher@@QAE@XZ @ 3734 NONAME ; QStringMatcher::~QStringMatcher(void)
+ ?intersects@QRectF@@QBE_NABV1@@Z @ 3735 NONAME ; bool QRectF::intersects(class QRectF const &) const
+ ??0QGenericArgument@@QAE@PBDPBX@Z @ 3736 NONAME ; QGenericArgument::QGenericArgument(char const *, void const *)
+ ?open@QTemporaryFile@@MAE_NV?$QFlags@W4OpenModeFlag@QIODevice@@@@@Z @ 3737 NONAME ; bool QTemporaryFile::open(class QFlags<enum QIODevice::OpenModeFlag>)
+ ?qt_metacast@QThreadPool@@UAEPAXPBD@Z @ 3738 NONAME ; void * QThreadPool::qt_metacast(char const *)
+ ?start@QTime@@QAEXXZ @ 3739 NONAME ; void QTime::start(void)
+ ?append@QString@@QAEAAV1@VQChar@@@Z @ 3740 NONAME ; class QString & QString::append(class QChar)
+ ?systemEnvironment@QProcessEnvironment@@SA?AV1@XZ @ 3741 NONAME ; class QProcessEnvironment QProcessEnvironment::systemEnvironment(void)
+ ?keys@QFactoryLoader@@QBE?AVQStringList@@XZ @ 3742 NONAME ; class QStringList QFactoryLoader::keys(void) const
+ ??YQString@@QAEAAV0@VQChar@@@Z @ 3743 NONAME ; class QString & QString::operator+=(class QChar)
+ ??1QCoreApplication@@UAE@XZ @ 3744 NONAME ; QCoreApplication::~QCoreApplication(void)
+ ?writeRawData@QDataStream@@QAEHPBDH@Z @ 3745 NONAME ; int QDataStream::writeRawData(char const *, int)
+ ?y2@QLineF@@QBEMXZ @ 3746 NONAME ; float QLineF::y2(void) const
+ ?metaObject@QHistoryState@@UBEPBUQMetaObject@@XZ @ 3747 NONAME ; struct QMetaObject const * QHistoryState::metaObject(void) const
+ ?name@QFontLaoCodec@@UBE?AVQByteArray@@XZ @ 3748 NONAME ; class QByteArray QFontLaoCodec::name(void) const
+ ?qcoreStateMachineHandler@@YAPBUHandler@QStateMachinePrivate@@XZ @ 3749 NONAME ; struct QStateMachinePrivate::Handler const * qcoreStateMachineHandler(void)
+ ?bottom@QRectF@@QBEMXZ @ 3750 NONAME ; float QRectF::bottom(void) const
+ ?tag@QMetaMethod@@QBEPBDXZ @ 3751 NONAME ; char const * QMetaMethod::tag(void) const
+ ?readLine@QIODevice@@QAE?AVQByteArray@@_J@Z @ 3752 NONAME ; class QByteArray QIODevice::readLine(long long)
+ ?readNextStartElement@QXmlStreamReader@@QAE_NXZ @ 3753 NONAME ; bool QXmlStreamReader::readNextStartElement(void)
+ ?roleNames@QAbstractItemModel@@QBEABV?$QHash@HVQByteArray@@@@XZ @ 3754 NONAME ; class QHash<int, class QByteArray> const & QAbstractItemModel::roleNames(void) const
+ ?hex@@YAAAVQTextStream@@AAV1@@Z @ 3755 NONAME ; class QTextStream & hex(class QTextStream &)
+ ?getStaticMetaObject@QFileSystemWatcher@@SAABUQMetaObject@@XZ @ 3756 NONAME ; struct QMetaObject const & QFileSystemWatcher::getStaticMetaObject(void)
+ ?metaObject@QThread@@UBEPBUQMetaObject@@XZ @ 3757 NONAME ; struct QMetaObject const * QThread::metaObject(void) const
+ ?isNull@QSizeF@@QBE_NXZ @ 3758 NONAME ; bool QSizeF::isNull(void) const
+ ?isLetterOrNumber@QCharRef@@QAE_NXZ @ 3759 NONAME ; bool QCharRef::isLetterOrNumber(void)
+ ??0QStringRef@@QAE@XZ @ 3760 NONAME ; QStringRef::QStringRef(void)
+ ?is_app_running@QCoreApplicationPrivate@@2_NA @ 3761 NONAME ; bool QCoreApplicationPrivate::is_app_running
+ ?polished@QChildEvent@@QBE_NXZ @ 3762 NONAME ; bool QChildEvent::polished(void) const
+ ?autoDetectUnicode@QTextStream@@QBE_NXZ @ 3763 NONAME ; bool QTextStream::autoDetectUnicode(void) const
+ ?isAttached@QSharedMemory@@QBE_NXZ @ 3764 NONAME ; bool QSharedMemory::isAttached(void) const
+ ?q_func@QAbstractItemModelPrivate@@ABEPBVQAbstractItemModel@@XZ @ 3765 NONAME ; class QAbstractItemModel const * QAbstractItemModelPrivate::q_func(void) const
+ ?isValid@QModelIndex@@QBE_NXZ @ 3766 NONAME ; bool QModelIndex::isValid(void) const
+ ?direction@QTimeLine@@QBE?AW4Direction@1@XZ @ 3767 NONAME ; enum QTimeLine::Direction QTimeLine::direction(void) const
+ ?qWarning@@YA?AVQDebug@@XZ @ 3768 NONAME ; class QDebug qWarning(void)
+ ?nospace@QDebug@@QAEAAV1@XZ @ 3769 NONAME ; class QDebug & QDebug::nospace(void)
+ ?tr@QCoreApplication@@SA?AVQString@@PBD0H@Z @ 3770 NONAME ; class QString QCoreApplication::tr(char const *, char const *, int)
+ ??0QPropertyAnimation@@QAE@PAVQObject@@@Z @ 3771 NONAME ; QPropertyAnimation::QPropertyAnimation(class QObject *)
+ ?unregister@QEventTransitionPrivate@@QAEXXZ @ 3772 NONAME ; void QEventTransitionPrivate::unregister(void)
+ ?closeReadChannel@QProcess@@QAEXW4ProcessChannel@1@@Z @ 3773 NONAME ; void QProcess::closeReadChannel(enum QProcess::ProcessChannel)
+ ?beginMoveRows@QAbstractItemModel@@IAE_NABVQModelIndex@@HH0H@Z @ 3774 NONAME ; bool QAbstractItemModel::beginMoveRows(class QModelIndex const &, int, int, class QModelIndex const &, int)
+ ?toString@QLocale@@QBE?AVQString@@G@Z @ 3775 NONAME ; class QString QLocale::toString(unsigned short) const
+ ??0QProcess@@QAE@PAVQObject@@@Z @ 3776 NONAME ; QProcess::QProcess(class QObject *)
+ ?startsWith@QByteArray@@QBE_ND@Z @ 3777 NONAME ; bool QByteArray::startsWith(char) const
+ ?compare@QString@@QBEHABV1@@Z @ 3778 NONAME ; int QString::compare(class QString const &) const
+ ?run@QThread@@MAEXXZ @ 3779 NONAME ; void QThread::run(void)
+ ?handler@QStateMachinePrivate@@2PBUHandler@1@B @ 3780 NONAME ; struct QStateMachinePrivate::Handler const * const QStateMachinePrivate::handler
+ ?setFileName@QLibrary@@QAEXABVQString@@@Z @ 3781 NONAME ; void QLibrary::setFileName(class QString const &)
+ ?timeout@QTimer@@IAEXXZ @ 3782 NONAME ; void QTimer::timeout(void)
+ ?row@QChar@@QBEEXZ @ 3783 NONAME ; unsigned char QChar::row(void) const
+ ?tr@QTimer@@SA?AVQString@@PBD0@Z @ 3784 NONAME ; class QString QTimer::tr(char const *, char const *)
+ ??0QVariant@@QAE@ABVQTime@@@Z @ 3785 NONAME ; QVariant::QVariant(class QTime const &)
+ ?currentThreadId@QThread@@SAKXZ @ 3786 NONAME ; unsigned long QThread::currentThreadId(void)
+ ?chop@QString@@QAEXH@Z @ 3787 NONAME ; void QString::chop(int)
+ ?isNull@QDateTime@@QBE_NXZ @ 3788 NONAME ; bool QDateTime::isNull(void) const
+ ?height@QRectF@@QBEMXZ @ 3789 NONAME ; float QRectF::height(void) const
+ ?flags@QAbstractItemModel@@UBE?AV?$QFlags@W4ItemFlag@Qt@@@@ABVQModelIndex@@@Z @ 3790 NONAME ; class QFlags<enum Qt::ItemFlag> QAbstractItemModel::flags(class QModelIndex const &) const
+ ?displayText@QDateTimeParser@@UBE?AVQString@@XZ @ 3791 NONAME ; class QString QDateTimeParser::displayText(void) const
+ ?sendPostedEvents@QCoreApplicationPrivate@@SAXPAVQObject@@HPAVQThreadData@@@Z @ 3792 NONAME ; void QCoreApplicationPrivate::sendPostedEvents(class QObject *, int, class QThreadData *)
+ ?staticMetaObject@QAbstractEventDispatcher@@2UQMetaObject@@B @ 3793 NONAME ; struct QMetaObject const QAbstractEventDispatcher::staticMetaObject
+ ?hasPendingEvents@QEventDispatcherSymbian@@UAE_NXZ @ 3794 NONAME ; bool QEventDispatcherSymbian::hasPendingEvents(void)
+ ??6@YA?AVQDebug@@V0@ABVQSizeF@@@Z @ 3795 NONAME ; class QDebug operator<<(class QDebug, class QSizeF const &)
+ ??0QRect@@QAE@ABVQPoint@@ABVQSize@@@Z @ 3796 NONAME ; QRect::QRect(class QPoint const &, class QSize const &)
+ ??0QAbstractItemModel@@QAE@PAVQObject@@@Z @ 3797 NONAME ; QAbstractItemModel::QAbstractItemModel(class QObject *)
+ ?root@QDir@@SA?AV1@XZ @ 3798 NONAME ; class QDir QDir::root(void)
+ ?compare@QStringRef@@QBEHVQLatin1String@@W4CaseSensitivity@Qt@@@Z @ 3799 NONAME ; int QStringRef::compare(class QLatin1String, enum Qt::CaseSensitivity) const
+ ??MQUrl@@QBE_NABV0@@Z @ 3800 NONAME ; bool QUrl::operator<(class QUrl const &) const
+ ?tr@QSignalMapper@@SA?AVQString@@PBD0H@Z @ 3801 NONAME ; class QString QSignalMapper::tr(char const *, char const *, int)
+ ?qHBNewFace@@YAPAUHB_FaceRec_@@PAXP6A?AW4HB_Error@@0IPAEPAI@Z@Z @ 3802 NONAME ; struct HB_FaceRec_ * qHBNewFace(void *, enum HB_Error (*)(void *, unsigned int, unsigned char *, unsigned int *))
+ ?replace@QByteArray@@QAEAAV1@ABV1@PBD@Z @ 3803 NONAME ; class QByteArray & QByteArray::replace(class QByteArray const &, char const *)
+ ?setFileNameAndVersion@QLibrary@@QAEXABVQString@@H@Z @ 3804 NONAME ; void QLibrary::setFileNameAndVersion(class QString const &, int)
+ ?aliases@QTextCodec@@UBE?AV?$QList@VQByteArray@@@@XZ @ 3805 NONAME ; class QList<class QByteArray> QTextCodec::aliases(void) const
+ ??0QBitArray@@QAE@XZ @ 3806 NONAME ; QBitArray::QBitArray(void)
+ ?writeEndElement@QXmlStreamWriter@@QAEXXZ @ 3807 NONAME ; void QXmlStreamWriter::writeEndElement(void)
+ ?endInsertRows@QAbstractItemModel@@IAEXXZ @ 3808 NONAME ; void QAbstractItemModel::endInsertRows(void)
+ ?qIsFinite@@YA_NM@Z @ 3809 NONAME ; bool qIsFinite(float)
+ ?d_func@QParallelAnimationGroup@@AAEPAVQParallelAnimationGroupPrivate@@XZ @ 3810 NONAME ; class QParallelAnimationGroupPrivate * QParallelAnimationGroup::d_func(void)
+ ?shortMonthName@QDate@@SA?AVQString@@HW4MonthNameType@1@@Z @ 3811 NONAME ; class QString QDate::shortMonthName(int, enum QDate::MonthNameType)
+ ?remove@QFile@@QAE_NXZ @ 3812 NONAME ; bool QFile::remove(void)
+ ??0QResource@@QAE@ABVQString@@ABVQLocale@@@Z @ 3813 NONAME ; QResource::QResource(class QString const &, class QLocale const &)
+ ?direction@QChar@@SA?AW4Direction@1@G@Z @ 3814 NONAME ; enum QChar::Direction QChar::direction(unsigned short)
+ ?testAndSetOrdered@QBasicAtomicInt@@QAE_NHH@Z @ 3815 NONAME ; bool QBasicAtomicInt::testAndSetOrdered(int, int)
+ ?directionChanged@QAbstractAnimation@@IAEXW4Direction@1@@Z @ 3816 NONAME ; void QAbstractAnimation::directionChanged(enum QAbstractAnimation::Direction)
+ ?encodedQuery@QUrl@@QBE?AVQByteArray@@XZ @ 3817 NONAME ; class QByteArray QUrl::encodedQuery(void) const
+ ?toDate@QLocale@@QBE?AVQDate@@ABVQString@@W4FormatType@1@@Z @ 3818 NONAME ; class QDate QLocale::toDate(class QString const &, enum QLocale::FormatType) const
+ ?append@QListData@@QAEPAPAXXZ @ 3819 NONAME ; void * * QListData::append(void)
+ ?exists@QFile@@QBE_NXZ @ 3820 NONAME ; bool QFile::exists(void) const
+ ?setCodecForLocale@QTextCodec@@SAXPAV1@@Z @ 3821 NONAME ; void QTextCodec::setCodecForLocale(class QTextCodec *)
+ ?trUtf8@QAbstractState@@SA?AVQString@@PBD0@Z @ 3822 NONAME ; class QString QAbstractState::trUtf8(char const *, char const *)
+ ?qt_metacast@QAbstractListModel@@UAEPAXPBD@Z @ 3823 NONAME ; void * QAbstractListModel::qt_metacast(char const *)
+ ?setUrl@QUrl@@QAEXABVQString@@@Z @ 3824 NONAME ; void QUrl::setUrl(class QString const &)
+ ?expiryTimeout@QThreadPool@@QBEHXZ @ 3825 NONAME ; int QThreadPool::expiryTimeout(void) const
+ ??0QRect@@QAE@HHHH@Z @ 3826 NONAME ; QRect::QRect(int, int, int, int)
+ ?compare@QStringRef@@SAHABV1@VQLatin1String@@W4CaseSensitivity@Qt@@@Z @ 3827 NONAME ; int QStringRef::compare(class QStringRef const &, class QLatin1String, enum Qt::CaseSensitivity)
+ ?staticMetaObject@QEvent@@2UQMetaObject@@B @ 3828 NONAME ; struct QMetaObject const QEvent::staticMetaObject
+ ?size@QXmlStreamStringRef@@QBEHXZ @ 3829 NONAME ; int QXmlStreamStringRef::size(void) const
+ ?staticMetaObject@QThreadPool@@2UQMetaObject@@B @ 3830 NONAME ; struct QMetaObject const QThreadPool::staticMetaObject
+ ?terminate@QThread@@QAEXXZ @ 3831 NONAME ; void QThread::terminate(void)
+ ?bytesAvailable@QIODevice@@UBE_JXZ @ 3832 NONAME ; long long QIODevice::bytesAvailable(void) const
+ ??0QXmlStreamWriter@@QAE@PAVQString@@@Z @ 3833 NONAME ; QXmlStreamWriter::QXmlStreamWriter(class QString *)
+ ?addMSecs@QTime@@QBE?AV1@H@Z @ 3834 NONAME ; class QTime QTime::addMSecs(int) const
+ ?setFileName@QAbstractFileEngine@@UAEXABVQString@@@Z @ 3835 NONAME ; void QAbstractFileEngine::setFileName(class QString const &)
+ ??6QTextStream@@QAEAAV0@H@Z @ 3836 NONAME ; class QTextStream & QTextStream::operator<<(int)
+ ?p1@QLine@@QBE?AVQPoint@@XZ @ 3837 NONAME ; class QPoint QLine::p1(void) const
+ ?qUncompress@@YA?AVQByteArray@@PBEH@Z @ 3838 NONAME ; class QByteArray qUncompress(unsigned char const *, int)
+ ?toString@QLocale@@QBE?AVQString@@ABVQTime@@W4FormatType@1@@Z @ 3839 NONAME ; class QString QLocale::toString(class QTime const &, enum QLocale::FormatType) const
+ ?maybeRegister@QEventTransitionPrivate@@QAEXXZ @ 3840 NONAME ; void QEventTransitionPrivate::maybeRegister(void)
+ ??9QLine@@QBE_NABV0@@Z @ 3841 NONAME ; bool QLine::operator!=(class QLine const &) const
+ ?idealThreadCount@QThread@@SAHXZ @ 3842 NONAME ; int QThread::idealThreadCount(void)
+ ??AQByteArray@@QBEDI@Z @ 3843 NONAME ; char QByteArray::operator[](unsigned int) const
+ ?tryAcquire@QSemaphore@@QAE_NH@Z @ 3844 NONAME ; bool QSemaphore::tryAcquire(int)
+ ??0QLineF@@QAE@ABVQPointF@@0@Z @ 3845 NONAME ; QLineF::QLineF(class QPointF const &, class QPointF const &)
+ ?columnCount@QAbstractListModel@@EBEHABVQModelIndex@@@Z @ 3846 NONAME ; int QAbstractListModel::columnCount(class QModelIndex const &) const
+ ?d_func@QAbstractFileEngine@@ABEPBVQAbstractFileEnginePrivate@@XZ @ 3847 NONAME ; class QAbstractFileEnginePrivate const * QAbstractFileEngine::d_func(void) const
+ ?peek@QIODevice@@QAE?AVQByteArray@@_J@Z @ 3848 NONAME ; class QByteArray QIODevice::peek(long long)
+ ?stackSize@QThread@@QBEIXZ @ 3849 NONAME ; unsigned int QThread::stackSize(void) const
+ ?height@QSize@@QBEHXZ @ 3850 NONAME ; int QSize::height(void) const
+ ?row@QCharRef@@QBEEXZ @ 3851 NONAME ; unsigned char QCharRef::row(void) const
+ ??0QSequentialAnimationGroup@@QAE@PAVQObject@@@Z @ 3852 NONAME ; QSequentialAnimationGroup::QSequentialAnimationGroup(class QObject *)
+ ??0QVariant@@QAE@ABVQString@@@Z @ 3853 NONAME ; QVariant::QVariant(class QString const &)
+ ?singleShot@QTimer@@SAXHPAVQObject@@PBD@Z @ 3854 NONAME ; void QTimer::singleShot(int, class QObject *, char const *)
+ ?qt_sine_table@@3QBMB @ 3855 NONAME ; float const * const qt_sine_table
+ ?data@QResource@@QBEPBEXZ @ 3856 NONAME ; unsigned char const * QResource::data(void) const
+ ?fileChanged@QFileSystemWatcher@@IAEXABVQString@@@Z @ 3857 NONAME ; void QFileSystemWatcher::fileChanged(class QString const &)
+ ?addSecs@QDateTime@@QBE?AV1@H@Z @ 3858 NONAME ; class QDateTime QDateTime::addSecs(int) const
+ ?setCaseSensitivity@QStringMatcher@@QAEXW4CaseSensitivity@Qt@@@Z @ 3859 NONAME ; void QStringMatcher::setCaseSensitivity(enum Qt::CaseSensitivity)
+ ?d_func@QSettings@@ABEPBVQSettingsPrivate@@XZ @ 3860 NONAME ; class QSettingsPrivate const * QSettings::d_func(void) const
+ ?d_func@QFactoryLoader@@AAEPAVQFactoryLoaderPrivate@@XZ @ 3861 NONAME ; class QFactoryLoaderPrivate * QFactoryLoader::d_func(void)
+ ?isFinal@QStateMachinePrivate@@SA_NPBVQAbstractState@@@Z @ 3862 NONAME ; bool QStateMachinePrivate::isFinal(class QAbstractState const *)
+ ??0QTextCodec@@IAE@XZ @ 3863 NONAME ; QTextCodec::QTextCodec(void)
+ ??6@YA?AVQDebug@@V0@ABVQLineF@@@Z @ 3864 NONAME ; class QDebug operator<<(class QDebug, class QLineF const &)
+ ??NQByteRef@@QBE_ND@Z @ 3865 NONAME ; bool QByteRef::operator<=(char) const
+ ?toHash@QVariant@@QBE?AV?$QHash@VQString@@VQVariant@@@@XZ @ 3866 NONAME ; class QHash<class QString, class QVariant> QVariant::toHash(void) const
+ ?beginGroup@QSettings@@QAEXABVQString@@@Z @ 3867 NONAME ; void QSettings::beginGroup(class QString const &)
+ ?x@QRect@@QBEHXZ @ 3868 NONAME ; int QRect::x(void) const
+ ?metaObject@QAbstractAnimation@@UBEPBUQMetaObject@@XZ @ 3869 NONAME ; struct QMetaObject const * QAbstractAnimation::metaObject(void) const
+ ??0QSettings@@QAE@ABVQString@@0PAVQObject@@@Z @ 3870 NONAME ; QSettings::QSettings(class QString const &, class QString const &, class QObject *)
+ ??AQString@@QBE?BVQChar@@H@Z @ 3871 NONAME ; class QChar const QString::operator[](int) const
+ ?translate@QLineF@@QAEXMM@Z @ 3872 NONAME ; void QLineF::translate(float, float)
+ ?valueForTime@QTimeLine@@UBEMH@Z @ 3873 NONAME ; float QTimeLine::valueForTime(int) const
+ ?getStaticMetaObject@QBuffer@@SAABUQMetaObject@@XZ @ 3874 NONAME ; struct QMetaObject const & QBuffer::getStaticMetaObject(void)
+ ?trUtf8@QFactoryLoader@@SA?AVQString@@PBD0@Z @ 3875 NONAME ; class QString QFactoryLoader::trUtf8(char const *, char const *)
+ ?fallbacksEnabled@QSettings@@QBE_NXZ @ 3876 NONAME ; bool QSettings::fallbacksEnabled(void) const
+ ?currentPath@QFSFileEngine@@SA?AVQString@@ABV2@@Z @ 3877 NONAME ; class QString QFSFileEngine::currentPath(class QString const &)
+ ??8QByteArray@@QBE_NABVQString@@@Z @ 3878 NONAME ; bool QByteArray::operator==(class QString const &) const
+ ?event@QFinalState@@MAE_NPAVQEvent@@@Z @ 3879 NONAME ; bool QFinalState::event(class QEvent *)
+ ?setColorData@QMimeData@@QAEXABVQVariant@@@Z @ 3880 NONAME ; void QMimeData::setColorData(class QVariant const &)
+ ?sourceState@QAbstractTransition@@QBEPAVQState@@XZ @ 3881 NONAME ; class QState * QAbstractTransition::sourceState(void) const
+ ?valueForProgress@QEasingCurve@@QBEMM@Z @ 3882 NONAME ; float QEasingCurve::valueForProgress(float) const
+ ?fill@QByteArray@@QAEAAV1@DH@Z @ 3883 NONAME ; class QByteArray & QByteArray::fill(char, int)
+ ?realloc@QString@@AAEXH@Z @ 3884 NONAME ; void QString::realloc(int)
+ ?text@QXmlStreamReader@@QBE?AVQStringRef@@XZ @ 3885 NONAME ; class QStringRef QXmlStreamReader::text(void) const
+ ?QStringList_join@QtPrivate@@YA?AVQString@@PBVQStringList@@ABV2@@Z @ 3886 NONAME ; class QString QtPrivate::QStringList_join(class QStringList const *, class QString const &)
+ ?toNextBoundary@QTextBoundaryFinder@@QAEHXZ @ 3887 NONAME ; int QTextBoundaryFinder::toNextBoundary(void)
+ ?simplified@QByteArray@@QBE?AV1@XZ @ 3888 NONAME ; class QByteArray QByteArray::simplified(void) const
+ ?replace@QString@@QAEAAV1@HHABV1@@Z @ 3889 NONAME ; class QString & QString::replace(int, int, class QString const &)
+ ??PQDateTime@@QBE_NABV0@@Z @ 3890 NONAME ; bool QDateTime::operator>=(class QDateTime const &) const
+ ?isValid@QRect@@QBE_NXZ @ 3891 NONAME ; bool QRect::isValid(void) const
+ ?dtdName@QXmlStreamReader@@QBE?AVQStringRef@@XZ @ 3892 NONAME ; class QStringRef QXmlStreamReader::dtdName(void) const
+ ?unregisterTransition@QStateMachinePrivate@@QAEXPAVQAbstractTransition@@@Z @ 3893 NONAME ; void QStateMachinePrivate::unregisterTransition(class QAbstractTransition *)
+ ??1QXmlStreamAttributes@@QAE@XZ @ 3894 NONAME ; QXmlStreamAttributes::~QXmlStreamAttributes(void)
+ ?toUpper@QString@@QBE?AV1@XZ @ 3895 NONAME ; class QString QString::toUpper(void) const
+ ??0QChar@@QAE@UQLatin1Char@@@Z @ 3896 NONAME ; QChar::QChar(struct QLatin1Char)
+ ?detach@QString@@QAEXXZ @ 3897 NONAME ; void QString::detach(void)
+ ?moveBottom@QRect@@QAEXH@Z @ 3898 NONAME ; void QRect::moveBottom(int)
+ ??0QDebug@@QAE@ABV0@@Z @ 3899 NONAME ; QDebug::QDebug(class QDebug const &)
+ ?fileName@QPluginLoader@@QBE?AVQString@@XZ @ 3900 NONAME ; class QString QPluginLoader::fileName(void) const
+ ??5@YAAAVQDataStream@@AAV0@AAVQSize@@@Z @ 3901 NONAME ; class QDataStream & operator>>(class QDataStream &, class QSize &)
+ ?qHBFreeFace@@YAXPAUHB_FaceRec_@@@Z @ 3902 NONAME ; void qHBFreeFace(struct HB_FaceRec_ *)
+ ?replace@QString@@QAEAAV1@VQChar@@ABVQLatin1String@@W4CaseSensitivity@Qt@@@Z @ 3903 NONAME ; class QString & QString::replace(class QChar, class QLatin1String const &, enum Qt::CaseSensitivity)
+ ?map@QAbstractFileEngine@@QAEPAE_J0W4MemoryMapFlags@QFile@@@Z @ 3904 NONAME ; unsigned char * QAbstractFileEngine::map(long long, long long, enum QFile::MemoryMapFlags)
+ ??1QXmlStreamNamespaceDeclaration@@QAE@XZ @ 3905 NONAME ; QXmlStreamNamespaceDeclaration::~QXmlStreamNamespaceDeclaration(void)
+ ?setFallbacksEnabled@QSettings@@QAEX_N@Z @ 3906 NONAME ; void QSettings::setFallbacksEnabled(bool)
+ ?setWidth@QRect@@QAEXH@Z @ 3907 NONAME ; void QRect::setWidth(int)
+ ?expandedTo@QSize@@QBE?AV1@ABV1@@Z @ 3908 NONAME ; class QSize QSize::expandedTo(class QSize const &) const
+ ??PQString@@QBE_NABVQLatin1String@@@Z @ 3909 NONAME ; bool QString::operator>=(class QLatin1String const &) const
+ ?writeStartDocument@QXmlStreamWriter@@QAEXXZ @ 3910 NONAME ; void QXmlStreamWriter::writeStartDocument(void)
+ ?compare@QString@@SAHABV1@ABVQLatin1String@@W4CaseSensitivity@Qt@@@Z @ 3911 NONAME ; int QString::compare(class QString const &, class QLatin1String const &, enum Qt::CaseSensitivity)
+ ??1QTextStream@@UAE@XZ @ 3912 NONAME ; QTextStream::~QTextStream(void)
+ ??1QXmlStreamWriter@@QAE@XZ @ 3913 NONAME ; QXmlStreamWriter::~QXmlStreamWriter(void)
+ ?staticMetaObject@QTimer@@2UQMetaObject@@B @ 3914 NONAME ; struct QMetaObject const QTimer::staticMetaObject
+ ?fromBase64@QByteArray@@SA?AV1@ABV1@@Z @ 3915 NONAME ; class QByteArray QByteArray::fromBase64(class QByteArray const &)
+ ??6QDebug@@QAEAAV0@VQChar@@@Z @ 3916 NONAME ; class QDebug & QDebug::operator<<(class QChar)
+ ?toString@QLocale@@QBE?AVQString@@NDH@Z @ 3917 NONAME ; class QString QLocale::toString(double, char, int) const
+ ??9QBasicAtomicInt@@QBE_NH@Z @ 3918 NONAME ; bool QBasicAtomicInt::operator!=(int) const
+ ?d_func@QThread@@ABEPBVQThreadPrivate@@XZ @ 3919 NONAME ; class QThreadPrivate const * QThread::d_func(void) const
+ ?setRect@QRectF@@QAEXMMMM@Z @ 3920 NONAME ; void QRectF::setRect(float, float, float, float)
+ ?setTop@QRect@@QAEXH@Z @ 3921 NONAME ; void QRect::setTop(int)
+ ?writeTextElement@QXmlStreamWriter@@QAEXABVQString@@00@Z @ 3922 NONAME ; void QXmlStreamWriter::writeTextElement(class QString const &, class QString const &, class QString const &)
+ ?removePostedEvents@QCoreApplication@@SAXPAVQObject@@H@Z @ 3923 NONAME ; void QCoreApplication::removePostedEvents(class QObject *, int)
+ ?setY@QPoint@@QAEXH@Z @ 3924 NONAME ; void QPoint::setY(int)
+ ?hasFragment@QUrl@@QBE_NXZ @ 3925 NONAME ; bool QUrl::hasFragment(void) const
+ ?qDebug@@YA?AVQDebug@@XZ @ 3926 NONAME ; class QDebug qDebug(void)
+ ??1QThreadPool@@UAE@XZ @ 3927 NONAME ; QThreadPool::~QThreadPool(void)
+ ?setEasingCurve@QVariantAnimation@@QAEXABVQEasingCurve@@@Z @ 3928 NONAME ; void QVariantAnimation::setEasingCurve(class QEasingCurve const &)
+ ??0QHBufC@@QAE@XZ @ 3929 NONAME ; QHBufC::QHBufC(void)
+ ??0QVariant@@QAE@XZ @ 3930 NONAME ; QVariant::QVariant(void)
+ ??0QFileInfo@@QAE@XZ @ 3931 NONAME ; QFileInfo::QFileInfo(void)
+ ??5@YAAAVQDataStream@@AAV0@AAVQRectF@@@Z @ 3932 NONAME ; class QDataStream & operator>>(class QDataStream &, class QRectF &)
+ ?codec@QTextStream@@QBEPAVQTextCodec@@XZ @ 3933 NONAME ; class QTextCodec * QTextStream::codec(void) const
+ ?data@QGenericArgument@@QBEPAXXZ @ 3934 NONAME ; void * QGenericArgument::data(void) const
+ ?united@QRect@@QBE?AV1@ABV1@@Z @ 3935 NONAME ; class QRect QRect::united(class QRect const &) const
+ ?isHighSurrogate@QChar@@QBE_NXZ @ 3936 NONAME ; bool QChar::isHighSurrogate(void) const
+ ?qt_metacast@QSocketNotifier@@UAEPAXPBD@Z @ 3937 NONAME ; void * QSocketNotifier::qt_metacast(char const *)
+ ?entryList@QDir@@QBE?AVQStringList@@ABV2@V?$QFlags@W4Filter@QDir@@@@V?$QFlags@W4SortFlag@QDir@@@@@Z @ 3938 NONAME ; class QStringList QDir::entryList(class QStringList const &, class QFlags<enum QDir::Filter>, class QFlags<enum QDir::SortFlag>) const
+ ?toUInt@QVariant@@QBEIPA_N@Z @ 3939 NONAME ; unsigned int QVariant::toUInt(bool *) const
+ ?q_func@QObjectPrivate@@AAEPAVQObject@@XZ @ 3940 NONAME ; class QObject * QObjectPrivate::q_func(void)
+ ?toAscii@QChar@@QBEDXZ @ 3941 NONAME ; char QChar::toAscii(void) const
+ ?unregisterEventTransition@QStateMachinePrivate@@QAEXPAVQEventTransition@@@Z @ 3942 NONAME ; void QStateMachinePrivate::unregisterEventTransition(class QEventTransition *)
+ ?hasMirrored@QChar@@QBE_NXZ @ 3943 NONAME ; bool QChar::hasMirrored(void) const
+ ?finished@QThread@@IAEXXZ @ 3944 NONAME ; void QThread::finished(void)
+ ??4QBasicAtomicInt@@QAEAAV0@H@Z @ 3945 NONAME ; class QBasicAtomicInt & QBasicAtomicInt::operator=(int)
+ ?isRelative@QDir@@QBE_NXZ @ 3946 NONAME ; bool QDir::isRelative(void) const
+ ?size@QFile@@UBE_JXZ @ 3947 NONAME ; long long QFile::size(void) const
+ ?location@QLibraryInfo@@SA?AVQString@@W4LibraryLocation@1@@Z @ 3948 NONAME ; class QString QLibraryInfo::location(enum QLibraryInfo::LibraryLocation)
+ ?name@QXmlStreamReader@@QBE?AVQStringRef@@XZ @ 3949 NONAME ; class QStringRef QXmlStreamReader::name(void) const
+ ?rightRef@QString@@QBE?AVQStringRef@@H@Z @ 3950 NONAME ; class QStringRef QString::rightRef(int) const
+ ?registerTimer@QEventDispatcherSymbian@@UAEXHHPAVQObject@@@Z @ 3951 NONAME ; void QEventDispatcherSymbian::registerTimer(int, int, class QObject *)
+ ?contains@QRect@@QBE_NABV1@_N@Z @ 3952 NONAME ; bool QRect::contains(class QRect const &, bool) const
+ ?push_front@QByteArray@@QAEXABV1@@Z @ 3953 NONAME ; void QByteArray::push_front(class QByteArray const &)
+ ?signature@QMetaMethod@@QBEPBDXZ @ 3954 NONAME ; char const * QMetaMethod::signature(void) const
+ ?valueChanged@QVariantAnimation@@IAEXABVQVariant@@@Z @ 3955 NONAME ; void QVariantAnimation::valueChanged(class QVariant const &)
+ ??6@YAAAVQDataStream@@AAV0@ABVQBitArray@@@Z @ 3956 NONAME ; class QDataStream & operator<<(class QDataStream &, class QBitArray const &)
+ ?qt_metacall@QThread@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 3957 NONAME ; int QThread::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?callOnTransition@QAbstractTransitionPrivate@@UAEXPAVQEvent@@@Z @ 3958 NONAME ; void QAbstractTransitionPrivate::callOnTransition(class QEvent *)
+ ??6@YA?AVQDebug@@V0@PBVQObject@@@Z @ 3959 NONAME ; class QDebug operator<<(class QDebug, class QObject const *)
+ ??UQRect@@QBE?AV0@ABV0@@Z @ 3960 NONAME ; class QRect QRect::operator|(class QRect const &) const
+ ?metaObject@QAbstractItemModel@@UBEPBUQMetaObject@@XZ @ 3961 NONAME ; struct QMetaObject const * QAbstractItemModel::metaObject(void) const
+ ?applicationPid@QCoreApplication@@SA_JXZ @ 3962 NONAME ; long long QCoreApplication::applicationPid(void)
+ ??0QBitArray@@QAE@H_N@Z @ 3963 NONAME ; QBitArray::QBitArray(int, bool)
+ ??ZQPoint@@QAEAAV0@ABV0@@Z @ 3964 NONAME ; class QPoint & QPoint::operator-=(class QPoint const &)
+ ?toggleBit@QBitArray@@QAE_NH@Z @ 3965 NONAME ; bool QBitArray::toggleBit(int)
+ ??_EQFSFileEngine@@UAE@I@Z @ 3966 NONAME ; QFSFileEngine::~QFSFileEngine(unsigned int)
+ ?constEnd@QByteArray@@QBEPBDXZ @ 3967 NONAME ; char const * QByteArray::constEnd(void) const
+ ?setOvershoot@QEasingCurve@@QAEXM@Z @ 3968 NONAME ; void QEasingCurve::setOvershoot(float)
+ ??6@YAAAVQDataStream@@AAV0@ABVQRectF@@@Z @ 3969 NONAME ; class QDataStream & operator<<(class QDataStream &, class QRectF const &)
+ ?detach_helper@QHashData@@QAEPAU1@P6AXPAUNode@1@PAX@ZP6AX0@ZH@Z @ 3970 NONAME ABSENT ; struct QHashData * QHashData::detach_helper(void (*)(struct QHashData::Node *, void *), void (*)(struct QHashData::Node *), int)
+ ??0QSystemLocale@@AAE@_N@Z @ 3971 NONAME ; QSystemLocale::QSystemLocale(bool)
+ ?data@QHBufC@@QBEPBVHBufC16@@XZ @ 3972 NONAME ; class HBufC16 const * QHBufC::data(void) const
+ ?setFileName@QFile@@QAEXABVQString@@@Z @ 3973 NONAME ; void QFile::setFileName(class QString const &)
+ ??5@YAAAVQDataStream@@AAV0@AAVQBitArray@@@Z @ 3974 NONAME ; class QDataStream & operator>>(class QDataStream &, class QBitArray &)
+ ?parent@QAbstractListModel@@EBE?AVQModelIndex@@ABV2@@Z @ 3975 NONAME ; class QModelIndex QAbstractListModel::parent(class QModelIndex const &) const
+ ?tokenType@QXmlStreamReader@@QBE?AW4TokenType@1@XZ @ 3976 NONAME ; enum QXmlStreamReader::TokenType QXmlStreamReader::tokenType(void) const
+ ?cleanConnectionLists@QObjectPrivate@@QAEXXZ @ 3977 NONAME ; void QObjectPrivate::cleanConnectionLists(void)
+ ?expand@QByteArray@@AAEXH@Z @ 3978 NONAME ; void QByteArray::expand(int)
+ ?refresh@QDir@@QBEXXZ @ 3979 NONAME ; void QDir::refresh(void) const
+ ?symLinkTarget@QFile@@SA?AVQString@@ABV2@@Z @ 3980 NONAME ; class QString QFile::symLinkTarget(class QString const &)
+ ?trUtf8@QStateMachine@@SA?AVQString@@PBD0@Z @ 3981 NONAME ; class QString QStateMachine::trUtf8(char const *, char const *)
+ ?fileName@QFileInfo@@QBE?AVQString@@XZ @ 3982 NONAME ; class QString QFileInfo::fileName(void) const
+ ?arg@QString@@QBE?AV1@HHHABVQChar@@@Z @ 3983 NONAME ; class QString QString::arg(int, int, int, class QChar const &) const
+ ?replace@QByteArray@@QAEAAV1@ABV1@0@Z @ 3984 NONAME ; class QByteArray & QByteArray::replace(class QByteArray const &, class QByteArray const &)
+ ?resolveEntity@QXmlStreamEntityResolver@@UAE?AVQString@@ABV2@0@Z @ 3985 NONAME ; class QString QXmlStreamEntityResolver::resolveEntity(class QString const &, class QString const &)
+ ?angle@QLineF@@QBEMABV1@@Z @ 3986 NONAME ; float QLineF::angle(class QLineF const &) const
+ ??0QSharedData@@QAE@XZ @ 3987 NONAME ; QSharedData::QSharedData(void)
+ ?disconnectNotify@QObject@@MAEXPBD@Z @ 3988 NONAME ; void QObject::disconnectNotify(char const *)
+ ?insertColumn@QAbstractItemModel@@QAE_NHABVQModelIndex@@@Z @ 3989 NONAME ; bool QAbstractItemModel::insertColumn(int, class QModelIndex const &)
+ ?removeAllQueryItems@QUrl@@QAEXABVQString@@@Z @ 3990 NONAME ; void QUrl::removeAllQueryItems(class QString const &)
+ ?mibEnum@QFontLaoCodec@@UBEHXZ @ 3991 NONAME ; int QFontLaoCodec::mibEnum(void) const
+ ?metaObject@QPluginLoader@@UBEPBUQMetaObject@@XZ @ 3992 NONAME ; struct QMetaObject const * QPluginLoader::metaObject(void) const
+ ?addAnimation@QAbstractTransition@@QAEXPAVQAbstractAnimation@@@Z @ 3993 NONAME ; void QAbstractTransition::addAnimation(class QAbstractAnimation *)
+ ??5QDataStream@@QAEAAV0@AA_J@Z @ 3994 NONAME ; class QDataStream & QDataStream::operator>>(long long &)
+ ?translate@QLineF@@QAEXABVQPointF@@@Z @ 3995 NONAME ; void QLineF::translate(class QPointF const &)
+ ?contains@QRectF@@QBE_NABV1@@Z @ 3996 NONAME ; bool QRectF::contains(class QRectF const &) const
+ ??6@YAAAVQDataStream@@AAV0@ABVQDate@@@Z @ 3997 NONAME ; class QDataStream & operator<<(class QDataStream &, class QDate const &)
+ ?unicodeVersion@QCharRef@@QBE?AW4UnicodeVersion@QChar@@XZ @ 3998 NONAME ; enum QChar::UnicodeVersion QCharRef::unicodeVersion(void) const
+ ?enterStates@QStateMachinePrivate@@QAE?AV?$QList@PAVQAbstractState@@@@PAVQEvent@@ABV?$QList@PAVQAbstractTransition@@@@@Z @ 3999 NONAME ; class QList<class QAbstractState *> QStateMachinePrivate::enterStates(class QEvent *, class QList<class QAbstractTransition *> const &)
+ ?value@QXmlStreamAttribute@@QBE?AVQStringRef@@XZ @ 4000 NONAME ; class QStringRef QXmlStreamAttribute::value(void) const
+ ?exit@QCoreApplication@@SAXH@Z @ 4001 NONAME ; void QCoreApplication::exit(int)
+ ?mapped@QSignalMapper@@IAEXH@Z @ 4002 NONAME ; void QSignalMapper::mapped(int)
+ ?setX@QPointF@@QAEXM@Z @ 4003 NONAME ; void QPointF::setX(float)
+ ??0QUrl@@QAE@ABVQString@@W4ParsingMode@0@@Z @ 4004 NONAME ; QUrl::QUrl(class QString const &, enum QUrl::ParsingMode)
+ ?awake@QAbstractEventDispatcher@@IAEXXZ @ 4005 NONAME ; void QAbstractEventDispatcher::awake(void)
+ ??0QLocale@@QAE@ABV0@@Z @ 4006 NONAME ; QLocale::QLocale(class QLocale const &)
+ ??5@YAAAVQDataStream@@AAV0@AAVQByteArray@@@Z @ 4007 NONAME ; class QDataStream & operator>>(class QDataStream &, class QByteArray &)
+ ?sendThroughApplicationEventFilters@QCoreApplicationPrivate@@QAE_NPAVQObject@@PAVQEvent@@@Z @ 4008 NONAME ; bool QCoreApplicationPrivate::sendThroughApplicationEventFilters(class QObject *, class QEvent *)
+ ?dataChanged@QAbstractItemModel@@IAEXABVQModelIndex@@0@Z @ 4009 NONAME ; void QAbstractItemModel::dataChanged(class QModelIndex const &, class QModelIndex const &)
+ ??1QTextCodec@@MAE@XZ @ 4010 NONAME ; QTextCodec::~QTextCodec(void)
+ ?rheight@QSizeF@@QAEAAMXZ @ 4011 NONAME ; float & QSizeF::rheight(void)
+ ?extension@QFSFileEngine@@UAE_NW4Extension@QAbstractFileEngine@@PBVExtensionOption@3@PAVExtensionReturn@3@@Z @ 4012 NONAME ; bool QFSFileEngine::extension(enum QAbstractFileEngine::Extension, class QAbstractFileEngine::ExtensionOption const *, class QAbstractFileEngine::ExtensionReturn *)
+ ?internalSafetyCheckAdd@QtSharedPointer@@YAXPDX@Z @ 4013 NONAME ; void QtSharedPointer::internalSafetyCheckAdd(void const volatile *)
+ ?publicId@QXmlStreamNotationDeclaration@@QBE?AVQStringRef@@XZ @ 4014 NONAME ; class QStringRef QXmlStreamNotationDeclaration::publicId(void) const
+ ??0QFSFileEngine@@IAE@AAVQFSFileEnginePrivate@@@Z @ 4015 NONAME ; QFSFileEngine::QFSFileEngine(class QFSFileEnginePrivate &)
+ ?parameterTypes@QMetaMethod@@QBE?AV?$QList@VQByteArray@@@@XZ @ 4016 NONAME ; class QList<class QByteArray> QMetaMethod::parameterTypes(void) const
+ ?setPosition@QTextBoundaryFinder@@QAEXH@Z @ 4017 NONAME ; void QTextBoundaryFinder::setPosition(int)
+ ?constBegin@QByteArray@@QBEPBDXZ @ 4018 NONAME ; char const * QByteArray::constBegin(void) const
+ ?digitValue@QCharRef@@QBEHXZ @ 4019 NONAME ; int QCharRef::digitValue(void) const
+ ?toTitleCase@QChar@@SAGG@Z @ 4020 NONAME ; unsigned short QChar::toTitleCase(unsigned short)
+ ?removed@QChildEvent@@QBE_NXZ @ 4021 NONAME ; bool QChildEvent::removed(void) const
+ ?generateByteOrderMark@QTextStream@@QBE_NXZ @ 4022 NONAME ; bool QTextStream::generateByteOrderMark(void) const
+ ?index@QAbstractTableModel@@UBE?AVQModelIndex@@HHABV2@@Z @ 4023 NONAME ; class QModelIndex QAbstractTableModel::index(int, int, class QModelIndex const &) const
+ ?buildKey@QLibraryInfo@@SA?AVQString@@XZ @ 4024 NONAME ; class QString QLibraryInfo::buildKey(void)
+ ?getDate@QDate@@QAEXPAH00@Z @ 4025 NONAME ; void QDate::getDate(int *, int *, int *)
+ ?errorString@QUrl@@QBE?AVQString@@XZ @ 4026 NONAME ; class QString QUrl::errorString(void) const
+ ?setTargetObject@QPropertyAnimation@@QAEXPAVQObject@@@Z @ 4027 NONAME ; void QPropertyAnimation::setTargetObject(class QObject *)
+ ?getStaticMetaObject@QVariantAnimation@@SAABUQMetaObject@@XZ @ 4028 NONAME ; struct QMetaObject const & QVariantAnimation::getStaticMetaObject(void)
+ ?setApplicationVersion@QCoreApplication@@SAXABVQString@@@Z @ 4029 NONAME ; void QCoreApplication::setApplicationVersion(class QString const &)
+ ?userType@QVariant@@QBEHXZ @ 4030 NONAME ; int QVariant::userType(void) const
+ ??0QChar@@QAE@XZ @ 4031 NONAME ; QChar::QChar(void)
+ ?filterEvent@QAbstractEventDispatcher@@QAE_NPAX@Z @ 4032 NONAME ; bool QAbstractEventDispatcher::filterEvent(void *)
+ ??0QStringMatcher@@QAE@PBVQChar@@HW4CaseSensitivity@Qt@@@Z @ 4033 NONAME ; QStringMatcher::QStringMatcher(class QChar const *, int, enum Qt::CaseSensitivity)
+ ?hasText@QMimeData@@QBE_NXZ @ 4034 NONAME ; bool QMimeData::hasText(void) const
+ ?qFree@@YAXPAX@Z @ 4035 NONAME ; void qFree(void *)
+ ?fixed@@YAAAVQTextStream@@AAV1@@Z @ 4036 NONAME ; class QTextStream & fixed(class QTextStream &)
+ ?eventSource@QEventTransition@@QBEPAVQObject@@XZ @ 4037 NONAME ; class QObject * QEventTransition::eventSource(void) const
+ ?trUtf8@QObject@@SA?AVQString@@PBD0@Z @ 4038 NONAME ; class QString QObject::trUtf8(char const *, char const *)
+ ?moveTo@QRectF@@QAEXMM@Z @ 4039 NONAME ; void QRectF::moveTo(float, float)
+ ?keyValues@QVariantAnimation@@QBE?AV?$QVector@U?$QPair@MVQVariant@@@@@@XZ @ 4040 NONAME ; class QVector<struct QPair<float, class QVariant> > QVariantAnimation::keyValues(void) const
+ ?isSender@QObjectPrivate@@QBE_NPBVQObject@@PBD@Z @ 4041 NONAME ; bool QObjectPrivate::isSender(class QObject const *, char const *) const
+ ?addLibraryPath@QCoreApplication@@SAXABVQString@@@Z @ 4042 NONAME ; void QCoreApplication::addLibraryPath(class QString const &)
+ ??6@YA?AVQDebug@@V0@ABVQEasingCurve@@@Z @ 4043 NONAME ; class QDebug operator<<(class QDebug, class QEasingCurve const &)
+ ?qt_metacall@QTimer@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 4044 NONAME ; int QTimer::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?parseSection@QDateTimeParser@@QBEHABVQDateTime@@HAAVQString@@AAHHAAW4State@1@PAH@Z @ 4045 NONAME ; int QDateTimeParser::parseSection(class QDateTime const &, int, class QString &, int &, int, enum QDateTimeParser::State &, int *) const
+ ?flags@QModelIndex@@QBE?AV?$QFlags@W4ItemFlag@Qt@@@@XZ @ 4046 NONAME ; class QFlags<enum Qt::ItemFlag> QModelIndex::flags(void) const
+ ??5QDataStream@@QAEAAV0@AAN@Z @ 4047 NONAME ; class QDataStream & QDataStream::operator>>(double &)
+ ?tr@QBuffer@@SA?AVQString@@PBD0@Z @ 4048 NONAME ; class QString QBuffer::tr(char const *, char const *)
+ ??0QDirIterator@@QAE@ABVQDir@@V?$QFlags@W4IteratorFlag@QDirIterator@@@@@Z @ 4049 NONAME ; QDirIterator::QDirIterator(class QDir const &, class QFlags<enum QDirIterator::IteratorFlag>)
+ ?noshowbase@@YAAAVQTextStream@@AAV1@@Z @ 4050 NONAME ; class QTextStream & noshowbase(class QTextStream &)
+ ?staticMetaObject@QSequentialAnimationGroup@@2UQMetaObject@@B @ 4051 NONAME ; struct QMetaObject const QSequentialAnimationGroup::staticMetaObject
+ ?second@QTime@@QBEHXZ @ 4052 NONAME ; int QTime::second(void) const
+ ?suffix@QFileInfo@@QBE?AVQString@@XZ @ 4053 NONAME ; class QString QFileInfo::suffix(void) const
+ ?wait@QWaitCondition@@QAE_NPAVQMutex@@K@Z @ 4054 NONAME ; bool QWaitCondition::wait(class QMutex *, unsigned long)
+ ?convert@QVariant@@QAE_NW4Type@1@@Z @ 4055 NONAME ; bool QVariant::convert(enum QVariant::Type)
+ ?begin@QString@@QAEPAVQChar@@XZ @ 4056 NONAME ; class QChar * QString::begin(void)
+ ?keyValueAt@QVariantAnimation@@QBE?AVQVariant@@M@Z @ 4057 NONAME ; class QVariant QVariantAnimation::keyValueAt(float) const
+ ?setSize@QRectF@@QAEXABVQSizeF@@@Z @ 4058 NONAME ; void QRectF::setSize(class QSizeF const &)
+ ?toCaseFolded@QChar@@QBE?AV1@XZ @ 4059 NONAME ; class QChar QChar::toCaseFolded(void) const
+ ??0QDate@@QAE@HHH@Z @ 4060 NONAME ; QDate::QDate(int, int, int)
+ ?eventTest@QEventTransition@@MAE_NPAVQEvent@@@Z @ 4061 NONAME ; bool QEventTransition::eventTest(class QEvent *)
+ ?isEndElement@QXmlStreamReader@@QBE_NXZ @ 4062 NONAME ; bool QXmlStreamReader::isEndElement(void) const
+ ??0QFile@@QAE@ABVQString@@@Z @ 4063 NONAME ; QFile::QFile(class QString const &)
+ ?columnsAboutToBeInserted@QAbstractItemModel@@AAEXABVQModelIndex@@HH@Z @ 4064 NONAME ; void QAbstractItemModel::columnsAboutToBeInserted(class QModelIndex const &, int, int)
+ ?getStaticMetaObject@QSequentialAnimationGroup@@SAABUQMetaObject@@XZ @ 4065 NONAME ; struct QMetaObject const & QSequentialAnimationGroup::getStaticMetaObject(void)
+ ?flush@QFSFileEngine@@UAE_NXZ @ 4066 NONAME ; bool QFSFileEngine::flush(void)
+ ?curveShape@QTimeLine@@QBE?AW4CurveShape@1@XZ @ 4067 NONAME ; enum QTimeLine::CurveShape QTimeLine::curveShape(void) const
+ ??6QTextStream@@QAEAAV0@VQBool@@@Z @ 4068 NONAME ; class QTextStream & QTextStream::operator<<(class QBool)
+ ?readChannelMode@QProcess@@QBE?AW4ProcessChannelMode@1@XZ @ 4069 NONAME ; enum QProcess::ProcessChannelMode QProcess::readChannelMode(void) const
+ ?cdUp@QDir@@QAE_NXZ @ 4070 NONAME ; bool QDir::cdUp(void)
+ ?QStringList_indexOf@QtPrivate@@YAHPBVQStringList@@ABVQRegExp@@H@Z @ 4071 NONAME ; int QtPrivate::QStringList_indexOf(class QStringList const *, class QRegExp const &, int)
+ ?qt_metacast@QFileSystemWatcher@@UAEPAXPBD@Z @ 4072 NONAME ; void * QFileSystemWatcher::qt_metacast(char const *)
+ ?writeBytes@QDataStream@@QAEAAV1@PBDI@Z @ 4073 NONAME ; class QDataStream & QDataStream::writeBytes(char const *, unsigned int)
+ ?metaObject@QTextCodecPlugin@@UBEPBUQMetaObject@@XZ @ 4074 NONAME ; struct QMetaObject const * QTextCodecPlugin::metaObject(void) const
+ ?writeComment@QXmlStreamWriter@@QAEXABVQString@@@Z @ 4075 NONAME ; void QXmlStreamWriter::writeComment(class QString const &)
+ ?d_func@QCoreApplication@@ABEPBVQCoreApplicationPrivate@@XZ @ 4076 NONAME ; class QCoreApplicationPrivate const * QCoreApplication::d_func(void) const
+ ?isNull@QRectF@@QBE_NXZ @ 4077 NONAME ; bool QRectF::isNull(void) const
+ ?qt_metacast@QParallelAnimationGroup@@UAEPAXPBD@Z @ 4078 NONAME ; void * QParallelAnimationGroup::qt_metacast(char const *)
+ ?setNameFilters@QDir@@QAEXABVQStringList@@@Z @ 4079 NONAME ; void QDir::setNameFilters(class QStringList const &)
+ ??1QEventTransition@@UAE@XZ @ 4080 NONAME ; QEventTransition::~QEventTransition(void)
+ ?getStaticMetaObject@QHistoryState@@SAABUQMetaObject@@XZ @ 4081 NONAME ; struct QMetaObject const & QHistoryState::getStaticMetaObject(void)
+ ?count@QStringRef@@QBEHXZ @ 4082 NONAME ; int QStringRef::count(void) const
+ ?baseName@QFileInfo@@QBE?AVQString@@XZ @ 4083 NONAME ; class QString QFileInfo::baseName(void) const
+ ??BQBitRef@@QBE_NXZ @ 4084 NONAME ; QBitRef::operator bool(void) const
+ ?isLetter@QCharRef@@QBE_NXZ @ 4085 NONAME ; bool QCharRef::isLetter(void) const
+ ?qt_message_output@@YAXW4QtMsgType@@PBD@Z @ 4086 NONAME ; void qt_message_output(enum QtMsgType, char const *)
+ ?metaObject@QObject@@UBEPBUQMetaObject@@XZ @ 4087 NONAME ; struct QMetaObject const * QObject::metaObject(void) const
+ ?childMode@QState@@QBE?AW4ChildMode@1@XZ @ 4088 NONAME ; enum QState::ChildMode QState::childMode(void) const
+ ??0QLibrary@@QAE@ABVQString@@0PAVQObject@@@Z @ 4089 NONAME ; QLibrary::QLibrary(class QString const &, class QString const &, class QObject *)
+ ??MQModelIndex@@QBE_NABV0@@Z @ 4090 NONAME ; bool QModelIndex::operator<(class QModelIndex const &) const
+ ?nameFiltersFromString@QDir@@SA?AVQStringList@@ABVQString@@@Z @ 4091 NONAME ; class QStringList QDir::nameFiltersFromString(class QString const &)
+ ?toInt@QLocale@@QBEHABVQString@@PA_NH@Z @ 4092 NONAME ; int QLocale::toInt(class QString const &, bool *, int) const
+ ?c@QLocale@@SA?AV1@XZ @ 4093 NONAME ; class QLocale QLocale::c(void)
+ ?start@QStateMachine@@QAEXXZ @ 4094 NONAME ; void QStateMachine::start(void)
+ ??0QChar@@QAE@F@Z @ 4095 NONAME ; QChar::QChar(short)
+ ??9QPersistentModelIndex@@QBE_NABV0@@Z @ 4096 NONAME ; bool QPersistentModelIndex::operator!=(class QPersistentModelIndex const &) const
+ ?name@QXmlStreamAttribute@@QBE?AVQStringRef@@XZ @ 4097 NONAME ; class QStringRef QXmlStreamAttribute::name(void) const
+ ?hasFailure@QTextDecoder@@QBE_NXZ @ 4098 NONAME ; bool QTextDecoder::hasFailure(void) const
+ ?tr@QTimeLine@@SA?AVQString@@PBD0@Z @ 4099 NONAME ; class QString QTimeLine::tr(char const *, char const *)
+ ??_EQTextStream@@UAE@I@Z @ 4100 NONAME ; QTextStream::~QTextStream(unsigned int)
+ ?replace@QString@@QAEAAV1@VQChar@@ABV1@W4CaseSensitivity@Qt@@@Z @ 4101 NONAME ; class QString & QString::replace(class QChar, class QString const &, enum Qt::CaseSensitivity)
+ ??1QBasicTimer@@QAE@XZ @ 4102 NONAME ; QBasicTimer::~QBasicTimer(void)
+ ?trUtf8@QThreadPool@@SA?AVQString@@PBD0@Z @ 4103 NONAME ; class QString QThreadPool::trUtf8(char const *, char const *)
+ ?locale@QResource@@QBE?AVQLocale@@XZ @ 4104 NONAME ; class QLocale QResource::locale(void) const
+ ??0QFileSystemWatcher@@QAE@ABVQStringList@@PAVQObject@@@Z @ 4105 NONAME ; QFileSystemWatcher::QFileSystemWatcher(class QStringList const &, class QObject *)
+ ??8QDateTime@@QBE_NABV0@@Z @ 4106 NONAME ; bool QDateTime::operator==(class QDateTime const &) const
+ ?qt_metacast@QFactoryLoader@@UAEPAXPBD@Z @ 4107 NONAME ; void * QFactoryLoader::qt_metacast(char const *)
+ ?setRoleNames@QAbstractItemModel@@IAEXABV?$QHash@HVQByteArray@@@@@Z @ 4108 NONAME ; void QAbstractItemModel::setRoleNames(class QHash<int, class QByteArray> const &)
+ ??_EQFile@@UAE@I@Z @ 4109 NONAME ; QFile::~QFile(unsigned int)
+ ?QStringList_lastIndexOf@QtPrivate@@YAHPBVQStringList@@ABVQRegExp@@H@Z @ 4110 NONAME ; int QtPrivate::QStringList_lastIndexOf(class QStringList const *, class QRegExp const &, int)
+ ??6@YA?AVQDebug@@V0@ABVQLine@@@Z @ 4111 NONAME ; class QDebug operator<<(class QDebug, class QLine const &)
+ ?setY@QRect@@QAEXH@Z @ 4112 NONAME ; void QRect::setY(int)
+ ?open@QFSFileEngine@@UAE_NV?$QFlags@W4OpenModeFlag@QIODevice@@@@@Z @ 4113 NONAME ; bool QFSFileEngine::open(class QFlags<enum QIODevice::OpenModeFlag>)
+ ?qt_metacall@QFile@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 4114 NONAME ; int QFile::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?customEvent@QObject@@MAEXPAVQEvent@@@Z @ 4115 NONAME ; void QObject::customEvent(class QEvent *)
+ ?insert@QByteArray@@QAEAAV1@HD@Z @ 4116 NONAME ; class QByteArray & QByteArray::insert(int, char)
+ ?canEncode@QTextCodec@@QBE_NVQChar@@@Z @ 4117 NONAME ; bool QTextCodec::canEncode(class QChar) const
+ ?wakeOne@QWaitCondition@@QAEXXZ @ 4118 NONAME ; void QWaitCondition::wakeOne(void)
+ ?disconnect@QMetaObject@@SA_NPBVQObject@@H0H@Z @ 4119 NONAME ; bool QMetaObject::disconnect(class QObject const *, int, class QObject const *, int)
+ ?create@QAbstractFileEngine@@SAPAV1@ABVQString@@@Z @ 4120 NONAME ; class QAbstractFileEngine * QAbstractFileEngine::create(class QString const &)
+ ?getStaticMetaObject@QPauseAnimation@@SAABUQMetaObject@@XZ @ 4121 NONAME ; struct QMetaObject const & QPauseAnimation::getStaticMetaObject(void)
+ ?qt_metacall@QAbstractAnimation@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 4122 NONAME ; int QAbstractAnimation::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?notifyInternal@QCoreApplication@@AAE_NPAVQObject@@PAVQEvent@@@Z @ 4123 NONAME ; bool QCoreApplication::notifyInternal(class QObject *, class QEvent *)
+ ?map@QFile@@QAEPAE_J0W4MemoryMapFlags@1@@Z @ 4124 NONAME ; unsigned char * QFile::map(long long, long long, enum QFile::MemoryMapFlags)
+ ?rowsMoved@QAbstractItemModel@@AAEXABVQModelIndex@@HH0H@Z @ 4125 NONAME ; void QAbstractItemModel::rowsMoved(class QModelIndex const &, int, int, class QModelIndex const &, int)
+ ?encodedUserName@QUrl@@QBE?AVQByteArray@@XZ @ 4126 NONAME ; class QByteArray QUrl::encodedUserName(void) const
+ ?setData@QBuffer@@QAEXPBDH@Z @ 4127 NONAME ; void QBuffer::setData(char const *, int)
+ ?fileName@QFSFileEngine@@UBE?AVQString@@W4FileName@QAbstractFileEngine@@@Z @ 4128 NONAME ; class QString QFSFileEngine::fileName(enum QAbstractFileEngine::FileName) const
+ ?translate@QRectF@@QAEXMM@Z @ 4129 NONAME ; void QRectF::translate(float, float)
+ ?pos@QTextStream@@QBE_JXZ @ 4130 NONAME ; long long QTextStream::pos(void) const
+ ??6QDebug@@QAEAAV0@N@Z @ 4131 NONAME ; class QDebug & QDebug::operator<<(double)
+ ?d_func@QDir@@ABEPBVQDirPrivate@@XZ @ 4132 NONAME ; class QDirPrivate const * QDir::d_func(void) const
+ ??0QDateTimeParser@@QAE@W4Type@QVariant@@W4Context@0@@Z @ 4133 NONAME ; QDateTimeParser::QDateTimeParser(enum QVariant::Type, enum QDateTimeParser::Context)
+ ?metaObject@QAbstractTableModel@@UBEPBUQMetaObject@@XZ @ 4134 NONAME ; struct QMetaObject const * QAbstractTableModel::metaObject(void) const
+ ?transpose@QSize@@QAEXXZ @ 4135 NONAME ; void QSize::transpose(void)
+ ?d_func@QAbstractState@@AAEPAVQAbstractStatePrivate@@XZ @ 4136 NONAME ; class QAbstractStatePrivate * QAbstractState::d_func(void)
+ ?startDetached@QProcess@@SA_NABVQString@@ABVQStringList@@@Z @ 4137 NONAME ; bool QProcess::startDetached(class QString const &, class QStringList const &)
+ ?trUtf8@QHistoryState@@SA?AVQString@@PBD0H@Z @ 4138 NONAME ; class QString QHistoryState::trUtf8(char const *, char const *, int)
+ ?wakeUp@QEventDispatcherSymbian@@UAEXXZ @ 4139 NONAME ; void QEventDispatcherSymbian::wakeUp(void)
+ ?compare@QStringRef@@QBEHABV1@W4CaseSensitivity@Qt@@@Z @ 4140 NONAME ; int QStringRef::compare(class QStringRef const &, enum Qt::CaseSensitivity) const
+ ?targetStates@QAbstractTransition@@QBE?AV?$QList@PAVQAbstractState@@@@XZ @ 4141 NONAME ; class QList<class QAbstractState *> QAbstractTransition::targetStates(void) const
+ ?lineBreakClass@QUnicodeTables@@YA?AW4LineBreakClass@1@I@Z @ 4142 NONAME ; enum QUnicodeTables::LineBreakClass QUnicodeTables::lineBreakClass(unsigned int)
+ ?insertColumns@QAbstractItemModel@@UAE_NHHABVQModelIndex@@@Z @ 4143 NONAME ; bool QAbstractItemModel::insertColumns(int, int, class QModelIndex const &)
+ ?d_func@QFSFileEngine@@ABEPBVQFSFileEnginePrivate@@XZ @ 4144 NONAME ; class QFSFileEnginePrivate const * QFSFileEngine::d_func(void) const
+ ?expand@QString@@AAEXH@Z @ 4145 NONAME ; void QString::expand(int)
+ ?event@QState@@MAE_NPAVQEvent@@@Z @ 4146 NONAME ; bool QState::event(class QEvent *)
+ ??OQLatin1String@@QBE_NABVQString@@@Z @ 4147 NONAME ; bool QLatin1String::operator>(class QString const &) const
+ ?propertyName@QPropertyAnimation@@QBE?AVQByteArray@@XZ @ 4148 NONAME ; class QByteArray QPropertyAnimation::propertyName(void) const
+ ?isSequential@QFSFileEngine@@UBE_NXZ @ 4149 NONAME ; bool QFSFileEngine::isSequential(void) const
+ ?qstrdup@@YAPADPBD@Z @ 4150 NONAME ; char * qstrdup(char const *)
+ ?start@QProcess@@QAEXABVQString@@ABVQStringList@@V?$QFlags@W4OpenModeFlag@QIODevice@@@@@Z @ 4151 NONAME ; void QProcess::start(class QString const &, class QStringList const &, class QFlags<enum QIODevice::OpenModeFlag>)
+ ?replace@QString@@QAEAAV1@PBVQChar@@H0HW4CaseSensitivity@Qt@@@Z @ 4152 NONAME ; class QString & QString::replace(class QChar const *, int, class QChar const *, int, enum Qt::CaseSensitivity)
+ ?erase@QListData@@QAEPAPAXPAPAX@Z @ 4153 NONAME ; void * * QListData::erase(void * *)
+ ?shared_null@QByteArray@@0UData@1@A @ 4154 NONAME ; struct QByteArray::Data QByteArray::shared_null
+ ?environment@QProcess@@QBE?AVQStringList@@XZ @ 4155 NONAME ; class QStringList QProcess::environment(void) const
+ ?homePath@QDir@@SA?AVQString@@XZ @ 4156 NONAME ; class QString QDir::homePath(void)
+ ??0QUuid@@QAE@XZ @ 4157 NONAME ; QUuid::QUuid(void)
+ ?metaObject@QFileSystemWatcher@@UBEPBUQMetaObject@@XZ @ 4158 NONAME ; struct QMetaObject const * QFileSystemWatcher::metaObject(void) const
+ ?beginInsertRows@QAbstractItemModel@@IAEXABVQModelIndex@@HH@Z @ 4159 NONAME ; void QAbstractItemModel::beginInsertRows(class QModelIndex const &, int, int)
+ ?hasAttribute@QXmlStreamAttributes@@QBE_NABVQString@@@Z @ 4160 NONAME ; bool QXmlStreamAttributes::hasAttribute(class QString const &) const
+ ?localeAwareCompare@QString@@SAHABV1@ABVQStringRef@@@Z @ 4161 NONAME ; int QString::localeAwareCompare(class QString const &, class QStringRef const &)
+ ?push_front@QString@@QAEXVQChar@@@Z @ 4162 NONAME ; void QString::push_front(class QChar)
+ ?create@QTextCodecPlugin@@EAEPAVQTextCodec@@ABVQString@@@Z @ 4163 NONAME ; class QTextCodec * QTextCodecPlugin::create(class QString const &)
+ ?columnsAboutToBeInserted@QAbstractItemModelPrivate@@QAEXABVQModelIndex@@HH@Z @ 4164 NONAME ; void QAbstractItemModelPrivate::columnsAboutToBeInserted(class QModelIndex const &, int, int)
+ ?prepend@QString@@QAEAAV1@PBD@Z @ 4165 NONAME ; class QString & QString::prepend(char const *)
+ ?cast@QMetaObject@@QBEPAVQObject@@PAV2@@Z @ 4166 NONAME ; class QObject * QMetaObject::cast(class QObject *) const
+ ?size@QSharedMemory@@QBEHXZ @ 4167 NONAME ; int QSharedMemory::size(void) const
+ ?prepend@QListData@@QAEPAPAXXZ @ 4168 NONAME ; void * * QListData::prepend(void)
+ ?count@QByteArray@@QBEHPBD@Z @ 4169 NONAME ; int QByteArray::count(char const *) const
+ ?classInfoCount@QMetaObject@@QBEHXZ @ 4170 NONAME ; int QMetaObject::classInfoCount(void) const
+ ?nulTerminated@QByteArray@@ABE?AV1@XZ @ 4171 NONAME ; class QByteArray QByteArray::nulTerminated(void) const
+ ?staticInstances@QPluginLoader@@SA?AV?$QList@PAVQObject@@@@XZ @ 4172 NONAME ; class QList<class QObject *> QPluginLoader::staticInstances(void)
+ ?enumeratorCount@QMetaObject@@QBEHXZ @ 4173 NONAME ; int QMetaObject::enumeratorCount(void) const
+ ?writeEmptyElement@QXmlStreamWriter@@QAEXABVQString@@@Z @ 4174 NONAME ; void QXmlStreamWriter::writeEmptyElement(class QString const &)
+ ?remove@QString@@QAEAAV1@ABVQRegExp@@@Z @ 4175 NONAME ; class QString & QString::remove(class QRegExp const &)
+ ?ws@@YAAAVQTextStream@@AAV1@@Z @ 4176 NONAME ; class QTextStream & ws(class QTextStream &)
+ ?open@QIODevice@@UAE_NV?$QFlags@W4OpenModeFlag@QIODevice@@@@@Z @ 4177 NONAME ; bool QIODevice::open(class QFlags<enum QIODevice::OpenModeFlag>)
+ ?load@QVariant@@QAEXAAVQDataStream@@@Z @ 4178 NONAME ; void QVariant::load(class QDataStream &)
+ ?caseSensitive@QFSFileEngine@@UBE_NXZ @ 4179 NONAME ; bool QFSFileEngine::caseSensitive(void) const
+ ?data@QString@@QBEPBVQChar@@XZ @ 4180 NONAME ; class QChar const * QString::data(void) const
+ ?fromUnicode@QTextEncoder@@QAE?AVQByteArray@@ABVQString@@@Z @ 4181 NONAME ; class QByteArray QTextEncoder::fromUnicode(class QString const &)
+ ?constructorCount@QMetaObject@@QBEHXZ @ 4182 NONAME ; int QMetaObject::constructorCount(void) const
+ ?metaObject@QCoreApplication@@UBEPBUQMetaObject@@XZ @ 4183 NONAME ; struct QMetaObject const * QCoreApplication::metaObject(void) const
+ ?staticMetaObject@QNonContiguousByteDevice@@2UQMetaObject@@B @ 4184 NONAME ; struct QMetaObject const QNonContiguousByteDevice::staticMetaObject
+ ??0QPersistentModelIndex@@QAE@XZ @ 4185 NONAME ; QPersistentModelIndex::QPersistentModelIndex(void)
+ ?setPoints@QLineF@@QAEXABVQPointF@@0@Z @ 4186 NONAME ; void QLineF::setPoints(class QPointF const &, class QPointF const &)
+ ?fromPolar@QLineF@@SA?AV1@MM@Z @ 4187 NONAME ; class QLineF QLineF::fromPolar(float, float)
+ ??8QTime@@QBE_NABV0@@Z @ 4188 NONAME ; bool QTime::operator==(class QTime const &) const
+ ?setType@QEasingCurve@@QAEXW4Type@1@@Z @ 4189 NONAME ; void QEasingCurve::setType(enum QEasingCurve::Type)
+ ?tr@QMimeData@@SA?AVQString@@PBD0@Z @ 4190 NONAME ; class QString QMimeData::tr(char const *, char const *)
+ ?d_func@QHistoryState@@ABEPBVQHistoryStatePrivate@@XZ @ 4191 NONAME ; class QHistoryStatePrivate const * QHistoryState::d_func(void) const
+ ?size@QByteArray@@QBEHXZ @ 4192 NONAME ; int QByteArray::size(void) const
+ ?closingDown@QAbstractEventDispatcher@@UAEXXZ @ 4193 NONAME ; void QAbstractEventDispatcher::closingDown(void)
+ ?d_func@QSequentialAnimationGroup@@ABEPBVQSequentialAnimationGroupPrivate@@XZ @ 4194 NONAME ; class QSequentialAnimationGroupPrivate const * QSequentialAnimationGroup::d_func(void) const
+ ?isFile@QFileInfo@@QBE_NXZ @ 4195 NONAME ; bool QFileInfo::isFile(void) const
+ ??1QTimer@@UAE@XZ @ 4196 NONAME ; QTimer::~QTimer(void)
+ ?size@QResource@@QBE_JXZ @ 4197 NONAME ; long long QResource::size(void) const
+ ?size@QString@@QBEHXZ @ 4198 NONAME ; int QString::size(void) const
+ ?fileTime@QFSFileEngine@@UBE?AVQDateTime@@W4FileTime@QAbstractFileEngine@@@Z @ 4199 NONAME ; class QDateTime QFSFileEngine::fileTime(enum QAbstractFileEngine::FileTime) const
+ ?qt_metacall@QAnimationGroup@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 4200 NONAME ; int QAnimationGroup::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?toUShort@QByteArray@@QBEGPA_NH@Z @ 4201 NONAME ; unsigned short QByteArray::toUShort(bool *, int) const
+ ??_EQString@@QAE@I@Z @ 4202 NONAME ; QString::~QString(unsigned int)
+ ?readAllStandardError@QProcess@@QAE?AVQByteArray@@XZ @ 4203 NONAME ; class QByteArray QProcess::readAllStandardError(void)
+ ?cursorPosition@QDateTimeParser@@UBEHXZ @ 4204 NONAME ; int QDateTimeParser::cursorPosition(void) const
+ ??0QAbstractTransitionPrivate@@QAE@XZ @ 4205 NONAME ; QAbstractTransitionPrivate::QAbstractTransitionPrivate(void)
+ ??_EQAbstractEventDispatcherPrivate@@UAE@I@Z @ 4206 NONAME ; QAbstractEventDispatcherPrivate::~QAbstractEventDispatcherPrivate(unsigned int)
+ ?d_func@QPropertyAnimation@@AAEPAVQPropertyAnimationPrivate@@XZ @ 4207 NONAME ; class QPropertyAnimationPrivate * QPropertyAnimation::d_func(void)
+ ?userInfo@QUrl@@QBE?AVQString@@XZ @ 4208 NONAME ; class QString QUrl::userInfo(void) const
+ ??_EQAnimationGroup@@UAE@I@Z @ 4209 NONAME ; QAnimationGroup::~QAnimationGroup(unsigned int)
+ ?trUtf8@QSocketNotifier@@SA?AVQString@@PBD0@Z @ 4210 NONAME ; class QString QSocketNotifier::trUtf8(char const *, char const *)
+ ?unicodeVersion@QChar@@SA?AW4UnicodeVersion@1@I@Z @ 4211 NONAME ; enum QChar::UnicodeVersion QChar::unicodeVersion(unsigned int)
+ ?canFetchMore@QAbstractItemModel@@UBE_NABVQModelIndex@@@Z @ 4212 NONAME ; bool QAbstractItemModel::canFetchMore(class QModelIndex const &) const
+ ??0QAtomicInt@@QAE@H@Z @ 4213 NONAME ; QAtomicInt::QAtomicInt(int)
+ ??9QUrl@@QBE_NABV0@@Z @ 4214 NONAME ; bool QUrl::operator!=(class QUrl const &) const
+ ??0QChar@@QAE@W4SpecialCharacter@0@@Z @ 4215 NONAME ; QChar::QChar(enum QChar::SpecialCharacter)
+ ?localeAwareCompare_helper@QString@@CAHPBVQChar@@H0H@Z @ 4216 NONAME ; int QString::localeAwareCompare_helper(class QChar const *, int, class QChar const *, int)
+ ?contains@QRectF@@QBE_NABVQPointF@@@Z @ 4217 NONAME ; bool QRectF::contains(class QPointF const &) const
+ ??6@YA?AVQDebug@@V0@ABVQRect@@@Z @ 4218 NONAME ; class QDebug operator<<(class QDebug, class QRect const &)
+ ?errorString@QLibrary@@QBE?AVQString@@XZ @ 4219 NONAME ; class QString QLibrary::errorString(void) const
+ ?qt_metacall@QSequentialAnimationGroup@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 4220 NONAME ; int QSequentialAnimationGroup::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ??4QBitArray@@QAEAAV0@ABV0@@Z @ 4221 NONAME ; class QBitArray & QBitArray::operator=(class QBitArray const &)
+ ?absoluteDir@QFileInfo@@QBE?AVQDir@@XZ @ 4222 NONAME ; class QDir QFileInfo::absoluteDir(void) const
+ ??5QDataStream@@QAEAAV0@AAG@Z @ 4223 NONAME ; class QDataStream & QDataStream::operator>>(unsigned short &)
+ ?trUtf8@QSocketNotifier@@SA?AVQString@@PBD0H@Z @ 4224 NONAME ; class QString QSocketNotifier::trUtf8(char const *, char const *, int)
+ ??1QModelIndex@@QAE@XZ @ 4225 NONAME ; QModelIndex::~QModelIndex(void)
+ ?tr@QAbstractListModel@@SA?AVQString@@PBD0H@Z @ 4226 NONAME ; class QString QAbstractListModel::tr(char const *, char const *, int)
+ ?createData@QMapData@@SAPAU1@XZ @ 4227 NONAME ; struct QMapData * QMapData::createData(void)
+ ?mapping@QSignalMapper@@QBEPAVQObject@@PAV2@@Z @ 4228 NONAME ; class QObject * QSignalMapper::mapping(class QObject *) const
+ ?state@QProcess@@QBE?AW4ProcessState@1@XZ @ 4229 NONAME ; enum QProcess::ProcessState QProcess::state(void) const
+ ?setInitialState@QState@@QAEXPAVQAbstractState@@@Z @ 4230 NONAME ; void QState::setInitialState(class QAbstractState *)
+ ?arg@QString@@QBE?AV1@ABV1@00000000@Z @ 4231 NONAME ; class QString QString::arg(class QString const &, class QString const &, class QString const &, class QString const &, class QString const &, class QString const &, class QString const &, class QString const &, class QString const &) const
+ ?expandedTo@QSizeF@@QBE?AV1@ABV1@@Z @ 4232 NONAME ; class QSizeF QSizeF::expandedTo(class QSizeF const &) const
+ ?tr@QVariantAnimation@@SA?AVQString@@PBD0@Z @ 4233 NONAME ; class QString QVariantAnimation::tr(char const *, char const *)
+ ?d_func@QEventTransition@@AAEPAVQEventTransitionPrivate@@XZ @ 4234 NONAME ; class QEventTransitionPrivate * QEventTransition::d_func(void)
+ ??8QBitArray@@QBE_NABV0@@Z @ 4235 NONAME ; bool QBitArray::operator==(class QBitArray const &) const
+ ?locale@QDateTimeParser@@UBE?AVQLocale@@XZ @ 4236 NONAME ; class QLocale QDateTimeParser::locale(void) const
+ ?digitToCLocale@QLocalePrivate@@QBEDABVQChar@@@Z @ 4237 NONAME ; char QLocalePrivate::digitToCLocale(class QChar const &) const
+ ?mapping@QSignalMapper@@QBEPAVQObject@@ABVQString@@@Z @ 4238 NONAME ; class QObject * QSignalMapper::mapping(class QString const &) const
+ ?qVersion@@YAPBDXZ @ 4239 NONAME ; char const * qVersion(void)
+ ?qt_qFindChild_helper@@YAPAVQObject@@PBV1@ABVQString@@ABUQMetaObject@@@Z @ 4240 NONAME ; class QObject * qt_qFindChild_helper(class QObject const *, class QString const &, struct QMetaObject const &)
+ ?setTerminationEnabled@QThread@@KAX_N@Z @ 4241 NONAME ; void QThread::setTerminationEnabled(bool)
+ ?setUtf16@QString@@QAEAAV1@PBGH@Z @ 4242 NONAME ; class QString & QString::setUtf16(unsigned short const *, int)
+ ?type@QEvent@@QBE?AW4Type@1@XZ @ 4243 NONAME ; enum QEvent::Type QEvent::type(void) const
+ ?isDetached@QVariant@@QBE_NXZ @ 4244 NONAME ; bool QVariant::isDetached(void) const
+ ??4QCharRef@@QAEAAV0@H@Z @ 4245 NONAME ; class QCharRef & QCharRef::operator=(int)
+ ?sibling@QAbstractItemModel@@QBE?AVQModelIndex@@HHABV2@@Z @ 4246 NONAME ; class QModelIndex QAbstractItemModel::sibling(int, int, class QModelIndex const &) const
+ ?replace@QByteArray@@QAEAAV1@HHABV1@@Z @ 4247 NONAME ; class QByteArray & QByteArray::replace(int, int, class QByteArray const &)
+ ?qt_metacast@QTemporaryFile@@UAEPAXPBD@Z @ 4248 NONAME ; void * QTemporaryFile::qt_metacast(char const *)
+ ?decimalPoint@QLocale@@QBE?AVQChar@@XZ @ 4249 NONAME ; class QChar QLocale::decimalPoint(void) const
+ ??8QPersistentModelIndex@@QBE_NABV0@@Z @ 4250 NONAME ; bool QPersistentModelIndex::operator==(class QPersistentModelIndex const &) const
+ ?updateCurrentTime@QSequentialAnimationGroup@@MAEXH@Z @ 4251 NONAME ; void QSequentialAnimationGroup::updateCurrentTime(int)
+ ?isLower@QCharRef@@QBE_NXZ @ 4252 NONAME ; bool QCharRef::isLower(void) const
+ ?removeEncodedQueryItem@QUrl@@QAEXABVQByteArray@@@Z @ 4253 NONAME ; void QUrl::removeEncodedQueryItem(class QByteArray const &)
+ ??8QString@@QBE_NPBD@Z @ 4254 NONAME ; bool QString::operator==(char const *) const
+ ?toReal@QVariant@@QBEMPA_N@Z @ 4255 NONAME ; float QVariant::toReal(bool *) const
+ ?contains@QByteArray@@QBE?AVQBool@@D@Z @ 4256 NONAME ; class QBool QByteArray::contains(char) const
+ ??0QChar@@QAE@ABV0@@Z @ 4257 NONAME ; QChar::QChar(class QChar const &)
+ ?instance@QPluginLoader@@QAEPAVQObject@@XZ @ 4258 NONAME ; class QObject * QPluginLoader::instance(void)
+ ?updateCurrentTime@QParallelAnimationGroup@@MAEXH@Z @ 4259 NONAME ; void QParallelAnimationGroup::updateCurrentTime(int)
+ ?startState@QStateMachinePrivate@@QAEPAVQState@@XZ @ 4260 NONAME ; class QState * QStateMachinePrivate::startState(void)
+ ??9QLatin1String@@QBE_NABVQString@@@Z @ 4261 NONAME ; bool QLatin1String::operator!=(class QString const &) const
+ ?resolve@QLibrary@@QAEPAXPBD@Z @ 4262 NONAME ; void * QLibrary::resolve(char const *)
+ ?setRow@QChar@@QAEXE@Z @ 4263 NONAME ; void QChar::setRow(unsigned char)
+ ?add@QObjectCleanupHandler@@QAEPAVQObject@@PAV2@@Z @ 4264 NONAME ; class QObject * QObjectCleanupHandler::add(class QObject *)
+ ?d_func@QSignalTransition@@AAEPAVQSignalTransitionPrivate@@XZ @ 4265 NONAME ; class QSignalTransitionPrivate * QSignalTransition::d_func(void)
+ ?qt_metacast@QState@@UAEPAXPBD@Z @ 4266 NONAME ; void * QState::qt_metacast(char const *)
+ ?setLine@QLine@@QAEXHHHH@Z @ 4267 NONAME ; void QLine::setLine(int, int, int, int)
+ ?month@QDate@@QBEHXZ @ 4268 NONAME ; int QDate::month(void) const
+ ?replace@QString@@QAEAAV1@ABVQRegExp@@ABV1@@Z @ 4269 NONAME ; class QString & QString::replace(class QRegExp const &, class QString const &)
+ ?initializeAnimation@QStateMachinePrivate@@QAE?AU?$QPair@V?$QList@PAVQAbstractAnimation@@@@V1@@@PAVQAbstractAnimation@@ABUQPropertyAssignment@@@Z @ 4270 NONAME ; struct QPair<class QList<class QAbstractAnimation *>, class QList<class QAbstractAnimation *> > QStateMachinePrivate::initializeAnimation(class QAbstractAnimation *, struct QPropertyAssignment const &)
+ ?at@QBitArray@@QBE_NH@Z @ 4271 NONAME ; bool QBitArray::at(int) const
+ ?waitForReadyRead@QIODevice@@UAE_NH@Z @ 4272 NONAME ; bool QIODevice::waitForReadyRead(int)
+ ?qt_metacall@QAbstractTableModel@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 4273 NONAME ; int QAbstractTableModel::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?open@QFSFileEngine@@QAE_NV?$QFlags@W4OpenModeFlag@QIODevice@@@@PAU__sFILE@@@Z @ 4274 NONAME ; bool QFSFileEngine::open(class QFlags<enum QIODevice::OpenModeFlag>, struct __sFILE *)
+ ??0QSize@@QAE@HH@Z @ 4275 NONAME ; QSize::QSize(int, int)
+ ??0QDateTime@@QAE@ABVQDate@@@Z @ 4276 NONAME ; QDateTime::QDateTime(class QDate const &)
+ ?d_func@QBuffer@@AAEPAVQBufferPrivate@@XZ @ 4277 NONAME ; class QBufferPrivate * QBuffer::d_func(void)
+ ?drives@QDir@@SA?AV?$QList@VQFileInfo@@@@XZ @ 4278 NONAME ; class QList<class QFileInfo> QDir::drives(void)
+ ?begin@QByteArray@@QBEPBDXZ @ 4279 NONAME ; char const * QByteArray::begin(void) const
+ ?buffer@QBuffer@@QBEABVQByteArray@@XZ @ 4280 NONAME ; class QByteArray const & QBuffer::buffer(void) const
+ ?shared_null@QMapData@@2U1@A @ 4281 NONAME ; struct QMapData QMapData::shared_null
+ ?rightJustified@QByteArray@@QBE?AV1@HD_N@Z @ 4282 NONAME ; class QByteArray QByteArray::rightJustified(int, char, bool) const
+ ?push_back@QByteArray@@QAEXD@Z @ 4283 NONAME ; void QByteArray::push_back(char)
+ ?qt_metacall@QTimeLine@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 4284 NONAME ; int QTimeLine::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?trUtf8@QThread@@SA?AVQString@@PBD0@Z @ 4285 NONAME ; class QString QThread::trUtf8(char const *, char const *)
+ ?isMinimal@QRegExp@@QBE_NXZ @ 4286 NONAME ; bool QRegExp::isMinimal(void) const
+ ?constBegin@QString@@QBEPBVQChar@@XZ @ 4287 NONAME ; class QChar const * QString::constBegin(void) const
+ ??0QAtomicInt@@QAE@ABV0@@Z @ 4288 NONAME ; QAtomicInt::QAtomicInt(class QAtomicInt const &)
+ ?setDecodingFunction@QFile@@SAXP6A?AVQString@@ABVQByteArray@@@Z@Z @ 4289 NONAME ; void QFile::setDecodingFunction(class QString (*)(class QByteArray const &))
+ ??_EQSettings@@UAE@I@Z @ 4290 NONAME ; QSettings::~QSettings(unsigned int)
+ ??1QVariantAnimation@@UAE@XZ @ 4291 NONAME ; QVariantAnimation::~QVariantAnimation(void)
+ ?writeData@QFile@@MAE_JPBD_J@Z @ 4292 NONAME ; long long QFile::writeData(char const *, long long)
+ ?decompositionTag@QCharRef@@QBE?AW4Decomposition@QChar@@XZ @ 4293 NONAME ; enum QChar::Decomposition QCharRef::decompositionTag(void) const
+ ?setNum@QByteArray@@QAEAAV1@GH@Z @ 4294 NONAME ; class QByteArray & QByteArray::setNum(unsigned short, int)
+ ?removeQueryItem@QUrl@@QAEXABVQString@@@Z @ 4295 NONAME ; void QUrl::removeQueryItem(class QString const &)
+ ?event@QSettings@@MAE_NPAVQEvent@@@Z @ 4296 NONAME ; bool QSettings::event(class QEvent *)
+ ?addPath@QFileSystemWatcher@@QAEXABVQString@@@Z @ 4297 NONAME ; void QFileSystemWatcher::addPath(class QString const &)
+ ?d@QLocale@@ABEPBUQLocalePrivate@@XZ @ 4298 NONAME ; struct QLocalePrivate const * QLocale::d(void) const
+ ?d_func@QStateMachine@@ABEPBVQStateMachinePrivate@@XZ @ 4299 NONAME ; class QStateMachinePrivate const * QStateMachine::d_func(void) const
+ ?qualifiedName@QXmlStreamReader@@QBE?AVQStringRef@@XZ @ 4300 NONAME ; class QStringRef QXmlStreamReader::qualifiedName(void) const
+ ??NQString@@QBE_NABVQLatin1String@@@Z @ 4301 NONAME ; bool QString::operator<=(class QLatin1String const &) const
+ ?readChannelFinished@QIODevice@@IAEXXZ @ 4302 NONAME ; void QIODevice::readChannelFinished(void)
+ ?tr@QThread@@SA?AVQString@@PBD0H@Z @ 4303 NONAME ; class QString QThread::tr(char const *, char const *, int)
+ ?fill@QBitArray@@QAEX_NHH@Z @ 4304 NONAME ; void QBitArray::fill(bool, int, int)
+ ?trUtf8@QNonContiguousByteDevice@@SA?AVQString@@PBD0H@Z @ 4305 NONAME ; class QString QNonContiguousByteDevice::trUtf8(char const *, char const *, int)
+ ?unsLongLongToString@QLocalePrivate@@QBE?AVQString@@_KHHHI@Z @ 4306 NONAME ; class QString QLocalePrivate::unsLongLongToString(unsigned long long, int, int, int, unsigned int) const
+ ?toUtf8@QString@@QBE?AVQByteArray@@XZ @ 4307 NONAME ; class QByteArray QString::toUtf8(void) const
+ ?removeRow@QAbstractItemModel@@QAE_NHABVQModelIndex@@@Z @ 4308 NONAME ; bool QAbstractItemModel::removeRow(int, class QModelIndex const &)
+ ?hasChildren@QAbstractItemModel@@UBE_NABVQModelIndex@@@Z @ 4309 NONAME ; bool QAbstractItemModel::hasChildren(class QModelIndex const &) const
+ ?trUtf8@QSharedMemory@@SA?AVQString@@PBD0@Z @ 4310 NONAME ; class QString QSharedMemory::trUtf8(char const *, char const *)
+ ??0QStateMachinePrivate@@QAE@XZ @ 4311 NONAME ; QStateMachinePrivate::QStateMachinePrivate(void)
+ ?metaCall@QAbstractDynamicMetaObject@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 4312 NONAME ; int QAbstractDynamicMetaObject::metaCall(enum QMetaObject::Call, int, void * *)
+ ?setDuration@QPauseAnimation@@QAEXH@Z @ 4313 NONAME ; void QPauseAnimation::setDuration(int)
+ ??0QSignalMapper@@QAE@PAVQObject@@@Z @ 4314 NONAME ; QSignalMapper::QSignalMapper(class QObject *)
+ ?qt_metacast@QNonContiguousByteDevice@@UAEPAXPBD@Z @ 4315 NONAME ; void * QNonContiguousByteDevice::qt_metacast(char const *)
+ ?staticMetaObject@QBuffer@@2UQMetaObject@@B @ 4316 NONAME ; struct QMetaObject const QBuffer::staticMetaObject
+ ?readProgress@QNonContiguousByteDevice@@IAEX_J0@Z @ 4317 NONAME ; void QNonContiguousByteDevice::readProgress(long long, long long)
+ ??0QByteArrayMatcher@@QAE@ABVQByteArray@@@Z @ 4318 NONAME ; QByteArrayMatcher::QByteArrayMatcher(class QByteArray const &)
+ ??0QSystemSemaphore@@QAE@ABVQString@@HW4AccessMode@0@@Z @ 4319 NONAME ; QSystemSemaphore::QSystemSemaphore(class QString const &, int, enum QSystemSemaphore::AccessMode)
+ ??6QDebug@@QAEAAV0@G@Z @ 4320 NONAME ; class QDebug & QDebug::operator<<(unsigned short)
+ ??0QPauseAnimation@@QAE@PAVQObject@@@Z @ 4321 NONAME ; QPauseAnimation::QPauseAnimation(class QObject *)
+ ?QStringList_replaceInStrings@QtPrivate@@YAXPAVQStringList@@ABVQString@@1W4CaseSensitivity@Qt@@@Z @ 4322 NONAME ; void QtPrivate::QStringList_replaceInStrings(class QStringList *, class QString const &, class QString const &, enum Qt::CaseSensitivity)
+ ?measurementSystem@QLocalePrivate@@QBE?AW4MeasurementSystem@QLocale@@XZ @ 4323 NONAME ; enum QLocale::MeasurementSystem QLocalePrivate::measurementSystem(void) const
+ ?nextNode@QHashData@@SAPAUNode@1@PAU21@@Z @ 4324 NONAME ; struct QHashData::Node * QHashData::nextNode(struct QHashData::Node *)
+ ??0QByteArray@@QAE@HW4Initialization@Qt@@@Z @ 4325 NONAME ; QByteArray::QByteArray(int, enum Qt::Initialization)
+ ?data@QPersistentModelIndex@@QBE?AVQVariant@@H@Z @ 4326 NONAME ; class QVariant QPersistentModelIndex::data(int) const
+ ??YQString@@QAEAAV0@ABVQStringRef@@@Z @ 4327 NONAME ; class QString & QString::operator+=(class QStringRef const &)
+ ?trUtf8@QState@@SA?AVQString@@PBD0@Z @ 4328 NONAME ; class QString QState::trUtf8(char const *, char const *)
+ ?event@QHistoryState@@MAE_NPAVQEvent@@@Z @ 4329 NONAME ; bool QHistoryState::event(class QEvent *)
+ ?removeMappings@QSignalMapper@@QAEXPAVQObject@@@Z @ 4330 NONAME ; void QSignalMapper::removeMappings(class QObject *)
+ ?QBasicAtomicPointer_fetchAndStoreOrdered@@YAPAXPCRAXPAX@Z @ 4331 NONAME ; void * QBasicAtomicPointer_fetchAndStoreOrdered(void * volatile *, void *)
+ ?removeTranslator@QCoreApplication@@SAXPAVQTranslator@@@Z @ 4332 NONAME ; void QCoreApplication::removeTranslator(class QTranslator *)
+ ??0QThreadStorageData@@QAE@P6AXPAX@Z@Z @ 4333 NONAME ; QThreadStorageData::QThreadStorageData(void (*)(void *))
+ ??8QXmlStreamNamespaceDeclaration@@QBE_NABV0@@Z @ 4334 NONAME ; bool QXmlStreamNamespaceDeclaration::operator==(class QXmlStreamNamespaceDeclaration const &) const
+ ?readBytes@QDataStream@@QAEAAV1@AAPADAAI@Z @ 4335 NONAME ; class QDataStream & QDataStream::readBytes(char * &, unsigned int &)
+ ?permissions@QFileInfo@@QBE?AV?$QFlags@W4Permission@QFile@@@@XZ @ 4336 NONAME ; class QFlags<enum QFile::Permission> QFileInfo::permissions(void) const
+ ??BQHBufC@@QAEPAVHBufC16@@XZ @ 4337 NONAME ; QHBufC::operator class HBufC16 *(void)
+ ?readData@QProcess@@MAE_JPAD_J@Z @ 4338 NONAME ; long long QProcess::readData(char *, long long)
+ ?qgetenv@@YA?AVQByteArray@@PBD@Z @ 4339 NONAME ; class QByteArray qgetenv(char const *)
+ ?zero@QLocalePrivate@@QBE?AVQChar@@XZ @ 4340 NONAME ; class QChar QLocalePrivate::zero(void) const
+ ?setP2@QLineF@@QAEXABVQPointF@@@Z @ 4341 NONAME ; void QLineF::setP2(class QPointF const &)
+ ?intersected@QRectF@@QBE?AV1@ABV1@@Z @ 4342 NONAME ; class QRectF QRectF::intersected(class QRectF const &) const
+ ??0QSize@@QAE@XZ @ 4343 NONAME ; QSize::QSize(void)
+ ?mirroredChar@QChar@@SAGG@Z @ 4344 NONAME ; unsigned short QChar::mirroredChar(unsigned short)
+ ?setHistoryType@QHistoryState@@QAEXW4HistoryType@1@@Z @ 4345 NONAME ; void QHistoryState::setHistoryType(enum QHistoryState::HistoryType)
+ ?hasFailure@QTextEncoder@@QBE_NXZ @ 4346 NONAME ; bool QTextEncoder::hasFailure(void) const
+ ?d_func@QSocketNotifier@@AAEPAVQObjectPrivate@@XZ @ 4347 NONAME ; class QObjectPrivate * QSocketNotifier::d_func(void)
+ ??0QString@@QAE@PBVQChar@@H@Z @ 4348 NONAME ; QString::QString(class QChar const *, int)
+ ?trUtf8@QTimer@@SA?AVQString@@PBD0H@Z @ 4349 NONAME ; class QString QTimer::trUtf8(char const *, char const *, int)
+ ?setStandardOutputProcess@QProcess@@QAEXPAV1@@Z @ 4350 NONAME ; void QProcess::setStandardOutputProcess(class QProcess *)
+ ?startsWith@QString@@QBE_NABVQChar@@W4CaseSensitivity@Qt@@@Z @ 4351 NONAME ; bool QString::startsWith(class QChar const &, enum Qt::CaseSensitivity) const
+ ??0QVariant@@QAE@_J@Z @ 4352 NONAME ; QVariant::QVariant(long long)
+ ?removeFormat@QMimeData@@QAEXABVQString@@@Z @ 4353 NONAME ; void QMimeData::removeFormat(class QString const &)
+ ?isTextModeEnabled@QIODevice@@QBE_NXZ @ 4354 NONAME ; bool QIODevice::isTextModeEnabled(void) const
+ ?numberFlags@QTextStream@@QBE?AV?$QFlags@W4NumberFlag@QTextStream@@@@XZ @ 4355 NONAME ; class QFlags<enum QTextStream::NumberFlag> QTextStream::numberFlags(void) const
+ ??6@YA?AVQDebug@@V0@V?$QFlags@W4OpenModeFlag@QIODevice@@@@@Z @ 4356 NONAME ; class QDebug operator<<(class QDebug, class QFlags<enum QIODevice::OpenModeFlag>)
+ ?staticMetaObject@QHistoryState@@2UQMetaObject@@B @ 4357 NONAME ; struct QMetaObject const QHistoryState::staticMetaObject
+ ?unlock@QSharedMemory@@QAE_NXZ @ 4358 NONAME ; bool QSharedMemory::unlock(void)
+ ?allocate@QContiguousCacheData@@SAPAU1@HH@Z @ 4359 NONAME ; struct QContiguousCacheData * QContiguousCacheData::allocate(int, int)
+ ?allocate@QVectorData@@SAPAU1@HH@Z @ 4360 NONAME ; struct QVectorData * QVectorData::allocate(int, int)
+ ?allocateNode@QHashData@@QAEPAXH@Z @ 4361 NONAME ; void * QHashData::allocateNode(int)
+ ?buildDate@QLibraryInfo@@SA?AVQDate@@XZ @ 4362 NONAME ; class QDate QLibraryInfo::buildDate(void)
+ ?createData@QMapData@@SAPAU1@H@Z @ 4363 NONAME ; struct QMapData * QMapData::createData(int)
+ ?dequeueExternalEvent@QStateMachinePrivate@@QAEPAVQEvent@@XZ @ 4364 NONAME ; class QEvent * QStateMachinePrivate::dequeueExternalEvent(void)
+ ?dequeueInternalEvent@QStateMachinePrivate@@QAEPAVQEvent@@XZ @ 4365 NONAME ; class QEvent * QStateMachinePrivate::dequeueInternalEvent(void)
+ ?detach_helper2@QHashData@@QAEPAU1@P6AXPAUNode@1@PAX@ZP6AX0@ZHH@Z @ 4366 NONAME ; struct QHashData * QHashData::detach_helper2(void (*)(struct QHashData::Node *, void *), void (*)(struct QHashData::Node *), int, int)
+ ?free@QContiguousCacheData@@SAXPAU1@@Z @ 4367 NONAME ; void QContiguousCacheData::free(struct QContiguousCacheData *)
+ ?free@QVectorData@@SAXPAU1@H@Z @ 4368 NONAME ; void QVectorData::free(struct QVectorData *, int)
+ ?isExternalEventQueueEmpty@QStateMachinePrivate@@QAE_NXZ @ 4369 NONAME ; bool QStateMachinePrivate::isExternalEventQueueEmpty(void)
+ ?isInternalEventQueueEmpty@QStateMachinePrivate@@QAE_NXZ @ 4370 NONAME ; bool QStateMachinePrivate::isInternalEventQueueEmpty(void)
+ ?node_create@QMapData@@QAEPAUNode@1@QAPAU21@HH@Z @ 4371 NONAME ; struct QMapData::Node * QMapData::node_create(struct QMapData::Node * * const, int, int)
+ ?postExternalEvent@QStateMachinePrivate@@QAEXPAVQEvent@@@Z @ 4372 NONAME ; void QStateMachinePrivate::postExternalEvent(class QEvent *)
+ ?postInternalEvent@QStateMachinePrivate@@QAEXPAVQEvent@@@Z @ 4373 NONAME ; void QStateMachinePrivate::postInternalEvent(class QEvent *)
+ ?qFreeAligned@@YAXPAX@Z @ 4374 NONAME ; void qFreeAligned(void *)
+ ?qMallocAligned@@YAPAXII@Z @ 4375 NONAME ; void * qMallocAligned(unsigned int, unsigned int)
+ ?qReallocAligned@@YAPAXPAXIII@Z @ 4376 NONAME ; void * qReallocAligned(void *, unsigned int, unsigned int, unsigned int)
+ ?reallocate@QVectorData@@SAPAU1@PAU1@HHH@Z @ 4377 NONAME ; struct QVectorData * QVectorData::reallocate(struct QVectorData *, int, int, int)
+ ?toFinalState@QStateMachinePrivate@@SAPAVQFinalState@@PAVQAbstractState@@@Z @ 4378 NONAME ; class QFinalState * QStateMachinePrivate::toFinalState(class QAbstractState *)
+ ?toHistoryState@QStateMachinePrivate@@SAPAVQHistoryState@@PAVQAbstractState@@@Z @ 4379 NONAME ; class QHistoryState * QStateMachinePrivate::toHistoryState(class QAbstractState *)
+ ?toStandardState@QStateMachinePrivate@@SAPAVQState@@PAVQAbstractState@@@Z @ 4380 NONAME ; class QState * QStateMachinePrivate::toStandardState(class QAbstractState *)
+ ?toStandardState@QStateMachinePrivate@@SAPBVQState@@PBVQAbstractState@@@Z @ 4381 NONAME ; class QState const * QStateMachinePrivate::toStandardState(class QAbstractState const *)
+
diff --git a/src/s60installs/bwins/QtGuiu.def b/src/s60installs/bwins/QtGuiu.def
new file mode 100644
index 0000000..69a95f0
--- /dev/null
+++ b/src/s60installs/bwins/QtGuiu.def
@@ -0,0 +1,12585 @@
+EXPORTS
+ ?d_func@QGraphicsItem@@ABEPBVQGraphicsItemPrivate@@XZ @ 1 NONAME ; class QGraphicsItemPrivate const * QGraphicsItem::d_func(void) const
+ ?setColumnWidth@QTreeView@@QAEXHH@Z @ 2 NONAME ; void QTreeView::setColumnWidth(int, int)
+ ?addItem@QToolBox@@QAEHPAVQWidget@@ABVQString@@@Z @ 3 NONAME ; int QToolBox::addItem(class QWidget *, class QString const &)
+ ?selectAll@QAbstractSpinBox@@QAEXXZ @ 4 NONAME ; void QAbstractSpinBox::selectAll(void)
+ ?checkedAction@QActionGroup@@QBEPAVQAction@@XZ @ 5 NONAME ; class QAction * QActionGroup::checkedAction(void) const
+ ?minimumSizeHint@QComboBox@@UBE?AVQSize@@XZ @ 6 NONAME ; class QSize QComboBox::minimumSizeHint(void) const
+ ?setIcon@QStandardItem@@QAEXABVQIcon@@@Z @ 7 NONAME ; void QStandardItem::setIcon(class QIcon const &)
+ ?d_func@QGraphicsBloomEffect@@AAEPAVQGraphicsBloomEffectPrivate@@XZ @ 8 NONAME ABSENT ; class QGraphicsBloomEffectPrivate * QGraphicsBloomEffect::d_func(void)
+ ?normalize@QVector2D@@QAEXXZ @ 9 NONAME ; void QVector2D::normalize(void)
+ ?name@QColor@@QBE?AVQString@@XZ @ 10 NONAME ; class QString QColor::name(void) const
+ ?openPersistentEditor@QListWidget@@QAEXPAVQListWidgetItem@@@Z @ 11 NONAME ; void QListWidget::openPersistentEditor(class QListWidgetItem *)
+ ?updateGeometries@QTableView@@MAEXXZ @ 12 NONAME ; void QTableView::updateGeometries(void)
+ ?contextMenuEvent@QGraphicsView@@MAEXPAVQContextMenuEvent@@@Z @ 13 NONAME ; void QGraphicsView::contextMenuEvent(class QContextMenuEvent *)
+ ?clearLayout@QTextLayout@@QAEXXZ @ 14 NONAME ; void QTextLayout::clearLayout(void)
+ ?setOffset@QPixmapDropShadowFilter@@QAEXABVQPointF@@@Z @ 15 NONAME ; void QPixmapDropShadowFilter::setOffset(class QPointF const &)
+ ?setTextInteractionFlags@QLabel@@QAEXV?$QFlags@W4TextInteractionFlag@Qt@@@@@Z @ 16 NONAME ; void QLabel::setTextInteractionFlags(class QFlags<enum Qt::TextInteractionFlag>)
+ ?pageBreakPolicy@QTextFrameFormat@@QBE?AV?$QFlags@W4PageBreakFlag@QTextFormat@@@@XZ @ 17 NONAME ; class QFlags<enum QTextFormat::PageBreakFlag> QTextFrameFormat::pageBreakPolicy(void) const
+ ??0QStyleOptionHeader@@QAE@ABV0@@Z @ 18 NONAME ; QStyleOptionHeader::QStyleOptionHeader(class QStyleOptionHeader const &)
+ ??0QSlider@@QAE@PAVQWidget@@@Z @ 19 NONAME ; QSlider::QSlider(class QWidget *)
+ ?textList@QTextBlock@@QBEPAVQTextList@@XZ @ 20 NONAME ; class QTextList * QTextBlock::textList(void) const
+ ?takeAt@QDockWidgetLayout@@UAEPAVQLayoutItem@@H@Z @ 21 NONAME ; class QLayoutItem * QDockWidgetLayout::takeAt(int)
+ ?mouseReleaseEvent@QWidget@@MAEXPAVQMouseEvent@@@Z @ 22 NONAME ; void QWidget::mouseReleaseEvent(class QMouseEvent *)
+ ?tr@QStandardItemModel@@SA?AVQString@@PBD0@Z @ 23 NONAME ; class QString QStandardItemModel::tr(char const *, char const *)
+ ?scaledSize@QImageReader@@QBE?AVQSize@@XZ @ 24 NONAME ; class QSize QImageReader::scaledSize(void) const
+ ?leaveModal_sys@QApplicationPrivate@@SAXPAVQWidget@@@Z @ 25 NONAME ; void QApplicationPrivate::leaveModal_sys(class QWidget *)
+ ?d_func@QUndoStack@@ABEPBVQUndoStackPrivate@@XZ @ 26 NONAME ; class QUndoStackPrivate const * QUndoStack::d_func(void) const
+ ??0QPictureIO@@QAE@PAVQIODevice@@PBD@Z @ 27 NONAME ; QPictureIO::QPictureIO(class QIODevice *, char const *)
+ ??_EQGraphicsSceneContextMenuEvent@@UAE@I@Z @ 28 NONAME ; QGraphicsSceneContextMenuEvent::~QGraphicsSceneContextMenuEvent(unsigned int)
+ ?undo@QUndoStack@@QAEXXZ @ 29 NONAME ; void QUndoStack::undo(void)
+ ?setDateTime@QDateTimeEdit@@QAEXABVQDateTime@@@Z @ 30 NONAME ; void QDateTimeEdit::setDateTime(class QDateTime const &)
+ ??1QGraphicsSystemPlugin@@UAE@XZ @ 31 NONAME ; QGraphicsSystemPlugin::~QGraphicsSystemPlugin(void)
+ ?rowsInserted@QListView@@MAEXABVQModelIndex@@HH@Z @ 32 NONAME ; void QListView::rowsInserted(class QModelIndex const &, int, int)
+ ?popup@QCompleter@@QBEPAVQAbstractItemView@@XZ @ 33 NONAME ; class QAbstractItemView * QCompleter::popup(void) const
+ ?fixup@QSpinBox@@MBEXAAVQString@@@Z @ 34 NONAME ; void QSpinBox::fixup(class QString &) const
+ ?setStaticContents@QWindowSurface@@QAEXABVQRegion@@@Z @ 35 NONAME ; void QWindowSurface::setStaticContents(class QRegion const &)
+ ?isTristate@QCheckBox@@QBE_NXZ @ 36 NONAME ; bool QCheckBox::isTristate(void) const
+ ?setMinimumWidth@QGraphicsLayoutItem@@QAEXM@Z @ 37 NONAME ; void QGraphicsLayoutItem::setMinimumWidth(float)
+ ??_EQToolBarChangeEvent@@UAE@I@Z @ 38 NONAME ; QToolBarChangeEvent::~QToolBarChangeEvent(unsigned int)
+ ?invalidateBuffer_resizeHelper@QWidgetPrivate@@QAEXABVQPoint@@ABVQSize@@@Z @ 39 NONAME ; void QWidgetPrivate::invalidateBuffer_resizeHelper(class QPoint const &, class QSize const &)
+ ?setLabel@QProgressDialog@@QAEXPAVQLabel@@@Z @ 40 NONAME ; void QProgressDialog::setLabel(class QLabel *)
+ ?setStack@QUndoView@@QAEXPAVQUndoStack@@@Z @ 41 NONAME ; void QUndoView::setStack(class QUndoStack *)
+ ?setIsMemberOfGroup@QGraphicsItemPrivate@@QAEX_N@Z @ 42 NONAME ; void QGraphicsItemPrivate::setIsMemberOfGroup(bool)
+ ?quadTo@QPainterPath@@QAEXMMMM@Z @ 43 NONAME ; void QPainterPath::quadTo(float, float, float, float)
+ ?dragEnterEvent@QAbstractScrollArea@@MAEXPAVQDragEnterEvent@@@Z @ 44 NONAME ; void QAbstractScrollArea::dragEnterEvent(class QDragEnterEvent *)
+ ?setStatusTip@QAction@@QAEXABVQString@@@Z @ 45 NONAME ; void QAction::setStatusTip(class QString const &)
+ ?d_func@QGraphicsSceneContextMenuEvent@@ABEPBVQGraphicsSceneContextMenuEventPrivate@@XZ @ 46 NONAME ; class QGraphicsSceneContextMenuEventPrivate const * QGraphicsSceneContextMenuEvent::d_func(void) const
+ ?qt_metacast@QAbstractTextDocumentLayout@@UAEPAXPBD@Z @ 47 NONAME ; void * QAbstractTextDocumentLayout::qt_metacast(char const *)
+ ?verticalOffset@QListView@@MBEHXZ @ 48 NONAME ; int QListView::verticalOffset(void) const
+ ?staticMetaObject@QGraphicsProxyWidget@@2UQMetaObject@@B @ 49 NONAME ; struct QMetaObject const QGraphicsProxyWidget::staticMetaObject
+ ?deref@QPixmap@@AAEXXZ @ 50 NONAME ; void QPixmap::deref(void)
+ ?clearContents@QTableWidget@@QAEXXZ @ 51 NONAME ; void QTableWidget::clearContents(void)
+ ?selectionChanged@QListView@@MAEXABVQItemSelection@@0@Z @ 52 NONAME ; void QListView::selectionChanged(class QItemSelection const &, class QItemSelection const &)
+ ?takeRow@QStandardItemModel@@QAE?AV?$QList@PAVQStandardItem@@@@H@Z @ 53 NONAME ; class QList<class QStandardItem *> QStandardItemModel::takeRow(int)
+ ??BQPixmap@@QBE?AVQVariant@@XZ @ 54 NONAME ; QPixmap::operator class QVariant(void) const
+ ?tr@QGraphicsProxyWidget@@SA?AVQString@@PBD0H@Z @ 55 NONAME ; class QString QGraphicsProxyWidget::tr(char const *, char const *, int)
+ ?selectionStart@QLineControl@@QBEHXZ @ 56 NONAME ; int QLineControl::selectionStart(void) const
+ ??0QPicture@@IAE@AAVQPicturePrivate@@@Z @ 57 NONAME ; QPicture::QPicture(class QPicturePrivate &)
+ ??1QFontComboBox@@UAE@XZ @ 58 NONAME ; QFontComboBox::~QFontComboBox(void)
+ ?getStaticMetaObject@QCompleter@@SAABUQMetaObject@@XZ @ 59 NONAME ; struct QMetaObject const & QCompleter::getStaticMetaObject(void)
+ ?addPage@QWizard@@QAEHPAVQWizardPage@@@Z @ 60 NONAME ; int QWizard::addPage(class QWizardPage *)
+ ?setSortCacheEnabled@QGraphicsScene@@QAEX_N@Z @ 61 NONAME ; void QGraphicsScene::setSortCacheEnabled(bool)
+ ?setGeometry_sys@QWidgetPrivate@@QAEXHHHH_N@Z @ 62 NONAME ; void QWidgetPrivate::setGeometry_sys(int, int, int, int, bool)
+ ?qt_metacast@QFileDialog@@UAEPAXPBD@Z @ 63 NONAME ; void * QFileDialog::qt_metacast(char const *)
+ ?fontLetterSpacing@QTextCharFormat@@QBEMXZ @ 64 NONAME ; float QTextCharFormat::fontLetterSpacing(void) const
+ ?x@QVector3D@@QBEMXZ @ 65 NONAME ; float QVector3D::x(void) const
+ ?tr@QCheckBox@@SA?AVQString@@PBD0H@Z @ 66 NONAME ; class QString QCheckBox::tr(char const *, char const *, int)
+ ?popupWidgets@QApplicationPrivate@@2PAV?$QList@PAVQWidget@@@@A @ 67 NONAME ; class QList<class QWidget *> * QApplicationPrivate::popupWidgets
+ ??8QMatrix4x4@@QBE_NABV0@@Z @ 68 NONAME ; bool QMatrix4x4::operator==(class QMatrix4x4 const &) const
+ ?getStaticMetaObject@QGridLayout@@SAABUQMetaObject@@XZ @ 69 NONAME ; struct QMetaObject const & QGridLayout::getStaticMetaObject(void)
+ ?setGridStyle@QTableView@@QAEXW4PenStyle@Qt@@@Z @ 70 NONAME ; void QTableView::setGridStyle(enum Qt::PenStyle)
+ ?cellActivated@QTableWidget@@IAEXHH@Z @ 71 NONAME ; void QTableWidget::cellActivated(int, int)
+ ?borderBrush@QTextFrameFormat@@QBE?AVQBrush@@XZ @ 72 NONAME ; class QBrush QTextFrameFormat::borderBrush(void) const
+ ?staticMetaObject@QToolBox@@2UQMetaObject@@B @ 73 NONAME ; struct QMetaObject const QToolBox::staticMetaObject
+ ?setMenu@QAction@@QAEXPAVQMenu@@@Z @ 74 NONAME ; void QAction::setMenu(class QMenu *)
+ ?metric@QPaintDevice@@MBEHW4PaintDeviceMetric@1@@Z @ 75 NONAME ; int QPaintDevice::metric(enum QPaintDevice::PaintDeviceMetric) const
+ ?color@QPen@@QBE?AVQColor@@XZ @ 76 NONAME ; class QColor QPen::color(void) const
+ ?setDoubleMaximum@QInputDialog@@QAEXN@Z @ 77 NONAME ; void QInputDialog::setDoubleMaximum(double)
+ ?quitOnLastWindowClosed@QApplication@@SA_NXZ @ 78 NONAME ; bool QApplication::quitOnLastWindowClosed(void)
+ ?tr@QDataWidgetMapper@@SA?AVQString@@PBD0H@Z @ 79 NONAME ; class QString QDataWidgetMapper::tr(char const *, char const *, int)
+ ?currentIndexChanged@QDataWidgetMapper@@IAEXH@Z @ 80 NONAME ; void QDataWidgetMapper::currentIndexChanged(int)
+ ??1QStyleHintReturn@@QAE@XZ @ 81 NONAME ; QStyleHintReturn::~QStyleHintReturn(void)
+ ??_EQWindowSurface@@UAE@I@Z @ 82 NONAME ; QWindowSurface::~QWindowSurface(unsigned int)
+ ?setStatusTip@QListWidgetItem@@QAEXABVQString@@@Z @ 83 NONAME ; void QListWidgetItem::setStatusTip(class QString const &)
+ ?appendColumn@QStandardItem@@QAEXABV?$QList@PAVQStandardItem@@@@@Z @ 84 NONAME ; void QStandardItem::appendColumn(class QList<class QStandardItem *> const &)
+ ?insertBlock@QTextCursor@@QAEXABVQTextBlockFormat@@ABVQTextCharFormat@@@Z @ 85 NONAME ; void QTextCursor::insertBlock(class QTextBlockFormat const &, class QTextCharFormat const &)
+ ?metaObject@QGraphicsOpacityEffect@@UBEPBUQMetaObject@@XZ @ 86 NONAME ; struct QMetaObject const * QGraphicsOpacityEffect::metaObject(void) const
+ ?focusNextPrevChild@QLabel@@MAE_N_N@Z @ 87 NONAME ; bool QLabel::focusNextPrevChild(bool)
+ ?metaObject@QSlider@@UBEPBUQMetaObject@@XZ @ 88 NONAME ; struct QMetaObject const * QSlider::metaObject(void) const
+ ?ensureBlockLayout@QPlainTextDocumentLayout@@QBEXABVQTextBlock@@@Z @ 89 NONAME ; void QPlainTextDocumentLayout::ensureBlockLayout(class QTextBlock const &) const
+ ?stroke@QPaintEngineEx@@UAEXABVQVectorPath@@ABVQPen@@@Z @ 90 NONAME ; void QPaintEngineEx::stroke(class QVectorPath const &, class QPen const &)
+ ?filtersChildEvents@QGraphicsItem@@QBE_NXZ @ 91 NONAME ; bool QGraphicsItem::filtersChildEvents(void) const
+ ?addWidget@QGraphicsScene@@QAEPAVQGraphicsProxyWidget@@PAVQWidget@@V?$QFlags@W4WindowType@Qt@@@@@Z @ 92 NONAME ; class QGraphicsProxyWidget * QGraphicsScene::addWidget(class QWidget *, class QFlags<enum Qt::WindowType>)
+ ?setWindowTitle_sys@QWidgetPrivate@@QAEXABVQString@@@Z @ 93 NONAME ; void QWidgetPrivate::setWindowTitle_sys(class QString const &)
+ ?setDirtyOpaqueRegion@QWidgetPrivate@@QAEXXZ @ 94 NONAME ; void QWidgetPrivate::setDirtyOpaqueRegion(void)
+ ??0QIcon@@QAE@PAVQIconEngineV2@@@Z @ 95 NONAME ; QIcon::QIcon(class QIconEngineV2 *)
+ ?qt_metacall@QFileSystemModel@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 96 NONAME ; int QFileSystemModel::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?getStaticMetaObject@QGraphicsDropShadowEffect@@SAABUQMetaObject@@XZ @ 97 NONAME ; struct QMetaObject const & QGraphicsDropShadowEffect::getStaticMetaObject(void)
+ ?staticMetaObject@QGraphicsPixelizeEffect@@2UQMetaObject@@B @ 98 NONAME ABSENT ; struct QMetaObject const QGraphicsPixelizeEffect::staticMetaObject
+ ?eraseRect@QPainter@@QAEXHHHH@Z @ 99 NONAME ; void QPainter::eraseRect(int, int, int, int)
+ ?gotFocus@QFocusEvent@@QBE_NXZ @ 100 NONAME ; bool QFocusEvent::gotFocus(void) const
+ ?setLayout@QWidget@@QAEXPAVQLayout@@@Z @ 101 NONAME ; void QWidget::setLayout(class QLayout *)
+ ?qt_metacast@QListWidget@@UAEPAXPBD@Z @ 102 NONAME ; void * QListWidget::qt_metacast(char const *)
+ ?isActive@QPainter@@QBE_NXZ @ 103 NONAME ; bool QPainter::isActive(void) const
+ ?drawLine@QPainter@@QAEXABVQLineF@@@Z @ 104 NONAME ; void QPainter::drawLine(class QLineF const &)
+ ?tr@QGraphicsWidget@@SA?AVQString@@PBD0H@Z @ 105 NONAME ; class QString QGraphicsWidget::tr(char const *, char const *, int)
+ ?hasHeightForWidth@QSizePolicy@@QBE_NXZ @ 106 NONAME ; bool QSizePolicy::hasHeightForWidth(void) const
+ ?metaObject@QPictureFormatPlugin@@UBEPBUQMetaObject@@XZ @ 107 NONAME ; struct QMetaObject const * QPictureFormatPlugin::metaObject(void) const
+ ?setColumnStretch@QGridLayout@@QAEXHH@Z @ 108 NONAME ; void QGridLayout::setColumnStretch(int, int)
+ ?mirrored@QImage@@QBE?AV1@_N0@Z @ 109 NONAME ; class QImage QImage::mirrored(bool, bool) const
+ ?createHandle@QSplitter@@MAEPAVQSplitterHandle@@XZ @ 110 NONAME ; class QSplitterHandle * QSplitter::createHandle(void)
+ ?metric@QRasterPixmapData@@MBEHW4PaintDeviceMetric@QPaintDevice@@@Z @ 111 NONAME ; int QRasterPixmapData::metric(enum QPaintDevice::PaintDeviceMetric) const
+ ??0QHideEvent@@QAE@XZ @ 112 NONAME ; QHideEvent::QHideEvent(void)
+ ?removeDockWidget@QMainWindow@@QAEXPAVQDockWidget@@@Z @ 113 NONAME ; void QMainWindow::removeDockWidget(class QDockWidget *)
+ ?calendarWidget@QDateTimeEdit@@QBEPAVQCalendarWidget@@XZ @ 114 NONAME ; class QCalendarWidget * QDateTimeEdit::calendarWidget(void) const
+ ?canRead@QImageReader@@QBE_NXZ @ 115 NONAME ; bool QImageReader::canRead(void) const
+ ?qt_metacall@QCheckBox@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 116 NONAME ; int QCheckBox::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?updatesEnabled@QWidget@@QBE_NXZ @ 117 NONAME ; bool QWidget::updatesEnabled(void) const
+ ?trUtf8@QStatusBar@@SA?AVQString@@PBD0@Z @ 118 NONAME ; class QString QStatusBar::trUtf8(char const *, char const *)
+ ??5@YAAAVQDataStream@@AAV0@AAVQPolygonF@@@Z @ 119 NONAME ; class QDataStream & operator>>(class QDataStream &, class QPolygonF &)
+ ?clear@QUndoStack@@QAEXXZ @ 120 NONAME ; void QUndoStack::clear(void)
+ ??0QCursor@@QAE@W4CursorShape@Qt@@@Z @ 121 NONAME ; QCursor::QCursor(enum Qt::CursorShape)
+ ?setSizeGripEnabled@QDialog@@QAEX_N@Z @ 122 NONAME ; void QDialog::setSizeGripEnabled(bool)
+ ?tr@QListWidget@@SA?AVQString@@PBD0@Z @ 123 NONAME ; class QString QListWidget::tr(char const *, char const *)
+ ?setOverwriteMode@QPlainTextEdit@@QAEX_N@Z @ 124 NONAME ; void QPlainTextEdit::setOverwriteMode(bool)
+ ?focusPreviousChild@QWidget@@IAE_NXZ @ 125 NONAME ; bool QWidget::focusPreviousChild(void)
+ ?setDescription@QImageWriter@@QAEXABVQString@@@Z @ 126 NONAME ; void QImageWriter::setDescription(class QString const &)
+ ?createMimeDataFromSelection@QTextControl@@UBEPAVQMimeData@@XZ @ 127 NONAME ; class QMimeData * QTextControl::createMimeDataFromSelection(void) const
+ ?value@QColor@@QBEHXZ @ 128 NONAME ; int QColor::value(void) const
+ ??_EQShortcutEvent@@UAE@I@Z @ 129 NONAME ; QShortcutEvent::~QShortcutEvent(unsigned int)
+ ?tr@QTextBrowser@@SA?AVQString@@PBD0H@Z @ 130 NONAME ; class QString QTextBrowser::tr(char const *, char const *, int)
+ ?setIconProvider@QFileSystemModel@@QAEXPAVQFileIconProvider@@@Z @ 131 NONAME ; void QFileSystemModel::setIconProvider(class QFileIconProvider *)
+ ?setStrength@QGraphicsBloomEffect@@QAEXM@Z @ 132 NONAME ABSENT ; void QGraphicsBloomEffect::setStrength(float)
+ ?map@QMatrix4x4@@QBE?AVQVector4D@@ABV2@@Z @ 133 NONAME ; class QVector4D QMatrix4x4::map(class QVector4D const &) const
+ ?clearSpans@QTableView@@QAEXXZ @ 134 NONAME ; void QTableView::clearSpans(void)
+ ?tr@QPanGesture@@SA?AVQString@@PBD0@Z @ 135 NONAME ; class QString QPanGesture::tr(char const *, char const *)
+ ?alignment@QGraphicsView@@QBE?AV?$QFlags@W4AlignmentFlag@Qt@@@@XZ @ 136 NONAME ; class QFlags<enum Qt::AlignmentFlag> QGraphicsView::alignment(void) const
+ ?alternatingRowColors@QAbstractItemView@@QBE_NXZ @ 137 NONAME ; bool QAbstractItemView::alternatingRowColors(void) const
+ ?sectionEntered@QHeaderView@@IAEXH@Z @ 138 NONAME ; void QHeaderView::sectionEntered(int)
+ ?setStretch@QBoxLayout@@QAEXHH@Z @ 139 NONAME ; void QBoxLayout::setStretch(int, int)
+ ?pos@QHoverEvent@@QBEABVQPoint@@XZ @ 140 NONAME ; class QPoint const & QHoverEvent::pos(void) const
+ ?tr@QMouseEventTransition@@SA?AVQString@@PBD0@Z @ 141 NONAME ; class QString QMouseEventTransition::tr(char const *, char const *)
+ ?initializePage@QWizardPage@@UAEXXZ @ 142 NONAME ; void QWizardPage::initializePage(void)
+ ?dragDropOverwriteMode@QAbstractItemView@@QBE_NXZ @ 143 NONAME ; bool QAbstractItemView::dragDropOverwriteMode(void) const
+ ?takeChildren@QTreeWidgetItem@@QAE?AV?$QList@PAVQTreeWidgetItem@@@@XZ @ 144 NONAME ; class QList<class QTreeWidgetItem *> QTreeWidgetItem::takeChildren(void)
+ ?AppDllUid@QS60MainApplication@@UBE?AVTUid@@XZ @ 145 NONAME ; class TUid QS60MainApplication::AppDllUid(void) const
+ ??0QStyleOptionFocusRect@@IAE@H@Z @ 146 NONAME ; QStyleOptionFocusRect::QStyleOptionFocusRect(int)
+ ?setAngle@QConicalGradient@@QAEXM@Z @ 147 NONAME ; void QConicalGradient::setAngle(float)
+ ??BQKeySequence@@QBE?AVQString@@XZ @ 148 NONAME ; QKeySequence::operator class QString(void) const
+ ?whatsThis@QTreeWidgetItem@@QBE?AVQString@@H@Z @ 149 NONAME ; class QString QTreeWidgetItem::whatsThis(int) const
+ ?setIconText@QAction@@QAEXABVQString@@@Z @ 150 NONAME ; void QAction::setIconText(class QString const &)
+ ?cursorBackward@QLineEdit@@QAEX_NH@Z @ 151 NONAME ; void QLineEdit::cursorBackward(bool, int)
+ ?setCompletionMode@QCompleter@@QAEXW4CompletionMode@1@@Z @ 152 NONAME ; void QCompleter::setCompletionMode(enum QCompleter::CompletionMode)
+ ?metaObject@QGroupBox@@UBEPBUQMetaObject@@XZ @ 153 NONAME ; struct QMetaObject const * QGroupBox::metaObject(void) const
+ ?redoText@QUndoStack@@QBE?AVQString@@XZ @ 154 NONAME ; class QString QUndoStack::redoText(void) const
+ ?dropEvent@QTableWidget@@MAEXPAVQDropEvent@@@Z @ 155 NONAME ; void QTableWidget::dropEvent(class QDropEvent *)
+ ?setPalette@QToolTip@@SAXABVQPalette@@@Z @ 156 NONAME ; void QToolTip::setPalette(class QPalette const &)
+ ?tr@QGraphicsPixelizeEffect@@SA?AVQString@@PBD0@Z @ 157 NONAME ABSENT ; class QString QGraphicsPixelizeEffect::tr(char const *, char const *)
+ ?read@QImageReader@@QAE?AVQImage@@XZ @ 158 NONAME ; class QImage QImageReader::read(void)
+ ?tr@QPinchGesture@@SA?AVQString@@PBD0@Z @ 159 NONAME ; class QString QPinchGesture::tr(char const *, char const *)
+ ?setRadius@QRadialGradient@@QAEXM@Z @ 160 NONAME ; void QRadialGradient::setRadius(float)
+ ?d_func@QTabBar@@AAEPAVQTabBarPrivate@@XZ @ 161 NONAME ; class QTabBarPrivate * QTabBar::d_func(void)
+ ?width@QFontMetrics@@QBEHVQChar@@@Z @ 162 NONAME ; int QFontMetrics::width(class QChar) const
+ ?setCurrentCell@QTableWidget@@QAEXHHV?$QFlags@W4SelectionFlag@QItemSelectionModel@@@@@Z @ 163 NONAME ; void QTableWidget::setCurrentCell(int, int, class QFlags<enum QItemSelectionModel::SelectionFlag>)
+ ?metaObject@QDialog@@UBEPBUQMetaObject@@XZ @ 164 NONAME ; struct QMetaObject const * QDialog::metaObject(void) const
+ ?event@QComboBox@@UAE_NPAVQEvent@@@Z @ 165 NONAME ; bool QComboBox::event(class QEvent *)
+ ?labelAlignment@QFormLayout@@QBE?AV?$QFlags@W4AlignmentFlag@Qt@@@@XZ @ 166 NONAME ; class QFlags<enum Qt::AlignmentFlag> QFormLayout::labelAlignment(void) const
+ ?changeEvent@QMenuBar@@MAEXPAVQEvent@@@Z @ 167 NONAME ; void QMenuBar::changeEvent(class QEvent *)
+ ?tr@QActionGroup@@SA?AVQString@@PBD0@Z @ 168 NONAME ; class QString QActionGroup::tr(char const *, char const *)
+ ?messageChanged@QStatusBar@@IAEXABVQString@@@Z @ 169 NONAME ; void QStatusBar::messageChanged(class QString const &)
+ ?mapToScene@QGestureEvent@@QBE?AVQPointF@@ABV2@@Z @ 170 NONAME ; class QPointF QGestureEvent::mapToScene(class QPointF const &) const
+ ?quality@QImageWriter@@QBEHXZ @ 171 NONAME ; int QImageWriter::quality(void) const
+ ?setGeometry@QSpacerItem@@UAEXABVQRect@@@Z @ 172 NONAME ; void QSpacerItem::setGeometry(class QRect const &)
+ ?isActive@QGraphicsItem@@QBE_NXZ @ 173 NONAME ; bool QGraphicsItem::isActive(void) const
+ ?d_func@QGraphicsLayout@@ABEPBVQGraphicsLayoutPrivate@@XZ @ 174 NONAME ; class QGraphicsLayoutPrivate const * QGraphicsLayout::d_func(void) const
+ ??0QSizePolicy@@QAE@W4Policy@0@0@Z @ 175 NONAME ; QSizePolicy::QSizePolicy(enum QSizePolicy::Policy, enum QSizePolicy::Policy)
+ ??1QListView@@UAE@XZ @ 176 NONAME ; QListView::~QListView(void)
+ ?setReadOnly@QFileSystemModel@@QAEX_N@Z @ 177 NONAME ; void QFileSystemModel::setReadOnly(bool)
+ ??YQQuaternion@@QAEAAV0@ABV0@@Z @ 178 NONAME ; class QQuaternion & QQuaternion::operator+=(class QQuaternion const &)
+ ?focusNextPrevChild@QDateTimeEdit@@MAE_N_N@Z @ 179 NONAME ; bool QDateTimeEdit::focusNextPrevChild(bool)
+ ??4QPen@@QAEAAV0@ABV0@@Z @ 180 NONAME ; class QPen & QPen::operator=(class QPen const &)
+ ?itemAt@QTreeWidget@@QBEPAVQTreeWidgetItem@@ABVQPoint@@@Z @ 181 NONAME ; class QTreeWidgetItem * QTreeWidget::itemAt(class QPoint const &) const
+ ?setFont@QToolTip@@SAXABVQFont@@@Z @ 182 NONAME ; void QToolTip::setFont(class QFont const &)
+ ?staticMetaObject@QStyledItemDelegate@@2UQMetaObject@@B @ 183 NONAME ; struct QMetaObject const QStyledItemDelegate::staticMetaObject
+ ?paintEvent@QSizeGrip@@MAEXPAVQPaintEvent@@@Z @ 184 NONAME ; void QSizeGrip::paintEvent(class QPaintEvent *)
+ ?fromHsl@QColor@@SA?AV1@HHHH@Z @ 185 NONAME ; class QColor QColor::fromHsl(int, int, int, int)
+ ?d_func@QGraphicsPathItem@@AAEPAVQGraphicsPathItemPrivate@@XZ @ 186 NONAME ; class QGraphicsPathItemPrivate * QGraphicsPathItem::d_func(void)
+ ?isLayout@QGraphicsLayoutItem@@QBE_NXZ @ 187 NONAME ; bool QGraphicsLayoutItem::isLayout(void) const
+ ?trUtf8@QGraphicsColorizeEffect@@SA?AVQString@@PBD0@Z @ 188 NONAME ; class QString QGraphicsColorizeEffect::trUtf8(char const *, char const *)
+ ?hasChildren@QDirModel@@UBE_NABVQModelIndex@@@Z @ 189 NONAME ; bool QDirModel::hasChildren(class QModelIndex const &) const
+ ?qt_metacall@QLineEdit@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 190 NONAME ; int QLineEdit::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?d_func@QComboBox@@AAEPAVQComboBoxPrivate@@XZ @ 191 NONAME ; class QComboBoxPrivate * QComboBox::d_func(void)
+ ?startDrag@QListView@@MAEXV?$QFlags@W4DropAction@Qt@@@@@Z @ 192 NONAME ; void QListView::startDrag(class QFlags<enum Qt::DropAction>)
+ ?sliderValueFromPosition@QStyle@@SAHHHHH_N@Z @ 193 NONAME ; int QStyle::sliderValueFromPosition(int, int, int, int, bool)
+ ?activeAction@QMenu@@QBEPAVQAction@@XZ @ 194 NONAME ; class QAction * QMenu::activeAction(void) const
+ ??1QVBoxLayout@@UAE@XZ @ 195 NONAME ; QVBoxLayout::~QVBoxLayout(void)
+ ?toAffine@QMatrix4x4@@QBE?AVQMatrix@@XZ @ 196 NONAME ; class QMatrix QMatrix4x4::toAffine(void) const
+ ?executeImageHooks@QImagePixmapCleanupHooks@@SAX_J@Z @ 197 NONAME ; void QImagePixmapCleanupHooks::executeImageHooks(long long)
+ ?font@QGraphicsTextItem@@QBE?AVQFont@@XZ @ 198 NONAME ; class QFont QGraphicsTextItem::font(void) const
+ ?cursorRect@QLineControl@@QBE?AVQRect@@XZ @ 199 NONAME ; class QRect QLineControl::cursorRect(void) const
+ ?qt_metacall@QShortcut@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 200 NONAME ; int QShortcut::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?viewportEvent@QHeaderView@@MAE_NPAVQEvent@@@Z @ 201 NONAME ; bool QHeaderView::viewportEvent(class QEvent *)
+ ?staticMetaObject@QSpinBox@@2UQMetaObject@@B @ 202 NONAME ; struct QMetaObject const QSpinBox::staticMetaObject
+ ??_EQSyntaxHighlighter@@UAE@I@Z @ 203 NONAME ; QSyntaxHighlighter::~QSyntaxHighlighter(unsigned int)
+ ?hasAcceptableInput@QAbstractSpinBox@@QBE_NXZ @ 204 NONAME ; bool QAbstractSpinBox::hasAcceptableInput(void) const
+ ?sortIndicatorSection@QHeaderView@@QBEHXZ @ 205 NONAME ; int QHeaderView::sortIndicatorSection(void) const
+ ?scenePos@QGraphicsSceneDragDropEvent@@QBE?AVQPointF@@XZ @ 206 NONAME ; class QPointF QGraphicsSceneDragDropEvent::scenePos(void) const
+ ?top@QItemSelectionRange@@QBEHXZ @ 207 NONAME ; int QItemSelectionRange::top(void) const
+ ?setZValue@QGraphicsItem@@QAEXM@Z @ 208 NONAME ; void QGraphicsItem::setZValue(float)
+ ??1QShowEvent@@UAE@XZ @ 209 NONAME ; QShowEvent::~QShowEvent(void)
+ ?m22@QMatrix@@QBEMXZ @ 210 NONAME ; float QMatrix::m22(void) const
+ ??0QGraphicsProxyWidget@@QAE@PAVQGraphicsItem@@V?$QFlags@W4WindowType@Qt@@@@@Z @ 211 NONAME ; QGraphicsProxyWidget::QGraphicsProxyWidget(class QGraphicsItem *, class QFlags<enum Qt::WindowType>)
+ ??6@YAAAVQDataStream@@AAV0@ABVQVector3D@@@Z @ 212 NONAME ; class QDataStream & operator<<(class QDataStream &, class QVector3D const &)
+ ?setDefaultStyleSheet@QTextDocument@@QAEXABVQString@@@Z @ 213 NONAME ; void QTextDocument::setDefaultStyleSheet(class QString const &)
+ ?moveTo@QPainterPath@@QAEXABVQPointF@@@Z @ 214 NONAME ; void QPainterPath::moveTo(class QPointF const &)
+ ?d_func@QMovie@@ABEPBVQMoviePrivate@@XZ @ 215 NONAME ; class QMoviePrivate const * QMovie::d_func(void) const
+ ?metaObject@QProgressBar@@UBEPBUQMetaObject@@XZ @ 216 NONAME ; struct QMetaObject const * QProgressBar::metaObject(void) const
+ ?trUtf8@QGraphicsScene@@SA?AVQString@@PBD0@Z @ 217 NONAME ; class QString QGraphicsScene::trUtf8(char const *, char const *)
+ ??1QActionGroup@@UAE@XZ @ 218 NONAME ; QActionGroup::~QActionGroup(void)
+ ?font@QListWidgetItem@@QBE?AVQFont@@XZ @ 219 NONAME ; class QFont QListWidgetItem::font(void) const
+ ?size@QTextDocument@@QBE?AVQSizeF@@XZ @ 220 NONAME ; class QSizeF QTextDocument::size(void) const
+ ?metaObject@QMovie@@UBEPBUQMetaObject@@XZ @ 221 NONAME ; struct QMetaObject const * QMovie::metaObject(void) const
+ ?cursorToX@QLineControl@@QBEMXZ @ 222 NONAME ; float QLineControl::cursorToX(void) const
+ ?anchorName@QTextCharFormat@@QBE?AVQString@@XZ @ 223 NONAME ; class QString QTextCharFormat::anchorName(void) const
+ ?select@QItemSelectionModel@@UAEXABVQModelIndex@@V?$QFlags@W4SelectionFlag@QItemSelectionModel@@@@@Z @ 224 NONAME ; void QItemSelectionModel::select(class QModelIndex const &, class QFlags<enum QItemSelectionModel::SelectionFlag>)
+ ?restoreState@QSplitter@@QAE_NABVQByteArray@@@Z @ 225 NONAME ; bool QSplitter::restoreState(class QByteArray const &)
+ ?minimum@QAbstractSlider@@QBEHXZ @ 226 NONAME ; int QAbstractSlider::minimum(void) const
+ ?format@QImageReader@@QBE?AVQByteArray@@XZ @ 227 NONAME ; class QByteArray QImageReader::format(void) const
+ ?point@QPolygon@@QBE?AVQPoint@@H@Z @ 228 NONAME ; class QPoint QPolygon::point(int) const
+ ?fontStrikeOut@QTextCharFormat@@QBE_NXZ @ 229 NONAME ; bool QTextCharFormat::fontStrikeOut(void) const
+ ?qt_metacall@QDialogButtonBox@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 230 NONAME ; int QDialogButtonBox::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?trUtf8@QDrag@@SA?AVQString@@PBD0H@Z @ 231 NONAME ; class QString QDrag::trUtf8(char const *, char const *, int)
+ ?metaObject@QCommonStyle@@UBEPBUQMetaObject@@XZ @ 232 NONAME ; struct QMetaObject const * QCommonStyle::metaObject(void) const
+ ?qt_pixmap_cleanup_hook_64@@3P6AX_J@ZA @ 233 NONAME ; void (*qt_pixmap_cleanup_hook_64)(long long)
+ ?setMask_sys@QWidgetPrivate@@QAEXABVQRegion@@@Z @ 234 NONAME ; void QWidgetPrivate::setMask_sys(class QRegion const &)
+ ?mapToScene@QGraphicsItem@@QBE?AVQPolygonF@@ABV2@@Z @ 235 NONAME ; class QPolygonF QGraphicsItem::mapToScene(class QPolygonF const &) const
+ ?metaObject@QStyledItemDelegate@@UBEPBUQMetaObject@@XZ @ 236 NONAME ; struct QMetaObject const * QStyledItemDelegate::metaObject(void) const
+ ?tr@QFontDialog@@SA?AVQString@@PBD0H@Z @ 237 NONAME ; class QString QFontDialog::tr(char const *, char const *, int)
+ ?textChanged@QTextControl@@IAEXXZ @ 238 NONAME ; void QTextControl::textChanged(void)
+ ?qt_metacall@QMdiArea@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 239 NONAME ; int QMdiArea::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?setBackgroundRole@QWidget@@QAEXW4ColorRole@QPalette@@@Z @ 240 NONAME ; void QWidget::setBackgroundRole(enum QPalette::ColorRole)
+ ??4QTextBlock@@QAEAAV0@ABV0@@Z @ 241 NONAME ; class QTextBlock & QTextBlock::operator=(class QTextBlock const &)
+ ?setSelectionModel@QColumnView@@UAEXPAVQItemSelectionModel@@@Z @ 242 NONAME ; void QColumnView::setSelectionModel(class QItemSelectionModel *)
+ ?toGraphicsObject@QGraphicsItem@@QAEPAVQGraphicsObject@@XZ @ 243 NONAME ; class QGraphicsObject * QGraphicsItem::toGraphicsObject(void)
+ ??1QPaintEngine@@UAE@XZ @ 244 NONAME ; QPaintEngine::~QPaintEngine(void)
+ ?addSeparator@QToolBar@@QAEPAVQAction@@XZ @ 245 NONAME ; class QAction * QToolBar::addSeparator(void)
+ ?whatsThis@QShortcut@@QBE?AVQString@@XZ @ 246 NONAME ; class QString QShortcut::whatsThis(void) const
+ ?setReadOnly@QLineEdit@@QAEX_N@Z @ 247 NONAME ; void QLineEdit::setReadOnly(bool)
+ ?qt_metacall@QItemDelegate@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 248 NONAME ; int QItemDelegate::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?maximizedSystemMenuIconWidget@QMdiSubWindow@@QBEPAVQWidget@@XZ @ 249 NONAME ; class QWidget * QMdiSubWindow::maximizedSystemMenuIconWidget(void) const
+ ?scrollChildren@QWidgetPrivate@@QAEXHH@Z @ 250 NONAME ; void QWidgetPrivate::scrollChildren(int, int)
+ ?insertWidget@QStatusBar@@QAEHHPAVQWidget@@H@Z @ 251 NONAME ; int QStatusBar::insertWidget(int, class QWidget *, int)
+ ?text@QToolTip@@SA?AVQString@@XZ @ 252 NONAME ; class QString QToolTip::text(void)
+ ?releaseMouse@QWidget@@QAEXXZ @ 253 NONAME ; void QWidget::releaseMouse(void)
+ ??1QStyleOptionProgressBar@@QAE@XZ @ 254 NONAME ; QStyleOptionProgressBar::~QStyleOptionProgressBar(void)
+ ?doItemsLayout@QTreeView@@UAEXXZ @ 255 NONAME ; void QTreeView::doItemsLayout(void)
+ ?blockCharFormat@QTextCursor@@QBE?AVQTextCharFormat@@XZ @ 256 NONAME ; class QTextCharFormat QTextCursor::blockCharFormat(void) const
+ ?addLayout@QGridLayout@@QAEXPAVQLayout@@HHV?$QFlags@W4AlignmentFlag@Qt@@@@@Z @ 257 NONAME ; void QGridLayout::addLayout(class QLayout *, int, int, class QFlags<enum Qt::AlignmentFlag>)
+ ?d_func@QGraphicsOpacityEffect@@AAEPAVQGraphicsOpacityEffectPrivate@@XZ @ 258 NONAME ; class QGraphicsOpacityEffectPrivate * QGraphicsOpacityEffect::d_func(void)
+ ?gridSize@QListView@@QBE?AVQSize@@XZ @ 259 NONAME ; class QSize QListView::gridSize(void) const
+ ?staticMetaObject@QStylePlugin@@2UQMetaObject@@B @ 260 NONAME ; struct QMetaObject const QStylePlugin::staticMetaObject
+ ??8QFontMetricsF@@QBE_NABV0@@Z @ 261 NONAME ; bool QFontMetricsF::operator==(class QFontMetricsF const &) const
+ ?perspective@QMatrix4x4@@QAEAAV1@MMMM@Z @ 262 NONAME ; class QMatrix4x4 & QMatrix4x4::perspective(float, float, float, float)
+ ?isScaling@QTransform@@QBE_NXZ @ 263 NONAME ; bool QTransform::isScaling(void) const
+ ?drawLines@QPainter@@QAEXABV?$QVector@VQPointF@@@@@Z @ 264 NONAME ; void QPainter::drawLines(class QVector<class QPointF> const &)
+ ??0QCloseEvent@@QAE@XZ @ 265 NONAME ; QCloseEvent::QCloseEvent(void)
+ ?staticMetaObject@QPixmapColorizeFilter@@2UQMetaObject@@B @ 266 NONAME ; struct QMetaObject const QPixmapColorizeFilter::staticMetaObject
+ ?isVisible@QTextBlock@@QBE_NXZ @ 267 NONAME ; bool QTextBlock::isVisible(void) const
+ ??9QColor@@QBE_NABV0@@Z @ 268 NONAME ; bool QColor::operator!=(class QColor const &) const
+ ?setTabChangesFocus@QPlainTextEdit@@QAEX_N@Z @ 269 NONAME ; void QPlainTextEdit::setTabChangesFocus(bool)
+ ?qt_metacast@QTextBlockGroup@@UAEPAXPBD@Z @ 270 NONAME ; void * QTextBlockGroup::qt_metacast(char const *)
+ ?setSingleStep@QSpinBox@@QAEXH@Z @ 271 NONAME ; void QSpinBox::setSingleStep(int)
+ ??1QIcon@@QAE@XZ @ 272 NONAME ; QIcon::~QIcon(void)
+ ?setResolveSymlinks@QFileDialog@@QAEX_N@Z @ 273 NONAME ; void QFileDialog::setResolveSymlinks(bool)
+ ??1QTextFormatCollection@@QAE@XZ @ 274 NONAME ; QTextFormatCollection::~QTextFormatCollection(void)
+ ?staticMetaObject@QTextFormat@@2UQMetaObject@@B @ 275 NONAME ; struct QMetaObject const QTextFormat::staticMetaObject
+ ?paintEvent@QMenuBar@@MAEXPAVQPaintEvent@@@Z @ 276 NONAME ; void QMenuBar::paintEvent(class QPaintEvent *)
+ ?metaObject@QPixmapBlurFilter@@UBEPBUQMetaObject@@XZ @ 277 NONAME ; struct QMetaObject const * QPixmapBlurFilter::metaObject(void) const
+ ?currentBlock@iterator@QTextFrame@@QBE?AVQTextBlock@@XZ @ 278 NONAME ; class QTextBlock QTextFrame::iterator::currentBlock(void) const
+ ?mkdir@QDirModel@@QAE?AVQModelIndex@@ABV2@ABVQString@@@Z @ 279 NONAME ; class QModelIndex QDirModel::mkdir(class QModelIndex const &, class QString const &)
+ ?drawPixmap@QPainter@@QAEXHHHHABVQPixmap@@@Z @ 280 NONAME ; void QPainter::drawPixmap(int, int, int, int, class QPixmap const &)
+ ?scaled@QImage@@QBE?AV1@ABVQSize@@W4AspectRatioMode@Qt@@W4TransformationMode@4@@Z @ 281 NONAME ; class QImage QImage::scaled(class QSize const &, enum Qt::AspectRatioMode, enum Qt::TransformationMode) const
+ ?sizeConstraint@QLayout@@QBE?AW4SizeConstraint@1@XZ @ 282 NONAME ; enum QLayout::SizeConstraint QLayout::sizeConstraint(void) const
+ ?checkStateSet@QCheckBox@@MAEXXZ @ 283 NONAME ; void QCheckBox::checkStateSet(void)
+ ?closeEvent@QMessageBox@@MAEXPAVQCloseEvent@@@Z @ 284 NONAME ; void QMessageBox::closeEvent(class QCloseEvent *)
+ ?loadPicture@QPictureFormatPlugin@@UAE_NABVQString@@0PAVQPicture@@@Z @ 285 NONAME ; bool QPictureFormatPlugin::loadPicture(class QString const &, class QString const &, class QPicture *)
+ ?width@QTextImageFormat@@QBEMXZ @ 286 NONAME ; float QTextImageFormat::width(void) const
+ ?isItemEnabled@QToolBox@@QBE_NH@Z @ 287 NONAME ; bool QToolBox::isItemEnabled(int) const
+ ?editingFinished@QAbstractSpinBox@@IAEXXZ @ 288 NONAME ; void QAbstractSpinBox::editingFinished(void)
+ ?setDefaultDropAction@QAbstractItemView@@QAEXW4DropAction@Qt@@@Z @ 289 NONAME ; void QAbstractItemView::setDefaultDropAction(enum Qt::DropAction)
+ ?trUtf8@QActionGroup@@SA?AVQString@@PBD0H@Z @ 290 NONAME ; class QString QActionGroup::trUtf8(char const *, char const *, int)
+ ?getHsl@QColor@@QBEXPAH000@Z @ 291 NONAME ; void QColor::getHsl(int *, int *, int *, int *) const
+ ?strengthChanged@QGraphicsColorizeEffect@@IAEXM@Z @ 292 NONAME ; void QGraphicsColorizeEffect::strengthChanged(float)
+ ?font@QGraphicsWidget@@QBE?AVQFont@@XZ @ 293 NONAME ; class QFont QGraphicsWidget::font(void) const
+ ??0QPaintEngine@@QAE@V?$QFlags@W4PaintEngineFeature@QPaintEngine@@@@@Z @ 294 NONAME ; QPaintEngine::QPaintEngine(class QFlags<enum QPaintEngine::PaintEngineFeature>)
+ ?tr@QStackedWidget@@SA?AVQString@@PBD0H@Z @ 295 NONAME ; class QString QStackedWidget::tr(char const *, char const *, int)
+ ?standardPixmap@QWindowsStyle@@UBE?AVQPixmap@@W4StandardPixmap@QStyle@@PBVQStyleOption@@PBVQWidget@@@Z @ 296 NONAME ; class QPixmap QWindowsStyle::standardPixmap(enum QStyle::StandardPixmap, class QStyleOption const *, class QWidget const *) const
+ ?setStyleSheet@QApplication@@QAEXABVQString@@@Z @ 297 NONAME ; void QApplication::setStyleSheet(class QString const &)
+ ?minLeftBearing@QFontMetrics@@QBEHXZ @ 298 NONAME ; int QFontMetrics::minLeftBearing(void) const
+ ?isComposing@QCoeFepInputContext@@UBE_NXZ @ 299 NONAME ABSENT ; bool QCoeFepInputContext::isComposing(void) const
+ ??8iterator@QTextFrame@@QBE_NABV01@@Z @ 300 NONAME ; bool QTextFrame::iterator::operator==(class QTextFrame::iterator const &) const
+ ?toolBarArea@QMainWindow@@QBE?AW4ToolBarArea@Qt@@PAVQToolBar@@@Z @ 301 NONAME ; enum Qt::ToolBarArea QMainWindow::toolBarArea(class QToolBar *) const
+ ?mode@QColormap@@QBE?AW4Mode@1@XZ @ 302 NONAME ; enum QColormap::Mode QColormap::mode(void) const
+ ??_EQGraphicsOpacityEffect@@UAE@I@Z @ 303 NONAME ; QGraphicsOpacityEffect::~QGraphicsOpacityEffect(unsigned int)
+ ?clearColumnWidthConstraints@QTextTableFormat@@QAEXXZ @ 304 NONAME ; void QTextTableFormat::clearColumnWidthConstraints(void)
+ ?setModifiersMask@QMouseEventTransition@@QAEXV?$QFlags@W4KeyboardModifier@Qt@@@@@Z @ 305 NONAME ; void QMouseEventTransition::setModifiersMask(class QFlags<enum Qt::KeyboardModifier>)
+ ?setColor@QBrush@@QAEXW4GlobalColor@Qt@@@Z @ 306 NONAME ; void QBrush::setColor(enum Qt::GlobalColor)
+ ?setBrush@QAbstractGraphicsShapeItem@@QAEXABVQBrush@@@Z @ 307 NONAME ; void QAbstractGraphicsShapeItem::setBrush(class QBrush const &)
+ ?sort@QFileSystemModel@@UAEXHW4SortOrder@Qt@@@Z @ 308 NONAME ; void QFileSystemModel::sort(int, enum Qt::SortOrder)
+ ?setFormat@QMovie@@QAEXABVQByteArray@@@Z @ 309 NONAME ; void QMovie::setFormat(class QByteArray const &)
+ ?qt_metacall@QPaintBufferSignalProxy@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 310 NONAME ; int QPaintBufferSignalProxy::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?metaObject@QColorDialog@@UBEPBUQMetaObject@@XZ @ 311 NONAME ; struct QMetaObject const * QColorDialog::metaObject(void) const
+ ?setPos@QGraphicsItem@@QAEXABVQPointF@@@Z @ 312 NONAME ; void QGraphicsItem::setPos(class QPointF const &)
+ ?setIndent@QTextBlockFormat@@QAEXH@Z @ 313 NONAME ; void QTextBlockFormat::setIndent(int)
+ ?setEditorData@QItemDelegate@@UBEXPAVQWidget@@ABVQModelIndex@@@Z @ 314 NONAME ; void QItemDelegate::setEditorData(class QWidget *, class QModelIndex const &) const
+ ??1QGraphicsScale@@UAE@XZ @ 315 NONAME ; QGraphicsScale::~QGraphicsScale(void)
+ ?toPlainText@QTextEdit@@QBE?AVQString@@XZ @ 316 NONAME ; class QString QTextEdit::toPlainText(void) const
+ ?pictureFormat@QPicture@@SAPBDABVQString@@@Z @ 317 NONAME ; char const * QPicture::pictureFormat(class QString const &)
+ ?metaObject@QInputContext@@UBEPBUQMetaObject@@XZ @ 318 NONAME ; struct QMetaObject const * QInputContext::metaObject(void) const
+ ??1QHideEvent@@UAE@XZ @ 319 NONAME ; QHideEvent::~QHideEvent(void)
+ ?qt_metacast@QSyntaxHighlighter@@UAEPAXPBD@Z @ 320 NONAME ; void * QSyntaxHighlighter::qt_metacast(char const *)
+ ?removeRows@QTextTable@@QAEXHH@Z @ 321 NONAME ; void QTextTable::removeRows(int, int)
+ ?cursorWidth@QTextControl@@QBEHXZ @ 322 NONAME ; int QTextControl::cursorWidth(void) const
+ ?trUtf8@QIconEnginePluginV2@@SA?AVQString@@PBD0@Z @ 323 NONAME ; class QString QIconEnginePluginV2::trUtf8(char const *, char const *)
+ ?document@QGraphicsTextItem@@QBEPAVQTextDocument@@XZ @ 324 NONAME ; class QTextDocument * QGraphicsTextItem::document(void) const
+ ?opaqueArea@QGraphicsPolygonItem@@UBE?AVQPainterPath@@XZ @ 325 NONAME ; class QPainterPath QGraphicsPolygonItem::opaqueArea(void) const
+ ?linkActivated@QLabel@@IAEXABVQString@@@Z @ 326 NONAME ; void QLabel::linkActivated(class QString const &)
+ ?hoverLeaveEvent@QGraphicsItem@@MAEXPAVQGraphicsSceneHoverEvent@@@Z @ 327 NONAME ; void QGraphicsItem::hoverLeaveEvent(class QGraphicsSceneHoverEvent *)
+ ?getStaticMetaObject@QGraphicsObject@@SAABUQMetaObject@@XZ @ 328 NONAME ; struct QMetaObject const & QGraphicsObject::getStaticMetaObject(void)
+ ?setResizeAnchor@QGraphicsView@@QAEXW4ViewportAnchor@1@@Z @ 329 NONAME ; void QGraphicsView::setResizeAnchor(enum QGraphicsView::ViewportAnchor)
+ ?textDirection@QTextInlineObject@@QBE?AW4LayoutDirection@Qt@@XZ @ 330 NONAME ; enum Qt::LayoutDirection QTextInlineObject::textDirection(void) const
+ ?setPointSize@QFont@@QAEXH@Z @ 331 NONAME ; void QFont::setPointSize(int)
+ ?nearestGraphicsProxyWidget@QWidgetPrivate@@SAPAVQGraphicsProxyWidget@@PBVQWidget@@@Z @ 332 NONAME ; class QGraphicsProxyWidget * QWidgetPrivate::nearestGraphicsProxyWidget(class QWidget const *)
+ ??4QStyleOptionToolButton@@QAEAAV0@ABV0@@Z @ 333 NONAME ; class QStyleOptionToolButton & QStyleOptionToolButton::operator=(class QStyleOptionToolButton const &)
+ ??0QBrush@@QAE@XZ @ 334 NONAME ; QBrush::QBrush(void)
+ ?rmdir@QDirModel@@QAE_NABVQModelIndex@@@Z @ 335 NONAME ; bool QDirModel::rmdir(class QModelIndex const &)
+ ?trUtf8@QMessageBox@@SA?AVQString@@PBD0H@Z @ 336 NONAME ; class QString QMessageBox::trUtf8(char const *, char const *, int)
+ ?initializeSections@QHeaderView@@IAEXXZ @ 337 NONAME ; void QHeaderView::initializeSections(void)
+ ??0QStyleOptionProgressBarV2@@IAE@H@Z @ 338 NONAME ; QStyleOptionProgressBarV2::QStyleOptionProgressBarV2(int)
+ ?setUseDesignMetrics@QTextOption@@QAEX_N@Z @ 339 NONAME ; void QTextOption::setUseDesignMetrics(bool)
+ ?CreateAppUiL@QS60MainDocument@@UAEPAVCEikAppUi@@XZ @ 340 NONAME ; class CEikAppUi * QS60MainDocument::CreateAppUiL(void)
+ ?setScene@QGraphicsView@@QAEXPAVQGraphicsScene@@@Z @ 341 NONAME ; void QGraphicsView::setScene(class QGraphicsScene *)
+ ?returnPressed@QLineEdit@@IAEXXZ @ 342 NONAME ; void QLineEdit::returnPressed(void)
+ ?windowTitle@QWidget@@QBE?AVQString@@XZ @ 343 NONAME ; class QString QWidget::windowTitle(void) const
+ ?scaledToWidth@QPixmap@@QBE?AV1@HW4TransformationMode@Qt@@@Z @ 344 NONAME ; class QPixmap QPixmap::scaledToWidth(int, enum Qt::TransformationMode) const
+ ?setDisabled@QActionGroup@@QAEX_N@Z @ 345 NONAME ; void QActionGroup::setDisabled(bool)
+ ?elidedText@QFontMetrics@@QBE?AVQString@@ABV2@W4TextElideMode@Qt@@HH@Z @ 346 NONAME ; class QString QFontMetrics::elidedText(class QString const &, enum Qt::TextElideMode, int, int) const
+ ?d_func@QPlainTextDocumentLayout@@AAEPAVQPlainTextDocumentLayoutPrivate@@XZ @ 347 NONAME ; class QPlainTextDocumentLayoutPrivate * QPlainTextDocumentLayout::d_func(void)
+ ?setDefaultWidget@QWidgetAction@@QAEXPAVQWidget@@@Z @ 348 NONAME ; void QWidgetAction::setDefaultWidget(class QWidget *)
+ ?heightForWidth@QLabel@@UBEHH@Z @ 349 NONAME ; int QLabel::heightForWidth(int) const
+ ??0QVector3D@@QAE@ABV0@@Z @ 350 NONAME ; QVector3D::QVector3D(class QVector3D const &)
+ ?setFileName@QImageReader@@QAEXABVQString@@@Z @ 351 NONAME ; void QImageReader::setFileName(class QString const &)
+ ?d_func@QGraphicsSceneResizeEvent@@ABEPBVQGraphicsSceneResizeEventPrivate@@XZ @ 352 NONAME ; class QGraphicsSceneResizeEventPrivate const * QGraphicsSceneResizeEvent::d_func(void) const
+ ?staticMetaObject@QPlainTextEdit@@2UQMetaObject@@B @ 353 NONAME ; struct QMetaObject const QPlainTextEdit::staticMetaObject
+ ?drawForeground@QGraphicsView@@MAEXPAVQPainter@@ABVQRectF@@@Z @ 354 NONAME ; void QGraphicsView::drawForeground(class QPainter *, class QRectF const &)
+ ?setColor@QPixmapDropShadowFilter@@QAEXABVQColor@@@Z @ 355 NONAME ; void QPixmapDropShadowFilter::setColor(class QColor const &)
+ ?tableWidget@QTableWidgetItem@@QBEPAVQTableWidget@@XZ @ 356 NONAME ; class QTableWidget * QTableWidgetItem::tableWidget(void) const
+ ?pageCount@QTextDocument@@QBEHXZ @ 357 NONAME ; int QTextDocument::pageCount(void) const
+ ?isNull@QVector3D@@QBE_NXZ @ 358 NONAME ; bool QVector3D::isNull(void) const
+ ?clearSelection@QAbstractItemView@@QAEXXZ @ 359 NONAME ; void QAbstractItemView::clearSelection(void)
+ ?trUtf8@QWizardPage@@SA?AVQString@@PBD0H@Z @ 360 NONAME ; class QString QWizardPage::trUtf8(char const *, char const *, int)
+ ?setScreenPos@QGraphicsSceneHelpEvent@@QAEXABVQPoint@@@Z @ 361 NONAME ; void QGraphicsSceneHelpEvent::setScreenPos(class QPoint const &)
+ ?trUtf8@QUndoView@@SA?AVQString@@PBD0@Z @ 362 NONAME ; class QString QUndoView::trUtf8(char const *, char const *)
+ ?setTextAlignment@QTreeWidgetItem@@QAEXHH@Z @ 363 NONAME ; void QTreeWidgetItem::setTextAlignment(int, int)
+ ?extension@QGraphicsEllipseItem@@MBE?AVQVariant@@ABV2@@Z @ 364 NONAME ; class QVariant QGraphicsEllipseItem::extension(class QVariant const &) const
+ ?subtractOpaqueChildren@QWidgetPrivate@@QBEXAAVQRegion@@ABVQRect@@@Z @ 365 NONAME ; void QWidgetPrivate::subtractOpaqueChildren(class QRegion &, class QRect const &) const
+ ??_EQTextureGlyphCache@@UAE@I@Z @ 366 NONAME ; QTextureGlyphCache::~QTextureGlyphCache(unsigned int)
+ ?fontFixedPitch@QTextCharFormat@@QBE_NXZ @ 367 NONAME ; bool QTextCharFormat::fontFixedPitch(void) const
+ ?rowCount@QStandardItemModel@@UBEHABVQModelIndex@@@Z @ 368 NONAME ; int QStandardItemModel::rowCount(class QModelIndex const &) const
+ ?invalidateCachedClipPathRecursively@QGraphicsItemPrivate@@QAEX_NABVQRectF@@@Z @ 369 NONAME ; void QGraphicsItemPrivate::invalidateCachedClipPathRecursively(bool, class QRectF const &)
+ ?fromSymbianCFbsBitmap@QPixmap@@SA?AV1@PAVCFbsBitmap@@@Z @ 370 NONAME ; class QPixmap QPixmap::fromSymbianCFbsBitmap(class CFbsBitmap *)
+ ?qt_metacast@QBoxLayout@@UAEPAXPBD@Z @ 371 NONAME ; void * QBoxLayout::qt_metacast(char const *)
+ ?copyAvailable@QTextEdit@@IAEX_N@Z @ 372 NONAME ; void QTextEdit::copyAvailable(bool)
+ ?childrenClippedToShape@QGraphicsItemPrivate@@QBE_NXZ @ 373 NONAME ; bool QGraphicsItemPrivate::childrenClippedToShape(void) const
+ ?removeTab@QTabBar@@QAEXH@Z @ 374 NONAME ; void QTabBar::removeTab(int)
+ ?hasNext@Parser@QCss@@QBE_NXZ @ 375 NONAME ; bool QCss::Parser::hasNext(void) const
+ ?displayText@QStyledItemDelegate@@UBE?AVQString@@ABVQVariant@@ABVQLocale@@@Z @ 376 NONAME ; class QString QStyledItemDelegate::displayText(class QVariant const &, class QLocale const &) const
+ ?cleanText@QSpinBox@@QBE?AVQString@@XZ @ 377 NONAME ; class QString QSpinBox::cleanText(void) const
+ ??0QTextBlock@@QAE@XZ @ 378 NONAME ; QTextBlock::QTextBlock(void)
+ ??0QStyleOptionHeader@@IAE@H@Z @ 379 NONAME ; QStyleOptionHeader::QStyleOptionHeader(int)
+ ?opaqueArea@QGraphicsLineItem@@UBE?AVQPainterPath@@XZ @ 380 NONAME ; class QPainterPath QGraphicsLineItem::opaqueArea(void) const
+ ?begin@QTextTableCell@@QBE?AViterator@QTextFrame@@XZ @ 381 NONAME ; class QTextFrame::iterator QTextTableCell::begin(void) const
+ ??0QMatrix4x4@@QAE@MMMMMMMMMMMMMMMM@Z @ 382 NONAME ; QMatrix4x4::QMatrix4x4(float, float, float, float, float, float, float, float, float, float, float, float, float, float, float, float)
+ ?focusNextPrevChild@QGraphicsProxyWidget@@MAE_N_N@Z @ 383 NONAME ; bool QGraphicsProxyWidget::focusNextPrevChild(bool)
+ ?boundingRect@QFontMetricsF@@QBE?AVQRectF@@VQChar@@@Z @ 384 NONAME ; class QRectF QFontMetricsF::boundingRect(class QChar) const
+ ?mapSelectionFromSource@QAbstractProxyModel@@UBE?AVQItemSelection@@ABV2@@Z @ 385 NONAME ; class QItemSelection QAbstractProxyModel::mapSelectionFromSource(class QItemSelection const &) const
+ ?setDirty@QPainterPath@@AAEX_N@Z @ 386 NONAME ; void QPainterPath::setDirty(bool)
+ ?selectColumn@QTableView@@QAEXH@Z @ 387 NONAME ; void QTableView::selectColumn(int)
+ ?staticMetaObject@QDateTimeEdit@@2UQMetaObject@@B @ 388 NONAME ; struct QMetaObject const QDateTimeEdit::staticMetaObject
+ ?hoverEnterEvent@QGraphicsTextItem@@MAEXPAVQGraphicsSceneHoverEvent@@@Z @ 389 NONAME ; void QGraphicsTextItem::hoverEnterEvent(class QGraphicsSceneHoverEvent *)
+ ?mimeTypes@QProxyModel@@UBE?AVQStringList@@XZ @ 390 NONAME ; class QStringList QProxyModel::mimeTypes(void) const
+ ?correctionMode@QAbstractSpinBox@@QBE?AW4CorrectionMode@1@XZ @ 391 NONAME ; enum QAbstractSpinBox::CorrectionMode QAbstractSpinBox::correctionMode(void) const
+ ?getStaticMetaObject@QAbstractItemView@@SAABUQMetaObject@@XZ @ 392 NONAME ; struct QMetaObject const & QAbstractItemView::getStaticMetaObject(void)
+ ?update@QGraphicsItem@@QAEXMMMM@Z @ 393 NONAME ; void QGraphicsItem::update(float, float, float, float)
+ ??_EQGraphicsRotation@@UAE@I@Z @ 394 NONAME ; QGraphicsRotation::~QGraphicsRotation(unsigned int)
+ ?setSelection@QHeaderView@@MAEXABVQRect@@V?$QFlags@W4SelectionFlag@QItemSelectionModel@@@@@Z @ 395 NONAME ; void QHeaderView::setSelection(class QRect const &, class QFlags<enum QItemSelectionModel::SelectionFlag>)
+ ?selectionStart@QLineEdit@@QBEHXZ @ 396 NONAME ; int QLineEdit::selectionStart(void) const
+ ?adjustSize@QWidget@@QAEXXZ @ 397 NONAME ; void QWidget::adjustSize(void)
+ ??0QGraphicsEllipseItem@@QAE@PAVQGraphicsItem@@PAVQGraphicsScene@@@Z @ 398 NONAME ; QGraphicsEllipseItem::QGraphicsEllipseItem(class QGraphicsItem *, class QGraphicsScene *)
+ ?selectedItems@QGraphicsScene@@QBE?AV?$QList@PAVQGraphicsItem@@@@XZ @ 399 NONAME ; class QList<class QGraphicsItem *> QGraphicsScene::selectedItems(void) const
+ ?startCenterPoint@QPinchGesture@@QBE?AVQPointF@@XZ @ 400 NONAME ; class QPointF QPinchGesture::startCenterPoint(void) const
+ ??0QImageIOHandler@@IAE@AAVQImageIOHandlerPrivate@@@Z @ 401 NONAME ; QImageIOHandler::QImageIOHandler(class QImageIOHandlerPrivate &)
+ ?setTextColor@QTextEdit@@QAEXABVQColor@@@Z @ 402 NONAME ; void QTextEdit::setTextColor(class QColor const &)
+ ?qt_metacast@QGraphicsView@@UAEPAXPBD@Z @ 403 NONAME ; void * QGraphicsView::qt_metacast(char const *)
+ ?d_func@QPinchGesture@@ABEPBVQPinchGesturePrivate@@XZ @ 404 NONAME ; class QPinchGesturePrivate const * QPinchGesture::d_func(void) const
+ ?imageFormat@QImageReader@@QBE?AW4Format@QImage@@XZ @ 405 NONAME ; enum QImage::Format QImageReader::imageFormat(void) const
+ ?d_func@QSpinBox@@ABEPBVQSpinBoxPrivate@@XZ @ 406 NONAME ; class QSpinBoxPrivate const * QSpinBox::d_func(void) const
+ ??1QMovie@@UAE@XZ @ 407 NONAME ; QMovie::~QMovie(void)
+ ?setDrawBase@QTabBar@@QAEX_N@Z @ 408 NONAME ; void QTabBar::setDrawBase(bool)
+ ?findNextPrevAnchor@QTextControl@@QAE_NABVQTextCursor@@_NAAV2@@Z @ 409 NONAME ; bool QTextControl::findNextPrevAnchor(class QTextCursor const &, bool, class QTextCursor &)
+ ?qt_metacast@QGraphicsGrayscaleEffect@@UAEPAXPBD@Z @ 410 NONAME ABSENT ; void * QGraphicsGrayscaleEffect::qt_metacast(char const *)
+ ?paintEvent@QToolButton@@MAEXPAVQPaintEvent@@@Z @ 411 NONAME ; void QToolButton::paintEvent(class QPaintEvent *)
+ ?createHeuristicMask@QImage@@QBE?AV1@_N@Z @ 412 NONAME ; class QImage QImage::createHeuristicMask(bool) const
+ ?supportsAnimation@QImageReader@@QBE_NXZ @ 413 NONAME ; bool QImageReader::supportsAnimation(void) const
+ ?copy@QTextControl@@QAEXXZ @ 414 NONAME ; void QTextControl::copy(void)
+ ?d_func@QScrollBar@@ABEPBVQScrollBarPrivate@@XZ @ 415 NONAME ; class QScrollBarPrivate const * QScrollBar::d_func(void) const
+ ?setClipRect@QPainter@@QAEXABVQRect@@W4ClipOperation@Qt@@@Z @ 416 NONAME ; void QPainter::setClipRect(class QRect const &, enum Qt::ClipOperation)
+ ?open@QColorDialog@@QAEXPAVQObject@@PBD@Z @ 417 NONAME ; void QColorDialog::open(class QObject *, char const *)
+ ?trUtf8@QWidget@@SA?AVQString@@PBD0H@Z @ 418 NONAME ; class QString QWidget::trUtf8(char const *, char const *, int)
+ ?invalidate@QGraphicsAnchorLayout@@UAEXXZ @ 419 NONAME ; void QGraphicsAnchorLayout::invalidate(void)
+ ?setHidden@QListWidgetItem@@QAEX_N@Z @ 420 NONAME ; void QListWidgetItem::setHidden(bool)
+ ?cleanText@QDoubleSpinBox@@QBE?AVQString@@XZ @ 421 NONAME ; class QString QDoubleSpinBox::cleanText(void) const
+ ??_EQStroker@@UAE@I@Z @ 422 NONAME ; QStroker::~QStroker(unsigned int)
+ ?allowedAreasChanged@QToolBar@@IAEXV?$QFlags@W4ToolBarArea@Qt@@@@@Z @ 423 NONAME ; void QToolBar::allowedAreasChanged(class QFlags<enum Qt::ToolBarArea>)
+ ?app_compile_version@QApplicationPrivate@@2HA @ 424 NONAME ; int QApplicationPrivate::app_compile_version
+ ??_EQFormLayout@@UAE@I@Z @ 425 NONAME ; QFormLayout::~QFormLayout(unsigned int)
+ ?percentAtLength@QPainterPath@@QBEMM@Z @ 426 NONAME ; float QPainterPath::percentAtLength(float) const
+ ?metaObject@QDockWidgetLayout@@UBEPBUQMetaObject@@XZ @ 427 NONAME ; struct QMetaObject const * QDockWidgetLayout::metaObject(void) const
+ ?metaObject@QValidator@@UBEPBUQMetaObject@@XZ @ 428 NONAME ; struct QMetaObject const * QValidator::metaObject(void) const
+ ??1QGridLayout@@UAE@XZ @ 429 NONAME ; QGridLayout::~QGridLayout(void)
+ ?itemDelegate@QDataWidgetMapper@@QBEPAVQAbstractItemDelegate@@XZ @ 430 NONAME ; class QAbstractItemDelegate * QDataWidgetMapper::itemDelegate(void) const
+ ?clearFocus@QWidget@@QAEXXZ @ 431 NONAME ; void QWidget::clearFocus(void)
+ ??1QUndoGroup@@UAE@XZ @ 432 NONAME ; QUndoGroup::~QUndoGroup(void)
+ ?insertRow@QFormLayout@@QAEXHABVQString@@PAVQLayout@@@Z @ 433 NONAME ; void QFormLayout::insertRow(int, class QString const &, class QLayout *)
+ ?sizeHint@QItemDelegate@@UBE?AVQSize@@ABVQStyleOptionViewItem@@ABVQModelIndex@@@Z @ 434 NONAME ; class QSize QItemDelegate::sizeHint(class QStyleOptionViewItem const &, class QModelIndex const &) const
+ ?invalidate@QLayout@@UAEXXZ @ 435 NONAME ; void QLayout::invalidate(void)
+ ?metaObject@QFocusFrame@@UBEPBUQMetaObject@@XZ @ 436 NONAME ; struct QMetaObject const * QFocusFrame::metaObject(void) const
+ ??1QIntValidator@@UAE@XZ @ 437 NONAME ; QIntValidator::~QIntValidator(void)
+ ?focusInEvent@QTextEdit@@MAEXPAVQFocusEvent@@@Z @ 438 NONAME ; void QTextEdit::focusInEvent(class QFocusEvent *)
+ ?items@QGraphicsView@@QBE?AV?$QList@PAVQGraphicsItem@@@@ABVQPainterPath@@W4ItemSelectionMode@Qt@@@Z @ 439 NONAME ; class QList<class QGraphicsItem *> QGraphicsView::items(class QPainterPath const &, enum Qt::ItemSelectionMode) const
+ ?dragEnterEvent@QLineEdit@@MAEXPAVQDragEnterEvent@@@Z @ 440 NONAME ; void QLineEdit::dragEnterEvent(class QDragEnterEvent *)
+ ?name@QImageIOHandler@@UBE?AVQByteArray@@XZ @ 441 NONAME ; class QByteArray QImageIOHandler::name(void) const
+ ?trUtf8@QMainWindow@@SA?AVQString@@PBD0H@Z @ 442 NONAME ; class QString QMainWindow::trUtf8(char const *, char const *, int)
+ ??0QPlainTextEdit@@QAE@ABVQString@@PAVQWidget@@@Z @ 443 NONAME ; QPlainTextEdit::QPlainTextEdit(class QString const &, class QWidget *)
+ ?cursorForPosition@QTextControl@@QBE?AVQTextCursor@@ABVQPointF@@@Z @ 444 NONAME ; class QTextCursor QTextControl::cursorForPosition(class QPointF const &) const
+ ?tr@QSplitterHandle@@SA?AVQString@@PBD0H@Z @ 445 NONAME ; class QString QSplitterHandle::tr(char const *, char const *, int)
+ ?lastScaleFactor@QPinchGesture@@QBEMXZ @ 446 NONAME ; float QPinchGesture::lastScaleFactor(void) const
+ ?dragLeaveEvent@QAbstractScrollArea@@MAEXPAVQDragLeaveEvent@@@Z @ 447 NONAME ; void QAbstractScrollArea::dragLeaveEvent(class QDragLeaveEvent *)
+ ?appendRows@QTextTable@@QAEXH@Z @ 448 NONAME ; void QTextTable::appendRows(int)
+ ?tr@QLabel@@SA?AVQString@@PBD0@Z @ 449 NONAME ; class QString QLabel::tr(char const *, char const *)
+ ??1QPixmap@@UAE@XZ @ 450 NONAME ; QPixmap::~QPixmap(void)
+ ?tr@QTextObject@@SA?AVQString@@PBD0@Z @ 451 NONAME ; class QString QTextObject::tr(char const *, char const *)
+ ?sizeHint@QSplitter@@UBE?AVQSize@@XZ @ 452 NONAME ; class QSize QSplitter::sizeHint(void) const
+ ?setFocusPolicy@QWidget@@QAEXW4FocusPolicy@Qt@@@Z @ 453 NONAME ; void QWidget::setFocusPolicy(enum Qt::FocusPolicy)
+ ??0QStackedLayout@@QAE@XZ @ 454 NONAME ; QStackedLayout::QStackedLayout(void)
+ ??0QRegion@@QAE@ABVQPolygon@@W4FillRule@Qt@@@Z @ 455 NONAME ; QRegion::QRegion(class QPolygon const &, enum Qt::FillRule)
+ ??0QGraphicsPixmapItem@@QAE@ABVQPixmap@@PAVQGraphicsItem@@PAVQGraphicsScene@@@Z @ 456 NONAME ; QGraphicsPixmapItem::QGraphicsPixmapItem(class QPixmap const &, class QGraphicsItem *, class QGraphicsScene *)
+ ?removeMapping@QDataWidgetMapper@@QAEXPAVQWidget@@@Z @ 457 NONAME ; void QDataWidgetMapper::removeMapping(class QWidget *)
+ ?insertItem@QComboBox@@QAEXHABVQIcon@@ABVQString@@ABVQVariant@@@Z @ 458 NONAME ; void QComboBox::insertItem(int, class QIcon const &, class QString const &, class QVariant const &)
+ ?setRubberBand@QSplitter@@IAEXH@Z @ 459 NONAME ; void QSplitter::setRubberBand(int)
+ ?setFrame@QComboBox@@QAEX_N@Z @ 460 NONAME ; void QComboBox::setFrame(bool)
+ ?setLineWidth@QFrame@@QAEXH@Z @ 461 NONAME ; void QFrame::setLineWidth(int)
+ ?autoScrollMargin@QAbstractItemView@@QBEHXZ @ 462 NONAME ; int QAbstractItemView::autoScrollMargin(void) const
+ ?tr@QLineControl@@SA?AVQString@@PBD0H@Z @ 463 NONAME ; class QString QLineControl::tr(char const *, char const *, int)
+ ?selectionChanged@QTreeView@@MAEXABVQItemSelection@@0@Z @ 464 NONAME ; void QTreeView::selectionChanged(class QItemSelection const &, class QItemSelection const &)
+ ?strikeOut@QFont@@QBE_NXZ @ 465 NONAME ; bool QFont::strikeOut(void) const
+ ?nlerp@QQuaternion@@SA?AV1@ABV1@0M@Z @ 466 NONAME ; class QQuaternion QQuaternion::nlerp(class QQuaternion const &, class QQuaternion const &, float)
+ ??0QValidator@@IAE@AAVQValidatorPrivate@@PAVQObject@@@Z @ 467 NONAME ; QValidator::QValidator(class QValidatorPrivate &, class QObject *)
+ ?isEnabled@QAction@@QBE_NXZ @ 468 NONAME ; bool QAction::isEnabled(void) const
+ ?save@QImage@@QBE_NPAVQIODevice@@PBDH@Z @ 469 NONAME ; bool QImage::save(class QIODevice *, char const *, int) const
+ ?focusInEvent@QAbstractButton@@MAEXPAVQFocusEvent@@@Z @ 470 NONAME ; void QAbstractButton::focusInEvent(class QFocusEvent *)
+ ??_EQAbstractScrollArea@@UAE@I@Z @ 471 NONAME ; QAbstractScrollArea::~QAbstractScrollArea(unsigned int)
+ ?testSimpleSelector@Parser@QCss@@QAE_NXZ @ 472 NONAME ; bool QCss::Parser::testSimpleSelector(void)
+ ?setMaximumBlockCount@QTextDocument@@QAEXH@Z @ 473 NONAME ; void QTextDocument::setMaximumBlockCount(int)
+ ?fade_menu@QApplicationPrivate@@2_NA @ 474 NONAME ; bool QApplicationPrivate::fade_menu
+ ??0QAbstractItemDelegate@@QAE@PAVQObject@@@Z @ 475 NONAME ; QAbstractItemDelegate::QAbstractItemDelegate(class QObject *)
+ ?setHorizontalSpacing@QGraphicsGridLayout@@QAEXM@Z @ 476 NONAME ; void QGraphicsGridLayout::setHorizontalSpacing(float)
+ ?initializeWidgetPaletteHash@QApplicationPrivate@@SAXXZ @ 477 NONAME ; void QApplicationPrivate::initializeWidgetPaletteHash(void)
+ ?write@QImageWriter@@QAE_NABVQImage@@@Z @ 478 NONAME ; bool QImageWriter::write(class QImage const &)
+ ?tabifiedDockWidgets@QMainWindow@@QBE?AV?$QList@PAVQDockWidget@@@@PAVQDockWidget@@@Z @ 479 NONAME ; class QList<class QDockWidget *> QMainWindow::tabifiedDockWidgets(class QDockWidget *) const
+ ?qt_metacast@QWizard@@UAEPAXPBD@Z @ 480 NONAME ; void * QWizard::qt_metacast(char const *)
+ ?getStaticMetaObject@QColumnView@@SAABUQMetaObject@@XZ @ 481 NONAME ; struct QMetaObject const & QColumnView::getStaticMetaObject(void)
+ ?verticalScrollBar@QAbstractScrollArea@@QBEPAVQScrollBar@@XZ @ 482 NONAME ; class QScrollBar * QAbstractScrollArea::verticalScrollBar(void) const
+ ?setScreenPos@QGraphicsSceneDragDropEvent@@QAEXABVQPoint@@@Z @ 483 NONAME ; void QGraphicsSceneDragDropEvent::setScreenPos(class QPoint const &)
+ ??0QPixmapColorizeFilter@@QAE@PAVQObject@@@Z @ 484 NONAME ; QPixmapColorizeFilter::QPixmapColorizeFilter(class QObject *)
+ ?hasAlphaChannel@QImage@@QBE_NXZ @ 485 NONAME ; bool QImage::hasAlphaChannel(void) const
+ ?drawBranches@QTreeView@@MBEXPAVQPainter@@ABVQRect@@ABVQModelIndex@@@Z @ 486 NONAME ; void QTreeView::drawBranches(class QPainter *, class QRect const &, class QModelIndex const &) const
+ ?d_func@QGraphicsWidget@@ABEPBVQGraphicsWidgetPrivate@@XZ @ 487 NONAME ; class QGraphicsWidgetPrivate const * QGraphicsWidget::d_func(void) const
+ ?mimeTypes@QStandardItemModel@@UBE?AVQStringList@@XZ @ 488 NONAME ; class QStringList QStandardItemModel::mimeTypes(void) const
+ ?setBlue@QColor@@QAEXH@Z @ 489 NONAME ; void QColor::setBlue(int)
+ ?visualRect@QListView@@UBE?AVQRect@@ABVQModelIndex@@@Z @ 490 NONAME ; class QRect QListView::visualRect(class QModelIndex const &) const
+ ?pageBreakPolicy@QTextBlockFormat@@QBE?AV?$QFlags@W4PageBreakFlag@QTextFormat@@@@XZ @ 491 NONAME ; class QFlags<enum QTextFormat::PageBreakFlag> QTextBlockFormat::pageBreakPolicy(void) const
+ ?mimeTypes@QListWidget@@MBE?AVQStringList@@XZ @ 492 NONAME ; class QStringList QListWidget::mimeTypes(void) const
+ ?information@QMessageBox@@SA?AW4StandardButton@1@PAVQWidget@@ABVQString@@1V?$QFlags@W4StandardButton@QMessageBox@@@@W421@@Z @ 493 NONAME ; enum QMessageBox::StandardButton QMessageBox::information(class QWidget *, class QString const &, class QString const &, class QFlags<enum QMessageBox::StandardButton>, enum QMessageBox::StandardButton)
+ ?setSelected@QGraphicsItem@@QAEX_N@Z @ 494 NONAME ; void QGraphicsItem::setSelected(bool)
+ ?matrix@QPainter@@QBEABVQMatrix@@XZ @ 495 NONAME ; class QMatrix const & QPainter::matrix(void) const
+ ?canRedoChanged@QUndoStack@@IAEX_N@Z @ 496 NONAME ; void QUndoStack::canRedoChanged(bool)
+ ?setVector@QQuaternion@@QAEXMMM@Z @ 497 NONAME ; void QQuaternion::setVector(float, float, float)
+ ?serialNumber@QPixmapData@@QBEHXZ @ 498 NONAME ; int QPixmapData::serialNumber(void) const
+ ?mapFromItem@QGraphicsItem@@QBE?AVQPointF@@PBV1@MM@Z @ 499 NONAME ; class QPointF QGraphicsItem::mapFromItem(class QGraphicsItem const *, float, float) const
+ ?getInt@QInputDialog@@SAHPAVQWidget@@ABVQString@@1HHHHPA_NV?$QFlags@W4WindowType@Qt@@@@@Z @ 500 NONAME ; int QInputDialog::getInt(class QWidget *, class QString const &, class QString const &, int, int, int, int, bool *, class QFlags<enum Qt::WindowType>)
+ ??D@YA?AVQLineF@@ABV0@ABVQMatrix@@@Z @ 501 NONAME ; class QLineF operator*(class QLineF const &, class QMatrix const &)
+ ?tr@QTextDocument@@SA?AVQString@@PBD0H@Z @ 502 NONAME ; class QString QTextDocument::tr(char const *, char const *, int)
+ ?beginNativePainting@QPaintEngineEx@@UAEXXZ @ 503 NONAME ; void QPaintEngineEx::beginNativePainting(void)
+ ?fillRect@QPainter@@QAEXABVQRect@@ABVQBrush@@@Z @ 504 NONAME ; void QPainter::fillRect(class QRect const &, class QBrush const &)
+ ?setPixmap@QLabel@@QAEXABVQPixmap@@@Z @ 505 NONAME ; void QLabel::setPixmap(class QPixmap const &)
+ ??0QTextListFormat@@IAE@ABVQTextFormat@@@Z @ 506 NONAME ; QTextListFormat::QTextListFormat(class QTextFormat const &)
+ ?hasTracking@QAbstractSlider@@QBE_NXZ @ 507 NONAME ; bool QAbstractSlider::hasTracking(void) const
+ ?drawPath@QPaintEngineEx@@UAEXABVQPainterPath@@@Z @ 508 NONAME ; void QPaintEngineEx::drawPath(class QPainterPath const &)
+ ?itemDoubleClicked@QTableWidget@@IAEXPAVQTableWidgetItem@@@Z @ 509 NONAME ; void QTableWidget::itemDoubleClicked(class QTableWidgetItem *)
+ ?currentChanged@QListView@@MAEXABVQModelIndex@@0@Z @ 510 NONAME ; void QListView::currentChanged(class QModelIndex const &, class QModelIndex const &)
+ ?getItemPosition@QGridLayout@@QAEXHPAH000@Z @ 511 NONAME ; void QGridLayout::getItemPosition(int, int *, int *, int *, int *)
+ ?begin@QStrokerOps@@UAEXPAX@Z @ 512 NONAME ; void QStrokerOps::begin(void *)
+ ?data@QClipboardEvent@@QAEPAVQEventPrivate@@XZ @ 513 NONAME ; class QEventPrivate * QClipboardEvent::data(void)
+ ?clearEditText@QComboBox@@QAEXXZ @ 514 NONAME ; void QComboBox::clearEditText(void)
+ ?modelColumn@QListView@@QBEHXZ @ 515 NONAME ; int QListView::modelColumn(void) const
+ ?staticMetaObject@QWizard@@2UQMetaObject@@B @ 516 NONAME ; struct QMetaObject const QWizard::staticMetaObject
+ ?saveState@QMainWindow@@QBE?AVQByteArray@@H@Z @ 517 NONAME ; class QByteArray QMainWindow::saveState(int) const
+ ?sortIndicatorChanged@QHeaderView@@IAEXHW4SortOrder@Qt@@@Z @ 518 NONAME ; void QHeaderView::sortIndicatorChanged(int, enum Qt::SortOrder)
+ ?overrideCursor@QApplication@@SAPAVQCursor@@XZ @ 519 NONAME ; class QCursor * QApplication::overrideCursor(void)
+ ?metaObject@QIconEnginePlugin@@UBEPBUQMetaObject@@XZ @ 520 NONAME ; struct QMetaObject const * QIconEnginePlugin::metaObject(void) const
+ ?setColumnStretchFactor@QGraphicsGridLayout@@QAEXHH@Z @ 521 NONAME ; void QGraphicsGridLayout::setColumnStretchFactor(int, int)
+ ?copy@QImage@@QBE?AV1@ABVQRect@@@Z @ 522 NONAME ; class QImage QImage::copy(class QRect const &) const
+ ?setGraphicsEffectSource@QGraphicsEffectPrivate@@QAEXPAVQGraphicsEffectSource@@@Z @ 523 NONAME ; void QGraphicsEffectPrivate::setGraphicsEffectSource(class QGraphicsEffectSource *)
+ ?active_window@QApplicationPrivate@@2PAVQWidget@@A @ 524 NONAME ; class QWidget * QApplicationPrivate::active_window
+ ?save@QPixmap@@QBE_NPAVQIODevice@@PBDH@Z @ 525 NONAME ; bool QPixmap::save(class QIODevice *, char const *, int) const
+ ?setX@QVector3D@@QAEXM@Z @ 526 NONAME ; void QVector3D::setX(float)
+ ?selectionChanged@QGraphicsScene@@IAEXXZ @ 527 NONAME ; void QGraphicsScene::selectionChanged(void)
+ ?resizeEvent@QDial@@MAEXPAVQResizeEvent@@@Z @ 528 NONAME ; void QDial::resizeEvent(class QResizeEvent *)
+ ?addPixmap@QGraphicsScene@@QAEPAVQGraphicsPixmapItem@@ABVQPixmap@@@Z @ 529 NONAME ; class QGraphicsPixmapItem * QGraphicsScene::addPixmap(class QPixmap const &)
+ ??9QPainterPath@@QBE_NABV0@@Z @ 530 NONAME ; bool QPainterPath::operator!=(class QPainterPath const &) const
+ ?spec@QColor@@QBE?AW4Spec@1@XZ @ 531 NONAME ; enum QColor::Spec QColor::spec(void) const
+ ?setWorldMatrixEnabled@QPainter@@QAEX_N@Z @ 532 NONAME ; void QPainter::setWorldMatrixEnabled(bool)
+ ?internalSetSloppyAction@QMenu@@AAEXXZ @ 533 NONAME ; void QMenu::internalSetSloppyAction(void)
+ ?layoutBlock@QPlainTextDocumentLayout@@AAEXABVQTextBlock@@@Z @ 534 NONAME ; void QPlainTextDocumentLayout::layoutBlock(class QTextBlock const &)
+ ?itemAt@QTableWidget@@QBEPAVQTableWidgetItem@@ABVQPoint@@@Z @ 535 NONAME ; class QTableWidgetItem * QTableWidget::itemAt(class QPoint const &) const
+ ?getStaticMetaObject@QGraphicsTransform@@SAABUQMetaObject@@XZ @ 536 NONAME ; struct QMetaObject const & QGraphicsTransform::getStaticMetaObject(void)
+ ??1QGraphicsEffectPrivate@@UAE@XZ @ 537 NONAME ; QGraphicsEffectPrivate::~QGraphicsEffectPrivate(void)
+ ??0QInputContext@@QAE@PAVQObject@@@Z @ 538 NONAME ; QInputContext::QInputContext(class QObject *)
+ ?dragMoveEvent@QTreeView@@MAEXPAVQDragMoveEvent@@@Z @ 539 NONAME ; void QTreeView::dragMoveEvent(class QDragMoveEvent *)
+ ?createEditor@QItemEditorFactory@@UBEPAVQWidget@@W4Type@QVariant@@PAV2@@Z @ 540 NONAME ; class QWidget * QItemEditorFactory::createEditor(enum QVariant::Type, class QWidget *) const
+ ?dotsPerMeterX@QImage@@QBEHXZ @ 541 NONAME ; int QImage::dotsPerMeterX(void) const
+ ??0QStyleOptionComboBox@@QAE@ABV0@@Z @ 542 NONAME ; QStyleOptionComboBox::QStyleOptionComboBox(class QStyleOptionComboBox const &)
+ ?setBackground@QWorkspace@@QAEXABVQBrush@@@Z @ 543 NONAME ; void QWorkspace::setBackground(class QBrush const &)
+ ?pixelSizeChanged@QGraphicsPixelizeEffect@@IAEXH@Z @ 544 NONAME ABSENT ; void QGraphicsPixelizeEffect::pixelSizeChanged(int)
+ ?cursorForPosition@QTextEdit@@QBE?AVQTextCursor@@ABVQPoint@@@Z @ 545 NONAME ; class QTextCursor QTextEdit::cursorForPosition(class QPoint const &) const
+ ??0QQuaternion@@QAE@XZ @ 546 NONAME ; QQuaternion::QQuaternion(void)
+ ?modificationChanged@QPlainTextEdit@@IAEX_N@Z @ 547 NONAME ; void QPlainTextEdit::modificationChanged(bool)
+ ?sizeHint@QMdiSubWindow@@UBE?AVQSize@@XZ @ 548 NONAME ; class QSize QMdiSubWindow::sizeHint(void) const
+ ?setDefault@QPushButton@@QAEX_N@Z @ 549 NONAME ; void QPushButton::setDefault(bool)
+ ?setNoReplayFor@QMenu@@QAEXPAVQWidget@@@Z @ 550 NONAME ; void QMenu::setNoReplayFor(class QWidget *)
+ ?mousePressEvent@QGraphicsProxyWidget@@MAEXPAVQGraphicsSceneMouseEvent@@@Z @ 551 NONAME ; void QGraphicsProxyWidget::mousePressEvent(class QGraphicsSceneMouseEvent *)
+ ?format@QAbstractTextDocumentLayout@@IAE?AVQTextCharFormat@@H@Z @ 552 NONAME ; class QTextCharFormat QAbstractTextDocumentLayout::format(int)
+ ?trUtf8@QButtonGroup@@SA?AVQString@@PBD0H@Z @ 553 NONAME ; class QString QButtonGroup::trUtf8(char const *, char const *, int)
+ ?qt_metacall@QDockWidgetLayout@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 554 NONAME ; int QDockWidgetLayout::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?offset@QImage@@QBE?AVQPoint@@XZ @ 555 NONAME ; class QPoint QImage::offset(void) const
+ ?metaObject@QMenu@@UBEPBUQMetaObject@@XZ @ 556 NONAME ; struct QMetaObject const * QMenu::metaObject(void) const
+ ?qt_scaleForTransform@@YA_NABVQTransform@@PAM@Z @ 557 NONAME ; bool qt_scaleForTransform(class QTransform const &, float *)
+ ??0QLineEdit@@QAE@PAVQWidget@@@Z @ 558 NONAME ; QLineEdit::QLineEdit(class QWidget *)
+ ?text@QAction@@QBE?AVQString@@XZ @ 559 NONAME ; class QString QAction::text(void) const
+ ?setMovable@QTabWidget@@QAEX_N@Z @ 560 NONAME ; void QTabWidget::setMovable(bool)
+ ?orientation@QDataWidgetMapper@@QBE?AW4Orientation@Qt@@XZ @ 561 NONAME ; enum Qt::Orientation QDataWidgetMapper::orientation(void) const
+ ??_EQPaintEngineExReplayer@@UAE@I@Z @ 562 NONAME ; QPaintEngineExReplayer::~QPaintEngineExReplayer(unsigned int)
+ ??BQCursor@@QBE?AVQVariant@@XZ @ 563 NONAME ; QCursor::operator class QVariant(void) const
+ ?setLineEdit@QComboBox@@QAEXPAVQLineEdit@@@Z @ 564 NONAME ; void QComboBox::setLineEdit(class QLineEdit *)
+ ?setOverrideCursor@QApplication@@SAXABVQCursor@@@Z @ 565 NONAME ; void QApplication::setOverrideCursor(class QCursor const &)
+ ?model@QDataWidgetMapper@@QBEPAVQAbstractItemModel@@XZ @ 566 NONAME ; class QAbstractItemModel * QDataWidgetMapper::model(void) const
+ ??4QBrush@@QAEAAV0@ABV0@@Z @ 567 NONAME ; class QBrush & QBrush::operator=(class QBrush const &)
+ ?boundingRect@QGraphicsPixmapItem@@UBE?AVQRectF@@XZ @ 568 NONAME ; class QRectF QGraphicsPixmapItem::boundingRect(void) const
+ ?accepted@QDialog@@IAEXXZ @ 569 NONAME ; void QDialog::accepted(void)
+ ?trUtf8@QHBoxLayout@@SA?AVQString@@PBD0@Z @ 570 NONAME ; class QString QHBoxLayout::trUtf8(char const *, char const *)
+ ?drawRoundRect@QPainter@@QAEXABVQRectF@@HH@Z @ 571 NONAME ; void QPainter::drawRoundRect(class QRectF const &, int, int)
+ ??1QUndoStack@@UAE@XZ @ 572 NONAME ; QUndoStack::~QUndoStack(void)
+ ??6@YAAAVQDataStream@@AAV0@ABVQSizePolicy@@@Z @ 573 NONAME ; class QDataStream & operator<<(class QDataStream &, class QSizePolicy const &)
+ ?trUtf8@QStylePlugin@@SA?AVQString@@PBD0H@Z @ 574 NONAME ; class QString QStylePlugin::trUtf8(char const *, char const *, int)
+ ?showEvent@QMdiSubWindow@@MAEXPAVQShowEvent@@@Z @ 575 NONAME ; void QMdiSubWindow::showEvent(class QShowEvent *)
+ ?setPageSize@QTextDocument@@QAEXABVQSizeF@@@Z @ 576 NONAME ; void QTextDocument::setPageSize(class QSizeF const &)
+ ?selectAll@QTextControl@@QAEXXZ @ 577 NONAME ; void QTextControl::selectAll(void)
+ ?rotate@QMatrix4x4@@QAEAAV1@ABVQQuaternion@@@Z @ 578 NONAME ; class QMatrix4x4 & QMatrix4x4::rotate(class QQuaternion const &)
+ ?setFont@QStandardItem@@QAEXABVQFont@@@Z @ 579 NONAME ; void QStandardItem::setFont(class QFont const &)
+ ?checkOverflow@QLCDNumber@@QBE_NN@Z @ 580 NONAME ; bool QLCDNumber::checkOverflow(double) const
+ ?dropMimeData@QTreeWidget@@MAE_NPAVQTreeWidgetItem@@HPBVQMimeData@@W4DropAction@Qt@@@Z @ 581 NONAME ; bool QTreeWidget::dropMimeData(class QTreeWidgetItem *, int, class QMimeData const *, enum Qt::DropAction)
+ ?trUtf8@QStylePlugin@@SA?AVQString@@PBD0@Z @ 582 NONAME ; class QString QStylePlugin::trUtf8(char const *, char const *)
+ ?setViewTransformEnabled@QPainter@@QAEX_N@Z @ 583 NONAME ; void QPainter::setViewTransformEnabled(bool)
+ ??0QIcon@@QAE@ABVQPixmap@@@Z @ 584 NONAME ; QIcon::QIcon(class QPixmap const &)
+ ?requestUpdate@QPlainTextDocumentLayout@@QAEXXZ @ 585 NONAME ; void QPlainTextDocumentLayout::requestUpdate(void)
+ ?height@QFontMetrics@@QBEHXZ @ 586 NONAME ; int QFontMetrics::height(void) const
+ ?closestLegalPosition@QSplitter@@IAEHHH@Z @ 587 NONAME ; int QSplitter::closestLegalPosition(int, int)
+ ?testFunction@Parser@QCss@@QAE_NXZ @ 588 NONAME ; bool QCss::Parser::testFunction(void)
+ ?moveTo@QPainterPath@@QAEXMM@Z @ 589 NONAME ; void QPainterPath::moveTo(float, float)
+ ?font@QFontDatabase@@QBE?AVQFont@@ABVQString@@0H@Z @ 590 NONAME ; class QFont QFontDatabase::font(class QString const &, class QString const &, int) const
+ ?fillRule@QPainterPath@@QBE?AW4FillRule@Qt@@XZ @ 591 NONAME ; enum Qt::FillRule QPainterPath::fillRule(void) const
+ ?event@QRubberBand@@MAE_NPAVQEvent@@@Z @ 592 NONAME ; bool QRubberBand::event(class QEvent *)
+ ?setWinId@QWidgetPrivate@@QAEXPAVCCoeControl@@@Z @ 593 NONAME ; void QWidgetPrivate::setWinId(class CCoeControl *)
+ ?setSpacing@QListView@@QAEXH@Z @ 594 NONAME ; void QListView::setSpacing(int)
+ ?mouseReleaseEvent@QGraphicsTextItem@@MAEXPAVQGraphicsSceneMouseEvent@@@Z @ 595 NONAME ; void QGraphicsTextItem::mouseReleaseEvent(class QGraphicsSceneMouseEvent *)
+ ?trUtf8@QDateEdit@@SA?AVQString@@PBD0@Z @ 596 NONAME ; class QString QDateEdit::trUtf8(char const *, char const *)
+ ?text@QTreeWidgetItem@@QBE?AVQString@@H@Z @ 597 NONAME ; class QString QTreeWidgetItem::text(int) const
+ ?setPosition@QTextFrameFormat@@QAEXW4Position@1@@Z @ 598 NONAME ; void QTextFrameFormat::setPosition(enum QTextFrameFormat::Position)
+ ??_EQPlainTextEdit@@UAE@I@Z @ 599 NONAME ; QPlainTextEdit::~QPlainTextEdit(unsigned int)
+ ?tr@QHBoxLayout@@SA?AVQString@@PBD0H@Z @ 600 NONAME ; class QString QHBoxLayout::tr(char const *, char const *, int)
+ ?getHsv@QColor@@QBEXPAH000@Z @ 601 NONAME ; void QColor::getHsv(int *, int *, int *, int *) const
+ ??8QItemSelectionRange@@QBE_NABV0@@Z @ 602 NONAME ; bool QItemSelectionRange::operator==(class QItemSelectionRange const &) const
+ ?translationList@QGraphicsItemAnimation@@QBE?AV?$QList@U?$QPair@MVQPointF@@@@@@XZ @ 603 NONAME ; class QList<struct QPair<float, class QPointF> > QGraphicsItemAnimation::translationList(void) const
+ ?undoTextChanged@QUndoGroup@@IAEXABVQString@@@Z @ 604 NONAME ; void QUndoGroup::undoTextChanged(class QString const &)
+ ?addMenu@QMenu@@QAEPAV1@ABVQIcon@@ABVQString@@@Z @ 605 NONAME ; class QMenu * QMenu::addMenu(class QIcon const &, class QString const &)
+ ??1QCheckBox@@UAE@XZ @ 606 NONAME ; QCheckBox::~QCheckBox(void)
+ ?unsetUrlHandler@QDesktopServices@@SAXABVQString@@@Z @ 607 NONAME ; void QDesktopServices::unsetUrlHandler(class QString const &)
+ ?unsetHotSpot@QGesture@@QAEXXZ @ 608 NONAME ; void QGesture::unsetHotSpot(void)
+ ?drawPoints@QPainter@@QAEXABVQPolygonF@@@Z @ 609 NONAME ; void QPainter::drawPoints(class QPolygonF const &)
+ ?setModel@QTableWidget@@EAEXPAVQAbstractItemModel@@@Z @ 610 NONAME ; void QTableWidget::setModel(class QAbstractItemModel *)
+ ?parseNextMedium@Parser@QCss@@QAE_NPAVQStringList@@@Z @ 611 NONAME ; bool QCss::Parser::parseNextMedium(class QStringList *)
+ ?addEllipse@QPainterPath@@QAEXMMMM@Z @ 612 NONAME ; void QPainterPath::addEllipse(float, float, float, float)
+ ??D@YA?AVQPainterPath@@ABV0@ABVQTransform@@@Z @ 613 NONAME ; class QPainterPath operator*(class QPainterPath const &, class QTransform const &)
+ ?setTabToolTip@QTabBar@@QAEXHABVQString@@@Z @ 614 NONAME ; void QTabBar::setTabToolTip(int, class QString const &)
+ ??0QStyleOptionProgressBar@@QAE@XZ @ 615 NONAME ; QStyleOptionProgressBar::QStyleOptionProgressBar(void)
+ ?staticMetaObject@QPaintBufferResource@@2UQMetaObject@@B @ 616 NONAME ; struct QMetaObject const QPaintBufferResource::staticMetaObject
+ ?buddy@QLabel@@QBEPAVQWidget@@XZ @ 617 NONAME ; class QWidget * QLabel::buddy(void) const
+ ?testClass@Parser@QCss@@QAE_NXZ @ 618 NONAME ; bool QCss::Parser::testClass(void)
+ ?updatePasswordEchoEditing@QLineControl@@QAEX_N@Z @ 619 NONAME ; void QLineControl::updatePasswordEchoEditing(bool)
+ ?textEdited@QLineControl@@IAEXABVQString@@@Z @ 620 NONAME ; void QLineControl::textEdited(class QString const &)
+ ?refresh@QSplitter@@QAEXXZ @ 621 NONAME ; void QSplitter::refresh(void)
+ ?setBackgroundMode@QPainter@@QAEXW4BGMode@Qt@@@Z @ 622 NONAME ; void QPainter::setBackgroundMode(enum Qt::BGMode)
+ ?mouseReleaseEvent@QSplitterHandle@@MAEXPAVQMouseEvent@@@Z @ 623 NONAME ; void QSplitterHandle::mouseReleaseEvent(class QMouseEvent *)
+ ??0QStyleOptionTabV3@@QAE@ABVQStyleOptionTabV2@@@Z @ 624 NONAME ; QStyleOptionTabV3::QStyleOptionTabV3(class QStyleOptionTabV2 const &)
+ ?setMaximumHeight@QWidget@@QAEXH@Z @ 625 NONAME ; void QWidget::setMaximumHeight(int)
+ ?setActiveWindow@QGraphicsScene@@QAEXPAVQGraphicsWidget@@@Z @ 626 NONAME ; void QGraphicsScene::setActiveWindow(class QGraphicsWidget *)
+ ?items@QGraphicsScene@@QBE?AV?$QList@PAVQGraphicsItem@@@@ABVQPointF@@W4ItemSelectionMode@Qt@@W4SortOrder@5@ABVQTransform@@@Z @ 627 NONAME ; class QList<class QGraphicsItem *> QGraphicsScene::items(class QPointF const &, enum Qt::ItemSelectionMode, enum Qt::SortOrder, class QTransform const &) const
+ ?height@QItemSelectionRange@@QBEHXZ @ 628 NONAME ; int QItemSelectionRange::height(void) const
+ ??0QImageReader@@QAE@PAVQIODevice@@ABVQByteArray@@@Z @ 629 NONAME ; QImageReader::QImageReader(class QIODevice *, class QByteArray const &)
+ ?setCurrentRow@QListWidget@@QAEXHV?$QFlags@W4SelectionFlag@QItemSelectionModel@@@@@Z @ 630 NONAME ; void QListWidget::setCurrentRow(int, class QFlags<enum QItemSelectionModel::SelectionFlag>)
+ ?trUtf8@QWorkspace@@SA?AVQString@@PBD0H@Z @ 631 NONAME ; class QString QWorkspace::trUtf8(char const *, char const *, int)
+ ?maximum@QSpinBox@@QBEHXZ @ 632 NONAME ; int QSpinBox::maximum(void) const
+ ?d_func@QLCDNumber@@ABEPBVQLCDNumberPrivate@@XZ @ 633 NONAME ; class QLCDNumberPrivate const * QLCDNumber::d_func(void) const
+ ?tr@QDoubleSpinBox@@SA?AVQString@@PBD0H@Z @ 634 NONAME ; class QString QDoubleSpinBox::tr(char const *, char const *, int)
+ ?jumpToImage@QImageReader@@QAE_NH@Z @ 635 NONAME ; bool QImageReader::jumpToImage(int)
+ ?scalar@QQuaternion@@QBEMXZ @ 636 NONAME ; float QQuaternion::scalar(void) const
+ ?getStaticMetaObject@QTimeEdit@@SAABUQMetaObject@@XZ @ 637 NONAME ; struct QMetaObject const & QTimeEdit::getStaticMetaObject(void)
+ ??BQPalette@@QBE?AVQVariant@@XZ @ 638 NONAME ; QPalette::operator class QVariant(void) const
+ ?getStaticMetaObject@QTreeView@@SAABUQMetaObject@@XZ @ 639 NONAME ; struct QMetaObject const & QTreeView::getStaticMetaObject(void)
+ ?setStretchLastSection@QHeaderView@@QAEX_N@Z @ 640 NONAME ; void QHeaderView::setStretchLastSection(bool)
+ ?map@QTransform@@QBE?AVQPainterPath@@ABV2@@Z @ 641 NONAME ; class QPainterPath QTransform::map(class QPainterPath const &) const
+ ?currentIndex@QToolBox@@QBEHXZ @ 642 NONAME ; int QToolBox::currentIndex(void) const
+ ?setUnderlineStyle@QTextCharFormat@@QAEXW4UnderlineStyle@1@@Z @ 643 NONAME ; void QTextCharFormat::setUnderlineStyle(enum QTextCharFormat::UnderlineStyle)
+ ??0QTableWidgetItem@@QAE@ABV0@@Z @ 644 NONAME ; QTableWidgetItem::QTableWidgetItem(class QTableWidgetItem const &)
+ ?setText@QTreeWidgetItem@@QAEXHABVQString@@@Z @ 645 NONAME ; void QTreeWidgetItem::setText(int, class QString const &)
+ ?removeItem@QGraphicsLinearLayout@@QAEXPAVQGraphicsLayoutItem@@@Z @ 646 NONAME ; void QGraphicsLinearLayout::removeItem(class QGraphicsLayoutItem *)
+ ?headerData@QDirModel@@UBE?AVQVariant@@HW4Orientation@Qt@@H@Z @ 647 NONAME ; class QVariant QDirModel::headerData(int, enum Qt::Orientation, int) const
+ ?tr@QLineEdit@@SA?AVQString@@PBD0@Z @ 648 NONAME ; class QString QLineEdit::tr(char const *, char const *)
+ ?globalY@QWheelEvent@@QBEHXZ @ 649 NONAME ; int QWheelEvent::globalY(void) const
+ ??1QClipboard@@EAE@XZ @ 650 NONAME ; QClipboard::~QClipboard(void)
+ ??0QTextLayout@@QAE@XZ @ 651 NONAME ; QTextLayout::QTextLayout(void)
+ ?keyPressEvent@QTabBar@@MAEXPAVQKeyEvent@@@Z @ 652 NONAME ; void QTabBar::keyPressEvent(class QKeyEvent *)
+ ?colorProperty@QTextFormat@@QBE?AVQColor@@H@Z @ 653 NONAME ; class QColor QTextFormat::colorProperty(int) const
+ ?addLayout@QBoxLayout@@QAEXPAVQLayout@@H@Z @ 654 NONAME ; void QBoxLayout::addLayout(class QLayout *, int)
+ ?hovered@QActionGroup@@IAEXPAVQAction@@@Z @ 655 NONAME ; void QActionGroup::hovered(class QAction *)
+ ?stack@QUndoView@@QBEPAVQUndoStack@@XZ @ 656 NONAME ; class QUndoStack * QUndoView::stack(void) const
+ ?squareToQuad@QTransform@@SA_NABVQPolygonF@@AAV1@@Z @ 657 NONAME ; bool QTransform::squareToQuad(class QPolygonF const &, class QTransform &)
+ ?controlPointRect@QPainterPath@@QBE?AVQRectF@@XZ @ 658 NONAME ; class QRectF QPainterPath::controlPointRect(void) const
+ ?language@QCoeFepInputContext@@UAE?AVQString@@XZ @ 659 NONAME ABSENT ; class QString QCoeFepInputContext::language(void)
+ ?horizontalScrollbarAction@QTableView@@MAEXH@Z @ 660 NONAME ; void QTableView::horizontalScrollbarAction(int)
+ ?qt_metacall@QGraphicsView@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 661 NONAME ; int QGraphicsView::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?itemPrototype@QStandardItemModel@@QBEPBVQStandardItem@@XZ @ 662 NONAME ; class QStandardItem const * QStandardItemModel::itemPrototype(void) const
+ ?shortcut@QAbstractButton@@QBE?AVQKeySequence@@XZ @ 663 NONAME ; class QKeySequence QAbstractButton::shortcut(void) const
+ ?sizeHint@QMessageBox@@UBE?AVQSize@@XZ @ 664 NONAME ; class QSize QMessageBox::sizeHint(void) const
+ ?joinPreviousEditBlock@QTextCursor@@QAEXXZ @ 665 NONAME ; void QTextCursor::joinPreviousEditBlock(void)
+ ?setRightPadding@QTextTableCellFormat@@QAEXM@Z @ 666 NONAME ; void QTextTableCellFormat::setRightPadding(float)
+ ??_EQGraphicsRectItem@@UAE@I@Z @ 667 NONAME ; QGraphicsRectItem::~QGraphicsRectItem(unsigned int)
+ ?qtVectorPathForPath@@YAABVQVectorPath@@ABVQPainterPath@@@Z @ 668 NONAME ; class QVectorPath const & qtVectorPathForPath(class QPainterPath const &)
+ ??4QStyleOptionProgressBarV2@@QAEAAV0@ABVQStyleOptionProgressBar@@@Z @ 669 NONAME ; class QStyleOptionProgressBarV2 & QStyleOptionProgressBarV2::operator=(class QStyleOptionProgressBar const &)
+ ?rowSpacing@QGraphicsGridLayout@@QBEMH@Z @ 670 NONAME ; float QGraphicsGridLayout::rowSpacing(int) const
+ ?d_func@QWorkspace@@AAEPAVQWorkspacePrivate@@XZ @ 671 NONAME ; class QWorkspacePrivate * QWorkspace::d_func(void)
+ ?translate@QPolygonF@@QAEXABVQPointF@@@Z @ 672 NONAME ; void QPolygonF::translate(class QPointF const &)
+ ?translated@QPolygonF@@QBE?AV1@ABVQPointF@@@Z @ 673 NONAME ; class QPolygonF QPolygonF::translated(class QPointF const &) const
+ ?setPositionForIndex@QListView@@IAEXABVQPoint@@ABVQModelIndex@@@Z @ 674 NONAME ; void QListView::setPositionForIndex(class QPoint const &, class QModelIndex const &)
+ ?smallDecimalPoint@QLCDNumber@@QBE_NXZ @ 675 NONAME ; bool QLCDNumber::smallDecimalPoint(void) const
+ ?getStaticMetaObject@QAction@@SAABUQMetaObject@@XZ @ 676 NONAME ; struct QMetaObject const & QAction::getStaticMetaObject(void)
+ ?description@QImageWriter@@QBE?AVQString@@XZ @ 677 NONAME ; class QString QImageWriter::description(void) const
+ ??1QStyleOptionToolBoxV2@@QAE@XZ @ 678 NONAME ; QStyleOptionToolBoxV2::~QStyleOptionToolBoxV2(void)
+ ??_EQMdiSubWindow@@UAE@I@Z @ 679 NONAME ; QMdiSubWindow::~QMdiSubWindow(unsigned int)
+ ?setAccelerated@QAbstractSpinBox@@QAEX_N@Z @ 680 NONAME ; void QAbstractSpinBox::setAccelerated(bool)
+ ??1QGesture@@UAE@XZ @ 681 NONAME ; QGesture::~QGesture(void)
+ ?rehighlight@QSyntaxHighlighter@@QAEXXZ @ 682 NONAME ; void QSyntaxHighlighter::rehighlight(void)
+ ?d_func@QComboBox@@ABEPBVQComboBoxPrivate@@XZ @ 683 NONAME ; class QComboBoxPrivate const * QComboBox::d_func(void) const
+ ?clearUndo@QLineControl@@QAEXXZ @ 684 NONAME ; void QLineControl::clearUndo(void)
+ ?setNameFilters@QFileDialog@@QAEXABVQStringList@@@Z @ 685 NONAME ; void QFileDialog::setNameFilters(class QStringList const &)
+ ?fixup@QAbstractSpinBox@@UBEXAAVQString@@@Z @ 686 NONAME ; void QAbstractSpinBox::fixup(class QString &) const
+ ?minimum@QProgressBar@@QBEHXZ @ 687 NONAME ; int QProgressBar::minimum(void) const
+ ?focusInEvent@QGraphicsItem@@MAEXPAVQFocusEvent@@@Z @ 688 NONAME ; void QGraphicsItem::focusInEvent(class QFocusEvent *)
+ ?removePage@QWizard@@QAEXH@Z @ 689 NONAME ; void QWizard::removePage(int)
+ ?stepUp@QAbstractSpinBox@@QAEXXZ @ 690 NONAME ; void QAbstractSpinBox::stepUp(void)
+ ?currentIndex@QStackedWidget@@QBEHXZ @ 691 NONAME ; int QStackedWidget::currentIndex(void) const
+ ?scrollToItem@QTableWidget@@QAEXPBVQTableWidgetItem@@W4ScrollHint@QAbstractItemView@@@Z @ 692 NONAME ; void QTableWidget::scrollToItem(class QTableWidgetItem const *, enum QAbstractItemView::ScrollHint)
+ ??0QGraphicsLinearLayout@@QAE@PAVQGraphicsLayoutItem@@@Z @ 693 NONAME ; QGraphicsLinearLayout::QGraphicsLinearLayout(class QGraphicsLayoutItem *)
+ ?setTitle@QGroupBox@@QAEXABVQString@@@Z @ 694 NONAME ; void QGroupBox::setTitle(class QString const &)
+ ?paint@QGraphicsTextItem@@UAEXPAVQPainter@@PBVQStyleOptionGraphicsItem@@PAVQWidget@@@Z @ 695 NONAME ; void QGraphicsTextItem::paint(class QPainter *, class QStyleOptionGraphicsItem const *, class QWidget *)
+ ?hoverEnterEvent@QGraphicsProxyWidget@@MAEXPAVQGraphicsSceneHoverEvent@@@Z @ 696 NONAME ; void QGraphicsProxyWidget::hoverEnterEvent(class QGraphicsSceneHoverEvent *)
+ ?pixelSize@QFontInfo@@QBEHXZ @ 697 NONAME ; int QFontInfo::pixelSize(void) const
+ ?visualItemRect@QListWidget@@QBE?AVQRect@@PBVQListWidgetItem@@@Z @ 698 NONAME ; class QRect QListWidget::visualItemRect(class QListWidgetItem const *) const
+ ?undoLimit@QUndoStack@@QBEHXZ @ 699 NONAME ; int QUndoStack::undoLimit(void) const
+ ?setSuffix@QDoubleSpinBox@@QAEXABVQString@@@Z @ 700 NONAME ; void QDoubleSpinBox::setSuffix(class QString const &)
+ ?fontStyleHint@QTextCharFormat@@QBE?AW4StyleHint@QFont@@XZ @ 701 NONAME ; enum QFont::StyleHint QTextCharFormat::fontStyleHint(void) const
+ ?trUtf8@QDockWidget@@SA?AVQString@@PBD0@Z @ 702 NONAME ; class QString QDockWidget::trUtf8(char const *, char const *)
+ ?tr@QWidgetAction@@SA?AVQString@@PBD0@Z @ 703 NONAME ; class QString QWidgetAction::tr(char const *, char const *)
+ ?resolveFont@QGraphicsItemPrivate@@UAEXI@Z @ 704 NONAME ; void QGraphicsItemPrivate::resolveFont(unsigned int)
+ ?getStaticMetaObject@QStackedWidget@@SAABUQMetaObject@@XZ @ 705 NONAME ; struct QMetaObject const & QStackedWidget::getStaticMetaObject(void)
+ ??_EQValidator@@UAE@I@Z @ 706 NONAME ; QValidator::~QValidator(unsigned int)
+ ?changeEvent@QGraphicsWidget@@MAEXPAVQEvent@@@Z @ 707 NONAME ; void QGraphicsWidget::changeEvent(class QEvent *)
+ ?tr@QAbstractItemView@@SA?AVQString@@PBD0@Z @ 708 NONAME ; class QString QAbstractItemView::tr(char const *, char const *)
+ ??0QStyleOptionFrameV3@@IAE@H@Z @ 709 NONAME ; QStyleOptionFrameV3::QStyleOptionFrameV3(int)
+ ?messageChanged@QSplashScreen@@IAEXABVQString@@@Z @ 710 NONAME ; void QSplashScreen::messageChanged(class QString const &)
+ ?rootPathChanged@QFileSystemModel@@IAEXABVQString@@@Z @ 711 NONAME ; void QFileSystemModel::rootPathChanged(class QString const &)
+ ?getStaticMetaObject@QPixmapDropShadowFilter@@SAABUQMetaObject@@XZ @ 712 NONAME ; struct QMetaObject const & QPixmapDropShadowFilter::getStaticMetaObject(void)
+ ?visibilityRequest@QTextControl@@IAEXABVQRectF@@@Z @ 713 NONAME ; void QTextControl::visibilityRequest(class QRectF const &)
+ ?qt_metacall@QPushButton@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 714 NONAME ; int QPushButton::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?isOverlapped@QWidgetPrivate@@QBE_NABVQRect@@@Z @ 715 NONAME ; bool QWidgetPrivate::isOverlapped(class QRect const &) const
+ ?trUtf8@QHeaderView@@SA?AVQString@@PBD0H@Z @ 716 NONAME ; class QString QHeaderView::trUtf8(char const *, char const *, int)
+ ??1QWidget@@UAE@XZ @ 717 NONAME ; QWidget::~QWidget(void)
+ ?valueF@QColor@@QBEMXZ @ 718 NONAME ; float QColor::valueF(void) const
+ ??0QGraphicsItem@@QAE@PAV0@PAVQGraphicsScene@@@Z @ 719 NONAME ; QGraphicsItem::QGraphicsItem(class QGraphicsItem *, class QGraphicsScene *)
+ ?setOption@QImageIOHandler@@UAEXW4ImageOption@1@ABVQVariant@@@Z @ 720 NONAME ; void QImageIOHandler::setOption(enum QImageIOHandler::ImageOption, class QVariant const &)
+ ?mouseMoveEvent@QLineEdit@@MAEXPAVQMouseEvent@@@Z @ 721 NONAME ; void QLineEdit::mouseMoveEvent(class QMouseEvent *)
+ ?drawArc@QPainter@@QAEXHHHHHH@Z @ 722 NONAME ; void QPainter::drawArc(int, int, int, int, int, int)
+ ?setInvertedControls@QAbstractSlider@@QAEX_N@Z @ 723 NONAME ; void QAbstractSlider::setInvertedControls(bool)
+ ?q_func@QLayoutPrivate@@ABEPBVQLayout@@XZ @ 724 NONAME ; class QLayout const * QLayoutPrivate::q_func(void) const
+ ?d_func@QSortFilterProxyModel@@AAEPAVQSortFilterProxyModelPrivate@@XZ @ 725 NONAME ; class QSortFilterProxyModelPrivate * QSortFilterProxyModel::d_func(void)
+ ?separate@QLineControl@@AAEXXZ @ 726 NONAME ; void QLineControl::separate(void)
+ ?createDatabase@QFontDatabase@@CAXXZ @ 727 NONAME ; void QFontDatabase::createDatabase(void)
+ ?wheelEvent@QAbstractSlider@@MAEXPAVQWheelEvent@@@Z @ 728 NONAME ; void QAbstractSlider::wheelEvent(class QWheelEvent *)
+ ?tabsClosable@QTabBar@@QBE_NXZ @ 729 NONAME ; bool QTabBar::tabsClosable(void) const
+ ?loopCount@QImageReader@@QBEHXZ @ 730 NONAME ; int QImageReader::loopCount(void) const
+ ?staticMetaObject@QDrag@@2UQMetaObject@@B @ 731 NONAME ; struct QMetaObject const QDrag::staticMetaObject
+ ?parameterSplitLeft@QBezier@@QAEXMPAV1@@Z @ 732 NONAME ; void QBezier::parameterSplitLeft(float, class QBezier *)
+ ?qt_metacall@QComboBox@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 733 NONAME ; int QComboBox::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ??EQTreeWidgetItemIterator@@QAEAAV0@XZ @ 734 NONAME ; class QTreeWidgetItemIterator & QTreeWidgetItemIterator::operator++(void)
+ ?move@QRubberBand@@QAEXHH@Z @ 735 NONAME ; void QRubberBand::move(int, int)
+ ??0QTabletEvent@@QAE@W4Type@QEvent@@ABVQPoint@@1ABVQPointF@@HHMHHMMHV?$QFlags@W4KeyboardModifier@Qt@@@@_J@Z @ 736 NONAME ; QTabletEvent::QTabletEvent(enum QEvent::Type, class QPoint const &, class QPoint const &, class QPointF const &, int, int, float, int, int, float, float, int, class QFlags<enum Qt::KeyboardModifier>, long long)
+ ?setTransform@QBrush@@QAEXABVQTransform@@@Z @ 737 NONAME ; void QBrush::setTransform(class QTransform const &)
+ ??Fiterator@QTextBlock@@QAE?AV01@H@Z @ 738 NONAME ; class QTextBlock::iterator QTextBlock::iterator::operator--(int)
+ ?setToolButtonStyle@QToolButton@@QAEXW4ToolButtonStyle@Qt@@@Z @ 739 NONAME ; void QToolButton::setToolButtonStyle(enum Qt::ToolButtonStyle)
+ ?setCurrentPage@QCalendarWidget@@QAEXHH@Z @ 740 NONAME ; void QCalendarWidget::setCurrentPage(int, int)
+ ?mimeData@QDrag@@QBEPAVQMimeData@@XZ @ 741 NONAME ; class QMimeData * QDrag::mimeData(void) const
+ ?registerDropSite@QWidgetPrivate@@QAEX_N@Z @ 742 NONAME ; void QWidgetPrivate::registerDropSite(bool)
+ ?metaObject@QShortcut@@UBEPBUQMetaObject@@XZ @ 743 NONAME ; struct QMetaObject const * QShortcut::metaObject(void) const
+ ?format@QDropEvent@@UBEPBDH@Z @ 744 NONAME ; char const * QDropEvent::format(int) const
+ ??0QStyleOptionTabBarBase@@IAE@H@Z @ 745 NONAME ; QStyleOptionTabBarBase::QStyleOptionTabBarBase(int)
+ ?sizeHint@QGraphicsGridLayout@@UBE?AVQSizeF@@W4SizeHint@Qt@@ABV2@@Z @ 746 NONAME ; class QSizeF QGraphicsGridLayout::sizeHint(enum Qt::SizeHint, class QSizeF const &) const
+ ??_EQDragLeaveEvent@@UAE@I@Z @ 747 NONAME ; QDragLeaveEvent::~QDragLeaveEvent(unsigned int)
+ ?toLast@QDataWidgetMapper@@QAEXXZ @ 748 NONAME ; void QDataWidgetMapper::toLast(void)
+ ??0QStyleOptionFocusRect@@QAE@XZ @ 749 NONAME ; QStyleOptionFocusRect::QStyleOptionFocusRect(void)
+ ?setActiveAction@QMenu@@QAEXPAVQAction@@@Z @ 750 NONAME ; void QMenu::setActiveAction(class QAction *)
+ ?d_func@QGraphicsView@@ABEPBVQGraphicsViewPrivate@@XZ @ 751 NONAME ; class QGraphicsViewPrivate const * QGraphicsView::d_func(void) const
+ ?drawContents@QTextControl@@QAEXPAVQPainter@@ABVQRectF@@PAVQWidget@@@Z @ 752 NONAME ; void QTextControl::drawContents(class QPainter *, class QRectF const &, class QWidget *)
+ ?cellPadding@QTextTableFormat@@QBEMXZ @ 753 NONAME ; float QTextTableFormat::cellPadding(void) const
+ ?trUtf8@QGraphicsScene@@SA?AVQString@@PBD0H@Z @ 754 NONAME ; class QString QGraphicsScene::trUtf8(char const *, char const *, int)
+ ?setTouchPointStates@QTouchEvent@@QAEXV?$QFlags@W4TouchPointState@Qt@@@@@Z @ 755 NONAME ; void QTouchEvent::setTouchPointStates(class QFlags<enum Qt::TouchPointState>)
+ ??_EQPaintEvent@@UAE@I@Z @ 756 NONAME ; QPaintEvent::~QPaintEvent(unsigned int)
+ ?screenPos@QGraphicsSceneHelpEvent@@QBE?AVQPoint@@XZ @ 757 NONAME ; class QPoint QGraphicsSceneHelpEvent::screenPos(void) const
+ ?subTitleFormat@QWizard@@QBE?AW4TextFormat@Qt@@XZ @ 758 NONAME ; enum Qt::TextFormat QWizard::subTitleFormat(void) const
+ ?clear@QLabel@@QAEXXZ @ 759 NONAME ; void QLabel::clear(void)
+ ?flags@QStandardItemModel@@UBE?AV?$QFlags@W4ItemFlag@Qt@@@@ABVQModelIndex@@@Z @ 760 NONAME ; class QFlags<enum Qt::ItemFlag> QStandardItemModel::flags(class QModelIndex const &) const
+ ?inputMethodHints@QGraphicsItem@@QBE?AV?$QFlags@W4InputMethodHint@Qt@@@@XZ @ 761 NONAME ; class QFlags<enum Qt::InputMethodHint> QGraphicsItem::inputMethodHints(void) const
+ ?hue@QColor@@QBEHXZ @ 762 NONAME ; int QColor::hue(void) const
+ ?tr@QFrame@@SA?AVQString@@PBD0@Z @ 763 NONAME ; class QString QFrame::tr(char const *, char const *)
+ ?grabShortcut@QGraphicsWidget@@QAEHABVQKeySequence@@W4ShortcutContext@Qt@@@Z @ 764 NONAME ; int QGraphicsWidget::grabShortcut(class QKeySequence const &, enum Qt::ShortcutContext)
+ ??0QLabel@@QAE@ABVQString@@PAVQWidget@@V?$QFlags@W4WindowType@Qt@@@@@Z @ 765 NONAME ; QLabel::QLabel(class QString const &, class QWidget *, class QFlags<enum Qt::WindowType>)
+ ?yellowF@QColor@@QBEMXZ @ 766 NONAME ; float QColor::yellowF(void) const
+ ?setStickyFocus@QGraphicsScene@@QAEX_N@Z @ 767 NONAME ; void QGraphicsScene::setStickyFocus(bool)
+ ?isUndoAvailable@QLineControl@@QBE_NXZ @ 768 NONAME ; bool QLineControl::isUndoAvailable(void) const
+ ??1QTouchEvent@@UAE@XZ @ 769 NONAME ; QTouchEvent::~QTouchEvent(void)
+ ?itemPressed@QTreeWidget@@IAEXPAVQTreeWidgetItem@@H@Z @ 770 NONAME ; void QTreeWidget::itemPressed(class QTreeWidgetItem *, int)
+ ?textAlignment@QTableWidgetItem@@QBEHXZ @ 771 NONAME ; int QTableWidgetItem::textAlignment(void) const
+ ??0QItemDelegate@@QAE@PAVQObject@@@Z @ 772 NONAME ; QItemDelegate::QItemDelegate(class QObject *)
+ ?qt_metacast@QPinchGesture@@UAEPAXPBD@Z @ 773 NONAME ; void * QPinchGesture::qt_metacast(char const *)
+ ?accessibleDescription@QStandardItem@@QBE?AVQString@@XZ @ 774 NONAME ; class QString QStandardItem::accessibleDescription(void) const
+ ?toPlainText@QPlainTextEdit@@QBE?AVQString@@XZ @ 775 NONAME ; class QString QPlainTextEdit::toPlainText(void) const
+ ?pos@QGraphicsSceneDragDropEvent@@QBE?AVQPointF@@XZ @ 776 NONAME ; class QPointF QGraphicsSceneDragDropEvent::pos(void) const
+ ?qt_metacall@QScrollArea@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 777 NONAME ; int QScrollArea::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?setIndex@QUndoStack@@QAEXH@Z @ 778 NONAME ; void QUndoStack::setIndex(int)
+ ??0QConicalGradient@@QAE@XZ @ 779 NONAME ; QConicalGradient::QConicalGradient(void)
+ ??4QMatrix@@QAEAAV0@ABV0@@Z @ 780 NONAME ; class QMatrix & QMatrix::operator=(class QMatrix const &)
+ ?isCopyOf@QFont@@QBE_NABV1@@Z @ 781 NONAME ; bool QFont::isCopyOf(class QFont const &) const
+ ?regExp@QRegExpValidator@@QBEABVQRegExp@@XZ @ 782 NONAME ; class QRegExp const & QRegExpValidator::regExp(void) const
+ ?setShape@QTabBar@@QAEXW4Shape@1@@Z @ 783 NONAME ; void QTabBar::setShape(enum QTabBar::Shape)
+ ?push@QUndoStack@@QAEXPAVQUndoCommand@@@Z @ 784 NONAME ; void QUndoStack::push(class QUndoCommand *)
+ ?staticMetaObject@QGraphicsWidget@@2UQMetaObject@@B @ 785 NONAME ; struct QMetaObject const QGraphicsWidget::staticMetaObject
+ ?quadToSquare@QTransform@@SA_NABVQPolygonF@@AAV1@@Z @ 786 NONAME ; bool QTransform::quadToSquare(class QPolygonF const &, class QTransform &)
+ ?tr@QStringListModel@@SA?AVQString@@PBD0H@Z @ 787 NONAME ; class QString QStringListModel::tr(char const *, char const *, int)
+ ?tr@QDial@@SA?AVQString@@PBD0@Z @ 788 NONAME ; class QString QDial::tr(char const *, char const *)
+ ?excludeUserInputEvents@QEventDispatcherS60@@QAE_NXZ @ 789 NONAME ; bool QEventDispatcherS60::excludeUserInputEvents(void)
+ ?setWhatsThis@QListWidgetItem@@QAEXABVQString@@@Z @ 790 NONAME ; void QListWidgetItem::setWhatsThis(class QString const &)
+ ?setLayoutItemMargins@QWidgetPrivate@@QAEXW4SubElement@QStyle@@PBVQStyleOption@@@Z @ 791 NONAME ; void QWidgetPrivate::setLayoutItemMargins(enum QStyle::SubElement, class QStyleOption const *)
+ ?qt_metacast@QGraphicsSystemPlugin@@UAEPAXPBD@Z @ 792 NONAME ; void * QGraphicsSystemPlugin::qt_metacast(char const *)
+ ?getStaticMetaObject@QLCDNumber@@SAABUQMetaObject@@XZ @ 793 NONAME ; struct QMetaObject const & QLCDNumber::getStaticMetaObject(void)
+ ?trUtf8@QDateTimeEdit@@SA?AVQString@@PBD0H@Z @ 794 NONAME ; class QString QDateTimeEdit::trUtf8(char const *, char const *, int)
+ ?tabChangesFocus@QPlainTextEdit@@QBE_NXZ @ 795 NONAME ; bool QPlainTextEdit::tabChangesFocus(void) const
+ ?scrollToTop@QAbstractItemView@@QAEXXZ @ 796 NONAME ; void QAbstractItemView::scrollToTop(void)
+ ?detach@QPalette@@AAEXXZ @ 797 NONAME ; void QPalette::detach(void)
+ ?action@QActionEvent@@QBEPAVQAction@@XZ @ 798 NONAME ; class QAction * QActionEvent::action(void) const
+ ?event@QClipboard@@MAE_NPAVQEvent@@@Z @ 799 NONAME ; bool QClipboard::event(class QEvent *)
+ ?setSelectionBehavior@QAbstractItemView@@QAEXW4SelectionBehavior@1@@Z @ 800 NONAME ; void QAbstractItemView::setSelectionBehavior(enum QAbstractItemView::SelectionBehavior)
+ ?staticMetaObject@QMenu@@2UQMetaObject@@B @ 801 NONAME ; struct QMetaObject const QMenu::staticMetaObject
+ ?qt_metacall@QProgressDialog@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 802 NONAME ; int QProgressDialog::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?toVector4D@QQuaternion@@QBE?AVQVector4D@@XZ @ 803 NONAME ; class QVector4D QQuaternion::toVector4D(void) const
+ ?tr@QGraphicsAnchor@@SA?AVQString@@PBD0@Z @ 804 NONAME ; class QString QGraphicsAnchor::tr(char const *, char const *)
+ ?insertTopLevelItems@QTreeWidget@@QAEXHABV?$QList@PAVQTreeWidgetItem@@@@@Z @ 805 NONAME ; void QTreeWidget::insertTopLevelItems(int, class QList<class QTreeWidgetItem *> const &)
+ ?updateGeometries@QTreeView@@MAEXXZ @ 806 NONAME ; void QTreeView::updateGeometries(void)
+ ?setOptions@QColorDialog@@QAEXV?$QFlags@W4ColorDialogOption@QColorDialog@@@@@Z @ 807 NONAME ; void QColorDialog::setOptions(class QFlags<enum QColorDialog::ColorDialogOption>)
+ ?qt_find_ellipse_coords@@YAXABVQRectF@@MMPAVQPointF@@1@Z @ 808 NONAME ; void qt_find_ellipse_coords(class QRectF const &, float, float, class QPointF *, class QPointF *)
+ ?anchor@QGraphicsAnchorLayout@@QAEPAVQGraphicsAnchor@@PAVQGraphicsLayoutItem@@W4AnchorPoint@Qt@@01@Z @ 809 NONAME ; class QGraphicsAnchor * QGraphicsAnchorLayout::anchor(class QGraphicsLayoutItem *, enum Qt::AnchorPoint, class QGraphicsLayoutItem *, enum Qt::AnchorPoint)
+ ?mapSelectionToSource@QAbstractProxyModel@@UBE?AVQItemSelection@@ABV2@@Z @ 810 NONAME ; class QItemSelection QAbstractProxyModel::mapSelectionToSource(class QItemSelection const &) const
+ ?doubleValueChanged@QInputDialog@@IAEXN@Z @ 811 NONAME ; void QInputDialog::doubleValueChanged(double)
+ ?start@QDrag@@QAE?AW4DropAction@Qt@@V?$QFlags@W4DropAction@Qt@@@@@Z @ 812 NONAME ; enum Qt::DropAction QDrag::start(class QFlags<enum Qt::DropAction>)
+ ?nativeWindowDeco@QDockWidgetLayout@@QBE_NXZ @ 813 NONAME ; bool QDockWidgetLayout::nativeWindowDeco(void) const
+ ?itemTextRect@QStyle@@UBE?AVQRect@@ABVQFontMetrics@@ABV2@H_NABVQString@@@Z @ 814 NONAME ; class QRect QStyle::itemTextRect(class QFontMetrics const &, class QRect const &, int, bool, class QString const &) const
+ ?_q_deleteSelected@QLineControl@@AAEXXZ @ 815 NONAME ; void QLineControl::_q_deleteSelected(void)
+ ?notchTarget@QDial@@QBEMXZ @ 816 NONAME ; float QDial::notchTarget(void) const
+ ?replace@QPixmapCache@@SA_NABVKey@1@ABVQPixmap@@@Z @ 817 NONAME ; bool QPixmapCache::replace(class QPixmapCache::Key const &, class QPixmap const &)
+ ?init@QLineControl@@AAEXABVQString@@@Z @ 818 NONAME ; void QLineControl::init(class QString const &)
+ ?qt_metacast@QTextControl@@UAEPAXPBD@Z @ 819 NONAME ; void * QTextControl::qt_metacast(char const *)
+ ?insertRow@QFormLayout@@QAEXHPAVQWidget@@0@Z @ 820 NONAME ; void QFormLayout::insertRow(int, class QWidget *, class QWidget *)
+ ?mergeCurrentCharFormat@QTextEdit@@QAEXABVQTextCharFormat@@@Z @ 821 NONAME ; void QTextEdit::mergeCurrentCharFormat(class QTextCharFormat const &)
+ ??_EQImageIOHandler@@UAE@I@Z @ 822 NONAME ; QImageIOHandler::~QImageIOHandler(unsigned int)
+ ?doubleMinimum@QInputDialog@@QBENXZ @ 823 NONAME ; double QInputDialog::doubleMinimum(void) const
+ ?qt_defaultDpiX@@YAHXZ @ 824 NONAME ; int qt_defaultDpiX(void)
+ ?event@QMessageBox@@MAE_NPAVQEvent@@@Z @ 825 NONAME ; bool QMessageBox::event(class QEvent *)
+ ?getStaticMetaObject@QListView@@SAABUQMetaObject@@XZ @ 826 NONAME ; struct QMetaObject const & QListView::getStaticMetaObject(void)
+ ?derivedAt@QBezier@@QBE?AVQPointF@@M@Z @ 827 NONAME ; class QPointF QBezier::derivedAt(float) const
+ ?size@QImage@@QBE?AVQSize@@XZ @ 828 NONAME ; class QSize QImage::size(void) const
+ ?staticMetaObject@QWizardPage@@2UQMetaObject@@B @ 829 NONAME ; struct QMetaObject const QWizardPage::staticMetaObject
+ ?dropEvent@QTreeWidget@@MAEXPAVQDropEvent@@@Z @ 830 NONAME ; void QTreeWidget::dropEvent(class QDropEvent *)
+ ?graphicsItem@QGraphicsEffectSource@@QBEPBVQGraphicsItem@@XZ @ 831 NONAME ; class QGraphicsItem const * QGraphicsEffectSource::graphicsItem(void) const
+ ?setSpecialValueText@QAbstractSpinBox@@QAEXABVQString@@@Z @ 832 NONAME ; void QAbstractSpinBox::setSpecialValueText(class QString const &)
+ ??4QPainterPath@@QAEAAV0@ABV0@@Z @ 833 NONAME ; class QPainterPath & QPainterPath::operator=(class QPainterPath const &)
+ ?trUtf8@QSound@@SA?AVQString@@PBD0H@Z @ 834 NONAME ; class QString QSound::trUtf8(char const *, char const *, int)
+ ?shear@QTransform@@QAEAAV1@MM@Z @ 835 NONAME ; class QTransform & QTransform::shear(float, float)
+ ?mapFromItem@QGraphicsItem@@QBE?AVQPolygonF@@PBV1@MMMM@Z @ 836 NONAME ; class QPolygonF QGraphicsItem::mapFromItem(class QGraphicsItem const *, float, float, float, float) const
+ ?sizeFromContent@QDockWidgetLayout@@QBE?AVQSize@@ABV2@_N@Z @ 837 NONAME ; class QSize QDockWidgetLayout::sizeFromContent(class QSize const &, bool) const
+ ?render@QGraphicsScene@@QAEXPAVQPainter@@ABVQRectF@@1W4AspectRatioMode@Qt@@@Z @ 838 NONAME ; void QGraphicsScene::render(class QPainter *, class QRectF const &, class QRectF const &, enum Qt::AspectRatioMode)
+ ??_EQGraphicsPixmapItem@@UAE@I@Z @ 839 NONAME ; QGraphicsPixmapItem::~QGraphicsPixmapItem(unsigned int)
+ ??1QLineControl@@UAE@XZ @ 840 NONAME ; QLineControl::~QLineControl(void)
+ ?metaObject@QActionGroup@@UBEPBUQMetaObject@@XZ @ 841 NONAME ; struct QMetaObject const * QActionGroup::metaObject(void) const
+ ?maxInstances@QWidgetPrivate@@2HA @ 842 NONAME ; int QWidgetPrivate::maxInstances
+ ??0QUndoCommand@@QAE@ABVQString@@PAV0@@Z @ 843 NONAME ; QUndoCommand::QUndoCommand(class QString const &, class QUndoCommand *)
+ ?tr@QSlider@@SA?AVQString@@PBD0H@Z @ 844 NONAME ; class QString QSlider::tr(char const *, char const *, int)
+ ??_EQAbstractButton@@UAE@I@Z @ 845 NONAME ; QAbstractButton::~QAbstractButton(unsigned int)
+ ?setShape@QCursor@@QAEXW4CursorShape@Qt@@@Z @ 846 NONAME ; void QCursor::setShape(enum Qt::CursorShape)
+ ?d_func@QGraphicsRectItem@@ABEPBVQGraphicsRectItemPrivate@@XZ @ 847 NONAME ; class QGraphicsRectItemPrivate const * QGraphicsRectItem::d_func(void) const
+ ?addItem@QComboBox@@QAEXABVQString@@ABVQVariant@@@Z @ 848 NONAME ; void QComboBox::addItem(class QString const &, class QVariant const &)
+ ?setUserState@QTextBlock@@QAEXH@Z @ 849 NONAME ; void QTextBlock::setUserState(int)
+ ?map@QMatrix@@QBE?AVQPolygon@@ABV2@@Z @ 850 NONAME ; class QPolygon QMatrix::map(class QPolygon const &) const
+ ?cacheKey@QPalette@@QBE_JXZ @ 851 NONAME ; long long QPalette::cacheKey(void) const
+ ?update@QLayout@@QAEXXZ @ 852 NONAME ; void QLayout::update(void)
+ ?getStaticMetaObject@QGraphicsSystemPlugin@@SAABUQMetaObject@@XZ @ 853 NONAME ; struct QMetaObject const & QGraphicsSystemPlugin::getStaticMetaObject(void)
+ ?count@QKeyEvent@@QBEHXZ @ 854 NONAME ; int QKeyEvent::count(void) const
+ ?setSceneRect@TouchPoint@QTouchEvent@@QAEXABVQRectF@@@Z @ 855 NONAME ; void QTouchEvent::TouchPoint::setSceneRect(class QRectF const &)
+ ?mergeWith@QUndoCommand@@UAE_NPBV1@@Z @ 856 NONAME ; bool QUndoCommand::mergeWith(class QUndoCommand const *)
+ ?next@Parser@QCss@@QAE?AW4TokenType@2@XZ @ 857 NONAME ; enum QCss::TokenType QCss::Parser::next(void)
+ ?tr@QFontComboBox@@SA?AVQString@@PBD0@Z @ 858 NONAME ; class QString QFontComboBox::tr(char const *, char const *)
+ ?fromImage@QBitmap@@SA?AV1@ABVQImage@@V?$QFlags@W4ImageConversionFlag@Qt@@@@@Z @ 859 NONAME ; class QBitmap QBitmap::fromImage(class QImage const &, class QFlags<enum Qt::ImageConversionFlag>)
+ ?numScreens@QDesktopWidget@@QBEHXZ @ 860 NONAME ; int QDesktopWidget::numScreens(void) const
+ ?parsePseudoPage@Parser@QCss@@QAE_NPAVQString@@@Z @ 861 NONAME ; bool QCss::Parser::parsePseudoPage(class QString *)
+ ?pixmap@QDrag@@QBE?AVQPixmap@@XZ @ 862 NONAME ; class QPixmap QDrag::pixmap(void) const
+ ?drawFocus@QItemDelegate@@MBEXPAVQPainter@@ABVQStyleOptionViewItem@@ABVQRect@@@Z @ 863 NONAME ; void QItemDelegate::drawFocus(class QPainter *, class QStyleOptionViewItem const &, class QRect const &) const
+ ?d_func@QFontComboBox@@ABEPBVQFontComboBoxPrivate@@XZ @ 864 NONAME ; class QFontComboBoxPrivate const * QFontComboBox::d_func(void) const
+ ?d_func@QGesture@@ABEPBVQGesturePrivate@@XZ @ 865 NONAME ; class QGesturePrivate const * QGesture::d_func(void) const
+ ?textPosition@QTextInlineObject@@QBEHXZ @ 866 NONAME ; int QTextInlineObject::textPosition(void) const
+ ?m11@QTransform@@QBEMXZ @ 867 NONAME ; float QTransform::m11(void) const
+ ?sceneRect@QGraphicsScene@@QBE?AVQRectF@@XZ @ 868 NONAME ; class QRectF QGraphicsScene::sceneRect(void) const
+ ?setButtonDownScreenPos@QGraphicsSceneMouseEvent@@QAEXW4MouseButton@Qt@@ABVQPoint@@@Z @ 869 NONAME ; void QGraphicsSceneMouseEvent::setButtonDownScreenPos(enum Qt::MouseButton, class QPoint const &)
+ ?tabs@QTextOption@@QBE?AV?$QList@UTab@QTextOption@@@@XZ @ 870 NONAME ; class QList<struct QTextOption::Tab> QTextOption::tabs(void) const
+ ?mapSelectionFromSource@QSortFilterProxyModel@@UBE?AVQItemSelection@@ABV2@@Z @ 871 NONAME ; class QItemSelection QSortFilterProxyModel::mapSelectionFromSource(class QItemSelection const &) const
+ ?getStaticMetaObject@QInputContextPlugin@@SAABUQMetaObject@@XZ @ 872 NONAME ; struct QMetaObject const & QInputContextPlugin::getStaticMetaObject(void)
+ ?lessThan@QSortFilterProxyModel@@MBE_NABVQModelIndex@@0@Z @ 873 NONAME ; bool QSortFilterProxyModel::lessThan(class QModelIndex const &, class QModelIndex const &) const
+ ?setCurrentItem@QTableWidget@@QAEXPAVQTableWidgetItem@@@Z @ 874 NONAME ; void QTableWidget::setCurrentItem(class QTableWidgetItem *)
+ ?qt_metacast@QStandardItemModel@@UAEPAXPBD@Z @ 875 NONAME ; void * QStandardItemModel::qt_metacast(char const *)
+ ??0QKeyEventTransition@@QAE@PAVQState@@@Z @ 876 NONAME ; QKeyEventTransition::QKeyEventTransition(class QState *)
+ ?setActive@QWidgetResizeHandler@@QAEX_N@Z @ 877 NONAME ; void QWidgetResizeHandler::setActive(bool)
+ ?harfbuzzFace@QFontEngine@@QBEPAUHB_FaceRec_@@XZ @ 878 NONAME ; struct HB_FaceRec_ * QFontEngine::harfbuzzFace(void) const
+ ??1QGraphicsOpacityEffect@@UAE@XZ @ 879 NONAME ; QGraphicsOpacityEffect::~QGraphicsOpacityEffect(void)
+ ?dragLeaveEvent@QGraphicsItem@@MAEXPAVQGraphicsSceneDragDropEvent@@@Z @ 880 NONAME ; void QGraphicsItem::dragLeaveEvent(class QGraphicsSceneDragDropEvent *)
+ ??H@YA?AVQTransform@@ABV0@M@Z @ 881 NONAME ; class QTransform operator+(class QTransform const &, float)
+ ?setAutoScrollMargin@QAbstractItemView@@QAEXH@Z @ 882 NONAME ; void QAbstractItemView::setAutoScrollMargin(int)
+ ?zoomOut@QTextEdit@@QAEXH@Z @ 883 NONAME ; void QTextEdit::zoomOut(int)
+ ?mouseReleaseEvent@QAbstractSpinBox@@MAEXPAVQMouseEvent@@@Z @ 884 NONAME ; void QAbstractSpinBox::mouseReleaseEvent(class QMouseEvent *)
+ ?stackingMode@QStackedLayout@@QBE?AW4StackingMode@1@XZ @ 885 NONAME ; enum QStackedLayout::StackingMode QStackedLayout::stackingMode(void) const
+ ?metaObject@QCommandLinkButton@@UBEPBUQMetaObject@@XZ @ 886 NONAME ; struct QMetaObject const * QCommandLinkButton::metaObject(void) const
+ ?staticMetaObject@QStringListModel@@2UQMetaObject@@B @ 887 NONAME ; struct QMetaObject const QStringListModel::staticMetaObject
+ ?maximumBlockCount@QPlainTextEdit@@QBEHXZ @ 888 NONAME ; int QPlainTextEdit::maximumBlockCount(void) const
+ ?drawDisplay@QItemDelegate@@MBEXPAVQPainter@@ABVQStyleOptionViewItem@@ABVQRect@@ABVQString@@@Z @ 889 NONAME ; void QItemDelegate::drawDisplay(class QPainter *, class QStyleOptionViewItem const &, class QRect const &, class QString const &) const
+ ?setModifiers@QGraphicsSceneWheelEvent@@QAEXV?$QFlags@W4KeyboardModifier@Qt@@@@@Z @ 890 NONAME ; void QGraphicsSceneWheelEvent::setModifiers(class QFlags<enum Qt::KeyboardModifier>)
+ ?save@QPicture@@QAE_NPAVQIODevice@@PBD@Z @ 891 NONAME ; bool QPicture::save(class QIODevice *, char const *)
+ ?angleAtPercent@QPainterPath@@QBEMM@Z @ 892 NONAME ; float QPainterPath::angleAtPercent(float) const
+ ?setWindowTitle_helper@QWidgetPrivate@@QAEXABVQString@@@Z @ 893 NONAME ; void QWidgetPrivate::setWindowTitle_helper(class QString const &)
+ ??0QShortcutEvent@@QAE@ABVQKeySequence@@H_N@Z @ 894 NONAME ; QShortcutEvent::QShortcutEvent(class QKeySequence const &, int, bool)
+ ?mapRectToItem@QGraphicsItem@@QBE?AVQRectF@@PBV1@MMMM@Z @ 895 NONAME ; class QRectF QGraphicsItem::mapRectToItem(class QGraphicsItem const *, float, float, float, float) const
+ ?basicSelectorMatches@StyleSelector@QCss@@AAE_NABUBasicSelector@2@TNodePtr@12@@Z @ 896 NONAME ; bool QCss::StyleSelector::basicSelectorMatches(struct QCss::BasicSelector const &, union QCss::StyleSelector::NodePtr)
+ ?setSizeProtection@QWidgetResizeHandler@@QAEX_N@Z @ 897 NONAME ; void QWidgetResizeHandler::setSizeProtection(bool)
+ ?editTriggers@QAbstractItemView@@QBE?AV?$QFlags@W4EditTrigger@QAbstractItemView@@@@XZ @ 898 NONAME ; class QFlags<enum QAbstractItemView::EditTrigger> QAbstractItemView::editTriggers(void) const
+ ?setTabChangesFocus@QTextEdit@@QAEX_N@Z @ 899 NONAME ; void QTextEdit::setTabChangesFocus(bool)
+ ?buttonClicked@QMessageBox@@IAEXPAVQAbstractButton@@@Z @ 900 NONAME ; void QMessageBox::buttonClicked(class QAbstractButton *)
+ ?mapper@QWidgetPrivate@@2PAV?$QHash@PAVCCoeControl@@PAVQWidget@@@@A @ 901 NONAME ; class QHash<class CCoeControl *, class QWidget *> * QWidgetPrivate::mapper
+ ?clear@QSortFilterProxyModel@@QAEXXZ @ 902 NONAME ; void QSortFilterProxyModel::clear(void)
+ ??D@YA?AVQTransform@@ABV0@M@Z @ 903 NONAME ; class QTransform operator*(class QTransform const &, float)
+ ?setTristate@QStandardItem@@QAEX_N@Z @ 904 NONAME ; void QStandardItem::setTristate(bool)
+ ?setFilterWildcard@QSortFilterProxyModel@@QAEXABVQString@@@Z @ 905 NONAME ; void QSortFilterProxyModel::setFilterWildcard(class QString const &)
+ ?fromRgb@QColor@@SA?AV1@HHHH@Z @ 906 NONAME ; class QColor QColor::fromRgb(int, int, int, int)
+ ?setText@QGraphicsSimpleTextItem@@QAEXABVQString@@@Z @ 907 NONAME ; void QGraphicsSimpleTextItem::setText(class QString const &)
+ ?focusNextPrevChild@QTextBrowser@@MAE_N_N@Z @ 908 NONAME ; bool QTextBrowser::focusNextPrevChild(bool)
+ ?cursorToX@QTextLine@@QBEMHW4Edge@1@@Z @ 909 NONAME ; float QTextLine::cursorToX(int, enum QTextLine::Edge) const
+ ?setConfirmOverwrite@QFileDialog@@QAEX_N@Z @ 910 NONAME ; void QFileDialog::setConfirmOverwrite(bool)
+ ?reset@QAbstractItemView@@UAEXXZ @ 911 NONAME ; void QAbstractItemView::reset(void)
+ ?next@QTextBlock@@QBE?AV1@XZ @ 912 NONAME ; class QTextBlock QTextBlock::next(void) const
+ ?mouseMoveEvent@QTextBrowser@@MAEXPAVQMouseEvent@@@Z @ 913 NONAME ; void QTextBrowser::mouseMoveEvent(class QMouseEvent *)
+ ?doMove@QWidgetResizeHandler@@QAEXXZ @ 914 NONAME ; void QWidgetResizeHandler::doMove(void)
+ ?invertedAppearance@QAbstractSlider@@QBE_NXZ @ 915 NONAME ; bool QAbstractSlider::invertedAppearance(void) const
+ ?updateIsTranslucent@QWidgetPrivate@@QAEXXZ @ 916 NONAME ; void QWidgetPrivate::updateIsTranslucent(void)
+ ??0QTableWidgetItem@@QAE@H@Z @ 917 NONAME ; QTableWidgetItem::QTableWidgetItem(int)
+ ?append@QTextEdit@@QAEXABVQString@@@Z @ 918 NONAME ; void QTextEdit::append(class QString const &)
+ ?setHidden@QWidget@@QAEX_N@Z @ 919 NONAME ; void QWidget::setHidden(bool)
+ ?actionEvent@QMenuBar@@MAEXPAVQActionEvent@@@Z @ 920 NONAME ; void QMenuBar::actionEvent(class QActionEvent *)
+ ??_EQIconEngine@@UAE@I@Z @ 921 NONAME ; QIconEngine::~QIconEngine(unsigned int)
+ ?tr@QDialog@@SA?AVQString@@PBD0H@Z @ 922 NONAME ; class QString QDialog::tr(char const *, char const *, int)
+ ?sortItems@QTableWidget@@QAEXHW4SortOrder@Qt@@@Z @ 923 NONAME ; void QTableWidget::sortItems(int, enum Qt::SortOrder)
+ ?setCurveThreshold@QPainterPathStroker@@QAEXM@Z @ 924 NONAME ; void QPainterPathStroker::setCurveThreshold(float)
+ ??_EQPicture@@UAE@I@Z @ 925 NONAME ; QPicture::~QPicture(unsigned int)
+ ?setTextWidth@QTextControl@@QAEXM@Z @ 926 NONAME ; void QTextControl::setTextWidth(float)
+ ?acceptProposedAction@QDropEvent@@QAEXXZ @ 927 NONAME ; void QDropEvent::acceptProposedAction(void)
+ ?borderStyle@QTextFrameFormat@@QBE?AW4BorderStyle@1@XZ @ 928 NONAME ; enum QTextFrameFormat::BorderStyle QTextFrameFormat::borderStyle(void) const
+ ?trUtf8@QErrorMessage@@SA?AVQString@@PBD0@Z @ 929 NONAME ; class QString QErrorMessage::trUtf8(char const *, char const *)
+ ?showText@QToolTip@@SAXABVQPoint@@ABVQString@@PAVQWidget@@@Z @ 930 NONAME ; void QToolTip::showText(class QPoint const &, class QString const &, class QWidget *)
+ ?d_func@QGraphicsSceneEvent@@IAEPAVQGraphicsSceneEventPrivate@@XZ @ 931 NONAME ; class QGraphicsSceneEventPrivate * QGraphicsSceneEvent::d_func(void)
+ ?setInputMethodHints@QWidget@@QAEXV?$QFlags@W4InputMethodHint@Qt@@@@@Z @ 932 NONAME ; void QWidget::setInputMethodHints(class QFlags<enum Qt::InputMethodHint>)
+ ?keyReleaseEvent@QGraphicsItem@@MAEXPAVQKeyEvent@@@Z @ 933 NONAME ; void QGraphicsItem::keyReleaseEvent(class QKeyEvent *)
+ ?inputMethodEvent@QGraphicsView@@MAEXPAVQInputMethodEvent@@@Z @ 934 NONAME ; void QGraphicsView::inputMethodEvent(class QInputMethodEvent *)
+ ??0QCursor@@QAE@XZ @ 935 NONAME ; QCursor::QCursor(void)
+ ??0QHBoxLayout@@QAE@XZ @ 936 NONAME ; QHBoxLayout::QHBoxLayout(void)
+ ??1QS60MainDocument@@UAE@XZ @ 937 NONAME ; QS60MainDocument::~QS60MainDocument(void)
+ ?wrapMode@QTextOption@@QBE?AW4WrapMode@1@XZ @ 938 NONAME ; enum QTextOption::WrapMode QTextOption::wrapMode(void) const
+ ?tr@QMovie@@SA?AVQString@@PBD0@Z @ 939 NONAME ; class QString QMovie::tr(char const *, char const *)
+ ?qt_metacall@QButtonGroup@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 940 NONAME ; int QButtonGroup::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?tr@QAction@@SA?AVQString@@PBD0@Z @ 941 NONAME ; class QString QAction::tr(char const *, char const *)
+ ?staticMetaObject@QTableWidget@@2UQMetaObject@@B @ 942 NONAME ; struct QMetaObject const QTableWidget::staticMetaObject
+ ?insertSeparator@QToolBar@@QAEPAVQAction@@PAV2@@Z @ 943 NONAME ; class QAction * QToolBar::insertSeparator(class QAction *)
+ ?hasAutoScroll@QAbstractItemView@@QBE_NXZ @ 944 NONAME ; bool QAbstractItemView::hasAutoScroll(void) const
+ ?setReadOnly@QAbstractSpinBox@@QAEX_N@Z @ 945 NONAME ; void QAbstractSpinBox::setReadOnly(bool)
+ ?setLayout@QGraphicsWidget@@QAEXPAVQGraphicsLayout@@@Z @ 946 NONAME ; void QGraphicsWidget::setLayout(class QGraphicsLayout *)
+ ?setFlags@QTextLayout@@QAEXH@Z @ 947 NONAME ; void QTextLayout::setFlags(int)
+ ?d_func@QPaintEngine@@ABEPBVQPaintEnginePrivate@@XZ @ 948 NONAME ; class QPaintEnginePrivate const * QPaintEngine::d_func(void) const
+ ??0QStandardItemModel@@IAE@AAVQStandardItemModelPrivate@@PAVQObject@@@Z @ 949 NONAME ; QStandardItemModel::QStandardItemModel(class QStandardItemModelPrivate &, class QObject *)
+ ?loadResource@QTextControl@@UAE?AVQVariant@@HABVQUrl@@@Z @ 950 NONAME ; class QVariant QTextControl::loadResource(int, class QUrl const &)
+ ??0QGraphicsEffectPrivate@@QAE@XZ @ 951 NONAME ; QGraphicsEffectPrivate::QGraphicsEffectPrivate(void)
+ ?key@QShortcut@@QBE?AVQKeySequence@@XZ @ 952 NONAME ; class QKeySequence QShortcut::key(void) const
+ ?trUtf8@QTextEdit@@SA?AVQString@@PBD0H@Z @ 953 NONAME ; class QString QTextEdit::trUtf8(char const *, char const *, int)
+ ?setColumnCount@QTableWidget@@QAEXH@Z @ 954 NONAME ; void QTableWidget::setColumnCount(int)
+ ??XQVector3D@@QAEAAV0@M@Z @ 955 NONAME ; class QVector3D & QVector3D::operator*=(float)
+ ?trUtf8@QToolBox@@SA?AVQString@@PBD0H@Z @ 956 NONAME ; class QString QToolBox::trUtf8(char const *, char const *, int)
+ ?rotate@QPainter@@QAEXM@Z @ 957 NONAME ; void QPainter::rotate(float)
+ ?qt_metacast@QWidget@@UAEPAXPBD@Z @ 958 NONAME ; void * QWidget::qt_metacast(char const *)
+ ?qt_metacall@QUndoView@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 959 NONAME ; int QUndoView::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?overlinePos@QFontMetrics@@QBEHXZ @ 960 NONAME ; int QFontMetrics::overlinePos(void) const
+ ?modifiers@QKeyEvent@@QBE?AV?$QFlags@W4KeyboardModifier@Qt@@@@XZ @ 961 NONAME ; class QFlags<enum Qt::KeyboardModifier> QKeyEvent::modifiers(void) const
+ ?blurRadius@QPixmapDropShadowFilter@@QBEHXZ @ 962 NONAME ABSENT ; int QPixmapDropShadowFilter::blurRadius(void) const
+ ?trUtf8@QButtonGroup@@SA?AVQString@@PBD0@Z @ 963 NONAME ; class QString QButtonGroup::trUtf8(char const *, char const *)
+ ?staticMetaObject@QWidget@@2UQMetaObject@@B @ 964 NONAME ; struct QMetaObject const QWidget::staticMetaObject
+ ?mapToScene@QGraphicsView@@QBE?AVQPointF@@ABVQPoint@@@Z @ 965 NONAME ; class QPointF QGraphicsView::mapToScene(class QPoint const &) const
+ ?d_func@QFileIconProvider@@AAEPAVQFileIconProviderPrivate@@XZ @ 966 NONAME ; class QFileIconProviderPrivate * QFileIconProvider::d_func(void)
+ ?layoutDirection@QTextFormat@@QBE?AW4LayoutDirection@Qt@@XZ @ 967 NONAME ; enum Qt::LayoutDirection QTextFormat::layoutDirection(void) const
+ ??0QStackedLayout@@QAE@PAVQLayout@@@Z @ 968 NONAME ; QStackedLayout::QStackedLayout(class QLayout *)
+ ?viewOptions@QListView@@MBE?AVQStyleOptionViewItem@@XZ @ 969 NONAME ; class QStyleOptionViewItem QListView::viewOptions(void) const
+ ?pos@TouchPoint@QTouchEvent@@QBE?AVQPointF@@XZ @ 970 NONAME ; class QPointF QTouchEvent::TouchPoint::pos(void) const
+ ?trUtf8@QDateTimeEdit@@SA?AVQString@@PBD0@Z @ 971 NONAME ; class QString QDateTimeEdit::trUtf8(char const *, char const *)
+ ?singleStep@QSpinBox@@QBEHXZ @ 972 NONAME ; int QSpinBox::singleStep(void) const
+ ?resizeRowToContents@QTableView@@QAEXH@Z @ 973 NONAME ; void QTableView::resizeRowToContents(int)
+ ?alignment@QGroupBox@@QBE?AV?$QFlags@W4AlignmentFlag@Qt@@@@XZ @ 974 NONAME ; class QFlags<enum Qt::AlignmentFlag> QGroupBox::alignment(void) const
+ ?addEllipse@QPainterPath@@QAEXABVQRectF@@@Z @ 975 NONAME ; void QPainterPath::addEllipse(class QRectF const &)
+ ?event@QMenuBar@@MAE_NPAVQEvent@@@Z @ 976 NONAME ; bool QMenuBar::event(class QEvent *)
+ ?changeEvent@QColorDialog@@MAEXPAVQEvent@@@Z @ 977 NONAME ; void QColorDialog::changeEvent(class QEvent *)
+ ?setMimeData@QClipboard@@QAEXPAVQMimeData@@W4Mode@1@@Z @ 978 NONAME ; void QClipboard::setMimeData(class QMimeData *, enum QClipboard::Mode)
+ ?focusNextPrevChild@QTextEdit@@MAE_N_N@Z @ 979 NONAME ; bool QTextEdit::focusNextPrevChild(bool)
+ ?setTristate@QCheckBox@@QAEX_N@Z @ 980 NONAME ; void QCheckBox::setTristate(bool)
+ ?createList@QTextCursor@@QAEPAVQTextList@@ABVQTextListFormat@@@Z @ 981 NONAME ; class QTextList * QTextCursor::createList(class QTextListFormat const &)
+ ?visibleChanged@QGraphicsObject@@IAEXXZ @ 982 NONAME ; void QGraphicsObject::visibleChanged(void)
+ ?cut@QPlainTextEdit@@QAEXXZ @ 983 NONAME ; void QPlainTextEdit::cut(void)
+ ??0QAbstractGraphicsShapeItem@@QAE@PAVQGraphicsItem@@PAVQGraphicsScene@@@Z @ 984 NONAME ; QAbstractGraphicsShapeItem::QAbstractGraphicsShapeItem(class QGraphicsItem *, class QGraphicsScene *)
+ ?d_func@QGraphicsLineItem@@AAEPAVQGraphicsLineItemPrivate@@XZ @ 985 NONAME ; class QGraphicsLineItemPrivate * QGraphicsLineItem::d_func(void)
+ ?setWindowFilePath@QWidget@@QAEXABVQString@@@Z @ 986 NONAME ; void QWidget::setWindowFilePath(class QString const &)
+ ?atBlockStart@QTextCursor@@QBE_NXZ @ 987 NONAME ; bool QTextCursor::atBlockStart(void) const
+ ?expandsOnDoubleClick@QTreeView@@QBE_NXZ @ 988 NONAME ; bool QTreeView::expandsOnDoubleClick(void) const
+ ?timerEvent@QMdiArea@@MAEXPAVQTimerEvent@@@Z @ 989 NONAME ; void QMdiArea::timerEvent(class QTimerEvent *)
+ ?getStaticMetaObject@QSplashScreen@@SAABUQMetaObject@@XZ @ 990 NONAME ; struct QMetaObject const & QSplashScreen::getStaticMetaObject(void)
+ ?moveEvent@QRubberBand@@MAEXPAVQMoveEvent@@@Z @ 991 NONAME ; void QRubberBand::moveEvent(class QMoveEvent *)
+ ?d_func@QGraphicsPolygonItem@@AAEPAVQGraphicsPolygonItemPrivate@@XZ @ 992 NONAME ; class QGraphicsPolygonItemPrivate * QGraphicsPolygonItem::d_func(void)
+ ?mouse_double_click_time@QApplicationPrivate@@2HA @ 993 NONAME ; int QApplicationPrivate::mouse_double_click_time
+ ?mousePressEvent@QScrollBar@@MAEXPAVQMouseEvent@@@Z @ 994 NONAME ; void QScrollBar::mousePressEvent(class QMouseEvent *)
+ ?metaObject@QSwipeGesture@@UBEPBUQMetaObject@@XZ @ 995 NONAME ; struct QMetaObject const * QSwipeGesture::metaObject(void) const
+ ?y@QHelpEvent@@QBEHXZ @ 996 NONAME ; int QHelpEvent::y(void) const
+ ?modifier_buttons@QApplicationPrivate@@2V?$QFlags@W4KeyboardModifier@Qt@@@@A @ 997 NONAME ; class QFlags<enum Qt::KeyboardModifier> QApplicationPrivate::modifier_buttons
+ ?removeInputEventsForWidget@QEventDispatcherS60@@AAEXPAVQObject@@@Z @ 998 NONAME ; void QEventDispatcherS60::removeInputEventsForWidget(class QObject *)
+ ?hovered@QMenu@@IAEXPAVQAction@@@Z @ 999 NONAME ; void QMenu::hovered(class QAction *)
+ ?find@QTextDocument@@QBE?AVQTextCursor@@ABVQString@@HV?$QFlags@W4FindFlag@QTextDocument@@@@@Z @ 1000 NONAME ; class QTextCursor QTextDocument::find(class QString const &, int, class QFlags<enum QTextDocument::FindFlag>) const
+ ?eventFilter@QScrollArea@@MAE_NPAVQObject@@PAVQEvent@@@Z @ 1001 NONAME ; bool QScrollArea::eventFilter(class QObject *, class QEvent *)
+ ?trUtf8@QDateEdit@@SA?AVQString@@PBD0H@Z @ 1002 NONAME ; class QString QDateEdit::trUtf8(char const *, char const *, int)
+ ?instance@QColormap@@SA?AV1@H@Z @ 1003 NONAME ; class QColormap QColormap::instance(int)
+ ?isActiveWindow@QWidget@@QBE_NXZ @ 1004 NONAME ; bool QWidget::isActiveWindow(void) const
+ ?focusWidget@QWidget@@QBEPAV1@XZ @ 1005 NONAME ; class QWidget * QWidget::focusWidget(void) const
+ ?scroll@QWindowSurface@@UAE_NABVQRegion@@HH@Z @ 1006 NONAME ; bool QWindowSurface::scroll(class QRegion const &, int, int)
+ ?d_func@QMenu@@ABEPBVQMenuPrivate@@XZ @ 1007 NONAME ; class QMenuPrivate const * QMenu::d_func(void) const
+ ?fieldGrowthPolicy@QFormLayout@@QBE?AW4FieldGrowthPolicy@1@XZ @ 1008 NONAME ; enum QFormLayout::FieldGrowthPolicy QFormLayout::fieldGrowthPolicy(void) const
+ ?setNotchTarget@QDial@@QAEXN@Z @ 1009 NONAME ; void QDial::setNotchTarget(double)
+ ?setMovable@QTabBar@@QAEX_N@Z @ 1010 NONAME ; void QTabBar::setMovable(bool)
+ ?buttonText@QMessageBox@@QBE?AVQString@@H@Z @ 1011 NONAME ; class QString QMessageBox::buttonText(int) const
+ ?dropEvent@QGraphicsProxyWidget@@MAEXPAVQGraphicsSceneDragDropEvent@@@Z @ 1012 NONAME ; void QGraphicsProxyWidget::dropEvent(class QGraphicsSceneDragDropEvent *)
+ ?setOption@QInputDialog@@QAEXW4InputDialogOption@1@_N@Z @ 1013 NONAME ; void QInputDialog::setOption(enum QInputDialog::InputDialogOption, bool)
+ ?sizeHint@QDateTimeEdit@@UBE?AVQSize@@XZ @ 1014 NONAME ; class QSize QDateTimeEdit::sizeHint(void) const
+ ?fetchMore@QProxyModel@@UAEXABVQModelIndex@@@Z @ 1015 NONAME ; void QProxyModel::fetchMore(class QModelIndex const &)
+ ?depth@QColormap@@QBEHXZ @ 1016 NONAME ; int QColormap::depth(void) const
+ ?removeRows@QStandardItemModel@@UAE_NHHABVQModelIndex@@@Z @ 1017 NONAME ; bool QStandardItemModel::removeRows(int, int, class QModelIndex const &)
+ ?cursorIsFocusIndicator@QTextControl@@QBE_NXZ @ 1018 NONAME ; bool QTextControl::cursorIsFocusIndicator(void) const
+ ?minimumSizeHint@QMdiArea@@UBE?AVQSize@@XZ @ 1019 NONAME ; class QSize QMdiArea::minimumSizeHint(void) const
+ ?revision@QTextBlock@@QBEHXZ @ 1020 NONAME ; int QTextBlock::revision(void) const
+ ?clearMaximumTime@QDateTimeEdit@@QAEXXZ @ 1021 NONAME ; void QDateTimeEdit::clearMaximumTime(void)
+ ?getDouble@QInputDialog@@SANPAVQWidget@@ABVQString@@1NNNHPA_NV?$QFlags@W4WindowType@Qt@@@@@Z @ 1022 NONAME ; double QInputDialog::getDouble(class QWidget *, class QString const &, class QString const &, double, double, double, int, bool *, class QFlags<enum Qt::WindowType>)
+ ?metaObject@QDockWidget@@UBEPBUQMetaObject@@XZ @ 1023 NONAME ; struct QMetaObject const * QDockWidget::metaObject(void) const
+ ?setName@QTextImageFormat@@QAEXABVQString@@@Z @ 1024 NONAME ; void QTextImageFormat::setName(class QString const &)
+ ?tr@QGraphicsColorizeEffect@@SA?AVQString@@PBD0@Z @ 1025 NONAME ; class QString QGraphicsColorizeEffect::tr(char const *, char const *)
+ ?setTimeRange@QDateTimeEdit@@QAEXABVQTime@@0@Z @ 1026 NONAME ; void QDateTimeEdit::setTimeRange(class QTime const &, class QTime const &)
+ ?qt_metacast@QLayout@@UAEPAXPBD@Z @ 1027 NONAME ; void * QLayout::qt_metacast(char const *)
+ ?setCurrentCharFormat@QPlainTextEdit@@QAEXABVQTextCharFormat@@@Z @ 1028 NONAME ; void QPlainTextEdit::setCurrentCharFormat(class QTextCharFormat const &)
+ ?mouseReleaseEvent@QToolButton@@MAEXPAVQMouseEvent@@@Z @ 1029 NONAME ; void QToolButton::mouseReleaseEvent(class QMouseEvent *)
+ ?tr@QComboBox@@SA?AVQString@@PBD0H@Z @ 1030 NONAME ; class QString QComboBox::tr(char const *, char const *, int)
+ ?setModel@QCompleter@@QAEXPAVQAbstractItemModel@@@Z @ 1031 NONAME ; void QCompleter::setModel(class QAbstractItemModel *)
+ ?accept@QDragMoveEvent@@QAEXABVQRect@@@Z @ 1032 NONAME ; void QDragMoveEvent::accept(class QRect const &)
+ ?totalOffset@QPanGesture@@QBE?AVQPointF@@XZ @ 1033 NONAME ; class QPointF QPanGesture::totalOffset(void) const
+ ?trUtf8@QUndoStack@@SA?AVQString@@PBD0H@Z @ 1034 NONAME ; class QString QUndoStack::trUtf8(char const *, char const *, int)
+ ?d_func@QStyledItemDelegate@@ABEPBVQStyledItemDelegatePrivate@@XZ @ 1035 NONAME ; class QStyledItemDelegatePrivate const * QStyledItemDelegate::d_func(void) const
+ ?staticMetaObject@QIconEnginePluginV2@@2UQMetaObject@@B @ 1036 NONAME ; struct QMetaObject const QIconEnginePluginV2::staticMetaObject
+ ?geometriesChanged@QHeaderView@@IAEXXZ @ 1037 NONAME ; void QHeaderView::geometriesChanged(void)
+ ?rawMode@QFont@@QBE_NXZ @ 1038 NONAME ; bool QFont::rawMode(void) const
+ ??4QTreeWidgetItemIterator@@QAEAAV0@ABV0@@Z @ 1039 NONAME ; class QTreeWidgetItemIterator & QTreeWidgetItemIterator::operator=(class QTreeWidgetItemIterator const &)
+ ?whatChanged@QPinchGesture@@QBE?AV?$QFlags@W4WhatChange@QPinchGesture@@@@XZ @ 1040 NONAME ; class QFlags<enum QPinchGesture::WhatChange> QPinchGesture::whatChanged(void) const
+ ?actionTriggered@QAbstractSlider@@IAEXH@Z @ 1041 NONAME ; void QAbstractSlider::actionTriggered(int)
+ ?setDirectory@QFileDialog@@QAEXABVQString@@@Z @ 1042 NONAME ; void QFileDialog::setDirectory(class QString const &)
+ ??YQVector2D@@QAEAAV0@ABV0@@Z @ 1043 NONAME ; class QVector2D & QVector2D::operator+=(class QVector2D const &)
+ ?boundingRect@QGraphicsTextItem@@UBE?AVQRectF@@XZ @ 1044 NONAME ; class QRectF QGraphicsTextItem::boundingRect(void) const
+ ?complete@QLineControl@@QAEXH@Z @ 1045 NONAME ; void QLineControl::complete(int)
+ ??0QAbstractSlider@@IAE@AAVQAbstractSliderPrivate@@PAVQWidget@@@Z @ 1046 NONAME ; QAbstractSlider::QAbstractSlider(class QAbstractSliderPrivate &, class QWidget *)
+ ?region@QPaintEvent@@QBEABVQRegion@@XZ @ 1047 NONAME ; class QRegion const & QPaintEvent::region(void) const
+ ?item@QTableWidget@@QBEPAVQTableWidgetItem@@HH@Z @ 1048 NONAME ; class QTableWidgetItem * QTableWidget::item(int, int) const
+ ??0QRegion@@QAE@ABV0@@Z @ 1049 NONAME ; QRegion::QRegion(class QRegion const &)
+ ?doLayout@QItemDelegate@@IBEXABVQStyleOptionViewItem@@PAVQRect@@11_N@Z @ 1050 NONAME ; void QItemDelegate::doLayout(class QStyleOptionViewItem const &, class QRect *, class QRect *, class QRect *, bool) const
+ ?brightnessChanged@QGraphicsBloomEffect@@IAEXH@Z @ 1051 NONAME ABSENT ; void QGraphicsBloomEffect::brightnessChanged(int)
+ ?type@QGraphicsProxyWidget@@UBEHXZ @ 1052 NONAME ; int QGraphicsProxyWidget::type(void) const
+ ?numBytes@QImage@@QBEHXZ @ 1053 NONAME ; int QImage::numBytes(void) const
+ ?clear@QMenuBar@@QAEXXZ @ 1054 NONAME ; void QMenuBar::clear(void)
+ ?staticMetaObject@QAbstractTextDocumentLayout@@2UQMetaObject@@B @ 1055 NONAME ; struct QMetaObject const QAbstractTextDocumentLayout::staticMetaObject
+ ?staticMetaObject@QDateEdit@@2UQMetaObject@@B @ 1056 NONAME ; struct QMetaObject const QDateEdit::staticMetaObject
+ ?trUtf8@QBoxLayout@@SA?AVQString@@PBD0@Z @ 1057 NONAME ; class QString QBoxLayout::trUtf8(char const *, char const *)
+ ?sessionId@QApplication@@QBE?AVQString@@XZ @ 1058 NONAME ; class QString QApplication::sessionId(void) const
+ ?paintSection@QHeaderView@@MBEXPAVQPainter@@ABVQRect@@H@Z @ 1059 NONAME ; void QHeaderView::paintSection(class QPainter *, class QRect const &, int) const
+ ?deletePreviousChar@QTextCursor@@QAEXXZ @ 1060 NONAME ; void QTextCursor::deletePreviousChar(void)
+ ?statusBar@QMainWindow@@QBEPAVQStatusBar@@XZ @ 1061 NONAME ; class QStatusBar * QMainWindow::statusBar(void) const
+ ?d_func@QSortFilterProxyModel@@ABEPBVQSortFilterProxyModelPrivate@@XZ @ 1062 NONAME ; class QSortFilterProxyModelPrivate const * QSortFilterProxyModel::d_func(void) const
+ ?inputContext@QWidget@@QAEPAVQInputContext@@XZ @ 1063 NONAME ; class QInputContext * QWidget::inputContext(void)
+ ?getStaticMetaObject@QSizeGrip@@SAABUQMetaObject@@XZ @ 1064 NONAME ; struct QMetaObject const & QSizeGrip::getStaticMetaObject(void)
+ ?elementAt@QPainterPath@@QBEABVElement@1@H@Z @ 1065 NONAME ; class QPainterPath::Element const & QPainterPath::elementAt(int) const
+ ??UQPainterPath@@QBE?AV0@ABV0@@Z @ 1066 NONAME ; class QPainterPath QPainterPath::operator|(class QPainterPath const &) const
+ ?tr@QMessageBox@@SA?AVQString@@PBD0H@Z @ 1067 NONAME ; class QString QMessageBox::tr(char const *, char const *, int)
+ ?processEvent@QLineControl@@QAE_NPAVQEvent@@@Z @ 1068 NONAME ; bool QLineControl::processEvent(class QEvent *)
+ ?d_func@QMdiSubWindow@@AAEPAVQMdiSubWindowPrivate@@XZ @ 1069 NONAME ; class QMdiSubWindowPrivate * QMdiSubWindow::d_func(void)
+ ?unsetCursor@QWidget@@QAEXXZ @ 1070 NONAME ; void QWidget::unsetCursor(void)
+ ?shape@QGraphicsSimpleTextItem@@UBE?AVQPainterPath@@XZ @ 1071 NONAME ; class QPainterPath QGraphicsSimpleTextItem::shape(void) const
+ ?indexBelow@QTreeView@@QBE?AVQModelIndex@@ABV2@@Z @ 1072 NONAME ; class QModelIndex QTreeView::indexBelow(class QModelIndex const &) const
+ ?qt_metacast@QMdiSubWindow@@UAEPAXPBD@Z @ 1073 NONAME ; void * QMdiSubWindow::qt_metacast(char const *)
+ ?appendRow@QStandardItemModel@@QAEXPAVQStandardItem@@@Z @ 1074 NONAME ; void QStandardItemModel::appendRow(class QStandardItem *)
+ ?warning@QMessageBox@@SAHPAVQWidget@@ABVQString@@1111HH@Z @ 1075 NONAME ; int QMessageBox::warning(class QWidget *, class QString const &, class QString const &, class QString const &, class QString const &, class QString const &, int, int)
+ ?setMaximumDateTime@QDateTimeEdit@@QAEXABVQDateTime@@@Z @ 1076 NONAME ; void QDateTimeEdit::setMaximumDateTime(class QDateTime const &)
+ ?topMargin@QTextBlockFormat@@QBEMXZ @ 1077 NONAME ; float QTextBlockFormat::topMargin(void) const
+ ?setY@QVector4D@@QAEXM@Z @ 1078 NONAME ; void QVector4D::setY(float)
+ ?tr@QPaintBufferSignalProxy@@SA?AVQString@@PBD0H@Z @ 1079 NONAME ; class QString QPaintBufferSignalProxy::tr(char const *, char const *, int)
+ ?invalidate@QSortFilterProxyModel@@QAEXXZ @ 1080 NONAME ; void QSortFilterProxyModel::invalidate(void)
+ ?createDefaultPixmapData@QGraphicsSystem@@SAPAVQPixmapData@@W4PixelType@2@@Z @ 1081 NONAME ; class QPixmapData * QGraphicsSystem::createDefaultPixmapData(enum QPixmapData::PixelType)
+ ?setItemData@QStandardItemModel@@UAE_NABVQModelIndex@@ABV?$QMap@HVQVariant@@@@@Z @ 1082 NONAME ; bool QStandardItemModel::setItemData(class QModelIndex const &, class QMap<int, class QVariant> const &)
+ ?shape@QGraphicsRectItem@@UBE?AVQPainterPath@@XZ @ 1083 NONAME ; class QPainterPath QGraphicsRectItem::shape(void) const
+ ??0QImageWriter@@QAE@PAVQIODevice@@ABVQByteArray@@@Z @ 1084 NONAME ; QImageWriter::QImageWriter(class QIODevice *, class QByteArray const &)
+ ??0QLayoutItem@@QAE@V?$QFlags@W4AlignmentFlag@Qt@@@@@Z @ 1085 NONAME ; QLayoutItem::QLayoutItem(class QFlags<enum Qt::AlignmentFlag>)
+ ?setMask@QWidget@@QAEXABVQRegion@@@Z @ 1086 NONAME ; void QWidget::setMask(class QRegion const &)
+ ?model@QAbstractItemView@@QBEPAVQAbstractItemModel@@XZ @ 1087 NONAME ; class QAbstractItemModel * QAbstractItemView::model(void) const
+ ?append@QTextControl@@QAEXABVQString@@@Z @ 1088 NONAME ; void QTextControl::append(class QString const &)
+ ?isAnimated@QTreeView@@QBE_NXZ @ 1089 NONAME ; bool QTreeView::isAnimated(void) const
+ ?setDocument@QTextEdit@@QAEXPAVQTextDocument@@@Z @ 1090 NONAME ; void QTextEdit::setDocument(class QTextDocument *)
+ ?isRowHidden@QTreeView@@QBE_NHABVQModelIndex@@@Z @ 1091 NONAME ; bool QTreeView::isRowHidden(int, class QModelIndex const &) const
+ ?resize@QTextTable@@QAEXHH@Z @ 1092 NONAME ; void QTextTable::resize(int, int)
+ ?pixelMetric@QProxyStyle@@UBEHW4PixelMetric@QStyle@@PBVQStyleOption@@PBVQWidget@@@Z @ 1093 NONAME ; int QProxyStyle::pixelMetric(enum QStyle::PixelMetric, class QStyleOption const *, class QWidget const *) const
+ ?metaObject@QGraphicsScene@@UBEPBUQMetaObject@@XZ @ 1094 NONAME ; struct QMetaObject const * QGraphicsScene::metaObject(void) const
+ ?tr@QWizardPage@@SA?AVQString@@PBD0H@Z @ 1095 NONAME ; class QString QWizardPage::tr(char const *, char const *, int)
+ ?buttons@QWheelEvent@@QBE?AV?$QFlags@W4MouseButton@Qt@@@@XZ @ 1096 NONAME ; class QFlags<enum Qt::MouseButton> QWheelEvent::buttons(void) const
+ ??1QItemSelection@@QAE@XZ @ 1097 NONAME ; QItemSelection::~QItemSelection(void)
+ ?resolveLocale@QWidgetPrivate@@QAEXXZ @ 1098 NONAME ; void QWidgetPrivate::resolveLocale(void)
+ ??YQRegion@@QAEAAV0@ABV0@@Z @ 1099 NONAME ; class QRegion & QRegion::operator+=(class QRegion const &)
+ ?translate@QPolygonF@@QAEXMM@Z @ 1100 NONAME ; void QPolygonF::translate(float, float)
+ ?trUtf8@QStackedWidget@@SA?AVQString@@PBD0@Z @ 1101 NONAME ; class QString QStackedWidget::trUtf8(char const *, char const *)
+ ?mousePressEvent@QWidget@@MAEXPAVQMouseEvent@@@Z @ 1102 NONAME ; void QWidget::mousePressEvent(class QMouseEvent *)
+ ?showEvent@QAbstractSpinBox@@MAEXPAVQShowEvent@@@Z @ 1103 NONAME ; void QAbstractSpinBox::showEvent(class QShowEvent *)
+ ?getContentsMargins@QGraphicsLayout@@UBEXPAM000@Z @ 1104 NONAME ; void QGraphicsLayout::getContentsMargins(float *, float *, float *, float *) const
+ ??1QStyleOptionToolBox@@QAE@XZ @ 1105 NONAME ; QStyleOptionToolBox::~QStyleOptionToolBox(void)
+ ?insertPlainText@QPlainTextEdit@@QAEXABVQString@@@Z @ 1106 NONAME ; void QPlainTextEdit::insertPlainText(class QString const &)
+ ?update@QAbstractTextDocumentLayout@@IAEXABVQRectF@@@Z @ 1107 NONAME ; void QAbstractTextDocumentLayout::update(class QRectF const &)
+ ?minimumSizeHint@QTabWidget@@UBE?AVQSize@@XZ @ 1108 NONAME ; class QSize QTabWidget::minimumSizeHint(void) const
+ ?getStaticMetaObject@QDoubleSpinBox@@SAABUQMetaObject@@XZ @ 1109 NONAME ; struct QMetaObject const & QDoubleSpinBox::getStaticMetaObject(void)
+ ?mouseReleaseEvent@QGraphicsProxyWidget@@MAEXPAVQGraphicsSceneMouseEvent@@@Z @ 1110 NONAME ; void QGraphicsProxyWidget::mouseReleaseEvent(class QGraphicsSceneMouseEvent *)
+ ?addItems@QComboBox@@QAEXABVQStringList@@@Z @ 1111 NONAME ; void QComboBox::addItems(class QStringList const &)
+ ?toPointF@QVector2D@@QBE?AVQPointF@@XZ @ 1112 NONAME ; class QPointF QVector2D::toPointF(void) const
+ ?trUtf8@QRegExpValidator@@SA?AVQString@@PBD0@Z @ 1113 NONAME ; class QString QRegExpValidator::trUtf8(char const *, char const *)
+ ?metaObject@QButtonGroup@@UBEPBUQMetaObject@@XZ @ 1114 NONAME ; struct QMetaObject const * QButtonGroup::metaObject(void) const
+ ?format@QPictureIO@@QBEPBDXZ @ 1115 NONAME ; char const * QPictureIO::format(void) const
+ ?globalStrut@QApplication@@SA?AVQSize@@XZ @ 1116 NONAME ; class QSize QApplication::globalStrut(void)
+ ?lastCursorPosition@QTextFrame@@QBE?AVQTextCursor@@XZ @ 1117 NONAME ; class QTextCursor QTextFrame::lastCursorPosition(void) const
+ ?qt_metacast@QStylePlugin@@UAEPAXPBD@Z @ 1118 NONAME ; void * QStylePlugin::qt_metacast(char const *)
+ ?palette@QApplication@@SA?AVQPalette@@PBD@Z @ 1119 NONAME ; class QPalette QApplication::palette(char const *)
+ ??0QPainterPath@@QAE@XZ @ 1120 NONAME ; QPainterPath::QPainterPath(void)
+ ?tr@QSyntaxHighlighter@@SA?AVQString@@PBD0@Z @ 1121 NONAME ; class QString QSyntaxHighlighter::tr(char const *, char const *)
+ ?showEvent@QComboBox@@MAEXPAVQShowEvent@@@Z @ 1122 NONAME ; void QComboBox::showEvent(class QShowEvent *)
+ ?insertAction@QGraphicsWidget@@QAEXPAVQAction@@0@Z @ 1123 NONAME ; void QGraphicsWidget::insertAction(class QAction *, class QAction *)
+ ?copy@QPlainTextEdit@@QAEXXZ @ 1124 NONAME ; void QPlainTextEdit::copy(void)
+ ?addAction@QWidget@@QAEXPAVQAction@@@Z @ 1125 NONAME ; void QWidget::addAction(class QAction *)
+ ??9Key@QPixmapCache@@QBE_NABV01@@Z @ 1126 NONAME ; bool QPixmapCache::Key::operator!=(class QPixmapCache::Key const &) const
+ ?trUtf8@QWidgetAction@@SA?AVQString@@PBD0H@Z @ 1127 NONAME ; class QString QWidgetAction::trUtf8(char const *, char const *, int)
+ ?setShortcutEnabled@QGraphicsWidget@@QAEXH_N@Z @ 1128 NONAME ; void QGraphicsWidget::setShortcutEnabled(int, bool)
+ ??_EQS60MainAppUi@@UAE@I@Z @ 1129 NONAME ; QS60MainAppUi::~QS60MainAppUi(unsigned int)
+ ?addImageHook@QImagePixmapCleanupHooks@@QAEXP6AX_J@Z@Z @ 1130 NONAME ; void QImagePixmapCleanupHooks::addImageHook(void (*)(long long))
+ ??_EQGraphicsEffectPrivate@@UAE@I@Z @ 1131 NONAME ; QGraphicsEffectPrivate::~QGraphicsEffectPrivate(unsigned int)
+ ?writingSystems@QFontDatabase@@QBE?AV?$QList@W4WritingSystem@QFontDatabase@@@@ABVQString@@@Z @ 1132 NONAME ; class QList<enum QFontDatabase::WritingSystem> QFontDatabase::writingSystems(class QString const &) const
+ ?isSolid@QPen@@QBE_NXZ @ 1133 NONAME ; bool QPen::isSolid(void) const
+ ?event@QSlider@@UAE_NPAVQEvent@@@Z @ 1134 NONAME ; bool QSlider::event(class QEvent *)
+ ?linkVisited@QPalette@@QBEABVQBrush@@XZ @ 1135 NONAME ; class QBrush const & QPalette::linkVisited(void) const
+ ??9QFontMetricsF@@QAE_NABV0@@Z @ 1136 NONAME ; bool QFontMetricsF::operator!=(class QFontMetricsF const &)
+ ??0QPolygonF@@QAE@XZ @ 1137 NONAME ; QPolygonF::QPolygonF(void)
+ ?parseNextOperator@Parser@QCss@@QAE_NPAUValue@2@@Z @ 1138 NONAME ; bool QCss::Parser::parseNextOperator(struct QCss::Value *)
+ ?activeModalWidget@QApplication@@SAPAVQWidget@@XZ @ 1139 NONAME ; class QWidget * QApplication::activeModalWidget(void)
+ ?isOverride@QWindowStateChangeEvent@@QBE_NXZ @ 1140 NONAME ; bool QWindowStateChangeEvent::isOverride(void) const
+ ??_EQIconEnginePlugin@@UAE@I@Z @ 1141 NONAME ; QIconEnginePlugin::~QIconEnginePlugin(unsigned int)
+ ?hideSection@QHeaderView@@QAEXH@Z @ 1142 NONAME ; void QHeaderView::hideSection(int)
+ ?d_func@QUndoGroup@@AAEPAVQUndoGroupPrivate@@XZ @ 1143 NONAME ; class QUndoGroupPrivate * QUndoGroup::d_func(void)
+ ?metaObject@QStylePlugin@@UBEPBUQMetaObject@@XZ @ 1144 NONAME ; struct QMetaObject const * QStylePlugin::metaObject(void) const
+ ?finish@QSplashScreen@@QAEXPAVQWidget@@@Z @ 1145 NONAME ; void QSplashScreen::finish(class QWidget *)
+ ??_EQWhatsThisClickedEvent@@UAE@I@Z @ 1146 NONAME ; QWhatsThisClickedEvent::~QWhatsThisClickedEvent(unsigned int)
+ ?setColumnCount@QTreeWidget@@QAEXH@Z @ 1147 NONAME ; void QTreeWidget::setColumnCount(int)
+ ?expandItem@QTreeWidget@@QAEXPBVQTreeWidgetItem@@@Z @ 1148 NONAME ; void QTreeWidget::expandItem(class QTreeWidgetItem const *)
+ ?setProxyModel@QProxyModel@@IBE?AVQModelIndex@@ABV2@@Z @ 1149 NONAME ; class QModelIndex QProxyModel::setProxyModel(class QModelIndex const &) const
+ ?fileRenamed@QFileSystemModel@@IAEXABVQString@@00@Z @ 1150 NONAME ; void QFileSystemModel::fileRenamed(class QString const &, class QString const &, class QString const &)
+ ?drawPolyline@QPainter@@QAEXABVQPolygonF@@@Z @ 1151 NONAME ; void QPainter::drawPolyline(class QPolygonF const &)
+ ?qt_metacall@QSpinBox@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 1152 NONAME ; int QSpinBox::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?drawImage@QPainter@@QAEXABVQRectF@@ABVQImage@@0V?$QFlags@W4ImageConversionFlag@Qt@@@@@Z @ 1153 NONAME ; void QPainter::drawImage(class QRectF const &, class QImage const &, class QRectF const &, class QFlags<enum Qt::ImageConversionFlag>)
+ ?eventFilter@QWidgetResizeHandler@@MAE_NPAVQObject@@PAVQEvent@@@Z @ 1154 NONAME ; bool QWidgetResizeHandler::eventFilter(class QObject *, class QEvent *)
+ ?setUndoRedoEnabled@QPlainTextEdit@@QAEX_N@Z @ 1155 NONAME ; void QPlainTextEdit::setUndoRedoEnabled(bool)
+ ?qt_metacast@QValidator@@UAEPAXPBD@Z @ 1156 NONAME ; void * QValidator::qt_metacast(char const *)
+ ?mapFromScene@QGraphicsItem@@QBE?AVQPainterPath@@ABV2@@Z @ 1157 NONAME ; class QPainterPath QGraphicsItem::mapFromScene(class QPainterPath const &) const
+ ?setExtension@QGraphicsPolygonItem@@MAEXW4Extension@QGraphicsItem@@ABVQVariant@@@Z @ 1158 NONAME ; void QGraphicsPolygonItem::setExtension(enum QGraphicsItem::Extension, class QVariant const &)
+ ?event@QFrame@@MAE_NPAVQEvent@@@Z @ 1159 NONAME ; bool QFrame::event(class QEvent *)
+ ?addChildLayoutItem@QGraphicsLayout@@IAEXPAVQGraphicsLayoutItem@@@Z @ 1160 NONAME ; void QGraphicsLayout::addChildLayoutItem(class QGraphicsLayoutItem *)
+ ?worldMatrix@QPainter@@QBEABVQMatrix@@XZ @ 1161 NONAME ; class QMatrix const & QPainter::worldMatrix(void) const
+ ?revert@QDataWidgetMapper@@QAEXXZ @ 1162 NONAME ; void QDataWidgetMapper::revert(void)
+ ?qt_metacall@QScrollBar@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 1163 NONAME ; int QScrollBar::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?mapFromItem@QGraphicsItem@@QBE?AVQPolygonF@@PBV1@ABV2@@Z @ 1164 NONAME ; class QPolygonF QGraphicsItem::mapFromItem(class QGraphicsItem const *, class QPolygonF const &) const
+ ?setCaseSensitivity@QCompleter@@QAEXW4CaseSensitivity@Qt@@@Z @ 1165 NONAME ; void QCompleter::setCaseSensitivity(enum Qt::CaseSensitivity)
+ ??0QIcon@@QAE@XZ @ 1166 NONAME ; QIcon::QIcon(void)
+ ?qt_metacall@QMovie@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 1167 NONAME ; int QMovie::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?instance@QPaintBufferSignalProxy@@SAPAV1@XZ @ 1168 NONAME ; class QPaintBufferSignalProxy * QPaintBufferSignalProxy::instance(void)
+ ??0QVector4D@@QAE@XZ @ 1169 NONAME ; QVector4D::QVector4D(void)
+ ?headerData@QStandardItemModel@@UBE?AVQVariant@@HW4Orientation@Qt@@H@Z @ 1170 NONAME ; class QVariant QStandardItemModel::headerData(int, enum Qt::Orientation, int) const
+ ?backgroundColor@QTableWidgetItem@@QBE?AVQColor@@XZ @ 1171 NONAME ; class QColor QTableWidgetItem::backgroundColor(void) const
+ ?allowsInteraction@QSessionManager@@QAE_NXZ @ 1172 NONAME ; bool QSessionManager::allowsInteraction(void)
+ ??8iterator@QTextBlock@@QBE_NABV01@@Z @ 1173 NONAME ; bool QTextBlock::iterator::operator==(class QTextBlock::iterator const &) const
+ ?trUtf8@QTextBrowser@@SA?AVQString@@PBD0H@Z @ 1174 NONAME ; class QString QTextBrowser::trUtf8(char const *, char const *, int)
+ ?getStaticMetaObject@QDial@@SAABUQMetaObject@@XZ @ 1175 NONAME ; struct QMetaObject const & QDial::getStaticMetaObject(void)
+ ??4QStyleOptionToolBar@@QAEAAV0@ABV0@@Z @ 1176 NONAME ; class QStyleOptionToolBar & QStyleOptionToolBar::operator=(class QStyleOptionToolBar const &)
+ ?setWidth@QPainterPathStroker@@QAEXM@Z @ 1177 NONAME ; void QPainterPathStroker::setWidth(float)
+ ?trUtf8@QValidator@@SA?AVQString@@PBD0@Z @ 1178 NONAME ; class QString QValidator::trUtf8(char const *, char const *)
+ ?backgroundRole@QWidget@@QBE?AW4ColorRole@QPalette@@XZ @ 1179 NONAME ; enum QPalette::ColorRole QWidget::backgroundRole(void) const
+ ?trUtf8@QSplashScreen@@SA?AVQString@@PBD0H@Z @ 1180 NONAME ; class QString QSplashScreen::trUtf8(char const *, char const *, int)
+ ?palette@QApplication@@SA?AVQPalette@@XZ @ 1181 NONAME ; class QPalette QApplication::palette(void)
+ ?tr@QMainWindow@@SA?AVQString@@PBD0H@Z @ 1182 NONAME ; class QString QMainWindow::tr(char const *, char const *, int)
+ ?qt_tab_all_widgets@@3_NA @ 1183 NONAME ; bool qt_tab_all_widgets
+ ?trUtf8@QGraphicsObject@@SA?AVQString@@PBD0@Z @ 1184 NONAME ; class QString QGraphicsObject::trUtf8(char const *, char const *)
+ ?supportedDropActions@QTableWidget@@MBE?AV?$QFlags@W4DropAction@Qt@@@@XZ @ 1185 NONAME ; class QFlags<enum Qt::DropAction> QTableWidget::supportedDropActions(void) const
+ ?setWordSpacing@QFont@@QAEXM@Z @ 1186 NONAME ; void QFont::setWordSpacing(float)
+ ?setWindowTitle@QWidget@@QAEXABVQString@@@Z @ 1187 NONAME ; void QWidget::setWindowTitle(class QString const &)
+ ?question@QMessageBox@@SAHPAVQWidget@@ABVQString@@1W4StandardButton@1@2@Z @ 1188 NONAME ; int QMessageBox::question(class QWidget *, class QString const &, class QString const &, enum QMessageBox::StandardButton, enum QMessageBox::StandardButton)
+ ?qt_metacast@QGuiPlatformPlugin@@UAEPAXPBD@Z @ 1189 NONAME ; void * QGuiPlatformPlugin::qt_metacast(char const *)
+ ?childFrames@QTextFrame@@QBE?AV?$QList@PAVQTextFrame@@@@XZ @ 1190 NONAME ; class QList<class QTextFrame *> QTextFrame::childFrames(void) const
+ ?setPen@QPainter@@QAEXW4PenStyle@Qt@@@Z @ 1191 NONAME ; void QPainter::setPen(enum Qt::PenStyle)
+ ?getStaticMetaObject@QToolBar@@SAABUQMetaObject@@XZ @ 1192 NONAME ; struct QMetaObject const & QToolBar::getStaticMetaObject(void)
+ ?setRightMargin@QTextFrameFormat@@QAEXM@Z @ 1193 NONAME ; void QTextFrameFormat::setRightMargin(float)
+ ?style@QFontInfo@@QBE?AW4Style@QFont@@XZ @ 1194 NONAME ; enum QFont::Style QFontInfo::style(void) const
+ ?dragLeaveEvent@QPlainTextEdit@@MAEXPAVQDragLeaveEvent@@@Z @ 1195 NONAME ; void QPlainTextEdit::dragLeaveEvent(class QDragLeaveEvent *)
+ ?invalidate@QGraphicsLinearLayout@@UAEXXZ @ 1196 NONAME ; void QGraphicsLinearLayout::invalidate(void)
+ ?canInsertFromMimeData@QPlainTextEdit@@MBE_NPBVQMimeData@@@Z @ 1197 NONAME ; bool QPlainTextEdit::canInsertFromMimeData(class QMimeData const *) const
+ ??0QHBoxLayout@@QAE@PAVQWidget@@@Z @ 1198 NONAME ; QHBoxLayout::QHBoxLayout(class QWidget *)
+ ?setWindow@QPainter@@QAEXABVQRect@@@Z @ 1199 NONAME ; void QPainter::setWindow(class QRect const &)
+ ??1QImageReader@@QAE@XZ @ 1200 NONAME ; QImageReader::~QImageReader(void)
+ ?darker@QColor@@QBE?AV1@H@Z @ 1201 NONAME ; class QColor QColor::darker(int) const
+ ?currentChanged@QTabWidget@@IAEXH@Z @ 1202 NONAME ; void QTabWidget::currentChanged(int)
+ ??0QStandardItem@@QAE@HH@Z @ 1203 NONAME ; QStandardItem::QStandardItem(int, int)
+ ?staticMetaObject@QFormLayout@@2UQMetaObject@@B @ 1204 NONAME ; struct QMetaObject const QFormLayout::staticMetaObject
+ ??0QAbstractProxyModel@@IAE@AAVQAbstractProxyModelPrivate@@PAVQObject@@@Z @ 1205 NONAME ; QAbstractProxyModel::QAbstractProxyModel(class QAbstractProxyModelPrivate &, class QObject *)
+ ?trUtf8@QPinchGesture@@SA?AVQString@@PBD0@Z @ 1206 NONAME ; class QString QPinchGesture::trUtf8(char const *, char const *)
+ ?oldPos@QHoverEvent@@QBEABVQPoint@@XZ @ 1207 NONAME ; class QPoint const & QHoverEvent::oldPos(void) const
+ ?blockWidth@QPlainTextDocumentLayout@@AAEMABVQTextBlock@@@Z @ 1208 NONAME ; float QPlainTextDocumentLayout::blockWidth(class QTextBlock const &)
+ ?polygonFlags@QVectorPath@@SAIW4PolygonDrawMode@QPaintEngine@@@Z @ 1209 NONAME ; unsigned int QVectorPath::polygonFlags(enum QPaintEngine::PolygonDrawMode)
+ ?focusInEvent@QComboBox@@MAEXPAVQFocusEvent@@@Z @ 1210 NONAME ; void QComboBox::focusInEvent(class QFocusEvent *)
+ ?mergeBlockFormat@QTextCursor@@QAEXABVQTextBlockFormat@@@Z @ 1211 NONAME ; void QTextCursor::mergeBlockFormat(class QTextBlockFormat const &)
+ ?mapFromScene@QGraphicsItem@@QBE?AVQPointF@@ABV2@@Z @ 1212 NONAME ; class QPointF QGraphicsItem::mapFromScene(class QPointF const &) const
+ ?submit@QDataWidgetMapper@@QAE_NXZ @ 1213 NONAME ; bool QDataWidgetMapper::submit(void)
+ ?setFileName@QPictureIO@@QAEXABVQString@@@Z @ 1214 NONAME ; void QPictureIO::setFileName(class QString const &)
+ ?setSizeHint@QStandardItem@@QAEXABVQSize@@@Z @ 1215 NONAME ; void QStandardItem::setSizeHint(class QSize const &)
+ ?dragLeaveEvent@QGraphicsTextItem@@MAEXPAVQGraphicsSceneDragDropEvent@@@Z @ 1216 NONAME ; void QGraphicsTextItem::dragLeaveEvent(class QGraphicsSceneDragDropEvent *)
+ ?currentSectionIndex@QDateTimeEdit@@QBEHXZ @ 1217 NONAME ; int QDateTimeEdit::currentSectionIndex(void) const
+ ?fillRect@QPainter@@QAEXHHHHABVQColor@@@Z @ 1218 NONAME ; void QPainter::fillRect(int, int, int, int, class QColor const &)
+ ?setLineWrapColumnOrWidth@QTextEdit@@QAEXH@Z @ 1219 NONAME ; void QTextEdit::setLineWrapColumnOrWidth(int)
+ ??0QTreeWidgetItem@@QAE@H@Z @ 1220 NONAME ; QTreeWidgetItem::QTreeWidgetItem(int)
+ ?lastWindowClosed@QApplication@@IAEXXZ @ 1221 NONAME ; void QApplication::lastWindowClosed(void)
+ ?textChanged@QPlainTextEdit@@IAEXXZ @ 1222 NONAME ; void QPlainTextEdit::textChanged(void)
+ ??6@YAAAVQDataStream@@AAV0@ABVQIcon@@@Z @ 1223 NONAME ; class QDataStream & operator<<(class QDataStream &, class QIcon const &)
+ ?orientation@QSplitterHandle@@QBE?AW4Orientation@Qt@@XZ @ 1224 NONAME ; enum Qt::Orientation QSplitterHandle::orientation(void) const
+ ??1QItemDelegate@@UAE@XZ @ 1225 NONAME ; QItemDelegate::~QItemDelegate(void)
+ ?rightColumn@QTableWidgetSelectionRange@@QBEHXZ @ 1226 NONAME ; int QTableWidgetSelectionRange::rightColumn(void) const
+ ??8QGradient@@QBE_NABV0@@Z @ 1227 NONAME ; bool QGradient::operator==(class QGradient const &) const
+ ?staticMetaObject@QRadioButton@@2UQMetaObject@@B @ 1228 NONAME ; struct QMetaObject const QRadioButton::staticMetaObject
+ ?resizeEvent@QMessageBox@@MAEXPAVQResizeEvent@@@Z @ 1229 NONAME ; void QMessageBox::resizeEvent(class QResizeEvent *)
+ ?setUnderline@QFont@@QAEX_N@Z @ 1230 NONAME ; void QFont::setUnderline(bool)
+ ?setText@QTextEdit@@QAEXABVQString@@@Z @ 1231 NONAME ; void QTextEdit::setText(class QString const &)
+ ?setSelection@QTableView@@MAEXABVQRect@@V?$QFlags@W4SelectionFlag@QItemSelectionModel@@@@@Z @ 1232 NONAME ; void QTableView::setSelection(class QRect const &, class QFlags<enum QItemSelectionModel::SelectionFlag>)
+ ?windowActivated@QWorkspace@@IAEXPAVQWidget@@@Z @ 1233 NONAME ; void QWorkspace::windowActivated(class QWidget *)
+ ?alignment@QAbstractSpinBox@@QBE?AV?$QFlags@W4AlignmentFlag@Qt@@@@XZ @ 1234 NONAME ; class QFlags<enum Qt::AlignmentFlag> QAbstractSpinBox::alignment(void) const
+ ?endNativePainting@QPainter@@QAEXXZ @ 1235 NONAME ; void QPainter::endNativePainting(void)
+ ?qt_metacall@QGraphicsTextItem@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 1236 NONAME ; int QGraphicsTextItem::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?pathFromIndex@QCompleter@@UBE?AVQString@@ABVQModelIndex@@@Z @ 1237 NONAME ; class QString QCompleter::pathFromIndex(class QModelIndex const &) const
+ ?d_func@QLayout@@ABEPBVQLayoutPrivate@@XZ @ 1238 NONAME ; class QLayoutPrivate const * QLayout::d_func(void) const
+ ?setFontPointSize@QTextEdit@@QAEXM@Z @ 1239 NONAME ; void QTextEdit::setFontPointSize(float)
+ ?rect@QWidget@@QBE?AVQRect@@XZ @ 1240 NONAME ; class QRect QWidget::rect(void) const
+ ?qt_metacast@QGridLayout@@UAEPAXPBD@Z @ 1241 NONAME ; void * QGridLayout::qt_metacast(char const *)
+ ?qt_metacall@QGraphicsScale@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 1242 NONAME ; int QGraphicsScale::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ??4QTreeWidgetItem@@QAEAAV0@ABV0@@Z @ 1243 NONAME ; class QTreeWidgetItem & QTreeWidgetItem::operator=(class QTreeWidgetItem const &)
+ ?isAreaAllowed@QDockWidget@@QBE_NW4DockWidgetArea@Qt@@@Z @ 1244 NONAME ; bool QDockWidget::isAreaAllowed(enum Qt::DockWidgetArea) const
+ ?clear@QClipboard@@QAEXW4Mode@1@@Z @ 1245 NONAME ; void QClipboard::clear(enum QClipboard::Mode)
+ ?focusInEvent@QLineEdit@@MAEXPAVQFocusEvent@@@Z @ 1246 NONAME ; void QLineEdit::focusInEvent(class QFocusEvent *)
+ ?ownedByLayout@QGraphicsLayoutItem@@QBE_NXZ @ 1247 NONAME ; bool QGraphicsLayoutItem::ownedByLayout(void) const
+ ?defaultAction@QToolButton@@QBEPAVQAction@@XZ @ 1248 NONAME ; class QAction * QToolButton::defaultAction(void) const
+ ?getStaticMetaObject@QGroupBox@@SAABUQMetaObject@@XZ @ 1249 NONAME ; struct QMetaObject const & QGroupBox::getStaticMetaObject(void)
+ ?textStart@QTextLine@@QBEHXZ @ 1250 NONAME ; int QTextLine::textStart(void) const
+ ?linkHovered@QGraphicsTextItem@@IAEXABVQString@@@Z @ 1251 NONAME ; void QGraphicsTextItem::linkHovered(class QString const &)
+ ?arrangeIcons@QWorkspace@@QAEXXZ @ 1252 NONAME ; void QWorkspace::arrangeIcons(void)
+ ?removeChild@QTreeWidgetItem@@QAEXPAV1@@Z @ 1253 NONAME ; void QTreeWidgetItem::removeChild(class QTreeWidgetItem *)
+ ?closePersistentEditor@QListWidget@@QAEXPAVQListWidgetItem@@@Z @ 1254 NONAME ; void QListWidget::closePersistentEditor(class QListWidgetItem *)
+ ?x@QTabletEvent@@QBEHXZ @ 1255 NONAME ; int QTabletEvent::x(void) const
+ ?qt_metacall@QTableView@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 1256 NONAME ; int QTableView::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ??_EQGraphicsTextItem@@UAE@I@Z @ 1257 NONAME ; QGraphicsTextItem::~QGraphicsTextItem(unsigned int)
+ ?setFont@QLineControl@@QAEXABVQFont@@@Z @ 1258 NONAME ; void QLineControl::setFont(class QFont const &)
+ ?showEvent@QToolBox@@MAEXPAVQShowEvent@@@Z @ 1259 NONAME ; void QToolBox::showEvent(class QShowEvent *)
+ ?setPaused@QMovie@@QAEX_N@Z @ 1260 NONAME ; void QMovie::setPaused(bool)
+ ?getStaticMetaObject@QTextDocument@@SAABUQMetaObject@@XZ @ 1261 NONAME ; struct QMetaObject const & QTextDocument::getStaticMetaObject(void)
+ ?close@QWidget@@QAE_NXZ @ 1262 NONAME ; bool QWidget::close(void)
+ ??4QStyleOption@@QAEAAV0@ABV0@@Z @ 1263 NONAME ; class QStyleOption & QStyleOption::operator=(class QStyleOption const &)
+ ?echoMode@QLineEdit@@QBE?AW4EchoMode@1@XZ @ 1264 NONAME ; enum QLineEdit::EchoMode QLineEdit::echoMode(void) const
+ ?isSeparator@QMainWindow@@QBE_NABVQPoint@@@Z @ 1265 NONAME ; bool QMainWindow::isSeparator(class QPoint const &) const
+ ?show@QGraphicsItem@@QAEXXZ @ 1266 NONAME ; void QGraphicsItem::show(void)
+ ?type@QGraphicsWidget@@UBEHXZ @ 1267 NONAME ; int QGraphicsWidget::type(void) const
+ ??MQStandardItem@@UBE_NABV0@@Z @ 1268 NONAME ; bool QStandardItem::operator<(class QStandardItem const &) const
+ ?toPlainText@QTextControl@@QBE?AVQString@@XZ @ 1269 NONAME ; class QString QTextControl::toPlainText(void) const
+ ?glyphCount@QFontEngine@@UBEHXZ @ 1270 NONAME ; int QFontEngine::glyphCount(void) const
+ ?pos@QGraphicsSceneHoverEvent@@QBE?AVQPointF@@XZ @ 1271 NONAME ; class QPointF QGraphicsSceneHoverEvent::pos(void) const
+ ?app_pal@QApplicationPrivate@@2PAVQPalette@@A @ 1272 NONAME ; class QPalette * QApplicationPrivate::app_pal
+ ?addWidget@QToolBar@@QAEPAVQAction@@PAVQWidget@@@Z @ 1273 NONAME ; class QAction * QToolBar::addWidget(class QWidget *)
+ ?columnResized@QTreeView@@IAEXHHH@Z @ 1274 NONAME ; void QTreeView::columnResized(int, int, int)
+ ?next@QWizard@@QAEXXZ @ 1275 NONAME ; void QWizard::next(void)
+ ?highlightedText@QPalette@@QBEABVQBrush@@XZ @ 1276 NONAME ; class QBrush const & QPalette::highlightedText(void) const
+ ?grabMouseEvent@QGraphicsWidget@@MAEXPAVQEvent@@@Z @ 1277 NONAME ; void QGraphicsWidget::grabMouseEvent(class QEvent *)
+ ?drawEllipse@QPaintEngineEx@@UAEXABVQRectF@@@Z @ 1278 NONAME ; void QPaintEngineEx::drawEllipse(class QRectF const &)
+ ?tr@QS60Style@@SA?AVQString@@PBD0@Z @ 1279 NONAME ; class QString QS60Style::tr(char const *, char const *)
+ ?mouseReleaseEvent@QGraphicsScene@@MAEXPAVQGraphicsSceneMouseEvent@@@Z @ 1280 NONAME ; void QGraphicsScene::mouseReleaseEvent(class QGraphicsSceneMouseEvent *)
+ ??9QRegion@@QBE_NABV0@@Z @ 1281 NONAME ; bool QRegion::operator!=(class QRegion const &) const
+ ?availableGlyphs@QTextEngine@@QBE?AUQGlyphLayout@@PBUQScriptItem@@@Z @ 1282 NONAME ; struct QGlyphLayout QTextEngine::availableGlyphs(struct QScriptItem const *) const
+ ?foreground@QTextFormat@@QBE?AVQBrush@@XZ @ 1283 NONAME ; class QBrush QTextFormat::foreground(void) const
+ ?clone@QTableWidgetItem@@UBEPAV1@XZ @ 1284 NONAME ; class QTableWidgetItem * QTableWidgetItem::clone(void) const
+ ?setRgb@QColor@@QAEXI@Z @ 1285 NONAME ; void QColor::setRgb(unsigned int)
+ ?blockFormatIndex@QTextBlock@@QBEHXZ @ 1286 NONAME ; int QTextBlock::blockFormatIndex(void) const
+ ?visualRect@QColumnView@@UBE?AVQRect@@ABVQModelIndex@@@Z @ 1287 NONAME ; class QRect QColumnView::visualRect(class QModelIndex const &) const
+ ?acceptTouchEvents@QGraphicsItem@@QBE_NXZ @ 1288 NONAME ; bool QGraphicsItem::acceptTouchEvents(void) const
+ ??0QRubberBand@@QAE@W4Shape@0@PAVQWidget@@@Z @ 1289 NONAME ; QRubberBand::QRubberBand(enum QRubberBand::Shape, class QWidget *)
+ ?graphicsEffect@QWidget@@QBEPAVQGraphicsEffect@@XZ @ 1290 NONAME ; class QGraphicsEffect * QWidget::graphicsEffect(void) const
+ ?closePopup@QApplicationPrivate@@QAEXPAVQWidget@@@Z @ 1291 NONAME ; void QApplicationPrivate::closePopup(class QWidget *)
+ ??PQTextCursor@@QBE_NABV0@@Z @ 1292 NONAME ; bool QTextCursor::operator>=(class QTextCursor const &) const
+ ?palette@QGuiPlatformPlugin@@UAE?AVQPalette@@XZ @ 1293 NONAME ; class QPalette QGuiPlatformPlugin::palette(void)
+ ?itemAt@QGraphicsAnchorLayout@@UBEPAVQGraphicsLayoutItem@@H@Z @ 1294 NONAME ; class QGraphicsLayoutItem * QGraphicsAnchorLayout::itemAt(int) const
+ ?outputFormats@QPictureIO@@SA?AV?$QList@VQByteArray@@@@XZ @ 1295 NONAME ; class QList<class QByteArray> QPictureIO::outputFormats(void)
+ ?isItemSelected@QTableWidget@@QBE_NPBVQTableWidgetItem@@@Z @ 1296 NONAME ; bool QTableWidget::isItemSelected(class QTableWidgetItem const *) const
+ ?focusWidget@QGraphicsWidget@@QBEPAV1@XZ @ 1297 NONAME ; class QGraphicsWidget * QGraphicsWidget::focusWidget(void) const
+ ?isTextVisible@QProgressBar@@QBE_NXZ @ 1298 NONAME ; bool QProgressBar::isTextVisible(void) const
+ ?minimumSize@QGraphicsLayoutItem@@QBE?AVQSizeF@@XZ @ 1299 NONAME ; class QSizeF QGraphicsLayoutItem::minimumSize(void) const
+ ?tr@QStylePlugin@@SA?AVQString@@PBD0@Z @ 1300 NONAME ; class QString QStylePlugin::tr(char const *, char const *)
+ ?setGeometry@QGraphicsLayoutItem@@UAEXABVQRectF@@@Z @ 1301 NONAME ; void QGraphicsLayoutItem::setGeometry(class QRectF const &)
+ ?leading@QFontMetrics@@QBEHXZ @ 1302 NONAME ; int QFontMetrics::leading(void) const
+ ?metaObject@QAbstractScrollArea@@UBEPBUQMetaObject@@XZ @ 1303 NONAME ; struct QMetaObject const * QAbstractScrollArea::metaObject(void) const
+ ?wordWrap@QTableView@@QBE_NXZ @ 1304 NONAME ; bool QTableView::wordWrap(void) const
+ ?setFontUnderline@QTextCharFormat@@QAEX_N@Z @ 1305 NONAME ; void QTextCharFormat::setFontUnderline(bool)
+ ??0QTextFormat@@QAE@XZ @ 1306 NONAME ; QTextFormat::QTextFormat(void)
+ ??0QStyleOptionTabBarBaseV2@@QAE@ABVQStyleOptionTabBarBase@@@Z @ 1307 NONAME ; QStyleOptionTabBarBaseV2::QStyleOptionTabBarBaseV2(class QStyleOptionTabBarBase const &)
+ ?extraData@QWidgetPrivate@@QBEPAUQWExtra@@XZ @ 1308 NONAME ; struct QWExtra * QWidgetPrivate::extraData(void) const
+ ?trUtf8@QDirModel@@SA?AVQString@@PBD0H@Z @ 1309 NONAME ; class QString QDirModel::trUtf8(char const *, char const *, int)
+ ?setHeight@QTextFrameFormat@@QAEXM@Z @ 1310 NONAME ; void QTextFrameFormat::setHeight(float)
+ ?view@QComboBox@@QBEPAVQAbstractItemView@@XZ @ 1311 NONAME ; class QAbstractItemView * QComboBox::view(void) const
+ ?sizeHint@QTreeWidgetItem@@QBE?AVQSize@@H@Z @ 1312 NONAME ; class QSize QTreeWidgetItem::sizeHint(int) const
+ ??0QLinearGradient@@QAE@XZ @ 1313 NONAME ; QLinearGradient::QLinearGradient(void)
+ ?keyboardTracking@QAbstractSpinBox@@QBE_NXZ @ 1314 NONAME ; bool QAbstractSpinBox::keyboardTracking(void) const
+ ?tr@QGraphicsWidget@@SA?AVQString@@PBD0@Z @ 1315 NONAME ; class QString QGraphicsWidget::tr(char const *, char const *)
+ ??1QProxyStyle@@UAE@XZ @ 1316 NONAME ; QProxyStyle::~QProxyStyle(void)
+ ?fileDialogSetNameFilters@QGuiPlatformPlugin@@UAEXPAVQFileDialog@@ABVQStringList@@@Z @ 1317 NONAME ; void QGuiPlatformPlugin::fileDialogSetNameFilters(class QFileDialog *, class QStringList const &)
+ ?setTransformOriginPoint@QGraphicsItem@@QAEXABVQPointF@@@Z @ 1318 NONAME ; void QGraphicsItem::setTransformOriginPoint(class QPointF const &)
+ ?setSystemRect@QPaintEngine@@QAEXABVQRect@@@Z @ 1319 NONAME ; void QPaintEngine::setSystemRect(class QRect const &)
+ ?match@QSortFilterProxyModel@@UBE?AV?$QList@VQModelIndex@@@@ABVQModelIndex@@HABVQVariant@@HV?$QFlags@W4MatchFlag@Qt@@@@@Z @ 1320 NONAME ; class QList<class QModelIndex> QSortFilterProxyModel::match(class QModelIndex const &, int, class QVariant const &, int, class QFlags<enum Qt::MatchFlag>) const
+ ?interpretText@QAbstractSpinBox@@QAEXXZ @ 1321 NONAME ; void QAbstractSpinBox::interpretText(void)
+ ?insertSeparator@QMenu@@QAEPAVQAction@@PAV2@@Z @ 1322 NONAME ; class QAction * QMenu::insertSeparator(class QAction *)
+ ?setField@QWizardPage@@IAEXABVQString@@ABVQVariant@@@Z @ 1323 NONAME ; void QWizardPage::setField(class QString const &, class QVariant const &)
+ ??0QVector4D@@AAE@MMMMH@Z @ 1324 NONAME ; QVector4D::QVector4D(float, float, float, float, int)
+ ?setSpread@QGradient@@QAEXW4Spread@1@@Z @ 1325 NONAME ; void QGradient::setSpread(enum QGradient::Spread)
+ ?changeEvent@QMenu@@MAEXPAVQEvent@@@Z @ 1326 NONAME ; void QMenu::changeEvent(class QEvent *)
+ ?alpha@QColor@@QBEHXZ @ 1327 NONAME ; int QColor::alpha(void) const
+ ?setKeypadNavigationEnabled@QApplication@@SAX_N@Z @ 1328 NONAME ; void QApplication::setKeypadNavigationEnabled(bool)
+ ?fontMetrics@QApplication@@SA?AVQFontMetrics@@XZ @ 1329 NONAME ; class QFontMetrics QApplication::fontMetrics(void)
+ ?fontFilters@QFontComboBox@@QBE?AV?$QFlags@W4FontFilter@QFontComboBox@@@@XZ @ 1330 NONAME ; class QFlags<enum QFontComboBox::FontFilter> QFontComboBox::fontFilters(void) const
+ ?sizeHint@QSpacerItem@@UBE?AVQSize@@XZ @ 1331 NONAME ; class QSize QSpacerItem::sizeHint(void) const
+ ?getStaticMetaObject@QStandardItemModel@@SAABUQMetaObject@@XZ @ 1332 NONAME ; struct QMetaObject const & QStandardItemModel::getStaticMetaObject(void)
+ ?expanded@QTreeView@@IAEXABVQModelIndex@@@Z @ 1333 NONAME ; void QTreeView::expanded(class QModelIndex const &)
+ ?setGeometry@QGraphicsWidget@@UAEXABVQRectF@@@Z @ 1334 NONAME ; void QGraphicsWidget::setGeometry(class QRectF const &)
+ ?drawContents@QSplashScreen@@MAEXPAVQPainter@@@Z @ 1335 NONAME ; void QSplashScreen::drawContents(class QPainter *)
+ ??0QStyleOptionSlider@@QAE@ABV0@@Z @ 1336 NONAME ; QStyleOptionSlider::QStyleOptionSlider(class QStyleOptionSlider const &)
+ ??0QTabBar@@QAE@PAVQWidget@@@Z @ 1337 NONAME ; QTabBar::QTabBar(class QWidget *)
+ ?tr@QTextControl@@SA?AVQString@@PBD0H@Z @ 1338 NONAME ; class QString QTextControl::tr(char const *, char const *, int)
+ ?tr@QMessageBox@@SA?AVQString@@PBD0@Z @ 1339 NONAME ; class QString QMessageBox::tr(char const *, char const *)
+ ?setWordWrapMode@QTextEdit@@QAEXW4WrapMode@QTextOption@@@Z @ 1340 NONAME ; void QTextEdit::setWordWrapMode(enum QTextOption::WrapMode)
+ ??0QTextDocument@@QAE@ABVQString@@PAVQObject@@@Z @ 1341 NONAME ; QTextDocument::QTextDocument(class QString const &, class QObject *)
+ ?loadResource@QPlainTextEdit@@UAE?AVQVariant@@HABVQUrl@@@Z @ 1342 NONAME ; class QVariant QPlainTextEdit::loadResource(int, class QUrl const &)
+ ?desktopSettingsAware@QApplication@@SA_NXZ @ 1343 NONAME ; bool QApplication::desktopSettingsAware(void)
+ ?trUtf8@QToolBar@@SA?AVQString@@PBD0H@Z @ 1344 NONAME ; class QString QToolBar::trUtf8(char const *, char const *, int)
+ ?isValid@QTextImageFormat@@QBE_NXZ @ 1345 NONAME ; bool QTextImageFormat::isValid(void) const
+ ?qt_metacast@QTextBrowser@@UAEPAXPBD@Z @ 1346 NONAME ; void * QTextBrowser::qt_metacast(char const *)
+ ?isGridVisible@QCalendarWidget@@QBE_NXZ @ 1347 NONAME ; bool QCalendarWidget::isGridVisible(void) const
+ ?setItemToolTip@QToolBox@@QAEXHABVQString@@@Z @ 1348 NONAME ; void QToolBox::setItemToolTip(int, class QString const &)
+ ??_4QRegion@@QAEAAV0@ABVQRect@@@Z @ 1349 NONAME ; class QRegion & QRegion::operator&=(class QRect const &)
+ ?updateSceneRect@QGraphicsView@@QAEXABVQRectF@@@Z @ 1350 NONAME ; void QGraphicsView::updateSceneRect(class QRectF const &)
+ ?yTilt@QTabletEvent@@QBEHXZ @ 1351 NONAME ; int QTabletEvent::yTilt(void) const
+ ?hiResGlobalY@QTabletEvent@@QBEMXZ @ 1352 NONAME ; float QTabletEvent::hiResGlobalY(void) const
+ ??_EQGraphicsLayout@@UAE@I@Z @ 1353 NONAME ; QGraphicsLayout::~QGraphicsLayout(unsigned int)
+ ?setSelectionRectVisible@QListView@@QAEX_N@Z @ 1354 NONAME ; void QListView::setSelectionRectVisible(bool)
+ ?setElideMode@QTabBar@@QAEXW4TextElideMode@Qt@@@Z @ 1355 NONAME ; void QTabBar::setElideMode(enum Qt::TextElideMode)
+ ?styleSheet@QApplicationPrivate@@2VQString@@A @ 1356 NONAME ; class QString QApplicationPrivate::styleSheet
+ ?formatIndex@QTextObject@@QBEHXZ @ 1357 NONAME ; int QTextObject::formatIndex(void) const
+ ??BQKeySequence@@QBEHXZ @ 1358 NONAME ; QKeySequence::operator int(void) const
+ ?setFont@QGraphicsScene@@QAEXABVQFont@@@Z @ 1359 NONAME ; void QGraphicsScene::setFont(class QFont const &)
+ ?enterEvent@QWidget@@MAEXPAVQEvent@@@Z @ 1360 NONAME ; void QWidget::enterEvent(class QEvent *)
+ ?insertRow@QFormLayout@@QAEXHABVQString@@PAVQWidget@@@Z @ 1361 NONAME ; void QFormLayout::insertRow(int, class QString const &, class QWidget *)
+ ?event@QCalendarWidget@@MAE_NPAVQEvent@@@Z @ 1362 NONAME ; bool QCalendarWidget::event(class QEvent *)
+ ?getStaticMetaObject@QSplitterHandle@@SAABUQMetaObject@@XZ @ 1363 NONAME ; struct QMetaObject const & QSplitterHandle::getStaticMetaObject(void)
+ ??RQMatrix4x4@@QBEABMHH@Z @ 1364 NONAME ; float const & QMatrix4x4::operator()(int, int) const
+ ?addLine@QGraphicsScene@@QAEPAVQGraphicsLineItem@@MMMMABVQPen@@@Z @ 1365 NONAME ; class QGraphicsLineItem * QGraphicsScene::addLine(float, float, float, float, class QPen const &)
+ ??1QPicture@@UAE@XZ @ 1366 NONAME ; QPicture::~QPicture(void)
+ ??0QGraphicsEllipseItem@@QAE@MMMMPAVQGraphicsItem@@PAVQGraphicsScene@@@Z @ 1367 NONAME ; QGraphicsEllipseItem::QGraphicsEllipseItem(float, float, float, float, class QGraphicsItem *, class QGraphicsScene *)
+ ?updateTouchPointsForWidget@QApplicationPrivate@@SAXPAVQWidget@@PAVQTouchEvent@@@Z @ 1368 NONAME ; void QApplicationPrivate::updateTouchPointsForWidget(class QWidget *, class QTouchEvent *)
+ ??0QAction@@QAE@PAVQObject@@@Z @ 1369 NONAME ; QAction::QAction(class QObject *)
+ ?subtracted@QPainterPath@@QBE?AV1@ABV1@@Z @ 1370 NONAME ; class QPainterPath QPainterPath::subtracted(class QPainterPath const &) const
+ ?qt_metacall@QDateTimeEdit@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 1371 NONAME ; int QDateTimeEdit::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?clear@QBitmap@@QAEXXZ @ 1372 NONAME ; void QBitmap::clear(void)
+ ?selectedText@QTextCursor@@QBE?AVQString@@XZ @ 1373 NONAME ; class QString QTextCursor::selectedText(void) const
+ ?cyanF@QColor@@QBEMXZ @ 1374 NONAME ; float QColor::cyanF(void) const
+ ?tabStop@QTextOption@@QBEMXZ @ 1375 NONAME ; float QTextOption::tabStop(void) const
+ ?tabShape@QMainWindow@@QBE?AW4TabShape@QTabWidget@@XZ @ 1376 NONAME ; enum QTabWidget::TabShape QMainWindow::tabShape(void) const
+ ?setStrokeWidth@QStroker@@QAEXM@Z @ 1377 NONAME ; void QStroker::setStrokeWidth(float)
+ ?d_func@QGraphicsSceneMouseEvent@@ABEPBVQGraphicsSceneMouseEventPrivate@@XZ @ 1378 NONAME ; class QGraphicsSceneMouseEventPrivate const * QGraphicsSceneMouseEvent::d_func(void) const
+ ?end@QPainter@@QAE_NXZ @ 1379 NONAME ; bool QPainter::end(void)
+ ?gamma@QPictureIO@@QBEMXZ @ 1380 NONAME ; float QPictureIO::gamma(void) const
+ ?tableFormat@QTextFormatCollection@@QBE?AVQTextTableFormat@@H@Z @ 1381 NONAME ; class QTextTableFormat QTextFormatCollection::tableFormat(int) const
+ ?clipRect@QImageReader@@QBE?AVQRect@@XZ @ 1382 NONAME ; class QRect QImageReader::clipRect(void) const
+ ?addRoundedRect@QPainterPath@@QAEXABVQRectF@@MMW4SizeMode@Qt@@@Z @ 1383 NONAME ; void QPainterPath::addRoundedRect(class QRectF const &, float, float, enum Qt::SizeMode)
+ ??1QGraphicsDropShadowEffect@@UAE@XZ @ 1384 NONAME ; QGraphicsDropShadowEffect::~QGraphicsDropShadowEffect(void)
+ ?setLocale@QValidator@@QAEXABVQLocale@@@Z @ 1385 NONAME ; void QValidator::setLocale(class QLocale const &)
+ ??Eiterator@QTextFrame@@QAE?AV01@H@Z @ 1386 NONAME ; class QTextFrame::iterator QTextFrame::iterator::operator++(int)
+ ?timerEvent@QTextControl@@MAEXPAVQTimerEvent@@@Z @ 1387 NONAME ; void QTextControl::timerEvent(class QTimerEvent *)
+ ?setTextWidth@QGraphicsTextItem@@QAEXM@Z @ 1388 NONAME ; void QGraphicsTextItem::setTextWidth(float)
+ ??_EQWheelEvent@@UAE@I@Z @ 1389 NONAME ; QWheelEvent::~QWheelEvent(unsigned int)
+ ?setTableCellColumnSpan@QTextCharFormat@@QAEXH@Z @ 1390 NONAME ; void QTextCharFormat::setTableCellColumnSpan(int)
+ ?boundingBox@QTextEngine@@QBE?AUglyph_metrics_t@@HH@Z @ 1391 NONAME ; struct glyph_metrics_t QTextEngine::boundingBox(int, int) const
+ ?setPriority@QAction@@QAEXW4Priority@1@@Z @ 1392 NONAME ; void QAction::setPriority(enum QAction::Priority)
+ ?d_func@QGraphicsAnchor@@AAEPAVQGraphicsAnchorPrivate@@XZ @ 1393 NONAME ; class QGraphicsAnchorPrivate * QGraphicsAnchor::d_func(void)
+ ?transform@QPainter@@QBEABVQTransform@@XZ @ 1394 NONAME ; class QTransform const & QPainter::transform(void) const
+ ?columns@QTextTableFormat@@QBEHXZ @ 1395 NONAME ; int QTextTableFormat::columns(void) const
+ ??0QBrush@@QAE@W4GlobalColor@Qt@@W4BrushStyle@2@@Z @ 1396 NONAME ; QBrush::QBrush(enum Qt::GlobalColor, enum Qt::BrushStyle)
+ ?metaObject@QStringListModel@@UBEPBUQMetaObject@@XZ @ 1397 NONAME ; struct QMetaObject const * QStringListModel::metaObject(void) const
+ ?invalidate@QGridLayout@@UAEXXZ @ 1398 NONAME ; void QGridLayout::invalidate(void)
+ ?sizeHint@QSizeGrip@@UBE?AVQSize@@XZ @ 1399 NONAME ; class QSize QSizeGrip::sizeHint(void) const
+ ?setValidator@QLineControl@@QAEXPBVQValidator@@@Z @ 1400 NONAME ; void QLineControl::setValidator(class QValidator const *)
+ ?setSceneRect@QGraphicsScene@@QAEXMMMM@Z @ 1401 NONAME ; void QGraphicsScene::setSceneRect(float, float, float, float)
+ ?fromHtml@QTextDocumentFragment@@SA?AV1@ABVQString@@PBVQTextDocument@@@Z @ 1402 NONAME ; class QTextDocumentFragment QTextDocumentFragment::fromHtml(class QString const &, class QTextDocument const *)
+ ?tr@QUndoStack@@SA?AVQString@@PBD0@Z @ 1403 NONAME ; class QString QUndoStack::tr(char const *, char const *)
+ ?setStaticContentsSupport@QWindowSurface@@IAEX_N@Z @ 1404 NONAME ; void QWindowSurface::setStaticContentsSupport(bool)
+ ?inputMethodQueryHelper@QGraphicsItemPrivate@@UBE?AVQVariant@@W4InputMethodQuery@Qt@@@Z @ 1405 NONAME ; class QVariant QGraphicsItemPrivate::inputMethodQueryHelper(enum Qt::InputMethodQuery) const
+ ?topPadding@QTextTableCellFormat@@QBEMXZ @ 1406 NONAME ; float QTextTableCellFormat::topPadding(void) const
+ ?parse@Parser@QCss@@QAE_NPAUStyleSheet@2@W4CaseSensitivity@Qt@@@Z @ 1407 NONAME ; bool QCss::Parser::parse(struct QCss::StyleSheet *, enum Qt::CaseSensitivity)
+ ?maybeTopData@QWidgetPrivate@@QBEPAUQTLWExtra@@XZ @ 1408 NONAME ; struct QTLWExtra * QWidgetPrivate::maybeTopData(void) const
+ ?sceneEvent@QGraphicsItem@@MAE_NPAVQEvent@@@Z @ 1409 NONAME ; bool QGraphicsItem::sceneEvent(class QEvent *)
+ ?x@QQuaternion@@QBEMXZ @ 1410 NONAME ; float QQuaternion::x(void) const
+ ?setPalette@QGraphicsWidget@@QAEXABVQPalette@@@Z @ 1411 NONAME ; void QGraphicsWidget::setPalette(class QPalette const &)
+ ??1QDockWidget@@UAE@XZ @ 1412 NONAME ; QDockWidget::~QDockWidget(void)
+ ?setAccessibleDescription@QStandardItem@@QAEXABVQString@@@Z @ 1413 NONAME ; void QStandardItem::setAccessibleDescription(class QString const &)
+ ?bottomMargin@QTextBlockFormat@@QBEMXZ @ 1414 NONAME ; float QTextBlockFormat::bottomMargin(void) const
+ ?windowFlags@QWidget@@QBE?AV?$QFlags@W4WindowType@Qt@@@@XZ @ 1415 NONAME ; class QFlags<enum Qt::WindowType> QWidget::windowFlags(void) const
+ ?textInteractionFlags@QTextEdit@@QBE?AV?$QFlags@W4TextInteractionFlag@Qt@@@@XZ @ 1416 NONAME ; class QFlags<enum Qt::TextInteractionFlag> QTextEdit::textInteractionFlags(void) const
+ ?setActionGroup@QAction@@QAEXPAVQActionGroup@@@Z @ 1417 NONAME ; void QAction::setActionGroup(class QActionGroup *)
+ ?create@QImageData@@SAPAU1@ABVQSize@@W4Format@QImage@@H@Z @ 1418 NONAME ; struct QImageData * QImageData::create(class QSize const &, enum QImage::Format, int)
+ ?setMatrix@QMatrix@@QAEXMMMMMM@Z @ 1419 NONAME ; void QMatrix::setMatrix(float, float, float, float, float, float)
+ ??0QMessageBox@@QAE@W4Icon@0@ABVQString@@1V?$QFlags@W4StandardButton@QMessageBox@@@@PAVQWidget@@V?$QFlags@W4WindowType@Qt@@@@@Z @ 1420 NONAME ; QMessageBox::QMessageBox(enum QMessageBox::Icon, class QString const &, class QString const &, class QFlags<enum QMessageBox::StandardButton>, class QWidget *, class QFlags<enum Qt::WindowType>)
+ ?flags@QProxyModel@@UBE?AV?$QFlags@W4ItemFlag@Qt@@@@ABVQModelIndex@@@Z @ 1421 NONAME ; class QFlags<enum Qt::ItemFlag> QProxyModel::flags(class QModelIndex const &) const
+ ??0QFontComboBox@@QAE@PAVQWidget@@@Z @ 1422 NONAME ; QFontComboBox::QFontComboBox(class QWidget *)
+ ?polish@QWindowsStyle@@UAEXPAVQWidget@@@Z @ 1423 NONAME ; void QWindowsStyle::polish(class QWidget *)
+ ?setStops@QGradient@@QAEXABV?$QVector@U?$QPair@MVQColor@@@@@@@Z @ 1424 NONAME ; void QGradient::setStops(class QVector<struct QPair<float, class QColor> > const &)
+ ??0QIcon@@QAE@PAVQIconEngine@@@Z @ 1425 NONAME ; QIcon::QIcon(class QIconEngine *)
+ ?getStaticMetaObject@QWizardPage@@SAABUQMetaObject@@XZ @ 1426 NONAME ; struct QMetaObject const & QWizardPage::getStaticMetaObject(void)
+ ?qt_metacast@QApplication@@UAEPAXPBD@Z @ 1427 NONAME ; void * QApplication::qt_metacast(char const *)
+ ?setTextInteractionFlags@QPlainTextEdit@@QAEXV?$QFlags@W4TextInteractionFlag@Qt@@@@@Z @ 1428 NONAME ; void QPlainTextEdit::setTextInteractionFlags(class QFlags<enum Qt::TextInteractionFlag>)
+ ?setButtonSymbols@QAbstractSpinBox@@QAEXW4ButtonSymbols@1@@Z @ 1429 NONAME ; void QAbstractSpinBox::setButtonSymbols(enum QAbstractSpinBox::ButtonSymbols)
+ ?hide@QWidget@@QAEXXZ @ 1430 NONAME ; void QWidget::hide(void)
+ ?replayClipOperations@QPaintEngineExPrivate@@QAEXXZ @ 1431 NONAME ; void QPaintEngineExPrivate::replayClipOperations(void)
+ ?setOffset@QHeaderView@@QAEXH@Z @ 1432 NONAME ; void QHeaderView::setOffset(int)
+ ?verticalAlignment@QTextCharFormat@@QBE?AW4VerticalAlignment@1@XZ @ 1433 NONAME ; enum QTextCharFormat::VerticalAlignment QTextCharFormat::verticalAlignment(void) const
+ ?device@QTabletEvent@@QBE?AW4TabletDevice@1@XZ @ 1434 NONAME ; enum QTabletEvent::TabletDevice QTabletEvent::device(void) const
+ ??0QPushButton@@QAE@ABVQString@@PAVQWidget@@@Z @ 1435 NONAME ; QPushButton::QPushButton(class QString const &, class QWidget *)
+ ?tr@QMenu@@SA?AVQString@@PBD0@Z @ 1436 NONAME ; class QString QMenu::tr(char const *, char const *)
+ ?qt_metacall@QTextBrowser@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 1437 NONAME ; int QTextBrowser::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?fixup@QLineControl@@QAE_NXZ @ 1438 NONAME ; bool QLineControl::fixup(void)
+ ??_EQGraphicsProxyWidget@@UAE@I@Z @ 1439 NONAME ; QGraphicsProxyWidget::~QGraphicsProxyWidget(unsigned int)
+ ?link@QPalette@@QBEABVQBrush@@XZ @ 1440 NONAME ; class QBrush const & QPalette::link(void) const
+ ?trUtf8@QGraphicsItemAnimation@@SA?AVQString@@PBD0H@Z @ 1441 NONAME ; class QString QGraphicsItemAnimation::trUtf8(char const *, char const *, int)
+ ?tr@QHeaderView@@SA?AVQString@@PBD0H@Z @ 1442 NONAME ; class QString QHeaderView::tr(char const *, char const *, int)
+ ?horizontalHeaderItem@QTableWidget@@QBEPAVQTableWidgetItem@@H@Z @ 1443 NONAME ; class QTableWidgetItem * QTableWidget::horizontalHeaderItem(int) const
+ ?cancelButtonText@QInputDialog@@QBE?AVQString@@XZ @ 1444 NONAME ; class QString QInputDialog::cancelButtonText(void) const
+ ?redo@QTextDocument@@QAEXPAVQTextCursor@@@Z @ 1445 NONAME ; void QTextDocument::redo(class QTextCursor *)
+ ?editingFinished@QLineControl@@IAEXXZ @ 1446 NONAME ; void QLineControl::editingFinished(void)
+ ?d_func@QGraphicsPixmapItem@@AAEPAVQGraphicsPixmapItemPrivate@@XZ @ 1447 NONAME ; class QGraphicsPixmapItemPrivate * QGraphicsPixmapItem::d_func(void)
+ ?backspace@QLineControl@@QAEXXZ @ 1448 NONAME ; void QLineControl::backspace(void)
+ ?focusProxy@QWidget@@QBEPAV1@XZ @ 1449 NONAME ; class QWidget * QWidget::focusProxy(void) const
+ ?closestLegalPosition@QSplitterHandle@@IAEHH@Z @ 1450 NONAME ; int QSplitterHandle::closestLegalPosition(int)
+ ?setExtension@QGraphicsEllipseItem@@MAEXW4Extension@QGraphicsItem@@ABVQVariant@@@Z @ 1451 NONAME ; void QGraphicsEllipseItem::setExtension(enum QGraphicsItem::Extension, class QVariant const &)
+ ?tr@QGraphicsBloomEffect@@SA?AVQString@@PBD0H@Z @ 1452 NONAME ABSENT ; class QString QGraphicsBloomEffect::tr(char const *, char const *, int)
+ ?docHandle@QTextObject@@QBEPAVQTextDocumentPrivate@@XZ @ 1453 NONAME ; class QTextDocumentPrivate * QTextObject::docHandle(void) const
+ ??0QTextControl@@QAE@ABVQString@@PAVQObject@@@Z @ 1454 NONAME ; QTextControl::QTextControl(class QString const &, class QObject *)
+ ?blockBoundingRect@QPlainTextDocumentLayout@@UBE?AVQRectF@@ABVQTextBlock@@@Z @ 1455 NONAME ; class QRectF QPlainTextDocumentLayout::blockBoundingRect(class QTextBlock const &) const
+ ?remove@QFileSystemModel@@QBE_NABVQModelIndex@@@Z @ 1456 NONAME ; bool QFileSystemModel::remove(class QModelIndex const &) const
+ ?qt_metacast@QDoubleSpinBox@@UAEPAXPBD@Z @ 1457 NONAME ; void * QDoubleSpinBox::qt_metacast(char const *)
+ ??_EQItemEditorFactory@@UAE@I@Z @ 1458 NONAME ; QItemEditorFactory::~QItemEditorFactory(unsigned int)
+ ?isFloating@QToolBar@@QBE_NXZ @ 1459 NONAME ; bool QToolBar::isFloating(void) const
+ ?text@QUndoStack@@QBE?AVQString@@H@Z @ 1460 NONAME ; class QString QUndoStack::text(int) const
+ ?staticMetaObject@QCheckBox@@2UQMetaObject@@B @ 1461 NONAME ; struct QMetaObject const QCheckBox::staticMetaObject
+ ?d_func@QTextBlockGroup@@AAEPAVQTextBlockGroupPrivate@@XZ @ 1462 NONAME ; class QTextBlockGroupPrivate * QTextBlockGroup::d_func(void)
+ ?setWidget@QFocusFrame@@QAEXPAVQWidget@@@Z @ 1463 NONAME ; void QFocusFrame::setWidget(class QWidget *)
+ ?setNotation@QDoubleValidator@@QAEXW4Notation@1@@Z @ 1464 NONAME ; void QDoubleValidator::setNotation(enum QDoubleValidator::Notation)
+ ?rowResized@QTableView@@IAEXHHH@Z @ 1465 NONAME ; void QTableView::rowResized(int, int, int)
+ ?toFillPolygons@QPainterPath@@QBE?AV?$QList@VQPolygonF@@@@ABVQMatrix@@@Z @ 1466 NONAME ; class QList<class QPolygonF> QPainterPath::toFillPolygons(class QMatrix const &) const
+ ?drawTiledPixmap@QPaintEngineEx@@UAEXABVQRectF@@ABVQPixmap@@ABVQPointF@@@Z @ 1467 NONAME ; void QPaintEngineEx::drawTiledPixmap(class QRectF const &, class QPixmap const &, class QPointF const &)
+ ?insertFromMimeData@QTextControl@@UAEXPBVQMimeData@@@Z @ 1468 NONAME ; void QTextControl::insertFromMimeData(class QMimeData const *)
+ ?setDefaultPositioning@QGridLayout@@QAEXHW4Orientation@Qt@@@Z @ 1469 NONAME ; void QGridLayout::setDefaultPositioning(int, enum Qt::Orientation)
+ ?mouseReleaseEvent@QPlainTextEdit@@MAEXPAVQMouseEvent@@@Z @ 1470 NONAME ; void QPlainTextEdit::mouseReleaseEvent(class QMouseEvent *)
+ ?setFormat@QImageIOHandler@@QAEXABVQByteArray@@@Z @ 1471 NONAME ; void QImageIOHandler::setFormat(class QByteArray const &)
+ ??0QGraphicsObject@@IAE@AAVQGraphicsItemPrivate@@PAVQGraphicsItem@@PAVQGraphicsScene@@@Z @ 1472 NONAME ; QGraphicsObject::QGraphicsObject(class QGraphicsItemPrivate &, class QGraphicsItem *, class QGraphicsScene *)
+ ?trUtf8@QDoubleSpinBox@@SA?AVQString@@PBD0@Z @ 1473 NONAME ; class QString QDoubleSpinBox::trUtf8(char const *, char const *)
+ ?isObscuredBy@QGraphicsEllipseItem@@UBE_NPBVQGraphicsItem@@@Z @ 1474 NONAME ; bool QGraphicsEllipseItem::isObscuredBy(class QGraphicsItem const *) const
+ ?hasClipOperations@QPaintEngineExPrivate@@QBE_NXZ @ 1475 NONAME ; bool QPaintEngineExPrivate::hasClipOperations(void) const
+ ??1QStyleOptionViewItemV4@@QAE@XZ @ 1476 NONAME ; QStyleOptionViewItemV4::~QStyleOptionViewItemV4(void)
+ ?drawControl@QWindowsStyle@@UBEXW4ControlElement@QStyle@@PBVQStyleOption@@PAVQPainter@@PBVQWidget@@@Z @ 1477 NONAME ; void QWindowsStyle::drawControl(enum QStyle::ControlElement, class QStyleOption const *, class QPainter *, class QWidget const *) const
+ ?display@QLCDNumber@@QAEXH@Z @ 1478 NONAME ; void QLCDNumber::display(int)
+ ?accept@QFileDialog@@MAEXXZ @ 1479 NONAME ; void QFileDialog::accept(void)
+ ?isSessionRestored@QApplication@@QBE_NXZ @ 1480 NONAME ; bool QApplication::isSessionRestored(void) const
+ ?d_func@QWizard@@ABEPBVQWizardPrivate@@XZ @ 1481 NONAME ; class QWizardPrivate const * QWizard::d_func(void) const
+ ??4QTextCharFormat@@QAEAAV0@ABV0@@Z @ 1482 NONAME ; class QTextCharFormat & QTextCharFormat::operator=(class QTextCharFormat const &)
+ ??8Key@QPixmapCache@@QBE_NABV01@@Z @ 1483 NONAME ; bool QPixmapCache::Key::operator==(class QPixmapCache::Key const &) const
+ ?find@QTextControl@@QAE_NABVQString@@V?$QFlags@W4FindFlag@QTextDocument@@@@@Z @ 1484 NONAME ; bool QTextControl::find(class QString const &, class QFlags<enum QTextDocument::FindFlag>)
+ ?completer@QLineControl@@QBEPAVQCompleter@@XZ @ 1485 NONAME ; class QCompleter * QLineControl::completer(void) const
+ ?toPlainText@QTextDocumentFragment@@QBE?AVQString@@XZ @ 1486 NONAME ; class QString QTextDocumentFragment::toPlainText(void) const
+ ?event@QTabWidget@@MAE_NPAVQEvent@@@Z @ 1487 NONAME ; bool QTabWidget::event(class QEvent *)
+ ?normalized@QQuaternion@@QBE?AV1@XZ @ 1488 NONAME ; class QQuaternion QQuaternion::normalized(void) const
+ ?rowCount@QTableWidget@@QBEHXZ @ 1489 NONAME ; int QTableWidget::rowCount(void) const
+ ?insertPlainText@QTextEdit@@QAEXABVQString@@@Z @ 1490 NONAME ; void QTextEdit::insertPlainText(class QString const &)
+ ?fileDialogDirectory@QGuiPlatformPlugin@@UBE?AVQString@@PBVQFileDialog@@@Z @ 1491 NONAME ; class QString QGuiPlatformPlugin::fileDialogDirectory(class QFileDialog const *) const
+ ?sizeHint@QDial@@UBE?AVQSize@@XZ @ 1492 NONAME ; class QSize QDial::sizeHint(void) const
+ ?setCompletionRole@QCompleter@@QAEXH@Z @ 1493 NONAME ; void QCompleter::setCompletionRole(int)
+ ?mapRect@QMatrix4x4@@QBE?AVQRect@@ABV2@@Z @ 1494 NONAME ; class QRect QMatrix4x4::mapRect(class QRect const &) const
+ ?currentChanged@QFileDialog@@IAEXABVQString@@@Z @ 1495 NONAME ; void QFileDialog::currentChanged(class QString const &)
+ ?setContentsMargins@QWidget@@QAEXHHHH@Z @ 1496 NONAME ; void QWidget::setContentsMargins(int, int, int, int)
+ ?defaultFont@QTextFormatCollection@@QBE?AVQFont@@XZ @ 1497 NONAME ; class QFont QTextFormatCollection::defaultFont(void) const
+ ?d_func@QAbstractProxyModel@@ABEPBVQAbstractProxyModelPrivate@@XZ @ 1498 NONAME ; class QAbstractProxyModelPrivate const * QAbstractProxyModel::d_func(void) const
+ ?sectionPressed@QHeaderView@@IAEXH@Z @ 1499 NONAME ; void QHeaderView::sectionPressed(int)
+ ?redo@QUndoGroup@@QAEXXZ @ 1500 NONAME ; void QUndoGroup::redo(void)
+ ?blockCountChanged@QPlainTextEdit@@IAEXH@Z @ 1501 NONAME ; void QPlainTextEdit::blockCountChanged(int)
+ ?supportedImageFormats@QImageReader@@SA?AV?$QList@VQByteArray@@@@XZ @ 1502 NONAME ; class QList<class QByteArray> QImageReader::supportedImageFormats(void)
+ ?flags@QPaintEngineEx@@UBEIXZ @ 1503 NONAME ; unsigned int QPaintEngineEx::flags(void) const
+ ??0QStyleHintReturnMask@@QAE@XZ @ 1504 NONAME ; QStyleHintReturnMask::QStyleHintReturnMask(void)
+ ?subElementRect@QS60Style@@UBE?AVQRect@@W4SubElement@QStyle@@PBVQStyleOption@@PBVQWidget@@@Z @ 1505 NONAME ; class QRect QS60Style::subElementRect(enum QStyle::SubElement, class QStyleOption const *, class QWidget const *) const
+ ?modificationChanged@QTextControl@@IAEX_N@Z @ 1506 NONAME ; void QTextControl::modificationChanged(bool)
+ ??_EQFileOpenEvent@@UAE@I@Z @ 1507 NONAME ; QFileOpenEvent::~QFileOpenEvent(unsigned int)
+ ??IQRegion@@QBE?BV0@ABVQRect@@@Z @ 1508 NONAME ; class QRegion const QRegion::operator&(class QRect const &) const
+ ??1Key@QPixmapCache@@QAE@XZ @ 1509 NONAME ; QPixmapCache::Key::~Key(void)
+ ?metaObject@QPinchGesture@@UBEPBUQMetaObject@@XZ @ 1510 NONAME ; struct QMetaObject const * QPinchGesture::metaObject(void) const
+ ?drawPixmap@QPainter@@QAEXABVQPointF@@ABVQPixmap@@@Z @ 1511 NONAME ; void QPainter::drawPixmap(class QPointF const &, class QPixmap const &)
+ ?tr@QSpinBox@@SA?AVQString@@PBD0@Z @ 1512 NONAME ; class QString QSpinBox::tr(char const *, char const *)
+ ?movableChanged@QToolBar@@IAEX_N@Z @ 1513 NONAME ; void QToolBar::movableChanged(bool)
+ ?rows@QTextTable@@QBEHXZ @ 1514 NONAME ; int QTextTable::rows(void) const
+ ?setBackground@QMdiArea@@QAEXABVQBrush@@@Z @ 1515 NONAME ; void QMdiArea::setBackground(class QBrush const &)
+ ?setFirstDayOfWeek@QCalendarWidget@@QAEXW4DayOfWeek@Qt@@@Z @ 1516 NONAME ; void QCalendarWidget::setFirstDayOfWeek(enum Qt::DayOfWeek)
+ ?wheelEvent@QTextEdit@@MAEXPAVQWheelEvent@@@Z @ 1517 NONAME ; void QTextEdit::wheelEvent(class QWheelEvent *)
+ ?foregroundBrush@QGraphicsScene@@QBE?AVQBrush@@XZ @ 1518 NONAME ; class QBrush QGraphicsScene::foregroundBrush(void) const
+ ??0QVector4D@@QAE@ABVQVector3D@@M@Z @ 1519 NONAME ; QVector4D::QVector4D(class QVector3D const &, float)
+ ?foreground@QStandardItem@@QBE?AVQBrush@@XZ @ 1520 NONAME ; class QBrush QStandardItem::foreground(void) const
+ ?trUtf8@QLineControl@@SA?AVQString@@PBD0H@Z @ 1521 NONAME ; class QString QLineControl::trUtf8(char const *, char const *, int)
+ ?offsetChanged@QGraphicsDropShadowEffect@@IAEXABVQPointF@@@Z @ 1522 NONAME ; void QGraphicsDropShadowEffect::offsetChanged(class QPointF const &)
+ ?mouseMoveEvent@QSplitterHandle@@MAEXPAVQMouseEvent@@@Z @ 1523 NONAME ; void QSplitterHandle::mouseMoveEvent(class QMouseEvent *)
+ ?iconSize@QTabBar@@QBE?AVQSize@@XZ @ 1524 NONAME ; class QSize QTabBar::iconSize(void) const
+ ?metaObject@QWizard@@UBEPBUQMetaObject@@XZ @ 1525 NONAME ; struct QMetaObject const * QWizard::metaObject(void) const
+ ?sizeHint@QCommandLinkButton@@MBE?AVQSize@@XZ @ 1526 NONAME ; class QSize QCommandLinkButton::sizeHint(void) const
+ ?setCheckable@QAbstractButton@@QAEX_N@Z @ 1527 NONAME ; void QAbstractButton::setCheckable(bool)
+ ?setFileName@QMovie@@QAEXABVQString@@@Z @ 1528 NONAME ; void QMovie::setFileName(class QString const &)
+ ?activated@QCompleter@@IAEXABVQString@@@Z @ 1529 NONAME ; void QCompleter::activated(class QString const &)
+ ??0QBitmap@@QAE@HH@Z @ 1530 NONAME ; QBitmap::QBitmap(int, int)
+ ?grabWidget@QPixmap@@SA?AV1@PAVQWidget@@ABVQRect@@@Z @ 1531 NONAME ; class QPixmap QPixmap::grabWidget(class QWidget *, class QRect const &)
+ ?trUtf8@QComboBox@@SA?AVQString@@PBD0@Z @ 1532 NONAME ; class QString QComboBox::trUtf8(char const *, char const *)
+ ??0QMatrix@@QAE@W4Initialization@Qt@@@Z @ 1533 NONAME ; QMatrix::QMatrix(enum Qt::Initialization)
+ ?setData@QListWidgetItem@@UAEXHABVQVariant@@@Z @ 1534 NONAME ; void QListWidgetItem::setData(int, class QVariant const &)
+ ?count@QKeySequence@@QBEIXZ @ 1535 NONAME ; unsigned int QKeySequence::count(void) const
+ ?begin@QPainter@@QAE_NPAVQPaintDevice@@@Z @ 1536 NONAME ; bool QPainter::begin(class QPaintDevice *)
+ ?horizontalStretch@QSizePolicy@@QBEHXZ @ 1537 NONAME ; int QSizePolicy::horizontalStretch(void) const
+ ?parsePrio@Parser@QCss@@QAE_NPAUDeclaration@2@@Z @ 1538 NONAME ; bool QCss::Parser::parsePrio(struct QCss::Declaration *)
+ ?detach@QBrush@@AAEXW4BrushStyle@Qt@@@Z @ 1539 NONAME ; void QBrush::detach(enum Qt::BrushStyle)
+ ?trUtf8@QTextFrame@@SA?AVQString@@PBD0H@Z @ 1540 NONAME ; class QString QTextFrame::trUtf8(char const *, char const *, int)
+ ?mapRectFromParent@QGraphicsItem@@QBE?AVQRectF@@MMMM@Z @ 1541 NONAME ; class QRectF QGraphicsItem::mapRectFromParent(float, float, float, float) const
+ ?alignmentRect@QLayout@@IBE?AVQRect@@ABV2@@Z @ 1542 NONAME ; class QRect QLayout::alignmentRect(class QRect const &) const
+ ?visualPos@QStyle@@SA?AVQPoint@@W4LayoutDirection@Qt@@ABVQRect@@ABV2@@Z @ 1543 NONAME ; class QPoint QStyle::visualPos(enum Qt::LayoutDirection, class QRect const &, class QPoint const &)
+ ?setHidden@QTreeWidgetItem@@QAEX_N@Z @ 1544 NONAME ; void QTreeWidgetItem::setHidden(bool)
+ ?eventFilter@QGraphicsScene@@MAE_NPAVQObject@@PAVQEvent@@@Z @ 1545 NONAME ; bool QGraphicsScene::eventFilter(class QObject *, class QEvent *)
+ ?isValidInput@QLineControl@@ABE_NVQChar@@0@Z @ 1546 NONAME ; bool QLineControl::isValidInput(class QChar, class QChar) const
+ ?d_func@QSlider@@ABEPBVQSliderPrivate@@XZ @ 1547 NONAME ; class QSliderPrivate const * QSlider::d_func(void) const
+ ?propertyChange@QGraphicsWidget@@MAE?AVQVariant@@ABVQString@@ABV2@@Z @ 1548 NONAME ; class QVariant QGraphicsWidget::propertyChange(class QString const &, class QVariant const &)
+ ?moveRect@QWidgetPrivate@@QAEXABVQRect@@HH@Z @ 1549 NONAME ; void QWidgetPrivate::moveRect(class QRect const &, int, int)
+ ??_EQPaintEngineEx@@UAE@I@Z @ 1550 NONAME ; QPaintEngineEx::~QPaintEngineEx(unsigned int)
+ ?getFont@QFontDialog@@SA?AVQFont@@PA_NABV2@PAVQWidget@@@Z @ 1551 NONAME ; class QFont QFontDialog::getFont(bool *, class QFont const &, class QWidget *)
+ ??0QTextBlockFormat@@IAE@ABVQTextFormat@@@Z @ 1552 NONAME ; QTextBlockFormat::QTextBlockFormat(class QTextFormat const &)
+ ??1QCompleter@@UAE@XZ @ 1553 NONAME ; QCompleter::~QCompleter(void)
+ ?appendRows@QStandardItem@@QAEXABV?$QList@PAVQStandardItem@@@@@Z @ 1554 NONAME ; void QStandardItem::appendRows(class QList<class QStandardItem *> const &)
+ ??6@YAAAVQDataStream@@AAV0@ABVQMatrix@@@Z @ 1555 NONAME ; class QDataStream & operator<<(class QDataStream &, class QMatrix const &)
+ ?setHeaderHidden@QTreeView@@QAEX_N@Z @ 1556 NONAME ; void QTreeView::setHeaderHidden(bool)
+ ?engineForScript@QFontPrivate@@QBEPAVQFontEngine@@H@Z @ 1557 NONAME ; class QFontEngine * QFontPrivate::engineForScript(int) const
+ ?fileDialogSetFilter@QGuiPlatformPlugin@@UAEXPAVQFileDialog@@@Z @ 1558 NONAME ; void QGuiPlatformPlugin::fileDialogSetFilter(class QFileDialog *)
+ ?rowCount@QFileSystemModel@@UBEHABVQModelIndex@@@Z @ 1559 NONAME ; int QFileSystemModel::rowCount(class QModelIndex const &) const
+ ?globalX@QTabletEvent@@QBEHXZ @ 1560 NONAME ; int QTabletEvent::globalX(void) const
+ ?cleanupMultitouch_sys@QApplicationPrivate@@QAEXXZ @ 1561 NONAME ; void QApplicationPrivate::cleanupMultitouch_sys(void)
+ ?setCursor@QGraphicsItem@@QAEXABVQCursor@@@Z @ 1562 NONAME ; void QGraphicsItem::setCursor(class QCursor const &)
+ ??9QImage@@QBE_NABV0@@Z @ 1563 NONAME ; bool QImage::operator!=(class QImage const &) const
+ ?hoverEnterEvent@QGraphicsItem@@MAEXPAVQGraphicsSceneHoverEvent@@@Z @ 1564 NONAME ; void QGraphicsItem::hoverEnterEvent(class QGraphicsSceneHoverEvent *)
+ ?isRedoAvailable@QTextDocument@@QBE_NXZ @ 1565 NONAME ; bool QTextDocument::isRedoAvailable(void) const
+ ?showEvent@QGraphicsWidget@@MAEXPAVQShowEvent@@@Z @ 1566 NONAME ; void QGraphicsWidget::showEvent(class QShowEvent *)
+ ??1QStandardItemModel@@UAE@XZ @ 1567 NONAME ; QStandardItemModel::~QStandardItemModel(void)
+ ?d_func@QDesktopWidget@@AAEPAVQDesktopWidgetPrivate@@XZ @ 1568 NONAME ; class QDesktopWidgetPrivate * QDesktopWidget::d_func(void)
+ ??0QTextCursor@@QAE@PAVQTextFrame@@@Z @ 1569 NONAME ; QTextCursor::QTextCursor(class QTextFrame *)
+ ?addAction@QToolBar@@QAEPAVQAction@@ABVQIcon@@ABVQString@@PBVQObject@@PBD@Z @ 1570 NONAME ; class QAction * QToolBar::addAction(class QIcon const &, class QString const &, class QObject const *, char const *)
+ ?setPixmap@QSplashScreen@@QAEXABVQPixmap@@@Z @ 1571 NONAME ; void QSplashScreen::setPixmap(class QPixmap const &)
+ ?inputMethodEvent@QComboBox@@MAEXPAVQInputMethodEvent@@@Z @ 1572 NONAME ; void QComboBox::inputMethodEvent(class QInputMethodEvent *)
+ ?initFrom@QStyleOption@@QAEXPBVQWidget@@@Z @ 1573 NONAME ; void QStyleOption::initFrom(class QWidget const *)
+ ?setItem@QStandardItemModel@@QAEXHPAVQStandardItem@@@Z @ 1574 NONAME ; void QStandardItemModel::setItem(int, class QStandardItem *)
+ ?mouseDoubleClickEvent@QTreeView@@MAEXPAVQMouseEvent@@@Z @ 1575 NONAME ; void QTreeView::mouseDoubleClickEvent(class QMouseEvent *)
+ ??0QGraphicsColorizeEffect@@QAE@PAVQObject@@@Z @ 1576 NONAME ; QGraphicsColorizeEffect::QGraphicsColorizeEffect(class QObject *)
+ ??0QRegion@@QAE@HHHHW4RegionType@0@@Z @ 1577 NONAME ; QRegion::QRegion(int, int, int, int, enum QRegion::RegionType)
+ ?separatorsCollapsible@QMenu@@QBE_NXZ @ 1578 NONAME ; bool QMenu::separatorsCollapsible(void) const
+ ?hidden_focus_widget@QApplicationPrivate@@2PAVQWidget@@A @ 1579 NONAME ; class QWidget * QApplicationPrivate::hidden_focus_widget
+ ??_EQAction@@UAE@I@Z @ 1580 NONAME ; QAction::~QAction(unsigned int)
+ ??0QTextDocumentWriter@@QAE@ABVQString@@ABVQByteArray@@@Z @ 1581 NONAME ; QTextDocumentWriter::QTextDocumentWriter(class QString const &, class QByteArray const &)
+ ?isUndoRedoEnabled@QTextEdit@@QBE_NXZ @ 1582 NONAME ; bool QTextEdit::isUndoRedoEnabled(void) const
+ ?currentFont@QFontComboBox@@QBE?AVQFont@@XZ @ 1583 NONAME ; class QFont QFontComboBox::currentFont(void) const
+ ?setWeekdayTextFormat@QCalendarWidget@@QAEXW4DayOfWeek@Qt@@ABVQTextCharFormat@@@Z @ 1584 NONAME ; void QCalendarWidget::setWeekdayTextFormat(enum Qt::DayOfWeek, class QTextCharFormat const &)
+ ?horizontalScrollbarAction@QAbstractItemView@@MAEXH@Z @ 1585 NONAME ; void QAbstractItemView::horizontalScrollbarAction(int)
+ ?checkedId@QButtonGroup@@QBEHXZ @ 1586 NONAME ; int QButtonGroup::checkedId(void) const
+ ?minimumSizeHint@QLineEdit@@UBE?AVQSize@@XZ @ 1587 NONAME ; class QSize QLineEdit::minimumSizeHint(void) const
+ ?drawPoints@QPaintEngine@@UAEXPBVQPoint@@H@Z @ 1588 NONAME ; void QPaintEngine::drawPoints(class QPoint const *, int)
+ ?brush@QPaintEngineState@@QBE?AVQBrush@@XZ @ 1589 NONAME ; class QBrush QPaintEngineState::brush(void) const
+ ?trUtf8@QGesture@@SA?AVQString@@PBD0@Z @ 1590 NONAME ; class QString QGesture::trUtf8(char const *, char const *)
+ ?takeAt@QBoxLayout@@UAEPAVQLayoutItem@@H@Z @ 1591 NONAME ; class QLayoutItem * QBoxLayout::takeAt(int)
+ ?qt_metacall@QMenuBar@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 1592 NONAME ; int QMenuBar::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?setFinalStop@QLinearGradient@@QAEXABVQPointF@@@Z @ 1593 NONAME ; void QLinearGradient::setFinalStop(class QPointF const &)
+ ?cornerWidget@QMenuBar@@QBEPAVQWidget@@W4Corner@Qt@@@Z @ 1594 NONAME ; class QWidget * QMenuBar::cornerWidget(enum Qt::Corner) const
+ ?sort@QStringListModel@@UAEXHW4SortOrder@Qt@@@Z @ 1595 NONAME ; void QStringListModel::sort(int, enum Qt::SortOrder)
+ ?setDate@QDateTimeEdit@@QAEXABVQDate@@@Z @ 1596 NONAME ; void QDateTimeEdit::setDate(class QDate const &)
+ ?columnResized@QTableView@@IAEXHHH@Z @ 1597 NONAME ; void QTableView::columnResized(int, int, int)
+ ?staticMetaObject@QStandardItemModel@@2UQMetaObject@@B @ 1598 NONAME ; struct QMetaObject const QStandardItemModel::staticMetaObject
+ ??_EQInputMethodEvent@@UAE@I@Z @ 1599 NONAME ; QInputMethodEvent::~QInputMethodEvent(unsigned int)
+ ?setOptions@QFontDialog@@QAEXV?$QFlags@W4FontDialogOption@QFontDialog@@@@@Z @ 1600 NONAME ; void QFontDialog::setOptions(class QFlags<enum QFontDialog::FontDialogOption>)
+ ?checkState@QTreeWidgetItem@@QBE?AW4CheckState@Qt@@H@Z @ 1601 NONAME ; enum Qt::CheckState QTreeWidgetItem::checkState(int) const
+ ?widget@QScrollArea@@QBEPAVQWidget@@XZ @ 1602 NONAME ; class QWidget * QScrollArea::widget(void) const
+ ?trUtf8@QTabBar@@SA?AVQString@@PBD0H@Z @ 1603 NONAME ; class QString QTabBar::trUtf8(char const *, char const *, int)
+ ?setElementPositionAt@QPainterPath@@QAEXHMM@Z @ 1604 NONAME ; void QPainterPath::setElementPositionAt(int, float, float)
+ ?closeActiveWindow@QWorkspace@@QAEXXZ @ 1605 NONAME ; void QWorkspace::closeActiveWindow(void)
+ ?style@QGraphicsWidget@@QBEPAVQStyle@@XZ @ 1606 NONAME ; class QStyle * QGraphicsWidget::style(void) const
+ ??0QIntValidator@@QAE@HHPAVQObject@@@Z @ 1607 NONAME ; QIntValidator::QIntValidator(int, int, class QObject *)
+ ?d_func@QTextFrame@@ABEPBVQTextFramePrivate@@XZ @ 1608 NONAME ; class QTextFramePrivate const * QTextFrame::d_func(void) const
+ ?y@QWidget@@QBEHXZ @ 1609 NONAME ; int QWidget::y(void) const
+ ?setFlow@QListView@@QAEXW4Flow@1@@Z @ 1610 NONAME ; void QListView::setFlow(enum QListView::Flow)
+ ?isReadOnly@QDirModel@@QBE_NXZ @ 1611 NONAME ; bool QDirModel::isReadOnly(void) const
+ ?lexemUntil@Parser@QCss@@QAE?AVQString@@W4TokenType@2@@Z @ 1612 NONAME ; class QString QCss::Parser::lexemUntil(enum QCss::TokenType)
+ ??1QTextObjectInterface@@UAE@XZ @ 1613 NONAME ; QTextObjectInterface::~QTextObjectInterface(void)
+ ?setButtons@QGraphicsSceneMouseEvent@@QAEXV?$QFlags@W4MouseButton@Qt@@@@@Z @ 1614 NONAME ; void QGraphicsSceneMouseEvent::setButtons(class QFlags<enum Qt::MouseButton>)
+ ?dispatchEnterLeave@QApplicationPrivate@@SAXPAVQWidget@@0@Z @ 1615 NONAME ; void QApplicationPrivate::dispatchEnterLeave(class QWidget *, class QWidget *)
+ ?stickyFocus@QGraphicsScene@@QBE_NXZ @ 1616 NONAME ; bool QGraphicsScene::stickyFocus(void) const
+ ?qt_metacast@QAction@@UAEPAXPBD@Z @ 1617 NONAME ; void * QAction::qt_metacast(char const *)
+ ?d_func@QPanGesture@@ABEPBVQPanGesturePrivate@@XZ @ 1618 NONAME ; class QPanGesturePrivate const * QPanGesture::d_func(void) const
+ ?setPath@QGraphicsPathItem@@QAEXABVQPainterPath@@@Z @ 1619 NONAME ; void QGraphicsPathItem::setPath(class QPainterPath const &)
+ ?setColor@QGraphicsDropShadowEffect@@QAEXABVQColor@@@Z @ 1620 NONAME ; void QGraphicsDropShadowEffect::setColor(class QColor const &)
+ ?sort@QSortFilterProxyModel@@UAEXHW4SortOrder@Qt@@@Z @ 1621 NONAME ; void QSortFilterProxyModel::sort(int, enum Qt::SortOrder)
+ ?offset@QGraphicsPixmapItem@@QBE?AVQPointF@@XZ @ 1622 NONAME ; class QPointF QGraphicsPixmapItem::offset(void) const
+ ?availableGeometry@QDesktopWidget@@QBE?BVQRect@@ABVQPoint@@@Z @ 1623 NONAME ; class QRect const QDesktopWidget::availableGeometry(class QPoint const &) const
+ ?setExtraSelections@QPlainTextEdit@@QAEXABV?$QList@UExtraSelection@QTextEdit@@@@@Z @ 1624 NONAME ; void QPlainTextEdit::setExtraSelections(class QList<struct QTextEdit::ExtraSelection> const &)
+ ?setColumnHidden@QTreeView@@QAEXH_N@Z @ 1625 NONAME ; void QTreeView::setColumnHidden(int, bool)
+ ?timeLine@QGraphicsItemAnimation@@QBEPAVQTimeLine@@XZ @ 1626 NONAME ; class QTimeLine * QGraphicsItemAnimation::timeLine(void) const
+ ?sizeFromContents@QS60Style@@UBE?AVQSize@@W4ContentsType@QStyle@@PBVQStyleOption@@ABV2@PBVQWidget@@@Z @ 1627 NONAME ; class QSize QS60Style::sizeFromContents(enum QStyle::ContentsType, class QStyleOption const *, class QSize const &, class QWidget const *) const
+ ?tAtLength@QBezier@@QBEMM@Z @ 1628 NONAME ; float QBezier::tAtLength(float) const
+ ?isAncestorOf@QGraphicsItem@@QBE_NPBV1@@Z @ 1629 NONAME ; bool QGraphicsItem::isAncestorOf(class QGraphicsItem const *) const
+ ?redo@QUndoStack@@QAEXXZ @ 1630 NONAME ; void QUndoStack::redo(void)
+ ?setDirty@QPaintEngine@@QAEXV?$QFlags@W4DirtyFlag@QPaintEngine@@@@@Z @ 1631 NONAME ; void QPaintEngine::setDirty(class QFlags<enum QPaintEngine::DirtyFlag>)
+ ?state@QPaintEngineEx@@QAEPAVQPainterState@@XZ @ 1632 NONAME ; class QPainterState * QPaintEngineEx::state(void)
+ ??0QPixmap@@QAE@HH@Z @ 1633 NONAME ; QPixmap::QPixmap(int, int)
+ ?split@QBezier@@QBEXPAV1@0@Z @ 1634 NONAME ; void QBezier::split(class QBezier *, class QBezier *) const
+ ?sortOrder@QListWidget@@ABE?AW4SortOrder@Qt@@XZ @ 1635 NONAME ; enum Qt::SortOrder QListWidget::sortOrder(void) const
+ ?tr@QClipboard@@SA?AVQString@@PBD0@Z @ 1636 NONAME ; class QString QClipboard::tr(char const *, char const *)
+ ??1QStylePlugin@@UAE@XZ @ 1637 NONAME ; QStylePlugin::~QStylePlugin(void)
+ ?trUtf8@QProxyStyle@@SA?AVQString@@PBD0@Z @ 1638 NONAME ; class QString QProxyStyle::trUtf8(char const *, char const *)
+ ?angleChanged@QGraphicsRotation@@IAEXXZ @ 1639 NONAME ; void QGraphicsRotation::angleChanged(void)
+ ?horizontalOffset@QTableView@@MBEHXZ @ 1640 NONAME ; int QTableView::horizontalOffset(void) const
+ ?subWindowActivated@QMdiArea@@IAEXPAVQMdiSubWindow@@@Z @ 1641 NONAME ; void QMdiArea::subWindowActivated(class QMdiSubWindow *)
+ ??0QGraphicsGrayscaleEffect@@QAE@PAVQObject@@@Z @ 1642 NONAME ABSENT ; QGraphicsGrayscaleEffect::QGraphicsGrayscaleEffect(class QObject *)
+ ?tr@QItemDelegate@@SA?AVQString@@PBD0H@Z @ 1643 NONAME ; class QString QItemDelegate::tr(char const *, char const *, int)
+ ?isObscuredBy@QGraphicsPolygonItem@@UBE_NPBVQGraphicsItem@@@Z @ 1644 NONAME ; bool QGraphicsPolygonItem::isObscuredBy(class QGraphicsItem const *) const
+ ?anchorClicked@QTextBrowser@@IAEXABVQUrl@@@Z @ 1645 NONAME ; void QTextBrowser::anchorClicked(class QUrl const &)
+ ?childEvent@QMdiSubWindow@@MAEXPAVQChildEvent@@@Z @ 1646 NONAME ; void QMdiSubWindow::childEvent(class QChildEvent *)
+ ?enterEvent@QMenu@@MAEXPAVQEvent@@@Z @ 1647 NONAME ; void QMenu::enterEvent(class QEvent *)
+ ?ensureInputCapabilitiesChanged@QCoeFepInputContext@@AAEXXZ @ 1648 NONAME ABSENT ; void QCoeFepInputContext::ensureInputCapabilitiesChanged(void)
+ ?tr@QSwipeGesture@@SA?AVQString@@PBD0@Z @ 1649 NONAME ; class QString QSwipeGesture::tr(char const *, char const *)
+ ?d_func@QGraphicsPixelizeEffect@@AAEPAVQGraphicsPixelizeEffectPrivate@@XZ @ 1650 NONAME ABSENT ; class QGraphicsPixelizeEffectPrivate * QGraphicsPixelizeEffect::d_func(void)
+ ?completer@QComboBox@@QBEPAVQCompleter@@XZ @ 1651 NONAME ; class QCompleter * QComboBox::completer(void) const
+ ?testOption@QMdiSubWindow@@QBE_NW4SubWindowOption@1@@Z @ 1652 NONAME ; bool QMdiSubWindow::testOption(enum QMdiSubWindow::SubWindowOption) const
+ ?mapRectToScene@QGraphicsItem@@QBE?AVQRectF@@ABV2@@Z @ 1653 NONAME ; class QRectF QGraphicsItem::mapRectToScene(class QRectF const &) const
+ ?hasWindingFill@QVectorPath@@QBE_NXZ @ 1654 NONAME ; bool QVectorPath::hasWindingFill(void) const
+ ?staticMetaObject@QProgressDialog@@2UQMetaObject@@B @ 1655 NONAME ; struct QMetaObject const QProgressDialog::staticMetaObject
+ ?iconText@QAction@@QBE?AVQString@@XZ @ 1656 NONAME ; class QString QAction::iconText(void) const
+ ?qt_metacall@QClipboard@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 1657 NONAME ; int QClipboard::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ??0QMenu@@QAE@ABVQString@@PAVQWidget@@@Z @ 1658 NONAME ; QMenu::QMenu(class QString const &, class QWidget *)
+ ??0QStyleOptionMenuItem@@QAE@XZ @ 1659 NONAME ; QStyleOptionMenuItem::QStyleOptionMenuItem(void)
+ ?write@QTableWidgetItem@@UBEXAAVQDataStream@@@Z @ 1660 NONAME ; void QTableWidgetItem::write(class QDataStream &) const
+ ??D@YA?AVQPoint@@ABV0@ABVQTransform@@@Z @ 1661 NONAME ; class QPoint operator*(class QPoint const &, class QTransform const &)
+ ?verticalScrollbarAction@QTableView@@MAEXH@Z @ 1662 NONAME ; void QTableView::verticalScrollbarAction(int)
+ ?mergeCurrentCharFormat@QPlainTextEdit@@QAEXABVQTextCharFormat@@@Z @ 1663 NONAME ; void QPlainTextEdit::mergeCurrentCharFormat(class QTextCharFormat const &)
+ ??0QTreeWidgetItemIterator@@QAE@PAVQTreeWidget@@V?$QFlags@W4IteratorFlag@QTreeWidgetItemIterator@@@@@Z @ 1664 NONAME ; QTreeWidgetItemIterator::QTreeWidgetItemIterator(class QTreeWidget *, class QFlags<enum QTreeWidgetItemIterator::IteratorFlag>)
+ ?mousePressEvent@QTreeView@@MAEXPAVQMouseEvent@@@Z @ 1665 NONAME ; void QTreeView::mousePressEvent(class QMouseEvent *)
+ ?rootFrame@QTextDocument@@QBEPAVQTextFrame@@XZ @ 1666 NONAME ; class QTextFrame * QTextDocument::rootFrame(void) const
+ ?trUtf8@QAbstractItemDelegate@@SA?AVQString@@PBD0H@Z @ 1667 NONAME ; class QString QAbstractItemDelegate::trUtf8(char const *, char const *, int)
+ ??0QTextDocumentFragment@@QAE@ABV0@@Z @ 1668 NONAME ; QTextDocumentFragment::QTextDocumentFragment(class QTextDocumentFragment const &)
+ ?setButtonDownPos@QGraphicsSceneMouseEvent@@QAEXW4MouseButton@Qt@@ABVQPointF@@@Z @ 1669 NONAME ; void QGraphicsSceneMouseEvent::setButtonDownPos(enum Qt::MouseButton, class QPointF const &)
+ ?event@QCommandLinkButton@@MAE_NPAVQEvent@@@Z @ 1670 NONAME ; bool QCommandLinkButton::event(class QEvent *)
+ ?trUtf8@QFontDialog@@SA?AVQString@@PBD0@Z @ 1671 NONAME ; class QString QFontDialog::trUtf8(char const *, char const *)
+ ?tr@QButtonGroup@@SA?AVQString@@PBD0@Z @ 1672 NONAME ; class QString QButtonGroup::tr(char const *, char const *)
+ ?setAlignment@QGraphicsLinearLayout@@QAEXPAVQGraphicsLayoutItem@@V?$QFlags@W4AlignmentFlag@Qt@@@@@Z @ 1673 NONAME ; void QGraphicsLinearLayout::setAlignment(class QGraphicsLayoutItem *, class QFlags<enum Qt::AlignmentFlag>)
+ ?supportsThreadedFontRendering@QFontDatabase@@SA_NXZ @ 1674 NONAME ; bool QFontDatabase::supportsThreadedFontRendering(void)
+ ?setWorldMatrix@QPainter@@QAEXABVQMatrix@@_N@Z @ 1675 NONAME ; void QPainter::setWorldMatrix(class QMatrix const &, bool)
+ ?mouseMoveEvent@QDial@@MAEXPAVQMouseEvent@@@Z @ 1676 NONAME ; void QDial::mouseMoveEvent(class QMouseEvent *)
+ ?invalidate@QGraphicsLayout@@UAEXXZ @ 1677 NONAME ; void QGraphicsLayout::invalidate(void)
+ ??0QAction@@QAE@ABVQIcon@@ABVQString@@PAVQObject@@@Z @ 1678 NONAME ; QAction::QAction(class QIcon const &, class QString const &, class QObject *)
+ ?geometry@QWindowSurface@@QBE?AVQRect@@XZ @ 1679 NONAME ; class QRect QWindowSurface::geometry(void) const
+ ?metaObject@QIntValidator@@UBEPBUQMetaObject@@XZ @ 1680 NONAME ; struct QMetaObject const * QIntValidator::metaObject(void) const
+ ?createStandardContextMenu@QTextEdit@@QAEPAVQMenu@@XZ @ 1681 NONAME ; class QMenu * QTextEdit::createStandardContextMenu(void)
+ ?create_sys@QWidgetPrivate@@QAEXPAVCCoeControl@@_N1@Z @ 1682 NONAME ; void QWidgetPrivate::create_sys(class CCoeControl *, bool, bool)
+ ?insertColumns@QStandardItem@@QAEXHH@Z @ 1683 NONAME ; void QStandardItem::insertColumns(int, int)
+ ?qSmartMaxSize@@YA?AVQSize@@PBVQWidget@@V?$QFlags@W4AlignmentFlag@Qt@@@@@Z @ 1684 NONAME ; class QSize qSmartMaxSize(class QWidget const *, class QFlags<enum Qt::AlignmentFlag>)
+ ??0QGraphicsEllipseItem@@QAE@ABVQRectF@@PAVQGraphicsItem@@PAVQGraphicsScene@@@Z @ 1685 NONAME ; QGraphicsEllipseItem::QGraphicsEllipseItem(class QRectF const &, class QGraphicsItem *, class QGraphicsScene *)
+ ?themeName@QIcon@@SA?AVQString@@XZ @ 1686 NONAME ; class QString QIcon::themeName(void)
+ ?copy@QLineEdit@@QBEXXZ @ 1687 NONAME ; void QLineEdit::copy(void) const
+ ?setWordWrap@QTreeView@@QAEX_N@Z @ 1688 NONAME ; void QTreeView::setWordWrap(bool)
+ ?setCheckState@QListWidgetItem@@QAEXW4CheckState@Qt@@@Z @ 1689 NONAME ; void QListWidgetItem::setCheckState(enum Qt::CheckState)
+ ?resolveSymlinks@QDirModel@@QBE_NXZ @ 1690 NONAME ; bool QDirModel::resolveSymlinks(void) const
+ ?width@QTextLine@@QBEMXZ @ 1691 NONAME ; float QTextLine::width(void) const
+ ?detach_helper@QPicture@@AAEXXZ @ 1692 NONAME ; void QPicture::detach_helper(void)
+ ??6@YAAAVQDataStream@@AAV0@ABVQPixmap@@@Z @ 1693 NONAME ; class QDataStream & operator<<(class QDataStream &, class QPixmap const &)
+ ?setWindowIcon_helper@QWidgetPrivate@@QAEXXZ @ 1694 NONAME ; void QWidgetPrivate::setWindowIcon_helper(void)
+ ?getStaticMetaObject@QListWidget@@SAABUQMetaObject@@XZ @ 1695 NONAME ; struct QMetaObject const & QListWidget::getStaticMetaObject(void)
+ ?userState@QTextBlock@@QBEHXZ @ 1696 NONAME ; int QTextBlock::userState(void) const
+ ?qt_metacast@QTextTable@@UAEPAXPBD@Z @ 1697 NONAME ; void * QTextTable::qt_metacast(char const *)
+ ?isModified@QLineEdit@@QBE_NXZ @ 1698 NONAME ; bool QLineEdit::isModified(void) const
+ ?setText@QStandardItem@@QAEXABVQString@@@Z @ 1699 NONAME ; void QStandardItem::setText(class QString const &)
+ ??6@YAAAVQDataStream@@AAV0@ABVQMatrix4x4@@@Z @ 1700 NONAME ; class QDataStream & operator<<(class QDataStream &, class QMatrix4x4 const &)
+ ?isTableFormat@QTextFormat@@QBE_NXZ @ 1701 NONAME ; bool QTextFormat::isTableFormat(void) const
+ ?getStaticMetaObject@QPanGesture@@SAABUQMetaObject@@XZ @ 1702 NONAME ; struct QMetaObject const & QPanGesture::getStaticMetaObject(void)
+ ?currentTable@QTextCursor@@QBEPAVQTextTable@@XZ @ 1703 NONAME ; class QTextTable * QTextCursor::currentTable(void) const
+ ??1QPixmapDropShadowFilter@@UAE@XZ @ 1704 NONAME ; QPixmapDropShadowFilter::~QPixmapDropShadowFilter(void)
+ ?setHsv@QColor@@QAEXHHHH@Z @ 1705 NONAME ; void QColor::setHsv(int, int, int, int)
+ ?setSelected@QListWidgetItem@@QAEX_N@Z @ 1706 NONAME ; void QListWidgetItem::setSelected(bool)
+ ?pixelMetric@QS60Style@@UBEHW4PixelMetric@QStyle@@PBVQStyleOption@@PBVQWidget@@@Z @ 1707 NONAME ; int QS60Style::pixelMetric(enum QStyle::PixelMetric, class QStyleOption const *, class QWidget const *) const
+ ?geometry@QSpacerItem@@UBE?AVQRect@@XZ @ 1708 NONAME ; class QRect QSpacerItem::geometry(void) const
+ ?columnSpan@QTextTableCell@@QBEHXZ @ 1709 NONAME ; int QTextTableCell::columnSpan(void) const
+ ?metaObject@QTextBrowser@@UBEPBUQMetaObject@@XZ @ 1710 NONAME ; struct QMetaObject const * QTextBrowser::metaObject(void) const
+ ?boundingRect@QFontMetrics@@QBE?AVQRect@@ABV2@HABVQString@@HPAH@Z @ 1711 NONAME ; class QRect QFontMetrics::boundingRect(class QRect const &, int, class QString const &, int, int *) const
+ ??9QGradient@@QBE_NABV0@@Z @ 1712 NONAME ; bool QGradient::operator!=(class QGradient const &) const
+ ?position@QTextLine@@QBE?AVQPointF@@XZ @ 1713 NONAME ; class QPointF QTextLine::position(void) const
+ ?trUtf8@QSound@@SA?AVQString@@PBD0@Z @ 1714 NONAME ; class QString QSound::trUtf8(char const *, char const *)
+ ?drawPolyline@QPainter@@QAEXPBVQPointF@@H@Z @ 1715 NONAME ; void QPainter::drawPolyline(class QPointF const *, int)
+ ?setCursor_sys@QWidgetPrivate@@QAEXABVQCursor@@@Z @ 1716 NONAME ; void QWidgetPrivate::setCursor_sys(class QCursor const &)
+ ?tr@QSessionManager@@SA?AVQString@@PBD0H@Z @ 1717 NONAME ; class QString QSessionManager::tr(char const *, char const *, int)
+ ?setEditText@QComboBox@@QAEXABVQString@@@Z @ 1718 NONAME ; void QComboBox::setEditText(class QString const &)
+ ?navigationMode@QApplicationPrivate@@2W4NavigationMode@Qt@@A @ 1719 NONAME ; enum Qt::NavigationMode QApplicationPrivate::navigationMode
+ ??_EQTextBrowser@@UAE@I@Z @ 1720 NONAME ; QTextBrowser::~QTextBrowser(unsigned int)
+ ?d_func@QGraphicsBlurEffect@@AAEPAVQGraphicsBlurEffectPrivate@@XZ @ 1721 NONAME ; class QGraphicsBlurEffectPrivate * QGraphicsBlurEffect::d_func(void)
+ ?getOpaqueChildren@QWidgetPrivate@@QBEABVQRegion@@XZ @ 1722 NONAME ; class QRegion const & QWidgetPrivate::getOpaqueChildren(void) const
+ ?trUtf8@QWidgetAction@@SA?AVQString@@PBD0@Z @ 1723 NONAME ; class QString QWidgetAction::trUtf8(char const *, char const *)
+ ?end@QLineControl@@QBEHXZ @ 1724 NONAME ; int QLineControl::end(void) const
+ ?addToGroup@QGraphicsItemGroup@@QAEXPAVQGraphicsItem@@@Z @ 1725 NONAME ; void QGraphicsItemGroup::addToGroup(class QGraphicsItem *)
+ ?d_func@QSwipeGesture@@ABEPBVQSwipeGesturePrivate@@XZ @ 1726 NONAME ; class QSwipeGesturePrivate const * QSwipeGesture::d_func(void) const
+ ?setNumColumns@QTextLine@@QAEXH@Z @ 1727 NONAME ; void QTextLine::setNumColumns(int)
+ ?indexes@QItemSelection@@QBE?AV?$QList@VQModelIndex@@@@XZ @ 1728 NONAME ; class QList<class QModelIndex> QItemSelection::indexes(void) const
+ ?atBlockEnd@QTextCursor@@QBE_NXZ @ 1729 NONAME ; bool QTextCursor::atBlockEnd(void) const
+ ?effectiveOpacity@QGraphicsItemPrivate@@QBEMXZ @ 1730 NONAME ; float QGraphicsItemPrivate::effectiveOpacity(void) const
+ ?pixelMetric@QCommonStyle@@UBEHW4PixelMetric@QStyle@@PBVQStyleOption@@PBVQWidget@@@Z @ 1731 NONAME ; int QCommonStyle::pixelMetric(enum QStyle::PixelMetric, class QStyleOption const *, class QWidget const *) const
+ ?stop@QSound@@QAEXXZ @ 1732 NONAME ; void QSound::stop(void)
+ ?description@QInputContextFactory@@SA?AVQString@@ABV2@@Z @ 1733 NONAME ; class QString QInputContextFactory::description(class QString const &)
+ ?insertItem@QGraphicsLinearLayout@@QAEXHPAVQGraphicsLayoutItem@@@Z @ 1734 NONAME ; void QGraphicsLinearLayout::insertItem(int, class QGraphicsLayoutItem *)
+ ??0QKeySequence@@QAE@ABVQString@@@Z @ 1735 NONAME ; QKeySequence::QKeySequence(class QString const &)
+ ??0QTextImageFormat@@IAE@ABVQTextFormat@@@Z @ 1736 NONAME ; QTextImageFormat::QTextImageFormat(class QTextFormat const &)
+ ?setVerticalHeaderLabels@QStandardItemModel@@QAEXABVQStringList@@@Z @ 1737 NONAME ; void QStandardItemModel::setVerticalHeaderLabels(class QStringList const &)
+ ??_EQSortFilterProxyModel@@UAE@I@Z @ 1738 NONAME ; QSortFilterProxyModel::~QSortFilterProxyModel(unsigned int)
+ ?paintEvent@QWorkspace@@MAEXPAVQPaintEvent@@@Z @ 1739 NONAME ; void QWorkspace::paintEvent(class QPaintEvent *)
+ ??0QPaintEngineEx@@IAE@AAVQPaintEngineExPrivate@@@Z @ 1740 NONAME ; QPaintEngineEx::QPaintEngineEx(class QPaintEngineExPrivate &)
+ ?setDescription@QPictureIO@@QAEXABVQString@@@Z @ 1741 NONAME ; void QPictureIO::setDescription(class QString const &)
+ ?clone@QTreeWidgetItem@@UBEPAV1@XZ @ 1742 NONAME ; class QTreeWidgetItem * QTreeWidgetItem::clone(void) const
+ ?qt_metacall@QGroupBox@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 1743 NONAME ; int QGroupBox::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?headerTextFormat@QCalendarWidget@@QBE?AVQTextCharFormat@@XZ @ 1744 NONAME ; class QTextCharFormat QCalendarWidget::headerTextFormat(void) const
+ ?opaqueResize@QSplitter@@QBE_NXZ @ 1745 NONAME ; bool QSplitter::opaqueResize(void) const
+ ?setClickable@QHeaderView@@QAEX_N@Z @ 1746 NONAME ; void QHeaderView::setClickable(bool)
+ ?mapToScene@QGraphicsItem@@QBE?AVQPointF@@MM@Z @ 1747 NONAME ; class QPointF QGraphicsItem::mapToScene(float, float) const
+ ?sizeHintForIndex@QAbstractItemView@@QBE?AVQSize@@ABVQModelIndex@@@Z @ 1748 NONAME ; class QSize QAbstractItemView::sizeHintForIndex(class QModelIndex const &) const
+ ?setTabStop@QTextOption@@QAEXM@Z @ 1749 NONAME ; void QTextOption::setTabStop(float)
+ ?textFromDateTime@QDateTimeEdit@@MBE?AVQString@@ABVQDateTime@@@Z @ 1750 NONAME ; class QString QDateTimeEdit::textFromDateTime(class QDateTime const &) const
+ ?setText@QListWidgetItem@@QAEXABVQString@@@Z @ 1751 NONAME ; void QListWidgetItem::setText(class QString const &)
+ ?setCommitString@QInputMethodEvent@@QAEXABVQString@@HH@Z @ 1752 NONAME ; void QInputMethodEvent::setCommitString(class QString const &, int, int)
+ ?qt_qscrollbarStyleOption@@YA?AVQStyleOptionSlider@@PAVQScrollBar@@@Z @ 1753 NONAME ; class QStyleOptionSlider qt_qscrollbarStyleOption(class QScrollBar *)
+ ?isEmpty@QWidgetItem@@UBE_NXZ @ 1754 NONAME ; bool QWidgetItem::isEmpty(void) const
+ ?brush@QPalette@@QBEABVQBrush@@W4ColorGroup@1@W4ColorRole@1@@Z @ 1755 NONAME ; class QBrush const & QPalette::brush(enum QPalette::ColorGroup, enum QPalette::ColorRole) const
+ ?setRevision@QTextBlock@@QAEXH@Z @ 1756 NONAME ; void QTextBlock::setRevision(int)
+ ?detailedText@QMessageBox@@QBE?AVQString@@XZ @ 1757 NONAME ; class QString QMessageBox::detailedText(void) const
+ ?toPoint@QVector4D@@QBE?AVQPoint@@XZ @ 1758 NONAME ; class QPoint QVector4D::toPoint(void) const
+ ?contentsRect@QGraphicsLayoutItem@@QBE?AVQRectF@@XZ @ 1759 NONAME ; class QRectF QGraphicsLayoutItem::contentsRect(void) const
+ ??0QWidgetAction@@QAE@PAVQObject@@@Z @ 1760 NONAME ; QWidgetAction::QWidgetAction(class QObject *)
+ ?extension@QGraphicsPathItem@@MBE?AVQVariant@@ABV2@@Z @ 1761 NONAME ; class QVariant QGraphicsPathItem::extension(class QVariant const &) const
+ ?minimumTitleWidth@QDockWidgetLayout@@QBEHXZ @ 1762 NONAME ; int QDockWidgetLayout::minimumTitleWidth(void) const
+ ?m31@QTransform@@QBEMXZ @ 1763 NONAME ; float QTransform::m31(void) const
+ ?lengthSquared@QVector2D@@QBEMXZ @ 1764 NONAME ; float QVector2D::lengthSquared(void) const
+ ??0QVector3D@@QAE@ABVQVector2D@@@Z @ 1765 NONAME ; QVector3D::QVector3D(class QVector2D const &)
+ ?before@QActionEvent@@QBEPAVQAction@@XZ @ 1766 NONAME ; class QAction * QActionEvent::before(void) const
+ ??0QGraphicsSceneContextMenuEvent@@QAE@W4Type@QEvent@@@Z @ 1767 NONAME ; QGraphicsSceneContextMenuEvent::QGraphicsSceneContextMenuEvent(enum QEvent::Type)
+ ?updateRequest@QTextControl@@IAEXABVQRectF@@@Z @ 1768 NONAME ; void QTextControl::updateRequest(class QRectF const &)
+ ?setSelectionModel@QTreeWidget@@UAEXPAVQItemSelectionModel@@@Z @ 1769 NONAME ; void QTreeWidget::setSelectionModel(class QItemSelectionModel *)
+ ?minimumSizeHint@QInputDialog@@UBE?AVQSize@@XZ @ 1770 NONAME ; class QSize QInputDialog::minimumSizeHint(void) const
+ ??4QIcon@@QAEAAV0@ABV0@@Z @ 1771 NONAME ; class QIcon & QIcon::operator=(class QIcon const &)
+ ??0QGraphicsLayoutItem@@IAE@AAVQGraphicsLayoutItemPrivate@@@Z @ 1772 NONAME ; QGraphicsLayoutItem::QGraphicsLayoutItem(class QGraphicsLayoutItemPrivate &)
+ ?fill@QPixmap@@QAEXABVQColor@@@Z @ 1773 NONAME ; void QPixmap::fill(class QColor const &)
+ ?qDrawWinButton@@YAXPAVQPainter@@ABVQRect@@ABVQPalette@@_NPBVQBrush@@@Z @ 1774 NONAME ; void qDrawWinButton(class QPainter *, class QRect const &, class QPalette const &, bool, class QBrush const *)
+ ?joinStyle@QPen@@QBE?AW4PenJoinStyle@Qt@@XZ @ 1775 NONAME ; enum Qt::PenJoinStyle QPen::joinStyle(void) const
+ ?trUtf8@QLayout@@SA?AVQString@@PBD0@Z @ 1776 NONAME ; class QString QLayout::trUtf8(char const *, char const *)
+ ?uniformRowHeights@QTreeView@@QBE_NXZ @ 1777 NONAME ; bool QTreeView::uniformRowHeights(void) const
+ ?itemIndexMethod@QGraphicsScene@@QBE?AW4ItemIndexMethod@1@XZ @ 1778 NONAME ; enum QGraphicsScene::ItemIndexMethod QGraphicsScene::itemIndexMethod(void) const
+ ??YQRegion@@QAEAAV0@ABVQRect@@@Z @ 1779 NONAME ; class QRegion & QRegion::operator+=(class QRect const &)
+ ?destroyItemGroup@QGraphicsScene@@QAEXPAVQGraphicsItemGroup@@@Z @ 1780 NONAME ; void QGraphicsScene::destroyItemGroup(class QGraphicsItemGroup *)
+ ??5@YAAAVQDataStream@@AAV0@AAVQTextFormat@@@Z @ 1781 NONAME ; class QDataStream & operator>>(class QDataStream &, class QTextFormat &)
+ ??_EQDoubleValidator@@UAE@I@Z @ 1782 NONAME ; QDoubleValidator::~QDoubleValidator(unsigned int)
+ ?supportsOption@QImageIOHandler@@UBE_NW4ImageOption@1@@Z @ 1783 NONAME ; bool QImageIOHandler::supportsOption(enum QImageIOHandler::ImageOption) const
+ ?show_recursive@QWidgetPrivate@@QAEXXZ @ 1784 NONAME ; void QWidgetPrivate::show_recursive(void)
+ ?backgroundVisible@QPlainTextEdit@@QBE_NXZ @ 1785 NONAME ; bool QPlainTextEdit::backgroundVisible(void) const
+ ?sizeHint@QLabel@@UBE?AVQSize@@XZ @ 1786 NONAME ; class QSize QLabel::sizeHint(void) const
+ ?getStaticMetaObject@QMenu@@SAABUQMetaObject@@XZ @ 1787 NONAME ; struct QMetaObject const & QMenu::getStaticMetaObject(void)
+ ?staticMetaObject@QDirModel@@2UQMetaObject@@B @ 1788 NONAME ; struct QMetaObject const QDirModel::staticMetaObject
+ ??BQVector3D@@QBE?AVQVariant@@XZ @ 1789 NONAME ; QVector3D::operator class QVariant(void) const
+ ?d_func@QPainter@@ABEPBVQPainterPrivate@@XZ @ 1790 NONAME ; class QPainterPrivate const * QPainter::d_func(void) const
+ ?currentIndex@QCompleter@@QBE?AVQModelIndex@@XZ @ 1791 NONAME ; class QModelIndex QCompleter::currentIndex(void) const
+ ?setGraphicsItem@QGraphicsLayoutItem@@IAEXPAVQGraphicsItem@@@Z @ 1792 NONAME ; void QGraphicsLayoutItem::setGraphicsItem(class QGraphicsItem *)
+ ?setBorderBrush@QTextFrameFormat@@QAEXABVQBrush@@@Z @ 1793 NONAME ; void QTextFrameFormat::setBorderBrush(class QBrush const &)
+ ?isMovable@QTabBar@@QBE_NXZ @ 1794 NONAME ; bool QTabBar::isMovable(void) const
+ ?columnCount@QStandardItemModel@@UBEHABVQModelIndex@@@Z @ 1795 NONAME ; int QStandardItemModel::columnCount(class QModelIndex const &) const
+ ?rotate@QMatrix4x4@@QAEAAV1@MMMM@Z @ 1796 NONAME ; class QMatrix4x4 & QMatrix4x4::rotate(float, float, float, float)
+ ?alignment@QTextTableFormat@@QBE?AV?$QFlags@W4AlignmentFlag@Qt@@@@XZ @ 1797 NONAME ; class QFlags<enum Qt::AlignmentFlag> QTextTableFormat::alignment(void) const
+ ?copy@QRegion@@ABE?AV1@XZ @ 1798 NONAME ; class QRegion QRegion::copy(void) const
+ ?height@QLineControl@@QBEHXZ @ 1799 NONAME ; int QLineControl::height(void) const
+ ?data_ptr@QPixmap@@QAEAAV?$QExplicitlySharedDataPointer@VQPixmapData@@@@XZ @ 1800 NONAME ; class QExplicitlySharedDataPointer<class QPixmapData> & QPixmap::data_ptr(void)
+ ?valueFromText@QSpinBox@@MBEHABVQString@@@Z @ 1801 NONAME ; int QSpinBox::valueFromText(class QString const &) const
+ ?completionCount@QCompleter@@QBEHXZ @ 1802 NONAME ; int QCompleter::completionCount(void) const
+ ??_EQBoxLayout@@UAE@I@Z @ 1803 NONAME ; QBoxLayout::~QBoxLayout(unsigned int)
+ ?normalized@QVector4D@@QBE?AV1@XZ @ 1804 NONAME ; class QVector4D QVector4D::normalized(void) const
+ ?glyphCache@QFontEngine@@QBEPAVQFontEngineGlyphCache@@W4Type@2@ABVQTransform@@@Z @ 1805 NONAME ; class QFontEngineGlyphCache * QFontEngine::glyphCache(enum QFontEngineGlyphCache::Type, class QTransform const &) const
+ ?getStaticMetaObject@QActionGroup@@SAABUQMetaObject@@XZ @ 1806 NONAME ; struct QMetaObject const & QActionGroup::getStaticMetaObject(void)
+ ??9QItemSelectionRange@@QBE_NABV0@@Z @ 1807 NONAME ; bool QItemSelectionRange::operator!=(class QItemSelectionRange const &) const
+ ?visualRegionForSelection@QHeaderView@@MBE?AVQRegion@@ABVQItemSelection@@@Z @ 1808 NONAME ; class QRegion QHeaderView::visualRegionForSelection(class QItemSelection const &) const
+ ??1QLinearGradient@@QAE@XZ @ 1809 NONAME ; QLinearGradient::~QLinearGradient(void)
+ ?navigationMode@QApplication@@SA?AW4NavigationMode@Qt@@XZ @ 1810 NONAME ; enum Qt::NavigationMode QApplication::navigationMode(void)
+ ?takeRow@QStandardItem@@QAE?AV?$QList@PAVQStandardItem@@@@H@Z @ 1811 NONAME ; class QList<class QStandardItem *> QStandardItem::takeRow(int)
+ ?setLayoutData@QTextFrame@@QAEXPAVQTextFrameLayoutData@@@Z @ 1812 NONAME ; void QTextFrame::setLayoutData(class QTextFrameLayoutData *)
+ ?textKeys@QImage@@QBE?AVQStringList@@XZ @ 1813 NONAME ; class QStringList QImage::textKeys(void) const
+ ?height@QPixmap@@QBEHXZ @ 1814 NONAME ; int QPixmap::height(void) const
+ ?setPreeditArea@QLineControl@@QAEXHABVQString@@@Z @ 1815 NONAME ; void QLineControl::setPreeditArea(int, class QString const &)
+ ?trUtf8@QCompleter@@SA?AVQString@@PBD0@Z @ 1816 NONAME ; class QString QCompleter::trUtf8(char const *, char const *)
+ ?mouseReleaseEvent@QLabel@@MAEXPAVQMouseEvent@@@Z @ 1817 NONAME ; void QLabel::mouseReleaseEvent(class QMouseEvent *)
+ ?toggle@QAction@@QAEXXZ @ 1818 NONAME ; void QAction::toggle(void)
+ ?setItemDelegateForColumn@QAbstractItemView@@QAEXHPAVQAbstractItemDelegate@@@Z @ 1819 NONAME ; void QAbstractItemView::setItemDelegateForColumn(int, class QAbstractItemDelegate *)
+ ?createMaskFromColor@QPixmap@@QBE?AVQBitmap@@ABVQColor@@@Z @ 1820 NONAME ; class QBitmap QPixmap::createMaskFromColor(class QColor const &) const
+ ?columnStretchFactor@QGraphicsGridLayout@@QBEHH@Z @ 1821 NONAME ; int QGraphicsGridLayout::columnStretchFactor(int) const
+ ?isIdentity@QTransform@@QBE_NXZ @ 1822 NONAME ; bool QTransform::isIdentity(void) const
+ ?drawPie@QPainter@@QAEXHHHHHH@Z @ 1823 NONAME ; void QPainter::drawPie(int, int, int, int, int, int)
+ ?cubicTo@QStrokerOps@@QAEXMMMMMM@Z @ 1824 NONAME ; void QStrokerOps::cubicTo(float, float, float, float, float, float)
+ ?setFocalPoint@QRadialGradient@@QAEXMM@Z @ 1825 NONAME ; void QRadialGradient::setFocalPoint(float, float)
+ ?type@QGraphicsEllipseItem@@UBEHXZ @ 1826 NONAME ; int QGraphicsEllipseItem::type(void) const
+ ?insertItem@QListWidget@@QAEXHABVQString@@@Z @ 1827 NONAME ; void QListWidget::insertItem(int, class QString const &)
+ ?directory@QFileDialog@@QBE?AVQDir@@XZ @ 1828 NONAME ; class QDir QFileDialog::directory(void) const
+ ?d_func@QTextObject@@AAEPAVQTextObjectPrivate@@XZ @ 1829 NONAME ; class QTextObjectPrivate * QTextObject::d_func(void)
+ ??0QGraphicsEffect@@QAE@PAVQObject@@@Z @ 1830 NONAME ; QGraphicsEffect::QGraphicsEffect(class QObject *)
+ ?inverted@QMatrix@@QBE?AV1@PA_N@Z @ 1831 NONAME ; class QMatrix QMatrix::inverted(bool *) const
+ ?replacementStart@QInputMethodEvent@@QBEHXZ @ 1832 NONAME ; int QInputMethodEvent::replacementStart(void) const
+ ?keyPressEvent@QComboBox@@MAEXPAVQKeyEvent@@@Z @ 1833 NONAME ; void QComboBox::keyPressEvent(class QKeyEvent *)
+ ?fontKerning@QTextCharFormat@@QBE_NXZ @ 1834 NONAME ; bool QTextCharFormat::fontKerning(void) const
+ ?setDefaultFont@QTextFormatCollection@@QAEXABVQFont@@@Z @ 1835 NONAME ; void QTextFormatCollection::setDefaultFont(class QFont const &)
+ ??8QFontMetrics@@QBE_NABV0@@Z @ 1836 NONAME ; bool QFontMetrics::operator==(class QFontMetrics const &) const
+ ??0QGestureRecognizer@@QAE@XZ @ 1837 NONAME ; QGestureRecognizer::QGestureRecognizer(void)
+ ?setText@QLabel@@QAEXABVQString@@@Z @ 1838 NONAME ; void QLabel::setText(class QString const &)
+ ?scroll@QGraphicsItem@@QAEXMMABVQRectF@@@Z @ 1839 NONAME ; void QGraphicsItem::scroll(float, float, class QRectF const &)
+ ?resize@QRasterPixmapData@@UAEXHH@Z @ 1840 NONAME ; void QRasterPixmapData::resize(int, int)
+ ?warning@QMessageBox@@SA?AW4StandardButton@1@PAVQWidget@@ABVQString@@1V?$QFlags@W4StandardButton@QMessageBox@@@@W421@@Z @ 1841 NONAME ; enum QMessageBox::StandardButton QMessageBox::warning(class QWidget *, class QString const &, class QString const &, class QFlags<enum QMessageBox::StandardButton>, enum QMessageBox::StandardButton)
+ ?d_func@QStatusBar@@AAEPAVQStatusBarPrivate@@XZ @ 1842 NONAME ; class QStatusBarPrivate * QStatusBar::d_func(void)
+ ?drawPolygon@QPainter@@QAEXPBVQPointF@@HW4FillRule@Qt@@@Z @ 1843 NONAME ; void QPainter::drawPolygon(class QPointF const *, int, enum Qt::FillRule)
+ ?passwordEchoEditing@QLineControl@@QBE_NXZ @ 1844 NONAME ; bool QLineControl::passwordEchoEditing(void) const
+ ?setWindowIcon@QApplication@@SAXABVQIcon@@@Z @ 1845 NONAME ; void QApplication::setWindowIcon(class QIcon const &)
+ ?saveInputEvent@QEventDispatcherS60@@QAEXPAVQSymbianControl@@PAVQWidget@@PAVQInputEvent@@@Z @ 1846 NONAME ; void QEventDispatcherS60::saveInputEvent(class QSymbianControl *, class QWidget *, class QInputEvent *)
+ ?setImage@QClipboard@@QAEXABVQImage@@W4Mode@1@@Z @ 1847 NONAME ; void QClipboard::setImage(class QImage const &, enum QClipboard::Mode)
+ ?metaObject@QFileDialog@@UBEPBUQMetaObject@@XZ @ 1848 NONAME ; struct QMetaObject const * QFileDialog::metaObject(void) const
+ ??_EQBitmap@@UAE@I@Z @ 1849 NONAME ; QBitmap::~QBitmap(unsigned int)
+ ?d_func@QAction@@AAEPAVQActionPrivate@@XZ @ 1850 NONAME ; class QActionPrivate * QAction::d_func(void)
+ ?textBeforeSelection@QLineControl@@QBE?AVQString@@XZ @ 1851 NONAME ; class QString QLineControl::textBeforeSelection(void) const
+ ??_EQTabBar@@UAE@I@Z @ 1852 NONAME ; QTabBar::~QTabBar(unsigned int)
+ ?qt_metacall@QGraphicsObject@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 1853 NONAME ; int QGraphicsObject::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?setStartPos@TouchPoint@QTouchEvent@@QAEXABVQPointF@@@Z @ 1854 NONAME ; void QTouchEvent::TouchPoint::setStartPos(class QPointF const &)
+ ?drawPrimitive@QProxyStyle@@UBEXW4PrimitiveElement@QStyle@@PBVQStyleOption@@PAVQPainter@@PBVQWidget@@@Z @ 1855 NONAME ; void QProxyStyle::drawPrimitive(enum QStyle::PrimitiveElement, class QStyleOption const *, class QPainter *, class QWidget const *) const
+ ?hitTest@QTextControl@@UBEHABVQPointF@@W4HitTestAccuracy@Qt@@@Z @ 1856 NONAME ; int QTextControl::hitTest(class QPointF const &, enum Qt::HitTestAccuracy) const
+ ?toolTip@QWidget@@QBE?AVQString@@XZ @ 1857 NONAME ; class QString QWidget::toolTip(void) const
+ ?buffer@QWindowSurface@@UAEPAVQImage@@PBVQWidget@@@Z @ 1858 NONAME ; class QImage * QWindowSurface::buffer(class QWidget const *)
+ ?setEmptyCachedClipPathRecursively@QGraphicsItemPrivate@@QAEXABVQRectF@@@Z @ 1859 NONAME ; void QGraphicsItemPrivate::setEmptyCachedClipPathRecursively(class QRectF const &)
+ ?setModel@QComboBox@@QAEXPAVQAbstractItemModel@@@Z @ 1860 NONAME ; void QComboBox::setModel(class QAbstractItemModel *)
+ ?d_func@QGraphicsSceneHelpEvent@@AAEPAVQGraphicsSceneHelpEventPrivate@@XZ @ 1861 NONAME ; class QGraphicsSceneHelpEventPrivate * QGraphicsSceneHelpEvent::d_func(void)
+ ?rootIndex@QAbstractItemView@@QBE?AVQModelIndex@@XZ @ 1862 NONAME ; class QModelIndex QAbstractItemView::rootIndex(void) const
+ ?drawPixmap@QPainter@@QAEXABVQPointF@@ABVQPixmap@@ABVQRectF@@@Z @ 1863 NONAME ; void QPainter::drawPixmap(class QPointF const &, class QPixmap const &, class QRectF const &)
+ ?focusInEvent@QAbstractSpinBox@@MAEXPAVQFocusEvent@@@Z @ 1864 NONAME ; void QAbstractSpinBox::focusInEvent(class QFocusEvent *)
+ ?parseClass@Parser@QCss@@QAE_NPAVQString@@@Z @ 1865 NONAME ; bool QCss::Parser::parseClass(class QString *)
+ ?mouseReleaseEvent@QMenuBar@@MAEXPAVQMouseEvent@@@Z @ 1866 NONAME ; void QMenuBar::mouseReleaseEvent(class QMouseEvent *)
+ ?elidedText@QTextEngine@@QBE?AVQString@@W4TextElideMode@Qt@@ABUQFixed@@H@Z @ 1867 NONAME ; class QString QTextEngine::elidedText(enum Qt::TextElideMode, struct QFixed const &, int) const
+ ??1QImage@@UAE@XZ @ 1868 NONAME ; QImage::~QImage(void)
+ ?tr@QPixmapConvolutionFilter@@SA?AVQString@@PBD0@Z @ 1869 NONAME ; class QString QPixmapConvolutionFilter::tr(char const *, char const *)
+ ?setTextCursor@QTextControl@@QAEXABVQTextCursor@@@Z @ 1870 NONAME ; void QTextControl::setTextCursor(class QTextCursor const &)
+ ?mouseReleaseEvent@QTabBar@@MAEXPAVQMouseEvent@@@Z @ 1871 NONAME ; void QTabBar::mouseReleaseEvent(class QMouseEvent *)
+ ?d_func@QGraphicsSceneContextMenuEvent@@AAEPAVQGraphicsSceneContextMenuEventPrivate@@XZ @ 1872 NONAME ; class QGraphicsSceneContextMenuEventPrivate * QGraphicsSceneContextMenuEvent::d_func(void)
+ ?setSizeGripEnabled@QStatusBar@@QAEX_N@Z @ 1873 NONAME ; void QStatusBar::setSizeGripEnabled(bool)
+ ??4QStyleOptionSizeGrip@@QAEAAV0@ABV0@@Z @ 1874 NONAME ; class QStyleOptionSizeGrip & QStyleOptionSizeGrip::operator=(class QStyleOptionSizeGrip const &)
+ ?rootDirectory@QFileSystemModel@@QBE?AVQDir@@XZ @ 1875 NONAME ; class QDir QFileSystemModel::rootDirectory(void) const
+ ?mimeTypes@QFileSystemModel@@UBE?AVQStringList@@XZ @ 1876 NONAME ; class QStringList QFileSystemModel::mimeTypes(void) const
+ ?syncX@QApplication@@SAXXZ @ 1877 NONAME ; void QApplication::syncX(void)
+ ?maxWidth@QFontMetricsF@@QBEMXZ @ 1878 NONAME ; float QFontMetricsF::maxWidth(void) const
+ ?drawWidget@QWidgetPrivate@@QAEXPAVQPaintDevice@@ABVQRegion@@ABVQPoint@@HPAVQPainter@@PAVQWidgetBackingStore@@@Z @ 1879 NONAME ; void QWidgetPrivate::drawWidget(class QPaintDevice *, class QRegion const &, class QPoint const &, int, class QPainter *, class QWidgetBackingStore *)
+ ?currentCompletion@QCompleter@@QBE?AVQString@@XZ @ 1880 NONAME ; class QString QCompleter::currentCompletion(void) const
+ ?inverted@QMatrix4x4@@QBE?AV1@PA_N@Z @ 1881 NONAME ; class QMatrix4x4 QMatrix4x4::inverted(bool *) const
+ ?qt_metacall@QGesture@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 1882 NONAME ; int QGesture::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?setPreferredSize@QGraphicsLayoutItem@@QAEXMM@Z @ 1883 NONAME ; void QGraphicsLayoutItem::setPreferredSize(float, float)
+ ?giveFocusAccordingToFocusPolicy@QApplicationPrivate@@CAXPAVQWidget@@W4FocusPolicy@Qt@@W4FocusReason@4@@Z @ 1884 NONAME ; void QApplicationPrivate::giveFocusAccordingToFocusPolicy(class QWidget *, enum Qt::FocusPolicy, enum Qt::FocusReason)
+ ?showEvent@QMessageBox@@MAEXPAVQShowEvent@@@Z @ 1885 NONAME ; void QMessageBox::showEvent(class QShowEvent *)
+ ?trUtf8@QFontComboBox@@SA?AVQString@@PBD0@Z @ 1886 NONAME ; class QString QFontComboBox::trUtf8(char const *, char const *)
+ ?getText@QInputDialog@@SA?AVQString@@PAVQWidget@@ABV2@1W4EchoMode@QLineEdit@@1PA_NV?$QFlags@W4WindowType@Qt@@@@@Z @ 1887 NONAME ; class QString QInputDialog::getText(class QWidget *, class QString const &, class QString const &, enum QLineEdit::EchoMode, class QString const &, bool *, class QFlags<enum Qt::WindowType>)
+ ?isButtonDown@QWidgetResizeHandler@@QBE_NXZ @ 1888 NONAME ; bool QWidgetResizeHandler::isButtonDown(void) const
+ ?d_func@QColorDialog@@AAEPAVQColorDialogPrivate@@XZ @ 1889 NONAME ; class QColorDialogPrivate * QColorDialog::d_func(void)
+ ??0QStyleOptionFocusRect@@QAE@ABV0@@Z @ 1890 NONAME ; QStyleOptionFocusRect::QStyleOptionFocusRect(class QStyleOptionFocusRect const &)
+ ?d_func@QPixmapConvolutionFilter@@ABEPBVQPixmapConvolutionFilterPrivate@@XZ @ 1891 NONAME ; class QPixmapConvolutionFilterPrivate const * QPixmapConvolutionFilter::d_func(void) const
+ ?d_func@QGraphicsScale@@AAEPAVQGraphicsScalePrivate@@XZ @ 1892 NONAME ; class QGraphicsScalePrivate * QGraphicsScale::d_func(void)
+ ?setTabIcon@QTabWidget@@QAEXHABVQIcon@@@Z @ 1893 NONAME ; void QTabWidget::setTabIcon(int, class QIcon const &)
+ ??0QStyleOptionProgressBarV2@@QAE@ABV0@@Z @ 1894 NONAME ; QStyleOptionProgressBarV2::QStyleOptionProgressBarV2(class QStyleOptionProgressBarV2 const &)
+ ?detach@QPicture@@QAEXXZ @ 1895 NONAME ; void QPicture::detach(void)
+ ??0QMdiArea@@QAE@PAVQWidget@@@Z @ 1896 NONAME ; QMdiArea::QMdiArea(class QWidget *)
+ ?accept@QDialog@@UAEXXZ @ 1897 NONAME ; void QDialog::accept(void)
+ ?text@QClipboard@@QBE?AVQString@@AAV2@W4Mode@1@@Z @ 1898 NONAME ; class QString QClipboard::text(class QString &, enum QClipboard::Mode) const
+ ??0QStackedLayout@@QAE@PAVQWidget@@@Z @ 1899 NONAME ; QStackedLayout::QStackedLayout(class QWidget *)
+ ?widgetInNavigationDirection@QWidgetPrivate@@SAPAVQWidget@@W4Direction@1@@Z @ 1900 NONAME ; class QWidget * QWidgetPrivate::widgetInNavigationDirection(enum QWidgetPrivate::Direction)
+ ??0QTextOption@@QAE@ABV0@@Z @ 1901 NONAME ; QTextOption::QTextOption(class QTextOption const &)
+ ?setResizeGripsVisible@QColumnView@@QAEX_N@Z @ 1902 NONAME ; void QColumnView::setResizeGripsVisible(bool)
+ ??_EQApplication@@UAE@I@Z @ 1903 NONAME ; QApplication::~QApplication(unsigned int)
+ ?staticMetaObject@QImageIOPlugin@@2UQMetaObject@@B @ 1904 NONAME ; struct QMetaObject const QImageIOPlugin::staticMetaObject
+ ?staticMetaObject@QColumnView@@2UQMetaObject@@B @ 1905 NONAME ; struct QMetaObject const QColumnView::staticMetaObject
+ ?getFont@QFontDialog@@SA?AVQFont@@PA_NABV2@PAVQWidget@@ABVQString@@@Z @ 1906 NONAME ; class QFont QFontDialog::getFont(bool *, class QFont const &, class QWidget *, class QString const &)
+ ?setAutoSipEnabled@QApplication@@QAEX_N@Z @ 1907 NONAME ; void QApplication::setAutoSipEnabled(bool)
+ ?tr@QAbstractButton@@SA?AVQString@@PBD0@Z @ 1908 NONAME ; class QString QAbstractButton::tr(char const *, char const *)
+ ?joinStyle@QPainterPathStroker@@QBE?AW4PenJoinStyle@Qt@@XZ @ 1909 NONAME ; enum Qt::PenJoinStyle QPainterPathStroker::joinStyle(void) const
+ ?mimeTypes@QTreeWidget@@MBE?AVQStringList@@XZ @ 1910 NONAME ; class QStringList QTreeWidget::mimeTypes(void) const
+ ?keyPressEvent@QAbstractButton@@MAEXPAVQKeyEvent@@@Z @ 1911 NONAME ; void QAbstractButton::keyPressEvent(class QKeyEvent *)
+ ?initialize@QHeaderView@@IAEXXZ @ 1912 NONAME ; void QHeaderView::initialize(void)
+ ?y@QGraphicsItem@@QBEMXZ @ 1913 NONAME ; float QGraphicsItem::y(void) const
+ ??0QPlainTextEdit@@IAE@AAVQPlainTextEditPrivate@@PAVQWidget@@@Z @ 1914 NONAME ; QPlainTextEdit::QPlainTextEdit(class QPlainTextEditPrivate &, class QWidget *)
+ ??0QDateEdit@@QAE@ABVQDate@@PAVQWidget@@@Z @ 1915 NONAME ; QDateEdit::QDateEdit(class QDate const &, class QWidget *)
+ ?setCalendarPopup@QDateTimeEdit@@QAEX_N@Z @ 1916 NONAME ; void QDateTimeEdit::setCalendarPopup(bool)
+ ?cursorWordForward@QLineEdit@@QAEX_N@Z @ 1917 NONAME ; void QLineEdit::cursorWordForward(bool)
+ ??0iterator@QTextBlock@@QAE@ABV01@@Z @ 1918 NONAME ; QTextBlock::iterator::iterator(class QTextBlock::iterator const &)
+ ?itemChange@QGraphicsItem@@MAE?AVQVariant@@W4GraphicsItemChange@1@ABV2@@Z @ 1919 NONAME ; class QVariant QGraphicsItem::itemChange(enum QGraphicsItem::GraphicsItemChange, class QVariant const &)
+ ?d_func@QPixmapBlurFilter@@AAEPAVQPixmapBlurFilterPrivate@@XZ @ 1920 NONAME ; class QPixmapBlurFilterPrivate * QPixmapBlurFilter::d_func(void)
+ ?inputContext@QApplicationPrivate@@2PAVQInputContext@@A @ 1921 NONAME ; class QInputContext * QApplicationPrivate::inputContext
+ ?bottom@QIntValidator@@QBEHXZ @ 1922 NONAME ; int QIntValidator::bottom(void) const
+ ?setLastScenePos@QGraphicsSceneMouseEvent@@QAEXABVQPointF@@@Z @ 1923 NONAME ; void QGraphicsSceneMouseEvent::setLastScenePos(class QPointF const &)
+ ?currentChanged@QTreeView@@MAEXABVQModelIndex@@0@Z @ 1924 NONAME ; void QTreeView::currentChanged(class QModelIndex const &, class QModelIndex const &)
+ ?setCurrentItem@QTableWidget@@QAEXPAVQTableWidgetItem@@V?$QFlags@W4SelectionFlag@QItemSelectionModel@@@@@Z @ 1925 NONAME ; void QTableWidget::setCurrentItem(class QTableWidgetItem *, class QFlags<enum QItemSelectionModel::SelectionFlag>)
+ ?items@QGraphicsScene@@QBE?AV?$QList@PAVQGraphicsItem@@@@MMMMW4ItemSelectionMode@Qt@@@Z @ 1926 NONAME ; class QList<class QGraphicsItem *> QGraphicsScene::items(float, float, float, float, enum Qt::ItemSelectionMode) const
+ ?d_func@QCommonStyle@@ABEPBVQCommonStylePrivate@@XZ @ 1927 NONAME ; class QCommonStylePrivate const * QCommonStyle::d_func(void) const
+ ?undo@QLineEdit@@QAEXXZ @ 1928 NONAME ; void QLineEdit::undo(void)
+ ?setAnchorHref@QTextCharFormat@@QAEXABVQString@@@Z @ 1929 NONAME ; void QTextCharFormat::setAnchorHref(class QString const &)
+ ?length@QTextBlock@@QBEHXZ @ 1930 NONAME ; int QTextBlock::length(void) const
+ ?setCurrentIndex@QToolBox@@QAEXH@Z @ 1931 NONAME ; void QToolBox::setCurrentIndex(int)
+ ??0QItemEditorFactory@@QAE@XZ @ 1932 NONAME ; QItemEditorFactory::QItemEditorFactory(void)
+ ?qt_metacall@QImageIOPlugin@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 1933 NONAME ; int QImageIOPlugin::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?setColumnWidthConstraints@QTextTableFormat@@QAEXABV?$QVector@VQTextLength@@@@@Z @ 1934 NONAME ; void QTextTableFormat::setColumnWidthConstraints(class QVector<class QTextLength> const &)
+ ?d_func@QGraphicsSceneMouseEvent@@AAEPAVQGraphicsSceneMouseEventPrivate@@XZ @ 1935 NONAME ; class QGraphicsSceneMouseEventPrivate * QGraphicsSceneMouseEvent::d_func(void)
+ ?transform@QGraphicsView@@QBE?AVQTransform@@XZ @ 1936 NONAME ; class QTransform QGraphicsView::transform(void) const
+ ?actionAt@QMenuBar@@QBEPAVQAction@@ABVQPoint@@@Z @ 1937 NONAME ; class QAction * QMenuBar::actionAt(class QPoint const &) const
+ ?globalX@QMouseEvent@@QBEHXZ @ 1938 NONAME ; int QMouseEvent::globalX(void) const
+ ?keyReleaseEvent@QComboBox@@MAEXPAVQKeyEvent@@@Z @ 1939 NONAME ; void QComboBox::keyReleaseEvent(class QKeyEvent *)
+ ??4iterator@QTextFrame@@QAEAAV01@ABV01@@Z @ 1940 NONAME ; class QTextFrame::iterator & QTextFrame::iterator::operator=(class QTextFrame::iterator const &)
+ ?isPanel@QGraphicsItem@@QBE_NXZ @ 1941 NONAME ; bool QGraphicsItem::isPanel(void) const
+ ??0Key@QPixmapCache@@QAE@ABV01@@Z @ 1942 NONAME ; QPixmapCache::Key::Key(class QPixmapCache::Key const &)
+ ?restoreGeometry@QWidget@@QAE_NABVQByteArray@@@Z @ 1943 NONAME ; bool QWidget::restoreGeometry(class QByteArray const &)
+ ??1QMenu@@UAE@XZ @ 1944 NONAME ; QMenu::~QMenu(void)
+ ?setFormat@QImageWriter@@QAEXABVQByteArray@@@Z @ 1945 NONAME ; void QImageWriter::setFormat(class QByteArray const &)
+ ??0QInputMethodEvent@@QAE@ABV0@@Z @ 1946 NONAME ; QInputMethodEvent::QInputMethodEvent(class QInputMethodEvent const &)
+ ??BQImage@@QBE?AVQVariant@@XZ @ 1947 NONAME ; QImage::operator class QVariant(void) const
+ ?setMovie@QLabel@@QAEXPAVQMovie@@@Z @ 1948 NONAME ; void QLabel::setMovie(class QMovie *)
+ ?setFocusWidget@QInputContext@@UAEXPAVQWidget@@@Z @ 1949 NONAME ; void QInputContext::setFocusWidget(class QWidget *)
+ ?invalidate@QGraphicsGridLayout@@UAEXXZ @ 1950 NONAME ; void QGraphicsGridLayout::invalidate(void)
+ ?tr@QAbstractSlider@@SA?AVQString@@PBD0H@Z @ 1951 NONAME ; class QString QAbstractSlider::tr(char const *, char const *, int)
+ ?valueChanged@QSpinBox@@IAEXH@Z @ 1952 NONAME ; void QSpinBox::valueChanged(int)
+ ?updateGeometry@QGraphicsLayoutItem@@UAEXXZ @ 1953 NONAME ; void QGraphicsLayoutItem::updateGeometry(void)
+ ?adjustPosition@QDialog@@IAEXPAVQWidget@@@Z @ 1954 NONAME ; void QDialog::adjustPosition(class QWidget *)
+ ?shared_empty@QRegion@@0UQRegionData@1@A @ 1955 NONAME ; struct QRegion::QRegionData QRegion::shared_empty
+ ?qt_metacast@QComboBox@@UAEPAXPBD@Z @ 1956 NONAME ; void * QComboBox::qt_metacast(char const *)
+ ?hasSelectedText@QLineEdit@@QBE_NXZ @ 1957 NONAME ; bool QLineEdit::hasSelectedText(void) const
+ ?duplicatesEnabled@QComboBox@@QBE_NXZ @ 1958 NONAME ; bool QComboBox::duplicatesEnabled(void) const
+ ?changeEvent@QLineEdit@@MAEXPAVQEvent@@@Z @ 1959 NONAME ; void QLineEdit::changeEvent(class QEvent *)
+ ?setDateRange@QCalendarWidget@@QAEXABVQDate@@0@Z @ 1960 NONAME ; void QCalendarWidget::setDateRange(class QDate const &, class QDate const &)
+ ?itemAt@QGridLayout@@UBEPAVQLayoutItem@@H@Z @ 1961 NONAME ; class QLayoutItem * QGridLayout::itemAt(int) const
+ ?inputMethodEvent@QLineEdit@@MAEXPAVQInputMethodEvent@@@Z @ 1962 NONAME ; void QLineEdit::inputMethodEvent(class QInputMethodEvent *)
+ ?data@QPicture@@QBEPBDXZ @ 1963 NONAME ; char const * QPicture::data(void) const
+ ?data@QTreeWidgetItem@@UBE?AVQVariant@@HH@Z @ 1964 NONAME ; class QVariant QTreeWidgetItem::data(int, int) const
+ ?setLastPos@QGraphicsSceneMouseEvent@@QAEXABVQPointF@@@Z @ 1965 NONAME ; void QGraphicsSceneMouseEvent::setLastPos(class QPointF const &)
+ ?setAutoRepeat@QAction@@QAEX_N@Z @ 1966 NONAME ; void QAction::setAutoRepeat(bool)
+ ?setCmyk@QColor@@QAEXHHHHH@Z @ 1967 NONAME ; void QColor::setCmyk(int, int, int, int, int)
+ ?kerning@QFont@@QBE_NXZ @ 1968 NONAME ; bool QFont::kerning(void) const
+ ?columnCount@QTreeWidget@@QBEHXZ @ 1969 NONAME ; int QTreeWidget::columnCount(void) const
+ ?alignment@QTextOption@@QBE?AV?$QFlags@W4AlignmentFlag@Qt@@@@XZ @ 1970 NONAME ; class QFlags<enum Qt::AlignmentFlag> QTextOption::alignment(void) const
+ ?drawPolyline@QPainter@@QAEXABVQPolygon@@@Z @ 1971 NONAME ; void QPainter::drawPolyline(class QPolygon const &)
+ ?isSliderDown@QAbstractSlider@@QBE_NXZ @ 1972 NONAME ; bool QAbstractSlider::isSliderDown(void) const
+ ?isEmpty@QLayout@@UBE_NXZ @ 1973 NONAME ; bool QLayout::isEmpty(void) const
+ ?bezierOnInterval@QBezier@@QBE?AV1@MM@Z @ 1974 NONAME ; class QBezier QBezier::bezierOnInterval(float, float) const
+ ?setPosition@QTextCursor@@QAEXHW4MoveMode@1@@Z @ 1975 NONAME ; void QTextCursor::setPosition(int, enum QTextCursor::MoveMode)
+ ?qt_metacast@QSplitter@@UAEPAXPBD@Z @ 1976 NONAME ; void * QSplitter::qt_metacast(char const *)
+ ?buttonClicked@QButtonGroup@@IAEXH@Z @ 1977 NONAME ; void QButtonGroup::buttonClicked(int)
+ ?rowCount@QStandardItem@@QBEHXZ @ 1978 NONAME ; int QStandardItem::rowCount(void) const
+ ?dragMoveEvent@QPlainTextEdit@@MAEXPAVQDragMoveEvent@@@Z @ 1979 NONAME ; void QPlainTextEdit::dragMoveEvent(class QDragMoveEvent *)
+ ?locale@QWidget@@QBE?AVQLocale@@XZ @ 1980 NONAME ; class QLocale QWidget::locale(void) const
+ ?orientation@QWheelEvent@@QBE?AW4Orientation@Qt@@XZ @ 1981 NONAME ; enum Qt::Orientation QWheelEvent::orientation(void) const
+ ?midlight@QPalette@@QBEABVQBrush@@XZ @ 1982 NONAME ; class QBrush const & QPalette::midlight(void) const
+ ?style@QWidget@@QBEPAVQStyle@@XZ @ 1983 NONAME ; class QStyle * QWidget::style(void) const
+ ?items@QTableWidget@@IBE?AV?$QList@PAVQTableWidgetItem@@@@PBVQMimeData@@@Z @ 1984 NONAME ; class QList<class QTableWidgetItem *> QTableWidget::items(class QMimeData const *) const
+ ?setRange@QSpinBox@@QAEXHH@Z @ 1985 NONAME ; void QSpinBox::setRange(int, int)
+ ??0QListView@@IAE@AAVQListViewPrivate@@PAVQWidget@@@Z @ 1986 NONAME ; QListView::QListView(class QListViewPrivate &, class QWidget *)
+ ?toPointF@QVector4D@@QBE?AVQPointF@@XZ @ 1987 NONAME ; class QPointF QVector4D::toPointF(void) const
+ ?getStaticMetaObject@QGraphicsItemAnimation@@SAABUQMetaObject@@XZ @ 1988 NONAME ; struct QMetaObject const & QGraphicsItemAnimation::getStaticMetaObject(void)
+ ?redF@QColor@@QBEMXZ @ 1989 NONAME ; float QColor::redF(void) const
+ ?file@QFileOpenEvent@@QBE?AVQString@@XZ @ 1990 NONAME ; class QString QFileOpenEvent::file(void) const
+ ?testPage@Parser@QCss@@QAE_NXZ @ 1991 NONAME ; bool QCss::Parser::testPage(void)
+ ??1QS60Style@@UAE@XZ @ 1992 NONAME ; QS60Style::~QS60Style(void)
+ ?trUtf8@QSlider@@SA?AVQString@@PBD0@Z @ 1993 NONAME ; class QString QSlider::trUtf8(char const *, char const *)
+ ?testExpr@Parser@QCss@@QAE_NXZ @ 1994 NONAME ; bool QCss::Parser::testExpr(void)
+ ?show@QWidget@@QAEXXZ @ 1995 NONAME ; void QWidget::show(void)
+ ??0QPaintEngine@@IAE@AAVQPaintEnginePrivate@@V?$QFlags@W4PaintEngineFeature@QPaintEngine@@@@@Z @ 1996 NONAME ; QPaintEngine::QPaintEngine(class QPaintEnginePrivate &, class QFlags<enum QPaintEngine::PaintEngineFeature>)
+ ?wheelEvent@QGraphicsView@@MAEXPAVQWheelEvent@@@Z @ 1997 NONAME ; void QGraphicsView::wheelEvent(class QWheelEvent *)
+ ?setAlignment@QTextOption@@QAEXV?$QFlags@W4AlignmentFlag@Qt@@@@@Z @ 1998 NONAME ; void QTextOption::setAlignment(class QFlags<enum Qt::AlignmentFlag>)
+ ??4QFontMetricsF@@QAEAAV0@ABV0@@Z @ 1999 NONAME ; class QFontMetricsF & QFontMetricsF::operator=(class QFontMetricsF const &)
+ ??1QPainterState@@UAE@XZ @ 2000 NONAME ; QPainterState::~QPainterState(void)
+ ?metaObject@QGraphicsWidget@@UBEPBUQMetaObject@@XZ @ 2001 NONAME ; struct QMetaObject const * QGraphicsWidget::metaObject(void) const
+ ??4QImage@@QAEAAV0@ABV0@@Z @ 2002 NONAME ; class QImage & QImage::operator=(class QImage const &)
+ ?setWindowState@QWidget@@QAEXV?$QFlags@W4WindowState@Qt@@@@@Z @ 2003 NONAME ; void QWidget::setWindowState(class QFlags<enum Qt::WindowState>)
+ ??_EQAbstractItemView@@UAE@I@Z @ 2004 NONAME ; QAbstractItemView::~QAbstractItemView(unsigned int)
+ ??0QQuaternion@@QAE@ABVQVector4D@@@Z @ 2005 NONAME ; QQuaternion::QQuaternion(class QVector4D const &)
+ ?setFontCapitalization@QTextCharFormat@@QAEXW4Capitalization@QFont@@@Z @ 2006 NONAME ; void QTextCharFormat::setFontCapitalization(enum QFont::Capitalization)
+ ?encodeString@QKeySequence@@CA?AVQString@@H@Z @ 2007 NONAME ; class QString QKeySequence::encodeString(int)
+ ?init@QWidgetPrivate@@QAEXPAVQWidget@@V?$QFlags@W4WindowType@Qt@@@@@Z @ 2008 NONAME ; void QWidgetPrivate::init(class QWidget *, class QFlags<enum Qt::WindowType>)
+ ?setSizeHint@QTableWidgetItem@@QAEXABVQSize@@@Z @ 2009 NONAME ; void QTableWidgetItem::setSizeHint(class QSize const &)
+ ?childrenCheckState@QTreeWidgetItem@@ABE?AVQVariant@@H@Z @ 2010 NONAME ; class QVariant QTreeWidgetItem::childrenCheckState(int) const
+ ?textEchoMode@QInputDialog@@QBE?AW4EchoMode@QLineEdit@@XZ @ 2011 NONAME ; enum QLineEdit::EchoMode QInputDialog::textEchoMode(void) const
+ ?setStyle@QWidget@@QAEXPAVQStyle@@@Z @ 2012 NONAME ; void QWidget::setStyle(class QStyle *)
+ ??1QPixmapColorizeFilter@@UAE@XZ @ 2013 NONAME ; QPixmapColorizeFilter::~QPixmapColorizeFilter(void)
+ ?startScreenPos@TouchPoint@QTouchEvent@@QBE?AVQPointF@@XZ @ 2014 NONAME ; class QPointF QTouchEvent::TouchPoint::startScreenPos(void) const
+ ?clear@QComboBox@@QAEXXZ @ 2015 NONAME ; void QComboBox::clear(void)
+ ?mapVector@QMatrix4x4@@QBE?AVQVector3D@@ABV2@@Z @ 2016 NONAME ; class QVector3D QMatrix4x4::mapVector(class QVector3D const &) const
+ ?getOpenFileNames@QFileDialog@@SA?AVQStringList@@PAVQWidget@@ABVQString@@11PAV4@V?$QFlags@W4Option@QFileDialog@@@@@Z @ 2017 NONAME ; class QStringList QFileDialog::getOpenFileNames(class QWidget *, class QString const &, class QString const &, class QString const &, class QString *, class QFlags<enum QFileDialog::Option>)
+ ?qt_filedialog_save_filename_hook@@3P6A?AVQString@@PAVQWidget@@ABV1@11PAV1@V?$QFlags@W4Option@QFileDialog@@@@@ZA @ 2018 NONAME ; class QString (*qt_filedialog_save_filename_hook)(class QWidget *, class QString const &, class QString const &, class QString const &, class QString *, class QFlags<enum QFileDialog::Option>)
+ ?getStaticMetaObject@QTextObject@@SAABUQMetaObject@@XZ @ 2019 NONAME ; struct QMetaObject const & QTextObject::getStaticMetaObject(void)
+ ?ortho@QMatrix4x4@@QAEAAV1@MMMMMM@Z @ 2020 NONAME ; class QMatrix4x4 & QMatrix4x4::ortho(float, float, float, float, float, float)
+ ?textAlignment@QStandardItem@@QBE?AV?$QFlags@W4AlignmentFlag@Qt@@@@XZ @ 2021 NONAME ; class QFlags<enum Qt::AlignmentFlag> QStandardItem::textAlignment(void) const
+ ?source@QGraphicsEffect@@QBEPAVQGraphicsEffectSource@@XZ @ 2022 NONAME ; class QGraphicsEffectSource * QGraphicsEffect::source(void) const
+ ??0QBitmap@@QAE@XZ @ 2023 NONAME ; QBitmap::QBitmap(void)
+ ??1QPaintBuffer@@UAE@XZ @ 2024 NONAME ; QPaintBuffer::~QPaintBuffer(void)
+ ?setRightMargin@QTextBlockFormat@@QAEXM@Z @ 2025 NONAME ; void QTextBlockFormat::setRightMargin(float)
+ ?horizontalHeader@QTableView@@QBEPAVQHeaderView@@XZ @ 2026 NONAME ; class QHeaderView * QTableView::horizontalHeader(void) const
+ ?setTabText@QTabWidget@@QAEXHABVQString@@@Z @ 2027 NONAME ; void QTabWidget::setTabText(int, class QString const &)
+ ?intMinimum@QInputDialog@@QBEHXZ @ 2028 NONAME ; int QInputDialog::intMinimum(void) const
+ ?setPosAt@QGraphicsItemAnimation@@QAEXMABVQPointF@@@Z @ 2029 NONAME ; void QGraphicsItemAnimation::setPosAt(float, class QPointF const &)
+ ?invalidateGraphicsEffectsRecursively@QGraphicsItemPrivate@@QAEXXZ @ 2030 NONAME ; void QGraphicsItemPrivate::invalidateGraphicsEffectsRecursively(void)
+ ?setProxyModel@QFileDialog@@QAEXPAVQAbstractProxyModel@@@Z @ 2031 NONAME ; void QFileDialog::setProxyModel(class QAbstractProxyModel *)
+ ?tr@QIntValidator@@SA?AVQString@@PBD0@Z @ 2032 NONAME ; class QString QIntValidator::tr(char const *, char const *)
+ ?setDevice@QImageWriter@@QAEXPAVQIODevice@@@Z @ 2033 NONAME ; void QImageWriter::setDevice(class QIODevice *)
+ ?addMenu@QMenuBar@@QAEPAVQMenu@@ABVQString@@@Z @ 2034 NONAME ; class QMenu * QMenuBar::addMenu(class QString const &)
+ ?clearMapping@QDataWidgetMapper@@QAEXXZ @ 2035 NONAME ; void QDataWidgetMapper::clearMapping(void)
+ ?selectAll@QAbstractItemView@@UAEXXZ @ 2036 NONAME ; void QAbstractItemView::selectAll(void)
+ ?wrapAround@QCompleter@@QBE_NXZ @ 2037 NONAME ; bool QCompleter::wrapAround(void) const
+ ?resizeRowsToContents@QTableView@@QAEXXZ @ 2038 NONAME ; void QTableView::resizeRowsToContents(void)
+ ?orientation@QSplitter@@QBE?AW4Orientation@Qt@@XZ @ 2039 NONAME ; enum Qt::Orientation QSplitter::orientation(void) const
+ ?trUtf8@QProgressBar@@SA?AVQString@@PBD0@Z @ 2040 NONAME ; class QString QProgressBar::trUtf8(char const *, char const *)
+ ?top@QDoubleValidator@@QBENXZ @ 2041 NONAME ; double QDoubleValidator::top(void) const
+ ?setDelta@QGraphicsSceneWheelEvent@@QAEXH@Z @ 2042 NONAME ; void QGraphicsSceneWheelEvent::setDelta(int)
+ ?setShearAt@QGraphicsItemAnimation@@QAEXMMM@Z @ 2043 NONAME ; void QGraphicsItemAnimation::setShearAt(float, float, float)
+ ?metaObject@QGridLayout@@UBEPBUQMetaObject@@XZ @ 2044 NONAME ; struct QMetaObject const * QGridLayout::metaObject(void) const
+ ??MQListWidgetItem@@UBE_NABV0@@Z @ 2045 NONAME ; bool QListWidgetItem::operator<(class QListWidgetItem const &) const
+ ?staticMetaObject@QWidgetResizeHandler@@2UQMetaObject@@B @ 2046 NONAME ; struct QMetaObject const QWidgetResizeHandler::staticMetaObject
+ ??_EQCompleter@@UAE@I@Z @ 2047 NONAME ; QCompleter::~QCompleter(unsigned int)
+ ??0QAbstractScrollArea@@QAE@PAVQWidget@@@Z @ 2048 NONAME ; QAbstractScrollArea::QAbstractScrollArea(class QWidget *)
+ ?metaObject@QLineControl@@UBEPBUQMetaObject@@XZ @ 2049 NONAME ; struct QMetaObject const * QLineControl::metaObject(void) const
+ ?scroll_sys@QWidgetPrivate@@QAEXHH@Z @ 2050 NONAME ; void QWidgetPrivate::scroll_sys(int, int)
+ ?markContentsDirty@QTextDocument@@QAEXHH@Z @ 2051 NONAME ; void QTextDocument::markContentsDirty(int, int)
+ ??1QAbstractSlider@@UAE@XZ @ 2052 NONAME ; QAbstractSlider::~QAbstractSlider(void)
+ ?tr@QAbstractItemDelegate@@SA?AVQString@@PBD0H@Z @ 2053 NONAME ; class QString QAbstractItemDelegate::tr(char const *, char const *, int)
+ ?initFrom@QPainter@@QAEXPBVQWidget@@@Z @ 2054 NONAME ; void QPainter::initFrom(class QWidget const *)
+ ?generatedIconPixmap@QCommonStyle@@UBE?AVQPixmap@@W4Mode@QIcon@@ABV2@PBVQStyleOption@@@Z @ 2055 NONAME ; class QPixmap QCommonStyle::generatedIconPixmap(enum QIcon::Mode, class QPixmap const &, class QStyleOption const *) const
+ ?codecForHtml@Qt@@YAPAVQTextCodec@@ABVQByteArray@@@Z @ 2056 NONAME ; class QTextCodec * Qt::codecForHtml(class QByteArray const &)
+ ?setOffset@QGraphicsDropShadowEffect@@QAEXMM@Z @ 2057 NONAME ; void QGraphicsDropShadowEffect::setOffset(float, float)
+ ?isMaximized@QWidget@@QBE_NXZ @ 2058 NONAME ; bool QWidget::isMaximized(void) const
+ ?setScalar@QQuaternion@@QAEXM@Z @ 2059 NONAME ; void QQuaternion::setScalar(float)
+ ?setActiveWindow@QWorkspace@@QAEXPAVQWidget@@@Z @ 2060 NONAME ; void QWorkspace::setActiveWindow(class QWidget *)
+ ?blockBoundingRect@QPlainTextEdit@@IBE?AVQRectF@@ABVQTextBlock@@@Z @ 2061 NONAME ; class QRectF QPlainTextEdit::blockBoundingRect(class QTextBlock const &) const
+ ?insertActions@QWidget@@QAEXPAVQAction@@V?$QList@PAVQAction@@@@@Z @ 2062 NONAME ; void QWidget::insertActions(class QAction *, class QList<class QAction *>)
+ ?polish@QWindowsStyle@@UAEXAAVQPalette@@@Z @ 2063 NONAME ; void QWindowsStyle::polish(class QPalette &)
+ ?setMaximumWidth@QGraphicsLayoutItem@@QAEXM@Z @ 2064 NONAME ; void QGraphicsLayoutItem::setMaximumWidth(float)
+ ?setPos@QCursor@@SAXABVQPoint@@@Z @ 2065 NONAME ; void QCursor::setPos(class QPoint const &)
+ ?inputMethodQuery@QTextControl@@UBE?AVQVariant@@W4InputMethodQuery@Qt@@@Z @ 2066 NONAME ; class QVariant QTextControl::inputMethodQuery(enum Qt::InputMethodQuery) const
+ ?height@QWidget@@QBEHXZ @ 2067 NONAME ; int QWidget::height(void) const
+ ?drawRect@QPainter@@QAEXHHHH@Z @ 2068 NONAME ; void QPainter::drawRect(int, int, int, int)
+ ?mapToItem@QGraphicsItem@@QBE?AVQPointF@@PBV1@MM@Z @ 2069 NONAME ; class QPointF QGraphicsItem::mapToItem(class QGraphicsItem const *, float, float) const
+ ?tr@QHBoxLayout@@SA?AVQString@@PBD0@Z @ 2070 NONAME ; class QString QHBoxLayout::tr(char const *, char const *)
+ ?metaObject@QClipboard@@UBEPBUQMetaObject@@XZ @ 2071 NONAME ; struct QMetaObject const * QClipboard::metaObject(void) const
+ ?staticMetaObject@QLayout@@2UQMetaObject@@B @ 2072 NONAME ; struct QMetaObject const QLayout::staticMetaObject
+ ?exec@QMenu@@QAEPAVQAction@@ABVQPoint@@PAV2@@Z @ 2073 NONAME ; class QAction * QMenu::exec(class QPoint const &, class QAction *)
+ ?sortItems@QTreeWidget@@QAEXHW4SortOrder@Qt@@@Z @ 2074 NONAME ; void QTreeWidget::sortItems(int, enum Qt::SortOrder)
+ ?removeApplicationFont@QFontDatabase@@SA_NH@Z @ 2075 NONAME ; bool QFontDatabase::removeApplicationFont(int)
+ ?d_func@QProxyModel@@AAEPAVQProxyModelPrivate@@XZ @ 2076 NONAME ; class QProxyModelPrivate * QProxyModel::d_func(void)
+ ?d_func@QAbstractGraphicsShapeItem@@ABEPBVQAbstractGraphicsShapeItemPrivate@@XZ @ 2077 NONAME ; class QAbstractGraphicsShapeItemPrivate const * QAbstractGraphicsShapeItem::d_func(void) const
+ ?grabWidget@QPixmap@@SA?AV1@PAVQWidget@@HHHH@Z @ 2078 NONAME ; class QPixmap QPixmap::grabWidget(class QWidget *, int, int, int, int)
+ ?drawLines@QPainter@@QAEXPBVQLineF@@H@Z @ 2079 NONAME ; void QPainter::drawLines(class QLineF const *, int)
+ ?unpolish@QProxyStyle@@UAEXPAVQApplication@@@Z @ 2080 NONAME ; void QProxyStyle::unpolish(class QApplication *)
+ ?pointAtPercent@QPainterPath@@QBE?AVQPointF@@M@Z @ 2081 NONAME ; class QPointF QPainterPath::pointAtPercent(float) const
+ ?italic@QFontDatabase@@QBE_NABVQString@@0@Z @ 2082 NONAME ; bool QFontDatabase::italic(class QString const &, class QString const &) const
+ ?data@QMatrix4x4@@QBEPBMXZ @ 2083 NONAME ; float const * QMatrix4x4::data(void) const
+ ?drawPoints@QPaintEngineEx@@UAEXPBVQPoint@@H@Z @ 2084 NONAME ; void QPaintEngineEx::drawPoints(class QPoint const *, int)
+ ?value@QDoubleSpinBox@@QBENXZ @ 2085 NONAME ; double QDoubleSpinBox::value(void) const
+ ?setTextWidth@QTextDocument@@QAEXM@Z @ 2086 NONAME ; void QTextDocument::setTextWidth(float)
+ ?hitButton@QRadioButton@@MBE_NABVQPoint@@@Z @ 2087 NONAME ; bool QRadioButton::hitButton(class QPoint const &) const
+ ?drawImage@QPainter@@QAEXABVQPoint@@ABVQImage@@ABVQRect@@V?$QFlags@W4ImageConversionFlag@Qt@@@@@Z @ 2088 NONAME ; void QPainter::drawImage(class QPoint const &, class QImage const &, class QRect const &, class QFlags<enum Qt::ImageConversionFlag>)
+ ??1QLabel@@UAE@XZ @ 2089 NONAME ; QLabel::~QLabel(void)
+ ?setWidget@QTouchEvent@@QAEXPAVQWidget@@@Z @ 2090 NONAME ; void QTouchEvent::setWidget(class QWidget *)
+ ?isRightToLeft@QApplication@@SA_NXZ @ 2091 NONAME ; bool QApplication::isRightToLeft(void)
+ ?sys_pal@QApplicationPrivate@@2PAVQPalette@@A @ 2092 NONAME ; class QPalette * QApplicationPrivate::sys_pal
+ ?sortChildren@QTreeWidgetItem@@AAEXHW4SortOrder@Qt@@_N@Z @ 2093 NONAME ; void QTreeWidgetItem::sortChildren(int, enum Qt::SortOrder, bool)
+ ??1QTextFrameLayoutData@@UAE@XZ @ 2094 NONAME ; QTextFrameLayoutData::~QTextFrameLayoutData(void)
+ ?setCheckState@QTreeWidgetItem@@QAEXHW4CheckState@Qt@@@Z @ 2095 NONAME ; void QTreeWidgetItem::setCheckState(int, enum Qt::CheckState)
+ ?qt_metacall@QFocusFrame@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 2096 NONAME ; int QFocusFrame::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ??1QLayoutItem@@UAE@XZ @ 2097 NONAME ; QLayoutItem::~QLayoutItem(void)
+ ??0QStyleOptionTabV2@@QAE@ABVQStyleOptionTab@@@Z @ 2098 NONAME ; QStyleOptionTabV2::QStyleOptionTabV2(class QStyleOptionTab const &)
+ ?trUtf8@QGraphicsSystemPlugin@@SA?AVQString@@PBD0H@Z @ 2099 NONAME ; class QString QGraphicsSystemPlugin::trUtf8(char const *, char const *, int)
+ ?hotSpot@QGesture@@QBE?AVQPointF@@XZ @ 2100 NONAME ; class QPointF QGesture::hotSpot(void) const
+ ?eventFilter@QCalendarWidget@@MAE_NPAVQObject@@PAVQEvent@@@Z @ 2101 NONAME ; bool QCalendarWidget::eventFilter(class QObject *, class QEvent *)
+ ?symbianEventFilter@QApplication@@UAE_NPBVQSymbianEvent@@@Z @ 2102 NONAME ; bool QApplication::symbianEventFilter(class QSymbianEvent const *)
+ ?setNotchesVisible@QDial@@QAEX_N@Z @ 2103 NONAME ; void QDial::setNotchesVisible(bool)
+ ?items@QGraphicsView@@QBE?AV?$QList@PAVQGraphicsItem@@@@ABVQRect@@W4ItemSelectionMode@Qt@@@Z @ 2104 NONAME ; class QList<class QGraphicsItem *> QGraphicsView::items(class QRect const &, enum Qt::ItemSelectionMode) const
+ ?setRenderHints@QGraphicsView@@QAEXV?$QFlags@W4RenderHint@QPainter@@@@@Z @ 2105 NONAME ; void QGraphicsView::setRenderHints(class QFlags<enum QPainter::RenderHint>)
+ ??0QTreeWidgetItem@@QAE@ABV0@@Z @ 2106 NONAME ; QTreeWidgetItem::QTreeWidgetItem(class QTreeWidgetItem const &)
+ ??_5QRegion@@QAEAAV0@ABV0@@Z @ 2107 NONAME ; class QRegion & QRegion::operator|=(class QRegion const &)
+ ?minimumSize@QWidgetItemV2@@UBE?AVQSize@@XZ @ 2108 NONAME ; class QSize QWidgetItemV2::minimumSize(void) const
+ ?qt_metacall@QCommandLinkButton@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 2109 NONAME ; int QCommandLinkButton::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ??1QGraphicsSceneHelpEvent@@UAE@XZ @ 2110 NONAME ; QGraphicsSceneHelpEvent::~QGraphicsSceneHelpEvent(void)
+ ?offset@QHeaderView@@QBEHXZ @ 2111 NONAME ; int QHeaderView::offset(void) const
+ ?cursorRect@QTextControl@@QBE?AVQRectF@@XZ @ 2112 NONAME ; class QRectF QTextControl::cursorRect(void) const
+ ?qt_metacall@QBoxLayout@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 2113 NONAME ; int QBoxLayout::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?flags@QStringListModel@@UBE?AV?$QFlags@W4ItemFlag@Qt@@@@ABVQModelIndex@@@Z @ 2114 NONAME ; class QFlags<enum Qt::ItemFlag> QStringListModel::flags(class QModelIndex const &) const
+ ?tr@QWorkspace@@SA?AVQString@@PBD0@Z @ 2115 NONAME ; class QString QWorkspace::tr(char const *, char const *)
+ ??0QColor@@QAE@PBD@Z @ 2116 NONAME ; QColor::QColor(char const *)
+ ?fillRect@QPainter@@QAEXHHHHABVQBrush@@@Z @ 2117 NONAME ; void QPainter::fillRect(int, int, int, int, class QBrush const &)
+ ?unsetLayoutDirection@QWidget@@QAEXXZ @ 2118 NONAME ; void QWidget::unsetLayoutDirection(void)
+ ?slerp@QQuaternion@@SA?AV1@ABV1@0M@Z @ 2119 NONAME ; class QQuaternion QQuaternion::slerp(class QQuaternion const &, class QQuaternion const &, float)
+ ?widgetRemoved@QStackedLayout@@IAEXH@Z @ 2120 NONAME ; void QStackedLayout::widgetRemoved(int)
+ ?isFlat@QGroupBox@@QBE_NXZ @ 2121 NONAME ; bool QGroupBox::isFlat(void) const
+ ?stringProperty@QTextFormat@@QBE?AVQString@@H@Z @ 2122 NONAME ; class QString QTextFormat::stringProperty(int) const
+ ?qt_metacast@QPlainTextEdit@@UAEPAXPBD@Z @ 2123 NONAME ; void * QPlainTextEdit::qt_metacast(char const *)
+ ?intersects@QItemSelectionRange@@QBE_NABV1@@Z @ 2124 NONAME ; bool QItemSelectionRange::intersects(class QItemSelectionRange const &) const
+ ?clearSelection@QTextCursor@@QAEXXZ @ 2125 NONAME ; void QTextCursor::clearSelection(void)
+ ?trUtf8@QFrame@@SA?AVQString@@PBD0H@Z @ 2126 NONAME ; class QString QFrame::trUtf8(char const *, char const *, int)
+ ?undo@QTextEdit@@QAEXXZ @ 2127 NONAME ; void QTextEdit::undo(void)
+ ?addItem@QStackedLayout@@UAEXPAVQLayoutItem@@@Z @ 2128 NONAME ; void QStackedLayout::addItem(class QLayoutItem *)
+ ?lineCount@QTextBlock@@QBEHXZ @ 2129 NONAME ; int QTextBlock::lineCount(void) const
+ ?ensureWidgetVisible@QScrollArea@@QAEXPAVQWidget@@HH@Z @ 2130 NONAME ; void QScrollArea::ensureWidgetVisible(class QWidget *, int, int)
+ ?tr@QWorkspace@@SA?AVQString@@PBD0H@Z @ 2131 NONAME ; class QString QWorkspace::tr(char const *, char const *, int)
+ ?translate@QPainter@@QAEXABVQPoint@@@Z @ 2132 NONAME ; void QPainter::translate(class QPoint const &)
+ ?tr@QStackedLayout@@SA?AVQString@@PBD0@Z @ 2133 NONAME ; class QString QStackedLayout::tr(char const *, char const *)
+ ?dragLeaveEvent@QWidget@@MAEXPAVQDragLeaveEvent@@@Z @ 2134 NONAME ; void QWidget::dragLeaveEvent(class QDragLeaveEvent *)
+ ?trUtf8@QGraphicsGrayscaleEffect@@SA?AVQString@@PBD0@Z @ 2135 NONAME ABSENT ; class QString QGraphicsGrayscaleEffect::trUtf8(char const *, char const *)
+ ?format@QTextObject@@QBE?AVQTextFormat@@XZ @ 2136 NONAME ; class QTextFormat QTextObject::format(void) const
+ ?addAction@QActionGroup@@QAEPAVQAction@@ABVQIcon@@ABVQString@@@Z @ 2137 NONAME ; class QAction * QActionGroup::addAction(class QIcon const &, class QString const &)
+ ?update@QGraphicsEffect@@QAEXXZ @ 2138 NONAME ; void QGraphicsEffect::update(void)
+ ?indexes@QItemSelectionRange@@QBE?AV?$QList@VQModelIndex@@@@XZ @ 2139 NONAME ; class QList<class QModelIndex> QItemSelectionRange::indexes(void) const
+ ?width@QPixmap@@QBEHXZ @ 2140 NONAME ; int QPixmap::width(void) const
+ ?resetMatrix@QGraphicsItem@@QAEXXZ @ 2141 NONAME ; void QGraphicsItem::resetMatrix(void)
+ ?drawTextItem@QPaintEngine@@UAEXABVQPointF@@ABVQTextItem@@@Z @ 2142 NONAME ; void QPaintEngine::drawTextItem(class QPointF const &, class QTextItem const &)
+ ?type@QTextFormat@@QBEHXZ @ 2143 NONAME ; int QTextFormat::type(void) const
+ ?setGraphicsEffect@QGraphicsItem@@QAEXPAVQGraphicsEffect@@@Z @ 2144 NONAME ; void QGraphicsItem::setGraphicsEffect(class QGraphicsEffect *)
+ ?drawText@QPainter@@QAEXHHHHHABVQString@@PAVQRect@@@Z @ 2145 NONAME ; void QPainter::drawText(int, int, int, int, int, class QString const &, class QRect *)
+ ?qt_metacall@QSound@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 2146 NONAME ; int QSound::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?paintEvent@QHeaderView@@MAEXPAVQPaintEvent@@@Z @ 2147 NONAME ; void QHeaderView::paintEvent(class QPaintEvent *)
+ ??0QPen@@QAE@W4PenStyle@Qt@@@Z @ 2148 NONAME ; QPen::QPen(enum Qt::PenStyle)
+ ?d_func@QAbstractSlider@@AAEPAVQAbstractSliderPrivate@@XZ @ 2149 NONAME ; class QAbstractSliderPrivate * QAbstractSlider::d_func(void)
+ ?scenePos@QGraphicsItem@@QBE?AVQPointF@@XZ @ 2150 NONAME ; class QPointF QGraphicsItem::scenePos(void) const
+ ?minimumDateTime@QDateTimeEdit@@QBE?AVQDateTime@@XZ @ 2151 NONAME ; class QDateTime QDateTimeEdit::minimumDateTime(void) const
+ ??1QWidgetPrivate@@UAE@XZ @ 2152 NONAME ; QWidgetPrivate::~QWidgetPrivate(void)
+ ?itemDoubleClicked@QListWidget@@IAEXPAVQListWidgetItem@@@Z @ 2153 NONAME ; void QListWidget::itemDoubleClicked(class QListWidgetItem *)
+ ?setDropEnabled@QStandardItem@@QAEX_N@Z @ 2154 NONAME ; void QStandardItem::setDropEnabled(bool)
+ ?qt_metacall@QInputContext@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 2155 NONAME ; int QInputContext::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?timeChanged@QDateTimeEdit@@IAEXABVQTime@@@Z @ 2156 NONAME ; void QDateTimeEdit::timeChanged(class QTime const &)
+ ?timerEvent@QFileSystemModel@@MAEXPAVQTimerEvent@@@Z @ 2157 NONAME ; void QFileSystemModel::timerEvent(class QTimerEvent *)
+ ?setCurrentIndex@QAbstractItemView@@QAEXABVQModelIndex@@@Z @ 2158 NONAME ; void QAbstractItemView::setCurrentIndex(class QModelIndex const &)
+ ??0QStandardItem@@IAE@AAVQStandardItemPrivate@@@Z @ 2159 NONAME ; QStandardItem::QStandardItem(class QStandardItemPrivate &)
+ ?select@QItemSelection@@QAEXABVQModelIndex@@0@Z @ 2160 NONAME ; void QItemSelection::select(class QModelIndex const &, class QModelIndex const &)
+ ?insertBlock@QTextCursor@@QAEXXZ @ 2161 NONAME ; void QTextCursor::insertBlock(void)
+ ?currentItemChanged@QTableWidget@@IAEXPAVQTableWidgetItem@@0@Z @ 2162 NONAME ; void QTableWidget::currentItemChanged(class QTableWidgetItem *, class QTableWidgetItem *)
+ ?create@QInputContextFactory@@SAPAVQInputContext@@ABVQString@@PAVQObject@@@Z @ 2163 NONAME ; class QInputContext * QInputContextFactory::create(class QString const &, class QObject *)
+ ?linkHovered@QLabel@@IAEXABVQString@@@Z @ 2164 NONAME ; void QLabel::linkHovered(class QString const &)
+ ?isCornerButtonEnabled@QTableView@@QBE_NXZ @ 2165 NONAME ; bool QTableView::isCornerButtonEnabled(void) const
+ ?setFilterRegExp@QSortFilterProxyModel@@QAEXABVQRegExp@@@Z @ 2166 NONAME ; void QSortFilterProxyModel::setFilterRegExp(class QRegExp const &)
+ ?qt_metacall@QCoeFepInputContext@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 2167 NONAME ABSENT ; int QCoeFepInputContext::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?combinedMatrix@QPainter@@QBE?AVQMatrix@@XZ @ 2168 NONAME ; class QMatrix QPainter::combinedMatrix(void) const
+ ?d_func@QTextEdit@@AAEPAVQTextEditPrivate@@XZ @ 2169 NONAME ; class QTextEditPrivate * QTextEdit::d_func(void)
+ ?qDrawBorderPixmap@@YAXPAVQPainter@@ABVQRect@@ABVQMargins@@ABVQPixmap@@12ABUQTileRules@@V?$QFlags@W4DrawingHint@QDrawBorderPixmap@@@@@Z @ 2170 NONAME ; void qDrawBorderPixmap(class QPainter *, class QRect const &, class QMargins const &, class QPixmap const &, class QRect const &, class QMargins const &, struct QTileRules const &, class QFlags<enum QDrawBorderPixmap::DrawingHint>)
+ ?setSubmitPolicy@QDataWidgetMapper@@QAEXW4SubmitPolicy@1@@Z @ 2171 NONAME ; void QDataWidgetMapper::setSubmitPolicy(enum QDataWidgetMapper::SubmitPolicy)
+ ?qt_metacall@QWindowsStyle@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 2172 NONAME ; int QWindowsStyle::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?key@QShortcutEvent@@QBEABVQKeySequence@@XZ @ 2173 NONAME ; class QKeySequence const & QShortcutEvent::key(void) const
+ ?intValueSelected@QInputDialog@@IAEXH@Z @ 2174 NONAME ; void QInputDialog::intValueSelected(int)
+ ?doubleProperty@QTextFormat@@QBEMH@Z @ 2175 NONAME ; float QTextFormat::doubleProperty(int) const
+ ?dragLeaveEvent@QGraphicsScene@@MAEXPAVQGraphicsSceneDragDropEvent@@@Z @ 2176 NONAME ; void QGraphicsScene::dragLeaveEvent(class QGraphicsSceneDragDropEvent *)
+ ?removeItemWidget@QListWidget@@QAEXPAVQListWidgetItem@@@Z @ 2177 NONAME ; void QListWidget::removeItemWidget(class QListWidgetItem *)
+ ?addWidget@QLayout@@QAEXPAVQWidget@@@Z @ 2178 NONAME ; void QLayout::addWidget(class QWidget *)
+ ?standardButton@QDialogButtonBox@@QBE?AW4StandardButton@1@PAVQAbstractButton@@@Z @ 2179 NONAME ; enum QDialogButtonBox::StandardButton QDialogButtonBox::standardButton(class QAbstractButton *) const
+ ?normalize@QVector4D@@QAEXXZ @ 2180 NONAME ; void QVector4D::normalize(void)
+ ?renderFlags@QTextItem@@QBE?AV?$QFlags@W4RenderFlag@QTextItem@@@@XZ @ 2181 NONAME ; class QFlags<enum QTextItem::RenderFlag> QTextItem::renderFlags(void) const
+ ?qt_metacall@QGraphicsAnchor@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 2182 NONAME ; int QGraphicsAnchor::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ??0QFileDialog@@QAE@PAVQWidget@@V?$QFlags@W4WindowType@Qt@@@@@Z @ 2183 NONAME ; QFileDialog::QFileDialog(class QWidget *, class QFlags<enum Qt::WindowType>)
+ ?trUtf8@QSplitterHandle@@SA?AVQString@@PBD0@Z @ 2184 NONAME ; class QString QSplitterHandle::trUtf8(char const *, char const *)
+ ?setStartAngle@QGraphicsEllipseItem@@QAEXH@Z @ 2185 NONAME ; void QGraphicsEllipseItem::setStartAngle(int)
+ ?qt_metacast@QSessionManager@@UAEPAXPBD@Z @ 2186 NONAME ; void * QSessionManager::qt_metacast(char const *)
+ ?end@QLineEdit@@QAEX_N@Z @ 2187 NONAME ; void QLineEdit::end(bool)
+ ?currentRow@QCompleter@@QBEHXZ @ 2188 NONAME ; int QCompleter::currentRow(void) const
+ ?setPopup@QCompleter@@QAEXPAVQAbstractItemView@@@Z @ 2189 NONAME ; void QCompleter::setPopup(class QAbstractItemView *)
+ ?qRed@@YAHI@Z @ 2190 NONAME ; int qRed(unsigned int)
+ ?drawChord@QPainter@@QAEXABVQRectF@@HH@Z @ 2191 NONAME ; void QPainter::drawChord(class QRectF const &, int, int)
+ ?oldSize@QResizeEvent@@QBEABVQSize@@XZ @ 2192 NONAME ; class QSize const & QResizeEvent::oldSize(void) const
+ ?lineWrapMode@QTextEdit@@QBE?AW4LineWrapMode@1@XZ @ 2193 NONAME ; enum QTextEdit::LineWrapMode QTextEdit::lineWrapMode(void) const
+ ??BQQuaternion@@QBE?AVQVariant@@XZ @ 2194 NONAME ; QQuaternion::operator class QVariant(void) const
+ ?timerEvent@QTreeView@@MAEXPAVQTimerEvent@@@Z @ 2195 NONAME ; void QTreeView::timerEvent(class QTimerEvent *)
+ ?horizontalShearAt@QGraphicsItemAnimation@@QBEMM@Z @ 2196 NONAME ; float QGraphicsItemAnimation::horizontalShearAt(float) const
+ ?tr@QDockWidget@@SA?AVQString@@PBD0@Z @ 2197 NONAME ; class QString QDockWidget::tr(char const *, char const *)
+ ?autoRepeat@QShortcut@@QBE_NXZ @ 2198 NONAME ; bool QShortcut::autoRepeat(void) const
+ ?d_func@QButtonGroup@@ABEPBVQButtonGroupPrivate@@XZ @ 2199 NONAME ; class QButtonGroupPrivate const * QButtonGroup::d_func(void) const
+ ?resizeSections@QHeaderView@@QAEXW4ResizeMode@1@@Z @ 2200 NONAME ; void QHeaderView::resizeSections(enum QHeaderView::ResizeMode)
+ ?isObscured@QGraphicsItem@@QBE_NMMMM@Z @ 2201 NONAME ; bool QGraphicsItem::isObscured(float, float, float, float) const
+ ??_EQGraphicsObject@@UAE@I@Z @ 2202 NONAME ; QGraphicsObject::~QGraphicsObject(unsigned int)
+ ??1QDockWidgetLayout@@UAE@XZ @ 2203 NONAME ; QDockWidgetLayout::~QDockWidgetLayout(void)
+ ?setFont@QGraphicsTextItem@@QAEXABVQFont@@@Z @ 2204 NONAME ; void QGraphicsTextItem::setFont(class QFont const &)
+ ??D@YA?AVQRegion@@ABV0@ABVQTransform@@@Z @ 2205 NONAME ; class QRegion operator*(class QRegion const &, class QTransform const &)
+ ?staticMetaObject@QFontDialog@@2UQMetaObject@@B @ 2206 NONAME ; struct QMetaObject const QFontDialog::staticMetaObject
+ ?setTabPosition@QTabWidget@@QAEXW4TabPosition@1@@Z @ 2207 NONAME ; void QTabWidget::setTabPosition(enum QTabWidget::TabPosition)
+ ?trUtf8@QMdiSubWindow@@SA?AVQString@@PBD0H@Z @ 2208 NONAME ; class QString QMdiSubWindow::trUtf8(char const *, char const *, int)
+ ?paintDevice@QAbstractTextDocumentLayout@@QBEPAVQPaintDevice@@XZ @ 2209 NONAME ; class QPaintDevice * QAbstractTextDocumentLayout::paintDevice(void) const
+ ?tr@QTextList@@SA?AVQString@@PBD0H@Z @ 2210 NONAME ; class QString QTextList::tr(char const *, char const *, int)
+ ?state@QMovie@@QBE?AW4MovieState@1@XZ @ 2211 NONAME ; enum QMovie::MovieState QMovie::state(void) const
+ ?sceneEvent@QGraphicsTextItem@@MAE_NPAVQEvent@@@Z @ 2212 NONAME ; bool QGraphicsTextItem::sceneEvent(class QEvent *)
+ ?hiResGlobalPos@QTabletEvent@@QBEABVQPointF@@XZ @ 2213 NONAME ; class QPointF const & QTabletEvent::hiResGlobalPos(void) const
+ ?drawEllipse@QPainter@@QAEXHHHH@Z @ 2214 NONAME ; void QPainter::drawEllipse(int, int, int, int)
+ ?trUtf8@QGraphicsTransform@@SA?AVQString@@PBD0@Z @ 2215 NONAME ; class QString QGraphicsTransform::trUtf8(char const *, char const *)
+ ?d_func@QGraphicsSimpleTextItem@@AAEPAVQGraphicsSimpleTextItemPrivate@@XZ @ 2216 NONAME ; class QGraphicsSimpleTextItemPrivate * QGraphicsSimpleTextItem::d_func(void)
+ ?isFirstItemColumnSpanned@QTreeWidget@@QBE_NPBVQTreeWidgetItem@@@Z @ 2217 NONAME ; bool QTreeWidget::isFirstItemColumnSpanned(class QTreeWidgetItem const *) const
+ ?d_func@QClipboard@@ABEPBVQClipboardPrivate@@XZ @ 2218 NONAME ; class QClipboardPrivate const * QClipboard::d_func(void) const
+ ?combineOpacityFromParent@QGraphicsItemPrivate@@QBEMM@Z @ 2219 NONAME ; float QGraphicsItemPrivate::combineOpacityFromParent(float) const
+ ?qt_metacast@QDial@@UAEPAXPBD@Z @ 2220 NONAME ; void * QDial::qt_metacast(char const *)
+ ?setStandardColor@QColorDialog@@SAXHI@Z @ 2221 NONAME ; void QColorDialog::setStandardColor(int, unsigned int)
+ ?isImageFormat@QTextFormat@@QBE_NXZ @ 2222 NONAME ; bool QTextFormat::isImageFormat(void) const
+ ?d_func@QAbstractItemView@@AAEPAVQAbstractItemViewPrivate@@XZ @ 2223 NONAME ; class QAbstractItemViewPrivate * QAbstractItemView::d_func(void)
+ ?lexem@Parser@QCss@@QBE?AVQString@@XZ @ 2224 NONAME ; class QString QCss::Parser::lexem(void) const
+ ?insertColumn@QStandardItem@@QAEXHABV?$QList@PAVQStandardItem@@@@@Z @ 2225 NONAME ; void QStandardItem::insertColumn(int, class QList<class QStandardItem *> const &)
+ ?isItemSelected@QTreeWidget@@QBE_NPBVQTreeWidgetItem@@@Z @ 2226 NONAME ; bool QTreeWidget::isItemSelected(class QTreeWidgetItem const *) const
+ ?dropEvent@QGraphicsItem@@MAEXPAVQGraphicsSceneDragDropEvent@@@Z @ 2227 NONAME ; void QGraphicsItem::dropEvent(class QGraphicsSceneDragDropEvent *)
+ ?text@QGraphicsSimpleTextItem@@QBE?AVQString@@XZ @ 2228 NONAME ; class QString QGraphicsSimpleTextItem::text(void) const
+ ?isSizeGripEnabled@QStatusBar@@QBE_NXZ @ 2229 NONAME ; bool QStatusBar::isSizeGripEnabled(void) const
+ ?closeEvent@QProgressDialog@@MAEXPAVQCloseEvent@@@Z @ 2230 NONAME ; void QProgressDialog::closeEvent(class QCloseEvent *)
+ ?dx@QMatrix@@QBEMXZ @ 2231 NONAME ; float QMatrix::dx(void) const
+ ?numColors@QImage@@QBEHXZ @ 2232 NONAME ; int QImage::numColors(void) const
+ ?wheelEvent@QComboBox@@MAEXPAVQWheelEvent@@@Z @ 2233 NONAME ; void QComboBox::wheelEvent(class QWheelEvent *)
+ ?takeColumn@QStandardItemModel@@QAE?AV?$QList@PAVQStandardItem@@@@H@Z @ 2234 NONAME ; class QList<class QStandardItem *> QStandardItemModel::takeColumn(int)
+ ?tangentialPressure@QTabletEvent@@QBEMXZ @ 2235 NONAME ; float QTabletEvent::tangentialPressure(void) const
+ ?setElideMode@QTabWidget@@QAEXW4TextElideMode@Qt@@@Z @ 2236 NONAME ; void QTabWidget::setElideMode(enum Qt::TextElideMode)
+ ?trUtf8@QDesktopWidget@@SA?AVQString@@PBD0H@Z @ 2237 NONAME ; class QString QDesktopWidget::trUtf8(char const *, char const *, int)
+ ??0QPaintEngineState@@QAE@ABV0@@Z @ 2238 NONAME ; QPaintEngineState::QPaintEngineState(class QPaintEngineState const &)
+ ?widget@QGraphicsEffectSource@@QBEPBVQWidget@@XZ @ 2239 NONAME ; class QWidget const * QGraphicsEffectSource::widget(void) const
+ ?textColor@QTreeWidgetItem@@QBE?AVQColor@@H@Z @ 2240 NONAME ; class QColor QTreeWidgetItem::textColor(int) const
+ ?showEvent@QWorkspace@@MAEXPAVQShowEvent@@@Z @ 2241 NONAME ; void QWorkspace::showEvent(class QShowEvent *)
+ ?scroll@QPixmap@@QAEXHHABVQRect@@PAVQRegion@@@Z @ 2242 NONAME ; void QPixmap::scroll(int, int, class QRect const &, class QRegion *)
+ ?focusOutEvent@QPushButton@@MAEXPAVQFocusEvent@@@Z @ 2243 NONAME ; void QPushButton::focusOutEvent(class QFocusEvent *)
+ ?redo@QUndoCommand@@UAEXXZ @ 2244 NONAME ; void QUndoCommand::redo(void)
+ ??0QWhatsThis@@AAE@XZ @ 2245 NONAME ; QWhatsThis::QWhatsThis(void)
+ ?setCalendarWidget@QDateTimeEdit@@QAEXPAVQCalendarWidget@@@Z @ 2246 NONAME ; void QDateTimeEdit::setCalendarWidget(class QCalendarWidget *)
+ ?minimumWidth@QWidget@@QBEHXZ @ 2247 NONAME ; int QWidget::minimumWidth(void) const
+ ?tr@QWizard@@SA?AVQString@@PBD0H@Z @ 2248 NONAME ; class QString QWizard::tr(char const *, char const *, int)
+ ?trUtf8@QFormLayout@@SA?AVQString@@PBD0@Z @ 2249 NONAME ; class QString QFormLayout::trUtf8(char const *, char const *)
+ ??0QAbstractScrollArea@@IAE@AAVQAbstractScrollAreaPrivate@@PAVQWidget@@@Z @ 2250 NONAME ; QAbstractScrollArea::QAbstractScrollArea(class QAbstractScrollAreaPrivate &, class QWidget *)
+ ?tr@QPixmapFilter@@SA?AVQString@@PBD0@Z @ 2251 NONAME ; class QString QPixmapFilter::tr(char const *, char const *)
+ ?tr@QGraphicsItemAnimation@@SA?AVQString@@PBD0H@Z @ 2252 NONAME ; class QString QGraphicsItemAnimation::tr(char const *, char const *, int)
+ ?contextMenuEvent@QGraphicsItem@@MAEXPAVQGraphicsSceneContextMenuEvent@@@Z @ 2253 NONAME ; void QGraphicsItem::contextMenuEvent(class QGraphicsSceneContextMenuEvent *)
+ ?ensureCursorVisible@QTextControl@@UAEXXZ @ 2254 NONAME ; void QTextControl::ensureCursorVisible(void)
+ ?d_func@QFormLayout@@ABEPBVQFormLayoutPrivate@@XZ @ 2255 NONAME ; class QFormLayoutPrivate const * QFormLayout::d_func(void) const
+ ?cornerWidget@QAbstractScrollArea@@QBEPAVQWidget@@XZ @ 2256 NONAME ; class QWidget * QAbstractScrollArea::cornerWidget(void) const
+ ?isReadOnly@QLineEdit@@QBE_NXZ @ 2257 NONAME ; bool QLineEdit::isReadOnly(void) const
+ ?intValue@QLCDNumber@@QBEHXZ @ 2258 NONAME ; int QLCDNumber::intValue(void) const
+ ??0QVector4D@@QAE@ABVQVector2D@@@Z @ 2259 NONAME ; QVector4D::QVector4D(class QVector2D const &)
+ ?tabRemoved@QTabWidget@@MAEXH@Z @ 2260 NONAME ; void QTabWidget::tabRemoved(int)
+ ?polish@QProxyStyle@@UAEXAAVQPalette@@@Z @ 2261 NONAME ; void QProxyStyle::polish(class QPalette &)
+ ?leaveEvent@QWidget@@MAEXPAVQEvent@@@Z @ 2262 NONAME ; void QWidget::leaveEvent(class QEvent *)
+ ?setEditable@QComboBox@@QAEX_N@Z @ 2263 NONAME ; void QComboBox::setEditable(bool)
+ ?setIntRange@QInputDialog@@QAEXHH@Z @ 2264 NONAME ; void QInputDialog::setIntRange(int, int)
+ ?setWordWrap@QLabel@@QAEX_N@Z @ 2265 NONAME ; void QLabel::setWordWrap(bool)
+ ?findBlockByLineNumber@QTextDocument@@QBE?AVQTextBlock@@H@Z @ 2266 NONAME ; class QTextBlock QTextDocument::findBlockByLineNumber(int) const
+ ??ZQQuaternion@@QAEAAV0@ABV0@@Z @ 2267 NONAME ; class QQuaternion & QQuaternion::operator-=(class QQuaternion const &)
+ ?sync@QPaintEngineEx@@UAEXXZ @ 2268 NONAME ; void QPaintEngineEx::sync(void)
+ ?supportsOption@QImageWriter@@QBE_NW4ImageOption@QImageIOHandler@@@Z @ 2269 NONAME ; bool QImageWriter::supportsOption(enum QImageIOHandler::ImageOption) const
+ ??_EQListWidget@@UAE@I@Z @ 2270 NONAME ; QListWidget::~QListWidget(unsigned int)
+ ??_EQColorDialog@@UAE@I@Z @ 2271 NONAME ; QColorDialog::~QColorDialog(unsigned int)
+ ?wheelEvent@QGraphicsItem@@MAEXPAVQGraphicsSceneWheelEvent@@@Z @ 2272 NONAME ; void QGraphicsItem::wheelEvent(class QGraphicsSceneWheelEvent *)
+ ?deleteChar@QTextCursor@@QAEXXZ @ 2273 NONAME ; void QTextCursor::deleteChar(void)
+ ?isBrushSet@QPalette@@QBE_NW4ColorGroup@1@W4ColorRole@1@@Z @ 2274 NONAME ; bool QPalette::isBrushSet(enum QPalette::ColorGroup, enum QPalette::ColorRole) const
+ ?fromCmykF@QColor@@SA?AV1@MMMMM@Z @ 2275 NONAME ; class QColor QColor::fromCmykF(float, float, float, float, float)
+ ?mapFromItem@QGraphicsItem@@QBE?AVQPointF@@PBV1@ABV2@@Z @ 2276 NONAME ; class QPointF QGraphicsItem::mapFromItem(class QGraphicsItem const *, class QPointF const &) const
+ ?tr@QAbstractProxyModel@@SA?AVQString@@PBD0@Z @ 2277 NONAME ; class QString QAbstractProxyModel::tr(char const *, char const *)
+ ?showGrid@QTableView@@QBE_NXZ @ 2278 NONAME ; bool QTableView::showGrid(void) const
+ ?labelForField@QFormLayout@@QBEPAVQWidget@@PAV2@@Z @ 2279 NONAME ; class QWidget * QFormLayout::labelForField(class QWidget *) const
+ ?setData@QDirModel@@UAE_NABVQModelIndex@@ABVQVariant@@H@Z @ 2280 NONAME ; bool QDirModel::setData(class QModelIndex const &, class QVariant const &, int)
+ ??6@YA?AVQDebug@@V0@ABVQStyleOption@@@Z @ 2281 NONAME ; class QDebug operator<<(class QDebug, class QStyleOption const &)
+ ?createEditor@QStyledItemDelegate@@UBEPAVQWidget@@PAV2@ABVQStyleOptionViewItem@@ABVQModelIndex@@@Z @ 2282 NONAME ; class QWidget * QStyledItemDelegate::createEditor(class QWidget *, class QStyleOptionViewItem const &, class QModelIndex const &) const
+ ?setGlyphCache@QFontEngine@@QAEXPAXPAVQFontEngineGlyphCache@@@Z @ 2283 NONAME ; void QFontEngine::setGlyphCache(void *, class QFontEngineGlyphCache *)
+ ?decimals@QDoubleSpinBox@@QBEHXZ @ 2284 NONAME ; int QDoubleSpinBox::decimals(void) const
+ ??_EQGraphicsSceneHoverEvent@@UAE@I@Z @ 2285 NONAME ; QGraphicsSceneHoverEvent::~QGraphicsSceneHoverEvent(unsigned int)
+ ?staticMetaObject@QTextFrame@@2UQMetaObject@@B @ 2286 NONAME ; struct QMetaObject const QTextFrame::staticMetaObject
+ ?emitChanged@QClipboard@@AAEXW4Mode@1@@Z @ 2287 NONAME ; void QClipboard::emitChanged(enum QClipboard::Mode)
+ ?metaObject@QVBoxLayout@@UBEPBUQMetaObject@@XZ @ 2288 NONAME ; struct QMetaObject const * QVBoxLayout::metaObject(void) const
+ ?setAnimated@QMainWindow@@QAEX_N@Z @ 2289 NONAME ; void QMainWindow::setAnimated(bool)
+ ?paste@QLineControl@@QAEXXZ @ 2290 NONAME ; void QLineControl::paste(void)
+ ?buttons@QGraphicsSceneWheelEvent@@QBE?AV?$QFlags@W4MouseButton@Qt@@@@XZ @ 2291 NONAME ; class QFlags<enum Qt::MouseButton> QGraphicsSceneWheelEvent::buttons(void) const
+ ?z@QQuaternion@@QBEMXZ @ 2292 NONAME ; float QQuaternion::z(void) const
+ ?styleHint@QProxyStyle@@UBEHW4StyleHint@QStyle@@PBVQStyleOption@@PBVQWidget@@PAVQStyleHintReturn@@@Z @ 2293 NONAME ; int QProxyStyle::styleHint(enum QStyle::StyleHint, class QStyleOption const *, class QWidget const *, class QStyleHintReturn *) const
+ ?tr@QDrag@@SA?AVQString@@PBD0@Z @ 2294 NONAME ; class QString QDrag::tr(char const *, char const *)
+ ?standardIcon@QMessageBox@@SA?AVQPixmap@@W4Icon@1@@Z @ 2295 NONAME ; class QPixmap QMessageBox::standardIcon(enum QMessageBox::Icon)
+ ?qt_metacast@QSortFilterProxyModel@@UAEPAXPBD@Z @ 2296 NONAME ; void * QSortFilterProxyModel::qt_metacast(char const *)
+ ?reason@QContextMenuEvent@@QBE?AW4Reason@1@XZ @ 2297 NONAME ; enum QContextMenuEvent::Reason QContextMenuEvent::reason(void) const
+ ??0QWorkspace@@QAE@PAVQWidget@@@Z @ 2298 NONAME ; QWorkspace::QWorkspace(class QWidget *)
+ ?sorting@QDirModel@@QBE?AV?$QFlags@W4SortFlag@QDir@@@@XZ @ 2299 NONAME ; class QFlags<enum QDir::SortFlag> QDirModel::sorting(void) const
+ ?clear@QGraphicsItemAnimation@@QAEXXZ @ 2300 NONAME ; void QGraphicsItemAnimation::clear(void)
+ ?hslSaturation@QColor@@QBEHXZ @ 2301 NONAME ; int QColor::hslSaturation(void) const
+ ?count@QHeaderView@@QBEHXZ @ 2302 NONAME ; int QHeaderView::count(void) const
+ ?widgetAt@QApplication@@SAPAVQWidget@@ABVQPoint@@@Z @ 2303 NONAME ; class QWidget * QApplication::widgetAt(class QPoint const &)
+ ??0QRasterWindowSurface@@QAE@PAVQWidget@@@Z @ 2304 NONAME ; QRasterWindowSurface::QRasterWindowSurface(class QWidget *)
+ ?setMenuWidget@QMainWindow@@QAEXPAVQWidget@@@Z @ 2305 NONAME ; void QMainWindow::setMenuWidget(class QWidget *)
+ ?setCurrentIndex@QItemSelectionModel@@QAEXABVQModelIndex@@V?$QFlags@W4SelectionFlag@QItemSelectionModel@@@@@Z @ 2306 NONAME ; void QItemSelectionModel::setCurrentIndex(class QModelIndex const &, class QFlags<enum QItemSelectionModel::SelectionFlag>)
+ ?grabShortcut@QWidget@@QAEHABVQKeySequence@@W4ShortcutContext@Qt@@@Z @ 2307 NONAME ; int QWidget::grabShortcut(class QKeySequence const &, enum Qt::ShortcutContext)
+ ?UpdateFepInlineTextL@QCoeFepInputContext@@UAEXABVTDesC16@@H@Z @ 2308 NONAME ABSENT ; void QCoeFepInputContext::UpdateFepInlineTextL(class TDesC16 const &, int)
+ ?draw@QPixmapDropShadowFilter@@UBEXPAVQPainter@@ABVQPointF@@ABVQPixmap@@ABVQRectF@@@Z @ 2309 NONAME ; void QPixmapDropShadowFilter::draw(class QPainter *, class QPointF const &, class QPixmap const &, class QRectF const &) const
+ ?mouseMoveEvent@QMdiSubWindow@@MAEXPAVQMouseEvent@@@Z @ 2310 NONAME ; void QMdiSubWindow::mouseMoveEvent(class QMouseEvent *)
+ ?hoverMoveEvent@QGraphicsItem@@MAEXPAVQGraphicsSceneHoverEvent@@@Z @ 2311 NONAME ; void QGraphicsItem::hoverMoveEvent(class QGraphicsSceneHoverEvent *)
+ ?keyPressEvent@QGraphicsTextItem@@MAEXPAVQKeyEvent@@@Z @ 2312 NONAME ; void QGraphicsTextItem::keyPressEvent(class QKeyEvent *)
+ ?cellChanged@QTableWidget@@IAEXHH@Z @ 2313 NONAME ; void QTableWidget::cellChanged(int, int)
+ ?closeEvent@QMdiSubWindow@@MAEXPAVQCloseEvent@@@Z @ 2314 NONAME ; void QMdiSubWindow::closeEvent(class QCloseEvent *)
+ ?dragEnabled@QLineEdit@@QBE_NXZ @ 2315 NONAME ; bool QLineEdit::dragEnabled(void) const
+ ??0QSpinBox@@QAE@PAVQWidget@@@Z @ 2316 NONAME ; QSpinBox::QSpinBox(class QWidget *)
+ ?provides@QMimeSource@@UBE_NPBD@Z @ 2317 NONAME ; bool QMimeSource::provides(char const *) const
+ ?setStrikeOut@QFont@@QAEX_N@Z @ 2318 NONAME ; void QFont::setStrikeOut(bool)
+ ?keyPressEvent@QDateTimeEdit@@MAEXPAVQKeyEvent@@@Z @ 2319 NONAME ; void QDateTimeEdit::keyPressEvent(class QKeyEvent *)
+ ??_EQVBoxLayout@@UAE@I@Z @ 2320 NONAME ; QVBoxLayout::~QVBoxLayout(unsigned int)
+ ?right@QItemSelectionRange@@QBEHXZ @ 2321 NONAME ; int QItemSelectionRange::right(void) const
+ ??6@YA?AVQDebug@@V0@ABVQPolygonF@@@Z @ 2322 NONAME ; class QDebug operator<<(class QDebug, class QPolygonF const &)
+ ?isCharFormat@QTextFormat@@QBE_NXZ @ 2323 NONAME ; bool QTextFormat::isCharFormat(void) const
+ ??6@YA?AVQDebug@@V0@ABVQFont@@@Z @ 2324 NONAME ; class QDebug operator<<(class QDebug, class QFont const &)
+ ?setColumnSpacing@QGraphicsGridLayout@@QAEXHM@Z @ 2325 NONAME ; void QGraphicsGridLayout::setColumnSpacing(int, float)
+ ?setRowAlignment@QGraphicsGridLayout@@QAEXHV?$QFlags@W4AlignmentFlag@Qt@@@@@Z @ 2326 NONAME ; void QGraphicsGridLayout::setRowAlignment(int, class QFlags<enum Qt::AlignmentFlag>)
+ ?setEscapeButton@QMessageBox@@QAEXPAVQAbstractButton@@@Z @ 2327 NONAME ; void QMessageBox::setEscapeButton(class QAbstractButton *)
+ ?editTextChanged@QComboBox@@IAEXABVQString@@@Z @ 2328 NONAME ; void QComboBox::editTextChanged(class QString const &)
+ ?xHeight@QFontMetricsF@@QBEMXZ @ 2329 NONAME ; float QFontMetricsF::xHeight(void) const
+ ?transformations@QGraphicsItem@@QBE?AV?$QList@PAVQGraphicsTransform@@@@XZ @ 2330 NONAME ; class QList<class QGraphicsTransform *> QGraphicsItem::transformations(void) const
+ ?setSingleStep@QAbstractSlider@@QAEXH@Z @ 2331 NONAME ; void QAbstractSlider::setSingleStep(int)
+ ??_EQStackedLayout@@UAE@I@Z @ 2332 NONAME ; QStackedLayout::~QStackedLayout(unsigned int)
+ ?moveCursor@QTextControl@@QAEXW4MoveOperation@QTextCursor@@W4MoveMode@3@@Z @ 2333 NONAME ; void QTextControl::moveCursor(enum QTextCursor::MoveOperation, enum QTextCursor::MoveMode)
+ ?isTopLevel@QWidget@@QBE_NXZ @ 2334 NONAME ; bool QWidget::isTopLevel(void) const
+ ?qt_metacast@QPixmapFilter@@UAEPAXPBD@Z @ 2335 NONAME ; void * QPixmapFilter::qt_metacast(char const *)
+ ?buttonPressed@QButtonGroup@@IAEXH@Z @ 2336 NONAME ; void QButtonGroup::buttonPressed(int)
+ ?mimeData@QStandardItemModel@@UBEPAVQMimeData@@ABV?$QList@VQModelIndex@@@@@Z @ 2337 NONAME ; class QMimeData * QStandardItemModel::mimeData(class QList<class QModelIndex> const &) const
+ ?tabIcon@QTabWidget@@QBE?AVQIcon@@H@Z @ 2338 NONAME ; class QIcon QTabWidget::tabIcon(int) const
+ ??_EQProxyModel@@UAE@I@Z @ 2339 NONAME ; QProxyModel::~QProxyModel(unsigned int)
+ ?widgetEvent@QGraphicsLayout@@UAEXPAVQEvent@@@Z @ 2340 NONAME ; void QGraphicsLayout::widgetEvent(class QEvent *)
+ ?isMovingEnabled@QWidgetResizeHandler@@QBE_NXZ @ 2341 NONAME ; bool QWidgetResizeHandler::isMovingEnabled(void) const
+ ??_EQGraphicsSystemPlugin@@UAE@I@Z @ 2342 NONAME ; QGraphicsSystemPlugin::~QGraphicsSystemPlugin(unsigned int)
+ ?metaObject@QSplitterHandle@@UBEPBUQMetaObject@@XZ @ 2343 NONAME ; struct QMetaObject const * QSplitterHandle::metaObject(void) const
+ ?intersects@QRegion@@QBE_NABVQRect@@@Z @ 2344 NONAME ; bool QRegion::intersects(class QRect const &) const
+ ?d_func@QPixmapDropShadowFilter@@AAEPAVQPixmapDropShadowFilterPrivate@@XZ @ 2345 NONAME ; class QPixmapDropShadowFilterPrivate * QPixmapDropShadowFilter::d_func(void)
+ ?spacerItemFactoryMethod@QLayoutPrivate@@2P6APAVQSpacerItem@@PBVQLayout@@HHW4Policy@QSizePolicy@@1@ZA @ 2346 NONAME ; class QSpacerItem * (*QLayoutPrivate::spacerItemFactoryMethod)(class QLayout const *, int, int, enum QSizePolicy::Policy, enum QSizePolicy::Policy)
+ ?isObscuredBy@QGraphicsItemGroup@@UBE_NPBVQGraphicsItem@@@Z @ 2347 NONAME ; bool QGraphicsItemGroup::isObscuredBy(class QGraphicsItem const *) const
+ ?setRedF@QColor@@QAEXM@Z @ 2348 NONAME ; void QColor::setRedF(float)
+ ?attributes@QInputMethodEvent@@QBEABV?$QList@VAttribute@QInputMethodEvent@@@@XZ @ 2349 NONAME ; class QList<class QInputMethodEvent::Attribute> const & QInputMethodEvent::attributes(void) const
+ ?toVector4D@QVector2D@@QBE?AVQVector4D@@XZ @ 2350 NONAME ; class QVector4D QVector2D::toVector4D(void) const
+ ?setLastScaleFactor@QPinchGesture@@QAEXM@Z @ 2351 NONAME ; void QPinchGesture::setLastScaleFactor(float)
+ ?currentPage@QWizard@@QBEPAVQWizardPage@@XZ @ 2352 NONAME ; class QWizardPage * QWizard::currentPage(void) const
+ ?boundingRect@QPicture@@QBE?AVQRect@@XZ @ 2353 NONAME ; class QRect QPicture::boundingRect(void) const
+ ?tessellateConvex@QTessellator@@QAEXPBVQPointF@@H@Z @ 2354 NONAME ; void QTessellator::tessellateConvex(class QPointF const *, int)
+ ?styleOption@QGraphicsEffectSource@@QBEPBVQStyleOption@@XZ @ 2355 NONAME ; class QStyleOption const * QGraphicsEffectSource::styleOption(void) const
+ ?resetMatrix@QGraphicsView@@QAEXXZ @ 2356 NONAME ; void QGraphicsView::resetMatrix(void)
+ ?isHidden@QTreeWidgetItem@@QBE_NXZ @ 2357 NONAME ; bool QTreeWidgetItem::isHidden(void) const
+ ?boundingRect@QGraphicsLineItem@@UBE?AVQRectF@@XZ @ 2358 NONAME ; class QRectF QGraphicsLineItem::boundingRect(void) const
+ ?qt_metacast@QCompleter@@UAEPAXPBD@Z @ 2359 NONAME ; void * QCompleter::qt_metacast(char const *)
+ ??0QListView@@QAE@PAVQWidget@@@Z @ 2360 NONAME ; QListView::QListView(class QWidget *)
+ ?clearMaximumDateTime@QDateTimeEdit@@QAEXXZ @ 2361 NONAME ; void QDateTimeEdit::clearMaximumDateTime(void)
+ ?trUtf8@QTextControl@@SA?AVQString@@PBD0H@Z @ 2362 NONAME ; class QString QTextControl::trUtf8(char const *, char const *, int)
+ ?toolTip@QGraphicsItem@@QBE?AVQString@@XZ @ 2363 NONAME ; class QString QGraphicsItem::toolTip(void) const
+ ?modificationChanged@QTextDocument@@IAEX_N@Z @ 2364 NONAME ; void QTextDocument::modificationChanged(bool)
+ ?setLastScenePos@TouchPoint@QTouchEvent@@QAEXABVQPointF@@@Z @ 2365 NONAME ; void QTouchEvent::TouchPoint::setLastScenePos(class QPointF const &)
+ ?setCosmetic@QPen@@QAEX_N@Z @ 2366 NONAME ; void QPen::setCosmetic(bool)
+ ?setBorder@QTextFrameFormat@@QAEXM@Z @ 2367 NONAME ; void QTextFrameFormat::setBorder(float)
+ ?pixmap@QClipboard@@QBE?AVQPixmap@@W4Mode@1@@Z @ 2368 NONAME ; class QPixmap QClipboard::pixmap(enum QClipboard::Mode) const
+ ?visualRow@QTableWidget@@QBEHH@Z @ 2369 NONAME ; int QTableWidget::visualRow(int) const
+ ?drawRoundedRect@QPainter@@QAEXABVQRect@@MMW4SizeMode@Qt@@@Z @ 2370 NONAME ; void QPainter::drawRoundedRect(class QRect const &, float, float, enum Qt::SizeMode)
+ ?showEvent@QWidget@@MAEXPAVQShowEvent@@@Z @ 2371 NONAME ; void QWidget::showEvent(class QShowEvent *)
+ ??0QCommonStyle@@IAE@AAVQCommonStylePrivate@@@Z @ 2372 NONAME ; QCommonStyle::QCommonStyle(class QCommonStylePrivate &)
+ ?hideColumn@QTreeView@@QAEXH@Z @ 2373 NONAME ; void QTreeView::hideColumn(int)
+ ?eventFilter@QFocusFrame@@MAE_NPAVQObject@@PAVQEvent@@@Z @ 2374 NONAME ; bool QFocusFrame::eventFilter(class QObject *, class QEvent *)
+ ??0QPushButton@@QAE@PAVQWidget@@@Z @ 2375 NONAME ; QPushButton::QPushButton(class QWidget *)
+ ?setAlphaF@QColor@@QAEXM@Z @ 2376 NONAME ; void QColor::setAlphaF(float)
+ ??0QFontDialog@@QAE@ABVQFont@@PAVQWidget@@@Z @ 2377 NONAME ; QFontDialog::QFontDialog(class QFont const &, class QWidget *)
+ ?openPopup@QApplicationPrivate@@QAEXPAVQWidget@@@Z @ 2378 NONAME ; void QApplicationPrivate::openPopup(class QWidget *)
+ ?showColumn@QTableView@@QAEXH@Z @ 2379 NONAME ; void QTableView::showColumn(int)
+ ?blockFormat@QTextFormatCollection@@QBE?AVQTextBlockFormat@@H@Z @ 2380 NONAME ; class QTextBlockFormat QTextFormatCollection::blockFormat(int) const
+ ?addAnchors@QGraphicsAnchorLayout@@QAEXPAVQGraphicsLayoutItem@@0V?$QFlags@W4Orientation@Qt@@@@@Z @ 2381 NONAME ; void QGraphicsAnchorLayout::addAnchors(class QGraphicsLayoutItem *, class QGraphicsLayoutItem *, class QFlags<enum Qt::Orientation>)
+ ?self@QApplicationPrivate@@0PAV1@A @ 2382 NONAME ; class QApplicationPrivate * QApplicationPrivate::self
+ ?addPixmap@QIconEngine@@UAEXABVQPixmap@@W4Mode@QIcon@@W4State@4@@Z @ 2383 NONAME ; void QIconEngine::addPixmap(class QPixmap const &, enum QIcon::Mode, enum QIcon::State)
+ ?getStaticMetaObject@QItemDelegate@@SAABUQMetaObject@@XZ @ 2384 NONAME ; struct QMetaObject const & QItemDelegate::getStaticMetaObject(void)
+ ?leftBearing@QFontMetrics@@QBEHVQChar@@@Z @ 2385 NONAME ; int QFontMetrics::leftBearing(class QChar) const
+ ?tr@QEventDispatcherS60@@SA?AVQString@@PBD0@Z @ 2386 NONAME ; class QString QEventDispatcherS60::tr(char const *, char const *)
+ ?setHtml@QGraphicsTextItem@@QAEXABVQString@@@Z @ 2387 NONAME ; void QGraphicsTextItem::setHtml(class QString const &)
+ ?setWidget@QMdiSubWindow@@QAEXPAVQWidget@@@Z @ 2388 NONAME ; void QMdiSubWindow::setWidget(class QWidget *)
+ ?qt_metacall@QFontComboBox@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 2389 NONAME ; int QFontComboBox::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?getStaticMetaObject@QSyntaxHighlighter@@SAABUQMetaObject@@XZ @ 2390 NONAME ; struct QMetaObject const & QSyntaxHighlighter::getStaticMetaObject(void)
+ ?setSizeHint@QTreeWidgetItem@@QAEXHABVQSize@@@Z @ 2391 NONAME ; void QTreeWidgetItem::setSizeHint(int, class QSize const &)
+ ??_EQTableWidget@@UAE@I@Z @ 2392 NONAME ; QTableWidget::~QTableWidget(unsigned int)
+ ?leaveAfterRelease@QApplicationPrivate@@2V?$QPointer@VQWidget@@@@A @ 2393 NONAME ; class QPointer<class QWidget> QApplicationPrivate::leaveAfterRelease
+ ?cursorPositionChanged@QTextEdit@@IAEXXZ @ 2394 NONAME ; void QTextEdit::cursorPositionChanged(void)
+ ?width@QWidget@@QBEHXZ @ 2395 NONAME ; int QWidget::width(void) const
+ ?property@QTextFormat@@QBE?AVQVariant@@H@Z @ 2396 NONAME ; class QVariant QTextFormat::property(int) const
+ ?scroll@QWidget@@QAEXHHABVQRect@@@Z @ 2397 NONAME ; void QWidget::scroll(int, int, class QRect const &)
+ ?select@QItemSelectionModel@@UAEXABVQItemSelection@@V?$QFlags@W4SelectionFlag@QItemSelectionModel@@@@@Z @ 2398 NONAME ; void QItemSelectionModel::select(class QItemSelection const &, class QFlags<enum QItemSelectionModel::SelectionFlag>)
+ ?qt_metacast@QGraphicsScene@@UAEPAXPBD@Z @ 2399 NONAME ; void * QGraphicsScene::qt_metacast(char const *)
+ ?drawRects@QPainter@@QAEXABV?$QVector@VQRect@@@@@Z @ 2400 NONAME ; void QPainter::drawRects(class QVector<class QRect> const &)
+ ?updated@QMovie@@IAEXABVQRect@@@Z @ 2401 NONAME ; void QMovie::updated(class QRect const &)
+ ?setConstraints_sys@QWidgetPrivate@@QAEXXZ @ 2402 NONAME ; void QWidgetPrivate::setConstraints_sys(void)
+ ?drawRow@QTreeView@@MBEXPAVQPainter@@ABVQStyleOptionViewItem@@ABVQModelIndex@@@Z @ 2403 NONAME ; void QTreeView::drawRow(class QPainter *, class QStyleOptionViewItem const &, class QModelIndex const &) const
+ ?addRoundRect@QPainterPath@@QAEXMMMMHH@Z @ 2404 NONAME ; void QPainterPath::addRoundRect(float, float, float, float, int, int)
+ ?setLabelText@QInputDialog@@QAEXABVQString@@@Z @ 2405 NONAME ; void QInputDialog::setLabelText(class QString const &)
+ ?fontMetrics@QWidget@@QBE?AVQFontMetrics@@XZ @ 2406 NONAME ; class QFontMetrics QWidget::fontMetrics(void) const
+ ?sizeHintForColumn@QTableView@@MBEHH@Z @ 2407 NONAME ; int QTableView::sizeHintForColumn(int) const
+ ??_EQGraphicsScene@@UAE@I@Z @ 2408 NONAME ; QGraphicsScene::~QGraphicsScene(unsigned int)
+ ?pixmap@QWizardPage@@QBE?AVQPixmap@@W4WizardPixmap@QWizard@@@Z @ 2409 NONAME ; class QPixmap QWizardPage::pixmap(enum QWizard::WizardPixmap) const
+ ?paint@QIcon@@QBEXPAVQPainter@@ABVQRect@@V?$QFlags@W4AlignmentFlag@Qt@@@@W4Mode@1@W4State@1@@Z @ 2410 NONAME ; void QIcon::paint(class QPainter *, class QRect const &, class QFlags<enum Qt::AlignmentFlag>, enum QIcon::Mode, enum QIcon::State) const
+ ?data@QStringListModel@@UBE?AVQVariant@@ABVQModelIndex@@H@Z @ 2411 NONAME ; class QVariant QStringListModel::data(class QModelIndex const &, int) const
+ ?key@QKeyEvent@@QBEHXZ @ 2412 NONAME ; int QKeyEvent::key(void) const
+ ?qt_metacall@QAbstractItemView@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 2413 NONAME ; int QAbstractItemView::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?firstBlock@QTextDocument@@QBE?AVQTextBlock@@XZ @ 2414 NONAME ; class QTextBlock QTextDocument::firstBlock(void) const
+ ??1QContextMenuEvent@@UAE@XZ @ 2415 NONAME ; QContextMenuEvent::~QContextMenuEvent(void)
+ ?parseSimpleSelector@Parser@QCss@@QAE_NPAUBasicSelector@2@@Z @ 2416 NONAME ; bool QCss::Parser::parseSimpleSelector(struct QCss::BasicSelector *)
+ ?trUtf8@QColorDialog@@SA?AVQString@@PBD0@Z @ 2417 NONAME ; class QString QColorDialog::trUtf8(char const *, char const *)
+ ?setFloating@QDockWidget@@QAEX_N@Z @ 2418 NONAME ; void QDockWidget::setFloating(bool)
+ ?notchesVisible@QDial@@QBE_NXZ @ 2419 NONAME ; bool QDial::notchesVisible(void) const
+ ?minimumSizeHint@QSplitter@@UBE?AVQSize@@XZ @ 2420 NONAME ; class QSize QSplitter::minimumSizeHint(void) const
+ ?topLevelItem@QGraphicsItem@@QBEPAV1@XZ @ 2421 NONAME ; class QGraphicsItem * QGraphicsItem::topLevelItem(void) const
+ ?text@QImage@@QBE?AVQString@@ABVQImageTextKeyLang@@@Z @ 2422 NONAME ; class QString QImage::text(class QImageTextKeyLang const &) const
+ ?polish@QS60Style@@UAEXPAVQApplication@@@Z @ 2423 NONAME ; void QS60Style::polish(class QApplication *)
+ ?angle@QGraphicsRotation@@QBEMXZ @ 2424 NONAME ; float QGraphicsRotation::angle(void) const
+ ?lineTo@QStrokerOps@@QAEXMM@Z @ 2425 NONAME ; void QStrokerOps::lineTo(float, float)
+ ?selectedText@QLineControl@@QBE?AVQString@@XZ @ 2426 NONAME ; class QString QLineControl::selectedText(void) const
+ ??0QSyntaxHighlighter@@QAE@PAVQTextEdit@@@Z @ 2427 NONAME ; QSyntaxHighlighter::QSyntaxHighlighter(class QTextEdit *)
+ ?wrapping@QAbstractSpinBox@@QBE_NXZ @ 2428 NONAME ; bool QAbstractSpinBox::wrapping(void) const
+ ?setHeaderData@QStandardItemModel@@UAE_NHW4Orientation@Qt@@ABVQVariant@@H@Z @ 2429 NONAME ; bool QStandardItemModel::setHeaderData(int, enum Qt::Orientation, class QVariant const &, int)
+ ?hide@QGraphicsItem@@QAEXXZ @ 2430 NONAME ; void QGraphicsItem::hide(void)
+ ?metaObject@QProxyModel@@UBEPBUQMetaObject@@XZ @ 2431 NONAME ; struct QMetaObject const * QProxyModel::metaObject(void) const
+ ?resolvePalette@QGraphicsItemPrivate@@UAEXI@Z @ 2432 NONAME ; void QGraphicsItemPrivate::resolvePalette(unsigned int)
+ ?activePopupWidget@QApplication@@SAPAVQWidget@@XZ @ 2433 NONAME ; class QWidget * QApplication::activePopupWidget(void)
+ ?trUtf8@QPlainTextDocumentLayout@@SA?AVQString@@PBD0H@Z @ 2434 NONAME ; class QString QPlainTextDocumentLayout::trUtf8(char const *, char const *, int)
+ ?sizeHint@QFormLayout@@UBE?AVQSize@@XZ @ 2435 NONAME ; class QSize QFormLayout::sizeHint(void) const
+ ?mousePressEvent@QGroupBox@@MAEXPAVQMouseEvent@@@Z @ 2436 NONAME ; void QGroupBox::mousePressEvent(class QMouseEvent *)
+ ?d_func@QPixmapConvolutionFilter@@AAEPAVQPixmapConvolutionFilterPrivate@@XZ @ 2437 NONAME ; class QPixmapConvolutionFilterPrivate * QPixmapConvolutionFilter::d_func(void)
+ ?addTab@QTabWidget@@QAEHPAVQWidget@@ABVQString@@@Z @ 2438 NONAME ; int QTabWidget::addTab(class QWidget *, class QString const &)
+ ?hide_sys@QWidgetPrivate@@QAEXXZ @ 2439 NONAME ; void QWidgetPrivate::hide_sys(void)
+ ?expandingDirections@QSpacerItem@@UBE?AV?$QFlags@W4Orientation@Qt@@@@XZ @ 2440 NONAME ; class QFlags<enum Qt::Orientation> QSpacerItem::expandingDirections(void) const
+ ??_EQUndoGroup@@UAE@I@Z @ 2441 NONAME ; QUndoGroup::~QUndoGroup(unsigned int)
+ ?preferredWidth@QGraphicsLayoutItem@@QBEMXZ @ 2442 NONAME ; float QGraphicsLayoutItem::preferredWidth(void) const
+ ??0QGraphicsView@@QAE@PAVQWidget@@@Z @ 2443 NONAME ; QGraphicsView::QGraphicsView(class QWidget *)
+ ??0QStyleOptionFrameV3@@QAE@ABV0@@Z @ 2444 NONAME ; QStyleOptionFrameV3::QStyleOptionFrameV3(class QStyleOptionFrameV3 const &)
+ ??_EQProxyStyle@@UAE@I@Z @ 2445 NONAME ; QProxyStyle::~QProxyStyle(unsigned int)
+ ?tabMoved@QTabBar@@IAEXHH@Z @ 2446 NONAME ; void QTabBar::tabMoved(int, int)
+ ?aboutToDestroy@QPaintBufferSignalProxy@@IAEXPBVQPaintBufferPrivate@@@Z @ 2447 NONAME ; void QPaintBufferSignalProxy::aboutToDestroy(class QPaintBufferPrivate const *)
+ ?setMaximumSize@QWidget@@QAEXABVQSize@@@Z @ 2448 NONAME ; void QWidget::setMaximumSize(class QSize const &)
+ ??1QGraphicsSceneHoverEvent@@UAE@XZ @ 2449 NONAME ; QGraphicsSceneHoverEvent::~QGraphicsSceneHoverEvent(void)
+ ??0QPixmapBlurFilter@@QAE@PAVQObject@@@Z @ 2450 NONAME ; QPixmapBlurFilter::QPixmapBlurFilter(class QObject *)
+ ?currentColorGroup@QPalette@@QBE?AW4ColorGroup@1@XZ @ 2451 NONAME ; enum QPalette::ColorGroup QPalette::currentColorGroup(void) const
+ ?tr@QGraphicsColorizeEffect@@SA?AVQString@@PBD0H@Z @ 2452 NONAME ; class QString QGraphicsColorizeEffect::tr(char const *, char const *, int)
+ ?sizeHint@QColumnView@@UBE?AVQSize@@XZ @ 2453 NONAME ; class QSize QColumnView::sizeHint(void) const
+ ?removeItem@QToolBox@@QAEXH@Z @ 2454 NONAME ; void QToolBox::removeItem(int)
+ ?selectionChanged@QClipboard@@IAEXXZ @ 2455 NONAME ; void QClipboard::selectionChanged(void)
+ ??5@YAAAVQDataStream@@AAV0@AAVQSizePolicy@@@Z @ 2456 NONAME ; class QDataStream & operator>>(class QDataStream &, class QSizePolicy &)
+ ?setBrush@QPainter@@QAEXABVQBrush@@@Z @ 2457 NONAME ; void QPainter::setBrush(class QBrush const &)
+ ?setSelected@QTableWidgetItem@@QAEX_N@Z @ 2458 NONAME ; void QTableWidgetItem::setSelected(bool)
+ ?event@QCheckBox@@MAE_NPAVQEvent@@@Z @ 2459 NONAME ; bool QCheckBox::event(class QEvent *)
+ ?itemClicked@QTableWidget@@IAEXPAVQTableWidgetItem@@@Z @ 2460 NONAME ; void QTableWidget::itemClicked(class QTableWidgetItem *)
+ ?originCorner@QGridLayout@@QBE?AW4Corner@Qt@@XZ @ 2461 NONAME ; enum Qt::Corner QGridLayout::originCorner(void) const
+ ??0QVector2D@@QAE@ABVQPointF@@@Z @ 2462 NONAME ; QVector2D::QVector2D(class QPointF const &)
+ ?standardButton@QMessageBox@@QBE?AW4StandardButton@1@PAVQAbstractButton@@@Z @ 2463 NONAME ; enum QMessageBox::StandardButton QMessageBox::standardButton(class QAbstractButton *) const
+ ?render@QWidget@@QAEXPAVQPainter@@ABVQPoint@@ABVQRegion@@V?$QFlags@W4RenderFlag@QWidget@@@@@Z @ 2464 NONAME ; void QWidget::render(class QPainter *, class QPoint const &, class QRegion const &, class QFlags<enum QWidget::RenderFlag>)
+ ??4QStyleOptionFrameV2@@QAEAAV0@ABVQStyleOptionFrame@@@Z @ 2465 NONAME ; class QStyleOptionFrameV2 & QStyleOptionFrameV2::operator=(class QStyleOptionFrame const &)
+ ?staticMetaObject@QColorDialog@@2UQMetaObject@@B @ 2466 NONAME ; struct QMetaObject const QColorDialog::staticMetaObject
+ ??4QStyleOptionTabV3@@QAEAAV0@ABV0@@Z @ 2467 NONAME ; class QStyleOptionTabV3 & QStyleOptionTabV3::operator=(class QStyleOptionTabV3 const &)
+ ?mousePressEvent@QAbstractButton@@MAEXPAVQMouseEvent@@@Z @ 2468 NONAME ; void QAbstractButton::mousePressEvent(class QMouseEvent *)
+ ?drawArc@QPainter@@QAEXABVQRectF@@HH@Z @ 2469 NONAME ; void QPainter::drawArc(class QRectF const &, int, int)
+ ?setColumnMinimumWidth@QGridLayout@@QAEXHH@Z @ 2470 NONAME ; void QGridLayout::setColumnMinimumWidth(int, int)
+ ?miterLimit@QPainterPathStroker@@QBEMXZ @ 2471 NONAME ; float QPainterPathStroker::miterLimit(void) const
+ ?tr@QGraphicsSystemPlugin@@SA?AVQString@@PBD0H@Z @ 2472 NONAME ; class QString QGraphicsSystemPlugin::tr(char const *, char const *, int)
+ ?windowIconText@QWidget@@QBE?AVQString@@XZ @ 2473 NONAME ; class QString QWidget::windowIconText(void) const
+ ?dark@QPalette@@QBEABVQBrush@@XZ @ 2474 NONAME ; class QBrush const & QPalette::dark(void) const
+ ?qt_widget_private@@YAPAVQWidgetPrivate@@PAVQWidget@@@Z @ 2475 NONAME ; class QWidgetPrivate * qt_widget_private(class QWidget *)
+ ?lineTo@QPainterPath@@QAEXABVQPointF@@@Z @ 2476 NONAME ; void QPainterPath::lineTo(class QPointF const &)
+ ?parseAttrib@Parser@QCss@@QAE_NPAUAttributeSelector@2@@Z @ 2477 NONAME ; bool QCss::Parser::parseAttrib(struct QCss::AttributeSelector *)
+ ?buttons@QDialogButtonBox@@QBE?AV?$QList@PAVQAbstractButton@@@@XZ @ 2478 NONAME ; class QList<class QAbstractButton *> QDialogButtonBox::buttons(void) const
+ ?drawPrimitive@QCommonStyle@@UBEXW4PrimitiveElement@QStyle@@PBVQStyleOption@@PAVQPainter@@PBVQWidget@@@Z @ 2479 NONAME ; void QCommonStyle::drawPrimitive(enum QStyle::PrimitiveElement, class QStyleOption const *, class QPainter *, class QWidget const *) const
+ ?textOutline@QTextCharFormat@@QBE?AVQPen@@XZ @ 2480 NONAME ; class QPen QTextCharFormat::textOutline(void) const
+ ?tr@QLineEdit@@SA?AVQString@@PBD0H@Z @ 2481 NONAME ; class QString QLineEdit::tr(char const *, char const *, int)
+ ?stringList@QStringListModel@@QBE?AVQStringList@@XZ @ 2482 NONAME ; class QStringList QStringListModel::stringList(void) const
+ ?moveEvent@QMdiSubWindow@@MAEXPAVQMoveEvent@@@Z @ 2483 NONAME ; void QMdiSubWindow::moveEvent(class QMoveEvent *)
+ ?mapToWS@QWidgetPrivate@@QBE?AVQRect@@ABV2@@Z @ 2484 NONAME ; class QRect QWidgetPrivate::mapToWS(class QRect const &) const
+ ?fontItalic@QTextCharFormat@@QBE_NXZ @ 2485 NONAME ; bool QTextCharFormat::fontItalic(void) const
+ ??0QSessionManager@@AAE@PAVQApplication@@AAVQString@@1@Z @ 2486 NONAME ; QSessionManager::QSessionManager(class QApplication *, class QString &, class QString &)
+ ?tr@QSplitter@@SA?AVQString@@PBD0H@Z @ 2487 NONAME ; class QString QSplitter::tr(char const *, char const *, int)
+ ?formAlignment@QFormLayout@@QBE?AV?$QFlags@W4AlignmentFlag@Qt@@@@XZ @ 2488 NONAME ; class QFlags<enum Qt::AlignmentFlag> QFormLayout::formAlignment(void) const
+ ?qDrawShadeLine@@YAXPAVQPainter@@ABVQPoint@@1ABVQPalette@@_NHH@Z @ 2489 NONAME ; void qDrawShadeLine(class QPainter *, class QPoint const &, class QPoint const &, class QPalette const &, bool, int, int)
+ ?itemForRole@QDockWidgetLayout@@QBEPAVQLayoutItem@@W4Role@1@@Z @ 2490 NONAME ; class QLayoutItem * QDockWidgetLayout::itemForRole(enum QDockWidgetLayout::Role) const
+ ??0QRadialGradient@@QAE@ABVQPointF@@M0@Z @ 2491 NONAME ; QRadialGradient::QRadialGradient(class QPointF const &, float, class QPointF const &)
+ ?currentCharFormat@QTextControl@@QBE?AVQTextCharFormat@@XZ @ 2492 NONAME ; class QTextCharFormat QTextControl::currentCharFormat(void) const
+ ??0QListWidgetItem@@QAE@ABVQIcon@@ABVQString@@PAVQListWidget@@H@Z @ 2493 NONAME ; QListWidgetItem::QListWidgetItem(class QIcon const &, class QString const &, class QListWidget *, int)
+ ?setActiveWindow@QApplication@@SAXPAVQWidget@@@Z @ 2494 NONAME ; void QApplication::setActiveWindow(class QWidget *)
+ ?dateTextFormat@QCalendarWidget@@QBE?AV?$QMap@VQDate@@VQTextCharFormat@@@@XZ @ 2495 NONAME ; class QMap<class QDate, class QTextCharFormat> QCalendarWidget::dateTextFormat(void) const
+ ?beginLayout@QTextLayout@@QAEXXZ @ 2496 NONAME ; void QTextLayout::beginLayout(void)
+ ?setPreviewWidget@QColumnView@@QAEXPAVQWidget@@@Z @ 2497 NONAME ; void QColumnView::setPreviewWidget(class QWidget *)
+ ?d_func@QWizardPage@@AAEPAVQWizardPagePrivate@@XZ @ 2498 NONAME ; class QWizardPagePrivate * QWizardPage::d_func(void)
+ ?hasChildren@QSortFilterProxyModel@@UBE_NABVQModelIndex@@@Z @ 2499 NONAME ; bool QSortFilterProxyModel::hasChildren(class QModelIndex const &) const
+ ?setFinalStop@QLinearGradient@@QAEXMM@Z @ 2500 NONAME ; void QLinearGradient::setFinalStop(float, float)
+ ?setKey@QKeySequence@@AAEXHH@Z @ 2501 NONAME ; void QKeySequence::setKey(int, int)
+ ?nativeParentWidget@QWidget@@QBEPAV1@XZ @ 2502 NONAME ; class QWidget * QWidget::nativeParentWidget(void) const
+ ?dropEvent@QTextEdit@@MAEXPAVQDropEvent@@@Z @ 2503 NONAME ; void QTextEdit::dropEvent(class QDropEvent *)
+ ?d_func@QStackedWidget@@AAEPAVQStackedWidgetPrivate@@XZ @ 2504 NONAME ; class QStackedWidgetPrivate * QStackedWidget::d_func(void)
+ ?exactMatch@QFontInfo@@QBE_NXZ @ 2505 NONAME ; bool QFontInfo::exactMatch(void) const
+ ?drawDecoration@QItemDelegate@@MBEXPAVQPainter@@ABVQStyleOptionViewItem@@ABVQRect@@ABVQPixmap@@@Z @ 2506 NONAME ; void QItemDelegate::drawDecoration(class QPainter *, class QStyleOptionViewItem const &, class QRect const &, class QPixmap const &) const
+ ?autoDestruct@QPaintEngine@@ABE_NXZ @ 2507 NONAME ; bool QPaintEngine::autoDestruct(void) const
+ ?getStaticMetaObject@QWindowsStyle@@SAABUQMetaObject@@XZ @ 2508 NONAME ; struct QMetaObject const & QWindowsStyle::getStaticMetaObject(void)
+ ??0QPen@@QAE@ABV0@@Z @ 2509 NONAME ; QPen::QPen(class QPen const &)
+ ?tr@QUndoStack@@SA?AVQString@@PBD0H@Z @ 2510 NONAME ; class QString QUndoStack::tr(char const *, char const *, int)
+ ?setDoubleRange@QInputDialog@@QAEXNN@Z @ 2511 NONAME ; void QInputDialog::setDoubleRange(double, double)
+ ?setVisible@QAction@@QAEX_N@Z @ 2512 NONAME ; void QAction::setVisible(bool)
+ ?scenePos@QGraphicsSceneMouseEvent@@QBE?AVQPointF@@XZ @ 2513 NONAME ; class QPointF QGraphicsSceneMouseEvent::scenePos(void) const
+ ?testSelector@Parser@QCss@@QAE_NXZ @ 2514 NONAME ; bool QCss::Parser::testSelector(void)
+ ?graphicsProxyWidget@QWidget@@QBEPAVQGraphicsProxyWidget@@XZ @ 2515 NONAME ; class QGraphicsProxyWidget * QWidget::graphicsProxyWidget(void) const
+ ?setDocumentMode@QMdiArea@@QAEX_N@Z @ 2516 NONAME ; void QMdiArea::setDocumentMode(bool)
+ ?createWidget@QWidgetAction@@MAEPAVQWidget@@PAV2@@Z @ 2517 NONAME ; class QWidget * QWidgetAction::createWidget(class QWidget *)
+ ??0QItemSelectionModel@@QAE@PAVQAbstractItemModel@@PAVQObject@@@Z @ 2518 NONAME ; QItemSelectionModel::QItemSelectionModel(class QAbstractItemModel *, class QObject *)
+ ?trUtf8@QLCDNumber@@SA?AVQString@@PBD0@Z @ 2519 NONAME ; class QString QLCDNumber::trUtf8(char const *, char const *)
+ ?qt_metacall@QErrorMessage@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 2520 NONAME ; int QErrorMessage::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?ungrabKeyboardEvent@QGraphicsWidget@@MAEXPAVQEvent@@@Z @ 2521 NONAME ; void QGraphicsWidget::ungrabKeyboardEvent(class QEvent *)
+ ?isColumnHidden@QTreeView@@QBE_NH@Z @ 2522 NONAME ; bool QTreeView::isColumnHidden(int) const
+ ?iconProvider@QDirModel@@QBEPAVQFileIconProvider@@XZ @ 2523 NONAME ; class QFileIconProvider * QDirModel::iconProvider(void) const
+ ?statusTip@QWidget@@QBE?AVQString@@XZ @ 2524 NONAME ; class QString QWidget::statusTip(void) const
+ ?getRgb@QColor@@QBEXPAH000@Z @ 2525 NONAME ; void QColor::getRgb(int *, int *, int *, int *) const
+ ?setColor@QPixmapColorizeFilter@@QAEXABVQColor@@@Z @ 2526 NONAME ; void QPixmapColorizeFilter::setColor(class QColor const &)
+ ?isSortCacheEnabled@QGraphicsScene@@QBE_NXZ @ 2527 NONAME ; bool QGraphicsScene::isSortCacheEnabled(void) const
+ ?rectForIndex@QListView@@IBE?AVQRect@@ABVQModelIndex@@@Z @ 2528 NONAME ; class QRect QListView::rectForIndex(class QModelIndex const &) const
+ ??0QContextMenuEvent@@QAE@W4Reason@0@ABVQPoint@@1@Z @ 2529 NONAME ; QContextMenuEvent::QContextMenuEvent(enum QContextMenuEvent::Reason, class QPoint const &, class QPoint const &)
+ ?d_func@QDialogButtonBox@@AAEPAVQDialogButtonBoxPrivate@@XZ @ 2530 NONAME ; class QDialogButtonBoxPrivate * QDialogButtonBox::d_func(void)
+ ?setStatusTip@QWidget@@QAEXABVQString@@@Z @ 2531 NONAME ; void QWidget::setStatusTip(class QString const &)
+ ??0QIcon@@QAE@ABV0@@Z @ 2532 NONAME ; QIcon::QIcon(class QIcon const &)
+ ?metaObject@QDesktopWidget@@UBEPBUQMetaObject@@XZ @ 2533 NONAME ; struct QMetaObject const * QDesktopWidget::metaObject(void) const
+ ??0QScrollArea@@QAE@PAVQWidget@@@Z @ 2534 NONAME ; QScrollArea::QScrollArea(class QWidget *)
+ ?metaObject@QWidget@@UBEPBUQMetaObject@@XZ @ 2535 NONAME ; struct QMetaObject const * QWidget::metaObject(void) const
+ ?text@QImage@@QBE?AVQString@@ABV2@@Z @ 2536 NONAME ; class QString QImage::text(class QString const &) const
+ ?showMessage@QSplashScreen@@QAEXABVQString@@HABVQColor@@@Z @ 2537 NONAME ; void QSplashScreen::showMessage(class QString const &, int, class QColor const &)
+ ?setActiveSubWindow@QMdiArea@@QAEXPAVQMdiSubWindow@@@Z @ 2538 NONAME ; void QMdiArea::setActiveSubWindow(class QMdiSubWindow *)
+ ?metaObject@QCoeFepInputContext@@UBEPBUQMetaObject@@XZ @ 2539 NONAME ABSENT ; struct QMetaObject const * QCoeFepInputContext::metaObject(void) const
+ ?showEvent@QGraphicsProxyWidget@@MAEXPAVQShowEvent@@@Z @ 2540 NONAME ; void QGraphicsProxyWidget::showEvent(class QShowEvent *)
+ ?bitmap@QCursor@@QBEPBVQBitmap@@XZ @ 2541 NONAME ; class QBitmap const * QCursor::bitmap(void) const
+ ?trUtf8@QMenuBar@@SA?AVQString@@PBD0H@Z @ 2542 NONAME ; class QString QMenuBar::trUtf8(char const *, char const *, int)
+ ?rect@QPaintEvent@@QBEABVQRect@@XZ @ 2543 NONAME ; class QRect const & QPaintEvent::rect(void) const
+ ??1QFileSystemModel@@UAE@XZ @ 2544 NONAME ; QFileSystemModel::~QFileSystemModel(void)
+ ?childEvent@QLayout@@MAEXPAVQChildEvent@@@Z @ 2545 NONAME ; void QLayout::childEvent(class QChildEvent *)
+ ??Fiterator@QTextFrame@@QAE?AV01@H@Z @ 2546 NONAME ; class QTextFrame::iterator QTextFrame::iterator::operator--(int)
+ ??0QStyleOptionTabBarBaseV2@@IAE@H@Z @ 2547 NONAME ; QStyleOptionTabBarBaseV2::QStyleOptionTabBarBaseV2(int)
+ ?tr@QTextTable@@SA?AVQString@@PBD0@Z @ 2548 NONAME ; class QString QTextTable::tr(char const *, char const *)
+ ?childEvent@QGroupBox@@MAEXPAVQChildEvent@@@Z @ 2549 NONAME ; void QGroupBox::childEvent(class QChildEvent *)
+ ??1QFontPrivate@@QAE@XZ @ 2550 NONAME ; QFontPrivate::~QFontPrivate(void)
+ ?setSelectionArea@QGraphicsScene@@QAEXABVQPainterPath@@W4ItemSelectionMode@Qt@@ABVQTransform@@@Z @ 2551 NONAME ; void QGraphicsScene::setSelectionArea(class QPainterPath const &, enum Qt::ItemSelectionMode, class QTransform const &)
+ ?metaObject@QGraphicsTextItem@@UBEPBUQMetaObject@@XZ @ 2552 NONAME ; struct QMetaObject const * QGraphicsTextItem::metaObject(void) const
+ ?indexAt@QListView@@UBE?AVQModelIndex@@ABVQPoint@@@Z @ 2553 NONAME ; class QModelIndex QListView::indexAt(class QPoint const &) const
+ ?children@QGraphicsItem@@QBE?AV?$QList@PAVQGraphicsItem@@@@XZ @ 2554 NONAME ; class QList<class QGraphicsItem *> QGraphicsItem::children(void) const
+ ?touchPointStates@QTouchEvent@@QBE?AV?$QFlags@W4TouchPointState@Qt@@@@XZ @ 2555 NONAME ; class QFlags<enum Qt::TouchPointState> QTouchEvent::touchPointStates(void) const
+ ?setOrigin@QGraphicsScale@@QAEXABVQVector3D@@@Z @ 2556 NONAME ; void QGraphicsScale::setOrigin(class QVector3D const &)
+ ?setOption@QWizard@@QAEXW4WizardOption@1@_N@Z @ 2557 NONAME ; void QWizard::setOption(enum QWizard::WizardOption, bool)
+ ?cut@QTextControl@@QAEXXZ @ 2558 NONAME ; void QTextControl::cut(void)
+ ?mapFromScene@QGraphicsItem@@QBE?AVQPolygonF@@MMMM@Z @ 2559 NONAME ; class QPolygonF QGraphicsItem::mapFromScene(float, float, float, float) const
+ ??0QTableWidgetSelectionRange@@QAE@XZ @ 2560 NONAME ; QTableWidgetSelectionRange::QTableWidgetSelectionRange(void)
+ ?tr@QAbstractSpinBox@@SA?AVQString@@PBD0@Z @ 2561 NONAME ; class QString QAbstractSpinBox::tr(char const *, char const *)
+ ?testOption@QMdiArea@@QBE_NW4AreaOption@1@@Z @ 2562 NONAME ; bool QMdiArea::testOption(enum QMdiArea::AreaOption) const
+ ?clear@QPlainTextEdit@@QAEXXZ @ 2563 NONAME ; void QPlainTextEdit::clear(void)
+ ?trUtf8@QApplication@@SA?AVQString@@PBD0@Z @ 2564 NONAME ; class QString QApplication::trUtf8(char const *, char const *)
+ ?populate@QTextureGlyphCache@@QAEXABVQTextItemInt@@ABV?$QVarLengthArray@I$0BAA@@@ABV?$QVarLengthArray@UQFixedPoint@@$0BAA@@@@Z @ 2565 NONAME ; void QTextureGlyphCache::populate(class QTextItemInt const &, class QVarLengthArray<unsigned int, 256> const &, class QVarLengthArray<struct QFixedPoint, 256> const &)
+ ?toString@QFont@@QBE?AVQString@@XZ @ 2566 NONAME ; class QString QFont::toString(void) const
+ ?insertWidget@QStackedWidget@@QAEHHPAVQWidget@@@Z @ 2567 NONAME ; int QStackedWidget::insertWidget(int, class QWidget *)
+ ?takeVerticalHeaderItem@QStandardItemModel@@QAEPAVQStandardItem@@H@Z @ 2568 NONAME ; class QStandardItem * QStandardItemModel::takeVerticalHeaderItem(int)
+ ?strokePath@QStrokerOps@@QAEXABVQPainterPath@@PAXABVQTransform@@@Z @ 2569 NONAME ; void QStrokerOps::strokePath(class QPainterPath const &, void *, class QTransform const &)
+ ?mouseMoveEvent@QGraphicsProxyWidget@@MAEXPAVQGraphicsSceneMouseEvent@@@Z @ 2570 NONAME ; void QGraphicsProxyWidget::mouseMoveEvent(class QGraphicsSceneMouseEvent *)
+ ?removePixmapDestructionHook@QImagePixmapCleanupHooks@@QAEXP6AXPAVQPixmap@@@Z@Z @ 2571 NONAME ; void QImagePixmapCleanupHooks::removePixmapDestructionHook(void (*)(class QPixmap *))
+ ?keyPressEvent@QPlainTextEdit@@MAEXPAVQKeyEvent@@@Z @ 2572 NONAME ; void QPlainTextEdit::keyPressEvent(class QKeyEvent *)
+ ??0QBitmap@@QAE@ABVQSize@@@Z @ 2573 NONAME ; QBitmap::QBitmap(class QSize const &)
+ ?updateScene@QGraphicsView@@QAEXABV?$QList@VQRectF@@@@@Z @ 2574 NONAME ; void QGraphicsView::updateScene(class QList<class QRectF> const &)
+ ?setData@QProxyModel@@UAE_NABVQModelIndex@@ABVQVariant@@H@Z @ 2575 NONAME ; bool QProxyModel::setData(class QModelIndex const &, class QVariant const &, int)
+ ?toNativeType@QPixmapData@@UAEPAXW4NativeType@1@@Z @ 2576 NONAME ; void * QPixmapData::toNativeType(enum QPixmapData::NativeType)
+ ?newPos@QGraphicsSceneMoveEvent@@QBE?AVQPointF@@XZ @ 2577 NONAME ; class QPointF QGraphicsSceneMoveEvent::newPos(void) const
+ ?contextMenuEvent@QAbstractScrollArea@@MAEXPAVQContextMenuEvent@@@Z @ 2578 NONAME ; void QAbstractScrollArea::contextMenuEvent(class QContextMenuEvent *)
+ ?instanceCounter@QWidgetPrivate@@2HA @ 2579 NONAME ; int QWidgetPrivate::instanceCounter
+ ?setNumDigits@QLCDNumber@@QAEXH@Z @ 2580 NONAME ; void QLCDNumber::setNumDigits(int)
+ ??XQMatrix@@QAEAAV0@ABV0@@Z @ 2581 NONAME ; class QMatrix & QMatrix::operator*=(class QMatrix const &)
+ ?metaObject@QTextEdit@@UBEPBUQMetaObject@@XZ @ 2582 NONAME ; struct QMetaObject const * QTextEdit::metaObject(void) const
+ ??1QImageData@@QAE@XZ @ 2583 NONAME ; QImageData::~QImageData(void)
+ ?app_style@QApplicationPrivate@@2PAVQStyle@@A @ 2584 NONAME ; class QStyle * QApplicationPrivate::app_style
+ ?supportedDropActions@QProxyModel@@UBE?AV?$QFlags@W4DropAction@Qt@@@@XZ @ 2585 NONAME ; class QFlags<enum Qt::DropAction> QProxyModel::supportedDropActions(void) const
+ ?selectionCommand@QAbstractItemView@@MBE?AV?$QFlags@W4SelectionFlag@QItemSelectionModel@@@@ABVQModelIndex@@PBVQEvent@@@Z @ 2586 NONAME ; class QFlags<enum QItemSelectionModel::SelectionFlag> QAbstractItemView::selectionCommand(class QModelIndex const &, class QEvent const *) const
+ ?delta@QGraphicsSceneWheelEvent@@QBEHXZ @ 2587 NONAME ; int QGraphicsSceneWheelEvent::delta(void) const
+ ??0QFontPrivate@@QAE@ABV0@@Z @ 2588 NONAME ; QFontPrivate::QFontPrivate(class QFontPrivate const &)
+ ?tr@QUndoGroup@@SA?AVQString@@PBD0@Z @ 2589 NONAME ; class QString QUndoGroup::tr(char const *, char const *)
+ ?fileInfo@QFileSystemModel@@QBE?AVQFileInfo@@ABVQModelIndex@@@Z @ 2590 NONAME ; class QFileInfo QFileSystemModel::fileInfo(class QModelIndex const &) const
+ ?done@QFontDialog@@MAEXH@Z @ 2591 NONAME ; void QFontDialog::done(int)
+ ?timerEvent@QTableView@@MAEXPAVQTimerEvent@@@Z @ 2592 NONAME ; void QTableView::timerEvent(class QTimerEvent *)
+ ?clear@QLineControl@@QAEXXZ @ 2593 NONAME ; void QLineControl::clear(void)
+ ?metaObject@QInputContextPlugin@@UBEPBUQMetaObject@@XZ @ 2594 NONAME ; struct QMetaObject const * QInputContextPlugin::metaObject(void) const
+ ?height@QTextImageFormat@@QBEMXZ @ 2595 NONAME ; float QTextImageFormat::height(void) const
+ ?sizeHint@QMenuBar@@UBE?AVQSize@@XZ @ 2596 NONAME ; class QSize QMenuBar::sizeHint(void) const
+ ?rawMode@QFontInfo@@QBE_NXZ @ 2597 NONAME ; bool QFontInfo::rawMode(void) const
+ ?critical@QMessageBox@@SAHPAVQWidget@@ABVQString@@1W4StandardButton@1@2@Z @ 2598 NONAME ; int QMessageBox::critical(class QWidget *, class QString const &, class QString const &, enum QMessageBox::StandardButton, enum QMessageBox::StandardButton)
+ ?physicalDpiY@QPaintDevice@@QBEHXZ @ 2599 NONAME ; int QPaintDevice::physicalDpiY(void) const
+ ?trUtf8@QAbstractProxyModel@@SA?AVQString@@PBD0@Z @ 2600 NONAME ; class QString QAbstractProxyModel::trUtf8(char const *, char const *)
+ ?d_func@QToolButton@@AAEPAVQToolButtonPrivate@@XZ @ 2601 NONAME ; class QToolButtonPrivate * QToolButton::d_func(void)
+ ?opaqueArea@QGraphicsEllipseItem@@UBE?AVQPainterPath@@XZ @ 2602 NONAME ; class QPainterPath QGraphicsEllipseItem::opaqueArea(void) const
+ ?hitTestComplexControl@QCommonStyle@@UBE?AW4SubControl@QStyle@@W4ComplexControl@3@PBVQStyleOptionComplex@@ABVQPoint@@PBVQWidget@@@Z @ 2603 NONAME ; enum QStyle::SubControl QCommonStyle::hitTestComplexControl(enum QStyle::ComplexControl, class QStyleOptionComplex const *, class QPoint const &, class QWidget const *) const
+ ??0QGraphicsBloomEffect@@QAE@PAVQObject@@@Z @ 2604 NONAME ABSENT ; QGraphicsBloomEffect::QGraphicsBloomEffect(class QObject *)
+ ?alternateBase@QPalette@@QBEABVQBrush@@XZ @ 2605 NONAME ; class QBrush const & QPalette::alternateBase(void) const
+ ?qt_metacast@QColumnView@@UAEPAXPBD@Z @ 2606 NONAME ; void * QColumnView::qt_metacast(char const *)
+ ??_0QQuaternion@@QAEAAV0@M@Z @ 2607 NONAME ; class QQuaternion & QQuaternion::operator/=(float)
+ ?showEvent@QPlainTextEdit@@MAEXPAVQShowEvent@@@Z @ 2608 NONAME ; void QPlainTextEdit::showEvent(class QShowEvent *)
+ ?isMovable@QTabWidget@@QBE_NXZ @ 2609 NONAME ; bool QTabWidget::isMovable(void) const
+ ?setIcon@QTableWidgetItem@@QAEXABVQIcon@@@Z @ 2610 NONAME ; void QTableWidgetItem::setIcon(class QIcon const &)
+ ?doResize@QWidgetResizeHandler@@QAEXXZ @ 2611 NONAME ; void QWidgetResizeHandler::doResize(void)
+ ??1QWidgetAction@@UAE@XZ @ 2612 NONAME ; QWidgetAction::~QWidgetAction(void)
+ ?paintingActive@QPaintDevice@@QBE_NXZ @ 2613 NONAME ; bool QPaintDevice::paintingActive(void) const
+ ?options@QFileDialog@@QBE?AV?$QFlags@W4Option@QFileDialog@@@@XZ @ 2614 NONAME ; class QFlags<enum QFileDialog::Option> QFileDialog::options(void) const
+ ?dataChanged@QHeaderView@@MAEXABVQModelIndex@@0@Z @ 2615 NONAME ; void QHeaderView::dataChanged(class QModelIndex const &, class QModelIndex const &)
+ ?hideText@QWhatsThis@@SAXXZ @ 2616 NONAME ; void QWhatsThis::hideText(void)
+ ?getStaticMetaObject@QGraphicsGrayscaleEffect@@SAABUQMetaObject@@XZ @ 2617 NONAME ABSENT ; struct QMetaObject const & QGraphicsGrayscaleEffect::getStaticMetaObject(void)
+ ?construct@QApplicationPrivate@@QAEXXZ @ 2618 NONAME ; void QApplicationPrivate::construct(void)
+ ?mouseReleaseEvent@QSizeGrip@@MAEXPAVQMouseEvent@@@Z @ 2619 NONAME ; void QSizeGrip::mouseReleaseEvent(class QMouseEvent *)
+ ?currentIndex@QTabBar@@QBEHXZ @ 2620 NONAME ; int QTabBar::currentIndex(void) const
+ ??0QFontInfo@@QAE@ABV0@@Z @ 2621 NONAME ; QFontInfo::QFontInfo(class QFontInfo const &)
+ ?setArrowType@QToolButton@@QAEXW4ArrowType@Qt@@@Z @ 2622 NONAME ; void QToolButton::setArrowType(enum Qt::ArrowType)
+ ?setTextAlignment@QTableWidgetItem@@QAEXH@Z @ 2623 NONAME ; void QTableWidgetItem::setTextAlignment(int)
+ ?setScreenPos@TouchPoint@QTouchEvent@@QAEXABVQPointF@@@Z @ 2624 NONAME ; void QTouchEvent::TouchPoint::setScreenPos(class QPointF const &)
+ ?finalStop@QLinearGradient@@QBE?AVQPointF@@XZ @ 2625 NONAME ; class QPointF QLinearGradient::finalStop(void) const
+ ?setDragEnabled@QAbstractItemView@@QAEX_N@Z @ 2626 NONAME ; void QAbstractItemView::setDragEnabled(bool)
+ ?timerEvent@QMenuBar@@MAEXPAVQTimerEvent@@@Z @ 2627 NONAME ; void QMenuBar::timerEvent(class QTimerEvent *)
+ ?getStaticMetaObject@QDrag@@SAABUQMetaObject@@XZ @ 2628 NONAME ; struct QMetaObject const & QDrag::getStaticMetaObject(void)
+ ?setFiltersChildEvents@QGraphicsItem@@QAEX_N@Z @ 2629 NONAME ; void QGraphicsItem::setFiltersChildEvents(bool)
+ ?trUtf8@QAbstractItemView@@SA?AVQString@@PBD0@Z @ 2630 NONAME ; class QString QAbstractItemView::trUtf8(char const *, char const *)
+ ?isChecked@QGroupBox@@QBE_NXZ @ 2631 NONAME ; bool QGroupBox::isChecked(void) const
+ ?type@QApplication@@SA?AW4Type@1@XZ @ 2632 NONAME ; enum QApplication::Type QApplication::type(void)
+ ?setClean@QUndoStack@@QAEXXZ @ 2633 NONAME ; void QUndoStack::setClean(void)
+ ?staticMetaObject@QGradient@@2UQMetaObject@@B @ 2634 NONAME ; struct QMetaObject const QGradient::staticMetaObject
+ ?trUtf8@QSwipeGesture@@SA?AVQString@@PBD0@Z @ 2635 NONAME ; class QString QSwipeGesture::trUtf8(char const *, char const *)
+ ?metaObject@QDateEdit@@UBEPBUQMetaObject@@XZ @ 2636 NONAME ; struct QMetaObject const * QDateEdit::metaObject(void) const
+ ?symbol@Parser@QCss@@QBEABUSymbol@2@XZ @ 2637 NONAME ; struct QCss::Symbol const & QCss::Parser::symbol(void) const
+ ?tr@QStyledItemDelegate@@SA?AVQString@@PBD0@Z @ 2638 NONAME ; class QString QStyledItemDelegate::tr(char const *, char const *)
+ ?setMinimumSize_helper@QWidgetPrivate@@QAE_NAAH0@Z @ 2639 NONAME ; bool QWidgetPrivate::setMinimumSize_helper(int &, int &)
+ ?maximumSize@QDockWidgetLayout@@UBE?AVQSize@@XZ @ 2640 NONAME ; class QSize QDockWidgetLayout::maximumSize(void) const
+ ??4QPaintBuffer@@QAEAAV0@ABV0@@Z @ 2641 NONAME ; class QPaintBuffer & QPaintBuffer::operator=(class QPaintBuffer const &)
+ ?buttonPressed@QButtonGroup@@IAEXPAVQAbstractButton@@@Z @ 2642 NONAME ; void QButtonGroup::buttonPressed(class QAbstractButton *)
+ ?menuWidget@QMainWindow@@QBEPAVQWidget@@XZ @ 2643 NONAME ; class QWidget * QMainWindow::menuWidget(void) const
+ ?d_func@QTextEdit@@ABEPBVQTextEditPrivate@@XZ @ 2644 NONAME ; class QTextEditPrivate const * QTextEdit::d_func(void) const
+ ??0QResizeEvent@@QAE@ABVQSize@@0@Z @ 2645 NONAME ; QResizeEvent::QResizeEvent(class QSize const &, class QSize const &)
+ ?drawRects@QPainter@@QAEXPBVQRect@@H@Z @ 2646 NONAME ; void QPainter::drawRects(class QRect const *, int)
+ ?totalRotationAngle@QPinchGesture@@QBEMXZ @ 2647 NONAME ; float QPinchGesture::totalRotationAngle(void) const
+ ?addButton@QButtonGroup@@QAEXPAVQAbstractButton@@@Z @ 2648 NONAME ; void QButtonGroup::addButton(class QAbstractButton *)
+ ?drawImage@QPaintEngine@@UAEXABVQRectF@@ABVQImage@@0V?$QFlags@W4ImageConversionFlag@Qt@@@@@Z @ 2649 NONAME ; void QPaintEngine::drawImage(class QRectF const &, class QImage const &, class QRectF const &, class QFlags<enum Qt::ImageConversionFlag>)
+ ?addWidget@QStackedWidget@@QAEHPAVQWidget@@@Z @ 2650 NONAME ; int QStackedWidget::addWidget(class QWidget *)
+ ?combineTransformFromParent@QGraphicsItemPrivate@@QBEXPAVQTransform@@PBV2@@Z @ 2651 NONAME ; void QGraphicsItemPrivate::combineTransformFromParent(class QTransform *, class QTransform const *) const
+ ?normalized@QVector3D@@QBE?AV1@XZ @ 2652 NONAME ; class QVector3D QVector3D::normalized(void) const
+ ??_EQMainWindow@@UAE@I@Z @ 2653 NONAME ; QMainWindow::~QMainWindow(unsigned int)
+ ?styleSheet@QApplication@@QBE?AVQString@@XZ @ 2654 NONAME ; class QString QApplication::styleSheet(void) const
+ ?setColumnAlignment@QGraphicsGridLayout@@QAEXHV?$QFlags@W4AlignmentFlag@Qt@@@@@Z @ 2655 NONAME ; void QGraphicsGridLayout::setColumnAlignment(int, class QFlags<enum Qt::AlignmentFlag>)
+ ?modifiers@QGraphicsSceneHoverEvent@@QBE?AV?$QFlags@W4KeyboardModifier@Qt@@@@XZ @ 2656 NONAME ; class QFlags<enum Qt::KeyboardModifier> QGraphicsSceneHoverEvent::modifiers(void) const
+ ?setPen@QAbstractGraphicsShapeItem@@QAEXABVQPen@@@Z @ 2657 NONAME ; void QAbstractGraphicsShapeItem::setPen(class QPen const &)
+ ??0QTextList@@QAE@PAVQTextDocument@@@Z @ 2658 NONAME ; QTextList::QTextList(class QTextDocument *)
+ ?drawLine@QPainter@@QAEXABVQLine@@@Z @ 2659 NONAME ; void QPainter::drawLine(class QLine const &)
+ ?panelModality@QGraphicsItem@@QBE?AW4PanelModality@1@XZ @ 2660 NONAME ; enum QGraphicsItem::PanelModality QGraphicsItem::panelModality(void) const
+ ?heightForWidth@QWidgetItem@@UBEHH@Z @ 2661 NONAME ; int QWidgetItem::heightForWidth(int) const
+ ?qt_metacast@QS60Style@@UAEPAXPBD@Z @ 2662 NONAME ; void * QS60Style::qt_metacast(char const *)
+ ?cleanIndex@QUndoStack@@QBEHXZ @ 2663 NONAME ; int QUndoStack::cleanIndex(void) const
+ ?index@QFileSystemModel@@UBE?AVQModelIndex@@HHABV2@@Z @ 2664 NONAME ; class QModelIndex QFileSystemModel::index(int, int, class QModelIndex const &) const
+ ??1QStyleOptionFrameV3@@QAE@XZ @ 2665 NONAME ; QStyleOptionFrameV3::~QStyleOptionFrameV3(void)
+ ??1QGraphicsBloomEffect@@UAE@XZ @ 2666 NONAME ABSENT ; QGraphicsBloomEffect::~QGraphicsBloomEffect(void)
+ ??1QAbstractTextDocumentLayout@@UAE@XZ @ 2667 NONAME ; QAbstractTextDocumentLayout::~QAbstractTextDocumentLayout(void)
+ ?scaled@QPixmap@@QBE?AV1@HHW4AspectRatioMode@Qt@@W4TransformationMode@3@@Z @ 2668 NONAME ; class QPixmap QPixmap::scaled(int, int, enum Qt::AspectRatioMode, enum Qt::TransformationMode) const
+ ??_EQGraphicsTransform@@UAE@I@Z @ 2669 NONAME ; QGraphicsTransform::~QGraphicsTransform(unsigned int)
+ ?tr@QAbstractScrollArea@@SA?AVQString@@PBD0@Z @ 2670 NONAME ; class QString QAbstractScrollArea::tr(char const *, char const *)
+ ?clickedButton@QMessageBox@@QBEPAVQAbstractButton@@XZ @ 2671 NONAME ; class QAbstractButton * QMessageBox::clickedButton(void) const
+ ?setClipPath@QPainter@@QAEXABVQPainterPath@@W4ClipOperation@Qt@@@Z @ 2672 NONAME ; void QPainter::setClipPath(class QPainterPath const &, enum Qt::ClipOperation)
+ ?qt_metacall@QStringListModel@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 2673 NONAME ; int QStringListModel::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?hasPendingEvents@QEventDispatcherS60@@UAE_NXZ @ 2674 NONAME ; bool QEventDispatcherS60::hasPendingEvents(void)
+ ?addAction@QMenuBar@@QAEPAVQAction@@ABVQString@@@Z @ 2675 NONAME ; class QAction * QMenuBar::addAction(class QString const &)
+ ?undo@QTextDocument@@QAEXXZ @ 2676 NONAME ; void QTextDocument::undo(void)
+ ?tr@QTableWidget@@SA?AVQString@@PBD0H@Z @ 2677 NONAME ; class QString QTableWidget::tr(char const *, char const *, int)
+ ?widgetEvent@QLayout@@IAEXPAVQEvent@@@Z @ 2678 NONAME ; void QLayout::widgetEvent(class QEvent *)
+ ?setRowHeight@QTableView@@QAEXHH@Z @ 2679 NONAME ; void QTableView::setRowHeight(int, int)
+ ?setRect@QGraphicsEllipseItem@@QAEXABVQRectF@@@Z @ 2680 NONAME ; void QGraphicsEllipseItem::setRect(class QRectF const &)
+ ?isBlockFormat@QTextFormat@@QBE_NXZ @ 2681 NONAME ; bool QTextFormat::isBlockFormat(void) const
+ ??0QColormap@@QAE@ABV0@@Z @ 2682 NONAME ; QColormap::QColormap(class QColormap const &)
+ ?rightPadding@QTextTableCellFormat@@QBEMXZ @ 2683 NONAME ; float QTextTableCellFormat::rightPadding(void) const
+ ?staticMetaObject@QGraphicsBloomEffect@@2UQMetaObject@@B @ 2684 NONAME ABSENT ; struct QMetaObject const QGraphicsBloomEffect::staticMetaObject
+ ?leading@QFontMetricsF@@QBEMXZ @ 2685 NONAME ; float QFontMetricsF::leading(void) const
+ ?beginNativePainting@QPainter@@QAEXXZ @ 2686 NONAME ; void QPainter::beginNativePainting(void)
+ ?addChildWidget@QLayout@@IAEXPAVQWidget@@@Z @ 2687 NONAME ; void QLayout::addChildWidget(class QWidget *)
+ ?setVisible@QColorDialog@@UAEX_N@Z @ 2688 NONAME ; void QColorDialog::setVisible(bool)
+ ?selectedColumns@QItemSelectionModel@@QBE?AV?$QList@VQModelIndex@@@@H@Z @ 2689 NONAME ; class QList<class QModelIndex> QItemSelectionModel::selectedColumns(int) const
+ ?mouseMoveEvent@QRadioButton@@MAEXPAVQMouseEvent@@@Z @ 2690 NONAME ; void QRadioButton::mouseMoveEvent(class QMouseEvent *)
+ ?hasStaticContents@QWindowSurface@@IBE_NXZ @ 2691 NONAME ; bool QWindowSurface::hasStaticContents(void) const
+ ?sizeHint@QGraphicsView@@UBE?AVQSize@@XZ @ 2692 NONAME ; class QSize QGraphicsView::sizeHint(void) const
+ ?hiddenSectionCount@QHeaderView@@QBEHXZ @ 2693 NONAME ; int QHeaderView::hiddenSectionCount(void) const
+ ?getStaticMetaObject@QTabWidget@@SAABUQMetaObject@@XZ @ 2694 NONAME ; struct QMetaObject const & QTabWidget::getStaticMetaObject(void)
+ ?fade_tooltip@QApplicationPrivate@@2_NA @ 2695 NONAME ; bool QApplicationPrivate::fade_tooltip
+ ?tr@QStackedLayout@@SA?AVQString@@PBD0H@Z @ 2696 NONAME ; class QString QStackedLayout::tr(char const *, char const *, int)
+ ?redo@QLineEdit@@QAEXXZ @ 2697 NONAME ; void QLineEdit::redo(void)
+ ?deviceTransform@QPainter@@QBEABVQTransform@@XZ @ 2698 NONAME ; class QTransform const & QPainter::deviceTransform(void) const
+ ?checkStateSet@QAbstractButton@@MAEXXZ @ 2699 NONAME ; void QAbstractButton::checkStateSet(void)
+ ?removeRows@QSortFilterProxyModel@@UAE_NHHABVQModelIndex@@@Z @ 2700 NONAME ; bool QSortFilterProxyModel::removeRows(int, int, class QModelIndex const &)
+ ??0iterator@QTextBlock@@QAE@XZ @ 2701 NONAME ; QTextBlock::iterator::iterator(void)
+ ?staticMetaObject@QGraphicsItemAnimation@@2UQMetaObject@@B @ 2702 NONAME ; struct QMetaObject const QGraphicsItemAnimation::staticMetaObject
+ ?setSourceModel@QAbstractProxyModel@@UAEXPAVQAbstractItemModel@@@Z @ 2703 NONAME ; void QAbstractProxyModel::setSourceModel(class QAbstractItemModel *)
+ ??0QTextImageFormat@@QAE@XZ @ 2704 NONAME ; QTextImageFormat::QTextImageFormat(void)
+ ?toHtml@QTextDocumentFragment@@QBE?AVQString@@XZ @ 2705 NONAME ; class QString QTextDocumentFragment::toHtml(void) const
+ ?removeButton@QMessageBox@@QAEXPAVQAbstractButton@@@Z @ 2706 NONAME ; void QMessageBox::removeButton(class QAbstractButton *)
+ ?setWhatsThis@QTableWidgetItem@@QAEXABVQString@@@Z @ 2707 NONAME ; void QTableWidgetItem::setWhatsThis(class QString const &)
+ ?inputMethodQuery@QLineEdit@@UBE?AVQVariant@@W4InputMethodQuery@Qt@@@Z @ 2708 NONAME ; class QVariant QLineEdit::inputMethodQuery(enum Qt::InputMethodQuery) const
+ ?slopeAtPercent@QPainterPath@@QBEMM@Z @ 2709 NONAME ; float QPainterPath::slopeAtPercent(float) const
+ ?font@QTableWidgetItem@@QBE?AVQFont@@XZ @ 2710 NONAME ; class QFont QTableWidgetItem::font(void) const
+ ?staticMetaObject@QInputDialog@@2UQMetaObject@@B @ 2711 NONAME ; struct QMetaObject const QInputDialog::staticMetaObject
+ ?statusTip@QListWidgetItem@@QBE?AVQString@@XZ @ 2712 NONAME ; class QString QListWidgetItem::statusTip(void) const
+ ?mouseReleaseEvent@QAbstractScrollArea@@MAEXPAVQMouseEvent@@@Z @ 2713 NONAME ; void QAbstractScrollArea::mouseReleaseEvent(class QMouseEvent *)
+ ?mapFromParent@QGraphicsItem@@QBE?AVQPointF@@MM@Z @ 2714 NONAME ; class QPointF QGraphicsItem::mapFromParent(float, float) const
+ ?initStyleOption@QRadioButton@@IBEXPAVQStyleOptionButton@@@Z @ 2715 NONAME ; void QRadioButton::initStyleOption(class QStyleOptionButton *) const
+ ?fileDialogDelete@QGuiPlatformPlugin@@UAEXPAVQFileDialog@@@Z @ 2716 NONAME ; void QGuiPlatformPlugin::fileDialogDelete(class QFileDialog *)
+ ?joinForJoinMode@QStroker@@KA?AW4PenJoinStyle@Qt@@W4LineJoinMode@1@@Z @ 2717 NONAME ; enum Qt::PenJoinStyle QStroker::joinForJoinMode(enum QStroker::LineJoinMode)
+ ?paintEngine@QWidget@@UBEPAVQPaintEngine@@XZ @ 2718 NONAME ; class QPaintEngine * QWidget::paintEngine(void) const
+ ??9QMatrix@@QBE_NABV0@@Z @ 2719 NONAME ; bool QMatrix::operator!=(class QMatrix const &) const
+ ?tr@QInputContext@@SA?AVQString@@PBD0@Z @ 2720 NONAME ; class QString QInputContext::tr(char const *, char const *)
+ ?setFocusPolicy@QGraphicsWidget@@QAEXW4FocusPolicy@Qt@@@Z @ 2721 NONAME ; void QGraphicsWidget::setFocusPolicy(enum Qt::FocusPolicy)
+ ?qt_metacall@QAbstractScrollArea@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 2722 NONAME ; int QAbstractScrollArea::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?type@QGradient@@QBE?AW4Type@1@XZ @ 2723 NONAME ; enum QGradient::Type QGradient::type(void) const
+ ??0QVector4D@@QAE@MMMM@Z @ 2724 NONAME ; QVector4D::QVector4D(float, float, float, float)
+ ?setFirstItemColumnSpanned@QTreeWidget@@QAEXPBVQTreeWidgetItem@@_N@Z @ 2725 NONAME ; void QTreeWidget::setFirstItemColumnSpanned(class QTreeWidgetItem const *, bool)
+ ?group@QGraphicsItem@@QBEPAVQGraphicsItemGroup@@XZ @ 2726 NONAME ; class QGraphicsItemGroup * QGraphicsItem::group(void) const
+ ?isMovable@QToolBar@@QBE_NXZ @ 2727 NONAME ; bool QToolBar::isMovable(void) const
+ ?completionModel@QCompleter@@QBEPAVQAbstractItemModel@@XZ @ 2728 NONAME ; class QAbstractItemModel * QCompleter::completionModel(void) const
+ ??_EQGraphicsSceneMoveEvent@@UAE@I@Z @ 2729 NONAME ; QGraphicsSceneMoveEvent::~QGraphicsSceneMoveEvent(unsigned int)
+ ?mapRectFromItem@QGraphicsItem@@QBE?AVQRectF@@PBV1@ABV2@@Z @ 2730 NONAME ; class QRectF QGraphicsItem::mapRectFromItem(class QGraphicsItem const *, class QRectF const &) const
+ ?setMargin@QLabel@@QAEXH@Z @ 2731 NONAME ; void QLabel::setMargin(int)
+ ?data_ptr@QPicture@@QAEAAV?$QExplicitlySharedDataPointer@VQPicturePrivate@@@@XZ @ 2732 NONAME ; class QExplicitlySharedDataPointer<class QPicturePrivate> & QPicture::data_ptr(void)
+ ?closeAllWindows@QApplication@@SAXXZ @ 2733 NONAME ; void QApplication::closeAllWindows(void)
+ ?setMimeData@QDrag@@QAEXPAVQMimeData@@@Z @ 2734 NONAME ; void QDrag::setMimeData(class QMimeData *)
+ ?trUtf8@QGraphicsGrayscaleEffect@@SA?AVQString@@PBD0H@Z @ 2735 NONAME ABSENT ; class QString QGraphicsGrayscaleEffect::trUtf8(char const *, char const *, int)
+ ?trUtf8@QStringListModel@@SA?AVQString@@PBD0H@Z @ 2736 NONAME ; class QString QStringListModel::trUtf8(char const *, char const *, int)
+ ?trUtf8@QEventDispatcherS60@@SA?AVQString@@PBD0@Z @ 2737 NONAME ; class QString QEventDispatcherS60::trUtf8(char const *, char const *)
+ ??0QMdiSubWindow@@QAE@PAVQWidget@@V?$QFlags@W4WindowType@Qt@@@@@Z @ 2738 NONAME ; QMdiSubWindow::QMdiSubWindow(class QWidget *, class QFlags<enum Qt::WindowType>)
+ ?heightForWidth@QLayoutItem@@UBEHH@Z @ 2739 NONAME ; int QLayoutItem::heightForWidth(int) const
+ ?backwardHistoryCount@QTextBrowser@@QBEHXZ @ 2740 NONAME ; int QTextBrowser::backwardHistoryCount(void) const
+ ?dateEditAcceptDelay@QCalendarWidget@@QBEHXZ @ 2741 NONAME ; int QCalendarWidget::dateEditAcceptDelay(void) const
+ ?staticMetaObject@QTreeView@@2UQMetaObject@@B @ 2742 NONAME ; struct QMetaObject const QTreeView::staticMetaObject
+ ?mouseReleaseEvent@QHeaderView@@MAEXPAVQMouseEvent@@@Z @ 2743 NONAME ; void QHeaderView::mouseReleaseEvent(class QMouseEvent *)
+ ?tr@QProgressBar@@SA?AVQString@@PBD0@Z @ 2744 NONAME ; class QString QProgressBar::tr(char const *, char const *)
+ ?device@QImageReader@@QBEPAVQIODevice@@XZ @ 2745 NONAME ; class QIODevice * QImageReader::device(void) const
+ ??0QTreeWidgetItem@@QAE@PAV0@H@Z @ 2746 NONAME ; QTreeWidgetItem::QTreeWidgetItem(class QTreeWidgetItem *, int)
+ ??5@YAAAVQDataStream@@AAV0@AAVQColor@@@Z @ 2747 NONAME ; class QDataStream & operator>>(class QDataStream &, class QColor &)
+ ?qt_metacall@QStackedLayout@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 2748 NONAME ; int QStackedLayout::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?filter@QFileSystemModel@@QBE?AV?$QFlags@W4Filter@QDir@@@@XZ @ 2749 NONAME ; class QFlags<enum QDir::Filter> QFileSystemModel::filter(void) const
+ ??_EQCommandLinkButton@@UAE@I@Z @ 2750 NONAME ; QCommandLinkButton::~QCommandLinkButton(unsigned int)
+ ?d_func@QGraphicsRotation@@ABEPBVQGraphicsRotationPrivate@@XZ @ 2751 NONAME ; class QGraphicsRotationPrivate const * QGraphicsRotation::d_func(void) const
+ ?d_func@QCheckBox@@AAEPAVQCheckBoxPrivate@@XZ @ 2752 NONAME ; class QCheckBoxPrivate * QCheckBox::d_func(void)
+ ?d_func@QGridLayout@@AAEPAVQGridLayoutPrivate@@XZ @ 2753 NONAME ; class QGridLayoutPrivate * QGridLayout::d_func(void)
+ ?aboutQt@QApplication@@SAXXZ @ 2754 NONAME ; void QApplication::aboutQt(void)
+ ?selectedTableCells@QTextCursor@@QBEXPAH000@Z @ 2755 NONAME ; void QTextCursor::selectedTableCells(int *, int *, int *, int *) const
+ ?testAndParseUri@Parser@QCss@@QAE_NPAVQString@@@Z @ 2756 NONAME ; bool QCss::Parser::testAndParseUri(class QString *)
+ ?paintEvent@QListView@@MAEXPAVQPaintEvent@@@Z @ 2757 NONAME ; void QListView::paintEvent(class QPaintEvent *)
+ ??_EQFileSystemModel@@UAE@I@Z @ 2758 NONAME ; QFileSystemModel::~QFileSystemModel(unsigned int)
+ ?setGeometry@QWindowSurface@@UAEXABVQRect@@@Z @ 2759 NONAME ; void QWindowSurface::setGeometry(class QRect const &)
+ ?setFontStyleStrategy@QTextCharFormat@@QAEXW4StyleStrategy@QFont@@@Z @ 2760 NONAME ; void QTextCharFormat::setFontStyleStrategy(enum QFont::StyleStrategy)
+ ?prefix@QDoubleSpinBox@@QBE?AVQString@@XZ @ 2761 NONAME ; class QString QDoubleSpinBox::prefix(void) const
+ ?inFont@QFontMetrics@@QBE_NVQChar@@@Z @ 2762 NONAME ; bool QFontMetrics::inFont(class QChar) const
+ ?addLine@QGraphicsScene@@QAEPAVQGraphicsLineItem@@ABVQLineF@@ABVQPen@@@Z @ 2763 NONAME ; class QGraphicsLineItem * QGraphicsScene::addLine(class QLineF const &, class QPen const &)
+ ??6@YA?AVQDebug@@V0@ABVQItemSelectionRange@@@Z @ 2764 NONAME ; class QDebug operator<<(class QDebug, class QItemSelectionRange const &)
+ ?getFont@QFontDialog@@SA?AVQFont@@PA_NABV2@PAVQWidget@@ABVQString@@V?$QFlags@W4FontDialogOption@QFontDialog@@@@@Z @ 2765 NONAME ; class QFont QFontDialog::getFont(bool *, class QFont const &, class QWidget *, class QString const &, class QFlags<enum QFontDialog::FontDialogOption>)
+ ?windowFlags@QGraphicsWidget@@QBE?AV?$QFlags@W4WindowType@Qt@@@@XZ @ 2766 NONAME ; class QFlags<enum Qt::WindowType> QGraphicsWidget::windowFlags(void) const
+ ?setTextOutline@QTextCharFormat@@QAEXABVQPen@@@Z @ 2767 NONAME ; void QTextCharFormat::setTextOutline(class QPen const &)
+ ?setFixedHeight@QWidget@@QAEXH@Z @ 2768 NONAME ; void QWidget::setFixedHeight(int)
+ ?invalidateCachedClipPath@QGraphicsItemPrivate@@QAEXXZ @ 2769 NONAME ; void QGraphicsItemPrivate::invalidateCachedClipPath(void)
+ ??6@YA?AVQDebug@@V0@ABVQTransform@@@Z @ 2770 NONAME ; class QDebug operator<<(class QDebug, class QTransform const &)
+ ??_EQGraphicsEllipseItem@@UAE@I@Z @ 2771 NONAME ; QGraphicsEllipseItem::~QGraphicsEllipseItem(unsigned int)
+ ?setCancelButtonText@QInputDialog@@QAEXABVQString@@@Z @ 2772 NONAME ; void QInputDialog::setCancelButtonText(class QString const &)
+ ??0QStyleOptionProgressBarV2@@QAE@ABVQStyleOptionProgressBar@@@Z @ 2773 NONAME ; QStyleOptionProgressBarV2::QStyleOptionProgressBarV2(class QStyleOptionProgressBar const &)
+ ??_EQTextControl@@UAE@I@Z @ 2774 NONAME ; QTextControl::~QTextControl(unsigned int)
+ ?setPosition@QTextLayout@@QAEXABVQPointF@@@Z @ 2775 NONAME ; void QTextLayout::setPosition(class QPointF const &)
+ ?keyBindings@QKeySequence@@SA?AV?$QList@VQKeySequence@@@@W4StandardKey@1@@Z @ 2776 NONAME ; class QList<class QKeySequence> QKeySequence::keyBindings(enum QKeySequence::StandardKey)
+ ?resetLabelAlignment@QFormLayout@@AAEXXZ @ 2777 NONAME ; void QFormLayout::resetLabelAlignment(void)
+ ?buttonRole@QMessageBox@@QBE?AW4ButtonRole@1@PAVQAbstractButton@@@Z @ 2778 NONAME ; enum QMessageBox::ButtonRole QMessageBox::buttonRole(class QAbstractButton *) const
+ ?imageCount@QImageIOHandler@@UBEHXZ @ 2779 NONAME ; int QImageIOHandler::imageCount(void) const
+ ?event@QAbstractItemView@@MAE_NPAVQEvent@@@Z @ 2780 NONAME ; bool QAbstractItemView::event(class QEvent *)
+ ?boundingRect@QPainter@@QAE?AVQRectF@@ABV2@HABVQString@@@Z @ 2781 NONAME ; class QRectF QPainter::boundingRect(class QRectF const &, int, class QString const &)
+ ?stops@QGradient@@QBE?AV?$QVector@U?$QPair@MVQColor@@@@@@XZ @ 2782 NONAME ; class QVector<struct QPair<float, class QColor> > QGradient::stops(void) const
+ ?qt_metacast@QHBoxLayout@@UAEPAXPBD@Z @ 2783 NONAME ; void * QHBoxLayout::qt_metacast(char const *)
+ ?createAction@QWhatsThis@@SAPAVQAction@@PAVQObject@@@Z @ 2784 NONAME ; class QAction * QWhatsThis::createAction(class QObject *)
+ ?setWhatsThis@QAction@@QAEXABVQString@@@Z @ 2785 NONAME ; void QAction::setWhatsThis(class QString const &)
+ ?setFrameShadow@QFrame@@QAEXW4Shadow@1@@Z @ 2786 NONAME ; void QFrame::setFrameShadow(enum QFrame::Shadow)
+ ?priv@QPlainTextDocumentLayout@@ABEPAVQPlainTextDocumentLayoutPrivate@@XZ @ 2787 NONAME ; class QPlainTextDocumentLayoutPrivate * QPlainTextDocumentLayout::priv(void) const
+ ?d_func@QDesktopWidget@@ABEPBVQDesktopWidgetPrivate@@XZ @ 2788 NONAME ; class QDesktopWidgetPrivate const * QDesktopWidget::d_func(void) const
+ ??0QHoverEvent@@QAE@W4Type@QEvent@@ABVQPoint@@1@Z @ 2789 NONAME ; QHoverEvent::QHoverEvent(enum QEvent::Type, class QPoint const &, class QPoint const &)
+ ?sizeHintForRow@QAbstractItemView@@UBEHH@Z @ 2790 NONAME ; int QAbstractItemView::sizeHintForRow(int) const
+ ?d_func@QGraphicsDropShadowEffect@@ABEPBVQGraphicsDropShadowEffectPrivate@@XZ @ 2791 NONAME ; class QGraphicsDropShadowEffectPrivate const * QGraphicsDropShadowEffect::d_func(void) const
+ ?alignment@QScrollArea@@QBE?AV?$QFlags@W4AlignmentFlag@Qt@@@@XZ @ 2792 NONAME ; class QFlags<enum Qt::AlignmentFlag> QScrollArea::alignment(void) const
+ ?mkdir@QFileSystemModel@@QAE?AVQModelIndex@@ABV2@ABVQString@@@Z @ 2793 NONAME ; class QModelIndex QFileSystemModel::mkdir(class QModelIndex const &, class QString const &)
+ ?update@QWidget@@QAEXABVQRegion@@@Z @ 2794 NONAME ; void QWidget::update(class QRegion const &)
+ ??9QFontMetrics@@QAE_NABV0@@Z @ 2795 NONAME ; bool QFontMetrics::operator!=(class QFontMetrics const &)
+ ?font@QTextEngine@@QBE?AVQFont@@ABUQScriptItem@@@Z @ 2796 NONAME ; class QFont QTextEngine::font(struct QScriptItem const &) const
+ ?focusInEvent@QGraphicsTextItem@@MAEXPAVQFocusEvent@@@Z @ 2797 NONAME ; void QGraphicsTextItem::focusInEvent(class QFocusEvent *)
+ ?transformed@QPixmap@@QBE?AV1@ABVQMatrix@@W4TransformationMode@Qt@@@Z @ 2798 NONAME ; class QPixmap QPixmap::transformed(class QMatrix const &, enum Qt::TransformationMode) const
+ ?mapRectToItem@QGraphicsItem@@QBE?AVQRectF@@PBV1@ABV2@@Z @ 2799 NONAME ; class QRectF QGraphicsItem::mapRectToItem(class QGraphicsItem const *, class QRectF const &) const
+ ??4QTextFormatCollection@@QAEAAV0@ABV0@@Z @ 2800 NONAME ; class QTextFormatCollection & QTextFormatCollection::operator=(class QTextFormatCollection const &)
+ ?setDecMode@QLCDNumber@@QAEXXZ @ 2801 NONAME ; void QLCDNumber::setDecMode(void)
+ ?setSelected@QTreeWidgetItem@@QAEX_N@Z @ 2802 NONAME ; void QTreeWidgetItem::setSelected(bool)
+ ??_EQGraphicsGrayscaleEffect@@UAE@I@Z @ 2803 NONAME ABSENT ; QGraphicsGrayscaleEffect::~QGraphicsGrayscaleEffect(unsigned int)
+ ?setTransformations@QGraphicsItem@@QAEXABV?$QList@PAVQGraphicsTransform@@@@@Z @ 2804 NONAME ; void QGraphicsItem::setTransformations(class QList<class QGraphicsTransform *> const &)
+ ?associatedWidgets@QAction@@QBE?AV?$QList@PAVQWidget@@@@XZ @ 2805 NONAME ; class QList<class QWidget *> QAction::associatedWidgets(void) const
+ ??0QTransform@@QAE@W4Initialization@Qt@@@Z @ 2806 NONAME ; QTransform::QTransform(enum Qt::Initialization)
+ ?setWordWrap@QTableView@@QAEX_N@Z @ 2807 NONAME ; void QTableView::setWordWrap(bool)
+ ?intersected@QPolygon@@QBE?AV1@ABV1@@Z @ 2808 NONAME ; class QPolygon QPolygon::intersected(class QPolygon const &) const
+ ??0QStyleOptionTabV2@@IAE@H@Z @ 2809 NONAME ; QStyleOptionTabV2::QStyleOptionTabV2(int)
+ ?setOptimizationFlags@QGraphicsView@@QAEXV?$QFlags@W4OptimizationFlag@QGraphicsView@@@@@Z @ 2810 NONAME ; void QGraphicsView::setOptimizationFlags(class QFlags<enum QGraphicsView::OptimizationFlag>)
+ ?contextMenuEvent@QMainWindow@@MAEXPAVQContextMenuEvent@@@Z @ 2811 NONAME ; void QMainWindow::contextMenuEvent(class QContextMenuEvent *)
+ ?m22@QTransform@@QBEMXZ @ 2812 NONAME ; float QTransform::m22(void) const
+ ?cursor@QLineControl@@QBEHXZ @ 2813 NONAME ; int QLineControl::cursor(void) const
+ ?flags@QTextOption@@QBE?AV?$QFlags@W4Flag@QTextOption@@@@XZ @ 2814 NONAME ; class QFlags<enum QTextOption::Flag> QTextOption::flags(void) const
+ ?edit@QAbstractItemView@@MAE_NABVQModelIndex@@W4EditTrigger@1@PAVQEvent@@@Z @ 2815 NONAME ; bool QAbstractItemView::edit(class QModelIndex const &, enum QAbstractItemView::EditTrigger, class QEvent *)
+ ?setDashPattern@QPainterPathStroker@@QAEXABV?$QVector@M@@@Z @ 2816 NONAME ; void QPainterPathStroker::setDashPattern(class QVector<float> const &)
+ ?intersected@QPainterPath@@QBE?AV1@ABV1@@Z @ 2817 NONAME ; class QPainterPath QPainterPath::intersected(class QPainterPath const &) const
+ ?isClean@QUndoStack@@QBE_NXZ @ 2818 NONAME ; bool QUndoStack::isClean(void) const
+ ??_EQKeyEventTransition@@UAE@I@Z @ 2819 NONAME ; QKeyEventTransition::~QKeyEventTransition(unsigned int)
+ ?wizard@QWizardPage@@IBEPAVQWizard@@XZ @ 2820 NONAME ; class QWizard * QWizardPage::wizard(void) const
+ ?setLayoutDirection@QTextFormat@@QAEXW4LayoutDirection@Qt@@@Z @ 2821 NONAME ; void QTextFormat::setLayoutDirection(enum Qt::LayoutDirection)
+ ?createStandardContextMenu@QLineEdit@@QAEPAVQMenu@@XZ @ 2822 NONAME ; class QMenu * QLineEdit::createStandardContextMenu(void)
+ ?trUtf8@QLayout@@SA?AVQString@@PBD0H@Z @ 2823 NONAME ; class QString QLayout::trUtf8(char const *, char const *, int)
+ ?toPolygon@QBezier@@QBE?AVQPolygonF@@XZ @ 2824 NONAME ; class QPolygonF QBezier::toPolygon(void) const
+ ?clearMessage@QSplashScreen@@QAEXXZ @ 2825 NONAME ; void QSplashScreen::clearMessage(void)
+ ?closePersistentEditor@QAbstractItemView@@QAEXABVQModelIndex@@@Z @ 2826 NONAME ; void QAbstractItemView::closePersistentEditor(class QModelIndex const &)
+ ?useDesignMetrics@QTextDocument@@QBE_NXZ @ 2827 NONAME ; bool QTextDocument::useDesignMetrics(void) const
+ ?type@QGraphicsItemGroup@@UBEHXZ @ 2828 NONAME ; int QGraphicsItemGroup::type(void) const
+ ?trUtf8@QGraphicsOpacityEffect@@SA?AVQString@@PBD0H@Z @ 2829 NONAME ; class QString QGraphicsOpacityEffect::trUtf8(char const *, char const *, int)
+ ??0QBrush@@QAE@ABVQPixmap@@@Z @ 2830 NONAME ; QBrush::QBrush(class QPixmap const &)
+ ?tr@QPlainTextDocumentLayout@@SA?AVQString@@PBD0H@Z @ 2831 NONAME ; class QString QPlainTextDocumentLayout::tr(char const *, char const *, int)
+ ?tileSubWindows@QMdiArea@@QAEXXZ @ 2832 NONAME ; void QMdiArea::tileSubWindows(void)
+ ?d_func@QMessageBox@@ABEPBVQMessageBoxPrivate@@XZ @ 2833 NONAME ; class QMessageBoxPrivate const * QMessageBox::d_func(void) const
+ ?focalPoint@QRadialGradient@@QBE?AVQPointF@@XZ @ 2834 NONAME ; class QPointF QRadialGradient::focalPoint(void) const
+ ?selectedItems@QListWidget@@QBE?AV?$QList@PAVQListWidgetItem@@@@XZ @ 2835 NONAME ; class QList<class QListWidgetItem *> QListWidget::selectedItems(void) const
+ ?bidiReorder@QTextEngine@@SAXHPBEPAH@Z @ 2836 NONAME ; void QTextEngine::bidiReorder(int, unsigned char const *, int *)
+ ?sizeFromContents@QCommonStyle@@UBE?AVQSize@@W4ContentsType@QStyle@@PBVQStyleOption@@ABV2@PBVQWidget@@@Z @ 2837 NONAME ; class QSize QCommonStyle::sizeFromContents(enum QStyle::ContentsType, class QStyleOption const *, class QSize const &, class QWidget const *) const
+ ?isBackwardAvailable@QTextBrowser@@QBE_NXZ @ 2838 NONAME ; bool QTextBrowser::isBackwardAvailable(void) const
+ ??1QTextCursor@@QAE@XZ @ 2839 NONAME ; QTextCursor::~QTextCursor(void)
+ ?setItem@QTableWidget@@QAEXHHPAVQTableWidgetItem@@@Z @ 2840 NONAME ; void QTableWidget::setItem(int, int, class QTableWidgetItem *)
+ ??0QSpacerItem@@QAE@HHW4Policy@QSizePolicy@@0@Z @ 2841 NONAME ; QSpacerItem::QSpacerItem(int, int, enum QSizePolicy::Policy, enum QSizePolicy::Policy)
+ ?keyReleaseEvent@QGraphicsProxyWidget@@MAEXPAVQKeyEvent@@@Z @ 2842 NONAME ; void QGraphicsProxyWidget::keyReleaseEvent(class QKeyEvent *)
+ ?mapFromScene@QGraphicsItem@@QBE?AVQPointF@@MM@Z @ 2843 NONAME ; class QPointF QGraphicsItem::mapFromScene(float, float) const
+ ?setRowCount@QStandardItemModel@@QAEXH@Z @ 2844 NONAME ; void QStandardItemModel::setRowCount(int)
+ ?lastPosition@QTextTableCell@@QBEHXZ @ 2845 NONAME ; int QTextTableCell::lastPosition(void) const
+ ?getStaticMetaObject@QDesktopWidget@@SAABUQMetaObject@@XZ @ 2846 NONAME ; struct QMetaObject const & QDesktopWidget::getStaticMetaObject(void)
+ ?preeditAreaText@QTextLayout@@QBE?AVQString@@XZ @ 2847 NONAME ; class QString QTextLayout::preeditAreaText(void) const
+ ??1QAbstractItemView@@UAE@XZ @ 2848 NONAME ; QAbstractItemView::~QAbstractItemView(void)
+ ?parentWidget@QShortcut@@QBEPAVQWidget@@XZ @ 2849 NONAME ; class QWidget * QShortcut::parentWidget(void) const
+ ?smallCapsFont@QFontPrivate@@QBE?AVQFont@@XZ @ 2850 NONAME ; class QFont QFontPrivate::smallCapsFont(void) const
+ ?qt_metacast@QScrollBar@@UAEPAXPBD@Z @ 2851 NONAME ; void * QScrollBar::qt_metacast(char const *)
+ ?removeFromIndex@QGraphicsItem@@IAEXXZ @ 2852 NONAME ; void QGraphicsItem::removeFromIndex(void)
+ ?drawRects@QPainter@@QAEXPBVQRectF@@H@Z @ 2853 NONAME ; void QPainter::drawRects(class QRectF const *, int)
+ ?setResolveSymlinks@QFileSystemModel@@QAEX_N@Z @ 2854 NONAME ; void QFileSystemModel::setResolveSymlinks(bool)
+ ??5@YAAAVQDataStream@@AAV0@AAVQTreeWidgetItem@@@Z @ 2855 NONAME ; class QDataStream & operator>>(class QDataStream &, class QTreeWidgetItem &)
+ ?qt_metacast@QToolBar@@UAEPAXPBD@Z @ 2856 NONAME ; void * QToolBar::qt_metacast(char const *)
+ ?setFileMode@QFileDialog@@QAEXW4FileMode@1@@Z @ 2857 NONAME ; void QFileDialog::setFileMode(enum QFileDialog::FileMode)
+ ?executePixmapDestructionHooks@QImagePixmapCleanupHooks@@SAXPAVQPixmap@@@Z @ 2858 NONAME ; void QImagePixmapCleanupHooks::executePixmapDestructionHooks(class QPixmap *)
+ ?blockBoundingGeometry@QPlainTextEdit@@IBE?AVQRectF@@ABVQTextBlock@@@Z @ 2859 NONAME ; class QRectF QPlainTextEdit::blockBoundingGeometry(class QTextBlock const &) const
+ ??0QColor@@QAE@ABVQString@@@Z @ 2860 NONAME ; QColor::QColor(class QString const &)
+ ?focusNextPrevChild_helper@QApplicationPrivate@@SAPAVQWidget@@PAV2@_N@Z @ 2861 NONAME ; class QWidget * QApplicationPrivate::focusNextPrevChild_helper(class QWidget *, bool)
+ ?selectionChanged@QLineControl@@IAEXXZ @ 2862 NONAME ; void QLineControl::selectionChanged(void)
+ ?metaObject@QTextDocument@@UBEPBUQMetaObject@@XZ @ 2863 NONAME ; struct QMetaObject const * QTextDocument::metaObject(void) const
+ ?finished@QDialog@@IAEXH@Z @ 2864 NONAME ; void QDialog::finished(int)
+ ?styleSheet@QWidget@@QBE?AVQString@@XZ @ 2865 NONAME ; class QString QWidget::styleSheet(void) const
+ ?trUtf8@QGraphicsOpacityEffect@@SA?AVQString@@PBD0@Z @ 2866 NONAME ; class QString QGraphicsOpacityEffect::trUtf8(char const *, char const *)
+ ??0QStyleOptionTabBarBase@@QAE@ABV0@@Z @ 2867 NONAME ; QStyleOptionTabBarBase::QStyleOptionTabBarBase(class QStyleOptionTabBarBase const &)
+ ?isModified@QTextDocument@@QBE_NXZ @ 2868 NONAME ; bool QTextDocument::isModified(void) const
+ ?setDocumentMode@QMainWindow@@QAEX_N@Z @ 2869 NONAME ; void QMainWindow::setDocumentMode(bool)
+ ?itemChanged@QTableWidget@@IAEXPAVQTableWidgetItem@@@Z @ 2870 NONAME ; void QTableWidget::itemChanged(class QTableWidgetItem *)
+ ?tr@QTextFrame@@SA?AVQString@@PBD0@Z @ 2871 NONAME ; class QString QTextFrame::tr(char const *, char const *)
+ ?topMargin@QTextFrameFormat@@QBEMXZ @ 2872 NONAME ; float QTextFrameFormat::topMargin(void) const
+ ?qt_qsliderStyleOption@@YA?AVQStyleOptionSlider@@PAVQSlider@@@Z @ 2873 NONAME ; class QStyleOptionSlider qt_qsliderStyleOption(class QSlider *)
+ ?isClipEnabled@QPaintEngineState@@QBE_NXZ @ 2874 NONAME ; bool QPaintEngineState::isClipEnabled(void) const
+ ?setBackground@QTextFormat@@QAEXABVQBrush@@@Z @ 2875 NONAME ; void QTextFormat::setBackground(class QBrush const &)
+ ?weekdayTextFormat@QCalendarWidget@@QBE?AVQTextCharFormat@@W4DayOfWeek@Qt@@@Z @ 2876 NONAME ; class QTextCharFormat QCalendarWidget::weekdayTextFormat(enum Qt::DayOfWeek) const
+ ?setRedirected@QPainter@@SAXPBVQPaintDevice@@PAV2@ABVQPoint@@@Z @ 2877 NONAME ; void QPainter::setRedirected(class QPaintDevice const *, class QPaintDevice *, class QPoint const &)
+ ?setUpLayout@QTabWidget@@AAEX_N@Z @ 2878 NONAME ; void QTabWidget::setUpLayout(bool)
+ ?setReadOnly@QDirModel@@QAEX_N@Z @ 2879 NONAME ; void QDirModel::setReadOnly(bool)
+ ?qt_metacast@QPaintBufferResource@@UAEPAXPBD@Z @ 2880 NONAME ; void * QPaintBufferResource::qt_metacast(char const *)
+ ?getContentsMargins@QWidget@@QBEXPAH000@Z @ 2881 NONAME ; void QWidget::getContentsMargins(int *, int *, int *, int *) const
+ ?size@QFontMetrics@@QBE?AVQSize@@HABVQString@@HPAH@Z @ 2882 NONAME ; class QSize QFontMetrics::size(int, class QString const &, int, int *) const
+ ?selectedNameFilter@QFileDialog@@QBE?AVQString@@XZ @ 2883 NONAME ; class QString QFileDialog::selectedNameFilter(void) const
+ ?mousePressEvent@QTabBar@@MAEXPAVQMouseEvent@@@Z @ 2884 NONAME ; void QTabBar::mousePressEvent(class QMouseEvent *)
+ ?grabMouse@QWidget@@QAEXABVQCursor@@@Z @ 2885 NONAME ; void QWidget::grabMouse(class QCursor const &)
+ ?getStaticMetaObject@QMessageBox@@SAABUQMetaObject@@XZ @ 2886 NONAME ; struct QMetaObject const & QMessageBox::getStaticMetaObject(void)
+ ?reparentFocusWidgets@QWidgetPrivate@@QAEXPAVQWidget@@@Z @ 2887 NONAME ; void QWidgetPrivate::reparentFocusWidgets(class QWidget *)
+ ?mimeData@QFileSystemModel@@UBEPAVQMimeData@@ABV?$QList@VQModelIndex@@@@@Z @ 2888 NONAME ; class QMimeData * QFileSystemModel::mimeData(class QList<class QModelIndex> const &) const
+ ?mapToParent@QGraphicsItem@@QBE?AVQPointF@@MM@Z @ 2889 NONAME ; class QPointF QGraphicsItem::mapToParent(float, float) const
+ ?internalWinId@QWidget@@QBEPAVCCoeControl@@XZ @ 2890 NONAME ; class CCoeControl * QWidget::internalWinId(void) const
+ ?intersected@QPolygonF@@QBE?AV1@ABV1@@Z @ 2891 NONAME ; class QPolygonF QPolygonF::intersected(class QPolygonF const &) const
+ ??0QTextCursor@@QAE@PAVQTextDocument@@@Z @ 2892 NONAME ; QTextCursor::QTextCursor(class QTextDocument *)
+ ?count@QFormLayout@@UBEHXZ @ 2893 NONAME ; int QFormLayout::count(void) const
+ ?columnPreferredWidth@QGraphicsGridLayout@@QBEMH@Z @ 2894 NONAME ; float QGraphicsGridLayout::columnPreferredWidth(int) const
+ ?globalX@QHelpEvent@@QBEHXZ @ 2895 NONAME ; int QHelpEvent::globalX(void) const
+ ??_EQMoveEvent@@UAE@I@Z @ 2896 NONAME ; QMoveEvent::~QMoveEvent(unsigned int)
+ ?wordWrapMode@QPlainTextEdit@@QBE?AW4WrapMode@QTextOption@@XZ @ 2897 NONAME ; enum QTextOption::WrapMode QPlainTextEdit::wordWrapMode(void) const
+ ?setPos@QGraphicsItem@@QAEXMM@Z @ 2898 NONAME ; void QGraphicsItem::setPos(float, float)
+ ?subtractedInverted@QPainterPath@@QBE?AV1@ABV1@@Z @ 2899 NONAME ; class QPainterPath QPainterPath::subtractedInverted(class QPainterPath const &) const
+ ?metaObject@QTextControl@@UBEPBUQMetaObject@@XZ @ 2900 NONAME ; struct QMetaObject const * QTextControl::metaObject(void) const
+ ?isTearOffEnabled@QMenu@@QBE_NXZ @ 2901 NONAME ; bool QMenu::isTearOffEnabled(void) const
+ ?d_func@QPixmapFilter@@ABEPBVQPixmapFilterPrivate@@XZ @ 2902 NONAME ; class QPixmapFilterPrivate const * QPixmapFilter::d_func(void) const
+ ?changeEvent@QAbstractSlider@@MAEXPAVQEvent@@@Z @ 2903 NONAME ; void QAbstractSlider::changeEvent(class QEvent *)
+ ?paintEngine@QPainter@@QBEPAVQPaintEngine@@XZ @ 2904 NONAME ; class QPaintEngine * QPainter::paintEngine(void) const
+ ?addRoundRect@QPainterPath@@QAEXABVQRectF@@HH@Z @ 2905 NONAME ; void QPainterPath::addRoundRect(class QRectF const &, int, int)
+ ?descent@QTextInlineObject@@QBEMXZ @ 2906 NONAME ; float QTextInlineObject::descent(void) const
+ ?setClipping@QPainter@@QAEX_N@Z @ 2907 NONAME ; void QPainter::setClipping(bool)
+ ?setShortcut@QAbstractButton@@QAEXABVQKeySequence@@@Z @ 2908 NONAME ; void QAbstractButton::setShortcut(class QKeySequence const &)
+ ?redo@QTextEdit@@QAEXXZ @ 2909 NONAME ; void QTextEdit::redo(void)
+ ?d_func@QAbstractButton@@ABEPBVQAbstractButtonPrivate@@XZ @ 2910 NONAME ; class QAbstractButtonPrivate const * QAbstractButton::d_func(void) const
+ ?staticMetaObject@QAction@@2UQMetaObject@@B @ 2911 NONAME ; struct QMetaObject const QAction::staticMetaObject
+ ?qt_metacast@QFormLayout@@UAEPAXPBD@Z @ 2912 NONAME ; void * QFormLayout::qt_metacast(char const *)
+ ??1QTimeEdit@@UAE@XZ @ 2913 NONAME ; QTimeEdit::~QTimeEdit(void)
+ ?paletteChange@QWidget@@MAEXABVQPalette@@@Z @ 2914 NONAME ; void QWidget::paletteChange(class QPalette const &)
+ ?getStaticMetaObject@QStylePlugin@@SAABUQMetaObject@@XZ @ 2915 NONAME ; struct QMetaObject const & QStylePlugin::getStaticMetaObject(void)
+ ?takeVerticalHeaderItem@QTableWidget@@QAEPAVQTableWidgetItem@@H@Z @ 2916 NONAME ; class QTableWidgetItem * QTableWidget::takeVerticalHeaderItem(int)
+ ?quality@QImageReader@@QBEHXZ @ 2917 NONAME ; int QImageReader::quality(void) const
+ ?qt_metacall@QSortFilterProxyModel@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 2918 NONAME ; int QSortFilterProxyModel::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?focusInEvent@QMdiSubWindow@@MAEXPAVQFocusEvent@@@Z @ 2919 NONAME ; void QMdiSubWindow::focusInEvent(class QFocusEvent *)
+ ?underlineColor@QTextCharFormat@@QBE?AVQColor@@XZ @ 2920 NONAME ; class QColor QTextCharFormat::underlineColor(void) const
+ ?contains@QRegion@@QBE_NABVQPoint@@@Z @ 2921 NONAME ; bool QRegion::contains(class QPoint const &) const
+ ?setItem@QFormLayout@@QAEXHW4ItemRole@1@PAVQLayoutItem@@@Z @ 2922 NONAME ; void QFormLayout::setItem(int, enum QFormLayout::ItemRole, class QLayoutItem *)
+ ?setModel@QDataWidgetMapper@@QAEXPAVQAbstractItemModel@@@Z @ 2923 NONAME ; void QDataWidgetMapper::setModel(class QAbstractItemModel *)
+ ?setColumnPreferredWidth@QGraphicsGridLayout@@QAEXHM@Z @ 2924 NONAME ; void QGraphicsGridLayout::setColumnPreferredWidth(int, float)
+ ?grabKeyboard@QGraphicsItem@@QAEXXZ @ 2925 NONAME ; void QGraphicsItem::grabKeyboard(void)
+ ?ensureSceneTransformRecursive@QGraphicsItemPrivate@@QAEXPAPAVQGraphicsItem@@@Z @ 2926 NONAME ; void QGraphicsItemPrivate::ensureSceneTransformRecursive(class QGraphicsItem * *)
+ ?shortcut@QAction@@QBE?AVQKeySequence@@XZ @ 2927 NONAME ; class QKeySequence QAction::shortcut(void) const
+ ?toSubpathPolygons@QPainterPath@@QBE?AV?$QList@VQPolygonF@@@@ABVQTransform@@@Z @ 2928 NONAME ; class QList<class QPolygonF> QPainterPath::toSubpathPolygons(class QTransform const &) const
+ ?rows@QPixmapConvolutionFilter@@ABEHXZ @ 2929 NONAME ; int QPixmapConvolutionFilter::rows(void) const
+ ??5@YAAAVQDataStream@@AAV0@AAVQVector2D@@@Z @ 2930 NONAME ; class QDataStream & operator>>(class QDataStream &, class QVector2D &)
+ ?setX@QQuaternion@@QAEXM@Z @ 2931 NONAME ; void QQuaternion::setX(float)
+ ?drawTextItem@QPainter@@QAEXHHABVQTextItem@@@Z @ 2932 NONAME ; void QPainter::drawTextItem(int, int, class QTextItem const &)
+ ?scenePos@TouchPoint@QTouchEvent@@QBE?AVQPointF@@XZ @ 2933 NONAME ; class QPointF QTouchEvent::TouchPoint::scenePos(void) const
+ ?tr@QErrorMessage@@SA?AVQString@@PBD0H@Z @ 2934 NONAME ; class QString QErrorMessage::tr(char const *, char const *, int)
+ ?drawEllipse@QPaintEngine@@UAEXABVQRect@@@Z @ 2935 NONAME ; void QPaintEngine::drawEllipse(class QRect const &)
+ ?determinant@QTransform@@QBEMXZ @ 2936 NONAME ; float QTransform::determinant(void) const
+ ?commitData@QAbstractItemView@@MAEXPAVQWidget@@@Z @ 2937 NONAME ; void QAbstractItemView::commitData(class QWidget *)
+ ?setHeaderItem@QTreeWidget@@QAEXPAVQTreeWidgetItem@@@Z @ 2938 NONAME ; void QTreeWidget::setHeaderItem(class QTreeWidgetItem *)
+ ??_EQGesture@@UAE@I@Z @ 2939 NONAME ; QGesture::~QGesture(unsigned int)
+ ?scroll@QPixmap@@QAEXHHHHHHPAVQRegion@@@Z @ 2940 NONAME ; void QPixmap::scroll(int, int, int, int, int, int, class QRegion *)
+ ?parseHexColor@Parser@QCss@@QAE_NPAVQColor@@@Z @ 2941 NONAME ; bool QCss::Parser::parseHexColor(class QColor *)
+ ??1QTextDocumentFragment@@QAE@XZ @ 2942 NONAME ; QTextDocumentFragment::~QTextDocumentFragment(void)
+ ?setInsertPolicy@QComboBox@@QAEXW4InsertPolicy@1@@Z @ 2943 NONAME ; void QComboBox::setInsertPolicy(enum QComboBox::InsertPolicy)
+ ?setHorizontalSpacing@QGridLayout@@QAEXH@Z @ 2944 NONAME ; void QGridLayout::setHorizontalSpacing(int)
+ ?setPixelSize@QGraphicsPixelizeEffect@@QAEXH@Z @ 2945 NONAME ABSENT ; void QGraphicsPixelizeEffect::setPixelSize(int)
+ ?tr@QImageIOPlugin@@SA?AVQString@@PBD0@Z @ 2946 NONAME ; class QString QImageIOPlugin::tr(char const *, char const *)
+ ?setStyle@QApplication@@SAPAVQStyle@@ABVQString@@@Z @ 2947 NONAME ; class QStyle * QApplication::setStyle(class QString const &)
+ ??0QDrag@@QAE@PAVQWidget@@@Z @ 2948 NONAME ; QDrag::QDrag(class QWidget *)
+ ?undoText@QUndoStack@@QBE?AVQString@@XZ @ 2949 NONAME ; class QString QUndoStack::undoText(void) const
+ ?paintEvent@QScrollBar@@MAEXPAVQPaintEvent@@@Z @ 2950 NONAME ; void QScrollBar::paintEvent(class QPaintEvent *)
+ ?initStyleOption@QLineEdit@@IBEXPAVQStyleOptionFrame@@@Z @ 2951 NONAME ; void QLineEdit::initStyleOption(class QStyleOptionFrame *) const
+ ?setIconSize@QToolBar@@QAEXABVQSize@@@Z @ 2952 NONAME ; void QToolBar::setIconSize(class QSize const &)
+ ?isEnabled@QShortcut@@QBE_NXZ @ 2953 NONAME ; bool QShortcut::isEnabled(void) const
+ ?setSelectionArea@QGraphicsScene@@QAEXABVQPainterPath@@ABVQTransform@@@Z @ 2954 NONAME ; void QGraphicsScene::setSelectionArea(class QPainterPath const &, class QTransform const &)
+ ?metaObject@QDirModel@@UBEPBUQMetaObject@@XZ @ 2955 NONAME ; struct QMetaObject const * QDirModel::metaObject(void) const
+ ?elideMode@QTabWidget@@QBE?AW4TextElideMode@Qt@@XZ @ 2956 NONAME ; enum Qt::TextElideMode QTabWidget::elideMode(void) const
+ ?d_func@QPushButton@@ABEPBVQPushButtonPrivate@@XZ @ 2957 NONAME ; class QPushButtonPrivate const * QPushButton::d_func(void) const
+ ?minRightBearing@QFontEngine@@UBEMXZ @ 2958 NONAME ; float QFontEngine::minRightBearing(void) const
+ ?isAmbiguous@QShortcutEvent@@QBE_NXZ @ 2959 NONAME ; bool QShortcutEvent::isAmbiguous(void) const
+ ?getStaticMetaObject@QAbstractSpinBox@@SAABUQMetaObject@@XZ @ 2960 NONAME ; struct QMetaObject const & QAbstractSpinBox::getStaticMetaObject(void)
+ ?testPrio@Parser@QCss@@QAE_NXZ @ 2961 NONAME ; bool QCss::Parser::testPrio(void)
+ ?getStaticMetaObject@QWizard@@SAABUQMetaObject@@XZ @ 2962 NONAME ; struct QMetaObject const & QWizard::getStaticMetaObject(void)
+ ?exec@QApplication@@SAHXZ @ 2963 NONAME ; int QApplication::exec(void)
+ ?windowList@QWorkspace@@QBE?AV?$QList@PAVQWidget@@@@W4WindowOrder@1@@Z @ 2964 NONAME ; class QList<class QWidget *> QWorkspace::windowList(enum QWorkspace::WindowOrder) const
+ ?setIntMinimum@QInputDialog@@QAEXH@Z @ 2965 NONAME ; void QInputDialog::setIntMinimum(int)
+ ?trUtf8@QWindowsStyle@@SA?AVQString@@PBD0H@Z @ 2966 NONAME ; class QString QWindowsStyle::trUtf8(char const *, char const *, int)
+ ?displayTextChanged@QLineControl@@IAEXABVQString@@@Z @ 2967 NONAME ; void QLineControl::displayTextChanged(class QString const &)
+ ?strikeOutPos@QFontMetrics@@QBEHXZ @ 2968 NONAME ; int QFontMetrics::strikeOutPos(void) const
+ ?sectionSize@QHeaderView@@QBEHH@Z @ 2969 NONAME ; int QHeaderView::sectionSize(int) const
+ ?d_func@QSound@@ABEPBVQSoundPrivate@@XZ @ 2970 NONAME ; class QSoundPrivate const * QSound::d_func(void) const
+ ?cellRect@QGridLayout@@QBE?AVQRect@@HH@Z @ 2971 NONAME ; class QRect QGridLayout::cellRect(int, int) const
+ ?sectionSizeHint@QHeaderView@@QBEHH@Z @ 2972 NONAME ; int QHeaderView::sectionSizeHint(int) const
+ ?internalDrag@QListView@@IAEXV?$QFlags@W4DropAction@Qt@@@@@Z @ 2973 NONAME ; void QListView::internalDrag(class QFlags<enum Qt::DropAction>)
+ ??8QPalette@@QBE_NABV0@@Z @ 2974 NONAME ; bool QPalette::operator==(class QPalette const &) const
+ ?initStyleOption@QAbstractSpinBox@@IBEXPAVQStyleOptionSpinBox@@@Z @ 2975 NONAME ; void QAbstractSpinBox::initStyleOption(class QStyleOptionSpinBox *) const
+ ?nameFilterDisables@QFileSystemModel@@QBE_NXZ @ 2976 NONAME ; bool QFileSystemModel::nameFilterDisables(void) const
+ ?onTransition@QKeyEventTransition@@MAEXPAVQEvent@@@Z @ 2977 NONAME ; void QKeyEventTransition::onTransition(class QEvent *)
+ ?size@QImageReader@@QBE?AVQSize@@XZ @ 2978 NONAME ; class QSize QImageReader::size(void) const
+ ?unite@QRegion@@QBE?AV1@ABVQRect@@@Z @ 2979 NONAME ; class QRegion QRegion::unite(class QRect const &) const
+ ?strength@QGraphicsBloomEffect@@QBEMXZ @ 2980 NONAME ABSENT ; float QGraphicsBloomEffect::strength(void) const
+ ?registerEditor@QItemEditorFactory@@QAEXW4Type@QVariant@@PAVQItemEditorCreatorBase@@@Z @ 2981 NONAME ; void QItemEditorFactory::registerEditor(enum QVariant::Type, class QItemEditorCreatorBase *)
+ ?count@QListWidget@@QBEHXZ @ 2982 NONAME ; int QListWidget::count(void) const
+ ?loadFromData@QPixmap@@QAE_NPBEIPBDV?$QFlags@W4ImageConversionFlag@Qt@@@@@Z @ 2983 NONAME ; bool QPixmap::loadFromData(unsigned char const *, unsigned int, char const *, class QFlags<enum Qt::ImageConversionFlag>)
+ ?updateEditorGeometry@QAbstractItemDelegate@@UBEXPAVQWidget@@ABVQStyleOptionViewItem@@ABVQModelIndex@@@Z @ 2984 NONAME ; void QAbstractItemDelegate::updateEditorGeometry(class QWidget *, class QStyleOptionViewItem const &, class QModelIndex const &) const
+ ?d_func@QFileDialog@@ABEPBVQFileDialogPrivate@@XZ @ 2985 NONAME ; class QFileDialogPrivate const * QFileDialog::d_func(void) const
+ ??_EQDateEdit@@UAE@I@Z @ 2986 NONAME ; QDateEdit::~QDateEdit(unsigned int)
+ ?mapToScene@QGraphicsView@@QBE?AVQPolygonF@@HHHH@Z @ 2987 NONAME ; class QPolygonF QGraphicsView::mapToScene(int, int, int, int) const
+ ?cleanupPage@QWizardPage@@UAEXXZ @ 2988 NONAME ; void QWizardPage::cleanupPage(void)
+ ?fitInView@QGraphicsView@@QAEXPBVQGraphicsItem@@W4AspectRatioMode@Qt@@@Z @ 2989 NONAME ; void QGraphicsView::fitInView(class QGraphicsItem const *, enum Qt::AspectRatioMode)
+ ?setOpenExternalLinks@QTextControl@@QAEX_N@Z @ 2990 NONAME ; void QTextControl::setOpenExternalLinks(bool)
+ ?endLayout@QTextLayout@@QAEXXZ @ 2991 NONAME ; void QTextLayout::endLayout(void)
+ ?toVector3D@QVector4D@@QBE?AVQVector3D@@XZ @ 2992 NONAME ; class QVector3D QVector4D::toVector3D(void) const
+ ?setY@QVector2D@@QAEXM@Z @ 2993 NONAME ; void QVector2D::setY(float)
+ ?itemEntered@QTreeWidget@@IAEXPAVQTreeWidgetItem@@H@Z @ 2994 NONAME ; void QTreeWidget::itemEntered(class QTreeWidgetItem *, int)
+ ?getStaticMetaObject@QGraphicsRotation@@SAABUQMetaObject@@XZ @ 2995 NONAME ; struct QMetaObject const & QGraphicsRotation::getStaticMetaObject(void)
+ ?d_func@QMenu@@AAEPAVQMenuPrivate@@XZ @ 2996 NONAME ; class QMenuPrivate * QMenu::d_func(void)
+ ?windowStateChanged@QMdiSubWindow@@IAEXV?$QFlags@W4WindowState@Qt@@@@0@Z @ 2997 NONAME ; void QMdiSubWindow::windowStateChanged(class QFlags<enum Qt::WindowState>, class QFlags<enum Qt::WindowState>)
+ ?tr@QCalendarWidget@@SA?AVQString@@PBD0@Z @ 2998 NONAME ; class QString QCalendarWidget::tr(char const *, char const *)
+ ?devType@QPicture@@UBEHXZ @ 2999 NONAME ; int QPicture::devType(void) const
+ ?setVisible@QWizard@@UAEX_N@Z @ 3000 NONAME ; void QWizard::setVisible(bool)
+ ?setPressure@TouchPoint@QTouchEvent@@QAEXM@Z @ 3001 NONAME ; void QTouchEvent::TouchPoint::setPressure(float)
+ ?dropEvent@QListWidget@@UAEXPAVQDropEvent@@@Z @ 3002 NONAME ; void QListWidget::dropEvent(class QDropEvent *)
+ ?verticalHeader@QTableView@@QBEPAVQHeaderView@@XZ @ 3003 NONAME ; class QHeaderView * QTableView::verticalHeader(void) const
+ ?keyPressEvent@QCalendarWidget@@MAEXPAVQKeyEvent@@@Z @ 3004 NONAME ; void QCalendarWidget::keyPressEvent(class QKeyEvent *)
+ ??0QTimeEdit@@QAE@ABVQTime@@PAVQWidget@@@Z @ 3005 NONAME ; QTimeEdit::QTimeEdit(class QTime const &, class QWidget *)
+ ??1QBoxLayout@@UAE@XZ @ 3006 NONAME ; QBoxLayout::~QBoxLayout(void)
+ ?fileSelected@QFileDialog@@IAEXABVQString@@@Z @ 3007 NONAME ; void QFileDialog::fileSelected(class QString const &)
+ ?setItem@QGraphicsItemAnimation@@QAEXPAVQGraphicsItem@@@Z @ 3008 NONAME ; void QGraphicsItemAnimation::setItem(class QGraphicsItem *)
+ ?polish@QProxyStyle@@UAEXPAVQApplication@@@Z @ 3009 NONAME ; void QProxyStyle::polish(class QApplication *)
+ ?trUtf8@QStyledItemDelegate@@SA?AVQString@@PBD0@Z @ 3010 NONAME ; class QString QStyledItemDelegate::trUtf8(char const *, char const *)
+ ?setRawMode@QFont@@QAEX_N@Z @ 3011 NONAME ; void QFont::setRawMode(bool)
+ ?d_func@QGraphicsLayoutItem@@AAEPAVQGraphicsLayoutItemPrivate@@XZ @ 3012 NONAME ; class QGraphicsLayoutItemPrivate * QGraphicsLayoutItem::d_func(void)
+ ?information@QMessageBox@@SAHPAVQWidget@@ABVQString@@1HHH@Z @ 3013 NONAME ; int QMessageBox::information(class QWidget *, class QString const &, class QString const &, int, int, int)
+ ?shear@QPainter@@QAEXMM@Z @ 3014 NONAME ; void QPainter::shear(float, float)
+ ?tr@QRegExpValidator@@SA?AVQString@@PBD0H@Z @ 3015 NONAME ; class QString QRegExpValidator::tr(char const *, char const *, int)
+ ?setActive@QPaintEngine@@QAEX_N@Z @ 3016 NONAME ; void QPaintEngine::setActive(bool)
+ ?trUtf8@QStandardItemModel@@SA?AVQString@@PBD0@Z @ 3017 NONAME ; class QString QStandardItemModel::trUtf8(char const *, char const *)
+ ?customCount@QColorDialog@@SAHXZ @ 3018 NONAME ; int QColorDialog::customCount(void)
+ ?tr@QTextFrame@@SA?AVQString@@PBD0H@Z @ 3019 NONAME ; class QString QTextFrame::tr(char const *, char const *, int)
+ ?setIcon@QTreeWidgetItem@@QAEXHABVQIcon@@@Z @ 3020 NONAME ; void QTreeWidgetItem::setIcon(int, class QIcon const &)
+ ?addButton@QMessageBox@@QAEXPAVQAbstractButton@@W4ButtonRole@1@@Z @ 3021 NONAME ; void QMessageBox::addButton(class QAbstractButton *, enum QMessageBox::ButtonRole)
+ ?scaledToHeight@QPixmap@@QBE?AV1@HW4TransformationMode@Qt@@@Z @ 3022 NONAME ; class QPixmap QPixmap::scaledToHeight(int, enum Qt::TransformationMode) const
+ ?columnCount@QFileSystemModel@@UBEHABVQModelIndex@@@Z @ 3023 NONAME ; int QFileSystemModel::columnCount(class QModelIndex const &) const
+ ?state@TouchPoint@QTouchEvent@@QBE?AW4TouchPointState@Qt@@XZ @ 3024 NONAME ; enum Qt::TouchPointState QTouchEvent::TouchPoint::state(void) const
+ ?joinModeForJoin@QStroker@@KA?AW4LineJoinMode@1@W4PenJoinStyle@Qt@@@Z @ 3025 NONAME ; enum QStroker::LineJoinMode QStroker::joinModeForJoin(enum Qt::PenJoinStyle)
+ ?fileSystemIcon@QGuiPlatformPlugin@@UAE?AVQIcon@@ABVQFileInfo@@@Z @ 3026 NONAME ; class QIcon QGuiPlatformPlugin::fileSystemIcon(class QFileInfo const &)
+ ?mapToParent@QGraphicsItem@@QBE?AVQPolygonF@@ABV2@@Z @ 3027 NONAME ; class QPolygonF QGraphicsItem::mapToParent(class QPolygonF const &) const
+ ?setKeyboardPageStep@QMdiSubWindow@@QAEXH@Z @ 3028 NONAME ; void QMdiSubWindow::setKeyboardPageStep(int)
+ ??0QStandardItemModel@@QAE@HHPAVQObject@@@Z @ 3029 NONAME ; QStandardItemModel::QStandardItemModel(int, int, class QObject *)
+ ??1QTextControl@@UAE@XZ @ 3030 NONAME ; QTextControl::~QTextControl(void)
+ ?setCompletionPrefix@QCompleter@@QAEXABVQString@@@Z @ 3031 NONAME ; void QCompleter::setCompletionPrefix(class QString const &)
+ ?inheritStyle@QWidgetPrivate@@QAEXXZ @ 3032 NONAME ; void QWidgetPrivate::inheritStyle(void)
+ ?showToday@QCalendarWidget@@QAEXXZ @ 3033 NONAME ; void QCalendarWidget::showToday(void)
+ ?renderHints@QPainter@@QBE?AV?$QFlags@W4RenderHint@QPainter@@@@XZ @ 3034 NONAME ; class QFlags<enum QPainter::RenderHint> QPainter::renderHints(void) const
+ ?showMenu@QPushButton@@QAEXXZ @ 3035 NONAME ; void QPushButton::showMenu(void)
+ ?setPointSizeF@QFont@@QAEXM@Z @ 3036 NONAME ; void QFont::setPointSizeF(float)
+ ?staticMetaObject@QGraphicsRotation@@2UQMetaObject@@B @ 3037 NONAME ; struct QMetaObject const QGraphicsRotation::staticMetaObject
+ ?getStaticMetaObject@QIconEnginePlugin@@SAABUQMetaObject@@XZ @ 3038 NONAME ; struct QMetaObject const & QIconEnginePlugin::getStaticMetaObject(void)
+ ?setNavigationMode@QApplicationPrivate@@SAXW4NavigationMode@Qt@@@Z @ 3039 NONAME ; void QApplicationPrivate::setNavigationMode(enum Qt::NavigationMode)
+ ?hasThemeIcon@QIcon@@SA_NABVQString@@@Z @ 3040 NONAME ; bool QIcon::hasThemeIcon(class QString const &)
+ ?tryModalHelper@QApplicationPrivate@@SA_NPAVQWidget@@PAPAV2@@Z @ 3041 NONAME ; bool QApplicationPrivate::tryModalHelper(class QWidget *, class QWidget * *)
+ ?invalidate@QLayoutItem@@UAEXXZ @ 3042 NONAME ; void QLayoutItem::invalidate(void)
+ ?firstPosition@QTextFrame@@QBEHXZ @ 3043 NONAME ; int QTextFrame::firstPosition(void) const
+ ?d_func@QItemDelegate@@ABEPBVQItemDelegatePrivate@@XZ @ 3044 NONAME ; class QItemDelegatePrivate const * QItemDelegate::d_func(void) const
+ ??0QLineControl@@QAE@ABVQString@@@Z @ 3045 NONAME ; QLineControl::QLineControl(class QString const &)
+ ?trUtf8@QAbstractScrollArea@@SA?AVQString@@PBD0@Z @ 3046 NONAME ; class QString QAbstractScrollArea::trUtf8(char const *, char const *)
+ ?format@QTextFormatCollection@@QBE?AVQTextFormat@@H@Z @ 3047 NONAME ; class QTextFormat QTextFormatCollection::format(int) const
+ ?d_func@QStackedLayout@@AAEPAVQStackedLayoutPrivate@@XZ @ 3048 NONAME ; class QStackedLayoutPrivate * QStackedLayout::d_func(void)
+ ?trUtf8@QIntValidator@@SA?AVQString@@PBD0@Z @ 3049 NONAME ; class QString QIntValidator::trUtf8(char const *, char const *)
+ ?helpEvent@QAbstractItemDelegate@@QAE_NPAVQHelpEvent@@PAVQAbstractItemView@@ABVQStyleOptionViewItem@@ABVQModelIndex@@@Z @ 3050 NONAME ; bool QAbstractItemDelegate::helpEvent(class QHelpEvent *, class QAbstractItemView *, class QStyleOptionViewItem const &, class QModelIndex const &)
+ ?getContentsMargins@QGraphicsLayoutItem@@UBEXPAM000@Z @ 3051 NONAME ; void QGraphicsLayoutItem::getContentsMargins(float *, float *, float *, float *) const
+ ?buffer@QRasterPixmapData@@UAEPAVQImage@@XZ @ 3052 NONAME ; class QImage * QRasterPixmapData::buffer(void)
+ ?processEvent@QTextControl@@QAEXPAVQEvent@@ABVQPointF@@PAVQWidget@@@Z @ 3053 NONAME ; void QTextControl::processEvent(class QEvent *, class QPointF const &, class QWidget *)
+ ?resizeSections@QHeaderView@@IAEXXZ @ 3054 NONAME ; void QHeaderView::resizeSections(void)
+ ?setVerticalHeader@QTableView@@QAEXPAVQHeaderView@@@Z @ 3055 NONAME ; void QTableView::setVerticalHeader(class QHeaderView *)
+ ?staticMetaObject@QAbstractScrollArea@@2UQMetaObject@@B @ 3056 NONAME ; struct QMetaObject const QAbstractScrollArea::staticMetaObject
+ ?matchRule@StyleSelector@QCss@@AAEXTNodePtr@12@ABUStyleRule@2@W4StyleSheetOrigin@2@HPAV?$QMap@IUStyleRule@QCss@@@@@Z @ 3057 NONAME ; void QCss::StyleSelector::matchRule(union QCss::StyleSelector::NodePtr, struct QCss::StyleRule const &, enum QCss::StyleSheetOrigin, int, class QMap<unsigned int, struct QCss::StyleRule> *)
+ ?scrollToItem@QListWidget@@QAEXPBVQListWidgetItem@@W4ScrollHint@QAbstractItemView@@@Z @ 3058 NONAME ; void QListWidget::scrollToItem(class QListWidgetItem const *, enum QAbstractItemView::ScrollHint)
+ ?lookupElementName@Parser@QCss@@QBE_NXZ @ 3059 NONAME ; bool QCss::Parser::lookupElementName(void) const
+ ?d_func@QPaintEngine@@AAEPAVQPaintEnginePrivate@@XZ @ 3060 NONAME ; class QPaintEnginePrivate * QPaintEngine::d_func(void)
+ ?undoAvailable@QTextControl@@IAEX_N@Z @ 3061 NONAME ; void QTextControl::undoAvailable(bool)
+ ?isHidden@QListWidgetItem@@QBE_NXZ @ 3062 NONAME ; bool QListWidgetItem::isHidden(void) const
+ ?resizeEvent@QMenuBar@@MAEXPAVQResizeEvent@@@Z @ 3063 NONAME ; void QMenuBar::resizeEvent(class QResizeEvent *)
+ ?matches@QKeyEvent@@QBE_NW4StandardKey@QKeySequence@@@Z @ 3064 NONAME ; bool QKeyEvent::matches(enum QKeySequence::StandardKey) const
+ ?rowCount@QStringListModel@@UBEHABVQModelIndex@@@Z @ 3065 NONAME ; int QStringListModel::rowCount(class QModelIndex const &) const
+ ?trUtf8@QDataWidgetMapper@@SA?AVQString@@PBD0H@Z @ 3066 NONAME ; class QString QDataWidgetMapper::trUtf8(char const *, char const *, int)
+ ?setColumnMinimumWidth@QGraphicsGridLayout@@QAEXHM@Z @ 3067 NONAME ; void QGraphicsGridLayout::setColumnMinimumWidth(int, float)
+ ?find@QPlainTextEdit@@QAE_NABVQString@@V?$QFlags@W4FindFlag@QTextDocument@@@@@Z @ 3068 NONAME ; bool QPlainTextEdit::find(class QString const &, class QFlags<enum QTextDocument::FindFlag>)
+ ?isExpanded@QTreeView@@QBE_NABVQModelIndex@@@Z @ 3069 NONAME ; bool QTreeView::isExpanded(class QModelIndex const &) const
+ ?d_func@QStandardItem@@ABEPBVQStandardItemPrivate@@XZ @ 3070 NONAME ; class QStandardItemPrivate const * QStandardItem::d_func(void) const
+ ?clicked@QAbstractItemView@@IAEXABVQModelIndex@@@Z @ 3071 NONAME ; void QAbstractItemView::clicked(class QModelIndex const &)
+ ?m21@QMatrix@@QBEMXZ @ 3072 NONAME ; float QMatrix::m21(void) const
+ ?indexOf@QStackedWidget@@QBEHPAVQWidget@@@Z @ 3073 NONAME ; int QStackedWidget::indexOf(class QWidget *) const
+ ?staticMetaObject@QSwipeGesture@@2UQMetaObject@@B @ 3074 NONAME ; struct QMetaObject const QSwipeGesture::staticMetaObject
+ ?setHorizontalScrollMode@QAbstractItemView@@QAEXW4ScrollMode@1@@Z @ 3075 NONAME ; void QAbstractItemView::setHorizontalScrollMode(enum QAbstractItemView::ScrollMode)
+ ?drawConvexPolygon@QPainter@@QAEXPBVQPointF@@H@Z @ 3076 NONAME ; void QPainter::drawConvexPolygon(class QPointF const *, int)
+ ??4QStyleOptionViewItemV2@@QAEAAV0@ABVQStyleOptionViewItem@@@Z @ 3077 NONAME ; class QStyleOptionViewItemV2 & QStyleOptionViewItemV2::operator=(class QStyleOptionViewItem const &)
+ ?staticMetaObject@QGroupBox@@2UQMetaObject@@B @ 3078 NONAME ; struct QMetaObject const QGroupBox::staticMetaObject
+ ?opaqueArea@QGraphicsPathItem@@UBE?AVQPainterPath@@XZ @ 3079 NONAME ; class QPainterPath QGraphicsPathItem::opaqueArea(void) const
+ ?hotSpot@QCursor@@QBE?AVQPoint@@XZ @ 3080 NONAME ; class QPoint QCursor::hotSpot(void) const
+ ??1QTextEngine@@QAE@XZ @ 3081 NONAME ; QTextEngine::~QTextEngine(void)
+ ?setVisible@QFileDialog@@UAEX_N@Z @ 3082 NONAME ; void QFileDialog::setVisible(bool)
+ ?load@QFontDatabase@@CAXPBVQFontPrivate@@H@Z @ 3083 NONAME ; void QFontDatabase::load(class QFontPrivate const *, int)
+ ?setSerialNumber@QPixmapData@@IAEXH@Z @ 3084 NONAME ; void QPixmapData::setSerialNumber(int)
+ ?qt_metacast@QSwipeGesture@@UAEPAXPBD@Z @ 3085 NONAME ; void * QSwipeGesture::qt_metacast(char const *)
+ ??0QTextBlock@@QAE@PAVQTextDocumentPrivate@@H@Z @ 3086 NONAME ; QTextBlock::QTextBlock(class QTextDocumentPrivate *, int)
+ ??0QPushButton@@QAE@ABVQIcon@@ABVQString@@PAVQWidget@@@Z @ 3087 NONAME ; QPushButton::QPushButton(class QIcon const &, class QString const &, class QWidget *)
+ ??9iterator@QTextFrame@@QBE_NABV01@@Z @ 3088 NONAME ; bool QTextFrame::iterator::operator!=(class QTextFrame::iterator const &) const
+ ??1QTableWidgetItem@@UAE@XZ @ 3089 NONAME ; QTableWidgetItem::~QTableWidgetItem(void)
+ ?columns@QPixmapConvolutionFilter@@ABEHXZ @ 3090 NONAME ; int QPixmapConvolutionFilter::columns(void) const
+ ?tr@QGraphicsView@@SA?AVQString@@PBD0@Z @ 3091 NONAME ; class QString QGraphicsView::tr(char const *, char const *)
+ ?isSizeGripEnabled@QDialog@@QBE_NXZ @ 3092 NONAME ; bool QDialog::isSizeGripEnabled(void) const
+ ?isScalable@QFontDatabase@@QBE_NABVQString@@0@Z @ 3093 NONAME ; bool QFontDatabase::isScalable(class QString const &, class QString const &) const
+ ?weight@QFontDatabase@@QBEHABVQString@@0@Z @ 3094 NONAME ; int QFontDatabase::weight(class QString const &, class QString const &) const
+ ?items@QGraphicsScene@@QBE?AV?$QList@PAVQGraphicsItem@@@@ABVQPainterPath@@W4ItemSelectionMode@Qt@@W4SortOrder@5@ABVQTransform@@@Z @ 3095 NONAME ; class QList<class QGraphicsItem *> QGraphicsScene::items(class QPainterPath const &, enum Qt::ItemSelectionMode, enum Qt::SortOrder, class QTransform const &) const
+ ??_EQGraphicsSceneEvent@@UAE@I@Z @ 3096 NONAME ; QGraphicsSceneEvent::~QGraphicsSceneEvent(unsigned int)
+ ??BQMatrix4x4@@QBE?AVQVariant@@XZ @ 3097 NONAME ; QMatrix4x4::operator class QVariant(void) const
+ ?nextCheckState@QToolButton@@MAEXXZ @ 3098 NONAME ; void QToolButton::nextCheckState(void)
+ ?polish@QCommonStyle@@UAEXPAVQApplication@@@Z @ 3099 NONAME ; void QCommonStyle::polish(class QApplication *)
+ ?lengthVectorProperty@QTextFormat@@QBE?AV?$QVector@VQTextLength@@@@H@Z @ 3100 NONAME ; class QVector<class QTextLength> QTextFormat::lengthVectorProperty(int) const
+ ?getStaticMetaObject@QGraphicsBloomEffect@@SAABUQMetaObject@@XZ @ 3101 NONAME ABSENT ; struct QMetaObject const & QGraphicsBloomEffect::getStaticMetaObject(void)
+ ?setMinimumDateTime@QDateTimeEdit@@QAEXABVQDateTime@@@Z @ 3102 NONAME ; void QDateTimeEdit::setMinimumDateTime(class QDateTime const &)
+ ??1QResizeEvent@@UAE@XZ @ 3103 NONAME ; QResizeEvent::~QResizeEvent(void)
+ ?boundingRectFor@QPixmapConvolutionFilter@@UBE?AVQRectF@@ABV2@@Z @ 3104 NONAME ; class QRectF QPixmapConvolutionFilter::boundingRectFor(class QRectF const &) const
+ ?setRange@QDoubleSpinBox@@QAEXNN@Z @ 3105 NONAME ; void QDoubleSpinBox::setRange(double, double)
+ ?hasChildren@QStandardItemModel@@UBE_NABVQModelIndex@@@Z @ 3106 NONAME ; bool QStandardItemModel::hasChildren(class QModelIndex const &) const
+ ?staticMetaObject@QGraphicsEffectSource@@2UQMetaObject@@B @ 3107 NONAME ; struct QMetaObject const QGraphicsEffectSource::staticMetaObject
+ ?background@QTableWidgetItem@@QBE?AVQBrush@@XZ @ 3108 NONAME ; class QBrush QTableWidgetItem::background(void) const
+ ?keyPressEvent@QTabWidget@@MAEXPAVQKeyEvent@@@Z @ 3109 NONAME ; void QTabWidget::keyPressEvent(class QKeyEvent *)
+ ?dotProduct@QVector4D@@SAMABV1@0@Z @ 3110 NONAME ; float QVector4D::dotProduct(class QVector4D const &, class QVector4D const &)
+ ?mouseMoveEvent@QGraphicsView@@MAEXPAVQMouseEvent@@@Z @ 3111 NONAME ; void QGraphicsView::mouseMoveEvent(class QMouseEvent *)
+ ?metaObject@QWidgetResizeHandler@@UBEPBUQMetaObject@@XZ @ 3112 NONAME ; struct QMetaObject const * QWidgetResizeHandler::metaObject(void) const
+ ?minimumSize@QWidget@@QBE?AVQSize@@XZ @ 3113 NONAME ; class QSize QWidget::minimumSize(void) const
+ ?activateSymbianWindow@QWidgetPrivate@@QAEXPAVCCoeControl@@@Z @ 3114 NONAME ; void QWidgetPrivate::activateSymbianWindow(class CCoeControl *)
+ ?loadFromData@QImage@@QAE_NPBEHPBD@Z @ 3115 NONAME ; bool QImage::loadFromData(unsigned char const *, int, char const *)
+ ?addItem@QGridLayout@@QAEXPAVQLayoutItem@@HHHHV?$QFlags@W4AlignmentFlag@Qt@@@@@Z @ 3116 NONAME ; void QGridLayout::addItem(class QLayoutItem *, int, int, int, int, class QFlags<enum Qt::AlignmentFlag>)
+ ?d_func@QGraphicsPixelizeEffect@@ABEPBVQGraphicsPixelizeEffectPrivate@@XZ @ 3117 NONAME ABSENT ; class QGraphicsPixelizeEffectPrivate const * QGraphicsPixelizeEffect::d_func(void) const
+ ??D@YA?AVQLine@@ABV0@ABVQTransform@@@Z @ 3118 NONAME ; class QLine operator*(class QLine const &, class QTransform const &)
+ ?boundingRectFor@QPixmapDropShadowFilter@@UBE?AVQRectF@@ABV2@@Z @ 3119 NONAME ; class QRectF QPixmapDropShadowFilter::boundingRectFor(class QRectF const &) const
+ ?del@QLineEdit@@QAEXXZ @ 3120 NONAME ; void QLineEdit::del(void)
+ ?topData@QWidgetPrivate@@QBEPAUQTLWExtra@@XZ @ 3121 NONAME ; struct QTLWExtra * QWidgetPrivate::topData(void) const
+ ?hitButton@QAbstractButton@@MBE_NABVQPoint@@@Z @ 3122 NONAME ; bool QAbstractButton::hitButton(class QPoint const &) const
+ ?d_func@QS60Style@@AAEPAVQS60StylePrivate@@XZ @ 3123 NONAME ; class QS60StylePrivate * QS60Style::d_func(void)
+ ?staticMetaObject@QS60Style@@2UQMetaObject@@B @ 3124 NONAME ; struct QMetaObject const QS60Style::staticMetaObject
+ ?setMinimumTime@QDateTimeEdit@@QAEXABVQTime@@@Z @ 3125 NONAME ; void QDateTimeEdit::setMinimumTime(class QTime const &)
+ ??1QWindowsStyle@@UAE@XZ @ 3126 NONAME ; QWindowsStyle::~QWindowsStyle(void)
+ ??1QKeyEvent@@UAE@XZ @ 3127 NONAME ; QKeyEvent::~QKeyEvent(void)
+ ??6@YA?AVQDebug@@V0@ABVQPolygon@@@Z @ 3128 NONAME ; class QDebug operator<<(class QDebug, class QPolygon const &)
+ ?createMaskFromColor@QPixmap@@QBE?AVQBitmap@@ABVQColor@@W4MaskMode@Qt@@@Z @ 3129 NONAME ; class QBitmap QPixmap::createMaskFromColor(class QColor const &, enum Qt::MaskMode) const
+ ?d_func@QGraphicsScale@@ABEPBVQGraphicsScalePrivate@@XZ @ 3130 NONAME ; class QGraphicsScalePrivate const * QGraphicsScale::d_func(void) const
+ ?rowSpan@QTableView@@QBEHHH@Z @ 3131 NONAME ; int QTableView::rowSpan(int, int) const
+ ?setBrush@QPalette@@QAEXW4ColorRole@1@ABVQBrush@@@Z @ 3132 NONAME ; void QPalette::setBrush(enum QPalette::ColorRole, class QBrush const &)
+ ?staticMetaObject@QGraphicsScale@@2UQMetaObject@@B @ 3133 NONAME ; struct QMetaObject const QGraphicsScale::staticMetaObject
+ ?addText@QPainterPath@@QAEXMMABVQFont@@ABVQString@@@Z @ 3134 NONAME ; void QPainterPath::addText(float, float, class QFont const &, class QString const &)
+ ?dragLeaveEvent@QTextEdit@@MAEXPAVQDragLeaveEvent@@@Z @ 3135 NONAME ; void QTextEdit::dragLeaveEvent(class QDragLeaveEvent *)
+ ?setDocumentLayout@QTextDocument@@QAEXPAVQAbstractTextDocumentLayout@@@Z @ 3136 NONAME ; void QTextDocument::setDocumentLayout(class QAbstractTextDocumentLayout *)
+ ?event@QFileSystemModel@@MAE_NPAVQEvent@@@Z @ 3137 NONAME ; bool QFileSystemModel::event(class QEvent *)
+ ??0QQuaternion@@QAE@ABV0@@Z @ 3138 NONAME ; QQuaternion::QQuaternion(class QQuaternion const &)
+ ?setOrientation@QDialogButtonBox@@QAEXW4Orientation@Qt@@@Z @ 3139 NONAME ; void QDialogButtonBox::setOrientation(enum Qt::Orientation)
+ ?modifiers@QGraphicsSceneMouseEvent@@QBE?AV?$QFlags@W4KeyboardModifier@Qt@@@@XZ @ 3140 NONAME ; class QFlags<enum Qt::KeyboardModifier> QGraphicsSceneMouseEvent::modifiers(void) const
+ ?buttonText@QPalette@@QBEABVQBrush@@XZ @ 3141 NONAME ; class QBrush const & QPalette::buttonText(void) const
+ ?tr@QColorDialog@@SA?AVQString@@PBD0@Z @ 3142 NONAME ; class QString QColorDialog::tr(char const *, char const *)
+ ?preferredHeight@QGraphicsLayoutItem@@QBEMXZ @ 3143 NONAME ; float QGraphicsLayoutItem::preferredHeight(void) const
+ ?hasStaticContentsSupport@QWindowSurface@@QBE_NXZ @ 3144 NONAME ; bool QWindowSurface::hasStaticContentsSupport(void) const
+ ?tr@QProxyStyle@@SA?AVQString@@PBD0@Z @ 3145 NONAME ; class QString QProxyStyle::tr(char const *, char const *)
+ ?drawText@QPainter@@QAEXABVQPointF@@ABVQString@@@Z @ 3146 NONAME ; void QPainter::drawText(class QPointF const &, class QString const &)
+ ?showPreviousMonth@QCalendarWidget@@QAEXXZ @ 3147 NONAME ; void QCalendarWidget::showPreviousMonth(void)
+ ?update@QWidget@@QAEXXZ @ 3148 NONAME ; void QWidget::update(void)
+ ?isRowHidden@QListView@@QBE_NH@Z @ 3149 NONAME ; bool QListView::isRowHidden(int) const
+ ?device@QImageIOHandler@@QBEPAVQIODevice@@XZ @ 3150 NONAME ; class QIODevice * QImageIOHandler::device(void) const
+ ?setCurrentIndex@QStackedLayout@@QAEXH@Z @ 3151 NONAME ; void QStackedLayout::setCurrentIndex(int)
+ ?d_func@QWindowsStyle@@AAEPAVQWindowsStylePrivate@@XZ @ 3152 NONAME ; class QWindowsStylePrivate * QWindowsStyle::d_func(void)
+ ?tr@QGraphicsGrayscaleEffect@@SA?AVQString@@PBD0H@Z @ 3153 NONAME ABSENT ; class QString QGraphicsGrayscaleEffect::tr(char const *, char const *, int)
+ ?sidebarUrls@QFileDialog@@QBE?AV?$QList@VQUrl@@@@XZ @ 3154 NONAME ; class QList<class QUrl> QFileDialog::sidebarUrls(void) const
+ ??1QPictureFormatInterface@@UAE@XZ @ 3155 NONAME ; QPictureFormatInterface::~QPictureFormatInterface(void)
+ ?setLineCount@QTextBlock@@QAEXH@Z @ 3156 NONAME ; void QTextBlock::setLineCount(int)
+ ?verticalOffset@QTreeView@@MBEHXZ @ 3157 NONAME ; int QTreeView::verticalOffset(void) const
+ ?invalidateBuffer@QWidgetPrivate@@QAEXABVQRegion@@@Z @ 3158 NONAME ; void QWidgetPrivate::invalidateBuffer(class QRegion const &)
+ ?setGeometry@QWidget@@QAEXHHHH@Z @ 3159 NONAME ; void QWidget::setGeometry(int, int, int, int)
+ ?rowViewportPosition@QTableView@@QBEHH@Z @ 3160 NONAME ; int QTableView::rowViewportPosition(int) const
+ ?headerData@QSortFilterProxyModel@@UBE?AVQVariant@@HW4Orientation@Qt@@H@Z @ 3161 NONAME ; class QVariant QSortFilterProxyModel::headerData(int, enum Qt::Orientation, int) const
+ ?drawImage@QPainter@@QAEXABVQPointF@@ABVQImage@@ABVQRectF@@V?$QFlags@W4ImageConversionFlag@Qt@@@@@Z @ 3162 NONAME ; void QPainter::drawImage(class QPointF const &, class QImage const &, class QRectF const &, class QFlags<enum Qt::ImageConversionFlag>)
+ ?qt_metacast@QAbstractSlider@@UAEPAXPBD@Z @ 3163 NONAME ; void * QAbstractSlider::qt_metacast(char const *)
+ ?selection@QItemSelectionModel@@QBE?BVQItemSelection@@XZ @ 3164 NONAME ; class QItemSelection const QItemSelectionModel::selection(void) const
+ ?getStaticMetaObject@QTextEdit@@SAABUQMetaObject@@XZ @ 3165 NONAME ; struct QMetaObject const & QTextEdit::getStaticMetaObject(void)
+ ?width@QImage@@QBEHXZ @ 3166 NONAME ; int QImage::width(void) const
+ ?setExtension@QGraphicsLineItem@@MAEXW4Extension@QGraphicsItem@@ABVQVariant@@@Z @ 3167 NONAME ; void QGraphicsLineItem::setExtension(enum QGraphicsItem::Extension, class QVariant const &)
+ ??_EQGraphicsItemGroup@@UAE@I@Z @ 3168 NONAME ; QGraphicsItemGroup::~QGraphicsItemGroup(unsigned int)
+ ?drawLines@QPainter@@QAEXABV?$QVector@VQLine@@@@@Z @ 3169 NONAME ; void QPainter::drawLines(class QVector<class QLine> const &)
+ ?setData@QPicture@@UAEXPBDI@Z @ 3170 NONAME ; void QPicture::setData(char const *, unsigned int)
+ ??1QDateTimeEdit@@UAE@XZ @ 3171 NONAME ; QDateTimeEdit::~QDateTimeEdit(void)
+ ?addBitmapFontToPath@QFontEngine@@QAEXMMABUQGlyphLayout@@PAVQPainterPath@@V?$QFlags@W4RenderFlag@QTextItem@@@@@Z @ 3172 NONAME ; void QFontEngine::addBitmapFontToPath(float, float, struct QGlyphLayout const &, class QPainterPath *, class QFlags<enum QTextItem::RenderFlag>)
+ ?deviceTransform@QGraphicsItem@@QBE?AVQTransform@@ABV2@@Z @ 3173 NONAME ; class QTransform QGraphicsItem::deviceTransform(class QTransform const &) const
+ ?tr@QFontDialog@@SA?AVQString@@PBD0@Z @ 3174 NONAME ; class QString QFontDialog::tr(char const *, char const *)
+ ??0QStyleOptionQ3ListViewItem@@QAE@XZ @ 3175 NONAME ; QStyleOptionQ3ListViewItem::QStyleOptionQ3ListViewItem(void)
+ ?qt_metacall@QPixmapColorizeFilter@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 3176 NONAME ; int QPixmapColorizeFilter::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?scrollContentsBy@QPlainTextEdit@@MAEXHH@Z @ 3177 NONAME ; void QPlainTextEdit::scrollContentsBy(int, int)
+ ?unpolish@QProxyStyle@@UAEXPAVQWidget@@@Z @ 3178 NONAME ; void QProxyStyle::unpolish(class QWidget *)
+ ?ResourceFileName@QS60MainApplication@@UBE?AV?$TBuf@$0BAA@@@XZ @ 3179 NONAME ; class TBuf<256> QS60MainApplication::ResourceFileName(void) const
+ ?qt_metacast@QProgressBar@@UAEPAXPBD@Z @ 3180 NONAME ; void * QProgressBar::qt_metacast(char const *)
+ ?refresh@QDirModel@@QAEXABVQModelIndex@@@Z @ 3181 NONAME ; void QDirModel::refresh(class QModelIndex const &)
+ ?rowCount@QSortFilterProxyModel@@UBEHABVQModelIndex@@@Z @ 3182 NONAME ; int QSortFilterProxyModel::rowCount(class QModelIndex const &) const
+ ??_EQGraphicsWidget@@UAE@I@Z @ 3183 NONAME ; QGraphicsWidget::~QGraphicsWidget(unsigned int)
+ ?sizeAdjustPolicy@QComboBox@@QBE?AW4SizeAdjustPolicy@1@XZ @ 3184 NONAME ; enum QComboBox::SizeAdjustPolicy QComboBox::sizeAdjustPolicy(void) const
+ ?createObjectIndex@QTextFormatCollection@@QAEHABVQTextFormat@@@Z @ 3185 NONAME ; int QTextFormatCollection::createObjectIndex(class QTextFormat const &)
+ ?animate_toolbox@QApplicationPrivate@@2_NA @ 3186 NONAME ; bool QApplicationPrivate::animate_toolbox
+ ?currentFontChanged@QFontComboBox@@IAEXABVQFont@@@Z @ 3187 NONAME ; void QFontComboBox::currentFontChanged(class QFont const &)
+ ?distanceToPlane@QVector3D@@QBEMABV1@00@Z @ 3188 NONAME ; float QVector3D::distanceToPlane(class QVector3D const &, class QVector3D const &, class QVector3D const &) const
+ ?setSelection@QLineControl@@QAEXHH@Z @ 3189 NONAME ; void QLineControl::setSelection(int, int)
+ ?metaObject@QStatusBar@@UBEPBUQMetaObject@@XZ @ 3190 NONAME ; struct QMetaObject const * QStatusBar::metaObject(void) const
+ ?standardIconImplementation@QWindowsStyle@@IBE?AVQIcon@@W4StandardPixmap@QStyle@@PBVQStyleOption@@PBVQWidget@@@Z @ 3191 NONAME ; class QIcon QWindowsStyle::standardIconImplementation(enum QStyle::StandardPixmap, class QStyleOption const *, class QWidget const *) const
+ ??_EQSwipeGesture@@UAE@I@Z @ 3192 NONAME ; QSwipeGesture::~QSwipeGesture(unsigned int)
+ ??0QDragMoveEvent@@QAE@ABV0@@Z @ 3193 NONAME ; QDragMoveEvent::QDragMoveEvent(class QDragMoveEvent const &)
+ ?qDrawShadeLine@@YAXPAVQPainter@@HHHHABVQPalette@@_NHH@Z @ 3194 NONAME ; void qDrawShadeLine(class QPainter *, int, int, int, int, class QPalette const &, bool, int, int)
+ ?metric@QImage@@MBEHW4PaintDeviceMetric@QPaintDevice@@@Z @ 3195 NONAME ; int QImage::metric(enum QPaintDevice::PaintDeviceMetric) const
+ ?d_func@QGraphicsEllipseItem@@AAEPAVQGraphicsEllipseItemPrivate@@XZ @ 3196 NONAME ; class QGraphicsEllipseItemPrivate * QGraphicsEllipseItem::d_func(void)
+ ?combineTransformToParent@QGraphicsItemPrivate@@QBEXPAVQTransform@@PBV2@@Z @ 3197 NONAME ; void QGraphicsItemPrivate::combineTransformToParent(class QTransform *, class QTransform const *) const
+ ?pos@QDropEvent@@QBEABVQPoint@@XZ @ 3198 NONAME ; class QPoint const & QDropEvent::pos(void) const
+ ?textCursor@QGraphicsTextItem@@QBE?AVQTextCursor@@XZ @ 3199 NONAME ; class QTextCursor QGraphicsTextItem::textCursor(void) const
+ ?setupViewport@QGraphicsView@@IAEXPAVQWidget@@@Z @ 3200 NONAME ; void QGraphicsView::setupViewport(class QWidget *)
+ ??0QKeySequence@@QAE@XZ @ 3201 NONAME ; QKeySequence::QKeySequence(void)
+ ?qt_metacall@QCalendarWidget@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 3202 NONAME ; int QCalendarWidget::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?keyPressEvent@QAbstractSpinBox@@MAEXPAVQKeyEvent@@@Z @ 3203 NONAME ; void QAbstractSpinBox::keyPressEvent(class QKeyEvent *)
+ ?windowTitle@QGraphicsWidget@@QBE?AVQString@@XZ @ 3204 NONAME ; class QString QGraphicsWidget::windowTitle(void) const
+ ?setAllowedAreas@QToolBar@@QAEXV?$QFlags@W4ToolBarArea@Qt@@@@@Z @ 3205 NONAME ; void QToolBar::setAllowedAreas(class QFlags<enum Qt::ToolBarArea>)
+ ?count@QTextList@@QBEHXZ @ 3206 NONAME ; int QTextList::count(void) const
+ ?insertSubstitution@QFont@@SAXABVQString@@0@Z @ 3207 NONAME ; void QFont::insertSubstitution(class QString const &, class QString const &)
+ ?setLastScreenPos@TouchPoint@QTouchEvent@@QAEXABVQPointF@@@Z @ 3208 NONAME ; void QTouchEvent::TouchPoint::setLastScreenPos(class QPointF const &)
+ ??0QPaintEvent@@QAE@ABVQRect@@@Z @ 3209 NONAME ; QPaintEvent::QPaintEvent(class QRect const &)
+ ?map@QTransform@@QBE?AVQPoint@@ABV2@@Z @ 3210 NONAME ; class QPoint QTransform::map(class QPoint const &) const
+ ?systemClip@QPaintEngine@@QBE?AVQRegion@@XZ @ 3211 NONAME ; class QRegion QPaintEngine::systemClip(void) const
+ ?qt_metacast@QDialog@@UAEPAXPBD@Z @ 3212 NONAME ; void * QDialog::qt_metacast(char const *)
+ ?style@QGraphicsScene@@QBEPAVQStyle@@XZ @ 3213 NONAME ; class QStyle * QGraphicsScene::style(void) const
+ ?metaObject@QFormLayout@@UBEPBUQMetaObject@@XZ @ 3214 NONAME ; struct QMetaObject const * QFormLayout::metaObject(void) const
+ ?brush@QPen@@QBE?AVQBrush@@XZ @ 3215 NONAME ; class QBrush QPen::brush(void) const
+ ?createWinId@QWidgetPrivate@@QAEXPAVCCoeControl@@@Z @ 3216 NONAME ; void QWidgetPrivate::createWinId(class CCoeControl *)
+ ?hasChildren@QStandardItem@@QBE_NXZ @ 3217 NONAME ; bool QStandardItem::hasChildren(void) const
+ ?addEllipse@QGraphicsScene@@QAEPAVQGraphicsEllipseItem@@MMMMABVQPen@@ABVQBrush@@@Z @ 3218 NONAME ; class QGraphicsEllipseItem * QGraphicsScene::addEllipse(float, float, float, float, class QPen const &, class QBrush const &)
+ ?setBorderStyle@QTextFrameFormat@@QAEXW4BorderStyle@1@@Z @ 3219 NONAME ; void QTextFrameFormat::setBorderStyle(enum QTextFrameFormat::BorderStyle)
+ ?hasHeightForWidth@QBoxLayout@@UBE_NXZ @ 3220 NONAME ; bool QBoxLayout::hasHeightForWidth(void) const
+ ?screenCount@QDesktopWidget@@QBEHXZ @ 3221 NONAME ; int QDesktopWidget::screenCount(void) const
+ ?bottomMargin@QTextFrameFormat@@QBEMXZ @ 3222 NONAME ; float QTextFrameFormat::bottomMargin(void) const
+ ?setShortcutAutoRepeat@QGraphicsWidget@@QAEXH_N@Z @ 3223 NONAME ; void QGraphicsWidget::setShortcutAutoRepeat(int, bool)
+ ?setRowHidden@QTableView@@QAEXH_N@Z @ 3224 NONAME ; void QTableView::setRowHidden(int, bool)
+ ?emitCursorPositionChanged@QLineControl@@AAEXXZ @ 3225 NONAME ; void QLineControl::emitCursorPositionChanged(void)
+ ?splitterMoved@QSplitter@@IAEXHH@Z @ 3226 NONAME ; void QSplitter::splitterMoved(int, int)
+ ?qt_metacall@QWorkspace@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 3227 NONAME ; int QWorkspace::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?alphaF@QColor@@QBEMXZ @ 3228 NONAME ; float QColor::alphaF(void) const
+ ?trUtf8@QDesktopWidget@@SA?AVQString@@PBD0@Z @ 3229 NONAME ; class QString QDesktopWidget::trUtf8(char const *, char const *)
+ ?tr@QWizard@@SA?AVQString@@PBD0@Z @ 3230 NONAME ; class QString QWizard::tr(char const *, char const *)
+ ??D@YA?AVQLineF@@ABV0@ABVQTransform@@@Z @ 3231 NONAME ; class QLineF operator*(class QLineF const &, class QTransform const &)
+ ?findFont@QFontDatabase@@CAPAVQFontEngine@@HPBVQFontPrivate@@ABUQFontDef@@@Z @ 3232 NONAME ; class QFontEngine * QFontDatabase::findFont(int, class QFontPrivate const *, struct QFontDef const &)
+ ?selectionEnd@QLineControl@@QBEHXZ @ 3233 NONAME ; int QLineControl::selectionEnd(void) const
+ ?topLevelWidgets@QApplication@@SA?AV?$QList@PAVQWidget@@@@XZ @ 3234 NONAME ; class QList<class QWidget *> QApplication::topLevelWidgets(void)
+ ?setItalic@QFont@@QAEX_N@Z @ 3235 NONAME ; void QFont::setItalic(bool)
+ ?map@QTransform@@QBE?AVQRegion@@ABV2@@Z @ 3236 NONAME ; class QRegion QTransform::map(class QRegion const &) const
+ ?lastScreenPos@QGraphicsSceneMouseEvent@@QBE?AVQPoint@@XZ @ 3237 NONAME ; class QPoint QGraphicsSceneMouseEvent::lastScreenPos(void) const
+ ?depth@QPixmap@@QBEHXZ @ 3238 NONAME ; int QPixmap::depth(void) const
+ ?trUtf8@QMenuBar@@SA?AVQString@@PBD0@Z @ 3239 NONAME ; class QString QMenuBar::trUtf8(char const *, char const *)
+ ?fillRect@QPainter@@QAEXABVQRectF@@ABVQColor@@@Z @ 3240 NONAME ; void QPainter::fillRect(class QRectF const &, class QColor const &)
+ ?setRowCount@QStandardItem@@QAEXH@Z @ 3241 NONAME ; void QStandardItem::setRowCount(int)
+ ?lineAt@QTextLayout@@QBE?AVQTextLine@@H@Z @ 3242 NONAME ; class QTextLine QTextLayout::lineAt(int) const
+ ?scenePos@QGraphicsSceneContextMenuEvent@@QBE?AVQPointF@@XZ @ 3243 NONAME ; class QPointF QGraphicsSceneContextMenuEvent::scenePos(void) const
+ ?isValid@QTextCharFormat@@QBE_NXZ @ 3244 NONAME ; bool QTextCharFormat::isValid(void) const
+ ?write@QTextDocumentWriter@@QAE_NABVQTextDocumentFragment@@@Z @ 3245 NONAME ; bool QTextDocumentWriter::write(class QTextDocumentFragment const &)
+ ?cursorForward@QLineEdit@@QAEX_NH@Z @ 3246 NONAME ; void QLineEdit::cursorForward(bool, int)
+ ?d_func@QCheckBox@@ABEPBVQCheckBoxPrivate@@XZ @ 3247 NONAME ; class QCheckBoxPrivate const * QCheckBox::d_func(void) const
+ ??1QSplitterHandle@@UAE@XZ @ 3248 NONAME ; QSplitterHandle::~QSplitterHandle(void)
+ ?d_func@QValidator@@AAEPAVQValidatorPrivate@@XZ @ 3249 NONAME ; class QValidatorPrivate * QValidator::d_func(void)
+ ?cancel@QProgressDialog@@QAEXXZ @ 3250 NONAME ; void QProgressDialog::cancel(void)
+ ?row@QTableWidget@@QBEHPBVQTableWidgetItem@@@Z @ 3251 NONAME ; int QTableWidget::row(class QTableWidgetItem const *) const
+ ?qt_metacall@QTextBlockGroup@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 3252 NONAME ; int QTextBlockGroup::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?pos@QMoveEvent@@QBEABVQPoint@@XZ @ 3253 NONAME ; class QPoint const & QMoveEvent::pos(void) const
+ ?setPalette@QApplication@@SAXABVQPalette@@PBD@Z @ 3254 NONAME ; void QApplication::setPalette(class QPalette const &, char const *)
+ ?trUtf8@QTimeEdit@@SA?AVQString@@PBD0H@Z @ 3255 NONAME ; class QString QTimeEdit::trUtf8(char const *, char const *, int)
+ ??4QTextCursor@@QAEAAV0@ABV0@@Z @ 3256 NONAME ; class QTextCursor & QTextCursor::operator=(class QTextCursor const &)
+ ?takeHorizontalHeaderItem@QTableWidget@@QAEPAVQTableWidgetItem@@H@Z @ 3257 NONAME ; class QTableWidgetItem * QTableWidget::takeHorizontalHeaderItem(int)
+ ?sizeHint@QProgressBar@@UBE?AVQSize@@XZ @ 3258 NONAME ; class QSize QProgressBar::sizeHint(void) const
+ ?d_func@QFontDialog@@ABEPBVQFontDialogPrivate@@XZ @ 3259 NONAME ; class QFontDialogPrivate const * QFontDialog::d_func(void) const
+ ??_EQMessageBox@@UAE@I@Z @ 3260 NONAME ; QMessageBox::~QMessageBox(unsigned int)
+ ?qt_metacast@QFileSystemModel@@UAEPAXPBD@Z @ 3261 NONAME ; void * QFileSystemModel::qt_metacast(char const *)
+ ??1QTreeView@@UAE@XZ @ 3262 NONAME ; QTreeView::~QTreeView(void)
+ ??HQPainterPath@@QBE?AV0@ABV0@@Z @ 3263 NONAME ; class QPainterPath QPainterPath::operator+(class QPainterPath const &) const
+ ?transform@QGraphicsItem@@QBE?AVQTransform@@XZ @ 3264 NONAME ; class QTransform QGraphicsItem::transform(void) const
+ ?trUtf8@QPixmapFilter@@SA?AVQString@@PBD0@Z @ 3265 NONAME ; class QString QPixmapFilter::trUtf8(char const *, char const *)
+ ?sizeHint@QGraphicsProxyWidget@@MBE?AVQSizeF@@W4SizeHint@Qt@@ABV2@@Z @ 3266 NONAME ; class QSizeF QGraphicsProxyWidget::sizeHint(enum Qt::SizeHint, class QSizeF const &) const
+ ?setItemPrototype@QStandardItemModel@@QAEXPBVQStandardItem@@@Z @ 3267 NONAME ; void QStandardItemModel::setItemPrototype(class QStandardItem const *)
+ ??0QTextDocumentFragment@@QAE@ABVQTextCursor@@@Z @ 3268 NONAME ; QTextDocumentFragment::QTextDocumentFragment(class QTextCursor const &)
+ ??0QFrame@@QAE@PAVQWidget@@V?$QFlags@W4WindowType@Qt@@@@@Z @ 3269 NONAME ; QFrame::QFrame(class QWidget *, class QFlags<enum Qt::WindowType>)
+ ?setPixmap@QWizardPage@@QAEXW4WizardPixmap@QWizard@@ABVQPixmap@@@Z @ 3270 NONAME ; void QWizardPage::setPixmap(enum QWizard::WizardPixmap, class QPixmap const &)
+ ?subWidgetRect@QGraphicsProxyWidget@@QBE?AVQRectF@@PBVQWidget@@@Z @ 3271 NONAME ; class QRectF QGraphicsProxyWidget::subWidgetRect(class QWidget const *) const
+ ?dashOffset@QPen@@QBEMXZ @ 3272 NONAME ; float QPen::dashOffset(void) const
+ ?tr@QGraphicsOpacityEffect@@SA?AVQString@@PBD0@Z @ 3273 NONAME ; class QString QGraphicsOpacityEffect::tr(char const *, char const *)
+ ??0QVector2D@@AAE@MMH@Z @ 3274 NONAME ; QVector2D::QVector2D(float, float, int)
+ ?setOrientation@QGraphicsSceneWheelEvent@@QAEXW4Orientation@Qt@@@Z @ 3275 NONAME ; void QGraphicsSceneWheelEvent::setOrientation(enum Qt::Orientation)
+ ?dragLeaveEvent@QAbstractItemView@@MAEXPAVQDragLeaveEvent@@@Z @ 3276 NONAME ; void QAbstractItemView::dragLeaveEvent(class QDragLeaveEvent *)
+ ?setDocumentMargin@QTextDocument@@QAEXM@Z @ 3277 NONAME ; void QTextDocument::setDocumentMargin(float)
+ ?drawPoint@QPainter@@QAEXHH@Z @ 3278 NONAME ; void QPainter::drawPoint(int, int)
+ ?background@QTextFormat@@QBE?AVQBrush@@XZ @ 3279 NONAME ; class QBrush QTextFormat::background(void) const
+ ?setModel@QAbstractItemView@@UAEXPAVQAbstractItemModel@@@Z @ 3280 NONAME ; void QAbstractItemView::setModel(class QAbstractItemModel *)
+ ?drawBackground@QGraphicsScene@@MAEXPAVQPainter@@ABVQRectF@@@Z @ 3281 NONAME ; void QGraphicsScene::drawBackground(class QPainter *, class QRectF const &)
+ ?itemAt@QGraphicsScene@@QBEPAVQGraphicsItem@@ABVQPointF@@@Z @ 3282 NONAME ; class QGraphicsItem * QGraphicsScene::itemAt(class QPointF const &) const
+ ?copyAvailable@QPlainTextEdit@@IAEX_N@Z @ 3283 NONAME ; void QPlainTextEdit::copyAvailable(bool)
+ ?setCleanIcon@QUndoView@@QAEXABVQIcon@@@Z @ 3284 NONAME ; void QUndoView::setCleanIcon(class QIcon const &)
+ ?play@QSound@@SAXABVQString@@@Z @ 3285 NONAME ; void QSound::play(class QString const &)
+ ?staticMetaObject@QWorkspace@@2UQMetaObject@@B @ 3286 NONAME ; struct QMetaObject const QWorkspace::staticMetaObject
+ ?notation@QDoubleValidator@@QBE?AW4Notation@1@XZ @ 3287 NONAME ; enum QDoubleValidator::Notation QDoubleValidator::notation(void) const
+ ?maximumTime@QDateTimeEdit@@QBE?AVQTime@@XZ @ 3288 NONAME ; class QTime QDateTimeEdit::maximumTime(void) const
+ ?drawControl@QS60Style@@UBEXW4ControlElement@QStyle@@PBVQStyleOption@@PAVQPainter@@PBVQWidget@@@Z @ 3289 NONAME ; void QS60Style::drawControl(enum QStyle::ControlElement, class QStyleOption const *, class QPainter *, class QWidget const *) const
+ ??_EQCoeFepInputContext@@UAE@I@Z @ 3290 NONAME ABSENT ; QCoeFepInputContext::~QCoeFepInputContext(unsigned int)
+ ?setAttribute@QWidget@@QAEXW4WidgetAttribute@Qt@@_N@Z @ 3291 NONAME ; void QWidget::setAttribute(enum Qt::WidgetAttribute, bool)
+ ??1QImageIOPlugin@@UAE@XZ @ 3292 NONAME ; QImageIOPlugin::~QImageIOPlugin(void)
+ ??1QTessellator@@UAE@XZ @ 3293 NONAME ; QTessellator::~QTessellator(void)
+ ??_EQDropEvent@@UAE@I@Z @ 3294 NONAME ; QDropEvent::~QDropEvent(unsigned int)
+ ?getStaticMetaObject@QButtonGroup@@SAABUQMetaObject@@XZ @ 3295 NONAME ; struct QMetaObject const & QButtonGroup::getStaticMetaObject(void)
+ ?contains@QGraphicsLineItem@@UBE_NABVQPointF@@@Z @ 3296 NONAME ; bool QGraphicsLineItem::contains(class QPointF const &) const
+ ?setItemsExpandable@QTreeView@@QAEX_N@Z @ 3297 NONAME ; void QTreeView::setItemsExpandable(bool)
+ ??0QDialog@@QAE@PAVQWidget@@V?$QFlags@W4WindowType@Qt@@@@@Z @ 3298 NONAME ; QDialog::QDialog(class QWidget *, class QFlags<enum Qt::WindowType>)
+ ??BQRegion@@QBE?AVQVariant@@XZ @ 3299 NONAME ; QRegion::operator class QVariant(void) const
+ ?d_func@QRasterWindowSurface@@AAEPAVQRasterWindowSurfacePrivate@@XZ @ 3300 NONAME ; class QRasterWindowSurfacePrivate * QRasterWindowSurface::d_func(void)
+ ??0QStyleOptionTab@@IAE@H@Z @ 3301 NONAME ; QStyleOptionTab::QStyleOptionTab(int)
+ ?trUtf8@QTreeView@@SA?AVQString@@PBD0H@Z @ 3302 NONAME ; class QString QTreeView::trUtf8(char const *, char const *, int)
+ ??0QGraphicsItemPrivate@@QAE@XZ @ 3303 NONAME ; QGraphicsItemPrivate::QGraphicsItemPrivate(void)
+ ?tr@QWidget@@SA?AVQString@@PBD0H@Z @ 3304 NONAME ; class QString QWidget::tr(char const *, char const *, int)
+ ?tr@QApplication@@SA?AVQString@@PBD0@Z @ 3305 NONAME ; class QString QApplication::tr(char const *, char const *)
+ ?mapToPolygon@QMatrix@@QBE?AVQPolygon@@ABVQRect@@@Z @ 3306 NONAME ; class QPolygon QMatrix::mapToPolygon(class QRect const &) const
+ ?copy@QPixmap@@QBE?AV1@ABVQRect@@@Z @ 3307 NONAME ; class QPixmap QPixmap::copy(class QRect const &) const
+ ?d_func@QDrag@@ABEPBVQDragPrivate@@XZ @ 3308 NONAME ; class QDragPrivate const * QDrag::d_func(void) const
+ ?staticMetaObject@QMouseEventTransition@@2UQMetaObject@@B @ 3309 NONAME ; struct QMetaObject const QMouseEventTransition::staticMetaObject
+ ?setCurrentRow@QCompleter@@QAE_NH@Z @ 3310 NONAME ; bool QCompleter::setCurrentRow(int)
+ ?accessibleText@QStandardItem@@QBE?AVQString@@XZ @ 3311 NONAME ; class QString QStandardItem::accessibleText(void) const
+ ?event@QLCDNumber@@MAE_NPAVQEvent@@@Z @ 3312 NONAME ; bool QLCDNumber::event(class QEvent *)
+ ?qt_metacall@QGraphicsItemAnimation@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 3313 NONAME ; int QGraphicsItemAnimation::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?boundingRect@QPaintBuffer@@QBE?AVQRectF@@XZ @ 3314 NONAME ; class QRectF QPaintBuffer::boundingRect(void) const
+ ?setFormat@QProgressBar@@QAEXABVQString@@@Z @ 3315 NONAME ; void QProgressBar::setFormat(class QString const &)
+ ?setAlignment@QLayoutItem@@QAEXV?$QFlags@W4AlignmentFlag@Qt@@@@@Z @ 3316 NONAME ; void QLayoutItem::setAlignment(class QFlags<enum Qt::AlignmentFlag>)
+ ??4QTextDocumentFragment@@QAEAAV0@ABV0@@Z @ 3317 NONAME ; class QTextDocumentFragment & QTextDocumentFragment::operator=(class QTextDocumentFragment const &)
+ ?tr@QGraphicsRotation@@SA?AVQString@@PBD0@Z @ 3318 NONAME ; class QString QGraphicsRotation::tr(char const *, char const *)
+ ?column@QTableWidgetItem@@QBEHXZ @ 3319 NONAME ; int QTableWidgetItem::column(void) const
+ ?end@QStrokerOps@@UAEXXZ @ 3320 NONAME ; void QStrokerOps::end(void)
+ ??0QTransform@@QAE@ABV0@@Z @ 3321 NONAME ; QTransform::QTransform(class QTransform const &)
+ ?buddy@QSortFilterProxyModel@@UBE?AVQModelIndex@@ABV2@@Z @ 3322 NONAME ; class QModelIndex QSortFilterProxyModel::buddy(class QModelIndex const &) const
+ ?layoutMode@QListView@@QBE?AW4LayoutMode@1@XZ @ 3323 NONAME ; enum QListView::LayoutMode QListView::layoutMode(void) const
+ ?globalY@QContextMenuEvent@@QBEHXZ @ 3324 NONAME ; int QContextMenuEvent::globalY(void) const
+ ?fontCapitalization@QTextCharFormat@@QBE?AW4Capitalization@QFont@@XZ @ 3325 NONAME ; enum QFont::Capitalization QTextCharFormat::fontCapitalization(void) const
+ ?setWindowIcon@QWidget@@QAEXABVQIcon@@@Z @ 3326 NONAME ; void QWidget::setWindowIcon(class QIcon const &)
+ ?insertText@QTextCursor@@QAEXABVQString@@@Z @ 3327 NONAME ; void QTextCursor::insertText(class QString const &)
+ ?d_func@QGraphicsSceneHelpEvent@@ABEPBVQGraphicsSceneHelpEventPrivate@@XZ @ 3328 NONAME ; class QGraphicsSceneHelpEventPrivate const * QGraphicsSceneHelpEvent::d_func(void) const
+ ?sendEvent@QGraphicsScene@@QAE_NPAVQGraphicsItem@@PAVQEvent@@@Z @ 3329 NONAME ; bool QGraphicsScene::sendEvent(class QGraphicsItem *, class QEvent *)
+ ?setIODevice@QPictureIO@@QAEXPAVQIODevice@@@Z @ 3330 NONAME ; void QPictureIO::setIODevice(class QIODevice *)
+ ?decodeString@QKeySequence@@CAHABVQString@@@Z @ 3331 NONAME ; int QKeySequence::decodeString(class QString const &)
+ ?directoryEntered@QFileDialog@@IAEXABVQString@@@Z @ 3332 NONAME ; void QFileDialog::directoryEntered(class QString const &)
+ ?minimumContentsLength@QComboBox@@QBEHXZ @ 3333 NONAME ; int QComboBox::minimumContentsLength(void) const
+ ??0QStyleOptionFrameV2@@QAE@ABV0@@Z @ 3334 NONAME ; QStyleOptionFrameV2::QStyleOptionFrameV2(class QStyleOptionFrameV2 const &)
+ ?qt_filedialog_existing_directory_hook@@3P6A?AVQString@@PAVQWidget@@ABV1@1V?$QFlags@W4Option@QFileDialog@@@@@ZA @ 3335 NONAME ; class QString (*qt_filedialog_existing_directory_hook)(class QWidget *, class QString const &, class QString const &, class QFlags<enum QFileDialog::Option>)
+ ??_EQGraphicsView@@UAE@I@Z @ 3336 NONAME ; QGraphicsView::~QGraphicsView(unsigned int)
+ ??0QStyleOptionViewItemV4@@QAE@XZ @ 3337 NONAME ; QStyleOptionViewItemV4::QStyleOptionViewItemV4(void)
+ ??0QAbstractButton@@IAE@AAVQAbstractButtonPrivate@@PAVQWidget@@@Z @ 3338 NONAME ; QAbstractButton::QAbstractButton(class QAbstractButtonPrivate &, class QWidget *)
+ ?addButton@QDialogButtonBox@@QAEPAVQPushButton@@ABVQString@@W4ButtonRole@1@@Z @ 3339 NONAME ; class QPushButton * QDialogButtonBox::addButton(class QString const &, enum QDialogButtonBox::ButtonRole)
+ ??_EQPixmap@@UAE@I@Z @ 3340 NONAME ; QPixmap::~QPixmap(unsigned int)
+ ?insertMenu@QMenu@@QAEPAVQAction@@PAV2@PAV1@@Z @ 3341 NONAME ; class QAction * QMenu::insertMenu(class QAction *, class QMenu *)
+ ?visualIndex@QTableView@@ABEHABVQModelIndex@@@Z @ 3342 NONAME ; int QTableView::visualIndex(class QModelIndex const &) const
+ ?isSortingEnabled@QTreeView@@QBE_NXZ @ 3343 NONAME ; bool QTreeView::isSortingEnabled(void) const
+ ?data@QDirModel@@UBE?AVQVariant@@ABVQModelIndex@@H@Z @ 3344 NONAME ; class QVariant QDirModel::data(class QModelIndex const &, int) const
+ ?tr@QGraphicsObject@@SA?AVQString@@PBD0H@Z @ 3345 NONAME ; class QString QGraphicsObject::tr(char const *, char const *, int)
+ ?drawConvexPolygon@QPainter@@QAEXABVQPolygon@@@Z @ 3346 NONAME ; void QPainter::drawConvexPolygon(class QPolygon const &)
+ ?quadTo@QPainterPath@@QAEXABVQPointF@@0@Z @ 3347 NONAME ; void QPainterPath::quadTo(class QPointF const &, class QPointF const &)
+ ??0QPicture@@QAE@H@Z @ 3348 NONAME ; QPicture::QPicture(int)
+ ??1QHoverEvent@@UAE@XZ @ 3349 NONAME ; QHoverEvent::~QHoverEvent(void)
+ ?setScenePos@QGraphicsSceneContextMenuEvent@@QAEXABVQPointF@@@Z @ 3350 NONAME ; void QGraphicsSceneContextMenuEvent::setScenePos(class QPointF const &)
+ ??0QTextLine@@QAE@XZ @ 3351 NONAME ; QTextLine::QTextLine(void)
+ ?event@QGraphicsProxyWidget@@MAE_NPAVQEvent@@@Z @ 3352 NONAME ; bool QGraphicsProxyWidget::event(class QEvent *)
+ ?elideMode@QTabBar@@QBE?AW4TextElideMode@Qt@@XZ @ 3353 NONAME ; enum Qt::TextElideMode QTabBar::elideMode(void) const
+ ?d_func@QTabWidget@@AAEPAVQTabWidgetPrivate@@XZ @ 3354 NONAME ; class QTabWidgetPrivate * QTabWidget::d_func(void)
+ ?trUtf8@QStyle@@SA?AVQString@@PBD0@Z @ 3355 NONAME ; class QString QStyle::trUtf8(char const *, char const *)
+ ?verticalShearAt@QGraphicsItemAnimation@@QBEMM@Z @ 3356 NONAME ; float QGraphicsItemAnimation::verticalShearAt(float) const
+ ?insertFromMimeData@QTextEdit@@MAEXPBVQMimeData@@@Z @ 3357 NONAME ; void QTextEdit::insertFromMimeData(class QMimeData const *)
+ ?tr@QIconEnginePlugin@@SA?AVQString@@PBD0@Z @ 3358 NONAME ; class QString QIconEnginePlugin::tr(char const *, char const *)
+ ?setVerticalSpacing@QGridLayout@@QAEXH@Z @ 3359 NONAME ; void QGridLayout::setVerticalSpacing(int)
+ ??1QToolBar@@UAE@XZ @ 3360 NONAME ; QToolBar::~QToolBar(void)
+ ?d_func@QGraphicsSceneEvent@@IBEPBVQGraphicsSceneEventPrivate@@XZ @ 3361 NONAME ; class QGraphicsSceneEventPrivate const * QGraphicsSceneEvent::d_func(void) const
+ ?descent@QFontMetrics@@QBEHXZ @ 3362 NONAME ; int QFontMetrics::descent(void) const
+ ?numFrames@QPaintBuffer@@QBEHXZ @ 3363 NONAME ; int QPaintBuffer::numFrames(void) const
+ ?setObjectFormat@QTextFormatCollection@@QAEXHABVQTextFormat@@@Z @ 3364 NONAME ; void QTextFormatCollection::setObjectFormat(int, class QTextFormat const &)
+ ?setExtension@QGraphicsSimpleTextItem@@MAEXW4Extension@QGraphicsItem@@ABVQVariant@@@Z @ 3365 NONAME ; void QGraphicsSimpleTextItem::setExtension(enum QGraphicsItem::Extension, class QVariant const &)
+ ?palette@QGraphicsWidget@@QBE?AVQPalette@@XZ @ 3366 NONAME ; class QPalette QGraphicsWidget::palette(void) const
+ ?pixmap@QGraphicsEffectSource@@QBE?AVQPixmap@@W4CoordinateSystem@Qt@@PAVQPoint@@@Z @ 3367 NONAME ABSENT ; class QPixmap QGraphicsEffectSource::pixmap(enum Qt::CoordinateSystem, class QPoint *) const
+ ?setColor@QPen@@QAEXABVQColor@@@Z @ 3368 NONAME ; void QPen::setColor(class QColor const &)
+ ?pen@QPaintEngineState@@QBE?AVQPen@@XZ @ 3369 NONAME ; class QPen QPaintEngineState::pen(void) const
+ ?fileName@QSound@@QBE?AVQString@@XZ @ 3370 NONAME ; class QString QSound::fileName(void) const
+ ?appendHtml@QTextControl@@QAEXABVQString@@@Z @ 3371 NONAME ; void QTextControl::appendHtml(class QString const &)
+ ?rect@QImage@@QBE?AVQRect@@XZ @ 3372 NONAME ; class QRect QImage::rect(void) const
+ ?value@QProgressDialog@@QBEHXZ @ 3373 NONAME ; int QProgressDialog::value(void) const
+ ?boundingRect@QGraphicsSimpleTextItem@@UBE?AVQRectF@@XZ @ 3374 NONAME ; class QRectF QGraphicsSimpleTextItem::boundingRect(void) const
+ ??1QRasterPixmapData@@UAE@XZ @ 3375 NONAME ; QRasterPixmapData::~QRasterPixmapData(void)
+ ?trUtf8@QPixmapFilter@@SA?AVQString@@PBD0H@Z @ 3376 NONAME ; class QString QPixmapFilter::trUtf8(char const *, char const *, int)
+ ?metaObject@QColumnView@@UBEPBUQMetaObject@@XZ @ 3377 NONAME ; struct QMetaObject const * QColumnView::metaObject(void) const
+ ?mousePressEvent@QMdiSubWindow@@MAEXPAVQMouseEvent@@@Z @ 3378 NONAME ; void QMdiSubWindow::mousePressEvent(class QMouseEvent *)
+ ?fillRect@QPainter@@QAEXABVQRectF@@W4GlobalColor@Qt@@@Z @ 3379 NONAME ; void QPainter::fillRect(class QRectF const &, enum Qt::GlobalColor)
+ ?setToolTip@QTextCharFormat@@QAEXABVQString@@@Z @ 3380 NONAME ; void QTextCharFormat::setToolTip(class QString const &)
+ ??0QVBoxLayout@@QAE@XZ @ 3381 NONAME ; QVBoxLayout::QVBoxLayout(void)
+ ?staticMetaObject@QRegExpValidator@@2UQMetaObject@@B @ 3382 NONAME ; struct QMetaObject const QRegExpValidator::staticMetaObject
+ ?shear@QGraphicsView@@QAEXMM@Z @ 3383 NONAME ; void QGraphicsView::shear(float, float)
+ ?qt_metacall@QStyle@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 3384 NONAME ; int QStyle::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ??1QApplication@@UAE@XZ @ 3385 NONAME ; QApplication::~QApplication(void)
+ ?setBaseSize@QWidget@@QAEXABVQSize@@@Z @ 3386 NONAME ; void QWidget::setBaseSize(class QSize const &)
+ ?trUtf8@QGraphicsBloomEffect@@SA?AVQString@@PBD0@Z @ 3387 NONAME ABSENT ; class QString QGraphicsBloomEffect::trUtf8(char const *, char const *)
+ ?setWindowFilePath_helper@QWidgetPrivate@@QAEXABVQString@@@Z @ 3388 NONAME ; void QWidgetPrivate::setWindowFilePath_helper(class QString const &)
+ ?setSourceModel@QSortFilterProxyModel@@UAEXPAVQAbstractItemModel@@@Z @ 3389 NONAME ; void QSortFilterProxyModel::setSourceModel(class QAbstractItemModel *)
+ ?removeStack@QUndoGroup@@QAEXPAVQUndoStack@@@Z @ 3390 NONAME ; void QUndoGroup::removeStack(class QUndoStack *)
+ ?internalSetText@QLineControl@@AAEXABVQString@@H_N@Z @ 3391 NONAME ; void QLineControl::internalSetText(class QString const &, int, bool)
+ ?nativeWindowDeco@QDockWidgetLayout@@QBE_N_N@Z @ 3392 NONAME ; bool QDockWidgetLayout::nativeWindowDeco(bool) const
+ ?qt_metacall@QGraphicsDropShadowEffect@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 3393 NONAME ; int QGraphicsDropShadowEffect::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?setCurrentItem@QListWidget@@QAEXPAVQListWidgetItem@@V?$QFlags@W4SelectionFlag@QItemSelectionModel@@@@@Z @ 3394 NONAME ; void QListWidget::setCurrentItem(class QListWidgetItem *, class QFlags<enum QItemSelectionModel::SelectionFlag>)
+ ??0QDial@@QAE@PAVQWidget@@@Z @ 3395 NONAME ; QDial::QDial(class QWidget *)
+ ?alert@QApplication@@SAXPAVQWidget@@H@Z @ 3396 NONAME ; void QApplication::alert(class QWidget *, int)
+ ?setLocale@QWidget@@QAEXABVQLocale@@@Z @ 3397 NONAME ; void QWidget::setLocale(class QLocale const &)
+ ?data_ptr@QKeySequence@@QAEAAPAVQKeySequencePrivate@@XZ @ 3398 NONAME ; class QKeySequencePrivate * & QKeySequence::data_ptr(void)
+ ?resolvePalette@QWidgetPrivate@@QAEXXZ @ 3399 NONAME ; void QWidgetPrivate::resolvePalette(void)
+ ?canUndo@QUndoGroup@@QBE_NXZ @ 3400 NONAME ; bool QUndoGroup::canUndo(void) const
+ ??0QMessageBox@@QAE@PAVQWidget@@@Z @ 3401 NONAME ; QMessageBox::QMessageBox(class QWidget *)
+ ?minimumSizeHint@QLabel@@UBE?AVQSize@@XZ @ 3402 NONAME ; class QSize QLabel::minimumSizeHint(void) const
+ ??0QGraphicsTextItem@@QAE@PAVQGraphicsItem@@PAVQGraphicsScene@@@Z @ 3403 NONAME ; QGraphicsTextItem::QGraphicsTextItem(class QGraphicsItem *, class QGraphicsScene *)
+ ?qt_metacall@QLineControl@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 3404 NONAME ; int QLineControl::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?changeEvent@QLabel@@MAEXPAVQEvent@@@Z @ 3405 NONAME ; void QLabel::changeEvent(class QEvent *)
+ ?insertAction@QWidget@@QAEXPAVQAction@@0@Z @ 3406 NONAME ; void QWidget::insertAction(class QAction *, class QAction *)
+ ?qt_metacast@QLineEdit@@UAEPAXPBD@Z @ 3407 NONAME ; void * QLineEdit::qt_metacast(char const *)
+ ??_0QTransform@@QAEAAV0@M@Z @ 3408 NONAME ; class QTransform & QTransform::operator/=(float)
+ ?staticMetaObject@QLineControl@@2UQMetaObject@@B @ 3409 NONAME ; struct QMetaObject const QLineControl::staticMetaObject
+ ?viewportEvent@QGraphicsView@@MAE_NPAVQEvent@@@Z @ 3410 NONAME ; bool QGraphicsView::viewportEvent(class QEvent *)
+ ?styleProperty@QS60Style@@QBE?AVQVariant@@PBD@Z @ 3411 NONAME ; class QVariant QS60Style::styleProperty(char const *) const
+ ?setStackingMode@QStackedLayout@@QAEXW4StackingMode@1@@Z @ 3412 NONAME ; void QStackedLayout::setStackingMode(enum QStackedLayout::StackingMode)
+ ?event@QScrollBar@@UAE_NPAVQEvent@@@Z @ 3413 NONAME ; bool QScrollBar::event(class QEvent *)
+ ?metaObject@QPushButton@@UBEPBUQMetaObject@@XZ @ 3414 NONAME ; struct QMetaObject const * QPushButton::metaObject(void) const
+ ?sizeHint@QLCDNumber@@UBE?AVQSize@@XZ @ 3415 NONAME ; class QSize QLCDNumber::sizeHint(void) const
+ ??0QStyleOptionRubberBand@@QAE@ABV0@@Z @ 3416 NONAME ; QStyleOptionRubberBand::QStyleOptionRubberBand(class QStyleOptionRubberBand const &)
+ ??IQRegion@@QBE?BV0@ABV0@@Z @ 3417 NONAME ; class QRegion const QRegion::operator&(class QRegion const &) const
+ ?getStaticMetaObject@QDockWidgetLayout@@SAABUQMetaObject@@XZ @ 3418 NONAME ; struct QMetaObject const & QDockWidgetLayout::getStaticMetaObject(void)
+ ?trUtf8@QLineEdit@@SA?AVQString@@PBD0@Z @ 3419 NONAME ; class QString QLineEdit::trUtf8(char const *, char const *)
+ ?setCurrentItem@QTreeWidget@@QAEXPAVQTreeWidgetItem@@@Z @ 3420 NONAME ; void QTreeWidget::setCurrentItem(class QTreeWidgetItem *)
+ ?addMenu@QMenuBar@@QAEPAVQAction@@PAVQMenu@@@Z @ 3421 NONAME ; class QAction * QMenuBar::addMenu(class QMenu *)
+ ??1QPixmapBlurFilter@@UAE@XZ @ 3422 NONAME ; QPixmapBlurFilter::~QPixmapBlurFilter(void)
+ ?setSizeIncrement@QWidget@@QAEXHH@Z @ 3423 NONAME ; void QWidget::setSizeIncrement(int, int)
+ ?contains@QGraphicsSimpleTextItem@@UBE_NABVQPointF@@@Z @ 3424 NONAME ; bool QGraphicsSimpleTextItem::contains(class QPointF const &) const
+ ??_EQWidgetItem@@UAE@I@Z @ 3425 NONAME ; QWidgetItem::~QWidgetItem(unsigned int)
+ ?dotsPerMeterY@QImage@@QBEHXZ @ 3426 NONAME ; int QImage::dotsPerMeterY(void) const
+ ?contains@QPainterPath@@QBE_NABVQRectF@@@Z @ 3427 NONAME ; bool QPainterPath::contains(class QRectF const &) const
+ ?setFrameShape@QFrame@@QAEXW4Shape@1@@Z @ 3428 NONAME ; void QFrame::setFrameShape(enum QFrame::Shape)
+ ??0QListWidgetItem@@QAE@ABV0@@Z @ 3429 NONAME ; QListWidgetItem::QListWidgetItem(class QListWidgetItem const &)
+ ?map@QMatrix4x4@@QBE?AVQPointF@@ABV2@@Z @ 3430 NONAME ; class QPointF QMatrix4x4::map(class QPointF const &) const
+ ??0QFontMetricsF@@QAE@ABVQFont@@PAVQPaintDevice@@@Z @ 3431 NONAME ; QFontMetricsF::QFontMetricsF(class QFont const &, class QPaintDevice *)
+ ?setVisible@QWidget@@UAEX_N@Z @ 3432 NONAME ; void QWidget::setVisible(bool)
+ ?quitOnLastWindowClosed@QApplicationPrivate@@2_NA @ 3433 NONAME ; bool QApplicationPrivate::quitOnLastWindowClosed
+ ?rowsInserted@QColumnView@@MAEXABVQModelIndex@@HH@Z @ 3434 NONAME ; void QColumnView::rowsInserted(class QModelIndex const &, int, int)
+ ?qt_metacast@QCoeFepInputContext@@UAEPAXPBD@Z @ 3435 NONAME ABSENT ; void * QCoeFepInputContext::qt_metacast(char const *)
+ ?map@QMatrix@@QBE?AVQPoint@@ABV2@@Z @ 3436 NONAME ; class QPoint QMatrix::map(class QPoint const &) const
+ ?MopSupplyObject@QCoeFepInputContext@@UAE?AVPtr@TTypeUid@@V3@@Z @ 3437 NONAME ABSENT ; class TTypeUid::Ptr QCoeFepInputContext::MopSupplyObject(class TTypeUid)
+ ?styleName@QGuiPlatformPlugin@@UAE?AVQString@@XZ @ 3438 NONAME ; class QString QGuiPlatformPlugin::styleName(void)
+ ?rowsInserted@QAbstractItemView@@MAEXABVQModelIndex@@HH@Z @ 3439 NONAME ; void QAbstractItemView::rowsInserted(class QModelIndex const &, int, int)
+ ?setBlurHint@QGraphicsBloomEffect@@QAEXW4RenderHint@Qt@@@Z @ 3440 NONAME ABSENT ; void QGraphicsBloomEffect::setBlurHint(enum Qt::RenderHint)
+ ?gradient@QBrush@@QBEPBVQGradient@@XZ @ 3441 NONAME ; class QGradient const * QBrush::gradient(void) const
+ ?hasFocus@QWidget@@QBE_NXZ @ 3442 NONAME ; bool QWidget::hasFocus(void) const
+ ??0Symbol@QCss@@QAE@XZ @ 3443 NONAME ; QCss::Symbol::Symbol(void)
+ ?fontWeight@QTextEdit@@QBEHXZ @ 3444 NONAME ; int QTextEdit::fontWeight(void) const
+ ?tr@QGraphicsScene@@SA?AVQString@@PBD0@Z @ 3445 NONAME ; class QString QGraphicsScene::tr(char const *, char const *)
+ ?sizeHint@QHeaderView@@UBE?AVQSize@@XZ @ 3446 NONAME ; class QSize QHeaderView::sizeHint(void) const
+ ?addAction@QMenu@@QAEPAVQAction@@ABVQIcon@@ABVQString@@PBVQObject@@PBDABVQKeySequence@@@Z @ 3447 NONAME ; class QAction * QMenu::addAction(class QIcon const &, class QString const &, class QObject const *, char const *, class QKeySequence const &)
+ ?setHorizontalHeaderLabels@QStandardItemModel@@QAEXABVQStringList@@@Z @ 3448 NONAME ; void QStandardItemModel::setHorizontalHeaderLabels(class QStringList const &)
+ ?palette@QToolTip@@SA?AVQPalette@@XZ @ 3449 NONAME ; class QPalette QToolTip::palette(void)
+ ?mimeTypes@QSortFilterProxyModel@@UBE?AVQStringList@@XZ @ 3450 NONAME ; class QStringList QSortFilterProxyModel::mimeTypes(void) const
+ ?setRgb@QColor@@QAEXHHHH@Z @ 3451 NONAME ; void QColor::setRgb(int, int, int, int)
+ ??ZQMatrix4x4@@QAEAAV0@ABV0@@Z @ 3452 NONAME ; class QMatrix4x4 & QMatrix4x4::operator-=(class QMatrix4x4 const &)
+ ?wheelEvent@QDateTimeEdit@@MAEXPAVQWheelEvent@@@Z @ 3453 NONAME ; void QDateTimeEdit::wheelEvent(class QWheelEvent *)
+ ?staticMetaObject@QMenuBar@@2UQMetaObject@@B @ 3454 NONAME ; struct QMetaObject const QMenuBar::staticMetaObject
+ ?stepEnabled@QDateTimeEdit@@MBE?AV?$QFlags@W4StepEnabledFlag@QAbstractSpinBox@@@@XZ @ 3455 NONAME ; class QFlags<enum QAbstractSpinBox::StepEnabledFlag> QDateTimeEdit::stepEnabled(void) const
+ ?isCollapsible@QSplitter@@QBE_NH@Z @ 3456 NONAME ; bool QSplitter::isCollapsible(int) const
+ ?dump@QGraphicsLinearLayout@@QBEXH@Z @ 3457 NONAME ; void QGraphicsLinearLayout::dump(int) const
+ ??1QUndoView@@UAE@XZ @ 3458 NONAME ; QUndoView::~QUndoView(void)
+ ?map@QTransform@@QBE?AVQPointF@@ABV2@@Z @ 3459 NONAME ; class QPointF QTransform::map(class QPointF const &) const
+ ?addActions@QGraphicsWidget@@QAEXV?$QList@PAVQAction@@@@@Z @ 3460 NONAME ; void QGraphicsWidget::addActions(class QList<class QAction *>)
+ ?parseNextFunction@Parser@QCss@@QAE_NPAVQString@@0@Z @ 3461 NONAME ; bool QCss::Parser::parseNextFunction(class QString *, class QString *)
+ ?reset@QItemSelectionModel@@UAEXXZ @ 3462 NONAME ; void QItemSelectionModel::reset(void)
+ ?header@QTreeView@@QBEPAVQHeaderView@@XZ @ 3463 NONAME ; class QHeaderView * QTreeView::header(void) const
+ ?scrollToAnchor@QTextEdit@@QAEXABVQString@@@Z @ 3464 NONAME ; void QTextEdit::scrollToAnchor(class QString const &)
+ ??_EQGraphicsSystem@@UAE@I@Z @ 3465 NONAME ; QGraphicsSystem::~QGraphicsSystem(unsigned int)
+ ?metaObject@QGraphicsPixelizeEffect@@UBEPBUQMetaObject@@XZ @ 3466 NONAME ABSENT ; struct QMetaObject const * QGraphicsPixelizeEffect::metaObject(void) const
+ ?setWrapping@QDial@@QAEX_N@Z @ 3467 NONAME ; void QDial::setWrapping(bool)
+ ?setActive@QGraphicsItem@@QAEX_N@Z @ 3468 NONAME ; void QGraphicsItem::setActive(bool)
+ ?wordWrap@QLabel@@QBE_NXZ @ 3469 NONAME ; bool QLabel::wordWrap(void) const
+ ?parent@QProxyModel@@UBE?AVQModelIndex@@ABV2@@Z @ 3470 NONAME ; class QModelIndex QProxyModel::parent(class QModelIndex const &) const
+ ?length@QVector3D@@QBEMXZ @ 3471 NONAME ; float QVector3D::length(void) const
+ ?invalidateGraphicsEffectsRecursively@QWidgetPrivate@@QAEXXZ @ 3472 NONAME ; void QWidgetPrivate::invalidateGraphicsEffectsRecursively(void)
+ ?minimumSizeHint@QTabBar@@UBE?AVQSize@@XZ @ 3473 NONAME ; class QSize QTabBar::minimumSizeHint(void) const
+ ??4QStyleOptionTabBarBaseV2@@QAEAAV0@ABVQStyleOptionTabBarBase@@@Z @ 3474 NONAME ; class QStyleOptionTabBarBaseV2 & QStyleOptionTabBarBaseV2::operator=(class QStyleOptionTabBarBase const &)
+ ?trUtf8@QBoxLayout@@SA?AVQString@@PBD0H@Z @ 3475 NONAME ; class QString QBoxLayout::trUtf8(char const *, char const *, int)
+ ?setHorizontalHeaderLabels@QTableWidget@@QAEXABVQStringList@@@Z @ 3476 NONAME ; void QTableWidget::setHorizontalHeaderLabels(class QStringList const &)
+ ?hasHeightForWidth@QGridLayout@@UBE_NXZ @ 3477 NONAME ; bool QGridLayout::hasHeightForWidth(void) const
+ ?setLazyChildCount@QDirModel@@QAEX_N@Z @ 3478 NONAME ; void QDirModel::setLazyChildCount(bool)
+ ?onTransition@QMouseEventTransition@@MAEXPAVQEvent@@@Z @ 3479 NONAME ; void QMouseEventTransition::onTransition(class QEvent *)
+ ?qt_metacast@QCommandLinkButton@@UAEPAXPBD@Z @ 3480 NONAME ; void * QCommandLinkButton::qt_metacast(char const *)
+ ?setFocus@QGraphicsItem@@QAEXW4FocusReason@Qt@@@Z @ 3481 NONAME ; void QGraphicsItem::setFocus(enum Qt::FocusReason)
+ ?setVector@QQuaternion@@QAEXABVQVector3D@@@Z @ 3482 NONAME ; void QQuaternion::setVector(class QVector3D const &)
+ ?blockNumber@QTextCursor@@QBEHXZ @ 3483 NONAME ; int QTextCursor::blockNumber(void) const
+ ?setAnchorNames@QTextCharFormat@@QAEXABVQStringList@@@Z @ 3484 NONAME ; void QTextCharFormat::setAnchorNames(class QStringList const &)
+ ??1QWidgetResizeHandler@@UAE@XZ @ 3485 NONAME ; QWidgetResizeHandler::~QWidgetResizeHandler(void)
+ ?transposed@QMatrix4x4@@QBE?AV1@XZ @ 3486 NONAME ; class QMatrix4x4 QMatrix4x4::transposed(void) const
+ ?qt_metacall@QMouseEventTransition@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 3487 NONAME ; int QMouseEventTransition::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?mapToScene@QGraphicsItem@@QBE?AVQPointF@@ABV2@@Z @ 3488 NONAME ; class QPointF QGraphicsItem::mapToScene(class QPointF const &) const
+ ?setFocus_sys@QWidgetPrivate@@QAEXXZ @ 3489 NONAME ; void QWidgetPrivate::setFocus_sys(void)
+ ?sendEvent@QInputContext@@QAEXABVQInputMethodEvent@@@Z @ 3490 NONAME ; void QInputContext::sendEvent(class QInputMethodEvent const &)
+ ?fixup@QValidator@@UBEXAAVQString@@@Z @ 3491 NONAME ; void QValidator::fixup(class QString &) const
+ ?dataChanged@QTreeView@@UAEXABVQModelIndex@@0@Z @ 3492 NONAME ; void QTreeView::dataChanged(class QModelIndex const &, class QModelIndex const &)
+ ?q_func@QGraphicsItemPrivate@@ABEPBVQGraphicsItem@@XZ @ 3493 NONAME ; class QGraphicsItem const * QGraphicsItemPrivate::q_func(void) const
+ ?itemAt@QTableWidget@@QBEPAVQTableWidgetItem@@HH@Z @ 3494 NONAME ; class QTableWidgetItem * QTableWidget::itemAt(int, int) const
+ ?reset@QGraphicsItemAnimation@@QAEXXZ @ 3495 NONAME ; void QGraphicsItemAnimation::reset(void)
+ ?initStyleOption@QPushButton@@IBEXPAVQStyleOptionButton@@@Z @ 3496 NONAME ; void QPushButton::initStyleOption(class QStyleOptionButton *) const
+ ?docLayout@QTextEngine@@QBEPAVQAbstractTextDocumentLayout@@XZ @ 3497 NONAME ; class QAbstractTextDocumentLayout * QTextEngine::docLayout(void) const
+ ?mapFromScene@QGraphicsItem@@QBE?AVQPolygonF@@ABVQRectF@@@Z @ 3498 NONAME ; class QPolygonF QGraphicsItem::mapFromScene(class QRectF const &) const
+ ??_EQLayoutItem@@UAE@I@Z @ 3499 NONAME ; QLayoutItem::~QLayoutItem(unsigned int)
+ ?itemDelegate@QAbstractItemView@@QBEPAVQAbstractItemDelegate@@XZ @ 3500 NONAME ; class QAbstractItemDelegate * QAbstractItemView::itemDelegate(void) const
+ ??0QRadialGradient@@QAE@ABVQPointF@@M@Z @ 3501 NONAME ; QRadialGradient::QRadialGradient(class QPointF const &, float)
+ ??1QLineEdit@@UAE@XZ @ 3502 NONAME ; QLineEdit::~QLineEdit(void)
+ ??0QVector4D@@QAE@ABVQVector2D@@MM@Z @ 3503 NONAME ; QVector4D::QVector4D(class QVector2D const &, float, float)
+ ?setLabelAlignment@QFormLayout@@QAEXV?$QFlags@W4AlignmentFlag@Qt@@@@@Z @ 3504 NONAME ; void QFormLayout::setLabelAlignment(class QFlags<enum Qt::AlignmentFlag>)
+ ?mapFromGlobal@QWidget@@QBE?AVQPoint@@ABV2@@Z @ 3505 NONAME ; class QPoint QWidget::mapFromGlobal(class QPoint const &) const
+ ?styles@QFontDatabase@@QBE?AVQStringList@@ABVQString@@@Z @ 3506 NONAME ; class QStringList QFontDatabase::styles(class QString const &) const
+ ?aboutToShow@QMenu@@IAEXXZ @ 3507 NONAME ; void QMenu::aboutToShow(void)
+ ?boundingRect@QGraphicsPolygonItem@@UBE?AVQRectF@@XZ @ 3508 NONAME ; class QRectF QGraphicsPolygonItem::boundingRect(void) const
+ ??XQTransform@@QAEAAV0@ABV0@@Z @ 3509 NONAME ; class QTransform & QTransform::operator*=(class QTransform const &)
+ ?backwardAvailable@QTextBrowser@@IAEX_N@Z @ 3510 NONAME ; void QTextBrowser::backwardAvailable(bool)
+ ?setCurrentWidget@QStackedLayout@@QAEXPAVQWidget@@@Z @ 3511 NONAME ; void QStackedLayout::setCurrentWidget(class QWidget *)
+ ?hasClipping@QItemDelegate@@QBE_NXZ @ 3512 NONAME ; bool QItemDelegate::hasClipping(void) const
+ ?setObjectType@QTextFormat@@QAEXH@Z @ 3513 NONAME ; void QTextFormat::setObjectType(int)
+ ?miterLimit@QPen@@QBEMXZ @ 3514 NONAME ; float QPen::miterLimit(void) const
+ ?d_func@QErrorMessage@@ABEPBVQErrorMessagePrivate@@XZ @ 3515 NONAME ; class QErrorMessagePrivate const * QErrorMessage::d_func(void) const
+ ?setSizePolicy@QWidget@@QAEXVQSizePolicy@@@Z @ 3516 NONAME ; void QWidget::setSizePolicy(class QSizePolicy)
+ ?intersect@QItemSelectionRange@@QBE?AV1@ABV1@@Z @ 3517 NONAME ; class QItemSelectionRange QItemSelectionRange::intersect(class QItemSelectionRange const &) const
+ ?answerRect@QDragMoveEvent@@QBE?AVQRect@@XZ @ 3518 NONAME ; class QRect QDragMoveEvent::answerRect(void) const
+ ??_0QVector4D@@QAEAAV0@M@Z @ 3519 NONAME ; class QVector4D & QVector4D::operator/=(float)
+ ?setRange@QProgressDialog@@QAEXHH@Z @ 3520 NONAME ; void QProgressDialog::setRange(int, int)
+ ?dropIndicatorPosition@QAbstractItemView@@IBE?AW4DropIndicatorPosition@1@XZ @ 3521 NONAME ; enum QAbstractItemView::DropIndicatorPosition QAbstractItemView::dropIndicatorPosition(void) const
+ ?id@QShortcut@@QBEHXZ @ 3522 NONAME ; int QShortcut::id(void) const
+ ?tightBoundingBox@QTextEngine@@QBE?AUglyph_metrics_t@@HH@Z @ 3523 NONAME ; struct glyph_metrics_t QTextEngine::tightBoundingBox(int, int) const
+ ??_EQUndoView@@UAE@I@Z @ 3524 NONAME ; QUndoView::~QUndoView(unsigned int)
+ ?visualIndex@QHeaderView@@QBEHH@Z @ 3525 NONAME ; int QHeaderView::visualIndex(int) const
+ ?setFrameStyle@QFrame@@QAEXH@Z @ 3526 NONAME ; void QFrame::setFrameStyle(int)
+ ?actionGeometry@QMenu@@QBE?AVQRect@@PAVQAction@@@Z @ 3527 NONAME ; class QRect QMenu::actionGeometry(class QAction *) const
+ ?data@QStandardItemModel@@UBE?AVQVariant@@ABVQModelIndex@@H@Z @ 3528 NONAME ; class QVariant QStandardItemModel::data(class QModelIndex const &, int) const
+ ?screenGeometry@QDesktopWidget@@QBE?BVQRect@@ABVQPoint@@@Z @ 3529 NONAME ; class QRect const QDesktopWidget::screenGeometry(class QPoint const &) const
+ ?parseNextSelector@Parser@QCss@@QAE_NPAUSelector@2@@Z @ 3530 NONAME ; bool QCss::Parser::parseNextSelector(struct QCss::Selector *)
+ ??_4QPainterPath@@QAEAAV0@ABV0@@Z @ 3531 NONAME ; class QPainterPath & QPainterPath::operator&=(class QPainterPath const &)
+ ?nextId@QWizard@@UBEHXZ @ 3532 NONAME ; int QWizard::nextId(void) const
+ ?maybeBackingStore@QWidgetPrivate@@QBEPAVQWidgetBackingStore@@XZ @ 3533 NONAME ; class QWidgetBackingStore * QWidgetPrivate::maybeBackingStore(void) const
+ ?drawChord@QPainter@@QAEXABVQRect@@HH@Z @ 3534 NONAME ; void QPainter::drawChord(class QRect const &, int, int)
+ ??0QStandardItemModel@@QAE@PAVQObject@@@Z @ 3535 NONAME ; QStandardItemModel::QStandardItemModel(class QObject *)
+ ?titleFormat@QWizard@@QBE?AW4TextFormat@Qt@@XZ @ 3536 NONAME ; enum Qt::TextFormat QWizard::titleFormat(void) const
+ ?trUtf8@QTextTable@@SA?AVQString@@PBD0H@Z @ 3537 NONAME ; class QString QTextTable::trUtf8(char const *, char const *, int)
+ ?setZ@QVector3D@@QAEXM@Z @ 3538 NONAME ; void QVector3D::setZ(float)
+ ?paintEvent@QProgressBar@@MAEXPAVQPaintEvent@@@Z @ 3539 NONAME ; void QProgressBar::paintEvent(class QPaintEvent *)
+ ?polygon@QGraphicsPolygonItem@@QBE?AVQPolygonF@@XZ @ 3540 NONAME ; class QPolygonF QGraphicsPolygonItem::polygon(void) const
+ ?paintEvent@QTextBrowser@@MAEXPAVQPaintEvent@@@Z @ 3541 NONAME ; void QTextBrowser::paintEvent(class QPaintEvent *)
+ ?showEvent@QTabBar@@MAEXPAVQShowEvent@@@Z @ 3542 NONAME ; void QTabBar::showEvent(class QShowEvent *)
+ ?count@QComboBox@@QBEHXZ @ 3543 NONAME ; int QComboBox::count(void) const
+ ?isEmpty@QMenu@@QBE_NXZ @ 3544 NONAME ; bool QMenu::isEmpty(void) const
+ ?qt_metacast@QWidgetAction@@UAEPAXPBD@Z @ 3545 NONAME ; void * QWidgetAction::qt_metacast(char const *)
+ ?tr@QPixmapColorizeFilter@@SA?AVQString@@PBD0@Z @ 3546 NONAME ; class QString QPixmapColorizeFilter::tr(char const *, char const *)
+ ?d_func@QProxyStyle@@ABEPBVQProxyStylePrivate@@XZ @ 3547 NONAME ; class QProxyStylePrivate const * QProxyStyle::d_func(void) const
+ ??1QDragEnterEvent@@UAE@XZ @ 3548 NONAME ; QDragEnterEvent::~QDragEnterEvent(void)
+ ??0QTransform@@QAE@XZ @ 3549 NONAME ; QTransform::QTransform(void)
+ ?pointSizeF@QFont@@QBEMXZ @ 3550 NONAME ; float QFont::pointSizeF(void) const
+ ?completer@QLineEdit@@QBEPAVQCompleter@@XZ @ 3551 NONAME ; class QCompleter * QLineEdit::completer(void) const
+ ?findBufferChanged@QClipboard@@IAEXXZ @ 3552 NONAME ; void QClipboard::findBufferChanged(void)
+ ?ensureData_helper@QPainterPath@@AAEXXZ @ 3553 NONAME ; void QPainterPath::ensureData_helper(void)
+ ?dragLeaveEvent@QGraphicsProxyWidget@@MAEXPAVQGraphicsSceneDragDropEvent@@@Z @ 3554 NONAME ; void QGraphicsProxyWidget::dragLeaveEvent(class QGraphicsSceneDragDropEvent *)
+ ?setWindowFlags@QWidget@@QAEXV?$QFlags@W4WindowType@Qt@@@@@Z @ 3555 NONAME ; void QWidget::setWindowFlags(class QFlags<enum Qt::WindowType>)
+ ?normalized@QVector2D@@QBE?AV1@XZ @ 3556 NONAME ; class QVector2D QVector2D::normalized(void) const
+ ?setOldSize@QGraphicsSceneResizeEvent@@QAEXABVQSizeF@@@Z @ 3557 NONAME ; void QGraphicsSceneResizeEvent::setOldSize(class QSizeF const &)
+ ?undoTextChanged@QUndoStack@@IAEXABVQString@@@Z @ 3558 NONAME ; void QUndoStack::undoTextChanged(class QString const &)
+ ??0QApplication@@QAE@AAHPAPAD_NH@Z @ 3559 NONAME ; QApplication::QApplication(int &, char * *, bool, int)
+ ?qt_metacast@QScrollArea@@UAEPAXPBD@Z @ 3560 NONAME ; void * QScrollArea::qt_metacast(char const *)
+ ??_EQDataWidgetMapper@@UAE@I@Z @ 3561 NONAME ; QDataWidgetMapper::~QDataWidgetMapper(unsigned int)
+ ?width@QFontMetricsF@@QBEMABVQString@@@Z @ 3562 NONAME ; float QFontMetricsF::width(class QString const &) const
+ ?overlinePos@QFontMetricsF@@QBEMXZ @ 3563 NONAME ; float QFontMetricsF::overlinePos(void) const
+ ?buttonText@QWizardPage@@QBE?AVQString@@W4WizardButton@QWizard@@@Z @ 3564 NONAME ; class QString QWizardPage::buttonText(enum QWizard::WizardButton) const
+ ?redo@QLineControl@@QAEXXZ @ 3565 NONAME ; void QLineControl::redo(void)
+ ?focusOutEvent@QLabel@@MAEXPAVQFocusEvent@@@Z @ 3566 NONAME ; void QLabel::focusOutEvent(class QFocusEvent *)
+ ??1QStyleHintReturnMask@@QAE@XZ @ 3567 NONAME ; QStyleHintReturnMask::~QStyleHintReturnMask(void)
+ ?setDashOffset@QPen@@QAEXM@Z @ 3568 NONAME ; void QPen::setDashOffset(float)
+ ?setClipping@QItemDelegate@@QAEX_N@Z @ 3569 NONAME ; void QItemDelegate::setClipping(bool)
+ ?itemDelegate@QComboBox@@QBEPAVQAbstractItemDelegate@@XZ @ 3570 NONAME ; class QAbstractItemDelegate * QComboBox::itemDelegate(void) const
+ ?tr@QStringListModel@@SA?AVQString@@PBD0@Z @ 3571 NONAME ; class QString QStringListModel::tr(char const *, char const *)
+ ?trUtf8@QToolBox@@SA?AVQString@@PBD0@Z @ 3572 NONAME ; class QString QToolBox::trUtf8(char const *, char const *)
+ ?drawPoints@QPaintEngine@@UAEXPBVQPointF@@H@Z @ 3573 NONAME ; void QPaintEngine::drawPoints(class QPointF const *, int)
+ ?event@QSplitter@@MAE_NPAVQEvent@@@Z @ 3574 NONAME ; bool QSplitter::event(class QEvent *)
+ ?columnMoved@QTableView@@IAEXHHH@Z @ 3575 NONAME ; void QTableView::columnMoved(int, int, int)
+ ??0QTextBlockFormat@@QAE@XZ @ 3576 NONAME ; QTextBlockFormat::QTextBlockFormat(void)
+ ?highlightSections@QHeaderView@@QBE_NXZ @ 3577 NONAME ; bool QHeaderView::highlightSections(void) const
+ ?isClippedAway@QGraphicsItemPrivate@@QBE_NXZ @ 3578 NONAME ; bool QGraphicsItemPrivate::isClippedAway(void) const
+ ??_EQInputDialog@@UAE@I@Z @ 3579 NONAME ; QInputDialog::~QInputDialog(unsigned int)
+ ??0QClipboard@@AAE@PAVQObject@@@Z @ 3580 NONAME ; QClipboard::QClipboard(class QObject *)
+ ?tr@QPictureFormatPlugin@@SA?AVQString@@PBD0H@Z @ 3581 NONAME ; class QString QPictureFormatPlugin::tr(char const *, char const *, int)
+ ?qt_pixmap_cleanup_hook@@3P6AXH@ZA @ 3582 NONAME ; void (*qt_pixmap_cleanup_hook)(int)
+ ?isWidget@QGraphicsItem@@QBE_NXZ @ 3583 NONAME ; bool QGraphicsItem::isWidget(void) const
+ ?setUniformRowHeights@QTreeView@@QAEX_N@Z @ 3584 NONAME ; void QTreeView::setUniformRowHeights(bool)
+ ??MQImageTextKeyLang@@QBE_NABV0@@Z @ 3585 NONAME ; bool QImageTextKeyLang::operator<(class QImageTextKeyLang const &) const
+ ?paste@QLineEdit@@QAEXXZ @ 3586 NONAME ; void QLineEdit::paste(void)
+ ?identifierName@QCoeFepInputContext@@UAE?AVQString@@XZ @ 3587 NONAME ABSENT ; class QString QCoeFepInputContext::identifierName(void)
+ ??_EQMouseEvent@@UAE@I@Z @ 3588 NONAME ; QMouseEvent::~QMouseEvent(unsigned int)
+ ?setForegroundBrush@QGraphicsView@@QAEXABVQBrush@@@Z @ 3589 NONAME ; void QGraphicsView::setForegroundBrush(class QBrush const &)
+ ?setDocumentMode@QTabWidget@@QAEX_N@Z @ 3590 NONAME ; void QTabWidget::setDocumentMode(bool)
+ ?itemSelectionChanged@QListWidget@@IAEXXZ @ 3591 NONAME ; void QListWidget::itemSelectionChanged(void)
+ ??0QPaintEvent@@QAE@ABVQRegion@@@Z @ 3592 NONAME ; QPaintEvent::QPaintEvent(class QRegion const &)
+ ?keyReleaseEvent@QAbstractButton@@MAEXPAVQKeyEvent@@@Z @ 3593 NONAME ; void QAbstractButton::keyReleaseEvent(class QKeyEvent *)
+ ?warning@QMessageBox@@SAHPAVQWidget@@ABVQString@@1HHH@Z @ 3594 NONAME ; int QMessageBox::warning(class QWidget *, class QString const &, class QString const &, int, int, int)
+ ?united@QPainterPath@@QBE?AV1@ABV1@@Z @ 3595 NONAME ; class QPainterPath QPainterPath::united(class QPainterPath const &) const
+ ?setGeometry@QRubberBand@@QAEXABVQRect@@@Z @ 3596 NONAME ; void QRubberBand::setGeometry(class QRect const &)
+ ?data@QListWidgetItem@@UBE?AVQVariant@@H@Z @ 3597 NONAME ; class QVariant QListWidgetItem::data(int) const
+ ?metaObject@QEventDispatcherS60@@UBEPBUQMetaObject@@XZ @ 3598 NONAME ; struct QMetaObject const * QEventDispatcherS60::metaObject(void) const
+ ?setIntStep@QInputDialog@@QAEXH@Z @ 3599 NONAME ; void QInputDialog::setIntStep(int)
+ ?modifiersMask@QKeyEventTransition@@QBE?AV?$QFlags@W4KeyboardModifier@Qt@@@@XZ @ 3600 NONAME ; class QFlags<enum Qt::KeyboardModifier> QKeyEventTransition::modifiersMask(void) const
+ ?metaObject@QSessionManager@@UBEPBUQMetaObject@@XZ @ 3601 NONAME ; struct QMetaObject const * QSessionManager::metaObject(void) const
+ ??0QGraphicsItem@@IAE@AAVQGraphicsItemPrivate@@PAV0@PAVQGraphicsScene@@@Z @ 3602 NONAME ; QGraphicsItem::QGraphicsItem(class QGraphicsItemPrivate &, class QGraphicsItem *, class QGraphicsScene *)
+ ?insertPermanentWidget@QStatusBar@@QAEHHPAVQWidget@@H@Z @ 3603 NONAME ; int QStatusBar::insertPermanentWidget(int, class QWidget *, int)
+ ?jumpToNextImage@QImageReader@@QAE_NXZ @ 3604 NONAME ; bool QImageReader::jumpToNextImage(void)
+ ?indexOfChild@QTreeWidgetItem@@QBEHPAV1@@Z @ 3605 NONAME ; int QTreeWidgetItem::indexOfChild(class QTreeWidgetItem *) const
+ ?beforeAnimationStep@QGraphicsItemAnimation@@MAEXM@Z @ 3606 NONAME ; void QGraphicsItemAnimation::beforeAnimationStep(float)
+ ?drawPath@QPainter@@QAEXABVQPainterPath@@@Z @ 3607 NONAME ; void QPainter::drawPath(class QPainterPath const &)
+ ?setViewMode@QMdiArea@@QAEXW4ViewMode@1@@Z @ 3608 NONAME ; void QMdiArea::setViewMode(enum QMdiArea::ViewMode)
+ ??0QGridLayout@@QAE@XZ @ 3609 NONAME ; QGridLayout::QGridLayout(void)
+ ??0QGraphicsPolygonItem@@QAE@PAVQGraphicsItem@@PAVQGraphicsScene@@@Z @ 3610 NONAME ; QGraphicsPolygonItem::QGraphicsPolygonItem(class QGraphicsItem *, class QGraphicsScene *)
+ ??6@YAAAVQDataStream@@AAV0@ABVQTextLength@@@Z @ 3611 NONAME ; class QDataStream & operator<<(class QDataStream &, class QTextLength const &)
+ ?isSmoothlyScalable@QFontDatabase@@QBE_NABVQString@@0@Z @ 3612 NONAME ; bool QFontDatabase::isSmoothlyScalable(class QString const &, class QString const &) const
+ ?group@QAbstractButton@@QBEPAVQButtonGroup@@XZ @ 3613 NONAME ; class QButtonGroup * QAbstractButton::group(void) const
+ ??4QTextFragment@@QAEAAV0@ABV0@@Z @ 3614 NONAME ; class QTextFragment & QTextFragment::operator=(class QTextFragment const &)
+ ?metaObject@QRegExpValidator@@UBEPBUQMetaObject@@XZ @ 3615 NONAME ; struct QMetaObject const * QRegExpValidator::metaObject(void) const
+ ??0QSplashScreen@@QAE@PAVQWidget@@ABVQPixmap@@V?$QFlags@W4WindowType@Qt@@@@@Z @ 3616 NONAME ; QSplashScreen::QSplashScreen(class QWidget *, class QPixmap const &, class QFlags<enum Qt::WindowType>)
+ ?setLine@QGraphicsLineItem@@QAEXABVQLineF@@@Z @ 3617 NONAME ; void QGraphicsLineItem::setLine(class QLineF const &)
+ ?d_func@QS60Style@@ABEPBVQS60StylePrivate@@XZ @ 3618 NONAME ; class QS60StylePrivate const * QS60Style::d_func(void) const
+ ?path@QGraphicsPathItem@@QBE?AVQPainterPath@@XZ @ 3619 NONAME ; class QPainterPath QGraphicsPathItem::path(void) const
+ ?setVerticalScrollBarPolicy@QAbstractScrollArea@@QAEXW4ScrollBarPolicy@Qt@@@Z @ 3620 NONAME ; void QAbstractScrollArea::setVerticalScrollBarPolicy(enum Qt::ScrollBarPolicy)
+ ?closeEvent@QWidget@@MAEXPAVQCloseEvent@@@Z @ 3621 NONAME ; void QWidget::closeEvent(class QCloseEvent *)
+ ?copyAvailable@QTextControl@@IAEX_N@Z @ 3622 NONAME ; void QTextControl::copyAvailable(bool)
+ ?setOriginCorner@QGridLayout@@QAEXW4Corner@Qt@@@Z @ 3623 NONAME ; void QGridLayout::setOriginCorner(enum Qt::Corner)
+ ?d_func@QLayout@@AAEPAVQLayoutPrivate@@XZ @ 3624 NONAME ; class QLayoutPrivate * QLayout::d_func(void)
+ ?position@QTextFragment@@QBEHXZ @ 3625 NONAME ; int QTextFragment::position(void) const
+ ?indexAdditionalFormats@QTextEngine@@QAEXXZ @ 3626 NONAME ; void QTextEngine::indexAdditionalFormats(void)
+ ?testOption@QInputDialog@@QBE_NW4InputDialogOption@1@@Z @ 3627 NONAME ; bool QInputDialog::testOption(enum QInputDialog::InputDialogOption) const
+ ?mouseButtons@QDropEvent@@QBE?AV?$QFlags@W4MouseButton@Qt@@@@XZ @ 3628 NONAME ; class QFlags<enum Qt::MouseButton> QDropEvent::mouseButtons(void) const
+ ?removeColumns@QStandardItemModel@@UAE_NHHABVQModelIndex@@@Z @ 3629 NONAME ; bool QStandardItemModel::removeColumns(int, int, class QModelIndex const &)
+ ??4QStyleOptionHeader@@QAEAAV0@ABV0@@Z @ 3630 NONAME ; class QStyleOptionHeader & QStyleOptionHeader::operator=(class QStyleOptionHeader const &)
+ ?addRow@QFormLayout@@QAEXPAVQWidget@@PAVQLayout@@@Z @ 3631 NONAME ; void QFormLayout::addRow(class QWidget *, class QLayout *)
+ ?documentLayout@QTextDocument@@QBEPAVQAbstractTextDocumentLayout@@XZ @ 3632 NONAME ; class QAbstractTextDocumentLayout * QTextDocument::documentLayout(void) const
+ ??1QGraphicsAnchor@@UAE@XZ @ 3633 NONAME ; QGraphicsAnchor::~QGraphicsAnchor(void)
+ ?resolveDepth@QGraphicsItemPrivate@@QAEXXZ @ 3634 NONAME ; void QGraphicsItemPrivate::resolveDepth(void)
+ ?setEscapeButton@QMessageBox@@QAEXW4StandardButton@1@@Z @ 3635 NONAME ; void QMessageBox::setEscapeButton(enum QMessageBox::StandardButton)
+ ?setTextEchoMode@QInputDialog@@QAEXW4EchoMode@QLineEdit@@@Z @ 3636 NONAME ; void QInputDialog::setTextEchoMode(enum QLineEdit::EchoMode)
+ ?trUtf8@QPixmapDropShadowFilter@@SA?AVQString@@PBD0H@Z @ 3637 NONAME ; class QString QPixmapDropShadowFilter::trUtf8(char const *, char const *, int)
+ ?setNameFilterDetailsVisible@QFileDialog@@QAEX_N@Z @ 3638 NONAME ; void QFileDialog::setNameFilterDetailsVisible(bool)
+ ?rangeChanged@QAbstractSlider@@IAEXHH@Z @ 3639 NONAME ; void QAbstractSlider::rangeChanged(int, int)
+ ?tabToolTip@QTabBar@@QBE?AVQString@@H@Z @ 3640 NONAME ; class QString QTabBar::tabToolTip(int) const
+ ?getStaticMetaObject@QHBoxLayout@@SAABUQMetaObject@@XZ @ 3641 NONAME ; struct QMetaObject const & QHBoxLayout::getStaticMetaObject(void)
+ ?filterEvent@QInputContext@@UAE_NPBVQEvent@@@Z @ 3642 NONAME ; bool QInputContext::filterEvent(class QEvent const *)
+ ??_EQInputContextFactoryInterface@@UAE@I@Z @ 3643 NONAME ; QInputContextFactoryInterface::~QInputContextFactoryInterface(unsigned int)
+ ?textAlignment@QListWidgetItem@@QBEHXZ @ 3644 NONAME ; int QListWidgetItem::textAlignment(void) const
+ ?setCustomColor@QColorDialog@@SAXHI@Z @ 3645 NONAME ; void QColorDialog::setCustomColor(int, unsigned int)
+ ?changeEvent@QTabWidget@@MAEXPAVQEvent@@@Z @ 3646 NONAME ; void QTabWidget::changeEvent(class QEvent *)
+ ?translated@QPainterPath@@QBE?AV1@ABVQPointF@@@Z @ 3647 NONAME ; class QPainterPath QPainterPath::translated(class QPointF const &) const
+ ?deviceMatrix@QPainter@@QBEABVQMatrix@@XZ @ 3648 NONAME ; class QMatrix const & QPainter::deviceMatrix(void) const
+ ?maxVisibleItems@QCompleter@@QBEHXZ @ 3649 NONAME ; int QCompleter::maxVisibleItems(void) const
+ ??_EQLabel@@UAE@I@Z @ 3650 NONAME ; QLabel::~QLabel(unsigned int)
+ ?currentCharFormatChanged@QTextControl@@IAEXABVQTextCharFormat@@@Z @ 3651 NONAME ; void QTextControl::currentCharFormatChanged(class QTextCharFormat const &)
+ ?setAutoCompletion@QComboBox@@QAEX_N@Z @ 3652 NONAME ; void QComboBox::setAutoCompletion(bool)
+ ?currentItem@QTreeWidget@@QBEPAVQTreeWidgetItem@@XZ @ 3653 NONAME ; class QTreeWidgetItem * QTreeWidget::currentItem(void) const
+ ?setEditorData@QStyledItemDelegate@@UBEXPAVQWidget@@ABVQModelIndex@@@Z @ 3654 NONAME ; void QStyledItemDelegate::setEditorData(class QWidget *, class QModelIndex const &) const
+ ?normal@QVector3D@@SA?AV1@ABV1@00@Z @ 3655 NONAME ; class QVector3D QVector3D::normal(class QVector3D const &, class QVector3D const &, class QVector3D const &)
+ ??6@YAAAVQDataStream@@AAV0@ABVQVector4D@@@Z @ 3656 NONAME ; class QDataStream & operator<<(class QDataStream &, class QVector4D const &)
+ ?tr@QGuiPlatformPlugin@@SA?AVQString@@PBD0H@Z @ 3657 NONAME ; class QString QGuiPlatformPlugin::tr(char const *, char const *, int)
+ ?opacity@QGraphicsOpacityEffect@@QBEMXZ @ 3658 NONAME ; float QGraphicsOpacityEffect::opacity(void) const
+ ?d_func@QRubberBand@@AAEPAVQRubberBandPrivate@@XZ @ 3659 NONAME ; class QRubberBandPrivate * QRubberBand::d_func(void)
+ ?bits@QImage@@QBEPBEXZ @ 3660 NONAME ; unsigned char const * QImage::bits(void) const
+ ?d_func@QSessionManager@@ABEPBVQSessionManagerPrivate@@XZ @ 3661 NONAME ; class QSessionManagerPrivate const * QSessionManager::d_func(void) const
+ ?addSeparator@QMenuBar@@QAEPAVQAction@@XZ @ 3662 NONAME ; class QAction * QMenuBar::addSeparator(void)
+ ?mouseMoveEvent@QWidget@@MAEXPAVQMouseEvent@@@Z @ 3663 NONAME ; void QWidget::mouseMoveEvent(class QMouseEvent *)
+ ?verticalHeaderFormat@QCalendarWidget@@QBE?AW4VerticalHeaderFormat@1@XZ @ 3664 NONAME ; enum QCalendarWidget::VerticalHeaderFormat QCalendarWidget::verticalHeaderFormat(void) const
+ ?additionalFormats@QTextLayout@@QBE?AV?$QList@UFormatRange@QTextLayout@@@@XZ @ 3665 NONAME ; class QList<struct QTextLayout::FormatRange> QTextLayout::additionalFormats(void) const
+ ?tr@QGraphicsOpacityEffect@@SA?AVQString@@PBD0H@Z @ 3666 NONAME ; class QString QGraphicsOpacityEffect::tr(char const *, char const *, int)
+ ?setEnabled_helper@QWidgetPrivate@@QAEX_N@Z @ 3667 NONAME ; void QWidgetPrivate::setEnabled_helper(bool)
+ ??4QStandardItem@@IAEAAV0@ABV0@@Z @ 3668 NONAME ; class QStandardItem & QStandardItem::operator=(class QStandardItem const &)
+ ?y@QContextMenuEvent@@QBEHXZ @ 3669 NONAME ; int QContextMenuEvent::y(void) const
+ ?showMessage@QErrorMessage@@QAEXABVQString@@@Z @ 3670 NONAME ; void QErrorMessage::showMessage(class QString const &)
+ ?setWritingSystem@QFontComboBox@@QAEXW4WritingSystem@QFontDatabase@@@Z @ 3671 NONAME ; void QFontComboBox::setWritingSystem(enum QFontDatabase::WritingSystem)
+ ?top@QIntValidator@@QBEHXZ @ 3672 NONAME ; int QIntValidator::top(void) const
+ ?d_func@QGestureEvent@@ABEPBVQGestureEventPrivate@@XZ @ 3673 NONAME ; class QGestureEventPrivate const * QGestureEvent::d_func(void) const
+ ?size@QPixmap@@QBE?AVQSize@@XZ @ 3674 NONAME ; class QSize QPixmap::size(void) const
+ ?paintEvent@QStatusBar@@MAEXPAVQPaintEvent@@@Z @ 3675 NONAME ; void QStatusBar::paintEvent(class QPaintEvent *)
+ ??0QPalette@@QAE@ABVQColor@@0@Z @ 3676 NONAME ; QPalette::QPalette(class QColor const &, class QColor const &)
+ ?windowType@QGraphicsWidget@@QBE?AW4WindowType@Qt@@XZ @ 3677 NONAME ; enum Qt::WindowType QGraphicsWidget::windowType(void) const
+ ?setFrame@QLineEdit@@QAEX_N@Z @ 3678 NONAME ; void QLineEdit::setFrame(bool)
+ ?focusOutEvent@QMenuBar@@MAEXPAVQFocusEvent@@@Z @ 3679 NONAME ; void QMenuBar::focusOutEvent(class QFocusEvent *)
+ ?detach@QIcon@@QAEXXZ @ 3680 NONAME ; void QIcon::detach(void)
+ ?count@QTabWidget@@QBEHXZ @ 3681 NONAME ; int QTabWidget::count(void) const
+ ?sizeHint@QAbstractScrollArea@@UBE?AVQSize@@XZ @ 3682 NONAME ; class QSize QAbstractScrollArea::sizeHint(void) const
+ ??_EQStrokerOps@@UAE@I@Z @ 3683 NONAME ; QStrokerOps::~QStrokerOps(unsigned int)
+ ?columnWidthConstraints@QTextTableFormat@@QBE?AV?$QVector@VQTextLength@@@@XZ @ 3684 NONAME ; class QVector<class QTextLength> QTextTableFormat::columnWidthConstraints(void) const
+ ?textInteractionFlags@QGraphicsTextItem@@QBE?AV?$QFlags@W4TextInteractionFlag@Qt@@@@XZ @ 3685 NONAME ; class QFlags<enum Qt::TextInteractionFlag> QGraphicsTextItem::textInteractionFlags(void) const
+ ??0QTreeWidgetItem@@QAE@PAVQTreeWidget@@PAV0@H@Z @ 3686 NONAME ; QTreeWidgetItem::QTreeWidgetItem(class QTreeWidget *, class QTreeWidgetItem *, int)
+ ??5@YAAAVQDataStream@@AAV0@AAVQBrush@@@Z @ 3687 NONAME ; class QDataStream & operator>>(class QDataStream &, class QBrush &)
+ ??XQMatrix4x4@@QAEAAV0@ABV0@@Z @ 3688 NONAME ; class QMatrix4x4 & QMatrix4x4::operator*=(class QMatrix4x4 const &)
+ ??0QMovie@@QAE@ABVQString@@ABVQByteArray@@PAVQObject@@@Z @ 3689 NONAME ; QMovie::QMovie(class QString const &, class QByteArray const &, class QObject *)
+ ?d_func@QGraphicsProxyWidget@@ABEPBVQGraphicsProxyWidgetPrivate@@XZ @ 3690 NONAME ; class QGraphicsProxyWidgetPrivate const * QGraphicsProxyWidget::d_func(void) const
+ ?trueMatrix@QPixmap@@SA?AVQMatrix@@ABV2@HH@Z @ 3691 NONAME ; class QMatrix QPixmap::trueMatrix(class QMatrix const &, int, int)
+ ??0QPixmap@@QAE@PAVQPixmapData@@@Z @ 3692 NONAME ; QPixmap::QPixmap(class QPixmapData *)
+ ?setDefaultAlignment@QHeaderView@@QAEXV?$QFlags@W4AlignmentFlag@Qt@@@@@Z @ 3693 NONAME ; void QHeaderView::setDefaultAlignment(class QFlags<enum Qt::AlignmentFlag>)
+ ?d_func@QGraphicsSimpleTextItem@@ABEPBVQGraphicsSimpleTextItemPrivate@@XZ @ 3694 NONAME ; class QGraphicsSimpleTextItemPrivate const * QGraphicsSimpleTextItem::d_func(void) const
+ ??1QTextEdit@@UAE@XZ @ 3695 NONAME ; QTextEdit::~QTextEdit(void)
+ ?permissions@QFileSystemModel@@QBE?AV?$QFlags@W4Permission@QFile@@@@ABVQModelIndex@@@Z @ 3696 NONAME ; class QFlags<enum QFile::Permission> QFileSystemModel::permissions(class QModelIndex const &) const
+ ?rect@QWindowSurface@@QBE?AVQRect@@PBVQWidget@@@Z @ 3697 NONAME ; class QRect QWindowSurface::rect(class QWidget const *) const
+ ?textValueSelected@QInputDialog@@IAEXABVQString@@@Z @ 3698 NONAME ; void QInputDialog::textValueSelected(class QString const &)
+ ?qt_metacall@QMainWindow@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 3699 NONAME ; int QMainWindow::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?modifiersMask@QMouseEventTransition@@QBE?AV?$QFlags@W4KeyboardModifier@Qt@@@@XZ @ 3700 NONAME ; class QFlags<enum Qt::KeyboardModifier> QMouseEventTransition::modifiersMask(void) const
+ ?trUtf8@QFileDialog@@SA?AVQString@@PBD0@Z @ 3701 NONAME ; class QString QFileDialog::trUtf8(char const *, char const *)
+ ??0QGraphicsRectItem@@QAE@MMMMPAVQGraphicsItem@@PAVQGraphicsScene@@@Z @ 3702 NONAME ; QGraphicsRectItem::QGraphicsRectItem(float, float, float, float, class QGraphicsItem *, class QGraphicsScene *)
+ ?alignment@QGraphicsLinearLayout@@QBE?AV?$QFlags@W4AlignmentFlag@Qt@@@@PAVQGraphicsLayoutItem@@@Z @ 3703 NONAME ; class QFlags<enum Qt::AlignmentFlag> QGraphicsLinearLayout::alignment(class QGraphicsLayoutItem *) const
+ ?verticalSpacing@QFormLayout@@QBEHXZ @ 3704 NONAME ; int QFormLayout::verticalSpacing(void) const
+ ??ZQTreeWidgetItemIterator@@QAEAAV0@H@Z @ 3705 NONAME ; class QTreeWidgetItemIterator & QTreeWidgetItemIterator::operator-=(int)
+ ?setStretchFactor@QBoxLayout@@QAE_NPAVQLayout@@H@Z @ 3706 NONAME ; bool QBoxLayout::setStretchFactor(class QLayout *, int)
+ ?tr@QMdiSubWindow@@SA?AVQString@@PBD0@Z @ 3707 NONAME ; class QString QMdiSubWindow::tr(char const *, char const *)
+ ?qt_metacast@QAbstractScrollArea@@UAEPAXPBD@Z @ 3708 NONAME ; void * QAbstractScrollArea::qt_metacast(char const *)
+ ?drawLine@QPainter@@QAEXABVQPointF@@0@Z @ 3709 NONAME ; void QPainter::drawLine(class QPointF const &, class QPointF const &)
+ ?scroll@QRasterWindowSurface@@UAE_NABVQRegion@@HH@Z @ 3710 NONAME ; bool QRasterWindowSurface::scroll(class QRegion const &, int, int)
+ ?key@QIconEngineV2@@UBE?AVQString@@XZ @ 3711 NONAME ; class QString QIconEngineV2::key(void) const
+ ?drawItemPixmap@QProxyStyle@@UBEXPAVQPainter@@ABVQRect@@HABVQPixmap@@@Z @ 3712 NONAME ; void QProxyStyle::drawItemPixmap(class QPainter *, class QRect const &, int, class QPixmap const &) const
+ ?drawControl@QProxyStyle@@UBEXW4ControlElement@QStyle@@PBVQStyleOption@@PAVQPainter@@PBVQWidget@@@Z @ 3713 NONAME ; void QProxyStyle::drawControl(enum QStyle::ControlElement, class QStyleOption const *, class QPainter *, class QWidget const *) const
+ ?pos@QWheelEvent@@QBEABVQPoint@@XZ @ 3714 NONAME ; class QPoint const & QWheelEvent::pos(void) const
+ ?viewportEvent@QAbstractItemView@@MAE_NPAVQEvent@@@Z @ 3715 NONAME ; bool QAbstractItemView::viewportEvent(class QEvent *)
+ ?trUtf8@QTableWidget@@SA?AVQString@@PBD0H@Z @ 3716 NONAME ; class QString QTableWidget::trUtf8(char const *, char const *, int)
+ ?setMiterLimit@QStroker@@QAEXM@Z @ 3717 NONAME ; void QStroker::setMiterLimit(float)
+ ?setLineWrapMode@QPlainTextEdit@@QAEXW4LineWrapMode@1@@Z @ 3718 NONAME ; void QPlainTextEdit::setLineWrapMode(enum QPlainTextEdit::LineWrapMode)
+ ?items@QGraphicsScene@@QBE?AV?$QList@PAVQGraphicsItem@@@@XZ @ 3719 NONAME ; class QList<class QGraphicsItem *> QGraphicsScene::items(void) const
+ ?tightBoundingBox@QFontEngine@@QAE?AUglyph_metrics_t@@ABUQGlyphLayout@@@Z @ 3720 NONAME ; struct glyph_metrics_t QFontEngine::tightBoundingBox(struct QGlyphLayout const &)
+ ?setXScale@QGraphicsScale@@QAEXM@Z @ 3721 NONAME ; void QGraphicsScale::setXScale(float)
+ ??6@YAAAVQDataStream@@AAV0@ABVQRegion@@@Z @ 3722 NONAME ; class QDataStream & operator<<(class QDataStream &, class QRegion const &)
+ ?setMaximumDate@QCalendarWidget@@QAEXABVQDate@@@Z @ 3723 NONAME ; void QCalendarWidget::setMaximumDate(class QDate const &)
+ ?qt_metacast@QWizardPage@@UAEPAXPBD@Z @ 3724 NONAME ; void * QWizardPage::qt_metacast(char const *)
+ ?setScaleAt@QGraphicsItemAnimation@@QAEXMMM@Z @ 3725 NONAME ; void QGraphicsItemAnimation::setScaleAt(float, float, float)
+ ?unsetLayoutDirection@QGraphicsWidget@@QAEXXZ @ 3726 NONAME ; void QGraphicsWidget::unsetLayoutDirection(void)
+ ?tr@QDockWidgetLayout@@SA?AVQString@@PBD0@Z @ 3727 NONAME ; class QString QDockWidgetLayout::tr(char const *, char const *)
+ ?clone@QTextDocument@@QBEPAV1@PAVQObject@@@Z @ 3728 NONAME ; class QTextDocument * QTextDocument::clone(class QObject *) const
+ ?height@QFontMetricsF@@QBEMXZ @ 3729 NONAME ; float QFontMetricsF::height(void) const
+ ?appendRow@QStandardItem@@QAEXPAV1@@Z @ 3730 NONAME ; void QStandardItem::appendRow(class QStandardItem *)
+ ?drawEllipse@QPainter@@QAEXABVQPointF@@MM@Z @ 3731 NONAME ; void QPainter::drawEllipse(class QPointF const &, float, float)
+ ?alignment@QTextEdit@@QBE?AV?$QFlags@W4AlignmentFlag@Qt@@@@XZ @ 3732 NONAME ; class QFlags<enum Qt::AlignmentFlag> QTextEdit::alignment(void) const
+ ?currentBlockUserData@QSyntaxHighlighter@@IBEPAVQTextBlockUserData@@XZ @ 3733 NONAME ; class QTextBlockUserData * QSyntaxHighlighter::currentBlockUserData(void) const
+ ?translate@QMatrix4x4@@QAEAAV1@MM@Z @ 3734 NONAME ; class QMatrix4x4 & QMatrix4x4::translate(float, float)
+ ?metaObject@QTabBar@@UBEPBUQMetaObject@@XZ @ 3735 NONAME ; struct QMetaObject const * QTabBar::metaObject(void) const
+ ?focusInEvent@QGraphicsView@@MAEXPAVQFocusEvent@@@Z @ 3736 NONAME ; void QGraphicsView::focusInEvent(class QFocusEvent *)
+ ?createExtendedMouseEvent@QMouseEvent@@SAPAV1@W4Type@QEvent@@ABVQPointF@@ABVQPoint@@W4MouseButton@Qt@@V?$QFlags@W4MouseButton@Qt@@@@V?$QFlags@W4KeyboardModifier@Qt@@@@@Z @ 3737 NONAME ; class QMouseEvent * QMouseEvent::createExtendedMouseEvent(enum QEvent::Type, class QPointF const &, class QPoint const &, enum Qt::MouseButton, class QFlags<enum Qt::MouseButton>, class QFlags<enum Qt::KeyboardModifier>)
+ ?keyPressEvent@QLineEdit@@MAEXPAVQKeyEvent@@@Z @ 3738 NONAME ; void QLineEdit::keyPressEvent(class QKeyEvent *)
+ ??1QStyleOptionMenuItem@@QAE@XZ @ 3739 NONAME ; QStyleOptionMenuItem::~QStyleOptionMenuItem(void)
+ ?qt_pixmap_id@@YA_JABVQPixmap@@@Z @ 3740 NONAME ; long long qt_pixmap_id(class QPixmap const &)
+ ?keypadNavigationEnabled@QApplication@@SA_NXZ @ 3741 NONAME ; bool QApplication::keypadNavigationEnabled(void)
+ ?editorDestroyed@QAbstractItemView@@MAEXPAVQObject@@@Z @ 3742 NONAME ; void QAbstractItemView::editorDestroyed(class QObject *)
+ ??0QTableWidgetSelectionRange@@QAE@HHHH@Z @ 3743 NONAME ; QTableWidgetSelectionRange::QTableWidgetSelectionRange(int, int, int, int)
+ ??0QTextLayout@@QAE@ABVQString@@@Z @ 3744 NONAME ; QTextLayout::QTextLayout(class QString const &)
+ ?clear@QDateTimeEdit@@UAEXXZ @ 3745 NONAME ; void QDateTimeEdit::clear(void)
+ ??0QStyleOptionProgressBar@@QAE@ABV0@@Z @ 3746 NONAME ; QStyleOptionProgressBar::QStyleOptionProgressBar(class QStyleOptionProgressBar const &)
+ ?tr@QGraphicsEffect@@SA?AVQString@@PBD0@Z @ 3747 NONAME ; class QString QGraphicsEffect::tr(char const *, char const *)
+ ?allWidgets@QApplication@@SA?AV?$QList@PAVQWidget@@@@XZ @ 3748 NONAME ; class QList<class QWidget *> QApplication::allWidgets(void)
+ ?staticMetaObject@QDockWidget@@2UQMetaObject@@B @ 3749 NONAME ; struct QMetaObject const QDockWidget::staticMetaObject
+ ??0QGraphicsSimpleTextItem@@QAE@ABVQString@@PAVQGraphicsItem@@PAVQGraphicsScene@@@Z @ 3750 NONAME ; QGraphicsSimpleTextItem::QGraphicsSimpleTextItem(class QString const &, class QGraphicsItem *, class QGraphicsScene *)
+ ?event@QStackedWidget@@MAE_NPAVQEvent@@@Z @ 3751 NONAME ; bool QStackedWidget::event(class QEvent *)
+ ??0iterator@QTextFrame@@QAE@ABV01@@Z @ 3752 NONAME ; QTextFrame::iterator::iterator(class QTextFrame::iterator const &)
+ ?getStaticMetaObject@QTextList@@SAABUQMetaObject@@XZ @ 3753 NONAME ; struct QMetaObject const & QTextList::getStaticMetaObject(void)
+ ?setAlignment@QGraphicsView@@QAEXV?$QFlags@W4AlignmentFlag@Qt@@@@@Z @ 3754 NONAME ; void QGraphicsView::setAlignment(class QFlags<enum Qt::AlignmentFlag>)
+ ?drawLines@QPaintEngineEx@@UAEXPBVQLineF@@H@Z @ 3755 NONAME ; void QPaintEngineEx::drawLines(class QLineF const *, int)
+ ?valueChanged@QDoubleSpinBox@@IAEXABVQString@@@Z @ 3756 NONAME ; void QDoubleSpinBox::valueChanged(class QString const &)
+ ?rotate@QMatrix@@QAEAAV1@M@Z @ 3757 NONAME ; class QMatrix & QMatrix::rotate(float)
+ ?showNextYear@QCalendarWidget@@QAEXXZ @ 3758 NONAME ; void QCalendarWidget::showNextYear(void)
+ ?trUtf8@QInputContext@@SA?AVQString@@PBD0@Z @ 3759 NONAME ; class QString QInputContext::trUtf8(char const *, char const *)
+ ?textFormat@QLabel@@QBE?AW4TextFormat@Qt@@XZ @ 3760 NONAME ; enum Qt::TextFormat QLabel::textFormat(void) const
+ ?indexFromItem@QTreeWidget@@IBE?AVQModelIndex@@PAVQTreeWidgetItem@@H@Z @ 3761 NONAME ; class QModelIndex QTreeWidget::indexFromItem(class QTreeWidgetItem *, int) const
+ ?staticMetaObject@QSound@@2UQMetaObject@@B @ 3762 NONAME ; struct QMetaObject const QSound::staticMetaObject
+ ?setLayoutDirection@QPainter@@QAEXW4LayoutDirection@Qt@@@Z @ 3763 NONAME ; void QPainter::setLayoutDirection(enum Qt::LayoutDirection)
+ ?trUtf8@QFocusFrame@@SA?AVQString@@PBD0H@Z @ 3764 NONAME ; class QString QFocusFrame::trUtf8(char const *, char const *, int)
+ ?tr@QFormLayout@@SA?AVQString@@PBD0@Z @ 3765 NONAME ; class QString QFormLayout::tr(char const *, char const *)
+ ?staticMetaObject@QMessageBox@@2UQMetaObject@@B @ 3766 NONAME ; struct QMetaObject const QMessageBox::staticMetaObject
+ ?ownsClipboard@QClipboard@@QBE_NXZ @ 3767 NONAME ; bool QClipboard::ownsClipboard(void) const
+ ?find@QTextEdit@@QAE_NABVQString@@V?$QFlags@W4FindFlag@QTextDocument@@@@@Z @ 3768 NONAME ; bool QTextEdit::find(class QString const &, class QFlags<enum QTextDocument::FindFlag>)
+ ?isItemHidden@QTreeWidget@@QBE_NPBVQTreeWidgetItem@@@Z @ 3769 NONAME ; bool QTreeWidget::isItemHidden(class QTreeWidgetItem const *) const
+ ?statusTip@QStandardItem@@QBE?AVQString@@XZ @ 3770 NONAME ; class QString QStandardItem::statusTip(void) const
+ ?d_func@QStackedWidget@@ABEPBVQStackedWidgetPrivate@@XZ @ 3771 NONAME ; class QStackedWidgetPrivate const * QStackedWidget::d_func(void) const
+ ?setPrefix@QSpinBox@@QAEXABVQString@@@Z @ 3772 NONAME ; void QSpinBox::setPrefix(class QString const &)
+ ?getStaticMetaObject@QDockWidget@@SAABUQMetaObject@@XZ @ 3773 NONAME ; struct QMetaObject const & QDockWidget::getStaticMetaObject(void)
+ ??1QAbstractUndoItem@@UAE@XZ @ 3774 NONAME ; QAbstractUndoItem::~QAbstractUndoItem(void)
+ ?data_ptr@QImage@@QAEAAPAUQImageData@@XZ @ 3775 NONAME ; struct QImageData * & QImage::data_ptr(void)
+ ?matchesFlags@QTreeWidgetItemIterator@@ABE_NPBVQTreeWidgetItem@@@Z @ 3776 NONAME ; bool QTreeWidgetItemIterator::matchesFlags(class QTreeWidgetItem const *) const
+ ?heightForWidth@QWidget@@UBEHH@Z @ 3777 NONAME ; int QWidget::heightForWidth(int) const
+ ?createMaskFromColor@QImage@@QBE?AV1@IW4MaskMode@Qt@@@Z @ 3778 NONAME ; class QImage QImage::createMaskFromColor(unsigned int, enum Qt::MaskMode) const
+ ?path@QMouseEventTransition@@QBE?AVQPainterPath@@XZ @ 3779 NONAME ; class QPainterPath QMouseEventTransition::path(void) const
+ ?validate@QRegExpValidator@@UBE?AW4State@QValidator@@AAVQString@@AAH@Z @ 3780 NONAME ; enum QValidator::State QRegExpValidator::validate(class QString &, int &) const
+ ?shear@QGraphicsItem@@QAEXMM@Z @ 3781 NONAME ; void QGraphicsItem::shear(float, float)
+ ?foregroundBrush@QGraphicsView@@QBE?AVQBrush@@XZ @ 3782 NONAME ; class QBrush QGraphicsView::foregroundBrush(void) const
+ ?proposedAction@QDropEvent@@QBE?AW4DropAction@Qt@@XZ @ 3783 NONAME ; enum Qt::DropAction QDropEvent::proposedAction(void) const
+ ?hitButton@QToolButton@@MBE_NABVQPoint@@@Z @ 3784 NONAME ; bool QToolButton::hitButton(class QPoint const &) const
+ ?textFormat@QMessageBox@@QBE?AW4TextFormat@Qt@@XZ @ 3785 NONAME ; enum Qt::TextFormat QMessageBox::textFormat(void) const
+ ?polishEvent@QGraphicsWidget@@MAEXXZ @ 3786 NONAME ; void QGraphicsWidget::polishEvent(void)
+ ?testTerm@Parser@QCss@@QAE_NXZ @ 3787 NONAME ; bool QCss::Parser::testTerm(void)
+ ?d_func@QToolBox@@AAEPAVQToolBoxPrivate@@XZ @ 3788 NONAME ; class QToolBoxPrivate * QToolBox::d_func(void)
+ ?isDir@QDirModel@@QBE_NABVQModelIndex@@@Z @ 3789 NONAME ; bool QDirModel::isDir(class QModelIndex const &) const
+ ??0QStyleOptionTabBarBaseV2@@QAE@ABV0@@Z @ 3790 NONAME ; QStyleOptionTabBarBaseV2::QStyleOptionTabBarBaseV2(class QStyleOptionTabBarBaseV2 const &)
+ ?qt_metacall@QItemSelectionModel@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 3791 NONAME ; int QItemSelectionModel::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?maxVisibleItems@QComboBox@@QBEHXZ @ 3792 NONAME ; int QComboBox::maxVisibleItems(void) const
+ ?isDetached@QKeySequence@@QBE_NXZ @ 3793 NONAME ; bool QKeySequence::isDetached(void) const
+ ?d_func@QGraphicsScene@@AAEPAVQGraphicsScenePrivate@@XZ @ 3794 NONAME ; class QGraphicsScenePrivate * QGraphicsScene::d_func(void)
+ ?encodedData@QDropEvent@@UBE?AVQByteArray@@PBD@Z @ 3795 NONAME ; class QByteArray QDropEvent::encodedData(char const *) const
+ ??0QBrush@@QAE@W4BrushStyle@Qt@@@Z @ 3796 NONAME ; QBrush::QBrush(enum Qt::BrushStyle)
+ ??0QGraphicsView@@QAE@PAVQGraphicsScene@@PAVQWidget@@@Z @ 3797 NONAME ; QGraphicsView::QGraphicsView(class QGraphicsScene *, class QWidget *)
+ ?createEventDispatcher@QApplicationPrivate@@UAEXXZ @ 3798 NONAME ; void QApplicationPrivate::createEventDispatcher(void)
+ ??0QUndoView@@QAE@PAVQUndoStack@@PAVQWidget@@@Z @ 3799 NONAME ; QUndoView::QUndoView(class QUndoStack *, class QWidget *)
+ ?redoAvailable@QPlainTextEdit@@IAEX_N@Z @ 3800 NONAME ; void QPlainTextEdit::redoAvailable(bool)
+ ?commonAncestorItem@QGraphicsItem@@QBEPAV1@PBV1@@Z @ 3801 NONAME ; class QGraphicsItem * QGraphicsItem::commonAncestorItem(class QGraphicsItem const *) const
+ ?tr@QDirModel@@SA?AVQString@@PBD0@Z @ 3802 NONAME ; class QString QDirModel::tr(char const *, char const *)
+ ?lightness@QColor@@QBEHXZ @ 3803 NONAME ; int QColor::lightness(void) const
+ ?arrowType@QToolButton@@QBE?AW4ArrowType@Qt@@XZ @ 3804 NONAME ; enum Qt::ArrowType QToolButton::arrowType(void) const
+ ?tr@QTextBlockGroup@@SA?AVQString@@PBD0@Z @ 3805 NONAME ; class QString QTextBlockGroup::tr(char const *, char const *)
+ ?rgba@QColor@@QBEIXZ @ 3806 NONAME ; unsigned int QColor::rgba(void) const
+ ?paste@QTextEdit@@QAEXXZ @ 3807 NONAME ; void QTextEdit::paste(void)
+ ?load@QPixmap@@QAE_NABVQString@@PBDV?$QFlags@W4ImageConversionFlag@Qt@@@@@Z @ 3808 NONAME ; bool QPixmap::load(class QString const &, char const *, class QFlags<enum Qt::ImageConversionFlag>)
+ ??0QStyleOptionToolBar@@IAE@H@Z @ 3809 NONAME ; QStyleOptionToolBar::QStyleOptionToolBar(int)
+ ?setForegroundRole@QWidget@@QAEXW4ColorRole@QPalette@@@Z @ 3810 NONAME ; void QWidget::setForegroundRole(enum QPalette::ColorRole)
+ ?applyHints@QCoeFepInputContext@@AAEXV?$QFlags@W4InputMethodHint@Qt@@@@@Z @ 3811 NONAME ABSENT ; void QCoeFepInputContext::applyHints(class QFlags<enum Qt::InputMethodHint>)
+ ?visualAlignment@QStyle@@SA?AV?$QFlags@W4AlignmentFlag@Qt@@@@W4LayoutDirection@Qt@@V2@@Z @ 3812 NONAME ; class QFlags<enum Qt::AlignmentFlag> QStyle::visualAlignment(enum Qt::LayoutDirection, class QFlags<enum Qt::AlignmentFlag>)
+ ?scrollContentsBy@QScrollArea@@MAEXHH@Z @ 3813 NONAME ; void QScrollArea::scrollContentsBy(int, int)
+ ?itemsExpandable@QTreeView@@QBE_NXZ @ 3814 NONAME ; bool QTreeView::itemsExpandable(void) const
+ ?trUtf8@QLCDNumber@@SA?AVQString@@PBD0H@Z @ 3815 NONAME ; class QString QLCDNumber::trUtf8(char const *, char const *, int)
+ ?qt_defaultDpi@@YAHXZ @ 3816 NONAME ; int qt_defaultDpi(void)
+ ?minimumSizeHint@QMenuBar@@UBE?AVQSize@@XZ @ 3817 NONAME ; class QSize QMenuBar::minimumSizeHint(void) const
+ ?cursorRect@QPlainTextEdit@@QBE?AVQRect@@XZ @ 3818 NONAME ; class QRect QPlainTextEdit::cursorRect(void) const
+ ?paint@QGraphicsItemGroup@@UAEXPAVQPainter@@PBVQStyleOptionGraphicsItem@@PAVQWidget@@@Z @ 3819 NONAME ; void QGraphicsItemGroup::paint(class QPainter *, class QStyleOptionGraphicsItem const *, class QWidget *)
+ ?setTabOrder@QWidget@@SAXPAV1@0@Z @ 3820 NONAME ; void QWidget::setTabOrder(class QWidget *, class QWidget *)
+ ?grabGesture@QWidget@@QAEXW4GestureType@Qt@@W4GestureContext@3@@Z @ 3821 NONAME ; void QWidget::grabGesture(enum Qt::GestureType, enum Qt::GestureContext)
+ ??0QGraphicsRectItem@@QAE@ABVQRectF@@PAVQGraphicsItem@@PAVQGraphicsScene@@@Z @ 3822 NONAME ; QGraphicsRectItem::QGraphicsRectItem(class QRectF const &, class QGraphicsItem *, class QGraphicsScene *)
+ ??0QStyleOptionTabV2@@QAE@XZ @ 3823 NONAME ; QStyleOptionTabV2::QStyleOptionTabV2(void)
+ ?clearString@QLineControl@@ABE?AVQString@@II@Z @ 3824 NONAME ; class QString QLineControl::clearString(unsigned int, unsigned int) const
+ ?setVerticalAlignment@QTextCharFormat@@QAEXW4VerticalAlignment@1@@Z @ 3825 NONAME ; void QTextCharFormat::setVerticalAlignment(enum QTextCharFormat::VerticalAlignment)
+ ??0QStyleOptionTitleBar@@IAE@H@Z @ 3826 NONAME ; QStyleOptionTitleBar::QStyleOptionTitleBar(int)
+ ?paintEvent@QMdiSubWindow@@MAEXPAVQPaintEvent@@@Z @ 3827 NONAME ; void QMdiSubWindow::paintEvent(class QPaintEvent *)
+ ?setSortRole@QSortFilterProxyModel@@QAEXH@Z @ 3828 NONAME ; void QSortFilterProxyModel::setSortRole(int)
+ ?d_func@QPixmapDropShadowFilter@@ABEPBVQPixmapDropShadowFilterPrivate@@XZ @ 3829 NONAME ; class QPixmapDropShadowFilterPrivate const * QPixmapDropShadowFilter::d_func(void) const
+ ?minimumWidth@QTextLayout@@QBEMXZ @ 3830 NONAME ; float QTextLayout::minimumWidth(void) const
+ ?nextCheckState@QAbstractButton@@MAEXXZ @ 3831 NONAME ; void QAbstractButton::nextCheckState(void)
+ ?forward@QTextBrowser@@UAEXXZ @ 3832 NONAME ; void QTextBrowser::forward(void)
+ ?adjoint@QTransform@@QBE?AV1@XZ @ 3833 NONAME ; class QTransform QTransform::adjoint(void) const
+ ?addToolBarBreak@QMainWindow@@QAEXW4ToolBarArea@Qt@@@Z @ 3834 NONAME ; void QMainWindow::addToolBarBreak(enum Qt::ToolBarArea)
+ ??0QLayout@@QAE@PAVQWidget@@@Z @ 3835 NONAME ; QLayout::QLayout(class QWidget *)
+ ?addButton@QDialogButtonBox@@QAEPAVQPushButton@@W4StandardButton@1@@Z @ 3836 NONAME ; class QPushButton * QDialogButtonBox::addButton(enum QDialogButtonBox::StandardButton)
+ ??0QItemSelectionRange@@QAE@ABV0@@Z @ 3837 NONAME ; QItemSelectionRange::QItemSelectionRange(class QItemSelectionRange const &)
+ ?takeItem@QTableWidget@@QAEPAVQTableWidgetItem@@HH@Z @ 3838 NONAME ; class QTableWidgetItem * QTableWidget::takeItem(int, int)
+ ??0QTextLayout@@QAE@ABVQTextBlock@@@Z @ 3839 NONAME ; QTextLayout::QTextLayout(class QTextBlock const &)
+ ??1QCursor@@QAE@XZ @ 3840 NONAME ; QCursor::~QCursor(void)
+ ?setFlat@QGroupBox@@QAEX_N@Z @ 3841 NONAME ; void QGroupBox::setFlat(bool)
+ ?setStatusTip@QTableWidgetItem@@QAEXABVQString@@@Z @ 3842 NONAME ; void QTableWidgetItem::setStatusTip(class QString const &)
+ ?moveCursor@QHeaderView@@MAE?AVQModelIndex@@W4CursorAction@QAbstractItemView@@V?$QFlags@W4KeyboardModifier@Qt@@@@@Z @ 3843 NONAME ; class QModelIndex QHeaderView::moveCursor(enum QAbstractItemView::CursorAction, class QFlags<enum Qt::KeyboardModifier>)
+ ?enterEvent@QToolButton@@MAEXPAVQEvent@@@Z @ 3844 NONAME ; void QToolButton::enterEvent(class QEvent *)
+ ?grabMouse@QGraphicsItem@@QAEXXZ @ 3845 NONAME ; void QGraphicsItem::grabMouse(void)
+ ??0QPixmap@@QAE@ABV0@@Z @ 3846 NONAME ; QPixmap::QPixmap(class QPixmap const &)
+ ?spacing@QListView@@QBEHXZ @ 3847 NONAME ; int QListView::spacing(void) const
+ ?batchSize@QListView@@QBEHXZ @ 3848 NONAME ; int QListView::batchSize(void) const
+ ?detach@QPen@@AAEXXZ @ 3849 NONAME ; void QPen::detach(void)
+ ?isTableCellFormat@QTextFormat@@QBE_NXZ @ 3850 NONAME ; bool QTextFormat::isTableCellFormat(void) const
+ ?setRootPath@QFileSystemModel@@QAE?AVQModelIndex@@ABVQString@@@Z @ 3851 NONAME ; class QModelIndex QFileSystemModel::setRootPath(class QString const &)
+ ?hideEvent@QWidget@@MAEXPAVQHideEvent@@@Z @ 3852 NONAME ; void QWidget::hideEvent(class QHideEvent *)
+ ?itemTransform@QGraphicsItem@@QBE?AVQTransform@@PBV1@PA_N@Z @ 3853 NONAME ; class QTransform QGraphicsItem::itemTransform(class QGraphicsItem const *, bool *) const
+ ??0QColor@@QAE@W4Spec@0@@Z @ 3854 NONAME ; QColor::QColor(enum QColor::Spec)
+ ?d_func@QTextTable@@ABEPBVQTextTablePrivate@@XZ @ 3855 NONAME ; class QTextTablePrivate const * QTextTable::d_func(void) const
+ ?styleHint@QFontInfo@@QBE?AW4StyleHint@QFont@@XZ @ 3856 NONAME ; enum QFont::StyleHint QFontInfo::styleHint(void) const
+ ?map@QMatrix@@QBE?AVQLine@@ABV2@@Z @ 3857 NONAME ; class QLine QMatrix::map(class QLine const &) const
+ ?metaObject@QAbstractSlider@@UBEPBUQMetaObject@@XZ @ 3858 NONAME ; struct QMetaObject const * QAbstractSlider::metaObject(void) const
+ ?qt_metacast@QTabBar@@UAEPAXPBD@Z @ 3859 NONAME ; void * QTabBar::qt_metacast(char const *)
+ ?layoutDirection@QPainter@@QBE?AW4LayoutDirection@Qt@@XZ @ 3860 NONAME ; enum Qt::LayoutDirection QPainter::layoutDirection(void) const
+ ?setData@QFileSystemModel@@UAE_NABVQModelIndex@@ABVQVariant@@H@Z @ 3861 NONAME ; bool QFileSystemModel::setData(class QModelIndex const &, class QVariant const &, int)
+ ?firstLineNumber@QTextBlock@@QBEHXZ @ 3862 NONAME ; int QTextBlock::firstLineNumber(void) const
+ ??1QSpinBox@@UAE@XZ @ 3863 NONAME ; QSpinBox::~QSpinBox(void)
+ ?paintEvent@QTextEdit@@MAEXPAVQPaintEvent@@@Z @ 3864 NONAME ; void QTextEdit::paintEvent(class QPaintEvent *)
+ ?sortChildren@QTreeWidgetItem@@QAEXHW4SortOrder@Qt@@@Z @ 3865 NONAME ; void QTreeWidgetItem::sortChildren(int, enum Qt::SortOrder)
+ ?isHeaderHidden@QTreeView@@QBE_NXZ @ 3866 NONAME ; bool QTreeView::isHeaderHidden(void) const
+ ?grabWidget@QWindowSurface@@UBE?AVQPixmap@@PBVQWidget@@ABVQRect@@@Z @ 3867 NONAME ; class QPixmap QWindowSurface::grabWidget(class QWidget const *, class QRect const &) const
+ ??1QProgressBar@@UAE@XZ @ 3868 NONAME ; QProgressBar::~QProgressBar(void)
+ ?qt_metacall@QTableWidget@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 3869 NONAME ; int QTableWidget::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?setDocumentMode@QTabBar@@QAEX_N@Z @ 3870 NONAME ; void QTabBar::setDocumentMode(bool)
+ ?parentChanged@QGraphicsObject@@IAEXXZ @ 3871 NONAME ; void QGraphicsObject::parentChanged(void)
+ ?dynamicSortFilter@QSortFilterProxyModel@@QBE_NXZ @ 3872 NONAME ; bool QSortFilterProxyModel::dynamicSortFilter(void) const
+ ?setSuffix@QSpinBox@@QAEXABVQString@@@Z @ 3873 NONAME ; void QSpinBox::setSuffix(class QString const &)
+ ?qt_metacast@QItemSelectionModel@@UAEPAXPBD@Z @ 3874 NONAME ; void * QItemSelectionModel::qt_metacast(char const *)
+ ?currentRowChanged@QListWidget@@IAEXH@Z @ 3875 NONAME ; void QListWidget::currentRowChanged(int)
+ ?d_func@QWizard@@AAEPAVQWizardPrivate@@XZ @ 3876 NONAME ; class QWizardPrivate * QWizard::d_func(void)
+ ?scrollBarsEnabled@QWorkspace@@QBE_NXZ @ 3877 NONAME ; bool QWorkspace::scrollBarsEnabled(void) const
+ ?trUtf8@QDialog@@SA?AVQString@@PBD0@Z @ 3878 NONAME ; class QString QDialog::trUtf8(char const *, char const *)
+ ?staticMetaObject@QPanGesture@@2UQMetaObject@@B @ 3879 NONAME ; struct QMetaObject const QPanGesture::staticMetaObject
+ ?getStaticMetaObject@QShortcut@@SAABUQMetaObject@@XZ @ 3880 NONAME ; struct QMetaObject const & QShortcut::getStaticMetaObject(void)
+ ?yellow@QColor@@QBEHXZ @ 3881 NONAME ; int QColor::yellow(void) const
+ ?unsetCursor@QGraphicsItem@@QAEXXZ @ 3882 NONAME ; void QGraphicsItem::unsetCursor(void)
+ ??1QTextDocument@@UAE@XZ @ 3883 NONAME ; QTextDocument::~QTextDocument(void)
+ ?d_func@QGraphicsPixmapItem@@ABEPBVQGraphicsPixmapItemPrivate@@XZ @ 3884 NONAME ; class QGraphicsPixmapItemPrivate const * QGraphicsPixmapItem::d_func(void) const
+ ?dateTimeChanged@QDateTimeEdit@@IAEXABVQDateTime@@@Z @ 3885 NONAME ; void QDateTimeEdit::dateTimeChanged(class QDateTime const &)
+ ?insertStretch@QGraphicsLinearLayout@@QAEXHH@Z @ 3886 NONAME ; void QGraphicsLinearLayout::insertStretch(int, int)
+ ?setData@QStandardItem@@UAEXABVQVariant@@H@Z @ 3887 NONAME ; void QStandardItem::setData(class QVariant const &, int)
+ ?hslHueF@QColor@@QBEMXZ @ 3888 NONAME ; float QColor::hslHueF(void) const
+ ?fontInfo@QWidget@@QBE?AVQFontInfo@@XZ @ 3889 NONAME ; class QFontInfo QWidget::fontInfo(void) const
+ ??4QFontInfo@@QAEAAV0@ABV0@@Z @ 3890 NONAME ; class QFontInfo & QFontInfo::operator=(class QFontInfo const &)
+ ?y@QVector2D@@QBEMXZ @ 3891 NONAME ; float QVector2D::y(void) const
+ ?blockRemoved@QTextBlockGroup@@MAEXABVQTextBlock@@@Z @ 3892 NONAME ; void QTextBlockGroup::blockRemoved(class QTextBlock const &)
+ ?metaInformation@QTextDocument@@QBE?AVQString@@W4MetaInformation@1@@Z @ 3893 NONAME ; class QString QTextDocument::metaInformation(enum QTextDocument::MetaInformation) const
+ ??0QImageData@@QAE@XZ @ 3894 NONAME ; QImageData::QImageData(void)
+ ?d_func@QFocusFrame@@AAEPAVQFocusFramePrivate@@XZ @ 3895 NONAME ; class QFocusFramePrivate * QFocusFrame::d_func(void)
+ ?selectionMode@QCalendarWidget@@QBE?AW4SelectionMode@1@XZ @ 3896 NONAME ; enum QCalendarWidget::SelectionMode QCalendarWidget::selectionMode(void) const
+ ?m13@QTransform@@QBEMXZ @ 3897 NONAME ; float QTransform::m13(void) const
+ ??0QFrame@@IAE@AAVQFramePrivate@@PAVQWidget@@V?$QFlags@W4WindowType@Qt@@@@@Z @ 3898 NONAME ; QFrame::QFrame(class QFramePrivate &, class QWidget *, class QFlags<enum Qt::WindowType>)
+ ?done@QInputDialog@@UAEXH@Z @ 3899 NONAME ; void QInputDialog::done(int)
+ ??0QVector2D@@QAE@ABVQPoint@@@Z @ 3900 NONAME ; QVector2D::QVector2D(class QPoint const &)
+ ?trUtf8@QTreeWidget@@SA?AVQString@@PBD0@Z @ 3901 NONAME ; class QString QTreeWidget::trUtf8(char const *, char const *)
+ ?tr@QMenu@@SA?AVQString@@PBD0H@Z @ 3902 NONAME ; class QString QMenu::tr(char const *, char const *, int)
+ ?setFontWeight@QTextCharFormat@@QAEXH@Z @ 3903 NONAME ; void QTextCharFormat::setFontWeight(int)
+ ?d_func@QListWidget@@ABEPBVQListWidgetPrivate@@XZ @ 3904 NONAME ; class QListWidgetPrivate const * QListWidget::d_func(void) const
+ ??0QStyleOptionQ3ListViewItem@@QAE@ABV0@@Z @ 3905 NONAME ; QStyleOptionQ3ListViewItem::QStyleOptionQ3ListViewItem(class QStyleOptionQ3ListViewItem const &)
+ ?setRowPreferredHeight@QGraphicsGridLayout@@QAEXHM@Z @ 3906 NONAME ; void QGraphicsGridLayout::setRowPreferredHeight(int, float)
+ ?insertTab@QTabWidget@@QAEHHPAVQWidget@@ABVQString@@@Z @ 3907 NONAME ; int QTabWidget::insertTab(int, class QWidget *, class QString const &)
+ ?findItems@QStandardItemModel@@QBE?AV?$QList@PAVQStandardItem@@@@ABVQString@@V?$QFlags@W4MatchFlag@Qt@@@@H@Z @ 3908 NONAME ; class QList<class QStandardItem *> QStandardItemModel::findItems(class QString const &, class QFlags<enum Qt::MatchFlag>, int) const
+ ?setSortingEnabled@QTableWidget@@QAEX_N@Z @ 3909 NONAME ; void QTableWidget::setSortingEnabled(bool)
+ ?isValid@QTextTableFormat@@QBE_NXZ @ 3910 NONAME ; bool QTextTableFormat::isValid(void) const
+ ?effectiveOpacity@QGraphicsItem@@QBEMXZ @ 3911 NONAME ; float QGraphicsItem::effectiveOpacity(void) const
+ ?changeEvent@QErrorMessage@@MAEXPAVQEvent@@@Z @ 3912 NONAME ; void QErrorMessage::changeEvent(class QEvent *)
+ ??0QStyleOptionGroupBox@@QAE@ABV0@@Z @ 3913 NONAME ; QStyleOptionGroupBox::QStyleOptionGroupBox(class QStyleOptionGroupBox const &)
+ ?setConvolutionKernel@QPixmapConvolutionFilter@@QAEXPBMHH@Z @ 3914 NONAME ; void QPixmapConvolutionFilter::setConvolutionKernel(float const *, int, int)
+ ?animate_menu@QApplicationPrivate@@2_NA @ 3915 NONAME ; bool QApplicationPrivate::animate_menu
+ ?eventTest@QMouseEventTransition@@MAE_NPAVQEvent@@@Z @ 3916 NONAME ; bool QMouseEventTransition::eventTest(class QEvent *)
+ ??1QGraphicsPixelizeEffect@@UAE@XZ @ 3917 NONAME ABSENT ; QGraphicsPixelizeEffect::~QGraphicsPixelizeEffect(void)
+ ?staticMetaObject@QTabWidget@@2UQMetaObject@@B @ 3918 NONAME ; struct QMetaObject const QTabWidget::staticMetaObject
+ ?id@QUndoCommand@@UBEHXZ @ 3919 NONAME ; int QUndoCommand::id(void) const
+ ?contextMenuEvent@QLabel@@MAEXPAVQContextMenuEvent@@@Z @ 3920 NONAME ; void QLabel::contextMenuEvent(class QContextMenuEvent *)
+ ?autoExpandDelay@QTreeView@@QBEHXZ @ 3921 NONAME ; int QTreeView::autoExpandDelay(void) const
+ ?currentIndexChanged@QComboBox@@IAEXABVQString@@@Z @ 3922 NONAME ; void QComboBox::currentIndexChanged(class QString const &)
+ ?fillRule@QGraphicsPolygonItem@@QBE?AW4FillRule@Qt@@XZ @ 3923 NONAME ; enum Qt::FillRule QGraphicsPolygonItem::fillRule(void) const
+ ?setBrush@QPen@@QAEXABVQBrush@@@Z @ 3924 NONAME ; void QPen::setBrush(class QBrush const &)
+ ?isValid@QTextLine@@QBE_NXZ @ 3925 NONAME ; bool QTextLine::isValid(void) const
+ ?metaObject@QGraphicsDropShadowEffect@@UBEPBUQMetaObject@@XZ @ 3926 NONAME ; struct QMetaObject const * QGraphicsDropShadowEffect::metaObject(void) const
+ ?opacity@QGraphicsItem@@QBEMXZ @ 3927 NONAME ; float QGraphicsItem::opacity(void) const
+ ?addChild@QTreeWidgetItem@@QAEXPAV1@@Z @ 3928 NONAME ; void QTreeWidgetItem::addChild(class QTreeWidgetItem *)
+ ?setMinimumDate@QCalendarWidget@@QAEXABVQDate@@@Z @ 3929 NONAME ; void QCalendarWidget::setMinimumDate(class QDate const &)
+ ?setText@QAction@@QAEXABVQString@@@Z @ 3930 NONAME ; void QAction::setText(class QString const &)
+ ?d_func@QItemSelectionModel@@AAEPAVQItemSelectionModelPrivate@@XZ @ 3931 NONAME ; class QItemSelectionModelPrivate * QItemSelectionModel::d_func(void)
+ ?qt_metacall@QSessionManager@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 3932 NONAME ; int QSessionManager::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?boundingRect@QGraphicsEllipseItem@@UBE?AVQRectF@@XZ @ 3933 NONAME ; class QRectF QGraphicsEllipseItem::boundingRect(void) const
+ ?staticMetaObject@QGraphicsDropShadowEffect@@2UQMetaObject@@B @ 3934 NONAME ; struct QMetaObject const QGraphicsDropShadowEffect::staticMetaObject
+ ?setPixmap@QDrag@@QAEXABVQPixmap@@@Z @ 3935 NONAME ; void QDrag::setPixmap(class QPixmap const &)
+ ??0QRadialGradient@@QAE@MMMMM@Z @ 3936 NONAME ; QRadialGradient::QRadialGradient(float, float, float, float, float)
+ ?isObscured@QGraphicsItem@@QBE_NXZ @ 3937 NONAME ; bool QGraphicsItem::isObscured(void) const
+ ??0QTextInlineObject@@QAE@XZ @ 3938 NONAME ; QTextInlineObject::QTextInlineObject(void)
+ ?cascadingSectionResizes@QHeaderView@@QBE_NXZ @ 3939 NONAME ; bool QHeaderView::cascadingSectionResizes(void) const
+ ?setModelData@QAbstractItemDelegate@@UBEXPAVQWidget@@PAVQAbstractItemModel@@ABVQModelIndex@@@Z @ 3940 NONAME ; void QAbstractItemDelegate::setModelData(class QWidget *, class QAbstractItemModel *, class QModelIndex const &) const
+ ?sceneRectChanged@QGraphicsScene@@IAEXABVQRectF@@@Z @ 3941 NONAME ; void QGraphicsScene::sceneRectChanged(class QRectF const &)
+ ?mouseReleaseEvent@QMdiSubWindow@@MAEXPAVQMouseEvent@@@Z @ 3942 NONAME ; void QMdiSubWindow::mouseReleaseEvent(class QMouseEvent *)
+ ??4QStyleOptionViewItemV3@@QAEAAV0@ABV0@@Z @ 3943 NONAME ; class QStyleOptionViewItemV3 & QStyleOptionViewItemV3::operator=(class QStyleOptionViewItemV3 const &)
+ ?dragEnterEvent@QGraphicsItem@@MAEXPAVQGraphicsSceneDragDropEvent@@@Z @ 3944 NONAME ; void QGraphicsItem::dragEnterEvent(class QGraphicsSceneDragDropEvent *)
+ ?tr@QScrollBar@@SA?AVQString@@PBD0@Z @ 3945 NONAME ; class QString QScrollBar::tr(char const *, char const *)
+ ?mapRectFromScene@QGraphicsItem@@QBE?AVQRectF@@MMMM@Z @ 3946 NONAME ; class QRectF QGraphicsItem::mapRectFromScene(float, float, float, float) const
+ ?getStaticMetaObject@QErrorMessage@@SAABUQMetaObject@@XZ @ 3947 NONAME ; struct QMetaObject const & QErrorMessage::getStaticMetaObject(void)
+ ?trUtf8@QKeyEventTransition@@SA?AVQString@@PBD0H@Z @ 3948 NONAME ; class QString QKeyEventTransition::trUtf8(char const *, char const *, int)
+ ?d_func@QSlider@@AAEPAVQSliderPrivate@@XZ @ 3949 NONAME ; class QSliderPrivate * QSlider::d_func(void)
+ ?metaObject@QScrollBar@@UBEPBUQMetaObject@@XZ @ 3950 NONAME ; struct QMetaObject const * QScrollBar::metaObject(void) const
+ ?setIntMaximum@QInputDialog@@QAEXH@Z @ 3951 NONAME ; void QInputDialog::setIntMaximum(int)
+ ?addAction@QToolBar@@QAEPAVQAction@@ABVQString@@@Z @ 3952 NONAME ; class QAction * QToolBar::addAction(class QString const &)
+ ?d_func@QToolBar@@AAEPAVQToolBarPrivate@@XZ @ 3953 NONAME ; class QToolBarPrivate * QToolBar::d_func(void)
+ ?trUtf8@QWidget@@SA?AVQString@@PBD0@Z @ 3954 NONAME ; class QString QWidget::trUtf8(char const *, char const *)
+ ?grabGesture@QGraphicsObject@@QAEXW4GestureType@Qt@@W4GestureContext@3@@Z @ 3955 NONAME ; void QGraphicsObject::grabGesture(enum Qt::GestureType, enum Qt::GestureContext)
+ ?button@QMouseEvent@@QBE?AW4MouseButton@Qt@@XZ @ 3956 NONAME ; enum Qt::MouseButton QMouseEvent::button(void) const
+ ?setItemHidden@QTreeWidget@@QAEXPBVQTreeWidgetItem@@_N@Z @ 3957 NONAME ; void QTreeWidget::setItemHidden(class QTreeWidgetItem const *, bool)
+ ?selectorMatches@StyleSelector@QCss@@AAE_NABUSelector@2@TNodePtr@12@@Z @ 3958 NONAME ; bool QCss::StyleSelector::selectorMatches(struct QCss::Selector const &, union QCss::StyleSelector::NodePtr)
+ ?setNavigationMode@QApplication@@SAXW4NavigationMode@Qt@@@Z @ 3959 NONAME ; void QApplication::setNavigationMode(enum Qt::NavigationMode)
+ ?setCubicToHook@QStrokerOps@@QAEXP6AXMMMMMMPAX@Z@Z @ 3960 NONAME ; void QStrokerOps::setCubicToHook(void (*)(float, float, float, float, float, float, void *))
+ ?lengthSquared@QVector4D@@QBEMXZ @ 3961 NONAME ; float QVector4D::lengthSquared(void) const
+ ?setCenterPoint@QPinchGesture@@QAEXABVQPointF@@@Z @ 3962 NONAME ; void QPinchGesture::setCenterPoint(class QPointF const &)
+ ?d_func@QFrame@@AAEPAVQFramePrivate@@XZ @ 3963 NONAME ; class QFramePrivate * QFrame::d_func(void)
+ ??9iterator@QTextBlock@@QBE_NABV01@@Z @ 3964 NONAME ; bool QTextBlock::iterator::operator!=(class QTextBlock::iterator const &) const
+ ?strikeOut@QFontInfo@@QBE_NXZ @ 3965 NONAME ; bool QFontInfo::strikeOut(void) const
+ ?setTickPosition@QSlider@@QAEXW4TickPosition@1@@Z @ 3966 NONAME ; void QSlider::setTickPosition(enum QSlider::TickPosition)
+ ?setClipRect@QImageReader@@QAEXABVQRect@@@Z @ 3967 NONAME ; void QImageReader::setClipRect(class QRect const &)
+ ?magentaF@QColor@@QBEMXZ @ 3968 NONAME ; float QColor::magentaF(void) const
+ ?lastNormalizedPos@TouchPoint@QTouchEvent@@QBE?AVQPointF@@XZ @ 3969 NONAME ; class QPointF QTouchEvent::TouchPoint::lastNormalizedPos(void) const
+ ?setMaximumTime@QDateTimeEdit@@QAEXABVQTime@@@Z @ 3970 NONAME ; void QDateTimeEdit::setMaximumTime(class QTime const &)
+ ?minimumSizeHint@QCommandLinkButton@@MBE?AVQSize@@XZ @ 3971 NONAME ; class QSize QCommandLinkButton::minimumSizeHint(void) const
+ ?qt_metacall@QListWidget@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 3972 NONAME ; int QListWidget::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?fill@QImage@@QAEXI@Z @ 3973 NONAME ; void QImage::fill(unsigned int)
+ ?topLevelAt@QApplication@@SAPAVQWidget@@ABVQPoint@@@Z @ 3974 NONAME ; class QWidget * QApplication::topLevelAt(class QPoint const &)
+ ?setExtension@QGraphicsPathItem@@MAEXW4Extension@QGraphicsItem@@ABVQVariant@@@Z @ 3975 NONAME ; void QGraphicsPathItem::setExtension(enum QGraphicsItem::Extension, class QVariant const &)
+ ?redoAvailable@QTextDocument@@IAEX_N@Z @ 3976 NONAME ; void QTextDocument::redoAvailable(bool)
+ ?testAttribute@QGraphicsWidget@@QBE_NW4WidgetAttribute@Qt@@@Z @ 3977 NONAME ; bool QGraphicsWidget::testAttribute(enum Qt::WidgetAttribute) const
+ ?setRects@QRegion@@QAEXPBVQRect@@H@Z @ 3978 NONAME ; void QRegion::setRects(class QRect const *, int)
+ ??0QItemSelectionRange@@QAE@XZ @ 3979 NONAME ; QItemSelectionRange::QItemSelectionRange(void)
+ ?getStaticMetaObject@QDateTimeEdit@@SAABUQMetaObject@@XZ @ 3980 NONAME ; struct QMetaObject const & QDateTimeEdit::getStaticMetaObject(void)
+ ??YQPainterPath@@QAEAAV0@ABV0@@Z @ 3981 NONAME ; class QPainterPath & QPainterPath::operator+=(class QPainterPath const &)
+ ?setCapStyle@QPen@@QAEXW4PenCapStyle@Qt@@@Z @ 3982 NONAME ; void QPen::setCapStyle(enum Qt::PenCapStyle)
+ ?cascadeSubWindows@QMdiArea@@QAEXXZ @ 3983 NONAME ; void QMdiArea::cascadeSubWindows(void)
+ ?getStaticMetaObject@QStringListModel@@SAABUQMetaObject@@XZ @ 3984 NONAME ; struct QMetaObject const & QStringListModel::getStaticMetaObject(void)
+ ?toolTip@QTreeWidgetItem@@QBE?AVQString@@H@Z @ 3985 NONAME ; class QString QTreeWidgetItem::toolTip(int) const
+ ??6@YAAAVQDataStream@@AAV0@ABVQTreeWidgetItem@@@Z @ 3986 NONAME ; class QDataStream & operator<<(class QDataStream &, class QTreeWidgetItem const &)
+ ?setResizeMode@QHeaderView@@QAEXW4ResizeMode@1@@Z @ 3987 NONAME ; void QHeaderView::setResizeMode(enum QHeaderView::ResizeMode)
+ ?cursorRect@QTextControl@@QBE?AVQRectF@@ABVQTextCursor@@@Z @ 3988 NONAME ; class QRectF QTextControl::cursorRect(class QTextCursor const &) const
+ ?drawItems@QGraphicsView@@MAEXPAVQPainter@@HQAPAVQGraphicsItem@@QBVQStyleOptionGraphicsItem@@@Z @ 3989 NONAME ; void QGraphicsView::drawItems(class QPainter *, int, class QGraphicsItem * * const, class QStyleOptionGraphicsItem const * const)
+ ?activateChildLayoutsRecursively@QWidgetPrivate@@QAEXXZ @ 3990 NONAME ; void QWidgetPrivate::activateChildLayoutsRecursively(void)
+ ?tr@QGraphicsBloomEffect@@SA?AVQString@@PBD0@Z @ 3991 NONAME ABSENT ; class QString QGraphicsBloomEffect::tr(char const *, char const *)
+ ?mimeData@QClipboard@@QBEPBVQMimeData@@W4Mode@1@@Z @ 3992 NONAME ; class QMimeData const * QClipboard::mimeData(enum QClipboard::Mode) const
+ ?createWinId@QWidget@@QAEXXZ @ 3993 NONAME ; void QWidget::createWinId(void)
+ ?closeActiveSubWindow@QMdiArea@@QAEXXZ @ 3994 NONAME ; void QMdiArea::closeActiveSubWindow(void)
+ ?widgetRemoved@QStackedWidget@@IAEXH@Z @ 3995 NONAME ; void QStackedWidget::widgetRemoved(int)
+ ?takeWidget@QScrollArea@@QAEPAVQWidget@@XZ @ 3996 NONAME ; class QWidget * QScrollArea::takeWidget(void)
+ ?isDateEditEnabled@QCalendarWidget@@QBE_NXZ @ 3997 NONAME ; bool QCalendarWidget::isDateEditEnabled(void) const
+ ?qt_metacast@QMdiArea@@UAEPAXPBD@Z @ 3998 NONAME ; void * QMdiArea::qt_metacast(char const *)
+ ?setDefaultSectionSize@QHeaderView@@QAEXH@Z @ 3999 NONAME ; void QHeaderView::setDefaultSectionSize(int)
+ ?resetCachedContent@QGraphicsView@@QAEXXZ @ 4000 NONAME ; void QGraphicsView::resetCachedContent(void)
+ ?close_helper@QWidgetPrivate@@QAE_NW4CloseMode@1@@Z @ 4001 NONAME ; bool QWidgetPrivate::close_helper(enum QWidgetPrivate::CloseMode)
+ ?setRotationAngle@QPinchGesture@@QAEXM@Z @ 4002 NONAME ; void QPinchGesture::setRotationAngle(float)
+ ?boolProperty@QTextFormat@@QBE_NH@Z @ 4003 NONAME ; bool QTextFormat::boolProperty(int) const
+ ??0QGraphicsLayout@@IAE@AAVQGraphicsLayoutPrivate@@PAVQGraphicsLayoutItem@@@Z @ 4004 NONAME ; QGraphicsLayout::QGraphicsLayout(class QGraphicsLayoutPrivate &, class QGraphicsLayoutItem *)
+ ??0QComboBox@@QAE@PAVQWidget@@@Z @ 4005 NONAME ; QComboBox::QComboBox(class QWidget *)
+ ?fileIcon@QDirModel@@QBE?AVQIcon@@ABVQModelIndex@@@Z @ 4006 NONAME ; class QIcon QDirModel::fileIcon(class QModelIndex const &) const
+ ?boundingRegionGranularity@QGraphicsItem@@QBEMXZ @ 4007 NONAME ; float QGraphicsItem::boundingRegionGranularity(void) const
+ ?HandleWsEventL@QS60MainAppUi@@MAEXABVTWsEvent@@PAVCCoeControl@@@Z @ 4008 NONAME ; void QS60MainAppUi::HandleWsEventL(class TWsEvent const &, class CCoeControl *)
+ ?trUtf8@QS60Style@@SA?AVQString@@PBD0H@Z @ 4009 NONAME ; class QString QS60Style::trUtf8(char const *, char const *, int)
+ ?setViewMode@QListView@@QAEXW4ViewMode@1@@Z @ 4010 NONAME ; void QListView::setViewMode(enum QListView::ViewMode)
+ ?setLayoutItemMargins@QWidgetPrivate@@QAEXHHHH@Z @ 4011 NONAME ; void QWidgetPrivate::setLayoutItemMargins(int, int, int, int)
+ ??0QApplication@@IAE@AAHPAPADW4Type@0@@Z @ 4012 NONAME ; QApplication::QApplication(int &, char * *, enum QApplication::Type)
+ ?value@QTextLength@@QBEMM@Z @ 4013 NONAME ; float QTextLength::value(float) const
+ ?qt_metacall@QTabWidget@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 4014 NONAME ; int QTabWidget::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?tForY@QBezier@@QBEMMMM@Z @ 4015 NONAME ; float QBezier::tForY(float, float, float) const
+ ?paint@QGraphicsLineItem@@UAEXPAVQPainter@@PBVQStyleOptionGraphicsItem@@PAVQWidget@@@Z @ 4016 NONAME ; void QGraphicsLineItem::paint(class QPainter *, class QStyleOptionGraphicsItem const *, class QWidget *)
+ ??5@YAAAVQDataStream@@AAV0@AAVQTransform@@@Z @ 4017 NONAME ; class QDataStream & operator>>(class QDataStream &, class QTransform &)
+ ?setDoubleValue@QInputDialog@@QAEXN@Z @ 4018 NONAME ; void QInputDialog::setDoubleValue(double)
+ ?symbianFilterEvent@QInputContext@@UAE_NPAVQWidget@@PBVQSymbianEvent@@@Z @ 4019 NONAME ; bool QInputContext::symbianFilterEvent(class QWidget *, class QSymbianEvent const *)
+ ??0QPalette@@QAE@ABVQColor@@000000@Z @ 4020 NONAME ; QPalette::QPalette(class QColor const &, class QColor const &, class QColor const &, class QColor const &, class QColor const &, class QColor const &, class QColor const &)
+ ?restoreState@QMainWindow@@QAE_NABVQByteArray@@H@Z @ 4021 NONAME ; bool QMainWindow::restoreState(class QByteArray const &, int)
+ ?pageStep@QAbstractSlider@@QBEHXZ @ 4022 NONAME ; int QAbstractSlider::pageStep(void) const
+ ?d_func@QPlainTextEdit@@AAEPAVQPlainTextEditPrivate@@XZ @ 4023 NONAME ; class QPlainTextEditPrivate * QPlainTextEdit::d_func(void)
+ ?updateEditorData@QAbstractItemView@@MAEXXZ @ 4024 NONAME ; void QAbstractItemView::updateEditorData(void)
+ ?isDetached@QPen@@QAE_NXZ @ 4025 NONAME ; bool QPen::isDetached(void)
+ ??_EQHeaderView@@UAE@I@Z @ 4026 NONAME ; QHeaderView::~QHeaderView(unsigned int)
+ ?paintCell@QCalendarWidget@@MBEXPAVQPainter@@ABVQRect@@ABVQDate@@@Z @ 4027 NONAME ; void QCalendarWidget::paintCell(class QPainter *, class QRect const &, class QDate const &) const
+ ?trUtf8@QGuiPlatformPlugin@@SA?AVQString@@PBD0H@Z @ 4028 NONAME ; class QString QGuiPlatformPlugin::trUtf8(char const *, char const *, int)
+ ??0QPictureIO@@QAE@ABVQString@@PBD@Z @ 4029 NONAME ; QPictureIO::QPictureIO(class QString const &, char const *)
+ ?autoSipEnabled@QApplicationPrivate@@2_NA @ 4030 NONAME ; bool QApplicationPrivate::autoSipEnabled
+ ?setAutoRepeat@QAbstractButton@@QAEX_N@Z @ 4031 NONAME ; void QAbstractButton::setAutoRepeat(bool)
+ ??Eiterator@QTextBlock@@QAEAAV01@XZ @ 4032 NONAME ; class QTextBlock::iterator & QTextBlock::iterator::operator++(void)
+ ?itemAt@QFormLayout@@UBEPAVQLayoutItem@@H@Z @ 4033 NONAME ; class QLayoutItem * QFormLayout::itemAt(int) const
+ ?fitInView@QGraphicsView@@QAEXMMMMW4AspectRatioMode@Qt@@@Z @ 4034 NONAME ; void QGraphicsView::fitInView(float, float, float, float, enum Qt::AspectRatioMode)
+ ?check@QItemDelegate@@IBE?AVQRect@@ABVQStyleOptionViewItem@@ABV2@ABVQVariant@@@Z @ 4035 NONAME ; class QRect QItemDelegate::check(class QStyleOptionViewItem const &, class QRect const &, class QVariant const &) const
+ ?drawImage@QPainter@@QAEXABVQPointF@@ABVQImage@@@Z @ 4036 NONAME ; void QPainter::drawImage(class QPointF const &, class QImage const &)
+ ?metaObject@QItemDelegate@@UBEPBUQMetaObject@@XZ @ 4037 NONAME ; struct QMetaObject const * QItemDelegate::metaObject(void) const
+ ?clone@QListWidgetItem@@UBEPAV1@XZ @ 4038 NONAME ; class QListWidgetItem * QListWidgetItem::clone(void) const
+ ?qt_metacall@QStackedWidget@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 4039 NONAME ; int QStackedWidget::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?end@QTextTableCell@@QBE?AViterator@QTextFrame@@XZ @ 4040 NONAME ; class QTextFrame::iterator QTextTableCell::end(void) const
+ ?fileDialogSelectedNameFilter@QGuiPlatformPlugin@@UBE?AVQString@@PBVQFileDialog@@@Z @ 4041 NONAME ; class QString QGuiPlatformPlugin::fileDialogSelectedNameFilter(class QFileDialog const *) const
+ ?itemAt@QGraphicsGridLayout@@QBEPAVQGraphicsLayoutItem@@HH@Z @ 4042 NONAME ; class QGraphicsLayoutItem * QGraphicsGridLayout::itemAt(int, int) const
+ ?d_func@QMenuBar@@ABEPBVQMenuBarPrivate@@XZ @ 4043 NONAME ; class QMenuBarPrivate const * QMenuBar::d_func(void) const
+ ?tr@QDateTimeEdit@@SA?AVQString@@PBD0H@Z @ 4044 NONAME ; class QString QDateTimeEdit::tr(char const *, char const *, int)
+ ?screenPos@QGraphicsSceneHoverEvent@@QBE?AVQPoint@@XZ @ 4045 NONAME ; class QPoint QGraphicsSceneHoverEvent::screenPos(void) const
+ ?availableGeometry@QDesktopWidget@@QBE?BVQRect@@PBVQWidget@@@Z @ 4046 NONAME ; class QRect const QDesktopWidget::availableGeometry(class QWidget const *) const
+ ?setFilterRegExp@QSortFilterProxyModel@@QAEXABVQString@@@Z @ 4047 NONAME ; void QSortFilterProxyModel::setFilterRegExp(class QString const &)
+ ?fetchMore@QSortFilterProxyModel@@UAEXABVQModelIndex@@@Z @ 4048 NONAME ; void QSortFilterProxyModel::fetchMore(class QModelIndex const &)
+ ??UQRegion@@QBE?BV0@ABV0@@Z @ 4049 NONAME ; class QRegion const QRegion::operator|(class QRegion const &) const
+ ?isItemExpanded@QTreeWidget@@QBE_NPBVQTreeWidgetItem@@@Z @ 4050 NONAME ; bool QTreeWidget::isItemExpanded(class QTreeWidgetItem const *) const
+ ?setFont@QPainter@@QAEXABVQFont@@@Z @ 4051 NONAME ; void QPainter::setFont(class QFont const &)
+ ?metaObject@QScrollArea@@UBEPBUQMetaObject@@XZ @ 4052 NONAME ; struct QMetaObject const * QScrollArea::metaObject(void) const
+ ?filter@QFileDialog@@QBE?AV?$QFlags@W4Filter@QDir@@@@XZ @ 4053 NONAME ; class QFlags<enum QDir::Filter> QFileDialog::filter(void) const
+ ?qt_metacast@QStatusBar@@UAEPAXPBD@Z @ 4054 NONAME ; void * QStatusBar::qt_metacast(char const *)
+ ??_EQDesktopWidget@@UAE@I@Z @ 4055 NONAME ; QDesktopWidget::~QDesktopWidget(unsigned int)
+ ?supportsExtension@QGraphicsPixmapItem@@MBE_NW4Extension@QGraphicsItem@@@Z @ 4056 NONAME ; bool QGraphicsPixmapItem::supportsExtension(enum QGraphicsItem::Extension) const
+ ?emitMoveTo@QStrokerOps@@IAEXMM@Z @ 4057 NONAME ; void QStrokerOps::emitMoveTo(float, float)
+ ?invalidate@QTextEngine@@QAEXXZ @ 4058 NONAME ; void QTextEngine::invalidate(void)
+ ??0QGuiPlatformPlugin@@QAE@PAVQObject@@@Z @ 4059 NONAME ; QGuiPlatformPlugin::QGuiPlatformPlugin(class QObject *)
+ ?trUtf8@QS60Style@@SA?AVQString@@PBD0@Z @ 4060 NONAME ; class QString QS60Style::trUtf8(char const *, char const *)
+ ?testRuleset@Parser@QCss@@QAE_NXZ @ 4061 NONAME ; bool QCss::Parser::testRuleset(void)
+ ?screenGeometry@QDesktopWidget@@QBE?BVQRect@@H@Z @ 4062 NONAME ; class QRect const QDesktopWidget::screenGeometry(int) const
+ ?source@QGraphicsSceneDragDropEvent@@QBEPAVQWidget@@XZ @ 4063 NONAME ; class QWidget * QGraphicsSceneDragDropEvent::source(void) const
+ ?bold@QFont@@QBE_NXZ @ 4064 NONAME ; bool QFont::bold(void) const
+ ?resizeEvent@QColumnView@@MAEXPAVQResizeEvent@@@Z @ 4065 NONAME ; void QColumnView::resizeEvent(class QResizeEvent *)
+ ?setVerticalHeaderItem@QStandardItemModel@@QAEXHPAVQStandardItem@@@Z @ 4066 NONAME ; void QStandardItemModel::setVerticalHeaderItem(int, class QStandardItem *)
+ ?qt_metacast@QCommonStyle@@UAEPAXPBD@Z @ 4067 NONAME ; void * QCommonStyle::qt_metacast(char const *)
+ ?d_func@QCommonStyle@@AAEPAVQCommonStylePrivate@@XZ @ 4068 NONAME ; class QCommonStylePrivate * QCommonStyle::d_func(void)
+ ?setCompression@QImageWriter@@QAEXH@Z @ 4069 NONAME ; void QImageWriter::setCompression(int)
+ ?insertColumns@QSortFilterProxyModel@@UAE_NHHABVQModelIndex@@@Z @ 4070 NONAME ; bool QSortFilterProxyModel::insertColumns(int, int, class QModelIndex const &)
+ ?overrideWindowFlags@QWidget@@QAEXV?$QFlags@W4WindowType@Qt@@@@@Z @ 4071 NONAME ; void QWidget::overrideWindowFlags(class QFlags<enum Qt::WindowType>)
+ ?expireGlyphCache@QFontEngine@@AAEXXZ @ 4072 NONAME ; void QFontEngine::expireGlyphCache(void)
+ ?addWidget@QBoxLayout@@QAEXPAVQWidget@@HV?$QFlags@W4AlignmentFlag@Qt@@@@@Z @ 4073 NONAME ; void QBoxLayout::addWidget(class QWidget *, int, class QFlags<enum Qt::AlignmentFlag>)
+ ?textCursor@QTextControl@@QBE?AVQTextCursor@@XZ @ 4074 NONAME ; class QTextCursor QTextControl::textCursor(void) const
+ ?instance@QImagePixmapCleanupHooks@@SAPAV1@XZ @ 4075 NONAME ; class QImagePixmapCleanupHooks * QImagePixmapCleanupHooks::instance(void)
+ ?inputFormats@QPictureIO@@SA?AV?$QList@VQByteArray@@@@XZ @ 4076 NONAME ; class QList<class QByteArray> QPictureIO::inputFormats(void)
+ ?isExclusive@QActionGroup@@QBE_NXZ @ 4077 NONAME ; bool QActionGroup::isExclusive(void) const
+ ?grabWindow@QPixmap@@SA?AV1@PAVCCoeControl@@HHHH@Z @ 4078 NONAME ; class QPixmap QPixmap::grabWindow(class CCoeControl *, int, int, int, int)
+ ?create@QWidget@@IAEXPAVCCoeControl@@_N1@Z @ 4079 NONAME ; void QWidget::create(class CCoeControl *, bool, bool)
+ ?updateCell@QCalendarWidget@@IAEXABVQDate@@@Z @ 4080 NONAME ; void QCalendarWidget::updateCell(class QDate const &)
+ ?activeGestures@QGestureEvent@@QBE?AV?$QList@PAVQGesture@@@@XZ @ 4081 NONAME ; class QList<class QGesture *> QGestureEvent::activeGestures(void) const
+ ??0QGraphicsLineItem@@QAE@ABVQLineF@@PAVQGraphicsItem@@PAVQGraphicsScene@@@Z @ 4082 NONAME ; QGraphicsLineItem::QGraphicsLineItem(class QLineF const &, class QGraphicsItem *, class QGraphicsScene *)
+ ?setCurrentBlockState@QSyntaxHighlighter@@IAEXH@Z @ 4083 NONAME ; void QSyntaxHighlighter::setCurrentBlockState(int)
+ ??0QStyleOptionGroupBox@@IAE@H@Z @ 4084 NONAME ; QStyleOptionGroupBox::QStyleOptionGroupBox(int)
+ ??0QStyleOptionFrame@@QAE@ABV0@@Z @ 4085 NONAME ; QStyleOptionFrame::QStyleOptionFrame(class QStyleOptionFrame const &)
+ ?sceneRect@QGraphicsView@@QBE?AVQRectF@@XZ @ 4086 NONAME ; class QRectF QGraphicsView::sceneRect(void) const
+ ?minimumSizeHint@QSlider@@UBE?AVQSize@@XZ @ 4087 NONAME ; class QSize QSlider::minimumSizeHint(void) const
+ ??0QStatusTipEvent@@QAE@ABVQString@@@Z @ 4088 NONAME ; QStatusTipEvent::QStatusTipEvent(class QString const &)
+ ?qt_metacast@QGraphicsItemAnimation@@UAEPAXPBD@Z @ 4089 NONAME ; void * QGraphicsItemAnimation::qt_metacast(char const *)
+ ?visualIndex@QListView@@ABEHABVQModelIndex@@@Z @ 4090 NONAME ; int QListView::visualIndex(class QModelIndex const &) const
+ ?isValid@QTextFrameFormat@@QBE_NXZ @ 4091 NONAME ; bool QTextFrameFormat::isValid(void) const
+ ?tabBar@QTabWidget@@IBEPAVQTabBar@@XZ @ 4092 NONAME ; class QTabBar * QTabWidget::tabBar(void) const
+ ?insertTable@QTextCursor@@QAEPAVQTextTable@@HHABVQTextTableFormat@@@Z @ 4093 NONAME ; class QTextTable * QTextCursor::insertTable(int, int, class QTextTableFormat const &)
+ ?start@QLinearGradient@@QBE?AVQPointF@@XZ @ 4094 NONAME ; class QPointF QLinearGradient::start(void) const
+ ?repeatAction@QAbstractSlider@@IBE?AW4SliderAction@1@XZ @ 4095 NONAME ; enum QAbstractSlider::SliderAction QAbstractSlider::repeatAction(void) const
+ ??0QStyleOption@@QAE@ABV0@@Z @ 4096 NONAME ; QStyleOption::QStyleOption(class QStyleOption const &)
+ ?columnWidths@QColumnView@@QBE?AV?$QList@H@@XZ @ 4097 NONAME ; class QList<int> QColumnView::columnWidths(void) const
+ ?scale@QPainter@@QAEXMM@Z @ 4098 NONAME ; void QPainter::scale(float, float)
+ ?setShortcut@QAction@@QAEXABVQKeySequence@@@Z @ 4099 NONAME ; void QAction::setShortcut(class QKeySequence const &)
+ ?draw@QGraphicsBloomEffect@@MAEXPAVQPainter@@PAVQGraphicsEffectSource@@@Z @ 4100 NONAME ABSENT ; void QGraphicsBloomEffect::draw(class QPainter *, class QGraphicsEffectSource *)
+ ?setGeometry@QWidget@@QAEXABVQRect@@@Z @ 4101 NONAME ; void QWidget::setGeometry(class QRect const &)
+ ?clear@QMenu@@QAEXXZ @ 4102 NONAME ; void QMenu::clear(void)
+ ?mouseDoubleClickEvent@QAbstractScrollArea@@MAEXPAVQMouseEvent@@@Z @ 4103 NONAME ; void QAbstractScrollArea::mouseDoubleClickEvent(class QMouseEvent *)
+ ?device@QMovie@@QBEPAVQIODevice@@XZ @ 4104 NONAME ; class QIODevice * QMovie::device(void) const
+ ?triggered@QMenu@@IAEXPAVQAction@@@Z @ 4105 NONAME ; void QMenu::triggered(class QAction *)
+ ?widget@QTouchEvent@@QBEPAVQWidget@@XZ @ 4106 NONAME ; class QWidget * QTouchEvent::widget(void) const
+ ?allowedAreasChanged@QDockWidget@@IAEXV?$QFlags@W4DockWidgetArea@Qt@@@@@Z @ 4107 NONAME ; void QDockWidget::allowedAreasChanged(class QFlags<enum Qt::DockWidgetArea>)
+ ?dragEnterEvent@QGraphicsScene@@MAEXPAVQGraphicsSceneDragDropEvent@@@Z @ 4108 NONAME ; void QGraphicsScene::dragEnterEvent(class QGraphicsSceneDragDropEvent *)
+ ?draw@QTextLine@@QBEXPAVQPainter@@ABVQPointF@@PBUFormatRange@QTextLayout@@@Z @ 4109 NONAME ; void QTextLine::draw(class QPainter *, class QPointF const &, struct QTextLayout::FormatRange const *) const
+ ?type@QSymbianEvent@@QBE?AW4Type@1@XZ @ 4110 NONAME ; enum QSymbianEvent::Type QSymbianEvent::type(void) const
+ ?boundingRectFor@QGraphicsBloomEffect@@UBE?AVQRectF@@ABV2@@Z @ 4111 NONAME ABSENT ; class QRectF QGraphicsBloomEffect::boundingRectFor(class QRectF const &) const
+ ?setDockOptions@QMainWindow@@QAEXV?$QFlags@W4DockOption@QMainWindow@@@@@Z @ 4112 NONAME ; void QMainWindow::setDockOptions(class QFlags<enum QMainWindow::DockOption>)
+ ?canUndoChanged@QUndoGroup@@IAEX_N@Z @ 4113 NONAME ; void QUndoGroup::canUndoChanged(bool)
+ ?d_func@QMdiArea@@AAEPAVQMdiAreaPrivate@@XZ @ 4114 NONAME ; class QMdiAreaPrivate * QMdiArea::d_func(void)
+ ?currentItemChanged@QListWidget@@IAEXPAVQListWidgetItem@@0@Z @ 4115 NONAME ; void QListWidget::currentItemChanged(class QListWidgetItem *, class QListWidgetItem *)
+ ?mergeBlockCharFormat@QTextCursor@@QAEXABVQTextCharFormat@@@Z @ 4116 NONAME ; void QTextCursor::mergeBlockCharFormat(class QTextCharFormat const &)
+ ??1QStyleOptionButton@@QAE@XZ @ 4117 NONAME ; QStyleOptionButton::~QStyleOptionButton(void)
+ ??BQKeySequence@@QBE?AVQVariant@@XZ @ 4118 NONAME ; QKeySequence::operator class QVariant(void) const
+ ?buttons@QMessageBox@@QBE?AV?$QList@PAVQAbstractButton@@@@XZ @ 4119 NONAME ; class QList<class QAbstractButton *> QMessageBox::buttons(void) const
+ ?trUtf8@QSyntaxHighlighter@@SA?AVQString@@PBD0@Z @ 4120 NONAME ; class QString QSyntaxHighlighter::trUtf8(char const *, char const *)
+ ?animate_ui@QApplicationPrivate@@2_NA @ 4121 NONAME ; bool QApplicationPrivate::animate_ui
+ ?rotate@QMatrix4x4@@QAEAAV1@MABVQVector3D@@@Z @ 4122 NONAME ; class QMatrix4x4 & QMatrix4x4::rotate(float, class QVector3D const &)
+ ?paint@QGraphicsEllipseItem@@UAEXPAVQPainter@@PBVQStyleOptionGraphicsItem@@PAVQWidget@@@Z @ 4123 NONAME ; void QGraphicsEllipseItem::paint(class QPainter *, class QStyleOptionGraphicsItem const *, class QWidget *)
+ ??6@YA?AVQDebug@@V0@ABVQPen@@@Z @ 4124 NONAME ; class QDebug operator<<(class QDebug, class QPen const &)
+ ?data@QGraphicsItem@@QBE?AVQVariant@@H@Z @ 4125 NONAME ; class QVariant QGraphicsItem::data(int) const
+ ?leaveModal@QApplicationPrivate@@SAXPAVQWidget@@@Z @ 4126 NONAME ; void QApplicationPrivate::leaveModal(class QWidget *)
+ ??1QAbstractProxyModel@@UAE@XZ @ 4127 NONAME ; QAbstractProxyModel::~QAbstractProxyModel(void)
+ ?rootModelIndex@QComboBox@@QBE?AVQModelIndex@@XZ @ 4128 NONAME ; class QModelIndex QComboBox::rootModelIndex(void) const
+ ?contains@QItemSelection@@QBE_NABVQModelIndex@@@Z @ 4129 NONAME ; bool QItemSelection::contains(class QModelIndex const &) const
+ ?maximumDate@QDateTimeEdit@@QBE?AVQDate@@XZ @ 4130 NONAME ; class QDate QDateTimeEdit::maximumDate(void) const
+ ?paintEvent@QPushButton@@MAEXPAVQPaintEvent@@@Z @ 4131 NONAME ; void QPushButton::paintEvent(class QPaintEvent *)
+ ?setMaximumSize@QGraphicsLayoutItem@@QAEXABVQSizeF@@@Z @ 4132 NONAME ; void QGraphicsLayoutItem::setMaximumSize(class QSizeF const &)
+ ?trUtf8@QGraphicsView@@SA?AVQString@@PBD0@Z @ 4133 NONAME ; class QString QGraphicsView::trUtf8(char const *, char const *)
+ ?arcTo@QPainterPath@@QAEXMMMMMM@Z @ 4134 NONAME ; void QPainterPath::arcTo(float, float, float, float, float, float)
+ ?currentIdChanged@QWizard@@IAEXH@Z @ 4135 NONAME ; void QWizard::currentIdChanged(int)
+ ?displayedSections@QDateTimeEdit@@QBE?AV?$QFlags@W4Section@QDateTimeEdit@@@@XZ @ 4136 NONAME ; class QFlags<enum QDateTimeEdit::Section> QDateTimeEdit::displayedSections(void) const
+ ?removeColumns@QStandardItem@@QAEXHH@Z @ 4137 NONAME ; void QStandardItem::removeColumns(int, int)
+ ?maximum@QDoubleSpinBox@@QBENXZ @ 4138 NONAME ; double QDoubleSpinBox::maximum(void) const
+ ?update@QGraphicsScene@@QAEXABVQRectF@@@Z @ 4139 NONAME ; void QGraphicsScene::update(class QRectF const &)
+ ?staticMetaObject@QDockWidgetLayout@@2UQMetaObject@@B @ 4140 NONAME ; struct QMetaObject const QDockWidgetLayout::staticMetaObject
+ ?setShortcuts@QAction@@QAEXABV?$QList@VQKeySequence@@@@@Z @ 4141 NONAME ; void QAction::setShortcuts(class QList<class QKeySequence> const &)
+ ??0QImageWriter@@QAE@XZ @ 4142 NONAME ; QImageWriter::QImageWriter(void)
+ ?setTextCursor@QTextEdit@@QAEXABVQTextCursor@@@Z @ 4143 NONAME ; void QTextEdit::setTextCursor(class QTextCursor const &)
+ ?mouseMoveEvent@QTreeView@@MAEXPAVQMouseEvent@@@Z @ 4144 NONAME ; void QTreeView::mouseMoveEvent(class QMouseEvent *)
+ ?defaultButton@QMessageBox@@QBEPAVQPushButton@@XZ @ 4145 NONAME ; class QPushButton * QMessageBox::defaultButton(void) const
+ ?setVisible@QMenuBar@@UAEX_N@Z @ 4146 NONAME ; void QMenuBar::setVisible(bool)
+ ?preeditAreaPosition@QTextLayout@@QBEHXZ @ 4147 NONAME ; int QTextLayout::preeditAreaPosition(void) const
+ ?scenePos@QGraphicsSceneHoverEvent@@QBE?AVQPointF@@XZ @ 4148 NONAME ; class QPointF QGraphicsSceneHoverEvent::scenePos(void) const
+ ?boundingRectFor@QPixmapFilter@@UBE?AVQRectF@@ABV2@@Z @ 4149 NONAME ; class QRectF QPixmapFilter::boundingRectFor(class QRectF const &) const
+ ?painter@QPaintEngine@@QBEPAVQPainter@@XZ @ 4150 NONAME ; class QPainter * QPaintEngine::painter(void) const
+ ?init@QPixmap@@AAEXHHH@Z @ 4151 NONAME ; void QPixmap::init(int, int, int)
+ ??1QAction@@UAE@XZ @ 4152 NONAME ; QAction::~QAction(void)
+ ??_EQAbstractTextDocumentLayout@@UAE@I@Z @ 4153 NONAME ; QAbstractTextDocumentLayout::~QAbstractTextDocumentLayout(unsigned int)
+ ??D@YA?AVQPointF@@ABV0@ABVQTransform@@@Z @ 4154 NONAME ; class QPointF operator*(class QPointF const &, class QTransform const &)
+ ?focusOutEvent@QAbstractSpinBox@@MAEXPAVQFocusEvent@@@Z @ 4155 NONAME ; void QAbstractSpinBox::focusOutEvent(class QFocusEvent *)
+ ?d_func@QCalendarWidget@@AAEPAVQCalendarWidgetPrivate@@XZ @ 4156 NONAME ; class QCalendarWidgetPrivate * QCalendarWidget::d_func(void)
+ ?setLastScreenPos@QGraphicsSceneMouseEvent@@QAEXABVQPoint@@@Z @ 4157 NONAME ; void QGraphicsSceneMouseEvent::setLastScreenPos(class QPoint const &)
+ ?isUndoRedoEnabled@QPlainTextEdit@@QBE_NXZ @ 4158 NONAME ; bool QPlainTextEdit::isUndoRedoEnabled(void) const
+ ?clicked@QGroupBox@@IAEX_N@Z @ 4159 NONAME ; void QGroupBox::clicked(bool)
+ ?setKeyboardSingleStep@QMdiSubWindow@@QAEXH@Z @ 4160 NONAME ; void QMdiSubWindow::setKeyboardSingleStep(int)
+ ?brightness@QGraphicsBloomEffect@@QBEHXZ @ 4161 NONAME ABSENT ; int QGraphicsBloomEffect::brightness(void) const
+ ??_EQDragMoveEvent@@UAE@I@Z @ 4162 NONAME ; QDragMoveEvent::~QDragMoveEvent(unsigned int)
+ ?isItemSelected@QListWidget@@QBE_NPBVQListWidgetItem@@@Z @ 4163 NONAME ; bool QListWidget::isItemSelected(class QListWidgetItem const *) const
+ ?d_func@QGraphicsBlurEffect@@ABEPBVQGraphicsBlurEffectPrivate@@XZ @ 4164 NONAME ; class QGraphicsBlurEffectPrivate const * QGraphicsBlurEffect::d_func(void) const
+ ?mousePressEvent@QDial@@MAEXPAVQMouseEvent@@@Z @ 4165 NONAME ; void QDial::mousePressEvent(class QMouseEvent *)
+ ?setText@QImageWriter@@QAEXABVQString@@0@Z @ 4166 NONAME ; void QImageWriter::setText(class QString const &, class QString const &)
+ ?initStyleOption@QGraphicsWidget@@MBEXPAVQStyleOption@@@Z @ 4167 NONAME ; void QGraphicsWidget::initStyleOption(class QStyleOption *) const
+ ?getStaticMetaObject@QPaintBufferResource@@SAABUQMetaObject@@XZ @ 4168 NONAME ; struct QMetaObject const & QPaintBufferResource::getStaticMetaObject(void)
+ ??0QTextFormat@@QAE@H@Z @ 4169 NONAME ; QTextFormat::QTextFormat(int)
+ ?clipOperation@QPaintEngineState@@QBE?AW4ClipOperation@Qt@@XZ @ 4170 NONAME ; enum Qt::ClipOperation QPaintEngineState::clipOperation(void) const
+ ?contains@QGraphicsPolygonItem@@UBE_NABVQPointF@@@Z @ 4171 NONAME ; bool QGraphicsPolygonItem::contains(class QPointF const &) const
+ ?sizePolicy@QGraphicsAnchor@@QBE?AW4Policy@QSizePolicy@@XZ @ 4172 NONAME ; enum QSizePolicy::Policy QGraphicsAnchor::sizePolicy(void) const
+ ?setHtml@QTextDocument@@QAEXABVQString@@@Z @ 4173 NONAME ; void QTextDocument::setHtml(class QString const &)
+ ?q_func@QPaintEngineExPrivate@@ABEPBVQPaintEngineEx@@XZ @ 4174 NONAME ; class QPaintEngineEx const * QPaintEngineExPrivate::q_func(void) const
+ ?setSharedPainter@QWidgetPrivate@@QAEXPAVQPainter@@@Z @ 4175 NONAME ; void QWidgetPrivate::setSharedPainter(class QPainter *)
+ ?det@QTransform@@QBEMXZ @ 4176 NONAME ; float QTransform::det(void) const
+ ?doImageIO@QImageData@@QBE_NPBVQImage@@PAVQImageWriter@@H@Z @ 4177 NONAME ; bool QImageData::doImageIO(class QImage const *, class QImageWriter *, int) const
+ ??0QGraphicsSceneHoverEvent@@QAE@W4Type@QEvent@@@Z @ 4178 NONAME ; QGraphicsSceneHoverEvent::QGraphicsSceneHoverEvent(enum QEvent::Type)
+ ?setPixmap@QWizard@@QAEXW4WizardPixmap@1@ABVQPixmap@@@Z @ 4179 NONAME ; void QWizard::setPixmap(enum QWizard::WizardPixmap, class QPixmap const &)
+ ?focusOutEvent@QGraphicsProxyWidget@@MAEXPAVQFocusEvent@@@Z @ 4180 NONAME ; void QGraphicsProxyWidget::focusOutEvent(class QFocusEvent *)
+ ?findClosestTouchPointId@QApplicationPrivate@@QAEHABVQPointF@@@Z @ 4181 NONAME ; int QApplicationPrivate::findClosestTouchPointId(class QPointF const &)
+ ?staticMetaObject@QRubberBand@@2UQMetaObject@@B @ 4182 NONAME ; struct QMetaObject const QRubberBand::staticMetaObject
+ ?restore@QPainter@@QAEXXZ @ 4183 NONAME ; void QPainter::restore(void)
+ ?fillRect@QPainter@@QAEXABVQRect@@W4GlobalColor@Qt@@@Z @ 4184 NONAME ; void QPainter::fillRect(class QRect const &, enum Qt::GlobalColor)
+ ?extraSelections@QPlainTextEdit@@QBE?AV?$QList@UExtraSelection@QTextEdit@@@@XZ @ 4185 NONAME ; class QList<struct QTextEdit::ExtraSelection> QPlainTextEdit::extraSelections(void) const
+ ??0QPaintEngineEx@@QAE@XZ @ 4186 NONAME ; QPaintEngineEx::QPaintEngineEx(void)
+ ?focusOutEvent@QGraphicsItem@@MAEXPAVQFocusEvent@@@Z @ 4187 NONAME ; void QGraphicsItem::focusOutEvent(class QFocusEvent *)
+ ?mapToScene@QGraphicsItem@@QBE?AVQPolygonF@@MMMM@Z @ 4188 NONAME ; class QPolygonF QGraphicsItem::mapToScene(float, float, float, float) const
+ ?trUtf8@QLabel@@SA?AVQString@@PBD0H@Z @ 4189 NONAME ; class QString QLabel::trUtf8(char const *, char const *, int)
+ ?setChild@QStandardItem@@QAEXHHPAV1@@Z @ 4190 NONAME ; void QStandardItem::setChild(int, int, class QStandardItem *)
+ ?toolButtonStyle@QToolButton@@QBE?AW4ToolButtonStyle@Qt@@XZ @ 4191 NONAME ; enum Qt::ToolButtonStyle QToolButton::toolButtonStyle(void) const
+ ?systemIconThemeName@QGuiPlatformPlugin@@UAE?AVQString@@XZ @ 4192 NONAME ; class QString QGuiPlatformPlugin::systemIconThemeName(void)
+ ?items@QTreeWidget@@IBE?AV?$QList@PAVQTreeWidgetItem@@@@PBVQMimeData@@@Z @ 4193 NONAME ; class QList<class QTreeWidgetItem *> QTreeWidget::items(class QMimeData const *) const
+ ?filterSelected@QFileDialog@@IAEXABVQString@@@Z @ 4194 NONAME ; void QFileDialog::filterSelected(class QString const &)
+ ?jumpToNextFrame@QMovie@@QAE_NXZ @ 4195 NONAME ; bool QMovie::jumpToNextFrame(void)
+ ??1QStackedLayout@@UAE@XZ @ 4196 NONAME ; QStackedLayout::~QStackedLayout(void)
+ ??_EQStackedWidget@@UAE@I@Z @ 4197 NONAME ; QStackedWidget::~QStackedWidget(unsigned int)
+ ??_EQLineControl@@UAE@I@Z @ 4198 NONAME ; QLineControl::~QLineControl(unsigned int)
+ ??4QFontMetricsF@@QAEAAV0@ABVQFontMetrics@@@Z @ 4199 NONAME ; class QFontMetricsF & QFontMetricsF::operator=(class QFontMetrics const &)
+ ?bold@QFontDatabase@@QBE_NABVQString@@0@Z @ 4200 NONAME ; bool QFontDatabase::bold(class QString const &, class QString const &) const
+ ?mousePressEvent@QGraphicsView@@MAEXPAVQMouseEvent@@@Z @ 4201 NONAME ; void QGraphicsView::mousePressEvent(class QMouseEvent *)
+ ??0QStyleOptionViewItem@@IAE@H@Z @ 4202 NONAME ; QStyleOptionViewItem::QStyleOptionViewItem(int)
+ ?detach_helper@QPainterPath@@AAEXXZ @ 4203 NONAME ; void QPainterPath::detach_helper(void)
+ ?getStaticMetaObject@QPinchGesture@@SAABUQMetaObject@@XZ @ 4204 NONAME ; struct QMetaObject const & QPinchGesture::getStaticMetaObject(void)
+ ?childAt@QWidget@@QBEPAV1@ABVQPoint@@@Z @ 4205 NONAME ; class QWidget * QWidget::childAt(class QPoint const &) const
+ ?clearFocus@QGraphicsScene@@QAEXXZ @ 4206 NONAME ; void QGraphicsScene::clearFocus(void)
+ ?map@QTransform@@QBE?AVQPolygon@@ABV2@@Z @ 4207 NONAME ; class QPolygon QTransform::map(class QPolygon const &) const
+ ?qt_metacast@QGraphicsTransform@@UAEPAXPBD@Z @ 4208 NONAME ; void * QGraphicsTransform::qt_metacast(char const *)
+ ?font@QApplication@@SA?AVQFont@@XZ @ 4209 NONAME ; class QFont QApplication::font(void)
+ ?fillRect@QPainter@@QAEXABVQRectF@@ABVQBrush@@@Z @ 4210 NONAME ; void QPainter::fillRect(class QRectF const &, class QBrush const &)
+ ?setDisabled@QTreeWidgetItem@@QAEX_N@Z @ 4211 NONAME ; void QTreeWidgetItem::setDisabled(bool)
+ ??0QStyleOptionTabV3@@QAE@ABVQStyleOptionTab@@@Z @ 4212 NONAME ; QStyleOptionTabV3::QStyleOptionTabV3(class QStyleOptionTab const &)
+ ?jumpToFrame@QMovie@@QAE_NH@Z @ 4213 NONAME ; bool QMovie::jumpToFrame(int)
+ ?mouseDoubleClickEvent@QGraphicsItem@@MAEXPAVQGraphicsSceneMouseEvent@@@Z @ 4214 NONAME ; void QGraphicsItem::mouseDoubleClickEvent(class QGraphicsSceneMouseEvent *)
+ ?strokePolygon@QStrokerOps@@QAEXPBVQPointF@@H_NPAXABVQTransform@@@Z @ 4215 NONAME ; void QStrokerOps::strokePolygon(class QPointF const *, int, bool, void *, class QTransform const &)
+ ?proxyModel@QFileDialog@@QBEPAVQAbstractProxyModel@@XZ @ 4216 NONAME ; class QAbstractProxyModel * QFileDialog::proxyModel(void) const
+ ?staticMetaObject@QTextObject@@2UQMetaObject@@B @ 4217 NONAME ; struct QMetaObject const QTextObject::staticMetaObject
+ ?passwordCharacter@QLineControl@@QBE?AVQChar@@XZ @ 4218 NONAME ; class QChar QLineControl::passwordCharacter(void) const
+ ?sliderReleased@QAbstractSlider@@IAEXXZ @ 4219 NONAME ; void QAbstractSlider::sliderReleased(void)
+ ?metaObject@QDial@@UBEPBUQMetaObject@@XZ @ 4220 NONAME ; struct QMetaObject const * QDial::metaObject(void) const
+ ??4QTextTableCell@@QAEAAV0@ABV0@@Z @ 4221 NONAME ; class QTextTableCell & QTextTableCell::operator=(class QTextTableCell const &)
+ ?keyPressEvent@QGraphicsProxyWidget@@MAEXPAVQKeyEvent@@@Z @ 4222 NONAME ; void QGraphicsProxyWidget::keyPressEvent(class QKeyEvent *)
+ ??1QEventDispatcherS60@@UAE@XZ @ 4223 NONAME ; QEventDispatcherS60::~QEventDispatcherS60(void)
+ ?setShortcutContext@QAction@@QAEXW4ShortcutContext@Qt@@@Z @ 4224 NONAME ; void QAction::setShortcutContext(enum Qt::ShortcutContext)
+ ?contextMenuEvent@QMdiSubWindow@@MAEXPAVQContextMenuEvent@@@Z @ 4225 NONAME ; void QMdiSubWindow::contextMenuEvent(class QContextMenuEvent *)
+ ?getStaticMetaObject@QGraphicsAnchor@@SAABUQMetaObject@@XZ @ 4226 NONAME ; struct QMetaObject const & QGraphicsAnchor::getStaticMetaObject(void)
+ ?trUtf8@QGraphicsEffectSource@@SA?AVQString@@PBD0@Z @ 4227 NONAME ; class QString QGraphicsEffectSource::trUtf8(char const *, char const *)
+ ?setComboBoxEditable@QInputDialog@@QAEX_N@Z @ 4228 NONAME ; void QInputDialog::setComboBoxEditable(bool)
+ ??0QPainterState@@QAE@XZ @ 4229 NONAME ; QPainterState::QPainterState(void)
+ ?fontOverline@QTextCharFormat@@QBE_NXZ @ 4230 NONAME ; bool QTextCharFormat::fontOverline(void) const
+ ?sizeHint@QWizard@@UBE?AVQSize@@XZ @ 4231 NONAME ; class QSize QWizard::sizeHint(void) const
+ ?qt_metacast@QFocusFrame@@UAEPAXPBD@Z @ 4232 NONAME ; void * QFocusFrame::qt_metacast(char const *)
+ ?fontChange@QWidget@@MAEXABVQFont@@@Z @ 4233 NONAME ; void QWidget::fontChange(class QFont const &)
+ ?ungrabMouseEvent@QGraphicsWidget@@MAEXPAVQEvent@@@Z @ 4234 NONAME ; void QGraphicsWidget::ungrabMouseEvent(class QEvent *)
+ ??0QGraphicsEffectSource@@IAE@AAVQGraphicsEffectSourcePrivate@@PAVQObject@@@Z @ 4235 NONAME ; QGraphicsEffectSource::QGraphicsEffectSource(class QGraphicsEffectSourcePrivate &, class QObject *)
+ ?childrenRegion@QWidget@@QBE?AVQRegion@@XZ @ 4236 NONAME ; class QRegion QWidget::childrenRegion(void) const
+ ?item@QTextList@@QBE?AVQTextBlock@@H@Z @ 4237 NONAME ; class QTextBlock QTextList::item(int) const
+ ?setDateTimeRange@QDateTimeEdit@@QAEXABVQDateTime@@0@Z @ 4238 NONAME ; void QDateTimeEdit::setDateTimeRange(class QDateTime const &, class QDateTime const &)
+ ?oldSize@QGraphicsSceneResizeEvent@@QBE?AVQSizeF@@XZ @ 4239 NONAME ; class QSizeF QGraphicsSceneResizeEvent::oldSize(void) const
+ ?qt_metacall@QPixmapBlurFilter@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 4240 NONAME ; int QPixmapBlurFilter::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?iconSize@QMainWindow@@QBE?AVQSize@@XZ @ 4241 NONAME ; class QSize QMainWindow::iconSize(void) const
+ ?validate@QDoubleSpinBox@@UBE?AW4State@QValidator@@AAVQString@@AAH@Z @ 4242 NONAME ; enum QValidator::State QDoubleSpinBox::validate(class QString &, int &) const
+ ?draw@QPlainTextDocumentLayout@@UAEXPAVQPainter@@ABUPaintContext@QAbstractTextDocumentLayout@@@Z @ 4243 NONAME ; void QPlainTextDocumentLayout::draw(class QPainter *, struct QAbstractTextDocumentLayout::PaintContext const &)
+ ?font@QWidget@@QBEABVQFont@@XZ @ 4244 NONAME ; class QFont const & QWidget::font(void) const
+ ?focusOutEvent@QGraphicsTextItem@@MAEXPAVQFocusEvent@@@Z @ 4245 NONAME ; void QGraphicsTextItem::focusOutEvent(class QFocusEvent *)
+ ?qt_metacast@QActionGroup@@UAEPAXPBD@Z @ 4246 NONAME ; void * QActionGroup::qt_metacast(char const *)
+ ?inputMethodQuery@QTextEdit@@MBE?AVQVariant@@W4InputMethodQuery@Qt@@@Z @ 4247 NONAME ; class QVariant QTextEdit::inputMethodQuery(enum Qt::InputMethodQuery) const
+ ?paint@QGraphicsRectItem@@UAEXPAVQPainter@@PBVQStyleOptionGraphicsItem@@PAVQWidget@@@Z @ 4248 NONAME ; void QGraphicsRectItem::paint(class QPainter *, class QStyleOptionGraphicsItem const *, class QWidget *)
+ ?getStaticMetaObject@QCoeFepInputContext@@SAABUQMetaObject@@XZ @ 4249 NONAME ABSENT ; struct QMetaObject const & QCoeFepInputContext::getStaticMetaObject(void)
+ ?d_func@QStyle@@AAEPAVQStylePrivate@@XZ @ 4250 NONAME ; class QStylePrivate * QStyle::d_func(void)
+ ?hasAlphaChannel@QRasterPixmapData@@UBE_NXZ @ 4251 NONAME ; bool QRasterPixmapData::hasAlphaChannel(void) const
+ ??1QAbstractScrollArea@@UAE@XZ @ 4252 NONAME ; QAbstractScrollArea::~QAbstractScrollArea(void)
+ ??9QMatrix4x4@@QBE_NABV0@@Z @ 4253 NONAME ; bool QMatrix4x4::operator!=(class QMatrix4x4 const &) const
+ ?qt_metacall@QInputContextPlugin@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 4254 NONAME ; int QInputContextPlugin::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?documentMode@QTabWidget@@QBE_NXZ @ 4255 NONAME ; bool QTabWidget::documentMode(void) const
+ ?qt_metacall@QPanGesture@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 4256 NONAME ; int QPanGesture::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?index@QDirModel@@QBE?AVQModelIndex@@ABVQString@@H@Z @ 4257 NONAME ; class QModelIndex QDirModel::index(class QString const &, int) const
+ ?bottomRow@QTableWidgetSelectionRange@@QBEHXZ @ 4258 NONAME ; int QTableWidgetSelectionRange::bottomRow(void) const
+ ?qt_metacast@QMessageBox@@UAEPAXPBD@Z @ 4259 NONAME ; void * QMessageBox::qt_metacast(char const *)
+ ?d_func@QHeaderView@@ABEPBVQHeaderViewPrivate@@XZ @ 4260 NONAME ; class QHeaderViewPrivate const * QHeaderView::d_func(void) const
+ ?geometry@QLayout@@UBE?AVQRect@@XZ @ 4261 NONAME ; class QRect QLayout::geometry(void) const
+ ?trUtf8@QCompleter@@SA?AVQString@@PBD0H@Z @ 4262 NONAME ; class QString QCompleter::trUtf8(char const *, char const *, int)
+ ?fromHsvF@QColor@@SA?AV1@MMMM@Z @ 4263 NONAME ; class QColor QColor::fromHsvF(float, float, float, float)
+ ??1QFormLayout@@UAE@XZ @ 4264 NONAME ; QFormLayout::~QFormLayout(void)
+ ?read@QListWidgetItem@@UAEXAAVQDataStream@@@Z @ 4265 NONAME ; void QListWidgetItem::read(class QDataStream &)
+ ?focus_widget@QApplicationPrivate@@2PAVQWidget@@A @ 4266 NONAME ; class QWidget * QApplicationPrivate::focus_widget
+ ?buttons@QButtonGroup@@QBE?AV?$QList@PAVQAbstractButton@@@@XZ @ 4267 NONAME ; class QList<class QAbstractButton *> QButtonGroup::buttons(void) const
+ ?setDocument@QPlainTextEdit@@QAEXPAVQTextDocument@@@Z @ 4268 NONAME ; void QPlainTextEdit::setDocument(class QTextDocument *)
+ ?isAnimated@QMainWindow@@QBE_NXZ @ 4269 NONAME ; bool QMainWindow::isAnimated(void) const
+ ??1QPinchGesture@@UAE@XZ @ 4270 NONAME ; QPinchGesture::~QPinchGesture(void)
+ ?index@QUndoStack@@QBEHXZ @ 4271 NONAME ; int QUndoStack::index(void) const
+ ?width@QTextEngine@@QBE?AUQFixed@@HH@Z @ 4272 NONAME ; struct QFixed QTextEngine::width(int, int) const
+ ?trUtf8@QIconEnginePluginV2@@SA?AVQString@@PBD0H@Z @ 4273 NONAME ; class QString QIconEnginePluginV2::trUtf8(char const *, char const *, int)
+ ?home@QLineControl@@QAEX_N@Z @ 4274 NONAME ; void QLineControl::home(bool)
+ ??_EQDirModel@@UAE@I@Z @ 4275 NONAME ; QDirModel::~QDirModel(unsigned int)
+ ?trUtf8@QPaintBufferSignalProxy@@SA?AVQString@@PBD0@Z @ 4276 NONAME ; class QString QPaintBufferSignalProxy::trUtf8(char const *, char const *)
+ ?isNull@QTextCursor@@QBE_NXZ @ 4277 NONAME ; bool QTextCursor::isNull(void) const
+ ?selectionRect@QTextControl@@QBE?AVQRectF@@ABVQTextCursor@@@Z @ 4278 NONAME ; class QRectF QTextControl::selectionRect(class QTextCursor const &) const
+ ?hoverMoveEvent@QGraphicsTextItem@@MAEXPAVQGraphicsSceneHoverEvent@@@Z @ 4279 NONAME ; void QGraphicsTextItem::hoverMoveEvent(class QGraphicsSceneHoverEvent *)
+ ??0QGraphicsSceneDragDropEvent@@QAE@W4Type@QEvent@@@Z @ 4280 NONAME ; QGraphicsSceneDragDropEvent::QGraphicsSceneDragDropEvent(enum QEvent::Type)
+ ??1QPaintEngineExPrivate@@UAE@XZ @ 4281 NONAME ; QPaintEngineExPrivate::~QPaintEngineExPrivate(void)
+ ?qt_metacall@QRubberBand@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 4282 NONAME ; int QRubberBand::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?showChildren@QWidgetPrivate@@QAEX_N@Z @ 4283 NONAME ; void QWidgetPrivate::showChildren(bool)
+ ?setTabShape@QMdiArea@@QAEXW4TabShape@QTabWidget@@@Z @ 4284 NONAME ; void QMdiArea::setTabShape(enum QTabWidget::TabShape)
+ ?left@QItemSelectionRange@@QBEHXZ @ 4285 NONAME ; int QItemSelectionRange::left(void) const
+ ??1QGraphicsAnchorLayout@@UAE@XZ @ 4286 NONAME ; QGraphicsAnchorLayout::~QGraphicsAnchorLayout(void)
+ ?setFontStyleHint@QTextCharFormat@@QAEXW4StyleHint@QFont@@W4StyleStrategy@3@@Z @ 4287 NONAME ; void QTextCharFormat::setFontStyleHint(enum QFont::StyleHint, enum QFont::StyleStrategy)
+ ?focusNextPrevChild@QPlainTextEdit@@MAE_N_N@Z @ 4288 NONAME ; bool QPlainTextEdit::focusNextPrevChild(bool)
+ ?size@QGraphicsWidget@@QBE?AVQSizeF@@XZ @ 4289 NONAME ; class QSizeF QGraphicsWidget::size(void) const
+ ?setAlignment@QLayout@@QAE_NPAVQWidget@@V?$QFlags@W4AlignmentFlag@Qt@@@@@Z @ 4290 NONAME ; bool QLayout::setAlignment(class QWidget *, class QFlags<enum Qt::AlignmentFlag>)
+ ?insertItems@QComboBox@@QAEXHABVQStringList@@@Z @ 4291 NONAME ; void QComboBox::insertItems(int, class QStringList const &)
+ ?handle@QWidget@@QBEKXZ @ 4292 NONAME ; unsigned long QWidget::handle(void) const
+ ??1QTreeWidgetItemIterator@@QAE@XZ @ 4293 NONAME ; QTreeWidgetItemIterator::~QTreeWidgetItemIterator(void)
+ ??_EQGraphicsEffect@@UAE@I@Z @ 4294 NONAME ; QGraphicsEffect::~QGraphicsEffect(unsigned int)
+ ?paintEngine@QPaintBuffer@@UBEPAVQPaintEngine@@XZ @ 4295 NONAME ; class QPaintEngine * QPaintBuffer::paintEngine(void) const
+ ?isAreaAllowed@QToolBar@@QBE_NW4ToolBarArea@Qt@@@Z @ 4296 NONAME ; bool QToolBar::isAreaAllowed(enum Qt::ToolBarArea) const
+ ?fontWeight@QTextCharFormat@@QBEHXZ @ 4297 NONAME ; int QTextCharFormat::fontWeight(void) const
+ ?staticMetaObject@QTextList@@2UQMetaObject@@B @ 4298 NONAME ; struct QMetaObject const QTextList::staticMetaObject
+ ?setBlurRadius@QPixmapDropShadowFilter@@QAEXH@Z @ 4299 NONAME ABSENT ; void QPixmapDropShadowFilter::setBlurRadius(int)
+ ?GetEditorContentForFep@QCoeFepInputContext@@UBEXAAVTDes16@@HH@Z @ 4300 NONAME ABSENT ; void QCoeFepInputContext::GetEditorContentForFep(class TDes16 &, int, int) const
+ ?trUtf8@QGraphicsWidget@@SA?AVQString@@PBD0H@Z @ 4301 NONAME ; class QString QGraphicsWidget::trUtf8(char const *, char const *, int)
+ ?extraItemCache@QGraphicsItemPrivate@@QBEPAVQGraphicsItemCache@@XZ @ 4302 NONAME ; class QGraphicsItemCache * QGraphicsItemPrivate::extraItemCache(void) const
+ ?metaObject@QTableWidget@@UBEPBUQMetaObject@@XZ @ 4303 NONAME ; struct QMetaObject const * QTableWidget::metaObject(void) const
+ ?setItemText@QToolBox@@QAEXHABVQString@@@Z @ 4304 NONAME ; void QToolBox::setItemText(int, class QString const &)
+ ?setCascadingSectionResizes@QHeaderView@@QAEX_N@Z @ 4305 NONAME ; void QHeaderView::setCascadingSectionResizes(bool)
+ ?d_func@QAbstractGraphicsShapeItem@@AAEPAVQAbstractGraphicsShapeItemPrivate@@XZ @ 4306 NONAME ; class QAbstractGraphicsShapeItemPrivate * QAbstractGraphicsShapeItem::d_func(void)
+ ?href@QWhatsThisClickedEvent@@QBE?AVQString@@XZ @ 4307 NONAME ; class QString QWhatsThisClickedEvent::href(void) const
+ ?addItem@QGraphicsLinearLayout@@QAEXPAVQGraphicsLayoutItem@@@Z @ 4308 NONAME ; void QGraphicsLinearLayout::addItem(class QGraphicsLayoutItem *)
+ ?verticalPolicy@QSizePolicy@@QBE?AW4Policy@1@XZ @ 4309 NONAME ; enum QSizePolicy::Policy QSizePolicy::verticalPolicy(void) const
+ ?italic@QFontInfo@@QBE_NXZ @ 4310 NONAME ; bool QFontInfo::italic(void) const
+ ?isForwardAvailable@QTextBrowser@@QBE_NXZ @ 4311 NONAME ; bool QTextBrowser::isForwardAvailable(void) const
+ ?changeEvent@QMdiSubWindow@@MAEXPAVQEvent@@@Z @ 4312 NONAME ; void QMdiSubWindow::changeEvent(class QEvent *)
+ ??0QBrush@@QAE@ABVQImage@@@Z @ 4313 NONAME ; QBrush::QBrush(class QImage const &)
+ ?d_func@QDialogButtonBox@@ABEPBVQDialogButtonBoxPrivate@@XZ @ 4314 NONAME ; class QDialogButtonBoxPrivate const * QDialogButtonBox::d_func(void) const
+ ?ungrabMouseEvent@QGraphicsProxyWidget@@MAEXPAVQEvent@@@Z @ 4315 NONAME ; void QGraphicsProxyWidget::ungrabMouseEvent(class QEvent *)
+ ?sizeFromContents@QProxyStyle@@UBE?AVQSize@@W4ContentsType@QStyle@@PBVQStyleOption@@ABV2@PBVQWidget@@@Z @ 4316 NONAME ; class QSize QProxyStyle::sizeFromContents(enum QStyle::ContentsType, class QStyleOption const *, class QSize const &, class QWidget const *) const
+ ?resizeColumnToContents@QTreeView@@QAEXH@Z @ 4317 NONAME ; void QTreeView::resizeColumnToContents(int)
+ ?addButton@QMessageBox@@QAEPAVQPushButton@@ABVQString@@W4ButtonRole@1@@Z @ 4318 NONAME ; class QPushButton * QMessageBox::addButton(class QString const &, enum QMessageBox::ButtonRole)
+ ?drawEllipse@QPainter@@QAEXABVQRectF@@@Z @ 4319 NONAME ; void QPainter::drawEllipse(class QRectF const &)
+ ?drawImage@QPaintEngineEx@@UAEXABVQPointF@@ABVQImage@@@Z @ 4320 NONAME ; void QPaintEngineEx::drawImage(class QPointF const &, class QImage const &)
+ ?hasAcceptableInput@QLineControl@@ABE_NABVQString@@@Z @ 4321 NONAME ; bool QLineControl::hasAcceptableInput(class QString const &) const
+ ??0QStyleOptionFrame@@QAE@XZ @ 4322 NONAME ; QStyleOptionFrame::QStyleOptionFrame(void)
+ ?setViewport@QAbstractScrollArea@@QAEXPAVQWidget@@@Z @ 4323 NONAME ; void QAbstractScrollArea::setViewport(class QWidget *)
+ ?drawInlineObject@QAbstractTextDocumentLayout@@MAEXPAVQPainter@@ABVQRectF@@VQTextInlineObject@@HABVQTextFormat@@@Z @ 4324 NONAME ; void QAbstractTextDocumentLayout::drawInlineObject(class QPainter *, class QRectF const &, class QTextInlineObject, int, class QTextFormat const &)
+ ??0QTextTableFormat@@IAE@ABVQTextFormat@@@Z @ 4325 NONAME ; QTextTableFormat::QTextTableFormat(class QTextFormat const &)
+ ??_EQDoubleSpinBox@@UAE@I@Z @ 4326 NONAME ; QDoubleSpinBox::~QDoubleSpinBox(unsigned int)
+ ?scaledToHeight@QImage@@QBE?AV1@HW4TransformationMode@Qt@@@Z @ 4327 NONAME ; class QImage QImage::scaledToHeight(int, enum Qt::TransformationMode) const
+ ?blockFormat@QTextBlock@@QBE?AVQTextBlockFormat@@XZ @ 4328 NONAME ; class QTextBlockFormat QTextBlock::blockFormat(void) const
+ ?underlinePos@QFontMetricsF@@QBEMXZ @ 4329 NONAME ; float QFontMetricsF::underlinePos(void) const
+ ?staticMetaObject@QGraphicsAnchor@@2UQMetaObject@@B @ 4330 NONAME ; struct QMetaObject const QGraphicsAnchor::staticMetaObject
+ ?d_func@QStackedLayout@@ABEPBVQStackedLayoutPrivate@@XZ @ 4331 NONAME ; class QStackedLayoutPrivate const * QStackedLayout::d_func(void) const
+ ?setSystemClip@QPaintEngine@@QAEXABVQRegion@@@Z @ 4332 NONAME ; void QPaintEngine::setSystemClip(class QRegion const &)
+ ?tr@QStackedWidget@@SA?AVQString@@PBD0@Z @ 4333 NONAME ; class QString QStackedWidget::tr(char const *, char const *)
+ ?focusOutEvent@QGraphicsWidget@@MAEXPAVQFocusEvent@@@Z @ 4334 NONAME ; void QGraphicsWidget::focusOutEvent(class QFocusEvent *)
+ ?done@QFileDialog@@MAEXH@Z @ 4335 NONAME ; void QFileDialog::done(int)
+ ?drawEllipse@QPainter@@QAEXABVQRect@@@Z @ 4336 NONAME ; void QPainter::drawEllipse(class QRect const &)
+ ?loadFromData@QImage@@QAE_NABVQByteArray@@PBD@Z @ 4337 NONAME ; bool QImage::loadFromData(class QByteArray const &, char const *)
+ ?trUtf8@QMainWindow@@SA?AVQString@@PBD0@Z @ 4338 NONAME ; class QString QMainWindow::trUtf8(char const *, char const *)
+ ?setFileName@QImageWriter@@QAEXABVQString@@@Z @ 4339 NONAME ; void QImageWriter::setFileName(class QString const &)
+ ?lazyChildCount@QDirModel@@QBE_NXZ @ 4340 NONAME ; bool QDirModel::lazyChildCount(void) const
+ ?scaledClipRect@QImageReader@@QBE?AVQRect@@XZ @ 4341 NONAME ; class QRect QImageReader::scaledClipRect(void) const
+ ?qt_metacast@QGraphicsObject@@UAEPAXPBD@Z @ 4342 NONAME ; void * QGraphicsObject::qt_metacast(char const *)
+ ?setUpdatesEnabled@QWidget@@QAEX_N@Z @ 4343 NONAME ; void QWidget::setUpdatesEnabled(bool)
+ ??0QPolygon@@QAE@H@Z @ 4344 NONAME ; QPolygon::QPolygon(int)
+ ?shape@QTabBar@@QBE?AW4Shape@1@XZ @ 4345 NONAME ; enum QTabBar::Shape QTabBar::shape(void) const
+ ?tr@QListView@@SA?AVQString@@PBD0H@Z @ 4346 NONAME ; class QString QListView::tr(char const *, char const *, int)
+ ?resetTransform@QPainter@@QAEXXZ @ 4347 NONAME ; void QPainter::resetTransform(void)
+ ?anchorAtCursor@QTextControl@@QBE?AVQString@@XZ @ 4348 NONAME ; class QString QTextControl::anchorAtCursor(void) const
+ ?symbianHandleCommand@QApplicationPrivate@@QAEHH@Z @ 4349 NONAME ; int QApplicationPrivate::symbianHandleCommand(int)
+ ?saveState@QFileDialog@@QBE?AVQByteArray@@XZ @ 4350 NONAME ; class QByteArray QFileDialog::saveState(void) const
+ ?usesScrollButtons@QTabBar@@QBE_NXZ @ 4351 NONAME ; bool QTabBar::usesScrollButtons(void) const
+ ?sizeHint@QDockWidgetLayout@@UBE?AVQSize@@XZ @ 4352 NONAME ; class QSize QDockWidgetLayout::sizeHint(void) const
+ ?drawPolygon@QPainter@@QAEXABVQPolygon@@W4FillRule@Qt@@@Z @ 4353 NONAME ; void QPainter::drawPolygon(class QPolygon const &, enum Qt::FillRule)
+ ?naturalTextWidth@QLineControl@@QBEMXZ @ 4354 NONAME ; float QLineControl::naturalTextWidth(void) const
+ ?clip@QPaintEngineEx@@UAEXABVQPainterPath@@W4ClipOperation@Qt@@@Z @ 4355 NONAME ; void QPaintEngineEx::clip(class QPainterPath const &, enum Qt::ClipOperation)
+ ?setContentsMargins@QGraphicsLayout@@QAEXMMMM@Z @ 4356 NONAME ; void QGraphicsLayout::setContentsMargins(float, float, float, float)
+ ?filterRole@QSortFilterProxyModel@@QBEHXZ @ 4357 NONAME ; int QSortFilterProxyModel::filterRole(void) const
+ ?hideEvent@QSizeGrip@@MAEXPAVQHideEvent@@@Z @ 4358 NONAME ; void QSizeGrip::hideEvent(class QHideEvent *)
+ ?staticMetaObject@QCalendarWidget@@2UQMetaObject@@B @ 4359 NONAME ; struct QMetaObject const QCalendarWidget::staticMetaObject
+ ?tr@QWidgetAction@@SA?AVQString@@PBD0H@Z @ 4360 NONAME ; class QString QWidgetAction::tr(char const *, char const *, int)
+ ?initializePage@QWizard@@MAEXH@Z @ 4361 NONAME ; void QWizard::initializePage(int)
+ ?d_func@QButtonGroup@@AAEPAVQButtonGroupPrivate@@XZ @ 4362 NONAME ; class QButtonGroupPrivate * QButtonGroup::d_func(void)
+ ?parentWidget@QGraphicsItem@@QBEPAVQGraphicsWidget@@XZ @ 4363 NONAME ; class QGraphicsWidget * QGraphicsItem::parentWidget(void) const
+ ?paintEvent@QFocusFrame@@MAEXPAVQPaintEvent@@@Z @ 4364 NONAME ; void QFocusFrame::paintEvent(class QPaintEvent *)
+ ?trUtf8@QDockWidget@@SA?AVQString@@PBD0H@Z @ 4365 NONAME ; class QString QDockWidget::trUtf8(char const *, char const *, int)
+ ?minimumHeight@QGraphicsLayoutItem@@QBEMXZ @ 4366 NONAME ; float QGraphicsLayoutItem::minimumHeight(void) const
+ ?sectionsAboutToBeRemoved@QHeaderView@@IAEXABVQModelIndex@@HH@Z @ 4367 NONAME ; void QHeaderView::sectionsAboutToBeRemoved(class QModelIndex const &, int, int)
+ ?focusOutEvent@QTextBrowser@@MAEXPAVQFocusEvent@@@Z @ 4368 NONAME ; void QTextBrowser::focusOutEvent(class QFocusEvent *)
+ ?textKeys@QImageReader@@QBE?AVQStringList@@XZ @ 4369 NONAME ; class QStringList QImageReader::textKeys(void) const
+ ??_EQLCDNumber@@UAE@I@Z @ 4370 NONAME ; QLCDNumber::~QLCDNumber(unsigned int)
+ ?clipToEffectiveMask@QWidgetPrivate@@QBEXAAVQRegion@@@Z @ 4371 NONAME ; void QWidgetPrivate::clipToEffectiveMask(class QRegion &) const
+ ?heightForWidth@QCommandLinkButton@@MBEHH@Z @ 4372 NONAME ; int QCommandLinkButton::heightForWidth(int) const
+ ?event@QMainWindow@@MAE_NPAVQEvent@@@Z @ 4373 NONAME ; bool QMainWindow::event(class QEvent *)
+ ?event@QAbstractButton@@MAE_NPAVQEvent@@@Z @ 4374 NONAME ; bool QAbstractButton::event(class QEvent *)
+ ??0QBrush@@QAE@ABVQColor@@W4BrushStyle@Qt@@@Z @ 4375 NONAME ; QBrush::QBrush(class QColor const &, enum Qt::BrushStyle)
+ ?alphaMapForGlyph@QFontEngine@@UAE?AVQImage@@IABVQTransform@@@Z @ 4376 NONAME ; class QImage QFontEngine::alphaMapForGlyph(unsigned int, class QTransform const &)
+ ?isModified@QLineControl@@QBE_NXZ @ 4377 NONAME ; bool QLineControl::isModified(void) const
+ ?index@QStandardItem@@QBE?AVQModelIndex@@XZ @ 4378 NONAME ; class QModelIndex QStandardItem::index(void) const
+ ?y@QWheelEvent@@QBEHXZ @ 4379 NONAME ; int QWheelEvent::y(void) const
+ ?event@QMenu@@MAE_NPAVQEvent@@@Z @ 4380 NONAME ; bool QMenu::event(class QEvent *)
+ ?setExtraHeight@QWidgetResizeHandler@@QAEXH@Z @ 4381 NONAME ; void QWidgetResizeHandler::setExtraHeight(int)
+ ?okButtonText@QInputDialog@@QBE?AVQString@@XZ @ 4382 NONAME ; class QString QInputDialog::okButtonText(void) const
+ ?trUtf8@QTextControl@@SA?AVQString@@PBD0@Z @ 4383 NONAME ; class QString QTextControl::trUtf8(char const *, char const *)
+ ?mouseReleaseEvent@QDial@@MAEXPAVQMouseEvent@@@Z @ 4384 NONAME ; void QDial::mouseReleaseEvent(class QMouseEvent *)
+ ??1QGraphicsItemGroup@@UAE@XZ @ 4385 NONAME ; QGraphicsItemGroup::~QGraphicsItemGroup(void)
+ ?visibleRegion@QWidget@@QBE?AVQRegion@@XZ @ 4386 NONAME ; class QRegion QWidget::visibleRegion(void) const
+ ?setValidator@QComboBox@@QAEXPBVQValidator@@@Z @ 4387 NONAME ; void QComboBox::setValidator(class QValidator const *)
+ ?setGridSize@QListView@@QAEXABVQSize@@@Z @ 4388 NONAME ; void QListView::setGridSize(class QSize const &)
+ ?getStaticMetaObject@QSpinBox@@SAABUQMetaObject@@XZ @ 4389 NONAME ; struct QMetaObject const & QSpinBox::getStaticMetaObject(void)
+ ?insertRow@QFormLayout@@QAEXHPAVQLayout@@@Z @ 4390 NONAME ; void QFormLayout::insertRow(int, class QLayout *)
+ ?dragMoveEvent@QGraphicsProxyWidget@@MAEXPAVQGraphicsSceneDragDropEvent@@@Z @ 4391 NONAME ; void QGraphicsProxyWidget::dragMoveEvent(class QGraphicsSceneDragDropEvent *)
+ ?undo@QTextDocument@@QAEXPAVQTextCursor@@@Z @ 4392 NONAME ; void QTextDocument::undo(class QTextCursor *)
+ ?color@QPixmapColorizeFilter@@QBE?AVQColor@@XZ @ 4393 NONAME ; class QColor QPixmapColorizeFilter::color(void) const
+ ?staticMetaObject@QGraphicsObject@@2UQMetaObject@@B @ 4394 NONAME ; struct QMetaObject const QGraphicsObject::staticMetaObject
+ ?getLayoutPosition@QFormLayout@@QBEXPAVQLayout@@PAHPAW4ItemRole@1@@Z @ 4395 NONAME ; void QFormLayout::getLayoutPosition(class QLayout *, int *, enum QFormLayout::ItemRole *) const
+ ?deviceRect@QGraphicsEffectSource@@QBE?AVQRect@@XZ @ 4396 NONAME ; class QRect QGraphicsEffectSource::deviceRect(void) const
+ ?doItemsLayout@QAbstractItemView@@UAEXXZ @ 4397 NONAME ; void QAbstractItemView::doItemsLayout(void)
+ ??_EQStatusTipEvent@@UAE@I@Z @ 4398 NONAME ; QStatusTipEvent::~QStatusTipEvent(unsigned int)
+ ?tr@QSplashScreen@@SA?AVQString@@PBD0H@Z @ 4399 NONAME ; class QString QSplashScreen::tr(char const *, char const *, int)
+ ?flow@QListView@@QBE?AW4Flow@1@XZ @ 4400 NONAME ; enum QListView::Flow QListView::flow(void) const
+ ?isCheckable@QGroupBox@@QBE_NXZ @ 4401 NONAME ; bool QGroupBox::isCheckable(void) const
+ ?qt_metacast@QGraphicsTextItem@@UAEPAXPBD@Z @ 4402 NONAME ; void * QGraphicsTextItem::qt_metacast(char const *)
+ ?mouseMoveEvent@QMenu@@MAEXPAVQMouseEvent@@@Z @ 4403 NONAME ; void QMenu::mouseMoveEvent(class QMouseEvent *)
+ ?qt_metacall@QDockWidget@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 4404 NONAME ; int QDockWidget::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?verticalHeaderItem@QTableWidget@@QBEPAVQTableWidgetItem@@H@Z @ 4405 NONAME ; class QTableWidgetItem * QTableWidget::verticalHeaderItem(int) const
+ ?getStaticMetaObject@QProgressBar@@SAABUQMetaObject@@XZ @ 4406 NONAME ; struct QMetaObject const & QProgressBar::getStaticMetaObject(void)
+ ?staticMetaObject@QGraphicsTextItem@@2UQMetaObject@@B @ 4407 NONAME ; struct QMetaObject const QGraphicsTextItem::staticMetaObject
+ ?rowHeight@QTreeView@@IBEHABVQModelIndex@@@Z @ 4408 NONAME ; int QTreeView::rowHeight(class QModelIndex const &) const
+ ?font@QTextEngine@@QBE?AVQFont@@XZ @ 4409 NONAME ; class QFont QTextEngine::font(void) const
+ ?wheelEvent@QMenu@@MAEXPAVQWheelEvent@@@Z @ 4410 NONAME ; void QMenu::wheelEvent(class QWheelEvent *)
+ ?items@QGraphicsScene@@QBE?AV?$QList@PAVQGraphicsItem@@@@ABVQRectF@@W4ItemSelectionMode@Qt@@W4SortOrder@5@ABVQTransform@@@Z @ 4411 NONAME ; class QList<class QGraphicsItem *> QGraphicsScene::items(class QRectF const &, enum Qt::ItemSelectionMode, enum Qt::SortOrder, class QTransform const &) const
+ ?expandingDirections@QLayout@@UBE?AV?$QFlags@W4Orientation@Qt@@@@XZ @ 4412 NONAME ; class QFlags<enum Qt::Orientation> QLayout::expandingDirections(void) const
+ ?staticMetaObject@QFontDatabase@@2UQMetaObject@@B @ 4413 NONAME ; struct QMetaObject const QFontDatabase::staticMetaObject
+ ?startDrag@QAbstractItemView@@MAEXV?$QFlags@W4DropAction@Qt@@@@@Z @ 4414 NONAME ; void QAbstractItemView::startDrag(class QFlags<enum Qt::DropAction>)
+ ?inputMethodEvent@QAbstractItemView@@MAEXPAVQInputMethodEvent@@@Z @ 4415 NONAME ; void QAbstractItemView::inputMethodEvent(class QInputMethodEvent *)
+ ?boundingRect@QFontMetricsF@@QBE?AVQRectF@@ABV2@HABVQString@@HPAH@Z @ 4416 NONAME ; class QRectF QFontMetricsF::boundingRect(class QRectF const &, int, class QString const &, int, int *) const
+ ??0QStyleOptionSlider@@QAE@XZ @ 4417 NONAME ; QStyleOptionSlider::QStyleOptionSlider(void)
+ ?itemActivated@QListWidget@@IAEXPAVQListWidgetItem@@@Z @ 4418 NONAME ; void QListWidget::itemActivated(class QListWidgetItem *)
+ ?event@QCompleter@@MAE_NPAVQEvent@@@Z @ 4419 NONAME ; bool QCompleter::event(class QEvent *)
+ ?united@QPolygonF@@QBE?AV1@ABV1@@Z @ 4420 NONAME ; class QPolygonF QPolygonF::united(class QPolygonF const &) const
+ ?orientation@QDialog@@QBE?AW4Orientation@Qt@@XZ @ 4421 NONAME ; enum Qt::Orientation QDialog::orientation(void) const
+ ?setReadOnly@QTextEdit@@QAEX_N@Z @ 4422 NONAME ; void QTextEdit::setReadOnly(bool)
+ ?setMinimumSize@QWidget@@QAEXHH@Z @ 4423 NONAME ; void QWidget::setMinimumSize(int, int)
+ ?d_func@QDataWidgetMapper@@AAEPAVQDataWidgetMapperPrivate@@XZ @ 4424 NONAME ; class QDataWidgetMapperPrivate * QDataWidgetMapper::d_func(void)
+ ??0Parser@QCss@@QAE@XZ @ 4425 NONAME ; QCss::Parser::Parser(void)
+ ??Fiterator@QTextBlock@@QAEAAV01@XZ @ 4426 NONAME ; class QTextBlock::iterator & QTextBlock::iterator::operator--(void)
+ ?setDefaultFont@QTextDocument@@QAEXABVQFont@@@Z @ 4427 NONAME ; void QTextDocument::setDefaultFont(class QFont const &)
+ ?beginNewFrame@QPaintBuffer@@QAEXXZ @ 4428 NONAME ; void QPaintBuffer::beginNewFrame(void)
+ ?boundingRect@QPainterPath@@QBE?AVQRectF@@XZ @ 4429 NONAME ; class QRectF QPainterPath::boundingRect(void) const
+ ?eventFilter@QCompleter@@MAE_NPAVQObject@@PAVQEvent@@@Z @ 4430 NONAME ; bool QCompleter::eventFilter(class QObject *, class QEvent *)
+ ??0QCoeFepInputContext@@QAE@PAVQObject@@@Z @ 4431 NONAME ABSENT ; QCoeFepInputContext::QCoeFepInputContext(class QObject *)
+ ?clear@QTextDocument@@UAEXXZ @ 4432 NONAME ; void QTextDocument::clear(void)
+ ?tr@QKeyEventTransition@@SA?AVQString@@PBD0@Z @ 4433 NONAME ; class QString QKeyEventTransition::tr(char const *, char const *)
+ ?drawPicture@QPainter@@QAEXABVQPoint@@ABVQPicture@@@Z @ 4434 NONAME ; void QPainter::drawPicture(class QPoint const &, class QPicture const &)
+ ?shapeLine@QTextEngine@@QAEXABUQScriptLine@@@Z @ 4435 NONAME ; void QTextEngine::shapeLine(struct QScriptLine const &)
+ ?isValid@QMovie@@QBE_NXZ @ 4436 NONAME ; bool QMovie::isValid(void) const
+ ?trUtf8@QPaintBufferResource@@SA?AVQString@@PBD0@Z @ 4437 NONAME ; class QString QPaintBufferResource::trUtf8(char const *, char const *)
+ ?insertRows@QStandardItemModel@@UAE_NHHABVQModelIndex@@@Z @ 4438 NONAME ; bool QStandardItemModel::insertRows(int, int, class QModelIndex const &)
+ ??0QStyleOptionViewItemV3@@IAE@H@Z @ 4439 NONAME ; QStyleOptionViewItemV3::QStyleOptionViewItemV3(int)
+ ?state@QGesture@@QBE?AW4GestureState@Qt@@XZ @ 4440 NONAME ; enum Qt::GestureState QGesture::state(void) const
+ ?insertImage@QTextCursor@@QAEXABVQImage@@ABVQString@@@Z @ 4441 NONAME ; void QTextCursor::insertImage(class QImage const &, class QString const &)
+ ?target@QDrag@@QBEPAVQWidget@@XZ @ 4442 NONAME ; class QWidget * QDrag::target(void) const
+ ?itemChanged@QListWidget@@IAEXPAVQListWidgetItem@@@Z @ 4443 NONAME ; void QListWidget::itemChanged(class QListWidgetItem *)
+ ?confirmOverwrite@QFileDialog@@QBE_NXZ @ 4444 NONAME ; bool QFileDialog::confirmOverwrite(void) const
+ ?isIdentity@QMatrix4x4@@QBE_NXZ @ 4445 NONAME ; bool QMatrix4x4::isIdentity(void) const
+ ??0QImageIOHandler@@QAE@XZ @ 4446 NONAME ; QImageIOHandler::QImageIOHandler(void)
+ ?rotate@QGraphicsView@@QAEXM@Z @ 4447 NONAME ; void QGraphicsView::rotate(float)
+ ?initStyleOption@QStyledItemDelegate@@MBEXPAVQStyleOptionViewItem@@ABVQModelIndex@@@Z @ 4448 NONAME ; void QStyledItemDelegate::initStyleOption(class QStyleOptionViewItem *, class QModelIndex const &) const
+ ?d_func@QMainWindow@@AAEPAVQMainWindowPrivate@@XZ @ 4449 NONAME ; class QMainWindowPrivate * QMainWindow::d_func(void)
+ ?inWhatsThisMode@QWhatsThis@@SA_NXZ @ 4450 NONAME ; bool QWhatsThis::inWhatsThisMode(void)
+ ?d_func@QColumnView@@AAEPAVQColumnViewPrivate@@XZ @ 4451 NONAME ; class QColumnViewPrivate * QColumnView::d_func(void)
+ ??_EQIconEngineFactoryInterface@@UAE@I@Z @ 4452 NONAME ; QIconEngineFactoryInterface::~QIconEngineFactoryInterface(unsigned int)
+ ?dropEvent@QAbstractScrollArea@@MAEXPAVQDropEvent@@@Z @ 4453 NONAME ; void QAbstractScrollArea::dropEvent(class QDropEvent *)
+ ?rotationChanged@QGraphicsObject@@IAEXXZ @ 4454 NONAME ; void QGraphicsObject::rotationChanged(void)
+ ?zoomIn@QTextEdit@@QAEXH@Z @ 4455 NONAME ; void QTextEdit::zoomIn(int)
+ ?read@QIconEngineV2@@UAE_NAAVQDataStream@@@Z @ 4456 NONAME ; bool QIconEngineV2::read(class QDataStream &)
+ ?toolBarBreak@QMainWindow@@QBE_NPAVQToolBar@@@Z @ 4457 NONAME ; bool QMainWindow::toolBarBreak(class QToolBar *) const
+ ?mapRectFromScene@QGraphicsItem@@QBE?AVQRectF@@ABV2@@Z @ 4458 NONAME ; class QRectF QGraphicsItem::mapRectFromScene(class QRectF const &) const
+ ?drawCursor@QTextLayout@@QBEXPAVQPainter@@ABVQPointF@@H@Z @ 4459 NONAME ; void QTextLayout::drawCursor(class QPainter *, class QPointF const &, int) const
+ ?trUtf8@QTabWidget@@SA?AVQString@@PBD0@Z @ 4460 NONAME ; class QString QTabWidget::trUtf8(char const *, char const *)
+ ?viewportEvent@QAbstractScrollArea@@MAE_NPAVQEvent@@@Z @ 4461 NONAME ; bool QAbstractScrollArea::viewportEvent(class QEvent *)
+ ?scale@QMatrix4x4@@QAEAAV1@MM@Z @ 4462 NONAME ; class QMatrix4x4 & QMatrix4x4::scale(float, float)
+ ?x@QWidget@@QBEHXZ @ 4463 NONAME ; int QWidget::x(void) const
+ ?hideColumn@QTableView@@QAEXH@Z @ 4464 NONAME ; void QTableView::hideColumn(int)
+ ??4QStyleOptionButton@@QAEAAV0@ABV0@@Z @ 4465 NONAME ; class QStyleOptionButton & QStyleOptionButton::operator=(class QStyleOptionButton const &)
+ ?trUtf8@QProxyModel@@SA?AVQString@@PBD0@Z @ 4466 NONAME ; class QString QProxyModel::trUtf8(char const *, char const *)
+ ?currentIndex@QComboBox@@QBEHXZ @ 4467 NONAME ; int QComboBox::currentIndex(void) const
+ ?pt4@QBezier@@QBE?AVQPointF@@XZ @ 4468 NONAME ; class QPointF QBezier::pt4(void) const
+ ??0QGraphicsSceneHelpEvent@@QAE@W4Type@QEvent@@@Z @ 4469 NONAME ; QGraphicsSceneHelpEvent::QGraphicsSceneHelpEvent(enum QEvent::Type)
+ ??0QStyleOptionDockWidgetV2@@QAE@XZ @ 4470 NONAME ; QStyleOptionDockWidgetV2::QStyleOptionDockWidgetV2(void)
+ ?background@QListWidgetItem@@QBE?AVQBrush@@XZ @ 4471 NONAME ; class QBrush QListWidgetItem::background(void) const
+ ?metaObject@QSortFilterProxyModel@@UBEPBUQMetaObject@@XZ @ 4472 NONAME ; struct QMetaObject const * QSortFilterProxyModel::metaObject(void) const
+ ?hasChildren@QProxyModel@@UBE_NABVQModelIndex@@@Z @ 4473 NONAME ; bool QProxyModel::hasChildren(class QModelIndex const &) const
+ ?qt_metacast@QInputContext@@UAEPAXPBD@Z @ 4474 NONAME ; void * QInputContext::qt_metacast(char const *)
+ ?tr@QGesture@@SA?AVQString@@PBD0@Z @ 4475 NONAME ; class QString QGesture::tr(char const *, char const *)
+ ?combinedTransform@QPainter@@QBE?AVQTransform@@XZ @ 4476 NONAME ; class QTransform QPainter::combinedTransform(void) const
+ ?sliderChange@QDial@@MAEXW4SliderChange@QAbstractSlider@@@Z @ 4477 NONAME ; void QDial::sliderChange(enum QAbstractSlider::SliderChange)
+ ?addEllipse@QGraphicsScene@@QAEPAVQGraphicsEllipseItem@@ABVQRectF@@ABVQPen@@ABVQBrush@@@Z @ 4478 NONAME ; class QGraphicsEllipseItem * QGraphicsScene::addEllipse(class QRectF const &, class QPen const &, class QBrush const &)
+ ?tr@QFocusFrame@@SA?AVQString@@PBD0H@Z @ 4479 NONAME ; class QString QFocusFrame::tr(char const *, char const *, int)
+ ?setGeometry@QLayout@@UAEXABVQRect@@@Z @ 4480 NONAME ; void QLayout::setGeometry(class QRect const &)
+ ??_EQWizard@@UAE@I@Z @ 4481 NONAME ; QWizard::~QWizard(unsigned int)
+ ?serialNumber@QImage@@QBEHXZ @ 4482 NONAME ; int QImage::serialNumber(void) const
+ ??8QTextTableCell@@QBE_NABV0@@Z @ 4483 NONAME ; bool QTextTableCell::operator==(class QTextTableCell const &) const
+ ??0QStyleOptionViewItemV4@@QAE@ABV0@@Z @ 4484 NONAME ; QStyleOptionViewItemV4::QStyleOptionViewItemV4(class QStyleOptionViewItemV4 const &)
+ ??_EQGroupBox@@UAE@I@Z @ 4485 NONAME ; QGroupBox::~QGroupBox(unsigned int)
+ ?paste@QTextControl@@QAEXXZ @ 4486 NONAME ; void QTextControl::paste(void)
+ ?tr@QTabBar@@SA?AVQString@@PBD0H@Z @ 4487 NONAME ; class QString QTabBar::tr(char const *, char const *, int)
+ ?metaObject@QDrag@@UBEPBUQMetaObject@@XZ @ 4488 NONAME ; struct QMetaObject const * QDrag::metaObject(void) const
+ ?getStaticMetaObject@QGraphicsBlurEffect@@SAABUQMetaObject@@XZ @ 4489 NONAME ; struct QMetaObject const & QGraphicsBlurEffect::getStaticMetaObject(void)
+ ?setOkButtonText@QInputDialog@@QAEXABVQString@@@Z @ 4490 NONAME ; void QInputDialog::setOkButtonText(class QString const &)
+ ?setAngle@QGraphicsRotation@@QAEXM@Z @ 4491 NONAME ; void QGraphicsRotation::setAngle(float)
+ ?availableGeometry@QDesktopWidget@@QBE?BVQRect@@H@Z @ 4492 NONAME ; class QRect const QDesktopWidget::availableGeometry(int) const
+ ?mouseButtons@QApplication@@SA?AV?$QFlags@W4MouseButton@Qt@@@@XZ @ 4493 NONAME ; class QFlags<enum Qt::MouseButton> QApplication::mouseButtons(void)
+ ?externalLoader@QTextImageHandler@@2P6A?AVQImage@@ABVQString@@0@ZA @ 4494 NONAME ; class QImage (*QTextImageHandler::externalLoader)(class QString const &, class QString const &)
+ ?sessionKey@QApplication@@QBE?AVQString@@XZ @ 4495 NONAME ; class QString QApplication::sessionKey(void) const
+ ?qt_metacall@QIntValidator@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 4496 NONAME ; int QIntValidator::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?light@QColor@@QBE?AV1@H@Z @ 4497 NONAME ; class QColor QColor::light(int) const
+ ?isSeparator@QAction@@QBE_NXZ @ 4498 NONAME ; bool QAction::isSeparator(void) const
+ ?tr@QKeyEventTransition@@SA?AVQString@@PBD0H@Z @ 4499 NONAME ; class QString QKeyEventTransition::tr(char const *, char const *, int)
+ ?hoverLeaveEvent@QGraphicsWidget@@MAEXPAVQGraphicsSceneHoverEvent@@@Z @ 4500 NONAME ; void QGraphicsWidget::hoverLeaveEvent(class QGraphicsSceneHoverEvent *)
+ ?setTextCursor@QGraphicsTextItem@@QAEXABVQTextCursor@@@Z @ 4501 NONAME ; void QGraphicsTextItem::setTextCursor(class QTextCursor const &)
+ ?tr@QAbstractItemView@@SA?AVQString@@PBD0H@Z @ 4502 NONAME ; class QString QAbstractItemView::tr(char const *, char const *, int)
+ ?hideChildren@QWidgetPrivate@@QAEX_N@Z @ 4503 NONAME ; void QWidgetPrivate::hideChildren(bool)
+ ?alignment@QLabel@@QBE?AV?$QFlags@W4AlignmentFlag@Qt@@@@XZ @ 4504 NONAME ; class QFlags<enum Qt::AlignmentFlag> QLabel::alignment(void) const
+ ?setSpeed@QMovie@@QAEXH@Z @ 4505 NONAME ; void QMovie::setSpeed(int)
+ ?render@QWidget@@QAEXPAVQPaintDevice@@ABVQPoint@@ABVQRegion@@V?$QFlags@W4RenderFlag@QWidget@@@@@Z @ 4506 NONAME ; void QWidget::render(class QPaintDevice *, class QPoint const &, class QRegion const &, class QFlags<enum QWidget::RenderFlag>)
+ ??9Tab@QTextOption@@QBE_NABU01@@Z @ 4507 NONAME ; bool QTextOption::Tab::operator!=(struct QTextOption::Tab const &) const
+ ?getStaticMetaObject@QPalette@@SAABUQMetaObject@@XZ @ 4508 NONAME ; struct QMetaObject const & QPalette::getStaticMetaObject(void)
+ ?style@QApplication@@SAPAVQStyle@@XZ @ 4509 NONAME ; class QStyle * QApplication::style(void)
+ ?staticMetaObject@QTableView@@2UQMetaObject@@B @ 4510 NONAME ; struct QMetaObject const QTableView::staticMetaObject
+ ??1QS60MainApplication@@UAE@XZ @ 4511 NONAME ; QS60MainApplication::~QS60MainApplication(void)
+ ?text@QKeyEvent@@QBE?AVQString@@XZ @ 4512 NONAME ; class QString QKeyEvent::text(void) const
+ ?hideOrShow@QStatusBar@@IAEXXZ @ 4513 NONAME ; void QStatusBar::hideOrShow(void)
+ ?setTextDirection@QProgressBar@@QAEXW4Direction@1@@Z @ 4514 NONAME ; void QProgressBar::setTextDirection(enum QProgressBar::Direction)
+ ?setDefaultUp@QMenuBar@@QAEX_N@Z @ 4515 NONAME ; void QMenuBar::setDefaultUp(bool)
+ ?discardUpdateRequest@QGraphicsItemPrivate@@QBE_N_N000@Z @ 4516 NONAME ; bool QGraphicsItemPrivate::discardUpdateRequest(bool, bool, bool, bool) const
+ ?length@QQuaternion@@QBEMXZ @ 4517 NONAME ; float QQuaternion::length(void) const
+ ?keyboardGrabber@QWidget@@SAPAV1@XZ @ 4518 NONAME ; class QWidget * QWidget::keyboardGrabber(void)
+ ??1QPainterReplayer@@UAE@XZ @ 4519 NONAME ; QPainterReplayer::~QPainterReplayer(void)
+ ?start@QMovie@@QAEXXZ @ 4520 NONAME ; void QMovie::start(void)
+ ?mapRectToParent@QGraphicsItem@@QBE?AVQRectF@@ABV2@@Z @ 4521 NONAME ; class QRectF QGraphicsItem::mapRectToParent(class QRectF const &) const
+ ?renderHints@QPaintEngineState@@QBE?AV?$QFlags@W4RenderHint@QPainter@@@@XZ @ 4522 NONAME ; class QFlags<enum QPainter::RenderHint> QPaintEngineState::renderHints(void) const
+ ?getCmykF@QColor@@QAEXPAM0000@Z @ 4523 NONAME ; void QColor::getCmykF(float *, float *, float *, float *, float *)
+ ??0TouchPoint@QTouchEvent@@QAE@ABV01@@Z @ 4524 NONAME ; QTouchEvent::TouchPoint::TouchPoint(class QTouchEvent::TouchPoint const &)
+ ?columnCount@QTreeWidgetItem@@QBEHXZ @ 4525 NONAME ; int QTreeWidgetItem::columnCount(void) const
+ ??0QUndoView@@QAE@PAVQWidget@@@Z @ 4526 NONAME ; QUndoView::QUndoView(class QWidget *)
+ ?setOpacityMask@QGraphicsOpacityEffect@@QAEXABVQBrush@@@Z @ 4527 NONAME ; void QGraphicsOpacityEffect::setOpacityMask(class QBrush const &)
+ ??1QDialogButtonBox@@UAE@XZ @ 4528 NONAME ; QDialogButtonBox::~QDialogButtonBox(void)
+ ?trUtf8@QStackedWidget@@SA?AVQString@@PBD0H@Z @ 4529 NONAME ; class QString QStackedWidget::trUtf8(char const *, char const *, int)
+ ?setBoundingRect@QPaintBuffer@@QAEXABVQRectF@@@Z @ 4530 NONAME ; void QPaintBuffer::setBoundingRect(class QRectF const &)
+ ?changeEvent@QProgressDialog@@MAEXPAVQEvent@@@Z @ 4531 NONAME ; void QProgressDialog::changeEvent(class QEvent *)
+ ?setOpenExternalLinks@QTextBrowser@@QAEX_N@Z @ 4532 NONAME ; void QTextBrowser::setOpenExternalLinks(bool)
+ ?setFocusProxy@QGraphicsItem@@QAEXPAV1@@Z @ 4533 NONAME ; void QGraphicsItem::setFocusProxy(class QGraphicsItem *)
+ ?setData@QSortFilterProxyModel@@UAE_NABVQModelIndex@@ABVQVariant@@H@Z @ 4534 NONAME ; bool QSortFilterProxyModel::setData(class QModelIndex const &, class QVariant const &, int)
+ ?idealWidth@QTextDocument@@QBEMXZ @ 4535 NONAME ; float QTextDocument::idealWidth(void) const
+ ?fragmentIndex@QTextBlock@@QBEHXZ @ 4536 NONAME ; int QTextBlock::fragmentIndex(void) const
+ ?insertSeparator@QMenuBar@@QAEPAVQAction@@PAV2@@Z @ 4537 NONAME ; class QAction * QMenuBar::insertSeparator(class QAction *)
+ ?setProperty@QTextFormat@@QAEXHABV?$QVector@VQTextLength@@@@@Z @ 4538 NONAME ; void QTextFormat::setProperty(int, class QVector<class QTextLength> const &)
+ ?paintEvent@QFrame@@MAEXPAVQPaintEvent@@@Z @ 4539 NONAME ; void QFrame::paintEvent(class QPaintEvent *)
+ ?metaObject@QPlainTextDocumentLayout@@UBEPBUQMetaObject@@XZ @ 4540 NONAME ; struct QMetaObject const * QPlainTextDocumentLayout::metaObject(void) const
+ ?codec@QTextDocumentWriter@@QBEPAVQTextCodec@@XZ @ 4541 NONAME ; class QTextCodec * QTextDocumentWriter::codec(void) const
+ ??D@YA?AVQRegion@@ABV0@ABVQMatrix@@@Z @ 4542 NONAME ; class QRegion operator*(class QRegion const &, class QMatrix const &)
+ ??1QWizardPage@@UAE@XZ @ 4543 NONAME ; QWizardPage::~QWizardPage(void)
+ ?init@QBrush@@AAEXABVQColor@@W4BrushStyle@Qt@@@Z @ 4544 NONAME ; void QBrush::init(class QColor const &, enum Qt::BrushStyle)
+ ??0QPen@@QAE@ABVQBrush@@MW4PenStyle@Qt@@W4PenCapStyle@3@W4PenJoinStyle@3@@Z @ 4545 NONAME ; QPen::QPen(class QBrush const &, float, enum Qt::PenStyle, enum Qt::PenCapStyle, enum Qt::PenJoinStyle)
+ ?pixmap@QIconEngine@@UAE?AVQPixmap@@ABVQSize@@W4Mode@QIcon@@W4State@5@@Z @ 4546 NONAME ; class QPixmap QIconEngine::pixmap(class QSize const &, enum QIcon::Mode, enum QIcon::State)
+ ?paint@QGraphicsPolygonItem@@UAEXPAVQPainter@@PBVQStyleOptionGraphicsItem@@PAVQWidget@@@Z @ 4547 NONAME ; void QGraphicsPolygonItem::paint(class QPainter *, class QStyleOptionGraphicsItem const *, class QWidget *)
+ ?eventFilter@QWorkspace@@MAE_NPAVQObject@@PAVQEvent@@@Z @ 4548 NONAME ; bool QWorkspace::eventFilter(class QObject *, class QEvent *)
+ ?setItemExpanded@QTreeWidget@@QAEXPBVQTreeWidgetItem@@_N@Z @ 4549 NONAME ; void QTreeWidget::setItemExpanded(class QTreeWidgetItem const *, bool)
+ ?setNameFilter@QFileDialog@@QAEXABVQString@@@Z @ 4550 NONAME ; void QFileDialog::setNameFilter(class QString const &)
+ ?internalRedo@QLineControl@@AAEXXZ @ 4551 NONAME ; void QLineControl::internalRedo(void)
+ ?indent@QTextBlockFormat@@QBEHXZ @ 4552 NONAME ; int QTextBlockFormat::indent(void) const
+ ??1QDropEvent@@UAE@XZ @ 4553 NONAME ; QDropEvent::~QDropEvent(void)
+ ?qt_set_sequence_auto_mnemonic@@YAX_N@Z @ 4554 NONAME ; void qt_set_sequence_auto_mnemonic(bool)
+ ?tr@QSortFilterProxyModel@@SA?AVQString@@PBD0@Z @ 4555 NONAME ; class QString QSortFilterProxyModel::tr(char const *, char const *)
+ ?save@QPixmap@@QBE_NABVQString@@PBDH@Z @ 4556 NONAME ; bool QPixmap::save(class QString const &, char const *, int) const
+ ?childrenRect@QWidget@@QBE?AVQRect@@XZ @ 4557 NONAME ; class QRect QWidget::childrenRect(void) const
+ ?setFormat@QPictureIO@@QAEXPBD@Z @ 4558 NONAME ; void QPictureIO::setFormat(char const *)
+ ?mapToParent@QGraphicsItem@@QBE?AVQPolygonF@@ABVQRectF@@@Z @ 4559 NONAME ; class QPolygonF QGraphicsItem::mapToParent(class QRectF const &) const
+ ??_EQGraphicsSceneResizeEvent@@UAE@I@Z @ 4560 NONAME ; QGraphicsSceneResizeEvent::~QGraphicsSceneResizeEvent(unsigned int)
+ ?option@QImageIOHandler@@UBE?AVQVariant@@W4ImageOption@1@@Z @ 4561 NONAME ; class QVariant QImageIOHandler::option(enum QImageIOHandler::ImageOption) const
+ ?trUtf8@QSizeGrip@@SA?AVQString@@PBD0H@Z @ 4562 NONAME ; class QString QSizeGrip::trUtf8(char const *, char const *, int)
+ ?takeAt@QStackedLayout@@UAEPAVQLayoutItem@@H@Z @ 4563 NONAME ; class QLayoutItem * QStackedLayout::takeAt(int)
+ ?actionChanged@QDrag@@IAEXW4DropAction@Qt@@@Z @ 4564 NONAME ; void QDrag::actionChanged(enum Qt::DropAction)
+ ??1QMenuBar@@UAE@XZ @ 4565 NONAME ; QMenuBar::~QMenuBar(void)
+ ?setMinimum@QProgressBar@@QAEXH@Z @ 4566 NONAME ; void QProgressBar::setMinimum(int)
+ ?qt_metacast@QGesture@@UAEPAXPBD@Z @ 4567 NONAME ; void * QGesture::qt_metacast(char const *)
+ ?qDrawWinButton@@YAXPAVQPainter@@HHHHABVQPalette@@_NPBVQBrush@@@Z @ 4568 NONAME ; void qDrawWinButton(class QPainter *, int, int, int, int, class QPalette const &, bool, class QBrush const *)
+ ??D@YA?AVQPoint@@ABV0@ABVQMatrix@@@Z @ 4569 NONAME ; class QPoint operator*(class QPoint const &, class QMatrix const &)
+ ?clearMinimumTime@QDateTimeEdit@@QAEXXZ @ 4570 NONAME ; void QDateTimeEdit::clearMinimumTime(void)
+ ?columnMinimumWidth@QGraphicsGridLayout@@QBEMH@Z @ 4571 NONAME ; float QGraphicsGridLayout::columnMinimumWidth(int) const
+ ?setVerticalPolicy@QSizePolicy@@QAEXW4Policy@1@@Z @ 4572 NONAME ; void QSizePolicy::setVerticalPolicy(enum QSizePolicy::Policy)
+ ?currentColumn@QTreeWidget@@QBEHXZ @ 4573 NONAME ; int QTreeWidget::currentColumn(void) const
+ ?keyboardGrabber@QWidgetPrivate@@2PAVQWidget@@A @ 4574 NONAME ; class QWidget * QWidgetPrivate::keyboardGrabber
+ ?q_func@QGraphicsEffectPrivate@@ABEPBVQGraphicsEffect@@XZ @ 4575 NONAME ; class QGraphicsEffect const * QGraphicsEffectPrivate::q_func(void) const
+ ?columnCount@QGridLayout@@QBEHXZ @ 4576 NONAME ; int QGridLayout::columnCount(void) const
+ ?tr@QApplication@@SA?AVQString@@PBD0H@Z @ 4577 NONAME ; class QString QApplication::tr(char const *, char const *, int)
+ ?staticMetaObject@QTextBlockGroup@@2UQMetaObject@@B @ 4578 NONAME ; struct QMetaObject const QTextBlockGroup::staticMetaObject
+ ?setMaximum@QSpinBox@@QAEXH@Z @ 4579 NONAME ; void QSpinBox::setMaximum(int)
+ ??YQTreeWidgetItemIterator@@QAEAAV0@H@Z @ 4580 NONAME ; class QTreeWidgetItemIterator & QTreeWidgetItemIterator::operator+=(int)
+ ?d_func@QWorkspace@@ABEPBVQWorkspacePrivate@@XZ @ 4581 NONAME ; class QWorkspacePrivate const * QWorkspace::d_func(void) const
+ ?d_func@QGraphicsEffectSource@@AAEPAVQGraphicsEffectSourcePrivate@@XZ @ 4582 NONAME ; class QGraphicsEffectSourcePrivate * QGraphicsEffectSource::d_func(void)
+ ?paintEvent@QComboBox@@MAEXPAVQPaintEvent@@@Z @ 4583 NONAME ; void QComboBox::paintEvent(class QPaintEvent *)
+ ?drawPicture@QPainter@@QAEXABVQPointF@@ABVQPicture@@@Z @ 4584 NONAME ; void QPainter::drawPicture(class QPointF const &, class QPicture const &)
+ ?tr@QTimeEdit@@SA?AVQString@@PBD0@Z @ 4585 NONAME ; class QString QTimeEdit::tr(char const *, char const *)
+ ?tr@QTreeView@@SA?AVQString@@PBD0@Z @ 4586 NONAME ; class QString QTreeView::tr(char const *, char const *)
+ ?vector@QQuaternion@@QBE?AVQVector3D@@XZ @ 4587 NONAME ; class QVector3D QQuaternion::vector(void) const
+ ?selectedText@QLineEdit@@QBE?AVQString@@XZ @ 4588 NONAME ; class QString QLineEdit::selectedText(void) const
+ ?currentChanged@QItemSelectionModel@@IAEXABVQModelIndex@@0@Z @ 4589 NONAME ; void QItemSelectionModel::currentChanged(class QModelIndex const &, class QModelIndex const &)
+ ??_EQCommonStyle@@UAE@I@Z @ 4590 NONAME ; QCommonStyle::~QCommonStyle(unsigned int)
+ ?backgroundColor@QTreeWidgetItem@@QBE?AVQColor@@H@Z @ 4591 NONAME ; class QColor QTreeWidgetItem::backgroundColor(int) const
+ ?setExtra@QGraphicsItemPrivate@@QAEXW4Extra@1@ABVQVariant@@@Z @ 4592 NONAME ; void QGraphicsItemPrivate::setExtra(enum QGraphicsItemPrivate::Extra, class QVariant const &)
+ ?mousePressEvent@QGraphicsScene@@MAEXPAVQGraphicsSceneMouseEvent@@@Z @ 4593 NONAME ; void QGraphicsScene::mousePressEvent(class QGraphicsSceneMouseEvent *)
+ ?expandAll@QTreeView@@QAEXXZ @ 4594 NONAME ; void QTreeView::expandAll(void)
+ ?item@QGraphicsItemAnimation@@QBEPAVQGraphicsItem@@XZ @ 4595 NONAME ; class QGraphicsItem * QGraphicsItemAnimation::item(void) const
+ ??_EQGraphicsEffectSource@@UAE@I@Z @ 4596 NONAME ; QGraphicsEffectSource::~QGraphicsEffectSource(unsigned int)
+ ?draw@QGraphicsEffectSource@@QAEXPAVQPainter@@@Z @ 4597 NONAME ; void QGraphicsEffectSource::draw(class QPainter *)
+ ?toVector4D@QVector3D@@QBE?AVQVector4D@@XZ @ 4598 NONAME ; class QVector4D QVector3D::toVector4D(void) const
+ ?setChild@QStandardItem@@QAEXHPAV1@@Z @ 4599 NONAME ; void QStandardItem::setChild(int, class QStandardItem *)
+ ?qt_metacall@QToolBar@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 4600 NONAME ; int QToolBar::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?isReadOnly@QLineControl@@QBE_NXZ @ 4601 NONAME ; bool QLineControl::isReadOnly(void) const
+ ??0QHeaderView@@QAE@W4Orientation@Qt@@PAVQWidget@@@Z @ 4602 NONAME ; QHeaderView::QHeaderView(enum Qt::Orientation, class QWidget *)
+ ?cursorPositionChanged@QLineEdit@@IAEXHH@Z @ 4603 NONAME ; void QLineEdit::cursorPositionChanged(int, int)
+ ?setCheckState@QStandardItem@@QAEXW4CheckState@Qt@@@Z @ 4604 NONAME ; void QStandardItem::setCheckState(enum Qt::CheckState)
+ ??1QAbstractSpinBox@@UAE@XZ @ 4605 NONAME ; QAbstractSpinBox::~QAbstractSpinBox(void)
+ ?setSystemMenu@QMdiSubWindow@@QAEXPAVQMenu@@@Z @ 4606 NONAME ; void QMdiSubWindow::setSystemMenu(class QMenu *)
+ ?paintEvent@QGraphicsView@@MAEXPAVQPaintEvent@@@Z @ 4607 NONAME ; void QGraphicsView::paintEvent(class QPaintEvent *)
+ ?trUtf8@QSplitterHandle@@SA?AVQString@@PBD0H@Z @ 4608 NONAME ; class QString QSplitterHandle::trUtf8(char const *, char const *, int)
+ ?setIconSize@QMainWindow@@QAEXABVQSize@@@Z @ 4609 NONAME ; void QMainWindow::setIconSize(class QSize const &)
+ ?flags@QGraphicsItem@@QBE?AV?$QFlags@W4GraphicsItemFlag@QGraphicsItem@@@@XZ @ 4610 NONAME ; class QFlags<enum QGraphicsItem::GraphicsItemFlag> QGraphicsItem::flags(void) const
+ ??0QDesktopWidget@@QAE@XZ @ 4611 NONAME ; QDesktopWidget::QDesktopWidget(void)
+ ?testPseudoPage@Parser@QCss@@QAE_NXZ @ 4612 NONAME ; bool QCss::Parser::testPseudoPage(void)
+ ??_EQGraphicsPathItem@@UAE@I@Z @ 4613 NONAME ; QGraphicsPathItem::~QGraphicsPathItem(unsigned int)
+ ?dragMoveEvent@QListView@@MAEXPAVQDragMoveEvent@@@Z @ 4614 NONAME ; void QListView::dragMoveEvent(class QDragMoveEvent *)
+ ?setOverline@QFont@@QAEX_N@Z @ 4615 NONAME ; void QFont::setOverline(bool)
+ ?findInMask@QLineControl@@ABEHH_N0VQChar@@@Z @ 4616 NONAME ; int QLineControl::findInMask(int, bool, bool, class QChar) const
+ ??0QGraphicsSceneEvent@@QAE@W4Type@QEvent@@@Z @ 4617 NONAME ; QGraphicsSceneEvent::QGraphicsSceneEvent(enum QEvent::Type)
+ ?dropMimeData@QProxyModel@@UAE_NPBVQMimeData@@W4DropAction@Qt@@HHABVQModelIndex@@@Z @ 4618 NONAME ; bool QProxyModel::dropMimeData(class QMimeData const *, enum Qt::DropAction, int, int, class QModelIndex const &)
+ ?qSmartMinSize@@YA?AVQSize@@ABV1@000ABVQSizePolicy@@@Z @ 4619 NONAME ; class QSize qSmartMinSize(class QSize const &, class QSize const &, class QSize const &, class QSize const &, class QSizePolicy const &)
+ ?isWindow@QGraphicsItem@@QBE_NXZ @ 4620 NONAME ; bool QGraphicsItem::isWindow(void) const
+ ?sizeHint@QGraphicsWidget@@MBE?AVQSizeF@@W4SizeHint@Qt@@ABV2@@Z @ 4621 NONAME ; class QSizeF QGraphicsWidget::sizeHint(enum Qt::SizeHint, class QSizeF const &) const
+ ?setSpacing@QBoxLayout@@QAEXH@Z @ 4622 NONAME ; void QBoxLayout::setSpacing(int)
+ ?preferredSize@QGraphicsLayoutItem@@QBE?AVQSizeF@@XZ @ 4623 NONAME ; class QSizeF QGraphicsLayoutItem::preferredSize(void) const
+ ?firstVisibleBlock@QPlainTextEdit@@IBE?AVQTextBlock@@XZ @ 4624 NONAME ; class QTextBlock QPlainTextEdit::firstVisibleBlock(void) const
+ ?createdWidgets@QWidgetAction@@IBE?AV?$QList@PAVQWidget@@@@XZ @ 4625 NONAME ; class QList<class QWidget *> QWidgetAction::createdWidgets(void) const
+ ?setLayoutDirection@QApplication@@SAXW4LayoutDirection@Qt@@@Z @ 4626 NONAME ; void QApplication::setLayoutDirection(enum Qt::LayoutDirection)
+ ??1QTextObject@@MAE@XZ @ 4627 NONAME ; QTextObject::~QTextObject(void)
+ ?backgroundColor@QListWidgetItem@@QBE?AVQColor@@XZ @ 4628 NONAME ; class QColor QListWidgetItem::backgroundColor(void) const
+ ?isFlat@QPushButton@@QBE_NXZ @ 4629 NONAME ; bool QPushButton::isFlat(void) const
+ ?polish@QStyle@@UAEXPAVQWidget@@@Z @ 4630 NONAME ; void QStyle::polish(class QWidget *)
+ ??0QFontInfo@@QAE@ABVQFont@@@Z @ 4631 NONAME ; QFontInfo::QFontInfo(class QFont const &)
+ ?done@QColorDialog@@MAEXH@Z @ 4632 NONAME ; void QColorDialog::done(int)
+ ?paintEvent@QLineEdit@@MAEXPAVQPaintEvent@@@Z @ 4633 NONAME ; void QLineEdit::paintEvent(class QPaintEvent *)
+ ?insertHtml@QTextEdit@@QAEXABVQString@@@Z @ 4634 NONAME ; void QTextEdit::insertHtml(class QString const &)
+ ?toolTip@QTextCharFormat@@QBE?AVQString@@XZ @ 4635 NONAME ; class QString QTextCharFormat::toolTip(void) const
+ ?pageIds@QWizard@@QBE?AV?$QList@H@@XZ @ 4636 NONAME ; class QList<int> QWizard::pageIds(void) const
+ ?color@QPixmapDropShadowFilter@@QBE?AVQColor@@XZ @ 4637 NONAME ; class QColor QPixmapDropShadowFilter::color(void) const
+ ?sortColumn@QTreeWidget@@QBEHXZ @ 4638 NONAME ; int QTreeWidget::sortColumn(void) const
+ ??0QTextDocumentWriter@@QAE@PAVQIODevice@@ABVQByteArray@@@Z @ 4639 NONAME ; QTextDocumentWriter::QTextDocumentWriter(class QIODevice *, class QByteArray const &)
+ ?setForeground@QTableWidgetItem@@QAEXABVQBrush@@@Z @ 4640 NONAME ; void QTableWidgetItem::setForeground(class QBrush const &)
+ ?toolButtonStyle@QToolBar@@QBE?AW4ToolButtonStyle@Qt@@XZ @ 4641 NONAME ; enum Qt::ToolButtonStyle QToolBar::toolButtonStyle(void) const
+ ?animate_tooltip@QApplicationPrivate@@2_NA @ 4642 NONAME ; bool QApplicationPrivate::animate_tooltip
+ ??_EQSplitter@@UAE@I@Z @ 4643 NONAME ; QSplitter::~QSplitter(unsigned int)
+ ?addRow@QFormLayout@@QAEXPAVQWidget@@0@Z @ 4644 NONAME ; void QFormLayout::addRow(class QWidget *, class QWidget *)
+ ??1QPalette@@QAE@XZ @ 4645 NONAME ; QPalette::~QPalette(void)
+ ?changeEvent@QFrame@@MAEXPAVQEvent@@@Z @ 4646 NONAME ; void QFrame::changeEvent(class QEvent *)
+ ??ZQVector4D@@QAEAAV0@ABV0@@Z @ 4647 NONAME ; class QVector4D & QVector4D::operator-=(class QVector4D const &)
+ ?width@QPaintDevice@@QBEHXZ @ 4648 NONAME ; int QPaintDevice::width(void) const
+ ?trUtf8@QPaintBufferResource@@SA?AVQString@@PBD0H@Z @ 4649 NONAME ; class QString QPaintBufferResource::trUtf8(char const *, char const *, int)
+ ?setAlignment@QTextTableFormat@@QAEXV?$QFlags@W4AlignmentFlag@Qt@@@@@Z @ 4650 NONAME ; void QTextTableFormat::setAlignment(class QFlags<enum Qt::AlignmentFlag>)
+ ??XQVector4D@@QAEAAV0@ABV0@@Z @ 4651 NONAME ; class QVector4D & QVector4D::operator*=(class QVector4D const &)
+ ?frameStyle@QFrame@@QBEHXZ @ 4652 NONAME ; int QFrame::frameStyle(void) const
+ ?size@QResizeEvent@@QBEABVQSize@@XZ @ 4653 NONAME ; class QSize const & QResizeEvent::size(void) const
+ ??0QTextTableCell@@QAE@XZ @ 4654 NONAME ; QTextTableCell::QTextTableCell(void)
+ ?isSelectable@QStandardItem@@QBE_NXZ @ 4655 NONAME ; bool QStandardItem::isSelectable(void) const
+ ?currentPixmap@QMovie@@QBE?AVQPixmap@@XZ @ 4656 NONAME ; class QPixmap QMovie::currentPixmap(void) const
+ ?effectiveSizeHint@QGraphicsLayoutItem@@QBE?AVQSizeF@@W4SizeHint@Qt@@ABV2@@Z @ 4657 NONAME ; class QSizeF QGraphicsLayoutItem::effectiveSizeHint(enum Qt::SizeHint, class QSizeF const &) const
+ ?qt_metacast@QTextFrame@@UAEPAXPBD@Z @ 4658 NONAME ; void * QTextFrame::qt_metacast(char const *)
+ ?polish@QCommonStyle@@UAEXAAVQPalette@@@Z @ 4659 NONAME ; void QCommonStyle::polish(class QPalette &)
+ ?resolveS60ScanCode@QApplicationPrivate@@SAIHI@Z @ 4660 NONAME ; unsigned int QApplicationPrivate::resolveS60ScanCode(int, unsigned int)
+ ?setBackground@QStandardItem@@QAEXABVQBrush@@@Z @ 4661 NONAME ; void QStandardItem::setBackground(class QBrush const &)
+ ?event@QAbstractSlider@@MAE_NPAVQEvent@@@Z @ 4662 NONAME ; bool QAbstractSlider::event(class QEvent *)
+ ??_EQS60Style@@UAE@I@Z @ 4663 NONAME ; QS60Style::~QS60Style(unsigned int)
+ ?setModal@QDialog@@QAEX_N@Z @ 4664 NONAME ; void QDialog::setModal(bool)
+ ??_EQGraphicsBloomEffect@@UAE@I@Z @ 4665 NONAME ABSENT ; QGraphicsBloomEffect::~QGraphicsBloomEffect(unsigned int)
+ ?tr@QDoubleSpinBox@@SA?AVQString@@PBD0@Z @ 4666 NONAME ; class QString QDoubleSpinBox::tr(char const *, char const *)
+ ?isNavigationBarVisible@QCalendarWidget@@QBE_NXZ @ 4667 NONAME ; bool QCalendarWidget::isNavigationBarVisible(void) const
+ ??0QStatusBar@@QAE@PAVQWidget@@@Z @ 4668 NONAME ; QStatusBar::QStatusBar(class QWidget *)
+ ?recalcAdvances@QFontEngine@@UBEXPAUQGlyphLayout@@V?$QFlags@W4ShaperFlag@QTextEngine@@@@@Z @ 4669 NONAME ; void QFontEngine::recalcAdvances(struct QGlyphLayout *, class QFlags<enum QTextEngine::ShaperFlag>) const
+ ?childrenBoundingRect@QGraphicsItem@@QBE?AVQRectF@@XZ @ 4670 NONAME ; class QRectF QGraphicsItem::childrenBoundingRect(void) const
+ ?d_func@QActionGroup@@ABEPBVQActionGroupPrivate@@XZ @ 4671 NONAME ; class QActionGroupPrivate const * QActionGroup::d_func(void) const
+ ?staticMetaObject@QIntValidator@@2UQMetaObject@@B @ 4672 NONAME ; struct QMetaObject const QIntValidator::staticMetaObject
+ ?heightForWidth@QBoxLayout@@UBEHH@Z @ 4673 NONAME ; int QBoxLayout::heightForWidth(int) const
+ ?specialValueText@QAbstractSpinBox@@QBE?AVQString@@XZ @ 4674 NONAME ; class QString QAbstractSpinBox::specialValueText(void) const
+ ?showEvent@QGraphicsView@@MAEXPAVQShowEvent@@@Z @ 4675 NONAME ; void QGraphicsView::showEvent(class QShowEvent *)
+ ?blurRadiusChanged@QGraphicsBloomEffect@@IAEXH@Z @ 4676 NONAME ABSENT ; void QGraphicsBloomEffect::blurRadiusChanged(int)
+ ?setAutoCompletionCaseSensitivity@QComboBox@@QAEXW4CaseSensitivity@Qt@@@Z @ 4677 NONAME ; void QComboBox::setAutoCompletionCaseSensitivity(enum Qt::CaseSensitivity)
+ ?itemDoubleClicked@QTreeWidget@@IAEXPAVQTreeWidgetItem@@H@Z @ 4678 NONAME ; void QTreeWidget::itemDoubleClicked(class QTreeWidgetItem *, int)
+ ?setFontItalic@QTextEdit@@QAEX_N@Z @ 4679 NONAME ; void QTextEdit::setFontItalic(bool)
+ ?mouseReleaseEvent@QSlider@@MAEXPAVQMouseEvent@@@Z @ 4680 NONAME ; void QSlider::mouseReleaseEvent(class QMouseEvent *)
+ ?setShortcuts@QAction@@QAEXW4StandardKey@QKeySequence@@@Z @ 4681 NONAME ; void QAction::setShortcuts(enum QKeySequence::StandardKey)
+ ?autoSipEnabled@QApplication@@QBE_NXZ @ 4682 NONAME ; bool QApplication::autoSipEnabled(void) const
+ ?getStaticMetaObject@QProxyStyle@@SAABUQMetaObject@@XZ @ 4683 NONAME ; struct QMetaObject const & QProxyStyle::getStaticMetaObject(void)
+ ?getStaticMetaObject@QGraphicsWidget@@SAABUQMetaObject@@XZ @ 4684 NONAME ; struct QMetaObject const & QGraphicsWidget::getStaticMetaObject(void)
+ ?center@QConicalGradient@@QBE?AVQPointF@@XZ @ 4685 NONAME ; class QPointF QConicalGradient::center(void) const
+ ??0QVector2D@@QAE@ABVQVector3D@@@Z @ 4686 NONAME ; QVector2D::QVector2D(class QVector3D const &)
+ ??0QItemSelectionModel@@IAE@AAVQItemSelectionModelPrivate@@PAVQAbstractItemModel@@@Z @ 4687 NONAME ; QItemSelectionModel::QItemSelectionModel(class QItemSelectionModelPrivate &, class QAbstractItemModel *)
+ ?getStaticMetaObject@QFont@@SAABUQMetaObject@@XZ @ 4688 NONAME ; struct QMetaObject const & QFont::getStaticMetaObject(void)
+ ?metaObject@QTextObject@@UBEPBUQMetaObject@@XZ @ 4689 NONAME ; struct QMetaObject const * QTextObject::metaObject(void) const
+ ??1QStrokerOps@@UAE@XZ @ 4690 NONAME ; QStrokerOps::~QStrokerOps(void)
+ ?hasMouseTracking@QWidget@@QBE_NXZ @ 4691 NONAME ; bool QWidget::hasMouseTracking(void) const
+ ?getStaticMetaObject@QWidgetAction@@SAABUQMetaObject@@XZ @ 4692 NONAME ; struct QMetaObject const & QWidgetAction::getStaticMetaObject(void)
+ ?height@QPixmapData@@QBEHXZ @ 4693 NONAME ; int QPixmapData::height(void) const
+ ?findBlockByNumber@QTextDocument@@QBE?AVQTextBlock@@H@Z @ 4694 NONAME ; class QTextBlock QTextDocument::findBlockByNumber(int) const
+ ?find@QPixmapCache@@SA_NABVKey@1@PAVQPixmap@@@Z @ 4695 NONAME ; bool QPixmapCache::find(class QPixmapCache::Key const &, class QPixmap *)
+ ?mouseReleaseEvent@QGraphicsView@@MAEXPAVQMouseEvent@@@Z @ 4696 NONAME ; void QGraphicsView::mouseReleaseEvent(class QMouseEvent *)
+ ?mouseReleaseEvent@QGraphicsItem@@MAEXPAVQGraphicsSceneMouseEvent@@@Z @ 4697 NONAME ; void QGraphicsItem::mouseReleaseEvent(class QGraphicsSceneMouseEvent *)
+ ??1QStyleOptionToolButton@@QAE@XZ @ 4698 NONAME ; QStyleOptionToolButton::~QStyleOptionToolButton(void)
+ ?d_func@QStandardItemModel@@ABEPBVQStandardItemModelPrivate@@XZ @ 4699 NONAME ; class QStandardItemModelPrivate const * QStandardItemModel::d_func(void) const
+ ?pt2@QBezier@@QBE?AVQPointF@@XZ @ 4700 NONAME ; class QPointF QBezier::pt2(void) const
+ ?baseSize@QWidget@@QBE?AVQSize@@XZ @ 4701 NONAME ; class QSize QWidget::baseSize(void) const
+ ?hideTearOffMenu@QMenu@@QAEXXZ @ 4702 NONAME ; void QMenu::hideTearOffMenu(void)
+ ?minimumHeightForWidth@QLayoutItem@@UBEHH@Z @ 4703 NONAME ; int QLayoutItem::minimumHeightForWidth(int) const
+ ??0QCompleter@@QAE@PAVQObject@@@Z @ 4704 NONAME ; QCompleter::QCompleter(class QObject *)
+ ?logicalIndex@QHeaderView@@QBEHH@Z @ 4705 NONAME ; int QHeaderView::logicalIndex(int) const
+ ?popupMode@QToolButton@@QBE?AW4ToolButtonPopupMode@1@XZ @ 4706 NONAME ; enum QToolButton::ToolButtonPopupMode QToolButton::popupMode(void) const
+ ?insertColumn@QStandardItemModel@@QAEXHABV?$QList@PAVQStandardItem@@@@@Z @ 4707 NONAME ; void QStandardItemModel::insertColumn(int, class QList<class QStandardItem *> const &)
+ ?userData@QTextBlock@@QBEPAVQTextBlockUserData@@XZ @ 4708 NONAME ; class QTextBlockUserData * QTextBlock::userData(void) const
+ ?setMovement@QListView@@QAEXW4Movement@1@@Z @ 4709 NONAME ; void QListView::setMovement(enum QListView::Movement)
+ ?joinStyleMode@QStroker@@QBE?AW4LineJoinMode@1@XZ @ 4710 NONAME ; enum QStroker::LineJoinMode QStroker::joinStyleMode(void) const
+ ?currentImageRect@QImageReader@@QBE?AVQRect@@XZ @ 4711 NONAME ; class QRect QImageReader::currentImageRect(void) const
+ ?save@QImage@@QBE_NABVQString@@PBDH@Z @ 4712 NONAME ; bool QImage::save(class QString const &, char const *, int) const
+ ?trUtf8@QMdiSubWindow@@SA?AVQString@@PBD0@Z @ 4713 NONAME ; class QString QMdiSubWindow::trUtf8(char const *, char const *)
+ ?picture@QLabel@@QBEPBVQPicture@@XZ @ 4714 NONAME ; class QPicture const * QLabel::picture(void) const
+ ?ignore@QGestureEvent@@QAEXPAVQGesture@@@Z @ 4715 NONAME ; void QGestureEvent::ignore(class QGesture *)
+ ?previousBlockState@QSyntaxHighlighter@@IBEHXZ @ 4716 NONAME ; int QSyntaxHighlighter::previousBlockState(void) const
+ ?canceled@QProgressDialog@@IAEXXZ @ 4717 NONAME ; void QProgressDialog::canceled(void)
+ ?setCellPadding@QTextTableFormat@@QAEXM@Z @ 4718 NONAME ; void QTextTableFormat::setCellPadding(float)
+ ??1QDial@@UAE@XZ @ 4719 NONAME ; QDial::~QDial(void)
+ ?columnCount@QDirModel@@UBEHABVQModelIndex@@@Z @ 4720 NONAME ; int QDirModel::columnCount(class QModelIndex const &) const
+ ?keyPressEvent@QMenuBar@@MAEXPAVQKeyEvent@@@Z @ 4721 NONAME ; void QMenuBar::keyPressEvent(class QKeyEvent *)
+ ?reset@QProgressDialog@@QAEXXZ @ 4722 NONAME ; void QProgressDialog::reset(void)
+ ?cacheKey@QIcon@@QBE_JXZ @ 4723 NONAME ; long long QIcon::cacheKey(void) const
+ ?setSourceModel@QProxyModel@@IBE?AVQModelIndex@@ABV2@@Z @ 4724 NONAME ; class QModelIndex QProxyModel::setSourceModel(class QModelIndex const &) const
+ ?getStaticMetaObject@QFontDialog@@SAABUQMetaObject@@XZ @ 4725 NONAME ; struct QMetaObject const & QFontDialog::getStaticMetaObject(void)
+ ?nextImageDelay@QImageIOHandler@@UBEHXZ @ 4726 NONAME ; int QImageIOHandler::nextImageDelay(void) const
+ ?setTextVisible@QProgressBar@@QAEX_N@Z @ 4727 NONAME ; void QProgressBar::setTextVisible(bool)
+ ?combinedLayoutSpacing@QStyle@@QBEHV?$QFlags@W4ControlType@QSizePolicy@@@@0W4Orientation@Qt@@PAVQStyleOption@@PAVQWidget@@@Z @ 4728 NONAME ; int QStyle::combinedLayoutSpacing(class QFlags<enum QSizePolicy::ControlType>, class QFlags<enum QSizePolicy::ControlType>, enum Qt::Orientation, class QStyleOption *, class QWidget *) const
+ ?doubleValue@QInputDialog@@QBENXZ @ 4729 NONAME ; double QInputDialog::doubleValue(void) const
+ ?keyPressEvent@QMessageBox@@MAEXPAVQKeyEvent@@@Z @ 4730 NONAME ; void QMessageBox::keyPressEvent(class QKeyEvent *)
+ ?drawItems@QGraphicsScene@@MAEXPAVQPainter@@HQAPAVQGraphicsItem@@QBVQStyleOptionGraphicsItem@@PAVQWidget@@@Z @ 4731 NONAME ; void QGraphicsScene::drawItems(class QPainter *, int, class QGraphicsItem * * const, class QStyleOptionGraphicsItem const * const, class QWidget *)
+ ?setSpacing@QLayout@@QAEXH@Z @ 4732 NONAME ; void QLayout::setSpacing(int)
+ ??5@YAAAVQTextStream@@AAV0@AAVQSplitter@@@Z @ 4733 NONAME ; class QTextStream & operator>>(class QTextStream &, class QSplitter &)
+ ?d_func@QGraphicsSceneWheelEvent@@ABEPBVQGraphicsSceneWheelEventPrivate@@XZ @ 4734 NONAME ; class QGraphicsSceneWheelEventPrivate const * QGraphicsSceneWheelEvent::d_func(void) const
+ ?setDescent@QTextInlineObject@@QAEXM@Z @ 4735 NONAME ; void QTextInlineObject::setDescent(float)
+ ?itemClicked@QTreeWidget@@IAEXPAVQTreeWidgetItem@@H@Z @ 4736 NONAME ; void QTreeWidget::itemClicked(class QTreeWidgetItem *, int)
+ ?setSidebarUrls@QFileDialog@@QAEXABV?$QList@VQUrl@@@@@Z @ 4737 NONAME ; void QFileDialog::setSidebarUrls(class QList<class QUrl> const &)
+ ?primaryScreen@QDesktopWidget@@QBEHXZ @ 4738 NONAME ; int QDesktopWidget::primaryScreen(void) const
+ ?itemPixmapRect@QStyle@@UBE?AVQRect@@ABV2@HABVQPixmap@@@Z @ 4739 NONAME ; class QRect QStyle::itemPixmapRect(class QRect const &, int, class QPixmap const &) const
+ ?type@QGraphicsItem@@UBEHXZ @ 4740 NONAME ; int QGraphicsItem::type(void) const
+ ?modifiers@QInputEvent@@QBE?AV?$QFlags@W4KeyboardModifier@Qt@@@@XZ @ 4741 NONAME ; class QFlags<enum Qt::KeyboardModifier> QInputEvent::modifiers(void) const
+ ?transformed@QBitmap@@QBE?AV1@ABVQTransform@@@Z @ 4742 NONAME ; class QBitmap QBitmap::transformed(class QTransform const &) const
+ ?tr@QGraphicsGrayscaleEffect@@SA?AVQString@@PBD0@Z @ 4743 NONAME ABSENT ; class QString QGraphicsGrayscaleEffect::tr(char const *, char const *)
+ ?setBlurHint@QGraphicsBlurEffect@@QAEXW4RenderHint@Qt@@@Z @ 4744 NONAME ; void QGraphicsBlurEffect::setBlurHint(enum Qt::RenderHint)
+ ?event@QDockWidget@@MAE_NPAVQEvent@@@Z @ 4745 NONAME ; bool QDockWidget::event(class QEvent *)
+ ??_EQStyle@@UAE@I@Z @ 4746 NONAME ; QStyle::~QStyle(unsigned int)
+ ?addWidget@QGridLayout@@QAEXPAVQWidget@@@Z @ 4747 NONAME ; void QGridLayout::addWidget(class QWidget *)
+ ?direction@QBoxLayout@@QBE?AW4Direction@1@XZ @ 4748 NONAME ; enum QBoxLayout::Direction QBoxLayout::direction(void) const
+ ?getStaticMetaObject@QColorDialog@@SAABUQMetaObject@@XZ @ 4749 NONAME ; struct QMetaObject const & QColorDialog::getStaticMetaObject(void)
+ ?m33@QTransform@@QBEMXZ @ 4750 NONAME ; float QTransform::m33(void) const
+ ??0QVector4D@@QAE@ABVQPoint@@@Z @ 4751 NONAME ; QVector4D::QVector4D(class QPoint const &)
+ ??0QTextObject@@IAE@PAVQTextDocument@@@Z @ 4752 NONAME ; QTextObject::QTextObject(class QTextDocument *)
+ ?dy@QTransform@@QBEMXZ @ 4753 NONAME ; float QTransform::dy(void) const
+ ??0QItemSelection@@QAE@ABVQModelIndex@@0@Z @ 4754 NONAME ; QItemSelection::QItemSelection(class QModelIndex const &, class QModelIndex const &)
+ ?removeItem@QComboBox@@QAEXH@Z @ 4755 NONAME ; void QComboBox::removeItem(int)
+ ??0QApplication@@IAE@AAHPAPAD@Z @ 4756 NONAME ; QApplication::QApplication(int &, char * *)
+ ?parentObject@QGraphicsItem@@QBEPAVQGraphicsObject@@XZ @ 4757 NONAME ; class QGraphicsObject * QGraphicsItem::parentObject(void) const
+ ?invalidate@QBoxLayout@@UAEXXZ @ 4758 NONAME ; void QBoxLayout::invalidate(void)
+ ?createItemGroup@QGraphicsScene@@QAEPAVQGraphicsItemGroup@@ABV?$QList@PAVQGraphicsItem@@@@@Z @ 4759 NONAME ; class QGraphicsItemGroup * QGraphicsScene::createItemGroup(class QList<class QGraphicsItem *> const &)
+ ??6@YA?AVQDebug@@V0@ABVQKeySequence@@@Z @ 4760 NONAME ; class QDebug operator<<(class QDebug, class QKeySequence const &)
+ ?d_func@QProgressDialog@@AAEPAVQProgressDialogPrivate@@XZ @ 4761 NONAME ; class QProgressDialogPrivate * QProgressDialog::d_func(void)
+ ?trUtf8@QFocusFrame@@SA?AVQString@@PBD0@Z @ 4762 NONAME ; class QString QFocusFrame::trUtf8(char const *, char const *)
+ ?color@QPalette@@QBEABVQColor@@W4ColorGroup@1@W4ColorRole@1@@Z @ 4763 NONAME ; class QColor const & QPalette::color(enum QPalette::ColorGroup, enum QPalette::ColorRole) const
+ ?setOffsetToLastSection@QHeaderView@@QAEXXZ @ 4764 NONAME ; void QHeaderView::setOffsetToLastSection(void)
+ ??0QRegion@@QAE@XZ @ 4765 NONAME ; QRegion::QRegion(void)
+ ?buttonReleased@QButtonGroup@@IAEXH@Z @ 4766 NONAME ; void QButtonGroup::buttonReleased(int)
+ ?trUtf8@QKeyEventTransition@@SA?AVQString@@PBD0@Z @ 4767 NONAME ; class QString QKeyEventTransition::trUtf8(char const *, char const *)
+ ?normalMatrix@QMatrix4x4@@QBE?AV?$QGenericMatrix@$02$02M@@XZ @ 4768 NONAME ; class QGenericMatrix<3, 3, float> QMatrix4x4::normalMatrix(void) const
+ ?appendPlainText@QTextControl@@QAEXABVQString@@@Z @ 4769 NONAME ; void QTextControl::appendPlainText(class QString const &)
+ ??0QImage@@QAE@XZ @ 4770 NONAME ; QImage::QImage(void)
+ ?translated@QPolygon@@QBE?AV1@HH@Z @ 4771 NONAME ; class QPolygon QPolygon::translated(int, int) const
+ ?source@QTextBrowser@@QBE?AVQUrl@@XZ @ 4772 NONAME ; class QUrl QTextBrowser::source(void) const
+ ?setRowCount@QTableWidget@@QAEXH@Z @ 4773 NONAME ; void QTableWidget::setRowCount(int)
+ ?setUndoLimit@QUndoStack@@QAEXH@Z @ 4774 NONAME ; void QUndoStack::setUndoLimit(int)
+ ?z@QVector4D@@QBEMXZ @ 4775 NONAME ; float QVector4D::z(void) const
+ ?setBackground@QTableWidgetItem@@QAEXABVQBrush@@@Z @ 4776 NONAME ; void QTableWidgetItem::setBackground(class QBrush const &)
+ ?trUtf8@QUndoGroup@@SA?AVQString@@PBD0H@Z @ 4777 NONAME ; class QString QUndoGroup::trUtf8(char const *, char const *, int)
+ ?qt_metacast@QDockWidgetLayout@@UAEPAXPBD@Z @ 4778 NONAME ; void * QDockWidgetLayout::qt_metacast(char const *)
+ ??0QTextBlock@@QAE@ABV0@@Z @ 4779 NONAME ; QTextBlock::QTextBlock(class QTextBlock const &)
+ ?setLeftMargin@QTextFrameFormat@@QAEXM@Z @ 4780 NONAME ; void QTextFrameFormat::setLeftMargin(float)
+ ?contextMenuEvent@QWidget@@MAEXPAVQContextMenuEvent@@@Z @ 4781 NONAME ; void QWidget::contextMenuEvent(class QContextMenuEvent *)
+ ?insertTab@QTabBar@@QAEHHABVQIcon@@ABVQString@@@Z @ 4782 NONAME ; int QTabBar::insertTab(int, class QIcon const &, class QString const &)
+ ?tr@QListView@@SA?AVQString@@PBD0@Z @ 4783 NONAME ; class QString QListView::tr(char const *, char const *)
+ ?boundingRectFor@QGraphicsBlurEffect@@UBE?AVQRectF@@ABV2@@Z @ 4784 NONAME ; class QRectF QGraphicsBlurEffect::boundingRectFor(class QRectF const &) const
+ ?blockCount@QTextDocument@@QBEHXZ @ 4785 NONAME ; int QTextDocument::blockCount(void) const
+ ?parentFrame@iterator@QTextFrame@@QBEPAV2@XZ @ 4786 NONAME ; class QTextFrame * QTextFrame::iterator::parentFrame(void) const
+ ?itemAt@QStackedLayout@@UBEPAVQLayoutItem@@H@Z @ 4787 NONAME ; class QLayoutItem * QStackedLayout::itemAt(int) const
+ ??0QTextDocumentWriter@@QAE@XZ @ 4788 NONAME ; QTextDocumentWriter::QTextDocumentWriter(void)
+ ?docHandle@QTextDocument@@QBEPAVQTextDocumentPrivate@@XZ @ 4789 NONAME ; class QTextDocumentPrivate * QTextDocument::docHandle(void) const
+ ??1QPolygonF@@QAE@XZ @ 4790 NONAME ; QPolygonF::~QPolygonF(void)
+ ?setStartNormalizedPos@TouchPoint@QTouchEvent@@QAEXABVQPointF@@@Z @ 4791 NONAME ; void QTouchEvent::TouchPoint::setStartNormalizedPos(class QPointF const &)
+ ?setDashPattern@QPen@@QAEXABV?$QVector@M@@@Z @ 4792 NONAME ; void QPen::setDashPattern(class QVector<float> const &)
+ ?naturalTextRect@QTextLine@@QBE?AVQRectF@@XZ @ 4793 NONAME ; class QRectF QTextLine::naturalTextRect(void) const
+ ??1QStyleOptionComplex@@QAE@XZ @ 4794 NONAME ; QStyleOptionComplex::~QStyleOptionComplex(void)
+ ?appName@QApplicationPrivate@@UBE?AVQString@@XZ @ 4795 NONAME ; class QString QApplicationPrivate::appName(void) const
+ ?clear@QStandardItemModel@@QAEXXZ @ 4796 NONAME ; void QStandardItemModel::clear(void)
+ ?setText@QMessageBox@@QAEXABVQString@@@Z @ 4797 NONAME ; void QMessageBox::setText(class QString const &)
+ ?qt_metacall@QPixmapDropShadowFilter@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 4798 NONAME ; int QPixmapDropShadowFilter::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?fontWordSpacing@QTextCharFormat@@QBEMXZ @ 4799 NONAME ; float QTextCharFormat::fontWordSpacing(void) const
+ ??1QFontInfo@@QAE@XZ @ 4800 NONAME ; QFontInfo::~QFontInfo(void)
+ ??0QTextControl@@QAE@PAVQObject@@@Z @ 4801 NONAME ; QTextControl::QTextControl(class QObject *)
+ ?expandingDirections@QBoxLayout@@UBE?AV?$QFlags@W4Orientation@Qt@@@@XZ @ 4802 NONAME ; class QFlags<enum Qt::Orientation> QBoxLayout::expandingDirections(void) const
+ ?addAction@QToolBar@@QAEPAVQAction@@ABVQIcon@@ABVQString@@@Z @ 4803 NONAME ; class QAction * QToolBar::addAction(class QIcon const &, class QString const &)
+ ?translate@QPolygon@@QAEXHH@Z @ 4804 NONAME ; void QPolygon::translate(int, int)
+ ??0QTextEdit@@QAE@PAVQWidget@@@Z @ 4805 NONAME ; QTextEdit::QTextEdit(class QWidget *)
+ ?handle@QSplitter@@QBEPAVQSplitterHandle@@H@Z @ 4806 NONAME ; class QSplitterHandle * QSplitter::handle(int) const
+ ?extractAxisRotation@QMatrix4x4@@QBEXAAMAAVQVector3D@@@Z @ 4807 NONAME ; void QMatrix4x4::extractAxisRotation(float &, class QVector3D &) const
+ ?docHandle@QTextBlock@@QBEPAVQTextDocumentPrivate@@XZ @ 4808 NONAME ; class QTextDocumentPrivate * QTextBlock::docHandle(void) const
+ ?d_func@QMdiSubWindow@@ABEPBVQMdiSubWindowPrivate@@XZ @ 4809 NONAME ; class QMdiSubWindowPrivate const * QMdiSubWindow::d_func(void) const
+ ?setData@QGraphicsItem@@QAEXHABVQVariant@@@Z @ 4810 NONAME ; void QGraphicsItem::setData(int, class QVariant const &)
+ ?curveThreshold@QStroker@@QBEMXZ @ 4811 NONAME ; float QStroker::curveThreshold(void) const
+ ?createPopupMenu@QMainWindow@@UAEPAVQMenu@@XZ @ 4812 NONAME ; class QMenu * QMainWindow::createPopupMenu(void)
+ ?tr@QGraphicsRotation@@SA?AVQString@@PBD0H@Z @ 4813 NONAME ; class QString QGraphicsRotation::tr(char const *, char const *, int)
+ ?clear@QTextControl@@QAEXXZ @ 4814 NONAME ; void QTextControl::clear(void)
+ ?tr@QIconEnginePluginV2@@SA?AVQString@@PBD0H@Z @ 4815 NONAME ; class QString QIconEnginePluginV2::tr(char const *, char const *, int)
+ ?setTextFormat@QMessageBox@@QAEXW4TextFormat@Qt@@@Z @ 4816 NONAME ; void QMessageBox::setTextFormat(enum Qt::TextFormat)
+ ?intersects@QPainterPath@@QBE_NABVQRectF@@@Z @ 4817 NONAME ; bool QPainterPath::intersects(class QRectF const &) const
+ ?scrollBarWidgets@QAbstractScrollArea@@QAE?AV?$QList@PAVQWidget@@@@V?$QFlags@W4AlignmentFlag@Qt@@@@@Z @ 4818 NONAME ; class QList<class QWidget *> QAbstractScrollArea::scrollBarWidgets(class QFlags<enum Qt::AlignmentFlag>)
+ ?hoverMoveEvent@QGraphicsWidget@@MAEXPAVQGraphicsSceneHoverEvent@@@Z @ 4819 NONAME ; void QGraphicsWidget::hoverMoveEvent(class QGraphicsSceneHoverEvent *)
+ ?dragMoveEvent@QGraphicsTextItem@@MAEXPAVQGraphicsSceneDragDropEvent@@@Z @ 4820 NONAME ; void QGraphicsTextItem::dragMoveEvent(class QGraphicsSceneDragDropEvent *)
+ ?critical@QMessageBox@@SA?AW4StandardButton@1@PAVQWidget@@ABVQString@@1V?$QFlags@W4StandardButton@QMessageBox@@@@W421@@Z @ 4821 NONAME ; enum QMessageBox::StandardButton QMessageBox::critical(class QWidget *, class QString const &, class QString const &, class QFlags<enum QMessageBox::StandardButton>, enum QMessageBox::StandardButton)
+ ?drawRect@QPainter@@QAEXABVQRect@@@Z @ 4822 NONAME ; void QPainter::drawRect(class QRect const &)
+ ?clipRect@QWidgetPrivate@@QBE?AVQRect@@XZ @ 4823 NONAME ; class QRect QWidgetPrivate::clipRect(void) const
+ ?toNext@QDataWidgetMapper@@QAEXXZ @ 4824 NONAME ; void QDataWidgetMapper::toNext(void)
+ ?setDefaultTextColor@QGraphicsTextItem@@QAEXABVQColor@@@Z @ 4825 NONAME ; void QGraphicsTextItem::setDefaultTextColor(class QColor const &)
+ ?minRightBearing@QFontMetrics@@QBEHXZ @ 4826 NONAME ; int QFontMetrics::minRightBearing(void) const
+ ?mimeData@QTableWidget@@MBEPAVQMimeData@@V?$QList@PAVQTableWidgetItem@@@@@Z @ 4827 NONAME ; class QMimeData * QTableWidget::mimeData(class QList<class QTableWidgetItem *>) const
+ ?qt_metacast@QDateEdit@@UAEPAXPBD@Z @ 4828 NONAME ; void * QDateEdit::qt_metacast(char const *)
+ ?setCenter@QConicalGradient@@QAEXMM@Z @ 4829 NONAME ; void QConicalGradient::setCenter(float, float)
+ ?metaObject@QStackedWidget@@UBEPBUQMetaObject@@XZ @ 4830 NONAME ; struct QMetaObject const * QStackedWidget::metaObject(void) const
+ ?setColorAt@QGradient@@QAEXMABVQColor@@@Z @ 4831 NONAME ; void QGradient::setColorAt(float, class QColor const &)
+ ?addTopLevelItem@QTreeWidget@@QAEXPAVQTreeWidgetItem@@@Z @ 4832 NONAME ; void QTreeWidget::addTopLevelItem(class QTreeWidgetItem *)
+ ?splitItem@QTextEngine@@ABEXHH@Z @ 4833 NONAME ; void QTextEngine::splitItem(int, int) const
+ ?setStandardButtons@QMessageBox@@QAEXV?$QFlags@W4StandardButton@QMessageBox@@@@@Z @ 4834 NONAME ; void QMessageBox::setStandardButtons(class QFlags<enum QMessageBox::StandardButton>)
+ ??0QTextTableCell@@QAE@ABV0@@Z @ 4835 NONAME ; QTextTableCell::QTextTableCell(class QTextTableCell const &)
+ ?createStandardContextMenu@QTextControl@@QAEPAVQMenu@@ABVQPointF@@PAVQWidget@@@Z @ 4836 NONAME ; class QMenu * QTextControl::createStandardContextMenu(class QPointF const &, class QWidget *)
+ ?metaObject@QGraphicsGrayscaleEffect@@UBEPBUQMetaObject@@XZ @ 4837 NONAME ABSENT ; struct QMetaObject const * QGraphicsGrayscaleEffect::metaObject(void) const
+ ??9QFont@@QBE_NABV0@@Z @ 4838 NONAME ; bool QFont::operator!=(class QFont const &) const
+ ?yearShown@QCalendarWidget@@QBEHXZ @ 4839 NONAME ; int QCalendarWidget::yearShown(void) const
+ ?setRowSpacing@QGraphicsGridLayout@@QAEXHM@Z @ 4840 NONAME ; void QGraphicsGridLayout::setRowSpacing(int, float)
+ ??1QValidator@@UAE@XZ @ 4841 NONAME ; QValidator::~QValidator(void)
+ ??0QGraphicsSimpleTextItem@@QAE@PAVQGraphicsItem@@PAVQGraphicsScene@@@Z @ 4842 NONAME ; QGraphicsSimpleTextItem::QGraphicsSimpleTextItem(class QGraphicsItem *, class QGraphicsScene *)
+ ?resetMatrix@QPainter@@QAEXXZ @ 4843 NONAME ; void QPainter::resetMatrix(void)
+ ?setCancelButton@QProgressDialog@@QAEXPAVQPushButton@@@Z @ 4844 NONAME ; void QProgressDialog::setCancelButton(class QPushButton *)
+ ??_EQResizeEvent@@UAE@I@Z @ 4845 NONAME ; QResizeEvent::~QResizeEvent(unsigned int)
+ ?trUtf8@QDoubleSpinBox@@SA?AVQString@@PBD0H@Z @ 4846 NONAME ; class QString QDoubleSpinBox::trUtf8(char const *, char const *, int)
+ ?setDragEnabled@QLineEdit@@QAEX_N@Z @ 4847 NONAME ; void QLineEdit::setDragEnabled(bool)
+ ?opaqueArea@QGraphicsRectItem@@UBE?AVQPainterPath@@XZ @ 4848 NONAME ; class QPainterPath QGraphicsRectItem::opaqueArea(void) const
+ ??0QBrush@@QAE@ABVQGradient@@@Z @ 4849 NONAME ; QBrush::QBrush(class QGradient const &)
+ ?uniformItemSizes@QListView@@QBE_NXZ @ 4850 NONAME ; bool QListView::uniformItemSizes(void) const
+ ?hasFrame@QAbstractSpinBox@@QBE_NXZ @ 4851 NONAME ; bool QAbstractSpinBox::hasFrame(void) const
+ ?width@QTextItem@@QBEMXZ @ 4852 NONAME ; float QTextItem::width(void) const
+ ?sceneEventFilter@QGraphicsItem@@MAE_NPAV1@PAVQEvent@@@Z @ 4853 NONAME ; bool QGraphicsItem::sceneEventFilter(class QGraphicsItem *, class QEvent *)
+ ?mapFromScene@QGraphicsView@@QBE?AVQPoint@@ABVQPointF@@@Z @ 4854 NONAME ; class QPoint QGraphicsView::mapFromScene(class QPointF const &) const
+ ?qt_tryModalHelper@@YA_NPAVQWidget@@PAPAV1@@Z @ 4855 NONAME ; bool qt_tryModalHelper(class QWidget *, class QWidget * *)
+ ?currentColorChanged@QColorDialog@@IAEXABVQColor@@@Z @ 4856 NONAME ; void QColorDialog::currentColorChanged(class QColor const &)
+ ?load@QPicture@@QAE_NPAVQIODevice@@PBD@Z @ 4857 NONAME ; bool QPicture::load(class QIODevice *, char const *)
+ ?getStaticMetaObject@QFontComboBox@@SAABUQMetaObject@@XZ @ 4858 NONAME ; struct QMetaObject const & QFontComboBox::getStaticMetaObject(void)
+ ?columnWidth@QTableView@@QBEHH@Z @ 4859 NONAME ; int QTableView::columnWidth(int) const
+ ?items@QGraphicsScene@@QBE?AV?$QList@PAVQGraphicsItem@@@@ABVQPainterPath@@W4ItemSelectionMode@Qt@@@Z @ 4860 NONAME ; class QList<class QGraphicsItem *> QGraphicsScene::items(class QPainterPath const &, enum Qt::ItemSelectionMode) const
+ ?cursorWordBackward@QLineEdit@@QAEX_N@Z @ 4861 NONAME ; void QLineEdit::cursorWordBackward(bool)
+ ?setHslF@QColor@@QAEXMMMM@Z @ 4862 NONAME ; void QColor::setHslF(float, float, float, float)
+ ?qGeomCalc@@YAXAAV?$QVector@UQLayoutStruct@@@@HHHHH@Z @ 4863 NONAME ; void qGeomCalc(class QVector<struct QLayoutStruct> &, int, int, int, int, int)
+ ?pageCountChanged@QAbstractTextDocumentLayout@@IAEXH@Z @ 4864 NONAME ; void QAbstractTextDocumentLayout::pageCountChanged(int)
+ ??0QDialog@@IAE@AAVQDialogPrivate@@PAVQWidget@@V?$QFlags@W4WindowType@Qt@@@@@Z @ 4865 NONAME ; QDialog::QDialog(class QDialogPrivate &, class QWidget *, class QFlags<enum Qt::WindowType>)
+ ?addItem@QGraphicsGridLayout@@QAEXPAVQGraphicsLayoutItem@@HHV?$QFlags@W4AlignmentFlag@Qt@@@@@Z @ 4866 NONAME ; void QGraphicsGridLayout::addItem(class QGraphicsLayoutItem *, int, int, class QFlags<enum Qt::AlignmentFlag>)
+ ?setAcceptMode@QFileDialog@@QAEXW4AcceptMode@1@@Z @ 4867 NONAME ; void QFileDialog::setAcceptMode(enum QFileDialog::AcceptMode)
+ ?outputFormats@QPicture@@SA?AV?$QList@VQByteArray@@@@XZ @ 4868 NONAME ; class QList<class QByteArray> QPicture::outputFormats(void)
+ ?boundingBox@QFontEngine@@UAE?AUglyph_metrics_t@@IABVQTransform@@@Z @ 4869 NONAME ; struct glyph_metrics_t QFontEngine::boundingBox(unsigned int, class QTransform const &)
+ ?updateSystemBackground@QWidgetPrivate@@QAEXXZ @ 4870 NONAME ; void QWidgetPrivate::updateSystemBackground(void)
+ ?isNameFilterDetailsVisible@QFileDialog@@QBE_NXZ @ 4871 NONAME ; bool QFileDialog::isNameFilterDetailsVisible(void) const
+ ??1QStyleOptionDockWidgetV2@@QAE@XZ @ 4872 NONAME ; QStyleOptionDockWidgetV2::~QStyleOptionDockWidgetV2(void)
+ ?numFormats@QTextFormatCollection@@QBEHXZ @ 4873 NONAME ; int QTextFormatCollection::numFormats(void) const
+ ?staticMetaObject@QDataWidgetMapper@@2UQMetaObject@@B @ 4874 NONAME ; struct QMetaObject const QDataWidgetMapper::staticMetaObject
+ ?color@QGraphicsDropShadowEffect@@QBE?AVQColor@@XZ @ 4875 NONAME ; class QColor QGraphicsDropShadowEffect::color(void) const
+ ?setInputMode@QInputDialog@@QAEXW4InputMode@1@@Z @ 4876 NONAME ; void QInputDialog::setInputMode(enum QInputDialog::InputMode)
+ ?trUtf8@QScrollArea@@SA?AVQString@@PBD0@Z @ 4877 NONAME ; class QString QScrollArea::trUtf8(char const *, char const *)
+ ??0QTextFragment@@QAE@PBVQTextDocumentPrivate@@HH@Z @ 4878 NONAME ; QTextFragment::QTextFragment(class QTextDocumentPrivate const *, int, int)
+ ?staticMetaObject@QSizeGrip@@2UQMetaObject@@B @ 4879 NONAME ; struct QMetaObject const QSizeGrip::staticMetaObject
+ ?setKey@QKeyEventTransition@@QAEXH@Z @ 4880 NONAME ; void QKeyEventTransition::setKey(int)
+ ?scaleFactor@QPinchGesture@@QBEMXZ @ 4881 NONAME ; float QPinchGesture::scaleFactor(void) const
+ ?staticMetaObject@QDoubleValidator@@2UQMetaObject@@B @ 4882 NONAME ; struct QMetaObject const QDoubleValidator::staticMetaObject
+ ?qt_metacall@QGuiPlatformPlugin@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 4883 NONAME ; int QGuiPlatformPlugin::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?read@QTableWidgetItem@@UAEXAAVQDataStream@@@Z @ 4884 NONAME ; void QTableWidgetItem::read(class QDataStream &)
+ ?qIsGray@@YA_NI@Z @ 4885 NONAME ; bool qIsGray(unsigned int)
+ ?setProposedAction@QGraphicsSceneDragDropEvent@@QAEXW4DropAction@Qt@@@Z @ 4886 NONAME ; void QGraphicsSceneDragDropEvent::setProposedAction(enum Qt::DropAction)
+ ?itemAt@QTreeWidget@@QBEPAVQTreeWidgetItem@@HH@Z @ 4887 NONAME ; class QTreeWidgetItem * QTreeWidget::itemAt(int, int) const
+ ??_EQAbstractGraphicsShapeItem@@UAE@I@Z @ 4888 NONAME ; QAbstractGraphicsShapeItem::~QAbstractGraphicsShapeItem(unsigned int)
+ ?harfbuzzFont@QFontEngine@@QBEPAUHB_Font_@@XZ @ 4889 NONAME ; struct HB_Font_ * QFontEngine::harfbuzzFont(void) const
+ ?getOpenFileName@QFileDialog@@SA?AVQString@@PAVQWidget@@ABV2@11PAV2@V?$QFlags@W4Option@QFileDialog@@@@@Z @ 4890 NONAME ; class QString QFileDialog::getOpenFileName(class QWidget *, class QString const &, class QString const &, class QString const &, class QString *, class QFlags<enum QFileDialog::Option>)
+ ?itemDelegate@QAbstractItemView@@QBEPAVQAbstractItemDelegate@@ABVQModelIndex@@@Z @ 4891 NONAME ; class QAbstractItemDelegate * QAbstractItemView::itemDelegate(class QModelIndex const &) const
+ ?transformed@QPixmap@@QBE?AV1@ABVQTransform@@W4TransformationMode@Qt@@@Z @ 4892 NONAME ; class QPixmap QPixmap::transformed(class QTransform const &, enum Qt::TransformationMode) const
+ ?mouseMoveEvent@QGroupBox@@MAEXPAVQMouseEvent@@@Z @ 4893 NONAME ; void QGroupBox::mouseMoveEvent(class QMouseEvent *)
+ ?selectionEnd@QTextCursor@@QBEHXZ @ 4894 NONAME ; int QTextCursor::selectionEnd(void) const
+ ??_EQLineEdit@@UAE@I@Z @ 4895 NONAME ; QLineEdit::~QLineEdit(unsigned int)
+ ?pixelIndex@QImage@@QBEHABVQPoint@@@Z @ 4896 NONAME ; int QImage::pixelIndex(class QPoint const &) const
+ ?d_func@QGraphicsEffectSource@@ABEPBVQGraphicsEffectSourcePrivate@@XZ @ 4897 NONAME ; class QGraphicsEffectSourcePrivate const * QGraphicsEffectSource::d_func(void) const
+ ?parseMedia@Parser@QCss@@QAE_NPAUMediaRule@2@@Z @ 4898 NONAME ; bool QCss::Parser::parseMedia(struct QCss::MediaRule *)
+ ?findItem@QTextEngine@@QBEHH@Z @ 4899 NONAME ; int QTextEngine::findItem(int) const
+ ?strength@QGraphicsColorizeEffect@@QBEMXZ @ 4900 NONAME ; float QGraphicsColorizeEffect::strength(void) const
+ ?mapFromParent@QGraphicsItem@@QBE?AVQPolygonF@@ABVQRectF@@@Z @ 4901 NONAME ; class QPolygonF QGraphicsItem::mapFromParent(class QRectF const &) const
+ ?anchorNames@QTextCharFormat@@QBE?AVQStringList@@XZ @ 4902 NONAME ; class QStringList QTextCharFormat::anchorNames(void) const
+ ?itemActivated@QTableWidget@@IAEXPAVQTableWidgetItem@@@Z @ 4903 NONAME ; void QTableWidget::itemActivated(class QTableWidgetItem *)
+ ?isValid@QTextBlockFormat@@QBE_NXZ @ 4904 NONAME ; bool QTextBlockFormat::isValid(void) const
+ ?toBlockFormat@QTextFormat@@QBE?AVQTextBlockFormat@@XZ @ 4905 NONAME ; class QTextBlockFormat QTextFormat::toBlockFormat(void) const
+ ??8QRegion@@QBE_NABV0@@Z @ 4906 NONAME ; bool QRegion::operator==(class QRegion const &) const
+ ?nameFilters@QDirModel@@QBE?AVQStringList@@XZ @ 4907 NONAME ; class QStringList QDirModel::nameFilters(void) const
+ ?mapFromSource@QSortFilterProxyModel@@UBE?AVQModelIndex@@ABV2@@Z @ 4908 NONAME ; class QModelIndex QSortFilterProxyModel::mapFromSource(class QModelIndex const &) const
+ ?lighter@QColor@@QBE?AV1@H@Z @ 4909 NONAME ; class QColor QColor::lighter(int) const
+ ?tableCellRowSpan@QTextCharFormat@@QBEHXZ @ 4910 NONAME ; int QTextCharFormat::tableCellRowSpan(void) const
+ ?currentFrame@QTextCursor@@QBEPAVQTextFrame@@XZ @ 4911 NONAME ; class QTextFrame * QTextCursor::currentFrame(void) const
+ ?d_func@QFileSystemModel@@AAEPAVQFileSystemModelPrivate@@XZ @ 4912 NONAME ; class QFileSystemModelPrivate * QFileSystemModel::d_func(void)
+ ??_EQRubberBand@@UAE@I@Z @ 4913 NONAME ; QRubberBand::~QRubberBand(unsigned int)
+ ?reexpand@QTreeView@@IAEXXZ @ 4914 NONAME ; void QTreeView::reexpand(void)
+ ??1QConicalGradient@@QAE@XZ @ 4915 NONAME ; QConicalGradient::~QConicalGradient(void)
+ ?alterCharForCapitalization@QFontPrivate@@QBEXAAVQChar@@@Z @ 4916 NONAME ; void QFontPrivate::alterCharForCapitalization(class QChar &) const
+ ?metaObject@QTimeEdit@@UBEPBUQMetaObject@@XZ @ 4917 NONAME ; struct QMetaObject const * QTimeEdit::metaObject(void) const
+ ??_EQTreeWidgetItem@@UAE@I@Z @ 4918 NONAME ; QTreeWidgetItem::~QTreeWidgetItem(unsigned int)
+ ?processMouseEvent@QLineControl@@QAEXPAVQMouseEvent@@@Z @ 4919 NONAME ; void QLineControl::processMouseEvent(class QMouseEvent *)
+ ??1QGraphicsSceneMouseEvent@@UAE@XZ @ 4920 NONAME ; QGraphicsSceneMouseEvent::~QGraphicsSceneMouseEvent(void)
+ ?widgetDestroyed@QInputContext@@UAEXPAVQWidget@@@Z @ 4921 NONAME ; void QInputContext::widgetDestroyed(class QWidget *)
+ ?isDir@QFileSystemModel@@QBE_NABVQModelIndex@@@Z @ 4922 NONAME ; bool QFileSystemModel::isDir(class QModelIndex const &) const
+ ?backspace@QLineEdit@@QAEXXZ @ 4923 NONAME ; void QLineEdit::backspace(void)
+ ?iconSize@QToolBar@@QBE?AVQSize@@XZ @ 4924 NONAME ; class QSize QToolBar::iconSize(void) const
+ ?wheelEvent@QAbstractScrollArea@@MAEXPAVQWheelEvent@@@Z @ 4925 NONAME ; void QAbstractScrollArea::wheelEvent(class QWheelEvent *)
+ ?layoutDirection@QApplication@@SA?AW4LayoutDirection@Qt@@XZ @ 4926 NONAME ; enum Qt::LayoutDirection QApplication::layoutDirection(void)
+ ?insertFragment@QTextCursor@@QAEXABVQTextDocumentFragment@@@Z @ 4927 NONAME ; void QTextCursor::insertFragment(class QTextDocumentFragment const &)
+ ??_EQProgressBar@@UAE@I@Z @ 4928 NONAME ; QProgressBar::~QProgressBar(unsigned int)
+ ?getStaticMetaObject@QApplication@@SAABUQMetaObject@@XZ @ 4929 NONAME ; struct QMetaObject const & QApplication::getStaticMetaObject(void)
+ ?setModel@QTreeView@@UAEXPAVQAbstractItemModel@@@Z @ 4930 NONAME ; void QTreeView::setModel(class QAbstractItemModel *)
+ ?itemPixmapRect@QProxyStyle@@UBE?AVQRect@@ABV2@HABVQPixmap@@@Z @ 4931 NONAME ; class QRect QProxyStyle::itemPixmapRect(class QRect const &, int, class QPixmap const &) const
+ ??1QSound@@UAE@XZ @ 4932 NONAME ; QSound::~QSound(void)
+ ?blurHintChanged@QGraphicsBlurEffect@@IAEXW4RenderHint@Qt@@@Z @ 4933 NONAME ; void QGraphicsBlurEffect::blurHintChanged(enum Qt::RenderHint)
+ ?ascent@QTextLine@@QBEMXZ @ 4934 NONAME ; float QTextLine::ascent(void) const
+ ??0QContextMenuEvent@@QAE@W4Reason@0@ABVQPoint@@@Z @ 4935 NONAME ; QContextMenuEvent::QContextMenuEvent(enum QContextMenuEvent::Reason, class QPoint const &)
+ ?viewportEvent@QMdiArea@@MAE_NPAVQEvent@@@Z @ 4936 NONAME ; bool QMdiArea::viewportEvent(class QEvent *)
+ ?qt_metacast@QLineControl@@UAEPAXPBD@Z @ 4937 NONAME ; void * QLineControl::qt_metacast(char const *)
+ ?paint@QGraphicsPixmapItem@@UAEXPAVQPainter@@PBVQStyleOptionGraphicsItem@@PAVQWidget@@@Z @ 4938 NONAME ; void QGraphicsPixmapItem::paint(class QPainter *, class QStyleOptionGraphicsItem const *, class QWidget *)
+ ?sizeHint@QWidget@@UBE?AVQSize@@XZ @ 4939 NONAME ; class QSize QWidget::sizeHint(void) const
+ ?setQuality@QImageReader@@QAEXH@Z @ 4940 NONAME ; void QImageReader::setQuality(int)
+ ?resourceChangeType@QSymbianEvent@@QBEHXZ @ 4941 NONAME ; int QSymbianEvent::resourceChangeType(void) const
+ ?boundingRect@QFontMetrics@@QBE?AVQRect@@VQChar@@@Z @ 4942 NONAME ; class QRect QFontMetrics::boundingRect(class QChar) const
+ ?shape@QGraphicsPolygonItem@@UBE?AVQPainterPath@@XZ @ 4943 NONAME ; class QPainterPath QGraphicsPolygonItem::shape(void) const
+ ?setPreferredWidth@QGraphicsLayoutItem@@QAEXM@Z @ 4944 NONAME ; void QGraphicsLayoutItem::setPreferredWidth(float)
+ ??1QWizard@@UAE@XZ @ 4945 NONAME ; QWizard::~QWizard(void)
+ ?singleStep@QAbstractSlider@@QBEHXZ @ 4946 NONAME ; int QAbstractSlider::singleStep(void) const
+ ?setGamma@QPictureIO@@QAEXM@Z @ 4947 NONAME ; void QPictureIO::setGamma(float)
+ ?setThemeSearchPaths@QIcon@@SAXABVQStringList@@@Z @ 4948 NONAME ; void QIcon::setThemeSearchPaths(class QStringList const &)
+ ?appendUndoItem@QTextDocument@@QAEXPAVQAbstractUndoItem@@@Z @ 4949 NONAME ; void QTextDocument::appendUndoItem(class QAbstractUndoItem *)
+ ?cursor@QWidget@@QBE?AVQCursor@@XZ @ 4950 NONAME ; class QCursor QWidget::cursor(void) const
+ ?setPreferredSize@QGraphicsLayoutItem@@QAEXABVQSizeF@@@Z @ 4951 NONAME ; void QGraphicsLayoutItem::setPreferredSize(class QSizeF const &)
+ ?deleteExtra@QWidgetPrivate@@QAEXXZ @ 4952 NONAME ; void QWidgetPrivate::deleteExtra(void)
+ ?update@QWidget@@QAEXHHHH@Z @ 4953 NONAME ; void QWidget::update(int, int, int, int)
+ ?emitDataChanged@QStandardItem@@IAEXXZ @ 4954 NONAME ; void QStandardItem::emitDataChanged(void)
+ ?orientation@QAbstractSlider@@QBE?AW4Orientation@Qt@@XZ @ 4955 NONAME ; enum Qt::Orientation QAbstractSlider::orientation(void) const
+ ??D@YA?AVQPolygon@@ABV0@ABVQMatrix@@@Z @ 4956 NONAME ; class QPolygon operator*(class QPolygon const &, class QMatrix const &)
+ ??1QMouseEventTransition@@UAE@XZ @ 4957 NONAME ; QMouseEventTransition::~QMouseEventTransition(void)
+ ?setNativeMenuBar@QMenuBar@@QAEX_N@Z @ 4958 NONAME ; void QMenuBar::setNativeMenuBar(bool)
+ ?advanceToEnabledItem@QLineControl@@AAE_NH@Z @ 4959 NONAME ; bool QLineControl::advanceToEnabledItem(int)
+ ?d_func@QSplashScreen@@AAEPAVQSplashScreenPrivate@@XZ @ 4960 NONAME ; class QSplashScreenPrivate * QSplashScreen::d_func(void)
+ ?statusTip@QTableWidgetItem@@QBE?AVQString@@XZ @ 4961 NONAME ; class QString QTableWidgetItem::statusTip(void) const
+ ?size@QPicture@@QBEIXZ @ 4962 NONAME ; unsigned int QPicture::size(void) const
+ ?items@QGraphicsScene@@QBE?AV?$QList@PAVQGraphicsItem@@@@ABVQRectF@@W4ItemSelectionMode@Qt@@@Z @ 4963 NONAME ; class QList<class QGraphicsItem *> QGraphicsScene::items(class QRectF const &, enum Qt::ItemSelectionMode) const
+ ?iconSize@QAbstractItemView@@QBE?AVQSize@@XZ @ 4964 NONAME ; class QSize QAbstractItemView::iconSize(void) const
+ ?tr@QBoxLayout@@SA?AVQString@@PBD0H@Z @ 4965 NONAME ; class QString QBoxLayout::tr(char const *, char const *, int)
+ ?text@QLineControl@@QBE?AVQString@@XZ @ 4966 NONAME ; class QString QLineControl::text(void) const
+ ?_q_delayedDestroy@QWidgetPrivate@@QAEXPAVCCoeControl@@@Z @ 4967 NONAME ; void QWidgetPrivate::_q_delayedDestroy(class CCoeControl *)
+ ?metaObject@QTreeView@@UBEPBUQMetaObject@@XZ @ 4968 NONAME ; struct QMetaObject const * QTreeView::metaObject(void) const
+ ?widgetItemFactoryMethod@QLayoutPrivate@@2P6APAVQWidgetItem@@PBVQLayout@@PAVQWidget@@@ZA @ 4969 NONAME ; class QWidgetItem * (*QLayoutPrivate::widgetItemFactoryMethod)(class QLayout const *, class QWidget *)
+ ?focusInEvent@QGraphicsWidget@@MAEXPAVQFocusEvent@@@Z @ 4970 NONAME ; void QGraphicsWidget::focusInEvent(class QFocusEvent *)
+ ?setRange@QAbstractSlider@@QAEXHH@Z @ 4971 NONAME ; void QAbstractSlider::setRange(int, int)
+ ?trUtf8@QRegExpValidator@@SA?AVQString@@PBD0H@Z @ 4972 NONAME ; class QString QRegExpValidator::trUtf8(char const *, char const *, int)
+ ?setMinimum@QAbstractSlider@@QAEXH@Z @ 4973 NONAME ; void QAbstractSlider::setMinimum(int)
+ ?metaObject@QLayout@@UBEPBUQMetaObject@@XZ @ 4974 NONAME ; struct QMetaObject const * QLayout::metaObject(void) const
+ ?mousePressEvent@QAbstractSpinBox@@MAEXPAVQMouseEvent@@@Z @ 4975 NONAME ; void QAbstractSpinBox::mousePressEvent(class QMouseEvent *)
+ ?windowIcon@QApplication@@SA?AVQIcon@@XZ @ 4976 NONAME ; class QIcon QApplication::windowIcon(void)
+ ?mergeCharFormat@QTextCursor@@QAEXABVQTextCharFormat@@@Z @ 4977 NONAME ; void QTextCursor::mergeCharFormat(class QTextCharFormat const &)
+ ?isCheckable@QAction@@QBE_NXZ @ 4978 NONAME ; bool QAction::isCheckable(void) const
+ ?clipPath@QPainter@@QBE?AVQPainterPath@@XZ @ 4979 NONAME ; class QPainterPath QPainter::clipPath(void) const
+ ?movement@QListView@@QBE?AW4Movement@1@XZ @ 4980 NONAME ; enum QListView::Movement QListView::movement(void) const
+ ?doubleValueSelected@QInputDialog@@IAEXN@Z @ 4981 NONAME ; void QInputDialog::doubleValueSelected(double)
+ ??0QGraphicsSystemPlugin@@QAE@PAVQObject@@@Z @ 4982 NONAME ; QGraphicsSystemPlugin::QGraphicsSystemPlugin(class QObject *)
+ ?setCurrentIndex@QStackedWidget@@QAEXH@Z @ 4983 NONAME ; void QStackedWidget::setCurrentIndex(int)
+ ??6@YAAAVQDataStream@@AAV0@ABVQImage@@@Z @ 4984 NONAME ; class QDataStream & operator<<(class QDataStream &, class QImage const &)
+ ??_EQToolButton@@UAE@I@Z @ 4985 NONAME ; QToolButton::~QToolButton(unsigned int)
+ ?titleArea@QDockWidgetLayout@@QBE?AVQRect@@XZ @ 4986 NONAME ; class QRect QDockWidgetLayout::titleArea(void) const
+ ?textChanged@QLineControl@@IAEXABVQString@@@Z @ 4987 NONAME ; void QLineControl::textChanged(class QString const &)
+ ?setHorizontalStepsPerItem@QAbstractItemView@@IAEXH@Z @ 4988 NONAME ; void QAbstractItemView::setHorizontalStepsPerItem(int)
+ ?setTextureImage@QBrush@@QAEXABVQImage@@@Z @ 4989 NONAME ; void QBrush::setTextureImage(class QImage const &)
+ ??0QRadioButton@@QAE@ABVQString@@PAVQWidget@@@Z @ 4990 NONAME ; QRadioButton::QRadioButton(class QString const &, class QWidget *)
+ ?setIndent@QTextListFormat@@QAEXH@Z @ 4991 NONAME ; void QTextListFormat::setIndent(int)
+ ?getContentsMargins@QLayout@@QBEXPAH000@Z @ 4992 NONAME ; void QLayout::getContentsMargins(int *, int *, int *, int *) const
+ ?setOffset@QPanGesture@@QAEXABVQPointF@@@Z @ 4993 NONAME ; void QPanGesture::setOffset(class QPointF const &)
+ ?qt_metacall@QPlainTextDocumentLayout@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 4994 NONAME ; int QPlainTextDocumentLayout::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?imageFormat@QImageReader@@SA?AVQByteArray@@ABVQString@@@Z @ 4995 NONAME ; class QByteArray QImageReader::imageFormat(class QString const &)
+ ?isDisabled@QTreeWidgetItem@@QBE_NXZ @ 4996 NONAME ; bool QTreeWidgetItem::isDisabled(void) const
+ ??0QImage@@QAE@QBQBD@Z @ 4997 NONAME ; QImage::QImage(char const * const * const)
+ ?internalDelayedPopup@QMenu@@AAEXXZ @ 4998 NONAME ; void QMenu::internalDelayedPopup(void)
+ ?tr@QSizeGrip@@SA?AVQString@@PBD0@Z @ 4999 NONAME ; class QString QSizeGrip::tr(char const *, char const *)
+ ?hideEvent@QTabBar@@MAEXPAVQHideEvent@@@Z @ 5000 NONAME ; void QTabBar::hideEvent(class QHideEvent *)
+ ??_EQDockWidgetLayout@@UAE@I@Z @ 5001 NONAME ; QDockWidgetLayout::~QDockWidgetLayout(unsigned int)
+ ?qt_metacast@QProxyStyle@@UAEPAXPBD@Z @ 5002 NONAME ; void * QProxyStyle::qt_metacast(char const *)
+ ?helpEvent@QGraphicsScene@@MAEXPAVQGraphicsSceneHelpEvent@@@Z @ 5003 NONAME ; void QGraphicsScene::helpEvent(class QGraphicsSceneHelpEvent *)
+ ?tr@QPaintBufferResource@@SA?AVQString@@PBD0@Z @ 5004 NONAME ; class QString QPaintBufferResource::tr(char const *, char const *)
+ ?staticMetaObject@QPictureFormatPlugin@@2UQMetaObject@@B @ 5005 NONAME ; struct QMetaObject const QPictureFormatPlugin::staticMetaObject
+ ?indent@QTextListFormat@@QBEHXZ @ 5006 NONAME ; int QTextListFormat::indent(void) const
+ ?nativeScanCode@QKeyEvent@@QBEIXZ @ 5007 NONAME ; unsigned int QKeyEvent::nativeScanCode(void) const
+ ?hiResGlobalX@QTabletEvent@@QBEMXZ @ 5008 NONAME ; float QTabletEvent::hiResGlobalX(void) const
+ ?parent@QSortFilterProxyModel@@UBE?AVQModelIndex@@ABV2@@Z @ 5009 NONAME ; class QModelIndex QSortFilterProxyModel::parent(class QModelIndex const &) const
+ ??_EQImageTextKeyLang@@QAE@I@Z @ 5010 NONAME ; QImageTextKeyLang::~QImageTextKeyLang(unsigned int)
+ ??_EQFontDialog@@UAE@I@Z @ 5011 NONAME ; QFontDialog::~QFontDialog(unsigned int)
+ ??_EQDragEnterEvent@@UAE@I@Z @ 5012 NONAME ; QDragEnterEvent::~QDragEnterEvent(unsigned int)
+ ?qt_metacall@QGraphicsOpacityEffect@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 5013 NONAME ; int QGraphicsOpacityEffect::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ??0QPaintBufferSignalProxy@@QAE@XZ @ 5014 NONAME ; QPaintBufferSignalProxy::QPaintBufferSignalProxy(void)
+ ??1QGraphicsLinearLayout@@UAE@XZ @ 5015 NONAME ; QGraphicsLinearLayout::~QGraphicsLinearLayout(void)
+ ?d_func@QTreeWidget@@ABEPBVQTreeWidgetPrivate@@XZ @ 5016 NONAME ; class QTreeWidgetPrivate const * QTreeWidget::d_func(void) const
+ ??0QStyleOptionFrameV2@@QAE@XZ @ 5017 NONAME ; QStyleOptionFrameV2::QStyleOptionFrameV2(void)
+ ?tabPositions@QTextBlockFormat@@QBE?AV?$QList@UTab@QTextOption@@@@XZ @ 5018 NONAME ; class QList<struct QTextOption::Tab> QTextBlockFormat::tabPositions(void) const
+ ?initializeMultitouch_sys@QApplicationPrivate@@QAEXXZ @ 5019 NONAME ; void QApplicationPrivate::initializeMultitouch_sys(void)
+ ?focusPolicy@QGraphicsWidget@@QBE?AW4FocusPolicy@Qt@@XZ @ 5020 NONAME ; enum Qt::FocusPolicy QGraphicsWidget::focusPolicy(void) const
+ ?cleanIcon@QUndoView@@QBE?AVQIcon@@XZ @ 5021 NONAME ; class QIcon QUndoView::cleanIcon(void) const
+ ?setAutoRaise@QToolButton@@QAEX_N@Z @ 5022 NONAME ; void QToolButton::setAutoRaise(bool)
+ ?setRect@QGraphicsEllipseItem@@QAEXMMMM@Z @ 5023 NONAME ; void QGraphicsEllipseItem::setRect(float, float, float, float)
+ ?instance@QApplicationPrivate@@SAPAV1@XZ @ 5024 NONAME ; class QApplicationPrivate * QApplicationPrivate::instance(void)
+ ?rowsInserted@QHeaderView@@MAEXABVQModelIndex@@HH@Z @ 5025 NONAME ; void QHeaderView::rowsInserted(class QModelIndex const &, int, int)
+ ?trUtf8@QCommonStyle@@SA?AVQString@@PBD0@Z @ 5026 NONAME ; class QString QCommonStyle::trUtf8(char const *, char const *)
+ ?mouseDoubleClickEvent@QWidget@@MAEXPAVQMouseEvent@@@Z @ 5027 NONAME ; void QWidget::mouseDoubleClickEvent(class QMouseEvent *)
+ ?greenF@QColor@@QBEMXZ @ 5028 NONAME ; float QColor::greenF(void) const
+ ?d_func@QGraphicsScene@@ABEPBVQGraphicsScenePrivate@@XZ @ 5029 NONAME ; class QGraphicsScenePrivate const * QGraphicsScene::d_func(void) const
+ ?toImage@QRasterPixmapData@@UBE?AVQImage@@XZ @ 5030 NONAME ; class QImage QRasterPixmapData::toImage(void) const
+ ?staticMetaObject@QListView@@2UQMetaObject@@B @ 5031 NONAME ; struct QMetaObject const QListView::staticMetaObject
+ ?trUtf8@QGraphicsAnchor@@SA?AVQString@@PBD0@Z @ 5032 NONAME ; class QString QGraphicsAnchor::trUtf8(char const *, char const *)
+ ?mapToItem@QGraphicsItem@@QBE?AVQPolygonF@@PBV1@ABVQRectF@@@Z @ 5033 NONAME ; class QPolygonF QGraphicsItem::mapToItem(class QGraphicsItem const *, class QRectF const &) const
+ ??_EQMenu@@UAE@I@Z @ 5034 NONAME ; QMenu::~QMenu(unsigned int)
+ ?showMinimized@QWidget@@QAEXXZ @ 5035 NONAME ; void QWidget::showMinimized(void)
+ ??1QStyleOptionHeader@@QAE@XZ @ 5036 NONAME ; QStyleOptionHeader::~QStyleOptionHeader(void)
+ ?image@QClipboard@@QBE?AVQImage@@W4Mode@1@@Z @ 5037 NONAME ; class QImage QClipboard::image(enum QClipboard::Mode) const
+ ?setFormat@QTextTable@@QAEXABVQTextTableFormat@@@Z @ 5038 NONAME ; void QTextTable::setFormat(class QTextTableFormat const &)
+ ?q_func@QApplicationPrivate@@ABEPBVQApplication@@XZ @ 5039 NONAME ; class QApplication const * QApplicationPrivate::q_func(void) const
+ ??0QPainterPath@@QAE@ABV0@@Z @ 5040 NONAME ; QPainterPath::QPainterPath(class QPainterPath const &)
+ ?columnCount@QTableWidgetSelectionRange@@QBEHXZ @ 5041 NONAME ; int QTableWidgetSelectionRange::columnCount(void) const
+ ??0QGradient@@QAE@XZ @ 5042 NONAME ; QGradient::QGradient(void)
+ ?tr@QTextTable@@SA?AVQString@@PBD0H@Z @ 5043 NONAME ; class QString QTextTable::tr(char const *, char const *, int)
+ ?setFontFamily@QTextEdit@@QAEXABVQString@@@Z @ 5044 NONAME ; void QTextEdit::setFontFamily(class QString const &)
+ ?d_func@QUndoGroup@@ABEPBVQUndoGroupPrivate@@XZ @ 5045 NONAME ; class QUndoGroupPrivate const * QUndoGroup::d_func(void) const
+ ?event@QToolButton@@MAE_NPAVQEvent@@@Z @ 5046 NONAME ; bool QToolButton::event(class QEvent *)
+ ?disconnectFromModel@QProxyModel@@IBEXPBVQAbstractItemModel@@@Z @ 5047 NONAME ; void QProxyModel::disconnectFromModel(class QAbstractItemModel const *) const
+ ?autoCompletionCaseSensitivity@QComboBox@@QBE?AW4CaseSensitivity@Qt@@XZ @ 5048 NONAME ; enum Qt::CaseSensitivity QComboBox::autoCompletionCaseSensitivity(void) const
+ ??1QRasterWindowSurface@@UAE@XZ @ 5049 NONAME ; QRasterWindowSurface::~QRasterWindowSurface(void)
+ ?textFromValue@QSpinBox@@MBE?AVQString@@H@Z @ 5050 NONAME ; class QString QSpinBox::textFromValue(int) const
+ ?tr@QDockWidget@@SA?AVQString@@PBD0H@Z @ 5051 NONAME ; class QString QDockWidget::tr(char const *, char const *, int)
+ ?isDetached@QImage@@QBE_NXZ @ 5052 NONAME ; bool QImage::isDetached(void) const
+ ?visualNavigation@QTextCursor@@QBE_NXZ @ 5053 NONAME ; bool QTextCursor::visualNavigation(void) const
+ ?shifted@QBezier@@QBEHPAV1@HMM@Z @ 5054 NONAME ; int QBezier::shifted(class QBezier *, int, float, float) const
+ ?setHeaderVisible@QCalendarWidget@@QAEX_N@Z @ 5055 NONAME ; void QCalendarWidget::setHeaderVisible(bool)
+ ?insertRow@QFormLayout@@QAEXHPAVQWidget@@PAVQLayout@@@Z @ 5056 NONAME ; void QFormLayout::insertRow(int, class QWidget *, class QLayout *)
+ ?DynInitMenuPaneL@QS60MainAppUi@@UAEXHPAVCEikMenuPane@@@Z @ 5057 NONAME ; void QS60MainAppUi::DynInitMenuPaneL(int, class CEikMenuPane *)
+ ?cellAt@QTextTable@@QBE?AVQTextTableCell@@ABVQTextCursor@@@Z @ 5058 NONAME ; class QTextTableCell QTextTable::cellAt(class QTextCursor const &) const
+ ?showText@QToolTip@@SAXABVQPoint@@ABVQString@@PAVQWidget@@ABVQRect@@@Z @ 5059 NONAME ; void QToolTip::showText(class QPoint const &, class QString const &, class QWidget *, class QRect const &)
+ ?windowType@QWidget@@QBE?AW4WindowType@Qt@@XZ @ 5060 NONAME ; enum Qt::WindowType QWidget::windowType(void) const
+ ?tr@QPaintBufferSignalProxy@@SA?AVQString@@PBD0@Z @ 5061 NONAME ; class QString QPaintBufferSignalProxy::tr(char const *, char const *)
+ ?staticMetaObject@QErrorMessage@@2UQMetaObject@@B @ 5062 NONAME ; struct QMetaObject const QErrorMessage::staticMetaObject
+ ?completionRole@QCompleter@@QBEHXZ @ 5063 NONAME ; int QCompleter::completionRole(void) const
+ ?addToIndex@QGraphicsItem@@IAEXXZ @ 5064 NONAME ; void QGraphicsItem::addToIndex(void)
+ ?icon@QTableWidgetItem@@QBE?AVQIcon@@XZ @ 5065 NONAME ; class QIcon QTableWidgetItem::icon(void) const
+ ??8QTextLength@@QBE_NABV0@@Z @ 5066 NONAME ; bool QTextLength::operator==(class QTextLength const &) const
+ ?totalScaleFactor@QPinchGesture@@QBEMXZ @ 5067 NONAME ; float QPinchGesture::totalScaleFactor(void) const
+ ?setValue@QProgressBar@@QAEXH@Z @ 5068 NONAME ; void QProgressBar::setValue(int)
+ ?tr@QTextControl@@SA?AVQString@@PBD0@Z @ 5069 NONAME ; class QString QTextControl::tr(char const *, char const *)
+ ?selectionChanged@QTextControl@@IAEXXZ @ 5070 NONAME ; void QTextControl::selectionChanged(void)
+ ?removeToolBar@QMainWindow@@QAEXPAVQToolBar@@@Z @ 5071 NONAME ; void QMainWindow::removeToolBar(class QToolBar *)
+ ??0QGraphicsItemAnimation@@QAE@PAVQObject@@@Z @ 5072 NONAME ; QGraphicsItemAnimation::QGraphicsItemAnimation(class QObject *)
+ ?addStrut@QBoxLayout@@QAEXH@Z @ 5073 NONAME ; void QBoxLayout::addStrut(int)
+ ??1QGraphicsGrayscaleEffect@@UAE@XZ @ 5074 NONAME ABSENT ; QGraphicsGrayscaleEffect::~QGraphicsGrayscaleEffect(void)
+ ?setSelection@QListView@@MAEXABVQRect@@V?$QFlags@W4SelectionFlag@QItemSelectionModel@@@@@Z @ 5075 NONAME ; void QListView::setSelection(class QRect const &, class QFlags<enum QItemSelectionModel::SelectionFlag>)
+ ?staticMetaObject@QAbstractSpinBox@@2UQMetaObject@@B @ 5076 NONAME ; struct QMetaObject const QAbstractSpinBox::staticMetaObject
+ ?trUtf8@QAbstractItemDelegate@@SA?AVQString@@PBD0@Z @ 5077 NONAME ; class QString QAbstractItemDelegate::trUtf8(char const *, char const *)
+ ?sizes@QSplitter@@QBE?AV?$QList@H@@XZ @ 5078 NONAME ; class QList<int> QSplitter::sizes(void) const
+ ?raise_sys@QWidgetPrivate@@QAEXXZ @ 5079 NONAME ; void QWidgetPrivate::raise_sys(void)
+ ??1QHeaderView@@UAE@XZ @ 5080 NONAME ; QHeaderView::~QHeaderView(void)
+ ?d_func@QDockWidget@@AAEPAVQDockWidgetPrivate@@XZ @ 5081 NONAME ; class QDockWidgetPrivate * QDockWidget::d_func(void)
+ ?setSceneRect@QGraphicsScene@@QAEXABVQRectF@@@Z @ 5082 NONAME ; void QGraphicsScene::setSceneRect(class QRectF const &)
+ ?tr@QAbstractSlider@@SA?AVQString@@PBD0@Z @ 5083 NONAME ; class QString QAbstractSlider::tr(char const *, char const *)
+ ?logicalIndexAt@QHeaderView@@QBEHHH@Z @ 5084 NONAME ; int QHeaderView::logicalIndexAt(int, int) const
+ ??0QMovie@@QAE@PAVQIODevice@@ABVQByteArray@@PAVQObject@@@Z @ 5085 NONAME ; QMovie::QMovie(class QIODevice *, class QByteArray const &, class QObject *)
+ ?setOverwriteMode@QTextEdit@@QAEX_N@Z @ 5086 NONAME ; void QTextEdit::setOverwriteMode(bool)
+ ?actionAt@QToolBar@@QBEPAVQAction@@HH@Z @ 5087 NONAME ; class QAction * QToolBar::actionAt(int, int) const
+ ?context@QShortcut@@QAE?AW4ShortcutContext@Qt@@XZ @ 5088 NONAME ; enum Qt::ShortcutContext QShortcut::context(void)
+ ?layoutDirection@QGraphicsWidget@@QBE?AW4LayoutDirection@Qt@@XZ @ 5089 NONAME ; enum Qt::LayoutDirection QGraphicsWidget::layoutDirection(void) const
+ ?addButton@QMessageBox@@QAEPAVQPushButton@@W4StandardButton@1@@Z @ 5090 NONAME ; class QPushButton * QMessageBox::addButton(enum QMessageBox::StandardButton)
+ ?brush@QAbstractGraphicsShapeItem@@QBE?AVQBrush@@XZ @ 5091 NONAME ; class QBrush QAbstractGraphicsShapeItem::brush(void) const
+ ?keyPressEvent@QAbstractSlider@@MAEXPAVQKeyEvent@@@Z @ 5092 NONAME ; void QAbstractSlider::keyPressEvent(class QKeyEvent *)
+ ?inputMethodQuery@QGraphicsScene@@UBE?AVQVariant@@W4InputMethodQuery@Qt@@@Z @ 5093 NONAME ; class QVariant QGraphicsScene::inputMethodQuery(enum Qt::InputMethodQuery) const
+ ?setRowMinimumHeight@QGraphicsGridLayout@@QAEXHM@Z @ 5094 NONAME ; void QGraphicsGridLayout::setRowMinimumHeight(int, float)
+ ??_EQAbstractSlider@@UAE@I@Z @ 5095 NONAME ; QAbstractSlider::~QAbstractSlider(unsigned int)
+ ?document@QTextBlock@@QBEPBVQTextDocument@@XZ @ 5096 NONAME ; class QTextDocument const * QTextBlock::document(void) const
+ ?substitutes@QFont@@SA?AVQStringList@@ABVQString@@@Z @ 5097 NONAME ; class QStringList QFont::substitutes(class QString const &)
+ ?focusNextPrevChild@QWidget@@MAE_N_N@Z @ 5098 NONAME ; bool QWidget::focusNextPrevChild(bool)
+ ?addRoundRect@QPainterPath@@QAEXMMMMH@Z @ 5099 NONAME ; void QPainterPath::addRoundRect(float, float, float, float, int)
+ ?setLastScenePos@QGraphicsSceneHoverEvent@@QAEXABVQPointF@@@Z @ 5100 NONAME ; void QGraphicsSceneHoverEvent::setLastScenePos(class QPointF const &)
+ ?standardPalette@QProxyStyle@@UBE?AVQPalette@@XZ @ 5101 NONAME ; class QPalette QProxyStyle::standardPalette(void) const
+ ?contextMenuPolicy@QWidget@@QBE?AW4ContextMenuPolicy@Qt@@XZ @ 5102 NONAME ; enum Qt::ContextMenuPolicy QWidget::contextMenuPolicy(void) const
+ ??_EQKeyEvent@@UAE@I@Z @ 5103 NONAME ; QKeyEvent::~QKeyEvent(unsigned int)
+ ?setForeground@QTreeWidgetItem@@QAEXHABVQBrush@@@Z @ 5104 NONAME ; void QTreeWidgetItem::setForeground(int, class QBrush const &)
+ ??0QTextCursor@@QAE@ABV0@@Z @ 5105 NONAME ; QTextCursor::QTextCursor(class QTextCursor const &)
+ ?itemAt@QGraphicsLinearLayout@@UBEPAVQGraphicsLayoutItem@@H@Z @ 5106 NONAME ; class QGraphicsLayoutItem * QGraphicsLinearLayout::itemAt(int) const
+ ?window@QWindowSurface@@QBEPAVQWidget@@XZ @ 5107 NONAME ; class QWidget * QWindowSurface::window(void) const
+ ?setRect@QGraphicsRectItem@@QAEXABVQRectF@@@Z @ 5108 NONAME ; void QGraphicsRectItem::setRect(class QRectF const &)
+ ?naturalWidgetFont@QWidgetPrivate@@QBE?AVQFont@@I@Z @ 5109 NONAME ; class QFont QWidgetPrivate::naturalWidgetFont(unsigned int) const
+ ?qBlue@@YAHI@Z @ 5110 NONAME ; int qBlue(unsigned int)
+ ?opacity@QPainter@@QBEMXZ @ 5111 NONAME ; float QPainter::opacity(void) const
+ ??6@YAAAVQDebug@@AAV0@ABVQVectorPath@@@Z @ 5112 NONAME ; class QDebug & operator<<(class QDebug &, class QVectorPath const &)
+ ?d_func@QBoxLayout@@AAEPAVQBoxLayoutPrivate@@XZ @ 5113 NONAME ; class QBoxLayoutPrivate * QBoxLayout::d_func(void)
+ ?changed@QClipboard@@IAEXW4Mode@1@@Z @ 5114 NONAME ; void QClipboard::changed(enum QClipboard::Mode)
+ ?rect@QGraphicsEllipseItem@@QBE?AVQRectF@@XZ @ 5115 NONAME ; class QRectF QGraphicsEllipseItem::rect(void) const
+ ?maximumSize@QWidget@@QBE?AVQSize@@XZ @ 5116 NONAME ; class QSize QWidget::maximumSize(void) const
+ ?adjustSize@QTextDocument@@QAEXXZ @ 5117 NONAME ; void QTextDocument::adjustSize(void)
+ ?activationOrder@QMdiArea@@QBE?AW4WindowOrder@1@XZ @ 5118 NONAME ; enum QMdiArea::WindowOrder QMdiArea::activationOrder(void) const
+ ?staticMetaObject@QWindowsStyle@@2UQMetaObject@@B @ 5119 NONAME ; struct QMetaObject const QWindowsStyle::staticMetaObject
+ ??0QPolygonF@@QAE@ABVQPolygon@@@Z @ 5120 NONAME ; QPolygonF::QPolygonF(class QPolygon const &)
+ ?d_func@QMovie@@AAEPAVQMoviePrivate@@XZ @ 5121 NONAME ; class QMoviePrivate * QMovie::d_func(void)
+ ?x@QVector2D@@QBEMXZ @ 5122 NONAME ; float QVector2D::x(void) const
+ ?setTabToolTip@QTabWidget@@QAEXHABVQString@@@Z @ 5123 NONAME ; void QTabWidget::setTabToolTip(int, class QString const &)
+ ?addApplicationFont@QFontDatabase@@SAHABVQString@@@Z @ 5124 NONAME ; int QFontDatabase::addApplicationFont(class QString const &)
+ ??_EQStyleOptionQ3ListViewItem@@QAE@I@Z @ 5125 NONAME ; QStyleOptionQ3ListViewItem::~QStyleOptionQ3ListViewItem(unsigned int)
+ ?sendPendingMoveAndResizeEvents@QWidgetPrivate@@QAEX_N0@Z @ 5126 NONAME ; void QWidgetPrivate::sendPendingMoveAndResizeEvents(bool, bool)
+ ?mdiArea@QMdiSubWindow@@QBEPAVQMdiArea@@XZ @ 5127 NONAME ; class QMdiArea * QMdiSubWindow::mdiArea(void) const
+ ?displayText@QLineControl@@QBE?AVQString@@XZ @ 5128 NONAME ; class QString QLineControl::displayText(void) const
+ ?selectedColor@QColorDialog@@QBE?AVQColor@@XZ @ 5129 NONAME ; class QColor QColorDialog::selectedColor(void) const
+ ?maximizedButtonsWidget@QMdiSubWindow@@QBEPAVQWidget@@XZ @ 5130 NONAME ; class QWidget * QMdiSubWindow::maximizedButtonsWidget(void) const
+ ?isVisible@QWidget@@QBE_NXZ @ 5131 NONAME ; bool QWidget::isVisible(void) const
+ ??_EQDockWidget@@UAE@I@Z @ 5132 NONAME ; QDockWidget::~QDockWidget(unsigned int)
+ ?exec@QRegion@@AAEXABVQByteArray@@HW4ByteOrder@QDataStream@@@Z @ 5133 NONAME ; void QRegion::exec(class QByteArray const &, int, enum QDataStream::ByteOrder)
+ ?atEnd@iterator@QTextBlock@@QBE_NXZ @ 5134 NONAME ; bool QTextBlock::iterator::atEnd(void) const
+ ?toggleViewAction@QDockWidget@@QBEPAVQAction@@XZ @ 5135 NONAME ; class QAction * QDockWidget::toggleViewAction(void) const
+ ?end@QDashStroker@@UAEXXZ @ 5136 NONAME ; void QDashStroker::end(void)
+ ?layout@QWidget@@QBEPAVQLayout@@XZ @ 5137 NONAME ; class QLayout * QWidget::layout(void) const
+ ?isInvertible@QTransform@@QBE_NXZ @ 5138 NONAME ; bool QTransform::isInvertible(void) const
+ ?parameters@QPictureIO@@QBEPBDXZ @ 5139 NONAME ; char const * QPictureIO::parameters(void) const
+ ?trUtf8@QPixmapDropShadowFilter@@SA?AVQString@@PBD0@Z @ 5140 NONAME ; class QString QPixmapDropShadowFilter::trUtf8(char const *, char const *)
+ ??_EQMouseEventTransition@@UAE@I@Z @ 5141 NONAME ; QMouseEventTransition::~QMouseEventTransition(unsigned int)
+ ??6@YA?AVQDebug@@V0@ABVQVector2D@@@Z @ 5142 NONAME ; class QDebug operator<<(class QDebug, class QVector2D const &)
+ ?doKerning@QFontEngine@@UBEXPAUQGlyphLayout@@V?$QFlags@W4ShaperFlag@QTextEngine@@@@@Z @ 5143 NONAME ; void QFontEngine::doKerning(struct QGlyphLayout *, class QFlags<enum QTextEngine::ShaperFlag>) const
+ ?expandingDirections@QGridLayout@@UBE?AV?$QFlags@W4Orientation@Qt@@@@XZ @ 5144 NONAME ; class QFlags<enum Qt::Orientation> QGridLayout::expandingDirections(void) const
+ ??1QDoubleValidator@@UAE@XZ @ 5145 NONAME ; QDoubleValidator::~QDoubleValidator(void)
+ ?d_func@QDirModel@@AAEPAVQDirModelPrivate@@XZ @ 5146 NONAME ; class QDirModelPrivate * QDirModel::d_func(void)
+ ?miterLimit@QStroker@@QBEMXZ @ 5147 NONAME ; float QStroker::miterLimit(void) const
+ ?textValueChanged@QInputDialog@@IAEXABVQString@@@Z @ 5148 NONAME ; void QInputDialog::textValueChanged(class QString const &)
+ ?d_func@QAbstractTextDocumentLayout@@AAEPAVQAbstractTextDocumentLayoutPrivate@@XZ @ 5149 NONAME ; class QAbstractTextDocumentLayoutPrivate * QAbstractTextDocumentLayout::d_func(void)
+ ?setValue@QAbstractSlider@@QAEXH@Z @ 5150 NONAME ; void QAbstractSlider::setValue(int)
+ ?leftBearing@QFontMetricsF@@QBEMVQChar@@@Z @ 5151 NONAME ; float QFontMetricsF::leftBearing(class QChar) const
+ ?setLastPos@QGraphicsSceneHoverEvent@@QAEXABVQPointF@@@Z @ 5152 NONAME ; void QGraphicsSceneHoverEvent::setLastPos(class QPointF const &)
+ ?qt_metacall@QGridLayout@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 5153 NONAME ; int QGridLayout::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?actionEvent@QToolBar@@MAEXPAVQActionEvent@@@Z @ 5154 NONAME ; void QToolBar::actionEvent(class QActionEvent *)
+ ?boundingRect@QGraphicsEffectSource@@QBE?AVQRectF@@W4CoordinateSystem@Qt@@@Z @ 5155 NONAME ; class QRectF QGraphicsEffectSource::boundingRect(enum Qt::CoordinateSystem) const
+ ??PQKeySequence@@QBE_NABV0@@Z @ 5156 NONAME ; bool QKeySequence::operator>=(class QKeySequence const &) const
+ ??4QCursor@@QAEAAV0@ABV0@@Z @ 5157 NONAME ; class QCursor & QCursor::operator=(class QCursor const &)
+ ?cacheType@QTextureGlyphCache@@QBE?AW4Type@QFontEngineGlyphCache@@XZ @ 5158 NONAME ; enum QFontEngineGlyphCache::Type QTextureGlyphCache::cacheType(void) const
+ ?isSortingEnabled@QTreeWidget@@QBE_NXZ @ 5159 NONAME ; bool QTreeWidget::isSortingEnabled(void) const
+ ?format@QTextTableCell@@QBE?AVQTextCharFormat@@XZ @ 5160 NONAME ; class QTextCharFormat QTextTableCell::format(void) const
+ ?setDecimals@QDoubleValidator@@QAEXH@Z @ 5161 NONAME ; void QDoubleValidator::setDecimals(int)
+ ?width@QFontMetrics@@QBEHABVQString@@H@Z @ 5162 NONAME ; int QFontMetrics::width(class QString const &, int) const
+ ?setTabChangesFocus@QGraphicsTextItem@@QAEX_N@Z @ 5163 NONAME ; void QGraphicsTextItem::setTabChangesFocus(bool)
+ ?trUtf8@QLabel@@SA?AVQString@@PBD0@Z @ 5164 NONAME ; class QString QLabel::trUtf8(char const *, char const *)
+ ??NQKeySequence@@QBE_NABV0@@Z @ 5165 NONAME ; bool QKeySequence::operator<=(class QKeySequence const &) const
+ ??_EQFileIconProvider@@UAE@I@Z @ 5166 NONAME ; QFileIconProvider::~QFileIconProvider(unsigned int)
+ ??5@YAAAVQDataStream@@AAV0@AAVQFont@@@Z @ 5167 NONAME ; class QDataStream & operator>>(class QDataStream &, class QFont &)
+ ??0QImageWriter@@QAE@ABVQString@@ABVQByteArray@@@Z @ 5168 NONAME ; QImageWriter::QImageWriter(class QString const &, class QByteArray const &)
+ ?trUtf8@QFileDialog@@SA?AVQString@@PBD0H@Z @ 5169 NONAME ; class QString QFileDialog::trUtf8(char const *, char const *, int)
+ ?testPseudo@Parser@QCss@@QAE_NXZ @ 5170 NONAME ; bool QCss::Parser::testPseudo(void)
+ ?metaObject@QDoubleSpinBox@@UBEPBUQMetaObject@@XZ @ 5171 NONAME ; struct QMetaObject const * QDoubleSpinBox::metaObject(void) const
+ ?horizontalScrollMode@QAbstractItemView@@QBE?AW4ScrollMode@1@XZ @ 5172 NONAME ; enum QAbstractItemView::ScrollMode QAbstractItemView::horizontalScrollMode(void) const
+ ?qDrawShadeRect@@YAXPAVQPainter@@HHHHABVQPalette@@_NHHPBVQBrush@@@Z @ 5173 NONAME ; void qDrawShadeRect(class QPainter *, int, int, int, int, class QPalette const &, bool, int, int, class QBrush const *)
+ ??0QTextFormatCollection@@QAE@XZ @ 5174 NONAME ; QTextFormatCollection::QTextFormatCollection(void)
+ ?setEnabled@QShortcut@@QAEX_N@Z @ 5175 NONAME ; void QShortcut::setEnabled(bool)
+ ??0QRadialGradient@@QAE@MMM@Z @ 5176 NONAME ; QRadialGradient::QRadialGradient(float, float, float)
+ ?addTab@QTabBar@@QAEHABVQIcon@@ABVQString@@@Z @ 5177 NONAME ; int QTabBar::addTab(class QIcon const &, class QString const &)
+ ?getStaticMetaObject@QCheckBox@@SAABUQMetaObject@@XZ @ 5178 NONAME ; struct QMetaObject const & QCheckBox::getStaticMetaObject(void)
+ ?setPoint@QPolygon@@QAEXHHH@Z @ 5179 NONAME ; void QPolygon::setPoint(int, int, int)
+ ?getStaticMetaObject@QIconEnginePluginV2@@SAABUQMetaObject@@XZ @ 5180 NONAME ; struct QMetaObject const & QIconEnginePluginV2::getStaticMetaObject(void)
+ ?tr@QGraphicsTransform@@SA?AVQString@@PBD0H@Z @ 5181 NONAME ; class QString QGraphicsTransform::tr(char const *, char const *, int)
+ ?ReportAknEdStateEvent@QCoeFepInputContext@@AAEXW4EAknEdwinStateEvent@MAknEdStateObserver@@@Z @ 5182 NONAME ABSENT ; void QCoeFepInputContext::ReportAknEdStateEvent(enum MAknEdStateObserver::EAknEdwinStateEvent)
+ ?getStaticMetaObject@QUndoStack@@SAABUQMetaObject@@XZ @ 5183 NONAME ; struct QMetaObject const & QUndoStack::getStaticMetaObject(void)
+ ?focusInEvent@QDateTimeEdit@@MAEXPAVQFocusEvent@@@Z @ 5184 NONAME ; void QDateTimeEdit::focusInEvent(class QFocusEvent *)
+ ?isNull@QIcon@@QBE_NXZ @ 5185 NONAME ; bool QIcon::isNull(void) const
+ ?heightMM@QPaintDevice@@QBEHXZ @ 5186 NONAME ; int QPaintDevice::heightMM(void) const
+ ?staticMetaObject@QDoubleSpinBox@@2UQMetaObject@@B @ 5187 NONAME ; struct QMetaObject const QDoubleSpinBox::staticMetaObject
+ ?toCmyk@QColor@@QBE?AV1@XZ @ 5188 NONAME ; class QColor QColor::toCmyk(void) const
+ ?maximum@QProgressBar@@QBEHXZ @ 5189 NONAME ; int QProgressBar::maximum(void) const
+ ?geometry@QGraphicsLayoutItem@@QBE?AVQRectF@@XZ @ 5190 NONAME ; class QRectF QGraphicsLayoutItem::geometry(void) const
+ ?blurRadiusChanged@QGraphicsBlurEffect@@IAEXH@Z @ 5191 NONAME ABSENT ; void QGraphicsBlurEffect::blurRadiusChanged(int)
+ ?qt_metacall@QFontDialog@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 5192 NONAME ; int QFontDialog::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?layoutSpacing@QStyle@@QBEHW4ControlType@QSizePolicy@@0W4Orientation@Qt@@PBVQStyleOption@@PBVQWidget@@@Z @ 5193 NONAME ; int QStyle::layoutSpacing(enum QSizePolicy::ControlType, enum QSizePolicy::ControlType, enum Qt::Orientation, class QStyleOption const *, class QWidget const *) const
+ ?invalidate@QFormLayout@@UAEXXZ @ 5194 NONAME ; void QFormLayout::invalidate(void)
+ ?setEnabled@QWidget@@QAEX_N@Z @ 5195 NONAME ; void QWidget::setEnabled(bool)
+ ?isEnabled@QActionGroup@@QBE_NXZ @ 5196 NONAME ; bool QActionGroup::isEnabled(void) const
+ ?standardIcon@QStyle@@QBE?AVQIcon@@W4StandardPixmap@1@PBVQStyleOption@@PBVQWidget@@@Z @ 5197 NONAME ; class QIcon QStyle::standardIcon(enum QStyle::StandardPixmap, class QStyleOption const *, class QWidget const *) const
+ ?history@QFileDialog@@QBE?AVQStringList@@XZ @ 5198 NONAME ; class QStringList QFileDialog::history(void) const
+ ?insertItems@QListWidget@@QAEXHABVQStringList@@@Z @ 5199 NONAME ; void QListWidget::insertItems(int, class QStringList const &)
+ ?supportsExtension@QGraphicsEllipseItem@@MBE_NW4Extension@QGraphicsItem@@@Z @ 5200 NONAME ; bool QGraphicsEllipseItem::supportsExtension(enum QGraphicsItem::Extension) const
+ ?tr@QGroupBox@@SA?AVQString@@PBD0@Z @ 5201 NONAME ; class QString QGroupBox::tr(char const *, char const *)
+ ?spacing@QLayout@@QBEHXZ @ 5202 NONAME ; int QLayout::spacing(void) const
+ ?isObscuredBy@QGraphicsLineItem@@UBE_NPBVQGraphicsItem@@@Z @ 5203 NONAME ; bool QGraphicsLineItem::isObscuredBy(class QGraphicsItem const *) const
+ ?activePanel@QGraphicsScene@@QBEPAVQGraphicsItem@@XZ @ 5204 NONAME ; class QGraphicsItem * QGraphicsScene::activePanel(void) const
+ ?dragEnterEvent@QGraphicsTextItem@@MAEXPAVQGraphicsSceneDragDropEvent@@@Z @ 5205 NONAME ; void QGraphicsTextItem::dragEnterEvent(class QGraphicsSceneDragDropEvent *)
+ ??0QTreeWidgetItem@@QAE@PAVQTreeWidget@@ABVQStringList@@H@Z @ 5206 NONAME ; QTreeWidgetItem::QTreeWidgetItem(class QTreeWidget *, class QStringList const &, int)
+ ?itemDelegateForRow@QAbstractItemView@@QBEPAVQAbstractItemDelegate@@H@Z @ 5207 NONAME ; class QAbstractItemDelegate * QAbstractItemView::itemDelegateForRow(int) const
+ ?fileIcon@QFileSystemModel@@QBE?AVQIcon@@ABVQModelIndex@@@Z @ 5208 NONAME ; class QIcon QFileSystemModel::fileIcon(class QModelIndex const &) const
+ ?itemActivated@QTreeWidget@@IAEXPAVQTreeWidgetItem@@H@Z @ 5209 NONAME ; void QTreeWidget::itemActivated(class QTreeWidgetItem *, int)
+ ?setViewportUpdateMode@QGraphicsView@@QAEXW4ViewportUpdateMode@1@@Z @ 5210 NONAME ; void QGraphicsView::setViewportUpdateMode(enum QGraphicsView::ViewportUpdateMode)
+ ?getItemPosition@QFormLayout@@QBEXHPAHPAW4ItemRole@1@@Z @ 5211 NONAME ; void QFormLayout::getItemPosition(int, int *, enum QFormLayout::ItemRole *) const
+ ?qt_metacall@QHBoxLayout@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 5212 NONAME ; int QHBoxLayout::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ??0QMatrix4x4@@QAE@PBM@Z @ 5213 NONAME ; QMatrix4x4::QMatrix4x4(float const *)
+ ?activeWindow@QApplication@@SAPAVQWidget@@XZ @ 5214 NONAME ; class QWidget * QApplication::activeWindow(void)
+ ?cursorToX@QLineControl@@QBEMH@Z @ 5215 NONAME ; float QLineControl::cursorToX(int) const
+ ?tr@QFileDialog@@SA?AVQString@@PBD0@Z @ 5216 NONAME ; class QString QFileDialog::tr(char const *, char const *)
+ ?d_func@QLabel@@ABEPBVQLabelPrivate@@XZ @ 5217 NONAME ; class QLabelPrivate const * QLabel::d_func(void) const
+ ?rowCountChanged@QTableView@@IAEXHH@Z @ 5218 NONAME ; void QTableView::rowCountChanged(int, int)
+ ?redoTextChanged@QUndoGroup@@IAEXABVQString@@@Z @ 5219 NONAME ; void QUndoGroup::redoTextChanged(class QString const &)
+ ?qt_metacast@QErrorMessage@@UAEPAXPBD@Z @ 5220 NONAME ; void * QErrorMessage::qt_metacast(char const *)
+ ?staticMetaObject@QSplashScreen@@2UQMetaObject@@B @ 5221 NONAME ; struct QMetaObject const QSplashScreen::staticMetaObject
+ ??1QAbstractGraphicsShapeItem@@UAE@XZ @ 5222 NONAME ; QAbstractGraphicsShapeItem::~QAbstractGraphicsShapeItem(void)
+ ?extraSelections@QTextEdit@@QBE?AV?$QList@UExtraSelection@QTextEdit@@@@XZ @ 5223 NONAME ; class QList<struct QTextEdit::ExtraSelection> QTextEdit::extraSelections(void) const
+ ?columnCountChanged@QTableView@@IAEXHH@Z @ 5224 NONAME ; void QTableView::columnCountChanged(int, int)
+ ?setPoints@QPolygon@@QAEXHPBH@Z @ 5225 NONAME ; void QPolygon::setPoints(int, int const *)
+ ?closePersistentEditor@QTableWidget@@QAEXPAVQTableWidgetItem@@@Z @ 5226 NONAME ; void QTableWidget::closePersistentEditor(class QTableWidgetItem *)
+ ?tr@QDialogButtonBox@@SA?AVQString@@PBD0@Z @ 5227 NONAME ; class QString QDialogButtonBox::tr(char const *, char const *)
+ ?setFirstColumnSpanned@QTreeView@@QAEXHABVQModelIndex@@_N@Z @ 5228 NONAME ; void QTreeView::setFirstColumnSpanned(int, class QModelIndex const &, bool)
+ ?isRedoAvailable@QLineEdit@@QBE_NXZ @ 5229 NONAME ; bool QLineEdit::isRedoAvailable(void) const
+ ??ZQRegion@@QAEAAV0@ABV0@@Z @ 5230 NONAME ; class QRegion & QRegion::operator-=(class QRegion const &)
+ ??0QTextDocument@@IAE@AAVQTextDocumentPrivate@@PAVQObject@@@Z @ 5231 NONAME ; QTextDocument::QTextDocument(class QTextDocumentPrivate &, class QObject *)
+ ?currentWidget@QTabWidget@@QBEPAVQWidget@@XZ @ 5232 NONAME ; class QWidget * QTabWidget::currentWidget(void) const
+ ??1QFocusEvent@@UAE@XZ @ 5233 NONAME ; QFocusEvent::~QFocusEvent(void)
+ ??0QPixmap@@QAE@ABVQString@@PBDV?$QFlags@W4ImageConversionFlag@Qt@@@@@Z @ 5234 NONAME ; QPixmap::QPixmap(class QString const &, char const *, class QFlags<enum Qt::ImageConversionFlag>)
+ ?setRowFixedHeight@QGraphicsGridLayout@@QAEXHM@Z @ 5235 NONAME ; void QGraphicsGridLayout::setRowFixedHeight(int, float)
+ ?setIconSize@QAbstractButton@@QAEXABVQSize@@@Z @ 5236 NONAME ; void QAbstractButton::setIconSize(class QSize const &)
+ ?flush@QRasterWindowSurface@@UAEXPAVQWidget@@ABVQRegion@@ABVQPoint@@@Z @ 5237 NONAME ; void QRasterWindowSurface::flush(class QWidget *, class QRegion const &, class QPoint const &)
+ ?resizeEvent@QTabBar@@MAEXPAVQResizeEvent@@@Z @ 5238 NONAME ; void QTabBar::resizeEvent(class QResizeEvent *)
+ ?testHexColor@Parser@QCss@@QAE_NXZ @ 5239 NONAME ; bool QCss::Parser::testHexColor(void)
+ ??0QUndoView@@QAE@PAVQUndoGroup@@PAVQWidget@@@Z @ 5240 NONAME ; QUndoView::QUndoView(class QUndoGroup *, class QWidget *)
+ ??1QColumnView@@UAE@XZ @ 5241 NONAME ; QColumnView::~QColumnView(void)
+ ?metaObject@QGraphicsObject@@UBEPBUQMetaObject@@XZ @ 5242 NONAME ; struct QMetaObject const * QGraphicsObject::metaObject(void) const
+ ??D@YA?AVQPointF@@ABV0@ABVQMatrix@@@Z @ 5243 NONAME ; class QPointF operator*(class QPointF const &, class QMatrix const &)
+ ?addRow@QFormLayout@@QAEXPAVQLayout@@@Z @ 5244 NONAME ; void QFormLayout::addRow(class QLayout *)
+ ?mouseReleaseEvent@QListView@@MAEXPAVQMouseEvent@@@Z @ 5245 NONAME ; void QListView::mouseReleaseEvent(class QMouseEvent *)
+ ??9QPalette@@QBE_NABV0@@Z @ 5246 NONAME ; bool QPalette::operator!=(class QPalette const &) const
+ ?qt_metacall@QGraphicsTransform@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 5247 NONAME ; int QGraphicsTransform::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?exec@QPicture@@AAE_NPAVQPainter@@AAVQDataStream@@H@Z @ 5248 NONAME ; bool QPicture::exec(class QPainter *, class QDataStream &, int)
+ ?finishChange@QLineControl@@AAE_NH_N0@Z @ 5249 NONAME ; bool QLineControl::finishChange(int, bool, bool)
+ ?tr@QGroupBox@@SA?AVQString@@PBD0H@Z @ 5250 NONAME ; class QString QGroupBox::tr(char const *, char const *, int)
+ ?d_func@QPlainTextEdit@@ABEPBVQPlainTextEditPrivate@@XZ @ 5251 NONAME ; class QPlainTextEditPrivate const * QPlainTextEdit::d_func(void) const
+ ??8QKeySequence@@QBE_NABV0@@Z @ 5252 NONAME ; bool QKeySequence::operator==(class QKeySequence const &) const
+ ?systemMenu@QMdiSubWindow@@QBEPAVQMenu@@XZ @ 5253 NONAME ; class QMenu * QMdiSubWindow::systemMenu(void) const
+ ?filterAcceptsColumn@QSortFilterProxyModel@@MBE_NHABVQModelIndex@@@Z @ 5254 NONAME ; bool QSortFilterProxyModel::filterAcceptsColumn(int, class QModelIndex const &) const
+ ?visualItemRect@QTreeWidget@@QBE?AVQRect@@PBVQTreeWidgetItem@@@Z @ 5255 NONAME ; class QRect QTreeWidget::visualItemRect(class QTreeWidgetItem const *) const
+ ?setFormat@QTextObject@@IAEXABVQTextFormat@@@Z @ 5256 NONAME ; void QTextObject::setFormat(class QTextFormat const &)
+ ?submit@QAbstractProxyModel@@UAE_NXZ @ 5257 NONAME ; bool QAbstractProxyModel::submit(void)
+ ?setMinimumHeight@QGraphicsLayoutItem@@QAEXM@Z @ 5258 NONAME ; void QGraphicsLayoutItem::setMinimumHeight(float)
+ ?getStaticMetaObject@QSplitter@@SAABUQMetaObject@@XZ @ 5259 NONAME ; struct QMetaObject const & QSplitter::getStaticMetaObject(void)
+ ?activated@QShortcut@@IAEXXZ @ 5260 NONAME ; void QShortcut::activated(void)
+ ??0QPen@@QAE@XZ @ 5261 NONAME ; QPen::QPen(void)
+ ??1QErrorMessage@@UAE@XZ @ 5262 NONAME ; QErrorMessage::~QErrorMessage(void)
+ ?setModifiers@QGraphicsSceneHoverEvent@@QAEXV?$QFlags@W4KeyboardModifier@Qt@@@@@Z @ 5263 NONAME ; void QGraphicsSceneHoverEvent::setModifiers(class QFlags<enum Qt::KeyboardModifier>)
+ ?rotationList@QGraphicsItemAnimation@@QBE?AV?$QList@U?$QPair@MM@@@@XZ @ 5264 NONAME ; class QList<struct QPair<float, float> > QGraphicsItemAnimation::rotationList(void) const
+ ?rotation@QTabletEvent@@QBEMXZ @ 5265 NONAME ; float QTabletEvent::rotation(void) const
+ ?orientationChanged@QToolBar@@IAEXW4Orientation@Qt@@@Z @ 5266 NONAME ; void QToolBar::orientationChanged(enum Qt::Orientation)
+ ?sortOrder@QSortFilterProxyModel@@QBE?AW4SortOrder@Qt@@XZ @ 5267 NONAME ; enum Qt::SortOrder QSortFilterProxyModel::sortOrder(void) const
+ ?nextCheckState@QCheckBox@@MAEXXZ @ 5268 NONAME ; void QCheckBox::nextCheckState(void)
+ ?setBackground@QTreeWidgetItem@@QAEXHABVQBrush@@@Z @ 5269 NONAME ; void QTreeWidgetItem::setBackground(int, class QBrush const &)
+ ?pointerType@QTabletEvent@@QBE?AW4PointerType@1@XZ @ 5270 NONAME ; enum QTabletEvent::PointerType QTabletEvent::pointerType(void) const
+ ??0QSplitter@@QAE@W4Orientation@Qt@@PAVQWidget@@@Z @ 5271 NONAME ; QSplitter::QSplitter(enum Qt::Orientation, class QWidget *)
+ ??4QStyleOptionFrameV3@@QAEAAV0@ABVQStyleOptionFrame@@@Z @ 5272 NONAME ; class QStyleOptionFrameV3 & QStyleOptionFrameV3::operator=(class QStyleOptionFrame const &)
+ ?collapsed@QTreeView@@IAEXABVQModelIndex@@@Z @ 5273 NONAME ; void QTreeView::collapsed(class QModelIndex const &)
+ ?initStyleOption@QDial@@IBEXPAVQStyleOptionSlider@@@Z @ 5274 NONAME ; void QDial::initStyleOption(class QStyleOptionSlider *) const
+ ?wheelScrollLines@QApplication@@SAHXZ @ 5275 NONAME ; int QApplication::wheelScrollLines(void)
+ ?keyReleaseEvent@QPlainTextEdit@@MAEXPAVQKeyEvent@@@Z @ 5276 NONAME ; void QPlainTextEdit::keyReleaseEvent(class QKeyEvent *)
+ ?sceneTransform@QGraphicsItem@@QBE?AVQTransform@@XZ @ 5277 NONAME ; class QTransform QGraphicsItem::sceneTransform(void) const
+ ?mimeData@QGraphicsSceneDragDropEvent@@QBEPBVQMimeData@@XZ @ 5278 NONAME ; class QMimeData const * QGraphicsSceneDragDropEvent::mimeData(void) const
+ ?isInvertible@QMatrix@@QBE_NXZ @ 5279 NONAME ; bool QMatrix::isInvertible(void) const
+ ?addLayout@QGridLayout@@QAEXPAVQLayout@@HHHHV?$QFlags@W4AlignmentFlag@Qt@@@@@Z @ 5280 NONAME ; void QGridLayout::addLayout(class QLayout *, int, int, int, int, class QFlags<enum Qt::AlignmentFlag>)
+ ?getMargin@QLayoutPrivate@@QBEXPAHHW4PixelMetric@QStyle@@@Z @ 5281 NONAME ; void QLayoutPrivate::getMargin(int *, int, enum QStyle::PixelMetric) const
+ ?blockCountChanged@QTextDocument@@IAEXH@Z @ 5282 NONAME ; void QTextDocument::blockCountChanged(int)
+ ?trUtf8@QGraphicsRotation@@SA?AVQString@@PBD0@Z @ 5283 NONAME ; class QString QGraphicsRotation::trUtf8(char const *, char const *)
+ ?find@QTextDocument@@QBE?AVQTextCursor@@ABVQString@@ABV2@V?$QFlags@W4FindFlag@QTextDocument@@@@@Z @ 5284 NONAME ; class QTextCursor QTextDocument::find(class QString const &, class QTextCursor const &, class QFlags<enum QTextDocument::FindFlag>) const
+ ?setFontOverline@QTextCharFormat@@QAEX_N@Z @ 5285 NONAME ; void QTextCharFormat::setFontOverline(bool)
+ ?selectedIndexes@QAbstractItemView@@MBE?AV?$QList@VQModelIndex@@@@XZ @ 5286 NONAME ; class QList<class QModelIndex> QAbstractItemView::selectedIndexes(void) const
+ ?addPixmap@QIcon@@QAEXABVQPixmap@@W4Mode@1@W4State@1@@Z @ 5287 NONAME ; void QIcon::addPixmap(class QPixmap const &, enum QIcon::Mode, enum QIcon::State)
+ ?blurRadius@QGraphicsBloomEffect@@QBEHXZ @ 5288 NONAME ABSENT ; int QGraphicsBloomEffect::blurRadius(void) const
+ ?setSortLocaleAware@QSortFilterProxyModel@@QAEX_N@Z @ 5289 NONAME ; void QSortFilterProxyModel::setSortLocaleAware(bool)
+ ?blockCountChanged@QTextControl@@IAEXH@Z @ 5290 NONAME ; void QTextControl::blockCountChanged(int)
+ ?mousePressEvent@QSplashScreen@@MAEXPAVQMouseEvent@@@Z @ 5291 NONAME ; void QSplashScreen::mousePressEvent(class QMouseEvent *)
+ ?getStaticMetaObject@QAbstractButton@@SAABUQMetaObject@@XZ @ 5292 NONAME ; struct QMetaObject const & QAbstractButton::getStaticMetaObject(void)
+ ?drawRoundRect@QPainter@@QAEXHHHHHH@Z @ 5293 NONAME ; void QPainter::drawRoundRect(int, int, int, int, int, int)
+ ??9QBrush@@QBE_NABV0@@Z @ 5294 NONAME ; bool QBrush::operator!=(class QBrush const &) const
+ ?drawConvexPolygon@QPainter@@QAEXPBVQPoint@@H@Z @ 5295 NONAME ; void QPainter::drawConvexPolygon(class QPoint const *, int)
+ ?addItems@QListWidget@@QAEXABVQStringList@@@Z @ 5296 NONAME ; void QListWidget::addItems(class QStringList const &)
+ ??_EQGraphicsGridLayout@@UAE@I@Z @ 5297 NONAME ; QGraphicsGridLayout::~QGraphicsGridLayout(unsigned int)
+ ?topLevelChanged@QDockWidget@@IAEX_N@Z @ 5298 NONAME ; void QDockWidget::topLevelChanged(bool)
+ ?flipCoordinates@QMatrix4x4@@QAEAAV1@XZ @ 5299 NONAME ; class QMatrix4x4 & QMatrix4x4::flipCoordinates(void)
+ ?actionGeometry@QMenuBar@@QBE?AVQRect@@PAVQAction@@@Z @ 5300 NONAME ; class QRect QMenuBar::actionGeometry(class QAction *) const
+ ??_EQPainterReplayer@@UAE@I@Z @ 5301 NONAME ; QPainterReplayer::~QPainterReplayer(unsigned int)
+ ??0QStyleOptionTabBarBaseV2@@QAE@XZ @ 5302 NONAME ; QStyleOptionTabBarBaseV2::QStyleOptionTabBarBaseV2(void)
+ ?contextMenuEvent@QPlainTextEdit@@MAEXPAVQContextMenuEvent@@@Z @ 5303 NONAME ; void QPlainTextEdit::contextMenuEvent(class QContextMenuEvent *)
+ ?transformToParent@QGraphicsItemPrivate@@QBE?AVQTransform@@XZ @ 5304 NONAME ; class QTransform QGraphicsItemPrivate::transformToParent(void) const
+ ?setWhatsThis@QWidget@@QAEXABVQString@@@Z @ 5305 NONAME ; void QWidget::setWhatsThis(class QString const &)
+ ?visualRegionForSelection@QColumnView@@MBE?AVQRegion@@ABVQItemSelection@@@Z @ 5306 NONAME ; class QRegion QColumnView::visualRegionForSelection(class QItemSelection const &) const
+ ?mousePressEvent@QGraphicsTextItem@@MAEXPAVQGraphicsSceneMouseEvent@@@Z @ 5307 NONAME ; void QGraphicsTextItem::mousePressEvent(class QGraphicsSceneMouseEvent *)
+ ?value@QSpinBox@@QBEHXZ @ 5308 NONAME ; int QSpinBox::value(void) const
+ ?insertRow@QFormLayout@@QAEXHPAVQWidget@@@Z @ 5309 NONAME ; void QFormLayout::insertRow(int, class QWidget *)
+ ?boundingRectFor@QPixmapBlurFilter@@UBE?AVQRectF@@ABV2@@Z @ 5310 NONAME ; class QRectF QPixmapBlurFilter::boundingRectFor(class QRectF const &) const
+ ?clip@QPaintEngineEx@@UAEXABVQRect@@W4ClipOperation@Qt@@@Z @ 5311 NONAME ; void QPaintEngineEx::clip(class QRect const &, enum Qt::ClipOperation)
+ ?setTextWidth@QPlainTextDocumentLayout@@AAEXM@Z @ 5312 NONAME ; void QPlainTextDocumentLayout::setTextWidth(float)
+ ?staticMetaObject@QComboBox@@2UQMetaObject@@B @ 5313 NONAME ; struct QMetaObject const QComboBox::staticMetaObject
+ ?nextId@QWizardPage@@UBEHXZ @ 5314 NONAME ; int QWizardPage::nextId(void) const
+ ??4QStyleOptionDockWidgetV2@@QAEAAV0@ABVQStyleOptionDockWidget@@@Z @ 5315 NONAME ; class QStyleOptionDockWidgetV2 & QStyleOptionDockWidgetV2::operator=(class QStyleOptionDockWidget const &)
+ ??0QFontMetricsF@@QAE@ABVQFont@@@Z @ 5316 NONAME ; QFontMetricsF::QFontMetricsF(class QFont const &)
+ ?setWordWrapMode@QPlainTextEdit@@QAEXW4WrapMode@QTextOption@@@Z @ 5317 NONAME ; void QPlainTextEdit::setWordWrapMode(enum QTextOption::WrapMode)
+ ?qt_metacall@QProxyModel@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 5318 NONAME ; int QProxyModel::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?event@QDialogButtonBox@@MAE_NPAVQEvent@@@Z @ 5319 NONAME ; bool QDialogButtonBox::event(class QEvent *)
+ ?trUtf8@QIconEnginePlugin@@SA?AVQString@@PBD0@Z @ 5320 NONAME ; class QString QIconEnginePlugin::trUtf8(char const *, char const *)
+ ??1QPainterPathStroker@@QAE@XZ @ 5321 NONAME ; QPainterPathStroker::~QPainterPathStroker(void)
+ ?setRgbF@QColor@@QAEXMMMM@Z @ 5322 NONAME ; void QColor::setRgbF(float, float, float, float)
+ ?tr@QLCDNumber@@SA?AVQString@@PBD0H@Z @ 5323 NONAME ; class QString QLCDNumber::tr(char const *, char const *, int)
+ ?resizeEvent@QTabWidget@@MAEXPAVQResizeEvent@@@Z @ 5324 NONAME ; void QTabWidget::resizeEvent(class QResizeEvent *)
+ ?setLineWrapMode@QTextEdit@@QAEXW4LineWrapMode@1@@Z @ 5325 NONAME ; void QTextEdit::setLineWrapMode(enum QTextEdit::LineWrapMode)
+ ?qt_metacast@QGroupBox@@UAEPAXPBD@Z @ 5326 NONAME ; void * QGroupBox::qt_metacast(char const *)
+ ?qt_metacall@QActionGroup@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 5327 NONAME ; int QActionGroup::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ??_EQGuiPlatformPlugin@@UAE@I@Z @ 5328 NONAME ; QGuiPlatformPlugin::~QGuiPlatformPlugin(unsigned int)
+ ??0QStyleOptionMenuItem@@IAE@H@Z @ 5329 NONAME ; QStyleOptionMenuItem::QStyleOptionMenuItem(int)
+ ?removeAction@QGraphicsWidget@@QAEXPAVQAction@@@Z @ 5330 NONAME ; void QGraphicsWidget::removeAction(class QAction *)
+ ?dropAction@QDropEvent@@QBE?AW4DropAction@Qt@@XZ @ 5331 NONAME ; enum Qt::DropAction QDropEvent::dropAction(void) const
+ ?staticMetaObject@QPinchGesture@@2UQMetaObject@@B @ 5332 NONAME ; struct QMetaObject const QPinchGesture::staticMetaObject
+ ?event@QGraphicsWidget@@MAE_NPAVQEvent@@@Z @ 5333 NONAME ; bool QGraphicsWidget::event(class QEvent *)
+ ?addPath@QPainterPath@@QAEXABV1@@Z @ 5334 NONAME ; void QPainterPath::addPath(class QPainterPath const &)
+ ?d_func@QGraphicsSceneWheelEvent@@AAEPAVQGraphicsSceneWheelEventPrivate@@XZ @ 5335 NONAME ; class QGraphicsSceneWheelEventPrivate * QGraphicsSceneWheelEvent::d_func(void)
+ ??0QWindowsStyle@@QAE@XZ @ 5336 NONAME ; QWindowsStyle::QWindowsStyle(void)
+ ?removeColumn@QStandardItem@@QAEXH@Z @ 5337 NONAME ; void QStandardItem::removeColumn(int)
+ ?createUndoAction@QUndoGroup@@QBEPAVQAction@@PAVQObject@@ABVQString@@@Z @ 5338 NONAME ; class QAction * QUndoGroup::createUndoAction(class QObject *, class QString const &) const
+ ??4QBitmap@@QAEAAV0@ABVQPixmap@@@Z @ 5339 NONAME ; class QBitmap & QBitmap::operator=(class QPixmap const &)
+ ?setIcon@QMenu@@QAEXABVQIcon@@@Z @ 5340 NONAME ; void QMenu::setIcon(class QIcon const &)
+ ?play@QSound@@QAEXXZ @ 5341 NONAME ; void QSound::play(void)
+ ??1QGraphicsObject@@UAE@XZ @ 5342 NONAME ; QGraphicsObject::~QGraphicsObject(void)
+ ?d_func@QDrag@@AAEPAVQDragPrivate@@XZ @ 5343 NONAME ; class QDragPrivate * QDrag::d_func(void)
+ ?styleHint@QFont@@QBE?AW4StyleHint@1@XZ @ 5344 NONAME ; enum QFont::StyleHint QFont::styleHint(void) const
+ ?horizontalSpacing@QGridLayout@@QBEHXZ @ 5345 NONAME ; int QGridLayout::horizontalSpacing(void) const
+ ?getStaticMetaObject@QFormLayout@@SAABUQMetaObject@@XZ @ 5346 NONAME ; struct QMetaObject const & QFormLayout::getStaticMetaObject(void)
+ ??1QLCDNumber@@UAE@XZ @ 5347 NONAME ; QLCDNumber::~QLCDNumber(void)
+ ??0QStyleOptionToolBar@@QAE@XZ @ 5348 NONAME ; QStyleOptionToolBar::QStyleOptionToolBar(void)
+ ?doubleMaximum@QInputDialog@@QBENXZ @ 5349 NONAME ; double QInputDialog::doubleMaximum(void) const
+ ?mouseMoveEvent@QAbstractSpinBox@@MAEXPAVQMouseEvent@@@Z @ 5350 NONAME ; void QAbstractSpinBox::mouseMoveEvent(class QMouseEvent *)
+ ??XQVector2D@@QAEAAV0@M@Z @ 5351 NONAME ; class QVector2D & QVector2D::operator*=(float)
+ ??0QTextTableCellFormat@@QAE@XZ @ 5352 NONAME ; QTextTableCellFormat::QTextTableCellFormat(void)
+ ?drawPixmap@QPainter@@QAEXABVQRect@@ABVQPixmap@@0@Z @ 5353 NONAME ; void QPainter::drawPixmap(class QRect const &, class QPixmap const &, class QRect const &)
+ ?metaObject@QErrorMessage@@UBEPBUQMetaObject@@XZ @ 5354 NONAME ; struct QMetaObject const * QErrorMessage::metaObject(void) const
+ ?nextFrameDelay@QMovie@@QBEHXZ @ 5355 NONAME ; int QMovie::nextFrameDelay(void) const
+ ?qt_metacast@QProgressDialog@@UAEPAXPBD@Z @ 5356 NONAME ; void * QProgressDialog::qt_metacast(char const *)
+ ?trUtf8@QMdiArea@@SA?AVQString@@PBD0@Z @ 5357 NONAME ; class QString QMdiArea::trUtf8(char const *, char const *)
+ ??_EQToolBar@@UAE@I@Z @ 5358 NONAME ; QToolBar::~QToolBar(unsigned int)
+ ?d_func@QGraphicsRectItem@@AAEPAVQGraphicsRectItemPrivate@@XZ @ 5359 NONAME ; class QGraphicsRectItemPrivate * QGraphicsRectItem::d_func(void)
+ ?paintEvent@QRadioButton@@MAEXPAVQPaintEvent@@@Z @ 5360 NONAME ; void QRadioButton::paintEvent(class QPaintEvent *)
+ ?clip@QPaintEngineEx@@UAEXABVQRegion@@W4ClipOperation@Qt@@@Z @ 5361 NONAME ; void QPaintEngineEx::clip(class QRegion const &, enum Qt::ClipOperation)
+ ??0QApplicationPrivate@@QAE@AAHPAPADW4Type@QApplication@@@Z @ 5362 NONAME ; QApplicationPrivate::QApplicationPrivate(int &, char * *, enum QApplication::Type)
+ ??0QActionGroup@@QAE@PAVQObject@@@Z @ 5363 NONAME ; QActionGroup::QActionGroup(class QObject *)
+ ?staticMetaObject@QAbstractProxyModel@@2UQMetaObject@@B @ 5364 NONAME ; struct QMetaObject const QAbstractProxyModel::staticMetaObject
+ ?allColumnsShowFocus@QTreeView@@QBE_NXZ @ 5365 NONAME ; bool QTreeView::allColumnsShowFocus(void) const
+ ?contains@QGraphicsPathItem@@UBE_NABVQPointF@@@Z @ 5366 NONAME ; bool QGraphicsPathItem::contains(class QPointF const &) const
+ ?editItem@QListWidget@@QAEXPAVQListWidgetItem@@@Z @ 5367 NONAME ; void QListWidget::editItem(class QListWidgetItem *)
+ ?tr@QSyntaxHighlighter@@SA?AVQString@@PBD0H@Z @ 5368 NONAME ; class QString QSyntaxHighlighter::tr(char const *, char const *, int)
+ ?setText@QClipboard@@QAEXABVQString@@W4Mode@1@@Z @ 5369 NONAME ; void QClipboard::setText(class QString const &, enum QClipboard::Mode)
+ ??_EQMimeSource@@UAE@I@Z @ 5370 NONAME ; QMimeSource::~QMimeSource(unsigned int)
+ ??0QDashStroker@@QAE@PAVQStroker@@@Z @ 5371 NONAME ; QDashStroker::QDashStroker(class QStroker *)
+ ?type@QGraphicsPolygonItem@@UBEHXZ @ 5372 NONAME ; int QGraphicsPolygonItem::type(void) const
+ ?mask@QWidget@@QBE?AVQRegion@@XZ @ 5373 NONAME ; class QRegion QWidget::mask(void) const
+ ??4QPolygonF@@QAEAAV0@ABV0@@Z @ 5374 NONAME ; class QPolygonF & QPolygonF::operator=(class QPolygonF const &)
+ ?alignment@QProgressBar@@QBE?AV?$QFlags@W4AlignmentFlag@Qt@@@@XZ @ 5375 NONAME ; class QFlags<enum Qt::AlignmentFlag> QProgressBar::alignment(void) const
+ ?invertPixels@QImage@@QAEXW4InvertMode@1@@Z @ 5376 NONAME ; void QImage::invertPixels(enum QImage::InvertMode)
+ ??0QTableWidgetSelectionRange@@QAE@ABV0@@Z @ 5377 NONAME ; QTableWidgetSelectionRange::QTableWidgetSelectionRange(class QTableWidgetSelectionRange const &)
+ ??0QBrush@@QAE@W4GlobalColor@Qt@@ABVQPixmap@@@Z @ 5378 NONAME ; QBrush::QBrush(enum Qt::GlobalColor, class QPixmap const &)
+ ??0QAbstractItemDelegate@@IAE@AAVQObjectPrivate@@PAVQObject@@@Z @ 5379 NONAME ; QAbstractItemDelegate::QAbstractItemDelegate(class QObjectPrivate &, class QObject *)
+ ?staticMetaObject@QDialog@@2UQMetaObject@@B @ 5380 NONAME ; struct QMetaObject const QDialog::staticMetaObject
+ ?qDrawPlainRect@@YAXPAVQPainter@@ABVQRect@@ABVQColor@@HPBVQBrush@@@Z @ 5381 NONAME ; void qDrawPlainRect(class QPainter *, class QRect const &, class QColor const &, int, class QBrush const *)
+ ?setMaximumSize@QWidget@@QAEXHH@Z @ 5382 NONAME ; void QWidget::setMaximumSize(int, int)
+ ??0QStyleOptionViewItemV3@@QAE@ABV0@@Z @ 5383 NONAME ; QStyleOptionViewItemV3::QStyleOptionViewItemV3(class QStyleOptionViewItemV3 const &)
+ ??0QPlainTextEdit@@QAE@PAVQWidget@@@Z @ 5384 NONAME ; QPlainTextEdit::QPlainTextEdit(class QWidget *)
+ ??_EQClipboard@@UAE@I@Z @ 5385 NONAME ; QClipboard::~QClipboard(unsigned int)
+ ?eventFilter@QWindowsStyle@@MAE_NPAVQObject@@PAVQEvent@@@Z @ 5386 NONAME ; bool QWindowsStyle::eventFilter(class QObject *, class QEvent *)
+ ?setColumnWidths@QColumnView@@QAEXABV?$QList@H@@@Z @ 5387 NONAME ; void QColumnView::setColumnWidths(class QList<int> const &)
+ ?itemDelegate@QFileDialog@@QBEPAVQAbstractItemDelegate@@XZ @ 5388 NONAME ; class QAbstractItemDelegate * QFileDialog::itemDelegate(void) const
+ ?gamma@QImageWriter@@QBEMXZ @ 5389 NONAME ; float QImageWriter::gamma(void) const
+ ?styleHint@QS60Style@@UBEHW4StyleHint@QStyle@@PBVQStyleOption@@PBVQWidget@@PAVQStyleHintReturn@@@Z @ 5390 NONAME ; int QS60Style::styleHint(enum QStyle::StyleHint, class QStyleOption const *, class QWidget const *, class QStyleHintReturn *) const
+ ?setBlockFormat@QTextCursor@@QAEXABVQTextBlockFormat@@@Z @ 5391 NONAME ; void QTextCursor::setBlockFormat(class QTextBlockFormat const &)
+ ?tabWhatsThis@QTabWidget@@QBE?AVQString@@H@Z @ 5392 NONAME ; class QString QTabWidget::tabWhatsThis(int) const
+ ?setLayoutDirection_helper@QWidgetPrivate@@QAEXW4LayoutDirection@Qt@@@Z @ 5393 NONAME ; void QWidgetPrivate::setLayoutDirection_helper(enum Qt::LayoutDirection)
+ ?keyboardInputInterval@QApplication@@SAHXZ @ 5394 NONAME ; int QApplication::keyboardInputInterval(void)
+ ?trUtf8@QGridLayout@@SA?AVQString@@PBD0H@Z @ 5395 NONAME ; class QString QGridLayout::trUtf8(char const *, char const *, int)
+ ?keyboardSearch@QAbstractItemView@@UAEXABVQString@@@Z @ 5396 NONAME ; void QAbstractItemView::keyboardSearch(class QString const &)
+ ?filePath@QDirModel@@QBE?AVQString@@ABVQModelIndex@@@Z @ 5397 NONAME ; class QString QDirModel::filePath(class QModelIndex const &) const
+ ??0QGesture@@IAE@AAVQGesturePrivate@@PAVQObject@@@Z @ 5398 NONAME ; QGesture::QGesture(class QGesturePrivate &, class QObject *)
+ ?beginEditBlock@QTextCursor@@QAEXXZ @ 5399 NONAME ; void QTextCursor::beginEditBlock(void)
+ ?defaultTextColor@QGraphicsTextItem@@QBE?AVQColor@@XZ @ 5400 NONAME ; class QColor QGraphicsTextItem::defaultTextColor(void) const
+ ?metaObject@QSpinBox@@UBEPBUQMetaObject@@XZ @ 5401 NONAME ; struct QMetaObject const * QSpinBox::metaObject(void) const
+ ??1QToolBox@@UAE@XZ @ 5402 NONAME ; QToolBox::~QToolBox(void)
+ ?setAcceptsHoverEvents@QGraphicsItem@@QAEX_N@Z @ 5403 NONAME ; void QGraphicsItem::setAcceptsHoverEvents(bool)
+ ??_EQStylePlugin@@UAE@I@Z @ 5404 NONAME ; QStylePlugin::~QStylePlugin(unsigned int)
+ ??1QTableWidgetSelectionRange@@QAE@XZ @ 5405 NONAME ; QTableWidgetSelectionRange::~QTableWidgetSelectionRange(void)
+ ?staticMetaObject@QInputContext@@2UQMetaObject@@B @ 5406 NONAME ; struct QMetaObject const QInputContext::staticMetaObject
+ ?sharedPainter@QWidgetPrivate@@QBEPAVQPainter@@XZ @ 5407 NONAME ; class QPainter * QWidgetPrivate::sharedPainter(void) const
+ ??1QActionEvent@@UAE@XZ @ 5408 NONAME ; QActionEvent::~QActionEvent(void)
+ ?appendColumns@QTextTable@@QAEXH@Z @ 5409 NONAME ; void QTextTable::appendColumns(int)
+ ?d_func@QStandardItemModel@@AAEPAVQStandardItemModelPrivate@@XZ @ 5410 NONAME ; class QStandardItemModelPrivate * QStandardItemModel::d_func(void)
+ ?getWindowFrameMargins@QGraphicsWidget@@QBEXPAM000@Z @ 5411 NONAME ; void QGraphicsWidget::getWindowFrameMargins(float *, float *, float *, float *) const
+ ?tr@QTreeWidget@@SA?AVQString@@PBD0@Z @ 5412 NONAME ; class QString QTreeWidget::tr(char const *, char const *)
+ ?setTopPadding@QTextTableCellFormat@@QAEXM@Z @ 5413 NONAME ; void QTextTableCellFormat::setTopPadding(float)
+ ?windowFrameRect@QGraphicsWidget@@QBE?AVQRectF@@XZ @ 5414 NONAME ; class QRectF QGraphicsWidget::windowFrameRect(void) const
+ ?cubicTo@QPainterPath@@QAEXMMMMMM@Z @ 5415 NONAME ; void QPainterPath::cubicTo(float, float, float, float, float, float)
+ ?setExtension@QDialog@@QAEXPAVQWidget@@@Z @ 5416 NONAME ; void QDialog::setExtension(class QWidget *)
+ ??1QGraphicsSceneDragDropEvent@@UAE@XZ @ 5417 NONAME ; QGraphicsSceneDragDropEvent::~QGraphicsSceneDragDropEvent(void)
+ ?cornerWidget@QTabWidget@@QBEPAVQWidget@@W4Corner@Qt@@@Z @ 5418 NONAME ; class QWidget * QTabWidget::cornerWidget(enum Qt::Corner) const
+ ?viewport@QPainter@@QBE?AVQRect@@XZ @ 5419 NONAME ; class QRect QPainter::viewport(void) const
+ ?qt_translateRawTouchEvent@@YAXPAVQWidget@@W4DeviceType@QTouchEvent@@ABV?$QList@VTouchPoint@QTouchEvent@@@@@Z @ 5420 NONAME ; void qt_translateRawTouchEvent(class QWidget *, enum QTouchEvent::DeviceType, class QList<class QTouchEvent::TouchPoint> const &)
+ ?isColumnHidden@QTableView@@QBE_NH@Z @ 5421 NONAME ; bool QTableView::isColumnHidden(int) const
+ ??1QSizeGrip@@UAE@XZ @ 5422 NONAME ; QSizeGrip::~QSizeGrip(void)
+ ?tr@QSound@@SA?AVQString@@PBD0H@Z @ 5423 NONAME ; class QString QSound::tr(char const *, char const *, int)
+ ?qt_metacall@QAbstractSpinBox@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 5424 NONAME ; int QAbstractSpinBox::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?qt_draw_helper@@YAXPAVQPainterPrivate@@ABVQPainterPath@@W4DrawOperation@1@@Z @ 5425 NONAME ; void qt_draw_helper(class QPainterPrivate *, class QPainterPath const &, enum QPainterPrivate::DrawOperation)
+ ?allowedAreas@QDockWidget@@QBE?AV?$QFlags@W4DockWidgetArea@Qt@@@@XZ @ 5426 NONAME ; class QFlags<enum Qt::DockWidgetArea> QDockWidget::allowedAreas(void) const
+ ?tabButton@QTabBar@@QBEPAVQWidget@@HW4ButtonPosition@1@@Z @ 5427 NONAME ; class QWidget * QTabBar::tabButton(int, enum QTabBar::ButtonPosition) const
+ ?data_ptr@QIcon@@QAEAAPAVQIconPrivate@@XZ @ 5428 NONAME ; class QIconPrivate * & QIcon::data_ptr(void)
+ ?tr@QImageIOPlugin@@SA?AVQString@@PBD0H@Z @ 5429 NONAME ; class QString QImageIOPlugin::tr(char const *, char const *, int)
+ ?clear@QListWidget@@QAEXXZ @ 5430 NONAME ; void QListWidget::clear(void)
+ ??0QToolBar@@QAE@ABVQString@@PAVQWidget@@@Z @ 5431 NONAME ; QToolBar::QToolBar(class QString const &, class QWidget *)
+ ?minimumSize@QGridLayout@@UBE?AVQSize@@XZ @ 5432 NONAME ; class QSize QGridLayout::minimumSize(void) const
+ ?inputMethodQuery@QGraphicsItem@@MBE?AVQVariant@@W4InputMethodQuery@Qt@@@Z @ 5433 NONAME ; class QVariant QGraphicsItem::inputMethodQuery(enum Qt::InputMethodQuery) const
+ ?event@QAction@@MAE_NPAVQEvent@@@Z @ 5434 NONAME ; bool QAction::event(class QEvent *)
+ ?alignedRect@QStyle@@SA?AVQRect@@W4LayoutDirection@Qt@@V?$QFlags@W4AlignmentFlag@Qt@@@@ABVQSize@@ABV2@@Z @ 5435 NONAME ; class QRect QStyle::alignedRect(enum Qt::LayoutDirection, class QFlags<enum Qt::AlignmentFlag>, class QSize const &, class QRect const &)
+ ?cacheKey@QImage@@QBE_JXZ @ 5436 NONAME ; long long QImage::cacheKey(void) const
+ ??0QTextTableFormat@@QAE@XZ @ 5437 NONAME ; QTextTableFormat::QTextTableFormat(void)
+ ?setFont_helper@QWidgetPrivate@@QAEXABVQFont@@@Z @ 5438 NONAME ; void QWidgetPrivate::setFont_helper(class QFont const &)
+ ?setIndentWidth@QTextDocument@@QAEXM@Z @ 5439 NONAME ; void QTextDocument::setIndentWidth(float)
+ ?stretch@QFont@@QBEHXZ @ 5440 NONAME ; int QFont::stretch(void) const
+ ?unpolish@QS60Style@@UAEXPAVQWidget@@@Z @ 5441 NONAME ; void QS60Style::unpolish(class QWidget *)
+ ?focusInEvent@QGroupBox@@MAEXPAVQFocusEvent@@@Z @ 5442 NONAME ; void QGroupBox::focusInEvent(class QFocusEvent *)
+ ?timerEvent@QToolButton@@MAEXPAVQTimerEvent@@@Z @ 5443 NONAME ; void QToolButton::timerEvent(class QTimerEvent *)
+ ?scrollContentsBy@QHeaderView@@MAEXHH@Z @ 5444 NONAME ; void QHeaderView::scrollContentsBy(int, int)
+ ??0QTextFrameFormat@@QAE@XZ @ 5445 NONAME ; QTextFrameFormat::QTextFrameFormat(void)
+ ??6@YA?AVQDebug@@V0@ABVQQuaternion@@@Z @ 5446 NONAME ; class QDebug operator<<(class QDebug, class QQuaternion const &)
+ ?drawRects@QPaintEngine@@UAEXPBVQRect@@H@Z @ 5447 NONAME ; void QPaintEngine::drawRects(class QRect const *, int)
+ ?setSliderDown@QAbstractSlider@@QAEX_N@Z @ 5448 NONAME ; void QAbstractSlider::setSliderDown(bool)
+ ?pressure@TouchPoint@QTouchEvent@@QBEMXZ @ 5449 NONAME ; float QTouchEvent::TouchPoint::pressure(void) const
+ ?metaObject@QGraphicsEffectSource@@UBEPBUQMetaObject@@XZ @ 5450 NONAME ; struct QMetaObject const * QGraphicsEffectSource::metaObject(void) const
+ ?isValid@QSymbianEvent@@QBE_NXZ @ 5451 NONAME ; bool QSymbianEvent::isValid(void) const
+ ?selectFile@QFileDialog@@QAEXABVQString@@@Z @ 5452 NONAME ; void QFileDialog::selectFile(class QString const &)
+ ?rowMinimumHeight@QGraphicsGridLayout@@QBEMH@Z @ 5453 NONAME ; float QGraphicsGridLayout::rowMinimumHeight(int) const
+ ?setStartId@QWizard@@QAEXH@Z @ 5454 NONAME ; void QWizard::setStartId(int)
+ ?indexOf@QTabWidget@@QBEHPAVQWidget@@@Z @ 5455 NONAME ; int QTabWidget::indexOf(class QWidget *) const
+ ??_EQStringListModel@@UAE@I@Z @ 5456 NONAME ; QStringListModel::~QStringListModel(unsigned int)
+ ?setFocus@QTextControl@@QAEX_NW4FocusReason@Qt@@@Z @ 5457 NONAME ; void QTextControl::setFocus(bool, enum Qt::FocusReason)
+ ?isIndexHidden@QHeaderView@@MBE_NABVQModelIndex@@@Z @ 5458 NONAME ; bool QHeaderView::isIndexHidden(class QModelIndex const &) const
+ ?getStaticMetaObject@QClipboard@@SAABUQMetaObject@@XZ @ 5459 NONAME ; struct QMetaObject const & QClipboard::getStaticMetaObject(void)
+ ?text@QTextFragment@@QBE?AVQString@@XZ @ 5460 NONAME ; class QString QTextFragment::text(void) const
+ ?textColor@QTextEdit@@QBE?AVQColor@@XZ @ 5461 NONAME ; class QColor QTextEdit::textColor(void) const
+ ?trUtf8@QUndoView@@SA?AVQString@@PBD0H@Z @ 5462 NONAME ; class QString QUndoView::trUtf8(char const *, char const *, int)
+ ?opacity@QPaintEngineState@@QBEMXZ @ 5463 NONAME ; float QPaintEngineState::opacity(void) const
+ ?fileDialogSetDirectory@QGuiPlatformPlugin@@UAEXPAVQFileDialog@@ABVQString@@@Z @ 5464 NONAME ; void QGuiPlatformPlugin::fileDialogSetDirectory(class QFileDialog *, class QString const &)
+ ??0QApplication@@QAE@AAHPAPADH@Z @ 5465 NONAME ; QApplication::QApplication(int &, char * *, int)
+ ?dragMoveEvent@QLineEdit@@MAEXPAVQDragMoveEvent@@@Z @ 5466 NONAME ; void QLineEdit::dragMoveEvent(class QDragMoveEvent *)
+ ?autoRepeat@QAbstractButton@@QBE_NXZ @ 5467 NONAME ; bool QAbstractButton::autoRepeat(void) const
+ ?tr@QAbstractSpinBox@@SA?AVQString@@PBD0H@Z @ 5468 NONAME ; class QString QAbstractSpinBox::tr(char const *, char const *, int)
+ ?setRange@QDoubleValidator@@UAEXNNH@Z @ 5469 NONAME ; void QDoubleValidator::setRange(double, double, int)
+ ?resizeEvent@QCalendarWidget@@MAEXPAVQResizeEvent@@@Z @ 5470 NONAME ; void QCalendarWidget::resizeEvent(class QResizeEvent *)
+ ?prepareBuffer@QRasterWindowSurface@@AAEXW4Format@QImage@@PAVQWidget@@@Z @ 5471 NONAME ; void QRasterWindowSurface::prepareBuffer(enum QImage::Format, class QWidget *)
+ ?mimeData@QListWidget@@MBEPAVQMimeData@@V?$QList@PAVQListWidgetItem@@@@@Z @ 5472 NONAME ; class QMimeData * QListWidget::mimeData(class QList<class QListWidgetItem *>) const
+ ?repaint@QWidget@@QAEXABVQRegion@@@Z @ 5473 NONAME ; void QWidget::repaint(class QRegion const &)
+ ?cursorWordBackward@QLineControl@@QAEX_N@Z @ 5474 NONAME ; void QLineControl::cursorWordBackward(bool)
+ ??0QToolBar@@QAE@PAVQWidget@@@Z @ 5475 NONAME ; QToolBar::QToolBar(class QWidget *)
+ ?qt_metacast@QStyledItemDelegate@@UAEPAXPBD@Z @ 5476 NONAME ; void * QStyledItemDelegate::qt_metacast(char const *)
+ ?genericMapFromScene@QGraphicsItemPrivate@@QBE?AVQPointF@@ABV2@PBVQWidget@@@Z @ 5477 NONAME ; class QPointF QGraphicsItemPrivate::genericMapFromScene(class QPointF const &, class QWidget const *) const
+ ?setRect@TouchPoint@QTouchEvent@@QAEXABVQRectF@@@Z @ 5478 NONAME ; void QTouchEvent::TouchPoint::setRect(class QRectF const &)
+ ?currentItemChanged@QTreeWidget@@IAEXPAVQTreeWidgetItem@@0@Z @ 5479 NONAME ; void QTreeWidget::currentItemChanged(class QTreeWidgetItem *, class QTreeWidgetItem *)
+ ?closeAllWindows@QWorkspace@@QAEXXZ @ 5480 NONAME ; void QWorkspace::closeAllWindows(void)
+ ?itemData@QComboBox@@QBE?AVQVariant@@HH@Z @ 5481 NONAME ; class QVariant QComboBox::itemData(int, int) const
+ ?RestoreMenuL@QS60MainAppUi@@UAEXPAVCCoeControl@@HW4TMenuType@MEikMenuObserver@@@Z @ 5482 NONAME ; void QS60MainAppUi::RestoreMenuL(class CCoeControl *, int, enum MEikMenuObserver::TMenuType)
+ ?depth@QImage@@QBEHXZ @ 5483 NONAME ; int QImage::depth(void) const
+ ?setStrength@QGraphicsGrayscaleEffect@@QAEXM@Z @ 5484 NONAME ABSENT ; void QGraphicsGrayscaleEffect::setStrength(float)
+ ?setPasswordCharacter@QLineControl@@QAEXABVQChar@@@Z @ 5485 NONAME ; void QLineControl::setPasswordCharacter(class QChar const &)
+ ?tr@QMdiSubWindow@@SA?AVQString@@PBD0H@Z @ 5486 NONAME ; class QString QMdiSubWindow::tr(char const *, char const *, int)
+ ?currentIndex@QDataWidgetMapper@@QBEHXZ @ 5487 NONAME ; int QDataWidgetMapper::currentIndex(void) const
+ ?setFont@QApplication@@SAXABVQFont@@PBD@Z @ 5488 NONAME ; void QApplication::setFont(class QFont const &, char const *)
+ ?resized@QDesktopWidget@@IAEXH@Z @ 5489 NONAME ; void QDesktopWidget::resized(int)
+ ?fontEngine@QTextEngine@@QBEPAVQFontEngine@@ABUQScriptItem@@PAUQFixed@@1@Z @ 5490 NONAME ABSENT ; class QFontEngine * QTextEngine::fontEngine(struct QScriptItem const &, struct QFixed *, struct QFixed *) const
+ ??BQVector2D@@QBE?AVQVariant@@XZ @ 5491 NONAME ; QVector2D::operator class QVariant(void) const
+ ?qt_metacall@QTreeWidget@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 5492 NONAME ; int QTreeWidget::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?setSelectable@QStandardItem@@QAEX_N@Z @ 5493 NONAME ; void QStandardItem::setSelectable(bool)
+ ?d_func@QGraphicsLayoutItem@@ABEPBVQGraphicsLayoutItemPrivate@@XZ @ 5494 NONAME ; class QGraphicsLayoutItemPrivate const * QGraphicsLayoutItem::d_func(void) const
+ ?toHtml@QTextEdit@@QBE?AVQString@@XZ @ 5495 NONAME ; class QString QTextEdit::toHtml(void) const
+ ?textChanged@QLineEdit@@IAEXABVQString@@@Z @ 5496 NONAME ; void QLineEdit::textChanged(class QString const &)
+ ??_EQTextObjectInterface@@UAE@I@Z @ 5497 NONAME ; QTextObjectInterface::~QTextObjectInterface(unsigned int)
+ ?setColumns@QTextTableFormat@@QAEXH@Z @ 5498 NONAME ; void QTextTableFormat::setColumns(int)
+ ?screenGeometry@QWidgetPrivate@@SA?AVQRect@@PBVQWidget@@@Z @ 5499 NONAME ; class QRect QWidgetPrivate::screenGeometry(class QWidget const *)
+ ?extension@QGraphicsSimpleTextItem@@MBE?AVQVariant@@ABV2@@Z @ 5500 NONAME ; class QVariant QGraphicsSimpleTextItem::extension(class QVariant const &) const
+ ?findData@QComboBox@@QBEHABVQVariant@@HV?$QFlags@W4MatchFlag@Qt@@@@@Z @ 5501 NONAME ; int QComboBox::findData(class QVariant const &, int, class QFlags<enum Qt::MatchFlag>) const
+ ?items@QGraphicsView@@QBE?AV?$QList@PAVQGraphicsItem@@@@ABVQPoint@@@Z @ 5502 NONAME ; class QList<class QGraphicsItem *> QGraphicsView::items(class QPoint const &) const
+ ?assign@QKeySequence@@AAEHABVQString@@@Z @ 5503 NONAME ; int QKeySequence::assign(class QString const &)
+ ?hasFormats@QTextEngine@@QBE_NXZ @ 5504 NONAME ; bool QTextEngine::hasFormats(void) const
+ ?setNumColumns@QTextLine@@QAEXHM@Z @ 5505 NONAME ; void QTextLine::setNumColumns(int, float)
+ ?trUtf8@QPixmapConvolutionFilter@@SA?AVQString@@PBD0H@Z @ 5506 NONAME ; class QString QPixmapConvolutionFilter::trUtf8(char const *, char const *, int)
+ ?GetScreenCoordinatesForFepL@QCoeFepInputContext@@UBEXAAVTPoint@@AAH1H@Z @ 5507 NONAME ABSENT ; void QCoeFepInputContext::GetScreenCoordinatesForFepL(class TPoint &, int &, int &, int) const
+ ?visualRect@QHeaderView@@MBE?AVQRect@@ABVQModelIndex@@@Z @ 5508 NONAME ; class QRect QHeaderView::visualRect(class QModelIndex const &) const
+ ?minimumSize@QStackedLayout@@UBE?AVQSize@@XZ @ 5509 NONAME ; class QSize QStackedLayout::minimumSize(void) const
+ ?keyPressEvent@QGraphicsView@@MAEXPAVQKeyEvent@@@Z @ 5510 NONAME ; void QGraphicsView::keyPressEvent(class QKeyEvent *)
+ ?supportedDropActions@QTreeWidget@@MBE?AV?$QFlags@W4DropAction@Qt@@@@XZ @ 5511 NONAME ; class QFlags<enum Qt::DropAction> QTreeWidget::supportedDropActions(void) const
+ ?trUtf8@QFrame@@SA?AVQString@@PBD0@Z @ 5512 NONAME ; class QString QFrame::trUtf8(char const *, char const *)
+ ?changeEvent@QFontDialog@@MAEXPAVQEvent@@@Z @ 5513 NONAME ; void QFontDialog::changeEvent(class QEvent *)
+ ?setOption@QFileDialog@@QAEXW4Option@1@_N@Z @ 5514 NONAME ; void QFileDialog::setOption(enum QFileDialog::Option, bool)
+ ?setMaxCount@QComboBox@@QAEXH@Z @ 5515 NONAME ; void QComboBox::setMaxCount(int)
+ ?fromTranslate@QTransform@@SA?AV1@MM@Z @ 5516 NONAME ; class QTransform QTransform::fromTranslate(float, float)
+ ?validate@QTextEngine@@QBEXXZ @ 5517 NONAME ; void QTextEngine::validate(void) const
+ ?staticMetaObject@QListWidget@@2UQMetaObject@@B @ 5518 NONAME ; struct QMetaObject const QListWidget::staticMetaObject
+ ?trUtf8@QAbstractTextDocumentLayout@@SA?AVQString@@PBD0H@Z @ 5519 NONAME ; class QString QAbstractTextDocumentLayout::trUtf8(char const *, char const *, int)
+ ?findIntersections@QBezier@@SA?AV?$QVector@U?$QPair@MM@@@@ABV1@0@Z @ 5520 NONAME ; class QVector<struct QPair<float, float> > QBezier::findIntersections(class QBezier const &, class QBezier const &)
+ ??0QPixmapFilter@@IAE@W4FilterType@0@PAVQObject@@@Z @ 5521 NONAME ; QPixmapFilter::QPixmapFilter(enum QPixmapFilter::FilterType, class QObject *)
+ ??0QTreeWidgetItemIterator@@QAE@PAVQTreeWidgetItem@@V?$QFlags@W4IteratorFlag@QTreeWidgetItemIterator@@@@@Z @ 5522 NONAME ; QTreeWidgetItemIterator::QTreeWidgetItemIterator(class QTreeWidgetItem *, class QFlags<enum QTreeWidgetItemIterator::IteratorFlag>)
+ ?colorSpec@QApplication@@SAHXZ @ 5523 NONAME ; int QApplication::colorSpec(void)
+ ?fontItalic@QTextEdit@@QBE_NXZ @ 5524 NONAME ; bool QTextEdit::fontItalic(void) const
+ ?tr@QGraphicsSystemPlugin@@SA?AVQString@@PBD0@Z @ 5525 NONAME ; class QString QGraphicsSystemPlugin::tr(char const *, char const *)
+ ??1QStyleOptionTabV2@@QAE@XZ @ 5526 NONAME ; QStyleOptionTabV2::~QStyleOptionTabV2(void)
+ ??1QTextList@@UAE@XZ @ 5527 NONAME ; QTextList::~QTextList(void)
+ ?contains@QGraphicsItem@@UBE_NABVQPointF@@@Z @ 5528 NONAME ; bool QGraphicsItem::contains(class QPointF const &) const
+ ?setFont@QGraphicsSimpleTextItem@@QAEXABVQFont@@@Z @ 5529 NONAME ; void QGraphicsSimpleTextItem::setFont(class QFont const &)
+ ?isWrapping@QListView@@QBE_NXZ @ 5530 NONAME ; bool QListView::isWrapping(void) const
+ ?mouseMoveEvent@QTabBar@@MAEXPAVQMouseEvent@@@Z @ 5531 NONAME ; void QTabBar::mouseMoveEvent(class QMouseEvent *)
+ ?origin@QGraphicsRotation@@QBE?AVQVector3D@@XZ @ 5532 NONAME ; class QVector3D QGraphicsRotation::origin(void) const
+ ?intersect@QRegion@@QBE?AV1@ABVQRect@@@Z @ 5533 NONAME ; class QRegion QRegion::intersect(class QRect const &) const
+ ??1QHelpEvent@@UAE@XZ @ 5534 NONAME ; QHelpEvent::~QHelpEvent(void)
+ ?setFontKerning@QTextCharFormat@@QAEX_N@Z @ 5535 NONAME ; void QTextCharFormat::setFontKerning(bool)
+ ?setFontUnderline@QTextEdit@@QAEX_N@Z @ 5536 NONAME ; void QTextEdit::setFontUnderline(bool)
+ ?reset@QListView@@UAEXXZ @ 5537 NONAME ; void QListView::reset(void)
+ ?setFont@QTableWidgetItem@@QAEXABVQFont@@@Z @ 5538 NONAME ; void QTableWidgetItem::setFont(class QFont const &)
+ ?metaObject@QGesture@@UBEPBUQMetaObject@@XZ @ 5539 NONAME ; struct QMetaObject const * QGesture::metaObject(void) const
+ ?toolTip@QAction@@QBE?AVQString@@XZ @ 5540 NONAME ; class QString QAction::toolTip(void) const
+ ?setLastPos@TouchPoint@QTouchEvent@@QAEXABVQPointF@@@Z @ 5541 NONAME ; void QTouchEvent::TouchPoint::setLastPos(class QPointF const &)
+ ?highlight@QPalette@@QBEABVQBrush@@XZ @ 5542 NONAME ; class QBrush const & QPalette::highlight(void) const
+ ?setStartScenePos@TouchPoint@QTouchEvent@@QAEXABVQPointF@@@Z @ 5543 NONAME ; void QTouchEvent::TouchPoint::setStartScenePos(class QPointF const &)
+ ?setSegmentStyle@QLCDNumber@@QAEXW4SegmentStyle@1@@Z @ 5544 NONAME ; void QLCDNumber::setSegmentStyle(enum QLCDNumber::SegmentStyle)
+ ?effectiveWinId@QWidget@@QBEPAVCCoeControl@@XZ @ 5545 NONAME ; class CCoeControl * QWidget::effectiveWinId(void) const
+ ?convertTo@QColor@@QBE?AV1@W4Spec@1@@Z @ 5546 NONAME ; class QColor QColor::convertTo(enum QColor::Spec) const
+ ?window@QWidget@@QBEPAV1@XZ @ 5547 NONAME ; class QWidget * QWidget::window(void) const
+ ?dropMimeData@QFileSystemModel@@UAE_NPBVQMimeData@@W4DropAction@Qt@@HHABVQModelIndex@@@Z @ 5548 NONAME ; bool QFileSystemModel::dropMimeData(class QMimeData const *, enum Qt::DropAction, int, int, class QModelIndex const &)
+ ?saveStateRequest@QApplication@@IAEXAAVQSessionManager@@@Z @ 5549 NONAME ; void QApplication::saveStateRequest(class QSessionManager &)
+ ??5@YAAAVQDataStream@@AAV0@AAVQTextLength@@@Z @ 5550 NONAME ; class QDataStream & operator>>(class QDataStream &, class QTextLength &)
+ ??_EQDialogButtonBox@@UAE@I@Z @ 5551 NONAME ; QDialogButtonBox::~QDialogButtonBox(unsigned int)
+ ?setMaximum@QProgressBar@@QAEXH@Z @ 5552 NONAME ; void QProgressBar::setMaximum(int)
+ ?setSelectionMode@QAbstractItemView@@QAEXW4SelectionMode@1@@Z @ 5553 NONAME ; void QAbstractItemView::setSelectionMode(enum QAbstractItemView::SelectionMode)
+ ?lastScenePos@TouchPoint@QTouchEvent@@QBE?AVQPointF@@XZ @ 5554 NONAME ; class QPointF QTouchEvent::TouchPoint::lastScenePos(void) const
+ ??1QPolygon@@QAE@XZ @ 5555 NONAME ; QPolygon::~QPolygon(void)
+ ?rowCount@QProxyModel@@UBEHABVQModelIndex@@@Z @ 5556 NONAME ; int QProxyModel::rowCount(class QModelIndex const &) const
+ ?rect@QGraphicsRectItem@@QBE?AVQRectF@@XZ @ 5557 NONAME ; class QRectF QGraphicsRectItem::rect(void) const
+ ?drawLines@QPaintEngine@@UAEXPBVQLine@@H@Z @ 5558 NONAME ; void QPaintEngine::drawLines(class QLine const *, int)
+ ?undoAvailable@QTextDocument@@IAEX_N@Z @ 5559 NONAME ; void QTextDocument::undoAvailable(bool)
+ ?isNull@QVector4D@@QBE_NXZ @ 5560 NONAME ; bool QVector4D::isNull(void) const
+ ?setColorSpec@QApplication@@SAXH@Z @ 5561 NONAME ; void QApplication::setColorSpec(int)
+ ?widget@QGestureEvent@@QBEPAVQWidget@@XZ @ 5562 NONAME ; class QWidget * QGestureEvent::widget(void) const
+ ?hsvHue@QColor@@QBEHXZ @ 5563 NONAME ; int QColor::hsvHue(void) const
+ ?staticMetaObject@QSortFilterProxyModel@@2UQMetaObject@@B @ 5564 NONAME ; struct QMetaObject const QSortFilterProxyModel::staticMetaObject
+ ?activatedAmbiguously@QShortcut@@IAEXXZ @ 5565 NONAME ; void QShortcut::activatedAmbiguously(void)
+ ?contentsMargins@QWidget@@QBE?AVQMargins@@XZ @ 5566 NONAME ; class QMargins QWidget::contentsMargins(void) const
+ ?d_func@QGraphicsAnchor@@ABEPBVQGraphicsAnchorPrivate@@XZ @ 5567 NONAME ; class QGraphicsAnchorPrivate const * QGraphicsAnchor::d_func(void) const
+ ?addPixmapModificationHook@QImagePixmapCleanupHooks@@QAEXP6AXPAVQPixmap@@@Z@Z @ 5568 NONAME ; void QImagePixmapCleanupHooks::addPixmapModificationHook(void (*)(class QPixmap *))
+ ?testOption@QFontDialog@@QBE_NW4FontDialogOption@1@@Z @ 5569 NONAME ; bool QFontDialog::testOption(enum QFontDialog::FontDialogOption) const
+ ?trUtf8@QGraphicsTransform@@SA?AVQString@@PBD0H@Z @ 5570 NONAME ; class QString QGraphicsTransform::trUtf8(char const *, char const *, int)
+ ?endNativePainting@QPaintEngineEx@@UAEXXZ @ 5571 NONAME ; void QPaintEngineEx::endNativePainting(void)
+ ?overwriteMode@QPlainTextEdit@@QBE_NXZ @ 5572 NONAME ; bool QPlainTextEdit::overwriteMode(void) const
+ ?trUtf8@QGraphicsWidget@@SA?AVQString@@PBD0@Z @ 5573 NONAME ; class QString QGraphicsWidget::trUtf8(char const *, char const *)
+ ?text@QProgressBar@@UBE?AVQString@@XZ @ 5574 NONAME ; class QString QProgressBar::text(void) const
+ ?itemIcon@QComboBox@@QBE?AVQIcon@@H@Z @ 5575 NONAME ; class QIcon QComboBox::itemIcon(int) const
+ ?charFormatIndex@QTextFragment@@QBEHXZ @ 5576 NONAME ; int QTextFragment::charFormatIndex(void) const
+ ?indexAt@QTreeView@@UBE?AVQModelIndex@@ABVQPoint@@@Z @ 5577 NONAME ; class QModelIndex QTreeView::indexAt(class QPoint const &) const
+ ?anchorAt@QTextEdit@@QBE?AVQString@@ABVQPoint@@@Z @ 5578 NONAME ; class QString QTextEdit::anchorAt(class QPoint const &) const
+ ?ascent@QFontMetrics@@QBEHXZ @ 5579 NONAME ; int QFontMetrics::ascent(void) const
+ ?setKeyboardInputInterval@QApplication@@SAXH@Z @ 5580 NONAME ; void QApplication::setKeyboardInputInterval(int)
+ ?width@QFontMetricsF@@QBEMVQChar@@@Z @ 5581 NONAME ; float QFontMetricsF::width(class QChar) const
+ ?addSeparator@QMenu@@QAEPAVQAction@@XZ @ 5582 NONAME ; class QAction * QMenu::addSeparator(void)
+ ?removeAt@QGraphicsGridLayout@@UAEXH@Z @ 5583 NONAME ; void QGraphicsGridLayout::removeAt(int)
+ ?map@QMatrix@@QBEXHHPAH0@Z @ 5584 NONAME ; void QMatrix::map(int, int, int *, int *) const
+ ??0QStyleOption@@QAE@HH@Z @ 5585 NONAME ; QStyleOption::QStyleOption(int, int)
+ ?centerOn@QGraphicsView@@QAEXPBVQGraphicsItem@@@Z @ 5586 NONAME ; void QGraphicsView::centerOn(class QGraphicsItem const *)
+ ?write@QImageIOHandler@@UAE_NABVQImage@@@Z @ 5587 NONAME ; bool QImageIOHandler::write(class QImage const &)
+ ??0QPinchGesture@@QAE@PAVQObject@@@Z @ 5588 NONAME ; QPinchGesture::QPinchGesture(class QObject *)
+ ?rotation@QGraphicsItem@@QBEMXZ @ 5589 NONAME ; float QGraphicsItem::rotation(void) const
+ ??0QDockWidgetLayout@@QAE@PAVQWidget@@@Z @ 5590 NONAME ; QDockWidgetLayout::QDockWidgetLayout(class QWidget *)
+ ?glyphMargin@QTextureGlyphCache@@UBEHXZ @ 5591 NONAME ; int QTextureGlyphCache::glyphMargin(void) const
+ ?isInvisible@QGraphicsItemPrivate@@QBE_NXZ @ 5592 NONAME ; bool QGraphicsItemPrivate::isInvisible(void) const
+ ?unregisterGestureRecognizer@QApplication@@QAEXW4GestureType@Qt@@@Z @ 5593 NONAME ABSENT ; void QApplication::unregisterGestureRecognizer(enum Qt::GestureType)
+ ?removeChild@QGraphicsItemPrivate@@QAEXPAVQGraphicsItem@@@Z @ 5594 NONAME ; void QGraphicsItemPrivate::removeChild(class QGraphicsItem *)
+ ?appendRow@QStandardItemModel@@QAEXABV?$QList@PAVQStandardItem@@@@@Z @ 5595 NONAME ; void QStandardItemModel::appendRow(class QList<class QStandardItem *> const &)
+ ?event@QTableWidget@@MAE_NPAVQEvent@@@Z @ 5596 NONAME ; bool QTableWidget::event(class QEvent *)
+ ?viewMode@QListView@@QBE?AW4ViewMode@1@XZ @ 5597 NONAME ; enum QListView::ViewMode QListView::viewMode(void) const
+ ?isValid@QColor@@QBE_NXZ @ 5598 NONAME ; bool QColor::isValid(void) const
+ ?depth@QPixmapData@@QBEHXZ @ 5599 NONAME ; int QPixmapData::depth(void) const
+ ?createCompatiblePixmapData@QRasterPixmapData@@UBEPAVQPixmapData@@XZ @ 5600 NONAME ; class QPixmapData * QRasterPixmapData::createCompatiblePixmapData(void) const
+ ?supportsFindBuffer@QClipboard@@QBE_NXZ @ 5601 NONAME ; bool QClipboard::supportsFindBuffer(void) const
+ ?posF@QMouseEvent@@QBE?AVQPointF@@XZ @ 5602 NONAME ; class QPointF QMouseEvent::posF(void) const
+ ?lookup@Parser@QCss@@QBE?AW4TokenType@2@XZ @ 5603 NONAME ; enum QCss::TokenType QCss::Parser::lookup(void) const
+ ?emitLineTo@QStroker@@QAEXMM@Z @ 5604 NONAME ; void QStroker::emitLineTo(float, float)
+ ?revert@QProxyModel@@UAEXXZ @ 5605 NONAME ; void QProxyModel::revert(void)
+ ?extraSelections@QTextControl@@QBE?AV?$QList@UExtraSelection@QTextEdit@@@@XZ @ 5606 NONAME ; class QList<struct QTextEdit::ExtraSelection> QTextControl::extraSelections(void) const
+ ?setStep@QGraphicsItemAnimation@@QAEXM@Z @ 5607 NONAME ; void QGraphicsItemAnimation::setStep(float)
+ ??0QStyleOptionToolBoxV2@@QAE@XZ @ 5608 NONAME ; QStyleOptionToolBoxV2::QStyleOptionToolBoxV2(void)
+ ?value@QAbstractSlider@@QBEHXZ @ 5609 NONAME ; int QAbstractSlider::value(void) const
+ ?lexem@Symbol@QCss@@QBE?AVQString@@XZ @ 5610 NONAME ; class QString QCss::Symbol::lexem(void) const
+ ?family@QFontInfo@@QBE?AVQString@@XZ @ 5611 NONAME ; class QString QFontInfo::family(void) const
+ ??0QItemSelectionRange@@QAE@ABVQModelIndex@@@Z @ 5612 NONAME ; QItemSelectionRange::QItemSelectionRange(class QModelIndex const &)
+ ?isListFormat@QTextFormat@@QBE_NXZ @ 5613 NONAME ; bool QTextFormat::isListFormat(void) const
+ ?indexChanged@QUndoGroup@@IAEXH@Z @ 5614 NONAME ; void QUndoGroup::indexChanged(int)
+ ?tr@QProgressDialog@@SA?AVQString@@PBD0@Z @ 5615 NONAME ; class QString QProgressDialog::tr(char const *, char const *)
+ ?tip@QStatusTipEvent@@QBE?AVQString@@XZ @ 5616 NONAME ; class QString QStatusTipEvent::tip(void) const
+ ?format@QImageWriter@@QBE?AVQByteArray@@XZ @ 5617 NONAME ; class QByteArray QImageWriter::format(void) const
+ ?background@QPalette@@QBEABVQBrush@@XZ @ 5618 NONAME ; class QBrush const & QPalette::background(void) const
+ ?metaObject@QPaintBufferSignalProxy@@UBEPBUQMetaObject@@XZ @ 5619 NONAME ; struct QMetaObject const * QPaintBufferSignalProxy::metaObject(void) const
+ ?currentChanged@QTabBar@@IAEXH@Z @ 5620 NONAME ; void QTabBar::currentChanged(int)
+ ?tr@QFileSystemModel@@SA?AVQString@@PBD0H@Z @ 5621 NONAME ; class QString QFileSystemModel::tr(char const *, char const *, int)
+ ??1QPen@@QAE@XZ @ 5622 NONAME ; QPen::~QPen(void)
+ ?enterModal@QApplicationPrivate@@SAXPAVQWidget@@@Z @ 5623 NONAME ; void QApplicationPrivate::enterModal(class QWidget *)
+ ??BQPen@@QBE?AVQVariant@@XZ @ 5624 NONAME ; QPen::operator class QVariant(void) const
+ ?d_func@QTextBlockGroup@@ABEPBVQTextBlockGroupPrivate@@XZ @ 5625 NONAME ; class QTextBlockGroupPrivate const * QTextBlockGroup::d_func(void) const
+ ?acceptRichText@QTextControl@@QBE_NXZ @ 5626 NONAME ; bool QTextControl::acceptRichText(void) const
+ ?changeEvent@QPlainTextEdit@@MAEXPAVQEvent@@@Z @ 5627 NONAME ; void QPlainTextEdit::changeEvent(class QEvent *)
+ ?documentMode@QMdiArea@@QBE_NXZ @ 5628 NONAME ; bool QMdiArea::documentMode(void) const
+ ?viewport@QAbstractScrollArea@@QBEPAVQWidget@@XZ @ 5629 NONAME ; class QWidget * QAbstractScrollArea::viewport(void) const
+ ?trUtf8@QApplication@@SA?AVQString@@PBD0H@Z @ 5630 NONAME ; class QString QApplication::trUtf8(char const *, char const *, int)
+ ?d_func@QSpinBox@@AAEPAVQSpinBoxPrivate@@XZ @ 5631 NONAME ; class QSpinBoxPrivate * QSpinBox::d_func(void)
+ ?averageCharWidth@QFontMetricsF@@QBEMXZ @ 5632 NONAME ; float QFontMetricsF::averageCharWidth(void) const
+ ?drawCursor@QTextLayout@@QBEXPAVQPainter@@ABVQPointF@@HH@Z @ 5633 NONAME ; void QTextLayout::drawCursor(class QPainter *, class QPointF const &, int, int) const
+ ?mapToScene@QGraphicsView@@QBE?AVQPointF@@HH@Z @ 5634 NONAME ; class QPointF QGraphicsView::mapToScene(int, int) const
+ ?getStaticMetaObject@QDialogButtonBox@@SAABUQMetaObject@@XZ @ 5635 NONAME ; struct QMetaObject const & QDialogButtonBox::getStaticMetaObject(void)
+ ?grabKeyboard@QWidget@@QAEXXZ @ 5636 NONAME ; void QWidget::grabKeyboard(void)
+ ??1QPlainTextEdit@@UAE@XZ @ 5637 NONAME ; QPlainTextEdit::~QPlainTextEdit(void)
+ ?exec@QMenu@@SAPAVQAction@@V?$QList@PAVQAction@@@@ABVQPoint@@PAV2@PAVQWidget@@@Z @ 5638 NONAME ; class QAction * QMenu::exec(class QList<class QAction *>, class QPoint const &, class QAction *, class QWidget *)
+ ?globalPos@QTabletEvent@@QBEABVQPoint@@XZ @ 5639 NONAME ; class QPoint const & QTabletEvent::globalPos(void) const
+ ?scroll_sys@QWidgetPrivate@@QAEXHHABVQRect@@@Z @ 5640 NONAME ; void QWidgetPrivate::scroll_sys(int, int, class QRect const &)
+ ?trUtf8@QCheckBox@@SA?AVQString@@PBD0H@Z @ 5641 NONAME ; class QString QCheckBox::trUtf8(char const *, char const *, int)
+ ?trUtf8@QVBoxLayout@@SA?AVQString@@PBD0H@Z @ 5642 NONAME ; class QString QVBoxLayout::trUtf8(char const *, char const *, int)
+ ?shape@QGraphicsWidget@@UBE?AVQPainterPath@@XZ @ 5643 NONAME ; class QPainterPath QGraphicsWidget::shape(void) const
+ ?setDescription@QCommandLinkButton@@QAEXABVQString@@@Z @ 5644 NONAME ; void QCommandLinkButton::setDescription(class QString const &)
+ ?isNull@QPicture@@QBE_NXZ @ 5645 NONAME ; bool QPicture::isNull(void) const
+ ?isIconVisibleInMenu@QAction@@QBE_NXZ @ 5646 NONAME ; bool QAction::isIconVisibleInMenu(void) const
+ ?transformed@QBitmap@@QBE?AV1@ABVQMatrix@@@Z @ 5647 NONAME ; class QBitmap QBitmap::transformed(class QMatrix const &) const
+ ?isDetached@QBrush@@QBE_NXZ @ 5648 NONAME ; bool QBrush::isDetached(void) const
+ ?d_func@QImageIOHandler@@AAEPAVQImageIOHandlerPrivate@@XZ @ 5649 NONAME ; class QImageIOHandlerPrivate * QImageIOHandler::d_func(void)
+ ?logicalIndexAt@QHeaderView@@QBEHABVQPoint@@@Z @ 5650 NONAME ; int QHeaderView::logicalIndexAt(class QPoint const &) const
+ ?mousePressEvent@QDateTimeEdit@@MAEXPAVQMouseEvent@@@Z @ 5651 NONAME ; void QDateTimeEdit::mousePressEvent(class QMouseEvent *)
+ ?format@QProgressBar@@QBE?AVQString@@XZ @ 5652 NONAME ; class QString QProgressBar::format(void) const
+ ?d_func@QApplication@@ABEPBVQApplicationPrivate@@XZ @ 5653 NONAME ; class QApplicationPrivate const * QApplication::d_func(void) const
+ ?draw@QPainterReplayer@@QAEXABVQPaintBuffer@@PAVQPainter@@H@Z @ 5654 NONAME ; void QPainterReplayer::draw(class QPaintBuffer const &, class QPainter *, int)
+ ?activeWindow@QWorkspace@@QBEPAVQWidget@@XZ @ 5655 NONAME ; class QWidget * QWorkspace::activeWindow(void) const
+ ?scrollContentsBy@QTextEdit@@MAEXHH@Z @ 5656 NONAME ; void QTextEdit::scrollContentsBy(int, int)
+ ??0QValidator@@QAE@PAVQObject@@@Z @ 5657 NONAME ; QValidator::QValidator(class QObject *)
+ ?createStandardContextMenu@QTextEdit@@QAEPAVQMenu@@ABVQPoint@@@Z @ 5658 NONAME ; class QMenu * QTextEdit::createStandardContextMenu(class QPoint const &)
+ ?x@QHelpEvent@@QBEHXZ @ 5659 NONAME ; int QHelpEvent::x(void) const
+ ?show_helper@QWidgetPrivate@@QAEXXZ @ 5660 NONAME ; void QWidgetPrivate::show_helper(void)
+ ?selectedIndexes@QTableView@@MBE?AV?$QList@VQModelIndex@@@@XZ @ 5661 NONAME ; class QList<class QModelIndex> QTableView::selectedIndexes(void) const
+ ?style@QFont@@QBE?AW4Style@1@XZ @ 5662 NONAME ; enum QFont::Style QFont::style(void) const
+ ?setSelection@QTreeView@@MAEXABVQRect@@V?$QFlags@W4SelectionFlag@QItemSelectionModel@@@@@Z @ 5663 NONAME ; void QTreeView::setSelection(class QRect const &, class QFlags<enum QItemSelectionModel::SelectionFlag>)
+ ?setWidget@QGraphicsSceneEvent@@QAEXPAVQWidget@@@Z @ 5664 NONAME ; void QGraphicsSceneEvent::setWidget(class QWidget *)
+ ?play@QPicture@@QAE_NPAVQPainter@@@Z @ 5665 NONAME ; bool QPicture::play(class QPainter *)
+ ?trUtf8@QGraphicsProxyWidget@@SA?AVQString@@PBD0H@Z @ 5666 NONAME ; class QString QGraphicsProxyWidget::trUtf8(char const *, char const *, int)
+ ?offset@QPixmapDropShadowFilter@@QBE?AVQPointF@@XZ @ 5667 NONAME ; class QPointF QPixmapDropShadowFilter::offset(void) const
+ ?overflow@QLCDNumber@@IAEXXZ @ 5668 NONAME ; void QLCDNumber::overflow(void)
+ ?wordWrap@QListView@@QBE_NXZ @ 5669 NONAME ; bool QListView::wordWrap(void) const
+ ?trUtf8@QMovie@@SA?AVQString@@PBD0@Z @ 5670 NONAME ; class QString QMovie::trUtf8(char const *, char const *)
+ ?shapedGlyphs@QTextEngine@@QBE?AUQGlyphLayout@@PBUQScriptItem@@@Z @ 5671 NONAME ; struct QGlyphLayout QTextEngine::shapedGlyphs(struct QScriptItem const *) const
+ ?rotationAt@QGraphicsItemAnimation@@QBEMM@Z @ 5672 NONAME ; float QGraphicsItemAnimation::rotationAt(float) const
+ ?setLeftMargin@QTextBlockFormat@@QAEXM@Z @ 5673 NONAME ; void QTextBlockFormat::setLeftMargin(float)
+ ?hitButton@QCheckBox@@MBE_NABVQPoint@@@Z @ 5674 NONAME ; bool QCheckBox::hitButton(class QPoint const &) const
+ ?d_func@QDirModel@@ABEPBVQDirModelPrivate@@XZ @ 5675 NONAME ; class QDirModelPrivate const * QDirModel::d_func(void) const
+ ?verticalStepsPerItem@QAbstractItemView@@IBEHXZ @ 5676 NONAME ; int QAbstractItemView::verticalStepsPerItem(void) const
+ ?setPixel@QImage@@QAEXHHI@Z @ 5677 NONAME ; void QImage::setPixel(int, int, unsigned int)
+ ?trUtf8@QTabWidget@@SA?AVQString@@PBD0H@Z @ 5678 NONAME ; class QString QTabWidget::trUtf8(char const *, char const *, int)
+ ??_EQListWidgetItem@@UAE@I@Z @ 5679 NONAME ; QListWidgetItem::~QListWidgetItem(unsigned int)
+ ?qt_metacall@QUndoGroup@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 5680 NONAME ; int QUndoGroup::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?ensureCursorVisible@QPlainTextEdit@@QAEXXZ @ 5681 NONAME ; void QPlainTextEdit::ensureCursorVisible(void)
+ ?shortcutId@QShortcutEvent@@QBEHXZ @ 5682 NONAME ; int QShortcutEvent::shortcutId(void) const
+ ?createTLExtra@QWidgetPrivate@@QAEXXZ @ 5683 NONAME ; void QWidgetPrivate::createTLExtra(void)
+ ?takeItem@QListWidget@@QAEPAVQListWidgetItem@@H@Z @ 5684 NONAME ; class QListWidgetItem * QListWidget::takeItem(int)
+ ?setMask@QPixmap@@QAEXABVQBitmap@@@Z @ 5685 NONAME ; void QPixmap::setMask(class QBitmap const &)
+ ?setAutoRepeatInterval@QAbstractButton@@QAEXH@Z @ 5686 NONAME ; void QAbstractButton::setAutoRepeatInterval(int)
+ ?getStaticMetaObject@QSwipeGesture@@SAABUQMetaObject@@XZ @ 5687 NONAME ; struct QMetaObject const & QSwipeGesture::getStaticMetaObject(void)
+ ??5@YAAAVQDataStream@@AAV0@AAVQMatrix@@@Z @ 5688 NONAME ; class QDataStream & operator>>(class QDataStream &, class QMatrix &)
+ ?setHorizontalHeader@QTableView@@QAEXPAVQHeaderView@@@Z @ 5689 NONAME ; void QTableView::setHorizontalHeader(class QHeaderView *)
+ ?metaObject@QS60Style@@UBEPBUQMetaObject@@XZ @ 5690 NONAME ; struct QMetaObject const * QS60Style::metaObject(void) const
+ ?x@QMouseEvent@@QBEHXZ @ 5691 NONAME ; int QMouseEvent::x(void) const
+ ?setFilter@QFileSystemModel@@QAEXV?$QFlags@W4Filter@QDir@@@@@Z @ 5692 NONAME ; void QFileSystemModel::setFilter(class QFlags<enum QDir::Filter>)
+ ??0QDragEnterEvent@@QAE@ABVQPoint@@V?$QFlags@W4DropAction@Qt@@@@PBVQMimeData@@V?$QFlags@W4MouseButton@Qt@@@@V?$QFlags@W4KeyboardModifier@Qt@@@@@Z @ 5693 NONAME ; QDragEnterEvent::QDragEnterEvent(class QPoint const &, class QFlags<enum Qt::DropAction>, class QMimeData const *, class QFlags<enum Qt::MouseButton>, class QFlags<enum Qt::KeyboardModifier>)
+ ?setJoinStyle@QPainterPathStroker@@QAEXW4PenJoinStyle@Qt@@@Z @ 5694 NONAME ; void QPainterPathStroker::setJoinStyle(enum Qt::PenJoinStyle)
+ ?picture@QPictureIO@@QBEABVQPicture@@XZ @ 5695 NONAME ; class QPicture const & QPictureIO::picture(void) const
+ ??4QStyleOptionToolBox@@QAEAAV0@ABV0@@Z @ 5696 NONAME ; class QStyleOptionToolBox & QStyleOptionToolBox::operator=(class QStyleOptionToolBox const &)
+ ?changeEvent@QFileDialog@@MAEXPAVQEvent@@@Z @ 5697 NONAME ; void QFileDialog::changeEvent(class QEvent *)
+ ??4QStyleOptionSpinBox@@QAEAAV0@ABV0@@Z @ 5698 NONAME ; class QStyleOptionSpinBox & QStyleOptionSpinBox::operator=(class QStyleOptionSpinBox const &)
+ ?highlighted@QTextBrowser@@IAEXABVQString@@@Z @ 5699 NONAME ; void QTextBrowser::highlighted(class QString const &)
+ ??0QMessageBox@@QAE@ABVQString@@0W4Icon@0@HHHPAVQWidget@@V?$QFlags@W4WindowType@Qt@@@@@Z @ 5700 NONAME ; QMessageBox::QMessageBox(class QString const &, class QString const &, enum QMessageBox::Icon, int, int, int, class QWidget *, class QFlags<enum Qt::WindowType>)
+ ?metaObject@QGuiPlatformPlugin@@UBEPBUQMetaObject@@XZ @ 5701 NONAME ; struct QMetaObject const * QGuiPlatformPlugin::metaObject(void) const
+ ?setMask@QWidget@@QAEXABVQBitmap@@@Z @ 5702 NONAME ; void QWidget::setMask(class QBitmap const &)
+ ?save@QPicture@@QAE_NABVQString@@PBD@Z @ 5703 NONAME ; bool QPicture::save(class QString const &, char const *)
+ ?setFocusToAnchor@QTextControl@@QAE_NABVQTextCursor@@@Z @ 5704 NONAME ; bool QTextControl::setFocusToAnchor(class QTextCursor const &)
+ ?addMenu@QMenuBar@@QAEPAVQMenu@@ABVQIcon@@ABVQString@@@Z @ 5705 NONAME ; class QMenu * QMenuBar::addMenu(class QIcon const &, class QString const &)
+ ?doubleDecimals@QInputDialog@@QBEHXZ @ 5706 NONAME ; int QInputDialog::doubleDecimals(void) const
+ ?setColor@QGraphicsColorizeEffect@@QAEXABVQColor@@@Z @ 5707 NONAME ; void QGraphicsColorizeEffect::setColor(class QColor const &)
+ ?setHorizontalSpacing@QFormLayout@@QAEXH@Z @ 5708 NONAME ; void QFormLayout::setHorizontalSpacing(int)
+ ?orientation@QHeaderView@@QBE?AW4Orientation@Qt@@XZ @ 5709 NONAME ; enum Qt::Orientation QHeaderView::orientation(void) const
+ ?removeItemWidget@QTreeWidget@@QAEXPAVQTreeWidgetItem@@H@Z @ 5710 NONAME ; void QTreeWidget::removeItemWidget(class QTreeWidgetItem *, int)
+ ?isItemHidden@QListWidget@@QBE_NPBVQListWidgetItem@@@Z @ 5711 NONAME ; bool QListWidget::isItemHidden(class QListWidgetItem const *) const
+ ?checkForAlphaPixels@QImageData@@QBE_NXZ @ 5712 NONAME ; bool QImageData::checkForAlphaPixels(void) const
+ ?supportsExtension@QGraphicsLineItem@@MBE_NW4Extension@QGraphicsItem@@@Z @ 5713 NONAME ; bool QGraphicsLineItem::supportsExtension(enum QGraphicsItem::Extension) const
+ ?serialNumber@QIcon@@QBEHXZ @ 5714 NONAME ; int QIcon::serialNumber(void) const
+ ?itemAt@QGraphicsGridLayout@@UBEPAVQGraphicsLayoutItem@@H@Z @ 5715 NONAME ; class QGraphicsLayoutItem * QGraphicsGridLayout::itemAt(int) const
+ ?ensurePolished@QWidget@@QBEXXZ @ 5716 NONAME ; void QWidget::ensurePolished(void) const
+ ?setPos@QGraphicsSceneWheelEvent@@QAEXABVQPointF@@@Z @ 5717 NONAME ; void QGraphicsSceneWheelEvent::setPos(class QPointF const &)
+ ?trUtf8@QDockWidgetLayout@@SA?AVQString@@PBD0@Z @ 5718 NONAME ; class QString QDockWidgetLayout::trUtf8(char const *, char const *)
+ ?setCurrentWidget@QTabWidget@@QAEXPAVQWidget@@@Z @ 5719 NONAME ; void QTabWidget::setCurrentWidget(class QWidget *)
+ ?isMinimized@QWidget@@QBE_NXZ @ 5720 NONAME ; bool QWidget::isMinimized(void) const
+ ?whatsThis@QTableWidgetItem@@QBE?AVQString@@XZ @ 5721 NONAME ; class QString QTableWidgetItem::whatsThis(void) const
+ ?translated@QPainterPath@@QBE?AV1@MM@Z @ 5722 NONAME ; class QPainterPath QPainterPath::translated(float, float) const
+ ?createColumn@QColumnView@@MAEPAVQAbstractItemView@@ABVQModelIndex@@@Z @ 5723 NONAME ; class QAbstractItemView * QColumnView::createColumn(class QModelIndex const &)
+ ?trUtf8@QTableView@@SA?AVQString@@PBD0H@Z @ 5724 NONAME ; class QString QTableView::trUtf8(char const *, char const *, int)
+ ?setOrientation@QAbstractSlider@@QAEXW4Orientation@Qt@@@Z @ 5725 NONAME ; void QAbstractSlider::setOrientation(enum Qt::Orientation)
+ ?addText@QPainterPath@@QAEXABVQPointF@@ABVQFont@@ABVQString@@@Z @ 5726 NONAME ; void QPainterPath::addText(class QPointF const &, class QFont const &, class QString const &)
+ ?isActive@QUndoStack@@QBE_NXZ @ 5727 NONAME ; bool QUndoStack::isActive(void) const
+ ?isTristate@QStandardItem@@QBE_NXZ @ 5728 NONAME ; bool QStandardItem::isTristate(void) const
+ ?sizeHint@QInputDialog@@UBE?AVQSize@@XZ @ 5729 NONAME ; class QSize QInputDialog::sizeHint(void) const
+ ?command@QSymbianEvent@@QBEHXZ @ 5730 NONAME ; int QSymbianEvent::command(void) const
+ ?qt_metacall@QTimeEdit@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 5731 NONAME ; int QTimeEdit::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?setScaledContents@QLabel@@QAEX_N@Z @ 5732 NONAME ; void QLabel::setScaledContents(bool)
+ ?selectNameFilter@QFileDialog@@QAEXABVQString@@@Z @ 5733 NONAME ; void QFileDialog::selectNameFilter(class QString const &)
+ ?setX@QVector4D@@QAEXM@Z @ 5734 NONAME ; void QVector4D::setX(float)
+ ?setFlags@QTableWidgetItem@@QAEXV?$QFlags@W4ItemFlag@Qt@@@@@Z @ 5735 NONAME ; void QTableWidgetItem::setFlags(class QFlags<enum Qt::ItemFlag>)
+ ??0QVector4D@@QAE@ABVQVector3D@@@Z @ 5736 NONAME ; QVector4D::QVector4D(class QVector3D const &)
+ ??1QCommonStyle@@UAE@XZ @ 5737 NONAME ; QCommonStyle::~QCommonStyle(void)
+ ?drawEllipse@QPaintEngineEx@@UAEXABVQRect@@@Z @ 5738 NONAME ; void QPaintEngineEx::drawEllipse(class QRect const &)
+ ?sectionAt@QDateTimeEdit@@QBE?AW4Section@1@H@Z @ 5739 NONAME ; enum QDateTimeEdit::Section QDateTimeEdit::sectionAt(int) const
+ ??1QStyleOptionTabBarBaseV2@@QAE@XZ @ 5740 NONAME ; QStyleOptionTabBarBaseV2::~QStyleOptionTabBarBaseV2(void)
+ ?font@QInputContext@@UBE?AVQFont@@XZ @ 5741 NONAME ; class QFont QInputContext::font(void) const
+ ?setOpacity@QPainter@@QAEXM@Z @ 5742 NONAME ; void QPainter::setOpacity(float)
+ ?trUtf8@QSyntaxHighlighter@@SA?AVQString@@PBD0H@Z @ 5743 NONAME ; class QString QSyntaxHighlighter::trUtf8(char const *, char const *, int)
+ ?setCompleter@QLineControl@@QAEXPBVQCompleter@@@Z @ 5744 NONAME ; void QLineControl::setCompleter(class QCompleter const *)
+ ??1QDirModel@@UAE@XZ @ 5745 NONAME ; QDirModel::~QDirModel(void)
+ ?objectType@QTextFormat@@QBEHXZ @ 5746 NONAME ; int QTextFormat::objectType(void) const
+ ?boundingRect@QGraphicsItemGroup@@UBE?AVQRectF@@XZ @ 5747 NONAME ; class QRectF QGraphicsItemGroup::boundingRect(void) const
+ ??0QStyleOptionTitleBar@@QAE@ABV0@@Z @ 5748 NONAME ; QStyleOptionTitleBar::QStyleOptionTitleBar(class QStyleOptionTitleBar const &)
+ ??0QGraphicsRectItem@@QAE@PAVQGraphicsItem@@PAVQGraphicsScene@@@Z @ 5749 NONAME ; QGraphicsRectItem::QGraphicsRectItem(class QGraphicsItem *, class QGraphicsScene *)
+ ?colorTable@QImage@@QBE?AV?$QVector@I@@XZ @ 5750 NONAME ; class QVector<unsigned int> QImage::colorTable(void) const
+ ?render_helper@QWidgetPrivate@@QAEXPAVQPainter@@ABVQPoint@@ABVQRegion@@V?$QFlags@W4RenderFlag@QWidget@@@@@Z @ 5751 NONAME ; void QWidgetPrivate::render_helper(class QPainter *, class QPoint const &, class QRegion const &, class QFlags<enum QWidget::RenderFlag>)
+ ?getStaticMetaObject@QGraphicsTextItem@@SAABUQMetaObject@@XZ @ 5752 NONAME ; struct QMetaObject const & QGraphicsTextItem::getStaticMetaObject(void)
+ ?testCombinator@Parser@QCss@@QAE_NXZ @ 5753 NONAME ; bool QCss::Parser::testCombinator(void)
+ ?childCount@QUndoCommand@@QBEHXZ @ 5754 NONAME ; int QUndoCommand::childCount(void) const
+ ?qt_metacall@QSplashScreen@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 5755 NONAME ; int QSplashScreen::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ??1QDoubleSpinBox@@UAE@XZ @ 5756 NONAME ; QDoubleSpinBox::~QDoubleSpinBox(void)
+ ?fromData@QImage@@SA?AV1@ABVQByteArray@@PBD@Z @ 5757 NONAME ; class QImage QImage::fromData(class QByteArray const &, char const *)
+ ?data_ptr@QPen@@QAEAAPAVQPenPrivate@@XZ @ 5758 NONAME ; class QPenPrivate * & QPen::data_ptr(void)
+ ?setLastScreenPos@QGraphicsSceneHoverEvent@@QAEXABVQPoint@@@Z @ 5759 NONAME ; void QGraphicsSceneHoverEvent::setLastScreenPos(class QPoint const &)
+ ?sectionAutoResize@QHeaderView@@IAEXHW4ResizeMode@1@@Z @ 5760 NONAME ; void QHeaderView::sectionAutoResize(int, enum QHeaderView::ResizeMode)
+ ?trUtf8@QMouseEventTransition@@SA?AVQString@@PBD0@Z @ 5761 NONAME ; class QString QMouseEventTransition::trUtf8(char const *, char const *)
+ ?setIconVisibleInMenu@QAction@@QAEX_N@Z @ 5762 NONAME ; void QAction::setIconVisibleInMenu(bool)
+ ?cacheMode@QMovie@@QBE?AW4CacheMode@1@XZ @ 5763 NONAME ; enum QMovie::CacheMode QMovie::cacheMode(void) const
+ ??0QDragMoveEvent@@QAE@ABVQPoint@@V?$QFlags@W4DropAction@Qt@@@@PBVQMimeData@@V?$QFlags@W4MouseButton@Qt@@@@V?$QFlags@W4KeyboardModifier@Qt@@@@W4Type@QEvent@@@Z @ 5764 NONAME ; QDragMoveEvent::QDragMoveEvent(class QPoint const &, class QFlags<enum Qt::DropAction>, class QMimeData const *, class QFlags<enum Qt::MouseButton>, class QFlags<enum Qt::KeyboardModifier>, enum QEvent::Type)
+ ?draw@QPixmapConvolutionFilter@@UBEXPAVQPainter@@ABVQPointF@@ABVQPixmap@@ABVQRectF@@@Z @ 5765 NONAME ; void QPixmapConvolutionFilter::draw(class QPainter *, class QPointF const &, class QPixmap const &, class QRectF const &) const
+ ?nameFilters@QFileSystemModel@@QBE?AVQStringList@@XZ @ 5766 NONAME ; class QStringList QFileSystemModel::nameFilters(void) const
+ ?tr@QLayout@@SA?AVQString@@PBD0H@Z @ 5767 NONAME ; class QString QLayout::tr(char const *, char const *, int)
+ ?moveTab@QTabBar@@QAEXHH@Z @ 5768 NONAME ; void QTabBar::moveTab(int, int)
+ ?setLayoutMode@QListView@@QAEXW4LayoutMode@1@@Z @ 5769 NONAME ; void QListView::setLayoutMode(enum QListView::LayoutMode)
+ ?provides@QDropEvent@@UBE_NPBD@Z @ 5770 NONAME ; bool QDropEvent::provides(char const *) const
+ ?setSizePolicy@QGraphicsLayoutItem@@QAEXABVQSizePolicy@@@Z @ 5771 NONAME ; void QGraphicsLayoutItem::setSizePolicy(class QSizePolicy const &)
+ ?minimumSize@QWidgetItem@@UBE?AVQSize@@XZ @ 5772 NONAME ; class QSize QWidgetItem::minimumSize(void) const
+ ?tickInterval@QSlider@@QBEHXZ @ 5773 NONAME ; int QSlider::tickInterval(void) const
+ ?rotate@QTransform@@QAEAAV1@MW4Axis@Qt@@@Z @ 5774 NONAME ; class QTransform & QTransform::rotate(float, enum Qt::Axis)
+ ?qt_metacall@QWidgetResizeHandler@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 5775 NONAME ; int QWidgetResizeHandler::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?mousePressEvent@QSlider@@MAEXPAVQMouseEvent@@@Z @ 5776 NONAME ; void QSlider::mousePressEvent(class QMouseEvent *)
+ ?itemData@QAbstractProxyModel@@UBE?AV?$QMap@HVQVariant@@@@ABVQModelIndex@@@Z @ 5777 NONAME ; class QMap<int, class QVariant> QAbstractProxyModel::itemData(class QModelIndex const &) const
+ ?tr@QCommonStyle@@SA?AVQString@@PBD0@Z @ 5778 NONAME ; class QString QCommonStyle::tr(char const *, char const *)
+ ?addAction@QToolBar@@QAEPAVQAction@@ABVQString@@PBVQObject@@PBD@Z @ 5779 NONAME ; class QAction * QToolBar::addAction(class QString const &, class QObject const *, char const *)
+ ?cyan@QColor@@QBEHXZ @ 5780 NONAME ; int QColor::cyan(void) const
+ ?resizeEvent@QPlainTextEdit@@MAEXPAVQResizeEvent@@@Z @ 5781 NONAME ; void QPlainTextEdit::resizeEvent(class QResizeEvent *)
+ ?tr@QCompleter@@SA?AVQString@@PBD0H@Z @ 5782 NONAME ; class QString QCompleter::tr(char const *, char const *, int)
+ ?menu@QToolButton@@QBEPAVQMenu@@XZ @ 5783 NONAME ; class QMenu * QToolButton::menu(void) const
+ ??0QKeySequence@@QAE@ABV0@@Z @ 5784 NONAME ; QKeySequence::QKeySequence(class QKeySequence const &)
+ ?dragEnterEvent@QTextEdit@@MAEXPAVQDragEnterEvent@@@Z @ 5785 NONAME ; void QTextEdit::dragEnterEvent(class QDragEnterEvent *)
+ ?fromFile@QPixmapData@@UAE_NABVQString@@PBDV?$QFlags@W4ImageConversionFlag@Qt@@@@@Z @ 5786 NONAME ; bool QPixmapData::fromFile(class QString const &, char const *, class QFlags<enum Qt::ImageConversionFlag>)
+ ?setupViewport@QAbstractScrollArea@@IAEXPAVQWidget@@@Z @ 5787 NONAME ; void QAbstractScrollArea::setupViewport(class QWidget *)
+ ?update@QGraphicsScene@@QAEXMMMM@Z @ 5788 NONAME ; void QGraphicsScene::update(float, float, float, float)
+ ?tr@QCommandLinkButton@@SA?AVQString@@PBD0@Z @ 5789 NONAME ; class QString QCommandLinkButton::tr(char const *, char const *)
+ ?oldState@QWindowStateChangeEvent@@QBE?AV?$QFlags@W4WindowState@Qt@@@@XZ @ 5790 NONAME ; class QFlags<enum Qt::WindowState> QWindowStateChangeEvent::oldState(void) const
+ ?triggered@QAction@@IAEX_N@Z @ 5791 NONAME ; void QAction::triggered(bool)
+ ?staticMetaObject@QPlainTextDocumentLayout@@2UQMetaObject@@B @ 5792 NONAME ; struct QMetaObject const QPlainTextDocumentLayout::staticMetaObject
+ ??0QStyleOptionButton@@QAE@ABV0@@Z @ 5793 NONAME ; QStyleOptionButton::QStyleOptionButton(class QStyleOptionButton const &)
+ ?metaObject@QSound@@UBEPBUQMetaObject@@XZ @ 5794 NONAME ; struct QMetaObject const * QSound::metaObject(void) const
+ ?validate@QSpinBox@@MBE?AW4State@QValidator@@AAVQString@@AAH@Z @ 5795 NONAME ; enum QValidator::State QSpinBox::validate(class QString &, int &) const
+ ?setCapitalization@QFont@@QAEXW4Capitalization@1@@Z @ 5796 NONAME ; void QFont::setCapitalization(enum QFont::Capitalization)
+ ?redo@QTextControl@@QAEXXZ @ 5797 NONAME ; void QTextControl::redo(void)
+ ?draw@QGraphicsDropShadowEffect@@MAEXPAVQPainter@@PAVQGraphicsEffectSource@@@Z @ 5798 NONAME ; void QGraphicsDropShadowEffect::draw(class QPainter *, class QGraphicsEffectSource *)
+ ?d_func@QStatusBar@@ABEPBVQStatusBarPrivate@@XZ @ 5799 NONAME ; class QStatusBarPrivate const * QStatusBar::d_func(void) const
+ ?removeItem@QGraphicsScene@@QAEXPAVQGraphicsItem@@@Z @ 5800 NONAME ; void QGraphicsScene::removeItem(class QGraphicsItem *)
+ ?itemPressed@QListWidget@@IAEXPAVQListWidgetItem@@@Z @ 5801 NONAME ; void QListWidget::itemPressed(class QListWidgetItem *)
+ ??0QStyleOptionFrameV2@@IAE@H@Z @ 5802 NONAME ; QStyleOptionFrameV2::QStyleOptionFrameV2(int)
+ ?checkState@QStandardItem@@QBE?AW4CheckState@Qt@@XZ @ 5803 NONAME ; enum Qt::CheckState QStandardItem::checkState(void) const
+ ?trUtf8@QProxyModel@@SA?AVQString@@PBD0H@Z @ 5804 NONAME ; class QString QProxyModel::trUtf8(char const *, char const *, int)
+ ?reset@QMatrix@@QAEXXZ @ 5805 NONAME ; void QMatrix::reset(void)
+ ?qt_metacast@QTabWidget@@UAEPAXPBD@Z @ 5806 NONAME ; void * QTabWidget::qt_metacast(char const *)
+ ?acceptsHoverEvents@QGraphicsItem@@QBE_NXZ @ 5807 NONAME ; bool QGraphicsItem::acceptsHoverEvents(void) const
+ ?commitCurrentString@QCoeFepInputContext@@AAEX_N@Z @ 5808 NONAME ABSENT ; void QCoeFepInputContext::commitCurrentString(bool)
+ ?validate@QIntValidator@@UBE?AW4State@QValidator@@AAVQString@@AAH@Z @ 5809 NONAME ; enum QValidator::State QIntValidator::validate(class QString &, int &) const
+ ?itemChange@QGraphicsWidget@@MAE?AVQVariant@@W4GraphicsItemChange@QGraphicsItem@@ABV2@@Z @ 5810 NONAME ; class QVariant QGraphicsWidget::itemChange(enum QGraphicsItem::GraphicsItemChange, class QVariant const &)
+ ?windowFrameEvent@QGraphicsWidget@@MAE_NPAVQEvent@@@Z @ 5811 NONAME ; bool QGraphicsWidget::windowFrameEvent(class QEvent *)
+ ?triggerAction@QAbstractSlider@@QAEXW4SliderAction@1@@Z @ 5812 NONAME ; void QAbstractSlider::triggerAction(enum QAbstractSlider::SliderAction)
+ ?setLabelText@QProgressDialog@@QAEXABVQString@@@Z @ 5813 NONAME ; void QProgressDialog::setLabelText(class QString const &)
+ ?setFilter@QFileDialog@@QAEXABVQString@@@Z @ 5814 NONAME ; void QFileDialog::setFilter(class QString const &)
+ ?setUndoRedoEnabled@QTextDocument@@QAEX_N@Z @ 5815 NONAME ; void QTextDocument::setUndoRedoEnabled(bool)
+ ??1QRegExpValidator@@UAE@XZ @ 5816 NONAME ; QRegExpValidator::~QRegExpValidator(void)
+ ??1QListWidget@@UAE@XZ @ 5817 NONAME ; QListWidget::~QListWidget(void)
+ ?currentColumnChanged@QItemSelectionModel@@IAEXABVQModelIndex@@0@Z @ 5818 NONAME ; void QItemSelectionModel::currentColumnChanged(class QModelIndex const &, class QModelIndex const &)
+ ?d_func@QCompleter@@AAEPAVQCompleterPrivate@@XZ @ 5819 NONAME ; class QCompleterPrivate * QCompleter::d_func(void)
+ ?lastBlock@QTextDocument@@QBE?AVQTextBlock@@XZ @ 5820 NONAME ; class QTextBlock QTextDocument::lastBlock(void) const
+ ?fill@QPixmap@@QAEXPBVQWidget@@ABVQPoint@@@Z @ 5821 NONAME ; void QPixmap::fill(class QWidget const *, class QPoint const &)
+ ?unsetExtra@QGraphicsItemPrivate@@QAEXW4Extra@1@@Z @ 5822 NONAME ; void QGraphicsItemPrivate::unsetExtra(enum QGraphicsItemPrivate::Extra)
+ ?staticMetaObject@QCommandLinkButton@@2UQMetaObject@@B @ 5823 NONAME ; struct QMetaObject const QCommandLinkButton::staticMetaObject
+ ??0QStyleOptionQ3DockWindow@@IAE@H@Z @ 5824 NONAME ; QStyleOptionQ3DockWindow::QStyleOptionQ3DockWindow(int)
+ ?matrixAt@QGraphicsItemAnimation@@QBE?AVQMatrix@@M@Z @ 5825 NONAME ; class QMatrix QGraphicsItemAnimation::matrixAt(float) const
+ ??0QStyleOptionSizeGrip@@IAE@H@Z @ 5826 NONAME ; QStyleOptionSizeGrip::QStyleOptionSizeGrip(int)
+ ?unsetWindowFrameMargins@QGraphicsWidget@@QAEXXZ @ 5827 NONAME ; void QGraphicsWidget::unsetWindowFrameMargins(void)
+ ?inputMask@QLineEdit@@QBE?AVQString@@XZ @ 5828 NONAME ; class QString QLineEdit::inputMask(void) const
+ ?inputCapabilities@QCoeFepInputContext@@QAE?AVTCoeInputCapabilities@@XZ @ 5829 NONAME ABSENT ; class TCoeInputCapabilities QCoeFepInputContext::inputCapabilities(void)
+ ?rawValue@QTextLength@@QBEMXZ @ 5830 NONAME ; float QTextLength::rawValue(void) const
+ ?horizontalOffset@QListView@@MBEHXZ @ 5831 NONAME ; int QListView::horizontalOffset(void) const
+ ?tr@QPixmapBlurFilter@@SA?AVQString@@PBD0H@Z @ 5832 NONAME ; class QString QPixmapBlurFilter::tr(char const *, char const *, int)
+ ?isAccelerated@QAbstractSpinBox@@QBE_NXZ @ 5833 NONAME ; bool QAbstractSpinBox::isAccelerated(void) const
+ ?resizeEvent@QGraphicsProxyWidget@@MAEXPAVQGraphicsSceneResizeEvent@@@Z @ 5834 NONAME ; void QGraphicsProxyWidget::resizeEvent(class QGraphicsSceneResizeEvent *)
+ ??_EQWidgetResizeHandler@@UAE@I@Z @ 5835 NONAME ; QWidgetResizeHandler::~QWidgetResizeHandler(unsigned int)
+ ?dropMimeData@QStandardItemModel@@UAE_NPBVQMimeData@@W4DropAction@Qt@@HHABVQModelIndex@@@Z @ 5836 NONAME ; bool QStandardItemModel::dropMimeData(class QMimeData const *, enum Qt::DropAction, int, int, class QModelIndex const &)
+ ?staticMetaObject@QStackedWidget@@2UQMetaObject@@B @ 5837 NONAME ; struct QMetaObject const QStackedWidget::staticMetaObject
+ ?drawImage@QPainter@@QAEXABVQPoint@@ABVQImage@@@Z @ 5838 NONAME ; void QPainter::drawImage(class QPoint const &, class QImage const &)
+ ?windowFrameGeometry@QGraphicsWidget@@QBE?AVQRectF@@XZ @ 5839 NONAME ; class QRectF QGraphicsWidget::windowFrameGeometry(void) const
+ ?saveState@QSplitter@@QBE?AVQByteArray@@XZ @ 5840 NONAME ; class QByteArray QSplitter::saveState(void) const
+ ??1QListWidgetItem@@UAE@XZ @ 5841 NONAME ; QListWidgetItem::~QListWidgetItem(void)
+ ??0QDirModel@@QAE@ABVQStringList@@V?$QFlags@W4Filter@QDir@@@@V?$QFlags@W4SortFlag@QDir@@@@PAVQObject@@@Z @ 5842 NONAME ; QDirModel::QDirModel(class QStringList const &, class QFlags<enum QDir::Filter>, class QFlags<enum QDir::SortFlag>, class QObject *)
+ ??5@YAAAVQDataStream@@AAV0@AAVQPixmap@@@Z @ 5843 NONAME ; class QDataStream & operator>>(class QDataStream &, class QPixmap &)
+ ?shapeMode@QGraphicsPixmapItem@@QBE?AW4ShapeMode@1@XZ @ 5844 NONAME ; enum QGraphicsPixmapItem::ShapeMode QGraphicsPixmapItem::shapeMode(void) const
+ ?isDragEnabled@QStandardItem@@QBE_NXZ @ 5845 NONAME ; bool QStandardItem::isDragEnabled(void) const
+ ?undoAvailable@QTextEdit@@IAEX_N@Z @ 5846 NONAME ; void QTextEdit::undoAvailable(bool)
+ ?qt_metacast@QLCDNumber@@UAEPAXPBD@Z @ 5847 NONAME ; void * QLCDNumber::qt_metacast(char const *)
+ ?tr@QProgressDialog@@SA?AVQString@@PBD0H@Z @ 5848 NONAME ; class QString QProgressDialog::tr(char const *, char const *, int)
+ ?setVisibleHelper@QGraphicsItemPrivate@@QAEX_N00@Z @ 5849 NONAME ; void QGraphicsItemPrivate::setVisibleHelper(bool, bool, bool)
+ ?setCacheEnabled@QTextLayout@@QAEX_N@Z @ 5850 NONAME ; void QTextLayout::setCacheEnabled(bool)
+ ??1QComboBox@@UAE@XZ @ 5851 NONAME ; QComboBox::~QComboBox(void)
+ ?clearLayout@QTextBlock@@QAEXXZ @ 5852 NONAME ; void QTextBlock::clearLayout(void)
+ ?d_func@QScrollArea@@ABEPBVQScrollAreaPrivate@@XZ @ 5853 NONAME ; class QScrollAreaPrivate const * QScrollArea::d_func(void) const
+ ?setLineEdit@QAbstractSpinBox@@IAEXPAVQLineEdit@@@Z @ 5854 NONAME ; void QAbstractSpinBox::setLineEdit(class QLineEdit *)
+ ?event@QWidgetAction@@MAE_NPAVQEvent@@@Z @ 5855 NONAME ; bool QWidgetAction::event(class QEvent *)
+ ?tr@QMainWindow@@SA?AVQString@@PBD0@Z @ 5856 NONAME ; class QString QMainWindow::tr(char const *, char const *)
+ ?hslHue@QColor@@QBEHXZ @ 5857 NONAME ; int QColor::hslHue(void) const
+ ??0QStyleOptionSpinBox@@QAE@XZ @ 5858 NONAME ; QStyleOptionSpinBox::QStyleOptionSpinBox(void)
+ ??1QMouseEvent@@UAE@XZ @ 5859 NONAME ; QMouseEvent::~QMouseEvent(void)
+ ?setFormat@QSyntaxHighlighter@@IAEXHHABVQFont@@@Z @ 5860 NONAME ; void QSyntaxHighlighter::setFormat(int, int, class QFont const &)
+ ?jumpToNextImage@QImageIOHandler@@UAE_NXZ @ 5861 NONAME ; bool QImageIOHandler::jumpToNextImage(void)
+ ?isReadOnly@QFileSystemModel@@QBE_NXZ @ 5862 NONAME ; bool QFileSystemModel::isReadOnly(void) const
+ ??0QSplitterHandle@@QAE@W4Orientation@Qt@@PAVQSplitter@@@Z @ 5863 NONAME ; QSplitterHandle::QSplitterHandle(enum Qt::Orientation, class QSplitter *)
+ ?setMenu@QToolButton@@QAEXPAVQMenu@@@Z @ 5864 NONAME ; void QToolButton::setMenu(class QMenu *)
+ ?margin@QTextFrameFormat@@QBEMXZ @ 5865 NONAME ; float QTextFrameFormat::margin(void) const
+ ?setForeground@QListWidgetItem@@QAEXABVQBrush@@@Z @ 5866 NONAME ; void QListWidgetItem::setForeground(class QBrush const &)
+ ?draw@QGraphicsColorizeEffect@@MAEXPAVQPainter@@PAVQGraphicsEffectSource@@@Z @ 5867 NONAME ; void QGraphicsColorizeEffect::draw(class QPainter *, class QGraphicsEffectSource *)
+ ?trUtf8@QLineControl@@SA?AVQString@@PBD0@Z @ 5868 NONAME ; class QString QLineControl::trUtf8(char const *, char const *)
+ ?rowAt@QTableView@@QBEHH@Z @ 5869 NONAME ; int QTableView::rowAt(int) const
+ ?mask@QCursor@@QBEPBVQBitmap@@XZ @ 5870 NONAME ; class QBitmap const * QCursor::mask(void) const
+ ?itemIcon@QToolBox@@QBE?AVQIcon@@H@Z @ 5871 NONAME ; class QIcon QToolBox::itemIcon(int) const
+ ?setGroup@QUndoView@@QAEXPAVQUndoGroup@@@Z @ 5872 NONAME ; void QUndoView::setGroup(class QUndoGroup *)
+ ?setMargin@QTextFrameFormat@@QAEXM@Z @ 5873 NONAME ; void QTextFrameFormat::setMargin(float)
+ ?tr@QShortcut@@SA?AVQString@@PBD0H@Z @ 5874 NONAME ; class QString QShortcut::tr(char const *, char const *, int)
+ ?menu@QPushButton@@QBEPAVQMenu@@XZ @ 5875 NONAME ; class QMenu * QPushButton::menu(void) const
+ ?d_func@QKeyEventTransition@@AAEPAVQKeyEventTransitionPrivate@@XZ @ 5876 NONAME ; class QKeyEventTransitionPrivate * QKeyEventTransition::d_func(void)
+ ?fromPoints@QBezier@@SA?AV1@ABVQPointF@@000@Z @ 5877 NONAME ; class QBezier QBezier::fromPoints(class QPointF const &, class QPointF const &, class QPointF const &, class QPointF const &)
+ ?drawComplexControl@QWindowsStyle@@UBEXW4ComplexControl@QStyle@@PBVQStyleOptionComplex@@PAVQPainter@@PBVQWidget@@@Z @ 5878 NONAME ; void QWindowsStyle::drawComplexControl(enum QStyle::ComplexControl, class QStyleOptionComplex const *, class QPainter *, class QWidget const *) const
+ ?fillRect@QPainter@@QAEXHHHHW4BrushStyle@Qt@@@Z @ 5879 NONAME ; void QPainter::fillRect(int, int, int, int, enum Qt::BrushStyle)
+ ?pos@QHelpEvent@@QBEABVQPoint@@XZ @ 5880 NONAME ; class QPoint const & QHelpEvent::pos(void) const
+ ?resizeSection@QHeaderView@@QAEXHH@Z @ 5881 NONAME ; void QHeaderView::resizeSection(int, int)
+ ?init@QPainterState@@QAEXPAVQPainter@@@Z @ 5882 NONAME ; void QPainterState::init(class QPainter *)
+ ?qt_metacall@QRadioButton@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 5883 NONAME ; int QRadioButton::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?setLeftPadding@QTextTableCellFormat@@QAEXM@Z @ 5884 NONAME ; void QTextTableCellFormat::setLeftPadding(float)
+ ?desktop@QApplication@@SAPAVQDesktopWidget@@XZ @ 5885 NONAME ; class QDesktopWidget * QApplication::desktop(void)
+ ?topLevelItem@QTreeWidget@@QBEPAVQTreeWidgetItem@@H@Z @ 5886 NONAME ; class QTreeWidgetItem * QTreeWidget::topLevelItem(int) const
+ ?isBlockedByModal@QApplicationPrivate@@SA_NPAVQWidget@@@Z @ 5887 NONAME ; bool QApplicationPrivate::isBlockedByModal(class QWidget *)
+ ?closeAllSubWindows@QMdiArea@@QAEXXZ @ 5888 NONAME ; void QMdiArea::closeAllSubWindows(void)
+ ?setForegroundBrush@QGraphicsScene@@QAEXABVQBrush@@@Z @ 5889 NONAME ; void QGraphicsScene::setForegroundBrush(class QBrush const &)
+ ?paint@QStyledItemDelegate@@UBEXPAVQPainter@@ABVQStyleOptionViewItem@@ABVQModelIndex@@@Z @ 5890 NONAME ; void QStyledItemDelegate::paint(class QPainter *, class QStyleOptionViewItem const &, class QModelIndex const &) const
+ ??8QTextFragment@@QBE_NABV0@@Z @ 5891 NONAME ; bool QTextFragment::operator==(class QTextFragment const &) const
+ ?selectionArea@QGraphicsScene@@QBE?AVQPainterPath@@XZ @ 5892 NONAME ; class QPainterPath QGraphicsScene::selectionArea(void) const
+ ?setCurrentBlockUserData@QSyntaxHighlighter@@IAEXPAVQTextBlockUserData@@@Z @ 5893 NONAME ; void QSyntaxHighlighter::setCurrentBlockUserData(class QTextBlockUserData *)
+ ??_EQAbstractItemDelegate@@UAE@I@Z @ 5894 NONAME ; QAbstractItemDelegate::~QAbstractItemDelegate(unsigned int)
+ ?setWindowIconText@QWidget@@QAEXABVQString@@@Z @ 5895 NONAME ; void QWidget::setWindowIconText(class QString const &)
+ ?eventFilter@QDialog@@MAE_NPAVQObject@@PAVQEvent@@@Z @ 5896 NONAME ; bool QDialog::eventFilter(class QObject *, class QEvent *)
+ ??0QTextFormatCollection@@QAE@ABV0@@Z @ 5897 NONAME ; QTextFormatCollection::QTextFormatCollection(class QTextFormatCollection const &)
+ ??0QGraphicsWidget@@IAE@AAVQGraphicsWidgetPrivate@@PAVQGraphicsItem@@PAVQGraphicsScene@@V?$QFlags@W4WindowType@Qt@@@@@Z @ 5898 NONAME ; QGraphicsWidget::QGraphicsWidget(class QGraphicsWidgetPrivate &, class QGraphicsItem *, class QGraphicsScene *, class QFlags<enum Qt::WindowType>)
+ ?clicked@QAbstractButton@@IAEX_N@Z @ 5899 NONAME ; void QAbstractButton::clicked(bool)
+ ?type@QPixmapFilter@@QBE?AW4FilterType@1@XZ @ 5900 NONAME ; enum QPixmapFilter::FilterType QPixmapFilter::type(void) const
+ ?setFlags@QTextOption@@QAEXV?$QFlags@W4Flag@QTextOption@@@@@Z @ 5901 NONAME ; void QTextOption::setFlags(class QFlags<enum QTextOption::Flag>)
+ ?qt_metacall@QStyledItemDelegate@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 5902 NONAME ; int QStyledItemDelegate::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?setMenuRole@QAction@@QAEXW4MenuRole@1@@Z @ 5903 NONAME ; void QAction::setMenuRole(enum QAction::MenuRole)
+ ?update@QWidget@@QAEXABVQRect@@@Z @ 5904 NONAME ; void QWidget::update(class QRect const &)
+ ?openUrl@QDesktopServices@@SA_NABVQUrl@@@Z @ 5905 NONAME ; bool QDesktopServices::openUrl(class QUrl const &)
+ ?setValidator@QLineEdit@@QAEXPBVQValidator@@@Z @ 5906 NONAME ; void QLineEdit::setValidator(class QValidator const *)
+ ?doResize@QLayoutPrivate@@QAEXABVQSize@@@Z @ 5907 NONAME ; void QLayoutPrivate::doResize(class QSize const &)
+ ??1QStyleOptionViewItemV2@@QAE@XZ @ 5908 NONAME ; QStyleOptionViewItemV2::~QStyleOptionViewItemV2(void)
+ ?commitString@QInputMethodEvent@@QBEABVQString@@XZ @ 5909 NONAME ; class QString const & QInputMethodEvent::commitString(void) const
+ ?trUtf8@QSessionManager@@SA?AVQString@@PBD0H@Z @ 5910 NONAME ; class QString QSessionManager::trUtf8(char const *, char const *, int)
+ ?minimumHeightForWidth@QBoxLayout@@UBEHH@Z @ 5911 NONAME ; int QBoxLayout::minimumHeightForWidth(int) const
+ ?tr@QPixmapConvolutionFilter@@SA?AVQString@@PBD0H@Z @ 5912 NONAME ; class QString QPixmapConvolutionFilter::tr(char const *, char const *, int)
+ ?setTextInteractionFlags@QTextEdit@@QAEXV?$QFlags@W4TextInteractionFlag@Qt@@@@@Z @ 5913 NONAME ; void QTextEdit::setTextInteractionFlags(class QFlags<enum Qt::TextInteractionFlag>)
+ ??D@YA?AVQPolygon@@ABV0@ABVQTransform@@@Z @ 5914 NONAME ; class QPolygon operator*(class QPolygon const &, class QTransform const &)
+ ?margin@QLabel@@QBEHXZ @ 5915 NONAME ; int QLabel::margin(void) const
+ ?trUtf8@QStyle@@SA?AVQString@@PBD0H@Z @ 5916 NONAME ; class QString QStyle::trUtf8(char const *, char const *, int)
+ ??0QMatrix4x4@@QAE@ABVQTransform@@@Z @ 5917 NONAME ; QMatrix4x4::QMatrix4x4(class QTransform const &)
+ ?format@QSyntaxHighlighter@@IBE?AVQTextCharFormat@@H@Z @ 5918 NONAME ; class QTextCharFormat QSyntaxHighlighter::format(int) const
+ ??_EQItemSelectionRange@@QAE@I@Z @ 5919 NONAME ; QItemSelectionRange::~QItemSelectionRange(unsigned int)
+ ?tr@QFileDialog@@SA?AVQString@@PBD0H@Z @ 5920 NONAME ; class QString QFileDialog::tr(char const *, char const *, int)
+ ?isFinalPage@QWizardPage@@QBE_NXZ @ 5921 NONAME ; bool QWizardPage::isFinalPage(void) const
+ ?currentFont@QTextEdit@@QBE?AVQFont@@XZ @ 5922 NONAME ; class QFont QTextEdit::currentFont(void) const
+ ?setFont@QTreeWidgetItem@@QAEXHABVQFont@@@Z @ 5923 NONAME ; void QTreeWidgetItem::setFont(int, class QFont const &)
+ ?subElementRect@QWindowsStyle@@UBE?AVQRect@@W4SubElement@QStyle@@PBVQStyleOption@@PBVQWidget@@@Z @ 5924 NONAME ; class QRect QWindowsStyle::subElementRect(enum QStyle::SubElement, class QStyleOption const *, class QWidget const *) const
+ ?rightMargin@QTextBlockFormat@@QBEMXZ @ 5925 NONAME ; float QTextBlockFormat::rightMargin(void) const
+ ?getSfntTable@QFontEngine@@QBE?AVQByteArray@@I@Z @ 5926 NONAME ; class QByteArray QFontEngine::getSfntTable(unsigned int) const
+ ?timerEvent@QAbstractButton@@MAEXPAVQTimerEvent@@@Z @ 5927 NONAME ; void QAbstractButton::timerEvent(class QTimerEvent *)
+ ?text@QMessageBox@@QBE?AVQString@@XZ @ 5928 NONAME ; class QString QMessageBox::text(void) const
+ ?metaObject@QRubberBand@@UBEPBUQMetaObject@@XZ @ 5929 NONAME ; struct QMetaObject const * QRubberBand::metaObject(void) const
+ ?internalDelete@QLineControl@@AAEX_N@Z @ 5930 NONAME ; void QLineControl::internalDelete(bool)
+ ??4QStyleOptionDockWidgetV2@@QAEAAV0@ABV0@@Z @ 5931 NONAME ; class QStyleOptionDockWidgetV2 & QStyleOptionDockWidgetV2::operator=(class QStyleOptionDockWidgetV2 const &)
+ ?polish@QProxyStyle@@UAEXPAVQWidget@@@Z @ 5932 NONAME ; void QProxyStyle::polish(class QWidget *)
+ ?insertSeparator@QComboBox@@QAEXH@Z @ 5933 NONAME ; void QComboBox::insertSeparator(int)
+ ?focusInEvent@QWidget@@MAEXPAVQFocusEvent@@@Z @ 5934 NONAME ; void QWidget::focusInEvent(class QFocusEvent *)
+ ?openPersistentEditor@QAbstractItemView@@QAEXABVQModelIndex@@@Z @ 5935 NONAME ; void QAbstractItemView::openPersistentEditor(class QModelIndex const &)
+ ?fillRect@QPaintEngineEx@@UAEXABVQRectF@@ABVQColor@@@Z @ 5936 NONAME ; void QPaintEngineEx::fillRect(class QRectF const &, class QColor const &)
+ ?tr@QSpinBox@@SA?AVQString@@PBD0H@Z @ 5937 NONAME ; class QString QSpinBox::tr(char const *, char const *, int)
+ ?compositionMode@QPainter@@QBE?AW4CompositionMode@1@XZ @ 5938 NONAME ; enum QPainter::CompositionMode QPainter::compositionMode(void) const
+ ?setSubTitle@QWizardPage@@QAEXABVQString@@@Z @ 5939 NONAME ; void QWizardPage::setSubTitle(class QString const &)
+ ?screenGeometry@QDesktopWidget@@QBE?BVQRect@@PBVQWidget@@@Z @ 5940 NONAME ; class QRect const QDesktopWidget::screenGeometry(class QWidget const *) const
+ ?pixmap@QGraphicsPixmapItem@@QBE?AVQPixmap@@XZ @ 5941 NONAME ; class QPixmap QGraphicsPixmapItem::pixmap(void) const
+ ?openExternalLinks@QGraphicsTextItem@@QBE_NXZ @ 5942 NONAME ; bool QGraphicsTextItem::openExternalLinks(void) const
+ ?hasAlpha@QPixmap@@QBE_NXZ @ 5943 NONAME ; bool QPixmap::hasAlpha(void) const
+ ?takeAt@QGridLayout@@UAEPAVQLayoutItem@@H@Z @ 5944 NONAME ; class QLayoutItem * QGridLayout::takeAt(int)
+ ?setWindowTitle@QGraphicsWidget@@QAEXABVQString@@@Z @ 5945 NONAME ; void QGraphicsWidget::setWindowTitle(class QString const &)
+ ?showMenu@QToolButton@@QAEXXZ @ 5946 NONAME ; void QToolButton::showMenu(void)
+ ?render@QGraphicsView@@QAEXPAVQPainter@@ABVQRectF@@ABVQRect@@W4AspectRatioMode@Qt@@@Z @ 5947 NONAME ; void QGraphicsView::render(class QPainter *, class QRectF const &, class QRect const &, enum Qt::AspectRatioMode)
+ ?setPixel@QImage@@QAEXABVQPoint@@I@Z @ 5948 NONAME ; void QImage::setPixel(class QPoint const &, unsigned int)
+ ?qt_metacall@QPixmapConvolutionFilter@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 5949 NONAME ; int QPixmapConvolutionFilter::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?setVisible@QActionGroup@@QAEX_N@Z @ 5950 NONAME ; void QActionGroup::setVisible(bool)
+ ?setMetaInformation@QTextDocument@@QAEXW4MetaInformation@1@ABVQString@@@Z @ 5951 NONAME ; void QTextDocument::setMetaInformation(enum QTextDocument::MetaInformation, class QString const &)
+ ?showNormal@QWidget@@QAEXXZ @ 5952 NONAME ; void QWidget::showNormal(void)
+ ?setPageStep@QAbstractSlider@@QAEXH@Z @ 5953 NONAME ; void QAbstractSlider::setPageStep(int)
+ ??XQQuaternion@@QAEAAV0@M@Z @ 5954 NONAME ; class QQuaternion & QQuaternion::operator*=(float)
+ ?setCapStyle@QPainterPathStroker@@QAEXW4PenCapStyle@Qt@@@Z @ 5955 NONAME ; void QPainterPathStroker::setCapStyle(enum Qt::PenCapStyle)
+ ?field@QWizard@@QBE?AVQVariant@@ABVQString@@@Z @ 5956 NONAME ; class QVariant QWizard::field(class QString const &) const
+ ?setWidget@QScrollArea@@QAEXPAVQWidget@@@Z @ 5957 NONAME ; void QScrollArea::setWidget(class QWidget *)
+ ??ZQVector3D@@QAEAAV0@ABV0@@Z @ 5958 NONAME ; class QVector3D & QVector3D::operator-=(class QVector3D const &)
+ ?getStaticMetaObject@QUndoView@@SAABUQMetaObject@@XZ @ 5959 NONAME ; struct QMetaObject const & QUndoView::getStaticMetaObject(void)
+ ?getStaticMetaObject@QWorkspace@@SAABUQMetaObject@@XZ @ 5960 NONAME ; struct QMetaObject const & QWorkspace::getStaticMetaObject(void)
+ ?hide_helper@QWidgetPrivate@@QAEXXZ @ 5961 NONAME ; void QWidgetPrivate::hide_helper(void)
+ ?isMovable@QHeaderView@@QBE_NXZ @ 5962 NONAME ; bool QHeaderView::isMovable(void) const
+ ?overrideWindowState@QWidget@@QAEXV?$QFlags@W4WindowState@Qt@@@@@Z @ 5963 NONAME ; void QWidget::overrideWindowState(class QFlags<enum Qt::WindowState>)
+ ??XQVector3D@@QAEAAV0@ABV0@@Z @ 5964 NONAME ; class QVector3D & QVector3D::operator*=(class QVector3D const &)
+ ?drawText@QPainter@@QAEXABVQRectF@@HABVQString@@PAV2@@Z @ 5965 NONAME ; void QPainter::drawText(class QRectF const &, int, class QString const &, class QRectF *)
+ ?setCmykF@QColor@@QAEXMMMMM@Z @ 5966 NONAME ; void QColor::setCmykF(float, float, float, float, float)
+ ?movie@QLabel@@QBEPAVQMovie@@XZ @ 5967 NONAME ; class QMovie * QLabel::movie(void) const
+ ??1QGuiPlatformPlugin@@UAE@XZ @ 5968 NONAME ; QGuiPlatformPlugin::~QGuiPlatformPlugin(void)
+ ?eraseRect@QPainter@@QAEXABVQRectF@@@Z @ 5969 NONAME ; void QPainter::eraseRect(class QRectF const &)
+ ?toValueArray@QMatrix4x4@@QBEXPAM@Z @ 5970 NONAME ; void QMatrix4x4::toValueArray(float *) const
+ ?isLeftToRight@QApplication@@SA_NXZ @ 5971 NONAME ; bool QApplication::isLeftToRight(void)
+ ?setRowMaximumHeight@QGraphicsGridLayout@@QAEXHM@Z @ 5972 NONAME ; void QGraphicsGridLayout::setRowMaximumHeight(int, float)
+ ?mapFromItem@QGraphicsItem@@QBE?AVQPolygonF@@PBV1@ABVQRectF@@@Z @ 5973 NONAME ; class QPolygonF QGraphicsItem::mapFromItem(class QGraphicsItem const *, class QRectF const &) const
+ ??0QToolButton@@IAE@AAVQToolButtonPrivate@@PAVQWidget@@@Z @ 5974 NONAME ; QToolButton::QToolButton(class QToolButtonPrivate &, class QWidget *)
+ ?screen@QDesktopWidget@@QAEPAVQWidget@@H@Z @ 5975 NONAME ; class QWidget * QDesktopWidget::screen(int)
+ ?event@QListView@@MAE_NPAVQEvent@@@Z @ 5976 NONAME ; bool QListView::event(class QEvent *)
+ ?staticMetaObject@QButtonGroup@@2UQMetaObject@@B @ 5977 NONAME ; struct QMetaObject const QButtonGroup::staticMetaObject
+ ?setPalette_helper@QApplicationPrivate@@SAXABVQPalette@@PBD_N@Z @ 5978 NONAME ; void QApplicationPrivate::setPalette_helper(class QPalette const &, char const *, bool)
+ ?open@QProgressDialog@@QAEXPAVQObject@@PBD@Z @ 5979 NONAME ; void QProgressDialog::open(class QObject *, char const *)
+ ?splitDockWidget@QMainWindow@@QAEXPAVQDockWidget@@0W4Orientation@Qt@@@Z @ 5980 NONAME ; void QMainWindow::splitDockWidget(class QDockWidget *, class QDockWidget *, enum Qt::Orientation)
+ ??1QTextBlockGroup@@MAE@XZ @ 5981 NONAME ; QTextBlockGroup::~QTextBlockGroup(void)
+ ?model@QCompleter@@QBEPAVQAbstractItemModel@@XZ @ 5982 NONAME ; class QAbstractItemModel * QCompleter::model(void) const
+ ?tr@QDockWidgetLayout@@SA?AVQString@@PBD0H@Z @ 5983 NONAME ; class QString QDockWidgetLayout::tr(char const *, char const *, int)
+ ??4QStyleOptionToolBoxV2@@QAEAAV0@ABVQStyleOptionToolBox@@@Z @ 5984 NONAME ; class QStyleOptionToolBoxV2 & QStyleOptionToolBoxV2::operator=(class QStyleOptionToolBox const &)
+ ??1QFontEngine@@UAE@XZ @ 5985 NONAME ; QFontEngine::~QFontEngine(void)
+ ?naturalWidgetPalette@QWidgetPrivate@@QBE?AVQPalette@@I@Z @ 5986 NONAME ; class QPalette QWidgetPrivate::naturalWidgetPalette(unsigned int) const
+ ?items@QGraphicsView@@QBE?AV?$QList@PAVQGraphicsItem@@@@HHHHW4ItemSelectionMode@Qt@@@Z @ 5987 NONAME ; class QList<class QGraphicsItem *> QGraphicsView::items(int, int, int, int, enum Qt::ItemSelectionMode) const
+ ?setAxis@QGraphicsRotation@@QAEXW4Axis@Qt@@@Z @ 5988 NONAME ; void QGraphicsRotation::setAxis(enum Qt::Axis)
+ ??1QGraphicsProxyWidget@@UAE@XZ @ 5989 NONAME ; QGraphicsProxyWidget::~QGraphicsProxyWidget(void)
+ ??_EStyleSelector@QCss@@UAE@I@Z @ 5990 NONAME ; QCss::StyleSelector::~StyleSelector(unsigned int)
+ ?currentPageChanged@QCalendarWidget@@IAEXHH@Z @ 5991 NONAME ; void QCalendarWidget::currentPageChanged(int, int)
+ ?cursorToX@QTextLine@@QBEMPAHW4Edge@1@@Z @ 5992 NONAME ; float QTextLine::cursorToX(int *, enum QTextLine::Edge) const
+ ?arcMoveTo@QPainterPath@@QAEXMMMMM@Z @ 5993 NONAME ; void QPainterPath::arcMoveTo(float, float, float, float, float)
+ ?dragEnterEvent@QWidget@@MAEXPAVQDragEnterEvent@@@Z @ 5994 NONAME ; void QWidget::dragEnterEvent(class QDragEnterEvent *)
+ ??1QPanGesture@@UAE@XZ @ 5995 NONAME ; QPanGesture::~QPanGesture(void)
+ ?clearMaximumDate@QDateTimeEdit@@QAEXXZ @ 5996 NONAME ; void QDateTimeEdit::clearMaximumDate(void)
+ ?setCapStyle@QStroker@@QAEXW4PenCapStyle@Qt@@@Z @ 5997 NONAME ; void QStroker::setCapStyle(enum Qt::PenCapStyle)
+ ?mousePressEvent@QSplitterHandle@@MAEXPAVQMouseEvent@@@Z @ 5998 NONAME ; void QSplitterHandle::mousePressEvent(class QMouseEvent *)
+ ??8QColor@@QBE_NABV0@@Z @ 5999 NONAME ; bool QColor::operator==(class QColor const &) const
+ ??0QTextLayout@@QAE@ABVQString@@ABVQFont@@PAVQPaintDevice@@@Z @ 6000 NONAME ; QTextLayout::QTextLayout(class QString const &, class QFont const &, class QPaintDevice *)
+ ?setEnabled@QLayout@@QAEX_N@Z @ 6001 NONAME ; void QLayout::setEnabled(bool)
+ ?insert@QPaintBufferResource@@QAEXPBVQPaintBufferPrivate@@PAX@Z @ 6002 NONAME ; void QPaintBufferResource::insert(class QPaintBufferPrivate const *, void *)
+ ??1QStyleOptionFrame@@QAE@XZ @ 6003 NONAME ; QStyleOptionFrame::~QStyleOptionFrame(void)
+ ?setTextInteractionFlags@QTextControl@@QAEXV?$QFlags@W4TextInteractionFlag@Qt@@@@@Z @ 6004 NONAME ; void QTextControl::setTextInteractionFlags(class QFlags<enum Qt::TextInteractionFlag>)
+ ?actions@QActionGroup@@QBE?AV?$QList@PAVQAction@@@@XZ @ 6005 NONAME ; class QList<class QAction *> QActionGroup::actions(void) const
+ ??0QLinearGradient@@QAE@MMMM@Z @ 6006 NONAME ; QLinearGradient::QLinearGradient(float, float, float, float)
+ ?addSpacerItem@QBoxLayout@@QAEXPAVQSpacerItem@@@Z @ 6007 NONAME ; void QBoxLayout::addSpacerItem(class QSpacerItem *)
+ ?closeEditor@QAbstractItemView@@MAEXPAVQWidget@@W4EndEditHint@QAbstractItemDelegate@@@Z @ 6008 NONAME ; void QAbstractItemView::closeEditor(class QWidget *, enum QAbstractItemDelegate::EndEditHint)
+ ?prepareToRender@QWidgetPrivate@@QAE?AVQRegion@@ABV2@V?$QFlags@W4RenderFlag@QWidget@@@@@Z @ 6009 NONAME ; class QRegion QWidgetPrivate::prepareToRender(class QRegion const &, class QFlags<enum QWidget::RenderFlag>)
+ ??0QColor@@QAE@XZ @ 6010 NONAME ; QColor::QColor(void)
+ ??1QStyleOptionQ3ListViewItem@@QAE@XZ @ 6011 NONAME ; QStyleOptionQ3ListViewItem::~QStyleOptionQ3ListViewItem(void)
+ ??1QSpacerItem@@UAE@XZ @ 6012 NONAME ; QSpacerItem::~QSpacerItem(void)
+ ?setWhatsThis@QTreeWidgetItem@@QAEXHABVQString@@@Z @ 6013 NONAME ; void QTreeWidgetItem::setWhatsThis(int, class QString const &)
+ ??0QMatrix@@QAE@MMMMMM@Z @ 6014 NONAME ; QMatrix::QMatrix(float, float, float, float, float, float)
+ ?tr@QPixmapDropShadowFilter@@SA?AVQString@@PBD0@Z @ 6015 NONAME ; class QString QPixmapDropShadowFilter::tr(char const *, char const *)
+ ?dark@QColor@@QBE?AV1@H@Z @ 6016 NONAME ; class QColor QColor::dark(int) const
+ ?setBspTreeDepth@QGraphicsScene@@QAEXH@Z @ 6017 NONAME ; void QGraphicsScene::setBspTreeDepth(int)
+ ?rowCount@QDirModel@@UBEHABVQModelIndex@@@Z @ 6018 NONAME ; int QDirModel::rowCount(class QModelIndex const &) const
+ ?tr@QProxyModel@@SA?AVQString@@PBD0@Z @ 6019 NONAME ; class QString QProxyModel::tr(char const *, char const *)
+ ?insert@QPixmapCache@@SA_NABVQString@@ABVQPixmap@@@Z @ 6020 NONAME ; bool QPixmapCache::insert(class QString const &, class QPixmap const &)
+ ?cursorWordForward@QLineControl@@QAEX_N@Z @ 6021 NONAME ; void QLineControl::cursorWordForward(bool)
+ ?toHtml@QGraphicsTextItem@@QBE?AVQString@@XZ @ 6022 NONAME ; class QString QGraphicsTextItem::toHtml(void) const
+ ?setEmptyCachedClipPath@QGraphicsItemPrivate@@QAEXXZ @ 6023 NONAME ; void QGraphicsItemPrivate::setEmptyCachedClipPath(void)
+ ??0QInputDialog@@QAE@PAVQWidget@@V?$QFlags@W4WindowType@Qt@@@@@Z @ 6024 NONAME ; QInputDialog::QInputDialog(class QWidget *, class QFlags<enum Qt::WindowType>)
+ ?columnIntersectsSelection@QItemSelectionModel@@QBE_NHABVQModelIndex@@@Z @ 6025 NONAME ; bool QItemSelectionModel::columnIntersectsSelection(int, class QModelIndex const &) const
+ ?value@QPaintBufferResource@@QAEPAXPBVQPaintBufferPrivate@@@Z @ 6026 NONAME ; void * QPaintBufferResource::value(class QPaintBufferPrivate const *)
+ ?drawForeground@QGraphicsScene@@MAEXPAVQPainter@@ABVQRectF@@@Z @ 6027 NONAME ; void QGraphicsScene::drawForeground(class QPainter *, class QRectF const &)
+ ?trUtf8@QPushButton@@SA?AVQString@@PBD0@Z @ 6028 NONAME ; class QString QPushButton::trUtf8(char const *, char const *)
+ ??1QPushButton@@UAE@XZ @ 6029 NONAME ; QPushButton::~QPushButton(void)
+ ?searchPaths@QTextBrowser@@QBE?AVQStringList@@XZ @ 6030 NONAME ; class QStringList QTextBrowser::searchPaths(void) const
+ ??_EQPixmapColorizeFilter@@UAE@I@Z @ 6031 NONAME ; QPixmapColorizeFilter::~QPixmapColorizeFilter(unsigned int)
+ ?customContextMenuRequested@QWidget@@IAEXABVQPoint@@@Z @ 6032 NONAME ; void QWidget::customContextMenuRequested(class QPoint const &)
+ ?trUtf8@QItemSelectionModel@@SA?AVQString@@PBD0H@Z @ 6033 NONAME ; class QString QItemSelectionModel::trUtf8(char const *, char const *, int)
+ ?canInsertFromMimeData@QTextControl@@UBE_NPBVQMimeData@@@Z @ 6034 NONAME ; bool QTextControl::canInsertFromMimeData(class QMimeData const *) const
+ ?setWindowOpacity_sys@QWidgetPrivate@@QAEXM@Z @ 6035 NONAME ; void QWidgetPrivate::setWindowOpacity_sys(float)
+ ?fixup@QDoubleSpinBox@@UBEXAAVQString@@@Z @ 6036 NONAME ; void QDoubleSpinBox::fixup(class QString &) const
+ ??0QStyleOptionButton@@IAE@H@Z @ 6037 NONAME ; QStyleOptionButton::QStyleOptionButton(int)
+ ?isValid@QTextInlineObject@@QBE_NXZ @ 6038 NONAME ; bool QTextInlineObject::isValid(void) const
+ ?deleteSysExtra@QWidgetPrivate@@QAEXXZ @ 6039 NONAME ; void QWidgetPrivate::deleteSysExtra(void)
+ ??6@YA?AVQDebug@@V0@W4GraphicsItemChange@QGraphicsItem@@@Z @ 6040 NONAME ; class QDebug operator<<(class QDebug, enum QGraphicsItem::GraphicsItemChange)
+ ?setPlainText@QTextEdit@@QAEXABVQString@@@Z @ 6041 NONAME ; void QTextEdit::setPlainText(class QString const &)
+ ?contextMenuEvent@QTextEdit@@MAEXPAVQContextMenuEvent@@@Z @ 6042 NONAME ; void QTextEdit::contextMenuEvent(class QContextMenuEvent *)
+ ?type@QGraphicsLineItem@@UBEHXZ @ 6043 NONAME ; int QGraphicsLineItem::type(void) const
+ ?nativeVirtualKey@QKeyEvent@@QBEIXZ @ 6044 NONAME ; unsigned int QKeyEvent::nativeVirtualKey(void) const
+ ?selectionBehaviorOnRemove@QTabBar@@QBE?AW4SelectionBehavior@1@XZ @ 6045 NONAME ; enum QTabBar::SelectionBehavior QTabBar::selectionBehaviorOnRemove(void) const
+ ?metaObject@QAbstractSpinBox@@UBEPBUQMetaObject@@XZ @ 6046 NONAME ; struct QMetaObject const * QAbstractSpinBox::metaObject(void) const
+ ?tr@QGesture@@SA?AVQString@@PBD0H@Z @ 6047 NONAME ; class QString QGesture::tr(char const *, char const *, int)
+ ?setHeaderData@QSortFilterProxyModel@@UAE_NHW4Orientation@Qt@@ABVQVariant@@H@Z @ 6048 NONAME ; bool QSortFilterProxyModel::setHeaderData(int, enum Qt::Orientation, class QVariant const &, int)
+ ?penNeedsResolving@QPaintEngineState@@QBE_NXZ @ 6049 NONAME ; bool QPaintEngineState::penNeedsResolving(void) const
+ ?testOption@QFileDialog@@QBE_NW4Option@1@@Z @ 6050 NONAME ; bool QFileDialog::testOption(enum QFileDialog::Option) const
+ ?open@QDialog@@QAEXXZ @ 6051 NONAME ; void QDialog::open(void)
+ ?getStaticMetaObject@QPixmapBlurFilter@@SAABUQMetaObject@@XZ @ 6052 NONAME ; struct QMetaObject const & QPixmapBlurFilter::getStaticMetaObject(void)
+ ?drawText@QPainter@@QAEXABVQPointF@@ABVQString@@HH@Z @ 6053 NONAME ; void QPainter::drawText(class QPointF const &, class QString const &, int, int)
+ ?menuRole@QAction@@QBE?AW4MenuRole@1@XZ @ 6054 NONAME ; enum QAction::MenuRole QAction::menuRole(void) const
+ ??0QGraphicsSceneMoveEvent@@QAE@XZ @ 6055 NONAME ; QGraphicsSceneMoveEvent::QGraphicsSceneMoveEvent(void)
+ ?sizeHint@QScrollArea@@UBE?AVQSize@@XZ @ 6056 NONAME ; class QSize QScrollArea::sizeHint(void) const
+ ?setStandardButtons@QDialogButtonBox@@QAEXV?$QFlags@W4StandardButton@QDialogButtonBox@@@@@Z @ 6057 NONAME ; void QDialogButtonBox::setStandardButtons(class QFlags<enum QDialogButtonBox::StandardButton>)
+ ?transform@QBrush@@QBE?AVQTransform@@XZ @ 6058 NONAME ; class QTransform QBrush::transform(void) const
+ ?tr@QGraphicsTextItem@@SA?AVQString@@PBD0@Z @ 6059 NONAME ; class QString QGraphicsTextItem::tr(char const *, char const *)
+ ?minimum@QSpinBox@@QBEHXZ @ 6060 NONAME ; int QSpinBox::minimum(void) const
+ ?featuresChanged@QDockWidget@@IAEXV?$QFlags@W4DockWidgetFeature@QDockWidget@@@@@Z @ 6061 NONAME ; void QDockWidget::featuresChanged(class QFlags<enum QDockWidget::DockWidgetFeature>)
+ ?triggered@QActionGroup@@IAEXPAVQAction@@@Z @ 6062 NONAME ; void QActionGroup::triggered(class QAction *)
+ ?drawTextItem@QPainter@@QAEXABVQPointF@@ABVQTextItem@@@Z @ 6063 NONAME ; void QPainter::drawTextItem(class QPointF const &, class QTextItem const &)
+ ?setVisible@QDialog@@UAEX_N@Z @ 6064 NONAME ; void QDialog::setVisible(bool)
+ ?rect@QPixmap@@QBE?AVQRect@@XZ @ 6065 NONAME ; class QRect QPixmap::rect(void) const
+ ?orthonormalInverse@QMatrix4x4@@ABE?AV1@XZ @ 6066 NONAME ; class QMatrix4x4 QMatrix4x4::orthonormalInverse(void) const
+ ?lineWidth@QFontMetrics@@QBEHXZ @ 6067 NONAME ; int QFontMetrics::lineWidth(void) const
+ ?tr@QIconEnginePlugin@@SA?AVQString@@PBD0H@Z @ 6068 NONAME ; class QString QIconEnginePlugin::tr(char const *, char const *, int)
+ ?addTab@QTabBar@@QAEHABVQString@@@Z @ 6069 NONAME ; int QTabBar::addTab(class QString const &)
+ ?linkHovered@QTextControl@@IAEXABVQString@@@Z @ 6070 NONAME ; void QTextControl::linkHovered(class QString const &)
+ ?initStyleOption@QToolBar@@IBEXPAVQStyleOptionToolBar@@@Z @ 6071 NONAME ; void QToolBar::initStyleOption(class QStyleOptionToolBar *) const
+ ?setTextBackgroundColor@QTextEdit@@QAEXABVQColor@@@Z @ 6072 NONAME ; void QTextEdit::setTextBackgroundColor(class QColor const &)
+ ?headerData@QAbstractProxyModel@@UBE?AVQVariant@@HW4Orientation@Qt@@H@Z @ 6073 NONAME ; class QVariant QAbstractProxyModel::headerData(int, enum Qt::Orientation, int) const
+ ?styleStrategy@QFont@@QBE?AW4StyleStrategy@1@XZ @ 6074 NONAME ; enum QFont::StyleStrategy QFont::styleStrategy(void) const
+ ?columnCount@QProxyModel@@UBEHABVQModelIndex@@@Z @ 6075 NONAME ; int QProxyModel::columnCount(class QModelIndex const &) const
+ ?staticMetaObject@QTextBrowser@@2UQMetaObject@@B @ 6076 NONAME ; struct QMetaObject const QTextBrowser::staticMetaObject
+ ?boundingRect@QTextLayout@@QBE?AVQRectF@@XZ @ 6077 NONAME ; class QRectF QTextLayout::boundingRect(void) const
+ ?qt_metacall@QColumnView@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 6078 NONAME ; int QColumnView::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?getStaticMetaObject@QIntValidator@@SAABUQMetaObject@@XZ @ 6079 NONAME ; struct QMetaObject const & QIntValidator::getStaticMetaObject(void)
+ ?update@QGraphicsEffectSource@@QAEXXZ @ 6080 NONAME ; void QGraphicsEffectSource::update(void)
+ ?y@QVector4D@@QBEMXZ @ 6081 NONAME ; float QVector4D::y(void) const
+ ?drawItemText@QStyle@@UBEXPAVQPainter@@ABVQRect@@HABVQPalette@@_NABVQString@@W4ColorRole@4@@Z @ 6082 NONAME ; void QStyle::drawItemText(class QPainter *, class QRect const &, int, class QPalette const &, bool, class QString const &, enum QPalette::ColorRole) const
+ ?colorDialogSetCurrentColor@QGuiPlatformPlugin@@UAEXPAVQColorDialog@@ABVQColor@@@Z @ 6083 NONAME ; void QGuiPlatformPlugin::colorDialogSetCurrentColor(class QColorDialog *, class QColor const &)
+ ?setColor@QPalette@@QAEXW4ColorRole@1@ABVQColor@@@Z @ 6084 NONAME ; void QPalette::setColor(enum QPalette::ColorRole, class QColor const &)
+ ?qt_metacall@QToolBox@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 6085 NONAME ; int QToolBox::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?setMinimum@QProgressDialog@@QAEXH@Z @ 6086 NONAME ; void QProgressDialog::setMinimum(int)
+ ?parent@QItemSelectionRange@@QBE?AVQModelIndex@@XZ @ 6087 NONAME ; class QModelIndex QItemSelectionRange::parent(void) const
+ ?spacing@QGridLayout@@QBEHXZ @ 6088 NONAME ; int QGridLayout::spacing(void) const
+ ?isActiveWindow@QGraphicsWidget@@QBE_NXZ @ 6089 NONAME ; bool QGraphicsWidget::isActiveWindow(void) const
+ ?paintEvent@QDateTimeEdit@@MAEXPAVQPaintEvent@@@Z @ 6090 NONAME ; void QDateTimeEdit::paintEvent(class QPaintEvent *)
+ ?undo@QPlainTextEdit@@QAEXXZ @ 6091 NONAME ; void QPlainTextEdit::undo(void)
+ ?itemAt@QGraphicsView@@QBEPAVQGraphicsItem@@ABVQPoint@@@Z @ 6092 NONAME ; class QGraphicsItem * QGraphicsView::itemAt(class QPoint const &) const
+ ?testProperty@Parser@QCss@@QAE_NXZ @ 6093 NONAME ; bool QCss::Parser::testProperty(void)
+ ?visibilityChanged@QDockWidget@@IAEX_N@Z @ 6094 NONAME ; void QDockWidget::visibilityChanged(bool)
+ ?getStaticMetaObject@QLayout@@SAABUQMetaObject@@XZ @ 6095 NONAME ; struct QMetaObject const & QLayout::getStaticMetaObject(void)
+ ?qt_metacall@QLCDNumber@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 6096 NONAME ; int QLCDNumber::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?d_func@QGesture@@AAEPAVQGesturePrivate@@XZ @ 6097 NONAME ; class QGesturePrivate * QGesture::d_func(void)
+ ?staticMetaObject@QIconEnginePlugin@@2UQMetaObject@@B @ 6098 NONAME ; struct QMetaObject const QIconEnginePlugin::staticMetaObject
+ ?trUtf8@QGraphicsBlurEffect@@SA?AVQString@@PBD0H@Z @ 6099 NONAME ; class QString QGraphicsBlurEffect::trUtf8(char const *, char const *, int)
+ ?setVerticalSpacing@QFormLayout@@QAEXH@Z @ 6100 NONAME ; void QFormLayout::setVerticalSpacing(int)
+ ?currentColumn@QTableWidget@@QBEHXZ @ 6101 NONAME ; int QTableWidget::currentColumn(void) const
+ ??0QMatrix4x4@@QAE@ABV0@@Z @ 6102 NONAME ; QMatrix4x4::QMatrix4x4(class QMatrix4x4 const &)
+ ?isCopyOf@QPalette@@QBE_NABV1@@Z @ 6103 NONAME ; bool QPalette::isCopyOf(class QPalette const &) const
+ ?screenNumber@QDesktopWidget@@QBEHPBVQWidget@@@Z @ 6104 NONAME ; int QDesktopWidget::screenNumber(class QWidget const *) const
+ ?graphics_system_name@QApplicationPrivate@@2VQString@@A @ 6105 NONAME ; class QString QApplicationPrivate::graphics_system_name
+ ??_EQPaintEngineExPrivate@@UAE@I@Z @ 6106 NONAME ; QPaintEngineExPrivate::~QPaintEngineExPrivate(unsigned int)
+ ??0QPolygon@@QAE@ABV?$QVector@VQPoint@@@@@Z @ 6107 NONAME ; QPolygon::QPolygon(class QVector<class QPoint> const &)
+ ?wordWrapMode@QTextEdit@@QBE?AW4WrapMode@QTextOption@@XZ @ 6108 NONAME ; enum QTextOption::WrapMode QTextEdit::wordWrapMode(void) const
+ ?columnCount@QTableWidget@@QBEHXZ @ 6109 NONAME ; int QTableWidget::columnCount(void) const
+ ?ortho@QMatrix4x4@@QAEAAV1@ABVQRectF@@@Z @ 6110 NONAME ; class QMatrix4x4 & QMatrix4x4::ortho(class QRectF const &)
+ ?open@QFontDialog@@QAEXPAVQObject@@PBD@Z @ 6111 NONAME ; void QFontDialog::open(class QObject *, char const *)
+ ?tr@QGridLayout@@SA?AVQString@@PBD0H@Z @ 6112 NONAME ; class QString QGridLayout::tr(char const *, char const *, int)
+ ?flags@QStandardItem@@QBE?AV?$QFlags@W4ItemFlag@Qt@@@@XZ @ 6113 NONAME ; class QFlags<enum Qt::ItemFlag> QStandardItem::flags(void) const
+ ?mouseMoveEvent@QGraphicsScene@@MAEXPAVQGraphicsSceneMouseEvent@@@Z @ 6114 NONAME ; void QGraphicsScene::mouseMoveEvent(class QGraphicsSceneMouseEvent *)
+ ?keyPressEvent@QMdiSubWindow@@MAEXPAVQKeyEvent@@@Z @ 6115 NONAME ; void QMdiSubWindow::keyPressEvent(class QKeyEvent *)
+ ?drawRoundRect@QPainter@@QAEXABVQRect@@HH@Z @ 6116 NONAME ; void QPainter::drawRoundRect(class QRect const &, int, int)
+ ?setPlainText@QTextControl@@QAEXABVQString@@@Z @ 6117 NONAME ; void QTextControl::setPlainText(class QString const &)
+ ?setHeaderData@QAbstractProxyModel@@UAE_NHW4Orientation@Qt@@ABVQVariant@@H@Z @ 6118 NONAME ; bool QAbstractProxyModel::setHeaderData(int, enum Qt::Orientation, class QVariant const &, int)
+ ?getStaticMetaObject@QPlainTextEdit@@SAABUQMetaObject@@XZ @ 6119 NONAME ; struct QMetaObject const & QPlainTextEdit::getStaticMetaObject(void)
+ ?themeSearchPaths@QIcon@@SA?AVQStringList@@XZ @ 6120 NONAME ; class QStringList QIcon::themeSearchPaths(void)
+ ?setFontItalic@QTextCharFormat@@QAEX_N@Z @ 6121 NONAME ; void QTextCharFormat::setFontItalic(bool)
+ ?changeEvent@QToolButton@@MAEXPAVQEvent@@@Z @ 6122 NONAME ; void QToolButton::changeEvent(class QEvent *)
+ ?isInteractive@QGraphicsView@@QBE_NXZ @ 6123 NONAME ; bool QGraphicsView::isInteractive(void) const
+ ?size@QTextControl@@QBE?AVQSizeF@@XZ @ 6124 NONAME ; class QSizeF QTextControl::size(void) const
+ ?staticMetaObject@QEventDispatcherS60@@2UQMetaObject@@B @ 6125 NONAME ; struct QMetaObject const QEventDispatcherS60::staticMetaObject
+ ?isFloating@QDockWidget@@QBE_NXZ @ 6126 NONAME ; bool QDockWidget::isFloating(void) const
+ ?columnAt@QTreeView@@QBEHH@Z @ 6127 NONAME ; int QTreeView::columnAt(int) const
+ ??0QPixmap@@AAE@ABVQSize@@W4Type@0@@Z @ 6128 NONAME ; QPixmap::QPixmap(class QSize const &, enum QPixmap::Type)
+ ?trUtf8@QAbstractSlider@@SA?AVQString@@PBD0H@Z @ 6129 NONAME ; class QString QAbstractSlider::trUtf8(char const *, char const *, int)
+ ?setRootIndex@QListView@@UAEXABVQModelIndex@@@Z @ 6130 NONAME ; void QListView::setRootIndex(class QModelIndex const &)
+ ?itemEditorFactory@QItemDelegate@@QBEPAVQItemEditorFactory@@XZ @ 6131 NONAME ; class QItemEditorFactory * QItemDelegate::itemEditorFactory(void) const
+ ??0QColumnView@@QAE@PAVQWidget@@@Z @ 6132 NONAME ; QColumnView::QColumnView(class QWidget *)
+ ?mousePressEvent@QSizeGrip@@MAEXPAVQMouseEvent@@@Z @ 6133 NONAME ; void QSizeGrip::mousePressEvent(class QMouseEvent *)
+ ?document@QPlainTextEdit@@QBEPAVQTextDocument@@XZ @ 6134 NONAME ; class QTextDocument * QPlainTextEdit::document(void) const
+ ?setCheckState@QTableWidgetItem@@QAEXW4CheckState@Qt@@@Z @ 6135 NONAME ; void QTableWidgetItem::setCheckState(enum Qt::CheckState)
+ ??1QPaintBufferSignalProxy@@UAE@XZ @ 6136 NONAME ; QPaintBufferSignalProxy::~QPaintBufferSignalProxy(void)
+ ??0QTouchEvent@@QAE@W4Type@QEvent@@W4DeviceType@0@V?$QFlags@W4KeyboardModifier@Qt@@@@V?$QFlags@W4TouchPointState@Qt@@@@ABV?$QList@VTouchPoint@QTouchEvent@@@@@Z @ 6137 NONAME ; QTouchEvent::QTouchEvent(enum QEvent::Type, enum QTouchEvent::DeviceType, class QFlags<enum Qt::KeyboardModifier>, class QFlags<enum Qt::TouchPointState>, class QList<class QTouchEvent::TouchPoint> const &)
+ ?setCursorFlashTime@QApplication@@SAXH@Z @ 6138 NONAME ; void QApplication::setCursorFlashTime(int)
+ ?matrix@QBrush@@QBEABVQMatrix@@XZ @ 6139 NONAME ; class QMatrix const & QBrush::matrix(void) const
+ ?tr@QGraphicsScale@@SA?AVQString@@PBD0H@Z @ 6140 NONAME ; class QString QGraphicsScale::tr(char const *, char const *, int)
+ ?setOffset@QPixmapDropShadowFilter@@QAEXMM@Z @ 6141 NONAME ; void QPixmapDropShadowFilter::setOffset(float, float)
+ ?setModified@QLineEdit@@QAEX_N@Z @ 6142 NONAME ; void QLineEdit::setModified(bool)
+ ?trUtf8@QAbstractButton@@SA?AVQString@@PBD0@Z @ 6143 NONAME ; class QString QAbstractButton::trUtf8(char const *, char const *)
+ ?resizeColumnToContents@QTableView@@QAEXH@Z @ 6144 NONAME ; void QTableView::resizeColumnToContents(int)
+ ?emitMoveTo@QStroker@@QAEXMM@Z @ 6145 NONAME ; void QStroker::emitMoveTo(float, float)
+ ?valueChanged@QDoubleSpinBox@@IAEXN@Z @ 6146 NONAME ; void QDoubleSpinBox::valueChanged(double)
+ ??0QButtonGroup@@QAE@PAVQObject@@@Z @ 6147 NONAME ; QButtonGroup::QButtonGroup(class QObject *)
+ ?palette@QWidget@@QBEABVQPalette@@XZ @ 6148 NONAME ; class QPalette const & QWidget::palette(void) const
+ ?metaObject@QWorkspace@@UBEPBUQMetaObject@@XZ @ 6149 NONAME ; struct QMetaObject const * QWorkspace::metaObject(void) const
+ ??1QTextBlockUserData@@UAE@XZ @ 6150 NONAME ; QTextBlockUserData::~QTextBlockUserData(void)
+ ??_EQPaintBuffer@@UAE@I@Z @ 6151 NONAME ; QPaintBuffer::~QPaintBuffer(unsigned int)
+ ?isLeftToRight@QWidget@@QBE_NXZ @ 6152 NONAME ; bool QWidget::isLeftToRight(void) const
+ ?internalUndo@QLineControl@@AAEXH@Z @ 6153 NONAME ; void QLineControl::internalUndo(int)
+ ?staticMetaObject@QScrollBar@@2UQMetaObject@@B @ 6154 NONAME ; struct QMetaObject const QScrollBar::staticMetaObject
+ ?setIconProvider@QFileDialog@@QAEXPAVQFileIconProvider@@@Z @ 6155 NONAME ; void QFileDialog::setIconProvider(class QFileIconProvider *)
+ ?metaObject@QListWidget@@UBEPBUQMetaObject@@XZ @ 6156 NONAME ; struct QMetaObject const * QListWidget::metaObject(void) const
+ ?text@QTableWidgetItem@@QBE?AVQString@@XZ @ 6157 NONAME ; class QString QTableWidgetItem::text(void) const
+ ?modifiers@QGraphicsSceneWheelEvent@@QBE?AV?$QFlags@W4KeyboardModifier@Qt@@@@XZ @ 6158 NONAME ; class QFlags<enum Qt::KeyboardModifier> QGraphicsSceneWheelEvent::modifiers(void) const
+ ?tr@QDialogButtonBox@@SA?AVQString@@PBD0H@Z @ 6159 NONAME ; class QString QDialogButtonBox::tr(char const *, char const *, int)
+ ?mapFromParent@QWidget@@QBE?AVQPoint@@ABV2@@Z @ 6160 NONAME ; class QPoint QWidget::mapFromParent(class QPoint const &) const
+ ??0QStyleOptionQ3DockWindow@@QAE@XZ @ 6161 NONAME ; QStyleOptionQ3DockWindow::QStyleOptionQ3DockWindow(void)
+ ?setTotalRotationAngle@QPinchGesture@@QAEXM@Z @ 6162 NONAME ; void QPinchGesture::setTotalRotationAngle(float)
+ ?midTangent@QBezier@@QBE?AVQLineF@@XZ @ 6163 NONAME ; class QLineF QBezier::midTangent(void) const
+ ?documentChanged@QPlainTextDocumentLayout@@MAEXHHH@Z @ 6164 NONAME ; void QPlainTextDocumentLayout::documentChanged(int, int, int)
+ ?listWidget@QListWidgetItem@@QBEPAVQListWidget@@XZ @ 6165 NONAME ; class QListWidget * QListWidgetItem::listWidget(void) const
+ ?isObscuredBy@QGraphicsItem@@UBE_NPBV1@@Z @ 6166 NONAME ; bool QGraphicsItem::isObscuredBy(class QGraphicsItem const *) const
+ ?navigateToDirection@QWidgetPrivate@@SA_NW4Direction@1@@Z @ 6167 NONAME ; bool QWidgetPrivate::navigateToDirection(enum QWidgetPrivate::Direction)
+ ?translate@QRegion@@QAEXHH@Z @ 6168 NONAME ; void QRegion::translate(int, int)
+ ?setCurrentSection@QDateTimeEdit@@QAEXW4Section@1@@Z @ 6169 NONAME ; void QDateTimeEdit::setCurrentSection(enum QDateTimeEdit::Section)
+ ?tr@QMenuBar@@SA?AVQString@@PBD0@Z @ 6170 NONAME ; class QString QMenuBar::tr(char const *, char const *)
+ ?setRootIsDecorated@QTreeView@@QAEX_N@Z @ 6171 NONAME ; void QTreeView::setRootIsDecorated(bool)
+ ?qt_metacall@QGraphicsGrayscaleEffect@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 6172 NONAME ABSENT ; int QGraphicsGrayscaleEffect::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?worldMatrixEnabled@QPainter@@QBE_NXZ @ 6173 NONAME ; bool QPainter::worldMatrixEnabled(void) const
+ ??0iterator@QTextBlock@@AAE@PBVQTextDocumentPrivate@@HHH@Z @ 6174 NONAME ; QTextBlock::iterator::iterator(class QTextDocumentPrivate const *, int, int, int)
+ ?isValid@QTextTableCell@@QBE_NXZ @ 6175 NONAME ; bool QTextTableCell::isValid(void) const
+ ?modelColumn@QComboBox@@QBEHXZ @ 6176 NONAME ; int QComboBox::modelColumn(void) const
+ ?getStaticMetaObject@QDateEdit@@SAABUQMetaObject@@XZ @ 6177 NONAME ; struct QMetaObject const & QDateEdit::getStaticMetaObject(void)
+ ?error@QImageReader@@QBE?AW4ImageReaderError@1@XZ @ 6178 NONAME ; enum QImageReader::ImageReaderError QImageReader::error(void) const
+ ?d_func@QDial@@ABEPBVQDialPrivate@@XZ @ 6179 NONAME ; class QDialPrivate const * QDial::d_func(void) const
+ ?indent@QLabel@@QBEHXZ @ 6180 NONAME ; int QLabel::indent(void) const
+ ?metaObject@QApplication@@UBEPBUQMetaObject@@XZ @ 6181 NONAME ; struct QMetaObject const * QApplication::metaObject(void) const
+ ?startAutoScroll@QAbstractItemView@@IAEXXZ @ 6182 NONAME ; void QAbstractItemView::startAutoScroll(void)
+ ?addTab@QTabWidget@@QAEHPAVQWidget@@ABVQIcon@@ABVQString@@@Z @ 6183 NONAME ; int QTabWidget::addTab(class QWidget *, class QIcon const &, class QString const &)
+ ?d_func@QSizeGrip@@AAEPAVQSizeGripPrivate@@XZ @ 6184 NONAME ; class QSizeGripPrivate * QSizeGrip::d_func(void)
+ ?staticMetaObject@QPalette@@2UQMetaObject@@B @ 6185 NONAME ; struct QMetaObject const QPalette::staticMetaObject
+ ??_0QMatrix4x4@@QAEAAV0@M@Z @ 6186 NONAME ; class QMatrix4x4 & QMatrix4x4::operator/=(float)
+ ?scrollToItem@QTreeWidget@@QAEXPBVQTreeWidgetItem@@W4ScrollHint@QAbstractItemView@@@Z @ 6187 NONAME ; void QTreeWidget::scrollToItem(class QTreeWidgetItem const *, enum QAbstractItemView::ScrollHint)
+ ?type@QFileSystemModel@@QBE?AVQString@@ABVQModelIndex@@@Z @ 6188 NONAME ; class QString QFileSystemModel::type(class QModelIndex const &) const
+ ?setPen@QPainter@@QAEXABVQPen@@@Z @ 6189 NONAME ; void QPainter::setPen(class QPen const &)
+ ?isMove@QWidgetResizeHandler@@ABE_NXZ @ 6190 NONAME ; bool QWidgetResizeHandler::isMove(void) const
+ ??4QStyleOptionViewItemV4@@QAEAAV0@ABVQStyleOptionViewItem@@@Z @ 6191 NONAME ; class QStyleOptionViewItemV4 & QStyleOptionViewItemV4::operator=(class QStyleOptionViewItem const &)
+ ?addRow@QFormLayout@@QAEXPAVQWidget@@@Z @ 6192 NONAME ; void QFormLayout::addRow(class QWidget *)
+ ?event@QTreeWidget@@MAE_NPAVQEvent@@@Z @ 6193 NONAME ; bool QTreeWidget::event(class QEvent *)
+ ?qt_metacall@QDial@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 6194 NONAME ; int QDial::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ??0QStyleOptionTabV3@@QAE@ABV0@@Z @ 6195 NONAME ; QStyleOptionTabV3::QStyleOptionTabV3(class QStyleOptionTabV3 const &)
+ ?q_func@QWidgetPrivate@@AAEPAVQWidget@@XZ @ 6196 NONAME ; class QWidget * QWidgetPrivate::q_func(void)
+ ?qt_metacall@QHeaderView@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 6197 NONAME ; int QHeaderView::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?columnViewportPosition@QTreeView@@QBEHH@Z @ 6198 NONAME ; int QTreeView::columnViewportPosition(int) const
+ ?symbianProcessEvent@QApplication@@QAEHPBVQSymbianEvent@@@Z @ 6199 NONAME ; int QApplication::symbianProcessEvent(class QSymbianEvent const *)
+ ?d_func@QProgressBar@@ABEPBVQProgressBarPrivate@@XZ @ 6200 NONAME ; class QProgressBarPrivate const * QProgressBar::d_func(void) const
+ ?qt_metacast@QMenuBar@@UAEPAXPBD@Z @ 6201 NONAME ; void * QMenuBar::qt_metacast(char const *)
+ ?uniqueId@QTabletEvent@@QBE_JXZ @ 6202 NONAME ; long long QTabletEvent::uniqueId(void) const
+ ??0QStyleOptionTabWidgetFrame@@QAE@XZ @ 6203 NONAME ; QStyleOptionTabWidgetFrame::QStyleOptionTabWidgetFrame(void)
+ ?textureImage@QBrush@@QBE?AVQImage@@XZ @ 6204 NONAME ; class QImage QBrush::textureImage(void) const
+ ?setActivationOrder@QMdiArea@@QAEXW4WindowOrder@1@@Z @ 6205 NONAME ; void QMdiArea::setActivationOrder(enum QMdiArea::WindowOrder)
+ ?event@QApplication@@MAE_NPAVQEvent@@@Z @ 6206 NONAME ; bool QApplication::event(class QEvent *)
+ ?hasHeightForWidth@QFormLayout@@UBE_NXZ @ 6207 NONAME ; bool QFormLayout::hasHeightForWidth(void) const
+ ?qt_metacast@QToolButton@@UAEPAXPBD@Z @ 6208 NONAME ; void * QToolButton::qt_metacast(char const *)
+ ?dragMoveEvent@QGraphicsScene@@MAEXPAVQGraphicsSceneDragDropEvent@@@Z @ 6209 NONAME ; void QGraphicsScene::dragMoveEvent(class QGraphicsSceneDragDropEvent *)
+ ?fromRgb@QColor@@SA?AV1@I@Z @ 6210 NONAME ; class QColor QColor::fromRgb(unsigned int)
+ ?text@QImage@@QBE?AVQString@@PBD0@Z @ 6211 NONAME ; class QString QImage::text(char const *, char const *) const
+ ?blackF@QColor@@QBEMXZ @ 6212 NONAME ; float QColor::blackF(void) const
+ ??_EQProgressDialog@@UAE@I@Z @ 6213 NONAME ; QProgressDialog::~QProgressDialog(unsigned int)
+ ?isRedoAvailable@QLineControl@@QBE_NXZ @ 6214 NONAME ; bool QLineControl::isRedoAvailable(void) const
+ ?metaObject@QFileSystemModel@@UBEPBUQMetaObject@@XZ @ 6215 NONAME ; struct QMetaObject const * QFileSystemModel::metaObject(void) const
+ ?outputFormatList@QPicture@@SA?AVQStringList@@XZ @ 6216 NONAME ; class QStringList QPicture::outputFormatList(void)
+ ??D@YA?AVQPolygonF@@ABV0@ABVQMatrix@@@Z @ 6217 NONAME ; class QPolygonF operator*(class QPolygonF const &, class QMatrix const &)
+ ?setSelectionBehaviorOnRemove@QTabBar@@QAEXW4SelectionBehavior@1@@Z @ 6218 NONAME ; void QTabBar::setSelectionBehaviorOnRemove(enum QTabBar::SelectionBehavior)
+ ?setItemDelegate@QFileDialog@@QAEXPAVQAbstractItemDelegate@@@Z @ 6219 NONAME ; void QFileDialog::setItemDelegate(class QAbstractItemDelegate *)
+ ?deleteTLSysExtra@QWidgetPrivate@@QAEXXZ @ 6220 NONAME ; void QWidgetPrivate::deleteTLSysExtra(void)
+ ?magenta@QColor@@QBEHXZ @ 6221 NONAME ; int QColor::magenta(void) const
+ ?move@QWidget@@QAEXHH@Z @ 6222 NONAME ; void QWidget::move(int, int)
+ ?setScaledSize@QImageReader@@QAEXABVQSize@@@Z @ 6223 NONAME ; void QImageReader::setScaledSize(class QSize const &)
+ ?setItemData@QComboBox@@QAEXHABVQVariant@@H@Z @ 6224 NONAME ; void QComboBox::setItemData(int, class QVariant const &, int)
+ ?drawBackground@QItemDelegate@@IBEXPAVQPainter@@ABVQStyleOptionViewItem@@ABVQModelIndex@@@Z @ 6225 NONAME ; void QItemDelegate::drawBackground(class QPainter *, class QStyleOptionViewItem const &, class QModelIndex const &) const
+ ?nodeIds@StyleSelector@QCss@@UBE?AVQStringList@@TNodePtr@12@@Z @ 6226 NONAME ; class QStringList QCss::StyleSelector::nodeIds(union QCss::StyleSelector::NodePtr) const
+ ?statusTip@QAction@@QBE?AVQString@@XZ @ 6227 NONAME ; class QString QAction::statusTip(void) const
+ ?font@QTextCharFormat@@QBE?AVQFont@@XZ @ 6228 NONAME ; class QFont QTextCharFormat::font(void) const
+ ?setClipRegion@QPainter@@QAEXABVQRegion@@W4ClipOperation@Qt@@@Z @ 6229 NONAME ; void QPainter::setClipRegion(class QRegion const &, enum Qt::ClipOperation)
+ ??0QFormLayout@@QAE@PAVQWidget@@@Z @ 6230 NONAME ; QFormLayout::QFormLayout(class QWidget *)
+ ?drawTiledPixmap@QPaintEngine@@UAEXABVQRectF@@ABVQPixmap@@ABVQPointF@@@Z @ 6231 NONAME ; void QPaintEngine::drawTiledPixmap(class QRectF const &, class QPixmap const &, class QPointF const &)
+ ??1QTextOption@@QAE@XZ @ 6232 NONAME ; QTextOption::~QTextOption(void)
+ ?tr@QWindowsStyle@@SA?AVQString@@PBD0H@Z @ 6233 NONAME ; class QString QWindowsStyle::tr(char const *, char const *, int)
+ ?elidedText@QAbstractItemDelegate@@SA?AVQString@@ABVQFontMetrics@@HW4TextElideMode@Qt@@ABV2@@Z @ 6234 NONAME ; class QString QAbstractItemDelegate::elidedText(class QFontMetrics const &, int, enum Qt::TextElideMode, class QString const &)
+ ?activatePreviousWindow@QWorkspace@@QAEXXZ @ 6235 NONAME ; void QWorkspace::activatePreviousWindow(void)
+ ??_EQSizeGrip@@UAE@I@Z @ 6236 NONAME ; QSizeGrip::~QSizeGrip(unsigned int)
+ ?subControlRect@QS60Style@@UBE?AVQRect@@W4ComplexControl@QStyle@@PBVQStyleOptionComplex@@W4SubControl@4@PBVQWidget@@@Z @ 6237 NONAME ; class QRect QS60Style::subControlRect(enum QStyle::ComplexControl, class QStyleOptionComplex const *, enum QStyle::SubControl, class QWidget const *) const
+ ?qt_metacast@QIconEnginePluginV2@@UAEPAXPBD@Z @ 6238 NONAME ; void * QIconEnginePluginV2::qt_metacast(char const *)
+ ??0QVector3D@@QAE@XZ @ 6239 NONAME ; QVector3D::QVector3D(void)
+ ??_EQListView@@UAE@I@Z @ 6240 NONAME ; QListView::~QListView(unsigned int)
+ ?sizeHint@QDialog@@UBE?AVQSize@@XZ @ 6241 NONAME ; class QSize QDialog::sizeHint(void) const
+ ?setScrollBarsEnabled@QWorkspace@@QAEX_N@Z @ 6242 NONAME ; void QWorkspace::setScrollBarsEnabled(bool)
+ ?brushNeedsResolving@QPaintEngineState@@QBE_NXZ @ 6243 NONAME ; bool QPaintEngineState::brushNeedsResolving(void) const
+ ?executeDelayedItemsLayout@QAbstractItemView@@IAEXXZ @ 6244 NONAME ; void QAbstractItemView::executeDelayedItemsLayout(void)
+ ?keyPressEvent@QAbstractScrollArea@@MAEXPAVQKeyEvent@@@Z @ 6245 NONAME ; void QAbstractScrollArea::keyPressEvent(class QKeyEvent *)
+ ?z@QTabletEvent@@QBEHXZ @ 6246 NONAME ; int QTabletEvent::z(void) const
+ ?setAutoFillBackground@QWidget@@QAEX_N@Z @ 6247 NONAME ; void QWidget::setAutoFillBackground(bool)
+ ?firstPosition@QTextTableCell@@QBEHXZ @ 6248 NONAME ; int QTextTableCell::firstPosition(void) const
+ ?numDigits@QLCDNumber@@QBEHXZ @ 6249 NONAME ; int QLCDNumber::numDigits(void) const
+ ?setZScale@QGraphicsScale@@QAEXM@Z @ 6250 NONAME ; void QGraphicsScale::setZScale(float)
+ ?setCurrentColorGroup@QPalette@@QAEXW4ColorGroup@1@@Z @ 6251 NONAME ; void QPalette::setCurrentColorGroup(enum QPalette::ColorGroup)
+ ?type@QGraphicsTextItem@@UBEHXZ @ 6252 NONAME ; int QGraphicsTextItem::type(void) const
+ ?insertPolicy@QComboBox@@QBE?AW4InsertPolicy@1@XZ @ 6253 NONAME ; enum QComboBox::InsertPolicy QComboBox::insertPolicy(void) const
+ ?isValidCursorPosition@QTextLayout@@QBE_NH@Z @ 6254 NONAME ; bool QTextLayout::isValidCursorPosition(int) const
+ ?centerCursor@QPlainTextEdit@@QAEXXZ @ 6255 NONAME ; void QPlainTextEdit::centerCursor(void)
+ ?sectionViewportPosition@QHeaderView@@QBEHH@Z @ 6256 NONAME ; int QHeaderView::sectionViewportPosition(int) const
+ ?toolTip@QListWidgetItem@@QBE?AVQString@@XZ @ 6257 NONAME ; class QString QListWidgetItem::toolTip(void) const
+ ?setLastRotationAngle@QPinchGesture@@QAEXM@Z @ 6258 NONAME ; void QPinchGesture::setLastRotationAngle(float)
+ ??0QApplication@@QAE@AAHPAPADW4Type@0@H@Z @ 6259 NONAME ; QApplication::QApplication(int &, char * *, enum QApplication::Type, int)
+ ?setValue@QProgressDialog@@QAEXH@Z @ 6260 NONAME ; void QProgressDialog::setValue(int)
+ ?metaObject@QSizeGrip@@UBEPBUQMetaObject@@XZ @ 6261 NONAME ; struct QMetaObject const * QSizeGrip::metaObject(void) const
+ ?staticMetaObject@QUndoGroup@@2UQMetaObject@@B @ 6262 NONAME ; struct QMetaObject const QUndoGroup::staticMetaObject
+ ?setFeatures@QDockWidget@@QAEXV?$QFlags@W4DockWidgetFeature@QDockWidget@@@@@Z @ 6263 NONAME ; void QDockWidget::setFeatures(class QFlags<enum QDockWidget::DockWidgetFeature>)
+ ?setNum@QLabel@@QAEXH@Z @ 6264 NONAME ; void QLabel::setNum(int)
+ ?foreground@QListWidgetItem@@QBE?AVQBrush@@XZ @ 6265 NONAME ; class QBrush QListWidgetItem::foreground(void) const
+ ??0QBrush@@QAE@ABVQColor@@ABVQPixmap@@@Z @ 6266 NONAME ; QBrush::QBrush(class QColor const &, class QPixmap const &)
+ ?setUseDesignMetrics@QTextDocument@@QAEX_N@Z @ 6267 NONAME ; void QTextDocument::setUseDesignMetrics(bool)
+ ?setFont@QListWidgetItem@@QAEXABVQFont@@@Z @ 6268 NONAME ; void QListWidgetItem::setFont(class QFont const &)
+ ?toolTipText@QPalette@@QBEABVQBrush@@XZ @ 6269 NONAME ; class QBrush const & QPalette::toolTipText(void) const
+ ?qt_metacast@QGraphicsEffect@@UAEPAXPBD@Z @ 6270 NONAME ; void * QGraphicsEffect::qt_metacast(char const *)
+ ?filterCaseSensitivity@QSortFilterProxyModel@@QBE?AW4CaseSensitivity@Qt@@XZ @ 6271 NONAME ; enum Qt::CaseSensitivity QSortFilterProxyModel::filterCaseSensitivity(void) const
+ ?qt_metacall@QEventDispatcherS60@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 6272 NONAME ; int QEventDispatcherS60::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?drawPolygon@QPaintEngineEx@@UAEXPBVQPoint@@HW4PolygonDrawMode@QPaintEngine@@@Z @ 6273 NONAME ; void QPaintEngineEx::drawPolygon(class QPoint const *, int, enum QPaintEngine::PolygonDrawMode)
+ ?minimumSizeHint@QMdiSubWindow@@UBE?AVQSize@@XZ @ 6274 NONAME ; class QSize QMdiSubWindow::minimumSizeHint(void) const
+ ??0QStyleOptionViewItemV2@@QAE@ABV0@@Z @ 6275 NONAME ; QStyleOptionViewItemV2::QStyleOptionViewItemV2(class QStyleOptionViewItemV2 const &)
+ ?canRedo@QUndoGroup@@QBE_NXZ @ 6276 NONAME ; bool QUndoGroup::canRedo(void) const
+ ?extension@QGraphicsItem@@MBE?AVQVariant@@ABV2@@Z @ 6277 NONAME ; class QVariant QGraphicsItem::extension(class QVariant const &) const
+ ?moveCursor@QTableView@@MAE?AVQModelIndex@@W4CursorAction@QAbstractItemView@@V?$QFlags@W4KeyboardModifier@Qt@@@@@Z @ 6278 NONAME ; class QModelIndex QTableView::moveCursor(enum QAbstractItemView::CursorAction, class QFlags<enum Qt::KeyboardModifier>)
+ ??6@YAAAVQDataStream@@AAV0@ABVQPolygonF@@@Z @ 6279 NONAME ; class QDataStream & operator<<(class QDataStream &, class QPolygonF const &)
+ ??0QGroupBox@@QAE@PAVQWidget@@@Z @ 6280 NONAME ; QGroupBox::QGroupBox(class QWidget *)
+ ?tr@QPlainTextEdit@@SA?AVQString@@PBD0H@Z @ 6281 NONAME ; class QString QPlainTextEdit::tr(char const *, char const *, int)
+ ?testTokenAndEndsWith@Parser@QCss@@QAE_NW4TokenType@2@ABVQLatin1String@@@Z @ 6282 NONAME ; bool QCss::Parser::testTokenAndEndsWith(enum QCss::TokenType, class QLatin1String const &)
+ ??_EQSlider@@UAE@I@Z @ 6283 NONAME ; QSlider::~QSlider(unsigned int)
+ ?platformHint@QGuiPlatformPlugin@@UAEHW4PlatformHint@1@@Z @ 6284 NONAME ; int QGuiPlatformPlugin::platformHint(enum QGuiPlatformPlugin::PlatformHint)
+ ?actions@QGraphicsWidget@@QBE?AV?$QList@PAVQAction@@@@XZ @ 6285 NONAME ; class QList<class QAction *> QGraphicsWidget::actions(void) const
+ ?setItemSpacing@QGraphicsLinearLayout@@QAEXHM@Z @ 6286 NONAME ; void QGraphicsLinearLayout::setItemSpacing(int, float)
+ ?itemPressed@QTableWidget@@IAEXPAVQTableWidgetItem@@@Z @ 6287 NONAME ; void QTableWidget::itemPressed(class QTableWidgetItem *)
+ ?lineWrapMode@QPlainTextEdit@@QBE?AW4LineWrapMode@1@XZ @ 6288 NONAME ; enum QPlainTextEdit::LineWrapMode QPlainTextEdit::lineWrapMode(void) const
+ ?menuAction@QMenu@@QBEPAVQAction@@XZ @ 6289 NONAME ; class QAction * QMenu::menuAction(void) const
+ ?cursorForward@QLineControl@@QAEX_NH@Z @ 6290 NONAME ; void QLineControl::cursorForward(bool, int)
+ ?setMinimumHeight@QWidget@@QAEXH@Z @ 6291 NONAME ; void QWidget::setMinimumHeight(int)
+ ?tr@QPixmapDropShadowFilter@@SA?AVQString@@PBD0H@Z @ 6292 NONAME ; class QString QPixmapDropShadowFilter::tr(char const *, char const *, int)
+ ?setButton@QMouseEventTransition@@QAEXW4MouseButton@Qt@@@Z @ 6293 NONAME ; void QMouseEventTransition::setButton(enum Qt::MouseButton)
+ ?setRow@QMatrix4x4@@QAEXHABVQVector4D@@@Z @ 6294 NONAME ; void QMatrix4x4::setRow(int, class QVector4D const &)
+ ?insertFrame@QTextCursor@@QAEPAVQTextFrame@@ABVQTextFrameFormat@@@Z @ 6295 NONAME ; class QTextFrame * QTextCursor::insertFrame(class QTextFrameFormat const &)
+ ?selectAll@QPlainTextEdit@@QAEXXZ @ 6296 NONAME ; void QPlainTextEdit::selectAll(void)
+ ??0QIconDragEvent@@QAE@XZ @ 6297 NONAME ; QIconDragEvent::QIconDragEvent(void)
+ ??1QTextFrame@@UAE@XZ @ 6298 NONAME ; QTextFrame::~QTextFrame(void)
+ ??_6QRegion@@QAEAAV0@ABV0@@Z @ 6299 NONAME ; class QRegion & QRegion::operator^=(class QRegion const &)
+ ?copy@QTextEdit@@QAEXXZ @ 6300 NONAME ; void QTextEdit::copy(void)
+ ?setRenderHint@QGraphicsView@@QAEXW4RenderHint@QPainter@@_N@Z @ 6301 NONAME ; void QGraphicsView::setRenderHint(enum QPainter::RenderHint, bool)
+ ?secondDerivedAt@QBezier@@QBE?AVQPointF@@M@Z @ 6302 NONAME ; class QPointF QBezier::secondDerivedAt(float) const
+ ?done@QErrorMessage@@MAEXH@Z @ 6303 NONAME ; void QErrorMessage::done(int)
+ ?fileDialogSelectedFiles@QGuiPlatformPlugin@@UBE?AVQStringList@@PBVQFileDialog@@@Z @ 6304 NONAME ; class QStringList QGuiPlatformPlugin::fileDialogSelectedFiles(class QFileDialog const *) const
+ ?splitCell@QTextTable@@QAEXHHHH@Z @ 6305 NONAME ; void QTextTable::splitCell(int, int, int, int)
+ ?sizeHint@QFrame@@UBE?AVQSize@@XZ @ 6306 NONAME ; class QSize QFrame::sizeHint(void) const
+ ?itemChanged@QTreeWidget@@IAEXPAVQTreeWidgetItem@@H@Z @ 6307 NONAME ; void QTreeWidget::itemChanged(class QTreeWidgetItem *, int)
+ ?getHsvF@QColor@@QBEXPAM000@Z @ 6308 NONAME ; void QColor::getHsvF(float *, float *, float *, float *) const
+ ??0QPaintBuffer@@QAE@XZ @ 6309 NONAME ; QPaintBuffer::QPaintBuffer(void)
+ ?adjustedSize@QWidgetPrivate@@QBE?AVQSize@@XZ @ 6310 NONAME ; class QSize QWidgetPrivate::adjustedSize(void) const
+ ?rect@QTextInlineObject@@QBE?AVQRectF@@XZ @ 6311 NONAME ; class QRectF QTextInlineObject::rect(void) const
+ ?contentsRect@QLayout@@QBE?AVQRect@@XZ @ 6312 NONAME ; class QRect QLayout::contentsRect(void) const
+ ?itemEntered@QTableWidget@@IAEXPAVQTableWidgetItem@@@Z @ 6313 NONAME ; void QTableWidget::itemEntered(class QTableWidgetItem *)
+ ?cleanChanged@QUndoGroup@@IAEX_N@Z @ 6314 NONAME ; void QUndoGroup::cleanChanged(bool)
+ ?getStaticMetaObject@QPixmapFilter@@SAABUQMetaObject@@XZ @ 6315 NONAME ; struct QMetaObject const & QPixmapFilter::getStaticMetaObject(void)
+ ??0QMatrix4x4@@QAE@ABVQMatrix@@@Z @ 6316 NONAME ; QMatrix4x4::QMatrix4x4(class QMatrix const &)
+ ?setSeparator@QAction@@QAEX_N@Z @ 6317 NONAME ; void QAction::setSeparator(bool)
+ ?setFormat@QTextTableCell@@QAEXABVQTextCharFormat@@@Z @ 6318 NONAME ; void QTextTableCell::setFormat(class QTextCharFormat const &)
+ ??RQMatrix4x4@@QAEAAMHH@Z @ 6319 NONAME ; float & QMatrix4x4::operator()(int, int)
+ ?moveEvent@QWidget@@MAEXPAVQMoveEvent@@@Z @ 6320 NONAME ; void QWidget::moveEvent(class QMoveEvent *)
+ ?home@QTextBrowser@@UAEXXZ @ 6321 NONAME ; void QTextBrowser::home(void)
+ ?inputMethodHints@QWidget@@QBE?AV?$QFlags@W4InputMethodHint@Qt@@@@XZ @ 6322 NONAME ; class QFlags<enum Qt::InputMethodHint> QWidget::inputMethodHints(void) const
+ ?qt_metacall@QIconEnginePlugin@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 6323 NONAME ; int QIconEnginePlugin::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?isFirstColumnSpanned@QTreeView@@QBE_NHABVQModelIndex@@@Z @ 6324 NONAME ; bool QTreeView::isFirstColumnSpanned(int, class QModelIndex const &) const
+ ??_EQGraphicsAnchorLayout@@UAE@I@Z @ 6325 NONAME ; QGraphicsAnchorLayout::~QGraphicsAnchorLayout(unsigned int)
+ ?nativeModifiers@QKeyEvent@@QBEIXZ @ 6326 NONAME ; unsigned int QKeyEvent::nativeModifiers(void) const
+ ?resized@QMovie@@IAEXABVQSize@@@Z @ 6327 NONAME ; void QMovie::resized(class QSize const &)
+ ?removeItem@QTextList@@QAEXH@Z @ 6328 NONAME ; void QTextList::removeItem(int)
+ ??0QSizePolicy@@AAE@H@Z @ 6329 NONAME ; QSizePolicy::QSizePolicy(int)
+ ?addPolygon@QGraphicsScene@@QAEPAVQGraphicsPolygonItem@@ABVQPolygonF@@ABVQPen@@ABVQBrush@@@Z @ 6330 NONAME ; class QGraphicsPolygonItem * QGraphicsScene::addPolygon(class QPolygonF const &, class QPen const &, class QBrush const &)
+ ?fetchMore@QFileSystemModel@@UAEXABVQModelIndex@@@Z @ 6331 NONAME ; void QFileSystemModel::fetchMore(class QModelIndex const &)
+ ?obey_desktop_settings@QApplicationPrivate@@2_NA @ 6332 NONAME ; bool QApplicationPrivate::obey_desktop_settings
+ ?setTabEnabled@QTabWidget@@QAEXH_N@Z @ 6333 NONAME ; void QTabWidget::setTabEnabled(int, bool)
+ ?addItem@QComboBox@@QAEXABVQIcon@@ABVQString@@ABVQVariant@@@Z @ 6334 NONAME ; void QComboBox::addItem(class QIcon const &, class QString const &, class QVariant const &)
+ ?minimumSize@QBoxLayout@@UBE?AVQSize@@XZ @ 6335 NONAME ; class QSize QBoxLayout::minimumSize(void) const
+ ??0QLayoutPrivate@@QAE@XZ @ 6336 NONAME ; QLayoutPrivate::QLayoutPrivate(void)
+ ??9QFontMetricsF@@QBE_NABV0@@Z @ 6337 NONAME ; bool QFontMetricsF::operator!=(class QFontMetricsF const &) const
+ ?copy@QLineControl@@QBEXW4Mode@QClipboard@@@Z @ 6338 NONAME ; void QLineControl::copy(enum QClipboard::Mode) const
+ ?getStaticMetaObject@QGraphicsEffectSource@@SAABUQMetaObject@@XZ @ 6339 NONAME ; struct QMetaObject const & QGraphicsEffectSource::getStaticMetaObject(void)
+ ?setDateRange@QDateTimeEdit@@QAEXABVQDate@@0@Z @ 6340 NONAME ; void QDateTimeEdit::setDateRange(class QDate const &, class QDate const &)
+ ??0QPolygonF@@QAE@ABVQRectF@@@Z @ 6341 NONAME ; QPolygonF::QPolygonF(class QRectF const &)
+ ??1QPictureIO@@QAE@XZ @ 6342 NONAME ; QPictureIO::~QPictureIO(void)
+ ?physicalDpiX@QPaintDevice@@QBEHXZ @ 6343 NONAME ; int QPaintDevice::physicalDpiX(void) const
+ ?complete@QCompleter@@QAEXABVQRect@@@Z @ 6344 NONAME ; void QCompleter::complete(class QRect const &)
+ ?getStaticMetaObject@QSlider@@SAABUQMetaObject@@XZ @ 6345 NONAME ; struct QMetaObject const & QSlider::getStaticMetaObject(void)
+ ?tr@QFocusFrame@@SA?AVQString@@PBD0@Z @ 6346 NONAME ; class QString QFocusFrame::tr(char const *, char const *)
+ ?setBackgroundColor@QListWidgetItem@@UAEXABVQColor@@@Z @ 6347 NONAME ; void QListWidgetItem::setBackgroundColor(class QColor const &)
+ ?setStrength@QGraphicsColorizeEffect@@QAEXM@Z @ 6348 NONAME ; void QGraphicsColorizeEffect::setStrength(float)
+ ?allGestures@QGestureEvent@@QBE?AV?$QList@PAVQGesture@@@@XZ @ 6349 NONAME ; class QList<class QGesture *> QGestureEvent::allGestures(void) const
+ ?setCacheMode@QMovie@@QAEXW4CacheMode@1@@Z @ 6350 NONAME ; void QMovie::setCacheMode(enum QMovie::CacheMode)
+ ?setAlignment@QProgressBar@@QAEXV?$QFlags@W4AlignmentFlag@Qt@@@@@Z @ 6351 NONAME ; void QProgressBar::setAlignment(class QFlags<enum Qt::AlignmentFlag>)
+ ?model@QComboBox@@QBEPAVQAbstractItemModel@@XZ @ 6352 NONAME ; class QAbstractItemModel * QComboBox::model(void) const
+ ?checkedButton@QButtonGroup@@QBEPAVQAbstractButton@@XZ @ 6353 NONAME ; class QAbstractButton * QButtonGroup::checkedButton(void) const
+ ?tr@QUndoGroup@@SA?AVQString@@PBD0H@Z @ 6354 NONAME ; class QString QUndoGroup::tr(char const *, char const *, int)
+ ??0QTransform@@QAE@MMMMMM@Z @ 6355 NONAME ; QTransform::QTransform(float, float, float, float, float, float)
+ ?qt_metacast@QTreeView@@UAEPAXPBD@Z @ 6356 NONAME ; void * QTreeView::qt_metacast(char const *)
+ ?d_func@QAbstractSlider@@ABEPBVQAbstractSliderPrivate@@XZ @ 6357 NONAME ; class QAbstractSliderPrivate const * QAbstractSlider::d_func(void) const
+ ?isFloatable@QToolBar@@QBE_NXZ @ 6358 NONAME ; bool QToolBar::isFloatable(void) const
+ ?inferSpecialType@QMatrix4x4@@QAEXXZ @ 6359 NONAME ; void QMatrix4x4::inferSpecialType(void)
+ ?faceId@QFontEngine@@UBE?AUFaceId@1@XZ @ 6360 NONAME ; struct QFontEngine::FaceId QFontEngine::faceId(void) const
+ ?mouseReleaseEvent@QTextEdit@@MAEXPAVQMouseEvent@@@Z @ 6361 NONAME ; void QTextEdit::mouseReleaseEvent(class QMouseEvent *)
+ ?registerField@QWizardPage@@IAEXABVQString@@PAVQWidget@@PBD2@Z @ 6362 NONAME ; void QWizardPage::registerField(class QString const &, class QWidget *, char const *, char const *)
+ ?d_func@QGraphicsItemGroup@@ABEPBVQGraphicsItemGroupPrivate@@XZ @ 6363 NONAME ; class QGraphicsItemGroupPrivate const * QGraphicsItemGroup::d_func(void) const
+ ?firstCursorPosition@QTextFrame@@QBE?AVQTextCursor@@XZ @ 6364 NONAME ; class QTextCursor QTextFrame::firstCursorPosition(void) const
+ ??0QTextBlockGroup@@IAE@AAVQTextBlockGroupPrivate@@PAVQTextDocument@@@Z @ 6365 NONAME ; QTextBlockGroup::QTextBlockGroup(class QTextBlockGroupPrivate &, class QTextDocument *)
+ ?iconPixmap@QMessageBox@@QBE?AVQPixmap@@XZ @ 6366 NONAME ; class QPixmap QMessageBox::iconPixmap(void) const
+ ?sortColumn@QSortFilterProxyModel@@QBEHXZ @ 6367 NONAME ; int QSortFilterProxyModel::sortColumn(void) const
+ ?setValue@QSpinBox@@QAEXH@Z @ 6368 NONAME ; void QSpinBox::setValue(int)
+ ?setTableCellRowSpan@QTextCharFormat@@QAEXH@Z @ 6369 NONAME ; void QTextCharFormat::setTableCellRowSpan(int)
+ ?polish@QS60Style@@UAEXPAVQWidget@@@Z @ 6370 NONAME ; void QS60Style::polish(class QWidget *)
+ ?cursorPosition@QLineControl@@QBEHXZ @ 6371 NONAME ; int QLineControl::cursorPosition(void) const
+ ?setCheckable@QGroupBox@@QAEX_N@Z @ 6372 NONAME ; void QGroupBox::setCheckable(bool)
+ ?isCosmetic@QPen@@QBE_NXZ @ 6373 NONAME ; bool QPen::isCosmetic(void) const
+ ?opacityChanged@QGraphicsObject@@IAEXXZ @ 6374 NONAME ; void QGraphicsObject::opacityChanged(void)
+ ?hideEvent@QComboBox@@MAEXPAVQHideEvent@@@Z @ 6375 NONAME ; void QComboBox::hideEvent(class QHideEvent *)
+ ?setWidget@QFormLayout@@QAEXHW4ItemRole@1@PAVQWidget@@@Z @ 6376 NONAME ; void QFormLayout::setWidget(int, enum QFormLayout::ItemRole, class QWidget *)
+ ??0QStyleOptionFrame@@IAE@H@Z @ 6377 NONAME ; QStyleOptionFrame::QStyleOptionFrame(int)
+ ?tr@QLayout@@SA?AVQString@@PBD0@Z @ 6378 NONAME ; class QString QLayout::tr(char const *, char const *)
+ ?tr@QVBoxLayout@@SA?AVQString@@PBD0H@Z @ 6379 NONAME ; class QString QVBoxLayout::tr(char const *, char const *, int)
+ ?sortByColumn@QTreeView@@QAEXH@Z @ 6380 NONAME ; void QTreeView::sortByColumn(int)
+ ?tr@QPixmapBlurFilter@@SA?AVQString@@PBD0@Z @ 6381 NONAME ; class QString QPixmapBlurFilter::tr(char const *, char const *)
+ ?processEvents@QEventDispatcherS60@@UAE_NV?$QFlags@W4ProcessEventsFlag@QEventLoop@@@@@Z @ 6382 NONAME ; bool QEventDispatcherS60::processEvents(class QFlags<enum QEventLoop::ProcessEventsFlag>)
+ ?bottom@QItemSelectionRange@@QBEHXZ @ 6383 NONAME ; int QItemSelectionRange::bottom(void) const
+ ?focusScopeItem@QGraphicsItem@@QBEPAV1@XZ @ 6384 NONAME ; class QGraphicsItem * QGraphicsItem::focusScopeItem(void) const
+ ?staticMetaObject@QToolButton@@2UQMetaObject@@B @ 6385 NONAME ; struct QMetaObject const QToolButton::staticMetaObject
+ ?computeControlPointRect@QPainterPath@@ABEXXZ @ 6386 NONAME ; void QPainterPath::computeControlPointRect(void) const
+ ?eventFilter@QMdiSubWindow@@MAE_NPAVQObject@@PAVQEvent@@@Z @ 6387 NONAME ; bool QMdiSubWindow::eventFilter(class QObject *, class QEvent *)
+ ?setDateTextFormat@QCalendarWidget@@QAEXABVQDate@@ABVQTextCharFormat@@@Z @ 6388 NONAME ; void QCalendarWidget::setDateTextFormat(class QDate const &, class QTextCharFormat const &)
+ ?buttonText@QWizard@@QBE?AVQString@@W4WizardButton@1@@Z @ 6389 NONAME ; class QString QWizard::buttonText(enum QWizard::WizardButton) const
+ ?d_func@QItemSelectionModel@@ABEPBVQItemSelectionModelPrivate@@XZ @ 6390 NONAME ; class QItemSelectionModelPrivate const * QItemSelectionModel::d_func(void) const
+ ??1QWindowSurface@@UAE@XZ @ 6391 NONAME ; QWindowSurface::~QWindowSurface(void)
+ ??0QInputEvent@@QAE@W4Type@QEvent@@V?$QFlags@W4KeyboardModifier@Qt@@@@@Z @ 6392 NONAME ; QInputEvent::QInputEvent(enum QEvent::Type, class QFlags<enum Qt::KeyboardModifier>)
+ ?trUtf8@QGraphicsView@@SA?AVQString@@PBD0H@Z @ 6393 NONAME ; class QString QGraphicsView::trUtf8(char const *, char const *, int)
+ ?globalX@QWheelEvent@@QBEHXZ @ 6394 NONAME ; int QWheelEvent::globalX(void) const
+ ?updateIsOpaque@QWidgetPrivate@@QAEXXZ @ 6395 NONAME ; void QWidgetPrivate::updateIsOpaque(void)
+ ?trUtf8@QFontComboBox@@SA?AVQString@@PBD0H@Z @ 6396 NONAME ; class QString QFontComboBox::trUtf8(char const *, char const *, int)
+ ?event@QProxyStyle@@MAE_NPAVQEvent@@@Z @ 6397 NONAME ; bool QProxyStyle::event(class QEvent *)
+ ??_EQPaintBufferSignalProxy@@UAE@I@Z @ 6398 NONAME ; QPaintBufferSignalProxy::~QPaintBufferSignalProxy(unsigned int)
+ ??0QVBoxLayout@@QAE@PAVQWidget@@@Z @ 6399 NONAME ; QVBoxLayout::QVBoxLayout(class QWidget *)
+ ?isEqual@QPalette@@QBE_NW4ColorGroup@1@0@Z @ 6400 NONAME ; bool QPalette::isEqual(enum QPalette::ColorGroup, enum QPalette::ColorGroup) const
+ ?loadKerningPairs@QFontEngine@@QAEXUQFixed@@@Z @ 6401 NONAME ; void QFontEngine::loadKerningPairs(struct QFixed)
+ ??0QRegion@@QAE@ABVQBitmap@@@Z @ 6402 NONAME ; QRegion::QRegion(class QBitmap const &)
+ ?setColor@QBrush@@QAEXABVQColor@@@Z @ 6403 NONAME ; void QBrush::setColor(class QColor const &)
+ ?setVerticalSpacing@QGraphicsAnchorLayout@@QAEXM@Z @ 6404 NONAME ; void QGraphicsAnchorLayout::setVerticalSpacing(float)
+ ?widgetForAction@QToolBar@@QBEPAVQWidget@@PAVQAction@@@Z @ 6405 NONAME ; class QWidget * QToolBar::widgetForAction(class QAction *) const
+ ?setPos@QGraphicsSceneMouseEvent@@QAEXABVQPointF@@@Z @ 6406 NONAME ; void QGraphicsSceneMouseEvent::setPos(class QPointF const &)
+ ?setSelection@QLineEdit@@QAEXHH@Z @ 6407 NONAME ; void QLineEdit::setSelection(int, int)
+ ?d_func@QGraphicsBloomEffect@@ABEPBVQGraphicsBloomEffectPrivate@@XZ @ 6408 NONAME ABSENT ; class QGraphicsBloomEffectPrivate const * QGraphicsBloomEffect::d_func(void) const
+ ??1QSortFilterProxyModel@@UAE@XZ @ 6409 NONAME ; QSortFilterProxyModel::~QSortFilterProxyModel(void)
+ ??1QTextBrowser@@UAE@XZ @ 6410 NONAME ; QTextBrowser::~QTextBrowser(void)
+ ?maximumViewportSize@QAbstractScrollArea@@QBE?AVQSize@@XZ @ 6411 NONAME ; class QSize QAbstractScrollArea::maximumViewportSize(void) const
+ ??0QActionEvent@@QAE@HPAVQAction@@0@Z @ 6412 NONAME ; QActionEvent::QActionEvent(int, class QAction *, class QAction *)
+ ?isEnabledToTLW@QWidget@@QBE_NXZ @ 6413 NONAME ; bool QWidget::isEnabledToTLW(void) const
+ ?maximumHeight@QGraphicsLayoutItem@@QBEMXZ @ 6414 NONAME ; float QGraphicsLayoutItem::maximumHeight(void) const
+ ?processEvent@QTextControl@@UAEXPAVQEvent@@ABVQMatrix@@PAVQWidget@@@Z @ 6415 NONAME ; void QTextControl::processEvent(class QEvent *, class QMatrix const &, class QWidget *)
+ ?setTabArray@QTextOption@@QAEXV?$QList@M@@@Z @ 6416 NONAME ; void QTextOption::setTabArray(class QList<float>)
+ ?event@QListWidget@@MAE_NPAVQEvent@@@Z @ 6417 NONAME ; bool QListWidget::event(class QEvent *)
+ ?tr@QDoubleValidator@@SA?AVQString@@PBD0@Z @ 6418 NONAME ; class QString QDoubleValidator::tr(char const *, char const *)
+ ?setPoint@QPolygon@@QAEXHABVQPoint@@@Z @ 6419 NONAME ; void QPolygon::setPoint(int, class QPoint const &)
+ ??4QStyleOptionSlider@@QAEAAV0@ABV0@@Z @ 6420 NONAME ; class QStyleOptionSlider & QStyleOptionSlider::operator=(class QStyleOptionSlider const &)
+ ?focusOutEvent@QTextEdit@@MAEXPAVQFocusEvent@@@Z @ 6421 NONAME ; void QTextEdit::focusOutEvent(class QFocusEvent *)
+ ?leaveEvent@QToolButton@@MAEXPAVQEvent@@@Z @ 6422 NONAME ; void QToolButton::leaveEvent(class QEvent *)
+ ?setCursorPosition@QLineControl@@QAEXH@Z @ 6423 NONAME ; void QLineControl::setCursorPosition(int)
+ ??0QStyleOptionQ3ListView@@QAE@ABV0@@Z @ 6424 NONAME ; QStyleOptionQ3ListView::QStyleOptionQ3ListView(class QStyleOptionQ3ListView const &)
+ ?staticMetaObject@QFocusFrame@@2UQMetaObject@@B @ 6425 NONAME ; struct QMetaObject const QFocusFrame::staticMetaObject
+ ??0QLayout@@QAE@XZ @ 6426 NONAME ; QLayout::QLayout(void)
+ ?remove@QPixmapCache@@SAXABVQString@@@Z @ 6427 NONAME ; void QPixmapCache::remove(class QString const &)
+ ?staticMetaObject@QPixmapDropShadowFilter@@2UQMetaObject@@B @ 6428 NONAME ; struct QMetaObject const QPixmapDropShadowFilter::staticMetaObject
+ ?tr@QTableView@@SA?AVQString@@PBD0@Z @ 6429 NONAME ; class QString QTableView::tr(char const *, char const *)
+ ??1QBitmap@@UAE@XZ @ 6430 NONAME ; QBitmap::~QBitmap(void)
+ ?bottomPadding@QTextTableCellFormat@@QBEMXZ @ 6431 NONAME ; float QTextTableCellFormat::bottomPadding(void) const
+ ?setIntValue@QInputDialog@@QAEXH@Z @ 6432 NONAME ; void QInputDialog::setIntValue(int)
+ ?getStaticMetaObject@QTextTable@@SAABUQMetaObject@@XZ @ 6433 NONAME ; struct QMetaObject const & QTextTable::getStaticMetaObject(void)
+ ?insertMenu@QMenuBar@@QAEPAVQAction@@PAV2@PAVQMenu@@@Z @ 6434 NONAME ; class QAction * QMenuBar::insertMenu(class QAction *, class QMenu *)
+ ?item@QListWidget@@QBEPAVQListWidgetItem@@H@Z @ 6435 NONAME ; class QListWidgetItem * QListWidget::item(int) const
+ ??8Tab@QTextOption@@QBE_NABU01@@Z @ 6436 NONAME ; bool QTextOption::Tab::operator==(struct QTextOption::Tab const &) const
+ ?buttons@QMouseEvent@@QBE?AV?$QFlags@W4MouseButton@Qt@@@@XZ @ 6437 NONAME ; class QFlags<enum Qt::MouseButton> QMouseEvent::buttons(void) const
+ ?staticMetaObject@QSizePolicy@@2UQMetaObject@@B @ 6438 NONAME ; struct QMetaObject const QSizePolicy::staticMetaObject
+ ?setupViewport@QMdiArea@@IAEXPAVQWidget@@@Z @ 6439 NONAME ; void QMdiArea::setupViewport(class QWidget *)
+ ?joinPoints@QStroker@@QAEXMMABVQLineF@@W4LineJoinMode@1@@Z @ 6440 NONAME ; void QStroker::joinPoints(float, float, class QLineF const &, enum QStroker::LineJoinMode)
+ ?isSortingEnabled@QTableWidget@@QBE_NXZ @ 6441 NONAME ; bool QTableWidget::isSortingEnabled(void) const
+ ?ConstructL@QS60MainAppUi@@UAEXXZ @ 6442 NONAME ; void QS60MainAppUi::ConstructL(void)
+ ??HQRegion@@QBE?BV0@ABVQRect@@@Z @ 6443 NONAME ; class QRegion const QRegion::operator+(class QRect const &) const
+ ??0QWidget@@QAE@PAV0@V?$QFlags@W4WindowType@Qt@@@@@Z @ 6444 NONAME ; QWidget::QWidget(class QWidget *, class QFlags<enum Qt::WindowType>)
+ ??5@YAAAVQDataStream@@AAV0@AAVQVector3D@@@Z @ 6445 NONAME ; class QDataStream & operator>>(class QDataStream &, class QVector3D &)
+ ?d_func@QTextControl@@ABEPBVQTextControlPrivate@@XZ @ 6446 NONAME ; class QTextControlPrivate const * QTextControl::d_func(void) const
+ ?isEmpty@QKeySequence@@QBE_NXZ @ 6447 NONAME ; bool QKeySequence::isEmpty(void) const
+ ?updatePreviewWidget@QColumnView@@IAEXABVQModelIndex@@@Z @ 6448 NONAME ; void QColumnView::updatePreviewWidget(class QModelIndex const &)
+ ?title@QGroupBox@@QBE?AVQString@@XZ @ 6449 NONAME ; class QString QGroupBox::title(void) const
+ ?setTextMargins@QLineEdit@@QAEXHHHH@Z @ 6450 NONAME ; void QLineEdit::setTextMargins(int, int, int, int)
+ ?sectionHandleDoubleClicked@QHeaderView@@IAEXH@Z @ 6451 NONAME ; void QHeaderView::sectionHandleDoubleClicked(int)
+ ?qt_metacall@QColorDialog@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 6452 NONAME ; int QColorDialog::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ??8QMatrix@@QBE_NABV0@@Z @ 6453 NONAME ; bool QMatrix::operator==(class QMatrix const &) const
+ ?resizeEvent@QWidget@@MAEXPAVQResizeEvent@@@Z @ 6454 NONAME ; void QWidget::resizeEvent(class QResizeEvent *)
+ ?setClipRect@QStrokerOps@@QAEXABVQRectF@@@Z @ 6455 NONAME ; void QStrokerOps::setClipRect(class QRectF const &)
+ ?highlighted@QCompleter@@IAEXABVQModelIndex@@@Z @ 6456 NONAME ; void QCompleter::highlighted(class QModelIndex const &)
+ ?getStaticMetaObject@QCalendarWidget@@SAABUQMetaObject@@XZ @ 6457 NONAME ; struct QMetaObject const & QCalendarWidget::getStaticMetaObject(void)
+ ?toPoint@QVector3D@@QBE?AVQPoint@@XZ @ 6458 NONAME ; class QPoint QVector3D::toPoint(void) const
+ ?mouseMoveEvent@QCheckBox@@MAEXPAVQMouseEvent@@@Z @ 6459 NONAME ; void QCheckBox::mouseMoveEvent(class QMouseEvent *)
+ ?tr@QScrollArea@@SA?AVQString@@PBD0@Z @ 6460 NONAME ; class QString QScrollArea::tr(char const *, char const *)
+ ??1QGraphicsBlurEffect@@UAE@XZ @ 6461 NONAME ; QGraphicsBlurEffect::~QGraphicsBlurEffect(void)
+ ?get@QGraphicsItemPrivate@@SAPBV1@PBVQGraphicsItem@@@Z @ 6462 NONAME ; class QGraphicsItemPrivate const * QGraphicsItemPrivate::get(class QGraphicsItem const *)
+ ?setRowStretchFactor@QGraphicsGridLayout@@QAEXHH@Z @ 6463 NONAME ; void QGraphicsGridLayout::setRowStretchFactor(int, int)
+ ??1QImageIOHandler@@UAE@XZ @ 6464 NONAME ; QImageIOHandler::~QImageIOHandler(void)
+ ?availableSizes@QIcon@@QBE?AV?$QList@VQSize@@@@W4Mode@1@W4State@1@@Z @ 6465 NONAME ; class QList<class QSize> QIcon::availableSizes(enum QIcon::Mode, enum QIcon::State) const
+ ??0QColor@@QAE@ABV0@@Z @ 6466 NONAME ; QColor::QColor(class QColor const &)
+ ?setItemWidget@QTreeWidget@@QAEXPAVQTreeWidgetItem@@HPAVQWidget@@@Z @ 6467 NONAME ; void QTreeWidget::setItemWidget(class QTreeWidgetItem *, int, class QWidget *)
+ ?metaObject@QDateTimeEdit@@UBEPBUQMetaObject@@XZ @ 6468 NONAME ; struct QMetaObject const * QDateTimeEdit::metaObject(void) const
+ ?showColumn@QTreeView@@QAEXH@Z @ 6469 NONAME ; void QTreeView::showColumn(int)
+ ?setTouchPoints@QTouchEvent@@QAEXABV?$QList@VTouchPoint@QTouchEvent@@@@@Z @ 6470 NONAME ; void QTouchEvent::setTouchPoints(class QList<class QTouchEvent::TouchPoint> const &)
+ ?skipSpace@Parser@QCss@@QAEXXZ @ 6471 NONAME ; void QCss::Parser::skipSpace(void)
+ ?setFocus@QWidget@@QAEXW4FocusReason@Qt@@@Z @ 6472 NONAME ; void QWidget::setFocus(enum Qt::FocusReason)
+ ?validateCurrentPage@QWizard@@UAE_NXZ @ 6473 NONAME ; bool QWizard::validateCurrentPage(void)
+ ?setExpandsOnDoubleClick@QTreeView@@QAEX_N@Z @ 6474 NONAME ; void QTreeView::setExpandsOnDoubleClick(bool)
+ ?event@QWorkspace@@MAE_NPAVQEvent@@@Z @ 6475 NONAME ; bool QWorkspace::event(class QEvent *)
+ ??1QInputContextFactoryInterface@@UAE@XZ @ 6476 NONAME ; QInputContextFactoryInterface::~QInputContextFactoryInterface(void)
+ ?d_func@QTextBrowser@@ABEPBVQTextBrowserPrivate@@XZ @ 6477 NONAME ; class QTextBrowserPrivate const * QTextBrowser::d_func(void) const
+ ?getStaticMetaObject@QUndoGroup@@SAABUQMetaObject@@XZ @ 6478 NONAME ; struct QMetaObject const & QUndoGroup::getStaticMetaObject(void)
+ ?focusOutEvent@QMdiSubWindow@@MAEXPAVQFocusEvent@@@Z @ 6479 NONAME ; void QMdiSubWindow::focusOutEvent(class QFocusEvent *)
+ ?remove@QDirModel@@QAE_NABVQModelIndex@@@Z @ 6480 NONAME ; bool QDirModel::remove(class QModelIndex const &)
+ ?widget@QToolBox@@QBEPAVQWidget@@H@Z @ 6481 NONAME ; class QWidget * QToolBox::widget(int) const
+ ?setOption@QMdiSubWindow@@QAEXW4SubWindowOption@1@_N@Z @ 6482 NONAME ; void QMdiSubWindow::setOption(enum QMdiSubWindow::SubWindowOption, bool)
+ ?mimeData@QProxyModel@@UBEPAVQMimeData@@ABV?$QList@VQModelIndex@@@@@Z @ 6483 NONAME ; class QMimeData * QProxyModel::mimeData(class QList<class QModelIndex> const &) const
+ ?drawPolygon@QPaintEngineEx@@UAEXPBVQPointF@@HW4PolygonDrawMode@QPaintEngine@@@Z @ 6484 NONAME ; void QPaintEngineEx::drawPolygon(class QPointF const *, int, enum QPaintEngine::PolygonDrawMode)
+ ?setDevice@QTextDocumentWriter@@QAEXPAVQIODevice@@@Z @ 6485 NONAME ; void QTextDocumentWriter::setDevice(class QIODevice *)
+ ?d_func@QTreeView@@AAEPAVQTreeViewPrivate@@XZ @ 6486 NONAME ; class QTreeViewPrivate * QTreeView::d_func(void)
+ ??_EQActionEvent@@UAE@I@Z @ 6487 NONAME ; QActionEvent::~QActionEvent(unsigned int)
+ ?isQBitmap@QPixmap@@QBE_NXZ @ 6488 NONAME ; bool QPixmap::isQBitmap(void) const
+ ??0QApplication@@QAE@P6APAVCApaApplication@@XZAAHPAPADH@Z @ 6489 NONAME ; QApplication::QApplication(class CApaApplication * (*)(void), int &, char * *, int)
+ ?bytesPerLine@QImage@@QBEHXZ @ 6490 NONAME ; int QImage::bytesPerLine(void) const
+ ?metaObject@QPanGesture@@UBEPBUQMetaObject@@XZ @ 6491 NONAME ; struct QMetaObject const * QPanGesture::metaObject(void) const
+ ?pointAt@QBezier@@QBE?AVQPointF@@M@Z @ 6492 NONAME ; class QPointF QBezier::pointAt(float) const
+ ?windowIcon@QWidget@@QBE?AVQIcon@@XZ @ 6493 NONAME ; class QIcon QWidget::windowIcon(void) const
+ ?gesture@QGestureEvent@@QBEPAVQGesture@@W4GestureType@Qt@@@Z @ 6494 NONAME ; class QGesture * QGestureEvent::gesture(enum Qt::GestureType) const
+ ?pos@QMouseEvent@@QBEABVQPoint@@XZ @ 6495 NONAME ; class QPoint const & QMouseEvent::pos(void) const
+ ?setAlignment@QGroupBox@@QAEXH@Z @ 6496 NONAME ; void QGroupBox::setAlignment(int)
+ ?isIdentity@QMatrix@@QBE_NXZ @ 6497 NONAME ; bool QMatrix::isIdentity(void) const
+ ?parseProperty@Parser@QCss@@QAE_NPAUDeclaration@2@@Z @ 6498 NONAME ; bool QCss::Parser::parseProperty(struct QCss::Declaration *)
+ ?emptyLabel@QUndoView@@QBE?AVQString@@XZ @ 6499 NONAME ; class QString QUndoView::emptyLabel(void) const
+ ?setKeyboardTracking@QAbstractSpinBox@@QAEX_N@Z @ 6500 NONAME ; void QAbstractSpinBox::setKeyboardTracking(bool)
+ ?setRegExp@QRegExpValidator@@QAEXABVQRegExp@@@Z @ 6501 NONAME ; void QRegExpValidator::setRegExp(class QRegExp const &)
+ ?addToPolygon@QBezier@@QBEXPAVQPolygonF@@@Z @ 6502 NONAME ; void QBezier::addToPolygon(class QPolygonF *) const
+ ?removePixmapModificationHook@QImagePixmapCleanupHooks@@QAEXP6AXPAVQPixmap@@@Z@Z @ 6503 NONAME ; void QImagePixmapCleanupHooks::removePixmapModificationHook(void (*)(class QPixmap *))
+ ?staticMetaObject@QGraphicsBlurEffect@@2UQMetaObject@@B @ 6504 NONAME ; struct QMetaObject const QGraphicsBlurEffect::staticMetaObject
+ ?d_func@QAbstractTextDocumentLayout@@ABEPBVQAbstractTextDocumentLayoutPrivate@@XZ @ 6505 NONAME ; class QAbstractTextDocumentLayoutPrivate const * QAbstractTextDocumentLayout::d_func(void) const
+ ?setScaledSize@QMovie@@QAEXABVQSize@@@Z @ 6506 NONAME ; void QMovie::setScaledSize(class QSize const &)
+ ?del@QLineControl@@QAEXXZ @ 6507 NONAME ; void QLineControl::del(void)
+ ?setReadOnly@QLineControl@@QAEX_N@Z @ 6508 NONAME ; void QLineControl::setReadOnly(bool)
+ ?selectionChanged@QLineEdit@@IAEXXZ @ 6509 NONAME ; void QLineEdit::selectionChanged(void)
+ ?staticMetaObject@QTextEdit@@2UQMetaObject@@B @ 6510 NONAME ; struct QMetaObject const QTextEdit::staticMetaObject
+ ?setScenePos@TouchPoint@QTouchEvent@@QAEXABVQPointF@@@Z @ 6511 NONAME ; void QTouchEvent::TouchPoint::setScenePos(class QPointF const &)
+ ??0QQuaternion@@QAE@MABVQVector3D@@@Z @ 6512 NONAME ; QQuaternion::QQuaternion(float, class QVector3D const &)
+ ?setWizardStyle@QWizard@@QAEXW4WizardStyle@1@@Z @ 6513 NONAME ; void QWizard::setWizardStyle(enum QWizard::WizardStyle)
+ ?transformOriginPoint@QGraphicsItem@@QBE?AVQPointF@@XZ @ 6514 NONAME ; class QPointF QGraphicsItem::transformOriginPoint(void) const
+ ?trueMatrix@QPixmap@@SA?AVQTransform@@ABV2@HH@Z @ 6515 NONAME ; class QTransform QPixmap::trueMatrix(class QTransform const &, int, int)
+ ?changed@QGraphicsScene@@IAEXABV?$QList@VQRectF@@@@@Z @ 6516 NONAME ; void QGraphicsScene::changed(class QList<class QRectF> const &)
+ ??0QStyleOptionTitleBar@@QAE@XZ @ 6517 NONAME ; QStyleOptionTitleBar::QStyleOptionTitleBar(void)
+ ?globalPos@QContextMenuEvent@@QBEABVQPoint@@XZ @ 6518 NONAME ; class QPoint const & QContextMenuEvent::globalPos(void) const
+ ?qt_metacall@QGraphicsEffectSource@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 6519 NONAME ; int QGraphicsEffectSource::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?setRowWrapPolicy@QFormLayout@@QAEXW4RowWrapPolicy@1@@Z @ 6520 NONAME ; void QFormLayout::setRowWrapPolicy(enum QFormLayout::RowWrapPolicy)
+ ??0QTextCursor@@QAE@ABVQTextBlock@@@Z @ 6521 NONAME ; QTextCursor::QTextCursor(class QTextBlock const &)
+ ?displayText@QLineEdit@@QBE?AVQString@@XZ @ 6522 NONAME ; class QString QLineEdit::displayText(void) const
+ ?font@QPainter@@QBEABVQFont@@XZ @ 6523 NONAME ; class QFont const & QPainter::font(void) const
+ ?selectedIndexes@QListView@@MBE?AV?$QList@VQModelIndex@@@@XZ @ 6524 NONAME ; class QList<class QModelIndex> QListView::selectedIndexes(void) const
+ ?backgroundColor@QImageReader@@QBE?AVQColor@@XZ @ 6525 NONAME ; class QColor QImageReader::backgroundColor(void) const
+ ?setItemEnabled@QToolBox@@QAEXH_N@Z @ 6526 NONAME ; void QToolBox::setItemEnabled(int, bool)
+ ?eor@QRegion@@QBE?AV1@ABV1@@Z @ 6527 NONAME ; class QRegion QRegion::eor(class QRegion const &) const
+ ?qt_metacall@QSlider@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 6528 NONAME ; int QSlider::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ??0QStyleOptionViewItem@@QAE@XZ @ 6529 NONAME ; QStyleOptionViewItem::QStyleOptionViewItem(void)
+ ??_EQPaintDevice@@UAE@I@Z @ 6530 NONAME ; QPaintDevice::~QPaintDevice(unsigned int)
+ ?isPrimary@TouchPoint@QTouchEvent@@QBE_NXZ @ 6531 NONAME ; bool QTouchEvent::TouchPoint::isPrimary(void) const
+ ??0QComboBox@@IAE@AAVQComboBoxPrivate@@PAVQWidget@@@Z @ 6532 NONAME ; QComboBox::QComboBox(class QComboBoxPrivate &, class QWidget *)
+ ??1QStackedWidget@@UAE@XZ @ 6533 NONAME ; QStackedWidget::~QStackedWidget(void)
+ ?insertSpacing@QBoxLayout@@QAEXHH@Z @ 6534 NONAME ; void QBoxLayout::insertSpacing(int, int)
+ ?oldEditFocus@QApplicationPrivate@@2PAVQWidget@@A @ 6535 NONAME ; class QWidget * QApplicationPrivate::oldEditFocus
+ ?blockList@QTextBlockGroup@@IBE?AV?$QList@VQTextBlock@@@@XZ @ 6536 NONAME ; class QList<class QTextBlock> QTextBlockGroup::blockList(void) const
+ ?paintEvent@QDial@@MAEXPAVQPaintEvent@@@Z @ 6537 NONAME ; void QDial::paintEvent(class QPaintEvent *)
+ ?resetRowWrapPolicy@QFormLayout@@AAEXXZ @ 6538 NONAME ; void QFormLayout::resetRowWrapPolicy(void)
+ ?setFlag@QGraphicsItem@@QAEXW4GraphicsItemFlag@1@_N@Z @ 6539 NONAME ; void QGraphicsItem::setFlag(enum QGraphicsItem::GraphicsItemFlag, bool)
+ ?addAction@QActionGroup@@QAEPAVQAction@@PAV2@@Z @ 6540 NONAME ; class QAction * QActionGroup::addAction(class QAction *)
+ ?isFrameFormat@QTextFormat@@QBE_NXZ @ 6541 NONAME ; bool QTextFormat::isFrameFormat(void) const
+ ?drawItemPixmap@QStyle@@UBEXPAVQPainter@@ABVQRect@@HABVQPixmap@@@Z @ 6542 NONAME ; void QStyle::drawItemPixmap(class QPainter *, class QRect const &, int, class QPixmap const &) const
+ ?tr@QDesktopWidget@@SA?AVQString@@PBD0@Z @ 6543 NONAME ; class QString QDesktopWidget::tr(char const *, char const *)
+ ?font@QTextItem@@QBE?AVQFont@@XZ @ 6544 NONAME ; class QFont QTextItem::font(void) const
+ ?width@QPen@@QBEHXZ @ 6545 NONAME ; int QPen::width(void) const
+ ?initStyleOption@QTabBar@@IBEXPAVQStyleOptionTab@@H@Z @ 6546 NONAME ; void QTabBar::initStyleOption(class QStyleOptionTab *, int) const
+ ?trUtf8@QPlainTextEdit@@SA?AVQString@@PBD0@Z @ 6547 NONAME ; class QString QPlainTextEdit::trUtf8(char const *, char const *)
+ ?tr@QToolBox@@SA?AVQString@@PBD0@Z @ 6548 NONAME ; class QString QToolBox::tr(char const *, char const *)
+ ?fill@QMatrix4x4@@QAEXM@Z @ 6549 NONAME ; void QMatrix4x4::fill(float)
+ ?setFilters@QFileDialog@@QAEXABVQStringList@@@Z @ 6550 NONAME ; void QFileDialog::setFilters(class QStringList const &)
+ ??_EQRasterPixmapData@@UAE@I@Z @ 6551 NONAME ; QRasterPixmapData::~QRasterPixmapData(unsigned int)
+ ?main_widget@QApplicationPrivate@@2PAVQWidget@@A @ 6552 NONAME ; class QWidget * QApplicationPrivate::main_widget
+ ?fromData@QImage@@SA?AV1@PBEHPBD@Z @ 6553 NONAME ; class QImage QImage::fromData(unsigned char const *, int, char const *)
+ ?tr@QProxyModel@@SA?AVQString@@PBD0H@Z @ 6554 NONAME ; class QString QProxyModel::tr(char const *, char const *, int)
+ ?setStrokeWidth@QDashStroker@@QAEXM@Z @ 6555 NONAME ; void QDashStroker::setStrokeWidth(float)
+ ??1QPaintEvent@@UAE@XZ @ 6556 NONAME ; QPaintEvent::~QPaintEvent(void)
+ ?toHtml@QTextDocument@@QBE?AVQString@@ABVQByteArray@@@Z @ 6557 NONAME ; class QString QTextDocument::toHtml(class QByteArray const &) const
+ ?convertToFormat@QImage@@QBE?AV1@W4Format@1@V?$QFlags@W4ImageConversionFlag@Qt@@@@@Z @ 6558 NONAME ; class QImage QImage::convertToFormat(enum QImage::Format, class QFlags<enum Qt::ImageConversionFlag>) const
+ ?isIndexHidden@QColumnView@@MBE_NABVQModelIndex@@@Z @ 6559 NONAME ; bool QColumnView::isIndexHidden(class QModelIndex const &) const
+ ?widgetResizable@QScrollArea@@QBE_NXZ @ 6560 NONAME ; bool QScrollArea::widgetResizable(void) const
+ ?setAlignment@QScrollArea@@QAEXV?$QFlags@W4AlignmentFlag@Qt@@@@@Z @ 6561 NONAME ; void QScrollArea::setAlignment(class QFlags<enum Qt::AlignmentFlag>)
+ ?helpRequested@QDialogButtonBox@@IAEXXZ @ 6562 NONAME ; void QDialogButtonBox::helpRequested(void)
+ ?drawRects@QPaintEngineEx@@UAEXPBVQRectF@@H@Z @ 6563 NONAME ; void QPaintEngineEx::drawRects(class QRectF const *, int)
+ ?enabledChange@QWidget@@MAEX_N@Z @ 6564 NONAME ; void QWidget::enabledChange(bool)
+ ?sceneEvent@QGraphicsWidget@@MAE_NPAVQEvent@@@Z @ 6565 NONAME ; bool QGraphicsWidget::sceneEvent(class QEvent *)
+ ?updateGeometries@QAbstractItemView@@MAEXXZ @ 6566 NONAME ; void QAbstractItemView::updateGeometries(void)
+ ?loadResource@QTextBrowser@@UAE?AVQVariant@@HABVQUrl@@@Z @ 6567 NONAME ; class QVariant QTextBrowser::loadResource(int, class QUrl const &)
+ ?numRects@QRegion@@QBEHXZ @ 6568 NONAME ; int QRegion::numRects(void) const
+ ?boundingRect@QGraphicsEffect@@QBE?AVQRectF@@XZ @ 6569 NONAME ; class QRectF QGraphicsEffect::boundingRect(void) const
+ ?columnSpacing@QGraphicsGridLayout@@QBEMH@Z @ 6570 NONAME ; float QGraphicsGridLayout::columnSpacing(int) const
+ ?coordinateMode@QGradient@@QBE?AW4CoordinateMode@1@XZ @ 6571 NONAME ; enum QGradient::CoordinateMode QGradient::coordinateMode(void) const
+ ?moveCursor@QTreeView@@MAE?AVQModelIndex@@W4CursorAction@QAbstractItemView@@V?$QFlags@W4KeyboardModifier@Qt@@@@@Z @ 6572 NONAME ; class QModelIndex QTreeView::moveCursor(enum QAbstractItemView::CursorAction, class QFlags<enum Qt::KeyboardModifier>)
+ ?overwriteMode@QTextEdit@@QBE_NXZ @ 6573 NONAME ; bool QTextEdit::overwriteMode(void) const
+ ??0QStyleOptionSizeGrip@@QAE@XZ @ 6574 NONAME ; QStyleOptionSizeGrip::QStyleOptionSizeGrip(void)
+ ?activateNextSubWindow@QMdiArea@@QAEXXZ @ 6575 NONAME ; void QMdiArea::activateNextSubWindow(void)
+ ?controlType@QSizePolicy@@QBE?AW4ControlType@1@XZ @ 6576 NONAME ; enum QSizePolicy::ControlType QSizePolicy::controlType(void) const
+ ?rect@QTextLine@@QBE?AVQRectF@@XZ @ 6577 NONAME ; class QRectF QTextLine::rect(void) const
+ ?qt_metacall@QGraphicsPixelizeEffect@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 6578 NONAME ABSENT ; int QGraphicsPixelizeEffect::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?question@QMessageBox@@SA?AW4StandardButton@1@PAVQWidget@@ABVQString@@1V?$QFlags@W4StandardButton@QMessageBox@@@@W421@@Z @ 6579 NONAME ; enum QMessageBox::StandardButton QMessageBox::question(class QWidget *, class QString const &, class QString const &, class QFlags<enum QMessageBox::StandardButton>, enum QMessageBox::StandardButton)
+ ?symbianResourceChange@QApplicationPrivate@@QAEHH@Z @ 6580 NONAME ; int QApplicationPrivate::symbianResourceChange(int)
+ ??6@YA?AVQDebug@@V0@ABVQPainterPath@@@Z @ 6581 NONAME ; class QDebug operator<<(class QDebug, class QPainterPath const &)
+ ??0QTextFrame@@QAE@PAVQTextDocument@@@Z @ 6582 NONAME ; QTextFrame::QTextFrame(class QTextDocument *)
+ ?draw@QPixmapBlurFilter@@UBEXPAVQPainter@@ABVQPointF@@ABVQPixmap@@ABVQRectF@@@Z @ 6583 NONAME ; void QPixmapBlurFilter::draw(class QPainter *, class QPointF const &, class QPixmap const &, class QRectF const &) const
+ ??_EQIconEngineFactoryInterfaceV2@@UAE@I@Z @ 6584 NONAME ; QIconEngineFactoryInterfaceV2::~QIconEngineFactoryInterfaceV2(unsigned int)
+ ?metaObject@QUndoStack@@UBEPBUQMetaObject@@XZ @ 6585 NONAME ; struct QMetaObject const * QUndoStack::metaObject(void) const
+ ?setRowMinimumHeight@QGridLayout@@QAEXHH@Z @ 6586 NONAME ; void QGridLayout::setRowMinimumHeight(int, int)
+ ?display@QLCDNumber@@QAEXN@Z @ 6587 NONAME ; void QLCDNumber::display(double)
+ ?hasClipping@QPainter@@QBE_NXZ @ 6588 NONAME ; bool QPainter::hasClipping(void) const
+ ?staticMetaObject@QMovie@@2UQMetaObject@@B @ 6589 NONAME ; struct QMetaObject const QMovie::staticMetaObject
+ ?setWhatChanged@QPinchGesture@@QAEXV?$QFlags@W4WhatChange@QPinchGesture@@@@@Z @ 6590 NONAME ; void QPinchGesture::setWhatChanged(class QFlags<enum QPinchGesture::WhatChange>)
+ ?validator@QComboBox@@QBEPBVQValidator@@XZ @ 6591 NONAME ; class QValidator const * QComboBox::validator(void) const
+ ?intMaximum@QInputDialog@@QBEHXZ @ 6592 NONAME ; int QInputDialog::intMaximum(void) const
+ ?setFilterCaseSensitivity@QSortFilterProxyModel@@QAEXW4CaseSensitivity@Qt@@@Z @ 6593 NONAME ; void QSortFilterProxyModel::setFilterCaseSensitivity(enum Qt::CaseSensitivity)
+ ?font@QStandardItem@@QBE?AVQFont@@XZ @ 6594 NONAME ; class QFont QStandardItem::font(void) const
+ ?textWidth@QGraphicsTextItem@@QBEMXZ @ 6595 NONAME ; float QGraphicsTextItem::textWidth(void) const
+ ?changeEvent@QComboBox@@MAEXPAVQEvent@@@Z @ 6596 NONAME ; void QComboBox::changeEvent(class QEvent *)
+ ?qt_metacall@QKeyEventTransition@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 6597 NONAME ; int QKeyEventTransition::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?drawRoundedRect@QPaintEngineEx@@UAEXABVQRectF@@MMW4SizeMode@Qt@@@Z @ 6598 NONAME ; void QPaintEngineEx::drawRoundedRect(class QRectF const &, float, float, enum Qt::SizeMode)
+ ?hasFocus@QGraphicsItem@@QBE_NXZ @ 6599 NONAME ; bool QGraphicsItem::hasFocus(void) const
+ ??0QDirModel@@QAE@PAVQObject@@@Z @ 6600 NONAME ; QDirModel::QDirModel(class QObject *)
+ ?update@QInputContext@@UAEXXZ @ 6601 NONAME ; void QInputContext::update(void)
+ ?eventFilter@QWidgetAction@@MAE_NPAVQObject@@PAVQEvent@@@Z @ 6602 NONAME ; bool QWidgetAction::eventFilter(class QObject *, class QEvent *)
+ ??1QGuiPlatformPluginInterface@@UAE@XZ @ 6603 NONAME ; QGuiPlatformPluginInterface::~QGuiPlatformPluginInterface(void)
+ ??0QMatrix@@QAE@XZ @ 6604 NONAME ; QMatrix::QMatrix(void)
+ ?blurHint@QPixmapBlurFilter@@QBE?AW4RenderHint@Qt@@XZ @ 6605 NONAME ; enum Qt::RenderHint QPixmapBlurFilter::blurHint(void) const
+ ?metaObject@QMouseEventTransition@@UBEPBUQMetaObject@@XZ @ 6606 NONAME ; struct QMetaObject const * QMouseEventTransition::metaObject(void) const
+ ?quality@QPictureIO@@QBEHXZ @ 6607 NONAME ; int QPictureIO::quality(void) const
+ ?tr@QLineControl@@SA?AVQString@@PBD0@Z @ 6608 NONAME ; class QString QLineControl::tr(char const *, char const *)
+ ?selectedFont@QFontDialog@@QBE?AVQFont@@XZ @ 6609 NONAME ; class QFont QFontDialog::selectedFont(void) const
+ ??1QCoeFepInputContext@@UAE@XZ @ 6610 NONAME ABSENT ; QCoeFepInputContext::~QCoeFepInputContext(void)
+ ?q_func@QPaintEngineExPrivate@@AAEPAVQPaintEngineEx@@XZ @ 6611 NONAME ; class QPaintEngineEx * QPaintEngineExPrivate::q_func(void)
+ ?setMatrixEnabled@QPainter@@QAEX_N@Z @ 6612 NONAME ; void QPainter::setMatrixEnabled(bool)
+ ?dateTime@QDateTimeEdit@@QBE?AVQDateTime@@XZ @ 6613 NONAME ; class QDateTime QDateTimeEdit::dateTime(void) const
+ ?tr@QSlider@@SA?AVQString@@PBD0@Z @ 6614 NONAME ; class QString QSlider::tr(char const *, char const *)
+ ?setToolTip@QListWidgetItem@@QAEXABVQString@@@Z @ 6615 NONAME ; void QListWidgetItem::setToolTip(class QString const &)
+ ?addAction@QActionGroup@@QAEPAVQAction@@ABVQString@@@Z @ 6616 NONAME ; class QAction * QActionGroup::addAction(class QString const &)
+ ?count@QTabBar@@QBEHXZ @ 6617 NONAME ; int QTabBar::count(void) const
+ ?trUtf8@QFormLayout@@SA?AVQString@@PBD0H@Z @ 6618 NONAME ; class QString QFormLayout::trUtf8(char const *, char const *, int)
+ ?qt_metacast@QTextList@@UAEPAXPBD@Z @ 6619 NONAME ; void * QTextList::qt_metacast(char const *)
+ ?supportsExtension@QGraphicsRectItem@@MBE_NW4Extension@QGraphicsItem@@@Z @ 6620 NONAME ; bool QGraphicsRectItem::supportsExtension(enum QGraphicsItem::Extension) const
+ ?trUtf8@QComboBox@@SA?AVQString@@PBD0H@Z @ 6621 NONAME ; class QString QComboBox::trUtf8(char const *, char const *, int)
+ ?fontDatabaseChanged@QApplication@@IAEXXZ @ 6622 NONAME ; void QApplication::fontDatabaseChanged(void)
+ ?setStretchFactor@QGraphicsLinearLayout@@QAEXPAVQGraphicsLayoutItem@@H@Z @ 6623 NONAME ; void QGraphicsLinearLayout::setStretchFactor(class QGraphicsLayoutItem *, int)
+ ??_EQScrollArea@@UAE@I@Z @ 6624 NONAME ; QScrollArea::~QScrollArea(unsigned int)
+ ?mapFromScene@QGraphicsView@@QBE?AVQPolygon@@MMMM@Z @ 6625 NONAME ; class QPolygon QGraphicsView::mapFromScene(float, float, float, float) const
+ ?resizeEvent@QTextEdit@@MAEXPAVQResizeEvent@@@Z @ 6626 NONAME ; void QTextEdit::resizeEvent(class QResizeEvent *)
+ ?objectFormatIndex@QTextFormatCollection@@QBEHH@Z @ 6627 NONAME ; int QTextFormatCollection::objectFormatIndex(int) const
+ ?trUtf8@QDirModel@@SA?AVQString@@PBD0@Z @ 6628 NONAME ; class QString QDirModel::trUtf8(char const *, char const *)
+ ??0QColorDialog@@QAE@PAVQWidget@@@Z @ 6629 NONAME ; QColorDialog::QColorDialog(class QWidget *)
+ ?insertRows@QStandardItem@@QAEXHABV?$QList@PAVQStandardItem@@@@@Z @ 6630 NONAME ; void QStandardItem::insertRows(int, class QList<class QStandardItem *> const &)
+ ?type@QStandardItem@@UBEHXZ @ 6631 NONAME ; int QStandardItem::type(void) const
+ ?tr@QItemSelectionModel@@SA?AVQString@@PBD0H@Z @ 6632 NONAME ; class QString QItemSelectionModel::tr(char const *, char const *, int)
+ ?count@QToolBox@@QBEHXZ @ 6633 NONAME ; int QToolBox::count(void) const
+ ?columnCountChanged@QTreeView@@IAEXHH@Z @ 6634 NONAME ; void QTreeView::columnCountChanged(int, int)
+ ??9QTextTableCell@@QBE_NABV0@@Z @ 6635 NONAME ; bool QTextTableCell::operator!=(class QTextTableCell const &) const
+ ?type@QGraphicsRectItem@@UBEHXZ @ 6636 NONAME ; int QGraphicsRectItem::type(void) const
+ ?setParentItemHelper@QGraphicsItemPrivate@@QAEXPAVQGraphicsItem@@@Z @ 6637 NONAME ; void QGraphicsItemPrivate::setParentItemHelper(class QGraphicsItem *)
+ ??1QStyleOptionRubberBand@@QAE@XZ @ 6638 NONAME ; QStyleOptionRubberBand::~QStyleOptionRubberBand(void)
+ ?restoreRedirected@QPainter@@SAXPBVQPaintDevice@@@Z @ 6639 NONAME ; void QPainter::restoreRedirected(class QPaintDevice const *)
+ ?setCurrentFont@QFontDialog@@QAEXABVQFont@@@Z @ 6640 NONAME ; void QFontDialog::setCurrentFont(class QFont const &)
+ ?childAt_helper@QWidgetPrivate@@QBEPAVQWidget@@ABVQPoint@@_N@Z @ 6641 NONAME ; class QWidget * QWidgetPrivate::childAt_helper(class QPoint const &, bool) const
+ ?setTabsClosable@QTabWidget@@QAEX_N@Z @ 6642 NONAME ; void QTabWidget::setTabsClosable(bool)
+ ?setAnchor@QTextCharFormat@@QAEX_N@Z @ 6643 NONAME ; void QTextCharFormat::setAnchor(bool)
+ ?isEmpty@QTextList@@QBE_NXZ @ 6644 NONAME ; bool QTextList::isEmpty(void) const
+ ?unpolish@QCommonStyle@@UAEXPAVQWidget@@@Z @ 6645 NONAME ; void QCommonStyle::unpolish(class QWidget *)
+ ?match@QProxyModel@@UBE?AV?$QList@VQModelIndex@@@@ABVQModelIndex@@HABVQVariant@@HV?$QFlags@W4MatchFlag@Qt@@@@@Z @ 6646 NONAME ; class QList<class QModelIndex> QProxyModel::match(class QModelIndex const &, int, class QVariant const &, int, class QFlags<enum Qt::MatchFlag>) const
+ ?tr@QWidgetResizeHandler@@SA?AVQString@@PBD0H@Z @ 6647 NONAME ; class QString QWidgetResizeHandler::tr(char const *, char const *, int)
+ ?frameWidth@QFrame@@QBEHXZ @ 6648 NONAME ; int QFrame::frameWidth(void) const
+ ?tr@QGraphicsEffect@@SA?AVQString@@PBD0H@Z @ 6649 NONAME ; class QString QGraphicsEffect::tr(char const *, char const *, int)
+ ??0QVector3D@@AAE@MMMH@Z @ 6650 NONAME ; QVector3D::QVector3D(float, float, float, int)
+ ??0QStyleOptionToolButton@@QAE@XZ @ 6651 NONAME ; QStyleOptionToolButton::QStyleOptionToolButton(void)
+ ?minimumWidth@QGraphicsLayoutItem@@QBEMXZ @ 6652 NONAME ; float QGraphicsLayoutItem::minimumWidth(void) const
+ ?setTextFormat@QLabel@@QAEXW4TextFormat@Qt@@@Z @ 6653 NONAME ; void QLabel::setTextFormat(enum Qt::TextFormat)
+ ?setScreenPos@QGraphicsSceneWheelEvent@@QAEXABVQPoint@@@Z @ 6654 NONAME ; void QGraphicsSceneWheelEvent::setScreenPos(class QPoint const &)
+ ??0QWindowSurface@@QAE@PAVQWidget@@@Z @ 6655 NONAME ; QWindowSurface::QWindowSurface(class QWidget *)
+ ?columnMoved@QTreeView@@IAEXXZ @ 6656 NONAME ; void QTreeView::columnMoved(void)
+ ?mappedWidgetAt@QDataWidgetMapper@@QBEPAVQWidget@@H@Z @ 6657 NONAME ; class QWidget * QDataWidgetMapper::mappedWidgetAt(int) const
+ ?setVerticalTitleBar@QDockWidgetLayout@@QAEX_N@Z @ 6658 NONAME ; void QDockWidgetLayout::setVerticalTitleBar(bool)
+ ?exclusive@QButtonGroup@@QBE_NXZ @ 6659 NONAME ; bool QButtonGroup::exclusive(void) const
+ ?pos@QCursor@@SA?AVQPoint@@XZ @ 6660 NONAME ; class QPoint QCursor::pos(void)
+ ?columnMaximumWidth@QGraphicsGridLayout@@QBEMH@Z @ 6661 NONAME ; float QGraphicsGridLayout::columnMaximumWidth(int) const
+ ?informativeText@QMessageBox@@QBE?AVQString@@XZ @ 6662 NONAME ; class QString QMessageBox::informativeText(void) const
+ ?setSubFocus@QGraphicsItemPrivate@@QAEXPAVQGraphicsItem@@@Z @ 6663 NONAME ; void QGraphicsItemPrivate::setSubFocus(class QGraphicsItem *)
+ ?horizontalOffset@QHeaderView@@MBEHXZ @ 6664 NONAME ; int QHeaderView::horizontalOffset(void) const
+ ??0QTextBlockGroup@@IAE@PAVQTextDocument@@@Z @ 6665 NONAME ; QTextBlockGroup::QTextBlockGroup(class QTextDocument *)
+ ?mapToPolygon@QTransform@@QBE?AVQPolygon@@ABVQRect@@@Z @ 6666 NONAME ; class QPolygon QTransform::mapToPolygon(class QRect const &) const
+ ?undoAvailable@QPlainTextEdit@@IAEX_N@Z @ 6667 NONAME ; void QPlainTextEdit::undoAvailable(bool)
+ ?resolveLayoutDirection@QWidgetPrivate@@QAEXXZ @ 6668 NONAME ; void QWidgetPrivate::resolveLayoutDirection(void)
+ ?tr@QPixmapFilter@@SA?AVQString@@PBD0H@Z @ 6669 NONAME ; class QString QPixmapFilter::tr(char const *, char const *, int)
+ ?toImageFormat@QTextFormat@@QBE?AVQTextImageFormat@@XZ @ 6670 NONAME ; class QTextImageFormat QTextFormat::toImageFormat(void) const
+ ?rowsAboutToBeRemoved@QTreeView@@MAEXABVQModelIndex@@HH@Z @ 6671 NONAME ; void QTreeView::rowsAboutToBeRemoved(class QModelIndex const &, int, int)
+ ?focusInEvent@QGraphicsScene@@MAEXPAVQFocusEvent@@@Z @ 6672 NONAME ; void QGraphicsScene::focusInEvent(class QFocusEvent *)
+ ?inputMethodQuery@QAbstractItemView@@UBE?AVQVariant@@W4InputMethodQuery@Qt@@@Z @ 6673 NONAME ; class QVariant QAbstractItemView::inputMethodQuery(enum Qt::InputMethodQuery) const
+ ?originChanged@QGraphicsRotation@@IAEXXZ @ 6674 NONAME ; void QGraphicsRotation::originChanged(void)
+ ?setCurrentCell@QTableWidget@@QAEXHH@Z @ 6675 NONAME ; void QTableWidget::setCurrentCell(int, int)
+ ??1QRadioButton@@UAE@XZ @ 6676 NONAME ; QRadioButton::~QRadioButton(void)
+ ??BQTransform@@QBE?AVQVariant@@XZ @ 6677 NONAME ; QTransform::operator class QVariant(void) const
+ ?contentsRect@QWidget@@QBE?AVQRect@@XZ @ 6678 NONAME ; class QRect QWidget::contentsRect(void) const
+ ?information@QMessageBox@@SAHPAVQWidget@@ABVQString@@1111HH@Z @ 6679 NONAME ; int QMessageBox::information(class QWidget *, class QString const &, class QString const &, class QString const &, class QString const &, class QString const &, int, int)
+ ?getStaticMetaObject@QWidgetResizeHandler@@SAABUQMetaObject@@XZ @ 6680 NONAME ; struct QMetaObject const & QWidgetResizeHandler::getStaticMetaObject(void)
+ ?sectionPosition@QHeaderView@@QBEHH@Z @ 6681 NONAME ; int QHeaderView::sectionPosition(int) const
+ ?invisibleRootItem@QTreeWidget@@QBEPAVQTreeWidgetItem@@XZ @ 6682 NONAME ; class QTreeWidgetItem * QTreeWidget::invisibleRootItem(void) const
+ ?hsvHueF@QColor@@QBEMXZ @ 6683 NONAME ; float QColor::hsvHueF(void) const
+ ?boundingRect@QFontMetricsF@@QBE?AVQRectF@@ABVQString@@@Z @ 6684 NONAME ; class QRectF QFontMetricsF::boundingRect(class QString const &) const
+ ?insertHtml@QTextCursor@@QAEXABVQString@@@Z @ 6685 NONAME ; void QTextCursor::insertHtml(class QString const &)
+ ?sizeHint@QStyledItemDelegate@@UBE?AVQSize@@ABVQStyleOptionViewItem@@ABVQModelIndex@@@Z @ 6686 NONAME ; class QSize QStyledItemDelegate::sizeHint(class QStyleOptionViewItem const &, class QModelIndex const &) const
+ ?setNameFilters@QFileSystemModel@@QAEXABVQStringList@@@Z @ 6687 NONAME ; void QFileSystemModel::setNameFilters(class QStringList const &)
+ ?installSceneEventFilter@QGraphicsItem@@QAEXPAV1@@Z @ 6688 NONAME ; void QGraphicsItem::installSceneEventFilter(class QGraphicsItem *)
+ ?blurRadius@QGraphicsBlurEffect@@QBEHXZ @ 6689 NONAME ABSENT ; int QGraphicsBlurEffect::blurRadius(void) const
+ ?opaqueArea@QAbstractGraphicsShapeItem@@UBE?AVQPainterPath@@XZ @ 6690 NONAME ; class QPainterPath QAbstractGraphicsShapeItem::opaqueArea(void) const
+ ?eventFilter@QSizeGrip@@MAE_NPAVQObject@@PAVQEvent@@@Z @ 6691 NONAME ; bool QSizeGrip::eventFilter(class QObject *, class QEvent *)
+ ?resizeEvent@QComboBox@@MAEXPAVQResizeEvent@@@Z @ 6692 NONAME ; void QComboBox::resizeEvent(class QResizeEvent *)
+ ??6@YAAAVQDataStream@@AAV0@ABVQQuaternion@@@Z @ 6693 NONAME ; class QDataStream & operator<<(class QDataStream &, class QQuaternion const &)
+ ?changeOverrideCursor@QApplication@@SAXABVQCursor@@@Z @ 6694 NONAME ; void QApplication::changeOverrideCursor(class QCursor const &)
+ ?setCurrentItem@QTreeWidget@@QAEXPAVQTreeWidgetItem@@HV?$QFlags@W4SelectionFlag@QItemSelectionModel@@@@@Z @ 6695 NONAME ; void QTreeWidget::setCurrentItem(class QTreeWidgetItem *, int, class QFlags<enum QItemSelectionModel::SelectionFlag>)
+ ?qHasPixmapTexture@@YA_NABVQBrush@@@Z @ 6696 NONAME ; bool qHasPixmapTexture(class QBrush const &)
+ ?options@QFontDialog@@QBE?AV?$QFlags@W4FontDialogOption@QFontDialog@@@@XZ @ 6697 NONAME ; class QFlags<enum QFontDialog::FontDialogOption> QFontDialog::options(void) const
+ ?setMatrix@QBrush@@QAEXABVQMatrix@@@Z @ 6698 NONAME ; void QBrush::setMatrix(class QMatrix const &)
+ ??1QSwipeGesture@@UAE@XZ @ 6699 NONAME ; QSwipeGesture::~QSwipeGesture(void)
+ ?light@QPalette@@QBEABVQBrush@@XZ @ 6700 NONAME ; class QBrush const & QPalette::light(void) const
+ ?qt_metacast@QPixmapDropShadowFilter@@UAEPAXPBD@Z @ 6701 NONAME ; void * QPixmapDropShadowFilter::qt_metacast(char const *)
+ ?imageFormat@QImageReader@@SA?AVQByteArray@@PAVQIODevice@@@Z @ 6702 NONAME ; class QByteArray QImageReader::imageFormat(class QIODevice *)
+ ?checkState@QCheckBox@@QBE?AW4CheckState@Qt@@XZ @ 6703 NONAME ; enum Qt::CheckState QCheckBox::checkState(void) const
+ ?alphaRGBMapForGlyph@QFontEngine@@UAE?AVQImage@@IHABVQTransform@@@Z @ 6704 NONAME ; class QImage QFontEngine::alphaRGBMapForGlyph(unsigned int, int, class QTransform const &)
+ ?xScale@QGraphicsScale@@QBEMXZ @ 6705 NONAME ; float QGraphicsScale::xScale(void) const
+ ?sizePolicy@QWidget@@QBE?AVQSizePolicy@@XZ @ 6706 NONAME ; class QSizePolicy QWidget::sizePolicy(void) const
+ ??0QListWidgetItem@@QAE@ABVQString@@PAVQListWidget@@H@Z @ 6707 NONAME ; QListWidgetItem::QListWidgetItem(class QString const &, class QListWidget *, int)
+ ?setDefaultAction@QToolButton@@QAEXPAVQAction@@@Z @ 6708 NONAME ; void QToolButton::setDefaultAction(class QAction *)
+ ?addSpacing@QBoxLayout@@QAEXH@Z @ 6709 NONAME ; void QBoxLayout::addSpacing(int)
+ ?keyboardInputDirection@QApplication@@SA?AW4LayoutDirection@Qt@@XZ @ 6710 NONAME ; enum Qt::LayoutDirection QApplication::keyboardInputDirection(void)
+ ?tr@QGraphicsBlurEffect@@SA?AVQString@@PBD0H@Z @ 6711 NONAME ; class QString QGraphicsBlurEffect::tr(char const *, char const *, int)
+ ?propagatePaletteChange@QWidgetPrivate@@QAEXXZ @ 6712 NONAME ; void QWidgetPrivate::propagatePaletteChange(void)
+ ??_EQGraphicsLinearLayout@@UAE@I@Z @ 6713 NONAME ; QGraphicsLinearLayout::~QGraphicsLinearLayout(unsigned int)
+ ?d_func@QSizeGrip@@ABEPBVQSizeGripPrivate@@XZ @ 6714 NONAME ; class QSizeGripPrivate const * QSizeGrip::d_func(void) const
+ ?setCursorIsFocusIndicator@QTextControl@@QAEX_N@Z @ 6715 NONAME ; void QTextControl::setCursorIsFocusIndicator(bool)
+ ?selectionChanged@QTextEdit@@IAEXXZ @ 6716 NONAME ; void QTextEdit::selectionChanged(void)
+ ??0QListWidgetItem@@QAE@PAVQListWidget@@H@Z @ 6717 NONAME ; QListWidgetItem::QListWidgetItem(class QListWidget *, int)
+ ?applicationFontFamilies@QFontDatabase@@SA?AVQStringList@@H@Z @ 6718 NONAME ; class QStringList QFontDatabase::applicationFontFamilies(int)
+ ?drawComplexControl@QCommonStyle@@UBEXW4ComplexControl@QStyle@@PBVQStyleOptionComplex@@PAVQPainter@@PBVQWidget@@@Z @ 6719 NONAME ; void QCommonStyle::drawComplexControl(enum QStyle::ComplexControl, class QStyleOptionComplex const *, class QPainter *, class QWidget const *) const
+ ?buttonClicked@QButtonGroup@@IAEXPAVQAbstractButton@@@Z @ 6720 NONAME ; void QButtonGroup::buttonClicked(class QAbstractButton *)
+ ?d_func@QFileSystemModel@@ABEPBVQFileSystemModelPrivate@@XZ @ 6721 NONAME ; class QFileSystemModelPrivate const * QFileSystemModel::d_func(void) const
+ ?read@QTreeWidgetItem@@UAEXAAVQDataStream@@@Z @ 6722 NONAME ; void QTreeWidgetItem::read(class QDataStream &)
+ ?qt_metacall@QAbstractItemDelegate@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 6723 NONAME ; int QAbstractItemDelegate::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?qt_metacall@QUndoStack@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 6724 NONAME ; int QUndoStack::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?scrollDirtyRegion@QAbstractItemView@@IAEXHH@Z @ 6725 NONAME ; void QAbstractItemView::scrollDirtyRegion(int, int)
+ ??D@YA?AVQLine@@ABV0@ABVQMatrix@@@Z @ 6726 NONAME ; class QLine operator*(class QLine const &, class QMatrix const &)
+ ?rightBearing@QFontMetricsF@@QBEMVQChar@@@Z @ 6727 NONAME ; float QFontMetricsF::rightBearing(class QChar) const
+ ??0QImageIOPlugin@@QAE@PAVQObject@@@Z @ 6728 NONAME ; QImageIOPlugin::QImageIOPlugin(class QObject *)
+ ?qt_metacall@QGraphicsProxyWidget@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 6729 NONAME ; int QGraphicsProxyWidget::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?setFrameFormat@QTextFrame@@QAEXABVQTextFrameFormat@@@Z @ 6730 NONAME ; void QTextFrame::setFrameFormat(class QTextFrameFormat const &)
+ ?index@QFileSystemModel@@QBE?AVQModelIndex@@ABVQString@@H@Z @ 6731 NONAME ; class QModelIndex QFileSystemModel::index(class QString const &, int) const
+ ?translate@QPainter@@QAEXABVQPointF@@@Z @ 6732 NONAME ; void QPainter::translate(class QPointF const &)
+ ??FQTreeWidgetItemIterator@@QAEAAV0@XZ @ 6733 NONAME ; class QTreeWidgetItemIterator & QTreeWidgetItemIterator::operator--(void)
+ ?paintEvent@QWidget@@MAEXPAVQPaintEvent@@@Z @ 6734 NONAME ; void QWidget::paintEvent(class QPaintEvent *)
+ ?resizeEvent@QAbstractItemView@@MAEXPAVQResizeEvent@@@Z @ 6735 NONAME ; void QAbstractItemView::resizeEvent(class QResizeEvent *)
+ ?setRenderHint@QPainter@@QAEXW4RenderHint@1@_N@Z @ 6736 NONAME ; void QPainter::setRenderHint(enum QPainter::RenderHint, bool)
+ ?colorChanged@QGraphicsColorizeEffect@@IAEXABVQColor@@@Z @ 6737 NONAME ; void QGraphicsColorizeEffect::colorChanged(class QColor const &)
+ ?symbianProcessWsEvent@QApplicationPrivate@@QAEHPBVTWsEvent@@@Z @ 6738 NONAME ; int QApplicationPrivate::symbianProcessWsEvent(class TWsEvent const *)
+ ?setControlType@QSizePolicy@@QAEXW4ControlType@1@@Z @ 6739 NONAME ; void QSizePolicy::setControlType(enum QSizePolicy::ControlType)
+ ?controlPointRect@QVectorPath@@QBE?AVQRectF@@XZ @ 6740 NONAME ; class QRectF QVectorPath::controlPointRect(void) const
+ ?minLeftBearing@QFontMetricsF@@QBEMXZ @ 6741 NONAME ; float QFontMetricsF::minLeftBearing(void) const
+ ?effectiveRectFor@QWidgetPrivate@@QBE?AVQRect@@ABV2@@Z @ 6742 NONAME ; class QRect QWidgetPrivate::effectiveRectFor(class QRect const &) const
+ ?scrollContentsBy@QGraphicsView@@MAEXHH@Z @ 6743 NONAME ; void QGraphicsView::scrollContentsBy(int, int)
+ ??0QMimeSource@@QAE@ABV0@@Z @ 6744 NONAME ; QMimeSource::QMimeSource(class QMimeSource const &)
+ ?rotateVector@QQuaternion@@QBE?AVQVector3D@@ABV2@@Z @ 6745 NONAME ; class QVector3D QQuaternion::rotateVector(class QVector3D const &) const
+ ?setSource@QGraphicsSceneDragDropEvent@@QAEXPAVQWidget@@@Z @ 6746 NONAME ; void QGraphicsSceneDragDropEvent::setSource(class QWidget *)
+ ??0QScrollBar@@QAE@PAVQWidget@@@Z @ 6747 NONAME ; QScrollBar::QScrollBar(class QWidget *)
+ ??8QPainterPath@@QBE_NABV0@@Z @ 6748 NONAME ; bool QPainterPath::operator==(class QPainterPath const &) const
+ ?trUtf8@QAbstractProxyModel@@SA?AVQString@@PBD0H@Z @ 6749 NONAME ; class QString QAbstractProxyModel::trUtf8(char const *, char const *, int)
+ ?buttonDownPos@QGraphicsSceneMouseEvent@@QBE?AVQPointF@@W4MouseButton@Qt@@@Z @ 6750 NONAME ; class QPointF QGraphicsSceneMouseEvent::buttonDownPos(enum Qt::MouseButton) const
+ ?currentTextChanged@QListWidget@@IAEXABVQString@@@Z @ 6751 NONAME ; void QListWidget::currentTextChanged(class QString const &)
+ ?metaObject@QMdiArea@@UBEPBUQMetaObject@@XZ @ 6752 NONAME ; struct QMetaObject const * QMdiArea::metaObject(void) const
+ ??0QStyleOptionQ3ListViewItem@@IAE@H@Z @ 6753 NONAME ; QStyleOptionQ3ListViewItem::QStyleOptionQ3ListViewItem(int)
+ ?setVerticalScrollBar@QAbstractScrollArea@@QAEXPAVQScrollBar@@@Z @ 6754 NONAME ; void QAbstractScrollArea::setVerticalScrollBar(class QScrollBar *)
+ ?capStyle@QStroker@@QBE?AW4PenCapStyle@Qt@@XZ @ 6755 NONAME ; enum Qt::PenCapStyle QStroker::capStyle(void) const
+ ?mousePressEvent@QLabel@@MAEXPAVQMouseEvent@@@Z @ 6756 NONAME ; void QLabel::mousePressEvent(class QMouseEvent *)
+ ?getStaticMetaObject@QTextFrame@@SAABUQMetaObject@@XZ @ 6757 NONAME ; struct QMetaObject const & QTextFrame::getStaticMetaObject(void)
+ ?fromImage@QPixmap@@SA?AV1@ABVQImage@@V?$QFlags@W4ImageConversionFlag@Qt@@@@@Z @ 6758 NONAME ; class QPixmap QPixmap::fromImage(class QImage const &, class QFlags<enum Qt::ImageConversionFlag>)
+ ?selectionChanged@QItemSelectionModel@@IAEXABVQItemSelection@@0@Z @ 6759 NONAME ; void QItemSelectionModel::selectionChanged(class QItemSelection const &, class QItemSelection const &)
+ ?updateCells@QCalendarWidget@@IAEXXZ @ 6760 NONAME ; void QCalendarWidget::updateCells(void)
+ ?tr@QFrame@@SA?AVQString@@PBD0H@Z @ 6761 NONAME ; class QString QFrame::tr(char const *, char const *, int)
+ ??0QTreeView@@IAE@AAVQTreeViewPrivate@@PAVQWidget@@@Z @ 6762 NONAME ; QTreeView::QTreeView(class QTreeViewPrivate &, class QWidget *)
+ ??0QAbstractItemView@@QAE@PAVQWidget@@@Z @ 6763 NONAME ; QAbstractItemView::QAbstractItemView(class QWidget *)
+ ?maximumWidth@QTextLayout@@QBEMXZ @ 6764 NONAME ; float QTextLayout::maximumWidth(void) const
+ ?setPos@QGraphicsSceneContextMenuEvent@@QAEXABVQPointF@@@Z @ 6765 NONAME ; void QGraphicsSceneContextMenuEvent::setPos(class QPointF const &)
+ ?shear@QMatrix@@QAEAAV1@MM@Z @ 6766 NONAME ; class QMatrix & QMatrix::shear(float, float)
+ ??_EQFileDialog@@UAE@I@Z @ 6767 NONAME ; QFileDialog::~QFileDialog(unsigned int)
+ ?drawText@QPainter@@QAEXHHABVQString@@@Z @ 6768 NONAME ; void QPainter::drawText(int, int, class QString const &)
+ ?currentWidget@QToolBox@@QBEPAVQWidget@@XZ @ 6769 NONAME ; class QWidget * QToolBox::currentWidget(void) const
+ ?setX@QGraphicsItem@@QAEXM@Z @ 6770 NONAME ; void QGraphicsItem::setX(float)
+ ?insertColumn@QTableWidget@@QAEXH@Z @ 6771 NONAME ; void QTableWidget::insertColumn(int)
+ ??0QInputMethodEvent@@QAE@ABVQString@@ABV?$QList@VAttribute@QInputMethodEvent@@@@@Z @ 6772 NONAME ; QInputMethodEvent::QInputMethodEvent(class QString const &, class QList<class QInputMethodEvent::Attribute> const &)
+ ??_EQGraphicsLineItem@@UAE@I@Z @ 6773 NONAME ; QGraphicsLineItem::~QGraphicsLineItem(unsigned int)
+ ?connectPath@QPainterPath@@QAEXABV1@@Z @ 6774 NONAME ; void QPainterPath::connectPath(class QPainterPath const &)
+ ?drawControl@QCommonStyle@@UBEXW4ControlElement@QStyle@@PBVQStyleOption@@PAVQPainter@@PBVQWidget@@@Z @ 6775 NONAME ; void QCommonStyle::drawControl(enum QStyle::ControlElement, class QStyleOption const *, class QPainter *, class QWidget const *) const
+ ?qt_metacast@QUndoStack@@UAEPAXPBD@Z @ 6776 NONAME ; void * QUndoStack::qt_metacast(char const *)
+ ?trUtf8@QColumnView@@SA?AVQString@@PBD0H@Z @ 6777 NONAME ; class QString QColumnView::trUtf8(char const *, char const *, int)
+ ?dragMoveEvent@QAbstractItemView@@MAEXPAVQDragMoveEvent@@@Z @ 6778 NONAME ; void QAbstractItemView::dragMoveEvent(class QDragMoveEvent *)
+ ?widthMM@QPaintDevice@@QBEHXZ @ 6779 NONAME ; int QPaintDevice::widthMM(void) const
+ ?itemAtPosition@QGridLayout@@QBEPAVQLayoutItem@@HH@Z @ 6780 NONAME ; class QLayoutItem * QGridLayout::itemAtPosition(int, int) const
+ ?setFocus@QGraphicsScene@@QAEXW4FocusReason@Qt@@@Z @ 6781 NONAME ; void QGraphicsScene::setFocus(enum Qt::FocusReason)
+ ?ensureCursorVisible@QTextEdit@@QAEXXZ @ 6782 NONAME ; void QTextEdit::ensureCursorVisible(void)
+ ?menu@QAction@@QBEPAVQMenu@@XZ @ 6783 NONAME ; class QMenu * QAction::menu(void) const
+ ?getStaticMetaObject@QTextControl@@SAABUQMetaObject@@XZ @ 6784 NONAME ; struct QMetaObject const & QTextControl::getStaticMetaObject(void)
+ ?angle@QConicalGradient@@QBEMXZ @ 6785 NONAME ; float QConicalGradient::angle(void) const
+ ?metaObject@QWidgetAction@@UBEPBUQMetaObject@@XZ @ 6786 NONAME ; struct QMetaObject const * QWidgetAction::metaObject(void) const
+ ??1QInputEvent@@UAE@XZ @ 6787 NONAME ; QInputEvent::~QInputEvent(void)
+ ?freeMemory@QTextEngine@@QAEXXZ @ 6788 NONAME ; void QTextEngine::freeMemory(void)
+ ?setRadius@QPixmapBlurFilter@@QAEXH@Z @ 6789 NONAME ABSENT ; void QPixmapBlurFilter::setRadius(int)
+ ?metaObject@QDialogButtonBox@@UBEPBUQMetaObject@@XZ @ 6790 NONAME ; struct QMetaObject const * QDialogButtonBox::metaObject(void) const
+ ?qt_metacall@QWidgetAction@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 6791 NONAME ; int QWidgetAction::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?addSubWindow@QMdiArea@@QAEPAVQMdiSubWindow@@PAVQWidget@@V?$QFlags@W4WindowType@Qt@@@@@Z @ 6792 NONAME ; class QMdiSubWindow * QMdiArea::addSubWindow(class QWidget *, class QFlags<enum Qt::WindowType>)
+ ?tableCellFormatIndex@QTextTableCell@@QBEHXZ @ 6793 NONAME ; int QTextTableCell::tableCellFormatIndex(void) const
+ ?staticMetaObject@QPixmapFilter@@2UQMetaObject@@B @ 6794 NONAME ; struct QMetaObject const QPixmapFilter::staticMetaObject
+ ?tr@QItemSelectionModel@@SA?AVQString@@PBD0@Z @ 6795 NONAME ; class QString QItemSelectionModel::tr(char const *, char const *)
+ ?drawBase@QTabBar@@QBE_NXZ @ 6796 NONAME ; bool QTabBar::drawBase(void) const
+ ?setCompositionMode@QPainter@@QAEXW4CompositionMode@1@@Z @ 6797 NONAME ; void QPainter::setCompositionMode(enum QPainter::CompositionMode)
+ ?itemAt@QListWidget@@QBEPAVQListWidgetItem@@HH@Z @ 6798 NONAME ; class QListWidgetItem * QListWidget::itemAt(int, int) const
+ ?textAlignment@QTreeWidgetItem@@QBEHH@Z @ 6799 NONAME ; int QTreeWidgetItem::textAlignment(int) const
+ ??1QGraphicsEllipseItem@@UAE@XZ @ 6800 NONAME ; QGraphicsEllipseItem::~QGraphicsEllipseItem(void)
+ ??1QGraphicsLineItem@@UAE@XZ @ 6801 NONAME ; QGraphicsLineItem::~QGraphicsLineItem(void)
+ ?horizontalSpacing@QGraphicsGridLayout@@QBEMXZ @ 6802 NONAME ; float QGraphicsGridLayout::horizontalSpacing(void) const
+ ?text@QTextItem@@QBE?AVQString@@XZ @ 6803 NONAME ; class QString QTextItem::text(void) const
+ ?fontSelected@QFontDialog@@IAEXABVQFont@@@Z @ 6804 NONAME ; void QFontDialog::fontSelected(class QFont const &)
+ ?defaultAction@QMenu@@QBEPAVQAction@@XZ @ 6805 NONAME ; class QAction * QMenu::defaultAction(void) const
+ ?horizontalOffset@QColumnView@@MBEHXZ @ 6806 NONAME ; int QColumnView::horizontalOffset(void) const
+ ?parseInputMask@QLineControl@@AAEXABVQString@@@Z @ 6807 NONAME ; void QLineControl::parseInputMask(class QString const &)
+ ?qFadeEffect@@YAXPAVQWidget@@H@Z @ 6808 NONAME ; void qFadeEffect(class QWidget *, int)
+ ?trUtf8@QPushButton@@SA?AVQString@@PBD0H@Z @ 6809 NONAME ; class QString QPushButton::trUtf8(char const *, char const *, int)
+ ?isFinished@QSound@@QBE_NXZ @ 6810 NONAME ; bool QSound::isFinished(void) const
+ ?hasSelection@QItemSelectionModel@@QBE_NXZ @ 6811 NONAME ; bool QItemSelectionModel::hasSelection(void) const
+ ?mnemonic@QKeySequence@@SA?AV1@ABVQString@@@Z @ 6812 NONAME ; class QKeySequence QKeySequence::mnemonic(class QString const &)
+ ?selectionChanged@QAbstractItemView@@MAEXABVQItemSelection@@0@Z @ 6813 NONAME ; void QAbstractItemView::selectionChanged(class QItemSelection const &, class QItemSelection const &)
+ ??0QDockWidget@@QAE@PAVQWidget@@V?$QFlags@W4WindowType@Qt@@@@@Z @ 6814 NONAME ; QDockWidget::QDockWidget(class QWidget *, class QFlags<enum Qt::WindowType>)
+ ?itemChanged@QStandardItemModel@@IAEXPAVQStandardItem@@@Z @ 6815 NONAME ; void QStandardItemModel::itemChanged(class QStandardItem *)
+ ?colormap@QColormap@@QBE?BV?$QVector@VQColor@@@@XZ @ 6816 NONAME ; class QVector<class QColor> const QColormap::colormap(void) const
+ ?getStaticMetaObject@QInputContext@@SAABUQMetaObject@@XZ @ 6817 NONAME ; struct QMetaObject const & QInputContext::getStaticMetaObject(void)
+ ??_EQErrorMessage@@UAE@I@Z @ 6818 NONAME ; QErrorMessage::~QErrorMessage(unsigned int)
+ ?d_func@QGraphicsSceneResizeEvent@@AAEPAVQGraphicsSceneResizeEventPrivate@@XZ @ 6819 NONAME ; class QGraphicsSceneResizeEventPrivate * QGraphicsSceneResizeEvent::d_func(void)
+ ?detach@QPixmap@@QAEXXZ @ 6820 NONAME ; void QPixmap::detach(void)
+ ?getStaticMetaObject@QDoubleValidator@@SAABUQMetaObject@@XZ @ 6821 NONAME ; struct QMetaObject const & QDoubleValidator::getStaticMetaObject(void)
+ ?trUtf8@QAbstractSpinBox@@SA?AVQString@@PBD0@Z @ 6822 NONAME ; class QString QAbstractSpinBox::trUtf8(char const *, char const *)
+ ??9QTextLength@@QBE_NABV0@@Z @ 6823 NONAME ; bool QTextLength::operator!=(class QTextLength const &) const
+ ?maximumWidth@QWidget@@QBEHXZ @ 6824 NONAME ; int QWidget::maximumWidth(void) const
+ ?setBrushOrigin@QPainter@@QAEXABVQPoint@@@Z @ 6825 NONAME ; void QPainter::setBrushOrigin(class QPoint const &)
+ ?getWidgetPosition@QFormLayout@@QBEXPAVQWidget@@PAHPAW4ItemRole@1@@Z @ 6826 NONAME ; void QFormLayout::getWidgetPosition(class QWidget *, int *, enum QFormLayout::ItemRole *) const
+ ?dataChanged@QAbstractItemView@@MAEXABVQModelIndex@@0@Z @ 6827 NONAME ; void QAbstractItemView::dataChanged(class QModelIndex const &, class QModelIndex const &)
+ ?addRect@QGraphicsScene@@QAEPAVQGraphicsRectItem@@ABVQRectF@@ABVQPen@@ABVQBrush@@@Z @ 6828 NONAME ; class QGraphicsRectItem * QGraphicsScene::addRect(class QRectF const &, class QPen const &, class QBrush const &)
+ ?isSectionHidden@QHeaderView@@QBE_NH@Z @ 6829 NONAME ; bool QHeaderView::isSectionHidden(int) const
+ ?mapToScene@QGraphicsView@@QBE?AVQPolygonF@@ABVQRect@@@Z @ 6830 NONAME ; class QPolygonF QGraphicsView::mapToScene(class QRect const &) const
+ ?ascent@QLineControl@@QBEHXZ @ 6831 NONAME ; int QLineControl::ascent(void) const
+ ?scheduleDelayedItemsLayout@QAbstractItemView@@IAEXXZ @ 6832 NONAME ; void QAbstractItemView::scheduleDelayedItemsLayout(void)
+ ?testDirty@QPaintEngine@@QAE_NV?$QFlags@W4DirtyFlag@QPaintEngine@@@@@Z @ 6833 NONAME ; bool QPaintEngine::testDirty(class QFlags<enum QPaintEngine::DirtyFlag>)
+ ?setChecked@QAction@@QAEX_N@Z @ 6834 NONAME ; void QAction::setChecked(bool)
+ ?drawPixmap@QPainter@@QAEXABVQRectF@@ABVQPixmap@@0@Z @ 6835 NONAME ; void QPainter::drawPixmap(class QRectF const &, class QPixmap const &, class QRectF const &)
+ ?metaObject@QSplashScreen@@UBEPBUQMetaObject@@XZ @ 6836 NONAME ; struct QMetaObject const * QSplashScreen::metaObject(void) const
+ ?keyboardSearch@QTreeView@@UAEXABVQString@@@Z @ 6837 NONAME ; void QTreeView::keyboardSearch(class QString const &)
+ ?midLineWidth@QFrame@@QBEHXZ @ 6838 NONAME ; int QFrame::midLineWidth(void) const
+ ?priority@QAction@@QBE?AW4Priority@1@XZ @ 6839 NONAME ; enum QAction::Priority QAction::priority(void) const
+ ?qt_metacast@QStackedWidget@@UAEPAXPBD@Z @ 6840 NONAME ; void * QStackedWidget::qt_metacast(char const *)
+ ?addDockWidget@QMainWindow@@QAEXW4DockWidgetArea@Qt@@PAVQDockWidget@@@Z @ 6841 NONAME ; void QMainWindow::addDockWidget(enum Qt::DockWidgetArea, class QDockWidget *)
+ ?hsvSaturation@QColor@@QBEHXZ @ 6842 NONAME ; int QColor::hsvSaturation(void) const
+ ?setFontFamily@QTextCharFormat@@QAEXABVQString@@@Z @ 6843 NONAME ; void QTextCharFormat::setFontFamily(class QString const &)
+ ?getStaticMetaObject@QFileDialog@@SAABUQMetaObject@@XZ @ 6844 NONAME ; struct QMetaObject const & QFileDialog::getStaticMetaObject(void)
+ ?resolveFont@QWidgetPrivate@@QAEXXZ @ 6845 NONAME ; void QWidgetPrivate::resolveFont(void)
+ ?removeButton@QButtonGroup@@QAEXPAVQAbstractButton@@@Z @ 6846 NONAME ; void QButtonGroup::removeButton(class QAbstractButton *)
+ ?sizeHint@QWidgetItemV2@@UBE?AVQSize@@XZ @ 6847 NONAME ; class QSize QWidgetItemV2::sizeHint(void) const
+ ?isAccepted@QGestureEvent@@QBE_NPAVQGesture@@@Z @ 6848 NONAME ; bool QGestureEvent::isAccepted(class QGesture *) const
+ ?changeEvent@QSplitter@@MAEXPAVQEvent@@@Z @ 6849 NONAME ; void QSplitter::changeEvent(class QEvent *)
+ ?letterSpacing@QFont@@QBEMXZ @ 6850 NONAME ; float QFont::letterSpacing(void) const
+ ?backgroundMode@QPaintEngineState@@QBE?AW4BGMode@Qt@@XZ @ 6851 NONAME ; enum Qt::BGMode QPaintEngineState::backgroundMode(void) const
+ ?staticMetaObject@QCoeFepInputContext@@2UQMetaObject@@B @ 6852 NONAME ABSENT ; struct QMetaObject const QCoeFepInputContext::staticMetaObject
+ ?enterWhatsThisMode@QWhatsThis@@SAXXZ @ 6853 NONAME ; void QWhatsThis::enterWhatsThisMode(void)
+ ?textInteractionFlags@QPlainTextEdit@@QBE?AV?$QFlags@W4TextInteractionFlag@Qt@@@@XZ @ 6854 NONAME ; class QFlags<enum Qt::TextInteractionFlag> QPlainTextEdit::textInteractionFlags(void) const
+ ?addToolBar@QMainWindow@@QAEXPAVQToolBar@@@Z @ 6855 NONAME ; void QMainWindow::addToolBar(class QToolBar *)
+ ?initializeMultitouch@QApplicationPrivate@@QAEXXZ @ 6856 NONAME ; void QApplicationPrivate::initializeMultitouch(void)
+ ??_EQStandardItem@@UAE@I@Z @ 6857 NONAME ; QStandardItem::~QStandardItem(unsigned int)
+ ?isComboBoxEditable@QInputDialog@@QBE_NXZ @ 6858 NONAME ; bool QInputDialog::isComboBoxEditable(void) const
+ ?midPoint@QBezier@@QBE?AVQPointF@@XZ @ 6859 NONAME ; class QPointF QBezier::midPoint(void) const
+ ?isEditable@QComboBox@@QBE_NXZ @ 6860 NONAME ; bool QComboBox::isEditable(void) const
+ ?d_func@QPicture@@ABEPBVQPicturePrivate@@XZ @ 6861 NONAME ; class QPicturePrivate const * QPicture::d_func(void) const
+ ?inputMethodEvent@QGraphicsTextItem@@MAEXPAVQInputMethodEvent@@@Z @ 6862 NONAME ; void QGraphicsTextItem::inputMethodEvent(class QInputMethodEvent *)
+ ?isEmpty@QSpacerItem@@UBE_NXZ @ 6863 NONAME ; bool QSpacerItem::isEmpty(void) const
+ ?subtracted@QPolygonF@@QBE?AV1@ABV1@@Z @ 6864 NONAME ; class QPolygonF QPolygonF::subtracted(class QPolygonF const &) const
+ ??_EQWidgetAction@@UAE@I@Z @ 6865 NONAME ; QWidgetAction::~QWidgetAction(unsigned int)
+ ?boundingRectFor@QGraphicsDropShadowEffect@@UBE?AVQRectF@@ABV2@@Z @ 6866 NONAME ; class QRectF QGraphicsDropShadowEffect::boundingRectFor(class QRectF const &) const
+ ?isDetached@QPicture@@QBE_NXZ @ 6867 NONAME ; bool QPicture::isDetached(void) const
+ ?setSizeIncrement@QWidget@@QAEXABVQSize@@@Z @ 6868 NONAME ; void QWidget::setSizeIncrement(class QSize const &)
+ ?setModified@QTextDocument@@QAEX_N@Z @ 6869 NONAME ; void QTextDocument::setModified(bool)
+ ?createExtra@QWidgetPrivate@@QAEXXZ @ 6870 NONAME ; void QWidgetPrivate::createExtra(void)
+ ?lineSpacing@QFontMetrics@@QBEHXZ @ 6871 NONAME ; int QFontMetrics::lineSpacing(void) const
+ ?d_func@QWidgetAction@@AAEPAVQWidgetActionPrivate@@XZ @ 6872 NONAME ; class QWidgetActionPrivate * QWidgetAction::d_func(void)
+ ?d_func@QActionGroup@@AAEPAVQActionGroupPrivate@@XZ @ 6873 NONAME ; class QActionGroupPrivate * QActionGroup::d_func(void)
+ ?qt_metacast@QFrame@@UAEPAXPBD@Z @ 6874 NONAME ; void * QFrame::qt_metacast(char const *)
+ ?ensureVisible@QGraphicsView@@QAEXABVQRectF@@HH@Z @ 6875 NONAME ; void QGraphicsView::ensureVisible(class QRectF const &, int, int)
+ ?textInteractionFlags@QLabel@@QBE?AV?$QFlags@W4TextInteractionFlag@Qt@@@@XZ @ 6876 NONAME ; class QFlags<enum Qt::TextInteractionFlag> QLabel::textInteractionFlags(void) const
+ ?keyPressEvent@QGraphicsItem@@MAEXPAVQKeyEvent@@@Z @ 6877 NONAME ; void QGraphicsItem::keyPressEvent(class QKeyEvent *)
+ ?setInformativeText@QMessageBox@@QAEXABVQString@@@Z @ 6878 NONAME ; void QMessageBox::setInformativeText(class QString const &)
+ ?levelOfDetailFromTransform@QStyleOptionGraphicsItem@@SAMABVQTransform@@@Z @ 6879 NONAME ; float QStyleOptionGraphicsItem::levelOfDetailFromTransform(class QTransform const &)
+ ??1QPainter@@QAE@XZ @ 6880 NONAME ; QPainter::~QPainter(void)
+ ?recordError@Parser@QCss@@QAE_NXZ @ 6881 NONAME ; bool QCss::Parser::recordError(void)
+ ?setBlueF@QColor@@QAEXM@Z @ 6882 NONAME ; void QColor::setBlueF(float)
+ ?focusInEvent@QPushButton@@MAEXPAVQFocusEvent@@@Z @ 6883 NONAME ; void QPushButton::focusInEvent(class QFocusEvent *)
+ ?fillRect@QPaintEngineEx@@UAEXABVQRectF@@ABVQBrush@@@Z @ 6884 NONAME ; void QPaintEngineEx::fillRect(class QRectF const &, class QBrush const &)
+ ?group@QUndoView@@QBEPAVQUndoGroup@@XZ @ 6885 NONAME ; class QUndoGroup * QUndoView::group(void) const
+ ?isProxyWidget@QGraphicsItemPrivate@@UBE_NXZ @ 6886 NONAME ; bool QGraphicsItemPrivate::isProxyWidget(void) const
+ ?addItem@QToolBox@@QAEHPAVQWidget@@ABVQIcon@@ABVQString@@@Z @ 6887 NONAME ; int QToolBox::addItem(class QWidget *, class QIcon const &, class QString const &)
+ ?firstCursorPosition@QTextTableCell@@QBE?AVQTextCursor@@XZ @ 6888 NONAME ; class QTextCursor QTextTableCell::firstCursorPosition(void) const
+ ?qt_metacast@QTextEdit@@UAEPAXPBD@Z @ 6889 NONAME ; void * QTextEdit::qt_metacast(char const *)
+ ??0QCompleter@@QAE@PAVQAbstractItemModel@@PAVQObject@@@Z @ 6890 NONAME ; QCompleter::QCompleter(class QAbstractItemModel *, class QObject *)
+ ?setSizes@QSplitter@@QAEXABV?$QList@H@@@Z @ 6891 NONAME ; void QSplitter::setSizes(class QList<int> const &)
+ ?stretchSectionCount@QHeaderView@@QBEHXZ @ 6892 NONAME ; int QHeaderView::stretchSectionCount(void) const
+ ?characterAt@QTextDocument@@QBE?AVQChar@@H@Z @ 6893 NONAME ; class QChar QTextDocument::characterAt(int) const
+ ??0QVector3D@@QAE@ABVQVector2D@@M@Z @ 6894 NONAME ; QVector3D::QVector3D(class QVector2D const &, float)
+ ?brush@QPalette@@QBEABVQBrush@@W4ColorRole@1@@Z @ 6895 NONAME ; class QBrush const & QPalette::brush(enum QPalette::ColorRole) const
+ ?setAnchorName@QTextCharFormat@@QAEXABVQString@@@Z @ 6896 NONAME ; void QTextCharFormat::setAnchorName(class QString const &)
+ ?hasComplexSelection@QTextCursor@@QBE_NXZ @ 6897 NONAME ; bool QTextCursor::hasComplexSelection(void) const
+ ?updateEditorGeometry@QStyledItemDelegate@@UBEXPAVQWidget@@ABVQStyleOptionViewItem@@ABVQModelIndex@@@Z @ 6898 NONAME ; void QStyledItemDelegate::updateEditorGeometry(class QWidget *, class QStyleOptionViewItem const &, class QModelIndex const &) const
+ ?setColorGroup@QPalette@@AAEXW4ColorGroup@1@ABVQBrush@@1111111111111111@Z @ 6899 NONAME ; void QPalette::setColorGroup(enum QPalette::ColorGroup, class QBrush const &, class QBrush const &, class QBrush const &, class QBrush const &, class QBrush const &, class QBrush const &, class QBrush const &, class QBrush const &, class QBrush const &, class QBrush const &, class QBrush const &, class QBrush const &, class QBrush const &, class QBrush const &, class QBrush const &, class QBrush const &, class QBrush const &)
+ ?hasSelectedText@QLineControl@@QBE_NXZ @ 6900 NONAME ; bool QLineControl::hasSelectedText(void) const
+ ?qt_metacast@QStackedLayout@@UAEPAXPBD@Z @ 6901 NONAME ; void * QStackedLayout::qt_metacast(char const *)
+ ?sortCaseSensitivity@QSortFilterProxyModel@@QBE?AW4CaseSensitivity@Qt@@XZ @ 6902 NONAME ; enum Qt::CaseSensitivity QSortFilterProxyModel::sortCaseSensitivity(void) const
+ ?changeEvent@QDockWidget@@MAEXPAVQEvent@@@Z @ 6903 NONAME ; void QDockWidget::changeEvent(class QEvent *)
+ ?setOption@QMdiArea@@QAEXW4AreaOption@1@_N@Z @ 6904 NONAME ; void QMdiArea::setOption(enum QMdiArea::AreaOption, bool)
+ ?detach@QImage@@QAEXXZ @ 6905 NONAME ; void QImage::detach(void)
+ ?getStaticMetaObject@QGraphicsScale@@SAABUQMetaObject@@XZ @ 6906 NONAME ; struct QMetaObject const & QGraphicsScale::getStaticMetaObject(void)
+ ?beginMacro@QUndoStack@@QAEXABVQString@@@Z @ 6907 NONAME ; void QUndoStack::beginMacro(class QString const &)
+ ?showNextMonth@QCalendarWidget@@QAEXXZ @ 6908 NONAME ; void QCalendarWidget::showNextMonth(void)
+ ??0QSlider@@QAE@W4Orientation@Qt@@PAVQWidget@@@Z @ 6909 NONAME ; QSlider::QSlider(enum Qt::Orientation, class QWidget *)
+ ?mapToGlobal@QWidget@@QBE?AVQPoint@@ABV2@@Z @ 6910 NONAME ; class QPoint QWidget::mapToGlobal(class QPoint const &) const
+ ?tightBoundingRect@QFontMetricsF@@QBE?AVQRectF@@ABVQString@@@Z @ 6911 NONAME ; class QRectF QFontMetricsF::tightBoundingRect(class QString const &) const
+ ?standardPalette@QStyle@@UBE?AVQPalette@@XZ @ 6912 NONAME ; class QPalette QStyle::standardPalette(void) const
+ ?setWeight@QFont@@QAEXH@Z @ 6913 NONAME ; void QFont::setWeight(int)
+ ??0QConicalGradient@@QAE@MMM@Z @ 6914 NONAME ; QConicalGradient::QConicalGradient(float, float, float)
+ ?isBlockedByModalPanel@QGraphicsItem@@QBE_NPAPAV1@@Z @ 6915 NONAME ; bool QGraphicsItem::isBlockedByModalPanel(class QGraphicsItem * *) const
+ ?setPolygon@QGraphicsPolygonItem@@QAEXABVQPolygonF@@@Z @ 6916 NONAME ; void QGraphicsPolygonItem::setPolygon(class QPolygonF const &)
+ ?startTangent@QBezier@@QBE?AVQLineF@@XZ @ 6917 NONAME ; class QLineF QBezier::startTangent(void) const
+ ?setTranslationAt@QGraphicsItemAnimation@@QAEXMMM@Z @ 6918 NONAME ; void QGraphicsItemAnimation::setTranslationAt(float, float, float)
+ ?buttonReleased@QButtonGroup@@IAEXPAVQAbstractButton@@@Z @ 6919 NONAME ; void QButtonGroup::buttonReleased(class QAbstractButton *)
+ ?focusItem@QGraphicsItem@@QBEPAV1@XZ @ 6920 NONAME ; class QGraphicsItem * QGraphicsItem::focusItem(void) const
+ ?resize@QRubberBand@@QAEXHH@Z @ 6921 NONAME ; void QRubberBand::resize(int, int)
+ ?alignment@QGraphicsGridLayout@@QBE?AV?$QFlags@W4AlignmentFlag@Qt@@@@PAVQGraphicsLayoutItem@@@Z @ 6922 NONAME ; class QFlags<enum Qt::AlignmentFlag> QGraphicsGridLayout::alignment(class QGraphicsLayoutItem *) const
+ ??_EQApplicationPrivate@@UAE@I@Z @ 6923 NONAME ; QApplicationPrivate::~QApplicationPrivate(unsigned int)
+ ?trUtf8@QToolButton@@SA?AVQString@@PBD0@Z @ 6924 NONAME ; class QString QToolButton::trUtf8(char const *, char const *)
+ ?checkState@QTableWidgetItem@@QBE?AW4CheckState@Qt@@XZ @ 6925 NONAME ; enum Qt::CheckState QTableWidgetItem::checkState(void) const
+ ?pressed@QAbstractItemView@@IAEXABVQModelIndex@@@Z @ 6926 NONAME ; void QAbstractItemView::pressed(class QModelIndex const &)
+ ??_EQGraphicsItemPrivate@@UAE@I@Z @ 6927 NONAME ; QGraphicsItemPrivate::~QGraphicsItemPrivate(unsigned int)
+ ?restoreRedirected@QWidgetPrivate@@QAEXXZ @ 6928 NONAME ; void QWidgetPrivate::restoreRedirected(void)
+ ??1QGraphicsItemPrivate@@UAE@XZ @ 6929 NONAME ; QGraphicsItemPrivate::~QGraphicsItemPrivate(void)
+ ?setHeight@QTextFrameFormat@@QAEXABVQTextLength@@@Z @ 6930 NONAME ; void QTextFrameFormat::setHeight(class QTextLength const &)
+ ??1QIconEngine@@UAE@XZ @ 6931 NONAME ; QIconEngine::~QIconEngine(void)
+ ?dashOffset@QPainterPathStroker@@QBEMXZ @ 6932 NONAME ; float QPainterPathStroker::dashOffset(void) const
+ ?metaObject@QDataWidgetMapper@@UBEPBUQMetaObject@@XZ @ 6933 NONAME ; struct QMetaObject const * QDataWidgetMapper::metaObject(void) const
+ ?mousePressEvent@QMenu@@MAEXPAVQMouseEvent@@@Z @ 6934 NONAME ; void QMenu::mousePressEvent(class QMouseEvent *)
+ ?inline_type@QTransform@@ABE?AW4TransformationType@1@XZ @ 6935 NONAME ; enum QTransform::TransformationType QTransform::inline_type(void) const
+ ?setItemSelected@QTreeWidget@@QAEXPBVQTreeWidgetItem@@_N@Z @ 6936 NONAME ; void QTreeWidget::setItemSelected(class QTreeWidgetItem const *, bool)
+ ?indexFromItem@QTableWidget@@IBE?AVQModelIndex@@PAVQTableWidgetItem@@@Z @ 6937 NONAME ; class QModelIndex QTableWidget::indexFromItem(class QTableWidgetItem *) const
+ ?selected@QActionGroup@@IAEXPAVQAction@@@Z @ 6938 NONAME ; void QActionGroup::selected(class QAction *)
+ ?updateDisplayText@QLineControl@@AAEXXZ @ 6939 NONAME ; void QLineControl::updateDisplayText(void)
+ ?setHotSpot@QGesture@@QAEXABVQPointF@@@Z @ 6940 NONAME ; void QGesture::setHotSpot(class QPointF const &)
+ ?entered@QAbstractItemView@@IAEXABVQModelIndex@@@Z @ 6941 NONAME ; void QAbstractItemView::entered(class QModelIndex const &)
+ ?dockOptions@QMainWindow@@QBE?AV?$QFlags@W4DockOption@QMainWindow@@@@XZ @ 6942 NONAME ; class QFlags<enum QMainWindow::DockOption> QMainWindow::dockOptions(void) const
+ ??1QTextImageFormat@@QAE@XZ @ 6943 NONAME ; QTextImageFormat::~QTextImageFormat(void)
+ ??1QPaintDevice@@UAE@XZ @ 6944 NONAME ; QPaintDevice::~QPaintDevice(void)
+ ?axisChanged@QGraphicsRotation@@IAEXXZ @ 6945 NONAME ; void QGraphicsRotation::axisChanged(void)
+ ?columnCount@QStandardItem@@QBEHXZ @ 6946 NONAME ; int QStandardItem::columnCount(void) const
+ ?tr@QStatusBar@@SA?AVQString@@PBD0@Z @ 6947 NONAME ; class QString QStatusBar::tr(char const *, char const *)
+ ?visitedPages@QWizard@@QBE?AV?$QList@H@@XZ @ 6948 NONAME ; class QList<int> QWizard::visitedPages(void) const
+ ?red@QColor@@QBEHXZ @ 6949 NONAME ; int QColor::red(void) const
+ ?processKeyEvent@QLineControl@@QAEXPAVQKeyEvent@@@Z @ 6950 NONAME ; void QLineControl::processKeyEvent(class QKeyEvent *)
+ ?strokePath@QPainter@@QAEXABVQPainterPath@@ABVQPen@@@Z @ 6951 NONAME ; void QPainter::strokePath(class QPainterPath const &, class QPen const &)
+ ??0QImageReader@@QAE@XZ @ 6952 NONAME ; QImageReader::QImageReader(void)
+ ?selectionModel@QAbstractItemView@@QBEPAVQItemSelectionModel@@XZ @ 6953 NONAME ; class QItemSelectionModel * QAbstractItemView::selectionModel(void) const
+ ?tr@QCalendarWidget@@SA?AVQString@@PBD0H@Z @ 6954 NONAME ; class QString QCalendarWidget::tr(char const *, char const *, int)
+ ?setHorizontalScrollBarPolicy@QAbstractScrollArea@@QAEXW4ScrollBarPolicy@Qt@@@Z @ 6955 NONAME ; void QAbstractScrollArea::setHorizontalScrollBarPolicy(enum Qt::ScrollBarPolicy)
+ ?indexOf@QLayout@@UBEHPAVQWidget@@@Z @ 6956 NONAME ; int QLayout::indexOf(class QWidget *) const
+ ?undo@QUndoCommand@@UAEXXZ @ 6957 NONAME ; void QUndoCommand::undo(void)
+ ?setDateEditAcceptDelay@QCalendarWidget@@QAEXH@Z @ 6958 NONAME ; void QCalendarWidget::setDateEditAcceptDelay(int)
+ ?setDropAction@QDropEvent@@QAEXW4DropAction@Qt@@@Z @ 6959 NONAME ; void QDropEvent::setDropAction(enum Qt::DropAction)
+ ?setCurrentIndex@QTabWidget@@QAEXH@Z @ 6960 NONAME ; void QTabWidget::setCurrentIndex(int)
+ ?widgetCount@QApplicationPrivate@@2_NA @ 6961 NONAME ; bool QApplicationPrivate::widgetCount
+ ?dashPattern@QPainterPathStroker@@QBE?AV?$QVector@M@@XZ @ 6962 NONAME ; class QVector<float> QPainterPathStroker::dashPattern(void) const
+ ??1QTextureGlyphCache@@UAE@XZ @ 6963 NONAME ; QTextureGlyphCache::~QTextureGlyphCache(void)
+ ?gridStyle@QTableView@@QBE?AW4PenStyle@Qt@@XZ @ 6964 NONAME ; enum Qt::PenStyle QTableView::gridStyle(void) const
+ ?modelSorting@QCompleter@@QBE?AW4ModelSorting@1@XZ @ 6965 NONAME ; enum QCompleter::ModelSorting QCompleter::modelSorting(void) const
+ ?fontUnderline@QTextEdit@@QBE_NXZ @ 6966 NONAME ; bool QTextEdit::fontUnderline(void) const
+ ?setStyleHint@QFont@@QAEXW4StyleHint@1@W4StyleStrategy@1@@Z @ 6967 NONAME ; void QFont::setStyleHint(enum QFont::StyleHint, enum QFont::StyleStrategy)
+ ?hasImplicitClose@QVectorPath@@QBE_NXZ @ 6968 NONAME ; bool QVectorPath::hasImplicitClose(void) const
+ ?clipRegion@QPainter@@QBE?AVQRegion@@XZ @ 6969 NONAME ; class QRegion QPainter::clipRegion(void) const
+ ?dropMimeData@QSortFilterProxyModel@@UAE_NPBVQMimeData@@W4DropAction@Qt@@HHABVQModelIndex@@@Z @ 6970 NONAME ; bool QSortFilterProxyModel::dropMimeData(class QMimeData const *, enum Qt::DropAction, int, int, class QModelIndex const &)
+ ?trUtf8@QWidgetResizeHandler@@SA?AVQString@@PBD0@Z @ 6971 NONAME ; class QString QWidgetResizeHandler::trUtf8(char const *, char const *)
+ ??BQMatrix@@QBE?AVQVariant@@XZ @ 6972 NONAME ; QMatrix::operator class QVariant(void) const
+ ?open@QMessageBox@@QAEXPAVQObject@@PBD@Z @ 6973 NONAME ; void QMessageBox::open(class QObject *, char const *)
+ ??0QWindowsStyle@@IAE@AAVQWindowsStylePrivate@@@Z @ 6974 NONAME ; QWindowsStyle::QWindowsStyle(class QWindowsStylePrivate &)
+ ?qt_metacast@QInputContextPlugin@@UAEPAXPBD@Z @ 6975 NONAME ; void * QInputContextPlugin::qt_metacast(char const *)
+ ?removeTab@QTabWidget@@QAEXH@Z @ 6976 NONAME ; void QTabWidget::removeTab(int)
+ ?isSelected@QItemSelectionModel@@QBE_NABVQModelIndex@@@Z @ 6977 NONAME ; bool QItemSelectionModel::isSelected(class QModelIndex const &) const
+ ?textEdited@QLineEdit@@IAEXABVQString@@@Z @ 6978 NONAME ; void QLineEdit::textEdited(class QString const &)
+ ?cursorRect@QLineEdit@@IBE?AVQRect@@XZ @ 6979 NONAME ; class QRect QLineEdit::cursorRect(void) const
+ ?sizeHint@QGraphicsLinearLayout@@UBE?AVQSizeF@@W4SizeHint@Qt@@ABV2@@Z @ 6980 NONAME ; class QSizeF QGraphicsLinearLayout::sizeHint(enum Qt::SizeHint, class QSizeF const &) const
+ ?setColorGroup@QPalette@@QAEXW4ColorGroup@1@ABVQBrush@@11111111@Z @ 6981 NONAME ; void QPalette::setColorGroup(enum QPalette::ColorGroup, class QBrush const &, class QBrush const &, class QBrush const &, class QBrush const &, class QBrush const &, class QBrush const &, class QBrush const &, class QBrush const &, class QBrush const &)
+ ?focusInEvent@QAbstractItemView@@MAEXPAVQFocusEvent@@@Z @ 6982 NONAME ; void QAbstractItemView::focusInEvent(class QFocusEvent *)
+ ?row@QTableWidgetItem@@QBEHXZ @ 6983 NONAME ; int QTableWidgetItem::row(void) const
+ ?currentRow@QTableWidget@@QBEHXZ @ 6984 NONAME ; int QTableWidget::currentRow(void) const
+ ?clear@QPixmapCache@@SAXXZ @ 6985 NONAME ; void QPixmapCache::clear(void)
+ ?d_func@QInputDialog@@ABEPBVQInputDialogPrivate@@XZ @ 6986 NONAME ; class QInputDialogPrivate const * QInputDialog::d_func(void) const
+ ?isFullyTransparent@QGraphicsItemPrivate@@QBE_NXZ @ 6987 NONAME ; bool QGraphicsItemPrivate::isFullyTransparent(void) const
+ ?shape@QVectorPath@@QBE?AW4Hint@1@XZ @ 6988 NONAME ; enum QVectorPath::Hint QVectorPath::shape(void) const
+ ?icon@QTreeWidgetItem@@QBE?AVQIcon@@H@Z @ 6989 NONAME ; class QIcon QTreeWidgetItem::icon(int) const
+ ??0QTableView@@IAE@AAVQTableViewPrivate@@PAVQWidget@@@Z @ 6990 NONAME ; QTableView::QTableView(class QTableViewPrivate &, class QWidget *)
+ ?d_func@QTreeView@@ABEPBVQTreeViewPrivate@@XZ @ 6991 NONAME ; class QTreeViewPrivate const * QTreeView::d_func(void) const
+ ?d_func@QWindowsStyle@@ABEPBVQWindowsStylePrivate@@XZ @ 6992 NONAME ; class QWindowsStylePrivate const * QWindowsStyle::d_func(void) const
+ ?background@QPainter@@QBEABVQBrush@@XZ @ 6993 NONAME ; class QBrush const & QPainter::background(void) const
+ ??1QTextTableCell@@QAE@XZ @ 6994 NONAME ; QTextTableCell::~QTextTableCell(void)
+ ?staticMetaObject@QStackedLayout@@2UQMetaObject@@B @ 6995 NONAME ; struct QMetaObject const QStackedLayout::staticMetaObject
+ ?pointSizes@QFontDatabase@@QAE?AV?$QList@H@@ABVQString@@0@Z @ 6996 NONAME ; class QList<int> QFontDatabase::pointSizes(class QString const &, class QString const &)
+ ?createUndoAction@QUndoStack@@QBEPAVQAction@@PAVQObject@@ABVQString@@@Z @ 6997 NONAME ; class QAction * QUndoStack::createUndoAction(class QObject *, class QString const &) const
+ ?columnAt@QTableView@@QBEHH@Z @ 6998 NONAME ; int QTableView::columnAt(int) const
+ ?pointSize@QFont@@QBEHXZ @ 6999 NONAME ; int QFont::pointSize(void) const
+ ?setSpanAngle@QGraphicsEllipseItem@@QAEXH@Z @ 7000 NONAME ; void QGraphicsEllipseItem::setSpanAngle(int)
+ ?firstDayOfWeek@QCalendarWidget@@QBE?AW4DayOfWeek@Qt@@XZ @ 7001 NONAME ; enum Qt::DayOfWeek QCalendarWidget::firstDayOfWeek(void) const
+ ?indexOfTopLevelItem@QTreeWidget@@QAEHPAVQTreeWidgetItem@@@Z @ 7002 NONAME ; int QTreeWidget::indexOfTopLevelItem(class QTreeWidgetItem *)
+ ?italic@QFont@@QBE_NXZ @ 7003 NONAME ; bool QFont::italic(void) const
+ ??0QStyleOptionComboBox@@QAE@XZ @ 7004 NONAME ; QStyleOptionComboBox::QStyleOptionComboBox(void)
+ ?atStart@QTextCursor@@QBE_NXZ @ 7005 NONAME ; bool QTextCursor::atStart(void) const
+ ?drawLine@QPainter@@QAEXABVQPoint@@0@Z @ 7006 NONAME ; void QPainter::drawLine(class QPoint const &, class QPoint const &)
+ ?drawPixmap@QPainter@@QAEXABVQRect@@ABVQPixmap@@@Z @ 7007 NONAME ; void QPainter::drawPixmap(class QRect const &, class QPixmap const &)
+ ??8QTextBlock@@QBE_NABV0@@Z @ 7008 NONAME ; bool QTextBlock::operator==(class QTextBlock const &) const
+ ?trUtf8@QUndoStack@@SA?AVQString@@PBD0@Z @ 7009 NONAME ; class QString QUndoStack::trUtf8(char const *, char const *)
+ ?d_func@QGroupBox@@AAEPAVQGroupBoxPrivate@@XZ @ 7010 NONAME ; class QGroupBoxPrivate * QGroupBox::d_func(void)
+ ?touchPoints@QTouchEvent@@QBEABV?$QList@VTouchPoint@QTouchEvent@@@@XZ @ 7011 NONAME ; class QList<class QTouchEvent::TouchPoint> const & QTouchEvent::touchPoints(void) const
+ ?setFont@QTextCharFormat@@QAEXABVQFont@@@Z @ 7012 NONAME ; void QTextCharFormat::setFont(class QFont const &)
+ ?fixedPitch@QFont@@QBE_NXZ @ 7013 NONAME ; bool QFont::fixedPitch(void) const
+ ?mouseMoveEvent@QHeaderView@@MAEXPAVQMouseEvent@@@Z @ 7014 NONAME ; void QHeaderView::mouseMoveEvent(class QMouseEvent *)
+ ??0QPolygon@@QAE@HPBH@Z @ 7015 NONAME ; QPolygon::QPolygon(int, int const *)
+ ??1QIconEnginePlugin@@UAE@XZ @ 7016 NONAME ; QIconEnginePlugin::~QIconEnginePlugin(void)
+ ?qt_metacast@QGraphicsColorizeEffect@@UAEPAXPBD@Z @ 7017 NONAME ; void * QGraphicsColorizeEffect::qt_metacast(char const *)
+ ?drawPixmaps@QPaintEngineEx@@UAEXPBUData@QDrawPixmaps@@HABVQPixmap@@V?$QFlags@W4DrawingHint@QDrawPixmaps@@@@@Z @ 7018 NONAME ; void QPaintEngineEx::drawPixmaps(struct QDrawPixmaps::Data const *, int, class QPixmap const &, class QFlags<enum QDrawPixmaps::DrawingHint>)
+ ??1QGraphicsTextItem@@UAE@XZ @ 7019 NONAME ; QGraphicsTextItem::~QGraphicsTextItem(void)
+ ?trUtf8@QStackedLayout@@SA?AVQString@@PBD0H@Z @ 7020 NONAME ; class QString QStackedLayout::trUtf8(char const *, char const *, int)
+ ?styleString@QFontDatabase@@QAE?AVQString@@ABVQFontInfo@@@Z @ 7021 NONAME ; class QString QFontDatabase::styleString(class QFontInfo const &)
+ ?items@QGraphicsView@@QBE?AV?$QList@PAVQGraphicsItem@@@@ABVQPolygon@@W4ItemSelectionMode@Qt@@@Z @ 7022 NONAME ; class QList<class QGraphicsItem *> QGraphicsView::items(class QPolygon const &, enum Qt::ItemSelectionMode) const
+ ?boundingRect@QPolygonF@@QBE?AVQRectF@@XZ @ 7023 NONAME ; class QRectF QPolygonF::boundingRect(void) const
+ ?metric@QPaintBuffer@@UBEHW4PaintDeviceMetric@QPaintDevice@@@Z @ 7024 NONAME ; int QPaintBuffer::metric(enum QPaintDevice::PaintDeviceMetric) const
+ ?createList@QTextCursor@@QAEPAVQTextList@@W4Style@QTextListFormat@@@Z @ 7025 NONAME ; class QTextList * QTextCursor::createList(enum QTextListFormat::Style)
+ ?releaseShortcut@QGraphicsWidget@@QAEXH@Z @ 7026 NONAME ; void QGraphicsWidget::releaseShortcut(int)
+ ?trUtf8@QTabBar@@SA?AVQString@@PBD0@Z @ 7027 NONAME ; class QString QTabBar::trUtf8(char const *, char const *)
+ ?contentOffset@QPlainTextEdit@@IBE?AVQPointF@@XZ @ 7028 NONAME ; class QPointF QPlainTextEdit::contentOffset(void) const
+ ?views@QGraphicsScene@@QBE?AV?$QList@PAVQGraphicsView@@@@XZ @ 7029 NONAME ; class QList<class QGraphicsView *> QGraphicsScene::views(void) const
+ ?tr@QDoubleValidator@@SA?AVQString@@PBD0H@Z @ 7030 NONAME ; class QString QDoubleValidator::tr(char const *, char const *, int)
+ ?setContentsMargins@QWidget@@QAEXABVQMargins@@@Z @ 7031 NONAME ; void QWidget::setContentsMargins(class QMargins const &)
+ ?documentMode@QTabBar@@QBE_NXZ @ 7032 NONAME ; bool QTabBar::documentMode(void) const
+ ?getStaticMetaObject@QTreeWidget@@SAABUQMetaObject@@XZ @ 7033 NONAME ; struct QMetaObject const & QTreeWidget::getStaticMetaObject(void)
+ ?insertActions@QGraphicsWidget@@QAEXPAVQAction@@V?$QList@PAVQAction@@@@@Z @ 7034 NONAME ; void QGraphicsWidget::insertActions(class QAction *, class QList<class QAction *>)
+ ?icon@QAction@@QBE?AVQIcon@@XZ @ 7035 NONAME ; class QIcon QAction::icon(void) const
+ ?activeStack@QUndoGroup@@QBEPAVQUndoStack@@XZ @ 7036 NONAME ; class QUndoStack * QUndoGroup::activeStack(void) const
+ ??BQFont@@QBE?AVQVariant@@XZ @ 7037 NONAME ; QFont::operator class QVariant(void) const
+ ??1QWorkspace@@UAE@XZ @ 7038 NONAME ; QWorkspace::~QWorkspace(void)
+ ?activated@QCompleter@@IAEXABVQModelIndex@@@Z @ 7039 NONAME ; void QCompleter::activated(class QModelIndex const &)
+ ?count@QUndoStack@@QBEHXZ @ 7040 NONAME ; int QUndoStack::count(void) const
+ ??1QDrag@@UAE@XZ @ 7041 NONAME ; QDrag::~QDrag(void)
+ ?emitSelectionChanged@QItemSelectionModel@@IAEXABVQItemSelection@@0@Z @ 7042 NONAME ; void QItemSelectionModel::emitSelectionChanged(class QItemSelection const &, class QItemSelection const &)
+ ?d_func@QInputContext@@AAEPAVQInputContextPrivate@@XZ @ 7043 NONAME ; class QInputContextPrivate * QInputContext::d_func(void)
+ ?setAutoReset@QProgressDialog@@QAEX_N@Z @ 7044 NONAME ; void QProgressDialog::setAutoReset(bool)
+ ??1QCommandLinkButton@@UAE@XZ @ 7045 NONAME ; QCommandLinkButton::~QCommandLinkButton(void)
+ ?setIcon@QAction@@QAEXABVQIcon@@@Z @ 7046 NONAME ; void QAction::setIcon(class QIcon const &)
+ ?graphics_system@QApplicationPrivate@@2PAVQGraphicsSystem@@A @ 7047 NONAME ; class QGraphicsSystem * QApplicationPrivate::graphics_system
+ ?toFillPolygon@QPainterPath@@QBE?AVQPolygonF@@ABVQMatrix@@@Z @ 7048 NONAME ; class QPolygonF QPainterPath::toFillPolygon(class QMatrix const &) const
+ ?createStroke@QPainterPathStroker@@QBE?AVQPainterPath@@ABV2@@Z @ 7049 NONAME ; class QPainterPath QPainterPathStroker::createStroke(class QPainterPath const &) const
+ ??0QDoubleValidator@@QAE@PAVQObject@@@Z @ 7050 NONAME ; QDoubleValidator::QDoubleValidator(class QObject *)
+ ??1QShortcut@@UAE@XZ @ 7051 NONAME ; QShortcut::~QShortcut(void)
+ ??6@YAAAVQDataStream@@AAV0@ABVQPolygon@@@Z @ 7052 NONAME ; class QDataStream & operator<<(class QDataStream &, class QPolygon const &)
+ ?shape@QRubberBand@@QBE?AW4Shape@1@XZ @ 7053 NONAME ; enum QRubberBand::Shape QRubberBand::shape(void) const
+ ?elementCount@QPainterPath@@QBEHXZ @ 7054 NONAME ; int QPainterPath::elementCount(void) const
+ ?changeEvent@QGroupBox@@MAEXPAVQEvent@@@Z @ 7055 NONAME ; void QGroupBox::changeEvent(class QEvent *)
+ ??0QSplashScreen@@QAE@ABVQPixmap@@V?$QFlags@W4WindowType@Qt@@@@@Z @ 7056 NONAME ; QSplashScreen::QSplashScreen(class QPixmap const &, class QFlags<enum Qt::WindowType>)
+ ?parentWidget@QLayout@@QBEPAVQWidget@@XZ @ 7057 NONAME ; class QWidget * QLayout::parentWidget(void) const
+ ?setModelData@QItemDelegate@@UBEXPAVQWidget@@PAVQAbstractItemModel@@ABVQModelIndex@@@Z @ 7058 NONAME ; void QItemDelegate::setModelData(class QWidget *, class QAbstractItemModel *, class QModelIndex const &) const
+ ?inSelection@QLineControl@@QBE_NH@Z @ 7059 NONAME ; bool QLineControl::inSelection(int) const
+ ?isClosed@QPolygonF@@QBE_NXZ @ 7060 NONAME ; bool QPolygonF::isClosed(void) const
+ ?d_func@QLineEdit@@AAEPAVQLineEditPrivate@@XZ @ 7061 NONAME ; class QLineEditPrivate * QLineEdit::d_func(void)
+ ?mappedSection@QDataWidgetMapper@@QBEHPAVQWidget@@@Z @ 7062 NONAME ; int QDataWidgetMapper::mappedSection(class QWidget *) const
+ ?d_func@QSplitterHandle@@AAEPAVQSplitterHandlePrivate@@XZ @ 7063 NONAME ; class QSplitterHandlePrivate * QSplitterHandle::d_func(void)
+ ?qt_metacast@QWorkspace@@UAEPAXPBD@Z @ 7064 NONAME ; void * QWorkspace::qt_metacast(char const *)
+ ?d_func@QGraphicsItemGroup@@AAEPAVQGraphicsItemGroupPrivate@@XZ @ 7065 NONAME ; class QGraphicsItemGroupPrivate * QGraphicsItemGroup::d_func(void)
+ ??_EQPictureFormatInterface@@UAE@I@Z @ 7066 NONAME ; QPictureFormatInterface::~QPictureFormatInterface(unsigned int)
+ ?horizontalScrollbarAction@QTreeView@@MAEXH@Z @ 7067 NONAME ; void QTreeView::horizontalScrollbarAction(int)
+ ?setDefaultButton@QMessageBox@@QAEXPAVQPushButton@@@Z @ 7068 NONAME ; void QMessageBox::setDefaultButton(class QPushButton *)
+ ?collidesWithPath@QGraphicsItem@@UBE_NABVQPainterPath@@W4ItemSelectionMode@Qt@@@Z @ 7069 NONAME ; bool QGraphicsItem::collidesWithPath(class QPainterPath const &, enum Qt::ItemSelectionMode) const
+ ?sendMouseEvent@QApplicationPrivate@@SA_NPAVQWidget@@PAVQMouseEvent@@00PAPAV2@AAV?$QPointer@VQWidget@@@@_N@Z @ 7070 NONAME ; bool QApplicationPrivate::sendMouseEvent(class QWidget *, class QMouseEvent *, class QWidget *, class QWidget *, class QWidget * *, class QPointer<class QWidget> &, bool)
+ ?d_func@QRadioButton@@ABEPBVQRadioButtonPrivate@@XZ @ 7071 NONAME ; class QRadioButtonPrivate const * QRadioButton::d_func(void) const
+ ??_EQFrame@@UAE@I@Z @ 7072 NONAME ; QFrame::~QFrame(unsigned int)
+ ?setMinimumWidth@QWidget@@QAEXH@Z @ 7073 NONAME ; void QWidget::setMinimumWidth(int)
+ ?d_func@QPainter@@AAEPAVQPainterPrivate@@XZ @ 7074 NONAME ; class QPainterPrivate * QPainter::d_func(void)
+ ?move@QWidget@@QAEXABVQPoint@@@Z @ 7075 NONAME ; void QWidget::move(class QPoint const &)
+ ?d_func@QTableView@@AAEPAVQTableViewPrivate@@XZ @ 7076 NONAME ; class QTableViewPrivate * QTableView::d_func(void)
+ ?parseRuleset@Parser@QCss@@QAE_NPAUStyleRule@2@@Z @ 7077 NONAME ; bool QCss::Parser::parseRuleset(struct QCss::StyleRule *)
+ ?canceledGestures@QGestureEvent@@QBE?AV?$QList@PAVQGesture@@@@XZ @ 7078 NONAME ; class QList<class QGesture *> QGestureEvent::canceledGestures(void) const
+ ?metaObject@QGraphicsColorizeEffect@@UBEPBUQMetaObject@@XZ @ 7079 NONAME ; struct QMetaObject const * QGraphicsColorizeEffect::metaObject(void) const
+ ?setAcceptRichText@QTextControl@@QAEX_N@Z @ 7080 NONAME ; void QTextControl::setAcceptRichText(bool)
+ ??0QGraphicsPixmapItem@@QAE@PAVQGraphicsItem@@PAVQGraphicsScene@@@Z @ 7081 NONAME ; QGraphicsPixmapItem::QGraphicsPixmapItem(class QGraphicsItem *, class QGraphicsScene *)
+ ??1TouchPoint@QTouchEvent@@QAE@XZ @ 7082 NONAME ; QTouchEvent::TouchPoint::~TouchPoint(void)
+ ??_EQGraphicsPixelizeEffect@@UAE@I@Z @ 7083 NONAME ABSENT ; QGraphicsPixelizeEffect::~QGraphicsPixelizeEffect(unsigned int)
+ ?createTLSysExtra@QWidgetPrivate@@QAEXXZ @ 7084 NONAME ; void QWidgetPrivate::createTLSysExtra(void)
+ ?dropEvent@QGraphicsTextItem@@MAEXPAVQGraphicsSceneDragDropEvent@@@Z @ 7085 NONAME ; void QGraphicsTextItem::dropEvent(class QGraphicsSceneDragDropEvent *)
+ ?insertChildren@QTreeWidgetItem@@QAEXHABV?$QList@PAVQTreeWidgetItem@@@@@Z @ 7086 NONAME ; void QTreeWidgetItem::insertChildren(int, class QList<class QTreeWidgetItem *> const &)
+ ?startDragTime@QApplication@@SAHXZ @ 7087 NONAME ; int QApplication::startDragTime(void)
+ ??0QPaintBuffer@@QAE@ABV0@@Z @ 7088 NONAME ; QPaintBuffer::QPaintBuffer(class QPaintBuffer const &)
+ ?isValid@QItemSelectionRange@@QBE_NXZ @ 7089 NONAME ; bool QItemSelectionRange::isValid(void) const
+ ?length@QTextFragment@@QBEHXZ @ 7090 NONAME ; int QTextFragment::length(void) const
+ ?writingSystem@QFontComboBox@@QBE?AW4WritingSystem@QFontDatabase@@XZ @ 7091 NONAME ; enum QFontDatabase::WritingSystem QFontComboBox::writingSystem(void) const
+ ?collapse@QTreeView@@QAEXABVQModelIndex@@@Z @ 7092 NONAME ; void QTreeView::collapse(class QModelIndex const &)
+ ?trUtf8@QInputContext@@SA?AVQString@@PBD0H@Z @ 7093 NONAME ; class QString QInputContext::trUtf8(char const *, char const *, int)
+ ?setStyle@QBrush@@QAEXW4BrushStyle@Qt@@@Z @ 7094 NONAME ; void QBrush::setStyle(enum Qt::BrushStyle)
+ ?setXOffset@QGraphicsDropShadowEffect@@QAEXM@Z @ 7095 NONAME ; void QGraphicsDropShadowEffect::setXOffset(float)
+ ?afterAnimationStep@QGraphicsItemAnimation@@MAEXM@Z @ 7096 NONAME ; void QGraphicsItemAnimation::afterAnimationStep(float)
+ ?detach@QFont@@AAEXXZ @ 7097 NONAME ; void QFont::detach(void)
+ ?setEnabled@QAction@@QAEX_N@Z @ 7098 NONAME ; void QAction::setEnabled(bool)
+ ?setChecked@QGroupBox@@QAEX_N@Z @ 7099 NONAME ; void QGroupBox::setChecked(bool)
+ ?sourceModel@QAbstractProxyModel@@QBEPAVQAbstractItemModel@@XZ @ 7100 NONAME ; class QAbstractItemModel * QAbstractProxyModel::sourceModel(void) const
+ ?boundingRect@QFontMetrics@@QBE?AVQRect@@HHHHHABVQString@@HPAH@Z @ 7101 NONAME ; class QRect QFontMetrics::boundingRect(int, int, int, int, int, class QString const &, int, int *) const
+ ??1QDataWidgetMapper@@UAE@XZ @ 7102 NONAME ; QDataWidgetMapper::~QDataWidgetMapper(void)
+ ?accept@QGestureEvent@@QAEXPAVQGesture@@@Z @ 7103 NONAME ; void QGestureEvent::accept(class QGesture *)
+ ??_EQUndoStack@@UAE@I@Z @ 7104 NONAME ; QUndoStack::~QUndoStack(unsigned int)
+ ?clipRegion@QPaintEngineState@@QBE?AVQRegion@@XZ @ 7105 NONAME ; class QRegion QPaintEngineState::clipRegion(void) const
+ ?qt_metacast@QIntValidator@@UAEPAXPBD@Z @ 7106 NONAME ; void * QIntValidator::qt_metacast(char const *)
+ ??K@YA?AVQTransform@@ABV0@M@Z @ 7107 NONAME ; class QTransform operator/(class QTransform const &, float)
+ ?invalidateChildrenSceneTransform@QGraphicsItemPrivate@@QAEXXZ @ 7108 NONAME ; void QGraphicsItemPrivate::invalidateChildrenSceneTransform(void)
+ ?trUtf8@QGraphicsBloomEffect@@SA?AVQString@@PBD0H@Z @ 7109 NONAME ABSENT ; class QString QGraphicsBloomEffect::trUtf8(char const *, char const *, int)
+ ?metaObject@QTextFrame@@UBEPBUQMetaObject@@XZ @ 7110 NONAME ; struct QMetaObject const * QTextFrame::metaObject(void) const
+ ?hasFormatCached@QTextFormatCollection@@QBE_NABVQTextFormat@@@Z @ 7111 NONAME ; bool QTextFormatCollection::hasFormatCached(class QTextFormat const &) const
+ ?eventFilter@QMenuBar@@MAE_NPAVQObject@@PAVQEvent@@@Z @ 7112 NONAME ; bool QMenuBar::eventFilter(class QObject *, class QEvent *)
+ ?setShortcutEnabled@QWidget@@QAEXH_N@Z @ 7113 NONAME ; void QWidget::setShortcutEnabled(int, bool)
+ ?setEchoMode@QLineControl@@QAEXI@Z @ 7114 NONAME ; void QLineControl::setEchoMode(unsigned int)
+ ?oldPos@QMoveEvent@@QBEABVQPoint@@XZ @ 7115 NONAME ; class QPoint const & QMoveEvent::oldPos(void) const
+ ?fromHtml@QTextDocumentFragment@@SA?AV1@ABVQString@@@Z @ 7116 NONAME ; class QTextDocumentFragment QTextDocumentFragment::fromHtml(class QString const &)
+ ??G@YA?AVQTransform@@ABV0@M@Z @ 7117 NONAME ; class QTransform operator-(class QTransform const &, float)
+ ?jumpToImage@QImageIOHandler@@UAE_NH@Z @ 7118 NONAME ; bool QImageIOHandler::jumpToImage(int)
+ ?setPalette@QGraphicsScene@@QAEXABVQPalette@@@Z @ 7119 NONAME ; void QGraphicsScene::setPalette(class QPalette const &)
+ ?sizeHint@QScrollBar@@UBE?AVQSize@@XZ @ 7120 NONAME ; class QSize QScrollBar::sizeHint(void) const
+ ?isWindowModified@QWidget@@QBE_NXZ @ 7121 NONAME ; bool QWidget::isWindowModified(void) const
+ ?text@QAbstractButton@@QBE?AVQString@@XZ @ 7122 NONAME ; class QString QAbstractButton::text(void) const
+ ?devType@QPaintBuffer@@UBEHXZ @ 7123 NONAME ; int QPaintBuffer::devType(void) const
+ ?isColumnSelected@QItemSelectionModel@@QBE_NHABVQModelIndex@@@Z @ 7124 NONAME ; bool QItemSelectionModel::isColumnSelected(int, class QModelIndex const &) const
+ ?resource@QTextDocument@@QBE?AVQVariant@@HABVQUrl@@@Z @ 7125 NONAME ; class QVariant QTextDocument::resource(int, class QUrl const &) const
+ ?setNewSize@QGraphicsSceneResizeEvent@@QAEXABVQSizeF@@@Z @ 7126 NONAME ; void QGraphicsSceneResizeEvent::setNewSize(class QSizeF const &)
+ ?staticMetaObject@QSlider@@2UQMetaObject@@B @ 7127 NONAME ; struct QMetaObject const QSlider::staticMetaObject
+ ?modalState@QApplicationPrivate@@SA_NXZ @ 7128 NONAME ; bool QApplicationPrivate::modalState(void)
+ ?targetChanged@QDrag@@IAEXPAVQWidget@@@Z @ 7129 NONAME ; void QDrag::targetChanged(class QWidget *)
+ ?setSizePolicy@QGraphicsAnchor@@QAEXW4Policy@QSizePolicy@@@Z @ 7130 NONAME ; void QGraphicsAnchor::setSizePolicy(enum QSizePolicy::Policy)
+ ?setFontPointSize@QTextCharFormat@@QAEXM@Z @ 7131 NONAME ; void QTextCharFormat::setFontPointSize(float)
+ ?setDragCursor@QDrag@@QAEXABVQPixmap@@W4DropAction@Qt@@@Z @ 7132 NONAME ; void QDrag::setDragCursor(class QPixmap const &, enum Qt::DropAction)
+ ??0QStyleOptionTabV2@@QAE@ABV0@@Z @ 7133 NONAME ; QStyleOptionTabV2::QStyleOptionTabV2(class QStyleOptionTabV2 const &)
+ ?mapFrom@QWidget@@QBE?AVQPoint@@PAV1@ABV2@@Z @ 7134 NONAME ; class QPoint QWidget::mapFrom(class QWidget *, class QPoint const &) const
+ ?sendDeferredInputEvents@QEventDispatcherS60@@AAE_NXZ @ 7135 NONAME ; bool QEventDispatcherS60::sendDeferredInputEvents(void)
+ ?getStaticMetaObject@QCommandLinkButton@@SAABUQMetaObject@@XZ @ 7136 NONAME ; struct QMetaObject const & QCommandLinkButton::getStaticMetaObject(void)
+ ?setTabShape@QTabWidget@@QAEXW4TabShape@1@@Z @ 7137 NONAME ; void QTabWidget::setTabShape(enum QTabWidget::TabShape)
+ ?fillPath@QPainter@@QAEXABVQPainterPath@@ABVQBrush@@@Z @ 7138 NONAME ; void QPainter::fillPath(class QPainterPath const &, class QBrush const &)
+ ?metaObject@QFrame@@UBEPBUQMetaObject@@XZ @ 7139 NONAME ; struct QMetaObject const * QFrame::metaObject(void) const
+ ?textCursor@QPlainTextEdit@@QBE?AVQTextCursor@@XZ @ 7140 NONAME ; class QTextCursor QPlainTextEdit::textCursor(void) const
+ ?doubleClickInterval@QApplication@@SAHXZ @ 7141 NONAME ; int QApplication::doubleClickInterval(void)
+ ?setFocus@QWidget@@QAEXXZ @ 7142 NONAME ; void QWidget::setFocus(void)
+ ?q_func@QApplicationPrivate@@AAEPAVQApplication@@XZ @ 7143 NONAME ; class QApplication * QApplicationPrivate::q_func(void)
+ ?d_func@QMouseEventTransition@@AAEPAVQMouseEventTransitionPrivate@@XZ @ 7144 NONAME ; class QMouseEventTransitionPrivate * QMouseEventTransition::d_func(void)
+ ?sectionClicked@QHeaderView@@IAEXH@Z @ 7145 NONAME ; void QHeaderView::sectionClicked(int)
+ ?tr@QAbstractButton@@SA?AVQString@@PBD0H@Z @ 7146 NONAME ; class QString QAbstractButton::tr(char const *, char const *, int)
+ ?mouseReleaseEvent@QComboBox@@MAEXPAVQMouseEvent@@@Z @ 7147 NONAME ; void QComboBox::mouseReleaseEvent(class QMouseEvent *)
+ ??0QStyleOptionTabWidgetFrame@@IAE@H@Z @ 7148 NONAME ; QStyleOptionTabWidgetFrame::QStyleOptionTabWidgetFrame(int)
+ ?addWidget@QStackedLayout@@QAEHPAVQWidget@@@Z @ 7149 NONAME ; int QStackedLayout::addWidget(class QWidget *)
+ ?isVisible@QAction@@QBE_NXZ @ 7150 NONAME ; bool QAction::isVisible(void) const
+ ?setLayoutDirection@QLineControl@@QAEXW4LayoutDirection@Qt@@@Z @ 7151 NONAME ; void QLineControl::setLayoutDirection(enum Qt::LayoutDirection)
+ ??0QQuaternion@@QAE@MMMM@Z @ 7152 NONAME ; QQuaternion::QQuaternion(float, float, float, float)
+ ?setIdentity@QMatrix4x4@@QAEXXZ @ 7153 NONAME ; void QMatrix4x4::setIdentity(void)
+ ?setDirtyRegion@QAbstractItemView@@IAEXABVQRegion@@@Z @ 7154 NONAME ; void QAbstractItemView::setDirtyRegion(class QRegion const &)
+ ?toFrameFormat@QTextFormat@@QBE?AVQTextFrameFormat@@XZ @ 7155 NONAME ; class QTextFrameFormat QTextFormat::toFrameFormat(void) const
+ ??0QStyleOptionToolBox@@QAE@ABV0@@Z @ 7156 NONAME ; QStyleOptionToolBox::QStyleOptionToolBox(class QStyleOptionToolBox const &)
+ ?setUpdatesEnabled_helper@QWidgetPrivate@@QAEX_N@Z @ 7157 NONAME ; void QWidgetPrivate::setUpdatesEnabled_helper(bool)
+ ??1StyleSelector@QCss@@UAE@XZ @ 7158 NONAME ; QCss::StyleSelector::~StyleSelector(void)
+ ?drawPrimitive@QWindowsStyle@@UBEXW4PrimitiveElement@QStyle@@PBVQStyleOption@@PAVQPainter@@PBVQWidget@@@Z @ 7159 NONAME ; void QWindowsStyle::drawPrimitive(enum QStyle::PrimitiveElement, class QStyleOption const *, class QPainter *, class QWidget const *) const
+ ?removeAt@QGraphicsAnchorLayout@@UAEXH@Z @ 7160 NONAME ; void QGraphicsAnchorLayout::removeAt(int)
+ ?updateSection@QHeaderView@@IAEXH@Z @ 7161 NONAME ; void QHeaderView::updateSection(int)
+ ?isEffectEnabled@QApplication@@SA_NW4UIEffect@Qt@@@Z @ 7162 NONAME ; bool QApplication::isEffectEnabled(enum Qt::UIEffect)
+ ?translated@QRegion@@QBE?AV1@HH@Z @ 7163 NONAME ; class QRegion QRegion::translated(int, int) const
+ ?hasTranslateOnlySceneTransform@QGraphicsItemPrivate@@QAE_NXZ @ 7164 NONAME ; bool QGraphicsItemPrivate::hasTranslateOnlySceneTransform(void)
+ ?setStartDragTime@QApplication@@SAXH@Z @ 7165 NONAME ; void QApplication::setStartDragTime(int)
+ ?setCompletionColumn@QCompleter@@QAEXH@Z @ 7166 NONAME ; void QCompleter::setCompletionColumn(int)
+ ?getStaticMetaObject@QComboBox@@SAABUQMetaObject@@XZ @ 7167 NONAME ; struct QMetaObject const & QComboBox::getStaticMetaObject(void)
+ ?insertItem@QBoxLayout@@IAEXHPAVQLayoutItem@@@Z @ 7168 NONAME ; void QBoxLayout::insertItem(int, class QLayoutItem *)
+ ?qt_metacast@QSound@@UAEPAXPBD@Z @ 7169 NONAME ; void * QSound::qt_metacast(char const *)
+ ?isExpanded@QTreeWidgetItem@@QBE_NXZ @ 7170 NONAME ; bool QTreeWidgetItem::isExpanded(void) const
+ ?setScenePos@QGraphicsSceneWheelEvent@@QAEXABVQPointF@@@Z @ 7171 NONAME ; void QGraphicsSceneWheelEvent::setScenePos(class QPointF const &)
+ ?qt_metacast@QDirModel@@UAEPAXPBD@Z @ 7172 NONAME ; void * QDirModel::qt_metacast(char const *)
+ ?setStatusTip@QTreeWidgetItem@@QAEXHABVQString@@@Z @ 7173 NONAME ; void QTreeWidgetItem::setStatusTip(int, class QString const &)
+ ?initializeSections@QHeaderView@@IAEXHH@Z @ 7174 NONAME ; void QHeaderView::initializeSections(int, int)
+ ?icon@QStandardItem@@QBE?AVQIcon@@XZ @ 7175 NONAME ; class QIcon QStandardItem::icon(void) const
+ ?qt_metacast@QDockWidget@@UAEPAXPBD@Z @ 7176 NONAME ; void * QDockWidget::qt_metacast(char const *)
+ ?startId@QWizard@@QBEHXZ @ 7177 NONAME ; int QWizard::startId(void) const
+ ?setMovable@QToolBar@@QAEX_N@Z @ 7178 NONAME ; void QToolBar::setMovable(bool)
+ ?trUtf8@QItemSelectionModel@@SA?AVQString@@PBD0@Z @ 7179 NONAME ; class QString QItemSelectionModel::trUtf8(char const *, char const *)
+ ??BQTextFormat@@QBE?AVQVariant@@XZ @ 7180 NONAME ; QTextFormat::operator class QVariant(void) const
+ ?sizeHint@QGraphicsAnchorLayout@@MBE?AVQSizeF@@W4SizeHint@Qt@@ABV2@@Z @ 7181 NONAME ; class QSizeF QGraphicsAnchorLayout::sizeHint(enum Qt::SizeHint, class QSizeF const &) const
+ ?mouseReleaseEvent@QMenu@@MAEXPAVQMouseEvent@@@Z @ 7182 NONAME ; void QMenu::mouseReleaseEvent(class QMouseEvent *)
+ ??_EQGraphicsColorizeEffect@@UAE@I@Z @ 7183 NONAME ; QGraphicsColorizeEffect::~QGraphicsColorizeEffect(unsigned int)
+ ?subElementRect@QProxyStyle@@UBE?AVQRect@@W4SubElement@QStyle@@PBVQStyleOption@@PBVQWidget@@@Z @ 7184 NONAME ; class QRect QProxyStyle::subElementRect(enum QStyle::SubElement, class QStyleOption const *, class QWidget const *) const
+ ?autoDefault@QPushButton@@QBE_NXZ @ 7185 NONAME ; bool QPushButton::autoDefault(void) const
+ ?child@QTreeWidgetItem@@QBEPAV1@H@Z @ 7186 NONAME ; class QTreeWidgetItem * QTreeWidgetItem::child(int) const
+ ?tr@QStandardItemModel@@SA?AVQString@@PBD0H@Z @ 7187 NONAME ; class QString QStandardItemModel::tr(char const *, char const *, int)
+ ?metaObject@QUndoView@@UBEPBUQMetaObject@@XZ @ 7188 NONAME ; struct QMetaObject const * QUndoView::metaObject(void) const
+ ?viewportTransform@QGraphicsView@@QBE?AVQTransform@@XZ @ 7189 NONAME ; class QTransform QGraphicsView::viewportTransform(void) const
+ ??_EQGraphicsSceneDragDropEvent@@UAE@I@Z @ 7190 NONAME ; QGraphicsSceneDragDropEvent::~QGraphicsSceneDragDropEvent(unsigned int)
+ ?opaqueArea@QGraphicsItem@@UBE?AVQPainterPath@@XZ @ 7191 NONAME ; class QPainterPath QGraphicsItem::opaqueArea(void) const
+ ?widget@QTabWidget@@QBEPAVQWidget@@H@Z @ 7192 NONAME ; class QWidget * QTabWidget::widget(int) const
+ ?finished@QMovie@@IAEXXZ @ 7193 NONAME ; void QMovie::finished(void)
+ ?mouseReleaseEvent@QLineEdit@@MAEXPAVQMouseEvent@@@Z @ 7194 NONAME ; void QLineEdit::mouseReleaseEvent(class QMouseEvent *)
+ ?logClusters@QTextEngine@@QBEPAGPBUQScriptItem@@@Z @ 7195 NONAME ; unsigned short * QTextEngine::logClusters(struct QScriptItem const *) const
+ ??D@YA?AVQPainterPath@@ABV0@ABVQMatrix@@@Z @ 7196 NONAME ; class QPainterPath operator*(class QPainterPath const &, class QMatrix const &)
+ ?staticMetaObject@QLabel@@2UQMetaObject@@B @ 7197 NONAME ; struct QMetaObject const QLabel::staticMetaObject
+ ?getStaticMetaObject@QGraphicsView@@SAABUQMetaObject@@XZ @ 7198 NONAME ; struct QMetaObject const & QGraphicsView::getStaticMetaObject(void)
+ ?height@QGraphicsScene@@QBEMXZ @ 7199 NONAME ; float QGraphicsScene::height(void) const
+ ?mergeCurrentCharFormat@QTextControl@@QAEXABVQTextCharFormat@@@Z @ 7200 NONAME ; void QTextControl::mergeCurrentCharFormat(class QTextCharFormat const &)
+ ?clearDirty@QPaintEngine@@QAEXV?$QFlags@W4DirtyFlag@QPaintEngine@@@@@Z @ 7201 NONAME ; void QPaintEngine::clearDirty(class QFlags<enum QPaintEngine::DirtyFlag>)
+ ?standardPixmap@QProxyStyle@@UBE?AVQPixmap@@W4StandardPixmap@QStyle@@PBVQStyleOption@@PBVQWidget@@@Z @ 7202 NONAME ; class QPixmap QProxyStyle::standardPixmap(enum QStyle::StandardPixmap, class QStyleOption const *, class QWidget const *) const
+ ??0QKeySequence@@QAE@HHHH@Z @ 7203 NONAME ; QKeySequence::QKeySequence(int, int, int, int)
+ ?setLayoutDirection@QWidget@@QAEXW4LayoutDirection@Qt@@@Z @ 7204 NONAME ; void QWidget::setLayoutDirection(enum Qt::LayoutDirection)
+ ?focusNextChild@QWidget@@IAE_NXZ @ 7205 NONAME ; bool QWidget::focusNextChild(void)
+ ?tabletEvent@QWidget@@MAEXPAVQTabletEvent@@@Z @ 7206 NONAME ; void QWidget::tabletEvent(class QTabletEvent *)
+ ?mapRect@QMatrix4x4@@QBE?AVQRectF@@ABV2@@Z @ 7207 NONAME ; class QRectF QMatrix4x4::mapRect(class QRectF const &) const
+ ?unsetSpacing@QGraphicsAnchor@@QAEXXZ @ 7208 NONAME ; void QGraphicsAnchor::unsetSpacing(void)
+ ?focusOutEvent@QComboBox@@MAEXPAVQFocusEvent@@@Z @ 7209 NONAME ; void QComboBox::focusOutEvent(class QFocusEvent *)
+ ??0QPushButton@@IAE@AAVQPushButtonPrivate@@PAVQWidget@@@Z @ 7210 NONAME ; QPushButton::QPushButton(class QPushButtonPrivate &, class QWidget *)
+ ??0QStyleOptionToolBoxV2@@QAE@ABVQStyleOptionToolBox@@@Z @ 7211 NONAME ; QStyleOptionToolBoxV2::QStyleOptionToolBoxV2(class QStyleOptionToolBox const &)
+ ?closeEvent@QAbstractSpinBox@@MAEXPAVQCloseEvent@@@Z @ 7212 NONAME ; void QAbstractSpinBox::closeEvent(class QCloseEvent *)
+ ?isBitmapScalable@QFontDatabase@@QBE_NABVQString@@0@Z @ 7213 NONAME ; bool QFontDatabase::isBitmapScalable(class QString const &, class QString const &) const
+ ?metaObject@QProxyStyle@@UBEPBUQMetaObject@@XZ @ 7214 NONAME ; struct QMetaObject const * QProxyStyle::metaObject(void) const
+ ??0QFileDialog@@IAE@ABUQFileDialogArgs@@@Z @ 7215 NONAME ; QFileDialog::QFileDialog(struct QFileDialogArgs const &)
+ ??4QKeySequence@@QAEAAV0@ABV0@@Z @ 7216 NONAME ; class QKeySequence & QKeySequence::operator=(class QKeySequence const &)
+ ?selectedFiles@QFileDialog@@QBE?AVQStringList@@XZ @ 7217 NONAME ; class QStringList QFileDialog::selectedFiles(void) const
+ ?setExtraSelections@QTextEdit@@QAEXABV?$QList@UExtraSelection@QTextEdit@@@@@Z @ 7218 NONAME ; void QTextEdit::setExtraSelections(class QList<struct QTextEdit::ExtraSelection> const &)
+ ?scale@QMatrix@@QAEAAV1@MM@Z @ 7219 NONAME ; class QMatrix & QMatrix::scale(float, float)
+ ?crossProduct@QVector3D@@SA?AV1@ABV1@0@Z @ 7220 NONAME ; class QVector3D QVector3D::crossProduct(class QVector3D const &, class QVector3D const &)
+ ?viewOptions@QTableView@@MBE?AVQStyleOptionViewItem@@XZ @ 7221 NONAME ; class QStyleOptionViewItem QTableView::viewOptions(void) const
+ ?mouseDoubleClickEvent@QAbstractItemView@@MAEXPAVQMouseEvent@@@Z @ 7222 NONAME ; void QAbstractItemView::mouseDoubleClickEvent(class QMouseEvent *)
+ ??1QGraphicsSceneMoveEvent@@UAE@XZ @ 7223 NONAME ; QGraphicsSceneMoveEvent::~QGraphicsSceneMoveEvent(void)
+ ?blockCount@QPlainTextEdit@@QBEHXZ @ 7224 NONAME ; int QPlainTextEdit::blockCount(void) const
+ ?lineNumber@QTextLine@@QBEHXZ @ 7225 NONAME ; int QTextLine::lineNumber(void) const
+ ?qt_metacast@QButtonGroup@@UAEPAXPBD@Z @ 7226 NONAME ; void * QButtonGroup::qt_metacast(char const *)
+ ?resize@QGraphicsWidget@@QAEXMM@Z @ 7227 NONAME ; void QGraphicsWidget::resize(float, float)
+ ?drawCheck@QItemDelegate@@MBEXPAVQPainter@@ABVQStyleOptionViewItem@@ABVQRect@@W4CheckState@Qt@@@Z @ 7228 NONAME ; void QItemDelegate::drawCheck(class QPainter *, class QStyleOptionViewItem const &, class QRect const &, enum Qt::CheckState) const
+ ?insertSpacerItem@QBoxLayout@@QAEXHPAVQSpacerItem@@@Z @ 7229 NONAME ; void QBoxLayout::insertSpacerItem(int, class QSpacerItem *)
+ ??1QFileOpenEvent@@UAE@XZ @ 7230 NONAME ; QFileOpenEvent::~QFileOpenEvent(void)
+ ?setAlignment@QTextBlockFormat@@QAEXV?$QFlags@W4AlignmentFlag@Qt@@@@@Z @ 7231 NONAME ; void QTextBlockFormat::setAlignment(class QFlags<enum Qt::AlignmentFlag>)
+ ?createLine@QTextLayout@@QAE?AVQTextLine@@XZ @ 7232 NONAME ; class QTextLine QTextLayout::createLine(void)
+ ?centerOn@QGraphicsView@@QAEXABVQPointF@@@Z @ 7233 NONAME ; void QGraphicsView::centerOn(class QPointF const &)
+ ?qt_metacast@QItemDelegate@@UAEPAXPBD@Z @ 7234 NONAME ; void * QItemDelegate::qt_metacast(char const *)
+ ?layout_helper@QTextLine@@AAEXH@Z @ 7235 NONAME ; void QTextLine::layout_helper(int)
+ ?tr@QTextEdit@@SA?AVQString@@PBD0@Z @ 7236 NONAME ; class QString QTextEdit::tr(char const *, char const *)
+ ?getStaticMetaObject@QGraphicsEffect@@SAABUQMetaObject@@XZ @ 7237 NONAME ; struct QMetaObject const & QGraphicsEffect::getStaticMetaObject(void)
+ ?united@QRegion@@QBE?AV1@ABV1@@Z @ 7238 NONAME ; class QRegion QRegion::united(class QRegion const &) const
+ ?parseNextSimpleSelector@Parser@QCss@@QAE_NPAUBasicSelector@2@@Z @ 7239 NONAME ; bool QCss::Parser::parseNextSimpleSelector(struct QCss::BasicSelector *)
+ ??0QDropEvent@@QAE@ABV0@@Z @ 7240 NONAME ; QDropEvent::QDropEvent(class QDropEvent const &)
+ ?d_func@QDateTimeEdit@@AAEPAVQDateTimeEditPrivate@@XZ @ 7241 NONAME ; class QDateTimeEditPrivate * QDateTimeEdit::d_func(void)
+ ?sortChildren@QStandardItem@@QAEXHW4SortOrder@Qt@@@Z @ 7242 NONAME ; void QStandardItem::sortChildren(int, enum Qt::SortOrder)
+ ??0QAbstractItemView@@IAE@AAVQAbstractItemViewPrivate@@PAVQWidget@@@Z @ 7243 NONAME ; QAbstractItemView::QAbstractItemView(class QAbstractItemViewPrivate &, class QWidget *)
+ ?forceShow@QProgressDialog@@IAEXXZ @ 7244 NONAME ; void QProgressDialog::forceShow(void)
+ ?aboutToHide@QMenu@@IAEXXZ @ 7245 NONAME ; void QMenu::aboutToHide(void)
+ ?currentImageNumber@QImageReader@@QBEHXZ @ 7246 NONAME ; int QImageReader::currentImageNumber(void) const
+ ?unifiedTitleAndToolBarOnMac@QMainWindow@@QBE_NXZ @ 7247 NONAME ; bool QMainWindow::unifiedTitleAndToolBarOnMac(void) const
+ ?staticMetaObject@QFrame@@2UQMetaObject@@B @ 7248 NONAME ; struct QMetaObject const QFrame::staticMetaObject
+ ?rotateRadians@QTransform@@QAEAAV1@MW4Axis@Qt@@@Z @ 7249 NONAME ; class QTransform & QTransform::rotateRadians(float, enum Qt::Axis)
+ ?setAutoDetectImageFormat@QImageReader@@QAEX_N@Z @ 7250 NONAME ; void QImageReader::setAutoDetectImageFormat(bool)
+ ?escapeButton@QMessageBox@@QBEPAVQAbstractButton@@XZ @ 7251 NONAME ; class QAbstractButton * QMessageBox::escapeButton(void) const
+ ?resizeEvent@QDialog@@MAEXPAVQResizeEvent@@@Z @ 7252 NONAME ; void QDialog::resizeEvent(class QResizeEvent *)
+ ?canUndoChanged@QUndoStack@@IAEX_N@Z @ 7253 NONAME ; void QUndoStack::canUndoChanged(bool)
+ ?begin@QTextFrame@@QBE?AViterator@1@XZ @ 7254 NONAME ; class QTextFrame::iterator QTextFrame::begin(void) const
+ ??0QTextListFormat@@QAE@XZ @ 7255 NONAME ; QTextListFormat::QTextListFormat(void)
+ ?characterCount@QTextDocument@@QBEHXZ @ 7256 NONAME ; int QTextDocument::characterCount(void) const
+ ?moveSplitter@QSplitter@@IAEXHH@Z @ 7257 NONAME ; void QSplitter::moveSplitter(int, int)
+ ?setDisabled@QWidget@@QAEX_N@Z @ 7258 NONAME ; void QWidget::setDisabled(bool)
+ ?fileMode@QFileDialog@@QBE?AW4FileMode@1@XZ @ 7259 NONAME ; enum QFileDialog::FileMode QFileDialog::fileMode(void) const
+ ?shape@QTextEngine@@QBEXH@Z @ 7260 NONAME ; void QTextEngine::shape(int) const
+ ?underline@QFont@@QBE_NXZ @ 7261 NONAME ; bool QFont::underline(void) const
+ ?focusOutEvent@QLineEdit@@MAEXPAVQFocusEvent@@@Z @ 7262 NONAME ; void QLineEdit::focusOutEvent(class QFocusEvent *)
+ ?overwriteMode@QTextControl@@QBE_NXZ @ 7263 NONAME ; bool QTextControl::overwriteMode(void) const
+ ?fromString@QFont@@QAE_NABVQString@@@Z @ 7264 NONAME ; bool QFont::fromString(class QString const &)
+ ?setData@QStandardItemModel@@UAE_NABVQModelIndex@@ABVQVariant@@H@Z @ 7265 NONAME ; bool QStandardItemModel::setData(class QModelIndex const &, class QVariant const &, int)
+ ?tr@QTabWidget@@SA?AVQString@@PBD0H@Z @ 7266 NONAME ; class QString QTabWidget::tr(char const *, char const *, int)
+ ?get@QGraphicsItemPrivate@@SAPAV1@PAVQGraphicsItem@@@Z @ 7267 NONAME ; class QGraphicsItemPrivate * QGraphicsItemPrivate::get(class QGraphicsItem *)
+ ?setAscent@QTextInlineObject@@QAEXM@Z @ 7268 NONAME ; void QTextInlineObject::setAscent(float)
+ ??DQTreeWidgetItemIterator@@QBEPAVQTreeWidgetItem@@XZ @ 7269 NONAME ; class QTreeWidgetItem * QTreeWidgetItemIterator::operator*(void) const
+ ?putPoints@QPolygon@@QAAXHHHHZZ @ 7270 NONAME ; void QPolygon::putPoints(int, int, int, int, ...)
+ ?data@QFileSystemModel@@UBE?AVQVariant@@ABVQModelIndex@@H@Z @ 7271 NONAME ; class QVariant QFileSystemModel::data(class QModelIndex const &, int) const
+ ?setDashOffset@QPainterPathStroker@@QAEXM@Z @ 7272 NONAME ; void QPainterPathStroker::setDashOffset(float)
+ ?contains@QGraphicsEllipseItem@@UBE_NABVQPointF@@@Z @ 7273 NONAME ; bool QGraphicsEllipseItem::contains(class QPointF const &) const
+ ??0QIconEnginePlugin@@QAE@PAVQObject@@@Z @ 7274 NONAME ; QIconEnginePlugin::QIconEnginePlugin(class QObject *)
+ ?getFont@QFontDialog@@SA?AVQFont@@PA_NPAVQWidget@@@Z @ 7275 NONAME ; class QFont QFontDialog::getFont(bool *, class QWidget *)
+ ?trUtf8@QClipboard@@SA?AVQString@@PBD0@Z @ 7276 NONAME ; class QString QClipboard::trUtf8(char const *, char const *)
+ ?tessellate@QTessellator@@QAE?AVQRectF@@PBVQPointF@@H@Z @ 7277 NONAME ; class QRectF QTessellator::tessellate(class QPointF const *, int)
+ ?executePixmapModificationHooks@QImagePixmapCleanupHooks@@SAXPAVQPixmap@@@Z @ 7278 NONAME ; void QImagePixmapCleanupHooks::executePixmapModificationHooks(class QPixmap *)
+ ?isSelected@QGraphicsItem@@QBE_NXZ @ 7279 NONAME ; bool QGraphicsItem::isSelected(void) const
+ ?isSortingEnabled@QTableView@@QBE_NXZ @ 7280 NONAME ; bool QTableView::isSortingEnabled(void) const
+ ??1QGraphicsItem@@UAE@XZ @ 7281 NONAME ; QGraphicsItem::~QGraphicsItem(void)
+ ?scrollTo@QTableView@@UAEXABVQModelIndex@@W4ScrollHint@QAbstractItemView@@@Z @ 7282 NONAME ; void QTableView::scrollTo(class QModelIndex const &, enum QAbstractItemView::ScrollHint)
+ ??0QStyleOptionSpinBox@@QAE@ABV0@@Z @ 7283 NONAME ; QStyleOptionSpinBox::QStyleOptionSpinBox(class QStyleOptionSpinBox const &)
+ ??0QPixmapFilter@@IAE@AAVQPixmapFilterPrivate@@W4FilterType@0@PAVQObject@@@Z @ 7284 NONAME ; QPixmapFilter::QPixmapFilter(class QPixmapFilterPrivate &, enum QPixmapFilter::FilterType, class QObject *)
+ ?setFixedPitch@QFont@@QAEX_N@Z @ 7285 NONAME ; void QFont::setFixedPitch(bool)
+ ??ZQVector2D@@QAEAAV0@ABV0@@Z @ 7286 NONAME ; class QVector2D & QVector2D::operator-=(class QVector2D const &)
+ ?getStaticMetaObject@QAbstractItemDelegate@@SAABUQMetaObject@@XZ @ 7287 NONAME ; struct QMetaObject const & QAbstractItemDelegate::getStaticMetaObject(void)
+ ?autoRepeatDelay@QAbstractButton@@QBEHXZ @ 7288 NONAME ; int QAbstractButton::autoRepeatDelay(void) const
+ ?metric@QWidget@@MBEHW4PaintDeviceMetric@QPaintDevice@@@Z @ 7289 NONAME ; int QWidget::metric(enum QPaintDevice::PaintDeviceMetric) const
+ ?count@QSplitter@@QBEHXZ @ 7290 NONAME ; int QSplitter::count(void) const
+ ??_EQGraphicsItemAnimation@@UAE@I@Z @ 7291 NONAME ; QGraphicsItemAnimation::~QGraphicsItemAnimation(unsigned int)
+ ??6@YAAAVQDataStream@@AAV0@ABVQStandardItem@@@Z @ 7292 NONAME ; class QDataStream & operator<<(class QDataStream &, class QStandardItem const &)
+ ?setWidget@QCompleter@@QAEXPAVQWidget@@@Z @ 7293 NONAME ; void QCompleter::setWidget(class QWidget *)
+ ?setupTransform@QPainterReplayer@@QAEXPAVQPainter@@@Z @ 7294 NONAME ; void QPainterReplayer::setupTransform(class QPainter *)
+ ?createSpacerItem@QLayoutPrivate@@SAPAVQSpacerItem@@PBVQLayout@@HHW4Policy@QSizePolicy@@1@Z @ 7295 NONAME ; class QSpacerItem * QLayoutPrivate::createSpacerItem(class QLayout const *, int, int, enum QSizePolicy::Policy, enum QSizePolicy::Policy)
+ ??XQVector2D@@QAEAAV0@ABV0@@Z @ 7296 NONAME ; class QVector2D & QVector2D::operator*=(class QVector2D const &)
+ ?getStaticMetaObject@QTextBlockGroup@@SAABUQMetaObject@@XZ @ 7297 NONAME ; struct QMetaObject const & QTextBlockGroup::getStaticMetaObject(void)
+ ??1QItemEditorCreatorBase@@UAE@XZ @ 7298 NONAME ; QItemEditorCreatorBase::~QItemEditorCreatorBase(void)
+ ?staticMetaObject@QPaintBufferSignalProxy@@2UQMetaObject@@B @ 7299 NONAME ; struct QMetaObject const QPaintBufferSignalProxy::staticMetaObject
+ ?dropEvent@QGraphicsView@@MAEXPAVQDropEvent@@@Z @ 7300 NONAME ; void QGraphicsView::dropEvent(class QDropEvent *)
+ ?next@Parser@QCss@@QAE_NW4TokenType@2@@Z @ 7301 NONAME ; bool QCss::Parser::next(enum QCss::TokenType)
+ ?setAcceptDrops@QWidget@@QAEX_N@Z @ 7302 NONAME ; void QWidget::setAcceptDrops(bool)
+ ?isChecked@QAction@@QBE_NXZ @ 7303 NONAME ; bool QAction::isChecked(void) const
+ ?parseImport@Parser@QCss@@QAE_NPAUImportRule@2@@Z @ 7304 NONAME ; bool QCss::Parser::parseImport(struct QCss::ImportRule *)
+ ?defaultAlignment@QHeaderView@@QBE?AV?$QFlags@W4AlignmentFlag@Qt@@@@XZ @ 7305 NONAME ; class QFlags<enum Qt::AlignmentFlag> QHeaderView::defaultAlignment(void) const
+ ?d_func@QValidator@@ABEPBVQValidatorPrivate@@XZ @ 7306 NONAME ; class QValidatorPrivate const * QValidator::d_func(void) const
+ ?mimeTypes@QDirModel@@UBE?AVQStringList@@XZ @ 7307 NONAME ; class QStringList QDirModel::mimeTypes(void) const
+ ??6@YAAAVQDataStream@@AAV0@ABVQCursor@@@Z @ 7308 NONAME ; class QDataStream & operator<<(class QDataStream &, class QCursor const &)
+ ?centerOnScroll@QPlainTextEdit@@QBE_NXZ @ 7309 NONAME ; bool QPlainTextEdit::centerOnScroll(void) const
+ ?isHeaderVisible@QCalendarWidget@@QBE_NXZ @ 7310 NONAME ; bool QCalendarWidget::isHeaderVisible(void) const
+ ?scaledToWidth@QImage@@QBE?AV1@HW4TransformationMode@Qt@@@Z @ 7311 NONAME ; class QImage QImage::scaledToWidth(int, enum Qt::TransformationMode) const
+ ?fontInfo@QPainter@@QBE?AVQFontInfo@@XZ @ 7312 NONAME ; class QFontInfo QPainter::fontInfo(void) const
+ ?qt_metacall@QGraphicsColorizeEffect@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 7313 NONAME ; int QGraphicsColorizeEffect::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?itemize@QTextEngine@@QBEXXZ @ 7314 NONAME ; void QTextEngine::itemize(void) const
+ ?setY@QGraphicsItem@@QAEXM@Z @ 7315 NONAME ; void QGraphicsItem::setY(float)
+ ?overline@QFontInfo@@QBE_NXZ @ 7316 NONAME ; bool QFontInfo::overline(void) const
+ ?valid@QImage@@QBE_NHH@Z @ 7317 NONAME ; bool QImage::valid(int, int) const
+ ?rowStretch@QGridLayout@@QBEHH@Z @ 7318 NONAME ; int QGridLayout::rowStretch(int) const
+ ?metaObject@QGraphicsTransform@@UBEPBUQMetaObject@@XZ @ 7319 NONAME ; struct QMetaObject const * QGraphicsTransform::metaObject(void) const
+ ?tr@QTableView@@SA?AVQString@@PBD0H@Z @ 7320 NONAME ; class QString QTableView::tr(char const *, char const *, int)
+ ?getStaticMetaObject@QGraphicsPixelizeEffect@@SAABUQMetaObject@@XZ @ 7321 NONAME ABSENT ; struct QMetaObject const & QGraphicsPixelizeEffect::getStaticMetaObject(void)
+ ?isSelected@QTreeWidgetItem@@QBE_NXZ @ 7322 NONAME ; bool QTreeWidgetItem::isSelected(void) const
+ ?setUrlHandler@QDesktopServices@@SAXABVQString@@PAVQObject@@PBD@Z @ 7323 NONAME ; void QDesktopServices::setUrlHandler(class QString const &, class QObject *, char const *)
+ ?tr@QMdiArea@@SA?AVQString@@PBD0H@Z @ 7324 NONAME ; class QString QMdiArea::tr(char const *, char const *, int)
+ ?pointToRect@QWidgetPrivate@@SAHABVQPoint@@ABVQRect@@@Z @ 7325 NONAME ; int QWidgetPrivate::pointToRect(class QPoint const &, class QRect const &)
+ ?resizeColumnsToContents@QTableView@@QAEXXZ @ 7326 NONAME ; void QTableView::resizeColumnsToContents(void)
+ ?until@Parser@QCss@@QAE_NW4TokenType@2@0@Z @ 7327 NONAME ; bool QCss::Parser::until(enum QCss::TokenType, enum QCss::TokenType)
+ ?setCurrentColor@QColorDialog@@QAEXABVQColor@@@Z @ 7328 NONAME ; void QColorDialog::setCurrentColor(class QColor const &)
+ ?trUtf8@QStyledItemDelegate@@SA?AVQString@@PBD0H@Z @ 7329 NONAME ; class QString QStyledItemDelegate::trUtf8(char const *, char const *, int)
+ ?setRedirected@QWidgetPrivate@@QAEXPAVQPaintDevice@@ABVQPoint@@@Z @ 7330 NONAME ; void QWidgetPrivate::setRedirected(class QPaintDevice *, class QPoint const &)
+ ?enterModal_sys@QApplicationPrivate@@SAXPAVQWidget@@@Z @ 7331 NONAME ; void QApplicationPrivate::enterModal_sys(class QWidget *)
+ ?setClipRect@QPainter@@QAEXABVQRectF@@W4ClipOperation@Qt@@@Z @ 7332 NONAME ; void QPainter::setClipRect(class QRectF const &, enum Qt::ClipOperation)
+ ?focusOutEvent@QGraphicsView@@MAEXPAVQFocusEvent@@@Z @ 7333 NONAME ; void QGraphicsView::focusOutEvent(class QFocusEvent *)
+ ?description@QPictureIO@@QBE?AVQString@@XZ @ 7334 NONAME ; class QString QPictureIO::description(void) const
+ ?isObscuredBy@QGraphicsRectItem@@UBE_NPBVQGraphicsItem@@@Z @ 7335 NONAME ; bool QGraphicsRectItem::isObscuredBy(class QGraphicsItem const *) const
+ ?trUtf8@QGraphicsScale@@SA?AVQString@@PBD0@Z @ 7336 NONAME ; class QString QGraphicsScale::trUtf8(char const *, char const *)
+ ?editingWidget@QWidgetPrivate@@2V?$QPointer@VQWidget@@@@A @ 7337 NONAME ; class QPointer<class QWidget> QWidgetPrivate::editingWidget
+ ??0QWheelEvent@@QAE@ABVQPoint@@0HV?$QFlags@W4MouseButton@Qt@@@@V?$QFlags@W4KeyboardModifier@Qt@@@@W4Orientation@Qt@@@Z @ 7338 NONAME ; QWheelEvent::QWheelEvent(class QPoint const &, class QPoint const &, int, class QFlags<enum Qt::MouseButton>, class QFlags<enum Qt::KeyboardModifier>, enum Qt::Orientation)
+ ?qt_metacast@QGraphicsAnchor@@UAEPAXPBD@Z @ 7339 NONAME ; void * QGraphicsAnchor::qt_metacast(char const *)
+ ?createEditor@QAbstractItemDelegate@@UBEPAVQWidget@@PAV2@ABVQStyleOptionViewItem@@ABVQModelIndex@@@Z @ 7340 NONAME ; class QWidget * QAbstractItemDelegate::createEditor(class QWidget *, class QStyleOptionViewItem const &, class QModelIndex const &) const
+ ??0QTransform@@QAE@MMMMMMMMM@Z @ 7341 NONAME ; QTransform::QTransform(float, float, float, float, float, float, float, float, float)
+ ?setDefaultProperty@QWizard@@QAEXPBD00@Z @ 7342 NONAME ; void QWizard::setDefaultProperty(char const *, char const *, char const *)
+ ?scroll@QWidget@@QAEXHH@Z @ 7343 NONAME ; void QWidget::scroll(int, int)
+ ?enabledChanged@QGraphicsObject@@IAEXXZ @ 7344 NONAME ; void QGraphicsObject::enabledChanged(void)
+ ?fill@QPixmap@@QAEXPBVQWidget@@HH@Z @ 7345 NONAME ; void QPixmap::fill(class QWidget const *, int, int)
+ ??1QPixmapConvolutionFilter@@UAE@XZ @ 7346 NONAME ; QPixmapConvolutionFilter::~QPixmapConvolutionFilter(void)
+ ?lineForTextPosition@QTextLayout@@QBE?AVQTextLine@@H@Z @ 7347 NONAME ; class QTextLine QTextLayout::lineForTextPosition(int) const
+ ?ensureVisible@QGraphicsItem@@QAEXABVQRectF@@HH@Z @ 7348 NONAME ; void QGraphicsItem::ensureVisible(class QRectF const &, int, int)
+ ?trUtf8@QValidator@@SA?AVQString@@PBD0H@Z @ 7349 NONAME ; class QString QValidator::trUtf8(char const *, char const *, int)
+ ?endEditBlock@QTextCursor@@QAEXXZ @ 7350 NONAME ; void QTextCursor::endEditBlock(void)
+ ?lineCount@QTextLayout@@QBEHXZ @ 7351 NONAME ; int QTextLayout::lineCount(void) const
+ ??0QRegion@@QAE@ABVQRect@@W4RegionType@0@@Z @ 7352 NONAME ; QRegion::QRegion(class QRect const &, enum QRegion::RegionType)
+ ?trUtf8@QCalendarWidget@@SA?AVQString@@PBD0@Z @ 7353 NONAME ; class QString QCalendarWidget::trUtf8(char const *, char const *)
+ ?capStyle@QPainterPathStroker@@QBE?AW4PenCapStyle@Qt@@XZ @ 7354 NONAME ; enum Qt::PenCapStyle QPainterPathStroker::capStyle(void) const
+ ?saveState@QApplication@@UAEXAAVQSessionManager@@@Z @ 7355 NONAME ; void QApplication::saveState(class QSessionManager &)
+ ?screenPos@QGraphicsSceneDragDropEvent@@QBE?AVQPoint@@XZ @ 7356 NONAME ; class QPoint QGraphicsSceneDragDropEvent::screenPos(void) const
+ ?boundingRect@QPolygon@@QBE?AVQRect@@XZ @ 7357 NONAME ; class QRect QPolygon::boundingRect(void) const
+ ?drawPixmap@QPaintEngineEx@@UAEXABVQPointF@@ABVQPixmap@@@Z @ 7358 NONAME ; void QPaintEngineEx::drawPixmap(class QPointF const &, class QPixmap const &)
+ ?qt_metacall@QDoubleValidator@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 7359 NONAME ; int QDoubleValidator::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?sectionsHidden@QHeaderView@@QBE_NXZ @ 7360 NONAME ; bool QHeaderView::sectionsHidden(void) const
+ ??8QImage@@QBE_NABV0@@Z @ 7361 NONAME ; bool QImage::operator==(class QImage const &) const
+ ?resetFocusProxy@QGraphicsItemPrivate@@QAEXXZ @ 7362 NONAME ; void QGraphicsItemPrivate::resetFocusProxy(void)
+ ?setStyleStrategy@QFont@@QAEXW4StyleStrategy@1@@Z @ 7363 NONAME ; void QFont::setStyleStrategy(enum QFont::StyleStrategy)
+ ??0QPixmap@@QAE@ABVQSize@@@Z @ 7364 NONAME ; QPixmap::QPixmap(class QSize const &)
+ ?normalize@QQuaternion@@QAEXXZ @ 7365 NONAME ; void QQuaternion::normalize(void)
+ ??0QWidget@@IAE@AAVQWidgetPrivate@@PAV0@V?$QFlags@W4WindowType@Qt@@@@@Z @ 7366 NONAME ; QWidget::QWidget(class QWidgetPrivate &, class QWidget *, class QFlags<enum Qt::WindowType>)
+ ?showEvent@QProgressDialog@@MAEXPAVQShowEvent@@@Z @ 7367 NONAME ; void QProgressDialog::showEvent(class QShowEvent *)
+ ?changeEvent@QTabBar@@MAEXPAVQEvent@@@Z @ 7368 NONAME ; void QTabBar::changeEvent(class QEvent *)
+ ??0QPicture@@QAE@ABV0@@Z @ 7369 NONAME ; QPicture::QPicture(class QPicture const &)
+ ?error@QMovie@@IAEXW4ImageReaderError@QImageReader@@@Z @ 7370 NONAME ; void QMovie::error(enum QImageReader::ImageReaderError)
+ ?normalize@QVector3D@@QAEXXZ @ 7371 NONAME ; void QVector3D::normalize(void)
+ ?dragAccepted@QDragResponseEvent@@QBE_NXZ @ 7372 NONAME ; bool QDragResponseEvent::dragAccepted(void) const
+ ?writingSystemName@QFontDatabase@@SA?AVQString@@W4WritingSystem@1@@Z @ 7373 NONAME ; class QString QFontDatabase::writingSystemName(enum QFontDatabase::WritingSystem)
+ ?testAttribute@QWidget@@QBE_NW4WidgetAttribute@Qt@@@Z @ 7374 NONAME ; bool QWidget::testAttribute(enum Qt::WidgetAttribute) const
+ ??_EQAbstractUndoItem@@UAE@I@Z @ 7375 NONAME ; QAbstractUndoItem::~QAbstractUndoItem(unsigned int)
+ ?d_func@QPanGesture@@AAEPAVQPanGesturePrivate@@XZ @ 7376 NONAME ; class QPanGesturePrivate * QPanGesture::d_func(void)
+ ?activateNextWindow@QWorkspace@@QAEXXZ @ 7377 NONAME ; void QWorkspace::activateNextWindow(void)
+ ?d_func@QGraphicsRotation@@AAEPAVQGraphicsRotationPrivate@@XZ @ 7378 NONAME ; class QGraphicsRotationPrivate * QGraphicsRotation::d_func(void)
+ ?metaObject@QStackedLayout@@UBEPBUQMetaObject@@XZ @ 7379 NONAME ; struct QMetaObject const * QStackedLayout::metaObject(void) const
+ ?draw@QGraphicsBlurEffect@@MAEXPAVQPainter@@PAVQGraphicsEffectSource@@@Z @ 7380 NONAME ; void QGraphicsBlurEffect::draw(class QPainter *, class QGraphicsEffectSource *)
+ ?tr@QAbstractProxyModel@@SA?AVQString@@PBD0H@Z @ 7381 NONAME ; class QString QAbstractProxyModel::tr(char const *, char const *, int)
+ ?showSelectedDate@QCalendarWidget@@QAEXXZ @ 7382 NONAME ; void QCalendarWidget::showSelectedDate(void)
+ ?map@QMatrix4x4@@QBE?AVQVector3D@@ABV2@@Z @ 7383 NONAME ; class QVector3D QMatrix4x4::map(class QVector3D const &) const
+ ?setText@QAbstractButton@@QAEXABVQString@@@Z @ 7384 NONAME ; void QAbstractButton::setText(class QString const &)
+ ?getStaticMetaObject@QPictureFormatPlugin@@SAABUQMetaObject@@XZ @ 7385 NONAME ; struct QMetaObject const & QPictureFormatPlugin::getStaticMetaObject(void)
+ ?heightForWidth@QWidgetItemV2@@UBEHH@Z @ 7386 NONAME ; int QWidgetItemV2::heightForWidth(int) const
+ ??0QConicalGradient@@QAE@ABVQPointF@@M@Z @ 7387 NONAME ; QConicalGradient::QConicalGradient(class QPointF const &, float)
+ ?d_func@QTableWidget@@ABEPBVQTableWidgetPrivate@@XZ @ 7388 NONAME ; class QTableWidgetPrivate const * QTableWidget::d_func(void) const
+ ?showEvent@QTabWidget@@MAEXPAVQShowEvent@@@Z @ 7389 NONAME ; void QTabWidget::showEvent(class QShowEvent *)
+ ?tr@QFormLayout@@SA?AVQString@@PBD0H@Z @ 7390 NONAME ; class QString QFormLayout::tr(char const *, char const *, int)
+ ?qt_metacall@QAbstractProxyModel@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 7391 NONAME ; int QAbstractProxyModel::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?qt_metacast@QGraphicsBlurEffect@@UAEPAXPBD@Z @ 7392 NONAME ; void * QGraphicsBlurEffect::qt_metacast(char const *)
+ ?shape@QGraphicsEllipseItem@@UBE?AVQPainterPath@@XZ @ 7393 NONAME ; class QPainterPath QGraphicsEllipseItem::shape(void) const
+ ?isNull@QTextureGlyphCache@@QBE_NXZ @ 7394 NONAME ; bool QTextureGlyphCache::isNull(void) const
+ ?buttons@QGraphicsSceneDragDropEvent@@QBE?AV?$QFlags@W4MouseButton@Qt@@@@XZ @ 7395 NONAME ; class QFlags<enum Qt::MouseButton> QGraphicsSceneDragDropEvent::buttons(void) const
+ ?nonBreakableLines@QTextBlockFormat@@QBE_NXZ @ 7396 NONAME ; bool QTextBlockFormat::nonBreakableLines(void) const
+ ??0QTextCharFormat@@QAE@XZ @ 7397 NONAME ; QTextCharFormat::QTextCharFormat(void)
+ ?font@QGraphicsSimpleTextItem@@QBE?AVQFont@@XZ @ 7398 NONAME ; class QFont QGraphicsSimpleTextItem::font(void) const
+ ?d_func@QTabWidget@@ABEPBVQTabWidgetPrivate@@XZ @ 7399 NONAME ; class QTabWidgetPrivate const * QTabWidget::d_func(void) const
+ ?metaObject@QCheckBox@@UBEPBUQMetaObject@@XZ @ 7400 NONAME ; struct QMetaObject const * QCheckBox::metaObject(void) const
+ ?setAutoRepeat@QShortcut@@QAEX_N@Z @ 7401 NONAME ; void QShortcut::setAutoRepeat(bool)
+ ?clearLineData@QTextEngine@@QAEXXZ @ 7402 NONAME ; void QTextEngine::clearLineData(void)
+ ?devType@QPixmap@@UBEHXZ @ 7403 NONAME ; int QPixmap::devType(void) const
+ ?update@QCoeFepInputContext@@UAEXXZ @ 7404 NONAME ABSENT ; void QCoeFepInputContext::update(void)
+ ?showSection@QHeaderView@@QAEXH@Z @ 7405 NONAME ; void QHeaderView::showSection(int)
+ ?setDirection@QBoxLayout@@QAEXW4Direction@1@@Z @ 7406 NONAME ; void QBoxLayout::setDirection(enum QBoxLayout::Direction)
+ ?items@QGraphicsScene@@QBE?AV?$QList@PAVQGraphicsItem@@@@ABVQPolygonF@@W4ItemSelectionMode@Qt@@@Z @ 7407 NONAME ; class QList<class QGraphicsItem *> QGraphicsScene::items(class QPolygonF const &, enum Qt::ItemSelectionMode) const
+ ?previousCursorPosition@QTextLayout@@QBEHHW4CursorMode@1@@Z @ 7408 NONAME ; int QTextLayout::previousCursorPosition(int, enum QTextLayout::CursorMode) const
+ ??1QDialog@@UAE@XZ @ 7409 NONAME ; QDialog::~QDialog(void)
+ ?intersected@QRegion@@QBE?AV1@ABVQRect@@@Z @ 7410 NONAME ; class QRegion QRegion::intersected(class QRect const &) const
+ ??1QGraphicsRectItem@@UAE@XZ @ 7411 NONAME ; QGraphicsRectItem::~QGraphicsRectItem(void)
+ ?defaultFont@QTextDocument@@QBE?AVQFont@@XZ @ 7412 NONAME ; class QFont QTextDocument::defaultFont(void) const
+ ?nextMaskBlank@QLineControl@@QAEHH@Z @ 7413 NONAME ; int QLineControl::nextMaskBlank(int)
+ ?changeEvent@QTextEdit@@MAEXPAVQEvent@@@Z @ 7414 NONAME ; void QTextEdit::changeEvent(class QEvent *)
+ ?undoCommandAdded@QTextDocument@@IAEXXZ @ 7415 NONAME ; void QTextDocument::undoCommandAdded(void)
+ ?x@QVector4D@@QBEMXZ @ 7416 NONAME ; float QVector4D::x(void) const
+ ??0QTextEdit@@QAE@ABVQString@@PAVQWidget@@@Z @ 7417 NONAME ; QTextEdit::QTextEdit(class QString const &, class QWidget *)
+ ??1QStroker@@UAE@XZ @ 7418 NONAME ; QStroker::~QStroker(void)
+ ?initStyleOption@QHeaderView@@IBEXPAVQStyleOptionHeader@@@Z @ 7419 NONAME ; void QHeaderView::initStyleOption(class QStyleOptionHeader *) const
+ ?isFixedPitch@QFontDatabase@@QBE_NABVQString@@0@Z @ 7420 NONAME ; bool QFontDatabase::isFixedPitch(class QString const &, class QString const &) const
+ ?painter@QPaintEngineState@@QBEPAVQPainter@@XZ @ 7421 NONAME ; class QPainter * QPaintEngineState::painter(void) const
+ ?trUtf8@QTextBrowser@@SA?AVQString@@PBD0@Z @ 7422 NONAME ; class QString QTextBrowser::trUtf8(char const *, char const *)
+ ?sliderChange@QAbstractSlider@@MAEXW4SliderChange@1@@Z @ 7423 NONAME ; void QAbstractSlider::sliderChange(enum QAbstractSlider::SliderChange)
+ ?resizeEvent@QToolBar@@MAEXPAVQResizeEvent@@@Z @ 7424 NONAME ; void QToolBar::resizeEvent(class QResizeEvent *)
+ ?calendarPopup@QDateTimeEdit@@QBE_NXZ @ 7425 NONAME ; bool QDateTimeEdit::calendarPopup(void) const
+ ?setBrush@QPalette@@QAEXW4ColorGroup@1@W4ColorRole@1@ABVQBrush@@@Z @ 7426 NONAME ; void QPalette::setBrush(enum QPalette::ColorGroup, enum QPalette::ColorRole, class QBrush const &)
+ ?paintDevice@QRasterWindowSurface@@UAEPAVQPaintDevice@@XZ @ 7427 NONAME ; class QPaintDevice * QRasterWindowSurface::paintDevice(void)
+ ?begin@QTextDocument@@QBE?AVQTextBlock@@XZ @ 7428 NONAME ; class QTextBlock QTextDocument::begin(void) const
+ ?keyPressEvent@QWidgetResizeHandler@@IAEXPAVQKeyEvent@@@Z @ 7429 NONAME ; void QWidgetResizeHandler::keyPressEvent(class QKeyEvent *)
+ ??0QPolygonF@@QAE@ABV0@@Z @ 7430 NONAME ; QPolygonF::QPolygonF(class QPolygonF const &)
+ ?unpolish@QWindowsStyle@@UAEXPAVQApplication@@@Z @ 7431 NONAME ; void QWindowsStyle::unpolish(class QApplication *)
+ ?toTableFormat@QTextFormat@@QBE?AVQTextTableFormat@@XZ @ 7432 NONAME ; class QTextTableFormat QTextFormat::toTableFormat(void) const
+ ?deselect@QLineControl@@QAEXXZ @ 7433 NONAME ; void QLineControl::deselect(void)
+ ?display@QLCDNumber@@QAEXABVQString@@@Z @ 7434 NONAME ; void QLCDNumber::display(class QString const &)
+ ?staticMetaObject@QGraphicsTransform@@2UQMetaObject@@B @ 7435 NONAME ; struct QMetaObject const QGraphicsTransform::staticMetaObject
+ ?paintEvent@QCommandLinkButton@@MAEXPAVQPaintEvent@@@Z @ 7436 NONAME ; void QCommandLinkButton::paintEvent(class QPaintEvent *)
+ ?setTabOrder@QGraphicsWidget@@SAXPAV1@0@Z @ 7437 NONAME ; void QGraphicsWidget::setTabOrder(class QGraphicsWidget *, class QGraphicsWidget *)
+ ?d_func@QGraphicsPolygonItem@@ABEPBVQGraphicsPolygonItemPrivate@@XZ @ 7438 NONAME ; class QGraphicsPolygonItemPrivate const * QGraphicsPolygonItem::d_func(void) const
+ ?united@QPolygon@@QBE?AV1@ABV1@@Z @ 7439 NONAME ; class QPolygon QPolygon::united(class QPolygon const &) const
+ ?span@QSortFilterProxyModel@@UBE?AVQSize@@ABVQModelIndex@@@Z @ 7440 NONAME ; class QSize QSortFilterProxyModel::span(class QModelIndex const &) const
+ ?end@QTextFrame@@QBE?AViterator@1@XZ @ 7441 NONAME ; class QTextFrame::iterator QTextFrame::end(void) const
+ ??0QApplication@@IAE@AAHPAPAD_N@Z @ 7442 NONAME ; QApplication::QApplication(int &, char * *, bool)
+ ?maximumSize@QGridLayout@@UBE?AVQSize@@XZ @ 7443 NONAME ; class QSize QGridLayout::maximumSize(void) const
+ ?isAncestorOf@QWidget@@QBE_NPBV1@@Z @ 7444 NONAME ; bool QWidget::isAncestorOf(class QWidget const *) const
+ ?field@QWizardPage@@IBE?AVQVariant@@ABVQString@@@Z @ 7445 NONAME ; class QVariant QWizardPage::field(class QString const &) const
+ ??_EQGestureEvent@@UAE@I@Z @ 7446 NONAME ; QGestureEvent::~QGestureEvent(unsigned int)
+ ?setMaxLength@QLineControl@@QAEXH@Z @ 7447 NONAME ; void QLineControl::setMaxLength(int)
+ ?sizeHintForColumn@QAbstractItemView@@UBEHH@Z @ 7448 NONAME ; int QAbstractItemView::sizeHintForColumn(int) const
+ ??0QImage@@QAE@ABVQSize@@W4Format@0@@Z @ 7449 NONAME ; QImage::QImage(class QSize const &, enum QImage::Format)
+ ?toGraphicsObject@QGraphicsItem@@QBEPBVQGraphicsObject@@XZ @ 7450 NONAME ; class QGraphicsObject const * QGraphicsItem::toGraphicsObject(void) const
+ ?textCursor@QTextEdit@@QBE?AVQTextCursor@@XZ @ 7451 NONAME ; class QTextCursor QTextEdit::textCursor(void) const
+ ?setParent_sys@QWidgetPrivate@@QAEXPAVQWidget@@V?$QFlags@W4WindowType@Qt@@@@@Z @ 7452 NONAME ; void QWidgetPrivate::setParent_sys(class QWidget *, class QFlags<enum Qt::WindowType>)
+ ?clearMask@QWidget@@QAEXXZ @ 7453 NONAME ; void QWidget::clearMask(void)
+ ?error@QImageWriter@@QBE?AW4ImageWriterError@1@XZ @ 7454 NONAME ; enum QImageWriter::ImageWriterError QImageWriter::error(void) const
+ ?alignment@QLineEdit@@QBE?AV?$QFlags@W4AlignmentFlag@Qt@@@@XZ @ 7455 NONAME ; class QFlags<enum Qt::AlignmentFlag> QLineEdit::alignment(void) const
+ ?setEffectEnabled@QApplication@@SAXW4UIEffect@Qt@@_N@Z @ 7456 NONAME ; void QApplication::setEffectEnabled(enum Qt::UIEffect, bool)
+ ?drawLines@QPainter@@QAEXPBVQPoint@@H@Z @ 7457 NONAME ; void QPainter::drawLines(class QPoint const *, int)
+ ??0QStyleOptionToolBox@@QAE@XZ @ 7458 NONAME ; QStyleOptionToolBox::QStyleOptionToolBox(void)
+ ?maximumSize@QWidgetItemV2@@UBE?AVQSize@@XZ @ 7459 NONAME ; class QSize QWidgetItemV2::maximumSize(void) const
+ ?devType@QImage@@UBEHXZ @ 7460 NONAME ; int QImage::devType(void) const
+ ?setSpacing@QGraphicsGridLayout@@QAEXM@Z @ 7461 NONAME ; void QGraphicsGridLayout::setSpacing(float)
+ ?trUtf8@QScrollArea@@SA?AVQString@@PBD0H@Z @ 7462 NONAME ; class QString QScrollArea::trUtf8(char const *, char const *, int)
+ ??0QTreeWidgetItem@@QAE@PAV0@ABVQStringList@@H@Z @ 7463 NONAME ; QTreeWidgetItem::QTreeWidgetItem(class QTreeWidgetItem *, class QStringList const &, int)
+ ?qt_metacall@QGraphicsBlurEffect@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 7464 NONAME ; int QGraphicsBlurEffect::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?getStaticMetaObject@QGesture@@SAABUQMetaObject@@XZ @ 7465 NONAME ; struct QMetaObject const & QGesture::getStaticMetaObject(void)
+ ?setGraphicsEffect@QWidget@@QAEXPAVQGraphicsEffect@@@Z @ 7466 NONAME ; void QWidget::setGraphicsEffect(class QGraphicsEffect *)
+ ??_EQImageIOHandlerFactoryInterface@@UAE@I@Z @ 7467 NONAME ; QImageIOHandlerFactoryInterface::~QImageIOHandlerFactoryInterface(unsigned int)
+ ?setFilter@QDirModel@@QAEXV?$QFlags@W4Filter@QDir@@@@@Z @ 7468 NONAME ; void QDirModel::setFilter(class QFlags<enum QDir::Filter>)
+ ??0QPainter@@QAE@PAVQPaintDevice@@@Z @ 7469 NONAME ; QPainter::QPainter(class QPaintDevice *)
+ ?name@QTextImageFormat@@QBE?AVQString@@XZ @ 7470 NONAME ; class QString QTextImageFormat::name(void) const
+ ?text@QPalette@@QBEABVQBrush@@XZ @ 7471 NONAME ; class QBrush const & QPalette::text(void) const
+ ?setFlags@QTreeWidgetItem@@QAEXV?$QFlags@W4ItemFlag@Qt@@@@@Z @ 7472 NONAME ; void QTreeWidgetItem::setFlags(class QFlags<enum Qt::ItemFlag>)
+ ??0QGraphicsLineItem@@QAE@PAVQGraphicsItem@@PAVQGraphicsScene@@@Z @ 7473 NONAME ; QGraphicsLineItem::QGraphicsLineItem(class QGraphicsItem *, class QGraphicsScene *)
+ ??6@YA?AVQDebug@@V0@ABVQColor@@@Z @ 7474 NONAME ; class QDebug operator<<(class QDebug, class QColor const &)
+ ?metaObject@QSyntaxHighlighter@@UBEPBUQMetaObject@@XZ @ 7475 NONAME ; struct QMetaObject const * QSyntaxHighlighter::metaObject(void) const
+ ?setSource@QTextBrowser@@UAEXABVQUrl@@@Z @ 7476 NONAME ; void QTextBrowser::setSource(class QUrl const &)
+ ??0QStyleOptionComboBox@@IAE@H@Z @ 7477 NONAME ; QStyleOptionComboBox::QStyleOptionComboBox(int)
+ ?contains@QPainterPath@@QBE_NABV1@@Z @ 7478 NONAME ; bool QPainterPath::contains(class QPainterPath const &) const
+ ?d_func@QMouseEventTransition@@ABEPBVQMouseEventTransitionPrivate@@XZ @ 7479 NONAME ; class QMouseEventTransitionPrivate const * QMouseEventTransition::d_func(void) const
+ ?trUtf8@QTimeEdit@@SA?AVQString@@PBD0@Z @ 7480 NONAME ; class QString QTimeEdit::trUtf8(char const *, char const *)
+ ?trUtf8@QTreeView@@SA?AVQString@@PBD0@Z @ 7481 NONAME ; class QString QTreeView::trUtf8(char const *, char const *)
+ ?drawRects@QPaintEngine@@UAEXPBVQRectF@@H@Z @ 7482 NONAME ; void QPaintEngine::drawRects(class QRectF const *, int)
+ ?getStaticMetaObject@QCommonStyle@@SAABUQMetaObject@@XZ @ 7483 NONAME ; struct QMetaObject const & QCommonStyle::getStaticMetaObject(void)
+ ?itemAt@QDockWidgetLayout@@UBEPAVQLayoutItem@@H@Z @ 7484 NONAME ; class QLayoutItem * QDockWidgetLayout::itemAt(int) const
+ ?row@QStandardItem@@QBEHXZ @ 7485 NONAME ; int QStandardItem::row(void) const
+ ??4QTextOption@@QAEAAV0@ABV0@@Z @ 7486 NONAME ; class QTextOption & QTextOption::operator=(class QTextOption const &)
+ ?blockInserted@QTextBlockGroup@@MAEXABVQTextBlock@@@Z @ 7487 NONAME ; void QTextBlockGroup::blockInserted(class QTextBlock const &)
+ ?treeWidget@QTreeWidgetItem@@QBEPAVQTreeWidget@@XZ @ 7488 NONAME ; class QTreeWidget * QTreeWidgetItem::treeWidget(void) const
+ ?getStaticMetaObject@QMainWindow@@SAABUQMetaObject@@XZ @ 7489 NONAME ; struct QMetaObject const & QMainWindow::getStaticMetaObject(void)
+ ?moveSplitter@QSplitterHandle@@IAEXH@Z @ 7490 NONAME ; void QSplitterHandle::moveSplitter(int)
+ ?trUtf8@QAbstractSpinBox@@SA?AVQString@@PBD0H@Z @ 7491 NONAME ; class QString QAbstractSpinBox::trUtf8(char const *, char const *, int)
+ ?setStart@QLinearGradient@@QAEXABVQPointF@@@Z @ 7492 NONAME ; void QLinearGradient::setStart(class QPointF const &)
+ ?maybeExtraItemCache@QGraphicsItemPrivate@@QBEPAVQGraphicsItemCache@@XZ @ 7493 NONAME ; class QGraphicsItemCache * QGraphicsItemPrivate::maybeExtraItemCache(void) const
+ ?qtHandler@QErrorMessage@@SAPAV1@XZ @ 7494 NONAME ; class QErrorMessage * QErrorMessage::qtHandler(void)
+ ?setCursorWidth@QTextControl@@QAEXH@Z @ 7495 NONAME ; void QTextControl::setCursorWidth(int)
+ ??0QKeyEvent@@QAE@W4Type@QEvent@@HV?$QFlags@W4KeyboardModifier@Qt@@@@ABVQString@@_NG@Z @ 7496 NONAME ; QKeyEvent::QKeyEvent(enum QEvent::Type, int, class QFlags<enum Qt::KeyboardModifier>, class QString const &, bool, unsigned short)
+ ?setModel@QTreeWidget@@EAEXPAVQAbstractItemModel@@@Z @ 7497 NONAME ; void QTreeWidget::setModel(class QAbstractItemModel *)
+ ??8QFontMetricsF@@QAE_NABV0@@Z @ 7498 NONAME ; bool QFontMetricsF::operator==(class QFontMetricsF const &)
+ ?isSelected@QTableWidgetItem@@QBE_NXZ @ 7499 NONAME ; bool QTableWidgetItem::isSelected(void) const
+ ??1QGraphicsView@@UAE@XZ @ 7500 NONAME ; QGraphicsView::~QGraphicsView(void)
+ ?sliderPosition@QAbstractSlider@@QBEHXZ @ 7501 NONAME ; int QAbstractSlider::sliderPosition(void) const
+ ?setProxy@QStyle@@AAEXPAV1@@Z @ 7502 NONAME ; void QStyle::setProxy(class QStyle *)
+ ??0QAbstractSpinBox@@QAE@PAVQWidget@@@Z @ 7503 NONAME ; QAbstractSpinBox::QAbstractSpinBox(class QWidget *)
+ ?addWidget@QGridLayout@@QAEXPAVQWidget@@HHHHV?$QFlags@W4AlignmentFlag@Qt@@@@@Z @ 7504 NONAME ; void QGridLayout::addWidget(class QWidget *, int, int, int, int, class QFlags<enum Qt::AlignmentFlag>)
+ ?initStyleOption@QDateTimeEdit@@IBEXPAVQStyleOptionSpinBox@@@Z @ 7505 NONAME ; void QDateTimeEdit::initStyleOption(class QStyleOptionSpinBox *) const
+ ??4QRegion@@QAEAAV0@ABV0@@Z @ 7506 NONAME ; class QRegion & QRegion::operator=(class QRegion const &)
+ ?setCursorWidth@QPlainTextEdit@@QAEXH@Z @ 7507 NONAME ; void QPlainTextEdit::setCursorWidth(int)
+ ?splitPath@QCompleter@@UBE?AVQStringList@@ABVQString@@@Z @ 7508 NONAME ; class QStringList QCompleter::splitPath(class QString const &) const
+ ?setGeometry@QWidgetItem@@UAEXABVQRect@@@Z @ 7509 NONAME ; void QWidgetItem::setGeometry(class QRect const &)
+ ?setResolveSymlinks@QDirModel@@QAEX_N@Z @ 7510 NONAME ; void QDirModel::setResolveSymlinks(bool)
+ ?setAutoFormatting@QTextEdit@@QAEXV?$QFlags@W4AutoFormattingFlag@QTextEdit@@@@@Z @ 7511 NONAME ; void QTextEdit::setAutoFormatting(class QFlags<enum QTextEdit::AutoFormattingFlag>)
+ ?actions@QWidget@@QBE?AV?$QList@PAVQAction@@@@XZ @ 7512 NONAME ; class QList<class QAction *> QWidget::actions(void) const
+ ?setJoinStyle@QStroker@@QAEXW4PenJoinStyle@Qt@@@Z @ 7513 NONAME ; void QStroker::setJoinStyle(enum Qt::PenJoinStyle)
+ ??4QStyleOptionGroupBox@@QAEAAV0@ABV0@@Z @ 7514 NONAME ; class QStyleOptionGroupBox & QStyleOptionGroupBox::operator=(class QStyleOptionGroupBox const &)
+ ?metaObject@QToolButton@@UBEPBUQMetaObject@@XZ @ 7515 NONAME ; struct QMetaObject const * QToolButton::metaObject(void) const
+ ?setLabelText@QFileDialog@@QAEXW4DialogLabel@1@ABVQString@@@Z @ 7516 NONAME ; void QFileDialog::setLabelText(enum QFileDialog::DialogLabel, class QString const &)
+ ?setGeometry@QBoxLayout@@UAEXABVQRect@@@Z @ 7517 NONAME ; void QBoxLayout::setGeometry(class QRect const &)
+ ??0QS60MainDocument@@QAE@AAVCEikApplication@@@Z @ 7518 NONAME ; QS60MainDocument::QS60MainDocument(class CEikApplication &)
+ ?insertWidget@QSplitter@@QAEXHPAVQWidget@@@Z @ 7519 NONAME ; void QSplitter::insertWidget(int, class QWidget *)
+ ?currentCharFormat@QPlainTextEdit@@QBE?AVQTextCharFormat@@XZ @ 7520 NONAME ; class QTextCharFormat QPlainTextEdit::currentCharFormat(void) const
+ ?resolve@QFont@@QBE?AV1@ABV1@@Z @ 7521 NONAME ; class QFont QFont::resolve(class QFont const &) const
+ ?allGray@QImage@@QBE_NXZ @ 7522 NONAME ; bool QImage::allGray(void) const
+ ?toggle@QToolBarChangeEvent@@QBE_NXZ @ 7523 NONAME ; bool QToolBarChangeEvent::toggle(void) const
+ ?setEchoMode@QLineEdit@@QAEXW4EchoMode@1@@Z @ 7524 NONAME ; void QLineEdit::setEchoMode(enum QLineEdit::EchoMode)
+ ?qt_metacall@QS60Style@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 7525 NONAME ; int QS60Style::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?supportsExtension@QGraphicsTextItem@@MBE_NW4Extension@QGraphicsItem@@@Z @ 7526 NONAME ; bool QGraphicsTextItem::supportsExtension(enum QGraphicsItem::Extension) const
+ ?setUndoRedoEnabled@QTextEdit@@QAEX_N@Z @ 7527 NONAME ; void QTextEdit::setUndoRedoEnabled(bool)
+ ?setHistory@QFileDialog@@QAEXABVQStringList@@@Z @ 7528 NONAME ; void QFileDialog::setHistory(class QStringList const &)
+ ?itemSelectionChanged@QTableWidget@@IAEXXZ @ 7529 NONAME ; void QTableWidget::itemSelectionChanged(void)
+ ??0QGraphicsPathItem@@QAE@ABVQPainterPath@@PAVQGraphicsItem@@PAVQGraphicsScene@@@Z @ 7530 NONAME ; QGraphicsPathItem::QGraphicsPathItem(class QPainterPath const &, class QGraphicsItem *, class QGraphicsScene *)
+ ?flags@QTableWidgetItem@@QBE?AV?$QFlags@W4ItemFlag@Qt@@@@XZ @ 7531 NONAME ; class QFlags<enum Qt::ItemFlag> QTableWidgetItem::flags(void) const
+ ??GQRegion@@QBE?BV0@ABV0@@Z @ 7532 NONAME ; class QRegion const QRegion::operator-(class QRegion const &) const
+ ?setFieldGrowthPolicy@QFormLayout@@QAEXW4FieldGrowthPolicy@1@@Z @ 7533 NONAME ; void QFormLayout::setFieldGrowthPolicy(enum QFormLayout::FieldGrowthPolicy)
+ ?changed@QAction@@IAEXXZ @ 7534 NONAME ; void QAction::changed(void)
+ ?setSpacing@QGraphicsAnchor@@QAEXM@Z @ 7535 NONAME ; void QGraphicsAnchor::setSpacing(float)
+ ?visualRect@QStyle@@SA?AVQRect@@W4LayoutDirection@Qt@@ABV2@1@Z @ 7536 NONAME ; class QRect QStyle::visualRect(enum Qt::LayoutDirection, class QRect const &, class QRect const &)
+ ?exec@QMenu@@QAEPAVQAction@@XZ @ 7537 NONAME ; class QAction * QMenu::exec(void)
+ ?boundingRect@QFontMetrics@@QBE?AVQRect@@ABVQString@@@Z @ 7538 NONAME ; class QRect QFontMetrics::boundingRect(class QString const &) const
+ ?tr@QColumnView@@SA?AVQString@@PBD0H@Z @ 7539 NONAME ; class QString QColumnView::tr(char const *, char const *, int)
+ ??1QTextTableCellFormat@@QAE@XZ @ 7540 NONAME ; QTextTableCellFormat::~QTextTableCellFormat(void)
+ ?d_func@QGroupBox@@ABEPBVQGroupBoxPrivate@@XZ @ 7541 NONAME ; class QGroupBoxPrivate const * QGroupBox::d_func(void) const
+ ?isChecked@QAbstractButton@@QBE_NXZ @ 7542 NONAME ; bool QAbstractButton::isChecked(void) const
+ ?tabRemoved@QTabBar@@MAEXH@Z @ 7543 NONAME ; void QTabBar::tabRemoved(int)
+ ?button@QGraphicsSceneMouseEvent@@QBE?AW4MouseButton@Qt@@XZ @ 7544 NONAME ; enum Qt::MouseButton QGraphicsSceneMouseEvent::button(void) const
+ ?logicalIndexAt@QHeaderView@@QBEHH@Z @ 7545 NONAME ; int QHeaderView::logicalIndexAt(int) const
+ ?translate@QGraphicsView@@QAEXMM@Z @ 7546 NONAME ; void QGraphicsView::translate(float, float)
+ ?hasChildren@QFileSystemModel@@UBE_NABVQModelIndex@@@Z @ 7547 NONAME ; bool QFileSystemModel::hasChildren(class QModelIndex const &) const
+ ?indexOf@QSplitter@@QBEHPAVQWidget@@@Z @ 7548 NONAME ; int QSplitter::indexOf(class QWidget *) const
+ ??0QStyleOptionViewItem@@QAE@ABV0@@Z @ 7549 NONAME ; QStyleOptionViewItem::QStyleOptionViewItem(class QStyleOptionViewItem const &)
+ ?drawTextItem@QPainter@@QAEXABVQPoint@@ABVQTextItem@@@Z @ 7550 NONAME ; void QPainter::drawTextItem(class QPoint const &, class QTextItem const &)
+ ?qt_metacall@QPinchGesture@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 7551 NONAME ; int QPinchGesture::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?setIcon@QMessageBox@@QAEXW4Icon@1@@Z @ 7552 NONAME ; void QMessageBox::setIcon(enum QMessageBox::Icon)
+ ?drawPath@QPaintEngine@@UAEXABVQPainterPath@@@Z @ 7553 NONAME ; void QPaintEngine::drawPath(class QPainterPath const &)
+ ?synthesized@QFontEngine@@UBEHXZ @ 7554 NONAME ; int QFontEngine::synthesized(void) const
+ ?removeAt@QGraphicsLinearLayout@@UAEXH@Z @ 7555 NONAME ; void QGraphicsLinearLayout::removeAt(int)
+ ?setOrientation@QSplitterHandle@@QAEXW4Orientation@Qt@@@Z @ 7556 NONAME ; void QSplitterHandle::setOrientation(enum Qt::Orientation)
+ ?setTabText@QTabBar@@QAEXHABVQString@@@Z @ 7557 NONAME ; void QTabBar::setTabText(int, class QString const &)
+ ?storageLocation@QDesktopServices@@SA?AVQString@@W4StandardLocation@1@@Z @ 7558 NONAME ; class QString QDesktopServices::storageLocation(enum QDesktopServices::StandardLocation)
+ ?staticMetaObject@QGraphicsGrayscaleEffect@@2UQMetaObject@@B @ 7559 NONAME ABSENT ; struct QMetaObject const QGraphicsGrayscaleEffect::staticMetaObject
+ ?setFontWordSpacing@QTextCharFormat@@QAEXM@Z @ 7560 NONAME ; void QTextCharFormat::setFontWordSpacing(float)
+ ??_EQShowEvent@@UAE@I@Z @ 7561 NONAME ; QShowEvent::~QShowEvent(unsigned int)
+ ?tr@QFileSystemModel@@SA?AVQString@@PBD0@Z @ 7562 NONAME ; class QString QFileSystemModel::tr(char const *, char const *)
+ ?scrollToBottom@QAbstractItemView@@QAEXXZ @ 7563 NONAME ; void QAbstractItemView::scrollToBottom(void)
+ ?sizeHint@QToolButton@@UBE?AVQSize@@XZ @ 7564 NONAME ; class QSize QToolButton::sizeHint(void) const
+ ??0QTableWidget@@QAE@PAVQWidget@@@Z @ 7565 NONAME ; QTableWidget::QTableWidget(class QWidget *)
+ ?setWrapMode@QTextOption@@QAEXW4WrapMode@1@@Z @ 7566 NONAME ; void QTextOption::setWrapMode(enum QTextOption::WrapMode)
+ ??0QGroupBox@@QAE@ABVQString@@PAVQWidget@@@Z @ 7567 NONAME ; QGroupBox::QGroupBox(class QString const &, class QWidget *)
+ ?trUtf8@QStandardItemModel@@SA?AVQString@@PBD0H@Z @ 7568 NONAME ; class QString QStandardItemModel::trUtf8(char const *, char const *, int)
+ ?setResizeMode@QListView@@QAEXW4ResizeMode@1@@Z @ 7569 NONAME ; void QListView::setResizeMode(enum QListView::ResizeMode)
+ ??_EQTableWidgetItem@@UAE@I@Z @ 7570 NONAME ; QTableWidgetItem::~QTableWidgetItem(unsigned int)
+ ?qt_metacast@QGraphicsBloomEffect@@UAEPAXPBD@Z @ 7571 NONAME ABSENT ; void * QGraphicsBloomEffect::qt_metacast(char const *)
+ ?mapFromParent@QGraphicsItem@@QBE?AVQPolygonF@@MMMM@Z @ 7572 NONAME ; class QPolygonF QGraphicsItem::mapFromParent(float, float, float, float) const
+ ?tabRect@QTabBar@@QBE?AVQRect@@H@Z @ 7573 NONAME ; class QRect QTabBar::tabRect(int) const
+ ?sizeHint@QAbstractSpinBox@@UBE?AVQSize@@XZ @ 7574 NONAME ; class QSize QAbstractSpinBox::sizeHint(void) const
+ ?setMidLineWidth@QFrame@@QAEXH@Z @ 7575 NONAME ; void QFrame::setMidLineWidth(int)
+ ??0QVector4D@@QAE@ABVQPointF@@@Z @ 7576 NONAME ; QVector4D::QVector4D(class QPointF const &)
+ ?tr@QAbstractTextDocumentLayout@@SA?AVQString@@PBD0H@Z @ 7577 NONAME ; class QString QAbstractTextDocumentLayout::tr(char const *, char const *, int)
+ ?tr@QPushButton@@SA?AVQString@@PBD0H@Z @ 7578 NONAME ; class QString QPushButton::tr(char const *, char const *, int)
+ ??0QVectorPath@@QAE@PBMHPBW4ElementType@QPainterPath@@I@Z @ 7579 NONAME ; QVectorPath::QVectorPath(float const *, int, enum QPainterPath::ElementType const *, unsigned int)
+ ??0QTreeWidgetItem@@QAE@PAV0@0H@Z @ 7580 NONAME ; QTreeWidgetItem::QTreeWidgetItem(class QTreeWidgetItem *, class QTreeWidgetItem *, int)
+ ?key@QFont@@QBE?AVQString@@XZ @ 7581 NONAME ; class QString QFont::key(void) const
+ ?completionColumn@QCompleter@@QBEHXZ @ 7582 NONAME ; int QCompleter::completionColumn(void) const
+ ?options@QColorDialog@@QBE?AV?$QFlags@W4ColorDialogOption@QColorDialog@@@@XZ @ 7583 NONAME ; class QFlags<enum QColorDialog::ColorDialogOption> QColorDialog::options(void) const
+ ?insertRows@QProxyModel@@UAE_NHHABVQModelIndex@@@Z @ 7584 NONAME ; bool QProxyModel::insertRows(int, int, class QModelIndex const &)
+ ?m21@QTransform@@QBEMXZ @ 7585 NONAME ; float QTransform::m21(void) const
+ ?changeEvent@QMessageBox@@MAEXPAVQEvent@@@Z @ 7586 NONAME ; void QMessageBox::changeEvent(class QEvent *)
+ ??4QColormap@@QAEAAV0@ABV0@@Z @ 7587 NONAME ; class QColormap & QColormap::operator=(class QColormap const &)
+ ?removeSceneEventFilter@QGraphicsItem@@QAEXPAV1@@Z @ 7588 NONAME ; void QGraphicsItem::removeSceneEventFilter(class QGraphicsItem *)
+ ?defaultFactory@QItemEditorFactory@@SAPBV1@XZ @ 7589 NONAME ; class QItemEditorFactory const * QItemEditorFactory::defaultFactory(void)
+ ?length@QBezier@@QBEMM@Z @ 7590 NONAME ; float QBezier::length(float) const
+ ?d_func@QLineEdit@@ABEPBVQLineEditPrivate@@XZ @ 7591 NONAME ; class QLineEditPrivate const * QLineEdit::d_func(void) const
+ ?tr@QWidgetResizeHandler@@SA?AVQString@@PBD0@Z @ 7592 NONAME ; class QString QWidgetResizeHandler::tr(char const *, char const *)
+ ??0QMenuBar@@QAE@PAVQWidget@@@Z @ 7593 NONAME ; QMenuBar::QMenuBar(class QWidget *)
+ ?paintEvent@QAbstractSpinBox@@MAEXPAVQPaintEvent@@@Z @ 7594 NONAME ; void QAbstractSpinBox::paintEvent(class QPaintEvent *)
+ ?widget@QSplitter@@QBEPAVQWidget@@H@Z @ 7595 NONAME ; class QWidget * QSplitter::widget(int) const
+ ?addCornerAnchors@QGraphicsAnchorLayout@@QAEXPAVQGraphicsLayoutItem@@W4Corner@Qt@@01@Z @ 7596 NONAME ; void QGraphicsAnchorLayout::addCornerAnchors(class QGraphicsLayoutItem *, enum Qt::Corner, class QGraphicsLayoutItem *, enum Qt::Corner)
+ ??0QDataWidgetMapper@@QAE@PAVQObject@@@Z @ 7597 NONAME ; QDataWidgetMapper::QDataWidgetMapper(class QObject *)
+ ?setLineWidth@QTextLine@@QAEXM@Z @ 7598 NONAME ; void QTextLine::setLineWidth(float)
+ ??0QUndoGroup@@QAE@PAVQObject@@@Z @ 7599 NONAME ; QUndoGroup::QUndoGroup(class QObject *)
+ ?focusInEvent@QPlainTextEdit@@MAEXPAVQFocusEvent@@@Z @ 7600 NONAME ; void QPlainTextEdit::focusInEvent(class QFocusEvent *)
+ ?isNull@QVector2D@@QBE_NXZ @ 7601 NONAME ; bool QVector2D::isNull(void) const
+ ?show_sys@QWidgetPrivate@@QAEXXZ @ 7602 NONAME ; void QWidgetPrivate::show_sys(void)
+ ?setHorizontalHeaderItem@QTableWidget@@QAEXHPAVQTableWidgetItem@@@Z @ 7603 NONAME ; void QTableWidget::setHorizontalHeaderItem(int, class QTableWidgetItem *)
+ ?invalidateSizeCache@QWidgetItemV2@@AAEXXZ @ 7604 NONAME ; void QWidgetItemV2::invalidateSizeCache(void)
+ ?setKey@QShortcut@@QAEXABVQKeySequence@@@Z @ 7605 NONAME ; void QShortcut::setKey(class QKeySequence const &)
+ ?charFormat@QTextCursor@@QBE?AVQTextCharFormat@@XZ @ 7606 NONAME ; class QTextCharFormat QTextCursor::charFormat(void) const
+ ??0QSizeGrip@@QAE@PAVQWidget@@@Z @ 7607 NONAME ; QSizeGrip::QSizeGrip(class QWidget *)
+ ?setAutoScroll@QAbstractItemView@@QAEX_N@Z @ 7608 NONAME ; void QAbstractItemView::setAutoScroll(bool)
+ ??0QFontMetricsF@@QAE@ABV0@@Z @ 7609 NONAME ; QFontMetricsF::QFontMetricsF(class QFontMetricsF const &)
+ ?staticMetaObject@QPainter@@2UQMetaObject@@B @ 7610 NONAME ; struct QMetaObject const QPainter::staticMetaObject
+ ?getStaticMetaObject@QAbstractProxyModel@@SAABUQMetaObject@@XZ @ 7611 NONAME ; struct QMetaObject const & QAbstractProxyModel::getStaticMetaObject(void)
+ ?addAction@QMenu@@QAEPAVQAction@@ABVQString@@@Z @ 7612 NONAME ; class QAction * QMenu::addAction(class QString const &)
+ ?invertedControls@QAbstractSlider@@QBE_NXZ @ 7613 NONAME ; bool QAbstractSlider::invertedControls(void) const
+ ?qt_metacast@QPixmapBlurFilter@@UAEPAXPBD@Z @ 7614 NONAME ; void * QPixmapBlurFilter::qt_metacast(char const *)
+ ?cancel@QSessionManager@@QAEXXZ @ 7615 NONAME ; void QSessionManager::cancel(void)
+ ?dotProduct@QVector3D@@SAMABV1@0@Z @ 7616 NONAME ; float QVector3D::dotProduct(class QVector3D const &, class QVector3D const &)
+ ?trUtf8@QAbstractItemView@@SA?AVQString@@PBD0H@Z @ 7617 NONAME ; class QString QAbstractItemView::trUtf8(char const *, char const *, int)
+ ?trUtf8@QGraphicsObject@@SA?AVQString@@PBD0H@Z @ 7618 NONAME ; class QString QGraphicsObject::trUtf8(char const *, char const *, int)
+ ?tr@QPushButton@@SA?AVQString@@PBD0@Z @ 7619 NONAME ; class QString QPushButton::tr(char const *, char const *)
+ ?invalidateDepthRecursively@QGraphicsItemPrivate@@QAEXXZ @ 7620 NONAME ; void QGraphicsItemPrivate::invalidateDepthRecursively(void)
+ ??0QTextCursor@@QAE@XZ @ 7621 NONAME ; QTextCursor::QTextCursor(void)
+ ?setModifiers@QGraphicsSceneMouseEvent@@QAEXV?$QFlags@W4KeyboardModifier@Qt@@@@@Z @ 7622 NONAME ; void QGraphicsSceneMouseEvent::setModifiers(class QFlags<enum Qt::KeyboardModifier>)
+ ??0QImageTextKeyLang@@QAE@ABV0@@Z @ 7623 NONAME ; QImageTextKeyLang::QImageTextKeyLang(class QImageTextKeyLang const &)
+ ?currentIndex@QAbstractItemView@@QBE?AVQModelIndex@@XZ @ 7624 NONAME ; class QModelIndex QAbstractItemView::currentIndex(void) const
+ ?tabPosition@QTabWidget@@QBE?AW4TabPosition@1@XZ @ 7625 NONAME ; enum QTabWidget::TabPosition QTabWidget::tabPosition(void) const
+ ??1QGestureEvent@@UAE@XZ @ 7626 NONAME ; QGestureEvent::~QGestureEvent(void)
+ ?leftPadding@QTextTableCellFormat@@QBEMXZ @ 7627 NONAME ; float QTextTableCellFormat::leftPadding(void) const
+ ?composeMode@QLineControl@@QBE_NXZ @ 7628 NONAME ; bool QLineControl::composeMode(void) const
+ ?fromAxisAndAngle@QQuaternion@@SA?AV1@MMMM@Z @ 7629 NONAME ; class QQuaternion QQuaternion::fromAxisAndAngle(float, float, float, float)
+ ??0QCursor@@QAE@ABVQBitmap@@0HH@Z @ 7630 NONAME ; QCursor::QCursor(class QBitmap const &, class QBitmap const &, int, int)
+ ?acceptHoverEvents@QGraphicsItem@@QBE_NXZ @ 7631 NONAME ; bool QGraphicsItem::acceptHoverEvents(void) const
+ ?staticMetaObject@QSessionManager@@2UQMetaObject@@B @ 7632 NONAME ; struct QMetaObject const QSessionManager::staticMetaObject
+ ??0QStyleOptionQ3DockWindow@@QAE@ABV0@@Z @ 7633 NONAME ; QStyleOptionQ3DockWindow::QStyleOptionQ3DockWindow(class QStyleOptionQ3DockWindow const &)
+ ?acceleration@QPanGesture@@QBEMXZ @ 7634 NONAME ; float QPanGesture::acceleration(void) const
+ ?cellAt@QTextTable@@QBE?AVQTextTableCell@@H@Z @ 7635 NONAME ; class QTextTableCell QTextTable::cellAt(int) const
+ ?stretchLastSection@QHeaderView@@QBE_NXZ @ 7636 NONAME ; bool QHeaderView::stretchLastSection(void) const
+ ?sortRole@QSortFilterProxyModel@@QBEHXZ @ 7637 NONAME ; int QSortFilterProxyModel::sortRole(void) const
+ ?scrollContentsBy@QAbstractScrollArea@@MAEXHH@Z @ 7638 NONAME ; void QAbstractScrollArea::scrollContentsBy(int, int)
+ ?update@QAbstractItemView@@QAEXABVQModelIndex@@@Z @ 7639 NONAME ; void QAbstractItemView::update(class QModelIndex const &)
+ ?mouseGrabber@QWidgetPrivate@@2PAVQWidget@@A @ 7640 NONAME ; class QWidget * QWidgetPrivate::mouseGrabber
+ ?setColor@QImage@@QAEXHI@Z @ 7641 NONAME ; void QImage::setColor(int, unsigned int)
+ ?tr@QDial@@SA?AVQString@@PBD0H@Z @ 7642 NONAME ; class QString QDial::tr(char const *, char const *, int)
+ ??0QImage@@QAE@PBEHHW4Format@0@@Z @ 7643 NONAME ; QImage::QImage(unsigned char const *, int, int, enum QImage::Format)
+ ??0QPalette@@QAE@XZ @ 7644 NONAME ; QPalette::QPalette(void)
+ ??7QPixmap@@QBE_NXZ @ 7645 NONAME ; bool QPixmap::operator!(void) const
+ ?setPageBreakPolicy@QTextBlockFormat@@QAEXV?$QFlags@W4PageBreakFlag@QTextFormat@@@@@Z @ 7646 NONAME ; void QTextBlockFormat::setPageBreakPolicy(class QFlags<enum QTextFormat::PageBreakFlag>)
+ ?staticMetaObject@QInputContextPlugin@@2UQMetaObject@@B @ 7647 NONAME ; struct QMetaObject const QInputContextPlugin::staticMetaObject
+ ?setMinimumContentsLength@QComboBox@@QAEXH@Z @ 7648 NONAME ; void QComboBox::setMinimumContentsLength(int)
+ ??1QPlainTextDocumentLayout@@UAE@XZ @ 7649 NONAME ; QPlainTextDocumentLayout::~QPlainTextDocumentLayout(void)
+ ?setParent@QWidget@@QAEXPAV1@@Z @ 7650 NONAME ; void QWidget::setParent(class QWidget *)
+ ?brushOrigin@QPaintEngineState@@QBE?AVQPointF@@XZ @ 7651 NONAME ; class QPointF QPaintEngineState::brushOrigin(void) const
+ ?orientation@QToolBar@@QBE?AW4Orientation@Qt@@XZ @ 7652 NONAME ; enum Qt::Orientation QToolBar::orientation(void) const
+ ?drawPolygon@QPaintEngine@@UAEXPBVQPoint@@HW4PolygonDrawMode@1@@Z @ 7653 NONAME ; void QPaintEngine::drawPolygon(class QPoint const *, int, enum QPaintEngine::PolygonDrawMode)
+ ?sizeHint@QPushButton@@UBE?AVQSize@@XZ @ 7654 NONAME ; class QSize QPushButton::sizeHint(void) const
+ ?setColorTable@QImage@@QAEXV?$QVector@I@@@Z @ 7655 NONAME ; void QImage::setColorTable(class QVector<unsigned int>)
+ ??5@YAAAVQDataStream@@AAV0@AAVQPolygon@@@Z @ 7656 NONAME ; class QDataStream & operator>>(class QDataStream &, class QPolygon &)
+ ?addResource@QTextDocument@@QAEXHABVQUrl@@ABVQVariant@@@Z @ 7657 NONAME ; void QTextDocument::addResource(int, class QUrl const &, class QVariant const &)
+ ?objectForFormat@QTextDocument@@QBEPAVQTextObject@@ABVQTextFormat@@@Z @ 7658 NONAME ; class QTextObject * QTextDocument::objectForFormat(class QTextFormat const &) const
+ ?pixelSize@QFont@@QBEHXZ @ 7659 NONAME ; int QFont::pixelSize(void) const
+ ?releaseKeyboard@QWidget@@QAEXXZ @ 7660 NONAME ; void QWidget::releaseKeyboard(void)
+ ?setTextElideMode@QAbstractItemView@@QAEXW4TextElideMode@Qt@@@Z @ 7661 NONAME ; void QAbstractItemView::setTextElideMode(enum Qt::TextElideMode)
+ ?setActiveStack@QUndoGroup@@QAEXPAVQUndoStack@@@Z @ 7662 NONAME ; void QUndoGroup::setActiveStack(class QUndoStack *)
+ ??1QGraphicsLayout@@UAE@XZ @ 7663 NONAME ; QGraphicsLayout::~QGraphicsLayout(void)
+ ??MQTreeWidgetItem@@UBE_NABV0@@Z @ 7664 NONAME ; bool QTreeWidgetItem::operator<(class QTreeWidgetItem const &) const
+ ??6@YAAAVQDataStream@@AAV0@ABVQPicture@@@Z @ 7665 NONAME ; class QDataStream & operator<<(class QDataStream &, class QPicture const &)
+ ?intersect@QRegion@@QBE?AV1@ABV1@@Z @ 7666 NONAME ; class QRegion QRegion::intersect(class QRegion const &) const
+ ?setWrapping@QAbstractSpinBox@@QAEX_N@Z @ 7667 NONAME ; void QAbstractSpinBox::setWrapping(bool)
+ ?lastPosition@QTextFrame@@QBEHXZ @ 7668 NONAME ; int QTextFrame::lastPosition(void) const
+ ?metaObject@QDoubleValidator@@UBEPBUQMetaObject@@XZ @ 7669 NONAME ; struct QMetaObject const * QDoubleValidator::metaObject(void) const
+ ?toHsl@QColor@@QBE?AV1@XZ @ 7670 NONAME ; class QColor QColor::toHsl(void) const
+ ?logicalDpiY@QPaintDevice@@QBEHXZ @ 7671 NONAME ; int QPaintDevice::logicalDpiY(void) const
+ ??0QStyleOptionDockWidgetV2@@QAE@ABV0@@Z @ 7672 NONAME ; QStyleOptionDockWidgetV2::QStyleOptionDockWidgetV2(class QStyleOptionDockWidgetV2 const &)
+ ?columnCount@QMenu@@IBEHXZ @ 7673 NONAME ; int QMenu::columnCount(void) const
+ ?getStaticMetaObject@QProxyModel@@SAABUQMetaObject@@XZ @ 7674 NONAME ; struct QMetaObject const & QProxyModel::getStaticMetaObject(void)
+ ?isActive@QGraphicsScene@@QBE_NXZ @ 7675 NONAME ; bool QGraphicsScene::isActive(void) const
+ ?metaObject@QTreeWidget@@UBEPBUQMetaObject@@XZ @ 7676 NONAME ; struct QMetaObject const * QTreeWidget::metaObject(void) const
+ ??0QTessellator@@QAE@XZ @ 7677 NONAME ; QTessellator::QTessellator(void)
+ ?qSmartMaxSize@@YA?AVQSize@@PBVQWidgetItem@@V?$QFlags@W4AlignmentFlag@Qt@@@@@Z @ 7678 NONAME ; class QSize qSmartMaxSize(class QWidgetItem const *, class QFlags<enum Qt::AlignmentFlag>)
+ ??BQSizePolicy@@QBE?AVQVariant@@XZ @ 7679 NONAME ; QSizePolicy::operator class QVariant(void) const
+ ?devType@QWidget@@UBEHXZ @ 7680 NONAME ; int QWidget::devType(void) const
+ ?translate@QMatrix4x4@@QAEAAV1@ABVQVector3D@@@Z @ 7681 NONAME ; class QMatrix4x4 & QMatrix4x4::translate(class QVector3D const &)
+ ?trUtf8@QFileSystemModel@@SA?AVQString@@PBD0H@Z @ 7682 NONAME ; class QString QFileSystemModel::trUtf8(char const *, char const *, int)
+ ?setOption@QColorDialog@@QAEXW4ColorDialogOption@1@_N@Z @ 7683 NONAME ; void QColorDialog::setOption(enum QColorDialog::ColorDialogOption, bool)
+ ??0QPictureIO@@QAE@XZ @ 7684 NONAME ; QPictureIO::QPictureIO(void)
+ ?sizeHint@QTableWidgetItem@@QBE?AVQSize@@XZ @ 7685 NONAME ; class QSize QTableWidgetItem::sizeHint(void) const
+ ?scaleList@QGraphicsItemAnimation@@QBE?AV?$QList@U?$QPair@MVQPointF@@@@@@XZ @ 7686 NONAME ; class QList<struct QPair<float, class QPointF> > QGraphicsItemAnimation::scaleList(void) const
+ ?currentFont@QFontDialog@@QBE?AVQFont@@XZ @ 7687 NONAME ; class QFont QFontDialog::currentFont(void) const
+ ?trUtf8@QPictureFormatPlugin@@SA?AVQString@@PBD0@Z @ 7688 NONAME ; class QString QPictureFormatPlugin::trUtf8(char const *, char const *)
+ ?mapToWS@QWidgetPrivate@@QBE?AVQPoint@@ABV2@@Z @ 7689 NONAME ; class QPoint QWidgetPrivate::mapToWS(class QPoint const &) const
+ ?showText@QWhatsThis@@SAXABVQPoint@@ABVQString@@PAVQWidget@@@Z @ 7690 NONAME ; void QWhatsThis::showText(class QPoint const &, class QString const &, class QWidget *)
+ ?updateCachedClipPathFromSetPosHelper@QGraphicsItemPrivate@@QAEXABVQPointF@@@Z @ 7691 NONAME ; void QGraphicsItemPrivate::updateCachedClipPathFromSetPosHelper(class QPointF const &)
+ ?selectionChanged@QPlainTextEdit@@IAEXXZ @ 7692 NONAME ; void QPlainTextEdit::selectionChanged(void)
+ ??_EQDialog@@UAE@I@Z @ 7693 NONAME ; QDialog::~QDialog(unsigned int)
+ ?collapseAll@QTreeView@@QAEXXZ @ 7694 NONAME ; void QTreeView::collapseAll(void)
+ ?staticMetaObject@QAbstractItemDelegate@@2UQMetaObject@@B @ 7695 NONAME ; struct QMetaObject const QAbstractItemDelegate::staticMetaObject
+ ?d_func@QGraphicsColorizeEffect@@AAEPAVQGraphicsColorizeEffectPrivate@@XZ @ 7696 NONAME ; class QGraphicsColorizeEffectPrivate * QGraphicsColorizeEffect::d_func(void)
+ ?scenePos@QGraphicsSceneHelpEvent@@QBE?AVQPointF@@XZ @ 7697 NONAME ; class QPointF QGraphicsSceneHelpEvent::scenePos(void) const
+ ?drawChord@QPainter@@QAEXHHHHHH@Z @ 7698 NONAME ; void QPainter::drawChord(int, int, int, int, int, int)
+ ??0QGraphicsSceneWheelEvent@@QAE@W4Type@QEvent@@@Z @ 7699 NONAME ; QGraphicsSceneWheelEvent::QGraphicsSceneWheelEvent(enum QEvent::Type)
+ ?capForJoinMode@QStroker@@KA?AW4PenCapStyle@Qt@@W4LineJoinMode@1@@Z @ 7700 NONAME ; enum Qt::PenCapStyle QStroker::capForJoinMode(enum QStroker::LineJoinMode)
+ ?setCursorBlinkPeriod@QLineControl@@QAEXH@Z @ 7701 NONAME ; void QLineControl::setCursorBlinkPeriod(int)
+ ?widget@QStackedWidget@@QBEPAVQWidget@@H@Z @ 7702 NONAME ; class QWidget * QStackedWidget::widget(int) const
+ ?staticMetaObject@QFont@@2UQMetaObject@@B @ 7703 NONAME ; struct QMetaObject const QFont::staticMetaObject
+ ?isUndoAvailable@QTextDocument@@QBE_NXZ @ 7704 NONAME ; bool QTextDocument::isUndoAvailable(void) const
+ ?setAlignment@QLineEdit@@QAEXV?$QFlags@W4AlignmentFlag@Qt@@@@@Z @ 7705 NONAME ; void QLineEdit::setAlignment(class QFlags<enum Qt::AlignmentFlag>)
+ ??1QGraphicsSceneContextMenuEvent@@UAE@XZ @ 7706 NONAME ; QGraphicsSceneContextMenuEvent::~QGraphicsSceneContextMenuEvent(void)
+ ?hitTest@QPlainTextDocumentLayout@@UBEHABVQPointF@@W4HitTestAccuracy@Qt@@@Z @ 7707 NONAME ; int QPlainTextDocumentLayout::hitTest(class QPointF const &, enum Qt::HitTestAccuracy) const
+ ?load_testability@QApplicationPrivate@@2_NA @ 7708 NONAME ; bool QApplicationPrivate::load_testability
+ ?screenCountChanged@QDesktopWidget@@IAEXH@Z @ 7709 NONAME ; void QDesktopWidget::screenCountChanged(int)
+ ?cursorRect@QTextEdit@@QBE?AVQRect@@XZ @ 7710 NONAME ; class QRect QTextEdit::cursorRect(void) const
+ ?metaObject@QPixmapConvolutionFilter@@UBEPBUQMetaObject@@XZ @ 7711 NONAME ; struct QMetaObject const * QPixmapConvolutionFilter::metaObject(void) const
+ ?currentIndexChanged@QComboBox@@IAEXH@Z @ 7712 NONAME ; void QComboBox::currentIndexChanged(int)
+ ?isDefault@QPushButton@@QBE_NXZ @ 7713 NONAME ; bool QPushButton::isDefault(void) const
+ ?removeButton@QDialogButtonBox@@QAEXPAVQAbstractButton@@@Z @ 7714 NONAME ; void QDialogButtonBox::removeButton(class QAbstractButton *)
+ ??0QDialogButtonBox@@QAE@PAVQWidget@@@Z @ 7715 NONAME ; QDialogButtonBox::QDialogButtonBox(class QWidget *)
+ ??0QImage@@QAE@PAEHHHW4Format@0@@Z @ 7716 NONAME ; QImage::QImage(unsigned char *, int, int, int, enum QImage::Format)
+ ?systemRect@QPaintEngine@@QBE?AVQRect@@XZ @ 7717 NONAME ; class QRect QPaintEngine::systemRect(void) const
+ ?textIndent@QTextBlockFormat@@QBEMXZ @ 7718 NONAME ; float QTextBlockFormat::textIndent(void) const
+ ?trUtf8@QListView@@SA?AVQString@@PBD0@Z @ 7719 NONAME ; class QString QListView::trUtf8(char const *, char const *)
+ ?setTitle@QWizardPage@@QAEXABVQString@@@Z @ 7720 NONAME ; void QWizardPage::setTitle(class QString const &)
+ ?click@QAbstractButton@@QAEXXZ @ 7721 NONAME ; void QAbstractButton::click(void)
+ ?weight@QFont@@QBEHXZ @ 7722 NONAME ; int QFont::weight(void) const
+ ??1QGroupBox@@UAE@XZ @ 7723 NONAME ; QGroupBox::~QGroupBox(void)
+ ?qt_metacast@QAbstractButton@@UAEPAXPBD@Z @ 7724 NONAME ; void * QAbstractButton::qt_metacast(char const *)
+ ?childEvent@QToolBar@@MAEXPAVQChildEvent@@@Z @ 7725 NONAME ; void QToolBar::childEvent(class QChildEvent *)
+ ?position@QTextBlock@@QBEHXZ @ 7726 NONAME ; int QTextBlock::position(void) const
+ ?setPadding@QTextTableCellFormat@@QAEXM@Z @ 7727 NONAME ; void QTextTableCellFormat::setPadding(float)
+ ?itemFromIndex@QStandardItemModel@@QBEPAVQStandardItem@@ABVQModelIndex@@@Z @ 7728 NONAME ; class QStandardItem * QStandardItemModel::itemFromIndex(class QModelIndex const &) const
+ ?isUndoRedoEnabled@QTextDocument@@QBE_NXZ @ 7729 NONAME ; bool QTextDocument::isUndoRedoEnabled(void) const
+ ?paintEvent@QTabWidget@@MAEXPAVQPaintEvent@@@Z @ 7730 NONAME ; void QTabWidget::paintEvent(class QPaintEvent *)
+ ?dragLeaveEvent@QGraphicsView@@MAEXPAVQDragLeaveEvent@@@Z @ 7731 NONAME ; void QGraphicsView::dragLeaveEvent(class QDragLeaveEvent *)
+ ?length@QPainterPath@@QBEMXZ @ 7732 NONAME ; float QPainterPath::length(void) const
+ ?toSymbianRSgImage@QPixmap@@QBEPAVRSgImage@@XZ @ 7733 NONAME ; class RSgImage * QPixmap::toSymbianRSgImage(void) const
+ ?doAutoScroll@QAbstractItemView@@IAEXXZ @ 7734 NONAME ; void QAbstractItemView::doAutoScroll(void)
+ ?hovered@QMenuBar@@IAEXPAVQAction@@@Z @ 7735 NONAME ; void QMenuBar::hovered(class QAction *)
+ ?staticMetaObject@QStyle@@2UQMetaObject@@B @ 7736 NONAME ; struct QMetaObject const QStyle::staticMetaObject
+ ?d_func@QUndoView@@AAEPAVQUndoViewPrivate@@XZ @ 7737 NONAME ; class QUndoViewPrivate * QUndoView::d_func(void)
+ ?trUtf8@QMovie@@SA?AVQString@@PBD0H@Z @ 7738 NONAME ; class QString QMovie::trUtf8(char const *, char const *, int)
+ ?setPreferredHeight@QGraphicsLayoutItem@@QAEXM@Z @ 7739 NONAME ; void QGraphicsLayoutItem::setPreferredHeight(float)
+ ?setOrientation@QDataWidgetMapper@@QAEXW4Orientation@Qt@@@Z @ 7740 NONAME ; void QDataWidgetMapper::setOrientation(enum Qt::Orientation)
+ ?screenPos@QGraphicsSceneWheelEvent@@QBE?AVQPoint@@XZ @ 7741 NONAME ; class QPoint QGraphicsSceneWheelEvent::screenPos(void) const
+ ?setDocumentTitle@QTextEdit@@QAEXABVQString@@@Z @ 7742 NONAME ; void QTextEdit::setDocumentTitle(class QString const &)
+ ?buttons@QGraphicsSceneMouseEvent@@QBE?AV?$QFlags@W4MouseButton@Qt@@@@XZ @ 7743 NONAME ; class QFlags<enum Qt::MouseButton> QGraphicsSceneMouseEvent::buttons(void) const
+ ?setDashOffset@QDashStroker@@QAEXM@Z @ 7744 NONAME ; void QDashStroker::setDashOffset(float)
+ ?setPage@QWizard@@QAEXHPAVQWizardPage@@@Z @ 7745 NONAME ; void QWizard::setPage(int, class QWizardPage *)
+ ?count@QDockWidgetLayout@@UBEHXZ @ 7746 NONAME ; int QDockWidgetLayout::count(void) const
+ ??4QStyleOptionViewItemV4@@QAEAAV0@ABV0@@Z @ 7747 NONAME ; class QStyleOptionViewItemV4 & QStyleOptionViewItemV4::operator=(class QStyleOptionViewItemV4 const &)
+ ?scrollContentsBy@QListView@@MAEXHH@Z @ 7748 NONAME ; void QListView::scrollContentsBy(int, int)
+ ?frameBoundingRect@QPlainTextDocumentLayout@@UBE?AVQRectF@@PAVQTextFrame@@@Z @ 7749 NONAME ; class QRectF QPlainTextDocumentLayout::frameBoundingRect(class QTextFrame *) const
+ ??0QTextDocument@@QAE@PAVQObject@@@Z @ 7750 NONAME ; QTextDocument::QTextDocument(class QObject *)
+ ?isNull@QPixmap@@QBE_NXZ @ 7751 NONAME ; bool QPixmap::isNull(void) const
+ ?prefix@QSpinBox@@QBE?AVQString@@XZ @ 7752 NONAME ; class QString QSpinBox::prefix(void) const
+ ?setTabsClosable@QTabBar@@QAEX_N@Z @ 7753 NONAME ; void QTabBar::setTabsClosable(bool)
+ ??XQTransform@@QAEAAV0@M@Z @ 7754 NONAME ; class QTransform & QTransform::operator*=(float)
+ ?currentCharFormat@QTextEdit@@QBE?AVQTextCharFormat@@XZ @ 7755 NONAME ; class QTextCharFormat QTextEdit::currentCharFormat(void) const
+ ?getStaticMetaObject@QEventDispatcherS60@@SAABUQMetaObject@@XZ @ 7756 NONAME ; struct QMetaObject const & QEventDispatcherS60::getStaticMetaObject(void)
+ ?originChanged@QGraphicsScale@@IAEXXZ @ 7757 NONAME ; void QGraphicsScale::originChanged(void)
+ ?distanceToPlane@QVector3D@@QBEMABV1@0@Z @ 7758 NONAME ; float QVector3D::distanceToPlane(class QVector3D const &, class QVector3D const &) const
+ ?staticMetaObject@QShortcut@@2UQMetaObject@@B @ 7759 NONAME ; struct QMetaObject const QShortcut::staticMetaObject
+ ?enabledChanged@QGraphicsEffect@@IAEX_N@Z @ 7760 NONAME ; void QGraphicsEffect::enabledChanged(bool)
+ ?setDragDropMode@QAbstractItemView@@QAEXW4DragDropMode@1@@Z @ 7761 NONAME ; void QAbstractItemView::setDragDropMode(enum QAbstractItemView::DragDropMode)
+ ?shape@QCursor@@QBE?AW4CursorShape@Qt@@XZ @ 7762 NONAME ; enum Qt::CursorShape QCursor::shape(void) const
+ ?ascent@QFontMetricsF@@QBEMXZ @ 7763 NONAME ; float QFontMetricsF::ascent(void) const
+ ?insertRows@QStringListModel@@UAE_NHHABVQModelIndex@@@Z @ 7764 NONAME ; bool QStringListModel::insertRows(int, int, class QModelIndex const &)
+ ?elementCount@QVectorPath@@QBEHXZ @ 7765 NONAME ; int QVectorPath::elementCount(void) const
+ ??0QToolButton@@QAE@PAVQWidget@@@Z @ 7766 NONAME ; QToolButton::QToolButton(class QWidget *)
+ ?setCornerWidget@QAbstractScrollArea@@QAEXPAVQWidget@@@Z @ 7767 NONAME ; void QAbstractScrollArea::setCornerWidget(class QWidget *)
+ ??K@YA?AVQMatrix4x4@@ABV0@M@Z @ 7768 NONAME ; class QMatrix4x4 operator/(class QMatrix4x4 const &, float)
+ ??6@YA?AVQDebug@@V0@ABVQMatrix4x4@@@Z @ 7769 NONAME ; class QDebug operator<<(class QDebug, class QMatrix4x4 const &)
+ ?shadow@QPalette@@QBEABVQBrush@@XZ @ 7770 NONAME ; class QBrush const & QPalette::shadow(void) const
+ ??0QScrollBar@@QAE@W4Orientation@Qt@@PAVQWidget@@@Z @ 7771 NONAME ; QScrollBar::QScrollBar(enum Qt::Orientation, class QWidget *)
+ ?strength@QPixmapColorizeFilter@@QBEMXZ @ 7772 NONAME ; float QPixmapColorizeFilter::strength(void) const
+ ?defaultDepth@QPixmap@@SAHXZ @ 7773 NONAME ; int QPixmap::defaultDepth(void)
+ ?setParameters@QPictureIO@@QAEXPBD@Z @ 7774 NONAME ; void QPictureIO::setParameters(char const *)
+ ?setVerticalHeaderItem@QTableWidget@@QAEXHPAVQTableWidgetItem@@@Z @ 7775 NONAME ; void QTableWidget::setVerticalHeaderItem(int, class QTableWidgetItem *)
+ ?axis@QGraphicsRotation@@QBE?AVQVector3D@@XZ @ 7776 NONAME ; class QVector3D QGraphicsRotation::axis(void) const
+ ?iconSize@QTabWidget@@QBE?AVQSize@@XZ @ 7777 NONAME ; class QSize QTabWidget::iconSize(void) const
+ ??1QSyntaxHighlighter@@UAE@XZ @ 7778 NONAME ; QSyntaxHighlighter::~QSyntaxHighlighter(void)
+ ?intersects@QRegion@@QBE_NABV1@@Z @ 7779 NONAME ; bool QRegion::intersects(class QRegion const &) const
+ ?init@QPixmap@@AAEXHHW4Type@1@@Z @ 7780 NONAME ; void QPixmap::init(int, int, enum QPixmap::Type)
+ ?staticMetaObject@QGraphicsView@@2UQMetaObject@@B @ 7781 NONAME ; struct QMetaObject const QGraphicsView::staticMetaObject
+ ??0QStyleOptionSpinBox@@IAE@H@Z @ 7782 NONAME ; QStyleOptionSpinBox::QStyleOptionSpinBox(int)
+ ?setAlternatingRowColors@QAbstractItemView@@QAEX_N@Z @ 7783 NONAME ; void QAbstractItemView::setAlternatingRowColors(bool)
+ ?addPolygon@QPainterPath@@QAEXABVQPolygonF@@@Z @ 7784 NONAME ; void QPainterPath::addPolygon(class QPolygonF const &)
+ ?imageCount@QImageReader@@QBEHXZ @ 7785 NONAME ; int QImageReader::imageCount(void) const
+ ?qt_metacast@QWidgetResizeHandler@@UAEPAXPBD@Z @ 7786 NONAME ; void * QWidgetResizeHandler::qt_metacast(char const *)
+ ?autoRepeat@QAction@@QBE_NXZ @ 7787 NONAME ; bool QAction::autoRepeat(void) const
+ ?staticMetaObject@QDesktopWidget@@2UQMetaObject@@B @ 7788 NONAME ; struct QMetaObject const QDesktopWidget::staticMetaObject
+ ?documentMode@QMainWindow@@QBE_NXZ @ 7789 NONAME ; bool QMainWindow::documentMode(void) const
+ ?windowSurface@QWidget@@QBEPAVQWindowSurface@@XZ @ 7790 NONAME ; class QWindowSurface * QWidget::windowSurface(void) const
+ ?tr@QInputDialog@@SA?AVQString@@PBD0H@Z @ 7791 NONAME ; class QString QInputDialog::tr(char const *, char const *, int)
+ ?tabShape@QMdiArea@@QBE?AW4TabShape@QTabWidget@@XZ @ 7792 NONAME ; enum QTabWidget::TabShape QMdiArea::tabShape(void) const
+ ??1QTextListFormat@@QAE@XZ @ 7793 NONAME ; QTextListFormat::~QTextListFormat(void)
+ ?qt_imageForBrush@@YA?AVQImage@@H_N@Z @ 7794 NONAME ; class QImage qt_imageForBrush(int, bool)
+ ??_EQHBoxLayout@@UAE@I@Z @ 7795 NONAME ; QHBoxLayout::~QHBoxLayout(unsigned int)
+ ?setButtonDownScenePos@QGraphicsSceneMouseEvent@@QAEXW4MouseButton@Qt@@ABVQPointF@@@Z @ 7796 NONAME ; void QGraphicsSceneMouseEvent::setButtonDownScenePos(enum Qt::MouseButton, class QPointF const &)
+ ?addAnchor@QGraphicsAnchorLayout@@QAEPAVQGraphicsAnchor@@PAVQGraphicsLayoutItem@@W4AnchorPoint@Qt@@01@Z @ 7797 NONAME ; class QGraphicsAnchor * QGraphicsAnchorLayout::addAnchor(class QGraphicsLayoutItem *, enum Qt::AnchorPoint, class QGraphicsLayoutItem *, enum Qt::AnchorPoint)
+ ?d_func@QGraphicsEffect@@AAEPAVQGraphicsEffectPrivate@@XZ @ 7798 NONAME ; class QGraphicsEffectPrivate * QGraphicsEffect::d_func(void)
+ ?setX@QVector2D@@QAEXM@Z @ 7799 NONAME ; void QVector2D::setX(float)
+ ??_EQPaintBufferResource@@UAE@I@Z @ 7800 NONAME ; QPaintBufferResource::~QPaintBufferResource(unsigned int)
+ ?addToPolygonIterative@QBezier@@QBEXPAVQPolygonF@@@Z @ 7801 NONAME ; void QBezier::addToPolygonIterative(class QPolygonF *) const
+ ?updateRequest@QPlainTextEdit@@IAEXABVQRect@@H@Z @ 7802 NONAME ; void QPlainTextEdit::updateRequest(class QRect const &, int)
+ ?translate@QRegion@@QAEXABVQPoint@@@Z @ 7803 NONAME ; void QRegion::translate(class QPoint const &)
+ ?isRowSelected@QItemSelectionModel@@QBE_NHABVQModelIndex@@@Z @ 7804 NONAME ; bool QItemSelectionModel::isRowSelected(int, class QModelIndex const &) const
+ ?setMovingEnabled@QWidgetResizeHandler@@QAEX_N@Z @ 7805 NONAME ; void QWidgetResizeHandler::setMovingEnabled(bool)
+ ?gestureType@QGesture@@QBE?AW4GestureType@Qt@@XZ @ 7806 NONAME ; enum Qt::GestureType QGesture::gestureType(void) const
+ ?qt_defaultDpiY@@YAHXZ @ 7807 NONAME ; int qt_defaultDpiY(void)
+ ?savePicture@QPictureFormatPlugin@@UAE_NABVQString@@0ABVQPicture@@@Z @ 7808 NONAME ; bool QPictureFormatPlugin::savePicture(class QString const &, class QString const &, class QPicture const &)
+ ?event@QTextBrowser@@MAE_NPAVQEvent@@@Z @ 7809 NONAME ; bool QTextBrowser::event(class QEvent *)
+ ?maximumSize@QWidgetItem@@UBE?AVQSize@@XZ @ 7810 NONAME ; class QSize QWidgetItem::maximumSize(void) const
+ ?setLocale_helper@QWidgetPrivate@@QAEXABVQLocale@@_N@Z @ 7811 NONAME ; void QWidgetPrivate::setLocale_helper(class QLocale const &, bool)
+ ??_EQFontComboBox@@UAE@I@Z @ 7812 NONAME ; QFontComboBox::~QFontComboBox(unsigned int)
+ ?setRenderHints@QPainter@@QAEXV?$QFlags@W4RenderHint@QPainter@@@@_N@Z @ 7813 NONAME ; void QPainter::setRenderHints(class QFlags<enum QPainter::RenderHint>, bool)
+ ?trUtf8@QWorkspace@@SA?AVQString@@PBD0@Z @ 7814 NONAME ; class QString QWorkspace::trUtf8(char const *, char const *)
+ ??0QCalendarWidget@@QAE@PAVQWidget@@@Z @ 7815 NONAME ; QCalendarWidget::QCalendarWidget(class QWidget *)
+ ?setButtonText@QMessageBox@@QAEXHABVQString@@@Z @ 7816 NONAME ; void QMessageBox::setButtonText(int, class QString const &)
+ ?ensureSortedChildren@QGraphicsItemPrivate@@QAEXXZ @ 7817 NONAME ; void QGraphicsItemPrivate::ensureSortedChildren(void)
+ ?generatedIconPixmap@QProxyStyle@@UBE?AVQPixmap@@W4Mode@QIcon@@ABV2@PBVQStyleOption@@@Z @ 7818 NONAME ; class QPixmap QProxyStyle::generatedIconPixmap(enum QIcon::Mode, class QPixmap const &, class QStyleOption const *) const
+ ?trUtf8@QSwipeGesture@@SA?AVQString@@PBD0H@Z @ 7819 NONAME ; class QString QSwipeGesture::trUtf8(char const *, char const *, int)
+ ?indexAt@QColumnView@@UBE?AVQModelIndex@@ABVQPoint@@@Z @ 7820 NONAME ; class QModelIndex QColumnView::indexAt(class QPoint const &) const
+ ??1QRegion@@QAE@XZ @ 7821 NONAME ; QRegion::~QRegion(void)
+ ?event@QMdiArea@@MAE_NPAVQEvent@@@Z @ 7822 NONAME ; bool QMdiArea::event(class QEvent *)
+ ?setDecideFormatFromContent@QImageReader@@QAEX_N@Z @ 7823 NONAME ; void QImageReader::setDecideFormatFromContent(bool)
+ ?setSortIndicatorShown@QHeaderView@@QAEX_N@Z @ 7824 NONAME ; void QHeaderView::setSortIndicatorShown(bool)
+ ?setRootIndex@QAbstractItemView@@UAEXABVQModelIndex@@@Z @ 7825 NONAME ; void QAbstractItemView::setRootIndex(class QModelIndex const &)
+ ?writingSystems@QFontDatabase@@QBE?AV?$QList@W4WritingSystem@QFontDatabase@@@@XZ @ 7826 NONAME ; class QList<enum QFontDatabase::WritingSystem> QFontDatabase::writingSystems(void) const
+ ?setOpenLinks@QTextBrowser@@QAEX_N@Z @ 7827 NONAME ; void QTextBrowser::setOpenLinks(bool)
+ ?setHexMode@QLCDNumber@@QAEXXZ @ 7828 NONAME ; void QLCDNumber::setHexMode(void)
+ ?toPointF@QVector3D@@QBE?AVQPointF@@XZ @ 7829 NONAME ; class QPointF QVector3D::toPointF(void) const
+ ?qt_metacast@QColorDialog@@UAEPAXPBD@Z @ 7830 NONAME ; void * QColorDialog::qt_metacast(char const *)
+ ?trUtf8@QToolBar@@SA?AVQString@@PBD0@Z @ 7831 NONAME ; class QString QToolBar::trUtf8(char const *, char const *)
+ ?trUtf8@QGraphicsItemAnimation@@SA?AVQString@@PBD0@Z @ 7832 NONAME ; class QString QGraphicsItemAnimation::trUtf8(char const *, char const *)
+ ?addMapping@QDataWidgetMapper@@QAEXPAVQWidget@@HABVQByteArray@@@Z @ 7833 NONAME ; void QDataWidgetMapper::addMapping(class QWidget *, int, class QByteArray const &)
+ ?keyPressEvent@QTreeView@@MAEXPAVQKeyEvent@@@Z @ 7834 NONAME ; void QTreeView::keyPressEvent(class QKeyEvent *)
+ ?staticMetaObject@QKeyEventTransition@@2UQMetaObject@@B @ 7835 NONAME ; struct QMetaObject const QKeyEventTransition::staticMetaObject
+ ?setIconProvider@QDirModel@@QAEXPAVQFileIconProvider@@@Z @ 7836 NONAME ; void QDirModel::setIconProvider(class QFileIconProvider *)
+ ?setClipRect@QPainter@@QAEXHHHHW4ClipOperation@Qt@@@Z @ 7837 NONAME ; void QPainter::setClipRect(int, int, int, int, enum Qt::ClipOperation)
+ ??0QPaintEngineExPrivate@@QAE@XZ @ 7838 NONAME ; QPaintEngineExPrivate::QPaintEngineExPrivate(void)
+ ??1QPainterPath@@QAE@XZ @ 7839 NONAME ; QPainterPath::~QPainterPath(void)
+ ?conjugate@QQuaternion@@QBE?AV1@XZ @ 7840 NONAME ; class QQuaternion QQuaternion::conjugate(void) const
+ ?setOffset@QGraphicsPixmapItem@@QAEXABVQPointF@@@Z @ 7841 NONAME ; void QGraphicsPixmapItem::setOffset(class QPointF const &)
+ ??_EQGraphicsAnchor@@UAE@I@Z @ 7842 NONAME ; QGraphicsAnchor::~QGraphicsAnchor(unsigned int)
+ ?isOpaque@QBrush@@QBE_NXZ @ 7843 NONAME ; bool QBrush::isOpaque(void) const
+ ?reject@QDialog@@UAEXXZ @ 7844 NONAME ; void QDialog::reject(void)
+ ?tr@QTextEdit@@SA?AVQString@@PBD0H@Z @ 7845 NONAME ; class QString QTextEdit::tr(char const *, char const *, int)
+ ?iconThemeSearchPaths@QGuiPlatformPlugin@@UAE?AVQStringList@@XZ @ 7846 NONAME ; class QStringList QGuiPlatformPlugin::iconThemeSearchPaths(void)
+ ?setBar@QProgressDialog@@QAEXPAVQProgressBar@@@Z @ 7847 NONAME ; void QProgressDialog::setBar(class QProgressBar *)
+ ?split@QItemSelection@@SAXABVQItemSelectionRange@@0PAV1@@Z @ 7848 NONAME ; void QItemSelection::split(class QItemSelectionRange const &, class QItemSelectionRange const &, class QItemSelection *)
+ ??_EQFontEngine@@UAE@I@Z @ 7849 NONAME ; QFontEngine::~QFontEngine(unsigned int)
+ ?metaObject@QProgressDialog@@UBEPBUQMetaObject@@XZ @ 7850 NONAME ; struct QMetaObject const * QProgressDialog::metaObject(void) const
+ ?s60UpdateIsOpaque@QWidgetPrivate@@QAEXXZ @ 7851 NONAME ; void QWidgetPrivate::s60UpdateIsOpaque(void)
+ ?setCommitPage@QWizardPage@@QAEX_N@Z @ 7852 NONAME ; void QWizardPage::setCommitPage(bool)
+ ?visualRegionForSelection@QTreeView@@MBE?AVQRegion@@ABVQItemSelection@@@Z @ 7853 NONAME ; class QRegion QTreeView::visualRegionForSelection(class QItemSelection const &) const
+ ??8QTransform@@QBE_NABV0@@Z @ 7854 NONAME ; bool QTransform::operator==(class QTransform const &) const
+ ??0QCursor@@QAE@ABVQPixmap@@HH@Z @ 7855 NONAME ; QCursor::QCursor(class QPixmap const &, int, int)
+ ?timerEvent@QMenu@@MAEXPAVQTimerEvent@@@Z @ 7856 NONAME ; void QMenu::timerEvent(class QTimerEvent *)
+ ??1QGraphicsTransform@@UAE@XZ @ 7857 NONAME ; QGraphicsTransform::~QGraphicsTransform(void)
+ ?addMenu@QMenu@@QAEPAVQAction@@PAV1@@Z @ 7858 NONAME ; class QAction * QMenu::addMenu(class QMenu *)
+ ?drawText@QPainter@@QAEXABVQRectF@@ABVQString@@ABVQTextOption@@@Z @ 7859 NONAME ; void QPainter::drawText(class QRectF const &, class QString const &, class QTextOption const &)
+ ??_EQItemSelectionModel@@UAE@I@Z @ 7860 NONAME ; QItemSelectionModel::~QItemSelectionModel(unsigned int)
+ ??1QStyle@@UAE@XZ @ 7861 NONAME ; QStyle::~QStyle(void)
+ ?pixmap@QIcon@@QBE?AVQPixmap@@ABVQSize@@W4Mode@1@W4State@1@@Z @ 7862 NONAME ; class QPixmap QIcon::pixmap(class QSize const &, enum QIcon::Mode, enum QIcon::State) const
+ ??_EQIconEnginePluginV2@@UAE@I@Z @ 7863 NONAME ; QIconEnginePluginV2::~QIconEnginePluginV2(unsigned int)
+ ?type@QGraphicsSimpleTextItem@@UBEHXZ @ 7864 NONAME ; int QGraphicsSimpleTextItem::type(void) const
+ ?fromScale@QTransform@@SA?AV1@MM@Z @ 7865 NONAME ; class QTransform QTransform::fromScale(float, float)
+ ?setWhatsThis@QStandardItem@@QAEXABVQString@@@Z @ 7866 NONAME ; void QStandardItem::setWhatsThis(class QString const &)
+ ?tr@QTextList@@SA?AVQString@@PBD0@Z @ 7867 NONAME ; class QString QTextList::tr(char const *, char const *)
+ ?d_func@QPaintEngineEx@@AAEPAVQPaintEngineExPrivate@@XZ @ 7868 NONAME ; class QPaintEngineExPrivate * QPaintEngineEx::d_func(void)
+ ?getStaticMetaObject@QScrollBar@@SAABUQMetaObject@@XZ @ 7869 NONAME ; struct QMetaObject const & QScrollBar::getStaticMetaObject(void)
+ ?setModel@QProxyModel@@UAEXPAVQAbstractItemModel@@@Z @ 7870 NONAME ; void QProxyModel::setModel(class QAbstractItemModel *)
+ ?removeExtraItemCache@QGraphicsItemPrivate@@QAEXXZ @ 7871 NONAME ; void QGraphicsItemPrivate::removeExtraItemCache(void)
+ ?prevMaskBlank@QLineControl@@QAEHH@Z @ 7872 NONAME ; int QLineControl::prevMaskBlank(int)
+ ?averageCharWidth@QFontMetrics@@QBEHXZ @ 7873 NONAME ; int QFontMetrics::averageCharWidth(void) const
+ ??0QStyleOptionQ3ListView@@IAE@H@Z @ 7874 NONAME ; QStyleOptionQ3ListView::QStyleOptionQ3ListView(int)
+ ?languageChange@QWidget@@MAEXXZ @ 7875 NONAME ; void QWidget::languageChange(void)
+ ?setDevice@QImageIOHandler@@QAEXPAVQIODevice@@@Z @ 7876 NONAME ; void QImageIOHandler::setDevice(class QIODevice *)
+ ?getStaticMetaObject@QMdiSubWindow@@SAABUQMetaObject@@XZ @ 7877 NONAME ; struct QMetaObject const & QMdiSubWindow::getStaticMetaObject(void)
+ ?iconSizeChanged@QToolBar@@IAEXABVQSize@@@Z @ 7878 NONAME ; void QToolBar::iconSizeChanged(class QSize const &)
+ ??0QFileSystemModel@@IAE@AAVQFileSystemModelPrivate@@PAVQObject@@@Z @ 7879 NONAME ; QFileSystemModel::QFileSystemModel(class QFileSystemModelPrivate &, class QObject *)
+ ?qt_metacast@QFontDialog@@UAEPAXPBD@Z @ 7880 NONAME ; void * QFontDialog::qt_metacast(char const *)
+ ?rightMargin@QTextFrameFormat@@QBEMXZ @ 7881 NONAME ; float QTextFrameFormat::rightMargin(void) const
+ ??1QTextBlockFormat@@QAE@XZ @ 7882 NONAME ; QTextBlockFormat::~QTextBlockFormat(void)
+ ??1QFontDialog@@UAE@XZ @ 7883 NONAME ; QFontDialog::~QFontDialog(void)
+ ?trUtf8@QStringListModel@@SA?AVQString@@PBD0@Z @ 7884 NONAME ; class QString QStringListModel::trUtf8(char const *, char const *)
+ ??0QTextEngine@@QAE@XZ @ 7885 NONAME ; QTextEngine::QTextEngine(void)
+ ?tabData@QTabBar@@QBE?AVQVariant@@H@Z @ 7886 NONAME ; class QVariant QTabBar::tabData(int) const
+ ?addWidget@QGridLayout@@QAEXPAVQWidget@@HHV?$QFlags@W4AlignmentFlag@Qt@@@@@Z @ 7887 NONAME ; void QGridLayout::addWidget(class QWidget *, int, int, class QFlags<enum Qt::AlignmentFlag>)
+ ?previous@QTextBlock@@QBE?AV1@XZ @ 7888 NONAME ; class QTextBlock QTextBlock::previous(void) const
+ ?setGeometry@QGraphicsLinearLayout@@UAEXABVQRectF@@@Z @ 7889 NONAME ; void QGraphicsLinearLayout::setGeometry(class QRectF const &)
+ ??0QCommandLinkButton@@QAE@ABVQString@@0PAVQWidget@@@Z @ 7890 NONAME ; QCommandLinkButton::QCommandLinkButton(class QString const &, class QString const &, class QWidget *)
+ ?cacheEnabled@QTextLayout@@QBE_NXZ @ 7891 NONAME ; bool QTextLayout::cacheEnabled(void) const
+ ?resizeEvent@QWizard@@MAEXPAVQResizeEvent@@@Z @ 7892 NONAME ; void QWizard::resizeEvent(class QResizeEvent *)
+ ?fontUnderline@QTextCharFormat@@QBE_NXZ @ 7893 NONAME ; bool QTextCharFormat::fontUnderline(void) const
+ ?qt_metacast@QCalendarWidget@@UAEPAXPBD@Z @ 7894 NONAME ; void * QCalendarWidget::qt_metacast(char const *)
+ ?activate@QAction@@QAEXW4ActionEvent@1@@Z @ 7895 NONAME ; void QAction::activate(enum QAction::ActionEvent)
+ ?containsPoint@QPolygon@@QBE_NABVQPoint@@W4FillRule@Qt@@@Z @ 7896 NONAME ; bool QPolygon::containsPoint(class QPoint const &, enum Qt::FillRule) const
+ ?verticalSpacing@QGraphicsGridLayout@@QBEMXZ @ 7897 NONAME ; float QGraphicsGridLayout::verticalSpacing(void) const
+ ??0QStyleOptionViewItemV2@@QAE@XZ @ 7898 NONAME ; QStyleOptionViewItemV2::QStyleOptionViewItemV2(void)
+ ?viewportEvent@QTreeView@@MAE_NPAVQEvent@@@Z @ 7899 NONAME ; bool QTreeView::viewportEvent(class QEvent *)
+ ??0QInputEvent@@QAE@ABV0@@Z @ 7900 NONAME ; QInputEvent::QInputEvent(class QInputEvent const &)
+ ?dashOffset@QDashStroker@@QBEMXZ @ 7901 NONAME ; float QDashStroker::dashOffset(void) const
+ ??0QGraphicsGridLayout@@QAE@PAVQGraphicsLayoutItem@@@Z @ 7902 NONAME ; QGraphicsGridLayout::QGraphicsGridLayout(class QGraphicsLayoutItem *)
+ ??1QScrollBar@@UAE@XZ @ 7903 NONAME ; QScrollBar::~QScrollBar(void)
+ ?setSortingEnabled@QTableView@@QAEX_N@Z @ 7904 NONAME ; void QTableView::setSortingEnabled(bool)
+ ?setHorizontalHeaderFormat@QCalendarWidget@@QAEXW4HorizontalHeaderFormat@1@@Z @ 7905 NONAME ; void QCalendarWidget::setHorizontalHeaderFormat(enum QCalendarWidget::HorizontalHeaderFormat)
+ ?tr@QDateEdit@@SA?AVQString@@PBD0H@Z @ 7906 NONAME ; class QString QDateEdit::tr(char const *, char const *, int)
+ ?d_func@QApplication@@AAEPAVQApplicationPrivate@@XZ @ 7907 NONAME ; class QApplicationPrivate * QApplication::d_func(void)
+ ?setState@TouchPoint@QTouchEvent@@QAEXV?$QFlags@W4TouchPointState@Qt@@@@@Z @ 7908 NONAME ; void QTouchEvent::TouchPoint::setState(class QFlags<enum Qt::TouchPointState>)
+ ?setScenePos@QGraphicsSceneMouseEvent@@QAEXABVQPointF@@@Z @ 7909 NONAME ; void QGraphicsSceneMouseEvent::setScenePos(class QPointF const &)
+ ?setDeviceType@QTouchEvent@@QAEXW4DeviceType@1@@Z @ 7910 NONAME ; void QTouchEvent::setDeviceType(enum QTouchEvent::DeviceType)
+ ??0QWidgetResizeHandler@@QAE@PAVQWidget@@0@Z @ 7911 NONAME ; QWidgetResizeHandler::QWidgetResizeHandler(class QWidget *, class QWidget *)
+ ?clearAdditionalFormats@QTextLayout@@QAEXXZ @ 7912 NONAME ; void QTextLayout::clearAdditionalFormats(void)
+ ?setIconSize@QAbstractItemView@@QAEXABVQSize@@@Z @ 7913 NONAME ; void QAbstractItemView::setIconSize(class QSize const &)
+ ?computeBoundingRect@QPainterPath@@ABEXXZ @ 7914 NONAME ; void QPainterPath::computeBoundingRect(void) const
+ ?paint@QItemDelegate@@UBEXPAVQPainter@@ABVQStyleOptionViewItem@@ABVQModelIndex@@@Z @ 7915 NONAME ; void QItemDelegate::paint(class QPainter *, class QStyleOptionViewItem const &, class QModelIndex const &) const
+ ?setCollapsible@QSplitter@@QAEXH_N@Z @ 7916 NONAME ; void QSplitter::setCollapsible(int, bool)
+ ??0QGraphicsTransform@@IAE@AAVQGraphicsTransformPrivate@@PAVQObject@@@Z @ 7917 NONAME ; QGraphicsTransform::QGraphicsTransform(class QGraphicsTransformPrivate &, class QObject *)
+ ?labelText@QProgressDialog@@QBE?AVQString@@XZ @ 7918 NONAME ; class QString QProgressDialog::labelText(void) const
+ ?addChild@QGraphicsItemPrivate@@QAEXPAVQGraphicsItem@@@Z @ 7919 NONAME ; void QGraphicsItemPrivate::addChild(class QGraphicsItem *)
+ ?intValueChanged@QInputDialog@@IAEXH@Z @ 7920 NONAME ; void QInputDialog::intValueChanged(int)
+ ?cursorPositionAt@QLineEdit@@QAEHABVQPoint@@@Z @ 7921 NONAME ; int QLineEdit::cursorPositionAt(class QPoint const &)
+ ?resizeContents@QListView@@IAEXHH@Z @ 7922 NONAME ; void QListView::resizeContents(int, int)
+ ?setStrength@QPixmapColorizeFilter@@QAEXM@Z @ 7923 NONAME ; void QPixmapColorizeFilter::setStrength(float)
+ ??0QStyleOptionTabV3@@QAE@XZ @ 7924 NONAME ; QStyleOptionTabV3::QStyleOptionTabV3(void)
+ ?updateHints@QCoeFepInputContext@@AAEX_N@Z @ 7925 NONAME ABSENT ; void QCoeFepInputContext::updateHints(bool)
+ ?StartFepInlineEditL@QCoeFepInputContext@@UAEXABVTDesC16@@HHPBVMFormCustomDraw@@AAVMFepInlineTextFormatRetriever@@AAVMFepPointerEventHandlerDuringInlineEdit@@@Z @ 7926 NONAME ABSENT ; void QCoeFepInputContext::StartFepInlineEditL(class TDesC16 const &, int, int, class MFormCustomDraw const *, class MFepInlineTextFormatRetriever &, class MFepPointerEventHandlerDuringInlineEdit &)
+ ?childEvent@QWorkspace@@MAEXPAVQChildEvent@@@Z @ 7927 NONAME ; void QWorkspace::childEvent(class QChildEvent *)
+ ?setMovable@QHeaderView@@QAEX_N@Z @ 7928 NONAME ; void QHeaderView::setMovable(bool)
+ ?trUtf8@QTextList@@SA?AVQString@@PBD0H@Z @ 7929 NONAME ; class QString QTextList::trUtf8(char const *, char const *, int)
+ ??0QLCDNumber@@QAE@IPAVQWidget@@@Z @ 7930 NONAME ; QLCDNumber::QLCDNumber(unsigned int, class QWidget *)
+ ?qt_metacast@QTextDocument@@UAEPAXPBD@Z @ 7931 NONAME ; void * QTextDocument::qt_metacast(char const *)
+ ?valueFromText@QDoubleSpinBox@@UBENABVQString@@@Z @ 7932 NONAME ; double QDoubleSpinBox::valueFromText(class QString const &) const
+ ?staticMetaObject@QLineEdit@@2UQMetaObject@@B @ 7933 NONAME ; struct QMetaObject const QLineEdit::staticMetaObject
+ ??_EQIntValidator@@UAE@I@Z @ 7934 NONAME ; QIntValidator::~QIntValidator(unsigned int)
+ ??4QListWidgetItem@@QAEAAV0@ABV0@@Z @ 7935 NONAME ; class QListWidgetItem & QListWidgetItem::operator=(class QListWidgetItem const &)
+ ??1QTextCharFormat@@QAE@XZ @ 7936 NONAME ; QTextCharFormat::~QTextCharFormat(void)
+ ?setGeometry@QRasterWindowSurface@@UAEXABVQRect@@@Z @ 7937 NONAME ; void QRasterWindowSurface::setGeometry(class QRect const &)
+ ??DQMatrix@@QBE?AV0@ABV0@@Z @ 7938 NONAME ; class QMatrix QMatrix::operator*(class QMatrix const &) const
+ ?lastScenePos@QGraphicsSceneMouseEvent@@QBE?AVQPointF@@XZ @ 7939 NONAME ; class QPointF QGraphicsSceneMouseEvent::lastScenePos(void) const
+ ?standardIconImplementation@QS60Style@@IBE?AVQIcon@@W4StandardPixmap@QStyle@@PBVQStyleOption@@PBVQWidget@@@Z @ 7940 NONAME ; class QIcon QS60Style::standardIconImplementation(enum QStyle::StandardPixmap, class QStyleOption const *, class QWidget const *) const
+ ?style@QBrush@@QBE?AW4BrushStyle@Qt@@XZ @ 7941 NONAME ; enum Qt::BrushStyle QBrush::style(void) const
+ ?brightText@QPalette@@QBEABVQBrush@@XZ @ 7942 NONAME ; class QBrush const & QPalette::brightText(void) const
+ ?setMatrix@QTransform@@QAEXMMMMMMMMM@Z @ 7943 NONAME ; void QTransform::setMatrix(float, float, float, float, float, float, float, float, float)
+ ?trUtf8@QSizeGrip@@SA?AVQString@@PBD0@Z @ 7944 NONAME ; class QString QSizeGrip::trUtf8(char const *, char const *)
+ ?showEvent@QTextEdit@@MAEXPAVQShowEvent@@@Z @ 7945 NONAME ; void QTextEdit::showEvent(class QShowEvent *)
+ ?tr@QStyledItemDelegate@@SA?AVQString@@PBD0H@Z @ 7946 NONAME ; class QString QStyledItemDelegate::tr(char const *, char const *, int)
+ ?setTabTextColor@QTabBar@@QAEXHABVQColor@@@Z @ 7947 NONAME ; void QTabBar::setTabTextColor(int, class QColor const &)
+ ?resolve@QPalette@@QAEXI@Z @ 7948 NONAME ; void QPalette::resolve(unsigned int)
+ ?setTearOffEnabled@QMenu@@QAEX_N@Z @ 7949 NONAME ; void QMenu::setTearOffEnabled(bool)
+ ??_EQComboBox@@UAE@I@Z @ 7950 NONAME ; QComboBox::~QComboBox(unsigned int)
+ ?getStaticMetaObject@QAbstractTextDocumentLayout@@SAABUQMetaObject@@XZ @ 7951 NONAME ; struct QMetaObject const & QAbstractTextDocumentLayout::getStaticMetaObject(void)
+ ?setButtonText@QWizardPage@@QAEXW4WizardButton@QWizard@@ABVQString@@@Z @ 7952 NONAME ; void QWizardPage::setButtonText(enum QWizard::WizardButton, class QString const &)
+ ?updateGeometry_helper@QWidgetPrivate@@QAEX_N@Z @ 7953 NONAME ; void QWidgetPrivate::updateGeometry_helper(bool)
+ ?addRect@QPainterPath@@QAEXABVQRectF@@@Z @ 7954 NONAME ; void QPainterPath::addRect(class QRectF const &)
+ ?tr@QBoxLayout@@SA?AVQString@@PBD0@Z @ 7955 NONAME ; class QString QBoxLayout::tr(char const *, char const *)
+ ?parseMedium@Parser@QCss@@QAE_NPAVQStringList@@@Z @ 7956 NONAME ; bool QCss::Parser::parseMedium(class QStringList *)
+ ?registerTouchWindow@QWidgetPrivate@@QAEXXZ @ 7957 NONAME ; void QWidgetPrivate::registerTouchWindow(void)
+ ?setSortIndicator@QHeaderView@@QAEXHW4SortOrder@Qt@@@Z @ 7958 NONAME ; void QHeaderView::setSortIndicator(int, enum Qt::SortOrder)
+ ?setCurrentIndex@QTabBar@@QAEXH@Z @ 7959 NONAME ; void QTabBar::setCurrentIndex(int)
+ ?rowHeight@QTableView@@QBEHH@Z @ 7960 NONAME ; int QTableView::rowHeight(int) const
+ ?itemsBoundingRect@QGraphicsScene@@QBE?AVQRectF@@XZ @ 7961 NONAME ; class QRectF QGraphicsScene::itemsBoundingRect(void) const
+ ?collidesWithItem@QGraphicsItem@@UBE_NPBV1@W4ItemSelectionMode@Qt@@@Z @ 7962 NONAME ; bool QGraphicsItem::collidesWithItem(class QGraphicsItem const *, enum Qt::ItemSelectionMode) const
+ ?trUtf8@QGraphicsRotation@@SA?AVQString@@PBD0H@Z @ 7963 NONAME ; class QString QGraphicsRotation::trUtf8(char const *, char const *, int)
+ ?getStaticMetaObject@QMouseEventTransition@@SAABUQMetaObject@@XZ @ 7964 NONAME ; struct QMetaObject const & QMouseEventTransition::getStaticMetaObject(void)
+ ?setContentsMargins@QLayout@@QAEXHHHH@Z @ 7965 NONAME ; void QLayout::setContentsMargins(int, int, int, int)
+ ?child@QStandardItem@@QBEPAV1@HH@Z @ 7966 NONAME ; class QStandardItem * QStandardItem::child(int, int) const
+ ?mimeData@QTreeWidget@@MBEPAVQMimeData@@V?$QList@PAVQTreeWidgetItem@@@@@Z @ 7967 NONAME ; class QMimeData * QTreeWidget::mimeData(class QList<class QTreeWidgetItem *>) const
+ ?setMaxVisibleItems@QCompleter@@QAEXH@Z @ 7968 NONAME ; void QCompleter::setMaxVisibleItems(int)
+ ??6@YAAAVQDataStream@@AAV0@ABVQKeySequence@@@Z @ 7969 NONAME ; class QDataStream & operator<<(class QDataStream &, class QKeySequence const &)
+ ?setSortingEnabled@QListWidget@@QAEX_N@Z @ 7970 NONAME ; void QListWidget::setSortingEnabled(bool)
+ ??_EQStatusBar@@UAE@I@Z @ 7971 NONAME ; QStatusBar::~QStatusBar(unsigned int)
+ ?trUtf8@QVBoxLayout@@SA?AVQString@@PBD0@Z @ 7972 NONAME ; class QString QVBoxLayout::trUtf8(char const *, char const *)
+ ?qt_metacast@QGraphicsDropShadowEffect@@UAEPAXPBD@Z @ 7973 NONAME ; void * QGraphicsDropShadowEffect::qt_metacast(char const *)
+ ?drawItemText@QProxyStyle@@UBEXPAVQPainter@@ABVQRect@@HABVQPalette@@_NABVQString@@W4ColorRole@4@@Z @ 7974 NONAME ; void QProxyStyle::drawItemText(class QPainter *, class QRect const &, int, class QPalette const &, bool, class QString const &, enum QPalette::ColorRole) const
+ ?setTop@QIntValidator@@QAEXH@Z @ 7975 NONAME ; void QIntValidator::setTop(int)
+ ?translate@QGraphicsItem@@QAEXMM@Z @ 7976 NONAME ; void QGraphicsItem::translate(float, float)
+ ?checkOverflow@QLCDNumber@@QBE_NH@Z @ 7977 NONAME ; bool QLCDNumber::checkOverflow(int) const
+ ?tr@QDrag@@SA?AVQString@@PBD0H@Z @ 7978 NONAME ; class QString QDrag::tr(char const *, char const *, int)
+ ?tr@QShortcut@@SA?AVQString@@PBD0@Z @ 7979 NONAME ; class QString QShortcut::tr(char const *, char const *)
+ ?setRect@QGraphicsRectItem@@QAEXMMMM@Z @ 7980 NONAME ; void QGraphicsRectItem::setRect(float, float, float, float)
+ ?setParent@QWidget@@QAEXPAV1@V?$QFlags@W4WindowType@Qt@@@@@Z @ 7981 NONAME ; void QWidget::setParent(class QWidget *, class QFlags<enum Qt::WindowType>)
+ ?findItems@QTableWidget@@QBE?AV?$QList@PAVQTableWidgetItem@@@@ABVQString@@V?$QFlags@W4MatchFlag@Qt@@@@@Z @ 7982 NONAME ; class QList<class QTableWidgetItem *> QTableWidget::findItems(class QString const &, class QFlags<enum Qt::MatchFlag>) const
+ ?insertItem@QListWidget@@QAEXHPAVQListWidgetItem@@@Z @ 7983 NONAME ; void QListWidget::insertItem(int, class QListWidgetItem *)
+ ?redoAvailable@QTextEdit@@IAEX_N@Z @ 7984 NONAME ; void QTextEdit::redoAvailable(bool)
+ ?_q_clipboardChanged@QLineControl@@AAEXXZ @ 7985 NONAME ; void QLineControl::_q_clipboardChanged(void)
+ ?event@QFocusFrame@@MAE_NPAVQEvent@@@Z @ 7986 NONAME ; bool QFocusFrame::event(class QEvent *)
+ ?getStaticMetaObject@QFileSystemModel@@SAABUQMetaObject@@XZ @ 7987 NONAME ; struct QMetaObject const & QFileSystemModel::getStaticMetaObject(void)
+ ?metaObject@QMdiSubWindow@@UBEPBUQMetaObject@@XZ @ 7988 NONAME ; struct QMetaObject const * QMdiSubWindow::metaObject(void) const
+ ?height@QPaintDevice@@QBEHXZ @ 7989 NONAME ; int QPaintDevice::height(void) const
+ ?removeColumn@QTableWidget@@QAEXH@Z @ 7990 NONAME ; void QTableWidget::removeColumn(int)
+ ?addItem@QDockWidgetLayout@@UAEXPAVQLayoutItem@@@Z @ 7991 NONAME ; void QDockWidgetLayout::addItem(class QLayoutItem *)
+ ?initialize@QColormap@@SAXXZ @ 7992 NONAME ; void QColormap::initialize(void)
+ ?width@QTextInlineObject@@QBEMXZ @ 7993 NONAME ; float QTextInlineObject::width(void) const
+ ?setChecked@QAbstractButton@@QAEX_N@Z @ 7994 NONAME ; void QAbstractButton::setChecked(bool)
+ ?qt_metacall@QSplitter@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 7995 NONAME ; int QSplitter::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?horizontalHeaderFormat@QCalendarWidget@@QBE?AW4HorizontalHeaderFormat@1@XZ @ 7996 NONAME ; enum QCalendarWidget::HorizontalHeaderFormat QCalendarWidget::horizontalHeaderFormat(void) const
+ ?setSizePolicy@QGraphicsLayoutItem@@QAEXW4Policy@QSizePolicy@@0W4ControlType@3@@Z @ 7997 NONAME ; void QGraphicsLayoutItem::setSizePolicy(enum QSizePolicy::Policy, enum QSizePolicy::Policy, enum QSizePolicy::ControlType)
+ ?index@QSortFilterProxyModel@@UBE?AVQModelIndex@@HHABV2@@Z @ 7998 NONAME ; class QModelIndex QSortFilterProxyModel::index(int, int, class QModelIndex const &) const
+ ??5@YAAAVQDataStream@@AAV0@AAVQRegion@@@Z @ 7999 NONAME ; class QDataStream & operator>>(class QDataStream &, class QRegion &)
+ ?mouseMoveEvent@QGraphicsItem@@MAEXPAVQGraphicsSceneMouseEvent@@@Z @ 8000 NONAME ; void QGraphicsItem::mouseMoveEvent(class QGraphicsSceneMouseEvent *)
+ ?timerEvent@QMdiSubWindow@@MAEXPAVQTimerEvent@@@Z @ 8001 NONAME ; void QMdiSubWindow::timerEvent(class QTimerEvent *)
+ ??0QTreeView@@QAE@PAVQWidget@@@Z @ 8002 NONAME ; QTreeView::QTreeView(class QWidget *)
+ ?lineCount@QTextDocument@@QBEHXZ @ 8003 NONAME ; int QTextDocument::lineCount(void) const
+ ?charFormatIndex@QTextBlock@@QBEHXZ @ 8004 NONAME ; int QTextBlock::charFormatIndex(void) const
+ ?getStaticMetaObject@QFocusFrame@@SAABUQMetaObject@@XZ @ 8005 NONAME ; struct QMetaObject const & QFocusFrame::getStaticMetaObject(void)
+ ?validate@QAbstractSpinBox@@UBE?AW4State@QValidator@@AAVQString@@AAH@Z @ 8006 NONAME ; enum QValidator::State QAbstractSpinBox::validate(class QString &, int &) const
+ ?setMaximum@QAbstractSlider@@QAEXH@Z @ 8007 NONAME ; void QAbstractSlider::setMaximum(int)
+ ?isReadOnly@QFileDialog@@QBE_NXZ @ 8008 NONAME ; bool QFileDialog::isReadOnly(void) const
+ ?textWidth@QTextControl@@QBEMXZ @ 8009 NONAME ; float QTextControl::textWidth(void) const
+ ?customColor@QColorDialog@@SAIH@Z @ 8010 NONAME ; unsigned int QColorDialog::customColor(int)
+ ?foregroundRole@QWidget@@QBE?AW4ColorRole@QPalette@@XZ @ 8011 NONAME ; enum QPalette::ColorRole QWidget::foregroundRole(void) const
+ ?canPaste@QPlainTextEdit@@QBE_NXZ @ 8012 NONAME ; bool QPlainTextEdit::canPaste(void) const
+ ?setLineToHook@QStrokerOps@@QAEXP6AXMMPAX@Z@Z @ 8013 NONAME ; void QStrokerOps::setLineToHook(void (*)(float, float, void *))
+ ??0QTextDocumentFragment@@QAE@XZ @ 8014 NONAME ; QTextDocumentFragment::QTextDocumentFragment(void)
+ ??1QInputContextPlugin@@UAE@XZ @ 8015 NONAME ; QInputContextPlugin::~QInputContextPlugin(void)
+ ?horizontalScrollbarValueChanged@QAbstractItemView@@MAEXH@Z @ 8016 NONAME ; void QAbstractItemView::horizontalScrollbarValueChanged(int)
+ ?updateEditorGeometry@QItemDelegate@@UBEXPAVQWidget@@ABVQStyleOptionViewItem@@ABVQModelIndex@@@Z @ 8017 NONAME ; void QItemDelegate::updateEditorGeometry(class QWidget *, class QStyleOptionViewItem const &, class QModelIndex const &) const
+ ?removeSubstitution@QFont@@SAXABVQString@@@Z @ 8018 NONAME ; void QFont::removeSubstitution(class QString const &)
+ ?reparentChildWidgets@QLayoutPrivate@@QAEXPAVQWidget@@@Z @ 8019 NONAME ; void QLayoutPrivate::reparentChildWidgets(class QWidget *)
+ ?style@QPen@@QBE?AW4PenStyle@Qt@@XZ @ 8020 NONAME ; enum Qt::PenStyle QPen::style(void) const
+ ?d_func@QTextDocument@@AAEPAVQTextDocumentPrivate@@XZ @ 8021 NONAME ; class QTextDocumentPrivate * QTextDocument::d_func(void)
+ ?clear@QGraphicsScene@@QAEXXZ @ 8022 NONAME ; void QGraphicsScene::clear(void)
+ ?setModifiersMask@QKeyEventTransition@@QAEXV?$QFlags@W4KeyboardModifier@Qt@@@@@Z @ 8023 NONAME ; void QKeyEventTransition::setModifiersMask(class QFlags<enum Qt::KeyboardModifier>)
+ ?hideEvent@QMenu@@MAEXPAVQHideEvent@@@Z @ 8024 NONAME ; void QMenu::hideEvent(class QHideEvent *)
+ ?splitAtIntersections@QBezier@@QAE?AV?$QVector@V?$QList@VQBezier@@@@@@AAV1@@Z @ 8025 NONAME ; class QVector<class QList<class QBezier> > QBezier::splitAtIntersections(class QBezier &)
+ ?lastCenterPoint@QPinchGesture@@QBE?AVQPointF@@XZ @ 8026 NONAME ; class QPointF QPinchGesture::lastCenterPoint(void) const
+ ?selectedDate@QCalendarWidget@@QBE?AVQDate@@XZ @ 8027 NONAME ; class QDate QCalendarWidget::selectedDate(void) const
+ ??1QPaintEngineEx@@UAE@XZ @ 8028 NONAME ; QPaintEngineEx::~QPaintEngineEx(void)
+ ?qt_metacall@QSplitterHandle@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 8029 NONAME ; int QSplitterHandle::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ??0QPolygon@@QAE@ABV0@@Z @ 8030 NONAME ; QPolygon::QPolygon(class QPolygon const &)
+ ?hideEvent@QGraphicsWidget@@MAEXPAVQHideEvent@@@Z @ 8031 NONAME ; void QGraphicsWidget::hideEvent(class QHideEvent *)
+ ?setFrameWidth@QWidgetResizeHandler@@QAEXH@Z @ 8032 NONAME ; void QWidgetResizeHandler::setFrameWidth(int)
+ ?getStaticMetaObject@QStyledItemDelegate@@SAABUQMetaObject@@XZ @ 8033 NONAME ; struct QMetaObject const & QStyledItemDelegate::getStaticMetaObject(void)
+ ?fillRect@QPainter@@QAEXABVQRect@@W4BrushStyle@Qt@@@Z @ 8034 NONAME ; void QPainter::fillRect(class QRect const &, enum Qt::BrushStyle)
+ ??0QImage@@QAE@HHW4Format@0@@Z @ 8035 NONAME ; QImage::QImage(int, int, enum QImage::Format)
+ ?timeSpec@QDateTimeEdit@@QBE?AW4TimeSpec@Qt@@XZ @ 8036 NONAME ; enum Qt::TimeSpec QDateTimeEdit::timeSpec(void) const
+ ??_EQHoverEvent@@UAE@I@Z @ 8037 NONAME ; QHoverEvent::~QHoverEvent(unsigned int)
+ ?type@QGraphicsPixmapItem@@UBEHXZ @ 8038 NONAME ; int QGraphicsPixmapItem::type(void) const
+ ?setItemSelected@QTableWidget@@QAEXPBVQTableWidgetItem@@_N@Z @ 8039 NONAME ; void QTableWidget::setItemSelected(class QTableWidgetItem const *, bool)
+ ??0QBitmap@@QAE@ABVQPixmap@@@Z @ 8040 NONAME ; QBitmap::QBitmap(class QPixmap const &)
+ ?key@QShortcutEvent@@QAEABVQKeySequence@@XZ @ 8041 NONAME ; class QKeySequence const & QShortcutEvent::key(void)
+ ?descent@QTextLine@@QBEMXZ @ 8042 NONAME ; float QTextLine::descent(void) const
+ ?openPersistentEditor@QTreeWidget@@QAEXPAVQTreeWidgetItem@@H@Z @ 8043 NONAME ; void QTreeWidget::openPersistentEditor(class QTreeWidgetItem *, int)
+ ?mapFromScene@QGraphicsView@@QBE?AVQPolygon@@ABVQPolygonF@@@Z @ 8044 NONAME ; class QPolygon QGraphicsView::mapFromScene(class QPolygonF const &) const
+ ?objectIndex@QTextObject@@QBEHXZ @ 8045 NONAME ; int QTextObject::objectIndex(void) const
+ ?pointSize@QFontInfo@@QBEHXZ @ 8046 NONAME ; int QFontInfo::pointSize(void) const
+ ?qt_metacast@QPushButton@@UAEPAXPBD@Z @ 8047 NONAME ; void * QPushButton::qt_metacast(char const *)
+ ?translated@QPolygonF@@QBE?AV1@MM@Z @ 8048 NONAME ; class QPolygonF QPolygonF::translated(float, float) const
+ ??1QAbstractButton@@UAE@XZ @ 8049 NONAME ; QAbstractButton::~QAbstractButton(void)
+ ??0QStrokerOps@@QAE@XZ @ 8050 NONAME ; QStrokerOps::QStrokerOps(void)
+ ?setFlat@QPushButton@@QAEX_N@Z @ 8051 NONAME ; void QPushButton::setFlat(bool)
+ ?columnAlignment@QGraphicsGridLayout@@QBE?AV?$QFlags@W4AlignmentFlag@Qt@@@@H@Z @ 8052 NONAME ; class QFlags<enum Qt::AlignmentFlag> QGraphicsGridLayout::columnAlignment(int) const
+ ?d_func@QSound@@AAEPAVQSoundPrivate@@XZ @ 8053 NONAME ; class QSoundPrivate * QSound::d_func(void)
+ ?strengthChanged@QGraphicsBloomEffect@@IAEXM@Z @ 8054 NONAME ABSENT ; void QGraphicsBloomEffect::strengthChanged(float)
+ ??_0QVector3D@@QAEAAV0@M@Z @ 8055 NONAME ; class QVector3D & QVector3D::operator/=(float)
+ ?currentFrame@iterator@QTextFrame@@QBEPAV2@XZ @ 8056 NONAME ; class QTextFrame * QTextFrame::iterator::currentFrame(void) const
+ ??_EQSplitterHandle@@UAE@I@Z @ 8057 NONAME ; QSplitterHandle::~QSplitterHandle(unsigned int)
+ ?text@QLineEdit@@QBE?AVQString@@XZ @ 8058 NONAME ; class QString QLineEdit::text(void) const
+ ?displayName@QDesktopServices@@SA?AVQString@@W4StandardLocation@1@@Z @ 8059 NONAME ; class QString QDesktopServices::displayName(enum QDesktopServices::StandardLocation)
+ ?errorString@QImageWriter@@QBE?AVQString@@XZ @ 8060 NONAME ; class QString QImageWriter::errorString(void) const
+ ?qt_metacast@QTableView@@UAEPAXPBD@Z @ 8061 NONAME ; void * QTableView::qt_metacast(char const *)
+ ?columnWidth@QTreeView@@QBEHH@Z @ 8062 NONAME ; int QTreeView::columnWidth(int) const
+ ?resizeEvent@QMdiSubWindow@@MAEXPAVQResizeEvent@@@Z @ 8063 NONAME ; void QMdiSubWindow::resizeEvent(class QResizeEvent *)
+ ??0QTextFragment@@QAE@XZ @ 8064 NONAME ; QTextFragment::QTextFragment(void)
+ ?currentFontChanged@QFontDialog@@IAEXABVQFont@@@Z @ 8065 NONAME ; void QFontDialog::currentFontChanged(class QFont const &)
+ ?metaObject@QPaintBufferResource@@UBEPBUQMetaObject@@XZ @ 8066 NONAME ; struct QMetaObject const * QPaintBufferResource::metaObject(void) const
+ ?qt_metacast@QHeaderView@@UAEPAXPBD@Z @ 8067 NONAME ; void * QHeaderView::qt_metacast(char const *)
+ ?getStaticMetaObject@QAbstractScrollArea@@SAABUQMetaObject@@XZ @ 8068 NONAME ; struct QMetaObject const & QAbstractScrollArea::getStaticMetaObject(void)
+ ?isSelected@QListWidgetItem@@QBE_NXZ @ 8069 NONAME ; bool QListWidgetItem::isSelected(void) const
+ ?tr@QValidator@@SA?AVQString@@PBD0@Z @ 8070 NONAME ; class QString QValidator::tr(char const *, char const *)
+ ?event@QWidget@@MAE_NPAVQEvent@@@Z @ 8071 NONAME ; bool QWidget::event(class QEvent *)
+ ?setCenter@QRadialGradient@@QAEXMM@Z @ 8072 NONAME ; void QRadialGradient::setCenter(float, float)
+ ?setAutoExclusive@QAbstractButton@@QAEX_N@Z @ 8073 NONAME ; void QAbstractButton::setAutoExclusive(bool)
+ ?d_func@QFormLayout@@AAEPAVQFormLayoutPrivate@@XZ @ 8074 NONAME ; class QFormLayoutPrivate * QFormLayout::d_func(void)
+ ?setBrush@QPainter@@QAEXW4BrushStyle@Qt@@@Z @ 8075 NONAME ; void QPainter::setBrush(enum Qt::BrushStyle)
+ ??0QDockWidget@@QAE@ABVQString@@PAVQWidget@@V?$QFlags@W4WindowType@Qt@@@@@Z @ 8076 NONAME ; QDockWidget::QDockWidget(class QString const &, class QWidget *, class QFlags<enum Qt::WindowType>)
+ ??0QProxyStyle@@QAE@PAVQStyle@@@Z @ 8077 NONAME ; QProxyStyle::QProxyStyle(class QStyle *)
+ ??0QTextControl@@QAE@PAVQTextDocument@@PAVQObject@@@Z @ 8078 NONAME ; QTextControl::QTextControl(class QTextDocument *, class QObject *)
+ ??0QInputMethodEvent@@QAE@XZ @ 8079 NONAME ; QInputMethodEvent::QInputMethodEvent(void)
+ ?possibleActions@QDropEvent@@QBE?AV?$QFlags@W4DropAction@Qt@@@@XZ @ 8080 NONAME ; class QFlags<enum Qt::DropAction> QDropEvent::possibleActions(void) const
+ ?qt_metacall@QDesktopWidget@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 8081 NONAME ; int QDesktopWidget::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?itemSelectionChanged@QTreeWidget@@IAEXXZ @ 8082 NONAME ; void QTreeWidget::itemSelectionChanged(void)
+ ?event@QRadioButton@@MAE_NPAVQEvent@@@Z @ 8083 NONAME ; bool QRadioButton::event(class QEvent *)
+ ?cellAt@QTextTable@@QBE?AVQTextTableCell@@HH@Z @ 8084 NONAME ; class QTextTableCell QTextTable::cellAt(int, int) const
+ ??0TouchPoint@QTouchEvent@@QAE@H@Z @ 8085 NONAME ; QTouchEvent::TouchPoint::TouchPoint(int)
+ ?contains@QItemSelectionRange@@QBE_NABVQModelIndex@@@Z @ 8086 NONAME ; bool QItemSelectionRange::contains(class QModelIndex const &) const
+ ?staticMetaObject@QGraphicsScene@@2UQMetaObject@@B @ 8087 NONAME ; struct QMetaObject const QGraphicsScene::staticMetaObject
+ ?setCenter@QRadialGradient@@QAEXABVQPointF@@@Z @ 8088 NONAME ; void QRadialGradient::setCenter(class QPointF const &)
+ ?setZ@QQuaternion@@QAEXM@Z @ 8089 NONAME ; void QQuaternion::setZ(float)
+ ?setStatusBar@QMainWindow@@QAEXPAVQStatusBar@@@Z @ 8090 NONAME ; void QMainWindow::setStatusBar(class QStatusBar *)
+ ?setMinimumDate@QDateTimeEdit@@QAEXABVQDate@@@Z @ 8091 NONAME ; void QDateTimeEdit::setMinimumDate(class QDate const &)
+ ?setIndexWidget@QAbstractItemView@@QAEXABVQModelIndex@@PAVQWidget@@@Z @ 8092 NONAME ; void QAbstractItemView::setIndexWidget(class QModelIndex const &, class QWidget *)
+ ?scrollTo@QHeaderView@@MAEXABVQModelIndex@@W4ScrollHint@QAbstractItemView@@@Z @ 8093 NONAME ; void QHeaderView::scrollTo(class QModelIndex const &, enum QAbstractItemView::ScrollHint)
+ ?sizeIncrement@QWidget@@QBE?AVQSize@@XZ @ 8094 NONAME ; class QSize QWidget::sizeIncrement(void) const
+ ?boundingRectFor@QGraphicsEffect@@UBE?AVQRectF@@ABV2@@Z @ 8095 NONAME ; class QRectF QGraphicsEffect::boundingRectFor(class QRectF const &) const
+ ??4QTransform@@QAEAAV0@ABV0@@Z @ 8096 NONAME ; class QTransform & QTransform::operator=(class QTransform const &)
+ ?dragEnterEvent@QPlainTextEdit@@MAEXPAVQDragEnterEvent@@@Z @ 8097 NONAME ; void QPlainTextEdit::dragEnterEvent(class QDragEnterEvent *)
+ ??1QWidgetItemV2@@UAE@XZ @ 8098 NONAME ; QWidgetItemV2::~QWidgetItemV2(void)
+ ?centerPoint@QPinchGesture@@QBE?AVQPointF@@XZ @ 8099 NONAME ; class QPointF QPinchGesture::centerPoint(void) const
+ ?setMaximumWidth@QWidget@@QAEXH@Z @ 8100 NONAME ; void QWidget::setMaximumWidth(int)
+ ?trigger@QAction@@QAEXXZ @ 8101 NONAME ; void QAction::trigger(void)
+ ?sourceChanged@QGraphicsEffect@@MAEXV?$QFlags@W4ChangeFlag@QGraphicsEffect@@@@@Z @ 8102 NONAME ; void QGraphicsEffect::sourceChanged(class QFlags<enum QGraphicsEffect::ChangeFlag>)
+ ?drawPixmap@QPainter@@QAEXHHABVQPixmap@@HHHH@Z @ 8103 NONAME ; void QPainter::drawPixmap(int, int, class QPixmap const &, int, int, int, int)
+ ?toolTipBase@QPalette@@QBEABVQBrush@@XZ @ 8104 NONAME ; class QBrush const & QPalette::toolTipBase(void) const
+ ?fileInfo@QDirModel@@QBE?AVQFileInfo@@ABVQModelIndex@@@Z @ 8105 NONAME ; class QFileInfo QDirModel::fileInfo(class QModelIndex const &) const
+ ?blurHintChanged@QGraphicsBloomEffect@@IAEXW4RenderHint@Qt@@@Z @ 8106 NONAME ABSENT ; void QGraphicsBloomEffect::blurHintChanged(enum Qt::RenderHint)
+ ?putPoints@QPolygon@@QAEXHHABV1@H@Z @ 8107 NONAME ; void QPolygon::putPoints(int, int, class QPolygon const &, int)
+ ??1QDragMoveEvent@@UAE@XZ @ 8108 NONAME ; QDragMoveEvent::~QDragMoveEvent(void)
+ ?intProperty@QTextFormat@@QBEHH@Z @ 8109 NONAME ; int QTextFormat::intProperty(int) const
+ ?isObscuredBy@QGraphicsPixmapItem@@UBE_NPBVQGraphicsItem@@@Z @ 8110 NONAME ; bool QGraphicsPixmapItem::isObscuredBy(class QGraphicsItem const *) const
+ ?parent@QDirModel@@UBE?AVQModelIndex@@ABV2@@Z @ 8111 NONAME ; class QModelIndex QDirModel::parent(class QModelIndex const &) const
+ ?tr@QInputContextPlugin@@SA?AVQString@@PBD0@Z @ 8112 NONAME ; class QString QInputContextPlugin::tr(char const *, char const *)
+ ?takeAt@QFormLayout@@UAEPAVQLayoutItem@@H@Z @ 8113 NONAME ; class QLayoutItem * QFormLayout::takeAt(int)
+ ?border@QTextFrameFormat@@QBEMXZ @ 8114 NONAME ; float QTextFrameFormat::border(void) const
+ ?splitter@QSplitterHandle@@QBEPAVQSplitter@@XZ @ 8115 NONAME ; class QSplitter * QSplitterHandle::splitter(void) const
+ ?setId@QButtonGroup@@QAEXPAVQAbstractButton@@H@Z @ 8116 NONAME ; void QButtonGroup::setId(class QAbstractButton *, int)
+ ??0QStyleOptionDockWidgetV2@@QAE@ABVQStyleOptionDockWidget@@@Z @ 8117 NONAME ; QStyleOptionDockWidgetV2::QStyleOptionDockWidgetV2(class QStyleOptionDockWidget const &)
+ ?getStaticMetaObject@QScrollArea@@SAABUQMetaObject@@XZ @ 8118 NONAME ; struct QMetaObject const & QScrollArea::getStaticMetaObject(void)
+ ??0QWidgetItem@@QAE@PAVQWidget@@@Z @ 8119 NONAME ; QWidgetItem::QWidgetItem(class QWidget *)
+ ?canUndo@QUndoStack@@QBE_NXZ @ 8120 NONAME ; bool QUndoStack::canUndo(void) const
+ ?setIconSize@QTabBar@@QAEXABVQSize@@@Z @ 8121 NONAME ; void QTabBar::setIconSize(class QSize const &)
+ ?focusNextPrevChild@QGraphicsScene@@IAE_N_N@Z @ 8122 NONAME ; bool QGraphicsScene::focusNextPrevChild(bool)
+ ?horizontalPolicy@QSizePolicy@@QBE?AW4Policy@1@XZ @ 8123 NONAME ; enum QSizePolicy::Policy QSizePolicy::horizontalPolicy(void) const
+ ?isNull@QQuaternion@@QBE_NXZ @ 8124 NONAME ; bool QQuaternion::isNull(void) const
+ ?trUtf8@QGraphicsEffect@@SA?AVQString@@PBD0@Z @ 8125 NONAME ; class QString QGraphicsEffect::trUtf8(char const *, char const *)
+ ?trUtf8@QGroupBox@@SA?AVQString@@PBD0@Z @ 8126 NONAME ; class QString QGroupBox::trUtf8(char const *, char const *)
+ ?testImport@Parser@QCss@@QAE_NXZ @ 8127 NONAME ; bool QCss::Parser::testImport(void)
+ ?find@QPixmapCache@@SA_NABVQString@@PAVQPixmap@@@Z @ 8128 NONAME ; bool QPixmapCache::find(class QString const &, class QPixmap *)
+ ??9QFontMetrics@@QBE_NABV0@@Z @ 8129 NONAME ; bool QFontMetrics::operator!=(class QFontMetrics const &) const
+ ?setExtraSelections@QTextControl@@QAEXABV?$QList@UExtraSelection@QTextEdit@@@@@Z @ 8130 NONAME ; void QTextControl::setExtraSelections(class QList<struct QTextEdit::ExtraSelection> const &)
+ ??1QMdiArea@@UAE@XZ @ 8131 NONAME ; QMdiArea::~QMdiArea(void)
+ ??0QGraphicsTextItem@@QAE@ABVQString@@PAVQGraphicsItem@@PAVQGraphicsScene@@@Z @ 8132 NONAME ; QGraphicsTextItem::QGraphicsTextItem(class QString const &, class QGraphicsItem *, class QGraphicsScene *)
+ ??_EQGraphicsSimpleTextItem@@UAE@I@Z @ 8133 NONAME ; QGraphicsSimpleTextItem::~QGraphicsSimpleTextItem(unsigned int)
+ ?yTranslationAt@QGraphicsItemAnimation@@QBEMM@Z @ 8134 NONAME ; float QGraphicsItemAnimation::yTranslationAt(float) const
+ ?points@QVectorPath@@QBEPBMXZ @ 8135 NONAME ; float const * QVectorPath::points(void) const
+ ?trUtf8@QGraphicsTextItem@@SA?AVQString@@PBD0@Z @ 8136 NONAME ; class QString QGraphicsTextItem::trUtf8(char const *, char const *)
+ ??0QStyleOptionProgressBar@@IAE@H@Z @ 8137 NONAME ; QStyleOptionProgressBar::QStyleOptionProgressBar(int)
+ ?addItem@QGraphicsScene@@QAEXPAVQGraphicsItem@@@Z @ 8138 NONAME ; void QGraphicsScene::addItem(class QGraphicsItem *)
+ ?sizeHint@QCheckBox@@UBE?AVQSize@@XZ @ 8139 NONAME ; class QSize QCheckBox::sizeHint(void) const
+ ?initStyleOption@QDockWidget@@IBEXPAVQStyleOptionDockWidget@@@Z @ 8140 NONAME ; void QDockWidget::initStyleOption(class QStyleOptionDockWidget *) const
+ ??D@YA?AVQPolygonF@@ABV0@ABVQTransform@@@Z @ 8141 NONAME ; class QPolygonF operator*(class QPolygonF const &, class QTransform const &)
+ ?margin@QLayout@@QBEHXZ @ 8142 NONAME ; int QLayout::margin(void) const
+ ?setCenterOnScroll@QPlainTextEdit@@QAEX_N@Z @ 8143 NONAME ; void QPlainTextEdit::setCenterOnScroll(bool)
+ ??_EQGuiPlatformPluginInterface@@UAE@I@Z @ 8144 NONAME ; QGuiPlatformPluginInterface::~QGuiPlatformPluginInterface(unsigned int)
+ ?addChildren@QTreeWidgetItem@@QAEXABV?$QList@PAVQTreeWidgetItem@@@@@Z @ 8145 NONAME ; void QTreeWidgetItem::addChildren(class QList<class QTreeWidgetItem *> const &)
+ ??0QAbstractTextDocumentLayout@@QAE@PAVQTextDocument@@@Z @ 8146 NONAME ; QAbstractTextDocumentLayout::QAbstractTextDocumentLayout(class QTextDocument *)
+ ?pixmapFilter@QPaintEngineEx@@UAEPAVQPixmapFilter@@HPBV2@@Z @ 8147 NONAME ; class QPixmapFilter * QPaintEngineEx::pixmapFilter(int, class QPixmapFilter const *)
+ ?d_func@QGraphicsPathItem@@ABEPBVQGraphicsPathItemPrivate@@XZ @ 8148 NONAME ; class QGraphicsPathItemPrivate const * QGraphicsPathItem::d_func(void) const
+ ?y@QQuaternion@@QBEMXZ @ 8149 NONAME ; float QQuaternion::y(void) const
+ ?setTabs@QTextOption@@QAEXV?$QList@UTab@QTextOption@@@@@Z @ 8150 NONAME ; void QTextOption::setTabs(class QList<struct QTextOption::Tab>)
+ ??0QShortcut@@QAE@PAVQWidget@@@Z @ 8151 NONAME ; QShortcut::QShortcut(class QWidget *)
+ ?mimeData@QDirModel@@UBEPAVQMimeData@@ABV?$QList@VQModelIndex@@@@@Z @ 8152 NONAME ; class QMimeData * QDirModel::mimeData(class QList<class QModelIndex> const &) const
+ ??MQTextBlock@@QBE_NABV0@@Z @ 8153 NONAME ; bool QTextBlock::operator<(class QTextBlock const &) const
+ ?setFormAlignment@QFormLayout@@QAEXV?$QFlags@W4AlignmentFlag@Qt@@@@@Z @ 8154 NONAME ; void QFormLayout::setFormAlignment(class QFlags<enum Qt::AlignmentFlag>)
+ ?data@QAbstractProxyModel@@UBE?AVQVariant@@ABVQModelIndex@@H@Z @ 8155 NONAME ; class QVariant QAbstractProxyModel::data(class QModelIndex const &, int) const
+ ?document@QTextObject@@QBEPAVQTextDocument@@XZ @ 8156 NONAME ; class QTextDocument * QTextObject::document(void) const
+ ?ensureSequentialSiblingIndex@QGraphicsItemPrivate@@QAEXXZ @ 8157 NONAME ; void QGraphicsItemPrivate::ensureSequentialSiblingIndex(void)
+ ?isDetached@QIcon@@QBE_NXZ @ 8158 NONAME ; bool QIcon::isDetached(void) const
+ ?hideEvent@QGraphicsProxyWidget@@MAEXPAVQHideEvent@@@Z @ 8159 NONAME ; void QGraphicsProxyWidget::hideEvent(class QHideEvent *)
+ ?setLastOffset@QPanGesture@@QAEXABVQPointF@@@Z @ 8160 NONAME ; void QPanGesture::setLastOffset(class QPointF const &)
+ ??0QSortFilterProxyModel@@QAE@PAVQObject@@@Z @ 8161 NONAME ; QSortFilterProxyModel::QSortFilterProxyModel(class QObject *)
+ ?indentation@QTreeView@@QBEHXZ @ 8162 NONAME ; int QTreeView::indentation(void) const
+ ?d_func@QDialog@@ABEPBVQDialogPrivate@@XZ @ 8163 NONAME ; class QDialogPrivate const * QDialog::d_func(void) const
+ ?setRowHidden@QTreeView@@QAEXHABVQModelIndex@@_N@Z @ 8164 NONAME ; void QTreeView::setRowHidden(int, class QModelIndex const &, bool)
+ ?document@QAbstractTextDocumentLayout@@QBEPAVQTextDocument@@XZ @ 8165 NONAME ; class QTextDocument * QAbstractTextDocumentLayout::document(void) const
+ ?setSelectionModel@QTableView@@UAEXPAVQItemSelectionModel@@@Z @ 8166 NONAME ; void QTableView::setSelectionModel(class QItemSelectionModel *)
+ ?visualItemRect@QTableWidget@@QBE?AVQRect@@PBVQTableWidgetItem@@@Z @ 8167 NONAME ; class QRect QTableWidget::visualItemRect(class QTableWidgetItem const *) const
+ ??0QAbstractTextDocumentLayout@@IAE@AAVQAbstractTextDocumentLayoutPrivate@@PAVQTextDocument@@@Z @ 8168 NONAME ; QAbstractTextDocumentLayout::QAbstractTextDocumentLayout(class QAbstractTextDocumentLayoutPrivate &, class QTextDocument *)
+ ?tr@QRadioButton@@SA?AVQString@@PBD0H@Z @ 8169 NONAME ; class QString QRadioButton::tr(char const *, char const *, int)
+ ?setVisible@QTextBlock@@QAEX_N@Z @ 8170 NONAME ; void QTextBlock::setVisible(bool)
+ ??_EQPanGesture@@UAE@I@Z @ 8171 NONAME ; QPanGesture::~QPanGesture(unsigned int)
+ ?line@QGraphicsLineItem@@QBE?AVQLineF@@XZ @ 8172 NONAME ; class QLineF QGraphicsLineItem::line(void) const
+ ?trUtf8@QDial@@SA?AVQString@@PBD0@Z @ 8173 NONAME ; class QString QDial::trUtf8(char const *, char const *)
+ ?trUtf8@QTextBlockGroup@@SA?AVQString@@PBD0@Z @ 8174 NONAME ; class QString QTextBlockGroup::trUtf8(char const *, char const *)
+ ?isRowHidden@QTableView@@QBE_NH@Z @ 8175 NONAME ; bool QTableView::isRowHidden(int) const
+ ?insertStretch@QBoxLayout@@QAEXHH@Z @ 8176 NONAME ; void QBoxLayout::insertStretch(int, int)
+ ?tr@QTextBrowser@@SA?AVQString@@PBD0@Z @ 8177 NONAME ; class QString QTextBrowser::tr(char const *, char const *)
+ ??_EQPixmapBlurFilter@@UAE@I@Z @ 8178 NONAME ; QPixmapBlurFilter::~QPixmapBlurFilter(unsigned int)
+ ?qt_metacall@QStylePlugin@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 8179 NONAME ; int QStylePlugin::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?titleBarWidget@QDockWidget@@QBEPAVQWidget@@XZ @ 8180 NONAME ; class QWidget * QDockWidget::titleBarWidget(void) const
+ ?fileName@QDirModel@@QBE?AVQString@@ABVQModelIndex@@@Z @ 8181 NONAME ; class QString QDirModel::fileName(class QModelIndex const &) const
+ ?simplified@QPainterPath@@QBE?AV1@XZ @ 8182 NONAME ; class QPainterPath QPainterPath::simplified(void) const
+ ?focusNextPrevChild@QMenu@@MAE_N_N@Z @ 8183 NONAME ; bool QMenu::focusNextPrevChild(bool)
+ ?insertHtml@QTextControl@@QAEXABVQString@@@Z @ 8184 NONAME ; void QTextControl::insertHtml(class QString const &)
+ ?paintEngine@QRasterPixmapData@@UBEPAVQPaintEngine@@XZ @ 8185 NONAME ; class QPaintEngine * QRasterPixmapData::paintEngine(void) const
+ ?parseNextExpr@Parser@QCss@@QAE_NPAV?$QVector@UValue@QCss@@@@@Z @ 8186 NONAME ; bool QCss::Parser::parseNextExpr(class QVector<struct QCss::Value> *)
+ ??0QMouseEventTransition@@QAE@PAVQObject@@W4Type@QEvent@@W4MouseButton@Qt@@PAVQState@@@Z @ 8187 NONAME ; QMouseEventTransition::QMouseEventTransition(class QObject *, enum QEvent::Type, enum Qt::MouseButton, class QState *)
+ ?verticalSpacing@QGraphicsAnchorLayout@@QBEMXZ @ 8188 NONAME ; float QGraphicsAnchorLayout::verticalSpacing(void) const
+ ?staticMetaObject@QClipboard@@2UQMetaObject@@B @ 8189 NONAME ; struct QMetaObject const QClipboard::staticMetaObject
+ ?trUtf8@QTextObject@@SA?AVQString@@PBD0H@Z @ 8190 NONAME ; class QString QTextObject::trUtf8(char const *, char const *, int)
+ ?setCurrentItem@QTreeWidget@@QAEXPAVQTreeWidgetItem@@H@Z @ 8191 NONAME ; void QTreeWidget::setCurrentItem(class QTreeWidgetItem *, int)
+ ?convertFromPlainText@Qt@@YA?AVQString@@ABV2@W4WhiteSpaceMode@1@@Z @ 8192 NONAME ; class QString Qt::convertFromPlainText(class QString const &, enum Qt::WhiteSpaceMode)
+ ?d_func@QTextList@@AAEPAVQTextListPrivate@@XZ @ 8193 NONAME ; class QTextListPrivate * QTextList::d_func(void)
+ ?setFilter@QFileDialog@@QAEXV?$QFlags@W4Filter@QDir@@@@@Z @ 8194 NONAME ; void QFileDialog::setFilter(class QFlags<enum QDir::Filter>)
+ ?paintEvent@QTreeView@@MAEXPAVQPaintEvent@@@Z @ 8195 NONAME ; void QTreeView::paintEvent(class QPaintEvent *)
+ ??_EQActionGroup@@UAE@I@Z @ 8196 NONAME ; QActionGroup::~QActionGroup(unsigned int)
+ ?length@QHeaderView@@QBEHXZ @ 8197 NONAME ; int QHeaderView::length(void) const
+ ?matrix@QGraphicsView@@QBE?AVQMatrix@@XZ @ 8198 NONAME ; class QMatrix QGraphicsView::matrix(void) const
+ ?getPointInOutline@QFontEngine@@UAE?AW4HB_Error@@IHIPAH0PAI@Z @ 8199 NONAME ; enum HB_Error QFontEngine::getPointInOutline(unsigned int, int, unsigned int, int *, int *, unsigned int *)
+ ?subControlRect@QProxyStyle@@UBE?AVQRect@@W4ComplexControl@QStyle@@PBVQStyleOptionComplex@@W4SubControl@4@PBVQWidget@@@Z @ 8200 NONAME ; class QRect QProxyStyle::subControlRect(enum QStyle::ComplexControl, class QStyleOptionComplex const *, enum QStyle::SubControl, class QWidget const *) const
+ ?parseNextDeclaration@Parser@QCss@@QAE_NPAUDeclaration@2@@Z @ 8201 NONAME ; bool QCss::Parser::parseNextDeclaration(struct QCss::Declaration *)
+ ?qt_metacast@QClipboard@@UAEPAXPBD@Z @ 8202 NONAME ; void * QClipboard::qt_metacast(char const *)
+ ?resolve@QFont@@QAEXI@Z @ 8203 NONAME ; void QFont::resolve(unsigned int)
+ ?d_func@QWidget@@ABEPBVQWidgetPrivate@@XZ @ 8204 NONAME ; class QWidgetPrivate const * QWidget::d_func(void) const
+ ?tessellateRect@QTessellator@@QAEXABVQPointF@@0M@Z @ 8205 NONAME ; void QTessellator::tessellateRect(class QPointF const &, class QPointF const &, float)
+ ??_EQCheckBox@@UAE@I@Z @ 8206 NONAME ; QCheckBox::~QCheckBox(unsigned int)
+ ??0QStyleOptionViewItemV2@@QAE@ABVQStyleOptionViewItem@@@Z @ 8207 NONAME ; QStyleOptionViewItemV2::QStyleOptionViewItemV2(class QStyleOptionViewItem const &)
+ ?dragLeaveEvent@QListView@@MAEXPAVQDragLeaveEvent@@@Z @ 8208 NONAME ; void QListView::dragLeaveEvent(class QDragLeaveEvent *)
+ ?mousePressEvent@QToolButton@@MAEXPAVQMouseEvent@@@Z @ 8209 NONAME ; void QToolButton::mousePressEvent(class QMouseEvent *)
+ ??DQTransform@@QBE?AV0@ABV0@@Z @ 8210 NONAME ; class QTransform QTransform::operator*(class QTransform const &) const
+ ?getStaticMetaObject@QGraphicsColorizeEffect@@SAABUQMetaObject@@XZ @ 8211 NONAME ; struct QMetaObject const & QGraphicsColorizeEffect::getStaticMetaObject(void)
+ ?qt_metacast@QMainWindow@@UAEPAXPBD@Z @ 8212 NONAME ; void * QMainWindow::qt_metacast(char const *)
+ ?wheelEvent@QWidget@@MAEXPAVQWheelEvent@@@Z @ 8213 NONAME ; void QWidget::wheelEvent(class QWheelEvent *)
+ ?trUtf8@QLineEdit@@SA?AVQString@@PBD0H@Z @ 8214 NONAME ; class QString QLineEdit::trUtf8(char const *, char const *, int)
+ ??1QWidgetItem@@UAE@XZ @ 8215 NONAME ; QWidgetItem::~QWidgetItem(void)
+ ?tr@QGraphicsAnchor@@SA?AVQString@@PBD0H@Z @ 8216 NONAME ; class QString QGraphicsAnchor::tr(char const *, char const *, int)
+ ?isRightToLeft@QWidget@@QBE_NXZ @ 8217 NONAME ; bool QWidget::isRightToLeft(void) const
+ ?updateNeeded@QLineControl@@IAEXABVQRect@@@Z @ 8218 NONAME ; void QLineControl::updateNeeded(class QRect const &)
+ ?trUtf8@QSplitter@@SA?AVQString@@PBD0H@Z @ 8219 NONAME ; class QString QSplitter::trUtf8(char const *, char const *, int)
+ ?mouseHandler@QCoeFepInputContext@@UAEXHPAVQMouseEvent@@@Z @ 8220 NONAME ABSENT ; void QCoeFepInputContext::mouseHandler(int, class QMouseEvent *)
+ ??0QGraphicsPathItem@@QAE@PAVQGraphicsItem@@PAVQGraphicsScene@@@Z @ 8221 NONAME ; QGraphicsPathItem::QGraphicsPathItem(class QGraphicsItem *, class QGraphicsScene *)
+ ?d_func@QAbstractSpinBox@@AAEPAVQAbstractSpinBoxPrivate@@XZ @ 8222 NONAME ; class QAbstractSpinBoxPrivate * QAbstractSpinBox::d_func(void)
+ ??6@YA?AVQDebug@@V0@PAVQGraphicsObject@@@Z @ 8223 NONAME ; class QDebug operator<<(class QDebug, class QGraphicsObject *)
+ ?grayPalette@QFontEngine@@KAABV?$QVector@I@@XZ @ 8224 NONAME ; class QVector<unsigned int> const & QFontEngine::grayPalette(void)
+ ?internalDeselect@QLineControl@@AAEXXZ @ 8225 NONAME ; void QLineControl::internalDeselect(void)
+ ?type@QListWidgetItem@@QBEHXZ @ 8226 NONAME ; int QListWidgetItem::type(void) const
+ ?tr@QDirModel@@SA?AVQString@@PBD0H@Z @ 8227 NONAME ; class QString QDirModel::tr(char const *, char const *, int)
+ ?setReadOnly@QPlainTextEdit@@QAEX_N@Z @ 8228 NONAME ; void QPlainTextEdit::setReadOnly(bool)
+ ?united@QRegion@@QBE?AV1@ABVQRect@@@Z @ 8229 NONAME ; class QRegion QRegion::united(class QRect const &) const
+ ?activeStackChanged@QUndoGroup@@IAEXPAVQUndoStack@@@Z @ 8230 NONAME ; void QUndoGroup::activeStackChanged(class QUndoStack *)
+ ?tr@QScrollArea@@SA?AVQString@@PBD0H@Z @ 8231 NONAME ; class QString QScrollArea::tr(char const *, char const *, int)
+ ?drawPoints@QPaintEngineEx@@UAEXPBVQPointF@@H@Z @ 8232 NONAME ; void QPaintEngineEx::drawPoints(class QPointF const *, int)
+ ?metaObject@QPixmapColorizeFilter@@UBEPBUQMetaObject@@XZ @ 8233 NONAME ; struct QMetaObject const * QPixmapColorizeFilter::metaObject(void) const
+ ?tr@QSessionManager@@SA?AVQString@@PBD0@Z @ 8234 NONAME ; class QString QSessionManager::tr(char const *, char const *)
+ ?shapeText@QTextEngine@@ABEXH@Z @ 8235 NONAME ; void QTextEngine::shapeText(int) const
+ ?activated@QComboBox@@IAEXABVQString@@@Z @ 8236 NONAME ; void QComboBox::activated(class QString const &)
+ ?acceptDrops@QGraphicsItem@@QBE_NXZ @ 8237 NONAME ; bool QGraphicsItem::acceptDrops(void) const
+ ?insertItem@QToolBox@@QAEHHPAVQWidget@@ABVQIcon@@ABVQString@@@Z @ 8238 NONAME ; int QToolBox::insertItem(int, class QWidget *, class QIcon const &, class QString const &)
+ ?qt_metacast@QRegExpValidator@@UAEPAXPBD@Z @ 8239 NONAME ; void * QRegExpValidator::qt_metacast(char const *)
+ ??1QTableView@@UAE@XZ @ 8240 NONAME ; QTableView::~QTableView(void)
+ ?addWidget@QSplitter@@QAEXPAVQWidget@@@Z @ 8241 NONAME ; void QSplitter::addWidget(class QWidget *)
+ ?capStyle@QPen@@QBE?AW4PenCapStyle@Qt@@XZ @ 8242 NONAME ; enum Qt::PenCapStyle QPen::capStyle(void) const
+ ?cursorFlashTime@QApplication@@SAHXZ @ 8243 NONAME ; int QApplication::cursorFlashTime(void)
+ ??_EQGraphicsSceneWheelEvent@@UAE@I@Z @ 8244 NONAME ; QGraphicsSceneWheelEvent::~QGraphicsSceneWheelEvent(unsigned int)
+ ?filterAcceptsRow@QSortFilterProxyModel@@MBE_NHABVQModelIndex@@@Z @ 8245 NONAME ; bool QSortFilterProxyModel::filterAcceptsRow(int, class QModelIndex const &) const
+ ?qt_metacast@QAbstractSpinBox@@UAEPAXPBD@Z @ 8246 NONAME ; void * QAbstractSpinBox::qt_metacast(char const *)
+ ?qt_metacast@QSlider@@UAEPAXPBD@Z @ 8247 NONAME ; void * QSlider::qt_metacast(char const *)
+ ?qt_metacast@QDrag@@UAEPAXPBD@Z @ 8248 NONAME ; void * QDrag::qt_metacast(char const *)
+ ?stacks@QUndoGroup@@QBE?AV?$QList@PAVQUndoStack@@@@XZ @ 8249 NONAME ; class QList<class QUndoStack *> QUndoGroup::stacks(void) const
+ ?naturalTextWidth@QTextLine@@QBEMXZ @ 8250 NONAME ; float QTextLine::naturalTextWidth(void) const
+ ?atSpace@QTextEngine@@QBE_NH@Z @ 8251 NONAME ; bool QTextEngine::atSpace(int) const
+ ?CancelFepInlineEdit@QCoeFepInputContext@@UAEXXZ @ 8252 NONAME ABSENT ; void QCoeFepInputContext::CancelFepInlineEdit(void)
+ ?syncBackingStore@QWidgetPrivate@@QAEXXZ @ 8253 NONAME ; void QWidgetPrivate::syncBackingStore(void)
+ ?setHorizontalPolicy@QSizePolicy@@QAEXW4Policy@1@@Z @ 8254 NONAME ; void QSizePolicy::setHorizontalPolicy(enum QSizePolicy::Policy)
+ ?filter@QDirModel@@QBE?AV?$QFlags@W4Filter@QDir@@@@XZ @ 8255 NONAME ; class QFlags<enum QDir::Filter> QDirModel::filter(void) const
+ ?setModelData@QStyledItemDelegate@@UBEXPAVQWidget@@PAVQAbstractItemModel@@ABVQModelIndex@@@Z @ 8256 NONAME ; void QStyledItemDelegate::setModelData(class QWidget *, class QAbstractItemModel *, class QModelIndex const &) const
+ ?setSubTitleFormat@QWizard@@QAEXW4TextFormat@Qt@@@Z @ 8257 NONAME ; void QWizard::setSubTitleFormat(enum Qt::TextFormat)
+ ??4QFontPrivate@@AAEAAV0@ABV0@@Z @ 8258 NONAME ; class QFontPrivate & QFontPrivate::operator=(class QFontPrivate const &)
+ ?brushOrigin@QPainter@@QBE?AVQPoint@@XZ @ 8259 NONAME ; class QPoint QPainter::brushOrigin(void) const
+ ?commitDataRequest@QApplication@@IAEXAAVQSessionManager@@@Z @ 8260 NONAME ; void QApplication::commitDataRequest(class QSessionManager &)
+ ?positionInlineObject@QAbstractTextDocumentLayout@@MAEXVQTextInlineObject@@HABVQTextFormat@@@Z @ 8261 NONAME ; void QAbstractTextDocumentLayout::positionInlineObject(class QTextInlineObject, int, class QTextFormat const &)
+ ?tr@QGraphicsItemAnimation@@SA?AVQString@@PBD0@Z @ 8262 NONAME ; class QString QGraphicsItemAnimation::tr(char const *, char const *)
+ ?trUtf8@QDialogButtonBox@@SA?AVQString@@PBD0H@Z @ 8263 NONAME ; class QString QDialogButtonBox::trUtf8(char const *, char const *, int)
+ ?setStatus@QPictureIO@@QAEXH@Z @ 8264 NONAME ; void QPictureIO::setStatus(int)
+ ?d_func@QUndoView@@ABEPBVQUndoViewPrivate@@XZ @ 8265 NONAME ; class QUndoViewPrivate const * QUndoView::d_func(void) const
+ ?shape@QGraphicsTextItem@@UBE?AVQPainterPath@@XZ @ 8266 NONAME ; class QPainterPath QGraphicsTextItem::shape(void) const
+ ?setEnabled@QGraphicsItem@@QAEX_N@Z @ 8267 NONAME ; void QGraphicsItem::setEnabled(bool)
+ ?setHeaderLabels@QTreeWidget@@QAEXABVQStringList@@@Z @ 8268 NONAME ; void QTreeWidget::setHeaderLabels(class QStringList const &)
+ ?setTransform@QGraphicsItem@@QAEXABVQTransform@@_N@Z @ 8269 NONAME ; void QGraphicsItem::setTransform(class QTransform const &, bool)
+ ?expand@QTreeView@@QAEXABVQModelIndex@@@Z @ 8270 NONAME ; void QTreeView::expand(class QModelIndex const &)
+ ?setParentItem@QGraphicsItem@@QAEXPAV1@@Z @ 8271 NONAME ; void QGraphicsItem::setParentItem(class QGraphicsItem *)
+ ?GetFormatForFep@QCoeFepInputContext@@UBEXAAVTCharFormat@@H@Z @ 8272 NONAME ABSENT ; void QCoeFepInputContext::GetFormatForFep(class TCharFormat &, int) const
+ ?setSizeConstraint@QLayout@@QAEXW4SizeConstraint@1@@Z @ 8273 NONAME ; void QLayout::setSizeConstraint(enum QLayout::SizeConstraint)
+ ??5@YAAAVQDataStream@@AAV0@AAVQPicture@@@Z @ 8274 NONAME ; class QDataStream & operator>>(class QDataStream &, class QPicture &)
+ ?atEnd@QTextCursor@@QBE_NXZ @ 8275 NONAME ; bool QTextCursor::atEnd(void) const
+ ?resizeEvent@QListView@@MAEXPAVQResizeEvent@@@Z @ 8276 NONAME ; void QListView::resizeEvent(class QResizeEvent *)
+ ?setToolTip@QAction@@QAEXABVQString@@@Z @ 8277 NONAME ; void QAction::setToolTip(class QString const &)
+ ??1QGraphicsGridLayout@@UAE@XZ @ 8278 NONAME ; QGraphicsGridLayout::~QGraphicsGridLayout(void)
+ ?rotationAngle@QPinchGesture@@QBEMXZ @ 8279 NONAME ; float QPinchGesture::rotationAngle(void) const
+ ?cursorWidth@QPlainTextEdit@@QBEHXZ @ 8280 NONAME ; int QPlainTextEdit::cursorWidth(void) const
+ ?pos@QGraphicsSceneContextMenuEvent@@QBE?AVQPointF@@XZ @ 8281 NONAME ; class QPointF QGraphicsSceneContextMenuEvent::pos(void) const
+ ?tr@QGraphicsTextItem@@SA?AVQString@@PBD0H@Z @ 8282 NONAME ; class QString QGraphicsTextItem::tr(char const *, char const *, int)
+ ?isObscuredBy@QGraphicsPathItem@@UBE_NPBVQGraphicsItem@@@Z @ 8283 NONAME ; bool QGraphicsPathItem::isObscuredBy(class QGraphicsItem const *) const
+ ?textLength@QTextLine@@QBEHXZ @ 8284 NONAME ; int QTextLine::textLength(void) const
+ ?setWrapAround@QCompleter@@QAEX_N@Z @ 8285 NONAME ; void QCompleter::setWrapAround(bool)
+ ??YQTransform@@QAEAAV0@M@Z @ 8286 NONAME ; class QTransform & QTransform::operator+=(float)
+ ?itemEditorFactory@QStyledItemDelegate@@QBEPAVQItemEditorFactory@@XZ @ 8287 NONAME ; class QItemEditorFactory * QStyledItemDelegate::itemEditorFactory(void) const
+ ?appendHtml@QPlainTextEdit@@QAEXABVQString@@@Z @ 8288 NONAME ; void QPlainTextEdit::appendHtml(class QString const &)
+ ?spacing@QGraphicsAnchor@@QBEMXZ @ 8289 NONAME ; float QGraphicsAnchor::spacing(void) const
+ ?dropMimeData@QTableWidget@@MAE_NHHPBVQMimeData@@W4DropAction@Qt@@@Z @ 8290 NONAME ; bool QTableWidget::dropMimeData(int, int, class QMimeData const *, enum Qt::DropAction)
+ ?setTabPosition@QMdiArea@@QAEXW4TabPosition@QTabWidget@@@Z @ 8291 NONAME ; void QMdiArea::setTabPosition(enum QTabWidget::TabPosition)
+ ??0QProgressDialog@@QAE@PAVQWidget@@V?$QFlags@W4WindowType@Qt@@@@@Z @ 8292 NONAME ; QProgressDialog::QProgressDialog(class QWidget *, class QFlags<enum Qt::WindowType>)
+ ??0QMatrix@@AAE@_N@Z @ 8293 NONAME ; QMatrix::QMatrix(bool)
+ ?selectionChanged@QCalendarWidget@@IAEXXZ @ 8294 NONAME ; void QCalendarWidget::selectionChanged(void)
+ ??0QPalette@@QAE@ABV0@@Z @ 8295 NONAME ; QPalette::QPalette(class QPalette const &)
+ ?event@QSpinBox@@MAE_NPAVQEvent@@@Z @ 8296 NONAME ; bool QSpinBox::event(class QEvent *)
+ ?setRootModelIndex@QComboBox@@QAEXABVQModelIndex@@@Z @ 8297 NONAME ; void QComboBox::setRootModelIndex(class QModelIndex const &)
+ ?setPixelSize@QFont@@QAEXH@Z @ 8298 NONAME ; void QFont::setPixelSize(int)
+ ?setBottomMargin@QTextFrameFormat@@QAEXM@Z @ 8299 NONAME ; void QTextFrameFormat::setBottomMargin(float)
+ ?minimumDate@QCalendarWidget@@QBE?AVQDate@@XZ @ 8300 NONAME ; class QDate QCalendarWidget::minimumDate(void) const
+ ?setBlurRadius@QGraphicsDropShadowEffect@@QAEXH@Z @ 8301 NONAME ABSENT ; void QGraphicsDropShadowEffect::setBlurRadius(int)
+ ?setMask@QPixmapData@@UAEXABVQBitmap@@@Z @ 8302 NONAME ; void QPixmapData::setMask(class QBitmap const &)
+ ?drawPie@QPainter@@QAEXABVQRectF@@HH@Z @ 8303 NONAME ; void QPainter::drawPie(class QRectF const &, int, int)
+ ?supportsExtension@QGraphicsPolygonItem@@MBE_NW4Extension@QGraphicsItem@@@Z @ 8304 NONAME ; bool QGraphicsPolygonItem::supportsExtension(enum QGraphicsItem::Extension) const
+ ??0QFont@@QAE@ABV0@@Z @ 8305 NONAME ; QFont::QFont(class QFont const &)
+ ?selectedRows@QItemSelectionModel@@QBE?AV?$QList@VQModelIndex@@@@H@Z @ 8306 NONAME ; class QList<class QModelIndex> QItemSelectionModel::selectedRows(int) const
+ ?tr@QTextBlockGroup@@SA?AVQString@@PBD0H@Z @ 8307 NONAME ; class QString QTextBlockGroup::tr(char const *, char const *, int)
+ ?setCornerWidget@QTabWidget@@QAEXPAVQWidget@@W4Corner@Qt@@@Z @ 8308 NONAME ; void QTabWidget::setCornerWidget(class QWidget *, enum Qt::Corner)
+ ??4QMatrix4x4@@QAEAAV0@ABV0@@Z @ 8309 NONAME ; class QMatrix4x4 & QMatrix4x4::operator=(class QMatrix4x4 const &)
+ ?itemClicked@QListWidget@@IAEXPAVQListWidgetItem@@@Z @ 8310 NONAME ; void QListWidget::itemClicked(class QListWidgetItem *)
+ ?ascent@QTextItem@@QBEMXZ @ 8311 NONAME ; float QTextItem::ascent(void) const
+ ?trUtf8@QTextTable@@SA?AVQString@@PBD0@Z @ 8312 NONAME ; class QString QTextTable::trUtf8(char const *, char const *)
+ ?currentChanged@QStackedLayout@@IAEXH@Z @ 8313 NONAME ; void QStackedLayout::currentChanged(int)
+ ?tr@QPictureFormatPlugin@@SA?AVQString@@PBD0@Z @ 8314 NONAME ; class QString QPictureFormatPlugin::tr(char const *, char const *)
+ ?setTopMargin@QTextFrameFormat@@QAEXM@Z @ 8315 NONAME ; void QTextFrameFormat::setTopMargin(float)
+ ?setPos@QCursor@@SAXHH@Z @ 8316 NONAME ; void QCursor::setPos(int, int)
+ ?formatIndex@QTextEngine@@QBEHPBUQScriptItem@@@Z @ 8317 NONAME ; int QTextEngine::formatIndex(struct QScriptItem const *) const
+ ?hasFrame@QLineEdit@@QBE_NXZ @ 8318 NONAME ; bool QLineEdit::hasFrame(void) const
+ ?verticalScrollMode@QAbstractItemView@@QBE?AW4ScrollMode@1@XZ @ 8319 NONAME ; enum QAbstractItemView::ScrollMode QAbstractItemView::verticalScrollMode(void) const
+ ??0QPaintBufferResource@@QAE@P6AXPAX@ZPAVQObject@@@Z @ 8320 NONAME ; QPaintBufferResource::QPaintBufferResource(void (*)(void *), class QObject *)
+ ?qt_metacall@QPlainTextEdit@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 8321 NONAME ; int QPlainTextEdit::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?totalMinimumSize@QLayout@@QBE?AVQSize@@XZ @ 8322 NONAME ; class QSize QLayout::totalMinimumSize(void) const
+ ?atEnd@iterator@QTextFrame@@QBE_NXZ @ 8323 NONAME ; bool QTextFrame::iterator::atEnd(void) const
+ ?fix_neg_rect@QPaintEngine@@QAEXPAH000@Z @ 8324 NONAME ; void QPaintEngine::fix_neg_rect(int *, int *, int *, int *)
+ ?qt_metacast@QUndoView@@UAEPAXPBD@Z @ 8325 NONAME ; void * QUndoView::qt_metacast(char const *)
+ ?boundingRect@QGraphicsWidget@@UBE?AVQRectF@@XZ @ 8326 NONAME ; class QRectF QGraphicsWidget::boundingRect(void) const
+ ?shearList@QGraphicsItemAnimation@@QBE?AV?$QList@U?$QPair@MVQPointF@@@@@@XZ @ 8327 NONAME ; class QList<struct QPair<float, class QPointF> > QGraphicsItemAnimation::shearList(void) const
+ ?extension@QDialog@@QBEPAVQWidget@@XZ @ 8328 NONAME ; class QWidget * QDialog::extension(void) const
+ ?addButton@QButtonGroup@@QAEXPAVQAbstractButton@@H@Z @ 8329 NONAME ; void QButtonGroup::addButton(class QAbstractButton *, int)
+ ??_EQTextBlockGroup@@UAE@I@Z @ 8330 NONAME ; QTextBlockGroup::~QTextBlockGroup(unsigned int)
+ ?qt_metacall@QProxyStyle@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 8331 NONAME ; int QProxyStyle::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ??0QVector2D@@QAE@ABVQVector4D@@@Z @ 8332 NONAME ; QVector2D::QVector2D(class QVector4D const &)
+ ??1QStyleOptionFocusRect@@QAE@XZ @ 8333 NONAME ; QStyleOptionFocusRect::~QStyleOptionFocusRect(void)
+ ?newProxyWidget@QGraphicsProxyWidget@@IAEPAV1@PBVQWidget@@@Z @ 8334 NONAME ; class QGraphicsProxyWidget * QGraphicsProxyWidget::newProxyWidget(class QWidget const *)
+ ?paintEvent@QLCDNumber@@MAEXPAVQPaintEvent@@@Z @ 8335 NONAME ; void QLCDNumber::paintEvent(class QPaintEvent *)
+ ?clear@QDialogButtonBox@@QAEXXZ @ 8336 NONAME ; void QDialogButtonBox::clear(void)
+ ?column@QTableWidget@@QBEHPBVQTableWidgetItem@@@Z @ 8337 NONAME ; int QTableWidget::column(class QTableWidgetItem const *) const
+ ?standardSizes@QFontDatabase@@SA?AV?$QList@H@@XZ @ 8338 NONAME ; class QList<int> QFontDatabase::standardSizes(void)
+ ?cacheMode@QGraphicsView@@QBE?AV?$QFlags@W4CacheModeFlag@QGraphicsView@@@@XZ @ 8339 NONAME ; class QFlags<enum QGraphicsView::CacheModeFlag> QGraphicsView::cacheMode(void) const
+ ?qt_metacall@QDoubleSpinBox@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 8340 NONAME ; int QDoubleSpinBox::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?backgroundMode@QPainter@@QBE?AW4BGMode@Qt@@XZ @ 8341 NONAME ; enum Qt::BGMode QPainter::backgroundMode(void) const
+ ?setIcon@QAbstractButton@@QAEXABVQIcon@@@Z @ 8342 NONAME ; void QAbstractButton::setIcon(class QIcon const &)
+ ?getStaticMetaObject@QDialog@@SAABUQMetaObject@@XZ @ 8343 NONAME ; struct QMetaObject const & QDialog::getStaticMetaObject(void)
+ ?setScaleFactor@QPinchGesture@@QAEXM@Z @ 8344 NONAME ; void QPinchGesture::setScaleFactor(float)
+ ??0QFileOpenEvent@@QAE@ABVQString@@@Z @ 8345 NONAME ; QFileOpenEvent::QFileOpenEvent(class QString const &)
+ ?dateChanged@QDateTimeEdit@@IAEXABVQDate@@@Z @ 8346 NONAME ; void QDateTimeEdit::dateChanged(class QDate const &)
+ ?setAcceptHoverEvents@QGraphicsItem@@QAEX_N@Z @ 8347 NONAME ; void QGraphicsItem::setAcceptHoverEvents(bool)
+ ?options@QInputDialog@@QBE?AV?$QFlags@W4InputDialogOption@QInputDialog@@@@XZ @ 8348 NONAME ; class QFlags<enum QInputDialog::InputDialogOption> QInputDialog::options(void) const
+ ?trUtf8@QUndoGroup@@SA?AVQString@@PBD0@Z @ 8349 NONAME ; class QString QUndoGroup::trUtf8(char const *, char const *)
+ ?released@QAbstractButton@@IAEXXZ @ 8350 NONAME ; void QAbstractButton::released(void)
+ ?d_func@QDial@@AAEPAVQDialPrivate@@XZ @ 8351 NONAME ; class QDialPrivate * QDial::d_func(void)
+ ?rowCount@QGridLayout@@QBEHXZ @ 8352 NONAME ; int QGridLayout::rowCount(void) const
+ ?properties@QFontEngine@@UBE?AUProperties@1@XZ @ 8353 NONAME ; struct QFontEngine::Properties QFontEngine::properties(void) const
+ ?dropMimeData@QListWidget@@MAE_NHPBVQMimeData@@W4DropAction@Qt@@@Z @ 8354 NONAME ; bool QListWidget::dropMimeData(int, class QMimeData const *, enum Qt::DropAction)
+ ?centerButtons@QDialogButtonBox@@QBE_NXZ @ 8355 NONAME ; bool QDialogButtonBox::centerButtons(void) const
+ ?qt_metacall@QWizard@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 8356 NONAME ; int QWizard::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?redoTextChanged@QUndoStack@@IAEXABVQString@@@Z @ 8357 NONAME ; void QUndoStack::redoTextChanged(class QString const &)
+ ?numColors@QPixmapData@@QBEHXZ @ 8358 NONAME ; int QPixmapData::numColors(void) const
+ ??0QPixmap@@AAE@ABVQSize@@H@Z @ 8359 NONAME ; QPixmap::QPixmap(class QSize const &, int)
+ ?flags@QFileSystemModel@@UBE?AV?$QFlags@W4ItemFlag@Qt@@@@ABVQModelIndex@@@Z @ 8360 NONAME ; class QFlags<enum Qt::ItemFlag> QFileSystemModel::flags(class QModelIndex const &) const
+ ?trUtf8@QPinchGesture@@SA?AVQString@@PBD0H@Z @ 8361 NONAME ; class QString QPinchGesture::trUtf8(char const *, char const *, int)
+ ?spacing@QBoxLayout@@QBEHXZ @ 8362 NONAME ; int QBoxLayout::spacing(void) const
+ ??GQPainterPath@@QBE?AV0@ABV0@@Z @ 8363 NONAME ; class QPainterPath QPainterPath::operator-(class QPainterPath const &) const
+ ?question@QMessageBox@@SAHPAVQWidget@@ABVQString@@1HHH@Z @ 8364 NONAME ; int QMessageBox::question(class QWidget *, class QString const &, class QString const &, int, int, int)
+ ??0QKeyEventTransition@@QAE@PAVQObject@@W4Type@QEvent@@HPAVQState@@@Z @ 8365 NONAME ; QKeyEventTransition::QKeyEventTransition(class QObject *, enum QEvent::Type, int, class QState *)
+ ?getStaticMetaObject@QLineControl@@SAABUQMetaObject@@XZ @ 8366 NONAME ; struct QMetaObject const & QLineControl::getStaticMetaObject(void)
+ ?setOpenExternalLinks@QGraphicsTextItem@@QAEX_N@Z @ 8367 NONAME ; void QGraphicsTextItem::setOpenExternalLinks(bool)
+ ??0QGraphicsSceneResizeEvent@@QAE@XZ @ 8368 NONAME ; QGraphicsSceneResizeEvent::QGraphicsSceneResizeEvent(void)
+ ?translate@QMatrix@@QAEAAV1@MM@Z @ 8369 NONAME ; class QMatrix & QMatrix::translate(float, float)
+ ?updateEditorGeometries@QAbstractItemView@@MAEXXZ @ 8370 NONAME ; void QAbstractItemView::updateEditorGeometries(void)
+ ?setUsesScrollButtons@QTabBar@@QAEX_N@Z @ 8371 NONAME ; void QTabBar::setUsesScrollButtons(bool)
+ ?isModal@QWidget@@QBE_NXZ @ 8372 NONAME ; bool QWidget::isModal(void) const
+ ?setY@QVector3D@@QAEXM@Z @ 8373 NONAME ; void QVector3D::setY(float)
+ ?setCurrentIndex@QDataWidgetMapper@@UAEXH@Z @ 8374 NONAME ; void QDataWidgetMapper::setCurrentIndex(int)
+ ?triggered@QToolButton@@IAEXPAVQAction@@@Z @ 8375 NONAME ; void QToolButton::triggered(class QAction *)
+ ?setToolTip@QGraphicsItem@@QAEXABVQString@@@Z @ 8376 NONAME ; void QGraphicsItem::setToolTip(class QString const &)
+ ?paintEngine@QPicture@@UBEPAVQPaintEngine@@XZ @ 8377 NONAME ; class QPaintEngine * QPicture::paintEngine(void) const
+ ?fontStyleStrategy@QTextCharFormat@@QBE?AW4StyleStrategy@QFont@@XZ @ 8378 NONAME ; enum QFont::StyleStrategy QTextCharFormat::fontStyleStrategy(void) const
+ ?isGrayscale@QImage@@QBE_NXZ @ 8379 NONAME ; bool QImage::isGrayscale(void) const
+ ?dataChanged@QClipboard@@IAEXXZ @ 8380 NONAME ; void QClipboard::dataChanged(void)
+ ?pixel@QImage@@QBEIABVQPoint@@@Z @ 8381 NONAME ; unsigned int QImage::pixel(class QPoint const &) const
+ ?qt_metacall@QToolButton@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 8382 NONAME ; int QToolButton::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?styleOverride@QApplicationPrivate@@2VQString@@A @ 8383 NONAME ; class QString QApplicationPrivate::styleOverride
+ ??0QMenu@@IAE@AAVQMenuPrivate@@PAVQWidget@@@Z @ 8384 NONAME ; QMenu::QMenu(class QMenuPrivate &, class QWidget *)
+ ?internalInsert@QLineControl@@AAEXABVQString@@@Z @ 8385 NONAME ; void QLineControl::internalInsert(class QString const &)
+ ?clone@QIconEngineV2@@UBEPAV1@XZ @ 8386 NONAME ; class QIconEngineV2 * QIconEngineV2::clone(void) const
+ ?getStaticMetaObject@QSound@@SAABUQMetaObject@@XZ @ 8387 NONAME ; struct QMetaObject const & QSound::getStaticMetaObject(void)
+ ??0QPaintDevice@@IAE@XZ @ 8388 NONAME ; QPaintDevice::QPaintDevice(void)
+ ?mouseGrabber@QWidget@@SAPAV1@XZ @ 8389 NONAME ; class QWidget * QWidget::mouseGrabber(void)
+ ?changeEvent@QRubberBand@@MAEXPAVQEvent@@@Z @ 8390 NONAME ; void QRubberBand::changeEvent(class QEvent *)
+ ?data_ptr@QBrush@@QAEAAV?$QScopedPointer@UQBrushData@@UQBrushDataPointerDeleter@@@@XZ @ 8391 NONAME ; class QScopedPointer<struct QBrushData, struct QBrushDataPointerDeleter> & QBrush::data_ptr(void)
+ ?undo@QLineControl@@QAEXXZ @ 8392 NONAME ; void QLineControl::undo(void)
+ ?isDown@QAbstractButton@@QBE_NXZ @ 8393 NONAME ; bool QAbstractButton::isDown(void) const
+ ?setOpaque@QWidgetPrivate@@QAEX_N@Z @ 8394 NONAME ; void QWidgetPrivate::setOpaque(bool)
+ ?actionTriggered@QToolBar@@IAEXPAVQAction@@@Z @ 8395 NONAME ; void QToolBar::actionTriggered(class QAction *)
+ ??0QGestureEvent@@QAE@ABV?$QList@PAVQGesture@@@@@Z @ 8396 NONAME ; QGestureEvent::QGestureEvent(class QList<class QGesture *> const &)
+ ??1QFontMetricsF@@QAE@XZ @ 8397 NONAME ; QFontMetricsF::~QFontMetricsF(void)
+ ?normalGeometry@QWidget@@QBE?AVQRect@@XZ @ 8398 NONAME ; class QRect QWidget::normalGeometry(void) const
+ ??0QWidgetPrivate@@QAE@H@Z @ 8399 NONAME ; QWidgetPrivate::QWidgetPrivate(int)
+ ?internalDrop@QListView@@IAEXPAVQDropEvent@@@Z @ 8400 NONAME ; void QListView::internalDrop(class QDropEvent *)
+ ?setMaxVisibleItems@QComboBox@@QAEXH@Z @ 8401 NONAME ; void QComboBox::setMaxVisibleItems(int)
+ ?eventFilter@QFontDialog@@EAE_NPAVQObject@@PAVQEvent@@@Z @ 8402 NONAME ; bool QFontDialog::eventFilter(class QObject *, class QEvent *)
+ ?drawPolyline@QPainter@@QAEXPBVQPoint@@H@Z @ 8403 NONAME ; void QPainter::drawPolyline(class QPoint const *, int)
+ ?hideEvent@QMdiSubWindow@@MAEXPAVQHideEvent@@@Z @ 8404 NONAME ; void QMdiSubWindow::hideEvent(class QHideEvent *)
+ ?metaObject@QComboBox@@UBEPBUQMetaObject@@XZ @ 8405 NONAME ; struct QMetaObject const * QComboBox::metaObject(void) const
+ ?getStaticMetaObject@QWidget@@SAABUQMetaObject@@XZ @ 8406 NONAME ; struct QMetaObject const & QWidget::getStaticMetaObject(void)
+ ?moveCursor@QTextEdit@@QAEXW4MoveOperation@QTextCursor@@W4MoveMode@3@@Z @ 8407 NONAME ; void QTextEdit::moveCursor(enum QTextCursor::MoveOperation, enum QTextCursor::MoveMode)
+ ??BQTextLength@@QBE?AVQVariant@@XZ @ 8408 NONAME ; QTextLength::operator class QVariant(void) const
+ ?value@QLCDNumber@@QBENXZ @ 8409 NONAME ; double QLCDNumber::value(void) const
+ ?tr@QMdiArea@@SA?AVQString@@PBD0@Z @ 8410 NONAME ; class QString QMdiArea::tr(char const *, char const *)
+ ??_EQPixmapDropShadowFilter@@UAE@I@Z @ 8411 NONAME ; QPixmapDropShadowFilter::~QPixmapDropShadowFilter(unsigned int)
+ ?y@QTextLine@@QBEMXZ @ 8412 NONAME ; float QTextLine::y(void) const
+ ??1QBrush@@QAE@XZ @ 8413 NONAME ; QBrush::~QBrush(void)
+ ?visualRect@QTableView@@UBE?AVQRect@@ABVQModelIndex@@@Z @ 8414 NONAME ; class QRect QTableView::visualRect(class QModelIndex const &) const
+ ?setMaximumBlockCount@QPlainTextEdit@@QAEXH@Z @ 8415 NONAME ; void QPlainTextEdit::setMaximumBlockCount(int)
+ ?alphaMapForGlyph@QFontEngine@@UAE?AVQImage@@I@Z @ 8416 NONAME ; class QImage QFontEngine::alphaMapForGlyph(unsigned int)
+ ?setBottom@QIntValidator@@QAEXH@Z @ 8417 NONAME ; void QIntValidator::setBottom(int)
+ ?monthShown@QCalendarWidget@@QBEHXZ @ 8418 NONAME ; int QCalendarWidget::monthShown(void) const
+ ?qt_metacast@QTimeEdit@@UAEPAXPBD@Z @ 8419 NONAME ; void * QTimeEdit::qt_metacast(char const *)
+ ?filesSelected@QFileDialog@@IAEXABVQStringList@@@Z @ 8420 NONAME ; void QFileDialog::filesSelected(class QStringList const &)
+ ?setButton@QWizard@@QAEXW4WizardButton@1@PAVQAbstractButton@@@Z @ 8421 NONAME ; void QWizard::setButton(enum QWizard::WizardButton, class QAbstractButton *)
+ ?drawPoint@QPainter@@QAEXABVQPoint@@@Z @ 8422 NONAME ; void QPainter::drawPoint(class QPoint const &)
+ ?lastModified@QFileSystemModel@@QBE?AVQDateTime@@ABVQModelIndex@@@Z @ 8423 NONAME ; class QDateTime QFileSystemModel::lastModified(class QModelIndex const &) const
+ ??0QVector4D@@QAE@ABV0@@Z @ 8424 NONAME ; QVector4D::QVector4D(class QVector4D const &)
+ ?paint@QGraphicsProxyWidget@@UAEXPAVQPainter@@PBVQStyleOptionGraphicsItem@@PAVQWidget@@@Z @ 8425 NONAME ; void QGraphicsProxyWidget::paint(class QPainter *, class QStyleOptionGraphicsItem const *, class QWidget *)
+ ?d_func@QKeyEventTransition@@ABEPBVQKeyEventTransitionPrivate@@XZ @ 8426 NONAME ; class QKeyEventTransitionPrivate const * QKeyEventTransition::d_func(void) const
+ ?changeEvent@QWorkspace@@MAEXPAVQEvent@@@Z @ 8427 NONAME ; void QWorkspace::changeEvent(class QEvent *)
+ ?mapToParent@QGraphicsItem@@QBE?AVQPainterPath@@ABV2@@Z @ 8428 NONAME ; class QPainterPath QGraphicsItem::mapToParent(class QPainterPath const &) const
+ ?setPen@QGraphicsLineItem@@QAEXABVQPen@@@Z @ 8429 NONAME ; void QGraphicsLineItem::setPen(class QPen const &)
+ ?pictureFormat@QPictureIO@@SA?AVQByteArray@@PAVQIODevice@@@Z @ 8430 NONAME ; class QByteArray QPictureIO::pictureFormat(class QIODevice *)
+ ?screenRect@TouchPoint@QTouchEvent@@QBE?AVQRectF@@XZ @ 8431 NONAME ; class QRectF QTouchEvent::TouchPoint::screenRect(void) const
+ ?transformed@QImage@@QBE?AV1@ABVQMatrix@@W4TransformationMode@Qt@@@Z @ 8432 NONAME ; class QImage QImage::transformed(class QMatrix const &, enum Qt::TransformationMode) const
+ ??0Tab@QTextOption@@QAE@XZ @ 8433 NONAME ; QTextOption::Tab::Tab(void)
+ ??0QSyntaxHighlighter@@QAE@PAVQObject@@@Z @ 8434 NONAME ; QSyntaxHighlighter::QSyntaxHighlighter(class QObject *)
+ ?focusInEvent@QGraphicsProxyWidget@@MAEXPAVQFocusEvent@@@Z @ 8435 NONAME ; void QGraphicsProxyWidget::focusInEvent(class QFocusEvent *)
+ ?setPixmap@QClipboard@@QAEXABVQPixmap@@W4Mode@1@@Z @ 8436 NONAME ; void QClipboard::setPixmap(class QPixmap const &, enum QClipboard::Mode)
+ ?engine@QTextLayout@@QBEPAVQTextEngine@@XZ @ 8437 NONAME ; class QTextEngine * QTextLayout::engine(void) const
+ ?setMinimumSize@QGraphicsLayoutItem@@QAEXABVQSizeF@@@Z @ 8438 NONAME ; void QGraphicsLayoutItem::setMinimumSize(class QSizeF const &)
+ ?trUtf8@QSortFilterProxyModel@@SA?AVQString@@PBD0H@Z @ 8439 NONAME ; class QString QSortFilterProxyModel::trUtf8(char const *, char const *, int)
+ ?setTabIcon@QTabBar@@QAEXHABVQIcon@@@Z @ 8440 NONAME ; void QTabBar::setTabIcon(int, class QIcon const &)
+ ?trUtf8@QAbstractScrollArea@@SA?AVQString@@PBD0H@Z @ 8441 NONAME ; class QString QAbstractScrollArea::trUtf8(char const *, char const *, int)
+ ?atWordSeparator@QTextEngine@@QBE_NH@Z @ 8442 NONAME ; bool QTextEngine::atWordSeparator(int) const
+ ?movableAncestorIsSelected@QGraphicsItemPrivate@@SA_NPBVQGraphicsItem@@@Z @ 8443 NONAME ; bool QGraphicsItemPrivate::movableAncestorIsSelected(class QGraphicsItem const *)
+ ?openPersistentEditor@QTableWidget@@QAEXPAVQTableWidgetItem@@@Z @ 8444 NONAME ; void QTableWidget::openPersistentEditor(class QTableWidgetItem *)
+ ?tabStopWidth@QPlainTextEdit@@QBEHXZ @ 8445 NONAME ; int QPlainTextEdit::tabStopWidth(void) const
+ ?keyboardModifiers@QApplication@@SA?AV?$QFlags@W4KeyboardModifier@Qt@@@@XZ @ 8446 NONAME ; class QFlags<enum Qt::KeyboardModifier> QApplication::keyboardModifiers(void)
+ ?polish@QWindowsStyle@@UAEXPAVQApplication@@@Z @ 8447 NONAME ; void QWindowsStyle::polish(class QApplication *)
+ ?documentSizeChanged@QAbstractTextDocumentLayout@@IAEXABVQSizeF@@@Z @ 8448 NONAME ; void QAbstractTextDocumentLayout::documentSizeChanged(class QSizeF const &)
+ ?fileName@QMovie@@QBE?AVQString@@XZ @ 8449 NONAME ; class QString QMovie::fileName(void) const
+ ?trUtf8@QPixmapBlurFilter@@SA?AVQString@@PBD0@Z @ 8450 NONAME ; class QString QPixmapBlurFilter::trUtf8(char const *, char const *)
+ ??0QFontPrivate@@QAE@XZ @ 8451 NONAME ; QFontPrivate::QFontPrivate(void)
+ ?toFillPolygons@QPainterPath@@QBE?AV?$QList@VQPolygonF@@@@ABVQTransform@@@Z @ 8452 NONAME ; class QList<class QPolygonF> QPainterPath::toFillPolygons(class QTransform const &) const
+ ?d_func@QCalendarWidget@@ABEPBVQCalendarWidgetPrivate@@XZ @ 8453 NONAME ; class QCalendarWidgetPrivate const * QCalendarWidget::d_func(void) const
+ ?d_func@QProgressBar@@AAEPAVQProgressBarPrivate@@XZ @ 8454 NONAME ; class QProgressBarPrivate * QProgressBar::d_func(void)
+ ?insertList@QTextCursor@@QAEPAVQTextList@@W4Style@QTextListFormat@@@Z @ 8455 NONAME ; class QTextList * QTextCursor::insertList(enum QTextListFormat::Style)
+ ?title@QWizardPage@@QBE?AVQString@@XZ @ 8456 NONAME ; class QString QWizardPage::title(void) const
+ ?size@QFontMetricsF@@QBE?AVQSizeF@@HABVQString@@HPAH@Z @ 8457 NONAME ; class QSizeF QFontMetricsF::size(int, class QString const &, int, int *) const
+ ??6@YA?AVQDebug@@V0@ABVQBrush@@@Z @ 8458 NONAME ; class QDebug operator<<(class QDebug, class QBrush const &)
+ ?foreground@QTreeWidgetItem@@QBE?AVQBrush@@H@Z @ 8459 NONAME ; class QBrush QTreeWidgetItem::foreground(int) const
+ ?setObjectIndex@QTextFormat@@QAEXH@Z @ 8460 NONAME ; void QTextFormat::setObjectIndex(int)
+ ?insertList@QTextCursor@@QAEPAVQTextList@@ABVQTextListFormat@@@Z @ 8461 NONAME ; class QTextList * QTextCursor::insertList(class QTextListFormat const &)
+ ?paint@QIcon@@QBEXPAVQPainter@@HHHHV?$QFlags@W4AlignmentFlag@Qt@@@@W4Mode@1@W4State@1@@Z @ 8462 NONAME ; void QIcon::paint(class QPainter *, int, int, int, int, class QFlags<enum Qt::AlignmentFlag>, enum QIcon::Mode, enum QIcon::State) const
+ ?icon@QAbstractButton@@QBE?AVQIcon@@XZ @ 8463 NONAME ; class QIcon QAbstractButton::icon(void) const
+ ??1QTextLayout@@QAE@XZ @ 8464 NONAME ; QTextLayout::~QTextLayout(void)
+ ?tabCloseRequested@QTabBar@@IAEXH@Z @ 8465 NONAME ; void QTabBar::tabCloseRequested(int)
+ ?orientation@QGraphicsLinearLayout@@QBE?AW4Orientation@Qt@@XZ @ 8466 NONAME ; enum Qt::Orientation QGraphicsLinearLayout::orientation(void) const
+ ?setToolTip@QTableWidgetItem@@QAEXABVQString@@@Z @ 8467 NONAME ; void QTableWidgetItem::setToolTip(class QString const &)
+ ?scene@QGraphicsView@@QBEPAVQGraphicsScene@@XZ @ 8468 NONAME ; class QGraphicsScene * QGraphicsView::scene(void) const
+ ?setExclusive@QActionGroup@@QAEX_N@Z @ 8469 NONAME ; void QActionGroup::setExclusive(bool)
+ ?setToolButtonStyle@QToolBar@@QAEXW4ToolButtonStyle@Qt@@@Z @ 8470 NONAME ; void QToolBar::setToolButtonStyle(enum Qt::ToolButtonStyle)
+ ?hasFocus@QGraphicsScene@@QBE_NXZ @ 8471 NONAME ; bool QGraphicsScene::hasFocus(void) const
+ ?setWidthF@QPen@@QAEXM@Z @ 8472 NONAME ; void QPen::setWidthF(float)
+ ?trUtf8@QInputContextPlugin@@SA?AVQString@@PBD0@Z @ 8473 NONAME ; class QString QInputContextPlugin::trUtf8(char const *, char const *)
+ ??0QClipboardEvent@@QAE@PAVQEventPrivate@@@Z @ 8474 NONAME ; QClipboardEvent::QClipboardEvent(class QEventPrivate *)
+ ?setBackgroundColor@QImageReader@@QAEXABVQColor@@@Z @ 8475 NONAME ; void QImageReader::setBackgroundColor(class QColor const &)
+ ?changeEvent@QWidget@@MAEXPAVQEvent@@@Z @ 8476 NONAME ; void QWidget::changeEvent(class QEvent *)
+ ?modifiers@QGraphicsSceneContextMenuEvent@@QBE?AV?$QFlags@W4KeyboardModifier@Qt@@@@XZ @ 8477 NONAME ; class QFlags<enum Qt::KeyboardModifier> QGraphicsSceneContextMenuEvent::modifiers(void) const
+ ?handleWidth@QSplitter@@QBEHXZ @ 8478 NONAME ; int QSplitter::handleWidth(void) const
+ ?setColumnMaximumWidth@QGraphicsGridLayout@@QAEXHM@Z @ 8479 NONAME ; void QGraphicsGridLayout::setColumnMaximumWidth(int, float)
+ ??0QTextCharFormat@@QAE@ABV0@@Z @ 8480 NONAME ; QTextCharFormat::QTextCharFormat(class QTextCharFormat const &)
+ ?colorNames@QColor@@SA?AVQStringList@@XZ @ 8481 NONAME ; class QStringList QColor::colorNames(void)
+ ?drawText@QPainter@@QAEXABVQRect@@HABVQString@@PAV2@@Z @ 8482 NONAME ; void QPainter::drawText(class QRect const &, int, class QString const &, class QRect *)
+ ??_EQMenuBar@@UAE@I@Z @ 8483 NONAME ; QMenuBar::~QMenuBar(unsigned int)
+ ?d_func@QGraphicsLayout@@AAEPAVQGraphicsLayoutPrivate@@XZ @ 8484 NONAME ; class QGraphicsLayoutPrivate * QGraphicsLayout::d_func(void)
+ ?getRgba@QColorDialog@@SAIIPA_NPAVQWidget@@@Z @ 8485 NONAME ; unsigned int QColorDialog::getRgba(unsigned int, bool *, class QWidget *)
+ ?deviceType@QTouchEvent@@QBE?AW4DeviceType@1@XZ @ 8486 NONAME ; enum QTouchEvent::DeviceType QTouchEvent::deviceType(void) const
+ ?focusOutEvent@QAbstractItemView@@MAEXPAVQFocusEvent@@@Z @ 8487 NONAME ; void QAbstractItemView::focusOutEvent(class QFocusEvent *)
+ ??1QDesktopWidget@@UAE@XZ @ 8488 NONAME ; QDesktopWidget::~QDesktopWidget(void)
+ ??0QDateTimeEdit@@IAE@ABVQVariant@@W4Type@1@PAVQWidget@@@Z @ 8489 NONAME ; QDateTimeEdit::QDateTimeEdit(class QVariant const &, enum QVariant::Type, class QWidget *)
+ ?mapToScene@QGraphicsView@@QBE?AVQPainterPath@@ABV2@@Z @ 8490 NONAME ; class QPainterPath QGraphicsView::mapToScene(class QPainterPath const &) const
+ ?changeSize@QSpacerItem@@QAEXHHW4Policy@QSizePolicy@@0@Z @ 8491 NONAME ; void QSpacerItem::changeSize(int, int, enum QSizePolicy::Policy, enum QSizePolicy::Policy)
+ ?mousePressEvent@QPlainTextEdit@@MAEXPAVQMouseEvent@@@Z @ 8492 NONAME ; void QPlainTextEdit::mousePressEvent(class QMouseEvent *)
+ ?textFromValue@QDoubleSpinBox@@UBE?AVQString@@N@Z @ 8493 NONAME ; class QString QDoubleSpinBox::textFromValue(double) const
+ ?mouseMoveEvent@QSlider@@MAEXPAVQMouseEvent@@@Z @ 8494 NONAME ; void QSlider::mouseMoveEvent(class QMouseEvent *)
+ ?keyboardModifiers@QDropEvent@@QBE?AV?$QFlags@W4KeyboardModifier@Qt@@@@XZ @ 8495 NONAME ; class QFlags<enum Qt::KeyboardModifier> QDropEvent::keyboardModifiers(void) const
+ ?setMinimumSectionSize@QHeaderView@@QAEXH@Z @ 8496 NONAME ; void QHeaderView::setMinimumSectionSize(int)
+ ?childIndicatorPolicy@QTreeWidgetItem@@QBE?AW4ChildIndicatorPolicy@1@XZ @ 8497 NONAME ; enum QTreeWidgetItem::ChildIndicatorPolicy QTreeWidgetItem::childIndicatorPolicy(void) const
+ ??8QGradient@@QAE_NABV0@@Z @ 8498 NONAME ; bool QGradient::operator==(class QGradient const &)
+ ?height@QTextLine@@QBEMXZ @ 8499 NONAME ; float QTextLine::height(void) const
+ ??_EQDragResponseEvent@@UAE@I@Z @ 8500 NONAME ; QDragResponseEvent::~QDragResponseEvent(unsigned int)
+ ??0QStyleOptionRubberBand@@IAE@H@Z @ 8501 NONAME ; QStyleOptionRubberBand::QStyleOptionRubberBand(int)
+ ?arcTo@QPainterPath@@QAEXABVQRectF@@MM@Z @ 8502 NONAME ; void QPainterPath::arcTo(class QRectF const &, float, float)
+ ?setPicture@QLabel@@QAEXABVQPicture@@@Z @ 8503 NONAME ; void QLabel::setPicture(class QPicture const &)
+ ?inputMethodEvent@QTextEdit@@MAEXPAVQInputMethodEvent@@@Z @ 8504 NONAME ; void QTextEdit::inputMethodEvent(class QInputMethodEvent *)
+ ?setFormat@QTextList@@QAEXABVQTextListFormat@@@Z @ 8505 NONAME ; void QTextList::setFormat(class QTextListFormat const &)
+ ?acceptedMouseButtons@QGraphicsItem@@QBE?AV?$QFlags@W4MouseButton@Qt@@@@XZ @ 8506 NONAME ; class QFlags<enum Qt::MouseButton> QGraphicsItem::acceptedMouseButtons(void) const
+ ?setCachedClipPath@QGraphicsItemPrivate@@QAEXABVQPainterPath@@@Z @ 8507 NONAME ; void QGraphicsItemPrivate::setCachedClipPath(class QPainterPath const &)
+ ?qt_metacast@QKeyEventTransition@@UAEPAXPBD@Z @ 8508 NONAME ; void * QKeyEventTransition::qt_metacast(char const *)
+ ?data@QMatrix4x4@@QAEPAMXZ @ 8509 NONAME ; float * QMatrix4x4::data(void)
+ ?destroy@QWidget@@IAEX_N0@Z @ 8510 NONAME ; void QWidget::destroy(bool, bool)
+ ?font@QTextLayout@@QBE?AVQFont@@XZ @ 8511 NONAME ; class QFont QTextLayout::font(void) const
+ ?blockFormat@QTextCursor@@QBE?AVQTextBlockFormat@@XZ @ 8512 NONAME ; class QTextBlockFormat QTextCursor::blockFormat(void) const
+ ?itemText@QTextList@@QBE?AVQString@@ABVQTextBlock@@@Z @ 8513 NONAME ; class QString QTextList::itemText(class QTextBlock const &) const
+ ?getHslF@QColor@@QBEXPAM000@Z @ 8514 NONAME ; void QColor::getHslF(float *, float *, float *, float *) const
+ ?text@QImageReader@@QBE?AVQString@@ABV2@@Z @ 8515 NONAME ; class QString QImageReader::text(class QString const &) const
+ ?convertToPainterPath@QVectorPath@@QBE?BVQPainterPath@@XZ @ 8516 NONAME ; class QPainterPath const QVectorPath::convertToPainterPath(void) const
+ ?setWindowModified@QWidget@@QAEX_N@Z @ 8517 NONAME ; void QWidget::setWindowModified(bool)
+ ?mouseMoveEvent@QScrollBar@@MAEXPAVQMouseEvent@@@Z @ 8518 NONAME ; void QScrollBar::mouseMoveEvent(class QMouseEvent *)
+ ?graphicsSystem@QApplicationPrivate@@SAPAVQGraphicsSystem@@XZ @ 8519 NONAME ; class QGraphicsSystem * QApplicationPrivate::graphicsSystem(void)
+ ?rootIsDecorated@QTreeView@@QBE_NXZ @ 8520 NONAME ; bool QTreeView::rootIsDecorated(void) const
+ ??0QImageTextKeyLang@@QAE@XZ @ 8521 NONAME ; QImageTextKeyLang::QImageTextKeyLang(void)
+ ?event@QMdiSubWindow@@MAE_NPAVQEvent@@@Z @ 8522 NONAME ; bool QMdiSubWindow::event(class QEvent *)
+ ?renderHints@QGraphicsView@@QBE?AV?$QFlags@W4RenderHint@QPainter@@@@XZ @ 8523 NONAME ; class QFlags<enum QPainter::RenderHint> QGraphicsView::renderHints(void) const
+ ?setExpanded@QTreeView@@QAEXABVQModelIndex@@_N@Z @ 8524 NONAME ; void QTreeView::setExpanded(class QModelIndex const &, bool)
+ ??0QWhatsThisClickedEvent@@QAE@ABVQString@@@Z @ 8525 NONAME ; QWhatsThisClickedEvent::QWhatsThisClickedEvent(class QString const &)
+ ?trUtf8@QIntValidator@@SA?AVQString@@PBD0H@Z @ 8526 NONAME ; class QString QIntValidator::trUtf8(char const *, char const *, int)
+ ?indexRowSizeHint@QTreeView@@IBEHABVQModelIndex@@@Z @ 8527 NONAME ; int QTreeView::indexRowSizeHint(class QModelIndex const &) const
+ ?tr@QToolButton@@SA?AVQString@@PBD0@Z @ 8528 NONAME ; class QString QToolButton::tr(char const *, char const *)
+ ?keys@QGuiPlatformPlugin@@UBE?AVQStringList@@XZ @ 8529 NONAME ; class QStringList QGuiPlatformPlugin::keys(void) const
+ ?textDirection@QTextOption@@QBE?AW4LayoutDirection@Qt@@XZ @ 8530 NONAME ; enum Qt::LayoutDirection QTextOption::textDirection(void) const
+ ?xHeight@QFontMetrics@@QBEHXZ @ 8531 NONAME ; int QFontMetrics::xHeight(void) const
+ ?read@QStandardItem@@UAEXAAVQDataStream@@@Z @ 8532 NONAME ; void QStandardItem::read(class QDataStream &)
+ ?done@QWizard@@MAEXH@Z @ 8533 NONAME ; void QWizard::done(int)
+ ?qt_metacall@QTabBar@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 8534 NONAME ; int QTabBar::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?mouseDoubleClickEvent@QGraphicsScene@@MAEXPAVQGraphicsSceneMouseEvent@@@Z @ 8535 NONAME ; void QGraphicsScene::mouseDoubleClickEvent(class QGraphicsSceneMouseEvent *)
+ ?toggle@QAbstractButton@@QAEXXZ @ 8536 NONAME ; void QAbstractButton::toggle(void)
+ ?cursorBlinkPeriod@QLineControl@@QBEHXZ @ 8537 NONAME ; int QLineControl::cursorBlinkPeriod(void) const
+ ?resolveSymlinks@QFileDialog@@QBE_NXZ @ 8538 NONAME ; bool QFileDialog::resolveSymlinks(void) const
+ ?d_func@QGraphicsTransform@@ABEPBVQGraphicsTransformPrivate@@XZ @ 8539 NONAME ; class QGraphicsTransformPrivate const * QGraphicsTransform::d_func(void) const
+ ?verticalStretch@QSizePolicy@@QBEHXZ @ 8540 NONAME ; int QSizePolicy::verticalStretch(void) const
+ ?pixelSize@QGraphicsPixelizeEffect@@QBEHXZ @ 8541 NONAME ABSENT ; int QGraphicsPixelizeEffect::pixelSize(void) const
+ ?time@QDateTimeEdit@@QBE?AVQTime@@XZ @ 8542 NONAME ; class QTime QDateTimeEdit::time(void) const
+ ?buttonDownScenePos@QGraphicsSceneMouseEvent@@QBE?AVQPointF@@W4MouseButton@Qt@@@Z @ 8543 NONAME ; class QPointF QGraphicsSceneMouseEvent::buttonDownScenePos(enum Qt::MouseButton) const
+ ?map@QMatrix@@QBEXMMPAM0@Z @ 8544 NONAME ; void QMatrix::map(float, float, float *, float *) const
+ ?paintEvent@QAbstractScrollArea@@MAEXPAVQPaintEvent@@@Z @ 8545 NONAME ; void QAbstractScrollArea::paintEvent(class QPaintEvent *)
+ ?event@QTextEdit@@MAE_NPAVQEvent@@@Z @ 8546 NONAME ; bool QTextEdit::event(class QEvent *)
+ ?insertColumns@QTextTable@@QAEXHH@Z @ 8547 NONAME ; void QTextTable::insertColumns(int, int)
+ ??_EQAbstractSpinBox@@UAE@I@Z @ 8548 NONAME ; QAbstractSpinBox::~QAbstractSpinBox(unsigned int)
+ ??0QPolygon@@QAE@XZ @ 8549 NONAME ; QPolygon::QPolygon(void)
+ ?normalizedPos@TouchPoint@QTouchEvent@@QBE?AVQPointF@@XZ @ 8550 NONAME ; class QPointF QTouchEvent::TouchPoint::normalizedPos(void) const
+ ?qt_metacall@QTextTable@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 8551 NONAME ; int QTextTable::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?staticMetaObject@QTimeEdit@@2UQMetaObject@@B @ 8552 NONAME ; struct QMetaObject const QTimeEdit::staticMetaObject
+ ?valueChanged@QAbstractSlider@@IAEXH@Z @ 8553 NONAME ; void QAbstractSlider::valueChanged(int)
+ ?setSizeAdjustPolicy@QComboBox@@QAEXW4SizeAdjustPolicy@1@@Z @ 8554 NONAME ; void QComboBox::setSizeAdjustPolicy(enum QComboBox::SizeAdjustPolicy)
+ ??0QDoubleSpinBox@@QAE@PAVQWidget@@@Z @ 8555 NONAME ; QDoubleSpinBox::QDoubleSpinBox(class QWidget *)
+ ??0QStyleOptionToolButton@@IAE@H@Z @ 8556 NONAME ; QStyleOptionToolButton::QStyleOptionToolButton(int)
+ ??0QFileIconProvider@@QAE@XZ @ 8557 NONAME ; QFileIconProvider::QFileIconProvider(void)
+ ?q_func@QGraphicsItemPrivate@@AAEPAVQGraphicsItem@@XZ @ 8558 NONAME ; class QGraphicsItem * QGraphicsItemPrivate::q_func(void)
+ ??6@YA?AVQDebug@@V0@PAVQGraphicsItem@@@Z @ 8559 NONAME ; class QDebug operator<<(class QDebug, class QGraphicsItem *)
+ ?clearFocus@QGraphicsItem@@QAEXXZ @ 8560 NONAME ; void QGraphicsItem::clearFocus(void)
+ ??0QPixmap@@QAE@XZ @ 8561 NONAME ; QPixmap::QPixmap(void)
+ ?initStyleOption@QComboBox@@IBEXPAVQStyleOptionComboBox@@@Z @ 8562 NONAME ; void QComboBox::initStyleOption(class QStyleOptionComboBox *) const
+ ??0iterator@QTextFrame@@QAE@XZ @ 8563 NONAME ; QTextFrame::iterator::iterator(void)
+ ?setItem@QStandardItemModel@@QAEXHHPAVQStandardItem@@@Z @ 8564 NONAME ; void QStandardItemModel::setItem(int, int, class QStandardItem *)
+ ?setFlags@QListWidgetItem@@QAEXV?$QFlags@W4ItemFlag@Qt@@@@@Z @ 8565 NONAME ; void QListWidgetItem::setFlags(class QFlags<enum Qt::ItemFlag>)
+ ?d_func@QUndoStack@@AAEPAVQUndoStackPrivate@@XZ @ 8566 NONAME ; class QUndoStackPrivate * QUndoStack::d_func(void)
+ ?validate@QDateTimeEdit@@MBE?AW4State@QValidator@@AAVQString@@AAH@Z @ 8567 NONAME ; enum QValidator::State QDateTimeEdit::validate(class QString &, int &) const
+ ??1QGraphicsRotation@@UAE@XZ @ 8568 NONAME ; QGraphicsRotation::~QGraphicsRotation(void)
+ ?process_cmdline@QApplicationPrivate@@QAEXXZ @ 8569 NONAME ; void QApplicationPrivate::process_cmdline(void)
+ ?families@QFontDatabase@@QBE?AVQStringList@@W4WritingSystem@1@@Z @ 8570 NONAME ; class QStringList QFontDatabase::families(enum QFontDatabase::WritingSystem) const
+ ?sizeHint@QFontComboBox@@UBE?AVQSize@@XZ @ 8571 NONAME ; class QSize QFontComboBox::sizeHint(void) const
+ ?setOrientation@QProgressBar@@QAEXW4Orientation@Qt@@@Z @ 8572 NONAME ; void QProgressBar::setOrientation(enum Qt::Orientation)
+ ??0QAbstractGraphicsShapeItem@@IAE@AAVQAbstractGraphicsShapeItemPrivate@@PAVQGraphicsItem@@PAVQGraphicsScene@@@Z @ 8573 NONAME ; QAbstractGraphicsShapeItem::QAbstractGraphicsShapeItem(class QAbstractGraphicsShapeItemPrivate &, class QGraphicsItem *, class QGraphicsScene *)
+ ?rmdir@QFileSystemModel@@QBE_NABVQModelIndex@@@Z @ 8574 NONAME ; bool QFileSystemModel::rmdir(class QModelIndex const &) const
+ ?timerEvent@QWindowsStyle@@MAEXPAVQTimerEvent@@@Z @ 8575 NONAME ; void QWindowsStyle::timerEvent(class QTimerEvent *)
+ ?tr@QDialog@@SA?AVQString@@PBD0@Z @ 8576 NONAME ; class QString QDialog::tr(char const *, char const *)
+ ?itemAt@QListWidget@@QBEPAVQListWidgetItem@@ABVQPoint@@@Z @ 8577 NONAME ; class QListWidgetItem * QListWidget::itemAt(class QPoint const &) const
+ ??0QGraphicsItemGroup@@QAE@PAVQGraphicsItem@@PAVQGraphicsScene@@@Z @ 8578 NONAME ; QGraphicsItemGroup::QGraphicsItemGroup(class QGraphicsItem *, class QGraphicsScene *)
+ ??0QTextLength@@QAE@XZ @ 8579 NONAME ; QTextLength::QTextLength(void)
+ ?createMimeDataFromSelection@QPlainTextEdit@@MBEPAVQMimeData@@XZ @ 8580 NONAME ; class QMimeData * QPlainTextEdit::createMimeDataFromSelection(void) const
+ ?paintEngine@QImage@@UBEPAVQPaintEngine@@XZ @ 8581 NONAME ; class QPaintEngine * QImage::paintEngine(void) const
+ ?minLeftBearing@QFontEngine@@UBEMXZ @ 8582 NONAME ; float QFontEngine::minLeftBearing(void) const
+ ?init@QPalette@@AAEXXZ @ 8583 NONAME ; void QPalette::init(void)
+ ?validator@QLineEdit@@QBEPBVQValidator@@XZ @ 8584 NONAME ; class QValidator const * QLineEdit::validator(void) const
+ ?setSwipeAngle@QSwipeGesture@@QAEXM@Z @ 8585 NONAME ; void QSwipeGesture::setSwipeAngle(float)
+ ?setFocusToNextOrPreviousAnchor@QTextControl@@QAE_N_N@Z @ 8586 NONAME ; bool QTextControl::setFocusToNextOrPreviousAnchor(bool)
+ ?widget@QGraphicsProxyWidget@@QBEPAVQWidget@@XZ @ 8587 NONAME ; class QWidget * QGraphicsProxyWidget::widget(void) const
+ ?trUtf8@QTextFrame@@SA?AVQString@@PBD0@Z @ 8588 NONAME ; class QString QTextFrame::trUtf8(char const *, char const *)
+ ?tabTextColor@QTabBar@@QBE?AVQColor@@H@Z @ 8589 NONAME ; class QColor QTabBar::tabTextColor(int) const
+ ?findText@QComboBox@@QBEHABVQString@@V?$QFlags@W4MatchFlag@Qt@@@@@Z @ 8590 NONAME ; int QComboBox::findText(class QString const &, class QFlags<enum Qt::MatchFlag>) const
+ ?submit@QProxyModel@@UAE_NXZ @ 8591 NONAME ; bool QProxyModel::submit(void)
+ ?qt_metacast@QListView@@UAEPAXPBD@Z @ 8592 NONAME ; void * QListView::qt_metacast(char const *)
+ ?sizeHint@QWorkspace@@UBE?AVQSize@@XZ @ 8593 NONAME ; class QSize QWorkspace::sizeHint(void) const
+ ?setPalette@QTextControl@@QAEXABVQPalette@@@Z @ 8594 NONAME ; void QTextControl::setPalette(class QPalette const &)
+ ??_EQItemDelegate@@UAE@I@Z @ 8595 NONAME ; QItemDelegate::~QItemDelegate(unsigned int)
+ ?wheelEvent@QGraphicsScene@@MAEXPAVQGraphicsSceneWheelEvent@@@Z @ 8596 NONAME ; void QGraphicsScene::wheelEvent(class QGraphicsSceneWheelEvent *)
+ ?insertTab@QTabBar@@QAEHHABVQString@@@Z @ 8597 NONAME ; int QTabBar::insertTab(int, class QString const &)
+ ?isResize@QWidgetResizeHandler@@ABE_NXZ @ 8598 NONAME ; bool QWidgetResizeHandler::isResize(void) const
+ ?setWrapping@QListView@@QAEX_N@Z @ 8599 NONAME ; void QListView::setWrapping(bool)
+ ??0QTextTableCellFormat@@IAE@ABVQTextFormat@@@Z @ 8600 NONAME ; QTextTableCellFormat::QTextTableCellFormat(class QTextFormat const &)
+ ?queueInputCapabilitiesChanged@QCoeFepInputContext@@AAEXXZ @ 8601 NONAME ABSENT ; void QCoeFepInputContext::queueInputCapabilitiesChanged(void)
+ ??4QPixmap@@QAEAAV0@ABV0@@Z @ 8602 NONAME ; class QPixmap & QPixmap::operator=(class QPixmap const &)
+ ??0QTextCursor@@QAE@PAVQTextDocumentPrivate@@H@Z @ 8603 NONAME ; QTextCursor::QTextCursor(class QTextDocumentPrivate *, int)
+ ??0QStyleOptionRubberBand@@QAE@XZ @ 8604 NONAME ; QStyleOptionRubberBand::QStyleOptionRubberBand(void)
+ ?staticMetaObject@QFileSystemModel@@2UQMetaObject@@B @ 8605 NONAME ; struct QMetaObject const QFileSystemModel::staticMetaObject
+ ??0QStyleOptionGraphicsItem@@QAE@ABV0@@Z @ 8606 NONAME ; QStyleOptionGraphicsItem::QStyleOptionGraphicsItem(class QStyleOptionGraphicsItem const &)
+ ?span@QProxyModel@@UBE?AVQSize@@ABVQModelIndex@@@Z @ 8607 NONAME ; class QSize QProxyModel::span(class QModelIndex const &) const
+ ?changeEvent@QDialogButtonBox@@MAEXPAVQEvent@@@Z @ 8608 NONAME ; void QDialogButtonBox::changeEvent(class QEvent *)
+ ?insertTable@QTextCursor@@QAEPAVQTextTable@@HH@Z @ 8609 NONAME ; class QTextTable * QTextCursor::insertTable(int, int)
+ ?dragMode@QGraphicsView@@QBE?AW4DragMode@1@XZ @ 8610 NONAME ; enum QGraphicsView::DragMode QGraphicsView::dragMode(void) const
+ ?setNamedColor@QColor@@QAEXABVQString@@@Z @ 8611 NONAME ; void QColor::setNamedColor(class QString const &)
+ ??_EQFocusEvent@@UAE@I@Z @ 8612 NONAME ; QFocusEvent::~QFocusEvent(unsigned int)
+ ?green@QColor@@QBEHXZ @ 8613 NONAME ; int QColor::green(void) const
+ ?d_func@QGraphicsAnchorLayout@@AAEPAVQGraphicsAnchorLayoutPrivate@@XZ @ 8614 NONAME ; class QGraphicsAnchorLayoutPrivate * QGraphicsAnchorLayout::d_func(void)
+ ?moveBy@QGraphicsItem@@QAEXMM@Z @ 8615 NONAME ; void QGraphicsItem::moveBy(float, float)
+ ?setModel@QTableView@@UAEXPAVQAbstractItemModel@@@Z @ 8616 NONAME ; void QTableView::setModel(class QAbstractItemModel *)
+ ?trUtf8@QPlainTextDocumentLayout@@SA?AVQString@@PBD0@Z @ 8617 NONAME ; class QString QPlainTextDocumentLayout::trUtf8(char const *, char const *)
+ ?d_func@QSyntaxHighlighter@@ABEPBVQSyntaxHighlighterPrivate@@XZ @ 8618 NONAME ; class QSyntaxHighlighterPrivate const * QSyntaxHighlighter::d_func(void) const
+ ?d_func@QTextObject@@ABEPBVQTextObjectPrivate@@XZ @ 8619 NONAME ; class QTextObjectPrivate const * QTextObject::d_func(void) const
+ ??0QPixmapData@@QAE@W4PixelType@0@H@Z @ 8620 NONAME ; QPixmapData::QPixmapData(enum QPixmapData::PixelType, int)
+ ??_EQSpacerItem@@UAE@I@Z @ 8621 NONAME ; QSpacerItem::~QSpacerItem(unsigned int)
+ ?topLevelItemCount@QTreeWidget@@QBEHXZ @ 8622 NONAME ; int QTreeWidget::topLevelItemCount(void) const
+ ?document@QSyntaxHighlighter@@QBEPAVQTextDocument@@XZ @ 8623 NONAME ; class QTextDocument * QSyntaxHighlighter::document(void) const
+ ?deselect@QLineEdit@@QAEXXZ @ 8624 NONAME ; void QLineEdit::deselect(void)
+ ?mask@QPixmap@@QBE?AVQBitmap@@XZ @ 8625 NONAME ; class QBitmap QPixmap::mask(void) const
+ ?column@QStandardItem@@QBEHXZ @ 8626 NONAME ; int QStandardItem::column(void) const
+ ?propertyCount@QTextFormat@@QBEHXZ @ 8627 NONAME ; int QTextFormat::propertyCount(void) const
+ ?removeSelectedText@QTextCursor@@QAEXXZ @ 8628 NONAME ; void QTextCursor::removeSelectedText(void)
+ ?findIntersections@QBezier@@SA_NABV1@0PAV?$QVector@U?$QPair@MM@@@@@Z @ 8629 NONAME ; bool QBezier::findIntersections(class QBezier const &, class QBezier const &, class QVector<struct QPair<float, float> > *)
+ ?reformat@QStatusBar@@IAEXXZ @ 8630 NONAME ; void QStatusBar::reformat(void)
+ ?metaObject@QGraphicsEffect@@UBEPBUQMetaObject@@XZ @ 8631 NONAME ; struct QMetaObject const * QGraphicsEffect::metaObject(void) const
+ ?lengthProperty@QTextFormat@@QBE?AVQTextLength@@H@Z @ 8632 NONAME ; class QTextLength QTextFormat::lengthProperty(int) const
+ ?d_func@QTreeWidgetItemIterator@@AAEPAVQTreeWidgetItemIteratorPrivate@@XZ @ 8633 NONAME ; class QTreeWidgetItemIteratorPrivate * QTreeWidgetItemIterator::d_func(void)
+ ?flags@QListWidgetItem@@QBE?AV?$QFlags@W4ItemFlag@Qt@@@@XZ @ 8634 NONAME ; class QFlags<enum Qt::ItemFlag> QListWidgetItem::flags(void) const
+ ?getStaticMetaObject@QAbstractSlider@@SAABUQMetaObject@@XZ @ 8635 NONAME ; struct QMetaObject const & QAbstractSlider::getStaticMetaObject(void)
+ ??0QHelpEvent@@QAE@W4Type@QEvent@@ABVQPoint@@1@Z @ 8636 NONAME ; QHelpEvent::QHelpEvent(enum QEvent::Type, class QPoint const &, class QPoint const &)
+ ?map@QTransform@@QBEXHHPAH0@Z @ 8637 NONAME ; void QTransform::map(int, int, int *, int *) const
+ ??_EQImage@@UAE@I@Z @ 8638 NONAME ; QImage::~QImage(unsigned int)
+ ?currentPlatform@QApplicationPrivate@@SAIXZ @ 8639 NONAME ; unsigned int QApplicationPrivate::currentPlatform(void)
+ ??1QStyleOption@@QAE@XZ @ 8640 NONAME ; QStyleOption::~QStyleOption(void)
+ ?isComplete@QWizardPage@@UBE_NXZ @ 8641 NONAME ; bool QWizardPage::isComplete(void) const
+ ?tr@QWidget@@SA?AVQString@@PBD0@Z @ 8642 NONAME ; class QString QWidget::tr(char const *, char const *)
+ ?isDropEnabled@QStandardItem@@QBE_NXZ @ 8643 NONAME ; bool QStandardItem::isDropEnabled(void) const
+ ?rgb@QColor@@QBEIXZ @ 8644 NONAME ; unsigned int QColor::rgb(void) const
+ ?metaObject@QFontDialog@@UBEPBUQMetaObject@@XZ @ 8645 NONAME ; struct QMetaObject const * QFontDialog::metaObject(void) const
+ ?paintEvent@QTabBar@@MAEXPAVQPaintEvent@@@Z @ 8646 NONAME ; void QTabBar::paintEvent(class QPaintEvent *)
+ ??_EQInputEvent@@UAE@I@Z @ 8647 NONAME ; QInputEvent::~QInputEvent(unsigned int)
+ ?d_func@QMessageBox@@AAEPAVQMessageBoxPrivate@@XZ @ 8648 NONAME ; class QMessageBoxPrivate * QMessageBox::d_func(void)
+ ?qt_metacall@QPixmapFilter@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 8649 NONAME ; int QPixmapFilter::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?zChanged@QGraphicsObject@@IAEXXZ @ 8650 NONAME ; void QGraphicsObject::zChanged(void)
+ ?setColumnWidth@QTableView@@QAEXHH@Z @ 8651 NONAME ; void QTableView::setColumnWidth(int, int)
+ ?setActivePanel@QGraphicsScene@@QAEXPAVQGraphicsItem@@@Z @ 8652 NONAME ; void QGraphicsScene::setActivePanel(class QGraphicsItem *)
+ ?trUtf8@QTableWidget@@SA?AVQString@@PBD0@Z @ 8653 NONAME ; class QString QTableWidget::trUtf8(char const *, char const *)
+ ?serialNumber@QPixmap@@QBEHXZ @ 8654 NONAME ; int QPixmap::serialNumber(void) const
+ ?leaveEvent@QMenu@@MAEXPAVQEvent@@@Z @ 8655 NONAME ; void QMenu::leaveEvent(class QEvent *)
+ ?resetTransform@QGraphicsItem@@QAEXXZ @ 8656 NONAME ; void QGraphicsItem::resetTransform(void)
+ ?setDockNestingEnabled@QMainWindow@@QAEX_N@Z @ 8657 NONAME ; void QMainWindow::setDockNestingEnabled(bool)
+ ?flags@QDirModel@@UBE?AV?$QFlags@W4ItemFlag@Qt@@@@ABVQModelIndex@@@Z @ 8658 NONAME ; class QFlags<enum Qt::ItemFlag> QDirModel::flags(class QModelIndex const &) const
+ ?parent@QTreeWidgetItem@@QBEPAV1@XZ @ 8659 NONAME ; class QTreeWidgetItem * QTreeWidgetItem::parent(void) const
+ ?isIndexHidden@QListView@@MBE_NABVQModelIndex@@@Z @ 8660 NONAME ; bool QListView::isIndexHidden(class QModelIndex const &) const
+ ?imageFormat@QTextFormatCollection@@QBE?AVQTextImageFormat@@H@Z @ 8661 NONAME ; class QTextImageFormat QTextFormatCollection::imageFormat(int) const
+ ?actionEvent@QWidget@@MAEXPAVQActionEvent@@@Z @ 8662 NONAME ; void QWidget::actionEvent(class QActionEvent *)
+ ?allWidgets@QWidgetPrivate@@2PAV?$QSet@PAVQWidget@@@@A @ 8663 NONAME ; class QSet<class QWidget *> * QWidgetPrivate::allWidgets
+ ?backgroundBrush@QGraphicsView@@QBE?AVQBrush@@XZ @ 8664 NONAME ; class QBrush QGraphicsView::backgroundBrush(void) const
+ ?maximumWidth@QGraphicsLayoutItem@@QBEMXZ @ 8665 NONAME ; float QGraphicsLayoutItem::maximumWidth(void) const
+ ?removeSelection@QLineControl@@QAEXXZ @ 8666 NONAME ; void QLineControl::removeSelection(void)
+ ?d_func@QTextControl@@AAEPAVQTextControlPrivate@@XZ @ 8667 NONAME ; class QTextControlPrivate * QTextControl::d_func(void)
+ ?setPos@QGraphicsSceneDragDropEvent@@QAEXABVQPointF@@@Z @ 8668 NONAME ; void QGraphicsSceneDragDropEvent::setPos(class QPointF const &)
+ ?setPaintDevice@QAbstractTextDocumentLayout@@QAEXPAVQPaintDevice@@@Z @ 8669 NONAME ; void QAbstractTextDocumentLayout::setPaintDevice(class QPaintDevice *)
+ ?setEditorData@QAbstractItemDelegate@@UBEXPAVQWidget@@ABVQModelIndex@@@Z @ 8670 NONAME ; void QAbstractItemDelegate::setEditorData(class QWidget *, class QModelIndex const &) const
+ ?setStartScreenPos@TouchPoint@QTouchEvent@@QAEXABVQPointF@@@Z @ 8671 NONAME ; void QTouchEvent::TouchPoint::setStartScreenPos(class QPointF const &)
+ ?palette@QGraphicsScene@@QBE?AVQPalette@@XZ @ 8672 NONAME ; class QPalette QGraphicsScene::palette(void) const
+ ?transformationMode@QGraphicsPixmapItem@@QBE?AW4TransformationMode@Qt@@XZ @ 8673 NONAME ; enum Qt::TransformationMode QGraphicsPixmapItem::transformationMode(void) const
+ ?m12@QTransform@@QBEMXZ @ 8674 NONAME ; float QTransform::m12(void) const
+ ?drawPoints@QPainter@@QAEXPBVQPoint@@H@Z @ 8675 NONAME ; void QPainter::drawPoints(class QPoint const *, int)
+ ?length@QVector2D@@QBEMXZ @ 8676 NONAME ; float QVector2D::length(void) const
+ ?blockNumber@QTextBlock@@QBEHXZ @ 8677 NONAME ; int QTextBlock::blockNumber(void) const
+ ?initStyleOption@QProgressBar@@IBEXPAVQStyleOptionProgressBar@@@Z @ 8678 NONAME ; void QProgressBar::initStyleOption(class QStyleOptionProgressBar *) const
+ ??1QCalendarWidget@@UAE@XZ @ 8679 NONAME ; QCalendarWidget::~QCalendarWidget(void)
+ ?d_func@QTextList@@ABEPBVQTextListPrivate@@XZ @ 8680 NONAME ; class QTextListPrivate const * QTextList::d_func(void) const
+ ?selected@QItemDelegate@@IBEPAVQPixmap@@ABV2@ABVQPalette@@_N@Z @ 8681 NONAME ; class QPixmap * QItemDelegate::selected(class QPixmap const &, class QPalette const &, bool) const
+ ??5@YAAAVQDataStream@@AAV0@AAVQQuaternion@@@Z @ 8682 NONAME ; class QDataStream & operator>>(class QDataStream &, class QQuaternion &)
+ ?setTracking@QAbstractSlider@@QAEX_N@Z @ 8683 NONAME ; void QAbstractSlider::setTracking(bool)
+ ?activated@QCalendarWidget@@IAEXABVQDate@@@Z @ 8684 NONAME ; void QCalendarWidget::activated(class QDate const &)
+ ?nextImageDelay@QImageReader@@QBEHXZ @ 8685 NONAME ; int QImageReader::nextImageDelay(void) const
+ ?setRange@QProgressBar@@QAEXHH@Z @ 8686 NONAME ; void QProgressBar::setRange(int, int)
+ ?globalY@QMouseEvent@@QBEHXZ @ 8687 NONAME ; int QMouseEvent::globalY(void) const
+ ??1QStyleOptionTitleBar@@QAE@XZ @ 8688 NONAME ; QStyleOptionTitleBar::~QStyleOptionTitleBar(void)
+ ?alphaChannel@QPixmap@@QBE?AV1@XZ @ 8689 NONAME ; class QPixmap QPixmap::alphaChannel(void) const
+ ?cascade@QWorkspace@@QAEXXZ @ 8690 NONAME ; void QWorkspace::cascade(void)
+ ?sliderMoved@QAbstractSlider@@IAEXH@Z @ 8691 NONAME ; void QAbstractSlider::sliderMoved(int)
+ ?d_func@QTextBrowser@@AAEPAVQTextBrowserPrivate@@XZ @ 8692 NONAME ; class QTextBrowserPrivate * QTextBrowser::d_func(void)
+ ?notify@QApplication@@UAE_NPAVQObject@@PAVQEvent@@@Z @ 8693 NONAME ; bool QApplication::notify(class QObject *, class QEvent *)
+ ?setSpacing@QGridLayout@@QAEXH@Z @ 8694 NONAME ; void QGridLayout::setSpacing(int)
+ ??1QGraphicsItemAnimation@@UAE@XZ @ 8695 NONAME ; QGraphicsItemAnimation::~QGraphicsItemAnimation(void)
+ ??Eiterator@QTextFrame@@QAEAAV01@XZ @ 8696 NONAME ; class QTextFrame::iterator & QTextFrame::iterator::operator++(void)
+ ?isValid@QTextTableCellFormat@@QBE_NXZ @ 8697 NONAME ; bool QTextTableCellFormat::isValid(void) const
+ ?d_func@QGraphicsItem@@AAEPAVQGraphicsItemPrivate@@XZ @ 8698 NONAME ; class QGraphicsItemPrivate * QGraphicsItem::d_func(void)
+ ??0QFont@@QAE@ABVQString@@HH_N@Z @ 8699 NONAME ; QFont::QFont(class QString const &, int, int, bool)
+ ?inputMethodEvent@QGraphicsItem@@MAEXPAVQInputMethodEvent@@@Z @ 8700 NONAME ; void QGraphicsItem::inputMethodEvent(class QInputMethodEvent *)
+ ?setScale@QGraphicsItem@@QAEXM@Z @ 8701 NONAME ; void QGraphicsItem::setScale(float)
+ ?setCurrentRow@QListWidget@@QAEXH@Z @ 8702 NONAME ; void QListWidget::setCurrentRow(int)
+ ??1QStyleOptionViewItem@@QAE@XZ @ 8703 NONAME ; QStyleOptionViewItem::~QStyleOptionViewItem(void)
+ ??0QStyleOptionDockWidget@@IAE@H@Z @ 8704 NONAME ; QStyleOptionDockWidget::QStyleOptionDockWidget(int)
+ ?properties@QTextFormat@@QBE?AV?$QMap@HVQVariant@@@@XZ @ 8705 NONAME ; class QMap<int, class QVariant> QTextFormat::properties(void) const
+ ?getUnscaledGlyph@QFontEngine@@UAEXIPAVQPainterPath@@PAUglyph_metrics_t@@@Z @ 8706 NONAME ; void QFontEngine::getUnscaledGlyph(unsigned int, class QPainterPath *, struct glyph_metrics_t *)
+ ?drawImage@QPainter@@QAEXABVQRect@@ABVQImage@@0V?$QFlags@W4ImageConversionFlag@Qt@@@@@Z @ 8707 NONAME ; void QPainter::drawImage(class QRect const &, class QImage const &, class QRect const &, class QFlags<enum Qt::ImageConversionFlag>)
+ ?isAvailable@QSound@@SA_NXZ @ 8708 NONAME ; bool QSound::isAvailable(void)
+ ?parentFrame@QTextFrame@@QBEPAV1@XZ @ 8709 NONAME ; class QTextFrame * QTextFrame::parentFrame(void) const
+ ??0QStyleOptionGraphicsItem@@QAE@XZ @ 8710 NONAME ; QStyleOptionGraphicsItem::QStyleOptionGraphicsItem(void)
+ ?setToolTip@QStandardItem@@QAEXABVQString@@@Z @ 8711 NONAME ; void QStandardItem::setToolTip(class QString const &)
+ ??MQTextCursor@@QBE_NABV0@@Z @ 8712 NONAME ; bool QTextCursor::operator<(class QTextCursor const &) const
+ ?setBackgroundColor@QMovie@@QAEXABVQColor@@@Z @ 8713 NONAME ; void QMovie::setBackgroundColor(class QColor const &)
+ ??_EQAbstractProxyModel@@UAE@I@Z @ 8714 NONAME ; QAbstractProxyModel::~QAbstractProxyModel(unsigned int)
+ ?setItemHidden@QListWidget@@QAEXPBVQListWidgetItem@@_N@Z @ 8715 NONAME ; void QListWidget::setItemHidden(class QListWidgetItem const *, bool)
+ ?pixmap@QLabel@@QBEPBVQPixmap@@XZ @ 8716 NONAME ; class QPixmap const * QLabel::pixmap(void) const
+ ?frameShape@QFrame@@QBE?AW4Shape@1@XZ @ 8717 NONAME ; enum QFrame::Shape QFrame::frameShape(void) const
+ ??_EQGraphicsItem@@UAE@I@Z @ 8718 NONAME ; QGraphicsItem::~QGraphicsItem(unsigned int)
+ ??0QGraphicsDropShadowEffect@@QAE@PAVQObject@@@Z @ 8719 NONAME ; QGraphicsDropShadowEffect::QGraphicsDropShadowEffect(class QObject *)
+ ?value@QProgressBar@@QBEHXZ @ 8720 NONAME ; int QProgressBar::value(void) const
+ ?w@QVector4D@@QBEMXZ @ 8721 NONAME ; float QVector4D::w(void) const
+ ?tr@QCompleter@@SA?AVQString@@PBD0@Z @ 8722 NONAME ; class QString QCompleter::tr(char const *, char const *)
+ ??_EQGraphicsPolygonItem@@UAE@I@Z @ 8723 NONAME ; QGraphicsPolygonItem::~QGraphicsPolygonItem(unsigned int)
+ ?rect@QGraphicsWidget@@QBE?AVQRectF@@XZ @ 8724 NONAME ; class QRectF QGraphicsWidget::rect(void) const
+ ?mouseMoveEvent@QSizeGrip@@MAEXPAVQMouseEvent@@@Z @ 8725 NONAME ; void QSizeGrip::mouseMoveEvent(class QMouseEvent *)
+ ?translateRawTouchEvent@QApplicationPrivate@@SAXPAVQWidget@@W4DeviceType@QTouchEvent@@ABV?$QList@VTouchPoint@QTouchEvent@@@@@Z @ 8726 NONAME ; void QApplicationPrivate::translateRawTouchEvent(class QWidget *, enum QTouchEvent::DeviceType, class QList<class QTouchEvent::TouchPoint> const &)
+ ?testMedia@Parser@QCss@@QAE_NXZ @ 8727 NONAME ; bool QCss::Parser::testMedia(void)
+ ?closeEditor@QAbstractItemDelegate@@IAEXPAVQWidget@@W4EndEditHint@1@@Z @ 8728 NONAME ; void QAbstractItemDelegate::closeEditor(class QWidget *, enum QAbstractItemDelegate::EndEditHint)
+ ?paintEvent@QWizard@@MAEXPAVQPaintEvent@@@Z @ 8729 NONAME ; void QWizard::paintEvent(class QPaintEvent *)
+ ?minRightBearing@QFontMetricsF@@QBEMXZ @ 8730 NONAME ; float QFontMetricsF::minRightBearing(void) const
+ ??1QShortcutEvent@@UAE@XZ @ 8731 NONAME ; QShortcutEvent::~QShortcutEvent(void)
+ ?compositionMode@QPaintEngineState@@QBE?AW4CompositionMode@QPainter@@XZ @ 8732 NONAME ; enum QPainter::CompositionMode QPaintEngineState::compositionMode(void) const
+ ?fileName@QImageWriter@@QBE?AVQString@@XZ @ 8733 NONAME ; class QString QImageWriter::fileName(void) const
+ ?tabPosition@QMainWindow@@QBE?AW4TabPosition@QTabWidget@@W4DockWidgetArea@Qt@@@Z @ 8734 NONAME ; enum QTabWidget::TabPosition QMainWindow::tabPosition(enum Qt::DockWidgetArea) const
+ ?setIcon@QListWidgetItem@@QAEXABVQIcon@@@Z @ 8735 NONAME ; void QListWidgetItem::setIcon(class QIcon const &)
+ ?toAffine@QTransform@@QBEABVQMatrix@@XZ @ 8736 NONAME ; class QMatrix const & QTransform::toAffine(void) const
+ ?scrollTo@QColumnView@@UAEXABVQModelIndex@@W4ScrollHint@QAbstractItemView@@@Z @ 8737 NONAME ; void QColumnView::scrollTo(class QModelIndex const &, enum QAbstractItemView::ScrollHint)
+ ?trUtf8@QMenu@@SA?AVQString@@PBD0H@Z @ 8738 NONAME ; class QString QMenu::trUtf8(char const *, char const *, int)
+ ?bold@QFontInfo@@QBE_NXZ @ 8739 NONAME ; bool QFontInfo::bold(void) const
+ ?pos@QGraphicsSceneWheelEvent@@QBE?AVQPointF@@XZ @ 8740 NONAME ; class QPointF QGraphicsSceneWheelEvent::pos(void) const
+ ?setHeightForWidth@QSizePolicy@@QAEX_N@Z @ 8741 NONAME ; void QSizePolicy::setHeightForWidth(bool)
+ ??6@YA?AVQDebug@@V0@ABVQVector3D@@@Z @ 8742 NONAME ; class QDebug operator<<(class QDebug, class QVector3D const &)
+ ?setGeometry@QGraphicsGridLayout@@UAEXABVQRectF@@@Z @ 8743 NONAME ; void QGraphicsGridLayout::setGeometry(class QRectF const &)
+ ?metaObject@QWindowsStyle@@UBEPBUQMetaObject@@XZ @ 8744 NONAME ; struct QMetaObject const * QWindowsStyle::metaObject(void) const
+ ?setState@QPaintEngineEx@@UAEXPAVQPainterState@@@Z @ 8745 NONAME ; void QPaintEngineEx::setState(class QPainterState *)
+ ?setAllColumnsShowFocus@QTreeView@@QAEX_N@Z @ 8746 NONAME ; void QTreeView::setAllColumnsShowFocus(bool)
+ ??BQBrush@@QBE?AVQVariant@@XZ @ 8747 NONAME ; QBrush::operator class QVariant(void) const
+ ?whatsThis@QWidget@@QBE?AVQString@@XZ @ 8748 NONAME ; class QString QWidget::whatsThis(void) const
+ ?reset@QTreeView@@UAEXXZ @ 8749 NONAME ; void QTreeView::reset(void)
+ ??1QStyleOptionSizeGrip@@QAE@XZ @ 8750 NONAME ; QStyleOptionSizeGrip::~QStyleOptionSizeGrip(void)
+ ?rects@QRegion@@QBE?AV?$QVector@VQRect@@@@XZ @ 8751 NONAME ; class QVector<class QRect> QRegion::rects(void) const
+ ?standardFormat@QInputContext@@QBE?AVQTextFormat@@W4StandardFormat@1@@Z @ 8752 NONAME ; class QTextFormat QInputContext::standardFormat(enum QInputContext::StandardFormat) const
+ ??_EQStandardItemModel@@UAE@I@Z @ 8753 NONAME ; QStandardItemModel::~QStandardItemModel(unsigned int)
+ ?d_func@QPainterPathStroker@@AAEPAVQPainterPathStrokerPrivate@@XZ @ 8754 NONAME ; class QPainterPathStrokerPrivate * QPainterPathStroker::d_func(void)
+ ?trUtf8@QGraphicsPixelizeEffect@@SA?AVQString@@PBD0H@Z @ 8755 NONAME ABSENT ; class QString QGraphicsPixelizeEffect::trUtf8(char const *, char const *, int)
+ ?takeLayout@QWidget@@AAEPAVQLayout@@XZ @ 8756 NONAME ; class QLayout * QWidget::takeLayout(void)
+ ?offset@QPanGesture@@QBE?AVQPointF@@XZ @ 8757 NONAME ; class QPointF QPanGesture::offset(void) const
+ ?tightBoundingRect@QFontMetrics@@QBE?AVQRect@@ABVQString@@@Z @ 8758 NONAME ; class QRect QFontMetrics::tightBoundingRect(class QString const &) const
+ ??ZQTransform@@QAEAAV0@M@Z @ 8759 NONAME ; class QTransform & QTransform::operator-=(float)
+ ?setScaledClipRect@QImageReader@@QAEXABVQRect@@@Z @ 8760 NONAME ; void QImageReader::setScaledClipRect(class QRect const &)
+ ?columns@QTextTable@@QBEHXZ @ 8761 NONAME ; int QTextTable::columns(void) const
+ ?adjustSize@QTextControl@@QAEXXZ @ 8762 NONAME ; void QTextControl::adjustSize(void)
+ ?dashPattern@QDashStroker@@QBE?AV?$QVector@M@@XZ @ 8763 NONAME ; class QVector<float> QDashStroker::dashPattern(void) const
+ ?setSystemPalette@QApplicationPrivate@@SAXABVQPalette@@@Z @ 8764 NONAME ; void QApplicationPrivate::setSystemPalette(class QPalette const &)
+ ?drawText@QPainter@@QAEXABVQPoint@@ABVQString@@@Z @ 8765 NONAME ; void QPainter::drawText(class QPoint const &, class QString const &)
+ ?shapeTextWithHarfbuzz@QTextEngine@@ABEXH@Z @ 8766 NONAME ; void QTextEngine::shapeTextWithHarfbuzz(int) const
+ ?drawPolygon@QPaintEngine@@UAEXPBVQPointF@@HW4PolygonDrawMode@1@@Z @ 8767 NONAME ; void QPaintEngine::drawPolygon(class QPointF const *, int, enum QPaintEngine::PolygonDrawMode)
+ ??0QWizard@@QAE@PAVQWidget@@V?$QFlags@W4WindowType@Qt@@@@@Z @ 8768 NONAME ; QWizard::QWizard(class QWidget *, class QFlags<enum Qt::WindowType>)
+ ?setFocusProxy@QWidget@@QAEXPAV1@@Z @ 8769 NONAME ; void QWidget::setFocusProxy(class QWidget *)
+ ?resolve@QFontPrivate@@QAEXIPBV1@@Z @ 8770 NONAME ; void QFontPrivate::resolve(unsigned int, class QFontPrivate const *)
+ ?stateChanged@QCheckBox@@IAEXH@Z @ 8771 NONAME ; void QCheckBox::stateChanged(int)
+ ?width@QGraphicsScene@@QBEMXZ @ 8772 NONAME ; float QGraphicsScene::width(void) const
+ ?showSystemMenu@QMdiSubWindow@@QAEXXZ @ 8773 NONAME ; void QMdiSubWindow::showSystemMenu(void)
+ ?showMessage@QErrorMessage@@QAEXABVQString@@0@Z @ 8774 NONAME ; void QErrorMessage::showMessage(class QString const &, class QString const &)
+ ?d_func@QPushButton@@AAEPAVQPushButtonPrivate@@XZ @ 8775 NONAME ; class QPushButtonPrivate * QPushButton::d_func(void)
+ ?releaseShortcut@QWidget@@QAEXH@Z @ 8776 NONAME ; void QWidget::releaseShortcut(int)
+ ?texture@QBrush@@QBE?AVQPixmap@@XZ @ 8777 NONAME ; class QPixmap QBrush::texture(void) const
+ ?moveCursor@QPlainTextEdit@@QAEXW4MoveOperation@QTextCursor@@W4MoveMode@3@@Z @ 8778 NONAME ; void QPlainTextEdit::moveCursor(enum QTextCursor::MoveOperation, enum QTextCursor::MoveMode)
+ ?setNumColors@QImage@@QAEXH@Z @ 8779 NONAME ; void QImage::setNumColors(int)
+ ?supportsOption@QImageReader@@QBE_NW4ImageOption@QImageIOHandler@@@Z @ 8780 NONAME ; bool QImageReader::supportsOption(enum QImageIOHandler::ImageOption) const
+ ?drawTiledPixmap@QPainter@@QAEXHHHHABVQPixmap@@HH@Z @ 8781 NONAME ; void QPainter::drawTiledPixmap(int, int, int, int, class QPixmap const &, int, int)
+ ?horizontalScaleAt@QGraphicsItemAnimation@@QBEMM@Z @ 8782 NONAME ; float QGraphicsItemAnimation::horizontalScaleAt(float) const
+ ?width@QTextFrameFormat@@QBE?AVQTextLength@@XZ @ 8783 NONAME ; class QTextLength QTextFrameFormat::width(void) const
+ ?d_func@QGraphicsWidget@@AAEPAVQGraphicsWidgetPrivate@@XZ @ 8784 NONAME ; class QGraphicsWidgetPrivate * QGraphicsWidget::d_func(void)
+ ?addActions@QWidget@@QAEXV?$QList@PAVQAction@@@@@Z @ 8785 NONAME ; void QWidget::addActions(class QList<class QAction *>)
+ ?setFocusWidget@QApplicationPrivate@@SAXPAVQWidget@@W4FocusReason@Qt@@@Z @ 8786 NONAME ; void QApplicationPrivate::setFocusWidget(class QWidget *, enum Qt::FocusReason)
+ ??0QVector3D@@QAE@ABVQVector4D@@@Z @ 8787 NONAME ; QVector3D::QVector3D(class QVector4D const &)
+ ?clearBackground@QTextFormat@@QAEXXZ @ 8788 NONAME ; void QTextFormat::clearBackground(void)
+ ?keyPressEvent@QGraphicsScene@@MAEXPAVQKeyEvent@@@Z @ 8789 NONAME ; void QGraphicsScene::keyPressEvent(class QKeyEvent *)
+ ?setTitle@QMenu@@QAEXABVQString@@@Z @ 8790 NONAME ; void QMenu::setTitle(class QString const &)
+ ?font@QApplication@@SA?AVQFont@@PBD@Z @ 8791 NONAME ; class QFont QApplication::font(char const *)
+ ?ignore@QDragMoveEvent@@QAEXABVQRect@@@Z @ 8792 NONAME ; void QDragMoveEvent::ignore(class QRect const &)
+ ?itemChange@QGraphicsProxyWidget@@MAE?AVQVariant@@W4GraphicsItemChange@QGraphicsItem@@ABV2@@Z @ 8793 NONAME ; class QVariant QGraphicsProxyWidget::itemChange(enum QGraphicsItem::GraphicsItemChange, class QVariant const &)
+ ?lower@QWidget@@QAEXXZ @ 8794 NONAME ; void QWidget::lower(void)
+ ?trUtf8@QMenu@@SA?AVQString@@PBD0@Z @ 8795 NONAME ; class QString QMenu::trUtf8(char const *, char const *)
+ ?serialNumber@QPalette@@QBEHXZ @ 8796 NONAME ; int QPalette::serialNumber(void) const
+ ?d_func@QFileDialog@@AAEPAVQFileDialogPrivate@@XZ @ 8797 NONAME ; class QFileDialogPrivate * QFileDialog::d_func(void)
+ ??_EQDashStroker@@UAE@I@Z @ 8798 NONAME ; QDashStroker::~QDashStroker(unsigned int)
+ ?extractTranslation@QMatrix4x4@@QBE?AVQVector3D@@XZ @ 8799 NONAME ; class QVector3D QMatrix4x4::extractTranslation(void) const
+ ?trUtf8@QGraphicsDropShadowEffect@@SA?AVQString@@PBD0@Z @ 8800 NONAME ; class QString QGraphicsDropShadowEffect::trUtf8(char const *, char const *)
+ ?orientation@QGraphicsSceneWheelEvent@@QBE?AW4Orientation@Qt@@XZ @ 8801 NONAME ; enum Qt::Orientation QGraphicsSceneWheelEvent::orientation(void) const
+ ?dataChanged@QListView@@MAEXABVQModelIndex@@0@Z @ 8802 NONAME ; void QListView::dataChanged(class QModelIndex const &, class QModelIndex const &)
+ ?minimumSize@QDockWidgetLayout@@UBE?AVQSize@@XZ @ 8803 NONAME ; class QSize QDockWidgetLayout::minimumSize(void) const
+ ?invalidateBuffer@QWidgetPrivate@@QAEXABVQRect@@@Z @ 8804 NONAME ; void QWidgetPrivate::invalidateBuffer(class QRect const &)
+ ?items@QGraphicsView@@QBE?AV?$QList@PAVQGraphicsItem@@@@HH@Z @ 8805 NONAME ; class QList<class QGraphicsItem *> QGraphicsView::items(int, int) const
+ ?mapFromWS@QWidgetPrivate@@QBE?AVQPoint@@ABV2@@Z @ 8806 NONAME ; class QPoint QWidgetPrivate::mapFromWS(class QPoint const &) const
+ ??_EQColumnView@@UAE@I@Z @ 8807 NONAME ; QColumnView::~QColumnView(unsigned int)
+ ?trUtf8@QInputDialog@@SA?AVQString@@PBD0H@Z @ 8808 NONAME ; class QString QInputDialog::trUtf8(char const *, char const *, int)
+ ?valueChanged@QSpinBox@@IAEXABVQString@@@Z @ 8809 NONAME ; void QSpinBox::valueChanged(class QString const &)
+ ?resizeMode@QHeaderView@@QBE?AW4ResizeMode@1@H@Z @ 8810 NONAME ; enum QHeaderView::ResizeMode QHeaderView::resizeMode(int) const
+ ?tr@QSortFilterProxyModel@@SA?AVQString@@PBD0H@Z @ 8811 NONAME ; class QString QSortFilterProxyModel::tr(char const *, char const *, int)
+ ?trUtf8@QSpinBox@@SA?AVQString@@PBD0H@Z @ 8812 NONAME ; class QString QSpinBox::trUtf8(char const *, char const *, int)
+ ?startNormalizedPos@TouchPoint@QTouchEvent@@QBE?AVQPointF@@XZ @ 8813 NONAME ; class QPointF QTouchEvent::TouchPoint::startNormalizedPos(void) const
+ ?addItem@QListWidget@@QAEXPAVQListWidgetItem@@@Z @ 8814 NONAME ; void QListWidget::addItem(class QListWidgetItem *)
+ ??8QTextFormat@@QBE_NABV0@@Z @ 8815 NONAME ; bool QTextFormat::operator==(class QTextFormat const &) const
+ ?trUtf8@QAction@@SA?AVQString@@PBD0@Z @ 8816 NONAME ; class QString QAction::trUtf8(char const *, char const *)
+ ?xToPos@QLineControl@@QBEHHW4CursorPosition@QTextLine@@@Z @ 8817 NONAME ; int QLineControl::xToPos(int, enum QTextLine::CursorPosition) const
+ ?sizeHint@QGridLayout@@UBE?AVQSize@@XZ @ 8818 NONAME ; class QSize QGridLayout::sizeHint(void) const
+ ?setMinimumDuration@QProgressDialog@@QAEXH@Z @ 8819 NONAME ; void QProgressDialog::setMinimumDuration(int)
+ ?graphicsItem@QGraphicsLayoutItem@@QBEPAVQGraphicsItem@@XZ @ 8820 NONAME ; class QGraphicsItem * QGraphicsLayoutItem::graphicsItem(void) const
+ ?set_font@QApplicationPrivate@@2PAVQFont@@A @ 8821 NONAME ; class QFont * QApplicationPrivate::set_font
+ ?hasAcceptableInput@QLineControl@@QBE_NXZ @ 8822 NONAME ; bool QLineControl::hasAcceptableInput(void) const
+ ?keys@QStyleFactory@@SA?AVQStringList@@XZ @ 8823 NONAME ; class QStringList QStyleFactory::keys(void)
+ ?d_func@QShortcut@@AAEPAVQShortcutPrivate@@XZ @ 8824 NONAME ; class QShortcutPrivate * QShortcut::d_func(void)
+ ??_EQInputContext@@UAE@I@Z @ 8825 NONAME ; QInputContext::~QInputContext(unsigned int)
+ ?setActiveAction@QMenuBar@@QAEXPAVQAction@@@Z @ 8826 NONAME ; void QMenuBar::setActiveAction(class QAction *)
+ ??0QTableView@@QAE@PAVQWidget@@@Z @ 8827 NONAME ; QTableView::QTableView(class QWidget *)
+ ?alignment@QLayoutItem@@QBE?AV?$QFlags@W4AlignmentFlag@Qt@@@@XZ @ 8828 NONAME ; class QFlags<enum Qt::AlignmentFlag> QLayoutItem::alignment(void) const
+ ?setButton@QGraphicsSceneMouseEvent@@QAEXW4MouseButton@Qt@@@Z @ 8829 NONAME ; void QGraphicsSceneMouseEvent::setButton(enum Qt::MouseButton)
+ ?anchorAt@QAbstractTextDocumentLayout@@QBE?AVQString@@ABVQPointF@@@Z @ 8830 NONAME ; class QString QAbstractTextDocumentLayout::anchorAt(class QPointF const &) const
+ ?isExtended@QPaintEngine@@QBE_NXZ @ 8831 NONAME ; bool QPaintEngine::isExtended(void) const
+ ?setInputMask@QLineEdit@@QAEXABVQString@@@Z @ 8832 NONAME ; void QLineEdit::setInputMask(class QString const &)
+ ?toFirst@QDataWidgetMapper@@QAEXXZ @ 8833 NONAME ; void QDataWidgetMapper::toFirst(void)
+ ?setSizeHint@QListWidgetItem@@QAEXABVQSize@@@Z @ 8834 NONAME ; void QListWidgetItem::setSizeHint(class QSize const &)
+ ?setRootIndex@QTableView@@UAEXABVQModelIndex@@@Z @ 8835 NONAME ; void QTableView::setRootIndex(class QModelIndex const &)
+ ??BQPolygon@@QBE?AVQVariant@@XZ @ 8836 NONAME ; QPolygon::operator class QVariant(void) const
+ ??0QStyleOptionGroupBox@@QAE@XZ @ 8837 NONAME ; QStyleOptionGroupBox::QStyleOptionGroupBox(void)
+ ?drawContents@QTextDocument@@QAEXPAVQPainter@@ABVQRectF@@@Z @ 8838 NONAME ; void QTextDocument::drawContents(class QPainter *, class QRectF const &)
+ ?setDocumentTitle@QPlainTextEdit@@QAEXABVQString@@@Z @ 8839 NONAME ; void QPlainTextEdit::setDocumentTitle(class QString const &)
+ ?visualIndexAt@QHeaderView@@QBEHH@Z @ 8840 NONAME ; int QHeaderView::visualIndexAt(int) const
+ ?metaObject@QAbstractTextDocumentLayout@@UBEPBUQMetaObject@@XZ @ 8841 NONAME ; struct QMetaObject const * QAbstractTextDocumentLayout::metaObject(void) const
+ ?addApplicationFontFromData@QFontDatabase@@SAHABVQByteArray@@@Z @ 8842 NONAME ; int QFontDatabase::addApplicationFontFromData(class QByteArray const &)
+ ?qt_metacall@QIconEnginePluginV2@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 8843 NONAME ; int QIconEnginePluginV2::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?setMenu@QPushButton@@QAEXPAVQMenu@@@Z @ 8844 NONAME ; void QPushButton::setMenu(class QMenu *)
+ ?escape@Qt@@YA?AVQString@@ABV2@@Z @ 8845 NONAME ; class QString Qt::escape(class QString const &)
+ ?lineWidth@QFrame@@QBEHXZ @ 8846 NONAME ; int QFrame::lineWidth(void) const
+ ?addItem@QFormLayout@@UAEXPAVQLayoutItem@@@Z @ 8847 NONAME ; void QFormLayout::addItem(class QLayoutItem *)
+ ?frameGeometry@QWidget@@QBE?AVQRect@@XZ @ 8848 NONAME ; class QRect QWidget::frameGeometry(void) const
+ ?qt_metacast@QDateTimeEdit@@UAEPAXPBD@Z @ 8849 NONAME ; void * QDateTimeEdit::qt_metacast(char const *)
+ ??0QGridLayout@@QAE@PAVQWidget@@@Z @ 8850 NONAME ; QGridLayout::QGridLayout(class QWidget *)
+ ?showPopup@QComboBox@@UAEXXZ @ 8851 NONAME ; void QComboBox::showPopup(void)
+ ?addMapping@QDataWidgetMapper@@QAEXPAVQWidget@@H@Z @ 8852 NONAME ; void QDataWidgetMapper::addMapping(class QWidget *, int)
+ ?scaleChanged@QGraphicsScale@@IAEXXZ @ 8853 NONAME ; void QGraphicsScale::scaleChanged(void)
+ ?setZ@QVector4D@@QAEXM@Z @ 8854 NONAME ; void QVector4D::setZ(float)
+ ?setOpaqueResize@QSplitter@@QAEX_N@Z @ 8855 NONAME ; void QSplitter::setOpaqueResize(bool)
+ ?xored@QRegion@@QBE?AV1@ABV1@@Z @ 8856 NONAME ; class QRegion QRegion::xored(class QRegion const &) const
+ ?loopCount@QMovie@@QBEHXZ @ 8857 NONAME ; int QMovie::loopCount(void) const
+ ?validator@QLineControl@@QBEPBVQValidator@@XZ @ 8858 NONAME ; class QValidator const * QLineControl::validator(void) const
+ ?remapItemPos@QGraphicsItemPrivate@@QAEXPAVQEvent@@PAVQGraphicsItem@@@Z @ 8859 NONAME ; void QGraphicsItemPrivate::remapItemPos(class QEvent *, class QGraphicsItem *)
+ ?moveCursor@QLineControl@@QAEXH_N@Z @ 8860 NONAME ; void QLineControl::moveCursor(int, bool)
+ ?count@QGraphicsAnchorLayout@@UBEHXZ @ 8861 NONAME ; int QGraphicsAnchorLayout::count(void) const
+ ?contains@QGraphicsTextItem@@UBE_NABVQPointF@@@Z @ 8862 NONAME ; bool QGraphicsTextItem::contains(class QPointF const &) const
+ ?textInteractionFlags@QTextControl@@QBE?AV?$QFlags@W4TextInteractionFlag@Qt@@@@XZ @ 8863 NONAME ; class QFlags<enum Qt::TextInteractionFlag> QTextControl::textInteractionFlags(void) const
+ ??0QStroker@@QAE@XZ @ 8864 NONAME ; QStroker::QStroker(void)
+ ?resetTransform@QGraphicsView@@QAEXXZ @ 8865 NONAME ; void QGraphicsView::resetTransform(void)
+ ??1QAbstractItemDelegate@@UAE@XZ @ 8866 NONAME ; QAbstractItemDelegate::~QAbstractItemDelegate(void)
+ ?setCurrentModelIndex@QDataWidgetMapper@@QAEXABVQModelIndex@@@Z @ 8867 NONAME ; void QDataWidgetMapper::setCurrentModelIndex(class QModelIndex const &)
+ ??0QCompleter@@QAE@ABVQStringList@@PAVQObject@@@Z @ 8868 NONAME ; QCompleter::QCompleter(class QStringList const &, class QObject *)
+ ?d_func@QProxyModel@@ABEPBVQProxyModelPrivate@@XZ @ 8869 NONAME ; class QProxyModelPrivate const * QProxyModel::d_func(void) const
+ ?isWindow@QWidget@@QBE_NXZ @ 8870 NONAME ; bool QWidget::isWindow(void) const
+ ??0QSound@@QAE@ABVQString@@PAVQObject@@@Z @ 8871 NONAME ; QSound::QSound(class QString const &, class QObject *)
+ ?accept@QDragMoveEvent@@QAEXXZ @ 8872 NONAME ; void QDragMoveEvent::accept(void)
+ ?qt_metacast@QPixmapConvolutionFilter@@UAEPAXPBD@Z @ 8873 NONAME ; void * QPixmapConvolutionFilter::qt_metacast(char const *)
+ ?tr@QLabel@@SA?AVQString@@PBD0H@Z @ 8874 NONAME ; class QString QLabel::tr(char const *, char const *, int)
+ ?takeItem@QStandardItemModel@@QAEPAVQStandardItem@@HH@Z @ 8875 NONAME ; class QStandardItem * QStandardItemModel::takeItem(int, int)
+ ?scaleChanged@QGraphicsObject@@IAEXXZ @ 8876 NONAME ; void QGraphicsObject::scaleChanged(void)
+ ?paintWindowFrame@QGraphicsWidget@@UAEXPAVQPainter@@PBVQStyleOptionGraphicsItem@@PAVQWidget@@@Z @ 8877 NONAME ; void QGraphicsWidget::paintWindowFrame(class QPainter *, class QStyleOptionGraphicsItem const *, class QWidget *)
+ ?yScale@QGraphicsScale@@QBEMXZ @ 8878 NONAME ; float QGraphicsScale::yScale(void) const
+ ?tabInserted@QTabWidget@@MAEXH@Z @ 8879 NONAME ; void QTabWidget::tabInserted(int)
+ ?init@QPictureIO@@AAEXXZ @ 8880 NONAME ; void QPictureIO::init(void)
+ ?lineWrapColumnOrWidth@QTextEdit@@QBEHXZ @ 8881 NONAME ; int QTextEdit::lineWrapColumnOrWidth(void) const
+ ?matches@QKeySequence@@QBE?AW4SequenceMatch@1@ABV1@@Z @ 8882 NONAME ; enum QKeySequence::SequenceMatch QKeySequence::matches(class QKeySequence const &) const
+ ??1QColormap@@QAE@XZ @ 8883 NONAME ; QColormap::~QColormap(void)
+ ?text@QListWidgetItem@@QBE?AVQString@@XZ @ 8884 NONAME ; class QString QListWidgetItem::text(void) const
+ ??1QGradient@@QAE@XZ @ 8885 NONAME ; QGradient::~QGradient(void)
+ ??0QTreeWidget@@QAE@PAVQWidget@@@Z @ 8886 NONAME ; QTreeWidget::QTreeWidget(class QWidget *)
+ ??0QImageReader@@QAE@ABVQString@@ABVQByteArray@@@Z @ 8887 NONAME ; QImageReader::QImageReader(class QString const &, class QByteArray const &)
+ ?d_func@QSplashScreen@@ABEPBVQSplashScreenPrivate@@XZ @ 8888 NONAME ; class QSplashScreenPrivate const * QSplashScreen::d_func(void) const
+ ?buttonRole@QDialogButtonBox@@QBE?AW4ButtonRole@1@PAVQAbstractButton@@@Z @ 8889 NONAME ; enum QDialogButtonBox::ButtonRole QDialogButtonBox::buttonRole(class QAbstractButton *) const
+ ?tr@QValidator@@SA?AVQString@@PBD0H@Z @ 8890 NONAME ; class QString QValidator::tr(char const *, char const *, int)
+ ?subFocusItemChange@QGraphicsItemPrivate@@UAEXXZ @ 8891 NONAME ; void QGraphicsItemPrivate::subFocusItemChange(void)
+ ??0QGraphicsLinearLayout@@QAE@W4Orientation@Qt@@PAVQGraphicsLayoutItem@@@Z @ 8892 NONAME ; QGraphicsLinearLayout::QGraphicsLinearLayout(enum Qt::Orientation, class QGraphicsLayoutItem *)
+ ?isEmpty@QPaintBuffer@@QBE_NXZ @ 8893 NONAME ; bool QPaintBuffer::isEmpty(void) const
+ ?ownerDestroyed@QClipboard@@AAEXXZ @ 8894 NONAME ; void QClipboard::ownerDestroyed(void)
+ ?pixmap@QCursor@@QBE?AVQPixmap@@XZ @ 8895 NONAME ; class QPixmap QCursor::pixmap(void) const
+ ?type@QTextLength@@QBE?AW4Type@1@XZ @ 8896 NONAME ; enum QTextLength::Type QTextLength::type(void) const
+ ?trUtf8@QCommandLinkButton@@SA?AVQString@@PBD0@Z @ 8897 NONAME ; class QString QCommandLinkButton::trUtf8(char const *, char const *)
+ ?insertionOrder@QGraphicsItemPrivate@@SA_NPAVQGraphicsItem@@0@Z @ 8898 NONAME ; bool QGraphicsItemPrivate::insertionOrder(class QGraphicsItem *, class QGraphicsItem *)
+ ?setTextAlignment@QListWidgetItem@@QAEXH@Z @ 8899 NONAME ; void QListWidgetItem::setTextAlignment(int)
+ ??_EQRasterWindowSurface@@UAE@I@Z @ 8900 NONAME ; QRasterWindowSurface::~QRasterWindowSurface(unsigned int)
+ ?drawRects@QPaintEngineEx@@UAEXPBVQRect@@H@Z @ 8901 NONAME ; void QPaintEngineEx::drawRects(class QRect const *, int)
+ ?enforceNativeChildren@QWidgetPrivate@@QAEXXZ @ 8902 NONAME ; void QWidgetPrivate::enforceNativeChildren(void)
+ ??1QGraphicsColorizeEffect@@UAE@XZ @ 8903 NONAME ; QGraphicsColorizeEffect::~QGraphicsColorizeEffect(void)
+ ?staticMetaObject@QScrollArea@@2UQMetaObject@@B @ 8904 NONAME ; struct QMetaObject const QScrollArea::staticMetaObject
+ ?activatePreviousSubWindow@QMdiArea@@QAEXXZ @ 8905 NONAME ; void QMdiArea::activatePreviousSubWindow(void)
+ ?tr@QTextObject@@SA?AVQString@@PBD0H@Z @ 8906 NONAME ; class QString QTextObject::tr(char const *, char const *, int)
+ ??0QMouseEvent@@QAE@W4Type@QEvent@@ABVQPoint@@1W4MouseButton@Qt@@V?$QFlags@W4MouseButton@Qt@@@@V?$QFlags@W4KeyboardModifier@Qt@@@@@Z @ 8907 NONAME ; QMouseEvent::QMouseEvent(enum QEvent::Type, class QPoint const &, class QPoint const &, enum Qt::MouseButton, class QFlags<enum Qt::MouseButton>, class QFlags<enum Qt::KeyboardModifier>)
+ ?setBrushOrigin@QPainter@@QAEXHH@Z @ 8908 NONAME ; void QPainter::setBrushOrigin(int, int)
+ ?boundingRegion@QGraphicsItem@@QBE?AVQRegion@@ABVQTransform@@@Z @ 8909 NONAME ; class QRegion QGraphicsItem::boundingRegion(class QTransform const &) const
+ ?indexWidget@QAbstractItemView@@QBEPAVQWidget@@ABVQModelIndex@@@Z @ 8910 NONAME ; class QWidget * QAbstractItemView::indexWidget(class QModelIndex const &) const
+ ?setMaximumDate@QDateTimeEdit@@QAEXABVQDate@@@Z @ 8911 NONAME ; void QDateTimeEdit::setMaximumDate(class QDate const &)
+ ?cacheKey@QPixmap@@QBE_JXZ @ 8912 NONAME ; long long QPixmap::cacheKey(void) const
+ ?trUtf8@QGraphicsDropShadowEffect@@SA?AVQString@@PBD0H@Z @ 8913 NONAME ; class QString QGraphicsDropShadowEffect::trUtf8(char const *, char const *, int)
+ ??0QGraphicsScale@@QAE@PAVQObject@@@Z @ 8914 NONAME ; QGraphicsScale::QGraphicsScale(class QObject *)
+ ?setExclusive@QButtonGroup@@QAEX_N@Z @ 8915 NONAME ; void QButtonGroup::setExclusive(bool)
+ ?offset@QWindowSurface@@UBE?AVQPoint@@PBVQWidget@@@Z @ 8916 NONAME ; class QPoint QWindowSurface::offset(class QWidget const *) const
+ ?d_func@QFileIconProvider@@ABEPBVQFileIconProviderPrivate@@XZ @ 8917 NONAME ; class QFileIconProviderPrivate const * QFileIconProvider::d_func(void) const
+ ??0QDateTimeEdit@@QAE@ABVQDateTime@@PAVQWidget@@@Z @ 8918 NONAME ; QDateTimeEdit::QDateTimeEdit(class QDateTime const &, class QWidget *)
+ ?d_func@QGraphicsGrayscaleEffect@@ABEPBVQGraphicsGrayscaleEffectPrivate@@XZ @ 8919 NONAME ABSENT ; class QGraphicsGrayscaleEffectPrivate const * QGraphicsGrayscaleEffect::d_func(void) const
+ ?testOption@QColorDialog@@QBE_NW4ColorDialogOption@1@@Z @ 8920 NONAME ; bool QColorDialog::testOption(enum QColorDialog::ColorDialogOption) const
+ ?setWSGeometry@QWidgetPrivate@@QAEX_NABVQRect@@@Z @ 8921 NONAME ; void QWidgetPrivate::setWSGeometry(bool, class QRect const &)
+ ?inputMethodEvent@QPlainTextEdit@@MAEXPAVQInputMethodEvent@@@Z @ 8922 NONAME ; void QPlainTextEdit::inputMethodEvent(class QInputMethodEvent *)
+ ?setCursorWidth@QLineControl@@QAEXH@Z @ 8923 NONAME ; void QLineControl::setCursorWidth(int)
+ ?setText@QLineControl@@QAEXABVQString@@@Z @ 8924 NONAME ; void QLineControl::setText(class QString const &)
+ ?beep@QApplication@@SAXXZ @ 8925 NONAME ; void QApplication::beep(void)
+ ?icon@QMenu@@QBE?AVQIcon@@XZ @ 8926 NONAME ; class QIcon QMenu::icon(void) const
+ ?minimumSectionSize@QHeaderView@@QBEHXZ @ 8927 NONAME ; int QHeaderView::minimumSectionSize(void) const
+ ?cellSpacing@QTextTableFormat@@QBEMXZ @ 8928 NONAME ; float QTextTableFormat::cellSpacing(void) const
+ ?metaObject@QCalendarWidget@@UBEPBUQMetaObject@@XZ @ 8929 NONAME ; struct QMetaObject const * QCalendarWidget::metaObject(void) const
+ ?mouseMoveEvent@QAbstractScrollArea@@MAEXPAVQMouseEvent@@@Z @ 8930 NONAME ; void QAbstractScrollArea::mouseMoveEvent(class QMouseEvent *)
+ ?singleStep@QDoubleSpinBox@@QBENXZ @ 8931 NONAME ; double QDoubleSpinBox::singleStep(void) const
+ ??_EQTableView@@UAE@I@Z @ 8932 NONAME ; QTableView::~QTableView(unsigned int)
+ ??0iterator@QTextFrame@@AAE@PAV1@HHH@Z @ 8933 NONAME ; QTextFrame::iterator::iterator(class QTextFrame *, int, int, int)
+ ?fromString@QKeySequence@@SA?AV1@ABVQString@@W4SequenceFormat@1@@Z @ 8934 NONAME ; class QKeySequence QKeySequence::fromString(class QString const &, enum QKeySequence::SequenceFormat)
+ ?supportedDocumentFormats@QTextDocumentWriter@@SA?AV?$QList@VQByteArray@@@@XZ @ 8935 NONAME ; class QList<class QByteArray> QTextDocumentWriter::supportedDocumentFormats(void)
+ ??1QGraphicsSceneEvent@@UAE@XZ @ 8936 NONAME ; QGraphicsSceneEvent::~QGraphicsSceneEvent(void)
+ ?setActive@QUndoStack@@QAEX_N@Z @ 8937 NONAME ; void QUndoStack::setActive(bool)
+ ?staticMetaObject@QDialogButtonBox@@2UQMetaObject@@B @ 8938 NONAME ; struct QMetaObject const QDialogButtonBox::staticMetaObject
+ ?scaled@QImage@@QBE?AV1@HHW4AspectRatioMode@Qt@@W4TransformationMode@3@@Z @ 8939 NONAME ; class QImage QImage::scaled(int, int, enum Qt::AspectRatioMode, enum Qt::TransformationMode) const
+ ?drawImage@QPainter@@QAEXABVQRectF@@ABVQImage@@@Z @ 8940 NONAME ; void QPainter::drawImage(class QRectF const &, class QImage const &)
+ ?staticMetaObject@QPixmapConvolutionFilter@@2UQMetaObject@@B @ 8941 NONAME ; struct QMetaObject const QPixmapConvolutionFilter::staticMetaObject
+ ?d_func@QGraphicsAnchorLayout@@ABEPBVQGraphicsAnchorLayoutPrivate@@XZ @ 8942 NONAME ; class QGraphicsAnchorLayoutPrivate const * QGraphicsAnchorLayout::d_func(void) const
+ ?d_func@QScrollBar@@AAEPAVQScrollBarPrivate@@XZ @ 8943 NONAME ; class QScrollBarPrivate * QScrollBar::d_func(void)
+ ?setFixedSize@QWidget@@QAEXHH@Z @ 8944 NONAME ; void QWidget::setFixedSize(int, int)
+ ?font@QApplication@@SA?AVQFont@@PBVQWidget@@@Z @ 8945 NONAME ; class QFont QApplication::font(class QWidget const *)
+ ?d_func@QGraphicsLineItem@@ABEPBVQGraphicsLineItemPrivate@@XZ @ 8946 NONAME ; class QGraphicsLineItemPrivate const * QGraphicsLineItem::d_func(void) const
+ ?trUtf8@QPixmapBlurFilter@@SA?AVQString@@PBD0H@Z @ 8947 NONAME ; class QString QPixmapBlurFilter::trUtf8(char const *, char const *, int)
+ ?filterChanged@QSortFilterProxyModel@@IAEXXZ @ 8948 NONAME ; void QSortFilterProxyModel::filterChanged(void)
+ ??0QToolBarChangeEvent@@QAE@_N@Z @ 8949 NONAME ; QToolBarChangeEvent::QToolBarChangeEvent(bool)
+ ?newSize@QGraphicsSceneResizeEvent@@QBE?AVQSizeF@@XZ @ 8950 NONAME ; class QSizeF QGraphicsSceneResizeEvent::newSize(void) const
+ ?setReason@QGraphicsSceneContextMenuEvent@@QAEXW4Reason@1@@Z @ 8951 NONAME ; void QGraphicsSceneContextMenuEvent::setReason(enum QGraphicsSceneContextMenuEvent::Reason)
+ ?editingFinished@QLineEdit@@IAEXXZ @ 8952 NONAME ; void QLineEdit::editingFinished(void)
+ ?getExistingDirectory@QFileDialog@@SA?AVQString@@PAVQWidget@@ABV2@1V?$QFlags@W4Option@QFileDialog@@@@@Z @ 8953 NONAME ; class QString QFileDialog::getExistingDirectory(class QWidget *, class QString const &, class QString const &, class QFlags<enum QFileDialog::Option>)
+ ?mapFromParent@QGraphicsItem@@QBE?AVQPointF@@ABV2@@Z @ 8954 NONAME ; class QPointF QGraphicsItem::mapFromParent(class QPointF const &) const
+ ?trUtf8@QGesture@@SA?AVQString@@PBD0H@Z @ 8955 NONAME ; class QString QGesture::trUtf8(char const *, char const *, int)
+ ?colorAt@QColormap@@QBE?BVQColor@@I@Z @ 8956 NONAME ; class QColor const QColormap::colorAt(unsigned int) const
+ ?fromNativeType@QPixmapData@@UAEXPAXW4NativeType@1@@Z @ 8957 NONAME ; void QPixmapData::fromNativeType(void *, enum QPixmapData::NativeType)
+ ?setVisualNavigation@QTextCursor@@QAEX_N@Z @ 8958 NONAME ; void QTextCursor::setVisualNavigation(bool)
+ ??0QGraphicsSceneEvent@@IAE@AAVQGraphicsSceneEventPrivate@@W4Type@QEvent@@@Z @ 8959 NONAME ; QGraphicsSceneEvent::QGraphicsSceneEvent(class QGraphicsSceneEventPrivate &, enum QEvent::Type)
+ ?d_func@QDoubleValidator@@AAEPAVQDoubleValidatorPrivate@@XZ @ 8960 NONAME ; class QDoubleValidatorPrivate * QDoubleValidator::d_func(void)
+ ?completionMode@QCompleter@@QBE?AW4CompletionMode@1@XZ @ 8961 NONAME ; enum QCompleter::CompletionMode QCompleter::completionMode(void) const
+ ?event@QStatusBar@@MAE_NPAVQEvent@@@Z @ 8962 NONAME ; bool QStatusBar::event(class QEvent *)
+ ?anchorAt@QTextControl@@QBE?AVQString@@ABVQPointF@@@Z @ 8963 NONAME ; class QString QTextControl::anchorAt(class QPointF const &) const
+ ?restart@QWizard@@QAEXXZ @ 8964 NONAME ; void QWizard::restart(void)
+ ?hasCacheHint@QVectorPath@@QBE_NXZ @ 8965 NONAME ABSENT ; bool QVectorPath::hasCacheHint(void) const
+ ?setUnifiedTitleAndToolBarOnMac@QMainWindow@@QAEX_N@Z @ 8966 NONAME ; void QMainWindow::setUnifiedTitleAndToolBarOnMac(bool)
+ ?setGeometry@QGridLayout@@UAEXABVQRect@@@Z @ 8967 NONAME ; void QGridLayout::setGeometry(class QRect const &)
+ ?qDrawPixmaps@@YAXPAVQPainter@@PBUData@QDrawPixmaps@@HABVQPixmap@@V?$QFlags@W4DrawingHint@QDrawPixmaps@@@@@Z @ 8968 NONAME ; void qDrawPixmaps(class QPainter *, struct QDrawPixmaps::Data const *, int, class QPixmap const &, class QFlags<enum QDrawPixmaps::DrawingHint>)
+ ?clipPath@QGraphicsItem@@QBE?AVQPainterPath@@XZ @ 8969 NONAME ; class QPainterPath QGraphicsItem::clipPath(void) const
+ ?resetInputContext@QLineControl@@IAEXXZ @ 8970 NONAME ; void QLineControl::resetInputContext(void)
+ ?setOrientation@QSplitter@@QAEXW4Orientation@Qt@@@Z @ 8971 NONAME ; void QSplitter::setOrientation(enum Qt::Orientation)
+ ??0QItemSelectionModel@@QAE@PAVQAbstractItemModel@@@Z @ 8972 NONAME ; QItemSelectionModel::QItemSelectionModel(class QAbstractItemModel *)
+ ?widget@QDockWidget@@QBEPAVQWidget@@XZ @ 8973 NONAME ; class QWidget * QDockWidget::widget(void) const
+ ?visualColumn@QTableWidget@@QBEHH@Z @ 8974 NONAME ; int QTableWidget::visualColumn(int) const
+ ?setFont@QGraphicsWidget@@QAEXABVQFont@@@Z @ 8975 NONAME ; void QGraphicsWidget::setFont(class QFont const &)
+ ?parentWidget@QWidget@@QBEPAV1@XZ @ 8976 NONAME ; class QWidget * QWidget::parentWidget(void) const
+ ?m12@QMatrix@@QBEMXZ @ 8977 NONAME ; float QMatrix::m12(void) const
+ ?visualRegionForSelection@QListView@@MBE?AVQRegion@@ABVQItemSelection@@@Z @ 8978 NONAME ; class QRegion QListView::visualRegionForSelection(class QItemSelection const &) const
+ ?setBatchSize@QListView@@QAEXH@Z @ 8979 NONAME ; void QListView::setBatchSize(int)
+ ?paintEvent@QGroupBox@@MAEXPAVQPaintEvent@@@Z @ 8980 NONAME ; void QGroupBox::paintEvent(class QPaintEvent *)
+ ?qt_metacall@QAbstractTextDocumentLayout@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 8981 NONAME ; int QAbstractTextDocumentLayout::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?anchor@QTextCursor@@QBEHXZ @ 8982 NONAME ; int QTextCursor::anchor(void) const
+ ?unsetCursor_sys@QWidgetPrivate@@QAEXXZ @ 8983 NONAME ; void QWidgetPrivate::unsetCursor_sys(void)
+ ?currentImage@QMovie@@QBE?AVQImage@@XZ @ 8984 NONAME ; class QImage QMovie::currentImage(void) const
+ ?isVisible@QGraphicsItem@@QBE_NXZ @ 8985 NONAME ; bool QGraphicsItem::isVisible(void) const
+ ?d_func@QGraphicsLinearLayout@@AAEPAVQGraphicsLinearLayoutPrivate@@XZ @ 8986 NONAME ; class QGraphicsLinearLayoutPrivate * QGraphicsLinearLayout::d_func(void)
+ ?staticMetaObject@QTextControl@@2UQMetaObject@@B @ 8987 NONAME ; struct QMetaObject const QTextControl::staticMetaObject
+ ??_EQClipboardEvent@@UAE@I@Z @ 8988 NONAME ; QClipboardEvent::~QClipboardEvent(unsigned int)
+ ?draw@QGraphicsGrayscaleEffect@@MAEXPAVQPainter@@PAVQGraphicsEffectSource@@@Z @ 8989 NONAME ABSENT ; void QGraphicsGrayscaleEffect::draw(class QPainter *, class QGraphicsEffectSource *)
+ ?tr@QGraphicsScene@@SA?AVQString@@PBD0H@Z @ 8990 NONAME ; class QString QGraphicsScene::tr(char const *, char const *, int)
+ ?handle@QCursor@@QBEKXZ @ 8991 NONAME ; unsigned long QCursor::handle(void) const
+ ?qt_metacast@QRadioButton@@UAEPAXPBD@Z @ 8992 NONAME ; void * QRadioButton::qt_metacast(char const *)
+ ?setDocument@QTextControl@@QAEXPAVQTextDocument@@@Z @ 8993 NONAME ; void QTextControl::setDocument(class QTextDocument *)
+ ?result@QDialog@@QBEHXZ @ 8994 NONAME ; int QDialog::result(void) const
+ ?setOption@QFontDialog@@QAEXW4FontDialogOption@1@_N@Z @ 8995 NONAME ; void QFontDialog::setOption(enum QFontDialog::FontDialogOption, bool)
+ ??5@YAAAVQDataStream@@AAV0@AAVQMatrix4x4@@@Z @ 8996 NONAME ; class QDataStream & operator>>(class QDataStream &, class QMatrix4x4 &)
+ ?setDisplayFormat@QDateTimeEdit@@QAEXABVQString@@@Z @ 8997 NONAME ; void QDateTimeEdit::setDisplayFormat(class QString const &)
+ ?matrix@QPaintEngineState@@QBE?AVQMatrix@@XZ @ 8998 NONAME ; class QMatrix QPaintEngineState::matrix(void) const
+ ?staticMetaObject@QApplication@@2UQMetaObject@@B @ 8999 NONAME ; struct QMetaObject const QApplication::staticMetaObject
+ ?setVerticalHeaderLabels@QTableWidget@@QAEXABVQStringList@@@Z @ 9000 NONAME ; void QTableWidget::setVerticalHeaderLabels(class QStringList const &)
+ ?isCheckable@QAbstractButton@@QBE_NXZ @ 9001 NONAME ; bool QAbstractButton::isCheckable(void) const
+ ??1QToolButton@@UAE@XZ @ 9002 NONAME ; QToolButton::~QToolButton(void)
+ ?tr@QAbstractScrollArea@@SA?AVQString@@PBD0H@Z @ 9003 NONAME ; class QString QAbstractScrollArea::tr(char const *, char const *, int)
+ ?find@QPixmapCache@@SA_NABVQString@@AAVQPixmap@@@Z @ 9004 NONAME ; bool QPixmapCache::find(class QString const &, class QPixmap &)
+ ?staticMetaObject@QDial@@2UQMetaObject@@B @ 9005 NONAME ; struct QMetaObject const QDial::staticMetaObject
+ ?staticMetaObject@QTextTable@@2UQMetaObject@@B @ 9006 NONAME ; struct QMetaObject const QTextTable::staticMetaObject
+ ?qt_metacall@QDrag@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 9007 NONAME ; int QDrag::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ??0QFont@@QAE@ABV0@PAVQPaintDevice@@@Z @ 9008 NONAME ; QFont::QFont(class QFont const &, class QPaintDevice *)
+ ?d_func@QAbstractScrollArea@@AAEPAVQAbstractScrollAreaPrivate@@XZ @ 9009 NONAME ; class QAbstractScrollAreaPrivate * QAbstractScrollArea::d_func(void)
+ ?paintEvent@QTableView@@MAEXPAVQPaintEvent@@@Z @ 9010 NONAME ; void QTableView::paintEvent(class QPaintEvent *)
+ ?activeSubWindow@QMdiArea@@QBEPAVQMdiSubWindow@@XZ @ 9011 NONAME ; class QMdiSubWindow * QMdiArea::activeSubWindow(void) const
+ ?metaObject@QHBoxLayout@@UBEPBUQMetaObject@@XZ @ 9012 NONAME ; struct QMetaObject const * QHBoxLayout::metaObject(void) const
+ ?setItemIndexMethod@QGraphicsScene@@QAEXW4ItemIndexMethod@1@@Z @ 9013 NONAME ; void QGraphicsScene::setItemIndexMethod(enum QGraphicsScene::ItemIndexMethod)
+ ?yChanged@QGraphicsObject@@IAEXXZ @ 9014 NONAME ; void QGraphicsObject::yChanged(void)
+ ??XQVector4D@@QAEAAV0@M@Z @ 9015 NONAME ; class QVector4D & QVector4D::operator*=(float)
+ ?button@QButtonGroup@@QBEPAVQAbstractButton@@H@Z @ 9016 NONAME ; class QAbstractButton * QButtonGroup::button(int) const
+ ?hints@QVectorPath@@QBEIXZ @ 9017 NONAME ; unsigned int QVectorPath::hints(void) const
+ ?documentTitle@QTextEdit@@QBE?AVQString@@XZ @ 9018 NONAME ; class QString QTextEdit::documentTitle(void) const
+ ?setNameFilters@QDirModel@@QAEXABVQStringList@@@Z @ 9019 NONAME ; void QDirModel::setNameFilters(class QStringList const &)
+ ?whatsThis@QStandardItem@@QBE?AVQString@@XZ @ 9020 NONAME ; class QString QStandardItem::whatsThis(void) const
+ ?trUtf8@QClipboard@@SA?AVQString@@PBD0H@Z @ 9021 NONAME ; class QString QClipboard::trUtf8(char const *, char const *, int)
+ ?qt_metacast@QMovie@@UAEPAXPBD@Z @ 9022 NONAME ; void * QMovie::qt_metacast(char const *)
+ ??0QWizardPage@@QAE@PAVQWidget@@@Z @ 9023 NONAME ; QWizardPage::QWizardPage(class QWidget *)
+ ?setStyleSheet@QWidget@@QAEXABVQString@@@Z @ 9024 NONAME ; void QWidget::setStyleSheet(class QString const &)
+ ?shape@QGraphicsLineItem@@UBE?AVQPainterPath@@XZ @ 9025 NONAME ; class QPainterPath QGraphicsLineItem::shape(void) const
+ ?cellEntered@QTableWidget@@IAEXHH@Z @ 9026 NONAME ; void QTableWidget::cellEntered(int, int)
+ ?restoreDockWidget@QMainWindow@@QAE_NPAVQDockWidget@@@Z @ 9027 NONAME ; bool QMainWindow::restoreDockWidget(class QDockWidget *)
+ ?setDotsPerMeterY@QImage@@QAEXH@Z @ 9028 NONAME ; void QImage::setDotsPerMeterY(int)
+ ?getCMap@QFontEngine@@SAPBEPBEIPA_NPAH@Z @ 9029 NONAME ; unsigned char const * QFontEngine::getCMap(unsigned char const *, unsigned int, bool *, int *)
+ ?metaObject@QGraphicsProxyWidget@@UBEPBUQMetaObject@@XZ @ 9030 NONAME ; struct QMetaObject const * QGraphicsProxyWidget::metaObject(void) const
+ ?minimumSizeHint@QGroupBox@@UBE?AVQSize@@XZ @ 9031 NONAME ; class QSize QGroupBox::minimumSizeHint(void) const
+ ?setCursorPosition@QLineEdit@@QAEXH@Z @ 9032 NONAME ; void QLineEdit::setCursorPosition(int)
+ ?horizontalOffset@QTreeView@@MBEHXZ @ 9033 NONAME ; int QTreeView::horizontalOffset(void) const
+ ?filters@QFileDialog@@QBE?AVQStringList@@XZ @ 9034 NONAME ; class QStringList QFileDialog::filters(void) const
+ ?setLayout@QFormLayout@@QAEXHW4ItemRole@1@PAVQLayout@@@Z @ 9035 NONAME ; void QFormLayout::setLayout(int, enum QFormLayout::ItemRole, class QLayout *)
+ ?qt_metacall@QListView@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 9036 NONAME ; int QListView::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?textAfterSelection@QLineControl@@QBE?AVQString@@XZ @ 9037 NONAME ; class QString QLineControl::textAfterSelection(void) const
+ ?spacing@QGraphicsLinearLayout@@QBEMXZ @ 9038 NONAME ; float QGraphicsLinearLayout::spacing(void) const
+ ?setCursor@QWidget@@QAEXABVQCursor@@@Z @ 9039 NONAME ; void QWidget::setCursor(class QCursor const &)
+ ?setCheckState@QCheckBox@@QAEXW4CheckState@Qt@@@Z @ 9040 NONAME ; void QCheckBox::setCheckState(enum Qt::CheckState)
+ ?trUtf8@QDoubleValidator@@SA?AVQString@@PBD0H@Z @ 9041 NONAME ; class QString QDoubleValidator::trUtf8(char const *, char const *, int)
+ ?setMargin@QLayout@@QAEXH@Z @ 9042 NONAME ; void QLayout::setMargin(int)
+ ?setBaseSize@QWidget@@QAEXHH@Z @ 9043 NONAME ; void QWidget::setBaseSize(int, int)
+ ?errorString@QImageReader@@QBE?AVQString@@XZ @ 9044 NONAME ; class QString QImageReader::errorString(void) const
+ ?invalidateScene@QGraphicsView@@QAEXABVQRectF@@V?$QFlags@W4SceneLayer@QGraphicsScene@@@@@Z @ 9045 NONAME ; void QGraphicsView::invalidateScene(class QRectF const &, class QFlags<enum QGraphicsScene::SceneLayer>)
+ ?setUserData@QTextBlock@@QAEXPAVQTextBlockUserData@@@Z @ 9046 NONAME ; void QTextBlock::setUserData(class QTextBlockUserData *)
+ ?setExtension@QGraphicsRectItem@@MAEXW4Extension@QGraphicsItem@@ABVQVariant@@@Z @ 9047 NONAME ; void QGraphicsRectItem::setExtension(enum QGraphicsItem::Extension, class QVariant const &)
+ ?maximum@QProgressDialog@@QBEHXZ @ 9048 NONAME ; int QProgressDialog::maximum(void) const
+ ??0QDragLeaveEvent@@QAE@XZ @ 9049 NONAME ; QDragLeaveEvent::QDragLeaveEvent(void)
+ ?canPaste@QTextEdit@@QBE_NXZ @ 9050 NONAME ; bool QTextEdit::canPaste(void) const
+ ?setCurrentCharFormat@QTextEdit@@QAEXABVQTextCharFormat@@@Z @ 9051 NONAME ; void QTextEdit::setCurrentCharFormat(class QTextCharFormat const &)
+ ?boundingRect@QRegion@@QBE?AVQRect@@XZ @ 9052 NONAME ; class QRect QRegion::boundingRect(void) const
+ ?isActive@QWidgetResizeHandler@@QBE_NW4Action@1@@Z @ 9053 NONAME ; bool QWidgetResizeHandler::isActive(enum QWidgetResizeHandler::Action) const
+ ?isReadOnly@QPlainTextEdit@@QBE_NXZ @ 9054 NONAME ; bool QPlainTextEdit::isReadOnly(void) const
+ ?reset@QHeaderView@@UAEXXZ @ 9055 NONAME ; void QHeaderView::reset(void)
+ ?addStretch@QBoxLayout@@QAEXH@Z @ 9056 NONAME ; void QBoxLayout::addStretch(int)
+ ?d_func@QFontDialog@@AAEPAVQFontDialogPrivate@@XZ @ 9057 NONAME ; class QFontDialogPrivate * QFontDialog::d_func(void)
+ ?iconSizeChanged@QMainWindow@@IAEXABVQSize@@@Z @ 9058 NONAME ; void QMainWindow::iconSizeChanged(class QSize const &)
+ ?qt_metacall@QLayout@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 9059 NONAME ; int QLayout::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?setMaximum@QProgressDialog@@QAEXH@Z @ 9060 NONAME ; void QProgressDialog::setMaximum(int)
+ ??0QProxyModel@@IAE@AAVQProxyModelPrivate@@PAVQObject@@@Z @ 9061 NONAME ; QProxyModel::QProxyModel(class QProxyModelPrivate &, class QObject *)
+ ?d_func@QProgressDialog@@ABEPBVQProgressDialogPrivate@@XZ @ 9062 NONAME ; class QProgressDialogPrivate const * QProgressDialog::d_func(void) const
+ ?d_func@QGraphicsSceneDragDropEvent@@AAEPAVQGraphicsSceneDragDropEventPrivate@@XZ @ 9063 NONAME ; class QGraphicsSceneDragDropEventPrivate * QGraphicsSceneDragDropEvent::d_func(void)
+ ?d_func@QPinchGesture@@AAEPAVQPinchGesturePrivate@@XZ @ 9064 NONAME ; class QPinchGesturePrivate * QPinchGesture::d_func(void)
+ ?isPixmap@QGraphicsEffectSource@@QBE_NXZ @ 9065 NONAME ; bool QGraphicsEffectSource::isPixmap(void) const
+ ?dashPattern@QPen@@QBE?AV?$QVector@M@@XZ @ 9066 NONAME ; class QVector<float> QPen::dashPattern(void) const
+ ?indexFromItem@QStandardItemModel@@QBE?AVQModelIndex@@PBVQStandardItem@@@Z @ 9067 NONAME ; class QModelIndex QStandardItemModel::indexFromItem(class QStandardItem const *) const
+ ?scene@QGraphicsItem@@QBEPAVQGraphicsScene@@XZ @ 9068 NONAME ; class QGraphicsScene * QGraphicsItem::scene(void) const
+ ??0QListWidget@@QAE@PAVQWidget@@@Z @ 9069 NONAME ; QListWidget::QListWidget(class QWidget *)
+ ?qt_metacall@QGraphicsBloomEffect@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 9070 NONAME ABSENT ; int QGraphicsBloomEffect::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?qt_metacast@QShortcut@@UAEPAXPBD@Z @ 9071 NONAME ; void * QShortcut::qt_metacast(char const *)
+ ??0QTextLayout@@AAE@PAVQTextEngine@@@Z @ 9072 NONAME ; QTextLayout::QTextLayout(class QTextEngine *)
+ ?hasProperty@QTextFormat@@QBE_NH@Z @ 9073 NONAME ; bool QTextFormat::hasProperty(int) const
+ ?trUtf8@QDockWidgetLayout@@SA?AVQString@@PBD0H@Z @ 9074 NONAME ; class QString QDockWidgetLayout::trUtf8(char const *, char const *, int)
+ ?setExtension@QGraphicsPixmapItem@@MAEXW4Extension@QGraphicsItem@@ABVQVariant@@@Z @ 9075 NONAME ; void QGraphicsPixmapItem::setExtension(enum QGraphicsItem::Extension, class QVariant const &)
+ ?executePendingSort@QTreeWidgetItem@@ABEXXZ @ 9076 NONAME ; void QTreeWidgetItem::executePendingSort(void) const
+ ?qSmartMinSize@@YA?AVQSize@@PBVQWidget@@@Z @ 9077 NONAME ; class QSize qSmartMinSize(class QWidget const *)
+ ?qt_metacast@QDialogButtonBox@@UAEPAXPBD@Z @ 9078 NONAME ; void * QDialogButtonBox::qt_metacast(char const *)
+ ?drawEllipse@QPaintEngine@@UAEXABVQRectF@@@Z @ 9079 NONAME ; void QPaintEngine::drawEllipse(class QRectF const &)
+ ?metaObject@QAbstractButton@@UBEPBUQMetaObject@@XZ @ 9080 NONAME ; struct QMetaObject const * QAbstractButton::metaObject(void) const
+ ?listFormat@QTextFormatCollection@@QBE?AVQTextListFormat@@H@Z @ 9081 NONAME ; class QTextListFormat QTextFormatCollection::listFormat(int) const
+ ?mode@QLCDNumber@@QBE?AW4Mode@1@XZ @ 9082 NONAME ; enum QLCDNumber::Mode QLCDNumber::mode(void) const
+ ??Fiterator@QTextFrame@@QAEAAV01@XZ @ 9083 NONAME ; class QTextFrame::iterator & QTextFrame::iterator::operator--(void)
+ ?selectRow@QTableView@@QAEXH@Z @ 9084 NONAME ; void QTableView::selectRow(int)
+ ?aboutToActivate@QMdiSubWindow@@IAEXXZ @ 9085 NONAME ; void QMdiSubWindow::aboutToActivate(void)
+ ?setBuddy@QLabel@@QAEXPAVQWidget@@@Z @ 9086 NONAME ; void QLabel::setBuddy(class QWidget *)
+ ?strokeEllipse@QStrokerOps@@QAEXABVQRectF@@PAXABVQTransform@@@Z @ 9087 NONAME ; void QStrokerOps::strokeEllipse(class QRectF const &, void *, class QTransform const &)
+ ?setJoinStyle@QPen@@QAEXW4PenJoinStyle@Qt@@@Z @ 9088 NONAME ; void QPen::setJoinStyle(enum Qt::PenJoinStyle)
+ ??0QStyleOptionToolBox@@IAE@H@Z @ 9089 NONAME ; QStyleOptionToolBox::QStyleOptionToolBox(int)
+ ?lineEdit@QAbstractSpinBox@@IBEPAVQLineEdit@@XZ @ 9090 NONAME ; class QLineEdit * QAbstractSpinBox::lineEdit(void) const
+ ?setFontFilters@QFontComboBox@@QAEXV?$QFlags@W4FontFilter@QFontComboBox@@@@@Z @ 9091 NONAME ; void QFontComboBox::setFontFilters(class QFlags<enum QFontComboBox::FontFilter>)
+ ?isObscured@QGraphicsItem@@QBE_NABVQRectF@@@Z @ 9092 NONAME ; bool QGraphicsItem::isObscured(class QRectF const &) const
+ ??8QFontMetrics@@QAE_NABV0@@Z @ 9093 NONAME ; bool QFontMetrics::operator==(class QFontMetrics const &)
+ ??1QTextFormat@@QAE@XZ @ 9094 NONAME ; QTextFormat::~QTextFormat(void)
+ ??0QStyleOptionComplex@@QAE@HH@Z @ 9095 NONAME ; QStyleOptionComplex::QStyleOptionComplex(int, int)
+ ?d_func@QPaintEngineEx@@ABEPBVQPaintEngineExPrivate@@XZ @ 9096 NONAME ; class QPaintEngineExPrivate const * QPaintEngineEx::d_func(void) const
+ ?keyboardSingleStep@QMdiSubWindow@@QBEHXZ @ 9097 NONAME ; int QMdiSubWindow::keyboardSingleStep(void) const
+ ?metaObject@QBoxLayout@@UBEPBUQMetaObject@@XZ @ 9098 NONAME ; struct QMetaObject const * QBoxLayout::metaObject(void) const
+ ?qSmartMinSize@@YA?AVQSize@@PBVQWidgetItem@@@Z @ 9099 NONAME ; class QSize qSmartMinSize(class QWidgetItem const *)
+ ??1QStyleOptionGraphicsItem@@QAE@XZ @ 9100 NONAME ; QStyleOptionGraphicsItem::~QStyleOptionGraphicsItem(void)
+ ?closeSubpath@QPainterPath@@QAEXXZ @ 9101 NONAME ; void QPainterPath::closeSubpath(void)
+ ??1QStyleOptionTabWidgetFrame@@QAE@XZ @ 9102 NONAME ; QStyleOptionTabWidgetFrame::~QStyleOptionTabWidgetFrame(void)
+ ??0QTextBlockFormat@@QAE@ABV0@@Z @ 9103 NONAME ; QTextBlockFormat::QTextBlockFormat(class QTextBlockFormat const &)
+ ?indexAbove@QTreeView@@QBE?AVQModelIndex@@ABV2@@Z @ 9104 NONAME ; class QModelIndex QTreeView::indexAbove(class QModelIndex const &) const
+ ?qAlpha@@YAHI@Z @ 9105 NONAME ; int qAlpha(unsigned int)
+ ??0QStyleOptionFrameV3@@QAE@XZ @ 9106 NONAME ; QStyleOptionFrameV3::QStyleOptionFrameV3(void)
+ ?inputMask@QLineControl@@QBE?AVQString@@XZ @ 9107 NONAME ; class QString QLineControl::inputMask(void) const
+ ?addRequiredBoundaries@QTextEngine@@ABEXXZ @ 9108 NONAME ; void QTextEngine::addRequiredBoundaries(void) const
+ ?setCurrentItem@QListWidget@@QAEXPAVQListWidgetItem@@@Z @ 9109 NONAME ; void QListWidget::setCurrentItem(class QListWidgetItem *)
+ ?supportedDropActions@QFileSystemModel@@UBE?AV?$QFlags@W4DropAction@Qt@@@@XZ @ 9110 NONAME ; class QFlags<enum Qt::DropAction> QFileSystemModel::supportedDropActions(void) const
+ ?setDisabled@QAction@@QAEX_N@Z @ 9111 NONAME ; void QAction::setDisabled(bool)
+ ?setBottomMargin@QTextBlockFormat@@QAEXM@Z @ 9112 NONAME ; void QTextBlockFormat::setBottomMargin(float)
+ ?parseElementName@Parser@QCss@@QAE_NPAVQString@@@Z @ 9113 NONAME ; bool QCss::Parser::parseElementName(class QString *)
+ ?setDevice@QImageReader@@QAEXPAVQIODevice@@@Z @ 9114 NONAME ; void QImageReader::setDevice(class QIODevice *)
+ ??_EQWorkspace@@UAE@I@Z @ 9115 NONAME ; QWorkspace::~QWorkspace(unsigned int)
+ ?setMaximumSize_helper@QWidgetPrivate@@QAE_NAAH0@Z @ 9116 NONAME ; bool QWidgetPrivate::setMaximumSize_helper(int &, int &)
+ ?parseCombinator@Parser@QCss@@QAE_NPAW4Relation@BasicSelector@2@@Z @ 9117 NONAME ; bool QCss::Parser::parseCombinator(enum QCss::BasicSelector::Relation *)
+ ??6@YAAAVQDataStream@@AAV0@ABVQColor@@@Z @ 9118 NONAME ; class QDataStream & operator<<(class QDataStream &, class QColor const &)
+ ?paintEvent@QToolBar@@MAEXPAVQPaintEvent@@@Z @ 9119 NONAME ; void QToolBar::paintEvent(class QPaintEvent *)
+ ?dirtyRegionOffset@QAbstractItemView@@IBE?AVQPoint@@XZ @ 9120 NONAME ; class QPoint QAbstractItemView::dirtyRegionOffset(void) const
+ ?getStaticMetaObject@QPlainTextDocumentLayout@@SAABUQMetaObject@@XZ @ 9121 NONAME ; struct QMetaObject const & QPlainTextDocumentLayout::getStaticMetaObject(void)
+ ?getStaticMetaObject@QProgressDialog@@SAABUQMetaObject@@XZ @ 9122 NONAME ; struct QMetaObject const & QProgressDialog::getStaticMetaObject(void)
+ ?getStaticMetaObject@QLineEdit@@SAABUQMetaObject@@XZ @ 9123 NONAME ; struct QMetaObject const & QLineEdit::getStaticMetaObject(void)
+ ?worldTransform@QPainter@@QBEABVQTransform@@XZ @ 9124 NONAME ; class QTransform const & QPainter::worldTransform(void) const
+ ?contextMenuEvent@QGraphicsProxyWidget@@MAEXPAVQGraphicsSceneContextMenuEvent@@@Z @ 9125 NONAME ; void QGraphicsProxyWidget::contextMenuEvent(class QGraphicsSceneContextMenuEvent *)
+ ??1QStandardItem@@UAE@XZ @ 9126 NONAME ; QStandardItem::~QStandardItem(void)
+ ?setTopMargin@QTextBlockFormat@@QAEXM@Z @ 9127 NONAME ; void QTextBlockFormat::setTopMargin(float)
+ ??1QTabBar@@UAE@XZ @ 9128 NONAME ; QTabBar::~QTabBar(void)
+ ??_EQPaintEngine@@UAE@I@Z @ 9129 NONAME ; QPaintEngine::~QPaintEngine(unsigned int)
+ ?metaObject@QPixmapFilter@@UBEPBUQMetaObject@@XZ @ 9130 NONAME ; struct QMetaObject const * QPixmapFilter::metaObject(void) const
+ ?isCheckable@QStandardItem@@QBE_NXZ @ 9131 NONAME ; bool QStandardItem::isCheckable(void) const
+ ?hoverLeaveEvent@QGraphicsProxyWidget@@MAEXPAVQGraphicsSceneHoverEvent@@@Z @ 9132 NONAME ; void QGraphicsProxyWidget::hoverLeaveEvent(class QGraphicsSceneHoverEvent *)
+ ?read@QPictureIO@@QAE_NXZ @ 9133 NONAME ; bool QPictureIO::read(void)
+ ??1QTableWidget@@UAE@XZ @ 9134 NONAME ; QTableWidget::~QTableWidget(void)
+ ?staticMetaObject@QProgressBar@@2UQMetaObject@@B @ 9135 NONAME ; struct QMetaObject const QProgressBar::staticMetaObject
+ ?supportsMode@QClipboard@@ABE_NW4Mode@1@@Z @ 9136 NONAME ; bool QClipboard::supportsMode(enum QClipboard::Mode) const
+ ?move@QRubberBand@@QAEXABVQPoint@@@Z @ 9137 NONAME ; void QRubberBand::move(class QPoint const &)
+ ?posList@QGraphicsItemAnimation@@QBE?AV?$QList@U?$QPair@MVQPointF@@@@@@XZ @ 9138 NONAME ; class QList<struct QPair<float, class QPointF> > QGraphicsItemAnimation::posList(void) const
+ ?rect@QItemDelegate@@IBE?AVQRect@@ABVQStyleOptionViewItem@@ABVQModelIndex@@H@Z @ 9139 NONAME ; class QRect QItemDelegate::rect(class QStyleOptionViewItem const &, class QModelIndex const &, int) const
+ ?d_func@QLCDNumber@@AAEPAVQLCDNumberPrivate@@XZ @ 9140 NONAME ; class QLCDNumberPrivate * QLCDNumber::d_func(void)
+ ?setRepeatAction@QAbstractSlider@@IAEXW4SliderAction@1@HH@Z @ 9141 NONAME ; void QAbstractSlider::setRepeatAction(enum QAbstractSlider::SliderAction, int, int)
+ ?lengthSquared@QVector3D@@QBEMXZ @ 9142 NONAME ; float QVector3D::lengthSquared(void) const
+ ?state@QPaintEngineEx@@QBEPBVQPainterState@@XZ @ 9143 NONAME ; class QPainterState const * QPaintEngineEx::state(void) const
+ ?loopsRemaining@QSound@@QBEHXZ @ 9144 NONAME ; int QSound::loopsRemaining(void) const
+ ?sizeHint@QWidgetItem@@UBE?AVQSize@@XZ @ 9145 NONAME ; class QSize QWidgetItem::sizeHint(void) const
+ ?saturation@QColor@@QBEHXZ @ 9146 NONAME ; int QColor::saturation(void) const
+ ?columnViewportPosition@QTableView@@QBEHH@Z @ 9147 NONAME ; int QTableView::columnViewportPosition(int) const
+ ?bottom@QDoubleValidator@@QBENXZ @ 9148 NONAME ; double QDoubleValidator::bottom(void) const
+ ?clipPath@QPaintEngineState@@QBE?AVQPainterPath@@XZ @ 9149 NONAME ; class QPainterPath QPaintEngineState::clipPath(void) const
+ ?mapTo@QWidget@@QBE?AVQPoint@@PAV1@ABV2@@Z @ 9150 NONAME ; class QPoint QWidget::mapTo(class QWidget *, class QPoint const &) const
+ ?setWidget@QGraphicsProxyWidget@@QAEXPAVQWidget@@@Z @ 9151 NONAME ; void QGraphicsProxyWidget::setWidget(class QWidget *)
+ ?setAcceptDrops@QGraphicsItem@@QAEX_N@Z @ 9152 NONAME ; void QGraphicsItem::setAcceptDrops(bool)
+ ?qt_metacall@QMenu@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 9153 NONAME ; int QMenu::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ??0QStyleOptionToolBoxV2@@QAE@ABV0@@Z @ 9154 NONAME ; QStyleOptionToolBoxV2::QStyleOptionToolBoxV2(class QStyleOptionToolBoxV2 const &)
+ ?insertFromMimeData@QPlainTextEdit@@MAEXPBVQMimeData@@@Z @ 9155 NONAME ; void QPlainTextEdit::insertFromMimeData(class QMimeData const *)
+ ??1QStyleOptionComboBox@@QAE@XZ @ 9156 NONAME ; QStyleOptionComboBox::~QStyleOptionComboBox(void)
+ ?timerEvent@QAbstractSpinBox@@MAEXPAVQTimerEvent@@@Z @ 9157 NONAME ; void QAbstractSpinBox::timerEvent(class QTimerEvent *)
+ ?qt_metacall@QTextList@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 9158 NONAME ; int QTextList::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?fontMetrics@QPainter@@QBE?AVQFontMetrics@@XZ @ 9159 NONAME ; class QFontMetrics QPainter::fontMetrics(void) const
+ ?length@QTextEngine@@QBEHPBUQScriptItem@@@Z @ 9160 NONAME ; int QTextEngine::length(struct QScriptItem const *) const
+ ??0QMouseEventTransition@@QAE@PAVQState@@@Z @ 9161 NONAME ; QMouseEventTransition::QMouseEventTransition(class QState *)
+ ?testElementName@Parser@QCss@@QAE_NXZ @ 9162 NONAME ; bool QCss::Parser::testElementName(void)
+ ?isEnabled@QLayout@@QBE_NXZ @ 9163 NONAME ; bool QLayout::isEnabled(void) const
+ ??5@YAAAVQDataStream@@AAV0@AAVQPen@@@Z @ 9164 NONAME ; class QDataStream & operator>>(class QDataStream &, class QPen &)
+ ?contextMenuEvent@QGraphicsScene@@MAEXPAVQGraphicsSceneContextMenuEvent@@@Z @ 9165 NONAME ; void QGraphicsScene::contextMenuEvent(class QGraphicsSceneContextMenuEvent *)
+ ?getLayoutItemMargins@QWidgetPrivate@@QBEXPAH000@Z @ 9166 NONAME ; void QWidgetPrivate::getLayoutItemMargins(int *, int *, int *, int *) const
+ ?d_func@QGraphicsColorizeEffect@@ABEPBVQGraphicsColorizeEffectPrivate@@XZ @ 9167 NONAME ; class QGraphicsColorizeEffectPrivate const * QGraphicsColorizeEffect::d_func(void) const
+ ?mapFromScene@QGraphicsView@@QBE?AVQPolygon@@ABVQRectF@@@Z @ 9168 NONAME ; class QPolygon QGraphicsView::mapFromScene(class QRectF const &) const
+ ?qt_metacast@QAbstractItemView@@UAEPAXPBD@Z @ 9169 NONAME ; void * QAbstractItemView::qt_metacast(char const *)
+ ?setTextCursor@QPlainTextEdit@@QAEXABVQTextCursor@@@Z @ 9170 NONAME ; void QPlainTextEdit::setTextCursor(class QTextCursor const &)
+ ?unpolish@QCommonStyle@@UAEXPAVQApplication@@@Z @ 9171 NONAME ; void QCommonStyle::unpolish(class QApplication *)
+ ?trUtf8@QIconEnginePlugin@@SA?AVQString@@PBD0H@Z @ 9172 NONAME ; class QString QIconEnginePlugin::trUtf8(char const *, char const *, int)
+ ?calcEffectiveOpacity@QGraphicsItemPrivate@@QBEMXZ @ 9173 NONAME ; float QGraphicsItemPrivate::calcEffectiveOpacity(void) const
+ ?getStaticMetaObject@QMenuBar@@SAABUQMetaObject@@XZ @ 9174 NONAME ; struct QMetaObject const & QMenuBar::getStaticMetaObject(void)
+ ?handleSoftwareInputPanel@QWidgetPrivate@@QAEXW4MouseButton@Qt@@_N@Z @ 9175 NONAME ; void QWidgetPrivate::handleSoftwareInputPanel(enum Qt::MouseButton, bool)
+ ?d_func@QInputDialog@@AAEPAVQInputDialogPrivate@@XZ @ 9176 NONAME ; class QInputDialogPrivate * QInputDialog::d_func(void)
+ ?metaObject@QTextTable@@UBEPBUQMetaObject@@XZ @ 9177 NONAME ; struct QMetaObject const * QTextTable::metaObject(void) const
+ ?trUtf8@QRadioButton@@SA?AVQString@@PBD0H@Z @ 9178 NONAME ; class QString QRadioButton::trUtf8(char const *, char const *, int)
+ ?event@QLineEdit@@UAE_NPAVQEvent@@@Z @ 9179 NONAME ; bool QLineEdit::event(class QEvent *)
+ ?drawPixmap@QPainter@@QAEXABVQPoint@@ABVQPixmap@@ABVQRect@@@Z @ 9180 NONAME ; void QPainter::drawPixmap(class QPoint const &, class QPixmap const &, class QRect const &)
+ ?dropEvent@QPlainTextEdit@@MAEXPAVQDropEvent@@@Z @ 9181 NONAME ; void QPlainTextEdit::dropEvent(class QDropEvent *)
+ ?fragment@iterator@QTextBlock@@QBE?AVQTextFragment@@XZ @ 9182 NONAME ; class QTextFragment QTextBlock::iterator::fragment(void) const
+ ?setSeparatorsCollapsible@QMenu@@QAEX_N@Z @ 9183 NONAME ; void QMenu::setSeparatorsCollapsible(bool)
+ ?adjustQuitOnCloseAttribute@QWidgetPrivate@@QAEXXZ @ 9184 NONAME ; void QWidgetPrivate::adjustQuitOnCloseAttribute(void)
+ ?standardIconImplementation@QProxyStyle@@IBE?AVQIcon@@W4StandardPixmap@QStyle@@PBVQStyleOption@@PBVQWidget@@@Z @ 9185 NONAME ; class QIcon QProxyStyle::standardIconImplementation(enum QStyle::StandardPixmap, class QStyleOption const *, class QWidget const *) const
+ ??5@YAAAVQDataStream@@AAV0@AAVQKeySequence@@@Z @ 9186 NONAME ; class QDataStream & operator>>(class QDataStream &, class QKeySequence &)
+ ?drawPolygon@QPainter@@QAEXABVQPolygonF@@W4FillRule@Qt@@@Z @ 9187 NONAME ; void QPainter::drawPolygon(class QPolygonF const &, enum Qt::FillRule)
+ ?trUtf8@QRubberBand@@SA?AVQString@@PBD0@Z @ 9188 NONAME ; class QString QRubberBand::trUtf8(char const *, char const *)
+ ??_EQShortcut@@UAE@I@Z @ 9189 NONAME ; QShortcut::~QShortcut(unsigned int)
+ ?distanceToLine@QVector3D@@QBEMABV1@0@Z @ 9190 NONAME ; float QVector3D::distanceToLine(class QVector3D const &, class QVector3D const &) const
+ ?mapRect@QTransform@@QBE?AVQRect@@ABV2@@Z @ 9191 NONAME ; class QRect QTransform::mapRect(class QRect const &) const
+ ?mousePressEvent@QCalendarWidget@@MAEXPAVQMouseEvent@@@Z @ 9192 NONAME ; void QCalendarWidget::mousePressEvent(class QMouseEvent *)
+ ?setField@QWizard@@QAEXABVQString@@ABVQVariant@@@Z @ 9193 NONAME ; void QWizard::setField(class QString const &, class QVariant const &)
+ ?scrollTo@QTreeView@@UAEXABVQModelIndex@@W4ScrollHint@QAbstractItemView@@@Z @ 9194 NONAME ; void QTreeView::scrollTo(class QModelIndex const &, enum QAbstractItemView::ScrollHint)
+ ?d_func@QBoxLayout@@ABEPBVQBoxLayoutPrivate@@XZ @ 9195 NONAME ; class QBoxLayoutPrivate const * QBoxLayout::d_func(void) const
+ ?_q_showIfNotHidden@QWidgetPrivate@@QAEXXZ @ 9196 NONAME ; void QWidgetPrivate::_q_showIfNotHidden(void)
+ ?changeEvent@QToolBar@@MAEXPAVQEvent@@@Z @ 9197 NONAME ; void QToolBar::changeEvent(class QEvent *)
+ ?d_func@QGraphicsTransform@@AAEPAVQGraphicsTransformPrivate@@XZ @ 9198 NONAME ; class QGraphicsTransformPrivate * QGraphicsTransform::d_func(void)
+ ?moveSection@QHeaderView@@QAEXHH@Z @ 9199 NONAME ; void QHeaderView::moveSection(int, int)
+ ?editorEvent@QAbstractItemDelegate@@UAE_NPAVQEvent@@PAVQAbstractItemModel@@ABVQStyleOptionViewItem@@ABVQModelIndex@@@Z @ 9200 NONAME ; bool QAbstractItemDelegate::editorEvent(class QEvent *, class QAbstractItemModel *, class QStyleOptionViewItem const &, class QModelIndex const &)
+ ?staticMetaObject@QGesture@@2UQMetaObject@@B @ 9201 NONAME ; struct QMetaObject const QGesture::staticMetaObject
+ ?setShown@QWidget@@QAEX_N@Z @ 9202 NONAME ; void QWidget::setShown(bool)
+ ?setVisible@QFontDialog@@UAEX_N@Z @ 9203 NONAME ; void QFontDialog::setVisible(bool)
+ ?getRgbF@QColor@@QBEXPAM000@Z @ 9204 NONAME ; void QColor::getRgbF(float *, float *, float *, float *) const
+ ?hotSpot@QDrag@@QBE?AVQPoint@@XZ @ 9205 NONAME ; class QPoint QDrag::hotSpot(void) const
+ ?setWheelScrollLines@QApplication@@SAXH@Z @ 9206 NONAME ; void QApplication::setWheelScrollLines(int)
+ ?setFlags@QGraphicsItem@@QAEXV?$QFlags@W4GraphicsItemFlag@QGraphicsItem@@@@@Z @ 9207 NONAME ; void QGraphicsItem::setFlags(class QFlags<enum QGraphicsItem::GraphicsItemFlag>)
+ ??0QTextLength@@QAE@ABV0@@Z @ 9208 NONAME ; QTextLength::QTextLength(class QTextLength const &)
+ ?getStaticMetaObject@QPushButton@@SAABUQMetaObject@@XZ @ 9209 NONAME ; struct QMetaObject const & QPushButton::getStaticMetaObject(void)
+ ?tr@QGraphicsDropShadowEffect@@SA?AVQString@@PBD0@Z @ 9210 NONAME ; class QString QGraphicsDropShadowEffect::tr(char const *, char const *)
+ ?scaled@QPixmap@@QBE?AV1@ABVQSize@@W4AspectRatioMode@Qt@@W4TransformationMode@4@@Z @ 9211 NONAME ; class QPixmap QPixmap::scaled(class QSize const &, enum Qt::AspectRatioMode, enum Qt::TransformationMode) const
+ ?setCancelButtonText@QProgressDialog@@QAEXABVQString@@@Z @ 9212 NONAME ; void QProgressDialog::setCancelButtonText(class QString const &)
+ ?actionEvent@QToolButton@@MAEXPAVQActionEvent@@@Z @ 9213 NONAME ; void QToolButton::actionEvent(class QActionEvent *)
+ ?columnStretch@QGridLayout@@QBEHH@Z @ 9214 NONAME ; int QGridLayout::columnStretch(int) const
+ ?centerOn@QGraphicsView@@QAEXMM@Z @ 9215 NONAME ; void QGraphicsView::centerOn(float, float)
+ ??_EQFocusFrame@@UAE@I@Z @ 9216 NONAME ; QFocusFrame::~QFocusFrame(unsigned int)
+ ??6@YAAAVQDataStream@@AAV0@ABVQVector2D@@@Z @ 9217 NONAME ; class QDataStream & operator<<(class QDataStream &, class QVector2D const &)
+ ?item@QStandardItemModel@@QBEPAVQStandardItem@@HH@Z @ 9218 NONAME ; class QStandardItem * QStandardItemModel::item(int, int) const
+ ?base@QPalette@@QBEABVQBrush@@XZ @ 9219 NONAME ; class QBrush const & QPalette::base(void) const
+ ?setTime@QDateTimeEdit@@QAEXABVQTime@@@Z @ 9220 NONAME ; void QDateTimeEdit::setTime(class QTime const &)
+ ??0QMouseEvent@@QAE@W4Type@QEvent@@ABVQPoint@@W4MouseButton@Qt@@V?$QFlags@W4MouseButton@Qt@@@@V?$QFlags@W4KeyboardModifier@Qt@@@@@Z @ 9221 NONAME ; QMouseEvent::QMouseEvent(enum QEvent::Type, class QPoint const &, enum Qt::MouseButton, class QFlags<enum Qt::MouseButton>, class QFlags<enum Qt::KeyboardModifier>)
+ ?fileDialogResultCode@QGuiPlatformPlugin@@UAE?AW4DialogCode@QDialog@@PAVQFileDialog@@@Z @ 9222 NONAME ; enum QDialog::DialogCode QGuiPlatformPlugin::fileDialogResultCode(class QFileDialog *)
+ ??0QTextEdit@@IAE@AAVQTextEditPrivate@@PAVQWidget@@@Z @ 9223 NONAME ; QTextEdit::QTextEdit(class QTextEditPrivate &, class QWidget *)
+ ?addItem@QGraphicsGridLayout@@QAEXPAVQGraphicsLayoutItem@@HHHHV?$QFlags@W4AlignmentFlag@Qt@@@@@Z @ 9224 NONAME ; void QGraphicsGridLayout::addItem(class QGraphicsLayoutItem *, int, int, int, int, class QFlags<enum Qt::AlignmentFlag>)
+ ?setSceneRect@QGraphicsView@@QAEXMMMM@Z @ 9225 NONAME ; void QGraphicsView::setSceneRect(float, float, float, float)
+ ?foreground@QPalette@@QBEABVQBrush@@XZ @ 9226 NONAME ; class QBrush const & QPalette::foreground(void) const
+ ?eventFilter@QItemDelegate@@MAE_NPAVQObject@@PAVQEvent@@@Z @ 9227 NONAME ; bool QItemDelegate::eventFilter(class QObject *, class QEvent *)
+ ?insertItem@QToolBox@@QAEHHPAVQWidget@@ABVQString@@@Z @ 9228 NONAME ; int QToolBox::insertItem(int, class QWidget *, class QString const &)
+ ?strikeOutPos@QFontMetricsF@@QBEMXZ @ 9229 NONAME ; float QFontMetricsF::strikeOutPos(void) const
+ ?isObscuredBy@QGraphicsTextItem@@UBE_NPBVQGraphicsItem@@@Z @ 9230 NONAME ; bool QGraphicsTextItem::isObscuredBy(class QGraphicsItem const *) const
+ ??1QPaintEngineExReplayer@@UAE@XZ @ 9231 NONAME ; QPaintEngineExReplayer::~QPaintEngineExReplayer(void)
+ ?boundingRect@QPainter@@QAE?AVQRect@@ABV2@HABVQString@@@Z @ 9232 NONAME ; class QRect QPainter::boundingRect(class QRect const &, int, class QString const &)
+ ?penProperty@QTextFormat@@QBE?AVQPen@@H@Z @ 9233 NONAME ; class QPen QTextFormat::penProperty(int) const
+ ?metaObject@QLabel@@UBEPBUQMetaObject@@XZ @ 9234 NONAME ; struct QMetaObject const * QLabel::metaObject(void) const
+ ?itemDelegateForColumn@QAbstractItemView@@QBEPAVQAbstractItemDelegate@@H@Z @ 9235 NONAME ; class QAbstractItemDelegate * QAbstractItemView::itemDelegateForColumn(int) const
+ ?setDefaultTextOption@QTextDocument@@QAEXABVQTextOption@@@Z @ 9236 NONAME ; void QTextDocument::setDefaultTextOption(class QTextOption const &)
+ ?currentPosition@QPainterPath@@QBE?AVQPointF@@XZ @ 9237 NONAME ; class QPointF QPainterPath::currentPosition(void) const
+ ?setBackground@QPainter@@QAEXABVQBrush@@@Z @ 9238 NONAME ; void QPainter::setBackground(class QBrush const &)
+ ?currentImageRect@QImageIOHandler@@UBE?AVQRect@@XZ @ 9239 NONAME ; class QRect QImageIOHandler::currentImageRect(void) const
+ ?isReadOnly@QTextEdit@@QBE_NXZ @ 9240 NONAME ; bool QTextEdit::isReadOnly(void) const
+ ?mouseDoubleClickEvent@QGraphicsTextItem@@MAEXPAVQGraphicsSceneMouseEvent@@@Z @ 9241 NONAME ; void QGraphicsTextItem::mouseDoubleClickEvent(class QGraphicsSceneMouseEvent *)
+ ?itemBelow@QTreeWidget@@QBEPAVQTreeWidgetItem@@PBV2@@Z @ 9242 NONAME ; class QTreeWidgetItem * QTreeWidget::itemBelow(class QTreeWidgetItem const *) const
+ ?minimumSizeHint@QWidget@@UBE?AVQSize@@XZ @ 9243 NONAME ; class QSize QWidget::minimumSizeHint(void) const
+ ?initStyleOption@QScrollBar@@IBEXPAVQStyleOptionSlider@@@Z @ 9244 NONAME ; void QScrollBar::initStyleOption(class QStyleOptionSlider *) const
+ ?supportedDropActions@QStandardItemModel@@UBE?AV?$QFlags@W4DropAction@Qt@@@@XZ @ 9245 NONAME ; class QFlags<enum Qt::DropAction> QStandardItemModel::supportedDropActions(void) const
+ ??0QPixmap@@QAE@QBQBD@Z @ 9246 NONAME ; QPixmap::QPixmap(char const * const * const)
+ ?tabChangesFocus@QGraphicsTextItem@@QBE_NXZ @ 9247 NONAME ; bool QGraphicsTextItem::tabChangesFocus(void) const
+ ?rowSpan@QTextTableCell@@QBEHXZ @ 9248 NONAME ; int QTextTableCell::rowSpan(void) const
+ ?resizeEvent@QProgressDialog@@MAEXPAVQResizeEvent@@@Z @ 9249 NONAME ; void QProgressDialog::resizeEvent(class QResizeEvent *)
+ ??_EQPushButton@@UAE@I@Z @ 9250 NONAME ; QPushButton::~QPushButton(unsigned int)
+ ?setVisible@QInputDialog@@UAEX_N@Z @ 9251 NONAME ; void QInputDialog::setVisible(bool)
+ ??_EQTouchEvent@@UAE@I@Z @ 9252 NONAME ; QTouchEvent::~QTouchEvent(unsigned int)
+ ?horizontalDirection@QSwipeGesture@@QBE?AW4SwipeDirection@1@XZ @ 9253 NONAME ; enum QSwipeGesture::SwipeDirection QSwipeGesture::horizontalDirection(void) const
+ ?setTabEnabled@QTabBar@@QAEXH_N@Z @ 9254 NONAME ; void QTabBar::setTabEnabled(int, bool)
+ ?childrenCollapsible@QSplitter@@QBE_NXZ @ 9255 NONAME ; bool QSplitter::childrenCollapsible(void) const
+ ?isIdentity@QQuaternion@@QBE_NXZ @ 9256 NONAME ; bool QQuaternion::isIdentity(void) const
+ ?metaObject@QStandardItemModel@@UBEPBUQMetaObject@@XZ @ 9257 NONAME ; struct QMetaObject const * QStandardItemModel::metaObject(void) const
+ ?buffer@QPixmapData@@UAEPAVQImage@@XZ @ 9258 NONAME ; class QImage * QPixmapData::buffer(void)
+ ?setFormat@QImageIOHandler@@QBEXABVQByteArray@@@Z @ 9259 NONAME ; void QImageIOHandler::setFormat(class QByteArray const &) const
+ ?qt_metacast@QDataWidgetMapper@@UAEPAXPBD@Z @ 9260 NONAME ; void * QDataWidgetMapper::qt_metacast(char const *)
+ ?d_func@QRadioButton@@AAEPAVQRadioButtonPrivate@@XZ @ 9261 NONAME ; class QRadioButtonPrivate * QRadioButton::d_func(void)
+ ?resizeEvent@QWorkspace@@MAEXPAVQResizeEvent@@@Z @ 9262 NONAME ; void QWorkspace::resizeEvent(class QResizeEvent *)
+ ??1QGraphicsEffect@@UAE@XZ @ 9263 NONAME ; QGraphicsEffect::~QGraphicsEffect(void)
+ ?metric@QPicture@@MBEHW4PaintDeviceMetric@QPaintDevice@@@Z @ 9264 NONAME ; int QPicture::metric(enum QPaintDevice::PaintDeviceMetric) const
+ ?removeToolBarBreak@QMainWindow@@QAEXPAVQToolBar@@@Z @ 9265 NONAME ; void QMainWindow::removeToolBarBreak(class QToolBar *)
+ ??0QFontMetrics@@QAE@ABVQFont@@PAVQPaintDevice@@@Z @ 9266 NONAME ; QFontMetrics::QFontMetrics(class QFont const &, class QPaintDevice *)
+ ?currentCellChanged@QTableWidget@@IAEXHHHH@Z @ 9267 NONAME ; void QTableWidget::currentCellChanged(int, int, int, int)
+ ?qScrollEffect@@YAXPAVQWidget@@IH@Z @ 9268 NONAME ; void qScrollEffect(class QWidget *, unsigned int, int)
+ ??1QPaintBufferResource@@UAE@XZ @ 9269 NONAME ; QPaintBufferResource::~QPaintBufferResource(void)
+ ?supportedFormats@QMovie@@SA?AV?$QList@VQByteArray@@@@XZ @ 9270 NONAME ; class QList<class QByteArray> QMovie::supportedFormats(void)
+ ?backward@QTextBrowser@@UAEXXZ @ 9271 NONAME ; void QTextBrowser::backward(void)
+ ??1QPixmapFilter@@UAE@XZ @ 9272 NONAME ; QPixmapFilter::~QPixmapFilter(void)
+ ?setTabWhatsThis@QTabWidget@@QAEXHABVQString@@@Z @ 9273 NONAME ; void QTabWidget::setTabWhatsThis(int, class QString const &)
+ ?setTitleBarWidget@QDockWidget@@QAEXPAVQWidget@@@Z @ 9274 NONAME ; void QDockWidget::setTitleBarWidget(class QWidget *)
+ ?DocumentMaximumLengthForFep@QCoeFepInputContext@@UBEHXZ @ 9275 NONAME ABSENT ; int QCoeFepInputContext::DocumentMaximumLengthForFep(void) const
+ ?decideFormatFromContent@QImageReader@@QBE_NXZ @ 9276 NONAME ; bool QImageReader::decideFormatFromContent(void) const
+ ?trUtf8@QPixmapColorizeFilter@@SA?AVQString@@PBD0@Z @ 9277 NONAME ; class QString QPixmapColorizeFilter::trUtf8(char const *, char const *)
+ ?removeFromGroup@QGraphicsItemGroup@@QAEXPAVQGraphicsItem@@@Z @ 9278 NONAME ; void QGraphicsItemGroup::removeFromGroup(class QGraphicsItem *)
+ ?styleRulesForNode@StyleSelector@QCss@@QAE?AV?$QVector@UStyleRule@QCss@@@@TNodePtr@12@@Z @ 9279 NONAME ; class QVector<struct QCss::StyleRule> QCss::StyleSelector::styleRulesForNode(union QCss::StyleSelector::NodePtr)
+ ?setItemText@QComboBox@@QAEXHABVQString@@@Z @ 9280 NONAME ; void QComboBox::setItemText(int, class QString const &)
+ ?lastPos@QGraphicsSceneMouseEvent@@QBE?AVQPointF@@XZ @ 9281 NONAME ; class QPointF QGraphicsSceneMouseEvent::lastPos(void) const
+ ?setOctMode@QLCDNumber@@QAEXXZ @ 9282 NONAME ; void QLCDNumber::setOctMode(void)
+ ?rowCount@QTableWidgetSelectionRange@@QBEHXZ @ 9283 NONAME ; int QTableWidgetSelectionRange::rowCount(void) const
+ ?window@QPalette@@QBEABVQBrush@@XZ @ 9284 NONAME ; class QBrush const & QPalette::window(void) const
+ ?trueMatrix@QImage@@SA?AVQTransform@@ABV2@HH@Z @ 9285 NONAME ; class QTransform QImage::trueMatrix(class QTransform const &, int, int)
+ ?setSelectionArea@QGraphicsScene@@QAEXABVQPainterPath@@@Z @ 9286 NONAME ; void QGraphicsScene::setSelectionArea(class QPainterPath const &)
+ ??0QFontEngine@@QAE@XZ @ 9287 NONAME ; QFontEngine::QFontEngine(void)
+ ??1QTreeWidgetItem@@UAE@XZ @ 9288 NONAME ; QTreeWidgetItem::~QTreeWidgetItem(void)
+ ?mousePressEvent@QTextBrowser@@MAEXPAVQMouseEvent@@@Z @ 9289 NONAME ; void QTextBrowser::mousePressEvent(class QMouseEvent *)
+ ?horizontalSpacing@QFormLayout@@QBEHXZ @ 9290 NONAME ; int QFormLayout::horizontalSpacing(void) const
+ ??0QFontDatabase@@QAE@XZ @ 9291 NONAME ; QFontDatabase::QFontDatabase(void)
+ ?tr@QCheckBox@@SA?AVQString@@PBD0@Z @ 9292 NONAME ; class QString QCheckBox::tr(char const *, char const *)
+ ?cursorWidth@QTextEdit@@QBEHXZ @ 9293 NONAME ; int QTextEdit::cursorWidth(void) const
+ ?d_func@QSyntaxHighlighter@@AAEPAVQSyntaxHighlighterPrivate@@XZ @ 9294 NONAME ; class QSyntaxHighlighterPrivate * QSyntaxHighlighter::d_func(void)
+ ?globalPos@QWheelEvent@@QBEABVQPoint@@XZ @ 9295 NONAME ; class QPoint const & QWheelEvent::globalPos(void) const
+ ?setCodec@QTextDocumentWriter@@QAEXPAVQTextCodec@@@Z @ 9296 NONAME ; void QTextDocumentWriter::setCodec(class QTextCodec *)
+ ?d_func@QGraphicsLinearLayout@@ABEPBVQGraphicsLinearLayoutPrivate@@XZ @ 9297 NONAME ; class QGraphicsLinearLayoutPrivate const * QGraphicsLinearLayout::d_func(void) const
+ ?addSimpleText@QGraphicsScene@@QAEPAVQGraphicsSimpleTextItem@@ABVQString@@ABVQFont@@@Z @ 9298 NONAME ; class QGraphicsSimpleTextItem * QGraphicsScene::addSimpleText(class QString const &, class QFont const &)
+ ?styleString@QFontDatabase@@QAE?AVQString@@ABVQFont@@@Z @ 9299 NONAME ; class QString QFontDatabase::styleString(class QFont const &)
+ ??0QS60Style@@QAE@XZ @ 9300 NONAME ; QS60Style::QS60Style(void)
+ ??_EQIconDragEvent@@UAE@I@Z @ 9301 NONAME ; QIconDragEvent::~QIconDragEvent(unsigned int)
+ ?maskString@QLineControl@@ABE?AVQString@@IABV2@_N@Z @ 9302 NONAME ; class QString QLineControl::maskString(unsigned int, class QString const &, bool) const
+ ?hasAlphaChannel@QPixmap@@QBE_NXZ @ 9303 NONAME ; bool QPixmap::hasAlphaChannel(void) const
+ ?clear@QTabWidget@@QAEXXZ @ 9304 NONAME ; void QTabWidget::clear(void)
+ ?setAlphaChannel@QImage@@QAEXABV1@@Z @ 9305 NONAME ; void QImage::setAlphaChannel(class QImage const &)
+ ??0QFocusEvent@@QAE@W4Type@QEvent@@W4FocusReason@Qt@@@Z @ 9306 NONAME ; QFocusEvent::QFocusEvent(enum QEvent::Type, enum Qt::FocusReason)
+ ?constData@QMatrix4x4@@QBEPBMXZ @ 9307 NONAME ; float const * QMatrix4x4::constData(void) const
+ ?updateMicroFocus@QWidget@@IAEXXZ @ 9308 NONAME ; void QWidget::updateMicroFocus(void)
+ ?text@QClipboard@@QBE?AVQString@@W4Mode@1@@Z @ 9309 NONAME ; class QString QClipboard::text(enum QClipboard::Mode) const
+ ?alphaChannel@QPixmapData@@UBE?AVQPixmap@@XZ @ 9310 NONAME ; class QPixmap QPixmapData::alphaChannel(void) const
+ ??6@YAAAVQDataStream@@AAV0@ABVQTransform@@@Z @ 9311 NONAME ; class QDataStream & operator<<(class QDataStream &, class QTransform const &)
+ ?parentLayoutItem@QGraphicsLayoutItem@@QBEPAV1@XZ @ 9312 NONAME ; class QGraphicsLayoutItem * QGraphicsLayoutItem::parentLayoutItem(void) const
+ ?setHeaderData@QProxyModel@@UAE_NHW4Orientation@Qt@@ABVQVariant@@H@Z @ 9313 NONAME ; bool QProxyModel::setHeaderData(int, enum Qt::Orientation, class QVariant const &, int)
+ ??0QGraphicsAnchorLayout@@QAE@PAVQGraphicsLayoutItem@@@Z @ 9314 NONAME ; QGraphicsAnchorLayout::QGraphicsAnchorLayout(class QGraphicsLayoutItem *)
+ ?contentsSize@QListView@@IBE?AVQSize@@XZ @ 9315 NONAME ; class QSize QListView::contentsSize(void) const
+ ?effectiveBoundingRect@QGraphicsItemPrivate@@QBE?AVQRectF@@XZ @ 9316 NONAME ; class QRectF QGraphicsItemPrivate::effectiveBoundingRect(void) const
+ ?qt_image_id@@YA_JABVQImage@@@Z @ 9317 NONAME ; long long qt_image_id(class QImage const &)
+ ?trUtf8@QHeaderView@@SA?AVQString@@PBD0@Z @ 9318 NONAME ; class QString QHeaderView::trUtf8(char const *, char const *)
+ ??1QStatusBar@@UAE@XZ @ 9319 NONAME ; QStatusBar::~QStatusBar(void)
+ ?d_func@QWizardPage@@ABEPBVQWizardPagePrivate@@XZ @ 9320 NONAME ; class QWizardPagePrivate const * QWizardPage::d_func(void) const
+ ?insertText@QTextCursor@@QAEXABVQString@@ABVQTextCharFormat@@@Z @ 9321 NONAME ; void QTextCursor::insertText(class QString const &, class QTextCharFormat const &)
+ ?trUtf8@QPictureFormatPlugin@@SA?AVQString@@PBD0H@Z @ 9322 NONAME ; class QString QPictureFormatPlugin::trUtf8(char const *, char const *, int)
+ ?resizeEvent@QAbstractScrollArea@@MAEXPAVQResizeEvent@@@Z @ 9323 NONAME ; void QAbstractScrollArea::resizeEvent(class QResizeEvent *)
+ ?setDirectory@QFileDialog@@QAEXABVQDir@@@Z @ 9324 NONAME ; void QFileDialog::setDirectory(class QDir const &)
+ ?CreateDocumentL@QS60MainApplication@@MAEPAVCApaDocument@@XZ @ 9325 NONAME ; class CApaDocument * QS60MainApplication::CreateDocumentL(void)
+ ?setMoveToHook@QStrokerOps@@QAEXP6AXMMPAX@Z@Z @ 9326 NONAME ; void QStrokerOps::setMoveToHook(void (*)(float, float, void *))
+ ??0QTextFormat@@QAE@ABV0@@Z @ 9327 NONAME ; QTextFormat::QTextFormat(class QTextFormat const &)
+ ?openLinks@QTextBrowser@@QBE_NXZ @ 9328 NONAME ; bool QTextBrowser::openLinks(void) const
+ ?d_func@QShortcut@@ABEPBVQShortcutPrivate@@XZ @ 9329 NONAME ; class QShortcutPrivate const * QShortcut::d_func(void) const
+ ?hasHeightForWidth@QWidgetItem@@UBE_NXZ @ 9330 NONAME ; bool QWidgetItem::hasHeightForWidth(void) const
+ ?editItem@QTableWidget@@QAEXPAVQTableWidgetItem@@@Z @ 9331 NONAME ; void QTableWidget::editItem(class QTableWidgetItem *)
+ ??_EQSpinBox@@UAE@I@Z @ 9332 NONAME ; QSpinBox::~QSpinBox(unsigned int)
+ ??0QMoveEvent@@QAE@ABVQPoint@@0@Z @ 9333 NONAME ; QMoveEvent::QMoveEvent(class QPoint const &, class QPoint const &)
+ ??1QS60MainAppUi@@UAE@XZ @ 9334 NONAME ; QS60MainAppUi::~QS60MainAppUi(void)
+ ?event@QLabel@@MAE_NPAVQEvent@@@Z @ 9335 NONAME ; bool QLabel::event(class QEvent *)
+ ?paintEvent@QMenu@@MAEXPAVQPaintEvent@@@Z @ 9336 NONAME ; void QMenu::paintEvent(class QPaintEvent *)
+ ?minimumSizeHint@QAbstractSpinBox@@UBE?AVQSize@@XZ @ 9337 NONAME ; class QSize QAbstractSpinBox::minimumSizeHint(void) const
+ ?windowServerEvent@QSymbianEvent@@QBEPBVTWsEvent@@XZ @ 9338 NONAME ; class TWsEvent const * QSymbianEvent::windowServerEvent(void) const
+ ?setBackground@QListWidgetItem@@QAEXABVQBrush@@@Z @ 9339 NONAME ; void QListWidgetItem::setBackground(class QBrush const &)
+ ?accepted@QDialogButtonBox@@IAEXXZ @ 9340 NONAME ; void QDialogButtonBox::accepted(void)
+ ?staticMetaObject@QBoxLayout@@2UQMetaObject@@B @ 9341 NONAME ; struct QMetaObject const QBoxLayout::staticMetaObject
+ ?setSelection@QColumnView@@MAEXABVQRect@@V?$QFlags@W4SelectionFlag@QItemSelectionModel@@@@@Z @ 9342 NONAME ; void QColumnView::setSelection(class QRect const &, class QFlags<enum QItemSelectionModel::SelectionFlag>)
+ ?defaultTextOption@QTextDocument@@QBE?AVQTextOption@@XZ @ 9343 NONAME ; class QTextOption QTextDocument::defaultTextOption(void) const
+ ?setPosHelper@QGraphicsItemPrivate@@UAEXABVQPointF@@@Z @ 9344 NONAME ; void QGraphicsItemPrivate::setPosHelper(class QPointF const &)
+ ?verticalOffset@QTableView@@MBEHXZ @ 9345 NONAME ; int QTableView::verticalOffset(void) const
+ ?sceneBoundingRect@QGraphicsItem@@QBE?AVQRectF@@XZ @ 9346 NONAME ; class QRectF QGraphicsItem::sceneBoundingRect(void) const
+ ?isEnabledTo@QWidget@@QBE_NPAV1@@Z @ 9347 NONAME ; bool QWidget::isEnabledTo(class QWidget *) const
+ ?setEnabled@QActionGroup@@QAEX_N@Z @ 9348 NONAME ; void QActionGroup::setEnabled(bool)
+ ?date@QDateTimeEdit@@QBE?AVQDate@@XZ @ 9349 NONAME ; class QDate QDateTimeEdit::date(void) const
+ ?font@QPaintEngineState@@QBE?AVQFont@@XZ @ 9350 NONAME ; class QFont QPaintEngineState::font(void) const
+ ?isEmpty@QTextDocument@@QBE_NXZ @ 9351 NONAME ; bool QTextDocument::isEmpty(void) const
+ ?viewportEntered@QAbstractItemView@@IAEXXZ @ 9352 NONAME ; void QAbstractItemView::viewportEntered(void)
+ ?setAutoClose@QProgressDialog@@QAEX_N@Z @ 9353 NONAME ; void QProgressDialog::setAutoClose(bool)
+ ?d_func@QGraphicsDropShadowEffect@@AAEPAVQGraphicsDropShadowEffectPrivate@@XZ @ 9354 NONAME ; class QGraphicsDropShadowEffectPrivate * QGraphicsDropShadowEffect::d_func(void)
+ ?d_func@QProxyStyle@@AAEPAVQProxyStylePrivate@@XZ @ 9355 NONAME ; class QProxyStylePrivate * QProxyStyle::d_func(void)
+ ?toVector2D@QVector3D@@QBE?AVQVector2D@@XZ @ 9356 NONAME ; class QVector2D QVector3D::toVector2D(void) const
+ ?stackBefore@QGraphicsItem@@QAEXPBV1@@Z @ 9357 NONAME ; void QGraphicsItem::stackBefore(class QGraphicsItem const *)
+ ?sizeHintForColumn@QTreeView@@MBEHH@Z @ 9358 NONAME ; int QTreeView::sizeHintForColumn(int) const
+ ?widgetDestroyed@QCoeFepInputContext@@UAEXPAVQWidget@@@Z @ 9359 NONAME ABSENT ; void QCoeFepInputContext::widgetDestroyed(class QWidget *)
+ ?staticMetaObject@QPushButton@@2UQMetaObject@@B @ 9360 NONAME ; struct QMetaObject const QPushButton::staticMetaObject
+ ?xHeight@QFontEngine@@UBE?AUQFixed@@XZ @ 9361 NONAME ; struct QFixed QFontEngine::xHeight(void) const
+ ?setItemIcon@QToolBox@@QAEXHABVQIcon@@@Z @ 9362 NONAME ; void QToolBox::setItemIcon(int, class QIcon const &)
+ ??5@YAAAVQDataStream@@AAV0@AAVQIcon@@@Z @ 9363 NONAME ; class QDataStream & operator>>(class QDataStream &, class QIcon &)
+ ?tr@QSplitter@@SA?AVQString@@PBD0@Z @ 9364 NONAME ; class QString QSplitter::tr(char const *, char const *)
+ ?glyphCache@QFontEngine@@QBEPAVQFontEngineGlyphCache@@PAXABVQTransform@@@Z @ 9365 NONAME ; class QFontEngineGlyphCache * QFontEngine::glyphCache(void *, class QTransform const &) const
+ ?setOffset@QGraphicsPixmapItem@@QAEXMM@Z @ 9366 NONAME ; void QGraphicsPixmapItem::setOffset(float, float)
+ ?emitLineTo@QStrokerOps@@IAEXMM@Z @ 9367 NONAME ; void QStrokerOps::emitLineTo(float, float)
+ ?trUtf8@QRubberBand@@SA?AVQString@@PBD0H@Z @ 9368 NONAME ; class QString QRubberBand::trUtf8(char const *, char const *, int)
+ ?setHeader@QTreeView@@QAEXPAVQHeaderView@@@Z @ 9369 NONAME ; void QTreeView::setHeader(class QHeaderView *)
+ ?createGesture@QGestureRecognizer@@UAEPAVQGesture@@PAVQObject@@@Z @ 9370 NONAME ; class QGesture * QGestureRecognizer::createGesture(class QObject *)
+ ?trUtf8@QGraphicsEffectSource@@SA?AVQString@@PBD0H@Z @ 9371 NONAME ; class QString QGraphicsEffectSource::trUtf8(char const *, char const *, int)
+ ?tr@QTableWidget@@SA?AVQString@@PBD0@Z @ 9372 NONAME ; class QString QTableWidget::tr(char const *, char const *)
+ ?metaObject@QInputDialog@@UBEPBUQMetaObject@@XZ @ 9373 NONAME ; struct QMetaObject const * QInputDialog::metaObject(void) const
+ ?xChanged@QGraphicsObject@@IAEXXZ @ 9374 NONAME ; void QGraphicsObject::xChanged(void)
+ ?setTextInteractionFlags@QGraphicsTextItem@@QAEXV?$QFlags@W4TextInteractionFlag@Qt@@@@@Z @ 9375 NONAME ; void QGraphicsTextItem::setTextInteractionFlags(class QFlags<enum Qt::TextInteractionFlag>)
+ ?d_func@QMenuBar@@AAEPAVQMenuBarPrivate@@XZ @ 9376 NONAME ; class QMenuBarPrivate * QMenuBar::d_func(void)
+ ?layoutData@QTextFrame@@QBEPAVQTextFrameLayoutData@@XZ @ 9377 NONAME ; class QTextFrameLayoutData * QTextFrame::layoutData(void) const
+ ?currentMessage@QStatusBar@@QBE?AVQString@@XZ @ 9378 NONAME ; class QString QStatusBar::currentMessage(void) const
+ ?desktopStyleKey@QApplicationPrivate@@SA?AVQString@@XZ @ 9379 NONAME ; class QString QApplicationPrivate::desktopStyleKey(void)
+ ?tr@QRegExpValidator@@SA?AVQString@@PBD0@Z @ 9380 NONAME ; class QString QRegExpValidator::tr(char const *, char const *)
+ ?descent@QFontMetricsF@@QBEMXZ @ 9381 NONAME ; float QFontMetricsF::descent(void) const
+ ?stepBy@QDateTimeEdit@@UAEXH@Z @ 9382 NONAME ; void QDateTimeEdit::stepBy(int)
+ ?setPalette@QLineControl@@QAEXABVQPalette@@@Z @ 9383 NONAME ; void QLineControl::setPalette(class QPalette const &)
+ ?rowStretchFactor@QGraphicsGridLayout@@QBEHH@Z @ 9384 NONAME ; int QGraphicsGridLayout::rowStretchFactor(int) const
+ ?setSelectionArea@QGraphicsScene@@QAEXABVQPainterPath@@W4ItemSelectionMode@Qt@@@Z @ 9385 NONAME ; void QGraphicsScene::setSelectionArea(class QPainterPath const &, enum Qt::ItemSelectionMode)
+ ??1QMimeSource@@UAE@XZ @ 9386 NONAME ; QMimeSource::~QMimeSource(void)
+ ?repaint@QWidget@@QAEXHHHH@Z @ 9387 NONAME ; void QWidget::repaint(int, int, int, int)
+ ?hueF@QColor@@QBEMXZ @ 9388 NONAME ; float QColor::hueF(void) const
+ ?activate@QWidgetResizeHandler@@IAEXXZ @ 9389 NONAME ; void QWidgetResizeHandler::activate(void)
+ ?intersected@QRegion@@QBE?AV1@ABV1@@Z @ 9390 NONAME ; class QRegion QRegion::intersected(class QRegion const &) const
+ ?setTextValue@QInputDialog@@QAEXABVQString@@@Z @ 9391 NONAME ; void QInputDialog::setTextValue(class QString const &)
+ ?staticMetaObject@QCommonStyle@@2UQMetaObject@@B @ 9392 NONAME ; struct QMetaObject const QCommonStyle::staticMetaObject
+ ?tr@QGraphicsObject@@SA?AVQString@@PBD0@Z @ 9393 NONAME ; class QString QGraphicsObject::tr(char const *, char const *)
+ ?setBinMode@QLCDNumber@@QAEXXZ @ 9394 NONAME ; void QLCDNumber::setBinMode(void)
+ ?actions@QInputContext@@UAE?AV?$QList@PAVQAction@@@@XZ @ 9395 NONAME ; class QList<class QAction *> QInputContext::actions(void)
+ ?fileDialogSelectNameFilter@QGuiPlatformPlugin@@UAEXPAVQFileDialog@@ABVQString@@@Z @ 9396 NONAME ; void QGuiPlatformPlugin::fileDialogSelectNameFilter(class QFileDialog *, class QString const &)
+ ?hasHeightForWidth@QLayoutItem@@UBE_NXZ @ 9397 NONAME ; bool QLayoutItem::hasHeightForWidth(void) const
+ ?mouseMoveEvent@QWidgetResizeHandler@@IAEXPAVQMouseEvent@@@Z @ 9398 NONAME ; void QWidgetResizeHandler::mouseMoveEvent(class QMouseEvent *)
+ ?black@QColor@@QBEHXZ @ 9399 NONAME ; int QColor::black(void) const
+ ?timerEvent@QListView@@MAEXPAVQTimerEvent@@@Z @ 9400 NONAME ; void QListView::timerEvent(class QTimerEvent *)
+ ??0QIntValidator@@QAE@PAVQObject@@@Z @ 9401 NONAME ; QIntValidator::QIntValidator(class QObject *)
+ ?tr@QGuiPlatformPlugin@@SA?AVQString@@PBD0@Z @ 9402 NONAME ; class QString QGuiPlatformPlugin::tr(char const *, char const *)
+ ?metaObject@QKeyEventTransition@@UBEPBUQMetaObject@@XZ @ 9403 NONAME ; struct QMetaObject const * QKeyEventTransition::metaObject(void) const
+ ?removeRow@QStandardItem@@QAEXH@Z @ 9404 NONAME ; void QStandardItem::removeRow(int)
+ ?setText@QLineEdit@@QAEXABVQString@@@Z @ 9405 NONAME ; void QLineEdit::setText(class QString const &)
+ ??0QStyleOptionViewItemV3@@QAE@ABVQStyleOptionViewItem@@@Z @ 9406 NONAME ; QStyleOptionViewItemV3::QStyleOptionViewItemV3(class QStyleOptionViewItem const &)
+ ?setMinimumSize@QGraphicsLayoutItem@@QAEXMM@Z @ 9407 NONAME ; void QGraphicsLayoutItem::setMinimumSize(float, float)
+ ?toHtml@QTextDocumentFragment@@QBE?AVQString@@ABVQByteArray@@@Z @ 9408 NONAME ; class QString QTextDocumentFragment::toHtml(class QByteArray const &) const
+ ?fromImage@QRasterPixmapData@@UAEXABVQImage@@V?$QFlags@W4ImageConversionFlag@Qt@@@@@Z @ 9409 NONAME ; void QRasterPixmapData::fromImage(class QImage const &, class QFlags<enum Qt::ImageConversionFlag>)
+ ?staticMetaObject@QVBoxLayout@@2UQMetaObject@@B @ 9410 NONAME ; struct QMetaObject const QVBoxLayout::staticMetaObject
+ ??0QPen@@QAE@ABVQColor@@@Z @ 9411 NONAME ; QPen::QPen(class QColor const &)
+ ?selectWordAtPos@QLineControl@@QAEXH@Z @ 9412 NONAME ; void QLineControl::selectWordAtPos(int)
+ ?autoFormatting@QTextEdit@@QBE?AV?$QFlags@W4AutoFormattingFlag@QTextEdit@@@@XZ @ 9413 NONAME ; class QFlags<enum QTextEdit::AutoFormattingFlag> QTextEdit::autoFormatting(void) const
+ ?horizontalSpacing@QGraphicsAnchorLayout@@QBEMXZ @ 9414 NONAME ; float QGraphicsAnchorLayout::horizontalSpacing(void) const
+ ?notify_helper@QApplicationPrivate@@QAE_NPAVQObject@@PAVQEvent@@@Z @ 9415 NONAME ; bool QApplicationPrivate::notify_helper(class QObject *, class QEvent *)
+ ?add@QTextList@@QAEXABVQTextBlock@@@Z @ 9416 NONAME ; void QTextList::add(class QTextBlock const &)
+ ?lastScreenPos@QGraphicsSceneHoverEvent@@QBE?AVQPoint@@XZ @ 9417 NONAME ; class QPoint QGraphicsSceneHoverEvent::lastScreenPos(void) const
+ ?actualSize@QIconEngine@@UAE?AVQSize@@ABV2@W4Mode@QIcon@@W4State@4@@Z @ 9418 NONAME ; class QSize QIconEngine::actualSize(class QSize const &, enum QIcon::Mode, enum QIcon::State)
+ ?qt_metacall@QCompleter@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 9419 NONAME ; int QCompleter::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?stroker@QDashStroker@@QBEPAVQStroker@@XZ @ 9420 NONAME ; class QStroker * QDashStroker::stroker(void) const
+ ??0QFontMetricsF@@QAE@ABVQFontMetrics@@@Z @ 9421 NONAME ; QFontMetricsF::QFontMetricsF(class QFontMetrics const &)
+ ?fileName@QTextDocumentWriter@@QBE?AVQString@@XZ @ 9422 NONAME ; class QString QTextDocumentWriter::fileName(void) const
+ ?tabText@QTabWidget@@QBE?AVQString@@H@Z @ 9423 NONAME ; class QString QTabWidget::tabText(int) const
+ ??6@YAAAVQDataStream@@AAV0@ABVQPaintBuffer@@@Z @ 9424 NONAME ; class QDataStream & operator<<(class QDataStream &, class QPaintBuffer const &)
+ ?heightForWidth@QGridLayout@@UBEHH@Z @ 9425 NONAME ; int QGridLayout::heightForWidth(int) const
+ ?tr@QSplashScreen@@SA?AVQString@@PBD0@Z @ 9426 NONAME ; class QString QSplashScreen::tr(char const *, char const *)
+ ??0QGraphicsTransform@@QAE@PAVQObject@@@Z @ 9427 NONAME ; QGraphicsTransform::QGraphicsTransform(class QObject *)
+ ?linkActivated@QTextControl@@IAEXABVQString@@@Z @ 9428 NONAME ; void QTextControl::linkActivated(class QString const &)
+ ?setYOffset@QGraphicsDropShadowEffect@@QAEXM@Z @ 9429 NONAME ; void QGraphicsDropShadowEffect::setYOffset(float)
+ ?color@QPalette@@QBEABVQColor@@W4ColorRole@1@@Z @ 9430 NONAME ; class QColor const & QPalette::color(enum QPalette::ColorRole) const
+ ?exactMatch@QFont@@QBE_NXZ @ 9431 NONAME ; bool QFont::exactMatch(void) const
+ ?drawRect@QPainter@@QAEXABVQRectF@@@Z @ 9432 NONAME ; void QPainter::drawRect(class QRectF const &)
+ ?d_func@QPixmapColorizeFilter@@AAEPAVQPixmapColorizeFilterPrivate@@XZ @ 9433 NONAME ; class QPixmapColorizeFilterPrivate * QPixmapColorizeFilter::d_func(void)
+ ?activate@QLayout@@QAE_NXZ @ 9434 NONAME ; bool QLayout::activate(void)
+ ?d_func@QToolButton@@ABEPBVQToolButtonPrivate@@XZ @ 9435 NONAME ; class QToolButtonPrivate const * QToolButton::d_func(void) const
+ ?color@QGraphicsColorizeEffect@@QBE?AVQColor@@XZ @ 9436 NONAME ; class QColor QGraphicsColorizeEffect::color(void) const
+ ?updateBoundingRect@QGraphicsEffect@@IAEXXZ @ 9437 NONAME ; void QGraphicsEffect::updateBoundingRect(void)
+ ?insertRows@QStandardItem@@QAEXHH@Z @ 9438 NONAME ; void QStandardItem::insertRows(int, int)
+ ?setWindowTitle@QMessageBox@@QAEXABVQString@@@Z @ 9439 NONAME ; void QMessageBox::setWindowTitle(class QString const &)
+ ?widget@QFocusFrame@@QBEPAVQWidget@@XZ @ 9440 NONAME ; class QWidget * QFocusFrame::widget(void) const
+ ?scaledSize@QMovie@@QAE?AVQSize@@XZ @ 9441 NONAME ; class QSize QMovie::scaledSize(void)
+ ?scrollContentsBy@QTableView@@MAEXHH@Z @ 9442 NONAME ; void QTableView::scrollContentsBy(int, int)
+ ?swipeAngle@QSwipeGesture@@QBEMXZ @ 9443 NONAME ; float QSwipeGesture::swipeAngle(void) const
+ ?decimals@QDoubleValidator@@QBEHXZ @ 9444 NONAME ; int QDoubleValidator::decimals(void) const
+ ?d_func@QGraphicsView@@AAEPAVQGraphicsViewPrivate@@XZ @ 9445 NONAME ; class QGraphicsViewPrivate * QGraphicsView::d_func(void)
+ ?keyPressEvent@QAbstractItemView@@MAEXPAVQKeyEvent@@@Z @ 9446 NONAME ; void QAbstractItemView::keyPressEvent(class QKeyEvent *)
+ ?fileName@QPictureIO@@QBE?AVQString@@XZ @ 9447 NONAME ; class QString QPictureIO::fileName(void) const
+ ?smallCapsFontPrivate@QFontPrivate@@QBEPAV1@XZ @ 9448 NONAME ; class QFontPrivate * QFontPrivate::smallCapsFontPrivate(void) const
+ ?contentsChange@QTextDocument@@IAEXHHH@Z @ 9449 NONAME ; void QTextDocument::contentsChange(int, int, int)
+ ?setBackgroundVisible@QPlainTextEdit@@QAEX_N@Z @ 9450 NONAME ; void QPlainTextEdit::setBackgroundVisible(bool)
+ ?updateGeometries@QHeaderView@@MAEXXZ @ 9451 NONAME ; void QHeaderView::updateGeometries(void)
+ ?itemNumber@QTextList@@QBEHABVQTextBlock@@@Z @ 9452 NONAME ; int QTextList::itemNumber(class QTextBlock const &) const
+ ?setDocument@QGraphicsTextItem@@QAEXPAVQTextDocument@@@Z @ 9453 NONAME ; void QGraphicsTextItem::setDocument(class QTextDocument *)
+ ?capitalization@QFont@@QBE?AW4Capitalization@1@XZ @ 9454 NONAME ; enum QFont::Capitalization QFont::capitalization(void) const
+ ??_EQTextList@@UAE@I@Z @ 9455 NONAME ; QTextList::~QTextList(unsigned int)
+ ?merge@QItemSelection@@QAEXABV1@V?$QFlags@W4SelectionFlag@QItemSelectionModel@@@@@Z @ 9456 NONAME ; void QItemSelection::merge(class QItemSelection const &, class QFlags<enum QItemSelectionModel::SelectionFlag>)
+ ?qt_metacall@QSwipeGesture@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 9457 NONAME ; int QSwipeGesture::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?tr@QLCDNumber@@SA?AVQString@@PBD0@Z @ 9458 NONAME ; class QString QLCDNumber::tr(char const *, char const *)
+ ?trUtf8@QGridLayout@@SA?AVQString@@PBD0@Z @ 9459 NONAME ; class QString QGridLayout::trUtf8(char const *, char const *)
+ ?tr@QSound@@SA?AVQString@@PBD0@Z @ 9460 NONAME ; class QString QSound::tr(char const *, char const *)
+ ?metaObject@QLCDNumber@@UBEPBUQMetaObject@@XZ @ 9461 NONAME ; struct QMetaObject const * QLCDNumber::metaObject(void) const
+ ?tabifyDockWidget@QMainWindow@@QAEXPAVQDockWidget@@0@Z @ 9462 NONAME ; void QMainWindow::tabifyDockWidget(class QDockWidget *, class QDockWidget *)
+ ?canFetchMore@QFileSystemModel@@UBE_NABVQModelIndex@@@Z @ 9463 NONAME ; bool QFileSystemModel::canFetchMore(class QModelIndex const &) const
+ ?headerDataChanged@QHeaderView@@QAEXW4Orientation@Qt@@HH@Z @ 9464 NONAME ; void QHeaderView::headerDataChanged(enum Qt::Orientation, int, int)
+ ?metaObject@QMessageBox@@UBEPBUQMetaObject@@XZ @ 9465 NONAME ; struct QMetaObject const * QMessageBox::metaObject(void) const
+ ?setTextAlignment@QStandardItem@@QAEXV?$QFlags@W4AlignmentFlag@Qt@@@@@Z @ 9466 NONAME ; void QStandardItem::setTextAlignment(class QFlags<enum Qt::AlignmentFlag>)
+ ?setWindowFrameMargins@QGraphicsWidget@@QAEXMMMM@Z @ 9467 NONAME ; void QGraphicsWidget::setWindowFrameMargins(float, float, float, float)
+ ?sectionMoved@QHeaderView@@IAEXHHH@Z @ 9468 NONAME ; void QHeaderView::sectionMoved(int, int, int)
+ ??0QLayout@@IAE@AAVQLayoutPrivate@@PAV0@PAVQWidget@@@Z @ 9469 NONAME ; QLayout::QLayout(class QLayoutPrivate &, class QLayout *, class QWidget *)
+ ?reset@QGestureRecognizer@@UAEXPAVQGesture@@@Z @ 9470 NONAME ; void QGestureRecognizer::reset(class QGesture *)
+ ?cellDoubleClicked@QTableWidget@@IAEXHH@Z @ 9471 NONAME ; void QTableWidget::cellDoubleClicked(int, int)
+ ?selectionMode@QAbstractItemView@@QBE?AW4SelectionMode@1@XZ @ 9472 NONAME ; enum QAbstractItemView::SelectionMode QAbstractItemView::selectionMode(void) const
+ ?isClickable@QHeaderView@@QBE_NXZ @ 9473 NONAME ; bool QHeaderView::isClickable(void) const
+ ?setItemIcon@QComboBox@@QAEXHABVQIcon@@@Z @ 9474 NONAME ; void QComboBox::setItemIcon(int, class QIcon const &)
+ ??6@YAAAVQDataStream@@AAV0@ABVQTableWidgetItem@@@Z @ 9475 NONAME ; class QDataStream & operator<<(class QDataStream &, class QTableWidgetItem const &)
+ ?dragMoveEvent@QTextEdit@@MAEXPAVQDragMoveEvent@@@Z @ 9476 NONAME ; void QTextEdit::dragMoveEvent(class QDragMoveEvent *)
+ ?setOpenExternalLinks@QLabel@@QAEX_N@Z @ 9477 NONAME ; void QLabel::setOpenExternalLinks(bool)
+ ?resizeEvent@QRubberBand@@MAEXPAVQResizeEvent@@@Z @ 9478 NONAME ; void QRubberBand::resizeEvent(class QResizeEvent *)
+ ?compressEvent@QApplication@@MAE_NPAVQEvent@@PAVQObject@@PAVQPostEventList@@@Z @ 9479 NONAME ; bool QApplication::compressEvent(class QEvent *, class QObject *, class QPostEventList *)
+ ??_EQCalendarWidget@@UAE@I@Z @ 9480 NONAME ; QCalendarWidget::~QCalendarWidget(unsigned int)
+ ?sort@QStandardItemModel@@UAEXHW4SortOrder@Qt@@@Z @ 9481 NONAME ; void QStandardItemModel::sort(int, enum Qt::SortOrder)
+ ?initStyleOption@QFocusFrame@@IBEXPAVQStyleOption@@@Z @ 9482 NONAME ; void QFocusFrame::initStyleOption(class QStyleOption *) const
+ ??6@YA?AVQDebug@@V0@ABW4OptionType@QStyleOption@@@Z @ 9483 NONAME ; class QDebug operator<<(class QDebug, enum QStyleOption::OptionType const &)
+ ?setFocusItem@QGraphicsScene@@QAEXPAVQGraphicsItem@@W4FocusReason@Qt@@@Z @ 9484 NONAME ; void QGraphicsScene::setFocusItem(class QGraphicsItem *, enum Qt::FocusReason)
+ ?trUtf8@QAbstractSlider@@SA?AVQString@@PBD0@Z @ 9485 NONAME ; class QString QAbstractSlider::trUtf8(char const *, char const *)
+ ??0QS60MainApplication@@QAE@XZ @ 9486 NONAME ; QS60MainApplication::QS60MainApplication(void)
+ ?qt_metacall@QMessageBox@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 9487 NONAME ; int QMessageBox::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?cleanChanged@QUndoStack@@IAEX_N@Z @ 9488 NONAME ; void QUndoStack::cleanChanged(bool)
+ ??1QStyleOptionTabBarBase@@QAE@XZ @ 9489 NONAME ; QStyleOptionTabBarBase::~QStyleOptionTabBarBase(void)
+ ?open@QInputDialog@@QAEXPAVQObject@@PBD@Z @ 9490 NONAME ; void QInputDialog::open(class QObject *, char const *)
+ ?colorChanged@QGraphicsDropShadowEffect@@IAEXABVQColor@@@Z @ 9491 NONAME ; void QGraphicsDropShadowEffect::colorChanged(class QColor const &)
+ ??_EQWidgetItemV2@@UAE@I@Z @ 9492 NONAME ; QWidgetItemV2::~QWidgetItemV2(unsigned int)
+ ?metaObject@QWizardPage@@UBEPBUQMetaObject@@XZ @ 9493 NONAME ; struct QMetaObject const * QWizardPage::metaObject(void) const
+ ?visualIndex@QTreeView@@ABEHABVQModelIndex@@@Z @ 9494 NONAME ; int QTreeView::visualIndex(class QModelIndex const &) const
+ ?tr@QVBoxLayout@@SA?AVQString@@PBD0@Z @ 9495 NONAME ; class QString QVBoxLayout::tr(char const *, char const *)
+ ??0QCheckBox@@QAE@ABVQString@@PAVQWidget@@@Z @ 9496 NONAME ; QCheckBox::QCheckBox(class QString const &, class QWidget *)
+ ?d_func@QGraphicsGrayscaleEffect@@AAEPAVQGraphicsGrayscaleEffectPrivate@@XZ @ 9497 NONAME ABSENT ; class QGraphicsGrayscaleEffectPrivate * QGraphicsGrayscaleEffect::d_func(void)
+ ?trUtf8@QAction@@SA?AVQString@@PBD0H@Z @ 9498 NONAME ; class QString QAction::trUtf8(char const *, char const *, int)
+ ?staticMetaObject@QGraphicsOpacityEffect@@2UQMetaObject@@B @ 9499 NONAME ; struct QMetaObject const QGraphicsOpacityEffect::staticMetaObject
+ ?items@QGraphicsScene@@QBE?AV?$QList@PAVQGraphicsItem@@@@MMMMW4ItemSelectionMode@Qt@@W4SortOrder@4@ABVQTransform@@@Z @ 9500 NONAME ; class QList<class QGraphicsItem *> QGraphicsScene::items(float, float, float, float, enum Qt::ItemSelectionMode, enum Qt::SortOrder, class QTransform const &) const
+ ?rowsAboutToBeRemoved@QListView@@MAEXABVQModelIndex@@HH@Z @ 9501 NONAME ; void QListView::rowsAboutToBeRemoved(class QModelIndex const &, int, int)
+ ??0QGraphicsRotation@@QAE@PAVQObject@@@Z @ 9502 NONAME ; QGraphicsRotation::QGraphicsRotation(class QObject *)
+ ?pageSize@QTextDocument@@QBE?AVQSizeF@@XZ @ 9503 NONAME ; class QSizeF QTextDocument::pageSize(void) const
+ ?setAlignment@QLabel@@QAEXV?$QFlags@W4AlignmentFlag@Qt@@@@@Z @ 9504 NONAME ; void QLabel::setAlignment(class QFlags<enum Qt::AlignmentFlag>)
+ ?format@QMovie@@QBE?AVQByteArray@@XZ @ 9505 NONAME ; class QByteArray QMovie::format(void) const
+ ?minimumHeight@QWidget@@QBEHXZ @ 9506 NONAME ; int QWidget::minimumHeight(void) const
+ ?commitData@QAbstractItemDelegate@@IAEXPAVQWidget@@@Z @ 9507 NONAME ; void QAbstractItemDelegate::commitData(class QWidget *)
+ ?horizontalStepsPerItem@QAbstractItemView@@IBEHXZ @ 9508 NONAME ; int QAbstractItemView::horizontalStepsPerItem(void) const
+ ?information@QMessageBox@@SA?AW4StandardButton@1@PAVQWidget@@ABVQString@@1W421@2@Z @ 9509 NONAME ; enum QMessageBox::StandardButton QMessageBox::information(class QWidget *, class QString const &, class QString const &, enum QMessageBox::StandardButton, enum QMessageBox::StandardButton)
+ ?qt_paint_device_metric@@YAHPBVQPaintDevice@@W4PaintDeviceMetric@1@@Z @ 9510 NONAME ; int qt_paint_device_metric(class QPaintDevice const *, enum QPaintDevice::PaintDeviceMetric)
+ ?button@QWizard@@QBEPAVQAbstractButton@@W4WizardButton@1@@Z @ 9511 NONAME ; class QAbstractButton * QWizard::button(enum QWizard::WizardButton) const
+ ?quadToQuad@QTransform@@SA_NABVQPolygonF@@0AAV1@@Z @ 9512 NONAME ; bool QTransform::quadToQuad(class QPolygonF const &, class QPolygonF const &, class QTransform &)
+ ?removeItem@QLayout@@QAEXPAVQLayoutItem@@@Z @ 9513 NONAME ; void QLayout::removeItem(class QLayoutItem *)
+ ?forwardAvailable@QTextBrowser@@IAEX_N@Z @ 9514 NONAME ; void QTextBrowser::forwardAvailable(bool)
+ ?createCache@QTextureGlyphCache@@QAEXHH@Z @ 9515 NONAME ; void QTextureGlyphCache::createCache(int, int)
+ ?columnNumber@QTextCursor@@QBEHXZ @ 9516 NONAME ; int QTextCursor::columnNumber(void) const
+ ?setHandleWidth@QSplitter@@QAEXH@Z @ 9517 NONAME ; void QSplitter::setHandleWidth(int)
+ ?setExtension@QGraphicsTextItem@@MAEXW4Extension@QGraphicsItem@@ABVQVariant@@@Z @ 9518 NONAME ; void QGraphicsTextItem::setExtension(enum QGraphicsItem::Extension, class QVariant const &)
+ ??1QGraphicsSceneWheelEvent@@UAE@XZ @ 9519 NONAME ; QGraphicsSceneWheelEvent::~QGraphicsSceneWheelEvent(void)
+ ?allSelected@QLineControl@@QBE_NXZ @ 9520 NONAME ; bool QLineControl::allSelected(void) const
+ ??0QDropEvent@@QAE@ABVQPoint@@V?$QFlags@W4DropAction@Qt@@@@PBVQMimeData@@V?$QFlags@W4MouseButton@Qt@@@@V?$QFlags@W4KeyboardModifier@Qt@@@@W4Type@QEvent@@@Z @ 9521 NONAME ; QDropEvent::QDropEvent(class QPoint const &, class QFlags<enum Qt::DropAction>, class QMimeData const *, class QFlags<enum Qt::MouseButton>, class QFlags<enum Qt::KeyboardModifier>, enum QEvent::Type)
+ ?testAttribute_helper@QWidget@@ABE_NW4WidgetAttribute@Qt@@@Z @ 9522 NONAME ; bool QWidget::testAttribute_helper(enum Qt::WidgetAttribute) const
+ ?setFormat@QImageReader@@QAEXABVQByteArray@@@Z @ 9523 NONAME ; void QImageReader::setFormat(class QByteArray const &)
+ ?setSoftKeyRole@QAction@@QAEXW4SoftKeyRole@1@@Z @ 9524 NONAME ; void QAction::setSoftKeyRole(enum QAction::SoftKeyRole)
+ ?setHsvF@QColor@@QAEXMMMM@Z @ 9525 NONAME ; void QColor::setHsvF(float, float, float, float)
+ ?redoAvailable@QTextControl@@IAEX_N@Z @ 9526 NONAME ; void QTextControl::redoAvailable(bool)
+ ?getStaticMetaObject@QToolBox@@SAABUQMetaObject@@XZ @ 9527 NONAME ; struct QMetaObject const & QToolBox::getStaticMetaObject(void)
+ ?setScreenRect@TouchPoint@QTouchEvent@@QAEXABVQRectF@@@Z @ 9528 NONAME ; void QTouchEvent::TouchPoint::setScreenRect(class QRectF const &)
+ ?sys_font@QApplicationPrivate@@2PAVQFont@@A @ 9529 NONAME ; class QFont * QApplicationPrivate::sys_font
+ ?subtractOpaqueSiblings@QWidgetPrivate@@QBEXAAVQRegion@@PA_N_N@Z @ 9530 NONAME ; void QWidgetPrivate::subtractOpaqueSiblings(class QRegion &, bool *, bool) const
+ ?isEditable@QStandardItem@@QBE_NXZ @ 9531 NONAME ; bool QStandardItem::isEditable(void) const
+ ?setInteractive@QGraphicsView@@QAEX_N@Z @ 9532 NONAME ; void QGraphicsView::setInteractive(bool)
+ ?setBoundingRegionGranularity@QGraphicsItem@@QAEXM@Z @ 9533 NONAME ; void QGraphicsItem::setBoundingRegionGranularity(float)
+ ?event@QDial@@MAE_NPAVQEvent@@@Z @ 9534 NONAME ; bool QDial::event(class QEvent *)
+ ?scanCodeCache@QApplicationPrivate@@0V?$QHash@HI@@A @ 9535 NONAME ; class QHash<int, unsigned int> QApplicationPrivate::scanCodeCache
+ ??0QLineEdit@@QAE@ABVQString@@PAVQWidget@@@Z @ 9536 NONAME ; QLineEdit::QLineEdit(class QString const &, class QWidget *)
+ ?setCurveThreshold@QStroker@@QAEXM@Z @ 9537 NONAME ; void QStroker::setCurveThreshold(float)
+ ?inputMethodQuery@QWidget@@UBE?AVQVariant@@W4InputMethodQuery@Qt@@@Z @ 9538 NONAME ; class QVariant QWidget::inputMethodQuery(enum Qt::InputMethodQuery) const
+ ?removeRows@QStringListModel@@UAE_NHHABVQModelIndex@@@Z @ 9539 NONAME ; bool QStringListModel::removeRows(int, int, class QModelIndex const &)
+ ?setBackgroundBrush@QGraphicsScene@@QAEXABVQBrush@@@Z @ 9540 NONAME ; void QGraphicsScene::setBackgroundBrush(class QBrush const &)
+ ?isValid@QTextBlock@@QBE_NXZ @ 9541 NONAME ; bool QTextBlock::isValid(void) const
+ ?lastScenePos@QGraphicsSceneHoverEvent@@QBE?AVQPointF@@XZ @ 9542 NONAME ; class QPointF QGraphicsSceneHoverEvent::lastScenePos(void) const
+ ?weight@QFontInfo@@QBEHXZ @ 9543 NONAME ; int QFontInfo::weight(void) const
+ ?setFontWeight@QTextEdit@@QAEXH@Z @ 9544 NONAME ; void QTextEdit::setFontWeight(int)
+ ?qt_metacast@QSplashScreen@@UAEPAXPBD@Z @ 9545 NONAME ; void * QSplashScreen::qt_metacast(char const *)
+ ?selection@QTextCursor@@QBE?AVQTextDocumentFragment@@XZ @ 9546 NONAME ; class QTextDocumentFragment QTextCursor::selection(void) const
+ ??1QCloseEvent@@UAE@XZ @ 9547 NONAME ; QCloseEvent::~QCloseEvent(void)
+ ?done@QDialog@@UAEXH@Z @ 9548 NONAME ; void QDialog::done(int)
+ ?widgetAt@QApplication@@SAPAVQWidget@@HH@Z @ 9549 NONAME ; class QWidget * QApplication::widgetAt(int, int)
+ ??_EQTextFrameLayoutData@@UAE@I@Z @ 9550 NONAME ; QTextFrameLayoutData::~QTextFrameLayoutData(unsigned int)
+ ??0QGraphicsPixelizeEffect@@QAE@PAVQObject@@@Z @ 9551 NONAME ABSENT ; QGraphicsPixelizeEffect::QGraphicsPixelizeEffect(class QObject *)
+ ?frameChanged@QMovie@@IAEXH@Z @ 9552 NONAME ; void QMovie::frameChanged(int)
+ ?geometry@QWidgetItem@@UBE?AVQRect@@XZ @ 9553 NONAME ; class QRect QWidgetItem::geometry(void) const
+ ??0QTextFrame@@IAE@AAVQTextFramePrivate@@PAVQTextDocument@@@Z @ 9554 NONAME ; QTextFrame::QTextFrame(class QTextFramePrivate &, class QTextDocument *)
+ ?qt_image_cleanup_hook_64@@3P6AX_J@ZA @ 9555 NONAME ; void (*qt_image_cleanup_hook_64)(long long)
+ ?eventFilter@QStyledItemDelegate@@MAE_NPAVQObject@@PAVQEvent@@@Z @ 9556 NONAME ; bool QStyledItemDelegate::eventFilter(class QObject *, class QEvent *)
+ ??0QTextureGlyphCache@@QAE@W4Type@QFontEngineGlyphCache@@ABVQTransform@@@Z @ 9557 NONAME ; QTextureGlyphCache::QTextureGlyphCache(enum QFontEngineGlyphCache::Type, class QTransform const &)
+ ?read@QImageReader@@QAE_NPAVQImage@@@Z @ 9558 NONAME ; bool QImageReader::read(class QImage *)
+ ?trUtf8@QDialogButtonBox@@SA?AVQString@@PBD0@Z @ 9559 NONAME ; class QString QDialogButtonBox::trUtf8(char const *, char const *)
+ ??0QDateTimeEdit@@QAE@ABVQDate@@PAVQWidget@@@Z @ 9560 NONAME ; QDateTimeEdit::QDateTimeEdit(class QDate const &, class QWidget *)
+ ?pixelIndex@QImage@@QBEHHH@Z @ 9561 NONAME ; int QImage::pixelIndex(int, int) const
+ ?windowText@QPalette@@QBEABVQBrush@@XZ @ 9562 NONAME ; class QBrush const & QPalette::windowText(void) const
+ ?find@QTextDocument@@QBE?AVQTextCursor@@ABVQRegExp@@HV?$QFlags@W4FindFlag@QTextDocument@@@@@Z @ 9563 NONAME ; class QTextCursor QTextDocument::find(class QRegExp const &, int, class QFlags<enum QTextDocument::FindFlag>) const
+ ?redoText@QUndoGroup@@QBE?AVQString@@XZ @ 9564 NONAME ; class QString QUndoGroup::redoText(void) const
+ ?data@QProxyModel@@UBE?AVQVariant@@ABVQModelIndex@@H@Z @ 9565 NONAME ; class QVariant QProxyModel::data(class QModelIndex const &, int) const
+ ?d_func@QTableWidget@@AAEPAVQTableWidgetPrivate@@XZ @ 9566 NONAME ; class QTableWidgetPrivate * QTableWidget::d_func(void)
+ ?shape@QGraphicsPixmapItem@@UBE?AVQPainterPath@@XZ @ 9567 NONAME ; class QPainterPath QGraphicsPixmapItem::shape(void) const
+ ??0QScrollArea@@IAE@AAVQScrollAreaPrivate@@PAVQWidget@@@Z @ 9568 NONAME ; QScrollArea::QScrollArea(class QScrollAreaPrivate &, class QWidget *)
+ ?autoDetectImageFormat@QImageReader@@QBE_NXZ @ 9569 NONAME ; bool QImageReader::autoDetectImageFormat(void) const
+ ?completeChanged@QWizardPage@@IAEXXZ @ 9570 NONAME ; void QWizardPage::completeChanged(void)
+ ?inputMethodQuery@QAbstractSpinBox@@UBE?AVQVariant@@W4InputMethodQuery@Qt@@@Z @ 9571 NONAME ; class QVariant QAbstractSpinBox::inputMethodQuery(enum Qt::InputMethodQuery) const
+ ?processCurrentSubpath@QStroker@@MAEXXZ @ 9572 NONAME ; void QStroker::processCurrentSubpath(void)
+ ?cleanupMultitouch@QApplicationPrivate@@QAEXXZ @ 9573 NONAME ; void QApplicationPrivate::cleanupMultitouch(void)
+ ?qt_metacall@QAction@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 9574 NONAME ; int QAction::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ??0QTextObject@@IAE@AAVQTextObjectPrivate@@PAVQTextDocument@@@Z @ 9575 NONAME ; QTextObject::QTextObject(class QTextObjectPrivate &, class QTextDocument *)
+ ?d_func@QFontComboBox@@AAEPAVQFontComboBoxPrivate@@XZ @ 9576 NONAME ; class QFontComboBoxPrivate * QFontComboBox::d_func(void)
+ ?trUtf8@QInputDialog@@SA?AVQString@@PBD0@Z @ 9577 NONAME ; class QString QInputDialog::trUtf8(char const *, char const *)
+ ?spacerItem@QLayoutItem@@UAEPAVQSpacerItem@@XZ @ 9578 NONAME ; class QSpacerItem * QLayoutItem::spacerItem(void)
+ ?scroll@QRasterPixmapData@@UAE_NHHABVQRect@@@Z @ 9579 NONAME ; bool QRasterPixmapData::scroll(int, int, class QRect const &)
+ ?addStack@QUndoGroup@@QAEXPAVQUndoStack@@@Z @ 9580 NONAME ; void QUndoGroup::addStack(class QUndoStack *)
+ ?getStaticMetaObject@QSizePolicy@@SAABUQMetaObject@@XZ @ 9581 NONAME ; struct QMetaObject const & QSizePolicy::getStaticMetaObject(void)
+ ?setTabStopWidth@QPlainTextEdit@@QAEXH@Z @ 9582 NONAME ; void QPlainTextEdit::setTabStopWidth(int)
+ ?setGroup@QGraphicsItem@@QAEXPAVQGraphicsItemGroup@@@Z @ 9583 NONAME ; void QGraphicsItem::setGroup(class QGraphicsItemGroup *)
+ ?q_func@QWidgetPrivate@@ABEPBVQWidget@@XZ @ 9584 NONAME ; class QWidget const * QWidgetPrivate::q_func(void) const
+ ??1QIconEngineFactoryInterface@@UAE@XZ @ 9585 NONAME ; QIconEngineFactoryInterface::~QIconEngineFactoryInterface(void)
+ ?home@QLineEdit@@QAEX_N@Z @ 9586 NONAME ; void QLineEdit::home(bool)
+ ?itemText@QToolBox@@QBE?AVQString@@H@Z @ 9587 NONAME ; class QString QToolBox::itemText(int) const
+ ?close@QGraphicsWidget@@QAE_NXZ @ 9588 NONAME ; bool QGraphicsWidget::close(void)
+ ??MQTextFragment@@QBE_NABV0@@Z @ 9589 NONAME ; bool QTextFragment::operator<(class QTextFragment const &) const
+ ?d_func@QGridLayout@@ABEPBVQGridLayoutPrivate@@XZ @ 9590 NONAME ; class QGridLayoutPrivate const * QGridLayout::d_func(void) const
+ ?setSelectionModel@QTreeView@@UAEXPAVQItemSelectionModel@@@Z @ 9591 NONAME ; void QTreeView::setSelectionModel(class QItemSelectionModel *)
+ ?setColorGroup@QPalette@@AAEXW4ColorGroup@1@ABVQBrush@@111111111111111111@Z @ 9592 NONAME ; void QPalette::setColorGroup(enum QPalette::ColorGroup, class QBrush const &, class QBrush const &, class QBrush const &, class QBrush const &, class QBrush const &, class QBrush const &, class QBrush const &, class QBrush const &, class QBrush const &, class QBrush const &, class QBrush const &, class QBrush const &, class QBrush const &, class QBrush const &, class QBrush const &, class QBrush const &, class QBrush const &, class QBrush const &, class QBrush const &)
+ ?dx@QTransform@@QBEMXZ @ 9593 NONAME ; float QTransform::dx(void) const
+ ?itemWidget@QTreeWidget@@QBEPAVQWidget@@PAVQTreeWidgetItem@@H@Z @ 9594 NONAME ; class QWidget * QTreeWidget::itemWidget(class QTreeWidgetItem *, int) const
+ ?m32@QTransform@@QBEMXZ @ 9595 NONAME ; float QTransform::m32(void) const
+ ?selectedIndexes@QTreeView@@MBE?AV?$QList@VQModelIndex@@@@XZ @ 9596 NONAME ; class QList<class QModelIndex> QTreeView::selectedIndexes(void) const
+ ?resizeGripsVisible@QColumnView@@QBE_NXZ @ 9597 NONAME ; bool QColumnView::resizeGripsVisible(void) const
+ ?write@QListWidgetItem@@UBEXAAVQDataStream@@@Z @ 9598 NONAME ; void QListWidgetItem::write(class QDataStream &) const
+ ?underlinePosition@QFontEngine@@UBE?AUQFixed@@XZ @ 9599 NONAME ; struct QFixed QFontEngine::underlinePosition(void) const
+ ?metaObject@QMainWindow@@UBEPBUQMetaObject@@XZ @ 9600 NONAME ; struct QMetaObject const * QMainWindow::metaObject(void) const
+ ?critical@QMessageBox@@SAHPAVQWidget@@ABVQString@@1HHH@Z @ 9601 NONAME ; int QMessageBox::critical(class QWidget *, class QString const &, class QString const &, int, int, int)
+ ??0QStyleOptionMenuItem@@QAE@ABV0@@Z @ 9602 NONAME ; QStyleOptionMenuItem::QStyleOptionMenuItem(class QStyleOptionMenuItem const &)
+ ?setSystemFont@QApplicationPrivate@@SAXABVQFont@@@Z @ 9603 NONAME ; void QApplicationPrivate::setSystemFont(class QFont const &)
+ ?insert@QLineControl@@QAEXABVQString@@@Z @ 9604 NONAME ; void QLineControl::insert(class QString const &)
+ ?textDirection@QProgressBar@@QAE?AW4Direction@1@XZ @ 9605 NONAME ; enum QProgressBar::Direction QProgressBar::textDirection(void)
+ ?unpolish@QStyle@@UAEXPAVQApplication@@@Z @ 9606 NONAME ; void QStyle::unpolish(class QApplication *)
+ ?redo@QPlainTextEdit@@QAEXXZ @ 9607 NONAME ; void QPlainTextEdit::redo(void)
+ ?SetInlineEditingCursorVisibilityL@QCoeFepInputContext@@UAEXH@Z @ 9608 NONAME ABSENT ; void QCoeFepInputContext::SetInlineEditingCursorVisibilityL(int)
+ ??6@YA?AVQDebug@@V0@V?$QFlags@W4StateFlag@QStyle@@@@@Z @ 9609 NONAME ; class QDebug operator<<(class QDebug, class QFlags<enum QStyle::StateFlag>)
+ ?test@Parser@QCss@@QAE_NW4TokenType@2@@Z @ 9610 NONAME ; bool QCss::Parser::test(enum QCss::TokenType)
+ ?alignment@QTextBlockFormat@@QBE?AV?$QFlags@W4AlignmentFlag@Qt@@@@XZ @ 9611 NONAME ; class QFlags<enum Qt::AlignmentFlag> QTextBlockFormat::alignment(void) const
+ ??1QFont@@QAE@XZ @ 9612 NONAME ; QFont::~QFont(void)
+ ?extension@QGraphicsTextItem@@MBE?AVQVariant@@ABV2@@Z @ 9613 NONAME ; class QVariant QGraphicsTextItem::extension(class QVariant const &) const
+ ?metaObject@QTextList@@UBEPBUQMetaObject@@XZ @ 9614 NONAME ; struct QMetaObject const * QTextList::metaObject(void) const
+ ??1QStyleOptionTabV3@@QAE@XZ @ 9615 NONAME ; QStyleOptionTabV3::~QStyleOptionTabV3(void)
+ ?tabAt@QTabBar@@QBEHABVQPoint@@@Z @ 9616 NONAME ; int QTabBar::tabAt(class QPoint const &) const
+ ?data@QTableWidgetItem@@UBE?AVQVariant@@H@Z @ 9617 NONAME ; class QVariant QTableWidgetItem::data(int) const
+ ?addItem@QBoxLayout@@UAEXPAVQLayoutItem@@@Z @ 9618 NONAME ; void QBoxLayout::addItem(class QLayoutItem *)
+ ??1QGestureRecognizer@@UAE@XZ @ 9619 NONAME ; QGestureRecognizer::~QGestureRecognizer(void)
+ ??0QStandardItem@@IAE@ABV0@@Z @ 9620 NONAME ; QStandardItem::QStandardItem(class QStandardItem const &)
+ ?mouseReleaseEvent@QAbstractButton@@MAEXPAVQMouseEvent@@@Z @ 9621 NONAME ; void QAbstractButton::mouseReleaseEvent(class QMouseEvent *)
+ ?mapFromParent@QGraphicsItem@@QBE?AVQPainterPath@@ABV2@@Z @ 9622 NONAME ; class QPainterPath QGraphicsItem::mapFromParent(class QPainterPath const &) const
+ ?setUnderlineColor@QTextCharFormat@@QAEXABVQColor@@@Z @ 9623 NONAME ; void QTextCharFormat::setUnderlineColor(class QColor const &)
+ ?mouseDoubleClickEvent@QGraphicsProxyWidget@@MAEXPAVQGraphicsSceneMouseEvent@@@Z @ 9624 NONAME ; void QGraphicsProxyWidget::mouseDoubleClickEvent(class QGraphicsSceneMouseEvent *)
+ ?editFocusChange@QLineControl@@IAEX_N@Z @ 9625 NONAME ; void QLineControl::editFocusChange(bool)
+ ?frameShadow@QFrame@@QBE?AW4Shadow@1@XZ @ 9626 NONAME ; enum QFrame::Shadow QFrame::frameShadow(void) const
+ ??1QSplitter@@UAE@XZ @ 9627 NONAME ; QSplitter::~QSplitter(void)
+ ?hasHotSpot@QGesture@@QBE_NXZ @ 9628 NONAME ; bool QGesture::hasHotSpot(void) const
+ ?setPanelModality@QGraphicsItem@@QAEXW4PanelModality@1@@Z @ 9629 NONAME ; void QGraphicsItem::setPanelModality(enum QGraphicsItem::PanelModality)
+ ?doItemsLayout@QListView@@UAEXXZ @ 9630 NONAME ; void QListView::doItemsLayout(void)
+ ??0QMatrix@@AAE@MMMMMM_N@Z @ 9631 NONAME ; QMatrix::QMatrix(float, float, float, float, float, float, bool)
+ ?resizeEvent@QMdiArea@@MAEXPAVQResizeEvent@@@Z @ 9632 NONAME ; void QMdiArea::resizeEvent(class QResizeEvent *)
+ ?position@QTextCursor@@QBEHXZ @ 9633 NONAME ; int QTextCursor::position(void) const
+ ?pictureFormat@QPictureIO@@SA?AVQByteArray@@ABVQString@@@Z @ 9634 NONAME ; class QByteArray QPictureIO::pictureFormat(class QString const &)
+ ?sceneEffectiveBoundingRect@QGraphicsItemPrivate@@QBE?AVQRectF@@XZ @ 9635 NONAME ; class QRectF QGraphicsItemPrivate::sceneEffectiveBoundingRect(void) const
+ ??6@YAAAVQDataStream@@AAV0@ABVQFont@@@Z @ 9636 NONAME ; class QDataStream & operator<<(class QDataStream &, class QFont const &)
+ ?format@QTextInlineObject@@QBE?AVQTextFormat@@XZ @ 9637 NONAME ; class QTextFormat QTextInlineObject::format(void) const
+ ??0QStringListModel@@QAE@ABVQStringList@@PAVQObject@@@Z @ 9638 NONAME ; QStringListModel::QStringListModel(class QStringList const &, class QObject *)
+ ?trUtf8@QListWidget@@SA?AVQString@@PBD0H@Z @ 9639 NONAME ; class QString QListWidget::trUtf8(char const *, char const *, int)
+ ?charFormat@QTextFormatCollection@@QBE?AVQTextCharFormat@@H@Z @ 9640 NONAME ; class QTextCharFormat QTextFormatCollection::charFormat(int) const
+ ?format@QTextTable@@QBE?AVQTextTableFormat@@XZ @ 9641 NONAME ; class QTextTableFormat QTextTable::format(void) const
+ ?trUtf8@QScrollBar@@SA?AVQString@@PBD0@Z @ 9642 NONAME ; class QString QScrollBar::trUtf8(char const *, char const *)
+ ?setDocument@QSyntaxHighlighter@@QAEXPAVQTextDocument@@@Z @ 9643 NONAME ; void QSyntaxHighlighter::setDocument(class QTextDocument *)
+ ?currentBlock@QSyntaxHighlighter@@IBE?AVQTextBlock@@XZ @ 9644 NONAME ; class QTextBlock QSyntaxHighlighter::currentBlock(void) const
+ ??1QSplashScreen@@UAE@XZ @ 9645 NONAME ; QSplashScreen::~QSplashScreen(void)
+ ?qt_metacall@QFileDialog@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 9646 NONAME ; int QFileDialog::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?drawRects@QPainter@@QAEXABV?$QVector@VQRectF@@@@@Z @ 9647 NONAME ; void QPainter::drawRects(class QVector<class QRectF> const &)
+ ?setTabStopWidth@QTextEdit@@QAEXH@Z @ 9648 NONAME ; void QTextEdit::setTabStopWidth(int)
+ ?count@QGraphicsLinearLayout@@UBEHXZ @ 9649 NONAME ; int QGraphicsLinearLayout::count(void) const
+ ?stop@QMovie@@QAEXXZ @ 9650 NONAME ; void QMovie::stop(void)
+ ?drawConvexPolygon@QPainter@@QAEXABVQPolygonF@@@Z @ 9651 NONAME ; void QPainter::drawConvexPolygon(class QPolygonF const &)
+ ?globalX@QContextMenuEvent@@QBEHXZ @ 9652 NONAME ; int QContextMenuEvent::globalX(void) const
+ ?clicked@QCalendarWidget@@IAEXABVQDate@@@Z @ 9653 NONAME ; void QCalendarWidget::clicked(class QDate const &)
+ ?mapToParent@QWidget@@QBE?AVQPoint@@ABV2@@Z @ 9654 NONAME ; class QPoint QWidget::mapToParent(class QPoint const &) const
+ ?getStaticMetaObject@QGraphicsOpacityEffect@@SAABUQMetaObject@@XZ @ 9655 NONAME ; struct QMetaObject const & QGraphicsOpacityEffect::getStaticMetaObject(void)
+ ?itemAt@QGraphicsView@@QBEPAVQGraphicsItem@@HH@Z @ 9656 NONAME ; class QGraphicsItem * QGraphicsView::itemAt(int, int) const
+ ?begin@QDashStroker@@UAEXPAX@Z @ 9657 NONAME ; void QDashStroker::begin(void *)
+ ?device@QTextDocumentWriter@@QBEPAVQIODevice@@XZ @ 9658 NONAME ; class QIODevice * QTextDocumentWriter::device(void) const
+ ?createObject@QTextDocument@@MAEPAVQTextObject@@ABVQTextFormat@@@Z @ 9659 NONAME ; class QTextObject * QTextDocument::createObject(class QTextFormat const &)
+ ??8QFont@@QBE_NABV0@@Z @ 9660 NONAME ; bool QFont::operator==(class QFont const &) const
+ ?toolTip@QTableWidgetItem@@QBE?AVQString@@XZ @ 9661 NONAME ; class QString QTableWidgetItem::toolTip(void) const
+ ??0QVector3D@@QAE@MMM@Z @ 9662 NONAME ; QVector3D::QVector3D(float, float, float)
+ ??0QGraphicsOpacityEffect@@QAE@PAVQObject@@@Z @ 9663 NONAME ; QGraphicsOpacityEffect::QGraphicsOpacityEffect(class QObject *)
+ ?endTangent@QBezier@@QBE?AVQLineF@@XZ @ 9664 NONAME ; class QLineF QBezier::endTangent(void) const
+ ?staticMetaObject@QMdiArea@@2UQMetaObject@@B @ 9665 NONAME ; struct QMetaObject const QMdiArea::staticMetaObject
+ ?dragEnterEvent@QGraphicsProxyWidget@@MAEXPAVQGraphicsSceneDragDropEvent@@@Z @ 9666 NONAME ; void QGraphicsProxyWidget::dragEnterEvent(class QGraphicsSceneDragDropEvent *)
+ ??0QStyleOptionViewItemV2@@IAE@H@Z @ 9667 NONAME ; QStyleOptionViewItemV2::QStyleOptionViewItemV2(int)
+ ?isAlien@QApplicationPrivate@@CA_NPAVQWidget@@@Z @ 9668 NONAME ; bool QApplicationPrivate::isAlien(class QWidget *)
+ ?createDefaultWindowSurface_sys@QWidgetPrivate@@QAEPAVQWindowSurface@@XZ @ 9669 NONAME ; class QWindowSurface * QWidgetPrivate::createDefaultWindowSurface_sys(void)
+ ?supportsExtension@QGraphicsItem@@MBE_NW4Extension@1@@Z @ 9670 NONAME ; bool QGraphicsItem::supportsExtension(enum QGraphicsItem::Extension) const
+ ?openExternalLinks@QTextBrowser@@QBE_NXZ @ 9671 NONAME ; bool QTextBrowser::openExternalLinks(void) const
+ ?d_func@QGraphicsSceneMoveEvent@@AAEPAVQGraphicsSceneMoveEventPrivate@@XZ @ 9672 NONAME ; class QGraphicsSceneMoveEventPrivate * QGraphicsSceneMoveEvent::d_func(void)
+ ?wordWrap@QTreeView@@QBE_NXZ @ 9673 NONAME ; bool QTreeView::wordWrap(void) const
+ ?unpolish@QWindowsStyle@@UAEXPAVQWidget@@@Z @ 9674 NONAME ; void QWindowsStyle::unpolish(class QWidget *)
+ ??0QPaintEngineExReplayer@@QAE@XZ @ 9675 NONAME ; QPaintEngineExReplayer::QPaintEngineExReplayer(void)
+ ?qDrawPlainRect@@YAXPAVQPainter@@HHHHABVQColor@@HPBVQBrush@@@Z @ 9676 NONAME ; void qDrawPlainRect(class QPainter *, int, int, int, int, class QColor const &, int, class QBrush const *)
+ ?x@QTextLine@@QBEMXZ @ 9677 NONAME ; float QTextLine::x(void) const
+ ?drawArc@QPainter@@QAEXABVQRect@@HH@Z @ 9678 NONAME ; void QPainter::drawArc(class QRect const &, int, int)
+ ?center@QRadialGradient@@QBE?AVQPointF@@XZ @ 9679 NONAME ; class QPointF QRadialGradient::center(void) const
+ ?formatIndex@QTextInlineObject@@QBEHXZ @ 9680 NONAME ; int QTextInlineObject::formatIndex(void) const
+ ?lastOffset@QPanGesture@@QBE?AVQPointF@@XZ @ 9681 NONAME ; class QPointF QPanGesture::lastOffset(void) const
+ ?redo@QTextDocument@@QAEXXZ @ 9682 NONAME ; void QTextDocument::redo(void)
+ ?setTabButton@QTabBar@@QAEXHW4ButtonPosition@1@PAVQWidget@@@Z @ 9683 NONAME ; void QTabBar::setTabButton(int, enum QTabBar::ButtonPosition, class QWidget *)
+ ?childEvent@QMdiArea@@MAEXPAVQChildEvent@@@Z @ 9684 NONAME ; void QMdiArea::childEvent(class QChildEvent *)
+ ?d_func@QDoubleSpinBox@@AAEPAVQDoubleSpinBoxPrivate@@XZ @ 9685 NONAME ; class QDoubleSpinBoxPrivate * QDoubleSpinBox::d_func(void)
+ ?setMouseTracking@QWidget@@QAEX_N@Z @ 9686 NONAME ; void QWidget::setMouseTracking(bool)
+ ?setDoubleDecimals@QInputDialog@@QAEXH@Z @ 9687 NONAME ; void QInputDialog::setDoubleDecimals(int)
+ ?HandleResourceChangeL@QS60MainAppUi@@UAEXH@Z @ 9688 NONAME ; void QS60MainAppUi::HandleResourceChangeL(int)
+ ?contentsChanged@QTextDocument@@IAEXXZ @ 9689 NONAME ; void QTextDocument::contentsChanged(void)
+ ?trUtf8@QDrag@@SA?AVQString@@PBD0@Z @ 9690 NONAME ; class QString QDrag::trUtf8(char const *, char const *)
+ ?createWidgetItem@QLayoutPrivate@@SAPAVQWidgetItem@@PBVQLayout@@PAVQWidget@@@Z @ 9691 NONAME ; class QWidgetItem * QLayoutPrivate::createWidgetItem(class QLayout const *, class QWidget *)
+ ?removeColumns@QTextTable@@QAEXHH@Z @ 9692 NONAME ; void QTextTable::removeColumns(int, int)
+ ?clearMinimumDate@QDateTimeEdit@@QAEXXZ @ 9693 NONAME ; void QDateTimeEdit::clearMinimumDate(void)
+ ??0QTextFrameFormat@@IAE@ABVQTextFormat@@@Z @ 9694 NONAME ; QTextFrameFormat::QTextFrameFormat(class QTextFormat const &)
+ ??0QTextFragment@@QAE@ABV0@@Z @ 9695 NONAME ; QTextFragment::QTextFragment(class QTextFragment const &)
+ ?closeEvent@QDockWidget@@MAEXPAVQCloseEvent@@@Z @ 9696 NONAME ; void QDockWidget::closeEvent(class QCloseEvent *)
+ ?setNavigationBarVisible@QCalendarWidget@@QAEX_N@Z @ 9697 NONAME ; void QCalendarWidget::setNavigationBarVisible(bool)
+ ??_EQMovie@@UAE@I@Z @ 9698 NONAME ; QMovie::~QMovie(unsigned int)
+ ?tr@QTextDocument@@SA?AVQString@@PBD0@Z @ 9699 NONAME ; class QString QTextDocument::tr(char const *, char const *)
+ ?staticMetaObject@QGuiPlatformPlugin@@2UQMetaObject@@B @ 9700 NONAME ; struct QMetaObject const QGuiPlatformPlugin::staticMetaObject
+ ?cursor@QGraphicsItem@@QBE?AVQCursor@@XZ @ 9701 NONAME ; class QCursor QGraphicsItem::cursor(void) const
+ ?event@QProgressBar@@MAE_NPAVQEvent@@@Z @ 9702 NONAME ; bool QProgressBar::event(class QEvent *)
+ ?pixmap@QWizard@@QBE?AVQPixmap@@W4WizardPixmap@1@@Z @ 9703 NONAME ; class QPixmap QWizard::pixmap(enum QWizard::WizardPixmap) const
+ ?cursorRect@QPlainTextEdit@@QBE?AVQRect@@ABVQTextCursor@@@Z @ 9704 NONAME ; class QRect QPlainTextEdit::cursorRect(class QTextCursor const &) const
+ ?setWidth@QTextImageFormat@@QAEXM@Z @ 9705 NONAME ; void QTextImageFormat::setWidth(float)
+ ?showRow@QTableView@@QAEXH@Z @ 9706 NONAME ; void QTableView::showRow(int)
+ ??1QItemEditorFactory@@UAE@XZ @ 9707 NONAME ; QItemEditorFactory::~QItemEditorFactory(void)
+ ?fontFamily@QTextCharFormat@@QBE?AVQString@@XZ @ 9708 NONAME ; class QString QTextCharFormat::fontFamily(void) const
+ ?setKerning@QFont@@QAEX_N@Z @ 9709 NONAME ; void QFont::setKerning(bool)
+ ?winId@QWidget@@QBEPAVCCoeControl@@XZ @ 9710 NONAME ; class CCoeControl * QWidget::winId(void) const
+ ?d_func@QListWidget@@AAEPAVQListWidgetPrivate@@XZ @ 9711 NONAME ; class QListWidgetPrivate * QListWidget::d_func(void)
+ ??1QMessageBox@@UAE@XZ @ 9712 NONAME ; QMessageBox::~QMessageBox(void)
+ ?paintOnScreen@QWidgetPrivate@@QBE_NXZ @ 9713 NONAME ; bool QWidgetPrivate::paintOnScreen(void) const
+ ?trUtf8@QCoeFepInputContext@@SA?AVQString@@PBD0H@Z @ 9714 NONAME ABSENT ; class QString QCoeFepInputContext::trUtf8(char const *, char const *, int)
+ ?setCorrectionMode@QAbstractSpinBox@@QAEXW4CorrectionMode@1@@Z @ 9715 NONAME ; void QAbstractSpinBox::setCorrectionMode(enum QAbstractSpinBox::CorrectionMode)
+ ?translate@QPolygon@@QAEXABVQPoint@@@Z @ 9716 NONAME ; void QPolygon::translate(class QPoint const &)
+ ??0QTextBrowser@@QAE@PAVQWidget@@@Z @ 9717 NONAME ; QTextBrowser::QTextBrowser(class QWidget *)
+ ?setFrameRect@QFrame@@QAEXABVQRect@@@Z @ 9718 NONAME ; void QFrame::setFrameRect(class QRect const &)
+ ?clipboard@QApplication@@SAPAVQClipboard@@XZ @ 9719 NONAME ; class QClipboard * QApplication::clipboard(void)
+ ?setPos@QGraphicsSceneHoverEvent@@QAEXABVQPointF@@@Z @ 9720 NONAME ; void QGraphicsSceneHoverEvent::setPos(class QPointF const &)
+ ??0QLinearGradient@@QAE@ABVQPointF@@0@Z @ 9721 NONAME ; QLinearGradient::QLinearGradient(class QPointF const &, class QPointF const &)
+ ?wrapping@QDial@@QBE_NXZ @ 9722 NONAME ; bool QDial::wrapping(void) const
+ ?endMacro@QUndoStack@@QAEXXZ @ 9723 NONAME ; void QUndoStack::endMacro(void)
+ ?underMouse@QWidget@@QBE_NXZ @ 9724 NONAME ; bool QWidget::underMouse(void) const
+ ?setMask@QRasterPixmapData@@UAEXABVQBitmap@@@Z @ 9725 NONAME ; void QRasterPixmapData::setMask(class QBitmap const &)
+ ??1QDashStroker@@UAE@XZ @ 9726 NONAME ; QDashStroker::~QDashStroker(void)
+ ?d_func@QGraphicsEllipseItem@@ABEPBVQGraphicsEllipseItemPrivate@@XZ @ 9727 NONAME ; class QGraphicsEllipseItemPrivate const * QGraphicsEllipseItem::d_func(void) const
+ ??6@YAAAVQDataStream@@AAV0@ABVQPainterPath@@@Z @ 9728 NONAME ; class QDataStream & operator<<(class QDataStream &, class QPainterPath const &)
+ ?moveTo@QStrokerOps@@QAEXMM@Z @ 9729 NONAME ; void QStrokerOps::moveTo(float, float)
+ ?staticMetaObject@QMdiSubWindow@@2UQMetaObject@@B @ 9730 NONAME ; struct QMetaObject const QMdiSubWindow::staticMetaObject
+ ?setItemDelegate@QDataWidgetMapper@@QAEXPAVQAbstractItemDelegate@@@Z @ 9731 NONAME ; void QDataWidgetMapper::setItemDelegate(class QAbstractItemDelegate *)
+ ?timerEvent@QAbstractSlider@@MAEXPAVQTimerEvent@@@Z @ 9732 NONAME ; void QAbstractSlider::timerEvent(class QTimerEvent *)
+ ?helpRequested@QWizard@@IAEXXZ @ 9733 NONAME ; void QWizard::helpRequested(void)
+ ?registerGestureRecognizer@QApplication@@QAE?AW4GestureType@Qt@@PAVQGestureRecognizer@@@Z @ 9734 NONAME ABSENT ; enum Qt::GestureType QApplication::registerGestureRecognizer(class QGestureRecognizer *)
+ ??0QTableWidgetItem@@QAE@ABVQIcon@@ABVQString@@H@Z @ 9735 NONAME ; QTableWidgetItem::QTableWidgetItem(class QIcon const &, class QString const &, int)
+ ?validatePage@QWizardPage@@UAE_NXZ @ 9736 NONAME ; bool QWizardPage::validatePage(void)
+ ?itemCollapsed@QTreeWidget@@IAEXPAVQTreeWidgetItem@@@Z @ 9737 NONAME ; void QTreeWidget::itemCollapsed(class QTreeWidgetItem *)
+ ?palette@QLineControl@@QBEABVQPalette@@XZ @ 9738 NONAME ; class QPalette const & QLineControl::palette(void) const
+ ?contains@QGraphicsPixmapItem@@UBE_NABVQPointF@@@Z @ 9739 NONAME ; bool QGraphicsPixmapItem::contains(class QPointF const &) const
+ ??1QTextTableFormat@@QAE@XZ @ 9740 NONAME ; QTextTableFormat::~QTextTableFormat(void)
+ ?qt_metacall@QGraphicsScene@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 9741 NONAME ; int QGraphicsScene::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?strength@QGraphicsGrayscaleEffect@@QBEMXZ @ 9742 NONAME ABSENT ; float QGraphicsGrayscaleEffect::strength(void) const
+ ??1QStyleOptionDockWidget@@QAE@XZ @ 9743 NONAME ; QStyleOptionDockWidget::~QStyleOptionDockWidget(void)
+ ?horizontalScrollBarPolicy@QAbstractScrollArea@@QBE?AW4ScrollBarPolicy@Qt@@XZ @ 9744 NONAME ; enum Qt::ScrollBarPolicy QAbstractScrollArea::horizontalScrollBarPolicy(void) const
+ ?contextMenuEvent@QScrollBar@@MAEXPAVQContextMenuEvent@@@Z @ 9745 NONAME ; void QScrollBar::contextMenuEvent(class QContextMenuEvent *)
+ ?autoRepeatInterval@QAbstractButton@@QBEHXZ @ 9746 NONAME ; int QAbstractButton::autoRepeatInterval(void) const
+ ?qt_metacast@QEventDispatcherS60@@UAEPAXPBD@Z @ 9747 NONAME ; void * QEventDispatcherS60::qt_metacast(char const *)
+ ?changeEvent@QAbstractSpinBox@@MAEXPAVQEvent@@@Z @ 9748 NONAME ; void QAbstractSpinBox::changeEvent(class QEvent *)
+ ??1QTextFrameFormat@@QAE@XZ @ 9749 NONAME ; QTextFrameFormat::~QTextFrameFormat(void)
+ ?metaObject@QIconEnginePluginV2@@UBEPBUQMetaObject@@XZ @ 9750 NONAME ; struct QMetaObject const * QIconEnginePluginV2::metaObject(void) const
+ ?tr@QGraphicsView@@SA?AVQString@@PBD0H@Z @ 9751 NONAME ; class QString QGraphicsView::tr(char const *, char const *, int)
+ ?sectionCount@QDateTimeEdit@@QBEHXZ @ 9752 NONAME ; int QDateTimeEdit::sectionCount(void) const
+ ?tr@QFontComboBox@@SA?AVQString@@PBD0H@Z @ 9753 NONAME ; class QString QFontComboBox::tr(char const *, char const *, int)
+ ?set_pal@QApplicationPrivate@@2PAVQPalette@@A @ 9754 NONAME ; class QPalette * QApplicationPrivate::set_pal
+ ?ensureSceneTransform@QGraphicsItemPrivate@@QAEXXZ @ 9755 NONAME ; void QGraphicsItemPrivate::ensureSceneTransform(void)
+ ?staticMetaObject@QHeaderView@@2UQMetaObject@@B @ 9756 NONAME ; struct QMetaObject const QHeaderView::staticMetaObject
+ ?dragMoveEvent@QGraphicsItem@@MAEXPAVQGraphicsSceneDragDropEvent@@@Z @ 9757 NONAME ; void QGraphicsItem::dragMoveEvent(class QGraphicsSceneDragDropEvent *)
+ ?pixelMetric@QWindowsStyle@@UBEHW4PixelMetric@QStyle@@PBVQStyleOption@@PBVQWidget@@@Z @ 9758 NONAME ; int QWindowsStyle::pixelMetric(enum QStyle::PixelMetric, class QStyleOption const *, class QWidget const *) const
+ ?toVector3DAffine@QVector4D@@QBE?AVQVector3D@@XZ @ 9759 NONAME ; class QVector3D QVector4D::toVector3DAffine(void) const
+ ?emitCubicTo@QStrokerOps@@IAEXMMMMMM@Z @ 9760 NONAME ; void QStrokerOps::emitCubicTo(float, float, float, float, float, float)
+ ?metric@QPixmap@@MBEHW4PaintDeviceMetric@QPaintDevice@@@Z @ 9761 NONAME ; int QPixmap::metric(enum QPaintDevice::PaintDeviceMetric) const
+ ?sortItems@QListWidget@@QAEXW4SortOrder@Qt@@@Z @ 9762 NONAME ; void QListWidget::sortItems(enum Qt::SortOrder)
+ ?trUtf8@QTextDocument@@SA?AVQString@@PBD0H@Z @ 9763 NONAME ; class QString QTextDocument::trUtf8(char const *, char const *, int)
+ ??0QPanGesture@@QAE@PAVQObject@@@Z @ 9764 NONAME ; QPanGesture::QPanGesture(class QObject *)
+ ?clipRegion@QWidgetPrivate@@QBE?AVQRegion@@XZ @ 9765 NONAME ; class QRegion QWidgetPrivate::clipRegion(void) const
+ ?matrix@QGraphicsItem@@QBE?AVQMatrix@@XZ @ 9766 NONAME ; class QMatrix QGraphicsItem::matrix(void) const
+ ?fileName@QImageReader@@QBE?AVQString@@XZ @ 9767 NONAME ; class QString QImageReader::fileName(void) const
+ ?setText@QTextLayout@@QAEXABVQString@@@Z @ 9768 NONAME ; void QTextLayout::setText(class QString const &)
+ ?frameRect@QMovie@@QBE?AVQRect@@XZ @ 9769 NONAME ; class QRect QMovie::frameRect(void) const
+ ?setPrefix@QDoubleSpinBox@@QAEXABVQString@@@Z @ 9770 NONAME ; void QDoubleSpinBox::setPrefix(class QString const &)
+ ?metaObject@QRadioButton@@UBEPBUQMetaObject@@XZ @ 9771 NONAME ; struct QMetaObject const * QRadioButton::metaObject(void) const
+ ??1QTabWidget@@UAE@XZ @ 9772 NONAME ; QTabWidget::~QTabWidget(void)
+ ?setBrightness@QGraphicsBloomEffect@@QAEXH@Z @ 9773 NONAME ABSENT ; void QGraphicsBloomEffect::setBrightness(int)
+ ?detach@QRegion@@AAEXXZ @ 9774 NONAME ; void QRegion::detach(void)
+ ?d_func@QPixmapColorizeFilter@@ABEPBVQPixmapColorizeFilterPrivate@@XZ @ 9775 NONAME ; class QPixmapColorizeFilterPrivate const * QPixmapColorizeFilter::d_func(void) const
+ ?currentIndex@QTabWidget@@QBEHXZ @ 9776 NONAME ; int QTabWidget::currentIndex(void) const
+ ?trUtf8@QInputContextPlugin@@SA?AVQString@@PBD0H@Z @ 9777 NONAME ; class QString QInputContextPlugin::trUtf8(char const *, char const *, int)
+ ?contextMenuEvent@QDialog@@MAEXPAVQContextMenuEvent@@@Z @ 9778 NONAME ; void QDialog::contextMenuEvent(class QContextMenuEvent *)
+ ?addRoundRect@QPainterPath@@QAEXABVQRectF@@H@Z @ 9779 NONAME ; void QPainterPath::addRoundRect(class QRectF const &, int)
+ ??0QGraphicsView@@IAE@AAVQGraphicsViewPrivate@@PAVQWidget@@@Z @ 9780 NONAME ; QGraphicsView::QGraphicsView(class QGraphicsViewPrivate &, class QWidget *)
+ ?getStaticMetaObject@QS60Style@@SAABUQMetaObject@@XZ @ 9781 NONAME ; struct QMetaObject const & QS60Style::getStaticMetaObject(void)
+ ?setPen@QPainter@@QAEXABVQColor@@@Z @ 9782 NONAME ; void QPainter::setPen(class QColor const &)
+ ?setData@QAction@@QAEXABVQVariant@@@Z @ 9783 NONAME ; void QAction::setData(class QVariant const &)
+ ?subTitle@QWizardPage@@QBE?AVQString@@XZ @ 9784 NONAME ; class QString QWizardPage::subTitle(void) const
+ ?save@QPainter@@QAEXXZ @ 9785 NONAME ; void QPainter::save(void)
+ ??1QTextTable@@UAE@XZ @ 9786 NONAME ; QTextTable::~QTextTable(void)
+ ?resizeEvent@QGraphicsView@@MAEXPAVQResizeEvent@@@Z @ 9787 NONAME ; void QGraphicsView::resizeEvent(class QResizeEvent *)
+ ?insertToolBar@QMainWindow@@QAEXPAVQToolBar@@0@Z @ 9788 NONAME ; void QMainWindow::insertToolBar(class QToolBar *, class QToolBar *)
+ ?optimizationFlags@QGraphicsView@@QBE?AV?$QFlags@W4OptimizationFlag@QGraphicsView@@@@XZ @ 9789 NONAME ; class QFlags<enum QGraphicsView::OptimizationFlag> QGraphicsView::optimizationFlags(void) const
+ ?rowsInserted@QTreeView@@MAEXABVQModelIndex@@HH@Z @ 9790 NONAME ; void QTreeView::rowsInserted(class QModelIndex const &, int, int)
+ ?unquotedLexem@Parser@QCss@@QBE?AVQString@@XZ @ 9791 NONAME ; class QString QCss::Parser::unquotedLexem(void) const
+ ?showShaded@QMdiSubWindow@@QAEXXZ @ 9792 NONAME ; void QMdiSubWindow::showShaded(void)
+ ??_EQGraphicsSceneHelpEvent@@UAE@I@Z @ 9793 NONAME ; QGraphicsSceneHelpEvent::~QGraphicsSceneHelpEvent(unsigned int)
+ ?inputMethodEvent@QWidget@@MAEXPAVQInputMethodEvent@@@Z @ 9794 NONAME ; void QWidget::inputMethodEvent(class QInputMethodEvent *)
+ ?drawLine@QPainter@@QAEXHHHH@Z @ 9795 NONAME ; void QPainter::drawLine(int, int, int, int)
+ ?getStaticMetaObject@QRegExpValidator@@SAABUQMetaObject@@XZ @ 9796 NONAME ; struct QMetaObject const & QRegExpValidator::getStaticMetaObject(void)
+ ?movePosition@QTextCursor@@QAE_NW4MoveOperation@1@W4MoveMode@1@H@Z @ 9797 NONAME ; bool QTextCursor::movePosition(enum QTextCursor::MoveOperation, enum QTextCursor::MoveMode, int)
+ ?tr@QGraphicsEffectSource@@SA?AVQString@@PBD0H@Z @ 9798 NONAME ; class QString QGraphicsEffectSource::tr(char const *, char const *, int)
+ ?staticMetaObject@QLCDNumber@@2UQMetaObject@@B @ 9799 NONAME ; struct QMetaObject const QLCDNumber::staticMetaObject
+ ?items@QListWidget@@IBE?AV?$QList@PAVQListWidgetItem@@@@PBVQMimeData@@@Z @ 9800 NONAME ; class QList<class QListWidgetItem *> QListWidget::items(class QMimeData const *) const
+ ?qt_metacast@QAbstractItemDelegate@@UAEPAXPBD@Z @ 9801 NONAME ; void * QAbstractItemDelegate::qt_metacast(char const *)
+ ?radius@QPixmapBlurFilter@@QBEHXZ @ 9802 NONAME ABSENT ; int QPixmapBlurFilter::radius(void) const
+ ?clearSubFocus@QGraphicsItemPrivate@@QAEXPAVQGraphicsItem@@@Z @ 9803 NONAME ; void QGraphicsItemPrivate::clearSubFocus(class QGraphicsItem *)
+ ??_EQPlainTextDocumentLayout@@UAE@I@Z @ 9804 NONAME ; QPlainTextDocumentLayout::~QPlainTextDocumentLayout(unsigned int)
+ ?nodeNameEquals@StyleSelector@QCss@@UBE_NTNodePtr@12@ABVQString@@@Z @ 9805 NONAME ; bool QCss::StyleSelector::nodeNameEquals(union QCss::StyleSelector::NodePtr, class QString const &) const
+ ?widthF@QPen@@QBEMXZ @ 9806 NONAME ; float QPen::widthF(void) const
+ ?mouseMoveEvent@QAbstractItemView@@MAEXPAVQMouseEvent@@@Z @ 9807 NONAME ; void QAbstractItemView::mouseMoveEvent(class QMouseEvent *)
+ ?styleHint@QWindowsStyle@@UBEHW4StyleHint@QStyle@@PBVQStyleOption@@PBVQWidget@@PAVQStyleHintReturn@@@Z @ 9808 NONAME ; int QWindowsStyle::styleHint(enum QStyle::StyleHint, class QStyleOption const *, class QWidget const *, class QStyleHintReturn *) const
+ ?SetCursorSelectionForFepL@QCoeFepInputContext@@UAEXABVTCursorSelection@@@Z @ 9809 NONAME ABSENT ; void QCoeFepInputContext::SetCursorSelectionForFepL(class TCursorSelection const &)
+ ??1QClipboardEvent@@UAE@XZ @ 9810 NONAME ; QClipboardEvent::~QClipboardEvent(void)
+ ?textLanguages@QImage@@QBE?AVQStringList@@XZ @ 9811 NONAME ; class QStringList QImage::textLanguages(void) const
+ ?page@QWizard@@QBEPAVQWizardPage@@H@Z @ 9812 NONAME ; class QWizardPage * QWizard::page(int) const
+ ??1QStyleHintReturnVariant@@QAE@XZ @ 9813 NONAME ; QStyleHintReturnVariant::~QStyleHintReturnVariant(void)
+ ?qt_metacall@QCommonStyle@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 9814 NONAME ; int QCommonStyle::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?trUtf8@QImageIOPlugin@@SA?AVQString@@PBD0H@Z @ 9815 NONAME ; class QString QImageIOPlugin::trUtf8(char const *, char const *, int)
+ ?dropEvent@QLineEdit@@MAEXPAVQDropEvent@@@Z @ 9816 NONAME ; void QLineEdit::dropEvent(class QDropEvent *)
+ ??0QValidator@@IAE@AAVQObjectPrivate@@PAVQObject@@@Z @ 9817 NONAME ; QValidator::QValidator(class QObjectPrivate &, class QObject *)
+ ?parseFunction@Parser@QCss@@QAE_NPAVQString@@0@Z @ 9818 NONAME ; bool QCss::Parser::parseFunction(class QString *, class QString *)
+ ?drawLines@QPainter@@QAEXPBVQPointF@@H@Z @ 9819 NONAME ; void QPainter::drawLines(class QPointF const *, int)
+ ?dragEnterEvent@QGraphicsView@@MAEXPAVQDragEnterEvent@@@Z @ 9820 NONAME ; void QGraphicsView::dragEnterEvent(class QDragEnterEvent *)
+ ??0Key@QPixmapCache@@QAE@XZ @ 9821 NONAME ; QPixmapCache::Key::Key(void)
+ ?window@QPainter@@QBE?AVQRect@@XZ @ 9822 NONAME ; class QRect QPainter::window(void) const
+ ??_EQTabWidget@@UAE@I@Z @ 9823 NONAME ; QTabWidget::~QTabWidget(unsigned int)
+ ?setButtons@QGraphicsSceneWheelEvent@@QAEXV?$QFlags@W4MouseButton@Qt@@@@@Z @ 9824 NONAME ; void QGraphicsSceneWheelEvent::setButtons(class QFlags<enum Qt::MouseButton>)
+ ??_EQWidgetPrivate@@UAE@I@Z @ 9825 NONAME ; QWidgetPrivate::~QWidgetPrivate(unsigned int)
+ ?dragEnabled@QAbstractItemView@@QBE_NXZ @ 9826 NONAME ; bool QAbstractItemView::dragEnabled(void) const
+ ??0QImage@@QAE@PBD0@Z @ 9827 NONAME ; QImage::QImage(char const *, char const *)
+ ?getStaticMetaObject@QKeyEventTransition@@SAABUQMetaObject@@XZ @ 9828 NONAME ; struct QMetaObject const & QKeyEventTransition::getStaticMetaObject(void)
+ ?ensureSpace@QTextEngine@@QBEXH@Z @ 9829 NONAME ; void QTextEngine::ensureSpace(int) const
+ ?testAttrib@Parser@QCss@@QAE_NXZ @ 9830 NONAME ; bool QCss::Parser::testAttrib(void)
+ ?underline@QFontInfo@@QBE_NXZ @ 9831 NONAME ; bool QFontInfo::underline(void) const
+ ?d_func@QGraphicsProxyWidget@@AAEPAVQGraphicsProxyWidgetPrivate@@XZ @ 9832 NONAME ; class QGraphicsProxyWidgetPrivate * QGraphicsProxyWidget::d_func(void)
+ ??0QTabWidget@@QAE@PAVQWidget@@@Z @ 9833 NONAME ; QTabWidget::QTabWidget(class QWidget *)
+ ?deleteWidget@QWidgetAction@@MAEXPAVQWidget@@@Z @ 9834 NONAME ; void QWidgetAction::deleteWidget(class QWidget *)
+ ??_EQStyledItemDelegate@@UAE@I@Z @ 9835 NONAME ; QStyledItemDelegate::~QStyledItemDelegate(unsigned int)
+ ?itemTextRect@QProxyStyle@@UBE?AVQRect@@ABVQFontMetrics@@ABV2@H_NABVQString@@@Z @ 9836 NONAME ; class QRect QProxyStyle::itemTextRect(class QFontMetrics const &, class QRect const &, int, bool, class QString const &) const
+ ??1QImageIOHandlerFactoryInterface@@UAE@XZ @ 9837 NONAME ; QImageIOHandlerFactoryInterface::~QImageIOHandlerFactoryInterface(void)
+ ?setWidget@QGestureEvent@@QAEXPAVQWidget@@@Z @ 9838 NONAME ; void QGestureEvent::setWidget(class QWidget *)
+ ?d_func@QRasterWindowSurface@@ABEPBVQRasterWindowSurfacePrivate@@XZ @ 9839 NONAME ; class QRasterWindowSurfacePrivate const * QRasterWindowSurface::d_func(void) const
+ ?possibleActions@QGraphicsSceneDragDropEvent@@QBE?AV?$QFlags@W4DropAction@Qt@@@@XZ @ 9840 NONAME ; class QFlags<enum Qt::DropAction> QGraphicsSceneDragDropEvent::possibleActions(void) const
+ ?editorEvent@QItemDelegate@@MAE_NPAVQEvent@@PAVQAbstractItemModel@@ABVQStyleOptionViewItem@@ABVQModelIndex@@@Z @ 9841 NONAME ; bool QItemDelegate::editorEvent(class QEvent *, class QAbstractItemModel *, class QStyleOptionViewItem const &, class QModelIndex const &)
+ ?color@QBrush@@QBEABVQColor@@XZ @ 9842 NONAME ; class QColor const & QBrush::color(void) const
+ ?setWordWrap@QListView@@QAEX_N@Z @ 9843 NONAME ; void QListView::setWordWrap(bool)
+ ?getStaticMetaObject@QTextBrowser@@SAABUQMetaObject@@XZ @ 9844 NONAME ; struct QMetaObject const & QTextBrowser::getStaticMetaObject(void)
+ ?parent@QStandardItemModel@@UBE?AVQModelIndex@@ABV2@@Z @ 9845 NONAME ; class QModelIndex QStandardItemModel::parent(class QModelIndex const &) const
+ ?textBackgroundColor@QTextEdit@@QBE?AVQColor@@XZ @ 9846 NONAME ; class QColor QTextEdit::textBackgroundColor(void) const
+ ?centralWidget@QMainWindow@@QBEPAVQWidget@@XZ @ 9847 NONAME ; class QWidget * QMainWindow::centralWidget(void) const
+ ?processInputMethodEvent@QLineControl@@QAEXPAVQInputMethodEvent@@@Z @ 9848 NONAME ; void QLineControl::processInputMethodEvent(class QInputMethodEvent *)
+ ?clearMinimumDateTime@QDateTimeEdit@@QAEXXZ @ 9849 NONAME ; void QDateTimeEdit::clearMinimumDateTime(void)
+ ?leaveEvent@QMenuBar@@MAEXPAVQEvent@@@Z @ 9850 NONAME ; void QMenuBar::leaveEvent(class QEvent *)
+ ?joinStyle@QStroker@@QBE?AW4PenJoinStyle@Qt@@XZ @ 9851 NONAME ; enum Qt::PenJoinStyle QStroker::joinStyle(void) const
+ ?mouseDoubleClickEvent@QTextEdit@@MAEXPAVQMouseEvent@@@Z @ 9852 NONAME ; void QTextEdit::mouseDoubleClickEvent(class QMouseEvent *)
+ ?drawImage@QPainter@@QAEXABVQRect@@ABVQImage@@@Z @ 9853 NONAME ; void QPainter::drawImage(class QRect const &, class QImage const &)
+ ?rotate@QGraphicsItem@@QAEXM@Z @ 9854 NONAME ; void QGraphicsItem::rotate(float)
+ ?setAlpha@QColor@@QAEXH@Z @ 9855 NONAME ; void QColor::setAlpha(int)
+ ??0QStylePlugin@@QAE@PAVQObject@@@Z @ 9856 NONAME ; QStylePlugin::QStylePlugin(class QObject *)
+ ?cursorPosition@QLineEdit@@QBEHXZ @ 9857 NONAME ; int QLineEdit::cursorPosition(void) const
+ ?qt_metacall@QMdiSubWindow@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 9858 NONAME ; int QMdiSubWindow::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ??0QPainter@@QAE@XZ @ 9859 NONAME ; QPainter::QPainter(void)
+ ?setVerticalScrollMode@QAbstractItemView@@QAEXW4ScrollMode@1@@Z @ 9860 NONAME ; void QAbstractItemView::setVerticalScrollMode(enum QAbstractItemView::ScrollMode)
+ ?setChildrenCollapsible@QSplitter@@QAEX_N@Z @ 9861 NONAME ; void QSplitter::setChildrenCollapsible(bool)
+ ?metaObject@QHeaderView@@UBEPBUQMetaObject@@XZ @ 9862 NONAME ; struct QMetaObject const * QHeaderView::metaObject(void) const
+ ??0QColumnView@@IAE@AAVQColumnViewPrivate@@PAVQWidget@@@Z @ 9863 NONAME ; QColumnView::QColumnView(class QColumnViewPrivate &, class QWidget *)
+ ??0QLabel@@QAE@PAVQWidget@@V?$QFlags@W4WindowType@Qt@@@@@Z @ 9864 NONAME ; QLabel::QLabel(class QWidget *, class QFlags<enum Qt::WindowType>)
+ ?source@QDrag@@QBEPAVQWidget@@XZ @ 9865 NONAME ; class QWidget * QDrag::source(void) const
+ ?polish@QCommonStyle@@UAEXPAVQWidget@@@Z @ 9866 NONAME ; void QCommonStyle::polish(class QWidget *)
+ ?setText@QTableWidgetItem@@QAEXABVQString@@@Z @ 9867 NONAME ; void QTableWidgetItem::setText(class QString const &)
+ ?clear@QAbstractSpinBox@@UAEXXZ @ 9868 NONAME ; void QAbstractSpinBox::clear(void)
+ ?flags@QSortFilterProxyModel@@UBE?AV?$QFlags@W4ItemFlag@Qt@@@@ABVQModelIndex@@@Z @ 9869 NONAME ; class QFlags<enum Qt::ItemFlag> QSortFilterProxyModel::flags(class QModelIndex const &) const
+ ?setAcceptedMouseButtons@QGraphicsItem@@QAEXV?$QFlags@W4MouseButton@Qt@@@@@Z @ 9870 NONAME ; void QGraphicsItem::setAcceptedMouseButtons(class QFlags<enum Qt::MouseButton>)
+ ?qt_metacast@QGraphicsPixelizeEffect@@UAEPAXPBD@Z @ 9871 NONAME ABSENT ; void * QGraphicsPixelizeEffect::qt_metacast(char const *)
+ ?loopCount@QImageIOHandler@@UBEHXZ @ 9872 NONAME ; int QImageIOHandler::loopCount(void) const
+ ?items@QGraphicsScene@@QBE?AV?$QList@PAVQGraphicsItem@@@@ABVQPointF@@@Z @ 9873 NONAME ; class QList<class QGraphicsItem *> QGraphicsScene::items(class QPointF const &) const
+ ?rowCount@QGraphicsGridLayout@@QBEHXZ @ 9874 NONAME ; int QGraphicsGridLayout::rowCount(void) const
+ ?maximumSize@QBoxLayout@@UBE?AVQSize@@XZ @ 9875 NONAME ; class QSize QBoxLayout::maximumSize(void) const
+ ?radius@QRadialGradient@@QBEMXZ @ 9876 NONAME ; float QRadialGradient::radius(void) const
+ ?itemFromIndex@QListWidget@@IBEPAVQListWidgetItem@@ABVQModelIndex@@@Z @ 9877 NONAME ; class QListWidgetItem * QListWidget::itemFromIndex(class QModelIndex const &) const
+ ?tr@QPlainTextEdit@@SA?AVQString@@PBD0@Z @ 9878 NONAME ; class QString QPlainTextEdit::tr(char const *, char const *)
+ ?blurRadius@QGraphicsDropShadowEffect@@QBEHXZ @ 9879 NONAME ABSENT ; int QGraphicsDropShadowEffect::blurRadius(void) const
+ ?focusPolicy@QWidget@@QBE?AW4FocusPolicy@Qt@@XZ @ 9880 NONAME ; enum Qt::FocusPolicy QWidget::focusPolicy(void) const
+ ?write@QIconEngineV2@@UBE_NAAVQDataStream@@@Z @ 9881 NONAME ; bool QIconEngineV2::write(class QDataStream &) const
+ ?mouseHandler@QInputContext@@UAEXHPAVQMouseEvent@@@Z @ 9882 NONAME ; void QInputContext::mouseHandler(int, class QMouseEvent *)
+ ?columnCount@QGraphicsGridLayout@@QBEHXZ @ 9883 NONAME ; int QGraphicsGridLayout::columnCount(void) const
+ ?expandToDepth@QTreeView@@QAEXH@Z @ 9884 NONAME ; void QTreeView::expandToDepth(int)
+ ?qt_metacast@QGraphicsWidget@@UAEPAXPBD@Z @ 9885 NONAME ; void * QGraphicsWidget::qt_metacast(char const *)
+ ?setObjectFormatIndex@QTextFormatCollection@@QAEXHH@Z @ 9886 NONAME ; void QTextFormatCollection::setObjectFormatIndex(int, int)
+ ?setGeometry@QStackedLayout@@UAEXABVQRect@@@Z @ 9887 NONAME ; void QStackedLayout::setGeometry(class QRect const &)
+ ?setDuplicatesEnabled@QComboBox@@QAEX_N@Z @ 9888 NONAME ; void QComboBox::setDuplicatesEnabled(bool)
+ ?currentChanged@QAbstractItemView@@MAEXABVQModelIndex@@0@Z @ 9889 NONAME ; void QAbstractItemView::currentChanged(class QModelIndex const &, class QModelIndex const &)
+ ?d_func@QCompleter@@ABEPBVQCompleterPrivate@@XZ @ 9890 NONAME ; class QCompleterPrivate const * QCompleter::d_func(void) const
+ ?background@QMdiArea@@QBE?AVQBrush@@XZ @ 9891 NONAME ; class QBrush QMdiArea::background(void) const
+ ?trUtf8@QColumnView@@SA?AVQString@@PBD0@Z @ 9892 NONAME ; class QString QColumnView::trUtf8(char const *, char const *)
+ ?qt_metacast@QVBoxLayout@@UAEPAXPBD@Z @ 9893 NONAME ; void * QVBoxLayout::qt_metacast(char const *)
+ ?sourceChanged@QTextBrowser@@IAEXABVQUrl@@@Z @ 9894 NONAME ; void QTextBrowser::sourceChanged(class QUrl const &)
+ ??YQMatrix4x4@@QAEAAV0@ABV0@@Z @ 9895 NONAME ; class QMatrix4x4 & QMatrix4x4::operator+=(class QMatrix4x4 const &)
+ ?mouseReleaseEvent@QScrollBar@@MAEXPAVQMouseEvent@@@Z @ 9896 NONAME ; void QScrollBar::mouseReleaseEvent(class QMouseEvent *)
+ ?lostFocus@QFocusEvent@@QBE_NXZ @ 9897 NONAME ; bool QFocusEvent::lostFocus(void) const
+ ?baseStyle@QProxyStyle@@QBEPAVQStyle@@XZ @ 9898 NONAME ; class QStyle * QProxyStyle::baseStyle(void) const
+ ?metaObject@QLineEdit@@UBEPBUQMetaObject@@XZ @ 9899 NONAME ; struct QMetaObject const * QLineEdit::metaObject(void) const
+ ?d_func@QPixmapBlurFilter@@ABEPBVQPixmapBlurFilterPrivate@@XZ @ 9900 NONAME ; class QPixmapBlurFilterPrivate const * QPixmapBlurFilter::d_func(void) const
+ ?wheel_scroll_lines@QApplicationPrivate@@2HA @ 9901 NONAME ; int QApplicationPrivate::wheel_scroll_lines
+ ?metaObject@QSplitter@@UBEPBUQMetaObject@@XZ @ 9902 NONAME ; struct QMetaObject const * QSplitter::metaObject(void) const
+ ??0QTransform@@AAE@MMMMMMMMM_N@Z @ 9903 NONAME ; QTransform::QTransform(float, float, float, float, float, float, float, float, float, bool)
+ ?rgbSwapped@QImage@@QBE?AV1@XZ @ 9904 NONAME ; class QImage QImage::rgbSwapped(void) const
+ ??0QStyleOptionTabWidgetFrame@@QAE@ABV0@@Z @ 9905 NONAME ; QStyleOptionTabWidgetFrame::QStyleOptionTabWidgetFrame(class QStyleOptionTabWidgetFrame const &)
+ ?dockLocationChanged@QDockWidget@@IAEXW4DockWidgetArea@Qt@@@Z @ 9906 NONAME ; void QDockWidget::dockLocationChanged(enum Qt::DockWidgetArea)
+ ?map@QMatrix@@QBE?AVQPainterPath@@ABV2@@Z @ 9907 NONAME ; class QPainterPath QMatrix::map(class QPainterPath const &) const
+ ?transposed@QTransform@@QBE?AV1@XZ @ 9908 NONAME ; class QTransform QTransform::transposed(void) const
+ ?resize@QWidget@@QAEXABVQSize@@@Z @ 9909 NONAME ; void QWidget::resize(class QSize const &)
+ ?rootIndex@QDataWidgetMapper@@QBE?AVQModelIndex@@XZ @ 9910 NONAME ; class QModelIndex QDataWidgetMapper::rootIndex(void) const
+ ?metaObject@QCompleter@@UBEPBUQMetaObject@@XZ @ 9911 NONAME ; struct QMetaObject const * QCompleter::metaObject(void) const
+ ?format@QTextList@@QBE?AVQTextListFormat@@XZ @ 9912 NONAME ; class QTextListFormat QTextList::format(void) const
+ ?insertRow@QStandardItem@@QAEXHPAV1@@Z @ 9913 NONAME ; void QStandardItem::insertRow(int, class QStandardItem *)
+ ?redirected@QPainter@@SAPAVQPaintDevice@@PBV2@PAVQPoint@@@Z @ 9914 NONAME ; class QPaintDevice * QPainter::redirected(class QPaintDevice const *, class QPoint *)
+ ?setChildIndicatorPolicy@QTreeWidgetItem@@QAEXW4ChildIndicatorPolicy@1@@Z @ 9915 NONAME ; void QTreeWidgetItem::setChildIndicatorPolicy(enum QTreeWidgetItem::ChildIndicatorPolicy)
+ ?clear@QTreeWidget@@QAEXXZ @ 9916 NONAME ; void QTreeWidget::clear(void)
+ ?setBaseStyle@QProxyStyle@@QAEXPAVQStyle@@@Z @ 9917 NONAME ; void QProxyStyle::setBaseStyle(class QStyle *)
+ ?rubberBandSelectionMode@QGraphicsView@@QBE?AW4ItemSelectionMode@Qt@@XZ @ 9918 NONAME ; enum Qt::ItemSelectionMode QGraphicsView::rubberBandSelectionMode(void) const
+ ??0QPalette@@QAE@W4GlobalColor@Qt@@@Z @ 9919 NONAME ; QPalette::QPalette(enum Qt::GlobalColor)
+ ?moveCursor@QListView@@MAE?AVQModelIndex@@W4CursorAction@QAbstractItemView@@V?$QFlags@W4KeyboardModifier@Qt@@@@@Z @ 9920 NONAME ; class QModelIndex QListView::moveCursor(enum QAbstractItemView::CursorAction, class QFlags<enum Qt::KeyboardModifier>)
+ ?canRedoChanged@QUndoGroup@@IAEX_N@Z @ 9921 NONAME ; void QUndoGroup::canRedoChanged(bool)
+ ?isTabEnabled@QTabWidget@@QBE_NH@Z @ 9922 NONAME ; bool QTabWidget::isTabEnabled(int) const
+ ?qt_metacast@QDesktopWidget@@UAEPAXPBD@Z @ 9923 NONAME ; void * QDesktopWidget::qt_metacast(char const *)
+ ?widget@QWidgetItem@@UAEPAVQWidget@@XZ @ 9924 NONAME ; class QWidget * QWidgetItem::widget(void)
+ ?stepBy@QAbstractSpinBox@@UAEXH@Z @ 9925 NONAME ; void QAbstractSpinBox::stepBy(int)
+ ?speed@QMovie@@QBEHXZ @ 9926 NONAME ; int QMovie::speed(void) const
+ ?determinant@QMatrix4x4@@QBEMXZ @ 9927 NONAME ; float QMatrix4x4::determinant(void) const
+ ?anchorPosition@QTextControl@@QBE?AVQPointF@@ABVQString@@@Z @ 9928 NONAME ; class QPointF QTextControl::anchorPosition(class QString const &) const
+ ?setPageBreakPolicy@QTextFrameFormat@@QAEXV?$QFlags@W4PageBreakFlag@QTextFormat@@@@@Z @ 9929 NONAME ; void QTextFrameFormat::setPageBreakPolicy(class QFlags<enum QTextFormat::PageBreakFlag>)
+ ??0QWindowStateChangeEvent@@QAE@V?$QFlags@W4WindowState@Qt@@@@@Z @ 9930 NONAME ; QWindowStateChangeEvent::QWindowStateChangeEvent(class QFlags<enum Qt::WindowState>)
+ ?itemAbove@QTreeWidget@@QBEPAVQTreeWidgetItem@@PBV2@@Z @ 9931 NONAME ; class QTreeWidgetItem * QTreeWidget::itemAbove(class QTreeWidgetItem const *) const
+ ?setCenter@QConicalGradient@@QAEXABVQPointF@@@Z @ 9932 NONAME ; void QConicalGradient::setCenter(class QPointF const &)
+ ?minimum@QDoubleSpinBox@@QBENXZ @ 9933 NONAME ; double QDoubleSpinBox::minimum(void) const
+ ?rowWrapPolicy@QFormLayout@@QBE?AW4RowWrapPolicy@1@XZ @ 9934 NONAME ; enum QFormLayout::RowWrapPolicy QFormLayout::rowWrapPolicy(void) const
+ ?trUtf8@QPanGesture@@SA?AVQString@@PBD0H@Z @ 9935 NONAME ; class QString QPanGesture::trUtf8(char const *, char const *, int)
+ ?setStretchFactor@QBoxLayout@@QAE_NPAVQWidget@@H@Z @ 9936 NONAME ; bool QBoxLayout::setStretchFactor(class QWidget *, int)
+ ?grabKeyboardEvent@QGraphicsWidget@@MAEXPAVQEvent@@@Z @ 9937 NONAME ; void QGraphicsWidget::grabKeyboardEvent(class QEvent *)
+ ?setWorldTransform@QPainter@@QAEXABVQTransform@@_N@Z @ 9938 NONAME ; void QPainter::setWorldTransform(class QTransform const &, bool)
+ ?hasEditFocus@QWidget@@QBE_NXZ @ 9939 NONAME ; bool QWidget::hasEditFocus(void) const
+ ?setActive@QWidgetResizeHandler@@QAEXW4Action@1@_N@Z @ 9940 NONAME ; void QWidgetResizeHandler::setActive(enum QWidgetResizeHandler::Action, bool)
+ ?setMinimumSize@QWidget@@QAEXABVQSize@@@Z @ 9941 NONAME ; void QWidget::setMinimumSize(class QSize const &)
+ ?iconSize@QComboBox@@QBE?AVQSize@@XZ @ 9942 NONAME ; class QSize QComboBox::iconSize(void) const
+ ?selectedItems@QTreeWidget@@QBE?AV?$QList@PAVQTreeWidgetItem@@@@XZ @ 9943 NONAME ; class QList<class QTreeWidgetItem *> QTreeWidget::selectedItems(void) const
+ ?setItemWidget@QListWidget@@QAEXPAVQListWidgetItem@@PAVQWidget@@@Z @ 9944 NONAME ; void QListWidget::setItemWidget(class QListWidgetItem *, class QWidget *)
+ ??1QGraphicsLayoutItem@@UAE@XZ @ 9945 NONAME ; QGraphicsLayoutItem::~QGraphicsLayoutItem(void)
+ ?getStaticMetaObject@QGraphicsProxyWidget@@SAABUQMetaObject@@XZ @ 9946 NONAME ; struct QMetaObject const & QGraphicsProxyWidget::getStaticMetaObject(void)
+ ??_EQRadioButton@@UAE@I@Z @ 9947 NONAME ; QRadioButton::~QRadioButton(unsigned int)
+ ?insertColumns@QProxyModel@@UAE_NHHABVQModelIndex@@@Z @ 9948 NONAME ; bool QProxyModel::insertColumns(int, int, class QModelIndex const &)
+ ?find@QPixmapCache@@SAPAVQPixmap@@ABVQString@@@Z @ 9949 NONAME ; class QPixmap * QPixmapCache::find(class QString const &)
+ ??1QInputDialog@@UAE@XZ @ 9950 NONAME ; QInputDialog::~QInputDialog(void)
+ ?mapFromScene@QGraphicsItem@@QBE?AVQPolygonF@@ABV2@@Z @ 9951 NONAME ; class QPolygonF QGraphicsItem::mapFromScene(class QPolygonF const &) const
+ ?mousePressEvent@QTextEdit@@MAEXPAVQMouseEvent@@@Z @ 9952 NONAME ; void QTextEdit::mousePressEvent(class QMouseEvent *)
+ ?d_func@QImageIOHandler@@ABEPBVQImageIOHandlerPrivate@@XZ @ 9953 NONAME ; class QImageIOHandlerPrivate const * QImageIOHandler::d_func(void) const
+ ?putPoints@QPolygon@@QAEXHHPBH@Z @ 9954 NONAME ; void QPolygon::putPoints(int, int, int const *)
+ ?qt_filedialog_open_filename_hook@@3P6A?AVQString@@PAVQWidget@@ABV1@11PAV1@V?$QFlags@W4Option@QFileDialog@@@@@ZA @ 9955 NONAME ; class QString (*qt_filedialog_open_filename_hook)(class QWidget *, class QString const &, class QString const &, class QString const &, class QString *, class QFlags<enum QFileDialog::Option>)
+ ?saveState@QHeaderView@@QBE?AVQByteArray@@XZ @ 9956 NONAME ; class QByteArray QHeaderView::saveState(void) const
+ ?valuePropertyName@QItemEditorFactory@@UBE?AVQByteArray@@W4Type@QVariant@@@Z @ 9957 NONAME ; class QByteArray QItemEditorFactory::valuePropertyName(enum QVariant::Type) const
+ ?focusInEvent@QLabel@@MAEXPAVQFocusEvent@@@Z @ 9958 NONAME ; void QLabel::focusInEvent(class QFocusEvent *)
+ ?toString@Value@QCss@@QBE?AVQString@@XZ @ 9959 NONAME ; class QString QCss::Value::toString(void) const
+ ?GetCursorSelectionForFep@QCoeFepInputContext@@UBEXAAVTCursorSelection@@@Z @ 9960 NONAME ABSENT ; void QCoeFepInputContext::GetCursorSelectionForFep(class TCursorSelection &) const
+ ??0QTransform@@QAE@ABVQMatrix@@@Z @ 9961 NONAME ; QTransform::QTransform(class QMatrix const &)
+ ?setViewMode@QFileDialog@@QAEXW4ViewMode@1@@Z @ 9962 NONAME ; void QFileDialog::setViewMode(enum QFileDialog::ViewMode)
+ ?setCurrentCharFormat@QTextControl@@QAEXABVQTextCharFormat@@@Z @ 9963 NONAME ; void QTextControl::setCurrentCharFormat(class QTextCharFormat const &)
+ ??6@YAAAVQDataStream@@AAV0@ABVQPalette@@@Z @ 9964 NONAME ; class QDataStream & operator<<(class QDataStream &, class QPalette const &)
+ ??_EQHelpEvent@@UAE@I@Z @ 9965 NONAME ; QHelpEvent::~QHelpEvent(unsigned int)
+ ?verticalScaleAt@QGraphicsItemAnimation@@QBEMM@Z @ 9966 NONAME ; float QGraphicsItemAnimation::verticalScaleAt(float) const
+ ?State@QCoeFepInputContext@@UAEPAVCState@MCoeFepAwareTextEditor_Extension1@@VTUid@@@Z @ 9967 NONAME ABSENT ; class MCoeFepAwareTextEditor_Extension1::CState * QCoeFepInputContext::State(class TUid)
+ ?q_func@QGraphicsEffectPrivate@@AAEPAVQGraphicsEffect@@XZ @ 9968 NONAME ; class QGraphicsEffect * QGraphicsEffectPrivate::q_func(void)
+ ?trUtf8@QRadioButton@@SA?AVQString@@PBD0@Z @ 9969 NONAME ; class QString QRadioButton::trUtf8(char const *, char const *)
+ ?setVerticalHeaderFormat@QCalendarWidget@@QAEXW4VerticalHeaderFormat@1@@Z @ 9970 NONAME ; void QCalendarWidget::setVerticalHeaderFormat(enum QCalendarWidget::VerticalHeaderFormat)
+ ?q_func@QLayoutPrivate@@AAEPAVQLayout@@XZ @ 9971 NONAME ; class QLayout * QLayoutPrivate::q_func(void)
+ ?d_func@QAbstractSpinBox@@ABEPBVQAbstractSpinBoxPrivate@@XZ @ 9972 NONAME ; class QAbstractSpinBoxPrivate const * QAbstractSpinBox::d_func(void) const
+ ?timerEvent@QLineControl@@MAEXPAVQTimerEvent@@@Z @ 9973 NONAME ; void QLineControl::timerEvent(class QTimerEvent *)
+ ?setTotalScaleFactor@QPinchGesture@@QAEXM@Z @ 9974 NONAME ; void QPinchGesture::setTotalScaleFactor(float)
+ ?fontPointSize@QTextEdit@@QBEMXZ @ 9975 NONAME ; float QTextEdit::fontPointSize(void) const
+ ?model@QItemSelectionModel@@QBEPBVQAbstractItemModel@@XZ @ 9976 NONAME ; class QAbstractItemModel const * QItemSelectionModel::model(void) const
+ ?event@QSplashScreen@@MAE_NPAVQEvent@@@Z @ 9977 NONAME ; bool QSplashScreen::event(class QEvent *)
+ ?nativeChildrenForced@QWidgetPrivate@@QBE_NXZ @ 9978 NONAME ; bool QWidgetPrivate::nativeChildrenForced(void) const
+ ?keyReleaseEvent@QAbstractSpinBox@@MAEXPAVQKeyEvent@@@Z @ 9979 NONAME ; void QAbstractSpinBox::keyReleaseEvent(class QKeyEvent *)
+ ?mousePressEvent@QHeaderView@@MAEXPAVQMouseEvent@@@Z @ 9980 NONAME ; void QHeaderView::mousePressEvent(class QMouseEvent *)
+ ?map@QTransform@@QBE?AVQLine@@ABV2@@Z @ 9981 NONAME ; class QLine QTransform::map(class QLine const &) const
+ ??_EQInputContextPlugin@@UAE@I@Z @ 9982 NONAME ; QInputContextPlugin::~QInputContextPlugin(unsigned int)
+ ?setCacheLimit@QPixmapCache@@SAXH@Z @ 9983 NONAME ; void QPixmapCache::setCacheLimit(int)
+ ?qt_metacall@QLabel@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 9984 NONAME ; int QLabel::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ??0QSymbianEvent@@QAE@PBVTWsEvent@@@Z @ 9985 NONAME ; QSymbianEvent::QSymbianEvent(class TWsEvent const *)
+ ??0QTextCursor@@QAE@PAVQTextCursorPrivate@@@Z @ 9986 NONAME ; QTextCursor::QTextCursor(class QTextCursorPrivate *)
+ ?repaint@QSplashScreen@@QAEXXZ @ 9987 NONAME ; void QSplashScreen::repaint(void)
+ ?qt_metacall@QTextDocument@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 9988 NONAME ; int QTextDocument::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?sizeHint@QStandardItem@@QBE?AVQSize@@XZ @ 9989 NONAME ; class QSize QStandardItem::sizeHint(void) const
+ ?qt_metacast@QStringListModel@@UAEPAXPBD@Z @ 9990 NONAME ; void * QStringListModel::qt_metacast(char const *)
+ ??0QRadioButton@@QAE@PAVQWidget@@@Z @ 9991 NONAME ; QRadioButton::QRadioButton(class QWidget *)
+ ?setPalette@QWidget@@QAEXABVQPalette@@@Z @ 9992 NONAME ; void QWidget::setPalette(class QPalette const &)
+ ??0QRadialGradient@@QAE@XZ @ 9993 NONAME ; QRadialGradient::QRadialGradient(void)
+ ??0QStackedWidget@@QAE@PAVQWidget@@@Z @ 9994 NONAME ; QStackedWidget::QStackedWidget(class QWidget *)
+ ?setContextMenuPolicy@QWidget@@QAEXW4ContextMenuPolicy@Qt@@@Z @ 9995 NONAME ; void QWidget::setContextMenuPolicy(enum Qt::ContextMenuPolicy)
+ ??1QKeySequence@@QAE@XZ @ 9996 NONAME ; QKeySequence::~QKeySequence(void)
+ ?topRow@QTableWidgetSelectionRange@@QBEHXZ @ 9997 NONAME ; int QTableWidgetSelectionRange::topRow(void) const
+ ?scanLine@QImage@@QAEPAEH@Z @ 9998 NONAME ; unsigned char * QImage::scanLine(int)
+ ?setViewportMargins@QAbstractScrollArea@@IAEXHHHH@Z @ 9999 NONAME ; void QAbstractScrollArea::setViewportMargins(int, int, int, int)
+ ?hasScaledContents@QLabel@@QBE_NXZ @ 10000 NONAME ; bool QLabel::hasScaledContents(void) const
+ ??1QStyleOptionViewItemV3@@QAE@XZ @ 10001 NONAME ; QStyleOptionViewItemV3::~QStyleOptionViewItemV3(void)
+ ?event@QTabBar@@MAE_NPAVQEvent@@@Z @ 10002 NONAME ; bool QTabBar::event(class QEvent *)
+ ?updateGeometry@QGraphicsWidget@@MAEXXZ @ 10003 NONAME ; void QGraphicsWidget::updateGeometry(void)
+ ?trUtf8@QProgressDialog@@SA?AVQString@@PBD0@Z @ 10004 NONAME ; class QString QProgressDialog::trUtf8(char const *, char const *)
+ ?setCursorWidth@QPlainTextDocumentLayout@@QAEXH@Z @ 10005 NONAME ; void QPlainTextDocumentLayout::setCursorWidth(int)
+ ?currentChanged@QHeaderView@@MAEXABVQModelIndex@@0@Z @ 10006 NONAME ; void QHeaderView::currentChanged(class QModelIndex const &, class QModelIndex const &)
+ ?setUniformItemSizes@QListView@@QAEX_N@Z @ 10007 NONAME ; void QListView::setUniformItemSizes(bool)
+ ?setParentLayoutItem@QGraphicsLayoutItem@@QAEXPAV1@@Z @ 10008 NONAME ; void QGraphicsLayoutItem::setParentLayoutItem(class QGraphicsLayoutItem *)
+ ??0QSizePolicy@@QAE@XZ @ 10009 NONAME ; QSizePolicy::QSizePolicy(void)
+ ??0QFileSystemModel@@QAE@PAVQObject@@@Z @ 10010 NONAME ; QFileSystemModel::QFileSystemModel(class QObject *)
+ ?virtual_hook@QIconEngineV2@@UAEXHPAX@Z @ 10011 NONAME ; void QIconEngineV2::virtual_hook(int, void *)
+ ?event@QGroupBox@@MAE_NPAVQEvent@@@Z @ 10012 NONAME ; bool QGroupBox::event(class QEvent *)
+ ?s60AdjustedPosition@QDialog@@AAE_NXZ @ 10013 NONAME ; bool QDialog::s60AdjustedPosition(void)
+ ?d_func@QGraphicsGridLayout@@AAEPAVQGraphicsGridLayoutPrivate@@XZ @ 10014 NONAME ; class QGraphicsGridLayoutPrivate * QGraphicsGridLayout::d_func(void)
+ ?qt_metacall@QGraphicsRotation@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 10015 NONAME ; int QGraphicsRotation::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?setWindow@QPainter@@QAEXHHHH@Z @ 10016 NONAME ; void QPainter::setWindow(int, int, int, int)
+ ?translate@QPainterPath@@QAEXABVQPointF@@@Z @ 10017 NONAME ; void QPainterPath::translate(class QPointF const &)
+ ?canInsertFromMimeData@QTextEdit@@MBE_NPBVQMimeData@@@Z @ 10018 NONAME ; bool QTextEdit::canInsertFromMimeData(class QMimeData const *) const
+ ?maximumBlockCount@QTextDocument@@QBEHXZ @ 10019 NONAME ; int QTextDocument::maximumBlockCount(void) const
+ ?cellPressed@QTableWidget@@IAEXHH@Z @ 10020 NONAME ; void QTableWidget::cellPressed(int, int)
+ ??5@YAAAVQDataStream@@AAV0@AAVQVector4D@@@Z @ 10021 NONAME ; class QDataStream & operator>>(class QDataStream &, class QVector4D &)
+ ??1QGraphicsWidget@@UAE@XZ @ 10022 NONAME ; QGraphicsWidget::~QGraphicsWidget(void)
+ ?isSortLocaleAware@QSortFilterProxyModel@@QBE_NXZ @ 10023 NONAME ; bool QSortFilterProxyModel::isSortLocaleAware(void) const
+ ?x@QContextMenuEvent@@QBEHXZ @ 10024 NONAME ; int QContextMenuEvent::x(void) const
+ ?setWindowModality@QWidget@@QAEXW4WindowModality@Qt@@@Z @ 10025 NONAME ; void QWidget::setWindowModality(enum Qt::WindowModality)
+ ?staticMetaObject@QValidator@@2UQMetaObject@@B @ 10026 NONAME ; struct QMetaObject const QValidator::staticMetaObject
+ ?minimumSize@QLayout@@UBE?AVQSize@@XZ @ 10027 NONAME ; class QSize QLayout::minimumSize(void) const
+ ?pickMouseReceiver@QApplicationPrivate@@SAPAVQWidget@@PAV2@ABVQPoint@@AAV3@W4Type@QEvent@@V?$QFlags@W4MouseButton@Qt@@@@00@Z @ 10028 NONAME ; class QWidget * QApplicationPrivate::pickMouseReceiver(class QWidget *, class QPoint const &, class QPoint &, enum QEvent::Type, class QFlags<enum Qt::MouseButton>, class QWidget *, class QWidget *)
+ ?cubicTo@QPainterPath@@QAEXABVQPointF@@00@Z @ 10029 NONAME ; void QPainterPath::cubicTo(class QPointF const &, class QPointF const &, class QPointF const &)
+ ?getStaticMetaObject@QStyle@@SAABUQMetaObject@@XZ @ 10030 NONAME ; struct QMetaObject const & QStyle::getStaticMetaObject(void)
+ ?setModifiers@QGraphicsSceneContextMenuEvent@@QAEXV?$QFlags@W4KeyboardModifier@Qt@@@@@Z @ 10031 NONAME ; void QGraphicsSceneContextMenuEvent::setModifiers(class QFlags<enum Qt::KeyboardModifier>)
+ ?highlighted@QCompleter@@IAEXABVQString@@@Z @ 10032 NONAME ; void QCompleter::highlighted(class QString const &)
+ ?maxLength@QLineEdit@@QBEHXZ @ 10033 NONAME ; int QLineEdit::maxLength(void) const
+ ?redirected@QWidgetPrivate@@QBEPAVQPaintDevice@@PAVQPoint@@@Z @ 10034 NONAME ; class QPaintDevice * QWidgetPrivate::redirected(class QPoint *) const
+ ?setNormalizedPos@TouchPoint@QTouchEvent@@QAEXABVQPointF@@@Z @ 10035 NONAME ; void QTouchEvent::TouchPoint::setNormalizedPos(class QPointF const &)
+ ??8QSizePolicy@@QBE_NABV0@@Z @ 10036 NONAME ; bool QSizePolicy::operator==(class QSizePolicy const &) const
+ ?staticMetaObject@QUndoView@@2UQMetaObject@@B @ 10037 NONAME ; struct QMetaObject const QUndoView::staticMetaObject
+ ?beginPaint@QWindowSurface@@UAEXABVQRegion@@@Z @ 10038 NONAME ; void QWindowSurface::beginPaint(class QRegion const &)
+ ?setColumnFixedWidth@QGraphicsGridLayout@@QAEXHM@Z @ 10039 NONAME ; void QGraphicsGridLayout::setColumnFixedWidth(int, float)
+ ?z@QVector3D@@QBEMXZ @ 10040 NONAME ; float QVector3D::z(void) const
+ ?supportedImageFormats@QImageWriter@@SA?AV?$QList@VQByteArray@@@@XZ @ 10041 NONAME ; class QList<class QByteArray> QImageWriter::supportedImageFormats(void)
+ ?topLevelWidget@QWidget@@QBEPAV1@XZ @ 10042 NONAME ; class QWidget * QWidget::topLevelWidget(void) const
+ ?draw@QLineControl@@QAEXPAVQPainter@@ABVQPoint@@ABVQRect@@H@Z @ 10043 NONAME ; void QLineControl::draw(class QPainter *, class QPoint const &, class QRect const &, int)
+ ?keyPressEvent@QDialog@@MAEXPAVQKeyEvent@@@Z @ 10044 NONAME ; void QDialog::keyPressEvent(class QKeyEvent *)
+ ?translate@QPainterPath@@QAEXMM@Z @ 10045 NONAME ; void QPainterPath::translate(float, float)
+ ??_EQTreeWidget@@UAE@I@Z @ 10046 NONAME ; QTreeWidget::~QTreeWidget(unsigned int)
+ ?tr@QGraphicsDropShadowEffect@@SA?AVQString@@PBD0H@Z @ 10047 NONAME ; class QString QGraphicsDropShadowEffect::tr(char const *, char const *, int)
+ ??0QDateTimeEdit@@QAE@ABVQTime@@PAVQWidget@@@Z @ 10048 NONAME ; QDateTimeEdit::QDateTimeEdit(class QTime const &, class QWidget *)
+ ?zValue@QGraphicsItem@@QBEMXZ @ 10049 NONAME ; float QGraphicsItem::zValue(void) const
+ ?trUtf8@QListView@@SA?AVQString@@PBD0H@Z @ 10050 NONAME ; class QString QListView::trUtf8(char const *, char const *, int)
+ ?model@QStandardItem@@QBEPAVQStandardItemModel@@XZ @ 10051 NONAME ; class QStandardItemModel * QStandardItem::model(void) const
+ ?object@QTextDocument@@QBEPAVQTextObject@@H@Z @ 10052 NONAME ; class QTextObject * QTextDocument::object(int) const
+ ?setDesktopSettingsAware@QApplication@@SAX_N@Z @ 10053 NONAME ; void QApplication::setDesktopSettingsAware(bool)
+ ?historyTitle@QTextBrowser@@QBE?AVQString@@H@Z @ 10054 NONAME ; class QString QTextBrowser::historyTitle(int) const
+ ?spacing@QFormLayout@@QBEHXZ @ 10055 NONAME ; int QFormLayout::spacing(void) const
+ ?setLine@QGraphicsLineItem@@QAEXMMMM@Z @ 10056 NONAME ; void QGraphicsLineItem::setLine(float, float, float, float)
+ ?headerItem@QTreeWidget@@QBEPAVQTreeWidgetItem@@XZ @ 10057 NONAME ; class QTreeWidgetItem * QTreeWidget::headerItem(void) const
+ ??_EQS60MainApplication@@UAE@I@Z @ 10058 NONAME ; QS60MainApplication::~QS60MainApplication(unsigned int)
+ ?focusNextPrevChild@QScrollArea@@UAE_N_N@Z @ 10059 NONAME ; bool QScrollArea::focusNextPrevChild(bool)
+ ?advance@QGraphicsItem@@UAEXH@Z @ 10060 NONAME ; void QGraphicsItem::advance(int)
+ ??0QStyleOptionSizeGrip@@QAE@ABV0@@Z @ 10061 NONAME ; QStyleOptionSizeGrip::QStyleOptionSizeGrip(class QStyleOptionSizeGrip const &)
+ ?joinModeForCap@QStroker@@KA?AW4LineJoinMode@1@W4PenCapStyle@Qt@@@Z @ 10062 NONAME ; enum QStroker::LineJoinMode QStroker::joinModeForCap(enum Qt::PenCapStyle)
+ ?setAcceptRichText@QTextEdit@@QAEX_N@Z @ 10063 NONAME ; void QTextEdit::setAcceptRichText(bool)
+ ?isSortingEnabled@QListWidget@@QBE_NXZ @ 10064 NONAME ; bool QListWidget::isSortingEnabled(void) const
+ ??0QGraphicsScene@@QAE@ABVQRectF@@PAVQObject@@@Z @ 10065 NONAME ; QGraphicsScene::QGraphicsScene(class QRectF const &, class QObject *)
+ ?setDropAction@QGraphicsSceneDragDropEvent@@QAEXW4DropAction@Qt@@@Z @ 10066 NONAME ; void QGraphicsSceneDragDropEvent::setDropAction(enum Qt::DropAction)
+ ?blockBoundingRect@QTextControl@@UBE?AVQRectF@@ABVQTextBlock@@@Z @ 10067 NONAME ; class QRectF QTextControl::blockBoundingRect(class QTextBlock const &) const
+ ?y@QTabletEvent@@QBEHXZ @ 10068 NONAME ; int QTabletEvent::y(void) const
+ ?setText@QImage@@QAEXABVQString@@0@Z @ 10069 NONAME ; void QImage::setText(class QString const &, class QString const &)
+ ?isActive@QPaintEngine@@QBE_NXZ @ 10070 NONAME ; bool QPaintEngine::isActive(void) const
+ ?setTitleFormat@QWizard@@QAEXW4TextFormat@Qt@@@Z @ 10071 NONAME ; void QWizard::setTitleFormat(enum Qt::TextFormat)
+ ?tr@QUndoView@@SA?AVQString@@PBD0@Z @ 10072 NONAME ; class QString QUndoView::tr(char const *, char const *)
+ ??0QProgressDialog@@QAE@ABVQString@@0HHPAVQWidget@@V?$QFlags@W4WindowType@Qt@@@@@Z @ 10073 NONAME ; QProgressDialog::QProgressDialog(class QString const &, class QString const &, int, int, class QWidget *, class QFlags<enum Qt::WindowType>)
+ ?childrenBoundingRectHelper@QGraphicsItemPrivate@@QAEXPAVQTransform@@PAVQRectF@@@Z @ 10074 NONAME ; void QGraphicsItemPrivate::childrenBoundingRectHelper(class QTransform *, class QRectF *)
+ ?wheelEvent@QTabBar@@MAEXPAVQWheelEvent@@@Z @ 10075 NONAME ; void QTabBar::wheelEvent(class QWheelEvent *)
+ ?textRectangle@QItemDelegate@@IBE?AVQRect@@PAVQPainter@@ABV2@ABVQFont@@ABVQString@@@Z @ 10076 NONAME ; class QRect QItemDelegate::textRectangle(class QPainter *, class QRect const &, class QFont const &, class QString const &) const
+ ?processCurrentSubpath@QDashStroker@@MAEXXZ @ 10077 NONAME ; void QDashStroker::processCurrentSubpath(void)
+ ?qt_metacast@QWindowsStyle@@UAEPAXPBD@Z @ 10078 NONAME ; void * QWindowsStyle::qt_metacast(char const *)
+ ?d_func@QHeaderView@@AAEPAVQHeaderViewPrivate@@XZ @ 10079 NONAME ; class QHeaderViewPrivate * QHeaderView::d_func(void)
+ ?addAction@QMenuBar@@QAEPAVQAction@@ABVQString@@PBVQObject@@PBD@Z @ 10080 NONAME ; class QAction * QMenuBar::addAction(class QString const &, class QObject const *, char const *)
+ ?setTabData@QTabBar@@QAEXHABVQVariant@@@Z @ 10081 NONAME ; void QTabBar::setTabData(int, class QVariant const &)
+ ?setSelectionMode@QCalendarWidget@@QAEXW4SelectionMode@1@@Z @ 10082 NONAME ; void QCalendarWidget::setSelectionMode(enum QCalendarWidget::SelectionMode)
+ ?rightBearing@QFontMetrics@@QBEHVQChar@@@Z @ 10083 NONAME ; int QFontMetrics::rightBearing(class QChar) const
+ ?documentSize@QPlainTextDocumentLayout@@UBE?AVQSizeF@@XZ @ 10084 NONAME ; class QSizeF QPlainTextDocumentLayout::documentSize(void) const
+ ??1QMainWindow@@UAE@XZ @ 10085 NONAME ; QMainWindow::~QMainWindow(void)
+ ?event@QFontComboBox@@MAE_NPAVQEvent@@@Z @ 10086 NONAME ; bool QFontComboBox::event(class QEvent *)
+ ?cacheLimit@QPixmapCache@@SAHXZ @ 10087 NONAME ; int QPixmapCache::cacheLimit(void)
+ ?getCmyk@QColor@@QAEXPAH0000@Z @ 10088 NONAME ; void QColor::getCmyk(int *, int *, int *, int *, int *)
+ ?reason@QFocusEvent@@QAE?AW4FocusReason@Qt@@XZ @ 10089 NONAME ; enum Qt::FocusReason QFocusEvent::reason(void)
+ ?visualRect@QTreeView@@UBE?AVQRect@@ABVQModelIndex@@@Z @ 10090 NONAME ; class QRect QTreeView::visualRect(class QModelIndex const &) const
+ ?setHorizontalStretch@QSizePolicy@@QAEXE@Z @ 10091 NONAME ; void QSizePolicy::setHorizontalStretch(unsigned char)
+ ?contains@QTextFragment@@QBE_NH@Z @ 10092 NONAME ; bool QTextFragment::contains(int) const
+ ??6@YAAAVQDataStream@@AAV0@ABVQPen@@@Z @ 10093 NONAME ; class QDataStream & operator<<(class QDataStream &, class QPen const &)
+ ??6@YAAAVQDataStream@@AAV0@ABVQBrush@@@Z @ 10094 NONAME ; class QDataStream & operator<<(class QDataStream &, class QBrush const &)
+ ?blockFormatChanged@QTextBlockGroup@@MAEXABVQTextBlock@@@Z @ 10095 NONAME ; void QTextBlockGroup::blockFormatChanged(class QTextBlock const &)
+ ?iconProvider@QFileDialog@@QBEPAVQFileIconProvider@@XZ @ 10096 NONAME ; class QFileIconProvider * QFileDialog::iconProvider(void) const
+ ?resetInputContext@QWidget@@IAEXXZ @ 10097 NONAME ; void QWidget::resetInputContext(void)
+ ?convertToFormat@QImage@@QBE?AV1@W4Format@1@ABV?$QVector@I@@V?$QFlags@W4ImageConversionFlag@Qt@@@@@Z @ 10098 NONAME ; class QImage QImage::convertToFormat(enum QImage::Format, class QVector<unsigned int> const &, class QFlags<enum Qt::ImageConversionFlag>) const
+ ?scale@QMatrix4x4@@QAEAAV1@MMM@Z @ 10099 NONAME ; class QMatrix4x4 & QMatrix4x4::scale(float, float, float)
+ ?setTransformOriginPoint@QGraphicsItem@@QAEXMM@Z @ 10100 NONAME ; void QGraphicsItem::setTransformOriginPoint(float, float)
+ ??0QTextInlineObject@@QAE@HPAVQTextEngine@@@Z @ 10101 NONAME ; QTextInlineObject::QTextInlineObject(int, class QTextEngine *)
+ ?trUtf8@QTextEdit@@SA?AVQString@@PBD0@Z @ 10102 NONAME ; class QString QTextEdit::trUtf8(char const *, char const *)
+ ?eventFilter@QGraphicsProxyWidget@@MAE_NPAVQObject@@PAVQEvent@@@Z @ 10103 NONAME ; bool QGraphicsProxyWidget::eventFilter(class QObject *, class QEvent *)
+ ?selectAll@QColumnView@@UAEXXZ @ 10104 NONAME ; void QColumnView::selectAll(void)
+ ?colorDialogDelete@QGuiPlatformPlugin@@UAEXPAVQColorDialog@@@Z @ 10105 NONAME ; void QGuiPlatformPlugin::colorDialogDelete(class QColorDialog *)
+ ?addIfClose@QBezier@@QBEXPAMM@Z @ 10106 NONAME ; void QBezier::addIfClose(float *, float) const
+ ?textWidth@QPlainTextDocumentLayout@@ABEMXZ @ 10107 NONAME ; float QPlainTextDocumentLayout::textWidth(void) const
+ ?interpolationMode@QGradient@@QBE?AW4InterpolationMode@1@XZ @ 10108 NONAME ; enum QGradient::InterpolationMode QGradient::interpolationMode(void) const
+ ?isIndexHidden@QTreeView@@MBE_NABVQModelIndex@@@Z @ 10109 NONAME ; bool QTreeView::isIndexHidden(class QModelIndex const &) const
+ ?underlinePos@QFontMetrics@@QBEHXZ @ 10110 NONAME ; int QFontMetrics::underlinePos(void) const
+ ?tabIcon@QTabBar@@QBE?AVQIcon@@H@Z @ 10111 NONAME ; class QIcon QTabBar::tabIcon(int) const
+ ?bits@QImage@@QAEPAEXZ @ 10112 NONAME ; unsigned char * QImage::bits(void)
+ ?createRedoAction@QUndoGroup@@QBEPAVQAction@@PAVQObject@@ABVQString@@@Z @ 10113 NONAME ; class QAction * QUndoGroup::createRedoAction(class QObject *, class QString const &) const
+ ?validate@QDoubleValidator@@UBE?AW4State@QValidator@@AAVQString@@AAH@Z @ 10114 NONAME ; enum QValidator::State QDoubleValidator::validate(class QString &, int &) const
+ ?currentWidget@QStackedWidget@@QBEPAVQWidget@@XZ @ 10115 NONAME ; class QWidget * QStackedWidget::currentWidget(void) const
+ ?toListFormat@QTextFormat@@QBE?AVQTextListFormat@@XZ @ 10116 NONAME ; class QTextListFormat QTextFormat::toListFormat(void) const
+ ?setGridVisible@QCalendarWidget@@QAEX_N@Z @ 10117 NONAME ; void QCalendarWidget::setGridVisible(bool)
+ ?isFirstColumnSpanned@QTreeWidgetItem@@QBE_NXZ @ 10118 NONAME ; bool QTreeWidgetItem::isFirstColumnSpanned(void) const
+ ?setOptimizationFlag@QGraphicsView@@QAEXW4OptimizationFlag@1@_N@Z @ 10119 NONAME ; void QGraphicsView::setOptimizationFlag(enum QGraphicsView::OptimizationFlag, bool)
+ ?keyPressEvent@QWidget@@MAEXPAVQKeyEvent@@@Z @ 10120 NONAME ; void QWidget::keyPressEvent(class QKeyEvent *)
+ ?resizeEvent@QGraphicsWidget@@MAEXPAVQGraphicsSceneResizeEvent@@@Z @ 10121 NONAME ; void QGraphicsWidget::resizeEvent(class QGraphicsSceneResizeEvent *)
+ ?getStaticMetaObject@QToolButton@@SAABUQMetaObject@@XZ @ 10122 NONAME ; struct QMetaObject const & QToolButton::getStaticMetaObject(void)
+ ?remove@QTextList@@QAEXABVQTextBlock@@@Z @ 10123 NONAME ; void QTextList::remove(class QTextBlock const &)
+ ?currentSection@QDateTimeEdit@@QBE?AW4Section@1@XZ @ 10124 NONAME ; enum QDateTimeEdit::Section QDateTimeEdit::currentSection(void) const
+ ?tr@QRubberBand@@SA?AVQString@@PBD0H@Z @ 10125 NONAME ; class QString QRubberBand::tr(char const *, char const *, int)
+ ?minimumSizeHint@QToolButton@@UBE?AVQSize@@XZ @ 10126 NONAME ; class QSize QToolButton::minimumSizeHint(void) const
+ ?polish@QStyle@@UAEXAAVQPalette@@@Z @ 10127 NONAME ; void QStyle::polish(class QPalette &)
+ ?standardIconImplementation@QStyle@@IBE?AVQIcon@@W4StandardPixmap@1@PBVQStyleOption@@PBVQWidget@@@Z @ 10128 NONAME ; class QIcon QStyle::standardIconImplementation(enum QStyle::StandardPixmap, class QStyleOption const *, class QWidget const *) const
+ ?setDateEditEnabled@QCalendarWidget@@QAEX_N@Z @ 10129 NONAME ; void QCalendarWidget::setDateEditEnabled(bool)
+ ??0QCommonStyle@@QAE@XZ @ 10130 NONAME ; QCommonStyle::QCommonStyle(void)
+ ?metaObject@QImageIOPlugin@@UBEPBUQMetaObject@@XZ @ 10131 NONAME ; struct QMetaObject const * QImageIOPlugin::metaObject(void) const
+ ?metaObject@QGraphicsAnchor@@UBEPBUQMetaObject@@XZ @ 10132 NONAME ; struct QMetaObject const * QGraphicsAnchor::metaObject(void) const
+ ?getStaticMetaObject@QDataWidgetMapper@@SAABUQMetaObject@@XZ @ 10133 NONAME ; struct QMetaObject const & QDataWidgetMapper::getStaticMetaObject(void)
+ ?sizeHint@QTabWidget@@UBE?AVQSize@@XZ @ 10134 NONAME ; class QSize QTabWidget::sizeHint(void) const
+ ?setView@QComboBox@@QAEXPAVQAbstractItemView@@@Z @ 10135 NONAME ; void QComboBox::setView(class QAbstractItemView *)
+ ?setTransform@QPainter@@QAEXABVQTransform@@_N@Z @ 10136 NONAME ; void QPainter::setTransform(class QTransform const &, bool)
+ ?style@QTextListFormat@@QBE?AW4Style@1@XZ @ 10137 NONAME ; enum QTextListFormat::Style QTextListFormat::style(void) const
+ ?columnMinimumWidth@QGridLayout@@QBEHH@Z @ 10138 NONAME ; int QGridLayout::columnMinimumWidth(int) const
+ ??0QAbstractProxyModel@@QAE@PAVQObject@@@Z @ 10139 NONAME ; QAbstractProxyModel::QAbstractProxyModel(class QObject *)
+ ?contextMenuEvent@QGraphicsTextItem@@MAEXPAVQGraphicsSceneContextMenuEvent@@@Z @ 10140 NONAME ; void QGraphicsTextItem::contextMenuEvent(class QGraphicsSceneContextMenuEvent *)
+ ?metaObject@QToolBox@@UBEPBUQMetaObject@@XZ @ 10141 NONAME ; struct QMetaObject const * QToolBox::metaObject(void) const
+ ?setStyle@QTextListFormat@@QAEXW4Style@1@@Z @ 10142 NONAME ; void QTextListFormat::setStyle(enum QTextListFormat::Style)
+ ?d_func@QTreeWidgetItemIterator@@ABEPBVQTreeWidgetItemIteratorPrivate@@XZ @ 10143 NONAME ; class QTreeWidgetItemIteratorPrivate const * QTreeWidgetItemIterator::d_func(void) const
+ ?addScrollBarWidget@QAbstractScrollArea@@QAEXPAVQWidget@@V?$QFlags@W4AlignmentFlag@Qt@@@@@Z @ 10144 NONAME ; void QAbstractScrollArea::addScrollBarWidget(class QWidget *, class QFlags<enum Qt::AlignmentFlag>)
+ ?setHeaderRowCount@QTextTableFormat@@QAEXH@Z @ 10145 NONAME ; void QTextTableFormat::setHeaderRowCount(int)
+ ??0QGraphicsBlurEffect@@QAE@PAVQObject@@@Z @ 10146 NONAME ; QGraphicsBlurEffect::QGraphicsBlurEffect(class QObject *)
+ ?d_func@QTextFrame@@AAEPAVQTextFramePrivate@@XZ @ 10147 NONAME ; class QTextFramePrivate * QTextFrame::d_func(void)
+ ?setScreenPos@QGraphicsSceneMouseEvent@@QAEXABVQPoint@@@Z @ 10148 NONAME ; void QGraphicsSceneMouseEvent::setScreenPos(class QPoint const &)
+ ?currentChanged@QStackedWidget@@IAEXH@Z @ 10149 NONAME ; void QStackedWidget::currentChanged(int)
+ ??1QIconDragEvent@@UAE@XZ @ 10150 NONAME ; QIconDragEvent::~QIconDragEvent(void)
+ ?insertTopLevelItem@QTreeWidget@@QAEXHPAVQTreeWidgetItem@@@Z @ 10151 NONAME ; void QTreeWidget::insertTopLevelItem(int, class QTreeWidgetItem *)
+ ?trUtf8@QProgressDialog@@SA?AVQString@@PBD0H@Z @ 10152 NONAME ; class QString QProgressDialog::trUtf8(char const *, char const *, int)
+ ?cursorRect@QTextEdit@@QBE?AVQRect@@ABVQTextCursor@@@Z @ 10153 NONAME ; class QRect QTextEdit::cursorRect(class QTextCursor const &) const
+ ?headerData@QProxyModel@@UBE?AVQVariant@@HW4Orientation@Qt@@H@Z @ 10154 NONAME ; class QVariant QProxyModel::headerData(int, enum Qt::Orientation, int) const
+ ?hideEvent@QScrollBar@@MAEXPAVQHideEvent@@@Z @ 10155 NONAME ; void QScrollBar::hideEvent(class QHideEvent *)
+ ?inputMode@QInputDialog@@QBE?AW4InputMode@1@XZ @ 10156 NONAME ; enum QInputDialog::InputMode QInputDialog::inputMode(void) const
+ ?trUtf8@QMdiArea@@SA?AVQString@@PBD0H@Z @ 10157 NONAME ; class QString QMdiArea::trUtf8(char const *, char const *, int)
+ ??1QItemSelectionRange@@QAE@XZ @ 10158 NONAME ; QItemSelectionRange::~QItemSelectionRange(void)
+ ?setTimeLine@QGraphicsItemAnimation@@QAEXPAVQTimeLine@@@Z @ 10159 NONAME ; void QGraphicsItemAnimation::setTimeLine(class QTimeLine *)
+ ?ioDevice@QPictureIO@@QBEPAVQIODevice@@XZ @ 10160 NONAME ; class QIODevice * QPictureIO::ioDevice(void) const
+ ?showPreviousYear@QCalendarWidget@@QAEXXZ @ 10161 NONAME ; void QCalendarWidget::showPreviousYear(void)
+ ?mouse_buttons@QApplicationPrivate@@2V?$QFlags@W4MouseButton@Qt@@@@A @ 10162 NONAME ; class QFlags<enum Qt::MouseButton> QApplicationPrivate::mouse_buttons
+ ?setAnimated@QTreeView@@QAEX_N@Z @ 10163 NONAME ; void QTreeView::setAnimated(bool)
+ ?row@QListWidget@@QBEHPBVQListWidgetItem@@@Z @ 10164 NONAME ; int QListWidget::row(class QListWidgetItem const *) const
+ ??0QUndoCommand@@QAE@PAV0@@Z @ 10165 NONAME ; QUndoCommand::QUndoCommand(class QUndoCommand *)
+ ?filePath@QFileSystemModel@@QBE?AVQString@@ABVQModelIndex@@@Z @ 10166 NONAME ; class QString QFileSystemModel::filePath(class QModelIndex const &) const
+ ??0QStyleHintReturnVariant@@QAE@XZ @ 10167 NONAME ; QStyleHintReturnVariant::QStyleHintReturnVariant(void)
+ ?font@QGraphicsScene@@QBE?AVQFont@@XZ @ 10168 NONAME ; class QFont QGraphicsScene::font(void) const
+ ?lastRotationAngle@QPinchGesture@@QBEMXZ @ 10169 NONAME ; float QPinchGesture::lastRotationAngle(void) const
+ ?setRgba@QColor@@QAEXI@Z @ 10170 NONAME ; void QColor::setRgba(unsigned int)
+ ?defaultDropAction@QAbstractItemView@@QBE?AW4DropAction@Qt@@XZ @ 10171 NONAME ; enum Qt::DropAction QAbstractItemView::defaultDropAction(void) const
+ ?createProxyForChildWidget@QGraphicsProxyWidget@@QAEPAV1@PAVQWidget@@@Z @ 10172 NONAME ; class QGraphicsProxyWidget * QGraphicsProxyWidget::createProxyForChildWidget(class QWidget *)
+ ??6@YA?AVQDebug@@V0@ABVQMatrix@@@Z @ 10173 NONAME ; class QDebug operator<<(class QDebug, class QMatrix const &)
+ ?setSpacing@QGraphicsAnchorLayout@@QAEXM@Z @ 10174 NONAME ; void QGraphicsAnchorLayout::setSpacing(float)
+ ??1QLayoutPrivate@@UAE@XZ @ 10175 NONAME ; QLayoutPrivate::~QLayoutPrivate(void)
+ ?invisibleRootItem@QStandardItemModel@@QBEPAVQStandardItem@@XZ @ 10176 NONAME ; class QStandardItem * QStandardItemModel::invisibleRootItem(void) const
+ ??0QKeySequence@@QAE@W4StandardKey@0@@Z @ 10177 NONAME ; QKeySequence::QKeySequence(enum QKeySequence::StandardKey)
+ ??_EQLayoutPrivate@@UAE@I@Z @ 10178 NONAME ; QLayoutPrivate::~QLayoutPrivate(unsigned int)
+ ?trUtf8@QStatusBar@@SA?AVQString@@PBD0H@Z @ 10179 NONAME ; class QString QStatusBar::trUtf8(char const *, char const *, int)
+ ?showFullScreen@QWidget@@QAEXXZ @ 10180 NONAME ; void QWidget::showFullScreen(void)
+ ?closestAcceptableSize@QLayout@@SA?AVQSize@@PBVQWidget@@ABV2@@Z @ 10181 NONAME ; class QSize QLayout::closestAcceptableSize(class QWidget const *, class QSize const &)
+ ??_EQGridLayout@@UAE@I@Z @ 10182 NONAME ; QGridLayout::~QGridLayout(unsigned int)
+ ?focusNextPrevChild@QAbstractItemView@@MAE_N_N@Z @ 10183 NONAME ; bool QAbstractItemView::focusNextPrevChild(bool)
+ ?setCenterButtons@QDialogButtonBox@@QAEX_N@Z @ 10184 NONAME ; void QDialogButtonBox::setCenterButtons(bool)
+ ?appendGraphicsTransform@QGraphicsItemPrivate@@QAEXPAVQGraphicsTransform@@@Z @ 10185 NONAME ; void QGraphicsItemPrivate::appendGraphicsTransform(class QGraphicsTransform *)
+ ?setInvertedAppearance@QAbstractSlider@@QAEX_N@Z @ 10186 NONAME ; void QAbstractSlider::setInvertedAppearance(bool)
+ ?metaObject@QTextBlockGroup@@UBEPBUQMetaObject@@XZ @ 10187 NONAME ; struct QMetaObject const * QTextBlockGroup::metaObject(void) const
+ ?updateGeometries@QListView@@MAEXXZ @ 10188 NONAME ; void QListView::updateGeometries(void)
+ ?setOrientation@QToolBar@@QAEXW4Orientation@Qt@@@Z @ 10189 NONAME ; void QToolBar::setOrientation(enum Qt::Orientation)
+ ?leftMargin@QTextBlockFormat@@QBEMXZ @ 10190 NONAME ; float QTextBlockFormat::leftMargin(void) const
+ ?pressed@QAbstractButton@@IAEXXZ @ 10191 NONAME ; void QAbstractButton::pressed(void)
+ ?qDrawShadeRect@@YAXPAVQPainter@@ABVQRect@@ABVQPalette@@_NHHPBVQBrush@@@Z @ 10192 NONAME ; void qDrawShadeRect(class QPainter *, class QRect const &, class QPalette const &, bool, int, int, class QBrush const *)
+ ?initStyleOption@QCheckBox@@IBEXPAVQStyleOptionButton@@@Z @ 10193 NONAME ; void QCheckBox::initStyleOption(class QStyleOptionButton *) const
+ ?shortcutId@QShortcutEvent@@QAEHXZ @ 10194 NONAME ; int QShortcutEvent::shortcutId(void)
+ ?minimumSizeHint@QPushButton@@UBE?AVQSize@@XZ @ 10195 NONAME ; class QSize QPushButton::minimumSizeHint(void) const
+ ?qt_metacast@QToolBox@@UAEPAXPBD@Z @ 10196 NONAME ; void * QToolBox::qt_metacast(char const *)
+ ?setAlphaChannel@QPixmap@@QAEXABV1@@Z @ 10197 NONAME ; void QPixmap::setAlphaChannel(class QPixmap const &)
+ ?tr@QTimeEdit@@SA?AVQString@@PBD0H@Z @ 10198 NONAME ; class QString QTimeEdit::tr(char const *, char const *, int)
+ ?setGraphicsSystem@QApplication@@SAXABVQString@@@Z @ 10199 NONAME ; void QApplication::setGraphicsSystem(class QString const &)
+ ??0QItemSelectionRange@@QAE@ABVQModelIndex@@0@Z @ 10200 NONAME ; QItemSelectionRange::QItemSelectionRange(class QModelIndex const &, class QModelIndex const &)
+ ?currentChanged@QTableView@@MAEXABVQModelIndex@@0@Z @ 10201 NONAME ; void QTableView::currentChanged(class QModelIndex const &, class QModelIndex const &)
+ ?itemInserted@QToolBox@@MAEXH@Z @ 10202 NONAME ; void QToolBox::itemInserted(int)
+ ?qSmartMaxSize@@YA?AVQSize@@ABV1@00ABVQSizePolicy@@V?$QFlags@W4AlignmentFlag@Qt@@@@@Z @ 10203 NONAME ; class QSize qSmartMaxSize(class QSize const &, class QSize const &, class QSize const &, class QSizePolicy const &, class QFlags<enum Qt::AlignmentFlag>)
+ ?topLeft@QItemSelectionRange@@QBE?AVQModelIndex@@XZ @ 10204 NONAME ; class QModelIndex QItemSelectionRange::topLeft(void) const
+ ?documentMargin@QTextDocument@@QBEMXZ @ 10205 NONAME ; float QTextDocument::documentMargin(void) const
+ ?resizeEvent@QAbstractSpinBox@@MAEXPAVQResizeEvent@@@Z @ 10206 NONAME ; void QAbstractSpinBox::resizeEvent(class QResizeEvent *)
+ ?canFetchMore@QSortFilterProxyModel@@UBE_NABVQModelIndex@@@Z @ 10207 NONAME ; bool QSortFilterProxyModel::canFetchMore(class QModelIndex const &) const
+ ?setPoints@QPolygon@@QAAXHHHZZ @ 10208 NONAME ; void QPolygon::setPoints(int, int, int, ...)
+ ??_EQCloseEvent@@UAE@I@Z @ 10209 NONAME ; QCloseEvent::~QCloseEvent(unsigned int)
+ ?ensureData@QPainterPath@@AAEXXZ @ 10210 NONAME ; void QPainterPath::ensureData(void)
+ ?mapToItem@QGraphicsItem@@QBE?AVQPointF@@PBV1@ABV2@@Z @ 10211 NONAME ; class QPointF QGraphicsItem::mapToItem(class QGraphicsItem const *, class QPointF const &) const
+ ?posAt@QGraphicsItemAnimation@@QBE?AVQPointF@@M@Z @ 10212 NONAME ; class QPointF QGraphicsItemAnimation::posAt(float) const
+ ?setHorizontalScrollBar@QAbstractScrollArea@@QAEXPAVQScrollBar@@@Z @ 10213 NONAME ; void QAbstractScrollArea::setHorizontalScrollBar(class QScrollBar *)
+ ?d_func@QAbstractItemView@@ABEPBVQAbstractItemViewPrivate@@XZ @ 10214 NONAME ; class QAbstractItemViewPrivate const * QAbstractItemView::d_func(void) const
+ ?connectNotify@QClipboard@@MAEXPBD@Z @ 10215 NONAME ; void QClipboard::connectNotify(char const *)
+ ?cellWidget@QTableWidget@@QBEPAVQWidget@@HH@Z @ 10216 NONAME ; class QWidget * QTableWidget::cellWidget(int, int) const
+ ?hasCursor@QGraphicsItem@@QBE_NXZ @ 10217 NONAME ; bool QGraphicsItem::hasCursor(void) const
+ ??1QImageTextKeyLang@@QAE@XZ @ 10218 NONAME ; QImageTextKeyLang::~QImageTextKeyLang(void)
+ ?font@QToolTip@@SA?AVQFont@@XZ @ 10219 NONAME ; class QFont QToolTip::font(void)
+ ?event@QAbstractSpinBox@@UAE_NPAVQEvent@@@Z @ 10220 NONAME ; bool QAbstractSpinBox::event(class QEvent *)
+ ?drawTree@QTreeView@@IBEXPAVQPainter@@ABVQRegion@@@Z @ 10221 NONAME ; void QTreeView::drawTree(class QPainter *, class QRegion const &) const
+ ??1QHBoxLayout@@UAE@XZ @ 10222 NONAME ; QHBoxLayout::~QHBoxLayout(void)
+ ?window@QGraphicsItem@@QBEPAVQGraphicsWidget@@XZ @ 10223 NONAME ; class QGraphicsWidget * QGraphicsItem::window(void) const
+ ?addButton@QDialogButtonBox@@QAEXPAVQAbstractButton@@W4ButtonRole@1@@Z @ 10224 NONAME ; void QDialogButtonBox::addButton(class QAbstractButton *, enum QDialogButtonBox::ButtonRole)
+ ?totalSizeHint@QLayout@@QBE?AVQSize@@XZ @ 10225 NONAME ; class QSize QLayout::totalSizeHint(void) const
+ ?currentItem@QListWidget@@QBEPAVQListWidgetItem@@XZ @ 10226 NONAME ; class QListWidgetItem * QListWidget::currentItem(void) const
+ ??0QStyleOptionTabV3@@IAE@H@Z @ 10227 NONAME ; QStyleOptionTabV3::QStyleOptionTabV3(int)
+ ?currentWidget@QStackedLayout@@QBEPAVQWidget@@XZ @ 10228 NONAME ; class QWidget * QStackedLayout::currentWidget(void) const
+ ?setMatrix@QGraphicsView@@QAEXABVQMatrix@@_N@Z @ 10229 NONAME ; void QGraphicsView::setMatrix(class QMatrix const &, bool)
+ ?lastScreenPos@TouchPoint@QTouchEvent@@QBE?AVQPointF@@XZ @ 10230 NONAME ; class QPointF QTouchEvent::TouchPoint::lastScreenPos(void) const
+ ?trUtf8@QGraphicsProxyWidget@@SA?AVQString@@PBD0@Z @ 10231 NONAME ; class QString QGraphicsProxyWidget::trUtf8(char const *, char const *)
+ ?button@QMouseEventTransition@@QBE?AW4MouseButton@Qt@@XZ @ 10232 NONAME ; enum Qt::MouseButton QMouseEventTransition::button(void) const
+ ?mouseMoveEvent@QPlainTextEdit@@MAEXPAVQMouseEvent@@@Z @ 10233 NONAME ; void QPlainTextEdit::mouseMoveEvent(class QMouseEvent *)
+ ??0QStandardItem@@QAE@ABVQIcon@@ABVQString@@@Z @ 10234 NONAME ; QStandardItem::QStandardItem(class QIcon const &, class QString const &)
+ ?setFont@QWidget@@QAEXABVQFont@@@Z @ 10235 NONAME ; void QWidget::setFont(class QFont const &)
+ ?dropEvent@QGraphicsScene@@MAEXPAVQGraphicsSceneDragDropEvent@@@Z @ 10236 NONAME ; void QGraphicsScene::dropEvent(class QGraphicsSceneDragDropEvent *)
+ ?currentIndex@QItemSelectionModel@@QBE?AVQModelIndex@@XZ @ 10237 NONAME ; class QModelIndex QItemSelectionModel::currentIndex(void) const
+ ?x@QWheelEvent@@QBEHXZ @ 10238 NONAME ; int QWheelEvent::x(void) const
+ ??_EQTextDocument@@UAE@I@Z @ 10239 NONAME ; QTextDocument::~QTextDocument(unsigned int)
+ ?beginPaint@QRasterWindowSurface@@UAEXABVQRegion@@@Z @ 10240 NONAME ; void QRasterWindowSurface::beginPaint(class QRegion const &)
+ ??0QDialogButtonBox@@QAE@W4Orientation@Qt@@PAVQWidget@@@Z @ 10241 NONAME ; QDialogButtonBox::QDialogButtonBox(enum Qt::Orientation, class QWidget *)
+ ?isIndexHidden@QTableView@@MBE_NABVQModelIndex@@@Z @ 10242 NONAME ; bool QTableView::isIndexHidden(class QModelIndex const &) const
+ ?rowIntersectsSelection@QItemSelectionModel@@QBE_NHABVQModelIndex@@@Z @ 10243 NONAME ; bool QItemSelectionModel::rowIntersectsSelection(int, class QModelIndex const &) const
+ ?tr@QTreeView@@SA?AVQString@@PBD0H@Z @ 10244 NONAME ; class QString QTreeView::tr(char const *, char const *, int)
+ ?viewOptions@QAbstractItemView@@MBE?AVQStyleOptionViewItem@@XZ @ 10245 NONAME ; class QStyleOptionViewItem QAbstractItemView::viewOptions(void) const
+ ?maxCount@QComboBox@@QBEHXZ @ 10246 NONAME ; int QComboBox::maxCount(void) const
+ ?appendColumn@QStandardItemModel@@QAEXABV?$QList@PAVQStandardItem@@@@@Z @ 10247 NONAME ; void QStandardItemModel::appendColumn(class QList<class QStandardItem *> const &)
+ ?setOrientation@QGraphicsLinearLayout@@QAEXW4Orientation@Qt@@@Z @ 10248 NONAME ; void QGraphicsLinearLayout::setOrientation(enum Qt::Orientation)
+ ?cleanup@QColormap@@SAXXZ @ 10249 NONAME ; void QColormap::cleanup(void)
+ ?insertItem@QComboBox@@QAEXHABVQString@@ABVQVariant@@@Z @ 10250 NONAME ; void QComboBox::insertItem(int, class QString const &, class QVariant const &)
+ ??_EQTreeView@@UAE@I@Z @ 10251 NONAME ; QTreeView::~QTreeView(unsigned int)
+ ?d_func@QTabBar@@ABEPBVQTabBarPrivate@@XZ @ 10252 NONAME ; class QTabBarPrivate const * QTabBar::d_func(void) const
+ ?setCheckable@QAction@@QAEX_N@Z @ 10253 NONAME ; void QAction::setCheckable(bool)
+ ??MQTableWidgetItem@@UBE_NABV0@@Z @ 10254 NONAME ; bool QTableWidgetItem::operator<(class QTableWidgetItem const &) const
+ ?setForeground@QTextFormat@@QAEXABVQBrush@@@Z @ 10255 NONAME ; void QTextFormat::setForeground(class QBrush const &)
+ ?hitTestComplexControl@QProxyStyle@@UBE?AW4SubControl@QStyle@@W4ComplexControl@3@PBVQStyleOptionComplex@@ABVQPoint@@PBVQWidget@@@Z @ 10256 NONAME ; enum QStyle::SubControl QProxyStyle::hitTestComplexControl(enum QStyle::ComplexControl, class QStyleOptionComplex const *, class QPoint const &, class QWidget const *) const
+ ?setColumnCount@QStandardItemModel@@QAEXH@Z @ 10257 NONAME ; void QStandardItemModel::setColumnCount(int)
+ ??4QTextBlockFormat@@QAEAAV0@ABV0@@Z @ 10258 NONAME ; class QTextBlockFormat & QTextBlockFormat::operator=(class QTextBlockFormat const &)
+ ?staticMetaObject@QAbstractButton@@2UQMetaObject@@B @ 10259 NONAME ; struct QMetaObject const QAbstractButton::staticMetaObject
+ ?horizontalHeaderItem@QStandardItemModel@@QBEPAVQStandardItem@@H@Z @ 10260 NONAME ; class QStandardItem * QStandardItemModel::horizontalHeaderItem(int) const
+ ??0QPolygonF@@QAE@H@Z @ 10261 NONAME ; QPolygonF::QPolygonF(int)
+ ??_EQPainterState@@UAE@I@Z @ 10262 NONAME ; QPainterState::~QPainterState(unsigned int)
+ ?isObscuredBy@QAbstractGraphicsShapeItem@@UBE_NPBVQGraphicsItem@@@Z @ 10263 NONAME ; bool QAbstractGraphicsShapeItem::isObscuredBy(class QGraphicsItem const *) const
+ ?format@QTextDocumentWriter@@QBE?AVQByteArray@@XZ @ 10264 NONAME ; class QByteArray QTextDocumentWriter::format(void) const
+ ?rowsAboutToBeRemoved@QAbstractItemView@@MAEXABVQModelIndex@@HH@Z @ 10265 NONAME ; void QAbstractItemView::rowsAboutToBeRemoved(class QModelIndex const &, int, int)
+ ?toPlainText@QGraphicsTextItem@@QBE?AVQString@@XZ @ 10266 NONAME ; class QString QGraphicsTextItem::toPlainText(void) const
+ ?setFillRule@QPainterPath@@QAEXW4FillRule@Qt@@@Z @ 10267 NONAME ; void QPainterPath::setFillRule(enum Qt::FillRule)
+ ?resolve@QPalette@@QBEIXZ @ 10268 NONAME ; unsigned int QPalette::resolve(void) const
+ ?setStringList@QStringListModel@@QAEXABVQStringList@@@Z @ 10269 NONAME ; void QStringListModel::setStringList(class QStringList const &)
+ ?updateAncestorFlag@QGraphicsItemPrivate@@QAEXW4GraphicsItemFlag@QGraphicsItem@@W4AncestorFlag@1@_N2@Z @ 10270 NONAME ; void QGraphicsItemPrivate::updateAncestorFlag(enum QGraphicsItem::GraphicsItemFlag, enum QGraphicsItemPrivate::AncestorFlag, bool, bool)
+ ?sizeHintForRow@QTableView@@MBEHH@Z @ 10271 NONAME ; int QTableView::sizeHintForRow(int) const
+ ??0QSymbianEvent@@QAE@W4Type@0@H@Z @ 10272 NONAME ; QSymbianEvent::QSymbianEvent(enum QSymbianEvent::Type, int)
+ ?staticMetaObject@QGridLayout@@2UQMetaObject@@B @ 10273 NONAME ; struct QMetaObject const QGridLayout::staticMetaObject
+ ?keys@QInputContextFactory@@SA?AVQStringList@@XZ @ 10274 NONAME ; class QStringList QInputContextFactory::keys(void)
+ ?setDefaultAction@QMenu@@QAEXPAVQAction@@@Z @ 10275 NONAME ; void QMenu::setDefaultAction(class QAction *)
+ ?reset@QTransform@@QAEXXZ @ 10276 NONAME ; void QTransform::reset(void)
+ ??_EQS60MainDocument@@UAE@I@Z @ 10277 NONAME ; QS60MainDocument::~QS60MainDocument(unsigned int)
+ ?drawLines@QPainter@@QAEXPBVQLine@@H@Z @ 10278 NONAME ; void QPainter::drawLines(class QLine const *, int)
+ ?hasSelection@QTextCursor@@QBE_NXZ @ 10279 NONAME ; bool QTextCursor::hasSelection(void) const
+ ?setOffsetToSectionPosition@QHeaderView@@QAEXH@Z @ 10280 NONAME ; void QHeaderView::setOffsetToSectionPosition(int)
+ ??BQColor@@QBE?AVQVariant@@XZ @ 10281 NONAME ; QColor::operator class QVariant(void) const
+ ?showDropIndicator@QAbstractItemView@@QBE_NXZ @ 10282 NONAME ; bool QAbstractItemView::showDropIndicator(void) const
+ ??_EQLayout@@UAE@I@Z @ 10283 NONAME ; QLayout::~QLayout(unsigned int)
+ ?setCompleter@QComboBox@@QAEXPAVQCompleter@@@Z @ 10284 NONAME ; void QComboBox::setCompleter(class QCompleter *)
+ ?setButtons@QGraphicsSceneDragDropEvent@@QAEXV?$QFlags@W4MouseButton@Qt@@@@@Z @ 10285 NONAME ; void QGraphicsSceneDragDropEvent::setButtons(class QFlags<enum Qt::MouseButton>)
+ ?focusOutEvent@QWidget@@MAEXPAVQFocusEvent@@@Z @ 10286 NONAME ; void QWidget::focusOutEvent(class QFocusEvent *)
+ ??0QStyle@@IAE@AAVQStylePrivate@@@Z @ 10287 NONAME ; QStyle::QStyle(class QStylePrivate &)
+ ?doImageIO@QPixmap@@ABE_NPAVQImageWriter@@H@Z @ 10288 NONAME ; bool QPixmap::doImageIO(class QImageWriter *, int) const
+ ??1QTreeWidget@@UAE@XZ @ 10289 NONAME ; QTreeWidget::~QTreeWidget(void)
+ ?tr@QInputDialog@@SA?AVQString@@PBD0@Z @ 10290 NONAME ; class QString QInputDialog::tr(char const *, char const *)
+ ?tabSizeHint@QTabBar@@MBE?AVQSize@@H@Z @ 10291 NONAME ; class QSize QTabBar::tabSizeHint(int) const
+ ?tr@QDateEdit@@SA?AVQString@@PBD0@Z @ 10292 NONAME ; class QString QDateEdit::tr(char const *, char const *)
+ ?tr@QCoeFepInputContext@@SA?AVQString@@PBD0H@Z @ 10293 NONAME ABSENT ; class QString QCoeFepInputContext::tr(char const *, char const *, int)
+ ?origin@QGraphicsScale@@QBE?AVQVector3D@@XZ @ 10294 NONAME ; class QVector3D QGraphicsScale::origin(void) const
+ ?subElementRect@QCommonStyle@@UBE?AVQRect@@W4SubElement@QStyle@@PBVQStyleOption@@PBVQWidget@@@Z @ 10295 NONAME ; class QRect QCommonStyle::subElementRect(enum QStyle::SubElement, class QStyleOption const *, class QWidget const *) const
+ ?sizeHint@QRadioButton@@UBE?AVQSize@@XZ @ 10296 NONAME ; class QSize QRadioButton::sizeHint(void) const
+ ?setModelSorting@QCompleter@@QAEXW4ModelSorting@1@@Z @ 10297 NONAME ; void QCompleter::setModelSorting(enum QCompleter::ModelSorting)
+ ?focusProxy@QGraphicsItem@@QBEPAV1@XZ @ 10298 NONAME ; class QGraphicsItem * QGraphicsItem::focusProxy(void) const
+ ?paintDevice@QPaintEngine@@QBEPAVQPaintDevice@@XZ @ 10299 NONAME ; class QPaintDevice * QPaintEngine::paintDevice(void) const
+ ?setExpanding@QTabBar@@QAEX_N@Z @ 10300 NONAME ; void QTabBar::setExpanding(bool)
+ ?text@QStandardItem@@QBE?AVQString@@XZ @ 10301 NONAME ; class QString QStandardItem::text(void) const
+ ??_EQTextTable@@UAE@I@Z @ 10302 NONAME ; QTextTable::~QTextTable(unsigned int)
+ ?isEnabled@QGraphicsEffect@@QBE_NXZ @ 10303 NONAME ; bool QGraphicsEffect::isEnabled(void) const
+ ?cursorWidth@QPlainTextDocumentLayout@@QBEHXZ @ 10304 NONAME ; int QPlainTextDocumentLayout::cursorWidth(void) const
+ ?dragLeaveEvent@QLineEdit@@MAEXPAVQDragLeaveEvent@@@Z @ 10305 NONAME ; void QLineEdit::dragLeaveEvent(class QDragLeaveEvent *)
+ ?contains@QRegion@@QBE_NABVQRect@@@Z @ 10306 NONAME ; bool QRegion::contains(class QRect const &) const
+ ?position@QTextLayout@@QBE?AVQPointF@@XZ @ 10307 NONAME ; class QPointF QTextLayout::position(void) const
+ ?invertedAppearance@QProgressBar@@QAE_NXZ @ 10308 NONAME ; bool QProgressBar::invertedAppearance(void)
+ ?setVisible@QSizeGrip@@UAEX_N@Z @ 10309 NONAME ; void QSizeGrip::setVisible(bool)
+ ?pixmap@QSplashScreen@@QBE?BVQPixmap@@XZ @ 10310 NONAME ; class QPixmap const QSplashScreen::pixmap(void) const
+ ??0QPolygonF@@QAE@ABV?$QVector@VQPointF@@@@@Z @ 10311 NONAME ; QPolygonF::QPolygonF(class QVector<class QPointF> const &)
+ ?qt_metacast@QSpinBox@@UAEPAXPBD@Z @ 10312 NONAME ; void * QSpinBox::qt_metacast(char const *)
+ ?drawLines@QPainter@@QAEXABV?$QVector@VQLineF@@@@@Z @ 10313 NONAME ; void QPainter::drawLines(class QVector<class QLineF> const &)
+ ?trUtf8@QSortFilterProxyModel@@SA?AVQString@@PBD0@Z @ 10314 NONAME ; class QString QSortFilterProxyModel::trUtf8(char const *, char const *)
+ ?d_func@QLabel@@AAEPAVQLabelPrivate@@XZ @ 10315 NONAME ; class QLabelPrivate * QLabel::d_func(void)
+ ?grabMouse@QWidget@@QAEXXZ @ 10316 NONAME ; void QWidget::grabMouse(void)
+ ?takeChild@QTreeWidgetItem@@QAEPAV1@H@Z @ 10317 NONAME ; class QTreeWidgetItem * QTreeWidgetItem::takeChild(int)
+ ?setMouseCursor@QWidgetResizeHandler@@AAEXW4MousePosition@1@@Z @ 10318 NONAME ; void QWidgetResizeHandler::setMouseCursor(enum QWidgetResizeHandler::MousePosition)
+ ?qt_metacast@QPaintBufferSignalProxy@@UAEPAXPBD@Z @ 10319 NONAME ; void * QPaintBufferSignalProxy::qt_metacast(char const *)
+ ?qt_metacast@QPlainTextDocumentLayout@@UAEPAXPBD@Z @ 10320 NONAME ; void * QPlainTextDocumentLayout::qt_metacast(char const *)
+ ?setText@QUndoCommand@@QAEXABVQString@@@Z @ 10321 NONAME ; void QUndoCommand::setText(class QString const &)
+ ?elements@QVectorPath@@QBEPBW4ElementType@QPainterPath@@XZ @ 10322 NONAME ; enum QPainterPath::ElementType const * QVectorPath::elements(void) const
+ ??0QContextMenuEvent@@QAE@W4Reason@0@ABVQPoint@@1V?$QFlags@W4KeyboardModifier@Qt@@@@@Z @ 10323 NONAME ; QContextMenuEvent::QContextMenuEvent(enum QContextMenuEvent::Reason, class QPoint const &, class QPoint const &, class QFlags<enum Qt::KeyboardModifier>)
+ ??1QDateEdit@@UAE@XZ @ 10324 NONAME ; QDateEdit::~QDateEdit(void)
+ ?rect@TouchPoint@QTouchEvent@@QBE?AVQRectF@@XZ @ 10325 NONAME ; class QRectF QTouchEvent::TouchPoint::rect(void) const
+ ?updateGeometry@QWidget@@QAEXXZ @ 10326 NONAME ; void QWidget::updateGeometry(void)
+ ?scale@QMatrix4x4@@QAEAAV1@ABVQVector3D@@@Z @ 10327 NONAME ; class QMatrix4x4 & QMatrix4x4::scale(class QVector3D const &)
+ ?setBottom@QDoubleValidator@@QAEXN@Z @ 10328 NONAME ; void QDoubleValidator::setBottom(double)
+ ?icon@QFileIconProvider@@UBE?AVQIcon@@ABVQFileInfo@@@Z @ 10329 NONAME ; class QIcon QFileIconProvider::icon(class QFileInfo const &) const
+ ?totalMaximumSize@QLayout@@QBE?AVQSize@@XZ @ 10330 NONAME ; class QSize QLayout::totalMaximumSize(void) const
+ ?rowAlignment@QGraphicsGridLayout@@QBE?AV?$QFlags@W4AlignmentFlag@Qt@@@@H@Z @ 10331 NONAME ; class QFlags<enum Qt::AlignmentFlag> QGraphicsGridLayout::rowAlignment(int) const
+ ?textColor@QListWidgetItem@@QBE?AVQColor@@XZ @ 10332 NONAME ; class QColor QListWidgetItem::textColor(void) const
+ ?indexChanged@QUndoStack@@IAEXH@Z @ 10333 NONAME ; void QUndoStack::indexChanged(int)
+ ?appendPlainText@QPlainTextEdit@@QAEXABVQString@@@Z @ 10334 NONAME ; void QPlainTextEdit::appendPlainText(class QString const &)
+ ?resize@QWidget@@QAEXHH@Z @ 10335 NONAME ; void QWidget::resize(int, int)
+ ?widget@QGraphicsSceneEvent@@QBEPAVQWidget@@XZ @ 10336 NONAME ; class QWidget * QGraphicsSceneEvent::widget(void) const
+ ?setTabWhatsThis@QTabBar@@QAEXHABVQString@@@Z @ 10337 NONAME ; void QTabBar::setTabWhatsThis(int, class QString const &)
+ ?curveThreshold@QPainterPathStroker@@QBEMXZ @ 10338 NONAME ; float QPainterPathStroker::curveThreshold(void) const
+ ?initStyleOption@QTabWidget@@IBEXPAVQStyleOptionTabWidgetFrame@@@Z @ 10339 NONAME ; void QTabWidget::initStyleOption(class QStyleOptionTabWidgetFrame *) const
+ ?translated@QPolygon@@QBE?AV1@ABVQPoint@@@Z @ 10340 NONAME ; class QPolygon QPolygon::translated(class QPoint const &) const
+ ?windowActivationChange@QWidget@@MAEX_N@Z @ 10341 NONAME ; void QWidget::windowActivationChange(bool)
+ ?sortByColumn@QTreeView@@QAEXHW4SortOrder@Qt@@@Z @ 10342 NONAME ; void QTreeView::sortByColumn(int, enum Qt::SortOrder)
+ ?setRowHidden@QListView@@QAEXH_N@Z @ 10343 NONAME ; void QListView::setRowHidden(int, bool)
+ ?mouseDoubleClickEvent@QMdiSubWindow@@MAEXPAVQMouseEvent@@@Z @ 10344 NONAME ; void QMdiSubWindow::mouseDoubleClickEvent(class QMouseEvent *)
+ ?verticalOffset@QHeaderView@@MBEHXZ @ 10345 NONAME ; int QHeaderView::verticalOffset(void) const
+ ?initStyleOption@QSlider@@IBEXPAVQStyleOptionSlider@@@Z @ 10346 NONAME ; void QSlider::initStyleOption(class QStyleOptionSlider *) const
+ ?setMatrix@QPainter@@QAEXABVQMatrix@@_N@Z @ 10347 NONAME ; void QPainter::setMatrix(class QMatrix const &, bool)
+ ?metaObject@QAbstractItemDelegate@@UBEPBUQMetaObject@@XZ @ 10348 NONAME ; struct QMetaObject const * QAbstractItemDelegate::metaObject(void) const
+ ?setQuitOnLastWindowClosed@QApplication@@SAX_N@Z @ 10349 NONAME ; void QApplication::setQuitOnLastWindowClosed(bool)
+ ?getRange@QSplitter@@QBEXHPAH0@Z @ 10350 NONAME ; void QSplitter::getRange(int, int *, int *) const
+ ?toFillPolygon@QPainterPath@@QBE?AVQPolygonF@@ABVQTransform@@@Z @ 10351 NONAME ; class QPolygonF QPainterPath::toFillPolygon(class QTransform const &) const
+ ?addFile@QIcon@@QAEXABVQString@@ABVQSize@@W4Mode@1@W4State@1@@Z @ 10352 NONAME ; void QIcon::addFile(class QString const &, class QSize const &, enum QIcon::Mode, enum QIcon::State)
+ ?isAffine@QTransform@@QBE_NXZ @ 10353 NONAME ; bool QTransform::isAffine(void) const
+ ?opaqueArea@QGraphicsItemGroup@@UBE?AVQPainterPath@@XZ @ 10354 NONAME ; class QPainterPath QGraphicsItemGroup::opaqueArea(void) const
+ ?setModel@QHeaderView@@UAEXPAVQAbstractItemModel@@@Z @ 10355 NONAME ; void QHeaderView::setModel(class QAbstractItemModel *)
+ ?sizeHint@QMenu@@UBE?AVQSize@@XZ @ 10356 NONAME ; class QSize QMenu::sizeHint(void) const
+ ?getStaticMetaObject@QTableView@@SAABUQMetaObject@@XZ @ 10357 NONAME ; struct QMetaObject const & QTableView::getStaticMetaObject(void)
+ ?actionAt@QToolBar@@QBEPAVQAction@@ABVQPoint@@@Z @ 10358 NONAME ; class QAction * QToolBar::actionAt(class QPoint const &) const
+ ?backgroundBrush@QGraphicsScene@@QBE?AVQBrush@@XZ @ 10359 NONAME ; class QBrush QGraphicsScene::backgroundBrush(void) const
+ ?tr@QInputContextPlugin@@SA?AVQString@@PBD0H@Z @ 10360 NONAME ; class QString QInputContextPlugin::tr(char const *, char const *, int)
+ ?isVisible@QToolTip@@SA_NXZ @ 10361 NONAME ; bool QToolTip::isVisible(void)
+ ?resolve@QPalette@@QBE?AV1@ABV1@@Z @ 10362 NONAME ; class QPalette QPalette::resolve(class QPalette const &) const
+ ?tr@QListWidget@@SA?AVQString@@PBD0H@Z @ 10363 NONAME ; class QString QListWidget::tr(char const *, char const *, int)
+ ??_EQMdiArea@@UAE@I@Z @ 10364 NONAME ; QMdiArea::~QMdiArea(unsigned int)
+ ?qt_metacast@QProxyModel@@UAEPAXPBD@Z @ 10365 NONAME ; void * QProxyModel::qt_metacast(char const *)
+ ?currentText@QComboBox@@QBE?AVQString@@XZ @ 10366 NONAME ; class QString QComboBox::currentText(void) const
+ ?init@QStyleOption@@QAEXPBVQWidget@@@Z @ 10367 NONAME ; void QStyleOption::init(class QWidget const *)
+ ?pos@QGraphicsItem@@QBE?AVQPointF@@XZ @ 10368 NONAME ; class QPointF QGraphicsItem::pos(void) const
+ ?qRgba@@YAIHHHH@Z @ 10369 NONAME ; unsigned int qRgba(int, int, int, int)
+ ?setThemeName@QIcon@@SAXABVQString@@@Z @ 10370 NONAME ; void QIcon::setThemeName(class QString const &)
+ ?locale@QValidator@@QBE?AVQLocale@@XZ @ 10371 NONAME ; class QLocale QValidator::locale(void) const
+ ??_EQPinchGesture@@UAE@I@Z @ 10372 NONAME ; QPinchGesture::~QPinchGesture(unsigned int)
+ ?globalY@QTabletEvent@@QBEHXZ @ 10373 NONAME ; int QTabletEvent::globalY(void) const
+ ?setModifiers@QInputEvent@@QAEXV?$QFlags@W4KeyboardModifier@Qt@@@@@Z @ 10374 NONAME ; void QInputEvent::setModifiers(class QFlags<enum Qt::KeyboardModifier>)
+ ?qt_metacall@QWidget@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 10375 NONAME ; int QWidget::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?activated@QComboBox@@IAEXH@Z @ 10376 NONAME ; void QComboBox::activated(int)
+ ?sectionsInserted@QHeaderView@@IAEXABVQModelIndex@@HH@Z @ 10377 NONAME ; void QHeaderView::sectionsInserted(class QModelIndex const &, int, int)
+ ?mapToScene@QGraphicsItem@@QBE?AVQPolygonF@@ABVQRectF@@@Z @ 10378 NONAME ; class QPolygonF QGraphicsItem::mapToScene(class QRectF const &) const
+ ?setCheckable@QStandardItem@@QAEX_N@Z @ 10379 NONAME ; void QStandardItem::setCheckable(bool)
+ ??0QTimeEdit@@QAE@PAVQWidget@@@Z @ 10380 NONAME ; QTimeEdit::QTimeEdit(class QWidget *)
+ ?prev@Parser@QCss@@QAEXXZ @ 10381 NONAME ; void QCss::Parser::prev(void)
+ ?rowPreferredHeight@QGraphicsGridLayout@@QBEMH@Z @ 10382 NONAME ; float QGraphicsGridLayout::rowPreferredHeight(int) const
+ ?createExtendedKeyEvent@QKeyEvent@@SAPAV1@W4Type@QEvent@@HV?$QFlags@W4KeyboardModifier@Qt@@@@IIIABVQString@@_NG@Z @ 10383 NONAME ; class QKeyEvent * QKeyEvent::createExtendedKeyEvent(enum QEvent::Type, int, class QFlags<enum Qt::KeyboardModifier>, unsigned int, unsigned int, unsigned int, class QString const &, bool, unsigned short)
+ ??0QStyleOptionFrameV3@@QAE@ABVQStyleOptionFrame@@@Z @ 10384 NONAME ; QStyleOptionFrameV3::QStyleOptionFrameV3(class QStyleOptionFrame const &)
+ ?frameFormat@QTextFrame@@QBE?AVQTextFrameFormat@@XZ @ 10385 NONAME ; class QTextFrameFormat QTextFrame::frameFormat(void) const
+ ?paintEvent@QLabel@@MAEXPAVQPaintEvent@@@Z @ 10386 NONAME ; void QLabel::paintEvent(class QPaintEvent *)
+ ?boundingRect@QPainter@@QAE?AVQRect@@HHHHHABVQString@@@Z @ 10387 NONAME ; class QRect QPainter::boundingRect(int, int, int, int, int, class QString const &)
+ ?qDrawShadePanel@@YAXPAVQPainter@@HHHHABVQPalette@@_NHPBVQBrush@@@Z @ 10388 NONAME ; void qDrawShadePanel(class QPainter *, int, int, int, int, class QPalette const &, bool, int, class QBrush const *)
+ ?qt_metacall@QVBoxLayout@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 10389 NONAME ; int QVBoxLayout::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?supportsExtension@QGraphicsSimpleTextItem@@MBE_NW4Extension@QGraphicsItem@@@Z @ 10390 NONAME ; bool QGraphicsSimpleTextItem::supportsExtension(enum QGraphicsItem::Extension) const
+ ?currentChanged@QToolBox@@IAEXH@Z @ 10391 NONAME ; void QToolBox::currentChanged(int)
+ ?remove@QPixmapCache@@SAXABVKey@1@@Z @ 10392 NONAME ; void QPixmapCache::remove(class QPixmapCache::Key const &)
+ ?panel@QGraphicsItem@@QBEPAV1@XZ @ 10393 NONAME ; class QGraphicsItem * QGraphicsItem::panel(void) const
+ ?iconProvider@QFileSystemModel@@QBEPAVQFileIconProvider@@XZ @ 10394 NONAME ; class QFileIconProvider * QFileSystemModel::iconProvider(void) const
+ ?parsePseudo@Parser@QCss@@QAE_NPAUPseudo@2@@Z @ 10395 NONAME ; bool QCss::Parser::parsePseudo(struct QCss::Pseudo *)
+ ?ensureVisible@QGraphicsView@@QAEXMMMMHH@Z @ 10396 NONAME ; void QGraphicsView::ensureVisible(float, float, float, float, int, int)
+ ?setDown@QAbstractButton@@QAEX_N@Z @ 10397 NONAME ; void QAbstractButton::setDown(bool)
+ ?boundingRect@QGraphicsPathItem@@UBE?AVQRectF@@XZ @ 10398 NONAME ; class QRectF QGraphicsPathItem::boundingRect(void) const
+ ?getStaticMetaObject@QGradient@@SAABUQMetaObject@@XZ @ 10399 NONAME ; struct QMetaObject const & QGradient::getStaticMetaObject(void)
+ ?nextInFocusChain@QWidget@@QBEPAV1@XZ @ 10400 NONAME ; class QWidget * QWidget::nextInFocusChain(void) const
+ ?width@QPixmapData@@QBEHXZ @ 10401 NONAME ; int QPixmapData::width(void) const
+ ?itemAt@QFormLayout@@QBEPAVQLayoutItem@@HW4ItemRole@1@@Z @ 10402 NONAME ; class QLayoutItem * QFormLayout::itemAt(int, enum QFormLayout::ItemRole) const
+ ?setLetterSpacing@QFont@@QAEXW4SpacingType@1@M@Z @ 10403 NONAME ; void QFont::setLetterSpacing(enum QFont::SpacingType, float)
+ ?whatsThis@QListWidgetItem@@QBE?AVQString@@XZ @ 10404 NONAME ; class QString QListWidgetItem::whatsThis(void) const
+ ?mapToParent@QGraphicsItem@@QBE?AVQPolygonF@@MMMM@Z @ 10405 NONAME ; class QPolygonF QGraphicsItem::mapToParent(float, float, float, float) const
+ ?unsetLocale@QWidget@@QAEXXZ @ 10406 NONAME ; void QWidget::unsetLocale(void)
+ ?stepEnabled@QAbstractSpinBox@@MBE?AV?$QFlags@W4StepEnabledFlag@QAbstractSpinBox@@@@XZ @ 10407 NONAME ; class QFlags<enum QAbstractSpinBox::StepEnabledFlag> QAbstractSpinBox::stepEnabled(void) const
+ ?setViewport@QPainter@@QAEXABVQRect@@@Z @ 10408 NONAME ; void QPainter::setViewport(class QRect const &)
+ ?d_func@QGraphicsSceneDragDropEvent@@ABEPBVQGraphicsSceneDragDropEventPrivate@@XZ @ 10409 NONAME ; class QGraphicsSceneDragDropEventPrivate const * QGraphicsSceneDragDropEvent::d_func(void) const
+ ??0QBoxLayout@@QAE@W4Direction@0@PAVQWidget@@@Z @ 10410 NONAME ; QBoxLayout::QBoxLayout(enum QBoxLayout::Direction, class QWidget *)
+ ?maxWidth@QFontMetrics@@QBEHXZ @ 10411 NONAME ; int QFontMetrics::maxWidth(void) const
+ ?event@QSplitterHandle@@MAE_NPAVQEvent@@@Z @ 10412 NONAME ; bool QSplitterHandle::event(class QEvent *)
+ ?windowOpacity@QWidget@@QBEMXZ @ 10413 NONAME ; float QWidget::windowOpacity(void) const
+ ?minimumSizeHint@QCalendarWidget@@UBE?AVQSize@@XZ @ 10414 NONAME ; class QSize QCalendarWidget::minimumSizeHint(void) const
+ ?getColor@QColorDialog@@SA?AVQColor@@ABV2@PAVQWidget@@ABVQString@@V?$QFlags@W4ColorDialogOption@QColorDialog@@@@@Z @ 10415 NONAME ; class QColor QColorDialog::getColor(class QColor const &, class QWidget *, class QString const &, class QFlags<enum QColorDialog::ColorDialogOption>)
+ ?selectionBehavior@QAbstractItemView@@QBE?AW4SelectionBehavior@1@XZ @ 10416 NONAME ; enum QAbstractItemView::SelectionBehavior QAbstractItemView::selectionBehavior(void) const
+ ?contains@QTextBlock@@QBE_NH@Z @ 10417 NONAME ; bool QTextBlock::contains(int) const
+ ??_EQScrollBar@@UAE@I@Z @ 10418 NONAME ; QScrollBar::~QScrollBar(unsigned int)
+ ?setTabBar@QTabWidget@@IAEXPAVQTabBar@@@Z @ 10419 NONAME ; void QTabWidget::setTabBar(class QTabBar *)
+ ??1QWheelEvent@@UAE@XZ @ 10420 NONAME ; QWheelEvent::~QWheelEvent(void)
+ ?keyPressEvent@QTextEdit@@MAEXPAVQKeyEvent@@@Z @ 10421 NONAME ; void QTextEdit::keyPressEvent(class QKeyEvent *)
+ ?clearHistory@QTextBrowser@@QAEXXZ @ 10422 NONAME ; void QTextBrowser::clearHistory(void)
+ ?itemText@QComboBox@@QBE?AVQString@@H@Z @ 10423 NONAME ; class QString QComboBox::itemText(int) const
+ ?labelText@QFileDialog@@QBE?AVQString@@W4DialogLabel@1@@Z @ 10424 NONAME ; class QString QFileDialog::labelText(enum QFileDialog::DialogLabel) const
+ ??NQTextCursor@@QBE_NABV0@@Z @ 10425 NONAME ; bool QTextCursor::operator<=(class QTextCursor const &) const
+ ?tr@QInputContext@@SA?AVQString@@PBD0H@Z @ 10426 NONAME ; class QString QInputContext::tr(char const *, char const *, int)
+ ?subtracted@QRegion@@QBE?AV1@ABV1@@Z @ 10427 NONAME ; class QRegion QRegion::subtracted(class QRegion const &) const
+ ?dragMoveEvent@QAbstractScrollArea@@MAEXPAVQDragMoveEvent@@@Z @ 10428 NONAME ; void QAbstractScrollArea::dragMoveEvent(class QDragMoveEvent *)
+ ??_EQRegExpValidator@@UAE@I@Z @ 10429 NONAME ; QRegExpValidator::~QRegExpValidator(unsigned int)
+ ?map@QMatrix@@QBE?AVQRegion@@ABV2@@Z @ 10430 NONAME ; class QRegion QMatrix::map(class QRegion const &) const
+ ?currentId@QWizard@@QBEHXZ @ 10431 NONAME ; int QWizard::currentId(void) const
+ ??8QTextCursor@@QBE_NABV0@@Z @ 10432 NONAME ; bool QTextCursor::operator==(class QTextCursor const &) const
+ ??0QPainterPath@@QAE@ABVQPointF@@@Z @ 10433 NONAME ; QPainterPath::QPainterPath(class QPointF const &)
+ ?wizardStyle@QWizard@@QBE?AW4WizardStyle@1@XZ @ 10434 NONAME ; enum QWizard::WizardStyle QWizard::wizardStyle(void) const
+ ?setStyle@QGraphicsScene@@QAEXPAVQStyle@@@Z @ 10435 NONAME ; void QGraphicsScene::setStyle(class QStyle *)
+ ?getOpaqueRegion@QWidgetPrivate@@QBE?AVQRegion@@XZ @ 10436 NONAME ABSENT ; class QRegion QWidgetPrivate::getOpaqueRegion(void) const
+ ?triggered@QMenuBar@@IAEXPAVQAction@@@Z @ 10437 NONAME ; void QMenuBar::triggered(class QAction *)
+ ??0QStyleOptionButton@@QAE@XZ @ 10438 NONAME ; QStyleOptionButton::QStyleOptionButton(void)
+ ?height@QImage@@QBEHXZ @ 10439 NONAME ; int QImage::height(void) const
+ ?autoReset@QProgressDialog@@QBE_NXZ @ 10440 NONAME ; bool QProgressDialog::autoReset(void) const
+ ?trUtf8@QSlider@@SA?AVQString@@PBD0H@Z @ 10441 NONAME ; class QString QSlider::trUtf8(char const *, char const *, int)
+ ?setHotSpot@QDrag@@QAEXABVQPoint@@@Z @ 10442 NONAME ; void QDrag::setHotSpot(class QPoint const &)
+ ?layout@QTextBlock@@QBEPAVQTextLayout@@XZ @ 10443 NONAME ; class QTextLayout * QTextBlock::layout(void) const
+ ?takeColumn@QStandardItem@@QAE?AV?$QList@PAVQStandardItem@@@@H@Z @ 10444 NONAME ; class QList<class QStandardItem *> QStandardItem::takeColumn(int)
+ ?setScenePos@QGraphicsSceneDragDropEvent@@QAEXABVQPointF@@@Z @ 10445 NONAME ; void QGraphicsSceneDragDropEvent::setScenePos(class QPointF const &)
+ ?setCentralWidget@QMainWindow@@QAEXPAVQWidget@@@Z @ 10446 NONAME ; void QMainWindow::setCentralWidget(class QWidget *)
+ ?d_func@QSwipeGesture@@AAEPAVQSwipeGesturePrivate@@XZ @ 10447 NONAME ; class QSwipeGesturePrivate * QSwipeGesture::d_func(void)
+ ??_4QRegion@@QAEAAV0@ABV0@@Z @ 10448 NONAME ; class QRegion & QRegion::operator&=(class QRegion const &)
+ ?mapFromParent@QGraphicsItem@@QBE?AVQPolygonF@@ABV2@@Z @ 10449 NONAME ; class QPolygonF QGraphicsItem::mapFromParent(class QPolygonF const &) const
+ ?loadResource@QTextDocument@@MAE?AVQVariant@@HABVQUrl@@@Z @ 10450 NONAME ; class QVariant QTextDocument::loadResource(int, class QUrl const &)
+ ?toggled@QAbstractButton@@IAEX_N@Z @ 10451 NONAME ; void QAbstractButton::toggled(bool)
+ ??1QProxyModel@@UAE@XZ @ 10452 NONAME ; QProxyModel::~QProxyModel(void)
+ ?tr@QDataWidgetMapper@@SA?AVQString@@PBD0@Z @ 10453 NONAME ; class QString QDataWidgetMapper::tr(char const *, char const *)
+ ?checkState@QListWidgetItem@@QBE?AW4CheckState@Qt@@XZ @ 10454 NONAME ; enum Qt::CheckState QListWidgetItem::checkState(void) const
+ ?addText@QGraphicsScene@@QAEPAVQGraphicsTextItem@@ABVQString@@ABVQFont@@@Z @ 10455 NONAME ; class QGraphicsTextItem * QGraphicsScene::addText(class QString const &, class QFont const &)
+ ?det@QMatrix@@QBEMXZ @ 10456 NONAME ; float QMatrix::det(void) const
+ ??0QStyleOptionSlider@@IAE@H@Z @ 10457 NONAME ; QStyleOptionSlider::QStyleOptionSlider(int)
+ ?insertWidget@QBoxLayout@@QAEXHPAVQWidget@@HV?$QFlags@W4AlignmentFlag@Qt@@@@@Z @ 10458 NONAME ; void QBoxLayout::insertWidget(int, class QWidget *, int, class QFlags<enum Qt::AlignmentFlag>)
+ ?setGeometry@QDockWidgetLayout@@UAEXABVQRect@@@Z @ 10459 NONAME ; void QDockWidgetLayout::setGeometry(class QRect const &)
+ ?frameCount@QMovie@@QBEHXZ @ 10460 NONAME ; int QMovie::frameCount(void) const
+ ?setRootIndex@QColumnView@@UAEXABVQModelIndex@@@Z @ 10461 NONAME ; void QColumnView::setRootIndex(class QModelIndex const &)
+ ??0Parser@QCss@@QAE@ABVQString@@_N@Z @ 10462 NONAME ; QCss::Parser::Parser(class QString const &, bool)
+ ??1QGraphicsPolygonItem@@UAE@XZ @ 10463 NONAME ; QGraphicsPolygonItem::~QGraphicsPolygonItem(void)
+ ?showEvent@QMdiArea@@MAEXPAVQShowEvent@@@Z @ 10464 NONAME ; void QMdiArea::showEvent(class QShowEvent *)
+ ?startPos@TouchPoint@QTouchEvent@@QBE?AVQPointF@@XZ @ 10465 NONAME ; class QPointF QTouchEvent::TouchPoint::startPos(void) const
+ ?metaObject@QGraphicsBloomEffect@@UBEPBUQMetaObject@@XZ @ 10466 NONAME ABSENT ; struct QMetaObject const * QGraphicsBloomEffect::metaObject(void) const
+ ?clicked@QDialogButtonBox@@IAEXPAVQAbstractButton@@@Z @ 10467 NONAME ; void QDialogButtonBox::clicked(class QAbstractButton *)
+ ?tr@QSplitterHandle@@SA?AVQString@@PBD0@Z @ 10468 NONAME ; class QString QSplitterHandle::tr(char const *, char const *)
+ ?setWindowIcon_sys@QWidgetPrivate@@QAEX_N@Z @ 10469 NONAME ; void QWidgetPrivate::setWindowIcon_sys(bool)
+ ??0QPixmapConvolutionFilter@@QAE@PAVQObject@@@Z @ 10470 NONAME ; QPixmapConvolutionFilter::QPixmapConvolutionFilter(class QObject *)
+ ?ungrabKeyboard@QGraphicsItem@@QAEXXZ @ 10471 NONAME ; void QGraphicsItem::ungrabKeyboard(void)
+ ??4QStyleOptionMenuItem@@QAEAAV0@ABV0@@Z @ 10472 NONAME ; class QStyleOptionMenuItem & QStyleOptionMenuItem::operator=(class QStyleOptionMenuItem const &)
+ ?setModel@QListWidget@@EAEXPAVQAbstractItemModel@@@Z @ 10473 NONAME ; void QListWidget::setModel(class QAbstractItemModel *)
+ ?write@QPictureIO@@QAE_NXZ @ 10474 NONAME ; bool QPictureIO::write(void)
+ ??_EQWindowsStyle@@UAE@I@Z @ 10475 NONAME ; QWindowsStyle::~QWindowsStyle(unsigned int)
+ ?selectAll@QLineEdit@@QAEXXZ @ 10476 NONAME ; void QLineEdit::selectAll(void)
+ ?setFormat@QTextDocumentWriter@@QAEXABVQByteArray@@@Z @ 10477 NONAME ; void QTextDocumentWriter::setFormat(class QByteArray const &)
+ ?sectionSizeFromContents@QHeaderView@@MBE?AVQSize@@H@Z @ 10478 NONAME ; class QSize QHeaderView::sectionSizeFromContents(int) const
+ ?tabsClosable@QTabWidget@@QBE_NXZ @ 10479 NONAME ; bool QTabWidget::tabsClosable(void) const
+ ?cellClicked@QTableWidget@@IAEXHH@Z @ 10480 NONAME ; void QTableWidget::cellClicked(int, int)
+ ?compression@QImageWriter@@QBEHXZ @ 10481 NONAME ; int QImageWriter::compression(void) const
+ ?key@QKeyEventTransition@@QBEHXZ @ 10482 NONAME ; int QKeyEventTransition::key(void) const
+ ?setCornerButtonEnabled@QTableView@@QAEX_N@Z @ 10483 NONAME ; void QTableView::setCornerButtonEnabled(bool)
+ ?createHeuristicMask@QPixmap@@QBE?AVQBitmap@@_N@Z @ 10484 NONAME ; class QBitmap QPixmap::createHeuristicMask(bool) const
+ ?model@QProxyModel@@QBEPAVQAbstractItemModel@@XZ @ 10485 NONAME ; class QAbstractItemModel * QProxyModel::model(void) const
+ ?count@QGraphicsGridLayout@@UBEHXZ @ 10486 NONAME ; int QGraphicsGridLayout::count(void) const
+ ?toHsv@QColor@@QBE?AV1@XZ @ 10487 NONAME ; class QColor QColor::toHsv(void) const
+ ?maximumHeight@QWidget@@QBEHXZ @ 10488 NONAME ; int QWidget::maximumHeight(void) const
+ ?setContentsMargins@QGraphicsWidget@@QAEXMMMM@Z @ 10489 NONAME ; void QGraphicsWidget::setContentsMargins(float, float, float, float)
+ ??0QDragResponseEvent@@QAE@_N@Z @ 10490 NONAME ; QDragResponseEvent::QDragResponseEvent(bool)
+ ?insertLayout@QBoxLayout@@QAEXHPAVQLayout@@H@Z @ 10491 NONAME ; void QBoxLayout::insertLayout(int, class QLayout *, int)
+ ?graphicsEffect@QGraphicsItem@@QBEPAVQGraphicsEffect@@XZ @ 10492 NONAME ; class QGraphicsEffect * QGraphicsItem::graphicsEffect(void) const
+ ??_EQGraphicsScale@@UAE@I@Z @ 10493 NONAME ; QGraphicsScale::~QGraphicsScale(unsigned int)
+ ??6@YA?AVQDebug@@V0@V?$QFlags@W4GraphicsItemFlag@QGraphicsItem@@@@@Z @ 10494 NONAME ; class QDebug operator<<(class QDebug, class QFlags<enum QGraphicsItem::GraphicsItemFlag>)
+ ?setDevice@QMovie@@QAEXPAVQIODevice@@@Z @ 10495 NONAME ; void QMovie::setDevice(class QIODevice *)
+ ??_EQGraphicsSceneMouseEvent@@UAE@I@Z @ 10496 NONAME ; QGraphicsSceneMouseEvent::~QGraphicsSceneMouseEvent(unsigned int)
+ ?trUtf8@QSplashScreen@@SA?AVQString@@PBD0@Z @ 10497 NONAME ; class QString QSplashScreen::trUtf8(char const *, char const *)
+ ?metaObject@QUndoGroup@@UBEPBUQMetaObject@@XZ @ 10498 NONAME ; struct QMetaObject const * QUndoGroup::metaObject(void) const
+ ?inputContext@QApplication@@QBEPAVQInputContext@@XZ @ 10499 NONAME ; class QInputContext * QApplication::inputContext(void) const
+ ?insertRow@QStandardItemModel@@QAE_NHABVQModelIndex@@@Z @ 10500 NONAME ; bool QStandardItemModel::insertRow(int, class QModelIndex const &)
+ ?clearForeground@QTextFormat@@QAEXXZ @ 10501 NONAME ; void QTextFormat::clearForeground(void)
+ ??0QAbstractSpinBox@@IAE@AAVQAbstractSpinBoxPrivate@@PAVQWidget@@@Z @ 10502 NONAME ; QAbstractSpinBox::QAbstractSpinBox(class QAbstractSpinBoxPrivate &, class QWidget *)
+ ?maximumDateTime@QDateTimeEdit@@QBE?AVQDateTime@@XZ @ 10503 NONAME ; class QDateTime QDateTimeEdit::maximumDateTime(void) const
+ ?mergeCells@QTextTable@@QAEXHHHH@Z @ 10504 NONAME ; void QTextTable::mergeCells(int, int, int, int)
+ ?mouseReleaseEvent@QAbstractItemView@@MAEXPAVQMouseEvent@@@Z @ 10505 NONAME ; void QAbstractItemView::mouseReleaseEvent(class QMouseEvent *)
+ ?colorDialogSetVisible@QGuiPlatformPlugin@@UAE_NPAVQColorDialog@@_N@Z @ 10506 NONAME ; bool QGuiPlatformPlugin::colorDialogSetVisible(class QColorDialog *, bool)
+ ?extension@QGraphicsPolygonItem@@MBE?AVQVariant@@ABV2@@Z @ 10507 NONAME ; class QVariant QGraphicsPolygonItem::extension(class QVariant const &) const
+ ?setVerticalStretch@QSizePolicy@@QAEXE@Z @ 10508 NONAME ; void QSizePolicy::setVerticalStretch(unsigned char)
+ ?setOptions@QItemDelegate@@IBE?AVQStyleOptionViewItem@@ABVQModelIndex@@ABV2@@Z @ 10509 NONAME ; class QStyleOptionViewItem QItemDelegate::setOptions(class QModelIndex const &, class QStyleOptionViewItem const &) const
+ ?d_func@QRubberBand@@ABEPBVQRubberBandPrivate@@XZ @ 10510 NONAME ; class QRubberBandPrivate const * QRubberBand::d_func(void) const
+ ?setInputMask@QLineControl@@QAEXABVQString@@@Z @ 10511 NONAME ; void QLineControl::setInputMask(class QString const &)
+ ?verticalOffset@QColumnView@@MBEHXZ @ 10512 NONAME ; int QColumnView::verticalOffset(void) const
+ ??1QRadialGradient@@QAE@XZ @ 10513 NONAME ; QRadialGradient::~QRadialGradient(void)
+ ?qt_metacall@QStandardItemModel@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 10514 NONAME ; int QStandardItemModel::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ??0QFont@@QAE@XZ @ 10515 NONAME ; QFont::QFont(void)
+ ?setTransform@QGraphicsView@@QAEXABVQTransform@@_N@Z @ 10516 NONAME ; void QGraphicsView::setTransform(class QTransform const &, bool)
+ ?screenPos@QGraphicsSceneMouseEvent@@QBE?AVQPoint@@XZ @ 10517 NONAME ; class QPoint QGraphicsSceneMouseEvent::screenPos(void) const
+ ?spread@QGradient@@QBE?AW4Spread@1@XZ @ 10518 NONAME ; enum QGradient::Spread QGradient::spread(void) const
+ ?insertRow@QTableWidget@@QAEXH@Z @ 10519 NONAME ; void QTableWidget::insertRow(int)
+ ?itemAt@QGraphicsScene@@QBEPAVQGraphicsItem@@ABVQPointF@@ABVQTransform@@@Z @ 10520 NONAME ; class QGraphicsItem * QGraphicsScene::itemAt(class QPointF const &, class QTransform const &) const
+ ?paintEvent@QCheckBox@@MAEXPAVQPaintEvent@@@Z @ 10521 NONAME ; void QCheckBox::paintEvent(class QPaintEvent *)
+ ?timerEvent@QTextEdit@@MAEXPAVQTimerEvent@@@Z @ 10522 NONAME ; void QTextEdit::timerEvent(class QTimerEvent *)
+ ?blurHint@QGraphicsBloomEffect@@QBE?AW4RenderHint@Qt@@XZ @ 10523 NONAME ABSENT ; enum Qt::RenderHint QGraphicsBloomEffect::blurHint(void) const
+ ?setInterpolationMode@QGradient@@QAEXW4InterpolationMode@1@@Z @ 10524 NONAME ; void QGradient::setInterpolationMode(enum QGradient::InterpolationMode)
+ ?eraseRect@QPainter@@QAEXABVQRect@@@Z @ 10525 NONAME ; void QPainter::eraseRect(class QRect const &)
+ ?tr@QDesktopWidget@@SA?AVQString@@PBD0H@Z @ 10526 NONAME ; class QString QDesktopWidget::tr(char const *, char const *, int)
+ ?drawPixmap@QPainter@@QAEXHHHHABVQPixmap@@HHHH@Z @ 10527 NONAME ; void QPainter::drawPixmap(int, int, int, int, class QPixmap const &, int, int, int, int)
+ ?HandleCommandL@QS60MainAppUi@@UAEXH@Z @ 10528 NONAME ; void QS60MainAppUi::HandleCommandL(int)
+ ?minimum@QProgressDialog@@QBEHXZ @ 10529 NONAME ; int QProgressDialog::minimum(void) const
+ ?keyPressEvent@QTextBrowser@@MAEXPAVQKeyEvent@@@Z @ 10530 NONAME ; void QTextBrowser::keyPressEvent(class QKeyEvent *)
+ ?trUtf8@QDialog@@SA?AVQString@@PBD0H@Z @ 10531 NONAME ; class QString QDialog::trUtf8(char const *, char const *, int)
+ ?viewTransformEnabled@QPainter@@QBE_NXZ @ 10532 NONAME ; bool QPainter::viewTransformEnabled(void) const
+ ??AQKeySequence@@QBEHI@Z @ 10533 NONAME ; int QKeySequence::operator[](unsigned int) const
+ ?mouseMoveEvent@QAbstractButton@@MAEXPAVQMouseEvent@@@Z @ 10534 NONAME ; void QAbstractButton::mouseMoveEvent(class QMouseEvent *)
+ ?setFilterKeyColumn@QSortFilterProxyModel@@QAEXH@Z @ 10535 NONAME ; void QSortFilterProxyModel::setFilterKeyColumn(int)
+ ?hasVisitedPage@QWizard@@QBE_NH@Z @ 10536 NONAME ; bool QWizard::hasVisitedPage(int) const
+ ?setOffset@QGraphicsDropShadowEffect@@QAEXABVQPointF@@@Z @ 10537 NONAME ; void QGraphicsDropShadowEffect::setOffset(class QPointF const &)
+ ?hideEvent@QAbstractSpinBox@@MAEXPAVQHideEvent@@@Z @ 10538 NONAME ; void QAbstractSpinBox::hideEvent(class QHideEvent *)
+ ?setData@QTableWidgetItem@@UAEXHABVQVariant@@@Z @ 10539 NONAME ; void QTableWidgetItem::setData(int, class QVariant const &)
+ ?setBlurRadius@QGraphicsBloomEffect@@QAEXH@Z @ 10540 NONAME ABSENT ; void QGraphicsBloomEffect::setBlurRadius(int)
+ ?qt_metacast@QAbstractProxyModel@@UAEPAXPBD@Z @ 10541 NONAME ; void * QAbstractProxyModel::qt_metacast(char const *)
+ ?setModelColumn@QListView@@QAEXH@Z @ 10542 NONAME ; void QListView::setModelColumn(int)
+ ?addDockWidget@QMainWindow@@QAEXW4DockWidgetArea@Qt@@PAVQDockWidget@@W4Orientation@3@@Z @ 10543 NONAME ; void QMainWindow::addDockWidget(enum Qt::DockWidgetArea, class QDockWidget *, enum Qt::Orientation)
+ ?setVisible@QGraphicsItem@@QAEX_N@Z @ 10544 NONAME ; void QGraphicsItem::setVisible(bool)
+ ?setItemDelegate@QComboBox@@QAEXPAVQAbstractItemDelegate@@@Z @ 10545 NONAME ; void QComboBox::setItemDelegate(class QAbstractItemDelegate *)
+ ?suffix@QDoubleSpinBox@@QBE?AVQString@@XZ @ 10546 NONAME ; class QString QDoubleSpinBox::suffix(void) const
+ ??MQFont@@QBE_NABV0@@Z @ 10547 NONAME ; bool QFont::operator<(class QFont const &) const
+ ?drawTiledPixmap@QPainter@@QAEXABVQRect@@ABVQPixmap@@ABVQPoint@@@Z @ 10548 NONAME ; void QPainter::drawTiledPixmap(class QRect const &, class QPixmap const &, class QPoint const &)
+ ??0QMatrix4x4@@QAE@XZ @ 10549 NONAME ; QMatrix4x4::QMatrix4x4(void)
+ ?setMenuBar@QMainWindow@@QAEXPAVQMenuBar@@@Z @ 10550 NONAME ; void QMainWindow::setMenuBar(class QMenuBar *)
+ ?resize@QGraphicsWidget@@QAEXABVQSizeF@@@Z @ 10551 NONAME ; void QGraphicsWidget::resize(class QSizeF const &)
+ ?trUtf8@QMouseEventTransition@@SA?AVQString@@PBD0H@Z @ 10552 NONAME ; class QString QMouseEventTransition::trUtf8(char const *, char const *, int)
+ ?isEnabled@QStandardItem@@QBE_NXZ @ 10553 NONAME ; bool QStandardItem::isEnabled(void) const
+ ??5@YAAAVQDataStream@@AAV0@AAVQPalette@@@Z @ 10554 NONAME ; class QDataStream & operator>>(class QDataStream &, class QPalette &)
+ ?keyReleaseEvent@QTextEdit@@MAEXPAVQKeyEvent@@@Z @ 10555 NONAME ; void QTextEdit::keyReleaseEvent(class QKeyEvent *)
+ ?sizeHint@QComboBox@@UBE?AVQSize@@XZ @ 10556 NONAME ; class QSize QComboBox::sizeHint(void) const
+ ?currentImageNumber@QImageIOHandler@@UBEHXZ @ 10557 NONAME ; int QImageIOHandler::currentImageNumber(void) const
+ ?setWhatsThis@QShortcut@@QAEXABVQString@@@Z @ 10558 NONAME ; void QShortcut::setWhatsThis(class QString const &)
+ ?trUtf8@QGraphicsScale@@SA?AVQString@@PBD0H@Z @ 10559 NONAME ; class QString QGraphicsScale::trUtf8(char const *, char const *, int)
+ ?setW@QVector4D@@QAEXM@Z @ 10560 NONAME ; void QVector4D::setW(float)
+ ?sectionResized@QHeaderView@@IAEXHHH@Z @ 10561 NONAME ; void QHeaderView::sectionResized(int, int, int)
+ ?draw@QTextLayout@@QBEXPAVQPainter@@ABVQPointF@@ABV?$QVector@UFormatRange@QTextLayout@@@@ABVQRectF@@@Z @ 10562 NONAME ; void QTextLayout::draw(class QPainter *, class QPointF const &, class QVector<struct QTextLayout::FormatRange> const &, class QRectF const &) const
+ ?alphaChannel@QImage@@QBE?AV1@XZ @ 10563 NONAME ; class QImage QImage::alphaChannel(void) const
+ ?minimumSizeHint@QDialog@@UBE?AVQSize@@XZ @ 10564 NONAME ; class QSize QDialog::minimumSizeHint(void) const
+ ?supportedDropActions@QListWidget@@MBE?AV?$QFlags@W4DropAction@Qt@@@@XZ @ 10565 NONAME ; class QFlags<enum Qt::DropAction> QListWidget::supportedDropActions(void) const
+ ?startDragDistance@QApplication@@SAHXZ @ 10566 NONAME ; int QApplication::startDragDistance(void)
+ ??9QTextFormat@@QBE_NABV0@@Z @ 10567 NONAME ; bool QTextFormat::operator!=(class QTextFormat const &) const
+ ?minimumTime@QDateTimeEdit@@QBE?AVQTime@@XZ @ 10568 NONAME ; class QTime QDateTimeEdit::minimumTime(void) const
+ ?isRotating@QTransform@@QBE_NXZ @ 10569 NONAME ; bool QTransform::isRotating(void) const
+ ?justify@QTextEngine@@QAEXABUQScriptLine@@@Z @ 10570 NONAME ; void QTextEngine::justify(struct QScriptLine const &)
+ ?metaObject@QToolBar@@UBEPBUQMetaObject@@XZ @ 10571 NONAME ; struct QMetaObject const * QToolBar::metaObject(void) const
+ ?indexAt@QTableView@@UBE?AVQModelIndex@@ABVQPoint@@@Z @ 10572 NONAME ; class QModelIndex QTableView::indexAt(class QPoint const &) const
+ ?qt_metacast@QTableWidget@@UAEPAXPBD@Z @ 10573 NONAME ; void * QTableWidget::qt_metacast(char const *)
+ ?substitute@QFont@@SA?AVQString@@ABV2@@Z @ 10574 NONAME ; class QString QFont::substitute(class QString const &)
+ ??0QStyleOptionToolButton@@QAE@ABV0@@Z @ 10575 NONAME ; QStyleOptionToolButton::QStyleOptionToolButton(class QStyleOptionToolButton const &)
+ ??_EQTextFrame@@UAE@I@Z @ 10576 NONAME ; QTextFrame::~QTextFrame(unsigned int)
+ ?mergeCells@QTextTable@@QAEXABVQTextCursor@@@Z @ 10577 NONAME ; void QTextTable::mergeCells(class QTextCursor const &)
+ ??XQMatrix4x4@@QAEAAV0@M@Z @ 10578 NONAME ; class QMatrix4x4 & QMatrix4x4::operator*=(float)
+ ?stepDown@QAbstractSpinBox@@QAEXXZ @ 10579 NONAME ; void QAbstractSpinBox::stepDown(void)
+ ?minimumSize@QSpacerItem@@UBE?AVQSize@@XZ @ 10580 NONAME ; class QSize QSpacerItem::minimumSize(void) const
+ ?dockWidgetArea@QMainWindow@@QBE?AW4DockWidgetArea@Qt@@PAVQDockWidget@@@Z @ 10581 NONAME ; enum Qt::DockWidgetArea QMainWindow::dockWidgetArea(class QDockWidget *) const
+ ?activeAction@QMenuBar@@QBEPAVQAction@@XZ @ 10582 NONAME ; class QAction * QMenuBar::activeAction(void) const
+ ??1QUndoCommand@@UAE@XZ @ 10583 NONAME ; QUndoCommand::~QUndoCommand(void)
+ ?setSpacing@QGraphicsLinearLayout@@QAEXM@Z @ 10584 NONAME ; void QGraphicsLinearLayout::setSpacing(float)
+ ?mapToParent@QGraphicsItem@@QBE?AVQPointF@@ABV2@@Z @ 10585 NONAME ; class QPointF QGraphicsItem::mapToParent(class QPointF const &) const
+ ?mousePressEvent@QAbstractItemView@@MAEXPAVQMouseEvent@@@Z @ 10586 NONAME ; void QAbstractItemView::mousePressEvent(class QMouseEvent *)
+ ?cacheMode@QMovie@@QAE?AW4CacheMode@1@XZ @ 10587 NONAME ; enum QMovie::CacheMode QMovie::cacheMode(void)
+ ?setBackgroundColor@QTableWidgetItem@@QAEXABVQColor@@@Z @ 10588 NONAME ; void QTableWidgetItem::setBackgroundColor(class QColor const &)
+ ??0QApplication@@IAE@P6APAVCApaApplication@@XZAAHPAPAD@Z @ 10589 NONAME ; QApplication::QApplication(class CApaApplication * (*)(void), int &, char * *)
+ ?charFormat@QTextBlock@@QBE?AVQTextCharFormat@@XZ @ 10590 NONAME ; class QTextCharFormat QTextBlock::charFormat(void) const
+ ?activate@QGraphicsLayout@@QAEXXZ @ 10591 NONAME ; void QGraphicsLayout::activate(void)
+ ?sizeHint@QListWidgetItem@@QBE?AVQSize@@XZ @ 10592 NONAME ; class QSize QListWidgetItem::sizeHint(void) const
+ ?device@QImageWriter@@QBEPAVQIODevice@@XZ @ 10593 NONAME ; class QIODevice * QImageWriter::device(void) const
+ ?acceptDrops@QWidget@@QBE_NXZ @ 10594 NONAME ; bool QWidget::acceptDrops(void) const
+ ?sectionsMoved@QHeaderView@@QBE_NXZ @ 10595 NONAME ; bool QHeaderView::sectionsMoved(void) const
+ ?menuBar@QLayout@@QBEPAVQWidget@@XZ @ 10596 NONAME ; class QWidget * QLayout::menuBar(void) const
+ ?items@QGraphicsScene@@QBE?AV?$QList@PAVQGraphicsItem@@@@ABVQPolygonF@@W4ItemSelectionMode@Qt@@W4SortOrder@5@ABVQTransform@@@Z @ 10597 NONAME ; class QList<class QGraphicsItem *> QGraphicsScene::items(class QPolygonF const &, enum Qt::ItemSelectionMode, enum Qt::SortOrder, class QTransform const &) const
+ ?substitutions@QFont@@SA?AVQStringList@@XZ @ 10598 NONAME ; class QStringList QFont::substitutions(void)
+ ?DoCommitFepInlineEditL@QCoeFepInputContext@@EAEXXZ @ 10599 NONAME ABSENT ; void QCoeFepInputContext::DoCommitFepInlineEditL(void)
+ ?rootPath@QFileSystemModel@@QBE?AVQString@@XZ @ 10600 NONAME ; class QString QFileSystemModel::rootPath(void) const
+ ?documentSizeChanged@QTextControl@@IAEXABVQSizeF@@@Z @ 10601 NONAME ; void QTextControl::documentSizeChanged(class QSizeF const &)
+ ??1QScrollArea@@UAE@XZ @ 10602 NONAME ; QScrollArea::~QScrollArea(void)
+ ?tr@QClipboard@@SA?AVQString@@PBD0H@Z @ 10603 NONAME ; class QString QClipboard::tr(char const *, char const *, int)
+ ?app_strut@QApplicationPrivate@@2VQSize@@A @ 10604 NONAME ; class QSize QApplicationPrivate::app_strut
+ ?windowRole@QWidget@@QBE?AVQString@@XZ @ 10605 NONAME ; class QString QWidget::windowRole(void) const
+ ??XQQuaternion@@QAEAAV0@ABV0@@Z @ 10606 NONAME ; class QQuaternion & QQuaternion::operator*=(class QQuaternion const &)
+ ??0QImage@@QAE@PAEHHW4Format@0@@Z @ 10607 NONAME ; QImage::QImage(unsigned char *, int, int, enum QImage::Format)
+ ?status@QPictureIO@@QBEHXZ @ 10608 NONAME ; int QPictureIO::status(void) const
+ ??_EQPixmapData@@UAE@I@Z @ 10609 NONAME ; QPixmapData::~QPixmapData(unsigned int)
+ ?reset@QProgressBar@@QAEXXZ @ 10610 NONAME ; void QProgressBar::reset(void)
+ ??0QFocusFrame@@QAE@PAVQWidget@@@Z @ 10611 NONAME ; QFocusFrame::QFocusFrame(class QWidget *)
+ ?setSizePolicy@QWidget@@QAEXW4Policy@QSizePolicy@@0@Z @ 10612 NONAME ; void QWidget::setSizePolicy(enum QSizePolicy::Policy, enum QSizePolicy::Policy)
+ ?d_func@QDialog@@AAEPAVQDialogPrivate@@XZ @ 10613 NONAME ; class QDialogPrivate * QDialog::d_func(void)
+ ?back@QWizard@@QAEXXZ @ 10614 NONAME ; void QWizard::back(void)
+ ?reason@QFocusEvent@@QBE?AW4FocusReason@Qt@@XZ @ 10615 NONAME ; enum Qt::FocusReason QFocusEvent::reason(void) const
+ ?undo@QTextControl@@QAEXXZ @ 10616 NONAME ; void QTextControl::undo(void)
+ ?fromHsv@QColor@@SA?AV1@HHHH@Z @ 10617 NONAME ; class QColor QColor::fromHsv(int, int, int, int)
+ ?reset@QCoeFepInputContext@@UAEXXZ @ 10618 NONAME ABSENT ; void QCoeFepInputContext::reset(void)
+ ?load@QImage@@QAE_NABVQString@@PBD@Z @ 10619 NONAME ; bool QImage::load(class QString const &, char const *)
+ ?staticMetaObject@QProxyStyle@@2UQMetaObject@@B @ 10620 NONAME ; struct QMetaObject const QProxyStyle::staticMetaObject
+ ?translate@QMatrix4x4@@QAEAAV1@MMM@Z @ 10621 NONAME ; class QMatrix4x4 & QMatrix4x4::translate(float, float, float)
+ ?setShowGrid@QTableView@@QAEX_N@Z @ 10622 NONAME ; void QTableView::setShowGrid(bool)
+ ?allowedAreas@QToolBar@@QBE?AV?$QFlags@W4ToolBarArea@Qt@@@@XZ @ 10623 NONAME ; class QFlags<enum Qt::ToolBarArea> QToolBar::allowedAreas(void) const
+ ?addAction@QMenu@@QAEPAVQAction@@ABVQIcon@@ABVQString@@@Z @ 10624 NONAME ; class QAction * QMenu::addAction(class QIcon const &, class QString const &)
+ ?fileDialogSetVisible@QGuiPlatformPlugin@@UAE_NPAVQFileDialog@@_N@Z @ 10625 NONAME ; bool QGuiPlatformPlugin::fileDialogSetVisible(class QFileDialog *, bool)
+ ?isActivated@QGraphicsLayout@@QBE_NXZ @ 10626 NONAME ; bool QGraphicsLayout::isActivated(void) const
+ ?coefficients@QBezier@@SAXMAAM000@Z @ 10627 NONAME ; void QBezier::coefficients(float, float &, float &, float &, float &)
+ ?setEnabledHelper@QGraphicsItemPrivate@@QAEX_N00@Z @ 10628 NONAME ; void QGraphicsItemPrivate::setEnabledHelper(bool, bool, bool)
+ ?headerData@QFileSystemModel@@UBE?AVQVariant@@HW4Orientation@Qt@@H@Z @ 10629 NONAME ; class QVariant QFileSystemModel::headerData(int, enum Qt::Orientation, int) const
+ ?qt_metacast@QPictureFormatPlugin@@UAEPAXPBD@Z @ 10630 NONAME ; void * QPictureFormatPlugin::qt_metacast(char const *)
+ ?removeRows@QStandardItem@@QAEXHH@Z @ 10631 NONAME ; void QStandardItem::removeRows(int, int)
+ ?columnCount@QSortFilterProxyModel@@UBEHABVQModelIndex@@@Z @ 10632 NONAME ; int QSortFilterProxyModel::columnCount(class QModelIndex const &) const
+ ?setId@TouchPoint@QTouchEvent@@QAEXH@Z @ 10633 NONAME ; void QTouchEvent::TouchPoint::setId(int)
+ ?stackUnder@QWidget@@QAEXPAV1@@Z @ 10634 NONAME ; void QWidget::stackUnder(class QWidget *)
+ ?drawEllipse@QPainter@@QAEXABVQPoint@@HH@Z @ 10635 NONAME ; void QPainter::drawEllipse(class QPoint const &, int, int)
+ ?advance@QGraphicsScene@@QAEXXZ @ 10636 NONAME ; void QGraphicsScene::advance(void)
+ ?setPalette_helper@QWidgetPrivate@@QAEXABVQPalette@@@Z @ 10637 NONAME ; void QWidgetPrivate::setPalette_helper(class QPalette const &)
+ ?childAt@QWidget@@QBEPAV1@HH@Z @ 10638 NONAME ; class QWidget * QWidget::childAt(int, int) const
+ ??0QPixmapDropShadowFilter@@QAE@PAVQObject@@@Z @ 10639 NONAME ; QPixmapDropShadowFilter::QPixmapDropShadowFilter(class QObject *)
+ ?removeGlyphFromCache@QFontEngine@@UAEXI@Z @ 10640 NONAME ; void QFontEngine::removeGlyphFromCache(unsigned int)
+ ?staticMetaObject@QFileDialog@@2UQMetaObject@@B @ 10641 NONAME ; struct QMetaObject const QFileDialog::staticMetaObject
+ ?textValue@QInputDialog@@QBE?AVQString@@XZ @ 10642 NONAME ; class QString QInputDialog::textValue(void) const
+ ?staticMetaObject@QStatusBar@@2UQMetaObject@@B @ 10643 NONAME ; struct QMetaObject const QStatusBar::staticMetaObject
+ ?resetFormAlignment@QFormLayout@@AAEXXZ @ 10644 NONAME ; void QFormLayout::resetFormAlignment(void)
+ ?setPreeditArea@QTextLayout@@QAEXHABVQString@@@Z @ 10645 NONAME ; void QTextLayout::setPreeditArea(int, class QString const &)
+ ?keyReleaseEvent@QGraphicsTextItem@@MAEXPAVQKeyEvent@@@Z @ 10646 NONAME ; void QGraphicsTextItem::keyReleaseEvent(class QKeyEvent *)
+ ?yOffset@QGraphicsDropShadowEffect@@QBEMXZ @ 10647 NONAME ; float QGraphicsDropShadowEffect::yOffset(void) const
+ ?cursorWidth@QLineControl@@QBEHXZ @ 10648 NONAME ; int QLineControl::cursorWidth(void) const
+ ?fromRgbF@QColor@@SA?AV1@MMMM@Z @ 10649 NONAME ; class QColor QColor::fromRgbF(float, float, float, float)
+ ?widget@QCompleter@@QBEPAVQWidget@@XZ @ 10650 NONAME ; class QWidget * QCompleter::widget(void) const
+ ??BQVector4D@@QBE?AVQVariant@@XZ @ 10651 NONAME ; QVector4D::operator class QVariant(void) const
+ ?document@QTextCursor@@QBEPAVQTextDocument@@XZ @ 10652 NONAME ; class QTextDocument * QTextCursor::document(void) const
+ ?create@QImageData@@SAPAU1@PAEHHHW4Format@QImage@@_N@Z @ 10653 NONAME ; struct QImageData * QImageData::create(unsigned char *, int, int, int, enum QImage::Format, bool)
+ ?map@QMatrix@@QBE?AVQPointF@@ABV2@@Z @ 10654 NONAME ; class QPointF QMatrix::map(class QPointF const &) const
+ ?ensureVisible@QScrollArea@@QAEXHHHH@Z @ 10655 NONAME ; void QScrollArea::ensureVisible(int, int, int, int)
+ ?tr@QStyle@@SA?AVQString@@PBD0H@Z @ 10656 NONAME ; class QString QStyle::tr(char const *, char const *, int)
+ ?setMaximum@QDoubleSpinBox@@QAEXN@Z @ 10657 NONAME ; void QDoubleSpinBox::setMaximum(double)
+ ??5@YAAAVQDataStream@@AAV0@AAVQTableWidgetItem@@@Z @ 10658 NONAME ; class QDataStream & operator>>(class QDataStream &, class QTableWidgetItem &)
+ ?map@QTransform@@QBE?AVQPolygonF@@ABV2@@Z @ 10659 NONAME ; class QPolygonF QTransform::map(class QPolygonF const &) const
+ ?setMaxLength@QLineEdit@@QAEXH@Z @ 10660 NONAME ; void QLineEdit::setMaxLength(int)
+ ?d_func@QWidget@@AAEPAVQWidgetPrivate@@XZ @ 10661 NONAME ; class QWidgetPrivate * QWidget::d_func(void)
+ ??0QUndoStack@@QAE@PAVQObject@@@Z @ 10662 NONAME ; QUndoStack::QUndoStack(class QObject *)
+ ?updateGeometry@QGraphicsLayout@@UAEXXZ @ 10663 NONAME ; void QGraphicsLayout::updateGeometry(void)
+ ?setTimeSpec@QDateTimeEdit@@QAEXW4TimeSpec@Qt@@@Z @ 10664 NONAME ; void QDateTimeEdit::setTimeSpec(enum Qt::TimeSpec)
+ ?type@QFileIconProvider@@UBE?AVQString@@ABVQFileInfo@@@Z @ 10665 NONAME ; class QString QFileIconProvider::type(class QFileInfo const &) const
+ ?tr@QGraphicsScale@@SA?AVQString@@PBD0@Z @ 10666 NONAME ; class QString QGraphicsScale::tr(char const *, char const *)
+ ??_EQIconEngineV2@@UAE@I@Z @ 10667 NONAME ; QIconEngineV2::~QIconEngineV2(unsigned int)
+ ?findItems@QListWidget@@QBE?AV?$QList@PAVQListWidgetItem@@@@ABVQString@@V?$QFlags@W4MatchFlag@Qt@@@@@Z @ 10668 NONAME ; class QList<class QListWidgetItem *> QListWidget::findItems(class QString const &, class QFlags<enum Qt::MatchFlag>) const
+ ?qt_metacast@QGraphicsProxyWidget@@UAEPAXPBD@Z @ 10669 NONAME ; void * QGraphicsProxyWidget::qt_metacast(char const *)
+ ?font@QTreeWidgetItem@@QBE?AVQFont@@H@Z @ 10670 NONAME ; class QFont QTreeWidgetItem::font(int) const
+ ??0QStyleOptionProgressBarV2@@QAE@XZ @ 10671 NONAME ; QStyleOptionProgressBarV2::QStyleOptionProgressBarV2(void)
+ ?trUtf8@QProxyStyle@@SA?AVQString@@PBD0H@Z @ 10672 NONAME ; class QString QProxyStyle::trUtf8(char const *, char const *, int)
+ ?setHeaderLabel@QTreeWidget@@QAEXABVQString@@@Z @ 10673 NONAME ; void QTreeWidget::setHeaderLabel(class QString const &)
+ ??0QGraphicsScene@@QAE@PAVQObject@@@Z @ 10674 NONAME ; QGraphicsScene::QGraphicsScene(class QObject *)
+ ?focusNextPrevChild@QGraphicsView@@MAE_N_N@Z @ 10675 NONAME ; bool QGraphicsView::focusNextPrevChild(bool)
+ ?format@QImage@@QBE?AW4Format@1@XZ @ 10676 NONAME ; enum QImage::Format QImage::format(void) const
+ ??_EQSessionManager@@UAE@I@Z @ 10677 NONAME ; QSessionManager::~QSessionManager(unsigned int)
+ ?ensureVisible@QGraphicsView@@QAEXPBVQGraphicsItem@@HH@Z @ 10678 NONAME ; void QGraphicsView::ensureVisible(class QGraphicsItem const *, int, int)
+ ?buttonDownScreenPos@QGraphicsSceneMouseEvent@@QBE?AVQPoint@@W4MouseButton@Qt@@@Z @ 10679 NONAME ; class QPoint QGraphicsSceneMouseEvent::buttonDownScreenPos(enum Qt::MouseButton) const
+ ??0QStyleOptionViewItemV4@@QAE@ABVQStyleOptionViewItem@@@Z @ 10680 NONAME ; QStyleOptionViewItemV4::QStyleOptionViewItemV4(class QStyleOptionViewItem const &)
+ ?setSorting@QDirModel@@QAEXV?$QFlags@W4SortFlag@QDir@@@@@Z @ 10681 NONAME ; void QDirModel::setSorting(class QFlags<enum QDir::SortFlag>)
+ ?isEmpty@QVectorPath@@QBE_NXZ @ 10682 NONAME ; bool QVectorPath::isEmpty(void) const
+ ??1QFocusFrame@@UAE@XZ @ 10683 NONAME ; QFocusFrame::~QFocusFrame(void)
+ ?mouseDoubleClickEvent@QLineEdit@@MAEXPAVQMouseEvent@@@Z @ 10684 NONAME ; void QLineEdit::mouseDoubleClickEvent(class QMouseEvent *)
+ ??0QProxyModel@@QAE@PAVQObject@@@Z @ 10685 NONAME ; QProxyModel::QProxyModel(class QObject *)
+ ?minimumSizeHint@QDial@@UBE?AVQSize@@XZ @ 10686 NONAME ; class QSize QDial::minimumSizeHint(void) const
+ ?qt_image_cleanup_hook@@3P6AXH@ZA @ 10687 NONAME ; void (*qt_image_cleanup_hook)(int)
+ ?staticMetaObject@QSyntaxHighlighter@@2UQMetaObject@@B @ 10688 NONAME ; struct QMetaObject const QSyntaxHighlighter::staticMetaObject
+ ?controlTypes@QLayoutItem@@QBE?AV?$QFlags@W4ControlType@QSizePolicy@@@@XZ @ 10689 NONAME ; class QFlags<enum QSizePolicy::ControlType> QLayoutItem::controlTypes(void) const
+ ?options@QWizard@@QBE?AV?$QFlags@W4WizardOption@QWizard@@@@XZ @ 10690 NONAME ; class QFlags<enum QWizard::WizardOption> QWizard::options(void) const
+ ?visualRegionForSelection@QTableView@@MBE?AVQRegion@@ABVQItemSelection@@@Z @ 10691 NONAME ; class QRegion QTableView::visualRegionForSelection(class QItemSelection const &) const
+ ?applyFormat@QCoeFepInputContext@@AAEXPAV?$QList@VAttribute@QInputMethodEvent@@@@@Z @ 10692 NONAME ABSENT ; void QCoeFepInputContext::applyFormat(class QList<class QInputMethodEvent::Attribute> *)
+ ??1QFontMetrics@@QAE@XZ @ 10693 NONAME ; QFontMetrics::~QFontMetrics(void)
+ ?setWindowRole@QWidget@@QAEXABVQString@@@Z @ 10694 NONAME ; void QWidget::setWindowRole(class QString const &)
+ ??0QTextTable@@QAE@PAVQTextDocument@@@Z @ 10695 NONAME ; QTextTable::QTextTable(class QTextDocument *)
+ ?getItem@QInputDialog@@SA?AVQString@@PAVQWidget@@ABV2@1ABVQStringList@@H_NPA_NV?$QFlags@W4WindowType@Qt@@@@@Z @ 10696 NONAME ; class QString QInputDialog::getItem(class QWidget *, class QString const &, class QString const &, class QStringList const &, int, bool, bool *, class QFlags<enum Qt::WindowType>)
+ ?trUtf8@QPlainTextEdit@@SA?AVQString@@PBD0H@Z @ 10697 NONAME ; class QString QPlainTextEdit::trUtf8(char const *, char const *, int)
+ ?tr@QPanGesture@@SA?AVQString@@PBD0H@Z @ 10698 NONAME ; class QString QPanGesture::tr(char const *, char const *, int)
+ ?tr@QToolBox@@SA?AVQString@@PBD0H@Z @ 10699 NONAME ; class QString QToolBox::tr(char const *, char const *, int)
+ ?getTrueTypeGlyphIndex@QFontEngine@@SAIPBEI@Z @ 10700 NONAME ; unsigned int QFontEngine::getTrueTypeGlyphIndex(unsigned char const *, unsigned int)
+ ?m23@QTransform@@QBEMXZ @ 10701 NONAME ; float QTransform::m23(void) const
+ ?qt_metacast@QGraphicsOpacityEffect@@UAEPAXPBD@Z @ 10702 NONAME ; void * QGraphicsOpacityEffect::qt_metacast(char const *)
+ ??0QVector3D@@QAE@ABVQPoint@@@Z @ 10703 NONAME ; QVector3D::QVector3D(class QPoint const &)
+ ?fileDialogSelectFile@QGuiPlatformPlugin@@UAEXPAVQFileDialog@@ABVQString@@@Z @ 10704 NONAME ; void QGuiPlatformPlugin::fileDialogSelectFile(class QFileDialog *, class QString const &)
+ ?selectedItems@QTableWidget@@QAE?AV?$QList@PAVQTableWidgetItem@@@@XZ @ 10705 NONAME ; class QList<class QTableWidgetItem *> QTableWidget::selectedItems(void)
+ ?dragMoveEvent@QWidget@@MAEXPAVQDragMoveEvent@@@Z @ 10706 NONAME ; void QWidget::dragMoveEvent(class QDragMoveEvent *)
+ ?started@QMovie@@IAEXXZ @ 10707 NONAME ; void QMovie::started(void)
+ ??_EQImageIOPlugin@@UAE@I@Z @ 10708 NONAME ; QImageIOPlugin::~QImageIOPlugin(unsigned int)
+ ?blurRadiusChanged@QGraphicsDropShadowEffect@@IAEXH@Z @ 10709 NONAME ABSENT ; void QGraphicsDropShadowEffect::blurRadiusChanged(int)
+ ?contains@QPainterPath@@QBE_NABVQPointF@@@Z @ 10710 NONAME ; bool QPainterPath::contains(class QPointF const &) const
+ ?historyUrl@QTextBrowser@@QBE?AVQUrl@@H@Z @ 10711 NONAME ; class QUrl QTextBrowser::historyUrl(int) const
+ ?setLastCenterPoint@QPinchGesture@@QAEXABVQPointF@@@Z @ 10712 NONAME ; void QPinchGesture::setLastCenterPoint(class QPointF const &)
+ ?moveEvent@QGraphicsWidget@@MAEXPAVQGraphicsSceneMoveEvent@@@Z @ 10713 NONAME ; void QGraphicsWidget::moveEvent(class QGraphicsSceneMoveEvent *)
+ ??0QColor@@QAE@HHHH@Z @ 10714 NONAME ; QColor::QColor(int, int, int, int)
+ ?selectAll@QTextEdit@@QAEXXZ @ 10715 NONAME ; void QTextEdit::selectAll(void)
+ ?moveEvent@QSizeGrip@@MAEXPAVQMoveEvent@@@Z @ 10716 NONAME ; void QSizeGrip::moveEvent(class QMoveEvent *)
+ ?canWrite@QImageWriter@@QBE_NXZ @ 10717 NONAME ; bool QImageWriter::canWrite(void) const
+ ?currentItem@QTableWidget@@QBEPAVQTableWidgetItem@@XZ @ 10718 NONAME ; class QTableWidgetItem * QTableWidget::currentItem(void) const
+ ?ownsSelection@QClipboard@@QBE_NXZ @ 10719 NONAME ; bool QClipboard::ownsSelection(void) const
+ ??0QFontMetrics@@QAE@ABV0@@Z @ 10720 NONAME ; QFontMetrics::QFontMetrics(class QFontMetrics const &)
+ ?preeditCursor@QLineControl@@QBEHXZ @ 10721 NONAME ; int QLineControl::preeditCursor(void) const
+ ?cancelText@QLineControl@@QBE?AVQString@@XZ @ 10722 NONAME ; class QString QLineControl::cancelText(void) const
+ ??1Value@QCss@@QAE@XZ @ 10723 NONAME ; QCss::Value::~Value(void)
+ ?updateFont@QWidgetPrivate@@QAEXABVQFont@@@Z @ 10724 NONAME ; void QWidgetPrivate::updateFont(class QFont const &)
+ ?trUtf8@QTextList@@SA?AVQString@@PBD0@Z @ 10725 NONAME ; class QString QTextList::trUtf8(char const *, char const *)
+ ?windowFrameSectionAt@QGraphicsWidget@@MBE?AW4WindowFrameSection@Qt@@ABVQPointF@@@Z @ 10726 NONAME ; enum Qt::WindowFrameSection QGraphicsWidget::windowFrameSectionAt(class QPointF const &) const
+ ?text@QLabel@@QBE?AVQString@@XZ @ 10727 NONAME ; class QString QLabel::text(void) const
+ ?setMaximumHeight@QGraphicsLayoutItem@@QAEXM@Z @ 10728 NONAME ; void QGraphicsLayoutItem::setMaximumHeight(float)
+ ?initStyleOption@QMenu@@IBEXPAVQStyleOptionMenuItem@@PBVQAction@@@Z @ 10729 NONAME ; void QMenu::initStyleOption(class QStyleOptionMenuItem *, class QAction const *) const
+ ?parseExpr@Parser@QCss@@QAE_NPAV?$QVector@UValue@QCss@@@@@Z @ 10730 NONAME ; bool QCss::Parser::parseExpr(class QVector<struct QCss::Value> *)
+ ??5@YAAAVQDataStream@@AAV0@AAVQPaintBuffer@@@Z @ 10731 NONAME ; class QDataStream & operator>>(class QDataStream &, class QPaintBuffer &)
+ ?setShapeMode@QGraphicsPixmapItem@@QAEXW4ShapeMode@1@@Z @ 10732 NONAME ; void QGraphicsPixmapItem::setShapeMode(enum QGraphicsPixmapItem::ShapeMode)
+ ?parentWidget@QAction@@QBEPAVQWidget@@XZ @ 10733 NONAME ; class QWidget * QAction::parentWidget(void) const
+ ??_EQToolBox@@UAE@I@Z @ 10734 NONAME ; QToolBox::~QToolBox(unsigned int)
+ ?mapToScene@QGraphicsView@@QBE?AVQPolygonF@@ABVQPolygon@@@Z @ 10735 NONAME ; class QPolygonF QGraphicsView::mapToScene(class QPolygon const &) const
+ ?tr@QRadioButton@@SA?AVQString@@PBD0@Z @ 10736 NONAME ; class QString QRadioButton::tr(char const *, char const *)
+ ?data@QAction@@QBE?AVQVariant@@XZ @ 10737 NONAME ; class QVariant QAction::data(void) const
+ ?childrenCombineOpacity@QGraphicsItemPrivate@@QBE_NXZ @ 10738 NONAME ; bool QGraphicsItemPrivate::childrenCombineOpacity(void) const
+ ?mouseReleaseEvent@QTreeView@@MAEXPAVQMouseEvent@@@Z @ 10739 NONAME ; void QTreeView::mouseReleaseEvent(class QMouseEvent *)
+ ?isEmpty@QPainterPath@@QBE_NXZ @ 10740 NONAME ; bool QPainterPath::isEmpty(void) const
+ ?windowState@QWidget@@QBE?AV?$QFlags@W4WindowState@Qt@@@@XZ @ 10741 NONAME ; class QFlags<enum Qt::WindowState> QWidget::windowState(void) const
+ ?attributes@QTextEngine@@QBEPBUHB_CharAttributes@@XZ @ 10742 NONAME ; struct HB_CharAttributes const * QTextEngine::attributes(void) const
+ ??1QMoveEvent@@UAE@XZ @ 10743 NONAME ; QMoveEvent::~QMoveEvent(void)
+ ?releaseWidget@QWidgetAction@@QAEXPAVQWidget@@@Z @ 10744 NONAME ; void QWidgetAction::releaseWidget(class QWidget *)
+ ?isNull@QImage@@QBE_NXZ @ 10745 NONAME ; bool QImage::isNull(void) const
+ ?setModal_sys@QWidgetPrivate@@QAEXXZ @ 10746 NONAME ; void QWidgetPrivate::setModal_sys(void)
+ ?fillRect@QPainter@@QAEXHHHHW4GlobalColor@Qt@@@Z @ 10747 NONAME ; void QPainter::fillRect(int, int, int, int, enum Qt::GlobalColor)
+ ?qt_metacast@QCheckBox@@UAEPAXPBD@Z @ 10748 NONAME ; void * QCheckBox::qt_metacast(char const *)
+ ?defaultSuffix@QFileDialog@@QBE?AVQString@@XZ @ 10749 NONAME ; class QString QFileDialog::defaultSuffix(void) const
+ ?d_func@QFocusFrame@@ABEPBVQFocusFramePrivate@@XZ @ 10750 NONAME ; class QFocusFramePrivate const * QFocusFrame::d_func(void) const
+ ??0QPalette@@QAE@ABVQBrush@@00000000@Z @ 10751 NONAME ; QPalette::QPalette(class QBrush const &, class QBrush const &, class QBrush const &, class QBrush const &, class QBrush const &, class QBrush const &, class QBrush const &, class QBrush const &, class QBrush const &)
+ ?qt_metacast@QPixmapColorizeFilter@@UAEPAXPBD@Z @ 10752 NONAME ; void * QPixmapColorizeFilter::qt_metacast(char const *)
+ ?setButtonText@QWizard@@QAEXW4WizardButton@1@ABVQString@@@Z @ 10753 NONAME ; void QWizard::setButtonText(enum QWizard::WizardButton, class QString const &)
+ ?setAlphaChannel@QRasterPixmapData@@UAEXABVQPixmap@@@Z @ 10754 NONAME ; void QRasterPixmapData::setAlphaChannel(class QPixmap const &)
+ ?mousePressEvent@QComboBox@@MAEXPAVQMouseEvent@@@Z @ 10755 NONAME ; void QComboBox::mousePressEvent(class QMouseEvent *)
+ ?indexOf@QToolBox@@QBEHPAVQWidget@@@Z @ 10756 NONAME ; int QToolBox::indexOf(class QWidget *) const
+ ?documentLayoutChanged@QTextDocument@@IAEXXZ @ 10757 NONAME ; void QTextDocument::documentLayoutChanged(void)
+ ?isAutoRepeat@QKeyEvent@@QBE_NXZ @ 10758 NONAME ; bool QKeyEvent::isAutoRepeat(void) const
+ ?drawFrame@QFrame@@IAEXPAVQPainter@@@Z @ 10759 NONAME ; void QFrame::drawFrame(class QPainter *)
+ ?cut@QLineEdit@@QAEXXZ @ 10760 NONAME ; void QLineEdit::cut(void)
+ ?autoRaise@QToolButton@@QBE_NXZ @ 10761 NONAME ; bool QToolButton::autoRaise(void) const
+ ?translate@QPainter@@QAEXMM@Z @ 10762 NONAME ; void QPainter::translate(float, float)
+ ?repaint_sys@QWidgetPrivate@@QAEXABVQRegion@@@Z @ 10763 NONAME ; void QWidgetPrivate::repaint_sys(class QRegion const &)
+ ?d_func@QDoubleValidator@@ABEPBVQDoubleValidatorPrivate@@XZ @ 10764 NONAME ; class QDoubleValidatorPrivate const * QDoubleValidator::d_func(void) const
+ ?trUtf8@QDoubleValidator@@SA?AVQString@@PBD0@Z @ 10765 NONAME ; class QString QDoubleValidator::trUtf8(char const *, char const *)
+ ?widget@QMdiSubWindow@@QBEPAVQWidget@@XZ @ 10766 NONAME ; class QWidget * QMdiSubWindow::widget(void) const
+ ??0QIconEnginePluginV2@@QAE@PAVQObject@@@Z @ 10767 NONAME ; QIconEnginePluginV2::QIconEnginePluginV2(class QObject *)
+ ?tabLayoutChange@QTabBar@@MAEXXZ @ 10768 NONAME ; void QTabBar::tabLayoutChange(void)
+ ??_EQSplashScreen@@UAE@I@Z @ 10769 NONAME ; QSplashScreen::~QSplashScreen(unsigned int)
+ ?scrollRect@QWidgetPrivate@@QAEXABVQRect@@HH@Z @ 10770 NONAME ; void QWidgetPrivate::scrollRect(class QRect const &, int, int)
+ ?mapRect@QMatrix@@QBE?AVQRect@@ABV2@@Z @ 10771 NONAME ; class QRect QMatrix::mapRect(class QRect const &) const
+ ?opaqueArea@QGraphicsSimpleTextItem@@UBE?AVQPainterPath@@XZ @ 10772 NONAME ; class QPainterPath QGraphicsSimpleTextItem::opaqueArea(void) const
+ ?createSysExtra@QWidgetPrivate@@QAEXXZ @ 10773 NONAME ; void QWidgetPrivate::createSysExtra(void)
+ ?transformationAnchor@QGraphicsView@@QBE?AW4ViewportAnchor@1@XZ @ 10774 NONAME ; enum QGraphicsView::ViewportAnchor QGraphicsView::transformationAnchor(void) const
+ ?syncBackingStore@QWidgetPrivate@@QAEXABVQRegion@@@Z @ 10775 NONAME ; void QWidgetPrivate::syncBackingStore(class QRegion const &)
+ ?setSectionHidden@QHeaderView@@QAEXH_N@Z @ 10776 NONAME ; void QHeaderView::setSectionHidden(int, bool)
+ ?syncState@QPaintEngine@@QAEXXZ @ 10777 NONAME ; void QPaintEngine::syncState(void)
+ ?insertImage@QTextCursor@@QAEXABVQString@@@Z @ 10778 NONAME ; void QTextCursor::insertImage(class QString const &)
+ ?setItemDelegateForRow@QAbstractItemView@@QAEXHPAVQAbstractItemDelegate@@@Z @ 10779 NONAME ; void QAbstractItemView::setItemDelegateForRow(int, class QAbstractItemDelegate *)
+ ?dateTextFormat@QCalendarWidget@@QBE?AVQTextCharFormat@@ABVQDate@@@Z @ 10780 NONAME ; class QTextCharFormat QCalendarWidget::dateTextFormat(class QDate const &) const
+ ?d_func@QCommandLinkButton@@ABEPBVQCommandLinkButtonPrivate@@XZ @ 10781 NONAME ; class QCommandLinkButtonPrivate const * QCommandLinkButton::d_func(void) const
+ ?setWidgetForRole@QDockWidgetLayout@@QAEXW4Role@1@PAVQWidget@@@Z @ 10782 NONAME ; void QDockWidgetLayout::setWidgetForRole(enum QDockWidgetLayout::Role, class QWidget *)
+ ?trUtf8@QTextDocument@@SA?AVQString@@PBD0@Z @ 10783 NONAME ; class QString QTextDocument::trUtf8(char const *, char const *)
+ ?toPlainText@QTextDocument@@QBE?AVQString@@XZ @ 10784 NONAME ; class QString QTextDocument::toPlainText(void) const
+ ?getStaticMetaObject@QGuiPlatformPlugin@@SAABUQMetaObject@@XZ @ 10785 NONAME ; struct QMetaObject const & QGuiPlatformPlugin::getStaticMetaObject(void)
+ ?setModified@QLineControl@@QAEX_N@Z @ 10786 NONAME ; void QLineControl::setModified(bool)
+ ??1QSessionManager@@EAE@XZ @ 10787 NONAME ; QSessionManager::~QSessionManager(void)
+ ?previewWidget@QColumnView@@QBEPAVQWidget@@XZ @ 10788 NONAME ; class QWidget * QColumnView::previewWidget(void) const
+ ?drawPolygon@QPainter@@QAEXPBVQPoint@@HW4FillRule@Qt@@@Z @ 10789 NONAME ; void QPainter::drawPolygon(class QPoint const *, int, enum Qt::FillRule)
+ ?layoutDirection@QWidget@@QBE?AW4LayoutDirection@Qt@@XZ @ 10790 NONAME ; enum Qt::LayoutDirection QWidget::layoutDirection(void) const
+ ?keyPressEvent@QLabel@@MAEXPAVQKeyEvent@@@Z @ 10791 NONAME ; void QLabel::keyPressEvent(class QKeyEvent *)
+ ?setTop@QDoubleValidator@@QAEXN@Z @ 10792 NONAME ; void QDoubleValidator::setTop(double)
+ ?echoMode@QLineControl@@QBEIXZ @ 10793 NONAME ; unsigned int QLineControl::echoMode(void) const
+ ??_EQWizardPage@@UAE@I@Z @ 10794 NONAME ; QWizardPage::~QWizardPage(unsigned int)
+ ??1QStyleOptionSlider@@QAE@XZ @ 10795 NONAME ; QStyleOptionSlider::~QStyleOptionSlider(void)
+ ?draw@QPixmapColorizeFilter@@UBEXPAVQPainter@@ABVQPointF@@ABVQPixmap@@ABVQRectF@@@Z @ 10796 NONAME ; void QPixmapColorizeFilter::draw(class QPainter *, class QPointF const &, class QPixmap const &, class QRectF const &) const
+ ?tr@QRubberBand@@SA?AVQString@@PBD0@Z @ 10797 NONAME ; class QString QRubberBand::tr(char const *, char const *)
+ ??_EQGestureRecognizer@@UAE@I@Z @ 10798 NONAME ; QGestureRecognizer::~QGestureRecognizer(unsigned int)
+ ?insertRows@QSortFilterProxyModel@@UAE_NHHABVQModelIndex@@@Z @ 10799 NONAME ; bool QSortFilterProxyModel::insertRows(int, int, class QModelIndex const &)
+ ?mousePressEvent@QLineEdit@@MAEXPAVQMouseEvent@@@Z @ 10800 NONAME ; void QLineEdit::mousePressEvent(class QMouseEvent *)
+ ?setFontFixedPitch@QTextCharFormat@@QAEX_N@Z @ 10801 NONAME ; void QTextCharFormat::setFontFixedPitch(bool)
+ ?isClean@QUndoGroup@@QBE_NXZ @ 10802 NONAME ; bool QUndoGroup::isClean(void) const
+ ?initStyleOption@QRubberBand@@IBEXPAVQStyleOptionRubberBand@@@Z @ 10803 NONAME ; void QRubberBand::initStyleOption(class QStyleOptionRubberBand *) const
+ ?loadFromData@QPixmap@@QAE_NABVQByteArray@@PBDV?$QFlags@W4ImageConversionFlag@Qt@@@@@Z @ 10804 NONAME ; bool QPixmap::loadFromData(class QByteArray const &, char const *, class QFlags<enum Qt::ImageConversionFlag>)
+ ??FQTreeWidgetItemIterator@@QAE?BV0@H@Z @ 10805 NONAME ; class QTreeWidgetItemIterator const QTreeWidgetItemIterator::operator--(int)
+ ?globalY@QHelpEvent@@QBEHXZ @ 10806 NONAME ; int QHelpEvent::globalY(void) const
+ ?setAutoDestruct@QPaintEngine@@AAEX_N@Z @ 10807 NONAME ; void QPaintEngine::setAutoDestruct(bool)
+ ?trUtf8@QEventDispatcherS60@@SA?AVQString@@PBD0H@Z @ 10808 NONAME ; class QString QEventDispatcherS60::trUtf8(char const *, char const *, int)
+ ?size@QFileSystemModel@@QBE_JABVQModelIndex@@@Z @ 10809 NONAME ; long long QFileSystemModel::size(class QModelIndex const &) const
+ ?merge@QTextFormat@@QAEXABV1@@Z @ 10810 NONAME ; void QTextFormat::merge(class QTextFormat const &)
+ ?openExternalLinks@QTextControl@@QBE_NXZ @ 10811 NONAME ; bool QTextControl::openExternalLinks(void) const
+ ?drawImage@QPainter@@QAEXHHABVQImage@@HHHHV?$QFlags@W4ImageConversionFlag@Qt@@@@@Z @ 10812 NONAME ; void QPainter::drawImage(int, int, class QImage const &, int, int, int, int, class QFlags<enum Qt::ImageConversionFlag>)
+ ??0QBitmap@@QAE@ABVQString@@PBD@Z @ 10813 NONAME ; QBitmap::QBitmap(class QString const &, char const *)
+ ?d_func@QWidgetAction@@ABEPBVQWidgetActionPrivate@@XZ @ 10814 NONAME ; class QWidgetActionPrivate const * QWidgetAction::d_func(void) const
+ ?setMiterLimit@QPainterPathStroker@@QAEXM@Z @ 10815 NONAME ; void QPainterPathStroker::setMiterLimit(float)
+ ?minimumSizeHint@QAbstractScrollArea@@UBE?AVQSize@@XZ @ 10816 NONAME ; class QSize QAbstractScrollArea::minimumSizeHint(void) const
+ ?activateRecursiveHelper@QLayout@@CAXPAVQLayoutItem@@@Z @ 10817 NONAME ; void QLayout::activateRecursiveHelper(class QLayoutItem *)
+ ?tabWhatsThis@QTabBar@@QBE?AVQString@@H@Z @ 10818 NONAME ; class QString QTabBar::tabWhatsThis(int) const
+ ?getPaintContext@QTextControl@@QBE?AUPaintContext@QAbstractTextDocumentLayout@@PAVQWidget@@@Z @ 10819 NONAME ; struct QAbstractTextDocumentLayout::PaintContext QTextControl::getPaintContext(class QWidget *) const
+ ?mapFromScene@QGraphicsView@@QBE?AVQPoint@@MM@Z @ 10820 NONAME ; class QPoint QGraphicsView::mapFromScene(float, float) const
+ ?setScreenPos@QGraphicsSceneContextMenuEvent@@QAEXABVQPoint@@@Z @ 10821 NONAME ; void QGraphicsSceneContextMenuEvent::setScreenPos(class QPoint const &)
+ ?index@QProxyModel@@UBE?AVQModelIndex@@HHABV2@@Z @ 10822 NONAME ; class QModelIndex QProxyModel::index(int, int, class QModelIndex const &) const
+ ?tr@QToolBar@@SA?AVQString@@PBD0@Z @ 10823 NONAME ; class QString QToolBar::tr(char const *, char const *)
+ ?labelText@QInputDialog@@QBE?AVQString@@XZ @ 10824 NONAME ; class QString QInputDialog::labelText(void) const
+ ?setIconSize@QComboBox@@QAEXABVQSize@@@Z @ 10825 NONAME ; void QComboBox::setIconSize(class QSize const &)
+ ?timerEvent@QPlainTextEdit@@MAEXPAVQTimerEvent@@@Z @ 10826 NONAME ; void QPlainTextEdit::timerEvent(class QTimerEvent *)
+ ?setModifiers@QGraphicsSceneDragDropEvent@@QAEXV?$QFlags@W4KeyboardModifier@Qt@@@@@Z @ 10827 NONAME ; void QGraphicsSceneDragDropEvent::setModifiers(class QFlags<enum Qt::KeyboardModifier>)
+ ?metaObject@QGraphicsSystemPlugin@@UBEPBUQMetaObject@@XZ @ 10828 NONAME ; struct QMetaObject const * QGraphicsSystemPlugin::metaObject(void) const
+ ??0QGraphicsObject@@QAE@PAVQGraphicsItem@@@Z @ 10829 NONAME ; QGraphicsObject::QGraphicsObject(class QGraphicsItem *)
+ ?toVector2DAffine@QVector4D@@QBE?AVQVector2D@@XZ @ 10830 NONAME ; class QVector2D QVector4D::toVector2DAffine(void) const
+ ?setStart@QLinearGradient@@QAEXMM@Z @ 10831 NONAME ; void QLinearGradient::setStart(float, float)
+ ?mapFromScene@QGraphicsView@@QBE?AVQPainterPath@@ABV2@@Z @ 10832 NONAME ; class QPainterPath QGraphicsView::mapFromScene(class QPainterPath const &) const
+ ?d_func@QClipboard@@AAEPAVQClipboardPrivate@@XZ @ 10833 NONAME ; class QClipboardPrivate * QClipboard::d_func(void)
+ ?layout@QLayout@@UAEPAV1@XZ @ 10834 NONAME ; class QLayout * QLayout::layout(void)
+ ?trUtf8@QShortcut@@SA?AVQString@@PBD0@Z @ 10835 NONAME ; class QString QShortcut::trUtf8(char const *, char const *)
+ ??0QCommandLinkButton@@QAE@PAVQWidget@@@Z @ 10836 NONAME ; QCommandLinkButton::QCommandLinkButton(class QWidget *)
+ ?setToolTip@QWidget@@QAEXABVQString@@@Z @ 10837 NONAME ; void QWidget::setToolTip(class QString const &)
+ ??1QIconEngineFactoryInterfaceV2@@UAE@XZ @ 10838 NONAME ; QIconEngineFactoryInterfaceV2::~QIconEngineFactoryInterfaceV2(void)
+ ?setStretchFactor@QSplitter@@QAEXHH@Z @ 10839 NONAME ; void QSplitter::setStretchFactor(int, int)
+ ?removeImageHook@QImagePixmapCleanupHooks@@QAEXP6AX_J@Z@Z @ 10840 NONAME ; void QImagePixmapCleanupHooks::removeImageHook(void (*)(long long))
+ ?DynInitMenuBarL@QS60MainAppUi@@UAEXHPAVCEikMenuBar@@@Z @ 10841 NONAME ; void QS60MainAppUi::DynInitMenuBarL(int, class CEikMenuBar *)
+ ?toCharFormat@QTextFormat@@QBE?AVQTextCharFormat@@XZ @ 10842 NONAME ; class QTextCharFormat QTextFormat::toCharFormat(void) const
+ ?mouseMoveEvent@QGraphicsTextItem@@MAEXPAVQGraphicsSceneMouseEvent@@@Z @ 10843 NONAME ; void QGraphicsTextItem::mouseMoveEvent(class QGraphicsSceneMouseEvent *)
+ ?shouldSetFocus@QApplicationPrivate@@CA_NPAVQWidget@@W4FocusPolicy@Qt@@@Z @ 10844 NONAME ; bool QApplicationPrivate::shouldSetFocus(class QWidget *, enum Qt::FocusPolicy)
+ ?load@QPicture@@QAE_NABVQString@@PBD@Z @ 10845 NONAME ; bool QPicture::load(class QString const &, char const *)
+ ?qt_metacast@QMenu@@UAEPAXPBD@Z @ 10846 NONAME ; void * QMenu::qt_metacast(char const *)
+ ?background@QStandardItem@@QBE?AVQBrush@@XZ @ 10847 NONAME ; class QBrush QStandardItem::background(void) const
+ ?dropMimeData@QDirModel@@UAE_NPBVQMimeData@@W4DropAction@Qt@@HHABVQModelIndex@@@Z @ 10848 NONAME ; bool QDirModel::dropMimeData(class QMimeData const *, enum Qt::DropAction, int, int, class QModelIndex const &)
+ ?frustum@QMatrix4x4@@QAEAAV1@MMMMMM@Z @ 10849 NONAME ; class QMatrix4x4 & QMatrix4x4::frustum(float, float, float, float, float, float)
+ ?sectionCountChanged@QHeaderView@@IAEXHH@Z @ 10850 NONAME ; void QHeaderView::sectionCountChanged(int, int)
+ ??0QTableWidget@@QAE@HHPAVQWidget@@@Z @ 10851 NONAME ; QTableWidget::QTableWidget(int, int, class QWidget *)
+ ??0QGraphicsLayoutItem@@QAE@PAV0@_N@Z @ 10852 NONAME ; QGraphicsLayoutItem::QGraphicsLayoutItem(class QGraphicsLayoutItem *, bool)
+ ?currentFrameNumber@QMovie@@QBEHXZ @ 10853 NONAME ; int QMovie::currentFrameNumber(void) const
+ ?selectFilter@QFileDialog@@QAEXABVQString@@@Z @ 10854 NONAME ; void QFileDialog::selectFilter(class QString const &)
+ ?invalidate@QGraphicsScene@@QAEXABVQRectF@@V?$QFlags@W4SceneLayer@QGraphicsScene@@@@@Z @ 10855 NONAME ; void QGraphicsScene::invalidate(class QRectF const &, class QFlags<enum QGraphicsScene::SceneLayer>)
+ ??0QAction@@IAE@AAVQActionPrivate@@PAVQObject@@@Z @ 10856 NONAME ; QAction::QAction(class QActionPrivate &, class QObject *)
+ ??0QPictureFormatPlugin@@QAE@PAVQObject@@@Z @ 10857 NONAME ; QPictureFormatPlugin::QPictureFormatPlugin(class QObject *)
+ ?setColumn@QMatrix4x4@@QAEXHABVQVector4D@@@Z @ 10858 NONAME ; void QMatrix4x4::setColumn(int, class QVector4D const &)
+ ?tr@QGraphicsProxyWidget@@SA?AVQString@@PBD0@Z @ 10859 NONAME ; class QString QGraphicsProxyWidget::tr(char const *, char const *)
+ ?setWidth@QTextInlineObject@@QAEXM@Z @ 10860 NONAME ; void QTextInlineObject::setWidth(float)
+ ?edit@QAbstractItemView@@QAEXABVQModelIndex@@@Z @ 10861 NONAME ; void QAbstractItemView::edit(class QModelIndex const &)
+ ??0QEventDispatcherS60@@QAE@PAVQObject@@@Z @ 10862 NONAME ; QEventDispatcherS60::QEventDispatcherS60(class QObject *)
+ ?qt_metacall@QValidator@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 10863 NONAME ; int QValidator::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ??1QKeyEventTransition@@UAE@XZ @ 10864 NONAME ; QKeyEventTransition::~QKeyEventTransition(void)
+ ?qt_metacall@QDateEdit@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 10865 NONAME ; int QDateEdit::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?setNameFilterDisables@QFileSystemModel@@QAEX_N@Z @ 10866 NONAME ; void QFileSystemModel::setNameFilterDisables(bool)
+ ?resizeAnchor@QGraphicsView@@QBE?AW4ViewportAnchor@1@XZ @ 10867 NONAME ; enum QGraphicsView::ViewportAnchor QGraphicsView::resizeAnchor(void) const
+ ?scale@QMatrix4x4@@QAEAAV1@M@Z @ 10868 NONAME ; class QMatrix4x4 & QMatrix4x4::scale(float)
+ ?SetStateTransferingOwnershipL@QCoeFepInputContext@@UAEXPAVCState@MCoeFepAwareTextEditor_Extension1@@VTUid@@@Z @ 10869 NONAME ABSENT ; void QCoeFepInputContext::SetStateTransferingOwnershipL(class MCoeFepAwareTextEditor_Extension1::CState *, class TUid)
+ ??0QStyle@@QAE@XZ @ 10870 NONAME ; QStyle::QStyle(void)
+ ?mouseDoubleClickEvent@QHeaderView@@MAEXPAVQMouseEvent@@@Z @ 10871 NONAME ; void QHeaderView::mouseDoubleClickEvent(class QMouseEvent *)
+ ?addPermanentWidget@QStatusBar@@QAEXPAVQWidget@@H@Z @ 10872 NONAME ; void QStatusBar::addPermanentWidget(class QWidget *, int)
+ ?trUtf8@QWizardPage@@SA?AVQString@@PBD0@Z @ 10873 NONAME ; class QString QWizardPage::trUtf8(char const *, char const *)
+ ?sizeFromContents@QWindowsStyle@@UBE?AVQSize@@W4ContentsType@QStyle@@PBVQStyleOption@@ABV2@PBVQWidget@@@Z @ 10874 NONAME ; class QSize QWindowsStyle::sizeFromContents(enum QStyle::ContentsType, class QStyleOption const *, class QSize const &, class QWidget const *) const
+ ?wasCanceled@QProgressDialog@@QBE_NXZ @ 10875 NONAME ; bool QProgressDialog::wasCanceled(void) const
+ ??0QRegExpValidator@@QAE@ABVQRegExp@@PAVQObject@@@Z @ 10876 NONAME ; QRegExpValidator::QRegExpValidator(class QRegExp const &, class QObject *)
+ ?mouseReleaseEvent@QTextBrowser@@MAEXPAVQMouseEvent@@@Z @ 10877 NONAME ; void QTextBrowser::mouseReleaseEvent(class QMouseEvent *)
+ ?resolveAdditionalFormats@QTextEngine@@ABEXXZ @ 10878 NONAME ; void QTextEngine::resolveAdditionalFormats(void) const
+ ??0QFont@@AAE@PAVQFontPrivate@@@Z @ 10879 NONAME ; QFont::QFont(class QFontPrivate *)
+ ?underlineStyle@QTextCharFormat@@QBE?AW4UnderlineStyle@1@XZ @ 10880 NONAME ; enum QTextCharFormat::UnderlineStyle QTextCharFormat::underlineStyle(void) const
+ ?mappedPropertyName@QDataWidgetMapper@@QBE?AVQByteArray@@PAVQWidget@@@Z @ 10881 NONAME ; class QByteArray QDataWidgetMapper::mappedPropertyName(class QWidget *) const
+ ?getStaticMetaObject@QPainter@@SAABUQMetaObject@@XZ @ 10882 NONAME ; struct QMetaObject const & QPainter::getStaticMetaObject(void)
+ ?setAdditionalFormats@QTextLayout@@QAEXABV?$QList@UFormatRange@QTextLayout@@@@@Z @ 10883 NONAME ; void QTextLayout::setAdditionalFormats(class QList<struct QTextLayout::FormatRange> const &)
+ ?requestWidget@QWidgetAction@@QAEPAVQWidget@@PAV2@@Z @ 10884 NONAME ; class QWidget * QWidgetAction::requestWidget(class QWidget *)
+ ??0QSyntaxHighlighter@@QAE@PAVQTextDocument@@@Z @ 10885 NONAME ; QSyntaxHighlighter::QSyntaxHighlighter(class QTextDocument *)
+ ?setViewport@QPainter@@QAEXHHHH@Z @ 10886 NONAME ; void QPainter::setViewport(int, int, int, int)
+ ??0QAbstractButton@@QAE@PAVQWidget@@@Z @ 10887 NONAME ; QAbstractButton::QAbstractButton(class QWidget *)
+ ?metaObject@QGraphicsScale@@UBEPBUQMetaObject@@XZ @ 10888 NONAME ; struct QMetaObject const * QGraphicsScale::metaObject(void) const
+ ?saturationF@QColor@@QBEMXZ @ 10889 NONAME ; float QColor::saturationF(void) const
+ ?setRangeSelected@QTableWidget@@QAEXABVQTableWidgetSelectionRange@@_N@Z @ 10890 NONAME ; void QTableWidget::setRangeSelected(class QTableWidgetSelectionRange const &, bool)
+ ?supportsSelection@QClipboard@@QBE_NXZ @ 10891 NONAME ; bool QClipboard::supportsSelection(void) const
+ ??_EQButtonGroup@@UAE@I@Z @ 10892 NONAME ; QButtonGroup::~QButtonGroup(unsigned int)
+ ?rowMaximumHeight@QGraphicsGridLayout@@QBEMH@Z @ 10893 NONAME ; float QGraphicsGridLayout::rowMaximumHeight(int) const
+ ?setMinimum@QSpinBox@@QAEXH@Z @ 10894 NONAME ; void QSpinBox::setMinimum(int)
+ ?setData@QTreeWidgetItem@@UAEXHHABVQVariant@@@Z @ 10895 NONAME ; void QTreeWidgetItem::setData(int, int, class QVariant const &)
+ ?setStyle@QPen@@QAEXW4PenStyle@Qt@@@Z @ 10896 NONAME ; void QPen::setStyle(enum Qt::PenStyle)
+ ?isSortIndicatorShown@QHeaderView@@QBE_NXZ @ 10897 NONAME ; bool QHeaderView::isSortIndicatorShown(void) const
+ ?softKeyRole@QAction@@QBE?AW4SoftKeyRole@1@XZ @ 10898 NONAME ; enum QAction::SoftKeyRole QAction::softKeyRole(void) const
+ ?setRubberBandSelectionMode@QGraphicsView@@QAEXW4ItemSelectionMode@Qt@@@Z @ 10899 NONAME ; void QGraphicsView::setRubberBandSelectionMode(enum Qt::ItemSelectionMode)
+ ?documentTitle@QPlainTextEdit@@QBE?AVQString@@XZ @ 10900 NONAME ; class QString QPlainTextEdit::documentTitle(void) const
+ ?d_func@QTreeWidget@@AAEPAVQTreeWidgetPrivate@@XZ @ 10901 NONAME ; class QTreeWidgetPrivate * QTreeWidget::d_func(void)
+ ?tr@QHeaderView@@SA?AVQString@@PBD0@Z @ 10902 NONAME ; class QString QHeaderView::tr(char const *, char const *)
+ ??IQPainterPath@@QBE?AV0@ABV0@@Z @ 10903 NONAME ; class QPainterPath QPainterPath::operator&(class QPainterPath const &) const
+ ?setOwnedByLayout@QGraphicsLayoutItem@@IAEX_N@Z @ 10904 NONAME ; void QGraphicsLayoutItem::setOwnedByLayout(bool)
+ ?collidingItems@QGraphicsItem@@QBE?AV?$QList@PAVQGraphicsItem@@@@W4ItemSelectionMode@Qt@@@Z @ 10905 NONAME ; class QList<class QGraphicsItem *> QGraphicsItem::collidingItems(enum Qt::ItemSelectionMode) const
+ ?getStaticMetaObject@QStatusBar@@SAABUQMetaObject@@XZ @ 10906 NONAME ; struct QMetaObject const & QStatusBar::getStaticMetaObject(void)
+ ?qt_qwidget_data@@YAPAVQWidgetData@@PAVQWidget@@@Z @ 10907 NONAME ; class QWidgetData * qt_qwidget_data(class QWidget *)
+ ?tr@QItemDelegate@@SA?AVQString@@PBD0@Z @ 10908 NONAME ; class QString QItemDelegate::tr(char const *, char const *)
+ ?indexAt@QHeaderView@@MBE?AVQModelIndex@@ABVQPoint@@@Z @ 10909 NONAME ; class QModelIndex QHeaderView::indexAt(class QPoint const &) const
+ ?selectAll@QLineControl@@QAEXXZ @ 10910 NONAME ; void QLineControl::selectAll(void)
+ ?hasAcceptableInput@QLineEdit@@QBE_NXZ @ 10911 NONAME ; bool QLineEdit::hasAcceptableInput(void) const
+ ?row@QMatrix4x4@@QBE?AVQVector4D@@H@Z @ 10912 NONAME ; class QVector4D QMatrix4x4::row(int) const
+ ?state@QAbstractItemView@@IBE?AW4State@1@XZ @ 10913 NONAME ; enum QAbstractItemView::State QAbstractItemView::state(void) const
+ ??0QTransform@@AAE@_N@Z @ 10914 NONAME ; QTransform::QTransform(bool)
+ ?focusOutEvent@QGraphicsScene@@MAEXPAVQFocusEvent@@@Z @ 10915 NONAME ; void QGraphicsScene::focusOutEvent(class QFocusEvent *)
+ ?itemToolTip@QToolBox@@QBE?AVQString@@H@Z @ 10916 NONAME ; class QString QToolBox::itemToolTip(int) const
+ ?column@QMatrix4x4@@QBE?AVQVector4D@@H@Z @ 10917 NONAME ; class QVector4D QMatrix4x4::column(int) const
+ ?verticalDirection@QSwipeGesture@@QBE?AW4SwipeDirection@1@XZ @ 10918 NONAME ; enum QSwipeGesture::SwipeDirection QSwipeGesture::verticalDirection(void) const
+ ?lineThickness@QFontEngine@@UBE?AUQFixed@@XZ @ 10919 NONAME ; struct QFixed QFontEngine::lineThickness(void) const
+ ?setWidget@QDockWidget@@QAEXPAVQWidget@@@Z @ 10920 NONAME ; void QDockWidget::setWidget(class QWidget *)
+ ??0QMenu@@QAE@PAVQWidget@@@Z @ 10921 NONAME ; QMenu::QMenu(class QWidget *)
+ ?timerEvent@QAbstractItemView@@MAEXPAVQTimerEvent@@@Z @ 10922 NONAME ; void QAbstractItemView::timerEvent(class QTimerEvent *)
+ ?lower_sys@QWidgetPrivate@@QAEXXZ @ 10923 NONAME ; void QWidgetPrivate::lower_sys(void)
+ ?toolButtonStyleChanged@QMainWindow@@IAEXW4ToolButtonStyle@Qt@@@Z @ 10924 NONAME ; void QMainWindow::toolButtonStyleChanged(enum Qt::ToolButtonStyle)
+ ?currentIndex@QStackedLayout@@QBEHXZ @ 10925 NONAME ; int QStackedLayout::currentIndex(void) const
+ ?backgroundBrush@QPaintEngineState@@QBE?AVQBrush@@XZ @ 10926 NONAME ; class QBrush QPaintEngineState::backgroundBrush(void) const
+ ?fontFamily@QTextEdit@@QBE?AVQString@@XZ @ 10927 NONAME ; class QString QTextEdit::fontFamily(void) const
+ ?length@QVector4D@@QBEMXZ @ 10928 NONAME ; float QVector4D::length(void) const
+ ?transform@QPaintEngineState@@QBE?AVQTransform@@XZ @ 10929 NONAME ; class QTransform QPaintEngineState::transform(void) const
+ ?setTexture@QBrush@@QAEXABVQPixmap@@@Z @ 10930 NONAME ; void QBrush::setTexture(class QPixmap const &)
+ ?setTabPositions@QTextBlockFormat@@QAEXABV?$QList@UTab@QTextOption@@@@@Z @ 10931 NONAME ; void QTextBlockFormat::setTabPositions(class QList<struct QTextOption::Tab> const &)
+ ?setAllowedAreas@QDockWidget@@QAEXV?$QFlags@W4DockWidgetArea@Qt@@@@@Z @ 10932 NONAME ; void QDockWidget::setAllowedAreas(class QFlags<enum Qt::DockWidgetArea>)
+ ??0QGraphicsSceneMouseEvent@@QAE@W4Type@QEvent@@@Z @ 10933 NONAME ; QGraphicsSceneMouseEvent::QGraphicsSceneMouseEvent(enum QEvent::Type)
+ ?initStyleOption@QGroupBox@@IBEXPAVQStyleOptionGroupBox@@@Z @ 10934 NONAME ; void QGroupBox::initStyleOption(class QStyleOptionGroupBox *) const
+ ?setNewPos@QGraphicsSceneMoveEvent@@QAEXABVQPointF@@@Z @ 10935 NONAME ; void QGraphicsSceneMoveEvent::setNewPos(class QPointF const &)
+ ?currentRow@QListWidget@@QBEHXZ @ 10936 NONAME ; int QListWidget::currentRow(void) const
+ ?trUtf8@QItemDelegate@@SA?AVQString@@PBD0H@Z @ 10937 NONAME ; class QString QItemDelegate::trUtf8(char const *, char const *, int)
+ ??1QRubberBand@@UAE@XZ @ 10938 NONAME ; QRubberBand::~QRubberBand(void)
+ ?isAnchor@QTextCharFormat@@QBE_NXZ @ 10939 NONAME ; bool QTextCharFormat::isAnchor(void) const
+ ?staticContents@QWindowSurface@@QBE?AVQRegion@@XZ @ 10940 NONAME ; class QRegion QWindowSurface::staticContents(void) const
+ ?loops@QSound@@QBEHXZ @ 10941 NONAME ; int QSound::loops(void) const
+ ?qRgb@@YAIHHH@Z @ 10942 NONAME ; unsigned int qRgb(int, int, int)
+ ?d_func@QListView@@AAEPAVQListViewPrivate@@XZ @ 10943 NONAME ; class QListViewPrivate * QListView::d_func(void)
+ ?lastPos@QGraphicsSceneHoverEvent@@QBE?AVQPointF@@XZ @ 10944 NONAME ; class QPointF QGraphicsSceneHoverEvent::lastPos(void) const
+ ?myComputer@QFileSystemModel@@QBE?AVQVariant@@H@Z @ 10945 NONAME ; class QVariant QFileSystemModel::myComputer(int) const
+ ?setTransformationMode@QGraphicsPixmapItem@@QAEXW4TransformationMode@Qt@@@Z @ 10946 NONAME ; void QGraphicsPixmapItem::setTransformationMode(enum Qt::TransformationMode)
+ ??1QImageWriter@@QAE@XZ @ 10947 NONAME ; QImageWriter::~QImageWriter(void)
+ ?qt_metacall@QAbstractButton@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 10948 NONAME ; int QAbstractButton::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?parseSelector@Parser@QCss@@QAE_NPAUSelector@2@@Z @ 10949 NONAME ; bool QCss::Parser::parseSelector(struct QCss::Selector *)
+ ?setSortRole@QStandardItemModel@@QAEXH@Z @ 10950 NONAME ; void QStandardItemModel::setSortRole(int)
+ ?setFloatable@QToolBar@@QAEX_N@Z @ 10951 NONAME ; void QToolBar::setFloatable(bool)
+ ?maximumDate@QCalendarWidget@@QBE?AVQDate@@XZ @ 10952 NONAME ; class QDate QCalendarWidget::maximumDate(void) const
+ ?closeEvent@QDialog@@MAEXPAVQCloseEvent@@@Z @ 10953 NONAME ; void QDialog::closeEvent(class QCloseEvent *)
+ ?trUtf8@QScrollBar@@SA?AVQString@@PBD0H@Z @ 10954 NONAME ; class QString QScrollBar::trUtf8(char const *, char const *, int)
+ ??1QLayout@@UAE@XZ @ 10955 NONAME ; QLayout::~QLayout(void)
+ ?actionAt@QMenu@@QBEPAVQAction@@ABVQPoint@@@Z @ 10956 NONAME ; class QAction * QMenu::actionAt(class QPoint const &) const
+ ?mouseDoubleClickEvent@QPlainTextEdit@@MAEXPAVQMouseEvent@@@Z @ 10957 NONAME ; void QPlainTextEdit::mouseDoubleClickEvent(class QMouseEvent *)
+ ?trUtf8@QToolButton@@SA?AVQString@@PBD0H@Z @ 10958 NONAME ; class QString QToolButton::trUtf8(char const *, char const *, int)
+ ?d_func@QInputContext@@ABEPBVQInputContextPrivate@@XZ @ 10959 NONAME ; class QInputContextPrivate const * QInputContext::d_func(void) const
+ ?cursorForPosition@QPlainTextEdit@@QBE?AVQTextCursor@@ABVQPoint@@@Z @ 10960 NONAME ; class QTextCursor QPlainTextEdit::cursorForPosition(class QPoint const &) const
+ ?widgetForRole@QDockWidgetLayout@@QBEPAVQWidget@@W4Role@1@@Z @ 10961 NONAME ; class QWidget * QDockWidgetLayout::widgetForRole(enum QDockWidgetLayout::Role) const
+ ?setTransformHelper@QGraphicsItemPrivate@@QAEXABVQTransform@@@Z @ 10962 NONAME ; void QGraphicsItemPrivate::setTransformHelper(class QTransform const &)
+ ?cut@QTextEdit@@QAEXXZ @ 10963 NONAME ; void QTextEdit::cut(void)
+ ?qt_metacall@QProgressBar@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 10964 NONAME ; int QProgressBar::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?question@QMessageBox@@SAHPAVQWidget@@ABVQString@@1111HH@Z @ 10965 NONAME ; int QMessageBox::question(class QWidget *, class QString const &, class QString const &, class QString const &, class QString const &, class QString const &, int, int)
+ ?removeAction@QWidget@@QAEXPAVQAction@@@Z @ 10966 NONAME ; void QWidget::removeAction(class QAction *)
+ ?lengthSquared@QQuaternion@@QBEMXZ @ 10967 NONAME ; float QQuaternion::lengthSquared(void) const
+ ?d_func@QGraphicsOpacityEffect@@ABEPBVQGraphicsOpacityEffectPrivate@@XZ @ 10968 NONAME ; class QGraphicsOpacityEffectPrivate const * QGraphicsOpacityEffect::d_func(void) const
+ ?trUtf8@QPaintBufferSignalProxy@@SA?AVQString@@PBD0H@Z @ 10969 NONAME ; class QString QPaintBufferSignalProxy::trUtf8(char const *, char const *, int)
+ ?staticMetaObject@QGraphicsEffect@@2UQMetaObject@@B @ 10970 NONAME ; struct QMetaObject const QGraphicsEffect::staticMetaObject
+ ?setRange@QIntValidator@@UAEXHH@Z @ 10971 NONAME ; void QIntValidator::setRange(int, int)
+ ?paintSiblingsRecursive@QWidgetPrivate@@QAEXPAVQPaintDevice@@ABV?$QList@PAVQObject@@@@HABVQRegion@@ABVQPoint@@HPAVQPainter@@PAVQWidgetBackingStore@@@Z @ 10972 NONAME ; void QWidgetPrivate::paintSiblingsRecursive(class QPaintDevice *, class QList<class QObject *> const &, int, class QRegion const &, class QPoint const &, int, class QPainter *, class QWidgetBackingStore *)
+ ?insert@QLineEdit@@QAEXABVQString@@@Z @ 10973 NONAME ; void QLineEdit::insert(class QString const &)
+ ?setRotationAt@QGraphicsItemAnimation@@QAEXMM@Z @ 10974 NONAME ; void QGraphicsItemAnimation::setRotationAt(float, float)
+ ?tr@QMouseEventTransition@@SA?AVQString@@PBD0H@Z @ 10975 NONAME ; class QString QMouseEventTransition::tr(char const *, char const *, int)
+ ?pt3@QBezier@@QBE?AVQPointF@@XZ @ 10976 NONAME ; class QPointF QBezier::pt3(void) const
+ ?tr@QS60Style@@SA?AVQString@@PBD0H@Z @ 10977 NONAME ; class QString QS60Style::tr(char const *, char const *, int)
+ ?languages@QInputContextFactory@@SA?AVQStringList@@ABVQString@@@Z @ 10978 NONAME ; class QStringList QInputContextFactory::languages(class QString const &)
+ ?trUtf8@QGraphicsEffect@@SA?AVQString@@PBD0H@Z @ 10979 NONAME ; class QString QGraphicsEffect::trUtf8(char const *, char const *, int)
+ ?showMessage@QStatusBar@@QAEXABVQString@@H@Z @ 10980 NONAME ; void QStatusBar::showMessage(class QString const &, int)
+ ?acceptMode@QFileDialog@@QBE?AW4AcceptMode@1@XZ @ 10981 NONAME ; enum QFileDialog::AcceptMode QFileDialog::acceptMode(void) const
+ ??_EQGraphicsBlurEffect@@UAE@I@Z @ 10982 NONAME ; QGraphicsBlurEffect::~QGraphicsBlurEffect(unsigned int)
+ ??0QDateTimeEdit@@QAE@PAVQWidget@@@Z @ 10983 NONAME ; QDateTimeEdit::QDateTimeEdit(class QWidget *)
+ ?clearSelection@QItemSelectionModel@@QAEXXZ @ 10984 NONAME ; void QItemSelectionModel::clearSelection(void)
+ ?tabArray@QTextOption@@QBE?AV?$QList@M@@XZ @ 10985 NONAME ; class QList<float> QTextOption::tabArray(void) const
+ ?xTranslationAt@QGraphicsItemAnimation@@QBEMM@Z @ 10986 NONAME ; float QGraphicsItemAnimation::xTranslationAt(float) const
+ ?showEvent@QRubberBand@@MAEXPAVQShowEvent@@@Z @ 10987 NONAME ; void QRubberBand::showEvent(class QShowEvent *)
+ ?qt_metacall@QDirModel@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 10988 NONAME ; int QDirModel::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?d_func@QDoubleSpinBox@@ABEPBVQDoubleSpinBoxPrivate@@XZ @ 10989 NONAME ; class QDoubleSpinBoxPrivate const * QDoubleSpinBox::d_func(void) const
+ ?objectIndex@QTextFormat@@QBEHXZ @ 10990 NONAME ; int QTextFormat::objectIndex(void) const
+ ??5@YAAAVQDataStream@@AAV0@AAVQStandardItem@@@Z @ 10991 NONAME ; class QDataStream & operator>>(class QDataStream &, class QStandardItem &)
+ ?lightnessF@QColor@@QBEMXZ @ 10992 NONAME ; float QColor::lightnessF(void) const
+ ?actionGeometry@QToolBar@@QBE?AVQRect@@PAVQAction@@@Z @ 10993 NONAME ; class QRect QToolBar::actionGeometry(class QAction *) const
+ ?write@QTextDocumentWriter@@QAE_NPBVQTextDocument@@@Z @ 10994 NONAME ; bool QTextDocumentWriter::write(class QTextDocument const *)
+ ?nextCursorPosition@QTextLayout@@QBEHHW4CursorMode@1@@Z @ 10995 NONAME ; int QTextLayout::nextCursorPosition(int, enum QTextLayout::CursorMode) const
+ ?raise@QWidget@@QAEXXZ @ 10996 NONAME ; void QWidget::raise(void)
+ ?setLastNormalizedPos@TouchPoint@QTouchEvent@@QAEXABVQPointF@@@Z @ 10997 NONAME ; void QTouchEvent::TouchPoint::setLastNormalizedPos(class QPointF const &)
+ ?defaultFamily@QFont@@QBE?AVQString@@XZ @ 10998 NONAME ; class QString QFont::defaultFamily(void) const
+ ?setWidth@QPen@@QAEXH@Z @ 10999 NONAME ; void QPen::setWidth(int)
+ ?removeCellWidget@QTableWidget@@QAEXHH@Z @ 11000 NONAME ; void QTableWidget::removeCellWidget(int, int)
+ ?clear@QTableWidget@@QAEXXZ @ 11001 NONAME ; void QTableWidget::clear(void)
+ ??0QToolBox@@QAE@PAVQWidget@@V?$QFlags@W4WindowType@Qt@@@@@Z @ 11002 NONAME ; QToolBox::QToolBox(class QWidget *, class QFlags<enum Qt::WindowType>)
+ ?fromPlainText@QTextDocumentFragment@@SA?AV1@ABVQString@@@Z @ 11003 NONAME ; class QTextDocumentFragment QTextDocumentFragment::fromPlainText(class QString const &)
+ ?contains@QGraphicsRectItem@@UBE_NABVQPointF@@@Z @ 11004 NONAME ; bool QGraphicsRectItem::contains(class QPointF const &) const
+ ?height@QTextFrameFormat@@QBE?AVQTextLength@@XZ @ 11005 NONAME ; class QTextLength QTextFrameFormat::height(void) const
+ ??4QStyleOptionViewItemV3@@QAEAAV0@ABVQStyleOptionViewItem@@@Z @ 11006 NONAME ; class QStyleOptionViewItemV3 & QStyleOptionViewItemV3::operator=(class QStyleOptionViewItem const &)
+ ?mouseGrabberItem@QGraphicsScene@@QBEPAVQGraphicsItem@@XZ @ 11007 NONAME ; class QGraphicsItem * QGraphicsScene::mouseGrabberItem(void) const
+ ?toPrevious@QDataWidgetMapper@@QAEXXZ @ 11008 NONAME ; void QDataWidgetMapper::toPrevious(void)
+ ?toggleViewAction@QToolBar@@QBEPAVQAction@@XZ @ 11009 NONAME ; class QAction * QToolBar::toggleViewAction(void) const
+ ?setInputContext@QApplication@@QAEXPAVQInputContext@@@Z @ 11010 NONAME ; void QApplication::setInputContext(class QInputContext *)
+ ?corner@QMainWindow@@QBE?AW4DockWidgetArea@Qt@@W4Corner@3@@Z @ 11011 NONAME ; enum Qt::DockWidgetArea QMainWindow::corner(enum Qt::Corner) const
+ ??0QVector2D@@QAE@MM@Z @ 11012 NONAME ; QVector2D::QVector2D(float, float)
+ ?resizeEvent@QGroupBox@@MAEXPAVQResizeEvent@@@Z @ 11013 NONAME ; void QGroupBox::resizeEvent(class QResizeEvent *)
+ ?sizeHint@QSplitterHandle@@UBE?AVQSize@@XZ @ 11014 NONAME ; class QSize QSplitterHandle::sizeHint(void) const
+ ??5@YAAAVQDataStream@@AAV0@AAVQPainterPath@@@Z @ 11015 NONAME ; class QDataStream & operator>>(class QDataStream &, class QPainterPath &)
+ ??1QStyleOptionGroupBox@@QAE@XZ @ 11016 NONAME ; QStyleOptionGroupBox::~QStyleOptionGroupBox(void)
+ ?toolButtonStyleChanged@QToolBar@@IAEXW4ToolButtonStyle@Qt@@@Z @ 11017 NONAME ; void QToolBar::toolButtonStyleChanged(enum Qt::ToolButtonStyle)
+ ?setSortingEnabled@QTreeView@@QAEX_N@Z @ 11018 NONAME ; void QTreeView::setSortingEnabled(bool)
+ ?size@QColormap@@QBEHXZ @ 11019 NONAME ; int QColormap::size(void) const
+ ?defaultWidget@QWidgetAction@@QBEPAVQWidget@@XZ @ 11020 NONAME ; class QWidget * QWidgetAction::defaultWidget(void) const
+ ?hoverLeaveEvent@QGraphicsTextItem@@MAEXPAVQGraphicsSceneHoverEvent@@@Z @ 11021 NONAME ; void QGraphicsTextItem::hoverLeaveEvent(class QGraphicsSceneHoverEvent *)
+ ?metaObject@QPlainTextEdit@@UBEPBUQMetaObject@@XZ @ 11022 NONAME ; struct QMetaObject const * QPlainTextEdit::metaObject(void) const
+ ?setEnabled@QGraphicsEffect@@QAEX_N@Z @ 11023 NONAME ; void QGraphicsEffect::setEnabled(bool)
+ ?wheelEvent@QGraphicsProxyWidget@@MAEXPAVQGraphicsSceneWheelEvent@@@Z @ 11024 NONAME ; void QGraphicsProxyWidget::wheelEvent(class QGraphicsSceneWheelEvent *)
+ ?trUtf8@QGroupBox@@SA?AVQString@@PBD0H@Z @ 11025 NONAME ; class QString QGroupBox::trUtf8(char const *, char const *, int)
+ ?metaObject@QPixmapDropShadowFilter@@UBEPBUQMetaObject@@XZ @ 11026 NONAME ; struct QMetaObject const * QPixmapDropShadowFilter::metaObject(void) const
+ ?qt_metacast@QFontComboBox@@UAEPAXPBD@Z @ 11027 NONAME ; void * QFontComboBox::qt_metacast(char const *)
+ ?applyTo@QGraphicsRotation@@UBEXPAVQMatrix4x4@@@Z @ 11028 NONAME ; void QGraphicsRotation::applyTo(class QMatrix4x4 *) const
+ ??9QImageTextKeyLang@@QBE_NABV0@@Z @ 11029 NONAME ; bool QImageTextKeyLang::operator!=(class QImageTextKeyLang const &) const
+ ?getInteger@QInputDialog@@SAHPAVQWidget@@ABVQString@@1HHHHPA_NV?$QFlags@W4WindowType@Qt@@@@@Z @ 11030 NONAME ; int QInputDialog::getInteger(class QWidget *, class QString const &, class QString const &, int, int, int, int, bool *, class QFlags<enum Qt::WindowType>)
+ ?itemPrototype@QTableWidget@@QBEPBVQTableWidgetItem@@XZ @ 11031 NONAME ; class QTableWidgetItem const * QTableWidget::itemPrototype(void) const
+ ?metaObject@QStyle@@UBEPBUQMetaObject@@XZ @ 11032 NONAME ; struct QMetaObject const * QStyle::metaObject(void) const
+ ?xToCursor@QTextLine@@QBEHMW4CursorPosition@1@@Z @ 11033 NONAME ; int QTextLine::xToCursor(float, enum QTextLine::CursorPosition) const
+ ?event@QTextControl@@MAE_NPAVQEvent@@@Z @ 11034 NONAME ; bool QTextControl::event(class QEvent *)
+ ?paste@QPlainTextEdit@@QAEXXZ @ 11035 NONAME ; void QPlainTextEdit::paste(void)
+ ?workAreaResized@QDesktopWidget@@IAEXH@Z @ 11036 NONAME ; void QDesktopWidget::workAreaResized(int)
+ ?toVector3D@QVector2D@@QBE?AVQVector3D@@XZ @ 11037 NONAME ; class QVector3D QVector2D::toVector3D(void) const
+ ?childEvent@QSplitter@@MAEXPAVQChildEvent@@@Z @ 11038 NONAME ; void QSplitter::childEvent(class QChildEvent *)
+ ?canRedo@QUndoStack@@QBE_NXZ @ 11039 NONAME ; bool QUndoStack::canRedo(void) const
+ ?averageCharWidth@QFontEngine@@UBE?AUQFixed@@XZ @ 11040 NONAME ; struct QFixed QFontEngine::averageCharWidth(void) const
+ ?isAboutToShow@QWidgetPrivate@@QBE_NXZ @ 11041 NONAME ; bool QWidgetPrivate::isAboutToShow(void) const
+ ??0QGraphicsPolygonItem@@QAE@ABVQPolygonF@@PAVQGraphicsItem@@PAVQGraphicsScene@@@Z @ 11042 NONAME ; QGraphicsPolygonItem::QGraphicsPolygonItem(class QPolygonF const &, class QGraphicsItem *, class QGraphicsScene *)
+ ??YQVector4D@@QAEAAV0@ABV0@@Z @ 11043 NONAME ; class QVector4D & QVector4D::operator+=(class QVector4D const &)
+ ?setGeometry@QGraphicsProxyWidget@@UAEXABVQRectF@@@Z @ 11044 NONAME ; void QGraphicsProxyWidget::setGeometry(class QRectF const &)
+ ?setDoubleClickInterval@QApplication@@SAXH@Z @ 11045 NONAME ; void QApplication::setDoubleClickInterval(int)
+ ?setOptions@QWizard@@QAEXV?$QFlags@W4WizardOption@QWizard@@@@@Z @ 11046 NONAME ; void QWizard::setOptions(class QFlags<enum QWizard::WizardOption>)
+ ?insertSubstitutions@QFont@@SAXABVQString@@ABVQStringList@@@Z @ 11047 NONAME ; void QFont::insertSubstitutions(class QString const &, class QStringList const &)
+ ?tr@QGridLayout@@SA?AVQString@@PBD0@Z @ 11048 NONAME ; class QString QGridLayout::tr(char const *, char const *)
+ ??9QPen@@QBE_NABV0@@Z @ 11049 NONAME ; bool QPen::operator!=(class QPen const &) const
+ ?forwardHistoryCount@QTextBrowser@@QBEHXZ @ 11050 NONAME ; int QTextBrowser::forwardHistoryCount(void) const
+ ?zScale@QGraphicsScale@@QBEMXZ @ 11051 NONAME ; float QGraphicsScale::zScale(void) const
+ ?modifiers@QGraphicsSceneDragDropEvent@@QBE?AV?$QFlags@W4KeyboardModifier@Qt@@@@XZ @ 11052 NONAME ; class QFlags<enum Qt::KeyboardModifier> QGraphicsSceneDragDropEvent::modifiers(void) const
+ ?tr@QWindowsStyle@@SA?AVQString@@PBD0@Z @ 11053 NONAME ; class QString QWindowsStyle::tr(char const *, char const *)
+ ?addGlyphsToPath@QFontEngine@@UAEXPAIPAUQFixedPoint@@HPAVQPainterPath@@V?$QFlags@W4RenderFlag@QTextItem@@@@@Z @ 11054 NONAME ; void QFontEngine::addGlyphsToPath(unsigned int *, struct QFixedPoint *, int, class QPainterPath *, class QFlags<enum QTextItem::RenderFlag>)
+ ?hsvSaturationF@QColor@@QBEMXZ @ 11055 NONAME ; float QColor::hsvSaturationF(void) const
+ ?minimumDuration@QProgressDialog@@QBEHXZ @ 11056 NONAME ; int QProgressDialog::minimumDuration(void) const
+ ??0QTextEngine@@QAE@ABVQString@@ABVQFont@@@Z @ 11057 NONAME ; QTextEngine::QTextEngine(class QString const &, class QFont const &)
+ ??4QStyleOptionComboBox@@QAEAAV0@ABV0@@Z @ 11058 NONAME ; class QStyleOptionComboBox & QStyleOptionComboBox::operator=(class QStyleOptionComboBox const &)
+ ?end@QTextDocument@@QBE?AVQTextBlock@@XZ @ 11059 NONAME ; class QTextBlock QTextDocument::end(void) const
+ ?inputFormatList@QPicture@@SA?AVQStringList@@XZ @ 11060 NONAME ; class QStringList QPicture::inputFormatList(void)
+ ?setDefaultSuffix@QFileDialog@@QAEXABVQString@@@Z @ 11061 NONAME ; void QFileDialog::setDefaultSuffix(class QString const &)
+ ?toImage@QPixmap@@QBE?AVQImage@@XZ @ 11062 NONAME ; class QImage QPixmap::toImage(void) const
+ ??1QTextDocumentWriter@@QAE@XZ @ 11063 NONAME ; QTextDocumentWriter::~QTextDocumentWriter(void)
+ ?fromData@QPixmapData@@UAE_NPBEIPBDV?$QFlags@W4ImageConversionFlag@Qt@@@@@Z @ 11064 NONAME ; bool QPixmapData::fromData(unsigned char const *, unsigned int, char const *, class QFlags<enum Qt::ImageConversionFlag>)
+ ?focusWidget@QInputContext@@QBEPAVQWidget@@XZ @ 11065 NONAME ; class QWidget * QInputContext::focusWidget(void) const
+ ?setItemEditorFactory@QStyledItemDelegate@@QAEXPAVQItemEditorFactory@@@Z @ 11066 NONAME ; void QStyledItemDelegate::setItemEditorFactory(class QItemEditorFactory *)
+ ?setBold@QFont@@QAEX_N@Z @ 11067 NONAME ; void QFont::setBold(bool)
+ ?sceneMatrix@QGraphicsItem@@QBE?AVQMatrix@@XZ @ 11068 NONAME ; class QMatrix QGraphicsItem::sceneMatrix(void) const
+ ?expandingDirections@QSizePolicy@@QBE?AV?$QFlags@W4Orientation@Qt@@@@XZ @ 11069 NONAME ; class QFlags<enum Qt::Orientation> QSizePolicy::expandingDirections(void) const
+ ?getColor@QColorDialog@@SA?AVQColor@@ABV2@PAVQWidget@@@Z @ 11070 NONAME ; class QColor QColorDialog::getColor(class QColor const &, class QWidget *)
+ ?setComboBoxItems@QInputDialog@@QAEXABVQStringList@@@Z @ 11071 NONAME ; void QInputDialog::setComboBoxItems(class QStringList const &)
+ ?getStaticMetaObject@QStackedLayout@@SAABUQMetaObject@@XZ @ 11072 NONAME ; struct QMetaObject const & QStackedLayout::getStaticMetaObject(void)
+ ?mimeTypes@QTableWidget@@MBE?AVQStringList@@XZ @ 11073 NONAME ; class QStringList QTableWidget::mimeTypes(void) const
+ ?clipRect@QStrokerOps@@QBE?AVQRectF@@XZ @ 11074 NONAME ; class QRectF QStrokerOps::clipRect(void) const
+ ?caseSensitivity@QCompleter@@QBE?AW4CaseSensitivity@Qt@@XZ @ 11075 NONAME ; enum Qt::CaseSensitivity QCompleter::caseSensitivity(void) const
+ ?subControlRect@QCommonStyle@@UBE?AVQRect@@W4ComplexControl@QStyle@@PBVQStyleOptionComplex@@W4SubControl@4@PBVQWidget@@@Z @ 11076 NONAME ; class QRect QCommonStyle::subControlRect(enum QStyle::ComplexControl, class QStyleOptionComplex const *, enum QStyle::SubControl, class QWidget const *) const
+ ?staticMetaObject@QMainWindow@@2UQMetaObject@@B @ 11077 NONAME ; struct QMetaObject const QMainWindow::staticMetaObject
+ ??1QGraphicsSceneResizeEvent@@UAE@XZ @ 11078 NONAME ; QGraphicsSceneResizeEvent::~QGraphicsSceneResizeEvent(void)
+ ?setCacheMode@QGraphicsItem@@QAEXW4CacheMode@1@ABVQSize@@@Z @ 11079 NONAME ; void QGraphicsItem::setCacheMode(enum QGraphicsItem::CacheMode, class QSize const &)
+ ?setBackgroundColor@QTreeWidgetItem@@QAEXHABVQColor@@@Z @ 11080 NONAME ; void QTreeWidgetItem::setBackgroundColor(int, class QColor const &)
+ ?family@QFont@@QBE?AVQString@@XZ @ 11081 NONAME ; class QString QFont::family(void) const
+ ??5@YAAAVQDataStream@@AAV0@AAVQListWidgetItem@@@Z @ 11082 NONAME ; class QDataStream & operator>>(class QDataStream &, class QListWidgetItem &)
+ ?prepareGeometryChange@QGraphicsItem@@IAEXXZ @ 11083 NONAME ; void QGraphicsItem::prepareGeometryChange(void)
+ ?boundingRect@QPainter@@QAE?AVQRectF@@ABV2@ABVQString@@ABVQTextOption@@@Z @ 11084 NONAME ; class QRectF QPainter::boundingRect(class QRectF const &, class QString const &, class QTextOption const &)
+ ?setCorner@QMainWindow@@QAEXW4Corner@Qt@@W4DockWidgetArea@3@@Z @ 11085 NONAME ; void QMainWindow::setCorner(enum Qt::Corner, enum Qt::DockWidgetArea)
+ ?isSelectionRectVisible@QListView@@QBE_NXZ @ 11086 NONAME ; bool QListView::isSelectionRectVisible(void) const
+ ??0QTextOption@@QAE@XZ @ 11087 NONAME ; QTextOption::QTextOption(void)
+ ?selectedIndexes@QItemSelectionModel@@QBE?AV?$QList@VQModelIndex@@@@XZ @ 11088 NONAME ; class QList<class QModelIndex> QItemSelectionModel::selectedIndexes(void) const
+ ?getStaticMetaObject@QTableWidget@@SAABUQMetaObject@@XZ @ 11089 NONAME ; struct QMetaObject const & QTableWidget::getStaticMetaObject(void)
+ ??1QStringListModel@@UAE@XZ @ 11090 NONAME ; QStringListModel::~QStringListModel(void)
+ ?hslSaturationF@QColor@@QBEMXZ @ 11091 NONAME ; float QColor::hslSaturationF(void) const
+ ?styleHint@QCommonStyle@@UBEHW4StyleHint@QStyle@@PBVQStyleOption@@PBVQWidget@@PAVQStyleHintReturn@@@Z @ 11092 NONAME ; int QCommonStyle::styleHint(enum QStyle::StyleHint, class QStyleOption const *, class QWidget const *, class QStyleHintReturn *) const
+ ?setFont@QTextLayout@@QAEXABVQFont@@@Z @ 11093 NONAME ; void QTextLayout::setFont(class QFont const &)
+ ?defineIOHandler@QPictureIO@@SAXPBD00P6AXPAV1@@ZP6AX1@Z@Z @ 11094 NONAME ; void QPictureIO::defineIOHandler(char const *, char const *, char const *, void (*)(class QPictureIO *), void (*)(class QPictureIO *))
+ ?rowsRemoved@QTreeView@@IAEXABVQModelIndex@@HH@Z @ 11095 NONAME ; void QTreeView::rowsRemoved(class QModelIndex const &, int, int)
+ ?fixup@QDateTimeEdit@@MBEXAAVQString@@@Z @ 11096 NONAME ; void QDateTimeEdit::fixup(class QString &) const
+ ?isEnabled@QWidget@@QBE_NXZ @ 11097 NONAME ; bool QWidget::isEnabled(void) const
+ ?showExtension@QDialog@@QAEX_N@Z @ 11098 NONAME ; void QDialog::showExtension(bool)
+ ?closeEvent@QGraphicsWidget@@MAEXPAVQCloseEvent@@@Z @ 11099 NONAME ; void QGraphicsWidget::closeEvent(class QCloseEvent *)
+ ?mapToItem@QGraphicsItem@@QBE?AVQPolygonF@@PBV1@MMMM@Z @ 11100 NONAME ; class QPolygonF QGraphicsItem::mapToItem(class QGraphicsItem const *, float, float, float, float) const
+ ?setGamma@QImageWriter@@QAEXM@Z @ 11101 NONAME ; void QImageWriter::setGamma(float)
+ ?currentSubWindow@QMdiArea@@QBEPAVQMdiSubWindow@@XZ @ 11102 NONAME ; class QMdiSubWindow * QMdiArea::currentSubWindow(void) const
+ ?trUtf8@QTreeWidget@@SA?AVQString@@PBD0H@Z @ 11103 NONAME ; class QString QTreeWidget::trUtf8(char const *, char const *, int)
+ ?tr@QToolBar@@SA?AVQString@@PBD0H@Z @ 11104 NONAME ; class QString QToolBar::tr(char const *, char const *, int)
+ ??_EQPictureFormatPlugin@@UAE@I@Z @ 11105 NONAME ; QPictureFormatPlugin::~QPictureFormatPlugin(unsigned int)
+ ?setExpanded@QTreeWidgetItem@@QAEX_N@Z @ 11106 NONAME ; void QTreeWidgetItem::setExpanded(bool)
+ ?count@QBoxLayout@@UBEHXZ @ 11107 NONAME ; int QBoxLayout::count(void) const
+ ??1QDragLeaveEvent@@UAE@XZ @ 11108 NONAME ; QDragLeaveEvent::~QDragLeaveEvent(void)
+ ?offset@QGraphicsDropShadowEffect@@QBE?AVQPointF@@XZ @ 11109 NONAME ; class QPointF QGraphicsDropShadowEffect::offset(void) const
+ ??1QPixmapData@@UAE@XZ @ 11110 NONAME ; QPixmapData::~QPixmapData(void)
+ ?expanding@QTabBar@@QBE_NXZ @ 11111 NONAME ; bool QTabBar::expanding(void) const
+ ??6@YAAAVQTextStream@@AAV0@ABVQSplitter@@@Z @ 11112 NONAME ; class QTextStream & operator<<(class QTextStream &, class QSplitter const &)
+ ??4TouchPoint@QTouchEvent@@QAEAAV01@ABV01@@Z @ 11113 NONAME ; class QTouchEvent::TouchPoint & QTouchEvent::TouchPoint::operator=(class QTouchEvent::TouchPoint const &)
+ ?d_func@QToolBox@@ABEPBVQToolBoxPrivate@@XZ @ 11114 NONAME ; class QToolBoxPrivate const * QToolBox::d_func(void) const
+ ?anchorHref@QTextCharFormat@@QBE?AVQString@@XZ @ 11115 NONAME ; class QString QTextCharFormat::anchorHref(void) const
+ ?bounds@QBezier@@QBE?AVQRectF@@XZ @ 11116 NONAME ; class QRectF QBezier::bounds(void) const
+ ?setGeometry@QRubberBand@@QAEXHHHH@Z @ 11117 NONAME ; void QRubberBand::setGeometry(int, int, int, int)
+ ??_EQDrag@@UAE@I@Z @ 11118 NONAME ; QDrag::~QDrag(unsigned int)
+ ?setSelectedSection@QDateTimeEdit@@QAEXW4Section@1@@Z @ 11119 NONAME ; void QDateTimeEdit::setSelectedSection(enum QDateTimeEdit::Section)
+ ??1QGraphicsScene@@UAE@XZ @ 11120 NONAME ; QGraphicsScene::~QGraphicsScene(void)
+ ?items@QGraphicsView@@QBE?AV?$QList@PAVQGraphicsItem@@@@XZ @ 11121 NONAME ; class QList<class QGraphicsItem *> QGraphicsView::items(void) const
+ ?currentChanged@QColumnView@@MAEXABVQModelIndex@@0@Z @ 11122 NONAME ; void QColumnView::currentChanged(class QModelIndex const &, class QModelIndex const &)
+ ?setHeight@QTextImageFormat@@QAEXM@Z @ 11123 NONAME ; void QTextImageFormat::setHeight(float)
+ ?hoverMoveEvent@QGraphicsProxyWidget@@MAEXPAVQGraphicsSceneHoverEvent@@@Z @ 11124 NONAME ; void QGraphicsProxyWidget::hoverMoveEvent(class QGraphicsSceneHoverEvent *)
+ ?qDrawWinPanel@@YAXPAVQPainter@@HHHHABVQPalette@@_NPBVQBrush@@@Z @ 11125 NONAME ; void qDrawWinPanel(class QPainter *, int, int, int, int, class QPalette const &, bool, class QBrush const *)
+ ?blue@QColor@@QBEHXZ @ 11126 NONAME ; int QColor::blue(void) const
+ ?trUtf8@QSpinBox@@SA?AVQString@@PBD0@Z @ 11127 NONAME ; class QString QSpinBox::trUtf8(char const *, char const *)
+ ?scale@QGraphicsItem@@QBEMXZ @ 11128 NONAME ; float QGraphicsItem::scale(void) const
+ ?d_func@QStyledItemDelegate@@AAEPAVQStyledItemDelegatePrivate@@XZ @ 11129 NONAME ; class QStyledItemDelegatePrivate * QStyledItemDelegate::d_func(void)
+ ?button@QDialogButtonBox@@QBEPAVQPushButton@@W4StandardButton@1@@Z @ 11130 NONAME ; class QPushButton * QDialogButtonBox::button(enum QDialogButtonBox::StandardButton) const
+ ?getStaticMetaObject@QVBoxLayout@@SAABUQMetaObject@@XZ @ 11131 NONAME ; struct QMetaObject const & QVBoxLayout::getStaticMetaObject(void)
+ ?id@QButtonGroup@@QBEHPAVQAbstractButton@@@Z @ 11132 NONAME ; int QButtonGroup::id(class QAbstractButton *) const
+ ?extension@QGraphicsLineItem@@MBE?AVQVariant@@ABV2@@Z @ 11133 NONAME ; class QVariant QGraphicsLineItem::extension(class QVariant const &) const
+ ?invalidate@QGraphicsScene@@QAEXMMMMV?$QFlags@W4SceneLayer@QGraphicsScene@@@@@Z @ 11134 NONAME ; void QGraphicsScene::invalidate(float, float, float, float, class QFlags<enum QGraphicsScene::SceneLayer>)
+ ?initStyleOption@QMenuBar@@IBEXPAVQStyleOptionMenuItem@@PBVQAction@@@Z @ 11135 NONAME ; void QMenuBar::initStyleOption(class QStyleOptionMenuItem *, class QAction const *) const
+ ?qt_metacall@QGraphicsWidget@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 11136 NONAME ; int QGraphicsWidget::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?tr@QSwipeGesture@@SA?AVQString@@PBD0H@Z @ 11137 NONAME ; class QString QSwipeGesture::tr(char const *, char const *, int)
+ ?d_func@QDateTimeEdit@@ABEPBVQDateTimeEditPrivate@@XZ @ 11138 NONAME ; class QDateTimeEditPrivate const * QDateTimeEdit::d_func(void) const
+ ?background@QWorkspace@@QBE?AVQBrush@@XZ @ 11139 NONAME ; class QBrush QWorkspace::background(void) const
+ ?paintEvent@QMdiArea@@MAEXPAVQPaintEvent@@@Z @ 11140 NONAME ; void QMdiArea::paintEvent(class QPaintEvent *)
+ ??1QInputContext@@UAE@XZ @ 11141 NONAME ; QInputContext::~QInputContext(void)
+ ?staticMetaObject@QCompleter@@2UQMetaObject@@B @ 11142 NONAME ; struct QMetaObject const QCompleter::staticMetaObject
+ ??_EQWindowStateChangeEvent@@UAE@I@Z @ 11143 NONAME ; QWindowStateChangeEvent::~QWindowStateChangeEvent(unsigned int)
+ ?formats@QTextEngine@@QBEPAVQTextFormatCollection@@XZ @ 11144 NONAME ; class QTextFormatCollection * QTextEngine::formats(void) const
+ ?mimeData@QDropEvent@@QBEPBVQMimeData@@XZ @ 11145 NONAME ; class QMimeData const * QDropEvent::mimeData(void) const
+ ?transformed@QPixmapData@@UBE?AVQPixmap@@ABVQTransform@@W4TransformationMode@Qt@@@Z @ 11146 NONAME ; class QPixmap QPixmapData::transformed(class QTransform const &, enum Qt::TransformationMode) const
+ ?insertWidget@QToolBar@@QAEPAVQAction@@PAV2@PAVQWidget@@@Z @ 11147 NONAME ; class QAction * QToolBar::insertWidget(class QAction *, class QWidget *)
+ ?keyPressEvent@QPushButton@@MAEXPAVQKeyEvent@@@Z @ 11148 NONAME ; void QPushButton::keyPressEvent(class QKeyEvent *)
+ ?sizeHint@QCalendarWidget@@UBE?AVQSize@@XZ @ 11149 NONAME ; class QSize QCalendarWidget::sizeHint(void) const
+ ?smoothSizes@QFontDatabase@@QAE?AV?$QList@H@@ABVQString@@0@Z @ 11150 NONAME ; class QList<int> QFontDatabase::smoothSizes(class QString const &, class QString const &)
+ ?sizePolicy@QGraphicsLayoutItem@@QBE?AVQSizePolicy@@XZ @ 11151 NONAME ; class QSizePolicy QGraphicsLayoutItem::sizePolicy(void) const
+ ?trUtf8@QListWidget@@SA?AVQString@@PBD0@Z @ 11152 NONAME ; class QString QListWidget::trUtf8(char const *, char const *)
+ ?fromAxisAndAngle@QQuaternion@@SA?AV1@ABVQVector3D@@M@Z @ 11153 NONAME ; class QQuaternion QQuaternion::fromAxisAndAngle(class QVector3D const &, float)
+ ?wordSpacing@QFont@@QBEMXZ @ 11154 NONAME ; float QFont::wordSpacing(void) const
+ ??_EQUndoCommand@@UAE@I@Z @ 11155 NONAME ; QUndoCommand::~QUndoCommand(unsigned int)
+ ?tr@QGraphicsEffectSource@@SA?AVQString@@PBD0@Z @ 11156 NONAME ; class QString QGraphicsEffectSource::tr(char const *, char const *)
+ ?insertTab@QTabWidget@@QAEHHPAVQWidget@@ABVQIcon@@ABVQString@@@Z @ 11157 NONAME ; int QTabWidget::insertTab(int, class QWidget *, class QIcon const &, class QString const &)
+ ??0QStyleHintReturn@@QAE@HH@Z @ 11158 NONAME ; QStyleHintReturn::QStyleHintReturn(int, int)
+ ?layout@QGraphicsWidget@@QBEPAVQGraphicsLayout@@XZ @ 11159 NONAME ; class QGraphicsLayout * QGraphicsWidget::layout(void) const
+ ?trUtf8@QPanGesture@@SA?AVQString@@PBD0@Z @ 11160 NONAME ; class QString QPanGesture::trUtf8(char const *, char const *)
+ ?d_func@QTableView@@ABEPBVQTableViewPrivate@@XZ @ 11161 NONAME ; class QTableViewPrivate const * QTableView::d_func(void) const
+ ?qt_metacall@QRegExpValidator@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 11162 NONAME ; int QRegExpValidator::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?width@QLineControl@@QBEHXZ @ 11163 NONAME ; int QLineControl::width(void) const
+ ?subtract@QRegion@@QBE?AV1@ABV1@@Z @ 11164 NONAME ; class QRegion QRegion::subtract(class QRegion const &) const
+ ?document@QTextEdit@@QBEPAVQTextDocument@@XZ @ 11165 NONAME ; class QTextDocument * QTextEdit::document(void) const
+ ?addToolBar@QMainWindow@@QAEPAVQToolBar@@ABVQString@@@Z @ 11166 NONAME ; class QToolBar * QMainWindow::addToolBar(class QString const &)
+ ??_5QPainterPath@@QAEAAV0@ABV0@@Z @ 11167 NONAME ; class QPainterPath & QPainterPath::operator|=(class QPainterPath const &)
+ ?createAlphaMask@QImage@@QBE?AV1@V?$QFlags@W4ImageConversionFlag@Qt@@@@@Z @ 11168 NONAME ; class QImage QImage::createAlphaMask(class QFlags<enum Qt::ImageConversionFlag>) const
+ ?textWidth@QTextDocument@@QBEMXZ @ 11169 NONAME ; float QTextDocument::textWidth(void) const
+ ?removeRow@QTableWidget@@QAEXH@Z @ 11170 NONAME ; void QTableWidget::removeRow(int)
+ ??_EQTimeEdit@@UAE@I@Z @ 11171 NONAME ; QTimeEdit::~QTimeEdit(unsigned int)
+ ?qt_metacall@QTextEdit@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 11172 NONAME ; int QTextEdit::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?qGray@@YAHHHH@Z @ 11173 NONAME ; int qGray(int, int, int)
+ ?event@QGraphicsView@@MAE_NPAVQEvent@@@Z @ 11174 NONAME ; bool QGraphicsView::event(class QEvent *)
+ ?mapRect@QMatrix@@QBE?AVQRectF@@ABV2@@Z @ 11175 NONAME ; class QRectF QMatrix::mapRect(class QRectF const &) const
+ ?textElideMode@QAbstractItemView@@QBE?AW4TextElideMode@Qt@@XZ @ 11176 NONAME ; enum Qt::TextElideMode QAbstractItemView::textElideMode(void) const
+ ?tr@QProgressBar@@SA?AVQString@@PBD0H@Z @ 11177 NONAME ; class QString QProgressBar::tr(char const *, char const *, int)
+ ?setScenePos@QGraphicsSceneHoverEvent@@QAEXABVQPointF@@@Z @ 11178 NONAME ; void QGraphicsSceneHoverEvent::setScenePos(class QPointF const &)
+ ?nameFilters@QFileDialog@@QBE?AVQStringList@@XZ @ 11179 NONAME ; class QStringList QFileDialog::nameFilters(void) const
+ ?tr@QStyle@@SA?AVQString@@PBD0@Z @ 11180 NONAME ; class QString QStyle::tr(char const *, char const *)
+ ?restoreOverrideCursor@QApplication@@SAXXZ @ 11181 NONAME ; void QApplication::restoreOverrideCursor(void)
+ ?segmentStyle@QLCDNumber@@QBE?AW4SegmentStyle@1@XZ @ 11182 NONAME ; enum QLCDNumber::SegmentStyle QLCDNumber::segmentStyle(void) const
+ ?shortcutContext@QAction@@QBE?AW4ShortcutContext@Qt@@XZ @ 11183 NONAME ; enum Qt::ShortcutContext QAction::shortcutContext(void) const
+ ?setCharFormat@QTextCursor@@QAEXABVQTextCharFormat@@@Z @ 11184 NONAME ; void QTextCursor::setCharFormat(class QTextCharFormat const &)
+ ?aboutQt@QMessageBox@@SAXPAVQWidget@@ABVQString@@@Z @ 11185 NONAME ; void QMessageBox::aboutQt(class QWidget *, class QString const &)
+ ?parseTerm@Parser@QCss@@QAE_NPAUValue@2@@Z @ 11186 NONAME ; bool QCss::Parser::parseTerm(struct QCss::Value *)
+ ??0QInputContextPlugin@@QAE@PAVQObject@@@Z @ 11187 NONAME ; QInputContextPlugin::QInputContextPlugin(class QObject *)
+ ?invalidate@QColor@@AAEXXZ @ 11188 NONAME ; void QColor::invalidate(void)
+ ?toTransform@QMatrix4x4@@QBE?AVQTransform@@M@Z @ 11189 NONAME ; class QTransform QMatrix4x4::toTransform(float) const
+ ?mouseDoubleClickEvent@QGraphicsView@@MAEXPAVQMouseEvent@@@Z @ 11190 NONAME ; void QGraphicsView::mouseDoubleClickEvent(class QMouseEvent *)
+ ?tr@QCommonStyle@@SA?AVQString@@PBD0H@Z @ 11191 NONAME ; class QString QCommonStyle::tr(char const *, char const *, int)
+ ?qt_metacall@QPaintBufferResource@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 11192 NONAME ; int QPaintBufferResource::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?transpose@QSizePolicy@@QAEXXZ @ 11193 NONAME ; void QSizePolicy::transpose(void)
+ ?paintEvent@QDockWidget@@MAEXPAVQPaintEvent@@@Z @ 11194 NONAME ; void QDockWidget::paintEvent(class QPaintEvent *)
+ ?setDragMode@QGraphicsView@@QAEXW4DragMode@1@@Z @ 11195 NONAME ; void QGraphicsView::setDragMode(enum QGraphicsView::DragMode)
+ ?setReadOnly@QFileDialog@@QAEX_N@Z @ 11196 NONAME ; void QFileDialog::setReadOnly(bool)
+ ?spacerItem@QSpacerItem@@UAEPAV1@XZ @ 11197 NONAME ; class QSpacerItem * QSpacerItem::spacerItem(void)
+ ?isDefaultUp@QMenuBar@@QBE_NXZ @ 11198 NONAME ; bool QMenuBar::isDefaultUp(void) const
+ ?inFont@QFontMetricsF@@QBE_NVQChar@@@Z @ 11199 NONAME ; bool QFontMetricsF::inFont(class QChar) const
+ ??0QMainWindow@@QAE@PAVQWidget@@V?$QFlags@W4WindowType@Qt@@@@@Z @ 11200 NONAME ; QMainWindow::QMainWindow(class QWidget *, class QFlags<enum Qt::WindowType>)
+ ?staticMetaObject@QTreeWidget@@2UQMetaObject@@B @ 11201 NONAME ; struct QMetaObject const QTreeWidget::staticMetaObject
+ ?buttonSymbols@QAbstractSpinBox@@QBE?AW4ButtonSymbols@1@XZ @ 11202 NONAME ; enum QAbstractSpinBox::ButtonSymbols QAbstractSpinBox::buttonSymbols(void) const
+ ?highlighted@QTextBrowser@@IAEXABVQUrl@@@Z @ 11203 NONAME ; void QTextBrowser::highlighted(class QUrl const &)
+ ?update@QGraphicsItem@@QAEXABVQRectF@@@Z @ 11204 NONAME ; void QGraphicsItem::update(class QRectF const &)
+ ?colorSelected@QColorDialog@@IAEXABVQColor@@@Z @ 11205 NONAME ; void QColorDialog::colorSelected(class QColor const &)
+ ?d_func@QGraphicsSceneMoveEvent@@ABEPBVQGraphicsSceneMoveEventPrivate@@XZ @ 11206 NONAME ; class QGraphicsSceneMoveEventPrivate const * QGraphicsSceneMoveEvent::d_func(void) const
+ ?pressure@QTabletEvent@@QBEMXZ @ 11207 NONAME ; float QTabletEvent::pressure(void) const
+ ?rowMoved@QTableView@@IAEXHHH@Z @ 11208 NONAME ; void QTableView::rowMoved(int, int, int)
+ ?metaObject@QGraphicsItemAnimation@@UBEPBUQMetaObject@@XZ @ 11209 NONAME ; struct QMetaObject const * QGraphicsItemAnimation::metaObject(void) const
+ ?setFlags@QStandardItem@@QAEXV?$QFlags@W4ItemFlag@Qt@@@@@Z @ 11210 NONAME ; void QStandardItem::setFlags(class QFlags<enum Qt::ItemFlag>)
+ ?itemWidget@QListWidget@@QBEPAVQWidget@@PAVQListWidgetItem@@@Z @ 11211 NONAME ; class QWidget * QListWidget::itemWidget(class QListWidgetItem *) const
+ ?parsePage@Parser@QCss@@QAE_NPAUPageRule@2@@Z @ 11212 NONAME ; bool QCss::Parser::parsePage(struct QCss::PageRule *)
+ ?setFixedSize@QWidget@@QAEXABVQSize@@@Z @ 11213 NONAME ; void QWidget::setFixedSize(class QSize const &)
+ ?trUtf8@QWizard@@SA?AVQString@@PBD0@Z @ 11214 NONAME ; class QString QWizard::trUtf8(char const *, char const *)
+ ?staticMetaObject@QHBoxLayout@@2UQMetaObject@@B @ 11215 NONAME ; struct QMetaObject const QHBoxLayout::staticMetaObject
+ ?drawLines@QPaintEngine@@UAEXPBVQLineF@@H@Z @ 11216 NONAME ; void QPaintEngine::drawLines(class QLineF const *, int)
+ ?mouseMoveEvent@QMenuBar@@MAEXPAVQMouseEvent@@@Z @ 11217 NONAME ; void QMenuBar::mouseMoveEvent(class QMouseEvent *)
+ ??4QTableWidgetItem@@QAEAAV0@ABV0@@Z @ 11218 NONAME ; class QTableWidgetItem & QTableWidgetItem::operator=(class QTableWidgetItem const &)
+ ?grabMouseEvent@QGraphicsProxyWidget@@MAEXPAVQEvent@@@Z @ 11219 NONAME ; void QGraphicsProxyWidget::grabMouseEvent(class QEvent *)
+ ?canPaste@QTextControl@@QBE_NXZ @ 11220 NONAME ; bool QTextControl::canPaste(void) const
+ ??8QBrush@@QBE_NABV0@@Z @ 11221 NONAME ; bool QBrush::operator==(class QBrush const &) const
+ ?flags@QTreeWidgetItem@@QBE?AV?$QFlags@W4ItemFlag@Qt@@@@XZ @ 11222 NONAME ; class QFlags<enum Qt::ItemFlag> QTreeWidgetItem::flags(void) const
+ ?pt1@QBezier@@QBE?AVQPointF@@XZ @ 11223 NONAME ; class QPointF QBezier::pt1(void) const
+ ??0QAbstractSlider@@QAE@PAVQWidget@@@Z @ 11224 NONAME ; QAbstractSlider::QAbstractSlider(class QWidget *)
+ ?setIconPixmap@QMessageBox@@QAEXABVQPixmap@@@Z @ 11225 NONAME ; void QMessageBox::setIconPixmap(class QPixmap const &)
+ ?extra@QGraphicsItemPrivate@@QBE?AVQVariant@@W4Extra@1@@Z @ 11226 NONAME ; class QVariant QGraphicsItemPrivate::extra(enum QGraphicsItemPrivate::Extra) const
+ ?setDashPattern@QDashStroker@@QAEXABV?$QVector@M@@@Z @ 11227 NONAME ; void QDashStroker::setDashPattern(class QVector<float> const &)
+ ?mousePressEvent@QAbstractScrollArea@@MAEXPAVQMouseEvent@@@Z @ 11228 NONAME ; void QAbstractScrollArea::mousePressEvent(class QMouseEvent *)
+ ?paint@QGraphicsPathItem@@UAEXPAVQPainter@@PBVQStyleOptionGraphicsItem@@PAVQWidget@@@Z @ 11229 NONAME ; void QGraphicsPathItem::paint(class QPainter *, class QStyleOptionGraphicsItem const *, class QWidget *)
+ ?valid@QImage@@QBE_NABVQPoint@@@Z @ 11230 NONAME ; bool QImage::valid(class QPoint const &) const
+ ?matrixEnabled@QPainter@@QBE_NXZ @ 11231 NONAME ; bool QPainter::matrixEnabled(void) const
+ ?tickPosition@QSlider@@QBE?AW4TickPosition@1@XZ @ 11232 NONAME ; enum QSlider::TickPosition QSlider::tickPosition(void) const
+ ?tabToolTip@QTabWidget@@QBE?AVQString@@H@Z @ 11233 NONAME ; class QString QTabWidget::tabToolTip(int) const
+ ?saveGeometry@QWidget@@QBE?AVQByteArray@@XZ @ 11234 NONAME ; class QByteArray QWidget::saveGeometry(void) const
+ ?mapRectToParent@QGraphicsItem@@QBE?AVQRectF@@MMMM@Z @ 11235 NONAME ; class QRectF QGraphicsItem::mapRectToParent(float, float, float, float) const
+ ?staticMetaObject@QGraphicsColorizeEffect@@2UQMetaObject@@B @ 11236 NONAME ; struct QMetaObject const QGraphicsColorizeEffect::staticMetaObject
+ ?actionEvent@QMenu@@MAEXPAVQActionEvent@@@Z @ 11237 NONAME ; void QMenu::actionEvent(class QActionEvent *)
+ ?testMedium@Parser@QCss@@QAE_NXZ @ 11238 NONAME ; bool QCss::Parser::testMedium(void)
+ ?strokeWidth@QStroker@@QBEMXZ @ 11239 NONAME ; float QStroker::strokeWidth(void) const
+ ?setSingleStep@QDoubleSpinBox@@QAEXN@Z @ 11240 NONAME ; void QDoubleSpinBox::setSingleStep(double)
+ ?hasFrame@QComboBox@@QBE_NXZ @ 11241 NONAME ; bool QComboBox::hasFrame(void) const
+ ?qt_metacall@QGraphicsSystemPlugin@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 11242 NONAME ; int QGraphicsSystemPlugin::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?tile@QWorkspace@@QAEXXZ @ 11243 NONAME ; void QWorkspace::tile(void)
+ ?paint@QGraphicsSimpleTextItem@@UAEXPAVQPainter@@PBVQStyleOptionGraphicsItem@@PAVQWidget@@@Z @ 11244 NONAME ; void QGraphicsSimpleTextItem::paint(class QPainter *, class QStyleOptionGraphicsItem const *, class QWidget *)
+ ?setMiterLimit@QPen@@QAEXM@Z @ 11245 NONAME ; void QPen::setMiterLimit(float)
+ ?lastPos@TouchPoint@QTouchEvent@@QBE?AVQPointF@@XZ @ 11246 NONAME ; class QPointF QTouchEvent::TouchPoint::lastPos(void) const
+ ?emitAboutToDestroy@QPaintBufferSignalProxy@@QAEXPBVQPaintBufferPrivate@@@Z @ 11247 NONAME ; void QPaintBufferSignalProxy::emitAboutToDestroy(class QPaintBufferPrivate const *)
+ ?unpolish@QS60Style@@UAEXPAVQApplication@@@Z @ 11248 NONAME ; void QS60Style::unpolish(class QApplication *)
+ ?d_func@QToolBar@@ABEPBVQToolBarPrivate@@XZ @ 11249 NONAME ; class QToolBarPrivate const * QToolBar::d_func(void) const
+ ?addMenu@QMenu@@QAEPAV1@ABVQString@@@Z @ 11250 NONAME ; class QMenu * QMenu::addMenu(class QString const &)
+ ??0QStyledItemDelegate@@QAE@PAVQObject@@@Z @ 11251 NONAME ; QStyledItemDelegate::QStyledItemDelegate(class QObject *)
+ ?d_func@QPainterPathStroker@@ABEPBVQPainterPathStrokerPrivate@@XZ @ 11252 NONAME ; class QPainterPathStrokerPrivate const * QPainterPathStroker::d_func(void) const
+ ?setPos@TouchPoint@QTouchEvent@@QAEXABVQPointF@@@Z @ 11253 NONAME ; void QTouchEvent::TouchPoint::setPos(class QPointF const &)
+ ?letterSpacingType@QFont@@QBE?AW4SpacingType@1@XZ @ 11254 NONAME ; enum QFont::SpacingType QFont::letterSpacingType(void) const
+ ?tr@QComboBox@@SA?AVQString@@PBD0@Z @ 11255 NONAME ; class QString QComboBox::tr(char const *, char const *)
+ ?tr@QColorDialog@@SA?AVQString@@PBD0H@Z @ 11256 NONAME ; class QString QColorDialog::tr(char const *, char const *, int)
+ ?staticMetaObject@QProxyModel@@2UQMetaObject@@B @ 11257 NONAME ; struct QMetaObject const QProxyModel::staticMetaObject
+ ?isNativeMenuBar@QMenuBar@@QBE_NXZ @ 11258 NONAME ; bool QMenuBar::isNativeMenuBar(void) const
+ ?displayName@QInputContextFactory@@SA?AVQString@@ABV2@@Z @ 11259 NONAME ; class QString QInputContextFactory::displayName(class QString const &)
+ ?toReversed@QPainterPath@@QBE?AV1@XZ @ 11260 NONAME ; class QPainterPath QPainterPath::toReversed(void) const
+ ?patternForStyle@QDashStroker@@SA?AV?$QVector@M@@W4PenStyle@Qt@@@Z @ 11261 NONAME ; class QVector<float> QDashStroker::patternForStyle(enum Qt::PenStyle)
+ ?indexesMoved@QListView@@IAEXABV?$QList@VQModelIndex@@@@@Z @ 11262 NONAME ; void QListView::indexesMoved(class QList<class QModelIndex> const &)
+ ?layoutSpacingImplementation@QStyle@@IBEHW4ControlType@QSizePolicy@@0W4Orientation@Qt@@PBVQStyleOption@@PBVQWidget@@@Z @ 11263 NONAME ; int QStyle::layoutSpacingImplementation(enum QSizePolicy::ControlType, enum QSizePolicy::ControlType, enum Qt::Orientation, class QStyleOption const *, class QWidget const *) const
+ ?event@QDialog@@MAE_NPAVQEvent@@@Z @ 11264 NONAME ; bool QDialog::event(class QEvent *)
+ ?insertRow@QStandardItemModel@@QAEXHABV?$QList@PAVQStandardItem@@@@@Z @ 11265 NONAME ; void QStandardItemModel::insertRow(int, class QList<class QStandardItem *> const &)
+ ?trUtf8@QCalendarWidget@@SA?AVQString@@PBD0H@Z @ 11266 NONAME ; class QString QCalendarWidget::trUtf8(char const *, char const *, int)
+ ?translated@QRegion@@QBE?AV1@ABVQPoint@@@Z @ 11267 NONAME ; class QRegion QRegion::translated(class QPoint const &) const
+ ?setDynamicSortFilter@QSortFilterProxyModel@@QAEX_N@Z @ 11268 NONAME ; void QSortFilterProxyModel::setDynamicSortFilter(bool)
+ ?rehighlightBlock@QSyntaxHighlighter@@QAEXABVQTextBlock@@@Z @ 11269 NONAME ; void QSyntaxHighlighter::rehighlightBlock(class QTextBlock const &)
+ ??1QStyleOptionFrameV2@@QAE@XZ @ 11270 NONAME ; QStyleOptionFrameV2::~QStyleOptionFrameV2(void)
+ ?toPoint@QVector2D@@QBE?AVQPoint@@XZ @ 11271 NONAME ; class QPoint QVector2D::toPoint(void) const
+ ?setFormat@QSyntaxHighlighter@@IAEXHHABVQTextCharFormat@@@Z @ 11272 NONAME ; void QSyntaxHighlighter::setFormat(int, int, class QTextCharFormat const &)
+ ?update@QGraphicsTransform@@IAEXXZ @ 11273 NONAME ; void QGraphicsTransform::update(void)
+ ?setRotation@QGraphicsItem@@QAEXM@Z @ 11274 NONAME ; void QGraphicsItem::setRotation(float)
+ ?type@QTransform@@QBE?AW4TransformationType@1@XZ @ 11275 NONAME ; enum QTransform::TransformationType QTransform::type(void) const
+ ??1QInputMethodEvent@@UAE@XZ @ 11276 NONAME ; QInputMethodEvent::~QInputMethodEvent(void)
+ ?errorSymbol@Parser@QCss@@QAE?AUSymbol@2@XZ @ 11277 NONAME ; struct QCss::Symbol QCss::Parser::errorSymbol(void)
+ ??4QTextFormat@@QAEAAV0@ABV0@@Z @ 11278 NONAME ; class QTextFormat & QTextFormat::operator=(class QTextFormat const &)
+ ?addItem@QListWidget@@QAEXABVQString@@@Z @ 11279 NONAME ; void QListWidget::addItem(class QString const &)
+ ?isVisible@QActionGroup@@QBE_NXZ @ 11280 NONAME ; bool QActionGroup::isVisible(void) const
+ ?remove@QPaintBufferResource@@QAEXPBVQPaintBufferPrivate@@@Z @ 11281 NONAME ; void QPaintBufferResource::remove(class QPaintBufferPrivate const *)
+ ?copy@QImage@@QBE?AV1@HHHH@Z @ 11282 NONAME ; class QImage QImage::copy(int, int, int, int) const
+ ?proposedAction@QGraphicsSceneDragDropEvent@@QBE?AW4DropAction@Qt@@XZ @ 11283 NONAME ; enum Qt::DropAction QGraphicsSceneDragDropEvent::proposedAction(void) const
+ ?descent@QTextItem@@QBEMXZ @ 11284 NONAME ; float QTextItem::descent(void) const
+ ?event@QSizeGrip@@MAE_NPAVQEvent@@@Z @ 11285 NONAME ; bool QSizeGrip::event(class QEvent *)
+ ?subWindowList@QMdiArea@@QBE?AV?$QList@PAVQMdiSubWindow@@@@W4WindowOrder@1@@Z @ 11286 NONAME ; class QList<class QMdiSubWindow *> QMdiArea::subWindowList(enum QMdiArea::WindowOrder) const
+ ?qt_metacast@QGraphicsEffectSource@@UAEPAXPBD@Z @ 11287 NONAME ; void * QGraphicsEffectSource::qt_metacast(char const *)
+ ?trUtf8@QGraphicsSystemPlugin@@SA?AVQString@@PBD0@Z @ 11288 NONAME ; class QString QGraphicsSystemPlugin::trUtf8(char const *, char const *)
+ ?cursorPositionChanged@QTextDocument@@IAEXABVQTextCursor@@@Z @ 11289 NONAME ; void QTextDocument::cursorPositionChanged(class QTextCursor const &)
+ ?supportsExtension@QGraphicsPathItem@@MBE_NW4Extension@QGraphicsItem@@@Z @ 11290 NONAME ; bool QGraphicsPathItem::supportsExtension(enum QGraphicsItem::Extension) const
+ ?addRegion@QPainterPath@@QAEXABVQRegion@@@Z @ 11291 NONAME ; void QPainterPath::addRegion(class QRegion const &)
+ ?setColor@QPalette@@QAEXW4ColorGroup@1@W4ColorRole@1@ABVQColor@@@Z @ 11292 NONAME ; void QPalette::setColor(enum QPalette::ColorGroup, enum QPalette::ColorRole, class QColor const &)
+ ??_EQGraphicsLayoutItem@@UAE@I@Z @ 11293 NONAME ; QGraphicsLayoutItem::~QGraphicsLayoutItem(unsigned int)
+ ?setHeaderTextFormat@QCalendarWidget@@QAEXABVQTextCharFormat@@@Z @ 11294 NONAME ; void QCalendarWidget::setHeaderTextFormat(class QTextCharFormat const &)
+ ?d_func@QAbstractButton@@AAEPAVQAbstractButtonPrivate@@XZ @ 11295 NONAME ; class QAbstractButtonPrivate * QAbstractButton::d_func(void)
+ ?height@QTextInlineObject@@QBEMXZ @ 11296 NONAME ; float QTextInlineObject::height(void) const
+ ?drawBackground@QGraphicsView@@MAEXPAVQPainter@@ABVQRectF@@@Z @ 11297 NONAME ; void QGraphicsView::drawBackground(class QPainter *, class QRectF const &)
+ ?extension@QGraphicsRectItem@@MBE?AVQVariant@@ABV2@@Z @ 11298 NONAME ; class QVariant QGraphicsRectItem::extension(class QVariant const &) const
+ ??5@YAAAVQDataStream@@AAV0@AAVQImage@@@Z @ 11299 NONAME ; class QDataStream & operator>>(class QDataStream &, class QImage &)
+ ??_EQHideEvent@@UAE@I@Z @ 11300 NONAME ; QHideEvent::~QHideEvent(unsigned int)
+ ?indexOfTopLevelItem@QTreeWidget@@QBEHPAVQTreeWidgetItem@@@Z @ 11301 NONAME ; int QTreeWidget::indexOfTopLevelItem(class QTreeWidgetItem *) const
+ ??9QTextBlock@@QBE_NABV0@@Z @ 11302 NONAME ; bool QTextBlock::operator!=(class QTextBlock const &) const
+ ?formatIndex@QAbstractTextDocumentLayout@@IAEHH@Z @ 11303 NONAME ; int QAbstractTextDocumentLayout::formatIndex(int)
+ ?setCellSpacing@QTextTableFormat@@QAEXM@Z @ 11304 NONAME ; void QTextTableFormat::setCellSpacing(float)
+ ?previousInFocusChain@QWidget@@QBEPAV1@XZ @ 11305 NONAME ; class QWidget * QWidget::previousInFocusChain(void) const
+ ?tr@QPlainTextDocumentLayout@@SA?AVQString@@PBD0@Z @ 11306 NONAME ; class QString QPlainTextDocumentLayout::tr(char const *, char const *)
+ ??0QFileDialog@@QAE@PAVQWidget@@ABVQString@@11@Z @ 11307 NONAME ; QFileDialog::QFileDialog(class QWidget *, class QString const &, class QString const &, class QString const &)
+ ??4QColor@@QAEAAV0@W4GlobalColor@Qt@@@Z @ 11308 NONAME ; class QColor & QColor::operator=(enum Qt::GlobalColor)
+ ?model@QItemSelectionRange@@QBEPBVQAbstractItemModel@@XZ @ 11309 NONAME ; class QAbstractItemModel const * QItemSelectionRange::model(void) const
+ ?toggled@QAction@@IAEX_N@Z @ 11310 NONAME ; void QAction::toggled(bool)
+ ?setHorizontalHeaderItem@QStandardItemModel@@QAEXHPAVQStandardItem@@@Z @ 11311 NONAME ; void QStandardItemModel::setHorizontalHeaderItem(int, class QStandardItem *)
+ ?drawTiledPixmap@QPainter@@QAEXABVQRectF@@ABVQPixmap@@ABVQPointF@@@Z @ 11312 NONAME ; void QPainter::drawTiledPixmap(class QRectF const &, class QPixmap const &, class QPointF const &)
+ ?d_func@QMainWindow@@ABEPBVQMainWindowPrivate@@XZ @ 11313 NONAME ; class QMainWindowPrivate const * QMainWindow::d_func(void) const
+ ?windowModality@QWidget@@QBE?AW4WindowModality@Qt@@XZ @ 11314 NONAME ; enum Qt::WindowModality QWidget::windowModality(void) const
+ ?d_func@QColumnView@@ABEPBVQColumnViewPrivate@@XZ @ 11315 NONAME ; class QColumnViewPrivate const * QColumnView::d_func(void) const
+ ?currentCharFormatChanged@QTextEdit@@IAEXABVQTextCharFormat@@@Z @ 11316 NONAME ; void QTextEdit::currentCharFormatChanged(class QTextCharFormat const &)
+ ?textColor@QTableWidgetItem@@QBE?AVQColor@@XZ @ 11317 NONAME ; class QColor QTableWidgetItem::textColor(void) const
+ ?depth@QGraphicsItemPrivate@@QBEHXZ @ 11318 NONAME ; int QGraphicsItemPrivate::depth(void) const
+ ??1Symbol@QCss@@QAE@XZ @ 11319 NONAME ; QCss::Symbol::~Symbol(void)
+ ?standardButtons@QDialogButtonBox@@QBE?AV?$QFlags@W4StandardButton@QDialogButtonBox@@@@XZ @ 11320 NONAME ; class QFlags<enum QDialogButtonBox::StandardButton> QDialogButtonBox::standardButtons(void) const
+ ?trUtf8@QGraphicsTextItem@@SA?AVQString@@PBD0H@Z @ 11321 NONAME ; class QString QGraphicsTextItem::trUtf8(char const *, char const *, int)
+ ?paintEvent@QPlainTextEdit@@MAEXPAVQPaintEvent@@@Z @ 11322 NONAME ; void QPlainTextEdit::paintEvent(class QPaintEvent *)
+ ??0QGraphicsLineItem@@QAE@MMMMPAVQGraphicsItem@@PAVQGraphicsScene@@@Z @ 11323 NONAME ; QGraphicsLineItem::QGraphicsLineItem(float, float, float, float, class QGraphicsItem *, class QGraphicsScene *)
+ ?inPopupMode@QApplicationPrivate@@QBE_NXZ @ 11324 NONAME ; bool QApplicationPrivate::inPopupMode(void) const
+ ??1QButtonGroup@@UAE@XZ @ 11325 NONAME ; QButtonGroup::~QButtonGroup(void)
+ ?toString@QKeySequence@@QBE?AVQString@@W4SequenceFormat@1@@Z @ 11326 NONAME ; class QString QKeySequence::toString(enum QKeySequence::SequenceFormat) const
+ ?wheelEvent@QWorkspace@@MAEXPAVQWheelEvent@@@Z @ 11327 NONAME ; void QWorkspace::wheelEvent(class QWheelEvent *)
+ ?transformed@QImage@@QBE?AV1@ABVQTransform@@W4TransformationMode@Qt@@@Z @ 11328 NONAME ; class QImage QImage::transformed(class QTransform const &, enum Qt::TransformationMode) const
+ ?y@QVector3D@@QBEMXZ @ 11329 NONAME ; float QVector3D::y(void) const
+ ?setOptions@QInputDialog@@QAEXV?$QFlags@W4InputDialogOption@QInputDialog@@@@@Z @ 11330 NONAME ; void QInputDialog::setOptions(class QFlags<enum QInputDialog::InputDialogOption>)
+ ?childItems@QGraphicsItem@@QBE?AV?$QList@PAVQGraphicsItem@@@@XZ @ 11331 NONAME ; class QList<class QGraphicsItem *> QGraphicsItem::childItems(void) const
+ ?isClipped@QGraphicsItem@@QBE_NXZ @ 11332 NONAME ; bool QGraphicsItem::isClipped(void) const
+ ?createDefaultWindowSurface@QWidgetPrivate@@QAEPAVQWindowSurface@@XZ @ 11333 NONAME ; class QWindowSurface * QWidgetPrivate::createDefaultWindowSurface(void)
+ ?opacityMask@QGraphicsOpacityEffect@@QBE?AVQBrush@@XZ @ 11334 NONAME ; class QBrush QGraphicsOpacityEffect::opacityMask(void) const
+ ?removeSelectedText@QLineControl@@AAEXXZ @ 11335 NONAME ; void QLineControl::removeSelectedText(void)
+ ?drawPixmap@QPainter@@QAEXABVQPoint@@ABVQPixmap@@@Z @ 11336 NONAME ; void QPainter::drawPixmap(class QPoint const &, class QPixmap const &)
+ ??0QStringListModel@@QAE@PAVQObject@@@Z @ 11337 NONAME ; QStringListModel::QStringListModel(class QObject *)
+ ??0QVector3D@@QAE@ABVQPointF@@@Z @ 11338 NONAME ; QVector3D::QVector3D(class QPointF const &)
+ ?selectedRanges@QTableWidget@@QBE?AV?$QList@VQTableWidgetSelectionRange@@@@XZ @ 11339 NONAME ; class QList<class QTableWidgetSelectionRange> QTableWidget::selectedRanges(void) const
+ ?pen@QPainter@@QBEABVQPen@@XZ @ 11340 NONAME ; class QPen const & QPainter::pen(void) const
+ ?staticMetaObject@QTextDocument@@2UQMetaObject@@B @ 11341 NONAME ; struct QMetaObject const QTextDocument::staticMetaObject
+ ?maximum@QAbstractSlider@@QBEHXZ @ 11342 NONAME ; int QAbstractSlider::maximum(void) const
+ ??4QFont@@QAEAAV0@ABV0@@Z @ 11343 NONAME ; class QFont & QFont::operator=(class QFont const &)
+ ??0QItemSelection@@QAE@XZ @ 11344 NONAME ; QItemSelection::QItemSelection(void)
+ ?setWindowModality@QMessageBox@@QAEXW4WindowModality@Qt@@@Z @ 11345 NONAME ; void QMessageBox::setWindowModality(enum Qt::WindowModality)
+ ?setYScale@QGraphicsScale@@QAEXM@Z @ 11346 NONAME ; void QGraphicsScale::setYScale(float)
+ ?getStaticMetaObject@QMdiArea@@SAABUQMetaObject@@XZ @ 11347 NONAME ; struct QMetaObject const & QMdiArea::getStaticMetaObject(void)
+ ??0QHeaderView@@IAE@AAVQHeaderViewPrivate@@W4Orientation@Qt@@PAVQWidget@@@Z @ 11348 NONAME ; QHeaderView::QHeaderView(class QHeaderViewPrivate &, enum Qt::Orientation, class QWidget *)
+ ?paint@QGraphicsWidget@@UAEXPAVQPainter@@PBVQStyleOptionGraphicsItem@@PAVQWidget@@@Z @ 11349 NONAME ; void QGraphicsWidget::paint(class QPainter *, class QStyleOptionGraphicsItem const *, class QWidget *)
+ ?setInvertedAppearance@QProgressBar@@QAEX_N@Z @ 11350 NONAME ; void QProgressBar::setInvertedAppearance(bool)
+ ?setTextIndent@QTextBlockFormat@@QAEXM@Z @ 11351 NONAME ; void QTextBlockFormat::setTextIndent(float)
+ ?device@QPainter@@QBEPAVQPaintDevice@@XZ @ 11352 NONAME ; class QPaintDevice * QPainter::device(void) const
+ ?createEditor@QItemDelegate@@UBEPAVQWidget@@PAV2@ABVQStyleOptionViewItem@@ABVQModelIndex@@@Z @ 11353 NONAME ; class QWidget * QItemDelegate::createEditor(class QWidget *, class QStyleOptionViewItem const &, class QModelIndex const &) const
+ ?qt_metacast@QImageIOPlugin@@UAEPAXPBD@Z @ 11354 NONAME ; void * QImageIOPlugin::qt_metacast(char const *)
+ ?subtracted@QPolygon@@QBE?AV1@ABV1@@Z @ 11355 NONAME ; class QPolygon QPolygon::subtracted(class QPolygon const &) const
+ ?setTransformationAnchor@QGraphicsView@@QAEXW4ViewportAnchor@1@@Z @ 11356 NONAME ; void QGraphicsView::setTransformationAnchor(enum QGraphicsView::ViewportAnchor)
+ ?stateChanged@QMovie@@IAEXW4MovieState@1@@Z @ 11357 NONAME ; void QMovie::stateChanged(enum QMovie::MovieState)
+ ?staticMetaObject@QWidgetAction@@2UQMetaObject@@B @ 11358 NONAME ; struct QMetaObject const QWidgetAction::staticMetaObject
+ ?useDesignMetrics@QTextOption@@QBE_NXZ @ 11359 NONAME ; bool QTextOption::useDesignMetrics(void) const
+ ?d_func@QSplitterHandle@@ABEPBVQSplitterHandlePrivate@@XZ @ 11360 NONAME ; class QSplitterHandlePrivate const * QSplitterHandle::d_func(void) const
+ ??1QFileDialog@@UAE@XZ @ 11361 NONAME ; QFileDialog::~QFileDialog(void)
+ ?format@QTextEngine@@QBE?AVQTextCharFormat@@PBUQScriptItem@@@Z @ 11362 NONAME ; class QTextCharFormat QTextEngine::format(struct QScriptItem const *) const
+ ?isActive@QWidgetResizeHandler@@QBE_NXZ @ 11363 NONAME ; bool QWidgetResizeHandler::isActive(void) const
+ ?insertBlock@QTextCursor@@QAEXABVQTextBlockFormat@@@Z @ 11364 NONAME ; void QTextCursor::insertBlock(class QTextBlockFormat const &)
+ ??0QMatrix@@QAE@ABV0@@Z @ 11365 NONAME ; QMatrix::QMatrix(class QMatrix const &)
+ ?stationaryYPoints@QBezier@@QBEHAAM0@Z @ 11366 NONAME ; int QBezier::stationaryYPoints(float &, float &) const
+ ?hidePopup@QComboBox@@UAEXXZ @ 11367 NONAME ; void QComboBox::hidePopup(void)
+ ?indentWidth@QTextDocument@@QBEMXZ @ 11368 NONAME ; float QTextDocument::indentWidth(void) const
+ ?tr@QEventDispatcherS60@@SA?AVQString@@PBD0H@Z @ 11369 NONAME ; class QString QEventDispatcherS60::tr(char const *, char const *, int)
+ ?selectionRect@QTextControl@@QBE?AVQRectF@@XZ @ 11370 NONAME ; class QRectF QTextControl::selectionRect(void) const
+ ?setAxis@QGraphicsRotation@@QAEXABVQVector3D@@@Z @ 11371 NONAME ; void QGraphicsRotation::setAxis(class QVector3D const &)
+ ?closePersistentEditor@QTreeWidget@@QAEXPAVQTreeWidgetItem@@H@Z @ 11372 NONAME ; void QTreeWidget::closePersistentEditor(class QTreeWidgetItem *, int)
+ ?filterRegExp@QSortFilterProxyModel@@QBE?AVQRegExp@@XZ @ 11373 NONAME ; class QRegExp QSortFilterProxyModel::filterRegExp(void) const
+ ?metaObject@QTabWidget@@UBEPBUQMetaObject@@XZ @ 11374 NONAME ; struct QMetaObject const * QTabWidget::metaObject(void) const
+ ??1QSymbianEvent@@QAE@XZ @ 11375 NONAME ; QSymbianEvent::~QSymbianEvent(void)
+ ?preeditAreaText@QLineControl@@QBE?AVQString@@XZ @ 11376 NONAME ; class QString QLineControl::preeditAreaText(void) const
+ ?swapSections@QHeaderView@@QAEXHH@Z @ 11377 NONAME ; void QHeaderView::swapSections(int, int)
+ ??8QImageTextKeyLang@@QBE_NABV0@@Z @ 11378 NONAME ; bool QImageTextKeyLang::operator==(class QImageTextKeyLang const &) const
+ ?qt_metacast@QTextObject@@UAEPAXPBD@Z @ 11379 NONAME ; void * QTextObject::qt_metacast(char const *)
+ ??0QCommandLinkButton@@QAE@ABVQString@@PAVQWidget@@@Z @ 11380 NONAME ; QCommandLinkButton::QCommandLinkButton(class QString const &, class QWidget *)
+ ?itemData@QStandardItemModel@@UBE?AV?$QMap@HVQVariant@@@@ABVQModelIndex@@@Z @ 11381 NONAME ; class QMap<int, class QVariant> QStandardItemModel::itemData(class QModelIndex const &) const
+ ?shortcuts@QAction@@QBE?AV?$QList@VQKeySequence@@@@XZ @ 11382 NONAME ; class QList<class QKeySequence> QAction::shortcuts(void) const
+ ?collapseItem@QTreeWidget@@QAEXPBVQTreeWidgetItem@@@Z @ 11383 NONAME ; void QTreeWidget::collapseItem(class QTreeWidgetItem const *)
+ ?labelForField@QFormLayout@@QBEPAVQWidget@@PAVQLayout@@@Z @ 11384 NONAME ; class QWidget * QFormLayout::labelForField(class QLayout *) const
+ ?getPaintContext@QPlainTextEdit@@IBE?AUPaintContext@QAbstractTextDocumentLayout@@XZ @ 11385 NONAME ; struct QAbstractTextDocumentLayout::PaintContext QPlainTextEdit::getPaintContext(void) const
+ ?setTotalOffset@QPanGesture@@QAEXABVQPointF@@@Z @ 11386 NONAME ; void QPanGesture::setTotalOffset(class QPointF const &)
+ ?tr@QProxyStyle@@SA?AVQString@@PBD0H@Z @ 11387 NONAME ; class QString QProxyStyle::tr(char const *, char const *, int)
+ ?mouseMoveEvent@QListView@@MAEXPAVQMouseEvent@@@Z @ 11388 NONAME ; void QListView::mouseMoveEvent(class QMouseEvent *)
+ ?minimumDate@QDateTimeEdit@@QBE?AVQDate@@XZ @ 11389 NONAME ; class QDate QDateTimeEdit::minimumDate(void) const
+ ?qt_metacast@QLabel@@UAEPAXPBD@Z @ 11390 NONAME ; void * QLabel::qt_metacast(char const *)
+ ?clearSelection@QGraphicsScene@@QAEXXZ @ 11391 NONAME ; void QGraphicsScene::clearSelection(void)
+ ?mapToScene@QGraphicsItem@@QBE?AVQPainterPath@@ABV2@@Z @ 11392 NONAME ; class QPainterPath QGraphicsItem::mapToScene(class QPainterPath const &) const
+ ?tr@QCommandLinkButton@@SA?AVQString@@PBD0H@Z @ 11393 NONAME ; class QString QCommandLinkButton::tr(char const *, char const *, int)
+ ?size@QWidget@@QBE?AVQSize@@XZ @ 11394 NONAME ; class QSize QWidget::size(void) const
+ ?setFilterRole@QSortFilterProxyModel@@QAEXH@Z @ 11395 NONAME ; void QSortFilterProxyModel::setFilterRole(int)
+ ?drawPie@QPainter@@QAEXABVQRect@@HH@Z @ 11396 NONAME ; void QPainter::drawPie(class QRect const &, int, int)
+ ?setWindowOpacity@QWidget@@QAEXM@Z @ 11397 NONAME ; void QWidget::setWindowOpacity(float)
+ ?staticMetaObject@QUndoStack@@2UQMetaObject@@B @ 11398 NONAME ; struct QMetaObject const QUndoStack::staticMetaObject
+ ?exec@QMenu@@SAPAVQAction@@V?$QList@PAVQAction@@@@ABVQPoint@@PAV2@@Z @ 11399 NONAME ; class QAction * QMenu::exec(class QList<class QAction *>, class QPoint const &, class QAction *)
+ ?staticMetaObject@QToolBar@@2UQMetaObject@@B @ 11400 NONAME ; struct QMetaObject const QToolBar::staticMetaObject
+ ?setPosition@QTextLine@@QAEXABVQPointF@@@Z @ 11401 NONAME ; void QTextLine::setPosition(class QPointF const &)
+ ?topLevelWidget@QGraphicsItem@@QBEPAVQGraphicsWidget@@XZ @ 11402 NONAME ; class QGraphicsWidget * QGraphicsItem::topLevelWidget(void) const
+ ?setBlurRadius@QGraphicsBlurEffect@@QAEXH@Z @ 11403 NONAME ABSENT ; void QGraphicsBlurEffect::setBlurRadius(int)
+ ?fromRgba@QColor@@SA?AV1@I@Z @ 11404 NONAME ; class QColor QColor::fromRgba(unsigned int)
+ ?isValid@QTextFormat@@QBE_NXZ @ 11405 NONAME ; bool QTextFormat::isValid(void) const
+ ??0QMatrix4x4@@AAE@H@Z @ 11406 NONAME ; QMatrix4x4::QMatrix4x4(int)
+ ??0QStandardItem@@QAE@XZ @ 11407 NONAME ; QStandardItem::QStandardItem(void)
+ ?setNonBreakableLines@QTextBlockFormat@@QAEX_N@Z @ 11408 NONAME ; void QTextBlockFormat::setNonBreakableLines(bool)
+ ?dragDropMode@QAbstractItemView@@QBE?AW4DragDropMode@1@XZ @ 11409 NONAME ; enum QAbstractItemView::DragDropMode QAbstractItemView::dragDropMode(void) const
+ ?d_func@QMdiArea@@ABEPBVQMdiAreaPrivate@@XZ @ 11410 NONAME ; class QMdiAreaPrivate const * QMdiArea::d_func(void) const
+ ?expandingDirections@QWidgetItem@@UBE?AV?$QFlags@W4Orientation@Qt@@@@XZ @ 11411 NONAME ; class QFlags<enum Qt::Orientation> QWidgetItem::expandingDirections(void) const
+ ?metaObject@QTableView@@UBEPBUQMetaObject@@XZ @ 11412 NONAME ; struct QMetaObject const * QTableView::metaObject(void) const
+ ?setDetailedText@QMessageBox@@QAEXABVQString@@@Z @ 11413 NONAME ; void QMessageBox::setDetailedText(class QString const &)
+ ?count@QStackedLayout@@UBEHXZ @ 11414 NONAME ; int QStackedLayout::count(void) const
+ ?unpolish@QStyle@@UAEXPAVQWidget@@@Z @ 11415 NONAME ; void QStyle::unpolish(class QWidget *)
+ ??0QStyleOptionHeader@@QAE@XZ @ 11416 NONAME ; QStyleOptionHeader::QStyleOptionHeader(void)
+ ?toSubpathPolygons@QPainterPath@@QBE?AV?$QList@VQPolygonF@@@@ABVQMatrix@@@Z @ 11417 NONAME ; class QList<class QPolygonF> QPainterPath::toSubpathPolygons(class QMatrix const &) const
+ ?copy@QPixmapData@@UAEXPBV1@ABVQRect@@@Z @ 11418 NONAME ; void QPixmapData::copy(class QPixmapData const *, class QRect const &)
+ ?setGeometry@QGraphicsWidget@@QAEXMMMM@Z @ 11419 NONAME ; void QGraphicsWidget::setGeometry(float, float, float, float)
+ ?create@QStyleFactory@@SAPAVQStyle@@ABVQString@@@Z @ 11420 NONAME ; class QStyle * QStyleFactory::create(class QString const &)
+ ??0QCheckBox@@QAE@PAVQWidget@@@Z @ 11421 NONAME ; QCheckBox::QCheckBox(class QWidget *)
+ ?toggled@QGroupBox@@IAEX_N@Z @ 11422 NONAME ; void QGroupBox::toggled(bool)
+ ?setEnabled@QStandardItem@@QAEX_N@Z @ 11423 NONAME ; void QStandardItem::setEnabled(bool)
+ ??_EQDial@@UAE@I@Z @ 11424 NONAME ; QDial::~QDial(unsigned int)
+ ?stackUnder_sys@QWidgetPrivate@@QAEXPAVQWidget@@@Z @ 11425 NONAME ; void QWidgetPrivate::stackUnder_sys(class QWidget *)
+ ?logicalDpiX@QPaintDevice@@QBEHXZ @ 11426 NONAME ; int QPaintDevice::logicalDpiX(void) const
+ ??0QStyleOptionTabBarBase@@QAE@XZ @ 11427 NONAME ; QStyleOptionTabBarBase::QStyleOptionTabBarBase(void)
+ ??_EQStyleFactoryInterface@@UAE@I@Z @ 11428 NONAME ; QStyleFactoryInterface::~QStyleFactoryInterface(unsigned int)
+ ?isTranslating@QTransform@@QBE_NXZ @ 11429 NONAME ; bool QTransform::isTranslating(void) const
+ ??0QGraphicsWidget@@QAE@PAVQGraphicsItem@@V?$QFlags@W4WindowType@Qt@@@@@Z @ 11430 NONAME ; QGraphicsWidget::QGraphicsWidget(class QGraphicsItem *, class QFlags<enum Qt::WindowType>)
+ ??0QPainterReplayer@@QAE@XZ @ 11431 NONAME ; QPainterReplayer::QPainterReplayer(void)
+ ?setGeometry@QGraphicsAnchorLayout@@UAEXABVQRectF@@@Z @ 11432 NONAME ; void QGraphicsAnchorLayout::setGeometry(class QRectF const &)
+ ?insert@QPixmapCache@@SA?AVKey@1@ABVQPixmap@@@Z @ 11433 NONAME ; class QPixmapCache::Key QPixmapCache::insert(class QPixmap const &)
+ ?intValue@QInputDialog@@QBEHXZ @ 11434 NONAME ; int QInputDialog::intValue(void) const
+ ?repaint@QWidget@@QAEXABVQRect@@@Z @ 11435 NONAME ; void QWidget::repaint(class QRect const &)
+ ?textChanged@QTextEdit@@IAEXXZ @ 11436 NONAME ; void QTextEdit::textChanged(void)
+ ?d_func@QListView@@ABEPBVQListViewPrivate@@XZ @ 11437 NONAME ; class QListViewPrivate const * QListView::d_func(void) const
+ ?format@QImageIOHandler@@QBE?AVQByteArray@@XZ @ 11438 NONAME ; class QByteArray QImageIOHandler::format(void) const
+ ?isCopyOf@QTextCursor@@QBE_NABV1@@Z @ 11439 NONAME ; bool QTextCursor::isCopyOf(class QTextCursor const &) const
+ ??0QStyleOptionComplex@@QAE@ABV0@@Z @ 11440 NONAME ; QStyleOptionComplex::QStyleOptionComplex(class QStyleOptionComplex const &)
+ ?d_func@QGraphicsSceneHoverEvent@@ABEPBVQGraphicsSceneHoverEventPrivate@@XZ @ 11441 NONAME ; class QGraphicsSceneHoverEventPrivate const * QGraphicsSceneHoverEvent::d_func(void) const
+ ?getStaticMetaObject@QPixmapColorizeFilter@@SAABUQMetaObject@@XZ @ 11442 NONAME ; struct QMetaObject const & QPixmapColorizeFilter::getStaticMetaObject(void)
+ ??_EQPolygonF@@QAE@I@Z @ 11443 NONAME ; QPolygonF::~QPolygonF(unsigned int)
+ ?horizontalScrollBar@QAbstractScrollArea@@QBEPAVQScrollBar@@XZ @ 11444 NONAME ; class QScrollBar * QAbstractScrollArea::horizontalScrollBar(void) const
+ ?trUtf8@QStackedLayout@@SA?AVQString@@PBD0@Z @ 11445 NONAME ; class QString QStackedLayout::trUtf8(char const *, char const *)
+ ?setState@QAbstractItemView@@IAEXW4State@1@@Z @ 11446 NONAME ; void QAbstractItemView::setState(enum QAbstractItemView::State)
+ ?indexFromItem@QListWidget@@IBE?AVQModelIndex@@PAVQListWidgetItem@@@Z @ 11447 NONAME ; class QModelIndex QListWidget::indexFromItem(class QListWidgetItem *) const
+ ?items@QGraphicsScene@@QBE?AV?$QList@PAVQGraphicsItem@@@@W4SortOrder@Qt@@@Z @ 11448 NONAME ; class QList<class QGraphicsItem *> QGraphicsScene::items(enum Qt::SortOrder) const
+ ?mapRect@QTransform@@QBE?AVQRectF@@ABV2@@Z @ 11449 NONAME ; class QRectF QTransform::mapRect(class QRectF const &) const
+ ?scrollContentsBy@QMdiArea@@MAEXHH@Z @ 11450 NONAME ; void QMdiArea::scrollContentsBy(int, int)
+ ?trUtf8@QAbstractButton@@SA?AVQString@@PBD0H@Z @ 11451 NONAME ; class QString QAbstractButton::trUtf8(char const *, char const *, int)
+ ?d_func@QCommandLinkButton@@AAEPAVQCommandLinkButtonPrivate@@XZ @ 11452 NONAME ; class QCommandLinkButtonPrivate * QCommandLinkButton::d_func(void)
+ ?addAction@QMenu@@QAEPAVQAction@@ABVQString@@PBVQObject@@PBDABVQKeySequence@@@Z @ 11453 NONAME ; class QAction * QMenu::addAction(class QString const &, class QObject const *, char const *, class QKeySequence const &)
+ ?tr@QTabWidget@@SA?AVQString@@PBD0@Z @ 11454 NONAME ; class QString QTabWidget::tr(char const *, char const *)
+ ?addToPolygonMixed@QBezier@@QBEXPAVQPolygonF@@@Z @ 11455 NONAME ; void QBezier::addToPolygonMixed(class QPolygonF *) const
+ ?command@QUndoStack@@QBEPBVQUndoCommand@@H@Z @ 11456 NONAME ; class QUndoCommand const * QUndoStack::command(int) const
+ ?tr@QGraphicsPixelizeEffect@@SA?AVQString@@PBD0H@Z @ 11457 NONAME ABSENT ; class QString QGraphicsPixelizeEffect::tr(char const *, char const *, int)
+ ?data@QStandardItem@@UBE?AVQVariant@@H@Z @ 11458 NONAME ; class QVariant QStandardItem::data(int) const
+ ?focusItem@QGraphicsScene@@QBEPAVQGraphicsItem@@XZ @ 11459 NONAME ; class QGraphicsItem * QGraphicsScene::focusItem(void) const
+ ?delta@QWheelEvent@@QBEHXZ @ 11460 NONAME ; int QWheelEvent::delta(void) const
+ ?tr@QColumnView@@SA?AVQString@@PBD0@Z @ 11461 NONAME ; class QString QColumnView::tr(char const *, char const *)
+ ?tr@QAbstractTextDocumentLayout@@SA?AVQString@@PBD0@Z @ 11462 NONAME ; class QString QAbstractTextDocumentLayout::tr(char const *, char const *)
+ ?event@QToolBar@@MAE_NPAVQEvent@@@Z @ 11463 NONAME ; bool QToolBar::event(class QEvent *)
+ ?drawComplexControl@QProxyStyle@@UBEXW4ComplexControl@QStyle@@PBVQStyleOptionComplex@@PAVQPainter@@PBVQWidget@@@Z @ 11464 NONAME ; void QProxyStyle::drawComplexControl(enum QStyle::ComplexControl, class QStyleOptionComplex const *, class QPainter *, class QWidget const *) const
+ ?index@QStandardItemModel@@UBE?AVQModelIndex@@HHABV2@@Z @ 11465 NONAME ; class QModelIndex QStandardItemModel::index(int, int, class QModelIndex const &) const
+ ?cursorPositionChanged@QLineControl@@IAEXHH@Z @ 11466 NONAME ; void QLineControl::cursorPositionChanged(int, int)
+ ?map@QMatrix@@QBE?AVQPolygonF@@ABV2@@Z @ 11467 NONAME ; class QPolygonF QMatrix::map(class QPolygonF const &) const
+ ??1QDragResponseEvent@@UAE@XZ @ 11468 NONAME ; QDragResponseEvent::~QDragResponseEvent(void)
+ ?setFillRule@QGraphicsPolygonItem@@QAEXW4FillRule@Qt@@@Z @ 11469 NONAME ; void QGraphicsPolygonItem::setFillRule(enum Qt::FillRule)
+ ??0QColor@@QAE@W4GlobalColor@Qt@@@Z @ 11470 NONAME ; QColor::QColor(enum Qt::GlobalColor)
+ ?minimumHeightForWidth@QGridLayout@@UBEHH@Z @ 11471 NONAME ; int QGridLayout::minimumHeightForWidth(int) const
+ ?setOptions@QFileDialog@@QAEXV?$QFlags@W4Option@QFileDialog@@@@@Z @ 11472 NONAME ; void QFileDialog::setOptions(class QFlags<enum QFileDialog::Option>)
+ ?mouseMoveEvent@QLabel@@MAEXPAVQMouseEvent@@@Z @ 11473 NONAME ; void QLabel::mouseMoveEvent(class QMouseEvent *)
+ ?setCurrentFont@QTextEdit@@QAEXABVQFont@@@Z @ 11474 NONAME ; void QTextEdit::setCurrentFont(class QFont const &)
+ ?setCellWidget@QTableWidget@@QAEXHHPAVQWidget@@@Z @ 11475 NONAME ; void QTableWidget::setCellWidget(int, int, class QWidget *)
+ ?trUtf8@QTextObject@@SA?AVQString@@PBD0@Z @ 11476 NONAME ; class QString QTextObject::trUtf8(char const *, char const *)
+ ?fill@QRasterPixmapData@@UAEXABVQColor@@@Z @ 11477 NONAME ; void QRasterPixmapData::fill(class QColor const &)
+ ?isValid@QTextListFormat@@QBE_NXZ @ 11478 NONAME ; bool QTextListFormat::isValid(void) const
+ ?getStaticMetaObject@QTabBar@@SAABUQMetaObject@@XZ @ 11479 NONAME ; struct QMetaObject const & QTabBar::getStaticMetaObject(void)
+ ?tabInserted@QTabBar@@MAEXH@Z @ 11480 NONAME ; void QTabBar::tabInserted(int)
+ ?isEmpty@QTextDocumentFragment@@QBE_NXZ @ 11481 NONAME ; bool QTextDocumentFragment::isEmpty(void) const
+ ?staticMetaObject@QFontComboBox@@2UQMetaObject@@B @ 11482 NONAME ; struct QMetaObject const QFontComboBox::staticMetaObject
+ ?setEditable@QStandardItem@@QAEX_N@Z @ 11483 NONAME ; void QStandardItem::setEditable(bool)
+ ?padding@QTextFrameFormat@@QBEMXZ @ 11484 NONAME ; float QTextFrameFormat::padding(void) const
+ ?activeWindow@QGraphicsScene@@QBEPAVQGraphicsWidget@@XZ @ 11485 NONAME ; class QGraphicsWidget * QGraphicsScene::activeWindow(void) const
+ ?rowEnd@QTextTable@@QBE?AVQTextCursor@@ABV2@@Z @ 11486 NONAME ; class QTextCursor QTextTable::rowEnd(class QTextCursor const &) const
+ ?staticMetaObject@QGraphicsSystemPlugin@@2UQMetaObject@@B @ 11487 NONAME ; struct QMetaObject const QGraphicsSystemPlugin::staticMetaObject
+ ?setSpacing@QFormLayout@@QAEXH@Z @ 11488 NONAME ; void QFormLayout::setSpacing(int)
+ ?pos@QTabletEvent@@QBEABVQPoint@@XZ @ 11489 NONAME ; class QPoint const & QTabletEvent::pos(void) const
+ ??0QGraphicsLayout@@QAE@PAVQGraphicsLayoutItem@@@Z @ 11490 NONAME ; QGraphicsLayout::QGraphicsLayout(class QGraphicsLayoutItem *)
+ ?setHsl@QColor@@QAEXHHHH@Z @ 11491 NONAME ; void QColor::setHsl(int, int, int, int)
+ ?paintEngine@QPixmap@@UBEPAVQPaintEngine@@XZ @ 11492 NONAME ; class QPaintEngine * QPixmap::paintEngine(void) const
+ ?viewMode@QFileDialog@@QBE?AW4ViewMode@1@XZ @ 11493 NONAME ; enum QFileDialog::ViewMode QFileDialog::viewMode(void) const
+ ??0QPolygon@@QAE@ABVQRect@@_N@Z @ 11494 NONAME ; QPolygon::QPolygon(class QRect const &, bool)
+ ?critical@QMessageBox@@SAHPAVQWidget@@ABVQString@@1111HH@Z @ 11495 NONAME ; int QMessageBox::critical(class QWidget *, class QString const &, class QString const &, class QString const &, class QString const &, class QString const &, int, int)
+ ??0QImage@@QAE@PBEHHHW4Format@0@@Z @ 11496 NONAME ; QImage::QImage(unsigned char const *, int, int, int, enum QImage::Format)
+ ??0QStyleOptionDockWidget@@QAE@ABV0@@Z @ 11497 NONAME ; QStyleOptionDockWidget::QStyleOptionDockWidget(class QStyleOptionDockWidget const &)
+ ?showMaximized@QWidget@@QAEXXZ @ 11498 NONAME ; void QWidget::showMaximized(void)
+ ?setFrame@QAbstractSpinBox@@QAEX_N@Z @ 11499 NONAME ; void QAbstractSpinBox::setFrame(bool)
+ ?eventFilter@QMdiArea@@MAE_NPAVQObject@@PAVQEvent@@@Z @ 11500 NONAME ; bool QMdiArea::eventFilter(class QObject *, class QEvent *)
+ ?reason@QGraphicsSceneContextMenuEvent@@QBE?AW4Reason@1@XZ @ 11501 NONAME ; enum QGraphicsSceneContextMenuEvent::Reason QGraphicsSceneContextMenuEvent::reason(void) const
+ ?qSmartSpacing@@YAHPBVQLayout@@W4PixelMetric@QStyle@@@Z @ 11502 NONAME ; int qSmartSpacing(class QLayout const *, enum QStyle::PixelMetric)
+ ?clearProperty@QTextFormat@@QAEXH@Z @ 11503 NONAME ; void QTextFormat::clearProperty(int)
+ ?qt_metacall@QInputDialog@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 11504 NONAME ; int QInputDialog::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?classId@QPixmapData@@QBE?AW4ClassId@1@XZ @ 11505 NONAME ; enum QPixmapData::ClassId QPixmapData::classId(void) const
+ ?setStyle_helper@QWidgetPrivate@@QAEXPAVQStyle@@_N1@Z @ 11506 NONAME ; void QWidgetPrivate::setStyle_helper(class QStyle *, bool, bool)
+ ??0QVector2D@@QAE@XZ @ 11507 NONAME ; QVector2D::QVector2D(void)
+ ?about@QMessageBox@@SAXPAVQWidget@@ABVQString@@1@Z @ 11508 NONAME ; void QMessageBox::about(class QWidget *, class QString const &, class QString const &)
+ ?valueChanged@QProgressBar@@IAEXH@Z @ 11509 NONAME ; void QProgressBar::valueChanged(int)
+ ?staticMetaObject@QSplitter@@2UQMetaObject@@B @ 11510 NONAME ; struct QMetaObject const QSplitter::staticMetaObject
+ ?getContentsMargins@QGraphicsWidget@@UBEXPAM000@Z @ 11511 NONAME ; void QGraphicsWidget::getContentsMargins(float *, float *, float *, float *) const
+ ?setMaximumSize@QGraphicsLayoutItem@@QAEXMM@Z @ 11512 NONAME ; void QGraphicsLayoutItem::setMaximumSize(float, float)
+ ?setShortcutAutoRepeat@QWidget@@QAEXH_N@Z @ 11513 NONAME ; void QWidget::setShortcutAutoRepeat(int, bool)
+ ??0QStyleOptionTab@@QAE@XZ @ 11514 NONAME ; QStyleOptionTab::QStyleOptionTab(void)
+ ?resizeEvent@QDesktopWidget@@MAEXPAVQResizeEvent@@@Z @ 11515 NONAME ; void QDesktopWidget::resizeEvent(class QResizeEvent *)
+ ?textureMapForGlyph@QTextureGlyphCache@@QBE?AVQImage@@I@Z @ 11516 NONAME ; class QImage QTextureGlyphCache::textureMapForGlyph(unsigned int) const
+ ?shape@QGraphicsItem@@UBE?AVQPainterPath@@XZ @ 11517 NONAME ; class QPainterPath QGraphicsItem::shape(void) const
+ ?animate_combo@QApplicationPrivate@@2_NA @ 11518 NONAME ; bool QApplicationPrivate::animate_combo
+ ?metaObject@QAbstractItemView@@UBEPBUQMetaObject@@XZ @ 11519 NONAME ; struct QMetaObject const * QAbstractItemView::metaObject(void) const
+ ?mouseReleaseEvent@QGroupBox@@MAEXPAVQMouseEvent@@@Z @ 11520 NONAME ; void QGroupBox::mouseReleaseEvent(class QMouseEvent *)
+ ?setItemEditorFactory@QItemDelegate@@QAEXPAVQItemEditorFactory@@@Z @ 11521 NONAME ; void QItemDelegate::setItemEditorFactory(class QItemEditorFactory *)
+ ?d_func@QAbstractScrollArea@@ABEPBVQAbstractScrollAreaPrivate@@XZ @ 11522 NONAME ; class QAbstractScrollAreaPrivate const * QAbstractScrollArea::d_func(void) const
+ ??0QAction@@QAE@ABVQString@@PAVQObject@@@Z @ 11523 NONAME ; QAction::QAction(class QString const &, class QObject *)
+ ?exec@QDialog@@QAEHXZ @ 11524 NONAME ; int QDialog::exec(void)
+ ?qt_metacall@QTextControl@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 11525 NONAME ; int QTextControl::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?cleanUp@QBrush@@AAEXPAUQBrushData@@@Z @ 11526 NONAME ; void QBrush::cleanUp(struct QBrushData *)
+ ?qt_metacast@QSizeGrip@@UAEPAXPBD@Z @ 11527 NONAME ; void * QSizeGrip::qt_metacast(char const *)
+ ?staticMetaObject@QAbstractSlider@@2UQMetaObject@@B @ 11528 NONAME ; struct QMetaObject const QAbstractSlider::staticMetaObject
+ ?dragEnterEvent@QAbstractItemView@@MAEXPAVQDragEnterEvent@@@Z @ 11529 NONAME ; void QAbstractItemView::dragEnterEvent(class QDragEnterEvent *)
+ ?windowFilePath@QWidget@@QBE?AVQString@@XZ @ 11530 NONAME ; class QString QWidget::windowFilePath(void) const
+ ?setNum@QLabel@@QAEXN@Z @ 11531 NONAME ; void QLabel::setNum(double)
+ ?blueF@QColor@@QBEMXZ @ 11532 NONAME ; float QColor::blueF(void) const
+ ?orientation@QProgressBar@@QBE?AW4Orientation@Qt@@XZ @ 11533 NONAME ; enum Qt::Orientation QProgressBar::orientation(void) const
+ ?linkActivated@QGraphicsTextItem@@IAEXABVQString@@@Z @ 11534 NONAME ; void QGraphicsTextItem::linkActivated(class QString const &)
+ ?endPaint@QWindowSurface@@UAEXABVQRegion@@@Z @ 11535 NONAME ; void QWindowSurface::endPaint(class QRegion const &)
+ ?addRow@QFormLayout@@QAEXABVQString@@PAVQLayout@@@Z @ 11536 NONAME ; void QFormLayout::addRow(class QString const &, class QLayout *)
+ ?copy@QPixmap@@QBE?AV1@HHHH@Z @ 11537 NONAME ; class QPixmap QPixmap::copy(int, int, int, int) const
+ ?repaint@QWidget@@QAEXXZ @ 11538 NONAME ; void QWidget::repaint(void)
+ ?setStyle@QApplication@@SAXPAVQStyle@@@Z @ 11539 NONAME ; void QApplication::setStyle(class QStyle *)
+ ?mapSelectionToSource@QSortFilterProxyModel@@UBE?AVQItemSelection@@ABV2@@Z @ 11540 NONAME ; class QItemSelection QSortFilterProxyModel::mapSelectionToSource(class QItemSelection const &) const
+ ?doubleClicked@QAbstractItemView@@IAEXABVQModelIndex@@@Z @ 11541 NONAME ; void QAbstractItemView::doubleClicked(class QModelIndex const &)
+ ?insertPlainText@QTextControl@@QAEXABVQString@@@Z @ 11542 NONAME ; void QTextControl::insertPlainText(class QString const &)
+ ?frameAt@QTextDocument@@QBEPAVQTextFrame@@H@Z @ 11543 NONAME ; class QTextFrame * QTextDocument::frameAt(int) const
+ ?keyReleaseEvent@QWidget@@MAEXPAVQKeyEvent@@@Z @ 11544 NONAME ; void QWidget::keyReleaseEvent(class QKeyEvent *)
+ ??0QCursor@@QAE@ABV0@@Z @ 11545 NONAME ; QCursor::QCursor(class QCursor const &)
+ ?keyReleaseEvent@QGraphicsScene@@MAEXPAVQKeyEvent@@@Z @ 11546 NONAME ; void QGraphicsScene::keyReleaseEvent(class QKeyEvent *)
+ ?tr@QCoeFepInputContext@@SA?AVQString@@PBD0@Z @ 11547 NONAME ABSENT ; class QString QCoeFepInputContext::tr(char const *, char const *)
+ ?pos@QContextMenuEvent@@QBEABVQPoint@@XZ @ 11548 NONAME ; class QPoint const & QContextMenuEvent::pos(void) const
+ ??5@YAAAVQDataStream@@AAV0@AAVQCursor@@@Z @ 11549 NONAME ; class QDataStream & operator>>(class QDataStream &, class QCursor &)
+ ??_EQTextObject@@UAE@I@Z @ 11550 NONAME ; QTextObject::~QTextObject(unsigned int)
+ ??OQKeySequence@@QBE_NABV0@@Z @ 11551 NONAME ; bool QKeySequence::operator>(class QKeySequence const &) const
+ ?eventTest@QKeyEventTransition@@MAE_NPAVQEvent@@@Z @ 11552 NONAME ; bool QKeyEventTransition::eventTest(class QEvent *)
+ ?layout@QLayoutItem@@UAEPAVQLayout@@XZ @ 11553 NONAME ; class QLayout * QLayoutItem::layout(void)
+ ?tr@QSizeGrip@@SA?AVQString@@PBD0H@Z @ 11554 NONAME ; class QString QSizeGrip::tr(char const *, char const *, int)
+ ??1QGraphicsPixmapItem@@UAE@XZ @ 11555 NONAME ; QGraphicsPixmapItem::~QGraphicsPixmapItem(void)
+ ?sliderPressed@QAbstractSlider@@IAEXXZ @ 11556 NONAME ; void QAbstractSlider::sliderPressed(void)
+ ??MQKeySequence@@QBE_NABV0@@Z @ 11557 NONAME ; bool QKeySequence::operator<(class QKeySequence const &) const
+ ?addItem@QGridLayout@@MAEXPAVQLayoutItem@@@Z @ 11558 NONAME ; void QGridLayout::addItem(class QLayoutItem *)
+ ?map@QTransform@@QBEXMMPAM0@Z @ 11559 NONAME ; void QTransform::map(float, float, float *, float *) const
+ ?metaObject@QItemSelectionModel@@UBEPBUQMetaObject@@XZ @ 11560 NONAME ; struct QMetaObject const * QItemSelectionModel::metaObject(void) const
+ ??0QGesture@@QAE@PAVQObject@@@Z @ 11561 NONAME ; QGesture::QGesture(class QObject *)
+ ?d_func@QFrame@@ABEPBVQFramePrivate@@XZ @ 11562 NONAME ; class QFramePrivate const * QFrame::d_func(void) const
+ ?map@QTransform@@QBE?AVQLineF@@ABV2@@Z @ 11563 NONAME ; class QLineF QTransform::map(class QLineF const &) const
+ ?addCommand@QLineControl@@AAEXABUCommand@1@@Z @ 11564 NONAME ; void QLineControl::addCommand(struct QLineControl::Command const &)
+ ??1QIconEngineV2@@UAE@XZ @ 11565 NONAME ; QIconEngineV2::~QIconEngineV2(void)
+ ?pixelType@QPixmapData@@QBE?AW4PixelType@1@XZ @ 11566 NONAME ; enum QPixmapData::PixelType QPixmapData::pixelType(void) const
+ ?end@QLineControl@@QAEX_N@Z @ 11567 NONAME ; void QLineControl::end(bool)
+ ?itemIsUntransformable@QGraphicsItemPrivate@@QBE_NXZ @ 11568 NONAME ; bool QGraphicsItemPrivate::itemIsUntransformable(void) const
+ ?app_font@QApplicationPrivate@@0PAVQFont@@A @ 11569 NONAME ; class QFont * QApplicationPrivate::app_font
+ ?removeWidget@QStackedWidget@@QAEXPAVQWidget@@@Z @ 11570 NONAME ; void QStackedWidget::removeWidget(class QWidget *)
+ ?heightForWidth@QMenuBar@@UBEHH@Z @ 11571 NONAME ; int QMenuBar::heightForWidth(int) const
+ ?isTabEnabled@QTabBar@@QBE_NH@Z @ 11572 NONAME ; bool QTabBar::isTabEnabled(int) const
+ ?spanAngle@QGraphicsEllipseItem@@QBEHXZ @ 11573 NONAME ; int QGraphicsEllipseItem::spanAngle(void) const
+ ?setDropIndicatorShown@QAbstractItemView@@QAEX_N@Z @ 11574 NONAME ; void QAbstractItemView::setDropIndicatorShown(bool)
+ ?paintEvent@QSlider@@MAEXPAVQPaintEvent@@@Z @ 11575 NONAME ; void QSlider::paintEvent(class QPaintEvent *)
+ ?keyboardInputLocale@QApplication@@SA?AVQLocale@@XZ @ 11576 NONAME ; class QLocale QApplication::keyboardInputLocale(void)
+ ?setHandlesChildEvents@QGraphicsItem@@QAEX_N@Z @ 11577 NONAME ; void QGraphicsItem::setHandlesChildEvents(bool)
+ ?d_func@QAbstractProxyModel@@AAEPAVQAbstractProxyModelPrivate@@XZ @ 11578 NONAME ; class QAbstractProxyModelPrivate * QAbstractProxyModel::d_func(void)
+ ??0QColor@@QAE@I@Z @ 11579 NONAME ; QColor::QColor(unsigned int)
+ ??ZQPainterPath@@QAEAAV0@ABV0@@Z @ 11580 NONAME ; class QPainterPath & QPainterPath::operator-=(class QPainterPath const &)
+ ?normalVector@QBezier@@QBE?AVQPointF@@M@Z @ 11581 NONAME ; class QPointF QBezier::normalVector(float) const
+ ?setDefaultFactory@QItemEditorFactory@@SAXPAV1@@Z @ 11582 NONAME ; void QItemEditorFactory::setDefaultFactory(class QItemEditorFactory *)
+ ??1QSlider@@UAE@XZ @ 11583 NONAME ; QSlider::~QSlider(void)
+ ?findItems@QTreeWidget@@QBE?AV?$QList@PAVQTreeWidgetItem@@@@ABVQString@@V?$QFlags@W4MatchFlag@Qt@@@@H@Z @ 11584 NONAME ; class QList<class QTreeWidgetItem *> QTreeWidget::findItems(class QString const &, class QFlags<enum Qt::MatchFlag>, int) const
+ ?isHidden@QWidget@@QBE_NXZ @ 11585 NONAME ; bool QWidget::isHidden(void) const
+ ??1QStyleOptionToolBar@@QAE@XZ @ 11586 NONAME ; QStyleOptionToolBar::~QStyleOptionToolBar(void)
+ ?removeAction@QActionGroup@@QAEXPAVQAction@@@Z @ 11587 NONAME ; void QActionGroup::removeAction(class QAction *)
+ ?setHorizontalSpacing@QGraphicsAnchorLayout@@QAEXM@Z @ 11588 NONAME ; void QGraphicsAnchorLayout::setHorizontalSpacing(float)
+ ?screenNumber@QDesktopWidget@@QBEHABVQPoint@@@Z @ 11589 NONAME ; int QDesktopWidget::screenNumber(class QPoint const &) const
+ ?updateFrameStrut@QWidgetPrivate@@QAEXXZ @ 11590 NONAME ; void QWidgetPrivate::updateFrameStrut(void)
+ ?layoutSpacingImplementation@QProxyStyle@@IBEHW4ControlType@QSizePolicy@@0W4Orientation@Qt@@PBVQStyleOption@@PBVQWidget@@@Z @ 11591 NONAME ; int QProxyStyle::layoutSpacingImplementation(enum QSizePolicy::ControlType, enum QSizePolicy::ControlType, enum Qt::Orientation, class QStyleOption const *, class QWidget const *) const
+ ?setFixedWidth@QWidget@@QAEXH@Z @ 11592 NONAME ; void QWidget::setFixedWidth(int)
+ ?draw@QGraphicsOpacityEffect@@MAEXPAVQPainter@@PAVQGraphicsEffectSource@@@Z @ 11593 NONAME ; void QGraphicsOpacityEffect::draw(class QPainter *, class QGraphicsEffectSource *)
+ ?setBrushOrigin@QPainter@@QAEXABVQPointF@@@Z @ 11594 NONAME ; void QPainter::setBrushOrigin(class QPointF const &)
+ ?detach@QPainterPath@@AAEXXZ @ 11595 NONAME ; void QPainterPath::detach(void)
+ ?type@QTableWidgetItem@@QBEHXZ @ 11596 NONAME ; int QTableWidgetItem::type(void) const
+ ?getStaticMetaObject@QFontDatabase@@SAABUQMetaObject@@XZ @ 11597 NONAME ; struct QMetaObject const & QFontDatabase::getStaticMetaObject(void)
+ ?translate@QTransform@@QAEAAV1@MM@Z @ 11598 NONAME ; class QTransform & QTransform::translate(float, float)
+ ?sliderPositionFromValue@QStyle@@SAHHHHH_N@Z @ 11599 NONAME ; int QStyle::sliderPositionFromValue(int, int, int, int, bool)
+ ?text@QAbstractSpinBox@@QBE?AVQString@@XZ @ 11600 NONAME ; class QString QAbstractSpinBox::text(void) const
+ ?setAttribute@QGraphicsWidget@@QAEXW4WidgetAttribute@Qt@@_N@Z @ 11601 NONAME ; void QGraphicsWidget::setAttribute(enum Qt::WidgetAttribute, bool)
+ ?setRootIndex@QTreeView@@UAEXABVQModelIndex@@@Z @ 11602 NONAME ; void QTreeView::setRootIndex(class QModelIndex const &)
+ ?depth@QPaintDevice@@QBEHXZ @ 11603 NONAME ; int QPaintDevice::depth(void) const
+ ?arcMoveTo@QPainterPath@@QAEXABVQRectF@@M@Z @ 11604 NONAME ; void QPainterPath::arcMoveTo(class QRectF const &, float)
+ ?isValid@QTextFragment@@QBE_NXZ @ 11605 NONAME ; bool QTextFragment::isValid(void) const
+ ?isShaded@QMdiSubWindow@@QBE_NXZ @ 11606 NONAME ; bool QMdiSubWindow::isShaded(void) const
+ ?objectFormat@QTextFormatCollection@@QBE?AVQTextFormat@@H@Z @ 11607 NONAME ; class QTextFormat QTextFormatCollection::objectFormat(int) const
+ ?selectedFilter@QFileDialog@@QBE?AVQString@@XZ @ 11608 NONAME ; class QString QFileDialog::selectedFilter(void) const
+ ?trUtf8@QShortcut@@SA?AVQString@@PBD0H@Z @ 11609 NONAME ; class QString QShortcut::trUtf8(char const *, char const *, int)
+ ?setIconSize@QTabWidget@@QAEXABVQSize@@@Z @ 11610 NONAME ; void QTabWidget::setIconSize(class QSize const &)
+ ?tr@QPaintBufferResource@@SA?AVQString@@PBD0H@Z @ 11611 NONAME ; class QString QPaintBufferResource::tr(char const *, char const *, int)
+ ?mapRectFromParent@QGraphicsItem@@QBE?AVQRectF@@ABV2@@Z @ 11612 NONAME ; class QRectF QGraphicsItem::mapRectFromParent(class QRectF const &) const
+ ??0QS60MainAppUi@@QAE@XZ @ 11613 NONAME ; QS60MainAppUi::QS60MainAppUi(void)
+ ??1QGraphicsSimpleTextItem@@UAE@XZ @ 11614 NONAME ; QGraphicsSimpleTextItem::~QGraphicsSimpleTextItem(void)
+ ?activated@QAbstractItemView@@IAEXABVQModelIndex@@@Z @ 11615 NONAME ; void QAbstractItemView::activated(class QModelIndex const &)
+ ?drawPoints@QPainter@@QAEXPBVQPointF@@H@Z @ 11616 NONAME ; void QPainter::drawPoints(class QPointF const *, int)
+ ?font@QAction@@QBE?AVQFont@@XZ @ 11617 NONAME ; class QFont QAction::font(void) const
+ ?screenPos@TouchPoint@QTouchEvent@@QBE?AVQPointF@@XZ @ 11618 NONAME ; class QPointF QTouchEvent::TouchPoint::screenPos(void) const
+ ?setCoordinateMode@QGradient@@QAEXW4CoordinateMode@1@@Z @ 11619 NONAME ; void QGradient::setCoordinateMode(enum QGradient::CoordinateMode)
+ ?setAutoRepeatDelay@QAbstractButton@@QAEXH@Z @ 11620 NONAME ; void QAbstractButton::setAutoRepeatDelay(int)
+ ?toSymbianCFbsBitmap@QPixmap@@QBEPAVCFbsBitmap@@XZ @ 11621 NONAME ; class CFbsBitmap * QPixmap::toSymbianCFbsBitmap(void) const
+ ?iconSize@QAbstractButton@@QBE?AVQSize@@XZ @ 11622 NONAME ; class QSize QAbstractButton::iconSize(void) const
+ ?setIndentation@QTreeView@@QAEXH@Z @ 11623 NONAME ; void QTreeView::setIndentation(int)
+ ?setExtension@QGraphicsItem@@MAEXW4Extension@1@ABVQVariant@@@Z @ 11624 NONAME ; void QGraphicsItem::setExtension(enum QGraphicsItem::Extension, class QVariant const &)
+ ??9QKeySequence@@QBE_NABV0@@Z @ 11625 NONAME ; bool QKeySequence::operator!=(class QKeySequence const &) const
+ ?type@QTreeWidgetItem@@QBEHXZ @ 11626 NONAME ; int QTreeWidgetItem::type(void) const
+ ?setMatrix@QGraphicsItem@@QAEXABVQMatrix@@_N@Z @ 11627 NONAME ; void QGraphicsItem::setMatrix(class QMatrix const &, bool)
+ ?autoCompletion@QComboBox@@QBE_NXZ @ 11628 NONAME ; bool QComboBox::autoCompletion(void) const
+ ?tabKeyNavigation@QAbstractItemView@@QBE_NXZ @ 11629 NONAME ; bool QAbstractItemView::tabKeyNavigation(void) const
+ ?metaObject@QGraphicsBlurEffect@@UBEPBUQMetaObject@@XZ @ 11630 NONAME ; struct QMetaObject const * QGraphicsBlurEffect::metaObject(void) const
+ ?sliderChange@QScrollBar@@MAEXW4SliderChange@QAbstractSlider@@@Z @ 11631 NONAME ; void QScrollBar::sliderChange(enum QAbstractSlider::SliderChange)
+ ?count@QGridLayout@@UBEHXZ @ 11632 NONAME ; int QGridLayout::count(void) const
+ ?highlighted@QComboBox@@IAEXH@Z @ 11633 NONAME ; void QComboBox::highlighted(int)
+ ?qt_metacall@QFormLayout@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 11634 NONAME ; int QFormLayout::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?trueMatrix@QImage@@SA?AVQMatrix@@ABV2@HH@Z @ 11635 NONAME ; class QMatrix QImage::trueMatrix(class QMatrix const &, int, int)
+ ??0QBrush@@QAE@ABV0@@Z @ 11636 NONAME ; QBrush::QBrush(class QBrush const &)
+ ?showEvent@QSizeGrip@@MAEXPAVQShowEvent@@@Z @ 11637 NONAME ; void QSizeGrip::showEvent(class QShowEvent *)
+ ?tr@QPinchGesture@@SA?AVQString@@PBD0H@Z @ 11638 NONAME ; class QString QPinchGesture::tr(char const *, char const *, int)
+ ?setTickInterval@QSlider@@QAEXH@Z @ 11639 NONAME ; void QSlider::setTickInterval(int)
+ ??0QIcon@@QAE@ABVQString@@@Z @ 11640 NONAME ; QIcon::QIcon(class QString const &)
+ ??0QStyleOptionQ3ListView@@QAE@XZ @ 11641 NONAME ; QStyleOptionQ3ListView::QStyleOptionQ3ListView(void)
+ ??0QProgressBar@@QAE@PAVQWidget@@@Z @ 11642 NONAME ; QProgressBar::QProgressBar(class QWidget *)
+ ?leftColumn@QTableWidgetSelectionRange@@QBEHXZ @ 11643 NONAME ; int QTableWidgetSelectionRange::leftColumn(void) const
+ ?opaqueResize@QSplitterHandle@@QBE_NXZ @ 11644 NONAME ; bool QSplitterHandle::opaqueResize(void) const
+ ?rejected@QDialog@@IAEXXZ @ 11645 NONAME ; void QDialog::rejected(void)
+ ?emSquareSize@QFontEngine@@UBE?AUQFixed@@XZ @ 11646 NONAME ; struct QFixed QFontEngine::emSquareSize(void) const
+ ??0QColorDialog@@QAE@ABVQColor@@PAVQWidget@@@Z @ 11647 NONAME ; QColorDialog::QColorDialog(class QColor const &, class QWidget *)
+ ?ensureVisible@QGraphicsItem@@QAEXMMMMHH@Z @ 11648 NONAME ; void QGraphicsItem::ensureVisible(float, float, float, float, int, int)
+ ?frameSize@QWidget@@QBE?AVQSize@@XZ @ 11649 NONAME ; class QSize QWidget::frameSize(void) const
+ ?map@QMatrix4x4@@QBE?AVQPoint@@ABV2@@Z @ 11650 NONAME ; class QPoint QMatrix4x4::map(class QPoint const &) const
+ ?setCurrentWidget@QStackedWidget@@QAEXPAVQWidget@@@Z @ 11651 NONAME ; void QStackedWidget::setCurrentWidget(class QWidget *)
+ ?setDoubleMinimum@QInputDialog@@QAEXN@Z @ 11652 NONAME ; void QInputDialog::setDoubleMinimum(double)
+ ?button@QMessageBox@@QBEPAVQAbstractButton@@W4StandardButton@1@@Z @ 11653 NONAME ; class QAbstractButton * QMessageBox::button(enum QMessageBox::StandardButton) const
+ ??0QShortcut@@QAE@ABVQKeySequence@@PAVQWidget@@PBD2W4ShortcutContext@Qt@@@Z @ 11654 NONAME ; QShortcut::QShortcut(class QKeySequence const &, class QWidget *, char const *, char const *, enum Qt::ShortcutContext)
+ ?isVisibleTo@QWidget@@QBE_NPAV1@@Z @ 11655 NONAME ; bool QWidget::isVisibleTo(class QWidget *) const
+ ?qt_metacall@QAbstractSlider@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 11656 NONAME ; int QAbstractSlider::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?ownsMode@QClipboard@@ABE_NW4Mode@1@@Z @ 11657 NONAME ; bool QClipboard::ownsMode(enum QClipboard::Mode) const
+ ?isReadOnly@QAbstractSpinBox@@QBE_NXZ @ 11658 NONAME ; bool QAbstractSpinBox::isReadOnly(void) const
+ ??0QStyleOptionDockWidget@@QAE@XZ @ 11659 NONAME ; QStyleOptionDockWidget::QStyleOptionDockWidget(void)
+ ?dropEvent@QListView@@MAEXPAVQDropEvent@@@Z @ 11660 NONAME ; void QListView::dropEvent(class QDropEvent *)
+ ?cleanupPage@QWizard@@MAEXH@Z @ 11661 NONAME ; void QWizard::cleanupPage(int)
+ ?dropEvent@QAbstractItemView@@MAEXPAVQDropEvent@@@Z @ 11662 NONAME ; void QAbstractItemView::dropEvent(class QDropEvent *)
+ ?ortho@QMatrix4x4@@QAEAAV1@ABVQRect@@@Z @ 11663 NONAME ; class QMatrix4x4 & QMatrix4x4::ortho(class QRect const &)
+ ?setForeground@QStandardItem@@QAEXABVQBrush@@@Z @ 11664 NONAME ; void QStandardItem::setForeground(class QBrush const &)
+ ?isDockNestingEnabled@QMainWindow@@QBE_NXZ @ 11665 NONAME ; bool QMainWindow::isDockNestingEnabled(void) const
+ ??_EQTessellator@@UAE@I@Z @ 11666 NONAME ; QTessellator::~QTessellator(unsigned int)
+ ??_EQPixmapFilter@@UAE@I@Z @ 11667 NONAME ; QPixmapFilter::~QPixmapFilter(unsigned int)
+ ?tr@QToolButton@@SA?AVQString@@PBD0H@Z @ 11668 NONAME ; class QString QToolButton::tr(char const *, char const *, int)
+ ?inputMethodQuery@QGraphicsView@@UBE?AVQVariant@@W4InputMethodQuery@Qt@@@Z @ 11669 NONAME ; class QVariant QGraphicsView::inputMethodQuery(enum Qt::InputMethodQuery) const
+ ?opacityChanged@QGraphicsOpacityEffect@@IAEXM@Z @ 11670 NONAME ; void QGraphicsOpacityEffect::opacityChanged(float)
+ ?setProperty@QTextFormat@@QAEXHABVQVariant@@@Z @ 11671 NONAME ; void QTextFormat::setProperty(int, class QVariant const &)
+ ?testOption@QWizard@@QBE_NW4WizardOption@1@@Z @ 11672 NONAME ; bool QWizard::testOption(enum QWizard::WizardOption) const
+ ?isUnderMouse@QGraphicsItem@@QBE_NXZ @ 11673 NONAME ; bool QGraphicsItem::isUnderMouse(void) const
+ ?setEditFocus@QWidget@@QAEX_N@Z @ 11674 NONAME ; void QWidget::setEditFocus(bool)
+ ?bottomRight@QItemSelectionRange@@QBE?AVQModelIndex@@XZ @ 11675 NONAME ; class QModelIndex QItemSelectionRange::bottomRight(void) const
+ ??EQTreeWidgetItemIterator@@QAE?BV0@H@Z @ 11676 NONAME ; class QTreeWidgetItemIterator const QTreeWidgetItemIterator::operator++(int)
+ ?d_func@QPixmapFilter@@AAEPAVQPixmapFilterPrivate@@XZ @ 11677 NONAME ; class QPixmapFilterPrivate * QPixmapFilter::d_func(void)
+ ?allFormats@QTextDocument@@QBE?AV?$QVector@VQTextFormat@@@@XZ @ 11678 NONAME ; class QVector<class QTextFormat> QTextDocument::allFormats(void) const
+ ?setMiterLimit@QDashStroker@@QAEXM@Z @ 11679 NONAME ; void QDashStroker::setMiterLimit(float)
+ ?d_func@QSplitter@@AAEPAVQSplitterPrivate@@XZ @ 11680 NONAME ; class QSplitterPrivate * QSplitter::d_func(void)
+ ?autoFillBackground@QWidget@@QBE_NXZ @ 11681 NONAME ; bool QWidget::autoFillBackground(void) const
+ ?toVector2D@QVector4D@@QBE?AVQVector2D@@XZ @ 11682 NONAME ; class QVector2D QVector4D::toVector2D(void) const
+ ?setPlainText@QTextDocument@@QAEXABVQString@@@Z @ 11683 NONAME ; void QTextDocument::setPlainText(class QString const &)
+ ?getStaticMetaObject@QSessionManager@@SAABUQMetaObject@@XZ @ 11684 NONAME ; struct QMetaObject const & QSessionManager::getStaticMetaObject(void)
+ ?hasExtendedInfo@QMouseEvent@@QBE_NXZ @ 11685 NONAME ; bool QMouseEvent::hasExtendedInfo(void) const
+ ?setGreen@QColor@@QAEXH@Z @ 11686 NONAME ; void QColor::setGreen(int)
+ ?scenePos@QGraphicsSceneWheelEvent@@QBE?AVQPointF@@XZ @ 11687 NONAME ; class QPointF QGraphicsSceneWheelEvent::scenePos(void) const
+ ?animateClick@QAbstractButton@@QAEXH@Z @ 11688 NONAME ; void QAbstractButton::animateClick(int)
+ ?insertColumns@QStandardItemModel@@UAE_NHHABVQModelIndex@@@Z @ 11689 NONAME ; bool QStandardItemModel::insertColumns(int, int, class QModelIndex const &)
+ ?intStep@QInputDialog@@QBEHXZ @ 11690 NONAME ; int QInputDialog::intStep(void) const
+ ?load@QImage@@QAE_NPAVQIODevice@@PBD@Z @ 11691 NONAME ; bool QImage::load(class QIODevice *, char const *)
+ ?addChildLayout@QLayout@@IAEXPAV1@@Z @ 11692 NONAME ; void QLayout::addChildLayout(class QLayout *)
+ ?numColors@QPaintDevice@@QBEHXZ @ 11693 NONAME ; int QPaintDevice::numColors(void) const
+ ?setTextColor@QListWidgetItem@@QAEXABVQColor@@@Z @ 11694 NONAME ; void QListWidgetItem::setTextColor(class QColor const &)
+ ?replacementLength@QInputMethodEvent@@QBEHXZ @ 11695 NONAME ; int QInputMethodEvent::replacementLength(void) const
+ ?setDecimals@QDoubleSpinBox@@QAEXH@Z @ 11696 NONAME ; void QDoubleSpinBox::setDecimals(int)
+ ?actionGroup@QAction@@QBEPAVQActionGroup@@XZ @ 11697 NONAME ; class QActionGroup * QAction::actionGroup(void) const
+ ?editorEvent@QStyledItemDelegate@@MAE_NPAVQEvent@@PAVQAbstractItemModel@@ABVQStyleOptionViewItem@@ABVQModelIndex@@@Z @ 11698 NONAME ; bool QStyledItemDelegate::editorEvent(class QEvent *, class QAbstractItemModel *, class QStyleOptionViewItem const &, class QModelIndex const &)
+ ?d_func@QScrollArea@@AAEPAVQScrollAreaPrivate@@XZ @ 11699 NONAME ; class QScrollAreaPrivate * QScrollArea::d_func(void)
+ ?minimumSize@QFormLayout@@UBE?AVQSize@@XZ @ 11700 NONAME ; class QSize QFormLayout::minimumSize(void) const
+ ?setAlphaChannel@QPixmapData@@UAEXABVQPixmap@@@Z @ 11701 NONAME ; void QPixmapData::setAlphaChannel(class QPixmap const &)
+ ??0QDirModel@@IAE@AAVQDirModelPrivate@@PAVQObject@@@Z @ 11702 NONAME ; QDirModel::QDirModel(class QDirModelPrivate &, class QObject *)
+ ?palette@QApplication@@SA?AVQPalette@@PBVQWidget@@@Z @ 11703 NONAME ; class QPalette QApplication::palette(class QWidget const *)
+ ?setAlignment@QLayout@@QAE_NPAV1@V?$QFlags@W4AlignmentFlag@Qt@@@@@Z @ 11704 NONAME ; bool QLayout::setAlignment(class QLayout *, class QFlags<enum Qt::AlignmentFlag>)
+ ?qt_metacast@QUndoGroup@@UAEPAXPBD@Z @ 11705 NONAME ; void * QUndoGroup::qt_metacast(char const *)
+ ?addEllipse@QPainterPath@@QAEXABVQPointF@@MM@Z @ 11706 NONAME ; void QPainterPath::addEllipse(class QPointF const &, float, float)
+ ?metaObject@QAction@@UBEPBUQMetaObject@@XZ @ 11707 NONAME ; struct QMetaObject const * QAction::metaObject(void) const
+ ?tabStopWidth@QTextEdit@@QBEHXZ @ 11708 NONAME ; int QTextEdit::tabStopWidth(void) const
+ ?opacityMaskChanged@QGraphicsOpacityEffect@@IAEXABVQBrush@@@Z @ 11709 NONAME ; void QGraphicsOpacityEffect::opacityMaskChanged(class QBrush const &)
+ ?qt_metacast@QMouseEventTransition@@UAEPAXPBD@Z @ 11710 NONAME ; void * QMouseEventTransition::qt_metacast(char const *)
+ ?setAcceptTouchEvents@QGraphicsItem@@QAEX_N@Z @ 11711 NONAME ; void QGraphicsItem::setAcceptTouchEvents(bool)
+ ??BQBitmap@@QBE?AVQVariant@@XZ @ 11712 NONAME ; QBitmap::operator class QVariant(void) const
+ ?setItemSelected@QListWidget@@QAEXPBVQListWidgetItem@@_N@Z @ 11713 NONAME ; void QListWidget::setItemSelected(class QListWidgetItem const *, bool)
+ ?indexForFormat@QTextFormatCollection@@QAEHABVQTextFormat@@@Z @ 11714 NONAME ; int QTextFormatCollection::indexForFormat(class QTextFormat const &)
+ ?setStartCenterPoint@QPinchGesture@@QAEXABVQPointF@@@Z @ 11715 NONAME ; void QPinchGesture::setStartCenterPoint(class QPointF const &)
+ ?toolButtonStyle@QMainWindow@@QBE?AW4ToolButtonStyle@Qt@@XZ @ 11716 NONAME ; enum Qt::ToolButtonStyle QMainWindow::toolButtonStyle(void) const
+ ??0QRegExpValidator@@QAE@PAVQObject@@@Z @ 11717 NONAME ; QRegExpValidator::QRegExpValidator(class QObject *)
+ ?restoreState@QFileDialog@@QAE_NABVQByteArray@@@Z @ 11718 NONAME ; bool QFileDialog::restoreState(class QByteArray const &)
+ ?resizeMode@QListView@@QBE?AW4ResizeMode@1@XZ @ 11719 NONAME ; enum QListView::ResizeMode QListView::resizeMode(void) const
+ ?dropEvent@QWidget@@MAEXPAVQDropEvent@@@Z @ 11720 NONAME ; void QWidget::dropEvent(class QDropEvent *)
+ ?verticalScrollBarPolicy@QAbstractScrollArea@@QBE?AW4ScrollBarPolicy@Qt@@XZ @ 11721 NONAME ; enum Qt::ScrollBarPolicy QAbstractScrollArea::verticalScrollBarPolicy(void) const
+ ?isTearOffMenuVisible@QMenu@@QBE_NXZ @ 11722 NONAME ; bool QMenu::isTearOffMenuVisible(void) const
+ ?coordinateOffset@QPaintEngine@@UBE?AVQPoint@@XZ @ 11723 NONAME ; class QPoint QPaintEngine::coordinateOffset(void) const
+ ?setTextColor@QTableWidgetItem@@QAEXABVQColor@@@Z @ 11724 NONAME ; void QTableWidgetItem::setTextColor(class QColor const &)
+ ?column@QTextTableCell@@QBEHXZ @ 11725 NONAME ; int QTextTableCell::column(void) const
+ ??0QLCDNumber@@QAE@PAVQWidget@@@Z @ 11726 NONAME ; QLCDNumber::QLCDNumber(class QWidget *)
+ ?expandingDirections@QFormLayout@@UBE?AV?$QFlags@W4Orientation@Qt@@@@XZ @ 11727 NONAME ; class QFlags<enum Qt::Orientation> QFormLayout::expandingDirections(void) const
+ ?setTabShape@QMainWindow@@QAEXW4TabShape@QTabWidget@@@Z @ 11728 NONAME ; void QMainWindow::setTabShape(enum QTabWidget::TabShape)
+ ?extension@QGraphicsPixmapItem@@MBE?AVQVariant@@ABV2@@Z @ 11729 NONAME ; class QVariant QGraphicsPixmapItem::extension(class QVariant const &) const
+ ??0QColormap@@AAE@XZ @ 11730 NONAME ; QColormap::QColormap(void)
+ ?backgroundColor@QMovie@@QBE?AVQColor@@XZ @ 11731 NONAME ; class QColor QMovie::backgroundColor(void) const
+ ?setCacheMode@QGraphicsView@@QAEXV?$QFlags@W4CacheModeFlag@QGraphicsView@@@@@Z @ 11732 NONAME ; void QGraphicsView::setCacheMode(class QFlags<enum QGraphicsView::CacheModeFlag>)
+ ?text@QTextBlock@@QBE?AVQString@@XZ @ 11733 NONAME ; class QString QTextBlock::text(void) const
+ ?addFile@QIconEngine@@UAEXABVQString@@ABVQSize@@W4Mode@QIcon@@W4State@5@@Z @ 11734 NONAME ; void QIconEngine::addFile(class QString const &, class QSize const &, enum QIcon::Mode, enum QIcon::State)
+ ?tr@QTabBar@@SA?AVQString@@PBD0@Z @ 11735 NONAME ; class QString QTabBar::tr(char const *, char const *)
+ ?setBottomPadding@QTextTableCellFormat@@QAEXM@Z @ 11736 NONAME ; void QTextTableCellFormat::setBottomPadding(float)
+ ??1QTabletEvent@@UAE@XZ @ 11737 NONAME ; QTabletEvent::~QTabletEvent(void)
+ ?setData@QStringListModel@@UAE_NABVQModelIndex@@ABVQVariant@@H@Z @ 11738 NONAME ; bool QStringListModel::setData(class QModelIndex const &, class QVariant const &, int)
+ ?setWindowIconText_helper@QWidgetPrivate@@QAEXABVQString@@@Z @ 11739 NONAME ; void QWidgetPrivate::setWindowIconText_helper(class QString const &)
+ ?tr@QStatusBar@@SA?AVQString@@PBD0H@Z @ 11740 NONAME ; class QString QStatusBar::tr(char const *, char const *, int)
+ ?createRedoAction@QUndoStack@@QBEPAVQAction@@PAVQObject@@ABVQString@@@Z @ 11741 NONAME ; class QAction * QUndoStack::createRedoAction(class QObject *, class QString const &) const
+ ?getTextMargins@QLineEdit@@QBEXPAH000@Z @ 11742 NONAME ; void QLineEdit::getTextMargins(int *, int *, int *, int *) const
+ ?index@QDirModel@@UBE?AVQModelIndex@@HHABV2@@Z @ 11743 NONAME ; class QModelIndex QDirModel::index(int, int, class QModelIndex const &) const
+ ??9QSizePolicy@@QBE_NABV0@@Z @ 11744 NONAME ; bool QSizePolicy::operator!=(class QSizePolicy const &) const
+ ?selectAll@QTreeView@@UAEXXZ @ 11745 NONAME ; void QTreeView::selectAll(void)
+ ?preeditString@QInputMethodEvent@@QBEABVQString@@XZ @ 11746 NONAME ; class QString const & QInputMethodEvent::preeditString(void) const
+ ?trUtf8@QCommandLinkButton@@SA?AVQString@@PBD0H@Z @ 11747 NONAME ; class QString QCommandLinkButton::trUtf8(char const *, char const *, int)
+ ?addWidget@QStatusBar@@QAEXPAVQWidget@@H@Z @ 11748 NONAME ; void QStatusBar::addWidget(class QWidget *, int)
+ ?metaObject@QListView@@UBEPBUQMetaObject@@XZ @ 11749 NONAME ; struct QMetaObject const * QListView::metaObject(void) const
+ ?contextMenuEvent@QComboBox@@MAEXPAVQContextMenuEvent@@@Z @ 11750 NONAME ; void QComboBox::contextMenuEvent(class QContextMenuEvent *)
+ ?hover@QAction@@QAEXXZ @ 11751 NONAME ; void QAction::hover(void)
+ ?setAcceleration@QPanGesture@@QAEXM@Z @ 11752 NONAME ; void QPanGesture::setAcceleration(float)
+ ?decoration@QItemDelegate@@IBE?AVQPixmap@@ABVQStyleOptionViewItem@@ABVQVariant@@@Z @ 11753 NONAME ; class QPixmap QItemDelegate::decoration(class QStyleOptionViewItem const &, class QVariant const &) const
+ ?resizeEvent@QSplitter@@MAEXPAVQResizeEvent@@@Z @ 11754 NONAME ; void QSplitter::resizeEvent(class QResizeEvent *)
+ ?tr@QGraphicsTransform@@SA?AVQString@@PBD0@Z @ 11755 NONAME ; class QString QGraphicsTransform::tr(char const *, char const *)
+ ?addTopLevelItems@QTreeWidget@@QAEXABV?$QList@PAVQTreeWidgetItem@@@@@Z @ 11756 NONAME ; void QTreeWidget::addTopLevelItems(class QList<class QTreeWidgetItem *> const &)
+ ?mimeData@QSortFilterProxyModel@@UBEPAVQMimeData@@ABV?$QList@VQModelIndex@@@@@Z @ 11757 NONAME ; class QMimeData * QSortFilterProxyModel::mimeData(class QList<class QModelIndex> const &) const
+ ?map@QMatrix@@QBE?AVQLineF@@ABV2@@Z @ 11758 NONAME ; class QLineF QMatrix::map(class QLineF const &) const
+ ?qt_metacast@QRubberBand@@UAEPAXPBD@Z @ 11759 NONAME ; void * QRubberBand::qt_metacast(char const *)
+ ??1QFileIconProvider@@UAE@XZ @ 11760 NONAME ; QFileIconProvider::~QFileIconProvider(void)
+ ?standardIconImplementation@QCommonStyle@@IBE?AVQIcon@@W4StandardPixmap@QStyle@@PBVQStyleOption@@PBVQWidget@@@Z @ 11761 NONAME ; class QIcon QCommonStyle::standardIconImplementation(enum QStyle::StandardPixmap, class QStyleOption const *, class QWidget const *) const
+ ?appendRow@QStandardItem@@QAEXABV?$QList@PAVQStandardItem@@@@@Z @ 11762 NONAME ; void QStandardItem::appendRow(class QList<class QStandardItem *> const &)
+ ?createStandardContextMenu@QPlainTextEdit@@QAEPAVQMenu@@XZ @ 11763 NONAME ; class QMenu * QPlainTextEdit::createStandardContextMenu(void)
+ ?resizeEvent@QStatusBar@@MAEXPAVQResizeEvent@@@Z @ 11764 NONAME ; void QStatusBar::resizeEvent(class QResizeEvent *)
+ ?type@QGraphicsPathItem@@UBEHXZ @ 11765 NONAME ; int QGraphicsPathItem::type(void) const
+ ?trUtf8@QPixmapConvolutionFilter@@SA?AVQString@@PBD0@Z @ 11766 NONAME ; class QString QPixmapConvolutionFilter::trUtf8(char const *, char const *)
+ ?qt_metacall@QGraphicsEffect@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 11767 NONAME ; int QGraphicsEffect::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?setFileName@QTextDocumentWriter@@QAEXABVQString@@@Z @ 11768 NONAME ; void QTextDocumentWriter::setFileName(class QString const &)
+ ?setToolTip@QTreeWidgetItem@@QAEXHABVQString@@@Z @ 11769 NONAME ; void QTreeWidgetItem::setToolTip(int, class QString const &)
+ ??0QGraphicsScene@@QAE@MMMMPAVQObject@@@Z @ 11770 NONAME ; QGraphicsScene::QGraphicsScene(float, float, float, float, class QObject *)
+ ?pointSizeF@QFontInfo@@QBEMXZ @ 11771 NONAME ; float QFontInfo::pointSizeF(void) const
+ ?resetFieldGrowthPolicy@QFormLayout@@AAEXXZ @ 11772 NONAME ; void QFormLayout::resetFieldGrowthPolicy(void)
+ ?fromHslF@QColor@@SA?AV1@MMMM@Z @ 11773 NONAME ; class QColor QColor::fromHslF(float, float, float, float)
+ ?lineWidth@QFontMetricsF@@QBEMXZ @ 11774 NONAME ; float QFontMetricsF::lineWidth(void) const
+ ??0QTreeWidgetItemIterator@@QAE@ABV0@@Z @ 11775 NONAME ; QTreeWidgetItemIterator::QTreeWidgetItemIterator(class QTreeWidgetItemIterator const &)
+ ?scale@QGraphicsView@@QAEXMM@Z @ 11776 NONAME ; void QGraphicsView::scale(float, float)
+ ?tabChangesFocus@QTextEdit@@QBE_NXZ @ 11777 NONAME ; bool QTextEdit::tabChangesFocus(void) const
+ ?setScreenPos@QGraphicsSceneHoverEvent@@QAEXABVQPoint@@@Z @ 11778 NONAME ; void QGraphicsSceneHoverEvent::setScreenPos(class QPoint const &)
+ ??0QStyleOptionTab@@QAE@ABV0@@Z @ 11779 NONAME ; QStyleOptionTab::QStyleOptionTab(class QStyleOptionTab const &)
+ ?isNull@QPixmapData@@QBE_NXZ @ 11780 NONAME ; bool QPixmapData::isNull(void) const
+ ?screenPos@QGraphicsSceneContextMenuEvent@@QBE?AVQPoint@@XZ @ 11781 NONAME ; class QPoint QGraphicsSceneContextMenuEvent::screenPos(void) const
+ ?inputMethodQuery@QGraphicsTextItem@@MBE?AVQVariant@@W4InputMethodQuery@Qt@@@Z @ 11782 NONAME ; class QVariant QGraphicsTextItem::inputMethodQuery(enum Qt::InputMethodQuery) const
+ ?inputFormats@QPicture@@SA?AV?$QList@VQByteArray@@@@XZ @ 11783 NONAME ; class QList<class QByteArray> QPicture::inputFormats(void)
+ ?inverted@QTransform@@QBE?AV1@PA_N@Z @ 11784 NONAME ; class QTransform QTransform::inverted(bool *) const
+ ?addWindow@QWorkspace@@QAEPAVQWidget@@PAV2@V?$QFlags@W4WindowType@Qt@@@@@Z @ 11785 NONAME ; class QWidget * QWorkspace::addWindow(class QWidget *, class QFlags<enum Qt::WindowType>)
+ ?focusOutEvent@QPlainTextEdit@@MAEXPAVQFocusEvent@@@Z @ 11786 NONAME ; void QPlainTextEdit::focusOutEvent(class QFocusEvent *)
+ ??_EQItemEditorCreatorBase@@UAE@I@Z @ 11787 NONAME ; QItemEditorCreatorBase::~QItemEditorCreatorBase(unsigned int)
+ ?capStyleMode@QStroker@@QBE?AW4LineJoinMode@1@XZ @ 11788 NONAME ; enum QStroker::LineJoinMode QStroker::capStyleMode(void) const
+ ?filterEvent@QCoeFepInputContext@@UAE_NPBVQEvent@@@Z @ 11789 NONAME ABSENT ; bool QCoeFepInputContext::filterEvent(class QEvent const *)
+ ??HQRegion@@QBE?BV0@ABV0@@Z @ 11790 NONAME ; class QRegion const QRegion::operator+(class QRegion const &) const
+ ?revert@QAbstractProxyModel@@UAEXXZ @ 11791 NONAME ; void QAbstractProxyModel::revert(void)
+ ??0QPainterState@@QAE@PBV0@@Z @ 11792 NONAME ; QPainterState::QPainterState(class QPainterState const *)
+ ?setGlyphCache@QFontEngine@@QAEXW4Type@QFontEngineGlyphCache@@PAV3@@Z @ 11793 NONAME ; void QFontEngine::setGlyphCache(enum QFontEngineGlyphCache::Type, class QFontEngineGlyphCache *)
+ ?insertChild@QTreeWidgetItem@@QAEXHPAV1@@Z @ 11794 NONAME ; void QTreeWidgetItem::insertChild(int, class QTreeWidgetItem *)
+ ?lineTo@QPainterPath@@QAEXMM@Z @ 11795 NONAME ; void QPainterPath::lineTo(float, float)
+ ??0QFontDialog@@QAE@PAVQWidget@@@Z @ 11796 NONAME ; QFontDialog::QFontDialog(class QWidget *)
+ ?tr@QActionGroup@@SA?AVQString@@PBD0H@Z @ 11797 NONAME ; class QString QActionGroup::tr(char const *, char const *, int)
+ ?event@QShortcut@@MAE_NPAVQEvent@@@Z @ 11798 NONAME ; bool QShortcut::event(class QEvent *)
+ ?insertColumn@QStandardItemModel@@QAE_NHABVQModelIndex@@@Z @ 11799 NONAME ; bool QStandardItemModel::insertColumn(int, class QModelIndex const &)
+ ?clearMessage@QStatusBar@@QAEXXZ @ 11800 NONAME ; void QStatusBar::clearMessage(void)
+ ?tr@QGraphicsBlurEffect@@SA?AVQString@@PBD0@Z @ 11801 NONAME ; class QString QGraphicsBlurEffect::tr(char const *, char const *)
+ ?tabShape@QTabWidget@@QBE?AW4TabShape@1@XZ @ 11802 NONAME ; enum QTabWidget::TabShape QTabWidget::tabShape(void) const
+ ?setFamily@QFont@@QAEXABVQString@@@Z @ 11803 NONAME ; void QFont::setFamily(class QString const &)
+ ??0QImage@@QAE@ABVQString@@PBD@Z @ 11804 NONAME ; QImage::QImage(class QString const &, char const *)
+ ??4QPalette@@QAEAAV0@ABV0@@Z @ 11805 NONAME ; class QPalette & QPalette::operator=(class QPalette const &)
+ ??0QSizePolicy@@QAE@W4Policy@0@0W4ControlType@0@@Z @ 11806 NONAME ; QSizePolicy::QSizePolicy(enum QSizePolicy::Policy, enum QSizePolicy::Policy, enum QSizePolicy::ControlType)
+ ??0QPlainTextDocumentLayout@@QAE@PAVQTextDocument@@@Z @ 11807 NONAME ; QPlainTextDocumentLayout::QPlainTextDocumentLayout(class QTextDocument *)
+ ?metaObject@QMenuBar@@UBEPBUQMetaObject@@XZ @ 11808 NONAME ; struct QMetaObject const * QMenuBar::metaObject(void) const
+ ?d_func@QItemDelegate@@AAEPAVQItemDelegatePrivate@@XZ @ 11809 NONAME ; class QItemDelegatePrivate * QItemDelegate::d_func(void)
+ ?fillRect@QPainter@@QAEXABVQRectF@@W4BrushStyle@Qt@@@Z @ 11810 NONAME ; void QPainter::fillRect(class QRectF const &, enum Qt::BrushStyle)
+ ?itemAt@QBoxLayout@@UBEPAVQLayoutItem@@H@Z @ 11811 NONAME ; class QLayoutItem * QBoxLayout::itemAt(int) const
+ ?tr@QTreeWidget@@SA?AVQString@@PBD0H@Z @ 11812 NONAME ; class QString QTreeWidget::tr(char const *, char const *, int)
+ ?setMode@QLCDNumber@@QAEXW4Mode@1@@Z @ 11813 NONAME ; void QLCDNumber::setMode(enum QLCDNumber::Mode)
+ ?shape@QGraphicsPathItem@@UBE?AVQPainterPath@@XZ @ 11814 NONAME ; class QPainterPath QGraphicsPathItem::shape(void) const
+ ?drawPrimitive@QS60Style@@UBEXW4PrimitiveElement@QStyle@@PBVQStyleOption@@PAVQPainter@@PBVQWidget@@@Z @ 11815 NONAME ; void QS60Style::drawPrimitive(enum QStyle::PrimitiveElement, class QStyleOption const *, class QPainter *, class QWidget const *) const
+ ??0QPainterPathStroker@@QAE@XZ @ 11816 NONAME ; QPainterPathStroker::QPainterPathStroker(void)
+ ??1QStyledItemDelegate@@UAE@XZ @ 11817 NONAME ; QStyledItemDelegate::~QStyledItemDelegate(void)
+ ?setStatusTip@QStandardItem@@QAEXABVQString@@@Z @ 11818 NONAME ; void QStandardItem::setStatusTip(class QString const &)
+ ?findBlock@QTextDocument@@QBE?AVQTextBlock@@H@Z @ 11819 NONAME ; class QTextBlock QTextDocument::findBlock(int) const
+ ?resolve@QFont@@QBEIXZ @ 11820 NONAME ; unsigned int QFont::resolve(void) const
+ ?tr@QIntValidator@@SA?AVQString@@PBD0H@Z @ 11821 NONAME ; class QString QIntValidator::tr(char const *, char const *, int)
+ ?setY@QQuaternion@@QAEXM@Z @ 11822 NONAME ; void QQuaternion::setY(float)
+ ?setWidth@QTextFrameFormat@@QAEXABVQTextLength@@@Z @ 11823 NONAME ; void QTextFrameFormat::setWidth(class QTextLength const &)
+ ?supportedDropActions@QSortFilterProxyModel@@UBE?AV?$QFlags@W4DropAction@Qt@@@@XZ @ 11824 NONAME ; class QFlags<enum Qt::DropAction> QSortFilterProxyModel::supportedDropActions(void) const
+ ?getStaticMetaObject@QBoxLayout@@SAABUQMetaObject@@XZ @ 11825 NONAME ; struct QMetaObject const & QBoxLayout::getStaticMetaObject(void)
+ ??1QColorDialog@@UAE@XZ @ 11826 NONAME ; QColorDialog::~QColorDialog(void)
+ ?metaObject@QGraphicsRotation@@UBEPBUQMetaObject@@XZ @ 11827 NONAME ; struct QMetaObject const * QGraphicsRotation::metaObject(void) const
+ ?sizeHint@QBoxLayout@@UBE?AVQSize@@XZ @ 11828 NONAME ; class QSize QBoxLayout::sizeHint(void) const
+ ?setCompleter@QLineEdit@@QAEXPAVQCompleter@@@Z @ 11829 NONAME ; void QLineEdit::setCompleter(class QCompleter *)
+ ?trUtf8@QFileSystemModel@@SA?AVQString@@PBD0@Z @ 11830 NONAME ; class QString QFileSystemModel::trUtf8(char const *, char const *)
+ ?d_func@QStyle@@ABEPBVQStylePrivate@@XZ @ 11831 NONAME ; class QStylePrivate const * QStyle::d_func(void) const
+ ?event@QPlainTextEdit@@MAE_NPAVQEvent@@@Z @ 11832 NONAME ; bool QPlainTextEdit::event(class QEvent *)
+ ?headerRowCount@QTextTableFormat@@QBEHXZ @ 11833 NONAME ; int QTextTableFormat::headerRowCount(void) const
+ ?event@QAbstractScrollArea@@MAE_NPAVQEvent@@@Z @ 11834 NONAME ; bool QAbstractScrollArea::event(class QEvent *)
+ ?setScenePos@QGraphicsSceneHelpEvent@@QAEXABVQPointF@@@Z @ 11835 NONAME ; void QGraphicsSceneHelpEvent::setScenePos(class QPointF const &)
+ ?setRowStretch@QGridLayout@@QAEXHH@Z @ 11836 NONAME ; void QGridLayout::setRowStretch(int, int)
+ ?d_func@QStandardItem@@AAEPAVQStandardItemPrivate@@XZ @ 11837 NONAME ; class QStandardItemPrivate * QStandardItem::d_func(void)
+ ?reparentChildren@QWidgetPrivate@@QAEXXZ @ 11838 NONAME ; void QWidgetPrivate::reparentChildren(void)
+ ?startScenePos@TouchPoint@QTouchEvent@@QBE?AVQPointF@@XZ @ 11839 NONAME ; class QPointF QTouchEvent::TouchPoint::startScenePos(void) const
+ ?pixmap@QIcon@@QBE?AVQPixmap@@HW4Mode@1@W4State@1@@Z @ 11840 NONAME ; class QPixmap QIcon::pixmap(int, enum QIcon::Mode, enum QIcon::State) const
+ ?setOrigin@QGraphicsRotation@@QAEXABVQVector3D@@@Z @ 11841 NONAME ; void QGraphicsRotation::setOrigin(class QVector3D const &)
+ ?length@QTextEngine@@QBEHH@Z @ 11842 NONAME ; int QTextEngine::length(int) const
+ ??0QTextTableCell@@AAE@PBVQTextTable@@H@Z @ 11843 NONAME ; QTextTableCell::QTextTableCell(class QTextTable const *, int)
+ ?showEvent@QStatusBar@@MAEXPAVQShowEvent@@@Z @ 11844 NONAME ; void QStatusBar::showEvent(class QShowEvent *)
+ ??4Key@QPixmapCache@@QAEAAV01@ABV01@@Z @ 11845 NONAME ; class QPixmapCache::Key & QPixmapCache::Key::operator=(class QPixmapCache::Key const &)
+ ?sizeHint@QTabBar@@UBE?AVQSize@@XZ @ 11846 NONAME ; class QSize QTabBar::sizeHint(void) const
+ ?contextMenuEvent@QAbstractSpinBox@@MAEXPAVQContextMenuEvent@@@Z @ 11847 NONAME ; void QAbstractSpinBox::contextMenuEvent(class QContextMenuEvent *)
+ ?mask@QPixmapData@@UBE?AVQBitmap@@XZ @ 11848 NONAME ; class QBitmap QPixmapData::mask(void) const
+ ??0QDateEdit@@QAE@PAVQWidget@@@Z @ 11849 NONAME ; QDateEdit::QDateEdit(class QWidget *)
+ ?insertToolBarBreak@QMainWindow@@QAEXPAVQToolBar@@@Z @ 11850 NONAME ; void QMainWindow::insertToolBarBreak(class QToolBar *)
+ ?d_func@QTextDocument@@ABEPBVQTextDocumentPrivate@@XZ @ 11851 NONAME ; class QTextDocumentPrivate const * QTextDocument::d_func(void) const
+ ?setBlurHint@QPixmapBlurFilter@@QAEXW4RenderHint@Qt@@@Z @ 11852 NONAME ; void QPixmapBlurFilter::setBlurHint(enum Qt::RenderHint)
+ ?trUtf8@QGraphicsPixelizeEffect@@SA?AVQString@@PBD0@Z @ 11853 NONAME ABSENT ; class QString QGraphicsPixelizeEffect::trUtf8(char const *, char const *)
+ ?adjustSize@QGraphicsTextItem@@QAEXXZ @ 11854 NONAME ; void QGraphicsTextItem::adjustSize(void)
+ ??0QTextDocumentFragment@@QAE@PBVQTextDocument@@@Z @ 11855 NONAME ; QTextDocumentFragment::QTextDocumentFragment(class QTextDocument const *)
+ ?lastResortFamily@QFont@@QBE?AVQString@@XZ @ 11856 NONAME ; class QString QFont::lastResortFamily(void) const
+ ?setDragDropOverwriteMode@QAbstractItemView@@QAEX_N@Z @ 11857 NONAME ; void QAbstractItemView::setDragDropOverwriteMode(bool)
+ ??4QColor@@QAEAAV0@ABV0@@Z @ 11858 NONAME ; class QColor & QColor::operator=(class QColor const &)
+ ?editItem@QTreeWidget@@QAEXPAVQTreeWidgetItem@@H@Z @ 11859 NONAME ; void QTreeWidget::editItem(class QTreeWidgetItem *, int)
+ ?scrollContentsBy@QColumnView@@MAEXHH@Z @ 11860 NONAME ; void QColumnView::scrollContentsBy(int, int)
+ ?app_icon@QApplicationPrivate@@2PAVQIcon@@A @ 11861 NONAME ; class QIcon * QApplicationPrivate::app_icon
+ ?pos@QWidget@@QBE?AVQPoint@@XZ @ 11862 NONAME ; class QPoint QWidget::pos(void) const
+ ?qt_metacall@QStatusBar@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 11863 NONAME ; int QStatusBar::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?drawPoints@QPainter@@QAEXABVQPolygon@@@Z @ 11864 NONAME ; void QPainter::drawPoints(class QPolygon const &)
+ ??0QWheelEvent@@QAE@ABVQPoint@@HV?$QFlags@W4MouseButton@Qt@@@@V?$QFlags@W4KeyboardModifier@Qt@@@@W4Orientation@Qt@@@Z @ 11865 NONAME ; QWheelEvent::QWheelEvent(class QPoint const &, int, class QFlags<enum Qt::MouseButton>, class QFlags<enum Qt::KeyboardModifier>, enum Qt::Orientation)
+ ?minimumSizeHint@QProgressBar@@UBE?AVQSize@@XZ @ 11866 NONAME ; class QSize QProgressBar::minimumSizeHint(void) const
+ ??1QStyleOptionProgressBarV2@@QAE@XZ @ 11867 NONAME ; QStyleOptionProgressBarV2::~QStyleOptionProgressBarV2(void)
+ ?mid@QPalette@@QBEABVQBrush@@XZ @ 11868 NONAME ; class QBrush const & QPalette::mid(void) const
+ ?setCornerWidget@QMenuBar@@QAEXPAVQWidget@@W4Corner@Qt@@@Z @ 11869 NONAME ; void QMenuBar::setCornerWidget(class QWidget *, enum Qt::Corner)
+ ?background@QTreeWidgetItem@@QBE?AVQBrush@@H@Z @ 11870 NONAME ; class QBrush QTreeWidgetItem::background(int) const
+ ?getStaticMetaObject@QLabel@@SAABUQMetaObject@@XZ @ 11871 NONAME ; struct QMetaObject const & QLabel::getStaticMetaObject(void)
+ ?process@QPaintEngineExReplayer@@QAEXABUQPaintBufferCommand@@@Z @ 11872 NONAME ; void QPaintEngineExReplayer::process(struct QPaintBufferCommand const &)
+ ?trUtf8@QWizard@@SA?AVQString@@PBD0H@Z @ 11873 NONAME ; class QString QWizard::trUtf8(char const *, char const *, int)
+ ?mousePressEvent@QMenuBar@@MAEXPAVQMouseEvent@@@Z @ 11874 NONAME ; void QMenuBar::mousePressEvent(class QMouseEvent *)
+ ?resolveSymlinks@QFileSystemModel@@QBE_NXZ @ 11875 NONAME ; bool QFileSystemModel::resolveSymlinks(void) const
+ ?itemFromIndex@QTableWidget@@IBEPAVQTableWidgetItem@@ABVQModelIndex@@@Z @ 11876 NONAME ; class QTableWidgetItem * QTableWidget::itemFromIndex(class QModelIndex const &) const
+ ?commitData@QApplication@@UAEXAAVQSessionManager@@@Z @ 11877 NONAME ; void QApplication::commitData(class QSessionManager &)
+ ?draw@QGraphicsPixelizeEffect@@MAEXPAVQPainter@@PAVQGraphicsEffectSource@@@Z @ 11878 NONAME ABSENT ; void QGraphicsPixelizeEffect::draw(class QPainter *, class QGraphicsEffectSource *)
+ ?updateState@QPaintEngineEx@@UAEXABVQPaintEngineState@@@Z @ 11879 NONAME ; void QPaintEngineEx::updateState(class QPaintEngineState const &)
+ ?qt_metacall@QTextFrame@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 11880 NONAME ; int QTextFrame::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?getStaticMetaObject@QImageIOPlugin@@SAABUQMetaObject@@XZ @ 11881 NONAME ; struct QMetaObject const & QImageIOPlugin::getStaticMetaObject(void)
+ ?trUtf8@QCoeFepInputContext@@SA?AVQString@@PBD0@Z @ 11882 NONAME ABSENT ; class QString QCoeFepInputContext::trUtf8(char const *, char const *)
+ ?autoExclusive@QAbstractButton@@QBE_NXZ @ 11883 NONAME ; bool QAbstractButton::autoExclusive(void) const
+ ??1QGraphicsEffectSource@@UAE@XZ @ 11884 NONAME ; QGraphicsEffectSource::~QGraphicsEffectSource(void)
+ ?mapRectToScene@QGraphicsItem@@QBE?AVQRectF@@MMMM@Z @ 11885 NONAME ; class QRectF QGraphicsItem::mapRectToScene(float, float, float, float) const
+ ??1QToolBarChangeEvent@@UAE@XZ @ 11886 NONAME ; QToolBarChangeEvent::~QToolBarChangeEvent(void)
+ ?strengthChanged@QGraphicsGrayscaleEffect@@IAEXM@Z @ 11887 NONAME ABSENT ; void QGraphicsGrayscaleEffect::strengthChanged(float)
+ ?sizeHintChanged@QAbstractItemDelegate@@IAEXABVQModelIndex@@@Z @ 11888 NONAME ; void QAbstractItemDelegate::sizeHintChanged(class QModelIndex const &)
+ ?setModel@QColumnView@@UAEXPAVQAbstractItemModel@@@Z @ 11889 NONAME ; void QColumnView::setModel(class QAbstractItemModel *)
+ ?dy@QMatrix@@QBEMXZ @ 11890 NONAME ; float QMatrix::dy(void) const
+ ?sortRole@QStandardItemModel@@QBEHXZ @ 11891 NONAME ; int QStandardItemModel::sortRole(void) const
+ ?sortIndicatorOrder@QHeaderView@@QBE?AW4SortOrder@Qt@@XZ @ 11892 NONAME ; enum Qt::SortOrder QHeaderView::sortIndicatorOrder(void) const
+ ??0QStyleOptionViewItemV4@@IAE@H@Z @ 11893 NONAME ; QStyleOptionViewItemV4::QStyleOptionViewItemV4(int)
+ ?staticMetaObject@QItemSelectionModel@@2UQMetaObject@@B @ 11894 NONAME ; struct QMetaObject const QItemSelectionModel::staticMetaObject
+ ?focusWidget@QApplication@@SAPAVQWidget@@XZ @ 11895 NONAME ; class QWidget * QApplication::focusWidget(void)
+ ?setUsesScrollButtons@QTabWidget@@QAEX_N@Z @ 11896 NONAME ; void QTabWidget::setUsesScrollButtons(bool)
+ ?id@TouchPoint@QTouchEvent@@QBEHXZ @ 11897 NONAME ; int QTouchEvent::TouchPoint::id(void) const
+ ?setOldPos@QGraphicsSceneMoveEvent@@QAEXABVQPointF@@@Z @ 11898 NONAME ; void QGraphicsSceneMoveEvent::setOldPos(class QPointF const &)
+ ??0QStyleOptionViewItemV3@@QAE@XZ @ 11899 NONAME ; QStyleOptionViewItemV3::QStyleOptionViewItemV3(void)
+ ?fromSymbianRSgImage@QPixmap@@SA?AV1@PAVRSgImage@@@Z @ 11900 NONAME ; class QPixmap QPixmap::fromSymbianRSgImage(class RSgImage *)
+ ?m11@QMatrix@@QBEMXZ @ 11901 NONAME ; float QMatrix::m11(void) const
+ ?setMimeData@QGraphicsSceneDragDropEvent@@QAEXPBVQMimeData@@@Z @ 11902 NONAME ; void QGraphicsSceneDragDropEvent::setMimeData(class QMimeData const *)
+ ?toolTip@QStandardItem@@QBE?AVQString@@XZ @ 11903 NONAME ; class QString QStandardItem::toolTip(void) const
+ ?sort@QDirModel@@UAEXHW4SortOrder@Qt@@@Z @ 11904 NONAME ; void QDirModel::sort(int, enum Qt::SortOrder)
+ ??0QTreeWidgetItem@@QAE@PAVQTreeWidget@@H@Z @ 11905 NONAME ; QTreeWidgetItem::QTreeWidgetItem(class QTreeWidget *, int)
+ ?setCurrentIndex@QComboBox@@QAEXH@Z @ 11906 NONAME ; void QComboBox::setCurrentIndex(int)
+ ?setTextDirection@QTextOption@@QAEXW4LayoutDirection@Qt@@@Z @ 11907 NONAME ; void QTextOption::setTextDirection(enum Qt::LayoutDirection)
+ ?sectionText@QDateTimeEdit@@QBE?AVQString@@W4Section@1@@Z @ 11908 NONAME ; class QString QDateTimeEdit::sectionText(enum QDateTimeEdit::Section) const
+ ?qt_metacast@QTreeWidget@@UAEPAXPBD@Z @ 11909 NONAME ; void * QTreeWidget::qt_metacast(char const *)
+ ?mapRectFromItem@QGraphicsItem@@QBE?AVQRectF@@PBV1@MMMM@Z @ 11910 NONAME ; class QRectF QGraphicsItem::mapRectFromItem(class QGraphicsItem const *, float, float, float, float) const
+ ?hasFeature@QPaintEngine@@QBE_NV?$QFlags@W4PaintEngineFeature@QPaintEngine@@@@@Z @ 11911 NONAME ; bool QPaintEngine::hasFeature(class QFlags<enum QPaintEngine::PaintEngineFeature>) const
+ ?trUtf8@QItemDelegate@@SA?AVQString@@PBD0@Z @ 11912 NONAME ; class QString QItemDelegate::trUtf8(char const *, char const *)
+ ?qt_metacall@QFrame@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 11913 NONAME ; int QFrame::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?submitPolicy@QDataWidgetMapper@@QBE?AW4SubmitPolicy@1@XZ @ 11914 NONAME ; enum QDataWidgetMapper::SubmitPolicy QDataWidgetMapper::submitPolicy(void) const
+ ??1QGraphicsSystem@@UAE@XZ @ 11915 NONAME ; QGraphicsSystem::~QGraphicsSystem(void)
+ ?setSceneRect@QGraphicsView@@QAEXABVQRectF@@@Z @ 11916 NONAME ; void QGraphicsView::setSceneRect(class QRectF const &)
+ ?setStyleProperty@QS60Style@@QAEXPBDABVQVariant@@@Z @ 11917 NONAME ; void QS60Style::setStyleProperty(char const *, class QVariant const &)
+ ?hasExtendedInfo@QKeyEvent@@QBE_NXZ @ 11918 NONAME ; bool QKeyEvent::hasExtendedInfo(void) const
+ ?pen@QGraphicsLineItem@@QBE?AVQPen@@XZ @ 11919 NONAME ; class QPen QGraphicsLineItem::pen(void) const
+ ?standardPixmap@QCommonStyle@@UBE?AVQPixmap@@W4StandardPixmap@QStyle@@PBVQStyleOption@@PBVQWidget@@@Z @ 11920 NONAME ; class QPixmap QCommonStyle::standardPixmap(enum QStyle::StandardPixmap, class QStyleOption const *, class QWidget const *) const
+ ??4QFontMetrics@@QAEAAV0@ABV0@@Z @ 11921 NONAME ; class QFontMetrics & QFontMetrics::operator=(class QFontMetrics const &)
+ ?pixel@QColormap@@QBEIABVQColor@@@Z @ 11922 NONAME ; unsigned int QColormap::pixel(class QColor const &) const
+ ?qt_metacall@QSizeGrip@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 11923 NONAME ; int QSizeGrip::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?getStaticMetaObject@QValidator@@SAABUQMetaObject@@XZ @ 11924 NONAME ; struct QMetaObject const & QValidator::getStaticMetaObject(void)
+ ?mapToItem@QGraphicsItem@@QBE?AVQPainterPath@@PBV1@ABV2@@Z @ 11925 NONAME ; class QPainterPath QGraphicsItem::mapToItem(class QGraphicsItem const *, class QPainterPath const &) const
+ ?isVirtualDesktop@QDesktopWidget@@QBE_NXZ @ 11926 NONAME ; bool QDesktopWidget::isVirtualDesktop(void) const
+ ?find@QWidget@@SAPAV1@PAVCCoeControl@@@Z @ 11927 NONAME ; class QWidget * QWidget::find(class CCoeControl *)
+ ??0QWindowStateChangeEvent@@QAE@V?$QFlags@W4WindowState@Qt@@@@_N@Z @ 11928 NONAME ; QWindowStateChangeEvent::QWindowStateChangeEvent(class QFlags<enum Qt::WindowState>, bool)
+ ?setResizeMode@QHeaderView@@QAEXHW4ResizeMode@1@@Z @ 11929 NONAME ; void QHeaderView::setResizeMode(int, enum QHeaderView::ResizeMode)
+ ?parentItem@QGraphicsItem@@QBEPAV1@XZ @ 11930 NONAME ; class QGraphicsItem * QGraphicsItem::parentItem(void) const
+ ?supportedDropActions@QDirModel@@UBE?AV?$QFlags@W4DropAction@Qt@@@@XZ @ 11931 NONAME ; class QFlags<enum Qt::DropAction> QDirModel::supportedDropActions(void) const
+ ?setPath@QMouseEventTransition@@QAEXABVQPainterPath@@@Z @ 11932 NONAME ; void QMouseEventTransition::setPath(class QPainterPath const &)
+ ?showStatusText@QAction@@QAE_NPAVQWidget@@@Z @ 11933 NONAME ; bool QAction::showStatusText(class QWidget *)
+ ?setAlignment@QAbstractSpinBox@@QAEXV?$QFlags@W4AlignmentFlag@Qt@@@@@Z @ 11934 NONAME ; void QAbstractSpinBox::setAlignment(class QFlags<enum Qt::AlignmentFlag>)
+ ??0QPalette@@QAE@ABVQColor@@@Z @ 11935 NONAME ; QPalette::QPalette(class QColor const &)
+ ?icon@QMessageBox@@QBE?AW4Icon@1@XZ @ 11936 NONAME ; enum QMessageBox::Icon QMessageBox::icon(void) const
+ ?setRootIndex@QDataWidgetMapper@@QAEXABVQModelIndex@@@Z @ 11937 NONAME ; void QDataWidgetMapper::setRootIndex(class QModelIndex const &)
+ ?focusChanged@QApplication@@IAEXPAVQWidget@@0@Z @ 11938 NONAME ; void QApplication::focusChanged(class QWidget *, class QWidget *)
+ ?writingSystemSample@QFontDatabase@@SA?AVQString@@W4WritingSystem@1@@Z @ 11939 NONAME ; class QString QFontDatabase::writingSystemSample(enum QFontDatabase::WritingSystem)
+ ?staticMetaObject@QTabBar@@2UQMetaObject@@B @ 11940 NONAME ; struct QMetaObject const QTabBar::staticMetaObject
+ ?resizeEvent@QScrollArea@@MAEXPAVQResizeEvent@@@Z @ 11941 NONAME ; void QScrollArea::resizeEvent(class QResizeEvent *)
+ ??0QErrorMessage@@QAE@PAVQWidget@@@Z @ 11942 NONAME ; QErrorMessage::QErrorMessage(class QWidget *)
+ ?open@QFileDialog@@QAEXPAVQObject@@PBD@Z @ 11943 NONAME ; void QFileDialog::open(class QObject *, char const *)
+ ?d_func@QDockWidget@@ABEPBVQDockWidgetPrivate@@XZ @ 11944 NONAME ; class QDockWidgetPrivate const * QDockWidget::d_func(void) const
+ ?inputMethodEvent@QGraphicsScene@@MAEXPAVQInputMethodEvent@@@Z @ 11945 NONAME ; void QGraphicsScene::inputMethodEvent(class QInputMethodEvent *)
+ ?initStyleOption@QGraphicsItemPrivate@@QBEXPAVQStyleOptionGraphicsItem@@ABVQTransform@@ABVQRegion@@_N@Z @ 11946 NONAME ; void QGraphicsItemPrivate::initStyleOption(class QStyleOptionGraphicsItem *, class QTransform const &, class QRegion const &, bool) const
+ ?statusTip@QTreeWidgetItem@@QBE?AVQString@@H@Z @ 11947 NONAME ; class QString QTreeWidgetItem::statusTip(int) const
+ ?emitCubicTo@QStroker@@QAEXMMMMMM@Z @ 11948 NONAME ; void QStroker::emitCubicTo(float, float, float, float, float, float)
+ ?ignore@QDragMoveEvent@@QAEXXZ @ 11949 NONAME ; void QDragMoveEvent::ignore(void)
+ ?convolutionKernel@QPixmapConvolutionFilter@@ABEPBMXZ @ 11950 NONAME ; float const * QPixmapConvolutionFilter::convolutionKernel(void) const
+ ?d_func@QPainterPath@@ABEPAVQPainterPathData@@XZ @ 11951 NONAME ; class QPainterPathData * QPainterPath::d_func(void) const
+ ?startAngle@QGraphicsEllipseItem@@QBEHXZ @ 11952 NONAME ; int QGraphicsEllipseItem::startAngle(void) const
+ ?qGreen@@YAHI@Z @ 11953 NONAME ; int qGreen(unsigned int)
+ ??_EQTextEdit@@UAE@I@Z @ 11954 NONAME ; QTextEdit::~QTextEdit(unsigned int)
+ ?deactivateWidgetCleanup@QWidgetPrivate@@QAEXXZ @ 11955 NONAME ; void QWidgetPrivate::deactivateWidgetCleanup(void)
+ ?rowStart@QTextTable@@QBE?AVQTextCursor@@ABV2@@Z @ 11956 NONAME ; class QTextCursor QTextTable::rowStart(class QTextCursor const &) const
+ ?staticMetaObject@QPixmapBlurFilter@@2UQMetaObject@@B @ 11957 NONAME ; struct QMetaObject const QPixmapBlurFilter::staticMetaObject
+ ?d_func@QAction@@ABEPBVQActionPrivate@@XZ @ 11958 NONAME ; class QActionPrivate const * QAction::d_func(void) const
+ ?handlerForObject@QAbstractTextDocumentLayout@@QBEPAVQTextObjectInterface@@H@Z @ 11959 NONAME ; class QTextObjectInterface * QAbstractTextDocumentLayout::handlerForObject(int) const
+ ??0Value@QCss@@QAE@XZ @ 11960 NONAME ; QCss::Value::Value(void)
+ ?setCurrentSectionIndex@QDateTimeEdit@@QAEXH@Z @ 11961 NONAME ; void QDateTimeEdit::setCurrentSectionIndex(int)
+ ?getStaticMetaObject@QInputDialog@@SAABUQMetaObject@@XZ @ 11962 NONAME ; struct QMetaObject const & QInputDialog::getStaticMetaObject(void)
+ ?adjustSize@QGraphicsWidget@@QAEXXZ @ 11963 NONAME ; void QGraphicsWidget::adjustSize(void)
+ ?qt_metacall@QSyntaxHighlighter@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 11964 NONAME ; int QSyntaxHighlighter::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?trUtf8@QActionGroup@@SA?AVQString@@PBD0@Z @ 11965 NONAME ; class QString QActionGroup::trUtf8(char const *, char const *)
+ ?setDotsPerMeterX@QImage@@QAEXH@Z @ 11966 NONAME ; void QImage::setDotsPerMeterX(int)
+ ??0StyleSelector@QCss@@QAE@XZ @ 11967 NONAME ; QCss::StyleSelector::StyleSelector(void)
+ ?stretchFactor@QGraphicsLinearLayout@@QBEHPAVQGraphicsLayoutItem@@@Z @ 11968 NONAME ; int QGraphicsLinearLayout::stretchFactor(class QGraphicsLayoutItem *) const
+ ?itemAt@QGraphicsScene@@QBEPAVQGraphicsItem@@MM@Z @ 11969 NONAME ; class QGraphicsItem * QGraphicsScene::itemAt(float, float) const
+ ?width@QPainterPathStroker@@QBEMXZ @ 11970 NONAME ; float QPainterPathStroker::width(void) const
+ ?drawRoundedRect@QPainter@@QAEXABVQRectF@@MMW4SizeMode@Qt@@@Z @ 11971 NONAME ; void QPainter::drawRoundedRect(class QRectF const &, float, float, enum Qt::SizeMode)
+ ?unite@QRegion@@QBE?AV1@ABV1@@Z @ 11972 NONAME ; class QRegion QRegion::unite(class QRegion const &) const
+ ?getSfntTableData@QFontEngine@@UBE_NIPAEPAI@Z @ 11973 NONAME ; bool QFontEngine::getSfntTableData(unsigned int, unsigned char *, unsigned int *) const
+ ?features@QDockWidget@@QBE?AV?$QFlags@W4DockWidgetFeature@QDockWidget@@@@XZ @ 11974 NONAME ; class QFlags<enum QDockWidget::DockWidgetFeature> QDockWidget::features(void) const
+ ??0QStyleOptionGraphicsItem@@IAE@H@Z @ 11975 NONAME ; QStyleOptionGraphicsItem::QStyleOptionGraphicsItem(int)
+ ?drawPoint@QPainter@@QAEXABVQPointF@@@Z @ 11976 NONAME ; void QPainter::drawPoint(class QPointF const &)
+ ??6@YA?AVQDebug@@V0@PBVQEvent@@@Z @ 11977 NONAME ; class QDebug operator<<(class QDebug, class QEvent const *)
+ ?setFontStrikeOut@QTextCharFormat@@QAEX_N@Z @ 11978 NONAME ; void QTextCharFormat::setFontStrikeOut(bool)
+ ?scrollTo@QListView@@UAEXABVQModelIndex@@W4ScrollHint@QAbstractItemView@@@Z @ 11979 NONAME ; void QListView::scrollTo(class QModelIndex const &, enum QAbstractItemView::ScrollHint)
+ ?setBoundingRect@QPicture@@QAEXABVQRect@@@Z @ 11980 NONAME ; void QPicture::setBoundingRect(class QRect const &)
+ ?adjustFlags@QWidgetPrivate@@SAXAAV?$QFlags@W4WindowType@Qt@@@@PAVQWidget@@@Z @ 11981 NONAME ; void QWidgetPrivate::adjustFlags(class QFlags<enum Qt::WindowType> &, class QWidget *)
+ ??4QPicture@@QAEAAV0@ABV0@@Z @ 11982 NONAME ; class QPicture & QPicture::operator=(class QPicture const &)
+ ?initStyleOption@QToolButton@@IBEXPAVQStyleOptionToolButton@@@Z @ 11983 NONAME ; void QToolButton::initStyleOption(class QStyleOptionToolButton *) const
+ ?setSmallDecimalPoint@QLCDNumber@@QAEX_N@Z @ 11984 NONAME ; void QLCDNumber::setSmallDecimalPoint(bool)
+ ?setFinalPage@QWizardPage@@QAEX_N@Z @ 11985 NONAME ; void QWizardPage::setFinalPage(bool)
+ ?setHighlightSections@QHeaderView@@QAEX_N@Z @ 11986 NONAME ; void QHeaderView::setHighlightSections(bool)
+ ?inputMethodQuery@QComboBox@@MBE?AVQVariant@@W4InputMethodQuery@Qt@@@Z @ 11987 NONAME ; class QVariant QComboBox::inputMethodQuery(enum Qt::InputMethodQuery) const
+ ?accepted@QLineControl@@IAEXXZ @ 11988 NONAME ; void QLineControl::accepted(void)
+ ?qt_metacall@QPictureFormatPlugin@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 11989 NONAME ; int QPictureFormatPlugin::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?setWindowIconText_sys@QWidgetPrivate@@QAEXABVQString@@@Z @ 11990 NONAME ; void QWidgetPrivate::setWindowIconText_sys(class QString const &)
+ ?d_func@QGraphicsSceneHoverEvent@@AAEPAVQGraphicsSceneHoverEventPrivate@@XZ @ 11991 NONAME ; class QGraphicsSceneHoverEventPrivate * QGraphicsSceneHoverEvent::d_func(void)
+ ?applyTo@QGraphicsScale@@UBEXPAVQMatrix4x4@@@Z @ 11992 NONAME ; void QGraphicsScale::applyTo(class QMatrix4x4 *) const
+ ?fontPointSize@QTextCharFormat@@QBEMXZ @ 11993 NONAME ; float QTextCharFormat::fontPointSize(void) const
+ ??1QMdiSubWindow@@UAE@XZ @ 11994 NONAME ; QMdiSubWindow::~QMdiSubWindow(void)
+ ??1QStyleOptionTab@@QAE@XZ @ 11995 NONAME ; QStyleOptionTab::~QStyleOptionTab(void)
+ ?fromTheme@QIcon@@SA?AV1@ABVQString@@ABV1@@Z @ 11996 NONAME ; class QIcon QIcon::fromTheme(class QString const &, class QIcon const &)
+ ?setPixmap@QGraphicsPixmapItem@@QAEXABVQPixmap@@@Z @ 11997 NONAME ; void QGraphicsPixmapItem::setPixmap(class QPixmap const &)
+ ?intersected@QItemSelectionRange@@QBE?AV1@ABV1@@Z @ 11998 NONAME ; class QItemSelectionRange QItemSelectionRange::intersected(class QItemSelectionRange const &) const
+ ?addStretch@QGraphicsLinearLayout@@QAEXH@Z @ 11999 NONAME ; void QGraphicsLinearLayout::addStretch(int)
+ ?setAccepted@QGestureEvent@@QAEXPAVQGesture@@_N@Z @ 12000 NONAME ; void QGestureEvent::setAccepted(class QGesture *, bool)
+ ?setLayoutDirection@QGraphicsWidget@@QAEXW4LayoutDirection@Qt@@@Z @ 12001 NONAME ; void QGraphicsWidget::setLayoutDirection(enum Qt::LayoutDirection)
+ ?getGlyphPositions@QFontEngine@@QAEXABUQGlyphLayout@@ABVQTransform@@V?$QFlags@W4RenderFlag@QTextItem@@@@AAV?$QVarLengthArray@I$0BAA@@@AAV?$QVarLengthArray@UQFixedPoint@@$0BAA@@@@Z @ 12002 NONAME ; void QFontEngine::getGlyphPositions(struct QGlyphLayout const &, class QTransform const &, class QFlags<enum QTextItem::RenderFlag>, class QVarLengthArray<unsigned int, 256> &, class QVarLengthArray<struct QFixedPoint, 256> &)
+ ??0QGraphicsAnchor@@AAE@PAVQGraphicsAnchorLayout@@@Z @ 12003 NONAME ; QGraphicsAnchor::QGraphicsAnchor(class QGraphicsAnchorLayout *)
+ ?textList@QImage@@QBE?AV?$QList@VQImageTextKeyLang@@@@XZ @ 12004 NONAME ; class QList<class QImageTextKeyLang> QImage::textList(void) const
+ ?leaveEvent@QMdiSubWindow@@MAEXPAVQEvent@@@Z @ 12005 NONAME ; void QMdiSubWindow::leaveEvent(class QEvent *)
+ ?qt_metacast@QInputDialog@@UAEPAXPBD@Z @ 12006 NONAME ; void * QInputDialog::qt_metacast(char const *)
+ ?maxLength@QLineControl@@QBEHXZ @ 12007 NONAME ; int QLineControl::maxLength(void) const
+ ?setFocalPoint@QRadialGradient@@QAEXABVQPointF@@@Z @ 12008 NONAME ; void QRadialGradient::setFocalPoint(class QPointF const &)
+ ?setButtonLayout@QWizard@@QAEXABV?$QList@W4WizardButton@QWizard@@@@@Z @ 12009 NONAME ; void QWizard::setButtonLayout(class QList<enum QWizard::WizardButton> const &)
+ ?qt_metacast@QGraphicsRotation@@UAEPAXPBD@Z @ 12010 NONAME ; void * QGraphicsRotation::qt_metacast(char const *)
+ ?setSliderPosition@QAbstractSlider@@QAEXH@Z @ 12011 NONAME ; void QAbstractSlider::setSliderPosition(int)
+ ?setText@QImage@@QAEXPBD0ABVQString@@@Z @ 12012 NONAME ; void QImage::setText(char const *, char const *, class QString const &)
+ ??_EQEventDispatcherS60@@UAE@I@Z @ 12013 NONAME ; QEventDispatcherS60::~QEventDispatcherS60(unsigned int)
+ ??0QSwipeGesture@@QAE@PAVQObject@@@Z @ 12014 NONAME ; QSwipeGesture::QSwipeGesture(class QObject *)
+ ?d_func@QGraphicsEffect@@ABEPBVQGraphicsEffectPrivate@@XZ @ 12015 NONAME ; class QGraphicsEffectPrivate const * QGraphicsEffect::d_func(void) const
+ ?block@QTextCursor@@QBE?AVQTextBlock@@XZ @ 12016 NONAME ; class QTextBlock QTextCursor::block(void) const
+ ?boundingRect@QGraphicsRectItem@@UBE?AVQRectF@@XZ @ 12017 NONAME ; class QRectF QGraphicsRectItem::boundingRect(void) const
+ ??0QTextCharFormat@@IAE@ABVQTextFormat@@@Z @ 12018 NONAME ; QTextCharFormat::QTextCharFormat(class QTextFormat const &)
+ ??_EQTabletEvent@@UAE@I@Z @ 12019 NONAME ; QTabletEvent::~QTabletEvent(unsigned int)
+ ?getStaticMetaObject@QTextFormat@@SAABUQMetaObject@@XZ @ 12020 NONAME ; struct QMetaObject const & QTextFormat::getStaticMetaObject(void)
+ ?verticalHeaderItem@QStandardItemModel@@QBEPAVQStandardItem@@H@Z @ 12021 NONAME ; class QStandardItem * QStandardItemModel::verticalHeaderItem(int) const
+ ?isVisibleTo@QGraphicsItem@@QBE_NPBV1@@Z @ 12022 NONAME ; bool QGraphicsItem::isVisibleTo(class QGraphicsItem const *) const
+ ??0QMatrix4x4@@QAE@PBMHH@Z @ 12023 NONAME ; QMatrix4x4::QMatrix4x4(float const *, int, int)
+ ?removeColumns@QSortFilterProxyModel@@UAE_NHHABVQModelIndex@@@Z @ 12024 NONAME ; bool QSortFilterProxyModel::removeColumns(int, int, class QModelIndex const &)
+ ?draw@QPaintBuffer@@QBEXPAVQPainter@@H@Z @ 12025 NONAME ; void QPaintBuffer::draw(class QPainter *, int) const
+ ?d_func@QSessionManager@@AAEPAVQSessionManagerPrivate@@XZ @ 12026 NONAME ; class QSessionManagerPrivate * QSessionManager::d_func(void)
+ ?find@QTextDocument@@QBE?AVQTextCursor@@ABVQRegExp@@ABV2@V?$QFlags@W4FindFlag@QTextDocument@@@@@Z @ 12027 NONAME ; class QTextCursor QTextDocument::find(class QRegExp const &, class QTextCursor const &, class QFlags<enum QTextDocument::FindFlag>) const
+ ?tr@QAbstractItemDelegate@@SA?AVQString@@PBD0@Z @ 12028 NONAME ; class QString QAbstractItemDelegate::tr(char const *, char const *)
+ ?titleHeight@QDockWidgetLayout@@QBEHXZ @ 12029 NONAME ; int QDockWidgetLayout::titleHeight(void) const
+ ?setTabKeyNavigation@QAbstractItemView@@QAEX_N@Z @ 12030 NONAME ; void QAbstractItemView::setTabKeyNavigation(bool)
+ ?dragMoveEvent@QGraphicsView@@MAEXPAVQDragMoveEvent@@@Z @ 12031 NONAME ; void QGraphicsView::dragMoveEvent(class QDragMoveEvent *)
+ ?blurHint@QGraphicsBlurEffect@@QBE?AW4RenderHint@Qt@@XZ @ 12032 NONAME ; enum Qt::RenderHint QGraphicsBlurEffect::blurHint(void) const
+ ?currentBlockState@QSyntaxHighlighter@@IBEHXZ @ 12033 NONAME ; int QSyntaxHighlighter::currentBlockState(void) const
+ ?takeHorizontalHeaderItem@QStandardItemModel@@QAEPAVQStandardItem@@H@Z @ 12034 NONAME ; class QStandardItem * QStandardItemModel::takeHorizontalHeaderItem(int)
+ ?setWidgetResizable@QScrollArea@@QAEX_N@Z @ 12035 NONAME ; void QScrollArea::setWidgetResizable(bool)
+ ?setTextOption@QTextLayout@@QAEXABVQTextOption@@@Z @ 12036 NONAME ; void QTextLayout::setTextOption(class QTextOption const &)
+ ?collidingItems@QGraphicsScene@@QBE?AV?$QList@PAVQGraphicsItem@@@@PBVQGraphicsItem@@W4ItemSelectionMode@Qt@@@Z @ 12037 NONAME ; class QList<class QGraphicsItem *> QGraphicsScene::collidingItems(class QGraphicsItem const *, enum Qt::ItemSelectionMode) const
+ ??_EQContextMenuEvent@@UAE@I@Z @ 12038 NONAME ; QContextMenuEvent::~QContextMenuEvent(unsigned int)
+ ?title@QMenu@@QBE?AVQString@@XZ @ 12039 NONAME ; class QString QMenu::title(void) const
+ ?setWindowFlags@QGraphicsWidget@@QAEXV?$QFlags@W4WindowType@Qt@@@@@Z @ 12040 NONAME ; void QGraphicsWidget::setWindowFlags(class QFlags<enum Qt::WindowType>)
+ ?tr@QButtonGroup@@SA?AVQString@@PBD0H@Z @ 12041 NONAME ; class QString QButtonGroup::tr(char const *, char const *, int)
+ ?removeWidget@QLayout@@QAEXPAVQWidget@@@Z @ 12042 NONAME ; void QLayout::removeWidget(class QWidget *)
+ ?drawLines@QPainter@@QAEXABV?$QVector@VQPoint@@@@@Z @ 12043 NONAME ; void QPainter::drawLines(class QVector<class QPoint> const &)
+ ?resize@QRubberBand@@QAEXABVQSize@@@Z @ 12044 NONAME ; void QRubberBand::resize(class QSize const &)
+ ?trUtf8@QFontDialog@@SA?AVQString@@PBD0H@Z @ 12045 NONAME ; class QString QFontDialog::trUtf8(char const *, char const *, int)
+ ?overline@QFont@@QBE_NXZ @ 12046 NONAME ; bool QFont::overline(void) const
+ ?cacheMode@QGraphicsItem@@QBE?AW4CacheMode@1@XZ @ 12047 NONAME ; enum QGraphicsItem::CacheMode QGraphicsItem::cacheMode(void) const
+ ?event@QS60Style@@UAE_NPAVQEvent@@@Z @ 12048 NONAME ; bool QS60Style::event(class QEvent *)
+ ?addRoundedRect@QPainterPath@@QAEXMMMMMMW4SizeMode@Qt@@@Z @ 12049 NONAME ; void QPainterPath::addRoundedRect(float, float, float, float, float, float, enum Qt::SizeMode)
+ ?lastCursorPosition@QTextTableCell@@QBE?AVQTextCursor@@XZ @ 12050 NONAME ; class QTextCursor QTextTableCell::lastCursorPosition(void) const
+ ?toTableCellFormat@QTextFormat@@QBE?AVQTextTableCellFormat@@XZ @ 12051 NONAME ; class QTextTableCellFormat QTextFormat::toTableCellFormat(void) const
+ ?setFocusWidget@QCoeFepInputContext@@UAEXPAVQWidget@@@Z @ 12052 NONAME ABSENT ; void QCoeFepInputContext::setFocusWidget(class QWidget *)
+ ?stretch@QBoxLayout@@QBEHH@Z @ 12053 NONAME ; int QBoxLayout::stretch(int) const
+ ?setColumnHidden@QTableView@@QAEXH_N@Z @ 12054 NONAME ; void QTableView::setColumnHidden(int, bool)
+ ??Eiterator@QTextBlock@@QAE?AV01@H@Z @ 12055 NONAME ; class QTextBlock::iterator QTextBlock::iterator::operator++(int)
+ ?acceptProposedAction@QGraphicsSceneDragDropEvent@@QAEXXZ @ 12056 NONAME ; void QGraphicsSceneDragDropEvent::acceptProposedAction(void)
+ ?trUtf8@QWindowsStyle@@SA?AVQString@@PBD0@Z @ 12057 NONAME ; class QString QWindowsStyle::trUtf8(char const *, char const *)
+ ?write@QTreeWidgetItem@@UBEXAAVQDataStream@@@Z @ 12058 NONAME ; void QTreeWidgetItem::write(class QDataStream &) const
+ ?setPadding@QTextFrameFormat@@QAEXM@Z @ 12059 NONAME ; void QTextFrameFormat::setPadding(float)
+ ?columnSpan@QTableView@@QBEHHH@Z @ 12060 NONAME ; int QTableView::columnSpan(int, int) const
+ ?isAmbiguous@QShortcutEvent@@QAE_NXZ @ 12061 NONAME ; bool QShortcutEvent::isAmbiguous(void)
+ ?setHtml@QTextControl@@QAEXABVQString@@@Z @ 12062 NONAME ; void QTextControl::setHtml(class QString const &)
+ ?setMinimum@QDoubleSpinBox@@QAEXN@Z @ 12063 NONAME ; void QDoubleSpinBox::setMinimum(double)
+ ?rowMinimumHeight@QGridLayout@@QBEHH@Z @ 12064 NONAME ; int QGridLayout::rowMinimumHeight(int) const
+ ?wheelEvent@QPlainTextEdit@@MAEXPAVQWheelEvent@@@Z @ 12065 NONAME ; void QPlainTextEdit::wheelEvent(class QWheelEvent *)
+ ?dateTimeFromText@QDateTimeEdit@@MBE?AVQDateTime@@ABVQString@@@Z @ 12066 NONAME ; class QDateTime QDateTimeEdit::dateTimeFromText(class QString const &) const
+ ?setWindowSurface@QWidget@@QAEXPAVQWindowSurface@@@Z @ 12067 NONAME ; void QWidget::setWindowSurface(class QWindowSurface *)
+ ?setInputContext@QWidget@@QAEXPAVQInputContext@@@Z @ 12068 NONAME ; void QWidget::setInputContext(class QInputContext *)
+ ?begin@QTextBlock@@QBE?AViterator@1@XZ @ 12069 NONAME ; class QTextBlock::iterator QTextBlock::begin(void) const
+ ??1QWindowStateChangeEvent@@UAE@XZ @ 12070 NONAME ; QWindowStateChangeEvent::~QWindowStateChangeEvent(void)
+ ?setValue@QDoubleSpinBox@@QAEXN@Z @ 12071 NONAME ; void QDoubleSpinBox::setValue(double)
+ ??0QStyleOptionToolBoxV2@@IAE@H@Z @ 12072 NONAME ; QStyleOptionToolBoxV2::QStyleOptionToolBoxV2(int)
+ ??1QStyleOptionSpinBox@@QAE@XZ @ 12073 NONAME ; QStyleOptionSpinBox::~QStyleOptionSpinBox(void)
+ ?itemRemoved@QToolBox@@MAEXH@Z @ 12074 NONAME ; void QToolBox::itemRemoved(int)
+ ?maximumSize@QLayout@@UBE?AVQSize@@XZ @ 12075 NONAME ; class QSize QLayout::maximumSize(void) const
+ ?event@QDateTimeEdit@@UAE_NPAVQEvent@@@Z @ 12076 NONAME ; bool QDateTimeEdit::event(class QEvent *)
+ ?tr@QStylePlugin@@SA?AVQString@@PBD0H@Z @ 12077 NONAME ; class QString QStylePlugin::tr(char const *, char const *, int)
+ ?setSelectedDate@QCalendarWidget@@QAEXABVQDate@@@Z @ 12078 NONAME ; void QCalendarWidget::setSelectedDate(class QDate const &)
+ ?exec@QDrag@@QAE?AW4DropAction@Qt@@V?$QFlags@W4DropAction@Qt@@@@W423@@Z @ 12079 NONAME ; enum Qt::DropAction QDrag::exec(class QFlags<enum Qt::DropAction>, enum Qt::DropAction)
+ ?setSpan@QTableView@@QAEXHHHH@Z @ 12080 NONAME ; void QTableView::setSpan(int, int, int, int)
+ ?setColumnCount@QStandardItem@@QAEXH@Z @ 12081 NONAME ; void QStandardItem::setColumnCount(int)
+ ?drawComplexControl@QS60Style@@UBEXW4ComplexControl@QStyle@@PBVQStyleOptionComplex@@PAVQPainter@@PBVQWidget@@@Z @ 12082 NONAME ; void QS60Style::drawComplexControl(enum QStyle::ComplexControl, class QStyleOptionComplex const *, class QPainter *, class QWidget const *) const
+ ?globalPos@QMouseEvent@@QBEABVQPoint@@XZ @ 12083 NONAME ; class QPoint const & QMouseEvent::globalPos(void) const
+ ?insertWidget@QStackedLayout@@QAEHHPAVQWidget@@@Z @ 12084 NONAME ; int QStackedLayout::insertWidget(int, class QWidget *)
+ ?leftMargin@QTextFrameFormat@@QBEMXZ @ 12085 NONAME ; float QTextFrameFormat::leftMargin(void) const
+ ?qt_metacall@QTreeView@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 12086 NONAME ; int QTreeView::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?ascent@QTextInlineObject@@QBEMXZ @ 12087 NONAME ; float QTextInlineObject::ascent(void) const
+ ?qt_metacall@QApplication@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 12088 NONAME ; int QApplication::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?qDrawShadePanel@@YAXPAVQPainter@@ABVQRect@@ABVQPalette@@_NHPBVQBrush@@@Z @ 12089 NONAME ; void qDrawShadePanel(class QPainter *, class QRect const &, class QPalette const &, bool, int, class QBrush const *)
+ ??9QTransform@@QBE_NABV0@@Z @ 12090 NONAME ; bool QTransform::operator!=(class QTransform const &) const
+ ?cursorPositionChanged@QTextControl@@IAEXXZ @ 12091 NONAME ; void QTextControl::cursorPositionChanged(void)
+ ?verticalScrollbarAction@QAbstractItemView@@MAEXH@Z @ 12092 NONAME ; void QAbstractItemView::verticalScrollbarAction(int)
+ ?containsPoint@QPolygonF@@QBE_NABVQPointF@@W4FillRule@Qt@@@Z @ 12093 NONAME ; bool QPolygonF::containsPoint(class QPointF const &, enum Qt::FillRule) const
+ ?setFontLetterSpacing@QTextCharFormat@@QAEXM@Z @ 12094 NONAME ; void QTextCharFormat::setFontLetterSpacing(float)
+ ?insertRow@QStandardItemModel@@QAEXHPAVQStandardItem@@@Z @ 12095 NONAME ; void QStandardItemModel::insertRow(int, class QStandardItem *)
+ ??0QFontMetrics@@QAE@ABVQFont@@@Z @ 12096 NONAME ; QFontMetrics::QFontMetrics(class QFont const &)
+ ?fromCmyk@QColor@@SA?AV1@HHHHH@Z @ 12097 NONAME ; class QColor QColor::fromCmyk(int, int, int, int, int)
+ ?setOpacity@QGraphicsItem@@QAEXM@Z @ 12098 NONAME ; void QGraphicsItem::setOpacity(float)
+ ?clear@QItemSelectionModel@@UAEXXZ @ 12099 NONAME ; void QItemSelectionModel::clear(void)
+ ?trUtf8@QPixmapColorizeFilter@@SA?AVQString@@PBD0H@Z @ 12100 NONAME ; class QString QPixmapColorizeFilter::trUtf8(char const *, char const *, int)
+ ?isUndoAvailable@QLineEdit@@QBE_NXZ @ 12101 NONAME ; bool QLineEdit::isUndoAvailable(void) const
+ ?currentRowChanged@QItemSelectionModel@@IAEXABVQModelIndex@@0@Z @ 12102 NONAME ; void QItemSelectionModel::currentRowChanged(class QModelIndex const &, class QModelIndex const &)
+ ?createMimeDataFromSelection@QTextEdit@@MBEPAVQMimeData@@XZ @ 12103 NONAME ; class QMimeData * QTextEdit::createMimeDataFromSelection(void) const
+ ??1QApplicationPrivate@@UAE@XZ @ 12104 NONAME ; QApplicationPrivate::~QApplicationPrivate(void)
+ ??4QStyleOptionTabV2@@QAEAAV0@ABVQStyleOptionTab@@@Z @ 12105 NONAME ; class QStyleOptionTabV2 & QStyleOptionTabV2::operator=(class QStyleOptionTab const &)
+ ?fillRect@QPainter@@QAEXABVQRect@@ABVQColor@@@Z @ 12106 NONAME ; void QPainter::fillRect(class QRect const &, class QColor const &)
+ ??9QTextFragment@@QBE_NABV0@@Z @ 12107 NONAME ; bool QTextFragment::operator!=(class QTextFragment const &) const
+ ?dotProduct@QVector2D@@SAMABV1@0@Z @ 12108 NONAME ; float QVector2D::dotProduct(class QVector2D const &, class QVector2D const &)
+ ?setHtml@QTextEdit@@QAEXABVQString@@@Z @ 12109 NONAME ; void QTextEdit::setHtml(class QString const &)
+ ??0QRasterPixmapData@@QAE@W4PixelType@QPixmapData@@@Z @ 12110 NONAME ; QRasterPixmapData::QRasterPixmapData(enum QPixmapData::PixelType)
+ ?microFocusChanged@QTextControl@@IAEXXZ @ 12111 NONAME ; void QTextControl::microFocusChanged(void)
+ ?setContext@QShortcut@@QAEXW4ShortcutContext@Qt@@@Z @ 12112 NONAME ; void QShortcut::setContext(enum Qt::ShortcutContext)
+ ?opaqueArea@QGraphicsTextItem@@UBE?AVQPainterPath@@XZ @ 12113 NONAME ; class QPainterPath QGraphicsTextItem::opaqueArea(void) const
+ ?tabText@QTabBar@@QBE?AVQString@@H@Z @ 12114 NONAME ; class QString QTabBar::tabText(int) const
+ ?getSaveFileName@QFileDialog@@SA?AVQString@@PAVQWidget@@ABV2@11PAV2@V?$QFlags@W4Option@QFileDialog@@@@@Z @ 12115 NONAME ; class QString QFileDialog::getSaveFileName(class QWidget *, class QString const &, class QString const &, class QString const &, class QString *, class QFlags<enum QFileDialog::Option>)
+ ?intersects@QPainterPath@@QBE_NABV1@@Z @ 12116 NONAME ; bool QPainterPath::intersects(class QPainterPath const &) const
+ ?keyReleaseEvent@QGraphicsView@@MAEXPAVQKeyEvent@@@Z @ 12117 NONAME ; void QGraphicsView::keyReleaseEvent(class QKeyEvent *)
+ ??_EQGraphicsDropShadowEffect@@UAE@I@Z @ 12118 NONAME ; QGraphicsDropShadowEffect::~QGraphicsDropShadowEffect(unsigned int)
+ ?setData@QAbstractProxyModel@@UAE_NABVQModelIndex@@ABVQVariant@@H@Z @ 12119 NONAME ; bool QAbstractProxyModel::setData(class QModelIndex const &, class QVariant const &, int)
+ ?selectionStart@QTextCursor@@QBEHXZ @ 12120 NONAME ; int QTextCursor::selectionStart(void) const
+ ?color@QImage@@QBEIH@Z @ 12121 NONAME ; unsigned int QImage::color(int) const
+ ?event@QToolBox@@MAE_NPAVQEvent@@@Z @ 12122 NONAME ; bool QToolBox::event(class QEvent *)
+ ?filterKeyColumn@QSortFilterProxyModel@@QBEHXZ @ 12123 NONAME ; int QSortFilterProxyModel::filterKeyColumn(void) const
+ ?devType@QPaintDevice@@UBEHXZ @ 12124 NONAME ; int QPaintDevice::devType(void) const
+ ?setOverwriteMode@QTextControl@@QAEX_N@Z @ 12125 NONAME ; void QTextControl::setOverwriteMode(bool)
+ ?qt_metacast@QGraphicsScale@@UAEPAXPBD@Z @ 12126 NONAME ; void * QGraphicsScale::qt_metacast(char const *)
+ ??1QItemSelectionModel@@UAE@XZ @ 12127 NONAME ; QItemSelectionModel::~QItemSelectionModel(void)
+ ?addAction@QGraphicsWidget@@QAEXPAVQAction@@@Z @ 12128 NONAME ; void QGraphicsWidget::addAction(class QAction *)
+ ?bspTreeDepth@QGraphicsScene@@QBEHXZ @ 12129 NONAME ; int QGraphicsScene::bspTreeDepth(void) const
+ ?itemChanged@QTreeWidgetItem@@AAEXXZ @ 12130 NONAME ; void QTreeWidgetItem::itemChanged(void)
+ ?textOption@QTextLayout@@QBE?AVQTextOption@@XZ @ 12131 NONAME ; class QTextOption QTextLayout::textOption(void) const
+ ?icon@QFileIconProvider@@UBE?AVQIcon@@W4IconType@1@@Z @ 12132 NONAME ; class QIcon QFileIconProvider::icon(enum QFileIconProvider::IconType) const
+ ?tableCellColumnSpan@QTextCharFormat@@QBEHXZ @ 12133 NONAME ; int QTextCharFormat::tableCellColumnSpan(void) const
+ ?sizeHint@QLineEdit@@UBE?AVQSize@@XZ @ 12134 NONAME ; class QSize QLineEdit::sizeHint(void) const
+ ??OQTextCursor@@QBE_NABV0@@Z @ 12135 NONAME ; bool QTextCursor::operator>(class QTextCursor const &) const
+ ?setModelColumn@QComboBox@@QAEXH@Z @ 12136 NONAME ; void QComboBox::setModelColumn(int)
+ ??9QTextCursor@@QBE_NABV0@@Z @ 12137 NONAME ; bool QTextCursor::operator!=(class QTextCursor const &) const
+ ??_EQPixmapConvolutionFilter@@UAE@I@Z @ 12138 NONAME ; QPixmapConvolutionFilter::~QPixmapConvolutionFilter(unsigned int)
+ ?setRed@QColor@@QAEXH@Z @ 12139 NONAME ; void QColor::setRed(int)
+ ?trUtf8@QAbstractTextDocumentLayout@@SA?AVQString@@PBD0@Z @ 12140 NONAME ; class QString QAbstractTextDocumentLayout::trUtf8(char const *, char const *)
+ ?viewportUpdateMode@QGraphicsView@@QBE?AW4ViewportUpdateMode@1@XZ @ 12141 NONAME ; enum QGraphicsView::ViewportUpdateMode QGraphicsView::viewportUpdateMode(void) const
+ ?state@QPaintEngineState@@QBE?AV?$QFlags@W4DirtyFlag@QPaintEngine@@@@XZ @ 12142 NONAME ; class QFlags<enum QPaintEngine::DirtyFlag> QPaintEngineState::state(void) const
+ ?viewMode@QMdiArea@@QBE?AW4ViewMode@1@XZ @ 12143 NONAME ; enum QMdiArea::ViewMode QMdiArea::viewMode(void) const
+ ?setFirstColumnSpanned@QTreeWidgetItem@@QAEX_N@Z @ 12144 NONAME ; void QTreeWidgetItem::setFirstColumnSpanned(bool)
+ ?trUtf8@QCheckBox@@SA?AVQString@@PBD0@Z @ 12145 NONAME ; class QString QCheckBox::trUtf8(char const *, char const *)
+ ?trUtf8@QTableView@@SA?AVQString@@PBD0@Z @ 12146 NONAME ; class QString QTableView::trUtf8(char const *, char const *)
+ ?setAccessibleText@QStandardItem@@QAEXABVQString@@@Z @ 12147 NONAME ; void QStandardItem::setAccessibleText(class QString const &)
+ ?setAlignment@QTextEdit@@QAEXV?$QFlags@W4AlignmentFlag@Qt@@@@@Z @ 12148 NONAME ; void QTextEdit::setAlignment(class QFlags<enum Qt::AlignmentFlag>)
+ ?keyboard_input_time@QApplicationPrivate@@2HA @ 12149 NONAME ; int QApplicationPrivate::keyboard_input_time
+ ?contextMenuEvent@QLineEdit@@MAEXPAVQContextMenuEvent@@@Z @ 12150 NONAME ; void QLineEdit::contextMenuEvent(class QContextMenuEvent *)
+ ??6@YAAAVQDataStream@@AAV0@ABVQListWidgetItem@@@Z @ 12151 NONAME ; class QDataStream & operator<<(class QDataStream &, class QListWidgetItem const &)
+ ?trUtf8@QGraphicsBlurEffect@@SA?AVQString@@PBD0@Z @ 12152 NONAME ; class QString QGraphicsBlurEffect::trUtf8(char const *, char const *)
+ ?setPaintDevice@QPaintEngine@@QAEXPAVQPaintDevice@@@Z @ 12153 NONAME ; void QPaintEngine::setPaintDevice(class QPaintDevice *)
+ ?clone@QStandardItem@@UBEPAV1@XZ @ 12154 NONAME ; class QStandardItem * QStandardItem::clone(void) const
+ ?resizeInlineObject@QAbstractTextDocumentLayout@@MAEXVQTextInlineObject@@HABVQTextFormat@@@Z @ 12155 NONAME ; void QAbstractTextDocumentLayout::resizeInlineObject(class QTextInlineObject, int, class QTextFormat const &)
+ ?flags@QAbstractProxyModel@@UBE?AV?$QFlags@W4ItemFlag@Qt@@@@ABVQModelIndex@@@Z @ 12156 NONAME ; class QFlags<enum Qt::ItemFlag> QAbstractProxyModel::flags(class QModelIndex const &) const
+ ?scrollContentsBy@QTreeView@@MAEXHH@Z @ 12157 NONAME ; void QTreeView::scrollContentsBy(int, int)
+ ?setVerticalSpacing@QGraphicsGridLayout@@QAEXM@Z @ 12158 NONAME ; void QGraphicsGridLayout::setVerticalSpacing(float)
+ ?setVerticalStepsPerItem@QAbstractItemView@@IAEXH@Z @ 12159 NONAME ; void QAbstractItemView::setVerticalStepsPerItem(int)
+ ?widget@QStackedLayout@@QBEPAVQWidget@@H@Z @ 12160 NONAME ; class QWidget * QStackedLayout::widget(int) const
+ ?openExternalLinks@QLabel@@QBE_NXZ @ 12161 NONAME ; bool QLabel::openExternalLinks(void) const
+ ?setLoops@QSound@@QAEXH@Z @ 12162 NONAME ; void QSound::setLoops(int)
+ ?getStaticMetaObject@QItemSelectionModel@@SAABUQMetaObject@@XZ @ 12163 NONAME ; struct QMetaObject const & QItemSelectionModel::getStaticMetaObject(void)
+ ?setCancelText@QLineControl@@QAEXABVQString@@@Z @ 12164 NONAME ; void QLineControl::setCancelText(class QString const &)
+ ?scale@QGraphicsItem@@QAEXMM@Z @ 12165 NONAME ; void QGraphicsItem::scale(float, float)
+ ?point@QPolygon@@QBEXHPAH0@Z @ 12166 NONAME ; void QPolygon::point(int, int *, int *) const
+ ??0QMovie@@QAE@PAVQObject@@@Z @ 12167 NONAME ; QMovie::QMovie(class QObject *)
+ ?d_func@QSplitter@@ABEPBVQSplitterPrivate@@XZ @ 12168 NONAME ; class QSplitterPrivate const * QSplitter::d_func(void) const
+ ??_EQWidget@@UAE@I@Z @ 12169 NONAME ; QWidget::~QWidget(unsigned int)
+ ?sizeHint@QProgressDialog@@UBE?AVQSize@@XZ @ 12170 NONAME ; class QSize QProgressDialog::sizeHint(void) const
+ ?x@QGraphicsItem@@QBEMXZ @ 12171 NONAME ; float QGraphicsItem::x(void) const
+ ?paintBackground@QWidgetPrivate@@QBEXPAVQPainter@@ABVQRegion@@H@Z @ 12172 NONAME ; void QWidgetPrivate::paintBackground(class QPainter *, class QRegion const &, int) const
+ ?metaObject@QGraphicsView@@UBEPBUQMetaObject@@XZ @ 12173 NONAME ; struct QMetaObject const * QGraphicsView::metaObject(void) const
+ ?setEmptyLabel@QUndoView@@QAEXABVQString@@@Z @ 12174 NONAME ; void QUndoView::setEmptyLabel(class QString const &)
+ ?event@QHeaderView@@MAE_NPAVQEvent@@@Z @ 12175 NONAME ; bool QHeaderView::event(class QEvent *)
+ ?pen@QAbstractGraphicsShapeItem@@QBE?AVQPen@@XZ @ 12176 NONAME ; class QPen QAbstractGraphicsShapeItem::pen(void) const
+ ?metaObject@QFontComboBox@@UBEPBUQMetaObject@@XZ @ 12177 NONAME ; struct QMetaObject const * QFontComboBox::metaObject(void) const
+ ?toPolygon@QPolygonF@@QBE?AVQPolygon@@XZ @ 12178 NONAME ; class QPolygon QPolygonF::toPolygon(void) const
+ ?oldPos@QGraphicsSceneMoveEvent@@QBE?AVQPointF@@XZ @ 12179 NONAME ; class QPointF QGraphicsSceneMoveEvent::oldPos(void) const
+ ?acceptRichText@QTextEdit@@QBE_NXZ @ 12180 NONAME ; bool QTextEdit::acceptRichText(void) const
+ ??0QTextLength@@QAE@W4Type@0@M@Z @ 12181 NONAME ; QTextLength::QTextLength(enum QTextLength::Type, float)
+ ?setWinding@QTessellator@@QAEX_N@Z @ 12182 NONAME ; void QTessellator::setWinding(bool)
+ ?setSelectionModel@QAbstractItemView@@UAEXPAVQItemSelectionModel@@@Z @ 12183 NONAME ; void QAbstractItemView::setSelectionModel(class QItemSelectionModel *)
+ ?activateWindow@QWidget@@QAEXXZ @ 12184 NONAME ; void QWidget::activateWindow(void)
+ ?pos@QGraphicsSceneMouseEvent@@QBE?AVQPointF@@XZ @ 12185 NONAME ; class QPointF QGraphicsSceneMouseEvent::pos(void) const
+ ?trUtf8@QProgressBar@@SA?AVQString@@PBD0H@Z @ 12186 NONAME ; class QString QProgressBar::trUtf8(char const *, char const *, int)
+ ?getStaticMetaObject@QFrame@@SAABUQMetaObject@@XZ @ 12187 NONAME ; struct QMetaObject const & QFrame::getStaticMetaObject(void)
+ ?orientation@QDialogButtonBox@@QBE?AW4Orientation@Qt@@XZ @ 12188 NONAME ; enum Qt::Orientation QDialogButtonBox::orientation(void) const
+ ?globalPos@QHelpEvent@@QBEABVQPoint@@XZ @ 12189 NONAME ; class QPoint const & QHelpEvent::globalPos(void) const
+ ?initializeColumn@QColumnView@@IBEXPAVQAbstractItemView@@@Z @ 12190 NONAME ; void QColumnView::initializeColumn(class QAbstractItemView *) const
+ ?keyboardPageStep@QMdiSubWindow@@QBEHXZ @ 12191 NONAME ; int QMdiSubWindow::keyboardPageStep(void) const
+ ?setTextColor@QTreeWidgetItem@@QAEXHABVQColor@@@Z @ 12192 NONAME ; void QTreeWidgetItem::setTextColor(int, class QColor const &)
+ ?addOutlineToPath@QFontEngine@@UAEXMMABUQGlyphLayout@@PAVQPainterPath@@V?$QFlags@W4RenderFlag@QTextItem@@@@@Z @ 12193 NONAME ; void QFontEngine::addOutlineToPath(float, float, struct QGlyphLayout const &, class QPainterPath *, class QFlags<enum QTextItem::RenderFlag>)
+ ?hideRow@QTableView@@QAEXH@Z @ 12194 NONAME ; void QTableView::hideRow(int)
+ ?lookAt@QMatrix4x4@@QAEAAV1@ABVQVector3D@@00@Z @ 12195 NONAME ; class QMatrix4x4 & QMatrix4x4::lookAt(class QVector3D const &, class QVector3D const &, class QVector3D const &)
+ ?takeTopLevelItem@QTreeWidget@@QAEPAVQTreeWidgetItem@@H@Z @ 12196 NONAME ; class QTreeWidgetItem * QTreeWidget::takeTopLevelItem(int)
+ ?setPopupMode@QToolButton@@QAEXW4ToolButtonPopupMode@1@@Z @ 12197 NONAME ; void QToolButton::setPopupMode(enum QToolButton::ToolButtonPopupMode)
+ ?setDragEnabled@QStandardItem@@QAEX_N@Z @ 12198 NONAME ; void QStandardItem::setDragEnabled(bool)
+ ?xTilt@QTabletEvent@@QBEHXZ @ 12199 NONAME ; int QTabletEvent::xTilt(void) const
+ ?useSizeCache@QWidgetItemV2@@ABE_NXZ @ 12200 NONAME ; bool QWidgetItemV2::useSizeCache(void) const
+ ?cursorPositionChanged@QPlainTextEdit@@IAEXXZ @ 12201 NONAME ; void QPlainTextEdit::cursorPositionChanged(void)
+ ?trUtf8@QCommonStyle@@SA?AVQString@@PBD0H@Z @ 12202 NONAME ; class QString QCommonStyle::trUtf8(char const *, char const *, int)
+ ?rowCount@QFormLayout@@QBEHXZ @ 12203 NONAME ; int QFormLayout::rowCount(void) const
+ ?setStyle@QFont@@QAEXW4Style@1@@Z @ 12204 NONAME ; void QFont::setStyle(enum QFont::Style)
+ ?maximumSize@QGraphicsLayoutItem@@QBE?AVQSizeF@@XZ @ 12205 NONAME ; class QSizeF QGraphicsLayoutItem::maximumSize(void) const
+ ?paintEvent@QSplitterHandle@@MAEXPAVQPaintEvent@@@Z @ 12206 NONAME ; void QSplitterHandle::paintEvent(class QPaintEvent *)
+ ?cursor_flash_time@QApplicationPrivate@@2HA @ 12207 NONAME ; int QApplicationPrivate::cursor_flash_time
+ ?hovered@QAction@@IAEXXZ @ 12208 NONAME ; void QAction::hovered(void)
+ ?drawPixmap@QPainter@@QAEXHHABVQPixmap@@@Z @ 12209 NONAME ; void QPainter::drawPixmap(int, int, class QPixmap const &)
+ ?heightForWidth@QFormLayout@@UBEHH@Z @ 12210 NONAME ; int QFormLayout::heightForWidth(int) const
+ ?pixmap@QIcon@@QBE?AVQPixmap@@HHW4Mode@1@W4State@1@@Z @ 12211 NONAME ; class QPixmap QIcon::pixmap(int, int, enum QIcon::Mode, enum QIcon::State) const
+ ??BQIcon@@QBE?AVQVariant@@XZ @ 12212 NONAME ; QIcon::operator class QVariant(void) const
+ ?menuBar@QMainWindow@@QBEPAVQMenuBar@@XZ @ 12213 NONAME ; class QMenuBar * QMainWindow::menuBar(void) const
+ ?trUtf8@QSplitter@@SA?AVQString@@PBD0@Z @ 12214 NONAME ; class QString QSplitter::trUtf8(char const *, char const *)
+ ?clear@QLineEdit@@QAEXXZ @ 12215 NONAME ; void QLineEdit::clear(void)
+ ?doItemsLayout@QHeaderView@@UAEXXZ @ 12216 NONAME ; void QHeaderView::doItemsLayout(void)
+ ?defaultSectionSize@QHeaderView@@QBEHXZ @ 12217 NONAME ; int QHeaderView::defaultSectionSize(void) const
+ ?setDefaultButton@QMessageBox@@QAEXW4StandardButton@1@@Z @ 12218 NONAME ; void QMessageBox::setDefaultButton(enum QMessageBox::StandardButton)
+ ?charWidth@QFontMetrics@@QBEHABVQString@@H@Z @ 12219 NONAME ; int QFontMetrics::charWidth(class QString const &, int) const
+ ?text@QTextLayout@@QBE?AVQString@@XZ @ 12220 NONAME ; class QString QTextLayout::text(void) const
+ ?setItemPrototype@QTableWidget@@QAEXPBVQTableWidgetItem@@@Z @ 12221 NONAME ; void QTableWidget::setItemPrototype(class QTableWidgetItem const *)
+ ?d_func@QPicture@@AAEPAVQPicturePrivate@@XZ @ 12222 NONAME ; class QPicturePrivate * QPicture::d_func(void)
+ ?setCursorWidth@QTextEdit@@QAEXH@Z @ 12223 NONAME ; void QTextEdit::setCursorWidth(int)
+ ?insertRows@QTextTable@@QAEXHH@Z @ 12224 NONAME ; void QTextTable::insertRows(int, int)
+ ?isObscuredBy@QGraphicsSimpleTextItem@@UBE_NPBVQGraphicsItem@@@Z @ 12225 NONAME ; bool QGraphicsSimpleTextItem::isObscuredBy(class QGraphicsItem const *) const
+ ?setAutoDefault@QPushButton@@QAEX_N@Z @ 12226 NONAME ; void QPushButton::setAutoDefault(bool)
+ ?initialize@QApplicationPrivate@@QAEXXZ @ 12227 NONAME ; void QApplicationPrivate::initialize(void)
+ ?stopAutoScroll@QAbstractItemView@@IAEXXZ @ 12228 NONAME ; void QAbstractItemView::stopAutoScroll(void)
+ ?insertImage@QTextCursor@@QAEXABVQTextImageFormat@@@Z @ 12229 NONAME ; void QTextCursor::insertImage(class QTextImageFormat const &)
+ ?setPicture@QPictureIO@@QAEXABVQPicture@@@Z @ 12230 NONAME ; void QPictureIO::setPicture(class QPicture const &)
+ ?metaObject@QAbstractProxyModel@@UBEPBUQMetaObject@@XZ @ 12231 NONAME ; struct QMetaObject const * QAbstractProxyModel::metaObject(void) const
+ ?brush@QPainter@@QBEABVQBrush@@XZ @ 12232 NONAME ; class QBrush const & QPainter::brush(void) const
+ ?process@QPainterReplayer@@QAEXABUQPaintBufferCommand@@@Z @ 12233 NONAME ; void QPainterReplayer::process(struct QPaintBufferCommand const &)
+ ?staticMetaObject@QAbstractItemView@@2UQMetaObject@@B @ 12234 NONAME ; struct QMetaObject const QAbstractItemView::staticMetaObject
+ ?createRecursively@QWidgetPrivate@@QAEXXZ @ 12235 NONAME ; void QWidgetPrivate::createRecursively(void)
+ ?drawLines@QPaintEngineEx@@UAEXPBVQLine@@H@Z @ 12236 NONAME ; void QPaintEngineEx::drawLines(class QLine const *, int)
+ ??1QStyleFactoryInterface@@UAE@XZ @ 12237 NONAME ; QStyleFactoryInterface::~QStyleFactoryInterface(void)
+ ??_EQTextBlockUserData@@UAE@I@Z @ 12238 NONAME ; QTextBlockUserData::~QTextBlockUserData(unsigned int)
+ ?init@Parser@QCss@@QAEXABVQString@@_N@Z @ 12239 NONAME ; void QCss::Parser::init(class QString const &, bool)
+ ?reload@QTextBrowser@@UAEXXZ @ 12240 NONAME ; void QTextBrowser::reload(void)
+ ?qDrawWinPanel@@YAXPAVQPainter@@ABVQRect@@ABVQPalette@@_NPBVQBrush@@@Z @ 12241 NONAME ; void qDrawWinPanel(class QPainter *, class QRect const &, class QPalette const &, bool, class QBrush const *)
+ ?count@QStackedWidget@@QBEHXZ @ 12242 NONAME ; int QStackedWidget::count(void) const
+ ?tabPosition@QMdiArea@@QBE?AW4TabPosition@QTabWidget@@XZ @ 12243 NONAME ; enum QTabWidget::TabPosition QMdiArea::tabPosition(void) const
+ ?pixmapData@QPixmap@@QBEPAVQPixmapData@@XZ @ 12244 NONAME ; class QPixmapData * QPixmap::pixmapData(void) const
+ ?fixedPitch@QFontInfo@@QBE_NXZ @ 12245 NONAME ; bool QFontInfo::fixedPitch(void) const
+ ?geometry@QWidget@@QBEABVQRect@@XZ @ 12246 NONAME ; class QRect const & QWidget::geometry(void) const
+ ?position@QTextFrameFormat@@QBE?AW4Position@1@XZ @ 12247 NONAME ; enum QTextFrameFormat::Position QTextFrameFormat::position(void) const
+ ?toRgb@QColor@@QBE?AV1@XZ @ 12248 NONAME ; class QColor QColor::toRgb(void) const
+ ?trUtf8@QErrorMessage@@SA?AVQString@@PBD0H@Z @ 12249 NONAME ; class QString QErrorMessage::trUtf8(char const *, char const *, int)
+ ?addToolBar@QMainWindow@@QAEXW4ToolBarArea@Qt@@PAVQToolBar@@@Z @ 12250 NONAME ; void QMainWindow::addToolBar(enum Qt::ToolBarArea, class QToolBar *)
+ ?end@QTextBlock@@QBE?AViterator@1@XZ @ 12251 NONAME ; class QTextBlock::iterator QTextBlock::end(void) const
+ ??0QDoubleValidator@@QAE@NNHPAVQObject@@@Z @ 12252 NONAME ; QDoubleValidator::QDoubleValidator(double, double, int, class QObject *)
+ ??6@YA?AVQDebug@@V0@ABVQVector4D@@@Z @ 12253 NONAME ; class QDebug operator<<(class QDebug, class QVector4D const &)
+ ?setOpacity@QGraphicsOpacityEffect@@QAEXM@Z @ 12254 NONAME ; void QGraphicsOpacityEffect::setOpacity(float)
+ ?source@QDropEvent@@QBEPAVQWidget@@XZ @ 12255 NONAME ; class QWidget * QDropEvent::source(void) const
+ ?setOffset@QImage@@QAEXABVQPoint@@@Z @ 12256 NONAME ; void QImage::setOffset(class QPoint const &)
+ ?paintEvent@QRubberBand@@MAEXPAVQPaintEvent@@@Z @ 12257 NONAME ; void QRubberBand::paintEvent(class QPaintEvent *)
+ ?setFont@QAction@@QAEXABVQFont@@@Z @ 12258 NONAME ; void QAction::setFont(class QFont const &)
+ ?leaveWhatsThisMode@QWhatsThis@@SAXXZ @ 12259 NONAME ; void QWhatsThis::leaveWhatsThisMode(void)
+ ??0QImage@@QAE@ABV0@@Z @ 12260 NONAME ; QImage::QImage(class QImage const &)
+ ?draw@QPaintEngineEx@@UAEXABVQVectorPath@@@Z @ 12261 NONAME ; void QPaintEngineEx::draw(class QVectorPath const &)
+ ?setIndent@QLabel@@QAEXH@Z @ 12262 NONAME ; void QLabel::setIndent(int)
+ ?document@QTextControl@@QBEPAVQTextDocument@@XZ @ 12263 NONAME ; class QTextDocument * QTextControl::document(void) const
+ ??0QTextOption@@QAE@V?$QFlags@W4AlignmentFlag@Qt@@@@@Z @ 12264 NONAME ; QTextOption::QTextOption(class QFlags<enum Qt::AlignmentFlag>)
+ ?icon@QListWidgetItem@@QBE?AVQIcon@@XZ @ 12265 NONAME ; class QIcon QListWidgetItem::icon(void) const
+ ?trUtf8@QImageIOPlugin@@SA?AVQString@@PBD0@Z @ 12266 NONAME ; class QString QImageIOPlugin::trUtf8(char const *, char const *)
+ ?styleChange@QWidget@@MAEXAAVQStyle@@@Z @ 12267 NONAME ; void QWidget::styleChange(class QStyle &)
+ ?qt_metacall@QDialog@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 12268 NONAME ; int QDialog::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?inputContext@QWidgetPrivate@@QBEPAVQInputContext@@XZ @ 12269 NONAME ; class QInputContext * QWidgetPrivate::inputContext(void) const
+ ?d_func@QErrorMessage@@AAEPAVQErrorMessagePrivate@@XZ @ 12270 NONAME ; class QErrorMessagePrivate * QErrorMessage::d_func(void)
+ ?HandleStatusPaneSizeChange@QS60MainAppUi@@UAEXXZ @ 12271 NONAME ; void QS60MainAppUi::HandleStatusPaneSizeChange(void)
+ ?getStaticMetaObject@QPixmapConvolutionFilter@@SAABUQMetaObject@@XZ @ 12272 NONAME ; struct QMetaObject const & QPixmapConvolutionFilter::getStaticMetaObject(void)
+ ?foreground@QTableWidgetItem@@QBE?AVQBrush@@XZ @ 12273 NONAME ; class QBrush QTableWidgetItem::foreground(void) const
+ ?childCount@QTreeWidgetItem@@QBEHXZ @ 12274 NONAME ; int QTreeWidgetItem::childCount(void) const
+ ?focusNextPrevChild@QGraphicsWidget@@MAE_N_N@Z @ 12275 NONAME ; bool QGraphicsWidget::focusNextPrevChild(bool)
+ ?highlighted@QComboBox@@IAEXABVQString@@@Z @ 12276 NONAME ; void QComboBox::highlighted(class QString const &)
+ ?setPossibleActions@QGraphicsSceneDragDropEvent@@QAEXV?$QFlags@W4DropAction@Qt@@@@@Z @ 12277 NONAME ; void QGraphicsSceneDragDropEvent::setPossibleActions(class QFlags<enum Qt::DropAction>)
+ ?trUtf8@QColorDialog@@SA?AVQString@@PBD0H@Z @ 12278 NONAME ; class QString QColorDialog::trUtf8(char const *, char const *, int)
+ ?changeEvent@QToolBox@@MAEXPAVQEvent@@@Z @ 12279 NONAME ; void QToolBox::changeEvent(class QEvent *)
+ ?setOffset@QGraphicsDropShadowEffect@@QAEXM@Z @ 12280 NONAME ; void QGraphicsDropShadowEffect::setOffset(float)
+ ?d_func@QColorDialog@@ABEPBVQColorDialogPrivate@@XZ @ 12281 NONAME ; class QColorDialogPrivate const * QColorDialog::d_func(void) const
+ ??_EQDateTimeEdit@@UAE@I@Z @ 12282 NONAME ; QDateTimeEdit::~QDateTimeEdit(unsigned int)
+ ?setBoundary@QTextEngine@@ABEXH@Z @ 12283 NONAME ; void QTextEngine::setBoundary(int) const
+ ?sizeHint@QStackedLayout@@UBE?AVQSize@@XZ @ 12284 NONAME ; class QSize QStackedLayout::sizeHint(void) const
+ ?notchSize@QDial@@QBEHXZ @ 12285 NONAME ; int QDial::notchSize(void) const
+ ?rejected@QDialogButtonBox@@IAEXXZ @ 12286 NONAME ; void QDialogButtonBox::rejected(void)
+ ??_EQSound@@UAE@I@Z @ 12287 NONAME ; QSound::~QSound(unsigned int)
+ ?mapFromItem@QGraphicsItem@@QBE?AVQPainterPath@@PBV1@ABV2@@Z @ 12288 NONAME ; class QPainterPath QGraphicsItem::mapFromItem(class QGraphicsItem const *, class QPainterPath const &) const
+ ?elidedText@QFontMetricsF@@QBE?AVQString@@ABV2@W4TextElideMode@Qt@@MH@Z @ 12289 NONAME ; class QString QFontMetricsF::elidedText(class QString const &, enum Qt::TextElideMode, float, int) const
+ ?isEmpty@QRegion@@QBE_NXZ @ 12290 NONAME ; bool QRegion::isEmpty(void) const
+ ??0QStyleOptionFrameV2@@QAE@ABVQStyleOptionFrame@@@Z @ 12291 NONAME ; QStyleOptionFrameV2::QStyleOptionFrameV2(class QStyleOptionFrame const &)
+ ??0QGraphicsEffect@@IAE@AAVQGraphicsEffectPrivate@@PAVQObject@@@Z @ 12292 NONAME ; QGraphicsEffect::QGraphicsEffect(class QGraphicsEffectPrivate &, class QObject *)
+ ?setAutoExpandDelay@QTreeView@@QAEXH@Z @ 12293 NONAME ; void QTreeView::setAutoExpandDelay(int)
+ ?setAlignment@QGraphicsGridLayout@@QAEXPAVQGraphicsLayoutItem@@V?$QFlags@W4AlignmentFlag@Qt@@@@@Z @ 12294 NONAME ; void QGraphicsGridLayout::setAlignment(class QGraphicsLayoutItem *, class QFlags<enum Qt::AlignmentFlag>)
+ ??YQVector3D@@QAEAAV0@ABV0@@Z @ 12295 NONAME ; class QVector3D & QVector3D::operator+=(class QVector3D const &)
+ ?qt_metacall@QDataWidgetMapper@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 12296 NONAME ; int QDataWidgetMapper::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?sortByColumn@QTableView@@QAEXHW4SortOrder@Qt@@@Z @ 12297 NONAME ; void QTableView::sortByColumn(int, enum Qt::SortOrder)
+ ?qt_filedialog_open_filenames_hook@@3P6A?AVQStringList@@PAVQWidget@@ABVQString@@11PAV3@V?$QFlags@W4Option@QFileDialog@@@@@ZA @ 12298 NONAME ; class QStringList (*qt_filedialog_open_filenames_hook)(class QWidget *, class QString const &, class QString const &, class QString const &, class QString *, class QFlags<enum QFileDialog::Option>)
+ ?emitDataChanged@QTreeWidgetItem@@IAEXXZ @ 12299 NONAME ; void QTreeWidgetItem::emitDataChanged(void)
+ ??8QPen@@QBE_NABV0@@Z @ 12300 NONAME ; bool QPen::operator==(class QPen const &) const
+ ?setFilterFixedString@QSortFilterProxyModel@@QAEXABVQString@@@Z @ 12301 NONAME ; void QSortFilterProxyModel::setFilterFixedString(class QString const &)
+ ?completionPrefix@QCompleter@@QBE?AVQString@@XZ @ 12302 NONAME ; class QString QCompleter::completionPrefix(void) const
+ ??1Parser@QCss@@QAE@XZ @ 12303 NONAME ; QCss::Parser::~Parser(void)
+ ?setFormat@QSyntaxHighlighter@@IAEXHHABVQColor@@@Z @ 12304 NONAME ; void QSyntaxHighlighter::setFormat(int, int, class QColor const &)
+ ?d_func@QPlainTextDocumentLayout@@ABEPBVQPlainTextDocumentLayoutPrivate@@XZ @ 12305 NONAME ; class QPlainTextDocumentLayoutPrivate const * QPlainTextDocumentLayout::d_func(void) const
+ ?addRect@QPainterPath@@QAEXMMMM@Z @ 12306 NONAME ; void QPainterPath::addRect(float, float, float, float)
+ ?focusInEvent@QMenuBar@@MAEXPAVQFocusEvent@@@Z @ 12307 NONAME ; void QMenuBar::focusInEvent(class QFocusEvent *)
+ ?suffix@QSpinBox@@QBE?AVQString@@XZ @ 12308 NONAME ; class QString QSpinBox::suffix(void) const
+ ?exec@QDrag@@QAE?AW4DropAction@Qt@@V?$QFlags@W4DropAction@Qt@@@@@Z @ 12309 NONAME ; enum Qt::DropAction QDrag::exec(class QFlags<enum Qt::DropAction>)
+ ??1QWhatsThisClickedEvent@@UAE@XZ @ 12310 NONAME ; QWhatsThisClickedEvent::~QWhatsThisClickedEvent(void)
+ ?contains@QItemSelectionRange@@QBE_NHHABVQModelIndex@@@Z @ 12311 NONAME ; bool QItemSelectionRange::contains(int, int, class QModelIndex const &) const
+ ?setResult@QDialog@@QAEXH@Z @ 12312 NONAME ; void QDialog::setResult(int)
+ ?registerHandler@QAbstractTextDocumentLayout@@QAEXHPAVQObject@@@Z @ 12313 NONAME ; void QAbstractTextDocumentLayout::registerHandler(int, class QObject *)
+ ?invalidateFilter@QSortFilterProxyModel@@IAEXXZ @ 12314 NONAME ; void QSortFilterProxyModel::invalidateFilter(void)
+ ?tr@QMenuBar@@SA?AVQString@@PBD0H@Z @ 12315 NONAME ; class QString QMenuBar::tr(char const *, char const *, int)
+ ?toHtml@QTextControl@@QBE?AVQString@@XZ @ 12316 NONAME ; class QString QTextControl::toHtml(void) const
+ ?text@QUndoCommand@@QBE?AVQString@@XZ @ 12317 NONAME ; class QString QUndoCommand::text(void) const
+ ?scale@QTransform@@QAEAAV1@MM@Z @ 12318 NONAME ; class QTransform & QTransform::scale(float, float)
+ ?normal@QVector3D@@SA?AV1@ABV1@0@Z @ 12319 NONAME ; class QVector3D QVector3D::normal(class QVector3D const &, class QVector3D const &)
+ ?revision@QTextDocument@@QBEHXZ @ 12320 NONAME ; int QTextDocument::revision(void) const
+ ?warning@QMessageBox@@SAHPAVQWidget@@ABVQString@@1W4StandardButton@1@2@Z @ 12321 NONAME ; int QMessageBox::warning(class QWidget *, class QString const &, class QString const &, enum QMessageBox::StandardButton, enum QMessageBox::StandardButton)
+ ??1QStatusTipEvent@@UAE@XZ @ 12322 NONAME ; QStatusTipEvent::~QStatusTipEvent(void)
+ ?palette@QTextControl@@QBE?AVQPalette@@XZ @ 12323 NONAME ; class QPalette QTextControl::palette(void) const
+ ?setCurrentFont@QFontComboBox@@QAEXABVQFont@@@Z @ 12324 NONAME ; void QFontComboBox::setCurrentFont(class QFont const &)
+ ?scroll@QPixmapData@@UAE_NHHABVQRect@@@Z @ 12325 NONAME ; bool QPixmapData::scroll(int, int, class QRect const &)
+ ?emitLastWindowClosed@QApplicationPrivate@@SAXXZ @ 12326 NONAME ; void QApplicationPrivate::emitLastWindowClosed(void)
+ ?event@QPushButton@@MAE_NPAVQEvent@@@Z @ 12327 NONAME ; bool QPushButton::event(class QEvent *)
+ ?focusOutEvent@QAbstractButton@@MAEXPAVQFocusEvent@@@Z @ 12328 NONAME ; void QAbstractButton::focusOutEvent(class QFocusEvent *)
+ ?getStaticMetaObject@QPaintBufferSignalProxy@@SAABUQMetaObject@@XZ @ 12329 NONAME ; struct QMetaObject const & QPaintBufferSignalProxy::getStaticMetaObject(void)
+ ?isEnabled@QGraphicsItem@@QBE_NXZ @ 12330 NONAME ; bool QGraphicsItem::isEnabled(void) const
+ ?setStyle@QGraphicsWidget@@QAEXPAVQStyle@@@Z @ 12331 NONAME ; void QGraphicsWidget::setStyle(class QStyle *)
+ ?setPlainText@QGraphicsTextItem@@QAEXABVQString@@@Z @ 12332 NONAME ; void QGraphicsTextItem::setPlainText(class QString const &)
+ ?removeWidget@QStatusBar@@QAEXPAVQWidget@@@Z @ 12333 NONAME ; void QStatusBar::removeWidget(class QWidget *)
+ ??0QImageTextKeyLang@@QAE@PBD0@Z @ 12334 NONAME ; QImageTextKeyLang::QImageTextKeyLang(char const *, char const *)
+ ?isDetached@QPixmap@@QBE_NXZ @ 12335 NONAME ; bool QPixmap::isDetached(void) const
+ ?moveCursor@QColumnView@@MAE?AVQModelIndex@@W4CursorAction@QAbstractItemView@@V?$QFlags@W4KeyboardModifier@Qt@@@@@Z @ 12336 NONAME ; class QModelIndex QColumnView::moveCursor(enum QAbstractItemView::CursorAction, class QFlags<enum Qt::KeyboardModifier>)
+ ?getStaticMetaObject@QRubberBand@@SAABUQMetaObject@@XZ @ 12337 NONAME ; struct QMetaObject const & QRubberBand::getStaticMetaObject(void)
+ ?setPlainText@QPlainTextEdit@@QAEXABVQString@@@Z @ 12338 NONAME ; void QPlainTextEdit::setPlainText(class QString const &)
+ ?comboBoxItems@QInputDialog@@QBE?AVQStringList@@XZ @ 12339 NONAME ; class QStringList QInputDialog::comboBoxItems(void) const
+ ?qGray@@YAHI@Z @ 12340 NONAME ; int qGray(unsigned int)
+ ?wheelEvent@QAbstractSpinBox@@MAEXPAVQWheelEvent@@@Z @ 12341 NONAME ; void QAbstractSpinBox::wheelEvent(class QWheelEvent *)
+ ?updateBlock@QAbstractTextDocumentLayout@@IAEXABVQTextBlock@@@Z @ 12342 NONAME ; void QAbstractTextDocumentLayout::updateBlock(class QTextBlock const &)
+ ?pageCount@QPlainTextDocumentLayout@@UBEHXZ @ 12343 NONAME ; int QPlainTextDocumentLayout::pageCount(void) const
+ ?selectionChanged@QTableView@@MAEXABVQItemSelection@@0@Z @ 12344 NONAME ; void QTableView::selectionChanged(class QItemSelection const &, class QItemSelection const &)
+ ?cleanUp@QRegion@@CAXPAUQRegionData@1@@Z @ 12345 NONAME ; void QRegion::cleanUp(struct QRegion::QRegionData *)
+ ??0QWidgetItemV2@@QAE@PAVQWidget@@@Z @ 12346 NONAME ; QWidgetItemV2::QWidgetItemV2(class QWidget *)
+ ?getStaticMetaObject@QDirModel@@SAABUQMetaObject@@XZ @ 12347 NONAME ; struct QMetaObject const & QDirModel::getStaticMetaObject(void)
+ ?sizeHint@QMdiArea@@UBE?AVQSize@@XZ @ 12348 NONAME ; class QSize QMdiArea::sizeHint(void) const
+ ?customButtonClicked@QWizard@@IAEXH@Z @ 12349 NONAME ; void QWizard::customButtonClicked(int)
+ ?trUtf8@QMessageBox@@SA?AVQString@@PBD0@Z @ 12350 NONAME ; class QString QMessageBox::trUtf8(char const *, char const *)
+ ?getStaticMetaObject@QMovie@@SAABUQMetaObject@@XZ @ 12351 NONAME ; struct QMetaObject const & QMovie::getStaticMetaObject(void)
+ ?clear@QToolBar@@QAEXXZ @ 12352 NONAME ; void QToolBar::clear(void)
+ ?insertImage@QTextCursor@@QAEXABVQTextImageFormat@@W4Position@QTextFrameFormat@@@Z @ 12353 NONAME ; void QTextCursor::insertImage(class QTextImageFormat const &, enum QTextFrameFormat::Position)
+ ?event@QWizard@@MAE_NPAVQEvent@@@Z @ 12354 NONAME ; bool QWizard::event(class QEvent *)
+ ?qt_metacast@QIconEnginePlugin@@UAEPAXPBD@Z @ 12355 NONAME ; void * QIconEnginePlugin::qt_metacast(char const *)
+ ?drawRoundedRect@QPainter@@QAEXHHHHMMW4SizeMode@Qt@@@Z @ 12356 NONAME ; void QPainter::drawRoundedRect(int, int, int, int, float, float, enum Qt::SizeMode)
+ ?polish@QStyle@@UAEXPAVQApplication@@@Z @ 12357 NONAME ; void QStyle::polish(class QApplication *)
+ ?sceneRect@TouchPoint@QTouchEvent@@QBE?AVQRectF@@XZ @ 12358 NONAME ; class QRectF QTouchEvent::TouchPoint::sceneRect(void) const
+ ?getStaticMetaObject@QRadioButton@@SAABUQMetaObject@@XZ @ 12359 NONAME ; struct QMetaObject const & QRadioButton::getStaticMetaObject(void)
+ ?ungrabMouse@QGraphicsItem@@QAEXXZ @ 12360 NONAME ; void QGraphicsItem::ungrabMouse(void)
+ ?ownsFindBuffer@QClipboard@@QBE_NXZ @ 12361 NONAME ; bool QClipboard::ownsFindBuffer(void) const
+ ?getStaticMetaObject@QGraphicsScene@@SAABUQMetaObject@@XZ @ 12362 NONAME ; struct QMetaObject const & QGraphicsScene::getStaticMetaObject(void)
+ ?setSearchPaths@QTextBrowser@@QAEXABVQStringList@@@Z @ 12363 NONAME ; void QTextBrowser::setSearchPaths(class QStringList const &)
+ ?trUtf8@QGraphicsColorizeEffect@@SA?AVQString@@PBD0H@Z @ 12364 NONAME ; class QString QGraphicsColorizeEffect::trUtf8(char const *, char const *, int)
+ ?sectionDoubleClicked@QHeaderView@@IAEXH@Z @ 12365 NONAME ; void QHeaderView::sectionDoubleClicked(int)
+ ?popup@QMenu@@QAEXABVQPoint@@PAVQAction@@@Z @ 12366 NONAME ; void QMenu::popup(class QPoint const &, class QAction *)
+ ?setToolButtonStyle@QMainWindow@@QAEXW4ToolButtonStyle@Qt@@@Z @ 12367 NONAME ; void QMainWindow::setToolButtonStyle(enum Qt::ToolButtonStyle)
+ ?updateSceneTransformFromParent@QGraphicsItemPrivate@@UAEXXZ @ 12368 NONAME ; void QGraphicsItemPrivate::updateSceneTransformFromParent(void)
+ ?setGlobalStrut@QApplication@@SAXABVQSize@@@Z @ 12369 NONAME ; void QApplication::setGlobalStrut(class QSize const &)
+ ?isFullScreen@QWidget@@QBE_NXZ @ 12370 NONAME ; bool QWidget::isFullScreen(void) const
+ ??6@YA?AVQDebug@@V0@W4GraphicsItemFlag@QGraphicsItem@@@Z @ 12371 NONAME ; class QDebug operator<<(class QDebug, enum QGraphicsItem::GraphicsItemFlag)
+ ?currentList@QTextCursor@@QBEPAVQTextList@@XZ @ 12372 NONAME ; class QTextList * QTextCursor::currentList(void) const
+ ?select@QTextCursor@@QAEXW4SelectionType@1@@Z @ 12373 NONAME ; void QTextCursor::select(enum QTextCursor::SelectionType)
+ ?parent@QStandardItem@@QBEPAV1@XZ @ 12374 NONAME ; class QStandardItem * QStandardItem::parent(void) const
+ ?setStretch@QFont@@QAEXH@Z @ 12375 NONAME ; void QFont::setStretch(int)
+ ?qt_metacast@QSplitterHandle@@UAEPAXPBD@Z @ 12376 NONAME ; void * QSplitterHandle::qt_metacast(char const *)
+ ?setGreenF@QColor@@QAEXM@Z @ 12377 NONAME ; void QColor::setGreenF(float)
+ ?tr@QWizardPage@@SA?AVQString@@PBD0@Z @ 12378 NONAME ; class QString QWizardPage::tr(char const *, char const *)
+ ?setQuality@QPictureIO@@QAEXH@Z @ 12379 NONAME ; void QPictureIO::setQuality(int)
+ ?createCompatiblePixmapData@QPixmapData@@UBEPAV1@XZ @ 12380 NONAME ; class QPixmapData * QPixmapData::createCompatiblePixmapData(void) const
+ ?setMenuBar@QLayout@@QAEXPAVQWidget@@@Z @ 12381 NONAME ; void QLayout::setMenuBar(class QWidget *)
+ ?removeSubWindow@QMdiArea@@QAEXPAVQWidget@@@Z @ 12382 NONAME ; void QMdiArea::removeSubWindow(class QWidget *)
+ ??1QProgressDialog@@UAE@XZ @ 12383 NONAME ; QProgressDialog::~QProgressDialog(void)
+ ?isTransformed@QGraphicsView@@QBE_NXZ @ 12384 NONAME ; bool QGraphicsView::isTransformed(void) const
+ ?clearPropertyFlags@QListView@@QAEXXZ @ 12385 NONAME ; void QListView::clearPropertyFlags(void)
+ ?keyPressEvent@QMenu@@MAEXPAVQKeyEvent@@@Z @ 12386 NONAME ; void QMenu::keyPressEvent(class QKeyEvent *)
+ ?cacheStatistics@QFont@@SAXXZ @ 12387 NONAME ; void QFont::cacheStatistics(void)
+ ?tr@QMovie@@SA?AVQString@@PBD0H@Z @ 12388 NONAME ; class QString QMovie::tr(char const *, char const *, int)
+ ?qt_metacall@QWizardPage@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 12389 NONAME ; int QWizardPage::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?sort@QProxyModel@@UAEXHW4SortOrder@Qt@@@Z @ 12390 NONAME ; void QProxyModel::sort(int, enum Qt::SortOrder)
+ ?connectToModel@QProxyModel@@IBEXPBVQAbstractItemModel@@@Z @ 12391 NONAME ; void QProxyModel::connectToModel(class QAbstractItemModel const *) const
+ ?trUtf8@QWidgetResizeHandler@@SA?AVQString@@PBD0H@Z @ 12392 NONAME ; class QString QWidgetResizeHandler::trUtf8(char const *, char const *, int)
+ ?itemExpanded@QTreeWidget@@IAEXPAVQTreeWidgetItem@@@Z @ 12393 NONAME ; void QTreeWidget::itemExpanded(class QTreeWidgetItem *)
+ ?widget@QLayoutItem@@UAEPAVQWidget@@XZ @ 12394 NONAME ; class QWidget * QLayoutItem::widget(void)
+ ?setTabPosition@QMainWindow@@QAEXV?$QFlags@W4DockWidgetArea@Qt@@@@W4TabPosition@QTabWidget@@@Z @ 12395 NONAME ; void QMainWindow::setTabPosition(class QFlags<enum Qt::DockWidgetArea>, enum QTabWidget::TabPosition)
+ ?qt_metacast@QDoubleValidator@@UAEPAXPBD@Z @ 12396 NONAME ; void * QDoubleValidator::qt_metacast(char const *)
+ ?itemEntered@QListWidget@@IAEXPAVQListWidgetItem@@@Z @ 12397 NONAME ; void QListWidget::itemEntered(class QListWidgetItem *)
+ ??TQRegion@@QBE?BV0@ABV0@@Z @ 12398 NONAME ; class QRegion const QRegion::operator^(class QRegion const &) const
+ ?hideEvent@QWorkspace@@MAEXPAVQHideEvent@@@Z @ 12399 NONAME ; void QWorkspace::hideEvent(class QHideEvent *)
+ ?hideText@QToolTip@@SAXXZ @ 12400 NONAME ; void QToolTip::hideText(void)
+ ?autoClose@QProgressDialog@@QBE_NXZ @ 12401 NONAME ; bool QProgressDialog::autoClose(void) const
+ ?fitInView@QGraphicsView@@QAEXABVQRectF@@W4AspectRatioMode@Qt@@@Z @ 12402 NONAME ; void QGraphicsView::fitInView(class QRectF const &, enum Qt::AspectRatioMode)
+ ?mightBeRichText@Qt@@YA_NABVQString@@@Z @ 12403 NONAME ; bool Qt::mightBeRichText(class QString const &)
+ ??6@YAAAVQDataStream@@AAV0@ABVQTextFormat@@@Z @ 12404 NONAME ; class QDataStream & operator<<(class QDataStream &, class QTextFormat const &)
+ ?setBlockCharFormat@QTextCursor@@QAEXABVQTextCharFormat@@@Z @ 12405 NONAME ; void QTextCursor::setBlockCharFormat(class QTextCharFormat const &)
+ ??6@YA?AVQDebug@@V0@ABVQRegion@@@Z @ 12406 NONAME ; class QDebug operator<<(class QDebug, class QRegion const &)
+ ?Extension1@QCoeFepInputContext@@EAEPAVMCoeFepAwareTextEditor_Extension1@@AAH@Z @ 12407 NONAME ABSENT ; class MCoeFepAwareTextEditor_Extension1 * QCoeFepInputContext::Extension1(int &)
+ ?tr@QUndoView@@SA?AVQString@@PBD0H@Z @ 12408 NONAME ; class QString QUndoView::tr(char const *, char const *, int)
+ ?sortByColumn@QTableView@@QAEXH@Z @ 12409 NONAME ; void QTableView::sortByColumn(int)
+ ?supportedDropActions@QStringListModel@@UBE?AV?$QFlags@W4DropAction@Qt@@@@XZ @ 12410 NONAME ; class QFlags<enum Qt::DropAction> QStringListModel::supportedDropActions(void) const
+ ?dropAction@QGraphicsSceneDragDropEvent@@QBE?AW4DropAction@Qt@@XZ @ 12411 NONAME ; enum Qt::DropAction QGraphicsSceneDragDropEvent::dropAction(void) const
+ ??0QStandardItem@@QAE@ABVQString@@@Z @ 12412 NONAME ; QStandardItem::QStandardItem(class QString const &)
+ ?trUtf8@QHBoxLayout@@SA?AVQString@@PBD0H@Z @ 12413 NONAME ; class QString QHBoxLayout::trUtf8(char const *, char const *, int)
+ ?button@QPalette@@QBEABVQBrush@@XZ @ 12414 NONAME ; class QBrush const & QPalette::button(void) const
+ ?qt_metacast@QStyle@@UAEPAXPBD@Z @ 12415 NONAME ; void * QStyle::qt_metacast(char const *)
+ ?child@QUndoCommand@@QBEPBV1@H@Z @ 12416 NONAME ; class QUndoCommand const * QUndoCommand::child(int) const
+ ?setGeometry@QFormLayout@@UAEXABVQRect@@@Z @ 12417 NONAME ; void QFormLayout::setGeometry(class QRect const &)
+ ?verticalSpacing@QGridLayout@@QBEHXZ @ 12418 NONAME ; int QGridLayout::verticalSpacing(void) const
+ ?undoText@QUndoGroup@@QBE?AVQString@@XZ @ 12419 NONAME ; class QString QUndoGroup::undoText(void) const
+ ??0QImagePixmapCleanupHooks@@QAE@XZ @ 12420 NONAME ; QImagePixmapCleanupHooks::QImagePixmapCleanupHooks(void)
+ ?setOrientation@QDialog@@QAEXW4Orientation@Qt@@@Z @ 12421 NONAME ; void QDialog::setOrientation(enum Qt::Orientation)
+ ?testRenderHint@QPainter@@QBE_NW4RenderHint@1@@Z @ 12422 NONAME ; bool QPainter::testRenderHint(enum QPainter::RenderHint) const
+ ?staticMetaObject@QSplitterHandle@@2UQMetaObject@@B @ 12423 NONAME ; struct QMetaObject const QSplitterHandle::staticMetaObject
+ ??1QPictureFormatPlugin@@UAE@XZ @ 12424 NONAME ; QPictureFormatPlugin::~QPictureFormatPlugin(void)
+ ?clear@QTextEdit@@QAEXXZ @ 12425 NONAME ; void QTextEdit::clear(void)
+ ?pixel@QImage@@QBEIHH@Z @ 12426 NONAME ; unsigned int QImage::pixel(int, int) const
+ ?undo@QUndoGroup@@QAEXXZ @ 12427 NONAME ; void QUndoGroup::undo(void)
+ ?setQuality@QImageWriter@@QAEXH@Z @ 12428 NONAME ; void QImageWriter::setQuality(int)
+ ??0QDialogButtonBox@@QAE@V?$QFlags@W4StandardButton@QDialogButtonBox@@@@W4Orientation@Qt@@PAVQWidget@@@Z @ 12429 NONAME ; QDialogButtonBox::QDialogButtonBox(class QFlags<enum QDialogButtonBox::StandardButton>, enum Qt::Orientation, class QWidget *)
+ ?historyChanged@QTextBrowser@@IAEXXZ @ 12430 NONAME ; void QTextBrowser::historyChanged(void)
+ ?lineEdit@QComboBox@@QBEPAVQLineEdit@@XZ @ 12431 NONAME ; class QLineEdit * QComboBox::lineEdit(void) const
+ ?setStartDragDistance@QApplication@@SAXH@Z @ 12432 NONAME ; void QApplication::setStartDragDistance(int)
+ ?setItemDelegate@QAbstractItemView@@QAEXPAVQAbstractItemDelegate@@@Z @ 12433 NONAME ; void QAbstractItemView::setItemDelegate(class QAbstractItemDelegate *)
+ ?frameStrut@QWidgetPrivate@@QBE?AVQRect@@XZ @ 12434 NONAME ; class QRect QWidgetPrivate::frameStrut(void) const
+ ?tr@QErrorMessage@@SA?AVQString@@PBD0@Z @ 12435 NONAME ; class QString QErrorMessage::tr(char const *, char const *)
+ ?d_func@QTextTable@@AAEPAVQTextTablePrivate@@XZ @ 12436 NONAME ; class QTextTablePrivate * QTextTable::d_func(void)
+ ?defaultStyleSheet@QTextDocument@@QBE?AVQString@@XZ @ 12437 NONAME ; class QString QTextDocument::defaultStyleSheet(void) const
+ ?width@QItemSelectionRange@@QBEHXZ @ 12438 NONAME ; int QItemSelectionRange::width(void) const
+ ?d_func@QGestureEvent@@AAEPAVQGestureEventPrivate@@XZ @ 12439 NONAME ; class QGestureEventPrivate * QGestureEvent::d_func(void)
+ ?trUtf8@QDataWidgetMapper@@SA?AVQString@@PBD0@Z @ 12440 NONAME ; class QString QDataWidgetMapper::trUtf8(char const *, char const *)
+ ?staticMetaObject@QActionGroup@@2UQMetaObject@@B @ 12441 NONAME ; struct QMetaObject const QActionGroup::staticMetaObject
+ ?setDashPattern@QPainterPathStroker@@QAEXW4PenStyle@Qt@@@Z @ 12442 NONAME ; void QPainterPathStroker::setDashPattern(enum Qt::PenStyle)
+ ?setCurrentWidget@QToolBox@@QAEXPAVQWidget@@@Z @ 12443 NONAME ; void QToolBox::setCurrentWidget(class QWidget *)
+ ?frameRect@QFrame@@QBE?AVQRect@@XZ @ 12444 NONAME ; class QRect QFrame::frameRect(void) const
+ ?trUtf8@QGraphicsAnchor@@SA?AVQString@@PBD0H@Z @ 12445 NONAME ; class QString QGraphicsAnchor::trUtf8(char const *, char const *, int)
+ ?declarationsForNode@StyleSelector@QCss@@QAE?AV?$QVector@UDeclaration@QCss@@@@TNodePtr@12@PBD@Z @ 12446 NONAME ; class QVector<struct QCss::Declaration> QCss::StyleSelector::declarationsForNode(union QCss::StyleSelector::NodePtr, char const *)
+ ?fileName@QFileSystemModel@@QBE?AVQString@@ABVQModelIndex@@@Z @ 12447 NONAME ; class QString QFileSystemModel::fileName(class QModelIndex const &) const
+ ?itemSpacing@QGraphicsLinearLayout@@QBEMH@Z @ 12448 NONAME ; float QGraphicsLinearLayout::itemSpacing(int) const
+ ?fromData@QBitmap@@SA?AV1@ABVQSize@@PBEW4Format@QImage@@@Z @ 12449 NONAME ; class QBitmap QBitmap::fromData(class QSize const &, unsigned char const *, enum QImage::Format)
+ ?qt_metacall@QTextObject@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 12450 NONAME ; int QTextObject::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?verticalScrollbarValueChanged@QAbstractItemView@@MAEXH@Z @ 12451 NONAME ; void QAbstractItemView::verticalScrollbarValueChanged(int)
+ ?xOffset@QGraphicsDropShadowEffect@@QBEMXZ @ 12452 NONAME ; float QGraphicsDropShadowEffect::xOffset(void) const
+ ?availableSizes@QIconEngineV2@@QAE?AV?$QList@VQSize@@@@W4Mode@QIcon@@W4State@4@@Z @ 12453 NONAME ; class QList<class QSize> QIconEngineV2::availableSizes(enum QIcon::Mode, enum QIcon::State)
+ ?getStaticMetaObject@QSortFilterProxyModel@@SAABUQMetaObject@@XZ @ 12454 NONAME ; struct QMetaObject const & QSortFilterProxyModel::getStaticMetaObject(void)
+ ?restoreState@QHeaderView@@QAE_NABVQByteArray@@@Z @ 12455 NONAME ; bool QHeaderView::restoreState(class QByteArray const &)
+ ??0QStyleOptionToolBar@@QAE@ABV0@@Z @ 12456 NONAME ; QStyleOptionToolBar::QStyleOptionToolBar(class QStyleOptionToolBar const &)
+ ?brushProperty@QTextFormat@@QBE?AVQBrush@@H@Z @ 12457 NONAME ; class QBrush QTextFormat::brushProperty(int) const
+ ?topLevelAt@QApplication@@SAPAVQWidget@@HH@Z @ 12458 NONAME ; class QWidget * QApplication::topLevelAt(int, int)
+ ?setSortingEnabled@QTreeWidget@@QAEX_N@Z @ 12459 NONAME ; void QTreeWidget::setSortingEnabled(bool)
+ ?usesScrollButtons@QTabWidget@@QBE_NXZ @ 12460 NONAME ; bool QTabWidget::usesScrollButtons(void) const
+ ?changeEvent@QAbstractButton@@MAEXPAVQEvent@@@Z @ 12461 NONAME ; void QAbstractButton::changeEvent(class QEvent *)
+ ?addRow@QFormLayout@@QAEXABVQString@@PAVQWidget@@@Z @ 12462 NONAME ; void QFormLayout::addRow(class QString const &, class QWidget *)
+ ?addPath@QGraphicsScene@@QAEPAVQGraphicsPathItem@@ABVQPainterPath@@ABVQPen@@ABVQBrush@@@Z @ 12463 NONAME ; class QGraphicsPathItem * QGraphicsScene::addPath(class QPainterPath const &, class QPen const &, class QBrush const &)
+ ?d_func@QDataWidgetMapper@@ABEPBVQDataWidgetMapperPrivate@@XZ @ 12464 NONAME ; class QDataWidgetMapperPrivate const * QDataWidgetMapper::d_func(void) const
+ ?trUtf8@QDial@@SA?AVQString@@PBD0H@Z @ 12465 NONAME ; class QString QDial::trUtf8(char const *, char const *, int)
+ ?sizeHint@QSlider@@UBE?AVQSize@@XZ @ 12466 NONAME ; class QSize QSlider::sizeHint(void) const
+ ?totalHeightForWidth@QLayout@@QBEHH@Z @ 12467 NONAME ; int QLayout::totalHeightForWidth(int) const
+ ?itemFromIndex@QTreeWidget@@IBEPAVQTreeWidgetItem@@ABVQModelIndex@@@Z @ 12468 NONAME ; class QTreeWidgetItem * QTreeWidget::itemFromIndex(class QModelIndex const &) const
+ ?tr@QAction@@SA?AVQString@@PBD0H@Z @ 12469 NONAME ; class QString QAction::tr(char const *, char const *, int)
+ ?app_cspec@QApplicationPrivate@@2HA @ 12470 NONAME ; int QApplicationPrivate::app_cspec
+ ?mapFromWS@QWidgetPrivate@@QBE?AVQRect@@ABV2@@Z @ 12471 NONAME ; class QRect QWidgetPrivate::mapFromWS(class QRect const &) const
+ ?mouseMoveEvent@QTextEdit@@MAEXPAVQMouseEvent@@@Z @ 12472 NONAME ; void QTextEdit::mouseMoveEvent(class QMouseEvent *)
+ ?opaqueArea@QGraphicsPixmapItem@@UBE?AVQPainterPath@@XZ @ 12473 NONAME ; class QPainterPath QGraphicsPixmapItem::opaqueArea(void) const
+ ?calculateTabWidth@QTextEngine@@QBE?AUQFixed@@HU2@@Z @ 12474 NONAME ; struct QFixed QTextEngine::calculateTabWidth(int, struct QFixed) const
+ ?getStaticMetaObject@QHeaderView@@SAABUQMetaObject@@XZ @ 12475 NONAME ; struct QMetaObject const & QHeaderView::getStaticMetaObject(void)
+ ?isCommitPage@QWizardPage@@QBE_NXZ @ 12476 NONAME ; bool QWizardPage::isCommitPage(void) const
+ ?insertRow@QStandardItem@@QAEXHABV?$QList@PAVQStandardItem@@@@@Z @ 12477 NONAME ; void QStandardItem::insertRow(int, class QList<class QStandardItem *> const &)
+ ?row@QTextTableCell@@QBEHXZ @ 12478 NONAME ; int QTextTableCell::row(void) const
+ ?addRect@QGraphicsScene@@QAEPAVQGraphicsRectItem@@MMMMABVQPen@@ABVQBrush@@@Z @ 12479 NONAME ; class QGraphicsRectItem * QGraphicsScene::addRect(float, float, float, float, class QPen const &, class QBrush const &)
+ ??0QTableWidgetItem@@QAE@ABVQString@@H@Z @ 12480 NONAME ; QTableWidgetItem::QTableWidgetItem(class QString const &, int)
+ ?tr@QScrollBar@@SA?AVQString@@PBD0H@Z @ 12481 NONAME ; class QString QScrollBar::tr(char const *, char const *, int)
+ ?trUtf8@QGuiPlatformPlugin@@SA?AVQString@@PBD0@Z @ 12482 NONAME ; class QString QGuiPlatformPlugin::trUtf8(char const *, char const *)
+ ?tr@QDateTimeEdit@@SA?AVQString@@PBD0@Z @ 12483 NONAME ; class QString QDateTimeEdit::tr(char const *, char const *)
+ ?createState@QPaintEngineEx@@UBEPAVQPainterState@@PAV2@@Z @ 12484 NONAME ; class QPainterState * QPaintEngineEx::createState(class QPainterState *) const
+ ??0QTreeWidgetItem@@QAE@ABVQStringList@@H@Z @ 12485 NONAME ; QTreeWidgetItem::QTreeWidgetItem(class QStringList const &, int)
+ ?stripString@QLineControl@@ABE?AVQString@@ABV2@@Z @ 12486 NONAME ; class QString QLineControl::stripString(class QString const &) const
+ ?drawPicture@QPainter@@QAEXHHABVQPicture@@@Z @ 12487 NONAME ; void QPainter::drawPicture(int, int, class QPicture const &)
+ ?itemAt@QGraphicsScene@@QBEPAVQGraphicsItem@@MMABVQTransform@@@Z @ 12488 NONAME ; class QGraphicsItem * QGraphicsScene::itemAt(float, float, class QTransform const &) const
+ ?whatsThis@QAction@@QBE?AVQString@@XZ @ 12489 NONAME ; class QString QAction::whatsThis(void) const
+ ?displayFormat@QDateTimeEdit@@QBE?AVQString@@XZ @ 12490 NONAME ; class QString QDateTimeEdit::displayFormat(void) const
+ ?d_func@QGraphicsGridLayout@@ABEPBVQGraphicsGridLayoutPrivate@@XZ @ 12491 NONAME ; class QGraphicsGridLayoutPrivate const * QGraphicsGridLayout::d_func(void) const
+ ??0QTextLine@@AAE@HPAVQTextEngine@@@Z @ 12492 NONAME ; QTextLine::QTextLine(int, class QTextEngine *)
+ ?staticMetaObject@QItemDelegate@@2UQMetaObject@@B @ 12493 NONAME ; struct QMetaObject const QItemDelegate::staticMetaObject
+ ??1QFrame@@UAE@XZ @ 12494 NONAME ; QFrame::~QFrame(void)
+ ?charFormat@QTextFragment@@QBE?AVQTextCharFormat@@XZ @ 12495 NONAME ; class QTextCharFormat QTextFragment::charFormat(void) const
+ ?y@QMouseEvent@@QBEHXZ @ 12496 NONAME ; int QMouseEvent::y(void) const
+ ?setWidth@QTextFrameFormat@@QAEXM@Z @ 12497 NONAME ; void QTextFrameFormat::setWidth(float)
+ ?write@QStandardItem@@UBEXAAVQDataStream@@@Z @ 12498 NONAME ; void QStandardItem::write(class QDataStream &) const
+ ?updateCacheIfNecessary@QWidgetItemV2@@ABEXXZ @ 12499 NONAME ; void QWidgetItemV2::updateCacheIfNecessary(void) const
+ ?currentColor@QColorDialog@@QBE?AVQColor@@XZ @ 12500 NONAME ; class QColor QColorDialog::currentColor(void) const
+ ?mapToSource@QSortFilterProxyModel@@UBE?AVQModelIndex@@ABV2@@Z @ 12501 NONAME ; class QModelIndex QSortFilterProxyModel::mapToSource(class QModelIndex const &) const
+ ?parent@QFileSystemModel@@UBE?AVQModelIndex@@ABV2@@Z @ 12502 NONAME ; class QModelIndex QFileSystemModel::parent(class QModelIndex const &) const
+ ?layoutDirection@QLineControl@@QBE?AW4LayoutDirection@Qt@@XZ @ 12503 NONAME ; enum Qt::LayoutDirection QLineControl::layoutDirection(void) const
+ ?data@QSortFilterProxyModel@@UBE?AVQVariant@@ABVQModelIndex@@H@Z @ 12504 NONAME ; class QVariant QSortFilterProxyModel::data(class QModelIndex const &, int) const
+ ?setEditTriggers@QAbstractItemView@@QAEXV?$QFlags@W4EditTrigger@QAbstractItemView@@@@@Z @ 12505 NONAME ; void QAbstractItemView::setEditTriggers(class QFlags<enum QAbstractItemView::EditTrigger>)
+ ??1QGraphicsPathItem@@UAE@XZ @ 12506 NONAME ; QGraphicsPathItem::~QGraphicsPathItem(void)
+ ?event@QGraphicsScene@@MAE_NPAVQEvent@@@Z @ 12507 NONAME ; bool QGraphicsScene::event(class QEvent *)
+ ?mapToItem@QGraphicsItem@@QBE?AVQPolygonF@@PBV1@ABV2@@Z @ 12508 NONAME ; class QPolygonF QGraphicsItem::mapToItem(class QGraphicsItem const *, class QPolygonF const &) const
+ ?tr@QIconEnginePluginV2@@SA?AVQString@@PBD0@Z @ 12509 NONAME ; class QString QIconEnginePluginV2::tr(char const *, char const *)
+ ?tabCloseRequested@QTabWidget@@IAEXH@Z @ 12510 NONAME ; void QTabWidget::tabCloseRequested(int)
+ ?addPixmapDestructionHook@QImagePixmapCleanupHooks@@QAEXP6AXPAVQPixmap@@@Z@Z @ 12511 NONAME ; void QImagePixmapCleanupHooks::addPixmapDestructionHook(void (*)(class QPixmap *))
+ ?associatedGraphicsWidgets@QAction@@QBE?AV?$QList@PAVQGraphicsWidget@@@@XZ @ 12512 NONAME ; class QList<class QGraphicsWidget *> QAction::associatedGraphicsWidgets(void) const
+ ?start@QLineControl@@QBEHXZ @ 12513 NONAME ; int QLineControl::start(void) const
+ ?mousePressEvent@QGraphicsItem@@MAEXPAVQGraphicsSceneMouseEvent@@@Z @ 12514 NONAME ; void QGraphicsItem::mousePressEvent(class QGraphicsSceneMouseEvent *)
+ ?takeChild@QStandardItem@@QAEPAV1@HH@Z @ 12515 NONAME ; class QStandardItem * QStandardItem::takeChild(int, int)
+ ?tr@QPixmapColorizeFilter@@SA?AVQString@@PBD0H@Z @ 12516 NONAME ; class QString QPixmapColorizeFilter::tr(char const *, char const *, int)
+ ?standardButtons@QMessageBox@@QBE?AV?$QFlags@W4StandardButton@QMessageBox@@@@XZ @ 12517 NONAME ; class QFlags<enum QMessageBox::StandardButton> QMessageBox::standardButtons(void) const
+ ?inputMethodQuery@QPlainTextEdit@@MBE?AVQVariant@@W4InputMethodQuery@Qt@@@Z @ 12518 NONAME ; class QVariant QPlainTextEdit::inputMethodQuery(enum Qt::InputMethodQuery) const
+ ?setBackgroundBrush@QGraphicsView@@QAEXABVQBrush@@@Z @ 12519 NONAME ; void QGraphicsView::setBackgroundBrush(class QBrush const &)
+ ?scanLine@QImage@@QBEPBEH@Z @ 12520 NONAME ; unsigned char const * QImage::scanLine(int) const
+ ??1QIconEnginePluginV2@@UAE@XZ @ 12521 NONAME ; QIconEnginePluginV2::~QIconEnginePluginV2(void)
+ ?lineSpacing@QFontMetricsF@@QBEMXZ @ 12522 NONAME ; float QFontMetricsF::lineSpacing(void) const
+ ?description@QCommandLinkButton@@QBE?AVQString@@XZ @ 12523 NONAME ; class QString QCommandLinkButton::description(void) const
+ ?showEvent@QDialog@@MAEXPAVQShowEvent@@@Z @ 12524 NONAME ; void QDialog::showEvent(class QShowEvent *)
+ ?actualSize@QIcon@@QBE?AVQSize@@ABV2@W4Mode@1@W4State@1@@Z @ 12525 NONAME ; class QSize QIcon::actualSize(class QSize const &, enum QIcon::Mode, enum QIcon::State) const
+ ?trUtf8@QTextBlockGroup@@SA?AVQString@@PBD0H@Z @ 12526 NONAME ; class QString QTextBlockGroup::trUtf8(char const *, char const *, int)
+ ??4QStyleOptionTabV3@@QAEAAV0@ABVQStyleOptionTab@@@Z @ 12527 NONAME ; class QStyleOptionTabV3 & QStyleOptionTabV3::operator=(class QStyleOptionTab const &)
+ ?handlesChildEvents@QGraphicsItem@@QBE_NXZ @ 12528 NONAME ; bool QGraphicsItem::handlesChildEvents(void) const
+ ?qt_metacast@QPanGesture@@UAEPAXPBD@Z @ 12529 NONAME ; void * QPanGesture::qt_metacast(char const *)
+ ??_0QVector2D@@QAEAAV0@M@Z @ 12530 NONAME ; class QVector2D & QVector2D::operator/=(float)
+ ?event@QScrollArea@@MAE_NPAVQEvent@@@Z @ 12531 NONAME ; bool QScrollArea::event(class QEvent *)
+ ?maximumSize@QSpacerItem@@UBE?AVQSize@@XZ @ 12532 NONAME ; class QSize QSpacerItem::maximumSize(void) const
+ ?parseFontName@QFontDatabase@@CAXABVQString@@AAV2@1@Z @ 12533 NONAME ; void QFontDatabase::parseFontName(class QString const &, class QString &, class QString &)
+ ?setInputMethodHints@QGraphicsItem@@QAEXV?$QFlags@W4InputMethodHint@Qt@@@@@Z @ 12534 NONAME ; void QGraphicsItem::setInputMethodHints(class QFlags<enum Qt::InputMethodHint>)
+ ?setSortCaseSensitivity@QSortFilterProxyModel@@QAEXW4CaseSensitivity@Qt@@@Z @ 12535 NONAME ; void QSortFilterProxyModel::setSortCaseSensitivity(enum Qt::CaseSensitivity)
+ ?proxy@QStyle@@QBEPBV1@XZ @ 12536 NONAME ; class QStyle const * QStyle::proxy(void) const
+ ?setFocusHelper@QGraphicsItemPrivate@@QAEXW4FocusReason@Qt@@_N@Z @ 12537 NONAME ; void QGraphicsItemPrivate::setFocusHelper(enum Qt::FocusReason, bool)
+ ?trUtf8@QSessionManager@@SA?AVQString@@PBD0@Z @ 12538 NONAME ; class QString QSessionManager::trUtf8(char const *, char const *)
+ ?loadResource@QTextEdit@@UAE?AVQVariant@@HABVQUrl@@@Z @ 12539 NONAME ; class QVariant QTextEdit::loadResource(int, class QUrl const &)
+ ??0QStyleOptionDockWidgetV2@@IAE@H@Z @ 12540 NONAME ; QStyleOptionDockWidgetV2::QStyleOptionDockWidgetV2(int)
+ ??0QSplitter@@QAE@PAVQWidget@@@Z @ 12541 NONAME ; QSplitter::QSplitter(class QWidget *)
+ ?DocumentLengthForFep@QCoeFepInputContext@@UBEHXZ @ 12542 NONAME ABSENT ; int QCoeFepInputContext::DocumentLengthForFep(void) const
+ ??0QShowEvent@@QAE@XZ @ 12543 NONAME ; QShowEvent::QShowEvent(void)
+ ?fontEngine@QTextEngine@@QBEPAVQFontEngine@@ABUQScriptItem@@PAUQFixed@@11@Z @ 12544 NONAME ; class QFontEngine * QTextEngine::fontEngine(struct QScriptItem const &, struct QFixed *, struct QFixed *, struct QFixed *) const
+ ?leading@QTextLine@@QBEMXZ @ 12545 NONAME ; float QTextLine::leading(void) const
+ ?leadingIncluded@QTextLine@@QBE_NXZ @ 12546 NONAME ; bool QTextLine::leadingIncluded(void) const
+ ?projectedRotate@QMatrix4x4@@AAEAAV1@MMMM@Z @ 12547 NONAME ; class QMatrix4x4 & QMatrix4x4::projectedRotate(float, float, float, float)
+ ?setLeadingIncluded@QTextLine@@QAEX_N@Z @ 12548 NONAME ; void QTextLine::setLeadingIncluded(bool)
+ ?toTransform@QMatrix4x4@@QBE?AVQTransform@@XZ @ 12549 NONAME ; class QTransform QMatrix4x4::toTransform(void) const
+ ??0QStyleOptionTabWidgetFrameV2@@IAE@H@Z @ 12550 NONAME ; QStyleOptionTabWidgetFrameV2::QStyleOptionTabWidgetFrameV2(int)
+ ??0QStyleOptionTabWidgetFrameV2@@QAE@ABV0@@Z @ 12551 NONAME ; QStyleOptionTabWidgetFrameV2::QStyleOptionTabWidgetFrameV2(class QStyleOptionTabWidgetFrameV2 const &)
+ ??0QStyleOptionTabWidgetFrameV2@@QAE@ABVQStyleOptionTabWidgetFrame@@@Z @ 12552 NONAME ; QStyleOptionTabWidgetFrameV2::QStyleOptionTabWidgetFrameV2(class QStyleOptionTabWidgetFrame const &)
+ ??0QStyleOptionTabWidgetFrameV2@@QAE@XZ @ 12553 NONAME ; QStyleOptionTabWidgetFrameV2::QStyleOptionTabWidgetFrameV2(void)
+ ??1QStyleOptionTabWidgetFrameV2@@QAE@XZ @ 12554 NONAME ; QStyleOptionTabWidgetFrameV2::~QStyleOptionTabWidgetFrameV2(void)
+ ??4QStyleOptionTabWidgetFrameV2@@QAEAAV0@ABVQStyleOptionTabWidgetFrame@@@Z @ 12555 NONAME ; class QStyleOptionTabWidgetFrameV2 & QStyleOptionTabWidgetFrameV2::operator=(class QStyleOptionTabWidgetFrame const &)
+ ?accept@QGestureEvent@@QAEXW4GestureType@Qt@@@Z @ 12556 NONAME ; void QGestureEvent::accept(enum Qt::GestureType)
+ ?addCacheData@QVectorPath@@QAEPAUCacheEntry@1@PAVQPaintEngineEx@@PAXP6AX1@Z@Z @ 12557 NONAME ; struct QVectorPath::CacheEntry * QVectorPath::addCacheData(class QPaintEngineEx *, void *, void (*)(void *))
+ ?availableRedoSteps@QTextDocument@@QBEHXZ @ 12558 NONAME ; int QTextDocument::availableRedoSteps(void) const
+ ?availableUndoSteps@QTextDocument@@QBEHXZ @ 12559 NONAME ; int QTextDocument::availableUndoSteps(void) const
+ ?blurRadius@QGraphicsBlurEffect@@QBEMXZ @ 12560 NONAME ; float QGraphicsBlurEffect::blurRadius(void) const
+ ?blurRadius@QGraphicsDropShadowEffect@@QBEMXZ @ 12561 NONAME ; float QGraphicsDropShadowEffect::blurRadius(void) const
+ ?blurRadius@QPixmapDropShadowFilter@@QBEMXZ @ 12562 NONAME ; float QPixmapDropShadowFilter::blurRadius(void) const
+ ?blurRadiusChanged@QGraphicsBlurEffect@@IAEXM@Z @ 12563 NONAME ; void QGraphicsBlurEffect::blurRadiusChanged(float)
+ ?blurRadiusChanged@QGraphicsDropShadowEffect@@IAEXM@Z @ 12564 NONAME ; void QGraphicsDropShadowEffect::blurRadiusChanged(float)
+ ?gestureCancelPolicy@QGesture@@QBE?AW4GestureCancelPolicy@1@XZ @ 12565 NONAME ; enum QGesture::GestureCancelPolicy QGesture::gestureCancelPolicy(void) const
+ ?ignore@QGestureEvent@@QAEXW4GestureType@Qt@@@Z @ 12566 NONAME ; void QGestureEvent::ignore(enum Qt::GestureType)
+ ?isAccepted@QGestureEvent@@QBE_NW4GestureType@Qt@@@Z @ 12567 NONAME ; bool QGestureEvent::isAccepted(enum Qt::GestureType) const
+ ?isCacheable@QVectorPath@@QBE_NXZ @ 12568 NONAME ; bool QVectorPath::isCacheable(void) const
+ ?isConvex@QVectorPath@@QBE_NXZ @ 12569 NONAME ; bool QVectorPath::isConvex(void) const
+ ?isCurved@QVectorPath@@QBE_NXZ @ 12570 NONAME ; bool QVectorPath::isCurved(void) const
+ ?lookupCacheData@QVectorPath@@QBEPAUCacheEntry@1@PAVQPaintEngineEx@@@Z @ 12571 NONAME ; struct QVectorPath::CacheEntry * QVectorPath::lookupCacheData(class QPaintEngineEx *) const
+ ?pixmap@QGraphicsEffectSource@@QBE?AVQPixmap@@W4CoordinateSystem@Qt@@PAVQPoint@@W4PixmapPadMode@1@@Z @ 12572 NONAME ; class QPixmap QGraphicsEffectSource::pixmap(enum Qt::CoordinateSystem, class QPoint *, enum QGraphicsEffectSource::PixmapPadMode) const
+ ?radius@QPixmapBlurFilter@@QBEMXZ @ 12573 NONAME ; float QPixmapBlurFilter::radius(void) const
+ ?registerGestureRecognizer@QApplication@@SA?AW4GestureType@Qt@@PAVQGestureRecognizer@@@Z @ 12574 NONAME ; enum Qt::GestureType QApplication::registerGestureRecognizer(class QGestureRecognizer *)
+ ?setAccepted@QGestureEvent@@QAEXW4GestureType@Qt@@_N@Z @ 12575 NONAME ; void QGestureEvent::setAccepted(enum Qt::GestureType, bool)
+ ?setBlurRadius@QGraphicsBlurEffect@@QAEXM@Z @ 12576 NONAME ; void QGraphicsBlurEffect::setBlurRadius(float)
+ ?setBlurRadius@QGraphicsDropShadowEffect@@QAEXM@Z @ 12577 NONAME ; void QGraphicsDropShadowEffect::setBlurRadius(float)
+ ?setBlurRadius@QPixmapDropShadowFilter@@QAEXM@Z @ 12578 NONAME ; void QPixmapDropShadowFilter::setBlurRadius(float)
+ ?setGestureCancelPolicy@QGesture@@QAEXW4GestureCancelPolicy@1@@Z @ 12579 NONAME ; void QGesture::setGestureCancelPolicy(enum QGesture::GestureCancelPolicy)
+ ?setRadius@QPixmapBlurFilter@@QAEXM@Z @ 12580 NONAME ; void QPixmapBlurFilter::setRadius(float)
+ ?topLevelChanged@QToolBar@@IAEX_N@Z @ 12581 NONAME ; void QToolBar::topLevelChanged(bool)
+ ?ungrabGesture@QWidget@@QAEXW4GestureType@Qt@@@Z @ 12582 NONAME ; void QWidget::ungrabGesture(enum Qt::GestureType)
+ ?unregisterGestureRecognizer@QApplication@@SAXW4GestureType@Qt@@@Z @ 12583 NONAME ; void QApplication::unregisterGestureRecognizer(enum Qt::GestureType)
+
diff --git a/src/s60installs/bwins/QtMultimediau.def b/src/s60installs/bwins/QtMultimediau.def
new file mode 100644
index 0000000..9bdd77b
--- /dev/null
+++ b/src/s60installs/bwins/QtMultimediau.def
@@ -0,0 +1,273 @@
+EXPORTS
+ ?format@QAudioInput@@QBE?AVQAudioFormat@@XZ @ 1 NONAME ; class QAudioFormat QAudioInput::format(void) const
+ ??9QAudioFormat@@QBE_NABV0@@Z @ 2 NONAME ; bool QAudioFormat::operator!=(class QAudioFormat const &) const
+ ?totalTime@QAudioInput@@QBE_JXZ @ 3 NONAME ; long long QAudioInput::totalTime(void) const
+ ?tr@QAudioEnginePlugin@@SA?AVQString@@PBD0@Z @ 4 NONAME ; class QString QAudioEnginePlugin::tr(char const *, char const *)
+ ?isMapped@QVideoFrame@@QBE_NXZ @ 5 NONAME ; bool QVideoFrame::isMapped(void) const
+ ?staticMetaObject@QAudioInput@@2UQMetaObject@@B @ 6 NONAME ; struct QMetaObject const QAudioInput::staticMetaObject
+ ??8QAudioFormat@@QBE_NABV0@@Z @ 7 NONAME ; bool QAudioFormat::operator==(class QAudioFormat const &) const
+ ?tr@QAudioOutput@@SA?AVQString@@PBD0@Z @ 8 NONAME ; class QString QAudioOutput::tr(char const *, char const *)
+ ?tr@QAbstractVideoSurface@@SA?AVQString@@PBD0@Z @ 9 NONAME ; class QString QAbstractVideoSurface::tr(char const *, char const *)
+ ?width@QVideoFrame@@QBEHXZ @ 10 NONAME ; int QVideoFrame::width(void) const
+ ?setFrameSize@QVideoSurfaceFormat@@QAEXABVQSize@@W4ViewportMode@1@@Z @ 11 NONAME ; void QVideoSurfaceFormat::setFrameSize(class QSize const &, enum QVideoSurfaceFormat::ViewportMode)
+ ?trUtf8@QAbstractAudioInput@@SA?AVQString@@PBD0H@Z @ 12 NONAME ; class QString QAbstractAudioInput::trUtf8(char const *, char const *, int)
+ ?metaObject@QAbstractAudioDeviceInfo@@UBEPBUQMetaObject@@XZ @ 13 NONAME ; struct QMetaObject const * QAbstractAudioDeviceInfo::metaObject(void) const
+ ?isFormatSupported@QAbstractVideoSurface@@UBE_NABVQVideoSurfaceFormat@@PAV2@@Z @ 14 NONAME ; bool QAbstractVideoSurface::isFormatSupported(class QVideoSurfaceFormat const &, class QVideoSurfaceFormat *) const
+ ?setFieldType@QVideoFrame@@QAEXW4FieldType@1@@Z @ 15 NONAME ; void QVideoFrame::setFieldType(enum QVideoFrame::FieldType)
+ ?trUtf8@QAbstractAudioDeviceInfo@@SA?AVQString@@PBD0@Z @ 16 NONAME ; class QString QAbstractAudioDeviceInfo::trUtf8(char const *, char const *)
+ ?tr@QAbstractAudioOutput@@SA?AVQString@@PBD0@Z @ 17 NONAME ; class QString QAbstractAudioOutput::tr(char const *, char const *)
+ ??4QAudioDeviceInfo@@QAEAAV0@ABV0@@Z @ 18 NONAME ; class QAudioDeviceInfo & QAudioDeviceInfo::operator=(class QAudioDeviceInfo const &)
+ ??0QVideoFrame@@QAE@XZ @ 19 NONAME ; QVideoFrame::QVideoFrame(void)
+ ?state@QAudioOutput@@QBE?AW4State@QAudio@@XZ @ 20 NONAME ; enum QAudio::State QAudioOutput::state(void) const
+ ?qt_metacall@QAbstractAudioDeviceInfo@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 21 NONAME ; int QAbstractAudioDeviceInfo::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?deviceName@QAudioDeviceInfo@@QBE?AVQString@@XZ @ 22 NONAME ; class QString QAudioDeviceInfo::deviceName(void) const
+ ?start@QAudioOutput@@QAEPAVQIODevice@@PAV2@@Z @ 23 NONAME ; class QIODevice * QAudioOutput::start(class QIODevice *)
+ ?start@QAudioInput@@QAEPAVQIODevice@@PAV2@@Z @ 24 NONAME ; class QIODevice * QAudioInput::start(class QIODevice *)
+ ?setBufferSize@QAudioOutput@@QAEXH@Z @ 25 NONAME ; void QAudioOutput::setBufferSize(int)
+ ??6@YA?AVQDebug@@V0@ABVQVideoSurfaceFormat@@@Z @ 26 NONAME ; class QDebug operator<<(class QDebug, class QVideoSurfaceFormat const &)
+ ??_EQAbstractVideoSurface@@UAE@I@Z @ 27 NONAME ; QAbstractVideoSurface::~QAbstractVideoSurface(unsigned int)
+ ??0QAbstractVideoBuffer@@IAE@AAVQAbstractVideoBufferPrivate@@W4HandleType@0@@Z @ 28 NONAME ; QAbstractVideoBuffer::QAbstractVideoBuffer(class QAbstractVideoBufferPrivate &, enum QAbstractVideoBuffer::HandleType)
+ ?qt_metacall@QAudioInput@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 29 NONAME ; int QAudioInput::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ??4QVideoSurfaceFormat@@QAEAAV0@ABV0@@Z @ 30 NONAME ; class QVideoSurfaceFormat & QVideoSurfaceFormat::operator=(class QVideoSurfaceFormat const &)
+ ??1QAbstractVideoBuffer@@UAE@XZ @ 31 NONAME ; QAbstractVideoBuffer::~QAbstractVideoBuffer(void)
+ ?stop@QAudioOutput@@QAEXXZ @ 32 NONAME ; void QAudioOutput::stop(void)
+ ?setYuvColorSpace@QVideoSurfaceFormat@@QAEXW4YuvColorSpace@1@@Z @ 33 NONAME ; void QVideoSurfaceFormat::setYuvColorSpace(enum QVideoSurfaceFormat::YuvColorSpace)
+ ?bytesFree@QAudioOutput@@QBEHXZ @ 34 NONAME ; int QAudioOutput::bytesFree(void) const
+ ?trUtf8@QAbstractAudioOutput@@SA?AVQString@@PBD0H@Z @ 35 NONAME ; class QString QAbstractAudioOutput::trUtf8(char const *, char const *, int)
+ ??9QVideoSurfaceFormat@@QBE_NABV0@@Z @ 36 NONAME ; bool QVideoSurfaceFormat::operator!=(class QVideoSurfaceFormat const &) const
+ ?size@QVideoFrame@@QBE?AVQSize@@XZ @ 37 NONAME ; class QSize QVideoFrame::size(void) const
+ ?d_func@QAbstractVideoSurface@@AAEPAVQAbstractVideoSurfacePrivate@@XZ @ 38 NONAME ; class QAbstractVideoSurfacePrivate * QAbstractVideoSurface::d_func(void)
+ ?qt_metacall@QAudioEnginePlugin@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 39 NONAME ; int QAudioEnginePlugin::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ??_EQMemoryVideoBuffer@@UAE@I@Z @ 40 NONAME ; QMemoryVideoBuffer::~QMemoryVideoBuffer(unsigned int)
+ ??0QAbstractAudioInput@@QAE@XZ @ 41 NONAME ABSENT ; QAbstractAudioInput::QAbstractAudioInput(void)
+ ?bits@QVideoFrame@@QBEPBEXZ @ 42 NONAME ; unsigned char const * QVideoFrame::bits(void) const
+ ?supportedFormatsChanged@QAbstractVideoSurface@@IAEXXZ @ 43 NONAME ; void QAbstractVideoSurface::supportedFormatsChanged(void)
+ ?mapMode@QVideoFrame@@QBE?AW4MapMode@QAbstractVideoBuffer@@XZ @ 44 NONAME ; enum QAbstractVideoBuffer::MapMode QVideoFrame::mapMode(void) const
+ ?trUtf8@QAbstractAudioInput@@SA?AVQString@@PBD0@Z @ 45 NONAME ; class QString QAbstractAudioInput::trUtf8(char const *, char const *)
+ ?trUtf8@QAudioOutput@@SA?AVQString@@PBD0@Z @ 46 NONAME ; class QString QAudioOutput::trUtf8(char const *, char const *)
+ ?setSampleType@QAudioFormat@@QAEXW4SampleType@1@@Z @ 47 NONAME ; void QAudioFormat::setSampleType(enum QAudioFormat::SampleType)
+ ?format@QAudioOutput@@QBE?AVQAudioFormat@@XZ @ 48 NONAME ; class QAudioFormat QAudioOutput::format(void) const
+ ?property@QVideoSurfaceFormat@@QBE?AVQVariant@@PBD@Z @ 49 NONAME ; class QVariant QVideoSurfaceFormat::property(char const *) const
+ ?qt_metacast@QAudioOutput@@UAEPAXPBD@Z @ 50 NONAME ; void * QAudioOutput::qt_metacast(char const *)
+ ??_EQAudioOutput@@UAE@I@Z @ 51 NONAME ; QAudioOutput::~QAudioOutput(unsigned int)
+ ?yuvColorSpace@QVideoSurfaceFormat@@QBE?AW4YuvColorSpace@1@XZ @ 52 NONAME ; enum QVideoSurfaceFormat::YuvColorSpace QVideoSurfaceFormat::yuvColorSpace(void) const
+ ?supportedSampleTypes@QAudioDeviceInfo@@QBE?AV?$QList@W4SampleType@QAudioFormat@@@@XZ @ 53 NONAME ; class QList<enum QAudioFormat::SampleType> QAudioDeviceInfo::supportedSampleTypes(void) const
+ ?sizeHint@QVideoSurfaceFormat@@QBE?AVQSize@@XZ @ 54 NONAME ; class QSize QVideoSurfaceFormat::sizeHint(void) const
+ ?setError@QAbstractVideoSurface@@IAEXW4Error@1@@Z @ 55 NONAME ; void QAbstractVideoSurface::setError(enum QAbstractVideoSurface::Error)
+ ?qt_metacall@QAbstractAudioInput@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 56 NONAME ; int QAbstractAudioInput::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?isWritable@QVideoFrame@@QBE_NXZ @ 57 NONAME ; bool QVideoFrame::isWritable(void) const
+ ?sampleType@QAudioFormat@@QBE?AW4SampleType@1@XZ @ 58 NONAME ; enum QAudioFormat::SampleType QAudioFormat::sampleType(void) const
+ ??0QAudioOutput@@QAE@ABVQAudioFormat@@PAVQObject@@@Z @ 59 NONAME ; QAudioOutput::QAudioOutput(class QAudioFormat const &, class QObject *)
+ ?d_func@QMemoryVideoBuffer@@AAEPAVQMemoryVideoBufferPrivate@@XZ @ 60 NONAME ; class QMemoryVideoBufferPrivate * QMemoryVideoBuffer::d_func(void)
+ ?setProperty@QVideoSurfaceFormat@@QAEXPBDABVQVariant@@@Z @ 61 NONAME ; void QVideoSurfaceFormat::setProperty(char const *, class QVariant const &)
+ ?pixelFormat@QVideoFrame@@QBE?AW4PixelFormat@1@XZ @ 62 NONAME ; enum QVideoFrame::PixelFormat QVideoFrame::pixelFormat(void) const
+ ?mapMode@QMemoryVideoBuffer@@UBE?AW4MapMode@QAbstractVideoBuffer@@XZ @ 63 NONAME ; enum QAbstractVideoBuffer::MapMode QMemoryVideoBuffer::mapMode(void) const
+ ?qt_metacall@QAudioOutput@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 64 NONAME ; int QAudioOutput::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?fieldType@QVideoFrame@@QBE?AW4FieldType@1@XZ @ 65 NONAME ; enum QVideoFrame::FieldType QVideoFrame::fieldType(void) const
+ ?staticMetaObject@QAbstractAudioInput@@2UQMetaObject@@B @ 66 NONAME ; struct QMetaObject const QAbstractAudioInput::staticMetaObject
+ ?tr@QAbstractAudioInput@@SA?AVQString@@PBD0@Z @ 67 NONAME ; class QString QAbstractAudioInput::tr(char const *, char const *)
+ ?setByteOrder@QAudioFormat@@QAEXW4Endian@1@@Z @ 68 NONAME ; void QAudioFormat::setByteOrder(enum QAudioFormat::Endian)
+ ?qt_metacast@QAbstractAudioDeviceInfo@@UAEPAXPBD@Z @ 69 NONAME ; void * QAbstractAudioDeviceInfo::qt_metacast(char const *)
+ ?staticMetaObject@QAudioEnginePlugin@@2UQMetaObject@@B @ 70 NONAME ; struct QMetaObject const QAudioEnginePlugin::staticMetaObject
+ ??_EQAudioInput@@UAE@I@Z @ 71 NONAME ; QAudioInput::~QAudioInput(unsigned int)
+ ?clock@QAudioInput@@QBE_JXZ @ 72 NONAME ; long long QAudioInput::clock(void) const
+ ?setPixelAspectRatio@QVideoSurfaceFormat@@QAEXABVQSize@@@Z @ 73 NONAME ; void QVideoSurfaceFormat::setPixelAspectRatio(class QSize const &)
+ ?isNull@QAudioFormat@@QBE_NXZ @ 74 NONAME ; bool QAudioFormat::isNull(void) const
+ ?supportedChannels@QAudioDeviceInfo@@QBE?AV?$QList@H@@XZ @ 75 NONAME ; class QList<int> QAudioDeviceInfo::supportedChannels(void) const
+ ?getStaticMetaObject@QAudioOutput@@SAABUQMetaObject@@XZ @ 76 NONAME ; struct QMetaObject const & QAudioOutput::getStaticMetaObject(void)
+ ?stateChanged@QAbstractAudioOutput@@IAEXW4State@QAudio@@@Z @ 77 NONAME ; void QAbstractAudioOutput::stateChanged(enum QAudio::State)
+ ?d_func@QImageVideoBuffer@@AAEPAVQImageVideoBufferPrivate@@XZ @ 78 NONAME ; class QImageVideoBufferPrivate * QImageVideoBuffer::d_func(void)
+ ?unmap@QVideoFrame@@QAEXXZ @ 79 NONAME ; void QVideoFrame::unmap(void)
+ ?staticMetaObject@QAbstractAudioOutput@@2UQMetaObject@@B @ 80 NONAME ; struct QMetaObject const QAbstractAudioOutput::staticMetaObject
+ ?qt_metacast@QAbstractAudioInput@@UAEPAXPBD@Z @ 81 NONAME ; void * QAbstractAudioInput::qt_metacast(char const *)
+ ?byteOrder@QAudioFormat@@QBE?AW4Endian@1@XZ @ 82 NONAME ; enum QAudioFormat::Endian QAudioFormat::byteOrder(void) const
+ ??_EQAbstractAudioOutput@@UAE@I@Z @ 83 NONAME ; QAbstractAudioOutput::~QAbstractAudioOutput(unsigned int)
+ ?error@QAbstractVideoSurface@@QBE?AW4Error@1@XZ @ 84 NONAME ; enum QAbstractVideoSurface::Error QAbstractVideoSurface::error(void) const
+ ?d_func@QAbstractVideoBuffer@@ABEPBVQAbstractVideoBufferPrivate@@XZ @ 85 NONAME ; class QAbstractVideoBufferPrivate const * QAbstractVideoBuffer::d_func(void) const
+ ?setScanLineDirection@QVideoSurfaceFormat@@QAEXW4Direction@1@@Z @ 86 NONAME ; void QVideoSurfaceFormat::setScanLineDirection(enum QVideoSurfaceFormat::Direction)
+ ?supportedSampleSizes@QAudioDeviceInfo@@QBE?AV?$QList@H@@XZ @ 87 NONAME ; class QList<int> QAudioDeviceInfo::supportedSampleSizes(void) const
+ ??1QAudioDeviceInfo@@QAE@XZ @ 88 NONAME ; QAudioDeviceInfo::~QAudioDeviceInfo(void)
+ ??1QMemoryVideoBuffer@@UAE@XZ @ 89 NONAME ; QMemoryVideoBuffer::~QMemoryVideoBuffer(void)
+ ?nearestFormat@QAudioDeviceInfo@@QBE?AVQAudioFormat@@ABV2@@Z @ 90 NONAME ; class QAudioFormat QAudioDeviceInfo::nearestFormat(class QAudioFormat const &) const
+ ??0QVideoSurfaceFormat@@QAE@XZ @ 91 NONAME ; QVideoSurfaceFormat::QVideoSurfaceFormat(void)
+ ?trUtf8@QAudioOutput@@SA?AVQString@@PBD0H@Z @ 92 NONAME ; class QString QAudioOutput::trUtf8(char const *, char const *, int)
+ ?numBytes@QVideoFrame@@QBEHXZ @ 93 NONAME ; int QVideoFrame::numBytes(void) const
+ ?isFormatSupported@QAudioDeviceInfo@@QBE_NABVQAudioFormat@@@Z @ 94 NONAME ; bool QAudioDeviceInfo::isFormatSupported(class QAudioFormat const &) const
+ ?isNull@QAudioDeviceInfo@@QBE_NXZ @ 95 NONAME ; bool QAudioDeviceInfo::isNull(void) const
+ ?supportedByteOrders@QAudioDeviceInfo@@QBE?AV?$QList@W4Endian@QAudioFormat@@@@XZ @ 96 NONAME ; class QList<enum QAudioFormat::Endian> QAudioDeviceInfo::supportedByteOrders(void) const
+ ??0QAudioEngineFactoryInterface@@QAE@XZ @ 97 NONAME ABSENT ; QAudioEngineFactoryInterface::QAudioEngineFactoryInterface(void)
+ ?stop@QAudioInput@@QAEXXZ @ 98 NONAME ; void QAudioInput::stop(void)
+ ??0QVideoFrame@@QAE@ABVQImage@@@Z @ 99 NONAME ; QVideoFrame::QVideoFrame(class QImage const &)
+ ?setFrequency@QAudioFormat@@QAEXH@Z @ 100 NONAME ; void QAudioFormat::setFrequency(int)
+ ?realm@QAudioDeviceInfo@@ABE?AVQString@@XZ @ 101 NONAME ; class QString QAudioDeviceInfo::realm(void) const
+ ?notify@QAbstractAudioInput@@IAEXXZ @ 102 NONAME ; void QAbstractAudioInput::notify(void)
+ ?setPixelAspectRatio@QVideoSurfaceFormat@@QAEXHH@Z @ 103 NONAME ; void QVideoSurfaceFormat::setPixelAspectRatio(int, int)
+ ?getStaticMetaObject@QAbstractAudioDeviceInfo@@SAABUQMetaObject@@XZ @ 104 NONAME ; struct QMetaObject const & QAbstractAudioDeviceInfo::getStaticMetaObject(void)
+ ?notify@QAbstractAudioOutput@@IAEXXZ @ 105 NONAME ; void QAbstractAudioOutput::notify(void)
+ ?handle@QVideoFrame@@QBE?AVQVariant@@XZ @ 106 NONAME ; class QVariant QVideoFrame::handle(void) const
+ ?equivalentPixelFormat@QVideoFrame@@SA?AW4PixelFormat@1@W4Format@QImage@@@Z @ 107 NONAME ; enum QVideoFrame::PixelFormat QVideoFrame::equivalentPixelFormat(enum QImage::Format)
+ ?setNotifyInterval@QAudioInput@@QAEXH@Z @ 108 NONAME ; void QAudioInput::setNotifyInterval(int)
+ ?getStaticMetaObject@QAudioEnginePlugin@@SAABUQMetaObject@@XZ @ 109 NONAME ; struct QMetaObject const & QAudioEnginePlugin::getStaticMetaObject(void)
+ ??0QVideoFrame@@QAE@PAVQAbstractVideoBuffer@@ABVQSize@@W4PixelFormat@0@@Z @ 110 NONAME ; QVideoFrame::QVideoFrame(class QAbstractVideoBuffer *, class QSize const &, enum QVideoFrame::PixelFormat)
+ ?notifyInterval@QAudioOutput@@QBEHXZ @ 111 NONAME ; int QAudioOutput::notifyInterval(void) const
+ ??1QImageVideoBuffer@@UAE@XZ @ 112 NONAME ; QImageVideoBuffer::~QImageVideoBuffer(void)
+ ??1QAbstractAudioDeviceInfo@@UAE@XZ @ 113 NONAME ; QAbstractAudioDeviceInfo::~QAbstractAudioDeviceInfo(void)
+ ?staticMetaObject@QAudioOutput@@2UQMetaObject@@B @ 114 NONAME ; struct QMetaObject const QAudioOutput::staticMetaObject
+ ?propertyNames@QVideoSurfaceFormat@@QBE?AV?$QList@VQByteArray@@@@XZ @ 115 NONAME ; class QList<class QByteArray> QVideoSurfaceFormat::propertyNames(void) const
+ ??1QAudioEnginePlugin@@UAE@XZ @ 116 NONAME ; QAudioEnginePlugin::~QAudioEnginePlugin(void)
+ ??0QImageVideoBuffer@@QAE@ABVQImage@@@Z @ 117 NONAME ; QImageVideoBuffer::QImageVideoBuffer(class QImage const &)
+ ?frameSize@QVideoSurfaceFormat@@QBE?AVQSize@@XZ @ 118 NONAME ; class QSize QVideoSurfaceFormat::frameSize(void) const
+ ?bits@QVideoFrame@@QAEPAEXZ @ 119 NONAME ; unsigned char * QVideoFrame::bits(void)
+ ?trUtf8@QAudioEnginePlugin@@SA?AVQString@@PBD0H@Z @ 120 NONAME ; class QString QAudioEnginePlugin::trUtf8(char const *, char const *, int)
+ ??_EQAbstractAudioInput@@UAE@I@Z @ 121 NONAME ; QAbstractAudioInput::~QAbstractAudioInput(unsigned int)
+ ?error@QAudioOutput@@QBE?AW4Error@QAudio@@XZ @ 122 NONAME ; enum QAudio::Error QAudioOutput::error(void) const
+ ?d_func@QMemoryVideoBuffer@@ABEPBVQMemoryVideoBufferPrivate@@XZ @ 123 NONAME ; class QMemoryVideoBufferPrivate const * QMemoryVideoBuffer::d_func(void) const
+ ?pixelAspectRatio@QVideoSurfaceFormat@@QBE?AVQSize@@XZ @ 124 NONAME ; class QSize QVideoSurfaceFormat::pixelAspectRatio(void) const
+ ?isValid@QVideoFrame@@QBE_NXZ @ 125 NONAME ; bool QVideoFrame::isValid(void) const
+ ??4QAudioFormat@@QAEAAV0@ABV0@@Z @ 126 NONAME ; class QAudioFormat & QAudioFormat::operator=(class QAudioFormat const &)
+ ?isReadable@QVideoFrame@@QBE_NXZ @ 127 NONAME ; bool QVideoFrame::isReadable(void) const
+ ?totalTime@QAudioOutput@@QBE_JXZ @ 128 NONAME ; long long QAudioOutput::totalTime(void) const
+ ?qt_metacall@QAbstractAudioOutput@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 129 NONAME ; int QAbstractAudioOutput::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ??0QAudioOutput@@QAE@ABVQAudioDeviceInfo@@ABVQAudioFormat@@PAVQObject@@@Z @ 130 NONAME ; QAudioOutput::QAudioOutput(class QAudioDeviceInfo const &, class QAudioFormat const &, class QObject *)
+ ??0QAudioInput@@QAE@ABVQAudioDeviceInfo@@ABVQAudioFormat@@PAVQObject@@@Z @ 131 NONAME ; QAudioInput::QAudioInput(class QAudioDeviceInfo const &, class QAudioFormat const &, class QObject *)
+ ?notify@QAudioInput@@IAEXXZ @ 132 NONAME ; void QAudioInput::notify(void)
+ ?periodSize@QAudioOutput@@QBEHXZ @ 133 NONAME ; int QAudioOutput::periodSize(void) const
+ ?tr@QAudioInput@@SA?AVQString@@PBD0H@Z @ 134 NONAME ; class QString QAudioInput::tr(char const *, char const *, int)
+ ??0QAudioDeviceInfo@@QAE@XZ @ 135 NONAME ; QAudioDeviceInfo::QAudioDeviceInfo(void)
+ ?setCodec@QAudioFormat@@QAEXABVQString@@@Z @ 136 NONAME ; void QAudioFormat::setCodec(class QString const &)
+ ?tr@QAudioEnginePlugin@@SA?AVQString@@PBD0H@Z @ 137 NONAME ; class QString QAudioEnginePlugin::tr(char const *, char const *, int)
+ ?deviceList@QAudioDeviceInfo@@SA?AV?$QList@VQAudioDeviceInfo@@@@W4Mode@QAudio@@@Z @ 138 NONAME ; class QList<class QAudioDeviceInfo> QAudioDeviceInfo::deviceList(enum QAudio::Mode)
+ ?pixelFormat@QVideoSurfaceFormat@@QBE?AW4PixelFormat@QVideoFrame@@XZ @ 139 NONAME ; enum QVideoFrame::PixelFormat QVideoSurfaceFormat::pixelFormat(void) const
+ ?handleType@QVideoSurfaceFormat@@QBE?AW4HandleType@QAbstractVideoBuffer@@XZ @ 140 NONAME ; enum QAbstractVideoBuffer::HandleType QVideoSurfaceFormat::handleType(void) const
+ ?clock@QAudioOutput@@QBE_JXZ @ 141 NONAME ; long long QAudioOutput::clock(void) const
+ ?map@QMemoryVideoBuffer@@UAEPAEW4MapMode@QAbstractVideoBuffer@@PAH1@Z @ 142 NONAME ; unsigned char * QMemoryVideoBuffer::map(enum QAbstractVideoBuffer::MapMode, int *, int *)
+ ?setNotifyInterval@QAudioOutput@@QAEXH@Z @ 143 NONAME ; void QAudioOutput::setNotifyInterval(int)
+ ?start@QAbstractVideoSurface@@UAE_NABVQVideoSurfaceFormat@@@Z @ 144 NONAME ; bool QAbstractVideoSurface::start(class QVideoSurfaceFormat const &)
+ ?staticMetaObject@QAbstractVideoSurface@@2UQMetaObject@@B @ 145 NONAME ; struct QMetaObject const QAbstractVideoSurface::staticMetaObject
+ ?trUtf8@QAbstractVideoSurface@@SA?AVQString@@PBD0@Z @ 146 NONAME ; class QString QAbstractVideoSurface::trUtf8(char const *, char const *)
+ ?state@QAudioInput@@QBE?AW4State@QAudio@@XZ @ 147 NONAME ; enum QAudio::State QAudioInput::state(void) const
+ ?tr@QAbstractAudioInput@@SA?AVQString@@PBD0H@Z @ 148 NONAME ; class QString QAbstractAudioInput::tr(char const *, char const *, int)
+ ??0QAbstractAudioDeviceInfo@@QAE@XZ @ 149 NONAME ABSENT ; QAbstractAudioDeviceInfo::QAbstractAudioDeviceInfo(void)
+ ??0QVideoSurfaceFormat@@QAE@ABV0@@Z @ 150 NONAME ; QVideoSurfaceFormat::QVideoSurfaceFormat(class QVideoSurfaceFormat const &)
+ ?trUtf8@QAbstractAudioOutput@@SA?AVQString@@PBD0@Z @ 151 NONAME ; class QString QAbstractAudioOutput::trUtf8(char const *, char const *)
+ ?setStartTime@QVideoFrame@@QAEX_J@Z @ 152 NONAME ; void QVideoFrame::setStartTime(long long)
+ ?unmap@QMemoryVideoBuffer@@UAEXXZ @ 153 NONAME ; void QMemoryVideoBuffer::unmap(void)
+ ??_EQAbstractAudioDeviceInfo@@UAE@I@Z @ 154 NONAME ; QAbstractAudioDeviceInfo::~QAbstractAudioDeviceInfo(unsigned int)
+ ?setSampleSize@QAudioFormat@@QAEXH@Z @ 155 NONAME ; void QAudioFormat::setSampleSize(int)
+ ?stop@QAbstractVideoSurface@@UAEXXZ @ 156 NONAME ; void QAbstractVideoSurface::stop(void)
+ ?mode@QAudioDeviceInfo@@ABE?AW4Mode@QAudio@@XZ @ 157 NONAME ; enum QAudio::Mode QAudioDeviceInfo::mode(void) const
+ ?surfaceFormat@QAbstractVideoSurface@@QBE?AVQVideoSurfaceFormat@@XZ @ 158 NONAME ; class QVideoSurfaceFormat QAbstractVideoSurface::surfaceFormat(void) const
+ ?metaObject@QAbstractAudioOutput@@UBEPBUQMetaObject@@XZ @ 159 NONAME ; struct QMetaObject const * QAbstractAudioOutput::metaObject(void) const
+ ?trUtf8@QAbstractAudioDeviceInfo@@SA?AVQString@@PBD0H@Z @ 160 NONAME ; class QString QAbstractAudioDeviceInfo::trUtf8(char const *, char const *, int)
+ ??0QAudioFormat@@QAE@ABV0@@Z @ 161 NONAME ; QAudioFormat::QAudioFormat(class QAudioFormat const &)
+ ?viewport@QVideoSurfaceFormat@@QBE?AVQRect@@XZ @ 162 NONAME ; class QRect QVideoSurfaceFormat::viewport(void) const
+ ?bufferSize@QAudioInput@@QBEHXZ @ 163 NONAME ; int QAudioInput::bufferSize(void) const
+ ?resume@QAudioInput@@QAEXXZ @ 164 NONAME ; void QAudioInput::resume(void)
+ ?d_func@QImageVideoBuffer@@ABEPBVQImageVideoBufferPrivate@@XZ @ 165 NONAME ; class QImageVideoBufferPrivate const * QImageVideoBuffer::d_func(void) const
+ ??0QVideoSurfaceFormat@@QAE@ABVQSize@@W4PixelFormat@QVideoFrame@@W4HandleType@QAbstractVideoBuffer@@@Z @ 166 NONAME ; QVideoSurfaceFormat::QVideoSurfaceFormat(class QSize const &, enum QVideoFrame::PixelFormat, enum QAbstractVideoBuffer::HandleType)
+ ?bytesReady@QAudioInput@@QBEHXZ @ 167 NONAME ; int QAudioInput::bytesReady(void) const
+ ?error@QAudioInput@@QBE?AW4Error@QAudio@@XZ @ 168 NONAME ; enum QAudio::Error QAudioInput::error(void) const
+ ??0QAbstractVideoSurface@@QAE@PAVQObject@@@Z @ 169 NONAME ; QAbstractVideoSurface::QAbstractVideoSurface(class QObject *)
+ ?frameHeight@QVideoSurfaceFormat@@QBEHXZ @ 170 NONAME ; int QVideoSurfaceFormat::frameHeight(void) const
+ ?unmap@QImageVideoBuffer@@UAEXXZ @ 171 NONAME ; void QImageVideoBuffer::unmap(void)
+ ?tr@QAbstractAudioOutput@@SA?AVQString@@PBD0H@Z @ 172 NONAME ; class QString QAbstractAudioOutput::tr(char const *, char const *, int)
+ ?setFrameSize@QVideoSurfaceFormat@@QAEXHHW4ViewportMode@1@@Z @ 173 NONAME ; void QVideoSurfaceFormat::setFrameSize(int, int, enum QVideoSurfaceFormat::ViewportMode)
+ ??1QAbstractAudioInput@@UAE@XZ @ 174 NONAME ; QAbstractAudioInput::~QAbstractAudioInput(void)
+ ?setViewport@QVideoSurfaceFormat@@QAEXABVQRect@@@Z @ 175 NONAME ; void QVideoSurfaceFormat::setViewport(class QRect const &)
+ ?tr@QAbstractAudioDeviceInfo@@SA?AVQString@@PBD0H@Z @ 176 NONAME ; class QString QAbstractAudioDeviceInfo::tr(char const *, char const *, int)
+ ??1QAudioInput@@UAE@XZ @ 177 NONAME ; QAudioInput::~QAudioInput(void)
+ ?staticMetaObject@QAbstractAudioDeviceInfo@@2UQMetaObject@@B @ 178 NONAME ; struct QMetaObject const QAbstractAudioDeviceInfo::staticMetaObject
+ ??_EQAudioEnginePlugin@@UAE@I@Z @ 179 NONAME ; QAudioEnginePlugin::~QAudioEnginePlugin(unsigned int)
+ ?setEndTime@QVideoFrame@@QAEX_J@Z @ 180 NONAME ; void QVideoFrame::setEndTime(long long)
+ ?trUtf8@QAudioInput@@SA?AVQString@@PBD0H@Z @ 181 NONAME ; class QString QAudioInput::trUtf8(char const *, char const *, int)
+ ??0QVideoFrame@@QAE@ABV0@@Z @ 182 NONAME ; QVideoFrame::QVideoFrame(class QVideoFrame const &)
+ ?handleType@QVideoFrame@@QBE?AW4HandleType@QAbstractVideoBuffer@@XZ @ 183 NONAME ; enum QAbstractVideoBuffer::HandleType QVideoFrame::handleType(void) const
+ ?mapMode@QImageVideoBuffer@@UBE?AW4MapMode@QAbstractVideoBuffer@@XZ @ 184 NONAME ; enum QAbstractVideoBuffer::MapMode QImageVideoBuffer::mapMode(void) const
+ ?trUtf8@QAbstractVideoSurface@@SA?AVQString@@PBD0H@Z @ 185 NONAME ; class QString QAbstractVideoSurface::trUtf8(char const *, char const *, int)
+ ?tr@QAudioOutput@@SA?AVQString@@PBD0H@Z @ 186 NONAME ; class QString QAudioOutput::tr(char const *, char const *, int)
+ ?setChannels@QAudioFormat@@QAEXH@Z @ 187 NONAME ; void QAudioFormat::setChannels(int)
+ ?bufferSize@QAudioOutput@@QBEHXZ @ 188 NONAME ; int QAudioOutput::bufferSize(void) const
+ ?supportedCodecs@QAudioDeviceInfo@@QBE?AVQStringList@@XZ @ 189 NONAME ; class QStringList QAudioDeviceInfo::supportedCodecs(void) const
+ ?map@QVideoFrame@@QAE_NW4MapMode@QAbstractVideoBuffer@@@Z @ 190 NONAME ; bool QVideoFrame::map(enum QAbstractVideoBuffer::MapMode)
+ ?tr@QAbstractVideoSurface@@SA?AVQString@@PBD0H@Z @ 191 NONAME ; class QString QAbstractVideoSurface::tr(char const *, char const *, int)
+ ?periodSize@QAudioInput@@QBEHXZ @ 192 NONAME ; int QAudioInput::periodSize(void) const
+ ?setFrameRate@QVideoSurfaceFormat@@QAEXM@Z @ 193 NONAME ; void QVideoSurfaceFormat::setFrameRate(float)
+ ?equivalentImageFormat@QVideoFrame@@SA?AW4Format@QImage@@W4PixelFormat@1@@Z @ 194 NONAME ; enum QImage::Format QVideoFrame::equivalentImageFormat(enum QVideoFrame::PixelFormat)
+ ?handle@QAudioDeviceInfo@@ABE?AVQByteArray@@XZ @ 195 NONAME ; class QByteArray QAudioDeviceInfo::handle(void) const
+ ?startedChanged@QAbstractVideoSurface@@IAEX_N@Z @ 196 NONAME ; void QAbstractVideoSurface::startedChanged(bool)
+ ??0QVideoFrame@@QAE@HABVQSize@@HW4PixelFormat@0@@Z @ 197 NONAME ; QVideoFrame::QVideoFrame(int, class QSize const &, int, enum QVideoFrame::PixelFormat)
+ ?handle@QAbstractVideoBuffer@@UBE?AVQVariant@@XZ @ 198 NONAME ; class QVariant QAbstractVideoBuffer::handle(void) const
+ ?handleType@QAbstractVideoBuffer@@QBE?AW4HandleType@1@XZ @ 199 NONAME ; enum QAbstractVideoBuffer::HandleType QAbstractVideoBuffer::handleType(void) const
+ ?height@QVideoFrame@@QBEHXZ @ 200 NONAME ; int QVideoFrame::height(void) const
+ ?sampleSize@QAudioFormat@@QBEHXZ @ 201 NONAME ; int QAudioFormat::sampleSize(void) const
+ ??0QAudioFormat@@QAE@XZ @ 202 NONAME ; QAudioFormat::QAudioFormat(void)
+ ??0QAbstractVideoBuffer@@QAE@W4HandleType@0@@Z @ 203 NONAME ; QAbstractVideoBuffer::QAbstractVideoBuffer(enum QAbstractVideoBuffer::HandleType)
+ ??0QAudioDeviceInfo@@AAE@ABVQString@@ABVQByteArray@@W4Mode@QAudio@@@Z @ 204 NONAME ; QAudioDeviceInfo::QAudioDeviceInfo(class QString const &, class QByteArray const &, enum QAudio::Mode)
+ ?endTime@QVideoFrame@@QBE_JXZ @ 205 NONAME ; long long QVideoFrame::endTime(void) const
+ ?startTime@QVideoFrame@@QBE_JXZ @ 206 NONAME ; long long QVideoFrame::startTime(void) const
+ ?defaultOutputDevice@QAudioDeviceInfo@@SA?AV1@XZ @ 207 NONAME ; class QAudioDeviceInfo QAudioDeviceInfo::defaultOutputDevice(void)
+ ??1QAbstractVideoSurface@@UAE@XZ @ 208 NONAME ; QAbstractVideoSurface::~QAbstractVideoSurface(void)
+ ?suspend@QAudioOutput@@QAEXXZ @ 209 NONAME ; void QAudioOutput::suspend(void)
+ ?metaObject@QAudioOutput@@UBEPBUQMetaObject@@XZ @ 210 NONAME ; struct QMetaObject const * QAudioOutput::metaObject(void) const
+ ?metaObject@QAudioEnginePlugin@@UBEPBUQMetaObject@@XZ @ 211 NONAME ; struct QMetaObject const * QAudioEnginePlugin::metaObject(void) const
+ ??0QAbstractAudioOutput@@QAE@XZ @ 212 NONAME ABSENT ; QAbstractAudioOutput::QAbstractAudioOutput(void)
+ ?stateChanged@QAbstractAudioInput@@IAEXW4State@QAudio@@@Z @ 213 NONAME ; void QAbstractAudioInput::stateChanged(enum QAudio::State)
+ ?bytesPerLine@QVideoFrame@@QBEHXZ @ 214 NONAME ; int QVideoFrame::bytesPerLine(void) const
+ ?codec@QAudioFormat@@QBE?AVQString@@XZ @ 215 NONAME ; class QString QAudioFormat::codec(void) const
+ ?metaObject@QAbstractVideoSurface@@UBEPBUQMetaObject@@XZ @ 216 NONAME ; struct QMetaObject const * QAbstractVideoSurface::metaObject(void) const
+ ?getStaticMetaObject@QAbstractAudioInput@@SAABUQMetaObject@@XZ @ 217 NONAME ; struct QMetaObject const & QAbstractAudioInput::getStaticMetaObject(void)
+ ??0QMemoryVideoBuffer@@QAE@ABVQByteArray@@H@Z @ 218 NONAME ; QMemoryVideoBuffer::QMemoryVideoBuffer(class QByteArray const &, int)
+ ?d_func@QAbstractVideoBuffer@@AAEPAVQAbstractVideoBufferPrivate@@XZ @ 219 NONAME ; class QAbstractVideoBufferPrivate * QAbstractVideoBuffer::d_func(void)
+ ?getStaticMetaObject@QAbstractAudioOutput@@SAABUQMetaObject@@XZ @ 220 NONAME ; struct QMetaObject const & QAbstractAudioOutput::getStaticMetaObject(void)
+ ?trUtf8@QAudioEnginePlugin@@SA?AVQString@@PBD0@Z @ 221 NONAME ; class QString QAudioEnginePlugin::trUtf8(char const *, char const *)
+ ??_EQAudioEngineFactoryInterface@@UAE@I@Z @ 222 NONAME ; QAudioEngineFactoryInterface::~QAudioEngineFactoryInterface(unsigned int)
+ ??0QAbstractVideoSurface@@IAE@AAVQAbstractVideoSurfacePrivate@@PAVQObject@@@Z @ 223 NONAME ; QAbstractVideoSurface::QAbstractVideoSurface(class QAbstractVideoSurfacePrivate &, class QObject *)
+ ?qt_metacast@QAbstractVideoSurface@@UAEPAXPBD@Z @ 224 NONAME ; void * QAbstractVideoSurface::qt_metacast(char const *)
+ ?frequency@QAudioFormat@@QBEHXZ @ 225 NONAME ; int QAudioFormat::frequency(void) const
+ ?map@QImageVideoBuffer@@UAEPAEW4MapMode@QAbstractVideoBuffer@@PAH1@Z @ 226 NONAME ; unsigned char * QImageVideoBuffer::map(enum QAbstractVideoBuffer::MapMode, int *, int *)
+ ?reset@QAudioInput@@QAEXXZ @ 227 NONAME ; void QAudioInput::reset(void)
+ ??_EQImageVideoBuffer@@UAE@I@Z @ 228 NONAME ; QImageVideoBuffer::~QImageVideoBuffer(unsigned int)
+ ?setBufferSize@QAudioInput@@QAEXH@Z @ 229 NONAME ; void QAudioInput::setBufferSize(int)
+ ?qt_metacast@QAudioEnginePlugin@@UAEPAXPBD@Z @ 230 NONAME ; void * QAudioEnginePlugin::qt_metacast(char const *)
+ ??1QAudioEngineFactoryInterface@@UAE@XZ @ 231 NONAME ; QAudioEngineFactoryInterface::~QAudioEngineFactoryInterface(void)
+ ?notify@QAudioOutput@@IAEXXZ @ 232 NONAME ; void QAudioOutput::notify(void)
+ ?stateChanged@QAudioOutput@@IAEXW4State@QAudio@@@Z @ 233 NONAME ; void QAudioOutput::stateChanged(enum QAudio::State)
+ ?isStarted@QAbstractVideoSurface@@QBE_NXZ @ 234 NONAME ; bool QAbstractVideoSurface::isStarted(void) const
+ ??0QAudioDeviceInfo@@QAE@ABV0@@Z @ 235 NONAME ; QAudioDeviceInfo::QAudioDeviceInfo(class QAudioDeviceInfo const &)
+ ??1QAudioOutput@@UAE@XZ @ 236 NONAME ; QAudioOutput::~QAudioOutput(void)
+ ?tr@QAudioInput@@SA?AVQString@@PBD0@Z @ 237 NONAME ; class QString QAudioInput::tr(char const *, char const *)
+ ??_EQAbstractVideoBuffer@@UAE@I@Z @ 238 NONAME ; QAbstractVideoBuffer::~QAbstractVideoBuffer(unsigned int)
+ ?tr@QAbstractAudioDeviceInfo@@SA?AVQString@@PBD0@Z @ 239 NONAME ; class QString QAbstractAudioDeviceInfo::tr(char const *, char const *)
+ ??0QAudioInput@@QAE@ABVQAudioFormat@@PAVQObject@@@Z @ 240 NONAME ; QAudioInput::QAudioInput(class QAudioFormat const &, class QObject *)
+ ?suspend@QAudioInput@@QAEXXZ @ 241 NONAME ; void QAudioInput::suspend(void)
+ ?qt_metacall@QAbstractVideoSurface@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 242 NONAME ; int QAbstractVideoSurface::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?isValid@QVideoSurfaceFormat@@QBE_NXZ @ 243 NONAME ; bool QVideoSurfaceFormat::isValid(void) const
+ ?reset@QAudioOutput@@QAEXXZ @ 244 NONAME ; void QAudioOutput::reset(void)
+ ?defaultInputDevice@QAudioDeviceInfo@@SA?AV1@XZ @ 245 NONAME ; class QAudioDeviceInfo QAudioDeviceInfo::defaultInputDevice(void)
+ ?metaObject@QAbstractAudioInput@@UBEPBUQMetaObject@@XZ @ 246 NONAME ; struct QMetaObject const * QAbstractAudioInput::metaObject(void) const
+ ?qt_metacast@QAudioInput@@UAEPAXPBD@Z @ 247 NONAME ; void * QAudioInput::qt_metacast(char const *)
+ ?frameRate@QVideoSurfaceFormat@@QBEMXZ @ 248 NONAME ; float QVideoSurfaceFormat::frameRate(void) const
+ ??1QAudioFormat@@QAE@XZ @ 249 NONAME ; QAudioFormat::~QAudioFormat(void)
+ ?frameWidth@QVideoSurfaceFormat@@QBEHXZ @ 250 NONAME ; int QVideoSurfaceFormat::frameWidth(void) const
+ ?resume@QAudioOutput@@QAEXXZ @ 251 NONAME ; void QAudioOutput::resume(void)
+ ?trUtf8@QAudioInput@@SA?AVQString@@PBD0@Z @ 252 NONAME ; class QString QAudioInput::trUtf8(char const *, char const *)
+ ?getStaticMetaObject@QAudioInput@@SAABUQMetaObject@@XZ @ 253 NONAME ; struct QMetaObject const & QAudioInput::getStaticMetaObject(void)
+ ?scanLineDirection@QVideoSurfaceFormat@@QBE?AW4Direction@1@XZ @ 254 NONAME ; enum QVideoSurfaceFormat::Direction QVideoSurfaceFormat::scanLineDirection(void) const
+ ?d_func@QAbstractVideoSurface@@ABEPBVQAbstractVideoSurfacePrivate@@XZ @ 255 NONAME ; class QAbstractVideoSurfacePrivate const * QAbstractVideoSurface::d_func(void) const
+ ?getStaticMetaObject@QAbstractVideoSurface@@SAABUQMetaObject@@XZ @ 256 NONAME ; struct QMetaObject const & QAbstractVideoSurface::getStaticMetaObject(void)
+ ??4QVideoFrame@@QAEAAV0@ABV0@@Z @ 257 NONAME ; class QVideoFrame & QVideoFrame::operator=(class QVideoFrame const &)
+ ?supportedFrequencies@QAudioDeviceInfo@@QBE?AV?$QList@H@@XZ @ 258 NONAME ; class QList<int> QAudioDeviceInfo::supportedFrequencies(void) const
+ ??1QVideoFrame@@QAE@XZ @ 259 NONAME ; QVideoFrame::~QVideoFrame(void)
+ ??0QAudioEnginePlugin@@QAE@PAVQObject@@@Z @ 260 NONAME ; QAudioEnginePlugin::QAudioEnginePlugin(class QObject *)
+ ?notifyInterval@QAudioInput@@QBEHXZ @ 261 NONAME ; int QAudioInput::notifyInterval(void) const
+ ?channels@QAudioFormat@@QBEHXZ @ 262 NONAME ; int QAudioFormat::channels(void) const
+ ?metaObject@QAudioInput@@UBEPBUQMetaObject@@XZ @ 263 NONAME ; struct QMetaObject const * QAudioInput::metaObject(void) const
+ ?surfaceFormatChanged@QAbstractVideoSurface@@IAEXABVQVideoSurfaceFormat@@@Z @ 264 NONAME ; void QAbstractVideoSurface::surfaceFormatChanged(class QVideoSurfaceFormat const &)
+ ?stateChanged@QAudioInput@@IAEXW4State@QAudio@@@Z @ 265 NONAME ; void QAudioInput::stateChanged(enum QAudio::State)
+ ??1QAbstractAudioOutput@@UAE@XZ @ 266 NONAME ; QAbstractAudioOutput::~QAbstractAudioOutput(void)
+ ??8QVideoSurfaceFormat@@QBE_NABV0@@Z @ 267 NONAME ; bool QVideoSurfaceFormat::operator==(class QVideoSurfaceFormat const &) const
+ ?preferredFormat@QAudioDeviceInfo@@QBE?AVQAudioFormat@@XZ @ 268 NONAME ; class QAudioFormat QAudioDeviceInfo::preferredFormat(void) const
+ ?qt_metacast@QAbstractAudioOutput@@UAEPAXPBD@Z @ 269 NONAME ; void * QAbstractAudioOutput::qt_metacast(char const *)
+ ??1QVideoSurfaceFormat@@QAE@XZ @ 270 NONAME ; QVideoSurfaceFormat::~QVideoSurfaceFormat(void)
+ ??_EQAudioDeviceInfo@@QAE@I@Z @ 271 NONAME ABSENT ; QAudioDeviceInfo::~QAudioDeviceInfo(unsigned int)
+
diff --git a/src/s60installs/bwins/QtNetworku.def b/src/s60installs/bwins/QtNetworku.def
new file mode 100644
index 0000000..17e62ac
--- /dev/null
+++ b/src/s60installs/bwins/QtNetworku.def
@@ -0,0 +1,977 @@
+EXPORTS
+ ?staticMetaObject@QNetworkCookieJar@@2UQMetaObject@@B @ 1 NONAME ; struct QMetaObject const QNetworkCookieJar::staticMetaObject
+ ?setSslConfiguration@QNetworkReply@@QAEXABVQSslConfiguration@@@Z @ 2 NONAME ; void QNetworkReply::setSslConfiguration(class QSslConfiguration const &)
+ ??0QHttpHeader@@QAE@ABV0@@Z @ 3 NONAME ; QHttpHeader::QHttpHeader(class QHttpHeader const &)
+ ?d_func@QNetworkReply@@AAEPAVQNetworkReplyPrivate@@XZ @ 4 NONAME ; class QNetworkReplyPrivate * QNetworkReply::d_func(void)
+ ?setCaCertificates@QSslSocket@@QAEXABV?$QList@VQSslCertificate@@@@@Z @ 5 NONAME ; void QSslSocket::setCaCertificates(class QList<class QSslCertificate> const &)
+ ?getStaticMetaObject@QUdpSocket@@SAABUQMetaObject@@XZ @ 6 NONAME ; struct QMetaObject const & QUdpSocket::getStaticMetaObject(void)
+ ??1QLocalSocket@@UAE@XZ @ 7 NONAME ; QLocalSocket::~QLocalSocket(void)
+ ?setSocketState@QAbstractSocket@@IAEXW4SocketState@1@@Z @ 8 NONAME ; void QAbstractSocket::setSocketState(enum QAbstractSocket::SocketState)
+ ?clear@QHostAddress@@QAEXXZ @ 9 NONAME ; void QHostAddress::clear(void)
+ ?setReadable@QUrlInfo@@UAEX_N@Z @ 10 NONAME ; void QUrlInfo::setReadable(bool)
+ ?hasPendingRequests@QHttp@@QBE_NXZ @ 11 NONAME ; bool QHttp::hasPendingRequests(void) const
+ ??0QHttpHeader@@IAE@AAVQHttpHeaderPrivate@@ABV0@@Z @ 12 NONAME ; QHttpHeader::QHttpHeader(class QHttpHeaderPrivate &, class QHttpHeader const &)
+ ?sslErrors@QSslSocket@@QBE?AV?$QList@VQSslError@@@@XZ @ 13 NONAME ; class QList<class QSslError> QSslSocket::sslErrors(void) const
+ ?setPeerVerifyMode@QSslSocket@@QAEXW4PeerVerifyMode@1@@Z @ 14 NONAME ; void QSslSocket::setPeerVerifyMode(enum QSslSocket::PeerVerifyMode)
+ ??9QAuthenticator@@QBE_NABV0@@Z @ 15 NONAME ; bool QAuthenticator::operator!=(class QAuthenticator const &) const
+ ??0QAbstractNetworkCache@@IAE@AAVQAbstractNetworkCachePrivate@@PAVQObject@@@Z @ 16 NONAME ; QAbstractNetworkCache::QAbstractNetworkCache(class QAbstractNetworkCachePrivate &, class QObject *)
+ ?sslConfiguration@QNetworkRequest@@QBE?AVQSslConfiguration@@XZ @ 17 NONAME ; class QSslConfiguration QNetworkRequest::sslConfiguration(void) const
+ ??9QSslCipher@@QBE_NABV0@@Z @ 18 NONAME ; bool QSslCipher::operator!=(class QSslCipher const &) const
+ ?majorVersion@QHttpResponseHeader@@UBEHXZ @ 19 NONAME ; int QHttpResponseHeader::majorVersion(void) const
+ ?setCiphers@QSslSocket@@QAEXABVQString@@@Z @ 20 NONAME ; void QSslSocket::setCiphers(class QString const &)
+ ?requestFinished@QHttp@@IAEXH_N@Z @ 21 NONAME ; void QHttp::requestFinished(int, bool)
+ ?setSocketDescriptor@QTcpServer@@QAE_NH@Z @ 22 NONAME ; bool QTcpServer::setSocketDescriptor(int)
+ ?head@QNetworkAccessManager@@QAEPAVQNetworkReply@@ABVQNetworkRequest@@@Z @ 23 NONAME ; class QNetworkReply * QNetworkAccessManager::head(class QNetworkRequest const &)
+ ?qt_metacast@QUdpSocket@@UAEPAXPBD@Z @ 24 NONAME ; void * QUdpSocket::qt_metacast(char const *)
+ ??8QSslKey@@QBE_NABV0@@Z @ 25 NONAME ; bool QSslKey::operator==(class QSslKey const &) const
+ ??0QHttp@@QAE@ABVQString@@GPAVQObject@@@Z @ 26 NONAME ; QHttp::QHttp(class QString const &, unsigned short, class QObject *)
+ ?tr@QSslSocket@@SA?AVQString@@PBD0H@Z @ 27 NONAME ; class QString QSslSocket::tr(char const *, char const *, int)
+ ?scopeId@QHostAddress@@QBE?AVQString@@XZ @ 28 NONAME ; class QString QHostAddress::scopeId(void) const
+ ?qt_metacall@QLocalSocket@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 29 NONAME ; int QLocalSocket::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?setValue@QNetworkCookie@@QAEXABVQByteArray@@@Z @ 30 NONAME ; void QNetworkCookie::setValue(class QByteArray const &)
+ ?trUtf8@QNetworkCookieJar@@SA?AVQString@@PBD0@Z @ 31 NONAME ; class QString QNetworkCookieJar::trUtf8(char const *, char const *)
+ ?d_func@QNetworkDiskCache@@AAEPAVQNetworkDiskCachePrivate@@XZ @ 32 NONAME ; class QNetworkDiskCachePrivate * QNetworkDiskCache::d_func(void)
+ ?addCaCertificates@QSslSocket@@QAEXABV?$QList@VQSslCertificate@@@@@Z @ 33 NONAME ; void QSslSocket::addCaCertificates(class QList<class QSslCertificate> const &)
+ ?readAll@QFtp@@QAE?AVQByteArray@@XZ @ 34 NONAME ; class QByteArray QFtp::readAll(void)
+ ?setDefaultCaCertificates@QSslSocket@@SAXABV?$QList@VQSslCertificate@@@@@Z @ 35 NONAME ; void QSslSocket::setDefaultCaCertificates(class QList<class QSslCertificate> const &)
+ ?metaDataChanged@QNetworkReply@@IAEXXZ @ 36 NONAME ; void QNetworkReply::metaDataChanged(void)
+ ?issuerInfo@QSslCertificate@@QBE?AVQString@@ABVQByteArray@@@Z @ 37 NONAME ; class QString QSslCertificate::issuerInfo(class QByteArray const &) const
+ ?expirationDate@QNetworkCookie@@QBE?AVQDateTime@@XZ @ 38 NONAME ; class QDateTime QNetworkCookie::expirationDate(void) const
+ ?writeData@QAbstractSocket@@MAE_JPBD_J@Z @ 39 NONAME ; long long QAbstractSocket::writeData(char const *, long long)
+ ?qt_metacall@QFtp@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 40 NONAME ; int QFtp::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?waitForReadyRead@QLocalSocket@@UAE_NH@Z @ 41 NONAME ; bool QLocalSocket::waitForReadyRead(int)
+ ?getStaticMetaObject@QLocalSocket@@SAABUQMetaObject@@XZ @ 42 NONAME ; struct QMetaObject const & QLocalSocket::getStaticMetaObject(void)
+ ?bytesAvailable@QFtp@@QBE_JXZ @ 43 NONAME ; long long QFtp::bytesAvailable(void) const
+ ?setName@QUrlInfo@@UAEXABVQString@@@Z @ 44 NONAME ; void QUrlInfo::setName(class QString const &)
+ ?proxy@QAbstractSocket@@QBE?AVQNetworkProxy@@XZ @ 45 NONAME ; class QNetworkProxy QAbstractSocket::proxy(void) const
+ ??6@YA?AVQDebug@@V0@W4SubjectInfo@QSslCertificate@@@Z @ 46 NONAME ; class QDebug operator<<(class QDebug, enum QSslCertificate::SubjectInfo)
+ ?sslErrors@QNetworkAccessManager@@IAEXPAVQNetworkReply@@ABV?$QList@VQSslError@@@@@Z @ 47 NONAME ; void QNetworkAccessManager::sslErrors(class QNetworkReply *, class QList<class QSslError> const &)
+ ?connected@QLocalSocket@@IAEXXZ @ 48 NONAME ; void QLocalSocket::connected(void)
+ ?readyRead@QHttp@@IAEXABVQHttpResponseHeader@@@Z @ 49 NONAME ; void QHttp::readyRead(class QHttpResponseHeader const &)
+ ?currentRequest@QHttp@@QBE?AVQHttpRequestHeader@@XZ @ 50 NONAME ; class QHttpRequestHeader QHttp::currentRequest(void) const
+ ?minorVersion@QHttpRequestHeader@@UBEHXZ @ 51 NONAME ; int QHttpRequestHeader::minorVersion(void) const
+ ?setLocalPort@QNetworkProxyQuery@@QAEXH@Z @ 52 NONAME ; void QNetworkProxyQuery::setLocalPort(int)
+ ?trUtf8@QSslSocket@@SA?AVQString@@PBD0H@Z @ 53 NONAME ; class QString QSslSocket::trUtf8(char const *, char const *, int)
+ ??4QSslError@@QAEAAV0@ABV0@@Z @ 54 NONAME ; class QSslError & QSslError::operator=(class QSslError const &)
+ ?trUtf8@QAbstractSocket@@SA?AVQString@@PBD0H@Z @ 55 NONAME ; class QString QAbstractSocket::trUtf8(char const *, char const *, int)
+ ?setDefaultCiphers@QSslSocket@@SAXABV?$QList@VQSslCipher@@@@@Z @ 56 NONAME ; void QSslSocket::setDefaultCiphers(class QList<class QSslCipher> const &)
+ ??0QSslConfiguration@@AAE@PAVQSslConfigurationPrivate@@@Z @ 57 NONAME ; QSslConfiguration::QSslConfiguration(class QSslConfigurationPrivate *)
+ ?effectiveDate@QSslCertificate@@QBE?AVQDateTime@@XZ @ 58 NONAME ; class QDateTime QSslCertificate::effectiveDate(void) const
+ ??1QUrlInfo@@UAE@XZ @ 59 NONAME ; QUrlInfo::~QUrlInfo(void)
+ ??1QSslSocket@@UAE@XZ @ 60 NONAME ; QSslSocket::~QSslSocket(void)
+ ??1QNetworkReply@@UAE@XZ @ 61 NONAME ; QNetworkReply::~QNetworkReply(void)
+ ?trUtf8@QHttp@@SA?AVQString@@PBD0H@Z @ 62 NONAME ; class QString QHttp::trUtf8(char const *, char const *, int)
+ ?tr@QTcpSocket@@SA?AVQString@@PBD0H@Z @ 63 NONAME ; class QString QTcpSocket::tr(char const *, char const *, int)
+ ??_EQSslError@@QAE@I@Z @ 64 NONAME ABSENT ; QSslError::~QSslError(unsigned int)
+ ?header@QNetworkReply@@QBE?AVQVariant@@W4KnownHeaders@QNetworkRequest@@@Z @ 65 NONAME ; class QVariant QNetworkReply::header(enum QNetworkRequest::KnownHeaders) const
+ ??1QHostInfo@@QAE@XZ @ 66 NONAME ; QHostInfo::~QHostInfo(void)
+ ?tr@QLocalSocket@@SA?AVQString@@PBD0H@Z @ 67 NONAME ; class QString QLocalSocket::tr(char const *, char const *, int)
+ ?isRunning@QNetworkReply@@QBE_NXZ @ 68 NONAME ; bool QNetworkReply::isRunning(void) const
+ ?d_func@QHttpHeader@@ABEPBVQHttpHeaderPrivate@@XZ @ 69 NONAME ; class QHttpHeaderPrivate const * QHttpHeader::d_func(void) const
+ ?tr@QUdpSocket@@SA?AVQString@@PBD0@Z @ 70 NONAME ; class QString QUdpSocket::tr(char const *, char const *)
+ ?tr@QFtp@@SA?AVQString@@PBD0H@Z @ 71 NONAME ; class QString QFtp::tr(char const *, char const *, int)
+ ?setRawHeader@QNetworkRequest@@QAEXABVQByteArray@@0@Z @ 72 NONAME ; void QNetworkRequest::setRawHeader(class QByteArray const &, class QByteArray const &)
+ ?currentCommand@QFtp@@QBE?AW4Command@1@XZ @ 73 NONAME ; enum QFtp::Command QFtp::currentCommand(void) const
+ ?ciphers@QSslSocket@@QBE?AV?$QList@VQSslCipher@@@@XZ @ 74 NONAME ; class QList<class QSslCipher> QSslSocket::ciphers(void) const
+ ?listen@QLocalServer@@QAE_NABVQString@@@Z @ 75 NONAME ; bool QLocalServer::listen(class QString const &)
+ ?contentType@QHttpHeader@@QBE?AVQString@@XZ @ 76 NONAME ; class QString QHttpHeader::contentType(void) const
+ ?removeServer@QLocalServer@@SA_NABVQString@@@Z @ 77 NONAME ; bool QLocalServer::removeServer(class QString const &)
+ ?path@QNetworkCookie@@QBE?AVQString@@XZ @ 78 NONAME ; class QString QNetworkCookie::path(void) const
+ ?clearPendingCommands@QFtp@@QAEXXZ @ 79 NONAME ; void QFtp::clearPendingCommands(void)
+ ?state@QLocalSocket@@QBE?AW4LocalSocketState@1@XZ @ 80 NONAME ; enum QLocalSocket::LocalSocketState QLocalSocket::state(void) const
+ ?setReadBufferSize@QLocalSocket@@QAEX_J@Z @ 81 NONAME ; void QLocalSocket::setReadBufferSize(long long)
+ ?getStaticMetaObject@QNetworkCookieJar@@SAABUQMetaObject@@XZ @ 82 NONAME ; struct QMetaObject const & QNetworkCookieJar::getStaticMetaObject(void)
+ ?tr@QNetworkDiskCache@@SA?AVQString@@PBD0@Z @ 83 NONAME ; class QString QNetworkDiskCache::tr(char const *, char const *)
+ ?socketDescriptor@QLocalSocket@@QBEIXZ @ 84 NONAME ; unsigned int QLocalSocket::socketDescriptor(void) const
+ ?qt_metacall@QNetworkAccessManager@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 85 NONAME ; int QNetworkAccessManager::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?addCaCertificates@QSslSocket@@QAE_NABVQString@@W4EncodingFormat@QSsl@@W4PatternSyntax@QRegExp@@@Z @ 86 NONAME ; bool QSslSocket::addCaCertificates(class QString const &, enum QSsl::EncodingFormat, enum QRegExp::PatternSyntax)
+ ?isInSubnet@QHostAddress@@QBE_NABV1@H@Z @ 87 NONAME ; bool QHostAddress::isInSubnet(class QHostAddress const &, int) const
+ ??8QNetworkProxyQuery@@QBE_NABV0@@Z @ 88 NONAME ; bool QNetworkProxyQuery::operator==(class QNetworkProxyQuery const &) const
+ ?isNull@QSslKey@@QBE_NXZ @ 89 NONAME ; bool QSslKey::isNull(void) const
+ ?sslErrors@QHttp@@IAEXABV?$QList@VQSslError@@@@@Z @ 90 NONAME ; void QHttp::sslErrors(class QList<class QSslError> const &)
+ ?newConnection@QLocalServer@@IAEXXZ @ 91 NONAME ; void QLocalServer::newConnection(void)
+ ?done@QHttp@@IAEX_N@Z @ 92 NONAME ; void QHttp::done(bool)
+ ??4QNetworkCacheMetaData@@QAEAAV0@ABV0@@Z @ 93 NONAME ; class QNetworkCacheMetaData & QNetworkCacheMetaData::operator=(class QNetworkCacheMetaData const &)
+ ?staticMetaObject@QTcpSocket@@2UQMetaObject@@B @ 94 NONAME ; struct QMetaObject const QTcpSocket::staticMetaObject
+ ??9QNetworkCookie@@QBE_NABV0@@Z @ 95 NONAME ; bool QNetworkCookie::operator!=(class QNetworkCookie const &) const
+ ?rawHeaderList@QNetworkRequest@@QBE?AV?$QList@VQByteArray@@@@XZ @ 96 NONAME ; class QList<class QByteArray> QNetworkRequest::rawHeaderList(void) const
+ ?authenticationRequired@QNetworkAccessManager@@IAEXPAVQNetworkReply@@PAVQAuthenticator@@@Z @ 97 NONAME ; void QNetworkAccessManager::authenticationRequired(class QNetworkReply *, class QAuthenticator *)
+ ?trUtf8@QTcpSocket@@SA?AVQString@@PBD0H@Z @ 98 NONAME ; class QString QTcpSocket::trUtf8(char const *, char const *, int)
+ ?trUtf8@QTcpSocket@@SA?AVQString@@PBD0@Z @ 99 NONAME ; class QString QTcpSocket::trUtf8(char const *, char const *)
+ ?setProtocol@QSslSocket@@QAEXW4SslProtocol@QSsl@@@Z @ 100 NONAME ; void QSslSocket::setProtocol(enum QSsl::SslProtocol)
+ ?atEnd@QSslSocket@@UBE_NXZ @ 101 NONAME ; bool QSslSocket::atEnd(void) const
+ ?staticMetaObject@QTcpServer@@2UQMetaObject@@B @ 102 NONAME ; struct QMetaObject const QTcpServer::staticMetaObject
+ ?publicKey@QSslCertificate@@QBE?AVQSslKey@@XZ @ 103 NONAME ; class QSslKey QSslCertificate::publicKey(void) const
+ ?bytesToWrite@QAbstractSocket@@UBE_JXZ @ 104 NONAME ; long long QAbstractSocket::bytesToWrite(void) const
+ ?getStaticMetaObject@QAbstractNetworkCache@@SAABUQMetaObject@@XZ @ 105 NONAME ; struct QMetaObject const & QAbstractNetworkCache::getStaticMetaObject(void)
+ ?setCookiesFromUrl@QNetworkCookieJar@@UAE_NABV?$QList@VQNetworkCookie@@@@ABVQUrl@@@Z @ 106 NONAME ; bool QNetworkCookieJar::setCookiesFromUrl(class QList<class QNetworkCookie> const &, class QUrl const &)
+ ?responseHeaderReceived@QHttp@@IAEXABVQHttpResponseHeader@@@Z @ 107 NONAME ; void QHttp::responseHeaderReceived(class QHttpResponseHeader const &)
+ ?setCache@QNetworkAccessManager@@QAEXPAVQAbstractNetworkCache@@@Z @ 108 NONAME ; void QNetworkAccessManager::setCache(class QAbstractNetworkCache *)
+ ?ciphers@QSslConfiguration@@QBE?AV?$QList@VQSslCipher@@@@XZ @ 109 NONAME ; class QList<class QSslCipher> QSslConfiguration::ciphers(void) const
+ ?certificate@QSslError@@QBE?AVQSslCertificate@@XZ @ 110 NONAME ; class QSslCertificate QSslError::certificate(void) const
+ ?isNull@QSslConfiguration@@QBE_NXZ @ 111 NONAME ; bool QSslConfiguration::isNull(void) const
+ ?staticMetaObject@QLocalSocket@@2UQMetaObject@@B @ 112 NONAME ; struct QMetaObject const QLocalSocket::staticMetaObject
+ ?metaObject@QAbstractSocket@@UBEPBUQMetaObject@@XZ @ 113 NONAME ; struct QMetaObject const * QAbstractSocket::metaObject(void) const
+ ?isInSubnet@QHostAddress@@QBE_NABU?$QPair@VQHostAddress@@H@@@Z @ 114 NONAME ; bool QHostAddress::isInSubnet(struct QPair<class QHostAddress, int> const &) const
+ ?setPrefixLength@QNetworkAddressEntry@@QAEXH@Z @ 115 NONAME ; void QNetworkAddressEntry::setPrefixLength(int)
+ ?hasContentLength@QHttpHeader@@QBE_NXZ @ 116 NONAME ; bool QHttpHeader::hasContentLength(void) const
+ ??4QNetworkInterface@@QAEAAV0@ABV0@@Z @ 117 NONAME ; class QNetworkInterface & QNetworkInterface::operator=(class QNetworkInterface const &)
+ ?waitForConnected@QSslSocket@@QAE_NH@Z @ 118 NONAME ; bool QSslSocket::waitForConnected(int)
+ ?staticMetaObject@QLocalServer@@2UQMetaObject@@B @ 119 NONAME ; struct QMetaObject const QLocalServer::staticMetaObject
+ ?metaObject@QLocalSocket@@UBEPBUQMetaObject@@XZ @ 120 NONAME ; struct QMetaObject const * QLocalSocket::metaObject(void) const
+ ?lastModified@QUrlInfo@@QBE?AVQDateTime@@XZ @ 121 NONAME ; class QDateTime QUrlInfo::lastModified(void) const
+ ?setHeader@QNetworkRequest@@QAEXW4KnownHeaders@1@ABVQVariant@@@Z @ 122 NONAME ; void QNetworkRequest::setHeader(enum QNetworkRequest::KnownHeaders, class QVariant const &)
+ ?setValues@QHttpHeader@@QAEXABV?$QList@U?$QPair@VQString@@V1@@@@@@Z @ 123 NONAME ; void QHttpHeader::setValues(class QList<struct QPair<class QString, class QString> > const &)
+ ?setSocket@QHttp@@QAEHPAVQTcpSocket@@@Z @ 124 NONAME ; int QHttp::setSocket(class QTcpSocket *)
+ ?error@QAbstractSocket@@QBE?AW4SocketError@1@XZ @ 125 NONAME ; enum QAbstractSocket::SocketError QAbstractSocket::error(void) const
+ ?setProxyFactory@QNetworkAccessManager@@QAEXPAVQNetworkProxyFactory@@@Z @ 126 NONAME ; void QNetworkAccessManager::setProxyFactory(class QNetworkProxyFactory *)
+ ?hasContentType@QHttpHeader@@QBE_NXZ @ 127 NONAME ; bool QHttpHeader::hasContentType(void) const
+ ??9QSslCertificate@@QBE_NABV0@@Z @ 128 NONAME ; bool QSslCertificate::operator!=(class QSslCertificate const &) const
+ ?atEnd@QAbstractSocket@@UBE_NXZ @ 129 NONAME ; bool QAbstractSocket::atEnd(void) const
+ ?setPassword@QAuthenticator@@QAEXABVQString@@@Z @ 130 NONAME ; void QAuthenticator::setPassword(class QString const &)
+ ?tr@QAbstractNetworkCache@@SA?AVQString@@PBD0@Z @ 131 NONAME ; class QString QAbstractNetworkCache::tr(char const *, char const *)
+ ?algorithm@QSslKey@@QBE?AW4KeyAlgorithm@QSsl@@XZ @ 132 NONAME ; enum QSsl::KeyAlgorithm QSslKey::algorithm(void) const
+ ?abort@QSslSocket@@QAEXXZ @ 133 NONAME ; void QSslSocket::abort(void)
+ ??1QNetworkCookie@@QAE@XZ @ 134 NONAME ; QNetworkCookie::~QNetworkCookie(void)
+ ?stateChanged@QAbstractSocket@@IAEXW4SocketState@1@@Z @ 135 NONAME ; void QAbstractSocket::stateChanged(enum QAbstractSocket::SocketState)
+ ?getStaticMetaObject@QTcpServer@@SAABUQMetaObject@@XZ @ 136 NONAME ; struct QMetaObject const & QTcpServer::getStaticMetaObject(void)
+ ?connectToHost@QAbstractSocket@@QAEXABVQHostAddress@@GV?$QFlags@W4OpenModeFlag@QIODevice@@@@@Z @ 137 NONAME ; void QAbstractSocket::connectToHost(class QHostAddress const &, unsigned short, class QFlags<enum QIODevice::OpenModeFlag>)
+ ?currentDestinationDevice@QHttp@@QBEPAVQIODevice@@XZ @ 138 NONAME ; class QIODevice * QHttp::currentDestinationDevice(void) const
+ ?setCaCertificates@QSslConfiguration@@QAEXABV?$QList@VQSslCertificate@@@@@Z @ 139 NONAME ; void QSslConfiguration::setCaCertificates(class QList<class QSslCertificate> const &)
+ ?hostFound@QAbstractSocket@@IAEXXZ @ 140 NONAME ; void QAbstractSocket::hostFound(void)
+ ?hasPendingCommands@QFtp@@QBE_NXZ @ 141 NONAME ; bool QFtp::hasPendingCommands(void) const
+ ?d_func@QNetworkAccessManager@@ABEPBVQNetworkAccessManagerPrivate@@XZ @ 142 NONAME ; class QNetworkAccessManagerPrivate const * QNetworkAccessManager::d_func(void) const
+ ?isListening@QLocalServer@@QBE_NXZ @ 143 NONAME ; bool QLocalServer::isListening(void) const
+ ?closeConnection@QHttp@@QAEHXZ @ 144 NONAME ; int QHttp::closeConnection(void)
+ ?serverPort@QTcpServer@@QBEGXZ @ 145 NONAME ; unsigned short QTcpServer::serverPort(void) const
+ ?setMaximumCacheSize@QNetworkDiskCache@@QAEX_J@Z @ 146 NONAME ; void QNetworkDiskCache::setMaximumCacheSize(long long)
+ ?dataReadProgress@QHttp@@IAEXHH@Z @ 147 NONAME ; void QHttp::dataReadProgress(int, int)
+ ?protocolTag@QNetworkProxyQuery@@QBE?AVQString@@XZ @ 148 NONAME ; class QString QNetworkProxyQuery::protocolTag(void) const
+ ?addDefaultCaCertificate@QSslSocket@@SAXABVQSslCertificate@@@Z @ 149 NONAME ; void QSslSocket::addDefaultCaCertificate(class QSslCertificate const &)
+ ?waitForBytesWritten@QLocalSocket@@UAE_NH@Z @ 150 NONAME ; bool QLocalSocket::waitForBytesWritten(int)
+ ?peerPort@QAbstractSocket@@QBEGXZ @ 151 NONAME ; unsigned short QAbstractSocket::peerPort(void) const
+ ??8QHostAddress@@QBE_NW4SpecialAddress@0@@Z @ 152 NONAME ; bool QHostAddress::operator==(enum QHostAddress::SpecialAddress) const
+ ?readBufferSize@QAbstractSocket@@QBE_JXZ @ 153 NONAME ; long long QAbstractSocket::readBufferSize(void) const
+ ?tr@QUdpSocket@@SA?AVQString@@PBD0H@Z @ 154 NONAME ; class QString QUdpSocket::tr(char const *, char const *, int)
+ ?remove@QFtp@@QAEHABVQString@@@Z @ 155 NONAME ; int QFtp::remove(class QString const &)
+ ?humanReadableName@QNetworkInterface@@QBE?AVQString@@XZ @ 156 NONAME ; class QString QNetworkInterface::humanReadableName(void) const
+ ??8QSslError@@QBE_NABV0@@Z @ 157 NONAME ; bool QSslError::operator==(class QSslError const &) const
+ ??0QHostAddress@@QAE@W4SpecialAddress@0@@Z @ 158 NONAME ; QHostAddress::QHostAddress(enum QHostAddress::SpecialAddress)
+ ?put@QNetworkAccessManager@@QAEPAVQNetworkReply@@ABVQNetworkRequest@@PAVQIODevice@@@Z @ 159 NONAME ; class QNetworkReply * QNetworkAccessManager::put(class QNetworkRequest const &, class QIODevice *)
+ ?peerHostName@QNetworkProxyQuery@@QBE?AVQString@@XZ @ 160 NONAME ; class QString QNetworkProxyQuery::peerHostName(void) const
+ ?setError@QNetworkReply@@IAEXW4NetworkError@1@ABVQString@@@Z @ 161 NONAME ; void QNetworkReply::setError(enum QNetworkReply::NetworkError, class QString const &)
+ ??0QHttpResponseHeader@@QAE@HABVQString@@HH@Z @ 162 NONAME ; QHttpResponseHeader::QHttpResponseHeader(int, class QString const &, int, int)
+ ?url@QNetworkReply@@QBE?AVQUrl@@XZ @ 163 NONAME ; class QUrl QNetworkReply::url(void) const
+ ?setPermissions@QUrlInfo@@UAEXH@Z @ 164 NONAME ; void QUrlInfo::setPermissions(int)
+ ?serverAddress@QTcpServer@@QBE?AVQHostAddress@@XZ @ 165 NONAME ; class QHostAddress QTcpServer::serverAddress(void) const
+ ?setAddress@QHostAddress@@QAEXPBUsockaddr@@@Z @ 166 NONAME ; void QHostAddress::setAddress(struct sockaddr const *)
+ ?setSocketError@QAbstractSocket@@IAEXW4SocketError@1@@Z @ 167 NONAME ; void QAbstractSocket::setSocketError(enum QAbstractSocket::SocketError)
+ ?setUser@QAuthenticator@@QAEXABVQString@@@Z @ 168 NONAME ; void QAuthenticator::setUser(class QString const &)
+ ??4QAuthenticator@@QAEAAV0@ABV0@@Z @ 169 NONAME ; class QAuthenticator & QAuthenticator::operator=(class QAuthenticator const &)
+ ?tr@QNetworkReply@@SA?AVQString@@PBD0H@Z @ 170 NONAME ; class QString QNetworkReply::tr(char const *, char const *, int)
+ ?setCapabilities@QNetworkProxy@@QAEXV?$QFlags@W4Capability@QNetworkProxy@@@@@Z @ 171 NONAME ; void QNetworkProxy::setCapabilities(class QFlags<enum QNetworkProxy::Capability>)
+ ?tr@QAbstractSocket@@SA?AVQString@@PBD0@Z @ 172 NONAME ; class QString QAbstractSocket::tr(char const *, char const *)
+ ??0QSslKey@@QAE@XZ @ 173 NONAME ; QSslKey::QSslKey(void)
+ ?rawCommandReply@QFtp@@IAEXHABVQString@@@Z @ 174 NONAME ; void QFtp::rawCommandReply(int, class QString const &)
+ ?canReadLine@QSslSocket@@UBE_NXZ @ 175 NONAME ; bool QSslSocket::canReadLine(void) const
+ ?d_func@QHttpResponseHeader@@AAEPAVQHttpResponseHeaderPrivate@@XZ @ 176 NONAME ; class QHttpResponseHeaderPrivate * QHttpResponseHeader::d_func(void)
+ ?setStatusLine@QHttpResponseHeader@@QAEXHABVQString@@HH@Z @ 177 NONAME ; void QHttpResponseHeader::setStatusLine(int, class QString const &, int, int)
+ ?setPeerAddress@QAbstractSocket@@IAEXABVQHostAddress@@@Z @ 178 NONAME ; void QAbstractSocket::setPeerAddress(class QHostAddress const &)
+ ?method@QHttpRequestHeader@@QBE?AVQString@@XZ @ 179 NONAME ; class QString QHttpRequestHeader::method(void) const
+ ??0QHostAddress@@QAE@ABV0@@Z @ 180 NONAME ; QHostAddress::QHostAddress(class QHostAddress const &)
+ ?allAddresses@QNetworkInterface@@SA?AV?$QList@VQHostAddress@@@@XZ @ 181 NONAME ; class QList<class QHostAddress> QNetworkInterface::allAddresses(void)
+ ??0QHttpResponseHeader@@QAE@XZ @ 182 NONAME ; QHttpResponseHeader::QHttpResponseHeader(void)
+ ?version@QSslCertificate@@QBE?AVQByteArray@@XZ @ 183 NONAME ; class QByteArray QSslCertificate::version(void) const
+ ?tr@QHttp@@SA?AVQString@@PBD0@Z @ 184 NONAME ; class QString QHttp::tr(char const *, char const *)
+ ?d_func@QNetworkDiskCache@@ABEPBVQNetworkDiskCachePrivate@@XZ @ 185 NONAME ; class QNetworkDiskCachePrivate const * QNetworkDiskCache::d_func(void) const
+ ??0QNetworkCacheMetaData@@QAE@XZ @ 186 NONAME ; QNetworkCacheMetaData::QNetworkCacheMetaData(void)
+ ?trUtf8@QUdpSocket@@SA?AVQString@@PBD0H@Z @ 187 NONAME ; class QString QUdpSocket::trUtf8(char const *, char const *, int)
+ ?setAttribute@QNetworkReply@@IAEXW4Attribute@QNetworkRequest@@ABVQVariant@@@Z @ 188 NONAME ; void QNetworkReply::setAttribute(enum QNetworkRequest::Attribute, class QVariant const &)
+ ??9QNetworkRequest@@QBE_NABV0@@Z @ 189 NONAME ; bool QNetworkRequest::operator!=(class QNetworkRequest const &) const
+ ?tr@QTcpServer@@SA?AVQString@@PBD0@Z @ 190 NONAME ; class QString QTcpServer::tr(char const *, char const *)
+ ?canReadLine@QAbstractSocket@@UBE_NXZ @ 191 NONAME ; bool QAbstractSocket::canReadLine(void) const
+ ?disconnectFromHostImplementation@QAbstractSocket@@IAEXXZ @ 192 NONAME ; void QAbstractSocket::disconnectFromHostImplementation(void)
+ ??6@YAAAVQDataStream@@AAV0@ABVQHostAddress@@@Z @ 193 NONAME ; class QDataStream & operator<<(class QDataStream &, class QHostAddress const &)
+ ?supportedBits@QSslCipher@@QBEHXZ @ 194 NONAME ; int QSslCipher::supportedBits(void) const
+ ?isSymLink@QUrlInfo@@QBE_NXZ @ 195 NONAME ; bool QUrlInfo::isSymLink(void) const
+ ??6@YA?AVQDebug@@V0@W4LocalSocketError@QLocalSocket@@@Z @ 196 NONAME ; class QDebug operator<<(class QDebug, enum QLocalSocket::LocalSocketError)
+ ?qt_metacast@QTcpSocket@@UAEPAXPBD@Z @ 197 NONAME ; void * QTcpSocket::qt_metacast(char const *)
+ ?serverName@QLocalSocket@@QBE?AVQString@@XZ @ 198 NONAME ; class QString QLocalSocket::serverName(void) const
+ ?setExpirationDate@QNetworkCacheMetaData@@QAEXABVQDateTime@@@Z @ 199 NONAME ; void QNetworkCacheMetaData::setExpirationDate(class QDateTime const &)
+ ??_EQNetworkDiskCache@@UAE@I@Z @ 200 NONAME ; QNetworkDiskCache::~QNetworkDiskCache(unsigned int)
+ ??0QUdpSocket@@QAE@PAVQObject@@@Z @ 201 NONAME ; QUdpSocket::QUdpSocket(class QObject *)
+ ?lastResponse@QHttp@@QBE?AVQHttpResponseHeader@@XZ @ 202 NONAME ; class QHttpResponseHeader QHttp::lastResponse(void) const
+ ?d_func@QTcpSocket@@AAEPAVQTcpSocketPrivate@@XZ @ 203 NONAME ; class QTcpSocketPrivate * QTcpSocket::d_func(void)
+ ??4QNetworkProxy@@QAEAAV0@ABV0@@Z @ 204 NONAME ; class QNetworkProxy & QNetworkProxy::operator=(class QNetworkProxy const &)
+ ?rawHeader@QNetworkReply@@QBE?AVQByteArray@@ABV2@@Z @ 205 NONAME ; class QByteArray QNetworkReply::rawHeader(class QByteArray const &) const
+ ?waitForEncrypted@QSslSocket@@QAE_NH@Z @ 206 NONAME ; bool QSslSocket::waitForEncrypted(int)
+ ?peerAddress@QAbstractSocket@@QBE?AVQHostAddress@@XZ @ 207 NONAME ; class QHostAddress QAbstractSocket::peerAddress(void) const
+ ?d_func@QTcpServer@@AAEPAVQTcpServerPrivate@@XZ @ 208 NONAME ; class QTcpServerPrivate * QTcpServer::d_func(void)
+ ?clear@QSslCertificate@@QAEXXZ @ 209 NONAME ; void QSslCertificate::clear(void)
+ ?setLastRead@QUrlInfo@@QAEXABVQDateTime@@@Z @ 210 NONAME ; void QUrlInfo::setLastRead(class QDateTime const &)
+ ?metaObject@QSslSocket@@UBEPBUQMetaObject@@XZ @ 211 NONAME ; struct QMetaObject const * QSslSocket::metaObject(void) const
+ ?setUrl@QNetworkRequest@@QAEXABVQUrl@@@Z @ 212 NONAME ; void QNetworkRequest::setUrl(class QUrl const &)
+ ?header@QNetworkRequest@@QBE?AVQVariant@@W4KnownHeaders@1@@Z @ 213 NONAME ; class QVariant QNetworkRequest::header(enum QNetworkRequest::KnownHeaders) const
+ ?d_func@QAbstractSocket@@AAEPAVQAbstractSocketPrivate@@XZ @ 214 NONAME ; class QAbstractSocketPrivate * QAbstractSocket::d_func(void)
+ ??_EQHttpHeader@@UAE@I@Z @ 215 NONAME ; QHttpHeader::~QHttpHeader(unsigned int)
+ ?readData@QSslSocket@@MAE_JPAD_J@Z @ 216 NONAME ; long long QSslSocket::readData(char *, long long)
+ ??0QHostAddress@@QAE@XZ @ 217 NONAME ; QHostAddress::QHostAddress(void)
+ ?errorString@QHostInfo@@QBE?AVQString@@XZ @ 218 NONAME ; class QString QHostInfo::errorString(void) const
+ ?waitForDisconnected@QSslSocket@@QAE_NH@Z @ 219 NONAME ; bool QSslSocket::waitForDisconnected(int)
+ ?encryptedBytesWritten@QSslSocket@@IAEX_J@Z @ 220 NONAME ; void QSslSocket::encryptedBytesWritten(long long)
+ ?tr@QAbstractNetworkCache@@SA?AVQString@@PBD0H@Z @ 221 NONAME ; class QString QAbstractNetworkCache::tr(char const *, char const *, int)
+ ?setRawHeaders@QNetworkCacheMetaData@@QAEXABV?$QList@U?$QPair@VQByteArray@@V1@@@@@@Z @ 222 NONAME ; void QNetworkCacheMetaData::setRawHeaders(class QList<struct QPair<class QByteArray, class QByteArray> > const &)
+ ??0QAuthenticator@@QAE@ABV0@@Z @ 223 NONAME ; QAuthenticator::QAuthenticator(class QAuthenticator const &)
+ ?downloadProgress@QNetworkReply@@IAEX_J0@Z @ 224 NONAME ; void QNetworkReply::downloadProgress(long long, long long)
+ ?cacheDirectory@QNetworkDiskCache@@QBE?AVQString@@XZ @ 225 NONAME ; class QString QNetworkDiskCache::cacheDirectory(void) const
+ ?put@QNetworkAccessManager@@QAEPAVQNetworkReply@@ABVQNetworkRequest@@ABVQByteArray@@@Z @ 226 NONAME ; class QNetworkReply * QNetworkAccessManager::put(class QNetworkRequest const &, class QByteArray const &)
+ ??4QHostAddress@@QAEAAV0@ABV0@@Z @ 227 NONAME ; class QHostAddress & QHostAddress::operator=(class QHostAddress const &)
+ ?tr@QLocalServer@@SA?AVQString@@PBD0@Z @ 228 NONAME ; class QString QLocalServer::tr(char const *, char const *)
+ ?setPrivateKey@QSslSocket@@QAEXABVQSslKey@@@Z @ 229 NONAME ; void QSslSocket::setPrivateKey(class QSslKey const &)
+ ?localPort@QAbstractSocket@@QBEGXZ @ 230 NONAME ; unsigned short QAbstractSocket::localPort(void) const
+ ?cookiesForUrl@QNetworkCookieJar@@UBE?AV?$QList@VQNetworkCookie@@@@ABVQUrl@@@Z @ 231 NONAME ; class QList<class QNetworkCookie> QNetworkCookieJar::cookiesForUrl(class QUrl const &) const
+ ?hasPendingDatagrams@QUdpSocket@@QBE_NXZ @ 232 NONAME ; bool QUdpSocket::hasPendingDatagrams(void) const
+ ??0QNetworkAddressEntry@@QAE@ABV0@@Z @ 233 NONAME ; QNetworkAddressEntry::QNetworkAddressEntry(class QNetworkAddressEntry const &)
+ ??0QUrlInfo@@QAE@ABVQUrl@@HABVQString@@1_JABVQDateTime@@3_N44444@Z @ 234 NONAME ; QUrlInfo::QUrlInfo(class QUrl const &, int, class QString const &, class QString const &, long long, class QDateTime const &, class QDateTime const &, bool, bool, bool, bool, bool, bool)
+ ?commandFinished@QFtp@@IAEXH_N@Z @ 235 NONAME ; void QFtp::commandFinished(int, bool)
+ ??0QHostAddress@@QAE@ABVQIPv6Address@@@Z @ 236 NONAME ; QHostAddress::QHostAddress(class QIPv6Address const &)
+ ?supportsSsl@QSslSocket@@SA_NXZ @ 237 NONAME ; bool QSslSocket::supportsSsl(void)
+ ?post@QHttp@@QAEHABVQString@@ABVQByteArray@@PAVQIODevice@@@Z @ 238 NONAME ; int QHttp::post(class QString const &, class QByteArray const &, class QIODevice *)
+ ??8QNetworkAddressEntry@@QBE_NABV0@@Z @ 239 NONAME ; bool QNetworkAddressEntry::operator==(class QNetworkAddressEntry const &) const
+ ??6@YA?AVQDebug@@V0@ABVQHostAddress@@@Z @ 240 NONAME ; class QDebug operator<<(class QDebug, class QHostAddress const &)
+ ??9QHostAddress@@QBE_NABV0@@Z @ 241 NONAME ; bool QHostAddress::operator!=(class QHostAddress const &) const
+ ?qt_metacall@QLocalServer@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 242 NONAME ; int QLocalServer::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ??0QNetworkCookieJar@@QAE@PAVQObject@@@Z @ 243 NONAME ; QNetworkCookieJar::QNetworkCookieJar(class QObject *)
+ ?writeData@QNetworkReply@@MAE_JPBD_J@Z @ 244 NONAME ; long long QNetworkReply::writeData(char const *, long long)
+ ?metaObject@QTcpSocket@@UBEPBUQMetaObject@@XZ @ 245 NONAME ; struct QMetaObject const * QTcpSocket::metaObject(void) const
+ ??8QHostAddress@@QBE_NABV0@@Z @ 246 NONAME ; bool QHostAddress::operator==(class QHostAddress const &) const
+ ??6@YA?AVQDebug@@V0@ABW4SslError@QSslError@@@Z @ 247 NONAME ; class QDebug operator<<(class QDebug, enum QSslError::SslError const &)
+ ??0QNetworkProxy@@QAE@XZ @ 248 NONAME ; QNetworkProxy::QNetworkProxy(void)
+ ??1QSslCipher@@QAE@XZ @ 249 NONAME ; QSslCipher::~QSslCipher(void)
+ ??_EQAbstractNetworkCache@@UAE@I@Z @ 250 NONAME ; QAbstractNetworkCache::~QAbstractNetworkCache(unsigned int)
+ ?handle@QSslCertificate@@QBEKXZ @ 251 NONAME ; unsigned long QSslCertificate::handle(void) const
+ ?flags@QNetworkInterface@@QBE?AV?$QFlags@W4InterfaceFlag@QNetworkInterface@@@@XZ @ 252 NONAME ; class QFlags<enum QNetworkInterface::InterfaceFlag> QNetworkInterface::flags(void) const
+ ?error@QHttp@@QBE?AW4Error@1@XZ @ 253 NONAME ; enum QHttp::Error QHttp::error(void) const
+ ?qt_metacall@QNetworkDiskCache@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 254 NONAME ; int QNetworkDiskCache::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ??0QHttpRequestHeader@@QAE@ABVQString@@0HH@Z @ 255 NONAME ; QHttpRequestHeader::QHttpRequestHeader(class QString const &, class QString const &, int, int)
+ ?setCiphers@QSslConfiguration@@QAEXABV?$QList@VQSslCipher@@@@@Z @ 256 NONAME ; void QSslConfiguration::setCiphers(class QList<class QSslCipher> const &)
+ ?setType@QNetworkProxy@@QAEXW4ProxyType@1@@Z @ 257 NONAME ; void QNetworkProxy::setType(enum QNetworkProxy::ProxyType)
+ ??1QTcpSocket@@UAE@XZ @ 258 NONAME ; QTcpSocket::~QTcpSocket(void)
+ ?abort@QHttp@@QAEXXZ @ 259 NONAME ; void QHttp::abort(void)
+ ?setUrl@QNetworkProxyQuery@@QAEXABVQUrl@@@Z @ 260 NONAME ; void QNetworkProxyQuery::setUrl(class QUrl const &)
+ ??_EQSslCipher@@QAE@I@Z @ 261 NONAME ABSENT ; QSslCipher::~QSslCipher(unsigned int)
+ ?d_func@QAbstractNetworkCache@@ABEPBVQAbstractNetworkCachePrivate@@XZ @ 262 NONAME ; class QAbstractNetworkCachePrivate const * QAbstractNetworkCache::d_func(void) const
+ ??9QSslKey@@QBE_NABV0@@Z @ 263 NONAME ; bool QSslKey::operator!=(class QSslKey const &) const
+ ??_EQSslConfiguration@@QAE@I@Z @ 264 NONAME ABSENT ; QSslConfiguration::~QSslConfiguration(unsigned int)
+ ?waitForDisconnected@QAbstractSocket@@QAE_NH@Z @ 265 NONAME ; bool QAbstractSocket::waitForDisconnected(int)
+ ??9QUrlInfo@@QBE_NABV0@@Z @ 266 NONAME ; bool QUrlInfo::operator!=(class QUrlInfo const &) const
+ ?readyRead@QFtp@@IAEXXZ @ 267 NONAME ; void QFtp::readyRead(void)
+ ??1QNetworkProxyFactory@@UAE@XZ @ 268 NONAME ; QNetworkProxyFactory::~QNetworkProxyFactory(void)
+ ?toIPv6Address@QHostAddress@@QBE?AVQIPv6Address@@XZ @ 269 NONAME ; class QIPv6Address QHostAddress::toIPv6Address(void) const
+ ?staticMetaObject@QUdpSocket@@2UQMetaObject@@B @ 270 NONAME ; struct QMetaObject const QUdpSocket::staticMetaObject
+ ?prefixLength@QNetworkAddressEntry@@QBEHXZ @ 271 NONAME ; int QNetworkAddressEntry::prefixLength(void) const
+ ??0QHttpResponseHeader@@QAE@ABVQString@@@Z @ 272 NONAME ; QHttpResponseHeader::QHttpResponseHeader(class QString const &)
+ ??0QNetworkInterface@@QAE@ABV0@@Z @ 273 NONAME ; QNetworkInterface::QNetworkInterface(class QNetworkInterface const &)
+ ?getStaticMetaObject@QNetworkAccessManager@@SAABUQMetaObject@@XZ @ 274 NONAME ; struct QMetaObject const & QNetworkAccessManager::getStaticMetaObject(void)
+ ??4QSslKey@@QAEAAV0@ABV0@@Z @ 275 NONAME ; class QSslKey & QSslKey::operator=(class QSslKey const &)
+ ?waitForBytesWritten@QAbstractSocket@@UAE_NH@Z @ 276 NONAME ; bool QAbstractSocket::waitForBytesWritten(int)
+ ?metaObject@QNetworkReply@@UBEPBUQMetaObject@@XZ @ 277 NONAME ; struct QMetaObject const * QNetworkReply::metaObject(void) const
+ ??1QSslCertificate@@QAE@XZ @ 278 NONAME ; QSslCertificate::~QSslCertificate(void)
+ ?listen@QTcpServer@@QAE_NABVQHostAddress@@G@Z @ 279 NONAME ; bool QTcpServer::listen(class QHostAddress const &, unsigned short)
+ ??1QHttpRequestHeader@@UAE@XZ @ 280 NONAME ; QHttpRequestHeader::~QHttpRequestHeader(void)
+ ?writeData@QSslSocket@@MAE_JPBD_J@Z @ 281 NONAME ; long long QSslSocket::writeData(char const *, long long)
+ ?setUser@QHttp@@QAEHABVQString@@0@Z @ 282 NONAME ; int QHttp::setUser(class QString const &, class QString const &)
+ ?name@QUrlInfo@@QBE?AVQString@@XZ @ 283 NONAME ; class QString QUrlInfo::name(void) const
+ ?trUtf8@QUdpSocket@@SA?AVQString@@PBD0@Z @ 284 NONAME ; class QString QUdpSocket::trUtf8(char const *, char const *)
+ ?peerVerifyMode@QSslSocket@@QBE?AW4PeerVerifyMode@1@XZ @ 285 NONAME ; enum QSslSocket::PeerVerifyMode QSslSocket::peerVerifyMode(void) const
+ ?serialNumber@QSslCertificate@@QBE?AVQByteArray@@XZ @ 286 NONAME ; class QByteArray QSslCertificate::serialNumber(void) const
+ ?isCachingProxy@QNetworkProxy@@QBE_NXZ @ 287 NONAME ; bool QNetworkProxy::isCachingProxy(void) const
+ ?setTransferMode@QFtp@@QAEHW4TransferMode@1@@Z @ 288 NONAME ; int QFtp::setTransferMode(enum QFtp::TransferMode)
+ ??0QHostAddress@@QAE@PAE@Z @ 289 NONAME ; QHostAddress::QHostAddress(unsigned char *)
+ ?waitForConnected@QAbstractSocket@@QAE_NH@Z @ 290 NONAME ; bool QAbstractSocket::waitForConnected(int)
+ ?startServerEncryption@QSslSocket@@QAEXXZ @ 291 NONAME ; void QSslSocket::startServerEncryption(void)
+ ?setRequest@QHttpRequestHeader@@QAEXABVQString@@0HH@Z @ 292 NONAME ; void QHttpRequestHeader::setRequest(class QString const &, class QString const &, int, int)
+ ?maximumCacheSize@QNetworkDiskCache@@QBE_JXZ @ 293 NONAME ; long long QNetworkDiskCache::maximumCacheSize(void) const
+ ?fromPath@QSslCertificate@@SA?AV?$QList@VQSslCertificate@@@@ABVQString@@W4EncodingFormat@QSsl@@W4PatternSyntax@QRegExp@@@Z @ 294 NONAME ; class QList<class QSslCertificate> QSslCertificate::fromPath(class QString const &, enum QSsl::EncodingFormat, enum QRegExp::PatternSyntax)
+ ?qt_metacall@QTcpSocket@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 295 NONAME ; int QTcpSocket::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ??1QNetworkRequest@@QAE@XZ @ 296 NONAME ; QNetworkRequest::~QNetworkRequest(void)
+ ?insert@QNetworkDiskCache@@UAEXPAVQIODevice@@@Z @ 297 NONAME ; void QNetworkDiskCache::insert(class QIODevice *)
+ ??1QUdpSocket@@UAE@XZ @ 298 NONAME ; QUdpSocket::~QUdpSocket(void)
+ ?tr@QTcpServer@@SA?AVQString@@PBD0H@Z @ 299 NONAME ; class QString QTcpServer::tr(char const *, char const *, int)
+ ?serverError@QLocalServer@@QBE?AW4SocketError@QAbstractSocket@@XZ @ 300 NONAME ; enum QAbstractSocket::SocketError QLocalServer::serverError(void) const
+ ?d_func@QLocalSocket@@AAEPAVQLocalSocketPrivate@@XZ @ 301 NONAME ; class QLocalSocketPrivate * QLocalSocket::d_func(void)
+ ?trUtf8@QLocalServer@@SA?AVQString@@PBD0@Z @ 302 NONAME ; class QString QLocalServer::trUtf8(char const *, char const *)
+ ?abortHostLookup@QHostInfo@@SAXH@Z @ 303 NONAME ; void QHostInfo::abortHostLookup(int)
+ ?setOwner@QUrlInfo@@UAEXABVQString@@@Z @ 304 NONAME ; void QUrlInfo::setOwner(class QString const &)
+ ?tr@QLocalServer@@SA?AVQString@@PBD0H@Z @ 305 NONAME ; class QString QLocalServer::tr(char const *, char const *, int)
+ ?close@QLocalSocket@@UAEXXZ @ 306 NONAME ; void QLocalSocket::close(void)
+ ??8QAuthenticator@@QBE_NABV0@@Z @ 307 NONAME ; bool QAuthenticator::operator==(class QAuthenticator const &) const
+ ?setSslConfiguration@QNetworkRequest@@QAEXABVQSslConfiguration@@@Z @ 308 NONAME ; void QNetworkRequest::setSslConfiguration(class QSslConfiguration const &)
+ ?capabilities@QNetworkProxy@@QBE?AV?$QFlags@W4Capability@QNetworkProxy@@@@XZ @ 309 NONAME ; class QFlags<enum QNetworkProxy::Capability> QNetworkProxy::capabilities(void) const
+ ?waitForNewConnection@QLocalServer@@QAE_NHPA_N@Z @ 310 NONAME ; bool QLocalServer::waitForNewConnection(int, bool *)
+ ?setLocalCertificate@QSslSocket@@QAEXABVQSslCertificate@@@Z @ 311 NONAME ; void QSslSocket::setLocalCertificate(class QSslCertificate const &)
+ ?addValue@QHttpHeader@@QAEXABVQString@@0@Z @ 312 NONAME ; void QHttpHeader::addValue(class QString const &, class QString const &)
+ ?cache@QNetworkAccessManager@@QBEPAVQAbstractNetworkCache@@XZ @ 313 NONAME ; class QAbstractNetworkCache * QNetworkAccessManager::cache(void) const
+ ??0QSslKey@@QAE@ABVQByteArray@@W4KeyAlgorithm@QSsl@@W4EncodingFormat@3@W4KeyType@3@0@Z @ 314 NONAME ; QSslKey::QSslKey(class QByteArray const &, enum QSsl::KeyAlgorithm, enum QSsl::EncodingFormat, enum QSsl::KeyType, class QByteArray const &)
+ ?toPem@QSslKey@@QBE?AVQByteArray@@ABV2@@Z @ 315 NONAME ; class QByteArray QSslKey::toPem(class QByteArray const &) const
+ ?tr@QNetworkAccessManager@@SA?AVQString@@PBD0@Z @ 316 NONAME ; class QString QNetworkAccessManager::tr(char const *, char const *)
+ ?setIp@QNetworkAddressEntry@@QAEXABVQHostAddress@@@Z @ 317 NONAME ; void QNetworkAddressEntry::setIp(class QHostAddress const &)
+ ?stateChanged@QHttp@@IAEXH@Z @ 318 NONAME ; void QHttp::stateChanged(int)
+ ?setHttpOnly@QNetworkCookie@@QAEX_N@Z @ 319 NONAME ; void QNetworkCookie::setHttpOnly(bool)
+ ?url@QNetworkRequest@@QBE?AVQUrl@@XZ @ 320 NONAME ; class QUrl QNetworkRequest::url(void) const
+ ?cd@QFtp@@QAEHABVQString@@@Z @ 321 NONAME ; int QFtp::cd(class QString const &)
+ ?attribute@QNetworkRequest@@QBE?AVQVariant@@W4Attribute@1@ABV2@@Z @ 322 NONAME ; class QVariant QNetworkRequest::attribute(enum QNetworkRequest::Attribute, class QVariant const &) const
+ ?protocol@QSslCipher@@QBE?AW4SslProtocol@QSsl@@XZ @ 323 NONAME ; enum QSsl::SslProtocol QSslCipher::protocol(void) const
+ ?setHostName@QHostInfo@@QAEXABVQString@@@Z @ 324 NONAME ; void QHostInfo::setHostName(class QString const &)
+ ??5@YAAAVQDataStream@@AAV0@AAVQNetworkCacheMetaData@@@Z @ 325 NONAME ; class QDataStream & operator>>(class QDataStream &, class QNetworkCacheMetaData &)
+ ?subjectInfo@QSslCertificate@@QBE?AVQString@@W4SubjectInfo@1@@Z @ 326 NONAME ; class QString QSslCertificate::subjectInfo(enum QSslCertificate::SubjectInfo) const
+ ??_EQNetworkAddressEntry@@QAE@I@Z @ 327 NONAME ABSENT ; QNetworkAddressEntry::~QNetworkAddressEntry(unsigned int)
+ ?setCiphers@QSslSocket@@QAEXABV?$QList@VQSslCipher@@@@@Z @ 328 NONAME ; void QSslSocket::setCiphers(class QList<class QSslCipher> const &)
+ ?bytesToWrite@QLocalSocket@@UBE_JXZ @ 329 NONAME ; long long QLocalSocket::bytesToWrite(void) const
+ ?setSize@QUrlInfo@@UAEX_J@Z @ 330 NONAME ; void QUrlInfo::setSize(long long)
+ ?isValid@QAbstractSocket@@QBE_NXZ @ 331 NONAME ; bool QAbstractSocket::isValid(void) const
+ ?qt_metacall@QNetworkCookieJar@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 332 NONAME ; int QNetworkCookieJar::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?d_func@QTcpSocket@@ABEPBVQTcpSocketPrivate@@XZ @ 333 NONAME ; class QTcpSocketPrivate const * QTcpSocket::d_func(void) const
+ ?state@QFtp@@QBE?AW4State@1@XZ @ 334 NONAME ; enum QFtp::State QFtp::state(void) const
+ ?socketOption@QAbstractSocket@@QAE?AVQVariant@@W4SocketOption@1@@Z @ 335 NONAME ; class QVariant QAbstractSocket::socketOption(enum QAbstractSocket::SocketOption)
+ ??0QHostAddress@@QAE@ABVQString@@@Z @ 336 NONAME ; QHostAddress::QHostAddress(class QString const &)
+ ?d_func@QTcpServer@@ABEPBVQTcpServerPrivate@@XZ @ 337 NONAME ; class QTcpServerPrivate const * QTcpServer::d_func(void) const
+ ?clear@QSslKey@@QAEXXZ @ 338 NONAME ; void QSslKey::clear(void)
+ ??6@YA?AVQDebug@@V0@ABVQNetworkInterface@@@Z @ 339 NONAME ; class QDebug operator<<(class QDebug, class QNetworkInterface const &)
+ ?contentLength@QHttpHeader@@QBEIXZ @ 340 NONAME ; unsigned int QHttpHeader::contentLength(void) const
+ ?sslErrors@QSslSocket@@IAEXABV?$QList@VQSslError@@@@@Z @ 341 NONAME ; void QSslSocket::sslErrors(class QList<class QSslError> const &)
+ ?ignoreSslErrors@QSslSocket@@QAEXABV?$QList@VQSslError@@@@@Z @ 342 NONAME ; void QSslSocket::ignoreSslErrors(class QList<class QSslError> const &)
+ ?trUtf8@QTcpServer@@SA?AVQString@@PBD0H@Z @ 343 NONAME ; class QString QTcpServer::trUtf8(char const *, char const *, int)
+ ?isNull@QAuthenticator@@QBE_NXZ @ 344 NONAME ; bool QAuthenticator::isNull(void) const
+ ?rmdir@QFtp@@QAEHABVQString@@@Z @ 345 NONAME ; int QFtp::rmdir(class QString const &)
+ ?greaterThan@QUrlInfo@@SA_NABV1@0H@Z @ 346 NONAME ; bool QUrlInfo::greaterThan(class QUrlInfo const &, class QUrlInfo const &, int)
+ ?isSecure@QNetworkCookie@@QBE_NXZ @ 347 NONAME ; bool QNetworkCookie::isSecure(void) const
+ ?protocolString@QSslCipher@@QBE?AVQString@@XZ @ 348 NONAME ; class QString QSslCipher::protocolString(void) const
+ ?d_func@QHttpResponseHeader@@ABEPBVQHttpResponseHeaderPrivate@@XZ @ 349 NONAME ; class QHttpResponseHeaderPrivate const * QHttpResponseHeader::d_func(void) const
+ ??8QUrlInfo@@QBE_NABV0@@Z @ 350 NONAME ; bool QUrlInfo::operator==(class QUrlInfo const &) const
+ ?isSequential@QLocalSocket@@UBE_NXZ @ 351 NONAME ; bool QLocalSocket::isSequential(void) const
+ ??6@YA?AVQDebug@@V0@ABVQSslError@@@Z @ 352 NONAME ; class QDebug operator<<(class QDebug, class QSslError const &)
+ ?metaObject@QLocalServer@@UBEPBUQMetaObject@@XZ @ 353 NONAME ; struct QMetaObject const * QLocalServer::metaObject(void) const
+ ?metaObject@QUdpSocket@@UBEPBUQMetaObject@@XZ @ 354 NONAME ; struct QMetaObject const * QUdpSocket::metaObject(void) const
+ ?setOriginatingObject@QNetworkRequest@@QAEXPAVQObject@@@Z @ 355 NONAME ; void QNetworkRequest::setOriginatingObject(class QObject *)
+ ?trUtf8@QNetworkAccessManager@@SA?AVQString@@PBD0H@Z @ 356 NONAME ; class QString QNetworkAccessManager::trUtf8(char const *, char const *, int)
+ ?isSequential@QAbstractSocket@@UBE_NXZ @ 357 NONAME ; bool QAbstractSocket::isSequential(void) const
+ ?d_func@QHttpRequestHeader@@AAEPAVQHttpRequestHeaderPrivate@@XZ @ 358 NONAME ; class QHttpRequestHeaderPrivate * QHttpRequestHeader::d_func(void)
+ ?proxyAuthenticationRequired@QNetworkAccessManager@@IAEXABVQNetworkProxy@@PAVQAuthenticator@@@Z @ 359 NONAME ; void QNetworkAccessManager::proxyAuthenticationRequired(class QNetworkProxy const &, class QAuthenticator *)
+ ?dataSendProgress@QHttp@@IAEXHH@Z @ 360 NONAME ; void QHttp::dataSendProgress(int, int)
+ ??0QAbstractNetworkCache@@IAE@PAVQObject@@@Z @ 361 NONAME ; QAbstractNetworkCache::QAbstractNetworkCache(class QObject *)
+ ?getStaticMetaObject@QLocalServer@@SAABUQMetaObject@@XZ @ 362 NONAME ; struct QMetaObject const & QLocalServer::getStaticMetaObject(void)
+ ?connectToHostEncrypted@QSslSocket@@QAEXABVQString@@GV?$QFlags@W4OpenModeFlag@QIODevice@@@@@Z @ 363 NONAME ; void QSslSocket::connectToHostEncrypted(class QString const &, unsigned short, class QFlags<enum QIODevice::OpenModeFlag>)
+ ??0QSslConfiguration@@QAE@XZ @ 364 NONAME ; QSslConfiguration::QSslConfiguration(void)
+ ??0QNetworkReply@@IAE@AAVQNetworkReplyPrivate@@PAVQObject@@@Z @ 365 NONAME ; QNetworkReply::QNetworkReply(class QNetworkReplyPrivate &, class QObject *)
+ ?isValid@QUrlInfo@@QBE_NXZ @ 366 NONAME ; bool QUrlInfo::isValid(void) const
+ ?type@QNetworkProxy@@QBE?AW4ProxyType@1@XZ @ 367 NONAME ; enum QNetworkProxy::ProxyType QNetworkProxy::type(void) const
+ ?serverError@QTcpServer@@QBE?AW4SocketError@QAbstractSocket@@XZ @ 368 NONAME ; enum QAbstractSocket::SocketError QTcpServer::serverError(void) const
+ ?hasPendingConnections@QLocalServer@@UBE_NXZ @ 369 NONAME ; bool QLocalServer::hasPendingConnections(void) const
+ ?setProxy@QAbstractSocket@@QAEXABVQNetworkProxy@@@Z @ 370 NONAME ; void QAbstractSocket::setProxy(class QNetworkProxy const &)
+ ?ignoreSslErrors@QNetworkReply@@UAEXXZ @ 371 NONAME ; void QNetworkReply::ignoreSslErrors(void)
+ ?waitForReadyRead@QSslSocket@@UAE_NH@Z @ 372 NONAME ; bool QSslSocket::waitForReadyRead(int)
+ ?subjectInfo@QSslCertificate@@QBE?AVQString@@ABVQByteArray@@@Z @ 373 NONAME ; class QString QSslCertificate::subjectInfo(class QByteArray const &) const
+ ?digest@QSslCertificate@@QBE?AVQByteArray@@W4Algorithm@QCryptographicHash@@@Z @ 374 NONAME ; class QByteArray QSslCertificate::digest(enum QCryptographicHash::Algorithm) const
+ ?setDefaultConfiguration@QSslConfiguration@@SAXABV1@@Z @ 375 NONAME ; void QSslConfiguration::setDefaultConfiguration(class QSslConfiguration const &)
+ ??0QTcpSocket@@IAE@AAVQTcpSocketPrivate@@PAVQObject@@@Z @ 376 NONAME ; QTcpSocket::QTcpSocket(class QTcpSocketPrivate &, class QObject *)
+ ?getStaticMetaObject@QSslSocket@@SAABUQMetaObject@@XZ @ 377 NONAME ; struct QMetaObject const & QSslSocket::getStaticMetaObject(void)
+ ??0QSslCipher@@QAE@ABV0@@Z @ 378 NONAME ; QSslCipher::QSslCipher(class QSslCipher const &)
+ ?applicationProxy@QNetworkProxy@@SA?AV1@XZ @ 379 NONAME ; class QNetworkProxy QNetworkProxy::applicationProxy(void)
+ ?setScopeId@QHostAddress@@QAEXABVQString@@@Z @ 380 NONAME ; void QHostAddress::setScopeId(class QString const &)
+ ?errorString@QLocalServer@@QBE?AVQString@@XZ @ 381 NONAME ; class QString QLocalServer::errorString(void) const
+ ?get@QNetworkAccessManager@@QAEPAVQNetworkReply@@ABVQNetworkRequest@@@Z @ 382 NONAME ; class QNetworkReply * QNetworkAccessManager::get(class QNetworkRequest const &)
+ ?d_func@QFtp@@AAEPAVQFtpPrivate@@XZ @ 383 NONAME ; class QFtpPrivate * QFtp::d_func(void)
+ ??1QLocalServer@@UAE@XZ @ 384 NONAME ; QLocalServer::~QLocalServer(void)
+ ??0QHostAddress@@QAE@PBUsockaddr@@@Z @ 385 NONAME ; QHostAddress::QHostAddress(struct sockaddr const *)
+ ?serverName@QLocalServer@@QBE?AVQString@@XZ @ 386 NONAME ; class QString QLocalServer::serverName(void) const
+ ?d_func@QNetworkCookieJar@@AAEPAVQNetworkCookieJarPrivate@@XZ @ 387 NONAME ; class QNetworkCookieJarPrivate * QNetworkCookieJar::d_func(void)
+ ??8QNetworkCookie@@QBE_NABV0@@Z @ 388 NONAME ; bool QNetworkCookie::operator==(class QNetworkCookie const &) const
+ ?setRawHeader@QNetworkReply@@IAEXABVQByteArray@@0@Z @ 389 NONAME ; void QNetworkReply::setRawHeader(class QByteArray const &, class QByteArray const &)
+ ?pendingDatagramSize@QUdpSocket@@QBE_JXZ @ 390 NONAME ; long long QUdpSocket::pendingDatagramSize(void) const
+ ??0QNetworkProxy@@QAE@ABV0@@Z @ 391 NONAME ; QNetworkProxy::QNetworkProxy(class QNetworkProxy const &)
+ ?values@QHttpHeader@@QBE?AV?$QList@U?$QPair@VQString@@V1@@@@@XZ @ 392 NONAME ; class QList<struct QPair<class QString, class QString> > QHttpHeader::values(void) const
+ ?d_func@QUdpSocket@@AAEPAVQUdpSocketPrivate@@XZ @ 393 NONAME ; class QUdpSocketPrivate * QUdpSocket::d_func(void)
+ ?connectToHost@QFtp@@QAEHABVQString@@G@Z @ 394 NONAME ; int QFtp::connectToHost(class QString const &, unsigned short)
+ ??0QHttpRequestHeader@@QAE@XZ @ 395 NONAME ; QHttpRequestHeader::QHttpRequestHeader(void)
+ ?type@QSslKey@@QBE?AW4KeyType@QSsl@@XZ @ 396 NONAME ; enum QSsl::KeyType QSslKey::type(void) const
+ ?trUtf8@QAbstractNetworkCache@@SA?AVQString@@PBD0@Z @ 397 NONAME ; class QString QAbstractNetworkCache::trUtf8(char const *, char const *)
+ ?setUseSystemConfiguration@QNetworkProxyFactory@@SAX_N@Z @ 398 NONAME ; void QNetworkProxyFactory::setUseSystemConfiguration(bool)
+ ?setGroup@QUrlInfo@@UAEXABVQString@@@Z @ 399 NONAME ; void QUrlInfo::setGroup(class QString const &)
+ ??1QFtp@@UAE@XZ @ 400 NONAME ; QFtp::~QFtp(void)
+ ??0QSslCertificate@@QAE@ABVQByteArray@@W4EncodingFormat@QSsl@@@Z @ 401 NONAME ; QSslCertificate::QSslCertificate(class QByteArray const &, enum QSsl::EncodingFormat)
+ ?setValid@QHttpHeader@@IAEX_N@Z @ 402 NONAME ; void QHttpHeader::setValid(bool)
+ ?setHeader@QNetworkReply@@IAEXW4KnownHeaders@QNetworkRequest@@ABVQVariant@@@Z @ 403 NONAME ; void QNetworkReply::setHeader(enum QNetworkRequest::KnownHeaders, class QVariant const &)
+ ?close@QNetworkReply@@UAEXXZ @ 404 NONAME ; void QNetworkReply::close(void)
+ ??0QSslSocket@@QAE@PAVQObject@@@Z @ 405 NONAME ; QSslSocket::QSslSocket(class QObject *)
+ ?trUtf8@QLocalSocket@@SA?AVQString@@PBD0H@Z @ 406 NONAME ; class QString QLocalSocket::trUtf8(char const *, char const *, int)
+ ??6@YA?AVQDebug@@V0@ABVQSslKey@@@Z @ 407 NONAME ; class QDebug operator<<(class QDebug, class QSslKey const &)
+ ?usedBits@QSslCipher@@QBEHXZ @ 408 NONAME ; int QSslCipher::usedBits(void) const
+ ??8QSslConfiguration@@QBE_NABV0@@Z @ 409 NONAME ; bool QSslConfiguration::operator==(class QSslConfiguration const &) const
+ ?request@QHttp@@QAEHABVQHttpRequestHeader@@PAVQIODevice@@1@Z @ 410 NONAME ; int QHttp::request(class QHttpRequestHeader const &, class QIODevice *, class QIODevice *)
+ ?reasonPhrase@QHttpResponseHeader@@QBE?AVQString@@XZ @ 411 NONAME ; class QString QHttpResponseHeader::reasonPhrase(void) const
+ ?socketOption@QSslSocket@@QAE?AVQVariant@@W4SocketOption@QAbstractSocket@@@Z @ 412 NONAME ; class QVariant QSslSocket::socketOption(enum QAbstractSocket::SocketOption)
+ ?clearPendingRequests@QHttp@@QAEXXZ @ 413 NONAME ; void QHttp::clearPendingRequests(void)
+ ?encryptionMethod@QSslCipher@@QBE?AVQString@@XZ @ 414 NONAME ; class QString QSslCipher::encryptionMethod(void) const
+ ?metaObject@QNetworkAccessManager@@UBEPBUQMetaObject@@XZ @ 415 NONAME ; struct QMetaObject const * QNetworkAccessManager::metaObject(void) const
+ ?isFinished@QNetworkReply@@QBE_NXZ @ 416 NONAME ; bool QNetworkReply::isFinished(void) const
+ ?connectToHostImplementation@QSslSocket@@IAEXABVQString@@GV?$QFlags@W4OpenModeFlag@QIODevice@@@@@Z @ 417 NONAME ; void QSslSocket::connectToHostImplementation(class QString const &, unsigned short, class QFlags<enum QIODevice::OpenModeFlag>)
+ ??0QHostInfo@@QAE@H@Z @ 418 NONAME ; QHostInfo::QHostInfo(int)
+ ?toIPv4Address@QHostAddress@@QBEIXZ @ 419 NONAME ; unsigned int QHostAddress::toIPv4Address(void) const
+ ??0QNetworkProxyQuery@@QAE@ABVQString@@H0W4QueryType@0@@Z @ 420 NONAME ; QNetworkProxyQuery::QNetworkProxyQuery(class QString const &, int, class QString const &, enum QNetworkProxyQuery::QueryType)
+ ?bind@QUdpSocket@@QAE_NGV?$QFlags@W4BindFlag@QUdpSocket@@@@@Z @ 421 NONAME ; bool QUdpSocket::bind(unsigned short, class QFlags<enum QUdpSocket::BindFlag>)
+ ?setLocalCertificate@QSslConfiguration@@QAEXABVQSslCertificate@@@Z @ 422 NONAME ; void QSslConfiguration::setLocalCertificate(class QSslCertificate const &)
+ ?parseCookies@QNetworkCookie@@SA?AV?$QList@VQNetworkCookie@@@@ABVQByteArray@@@Z @ 423 NONAME ; class QList<class QNetworkCookie> QNetworkCookie::parseCookies(class QByteArray const &)
+ ?flush@QAbstractSocket@@QAE_NXZ @ 424 NONAME ; bool QAbstractSocket::flush(void)
+ ?cacheSize@QNetworkDiskCache@@UBE_JXZ @ 425 NONAME ; long long QNetworkDiskCache::cacheSize(void) const
+ ?trUtf8@QTcpServer@@SA?AVQString@@PBD0@Z @ 426 NONAME ; class QString QTcpServer::trUtf8(char const *, char const *)
+ ?staticMetaObject@QSslSocket@@2UQMetaObject@@B @ 427 NONAME ; struct QMetaObject const QSslSocket::staticMetaObject
+ ?lessThan@QUrlInfo@@SA_NABV1@0H@Z @ 428 NONAME ; bool QUrlInfo::lessThan(class QUrlInfo const &, class QUrlInfo const &, int)
+ ?connected@QAbstractSocket@@IAEXXZ @ 429 NONAME ; void QAbstractSocket::connected(void)
+ ?setLastModified@QUrlInfo@@UAEXABVQDateTime@@@Z @ 430 NONAME ; void QUrlInfo::setLastModified(class QDateTime const &)
+ ?setHost@QHttp@@QAEHABVQString@@G@Z @ 431 NONAME ; int QHttp::setHost(class QString const &, unsigned short)
+ ?name@QNetworkInterface@@QBE?AVQString@@XZ @ 432 NONAME ; class QString QNetworkInterface::name(void) const
+ ?netmask@QNetworkAddressEntry@@QBE?AVQHostAddress@@XZ @ 433 NONAME ; class QHostAddress QNetworkAddressEntry::netmask(void) const
+ ?hasPendingConnections@QTcpServer@@UBE_NXZ @ 434 NONAME ; bool QTcpServer::hasPendingConnections(void) const
+ ?qt_metacast@QNetworkAccessManager@@UAEPAXPBD@Z @ 435 NONAME ; void * QNetworkAccessManager::qt_metacast(char const *)
+ ?put@QFtp@@QAEHABVQByteArray@@ABVQString@@W4TransferType@1@@Z @ 436 NONAME ; int QFtp::put(class QByteArray const &, class QString const &, enum QFtp::TransferType)
+ ??0QHostInfo@@QAE@ABV0@@Z @ 437 NONAME ; QHostInfo::QHostInfo(class QHostInfo const &)
+ ??0QNetworkCookie@@QAE@ABVQByteArray@@0@Z @ 438 NONAME ; QNetworkCookie::QNetworkCookie(class QByteArray const &, class QByteArray const &)
+ ?value@QHttpHeader@@QBE?AVQString@@ABV2@@Z @ 439 NONAME ; class QString QHttpHeader::value(class QString const &) const
+ ?deleteResource@QNetworkAccessManager@@QAEPAVQNetworkReply@@ABVQNetworkRequest@@@Z @ 440 NONAME ; class QNetworkReply * QNetworkAccessManager::deleteResource(class QNetworkRequest const &)
+ ??6@YAAAVQDataStream@@AAV0@ABVQNetworkCacheMetaData@@@Z @ 441 NONAME ; class QDataStream & operator<<(class QDataStream &, class QNetworkCacheMetaData const &)
+ ?caCertificates@QSslConfiguration@@QBE?AV?$QList@VQSslCertificate@@@@XZ @ 442 NONAME ; class QList<class QSslCertificate> QSslConfiguration::caCertificates(void) const
+ ?staticMetaObject@QNetworkReply@@2UQMetaObject@@B @ 443 NONAME ; struct QMetaObject const QNetworkReply::staticMetaObject
+ ?d_func@QHttpHeader@@AAEPAVQHttpHeaderPrivate@@XZ @ 444 NONAME ; class QHttpHeaderPrivate * QHttpHeader::d_func(void)
+ ?originatingObject@QNetworkRequest@@QBEPAVQObject@@XZ @ 445 NONAME ; class QObject * QNetworkRequest::originatingObject(void) const
+ ?errorString@QTcpServer@@QBE?AVQString@@XZ @ 446 NONAME ; class QString QTcpServer::errorString(void) const
+ ?setHostName@QNetworkProxy@@QAEXABVQString@@@Z @ 447 NONAME ; void QNetworkProxy::setHostName(class QString const &)
+ ??_EQNetworkCookie@@QAE@I@Z @ 448 NONAME ABSENT ; QNetworkCookie::~QNetworkCookie(unsigned int)
+ ?tr@QSslSocket@@SA?AVQString@@PBD0@Z @ 449 NONAME ; class QString QSslSocket::tr(char const *, char const *)
+ ?proxy@QTcpServer@@QBE?AVQNetworkProxy@@XZ @ 450 NONAME ; class QNetworkProxy QTcpServer::proxy(void) const
+ ?issuerInfo@QSslCertificate@@QBE?AVQString@@W4SubjectInfo@1@@Z @ 451 NONAME ; class QString QSslCertificate::issuerInfo(enum QSslCertificate::SubjectInfo) const
+ ??9QNetworkProxy@@QBE_NABV0@@Z @ 452 NONAME ; bool QNetworkProxy::operator!=(class QNetworkProxy const &) const
+ ??0QTcpServer@@QAE@PAVQObject@@@Z @ 453 NONAME ; QTcpServer::QTcpServer(class QObject *)
+ ??0QNetworkAccessManager@@QAE@PAVQObject@@@Z @ 454 NONAME ; QNetworkAccessManager::QNetworkAccessManager(class QObject *)
+ ??4QNetworkProxyQuery@@QAEAAV0@ABV0@@Z @ 455 NONAME ; class QNetworkProxyQuery & QNetworkProxyQuery::operator=(class QNetworkProxyQuery const &)
+ ?addCaCertificate@QSslSocket@@QAEXABVQSslCertificate@@@Z @ 456 NONAME ; void QSslSocket::addCaCertificate(class QSslCertificate const &)
+ ?setSocketDescriptor@QSslSocket@@QAE_NHW4SocketState@QAbstractSocket@@V?$QFlags@W4OpenModeFlag@QIODevice@@@@@Z @ 457 NONAME ; bool QSslSocket::setSocketDescriptor(int, enum QAbstractSocket::SocketState, class QFlags<enum QIODevice::OpenModeFlag>)
+ ?allInterfaces@QNetworkInterface@@SA?AV?$QList@VQNetworkInterface@@@@XZ @ 458 NONAME ; class QList<class QNetworkInterface> QNetworkInterface::allInterfaces(void)
+ ?read@QHttp@@QAE_JPAD_J@Z @ 459 NONAME ; long long QHttp::read(char *, long long)
+ ?disconnected@QAbstractSocket@@IAEXXZ @ 460 NONAME ; void QAbstractSocket::disconnected(void)
+ ?qt_metacast@QHttp@@UAEPAXPBD@Z @ 461 NONAME ; void * QHttp::qt_metacast(char const *)
+ ?expire@QNetworkDiskCache@@MAE_JXZ @ 462 NONAME ; long long QNetworkDiskCache::expire(void)
+ ?socketDescriptor@QTcpServer@@QBEHXZ @ 463 NONAME ; int QTcpServer::socketDescriptor(void) const
+ ?proxyForQuery@QNetworkProxyFactory@@SA?AV?$QList@VQNetworkProxy@@@@ABVQNetworkProxyQuery@@@Z @ 464 NONAME ; class QList<class QNetworkProxy> QNetworkProxyFactory::proxyForQuery(class QNetworkProxyQuery const &)
+ ?waitForBytesWritten@QSslSocket@@UAE_NH@Z @ 465 NONAME ; bool QSslSocket::waitForBytesWritten(int)
+ ?privateKey@QSslSocket@@QBE?AVQSslKey@@XZ @ 466 NONAME ; class QSslKey QSslSocket::privateKey(void) const
+ ?trUtf8@QFtp@@SA?AVQString@@PBD0@Z @ 467 NONAME ; class QString QFtp::trUtf8(char const *, char const *)
+ ?fileMetaData@QNetworkDiskCache@@QBE?AVQNetworkCacheMetaData@@ABVQString@@@Z @ 468 NONAME ; class QNetworkCacheMetaData QNetworkDiskCache::fileMetaData(class QString const &) const
+ ?d_func@QHttp@@AAEPAVQHttpPrivate@@XZ @ 469 NONAME ; class QHttpPrivate * QHttp::d_func(void)
+ ?setError@QHostInfo@@QAEXW4HostInfoError@1@@Z @ 470 NONAME ; void QHostInfo::setError(enum QHostInfo::HostInfoError)
+ ?isHttpOnly@QNetworkCookie@@QBE_NXZ @ 471 NONAME ; bool QNetworkCookie::isHttpOnly(void) const
+ ?lastRead@QUrlInfo@@QBE?AVQDateTime@@XZ @ 472 NONAME ; class QDateTime QUrlInfo::lastRead(void) const
+ ?protocol@QSslConfiguration@@QBE?AW4SslProtocol@QSsl@@XZ @ 473 NONAME ; enum QSsl::SslProtocol QSslConfiguration::protocol(void) const
+ ?setProxy@QNetworkAccessManager@@QAEXABVQNetworkProxy@@@Z @ 474 NONAME ; void QNetworkAccessManager::setProxy(class QNetworkProxy const &)
+ ?metaObject@QNetworkDiskCache@@UBEPBUQMetaObject@@XZ @ 475 NONAME ; struct QMetaObject const * QNetworkDiskCache::metaObject(void) const
+ ?handle@QSslKey@@QBEKXZ @ 476 NONAME ; unsigned long QSslKey::handle(void) const
+ ??_EQSslCertificate@@QAE@I@Z @ 477 NONAME ABSENT ; QSslCertificate::~QSslCertificate(unsigned int)
+ ?setDomain@QNetworkCookie@@QAEXABVQString@@@Z @ 478 NONAME ; void QNetworkCookie::setDomain(class QString const &)
+ ?incomingConnection@QLocalServer@@MAEXI@Z @ 479 NONAME ; void QLocalServer::incomingConnection(unsigned int)
+ ?state@QAbstractSocket@@QBE?AW4SocketState@1@XZ @ 480 NONAME ; enum QAbstractSocket::SocketState QAbstractSocket::state(void) const
+ ?setBroadcast@QNetworkAddressEntry@@QAEXABVQHostAddress@@@Z @ 481 NONAME ; void QNetworkAddressEntry::setBroadcast(class QHostAddress const &)
+ ?disconnectFromHost@QAbstractSocket@@QAEXXZ @ 482 NONAME ; void QAbstractSocket::disconnectFromHost(void)
+ ??0QNetworkDiskCache@@QAE@PAVQObject@@@Z @ 483 NONAME ; QNetworkDiskCache::QNetworkDiskCache(class QObject *)
+ ?waitForNewConnection@QTcpServer@@QAE_NHPA_N@Z @ 484 NONAME ; bool QTcpServer::waitForNewConnection(int, bool *)
+ ?connectToHost@QAbstractSocket@@QAEXABVQString@@GV?$QFlags@W4OpenModeFlag@QIODevice@@@@@Z @ 485 NONAME ; void QAbstractSocket::connectToHost(class QString const &, unsigned short, class QFlags<enum QIODevice::OpenModeFlag>)
+ ?currentId@QHttp@@QBEHXZ @ 486 NONAME ; int QHttp::currentId(void) const
+ ?statusCode@QHttpResponseHeader@@QBEHXZ @ 487 NONAME ; int QHttpResponseHeader::statusCode(void) const
+ ?qt_metacast@QSslSocket@@UAEPAXPBD@Z @ 488 NONAME ; void * QSslSocket::qt_metacast(char const *)
+ ?defaultCaCertificates@QSslSocket@@SA?AV?$QList@VQSslCertificate@@@@XZ @ 489 NONAME ; class QList<class QSslCertificate> QSslSocket::defaultCaCertificates(void)
+ ?error@QSslError@@QBE?AW4SslError@1@XZ @ 490 NONAME ; enum QSslError::SslError QSslError::error(void) const
+ ?realm@QAuthenticator@@QBE?AVQString@@XZ @ 491 NONAME ; class QString QAuthenticator::realm(void) const
+ ?done@QFtp@@IAEX_N@Z @ 492 NONAME ; void QFtp::done(bool)
+ ?trUtf8@QFtp@@SA?AVQString@@PBD0H@Z @ 493 NONAME ; class QString QFtp::trUtf8(char const *, char const *, int)
+ ?isValid@QLocalSocket@@QBE_NXZ @ 494 NONAME ; bool QLocalSocket::isValid(void) const
+ ?setFile@QUrlInfo@@UAEX_N@Z @ 495 NONAME ; void QUrlInfo::setFile(bool)
+ ?d_func@QHttpRequestHeader@@ABEPBVQHttpRequestHeaderPrivate@@XZ @ 496 NONAME ; class QHttpRequestHeaderPrivate const * QHttpRequestHeader::d_func(void) const
+ ??4QHostInfo@@QAEAAV0@ABV0@@Z @ 497 NONAME ; class QHostInfo & QHostInfo::operator=(class QHostInfo const &)
+ ?proxy@QNetworkAccessManager@@QBE?AVQNetworkProxy@@XZ @ 498 NONAME ; class QNetworkProxy QNetworkAccessManager::proxy(void) const
+ ?head@QHttp@@QAEHABVQString@@@Z @ 499 NONAME ; int QHttp::head(class QString const &)
+ ?toString@QHttpResponseHeader@@UBE?AVQString@@XZ @ 500 NONAME ; class QString QHttpResponseHeader::toString(void) const
+ ?rawHeader@QNetworkRequest@@QBE?AVQByteArray@@ABV2@@Z @ 501 NONAME ; class QByteArray QNetworkRequest::rawHeader(class QByteArray const &) const
+ ??0QSslKey@@QAE@PAVQIODevice@@W4KeyAlgorithm@QSsl@@W4EncodingFormat@3@W4KeyType@3@ABVQByteArray@@@Z @ 502 NONAME ; QSslKey::QSslKey(class QIODevice *, enum QSsl::KeyAlgorithm, enum QSsl::EncodingFormat, enum QSsl::KeyType, class QByteArray const &)
+ ?qt_metacast@QAbstractNetworkCache@@UAEPAXPBD@Z @ 503 NONAME ; void * QAbstractNetworkCache::qt_metacast(char const *)
+ ?sslErrors@QNetworkReply@@IAEXABV?$QList@VQSslError@@@@@Z @ 504 NONAME ; void QNetworkReply::sslErrors(class QList<class QSslError> const &)
+ ?metaObject@QTcpServer@@UBEPBUQMetaObject@@XZ @ 505 NONAME ; struct QMetaObject const * QTcpServer::metaObject(void) const
+ ??_EQNetworkAccessManager@@UAE@I@Z @ 506 NONAME ; QNetworkAccessManager::~QNetworkAccessManager(unsigned int)
+ ?isSessionCookie@QNetworkCookie@@QBE_NXZ @ 507 NONAME ; bool QNetworkCookie::isSessionCookie(void) const
+ ?tr@QNetworkCookieJar@@SA?AVQString@@PBD0@Z @ 508 NONAME ; class QString QNetworkCookieJar::tr(char const *, char const *)
+ ??_EQNetworkReply@@UAE@I@Z @ 509 NONAME ; QNetworkReply::~QNetworkReply(unsigned int)
+ ?sslConfiguration@QSslSocket@@QBE?AVQSslConfiguration@@XZ @ 510 NONAME ; class QSslConfiguration QSslSocket::sslConfiguration(void) const
+ ?localHostName@QHostInfo@@SA?AVQString@@XZ @ 511 NONAME ; class QString QHostInfo::localHostName(void)
+ ?setPort@QNetworkProxy@@QAEXG@Z @ 512 NONAME ; void QNetworkProxy::setPort(unsigned short)
+ ??6@YA?AVQDebug@@V0@W4SocketState@QAbstractSocket@@@Z @ 513 NONAME ; class QDebug operator<<(class QDebug, enum QAbstractSocket::SocketState)
+ ??1QNetworkProxy@@QAE@XZ @ 514 NONAME ; QNetworkProxy::~QNetworkProxy(void)
+ ?setProtocolTag@QNetworkProxyQuery@@QAEXABVQString@@@Z @ 515 NONAME ; void QNetworkProxyQuery::setProtocolTag(class QString const &)
+ ?parseLine@QHttpResponseHeader@@MAE_NABVQString@@H@Z @ 516 NONAME ; bool QHttpResponseHeader::parseLine(class QString const &, int)
+ ?d_func@QUdpSocket@@ABEPBVQUdpSocketPrivate@@XZ @ 517 NONAME ; class QUdpSocketPrivate const * QUdpSocket::d_func(void) const
+ ?interfaceFromName@QNetworkInterface@@SA?AV1@ABVQString@@@Z @ 518 NONAME ; class QNetworkInterface QNetworkInterface::interfaceFromName(class QString const &)
+ ??0QNetworkRequest@@QAE@ABV0@@Z @ 519 NONAME ; QNetworkRequest::QNetworkRequest(class QNetworkRequest const &)
+ ??_EQNetworkProxyFactory@@UAE@I@Z @ 520 NONAME ; QNetworkProxyFactory::~QNetworkProxyFactory(unsigned int)
+ ??1QHttpHeader@@UAE@XZ @ 521 NONAME ; QHttpHeader::~QHttpHeader(void)
+ ?writeDatagram@QUdpSocket@@QAE_JPBD_JABVQHostAddress@@G@Z @ 522 NONAME ; long long QUdpSocket::writeDatagram(char const *, long long, class QHostAddress const &, unsigned short)
+ ?nextPendingConnection@QLocalServer@@UAEPAVQLocalSocket@@XZ @ 523 NONAME ; class QLocalSocket * QLocalServer::nextPendingConnection(void)
+ ?setUrl@QNetworkReply@@IAEXABVQUrl@@@Z @ 524 NONAME ; void QNetworkReply::setUrl(class QUrl const &)
+ ?qt_metacall@QUdpSocket@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 525 NONAME ; int QUdpSocket::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?setPeerVerifyMode@QSslConfiguration@@QAEXW4PeerVerifyMode@QSslSocket@@@Z @ 526 NONAME ; void QSslConfiguration::setPeerVerifyMode(enum QSslSocket::PeerVerifyMode)
+ ?setSaveToDisk@QNetworkCacheMetaData@@QAEX_N@Z @ 527 NONAME ; void QNetworkCacheMetaData::setSaveToDisk(bool)
+ ??0QNetworkProxyQuery@@QAE@ABV0@@Z @ 528 NONAME ; QNetworkProxyQuery::QNetworkProxyQuery(class QNetworkProxyQuery const &)
+ ?setAttribute@QNetworkRequest@@QAEXW4Attribute@1@ABVQVariant@@@Z @ 529 NONAME ; void QNetworkRequest::setAttribute(enum QNetworkRequest::Attribute, class QVariant const &)
+ ??8QSslCertificate@@QBE_NABV0@@Z @ 530 NONAME ; bool QSslCertificate::operator==(class QSslCertificate const &) const
+ ?setHost@QHttp@@QAEHABVQString@@W4ConnectionMode@1@G@Z @ 531 NONAME ; int QHttp::setHost(class QString const &, enum QHttp::ConnectionMode, unsigned short)
+ ?setPeerPort@QNetworkProxyQuery@@QAEXH@Z @ 532 NONAME ; void QNetworkProxyQuery::setPeerPort(int)
+ ??1QNetworkProxyQuery@@QAE@XZ @ 533 NONAME ; QNetworkProxyQuery::~QNetworkProxyQuery(void)
+ ?setPath@QNetworkCookie@@QAEXABVQString@@@Z @ 534 NONAME ; void QNetworkCookie::setPath(class QString const &)
+ ?close@QTcpServer@@QAEXXZ @ 535 NONAME ; void QTcpServer::close(void)
+ ??0QNetworkProxyQuery@@QAE@XZ @ 536 NONAME ; QNetworkProxyQuery::QNetworkProxyQuery(void)
+ ?data@QNetworkDiskCache@@UAEPAVQIODevice@@ABVQUrl@@@Z @ 537 NONAME ; class QIODevice * QNetworkDiskCache::data(class QUrl const &)
+ ?setAllCookies@QNetworkCookieJar@@IAEXABV?$QList@VQNetworkCookie@@@@@Z @ 538 NONAME ; void QNetworkCookieJar::setAllCookies(class QList<class QNetworkCookie> const &)
+ ?qt_metacall@QTcpServer@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 539 NONAME ; int QTcpServer::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?maxPendingConnections@QLocalServer@@QBEHXZ @ 540 NONAME ; int QLocalServer::maxPendingConnections(void) const
+ ?parse@QHttpHeader@@IAE_NABVQString@@@Z @ 541 NONAME ; bool QHttpHeader::parse(class QString const &)
+ ?domain@QNetworkCookie@@QBE?AVQString@@XZ @ 542 NONAME ; class QString QNetworkCookie::domain(void) const
+ ?staticMetaObject@QHttp@@2UQMetaObject@@B @ 543 NONAME ; struct QMetaObject const QHttp::staticMetaObject
+ ?fromData@QSslCertificate@@SA?AV?$QList@VQSslCertificate@@@@ABVQByteArray@@W4EncodingFormat@QSsl@@@Z @ 544 NONAME ; class QList<class QSslCertificate> QSslCertificate::fromData(class QByteArray const &, enum QSsl::EncodingFormat)
+ ?trUtf8@QNetworkDiskCache@@SA?AVQString@@PBD0H@Z @ 545 NONAME ; class QString QNetworkDiskCache::trUtf8(char const *, char const *, int)
+ ?protocol@QHostAddress@@QBE?AW4NetworkLayerProtocol@QAbstractSocket@@XZ @ 546 NONAME ; enum QAbstractSocket::NetworkLayerProtocol QHostAddress::protocol(void) const
+ ?currentDevice@QFtp@@QBEPAVQIODevice@@XZ @ 547 NONAME ; class QIODevice * QFtp::currentDevice(void) const
+ ?qt_metacall@QSslSocket@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 548 NONAME ; int QSslSocket::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?bind@QUdpSocket@@QAE_NABVQHostAddress@@G@Z @ 549 NONAME ; bool QUdpSocket::bind(class QHostAddress const &, unsigned short)
+ ?setReadBufferSize@QNetworkReply@@UAEX_J@Z @ 550 NONAME ; void QNetworkReply::setReadBufferSize(long long)
+ ?setApplicationProxy@QNetworkProxy@@SAXABV1@@Z @ 551 NONAME ; void QNetworkProxy::setApplicationProxy(class QNetworkProxy const &)
+ ??1QNetworkDiskCache@@UAE@XZ @ 552 NONAME ; QNetworkDiskCache::~QNetworkDiskCache(void)
+ ??1QSslConfiguration@@QAE@XZ @ 553 NONAME ; QSslConfiguration::~QSslConfiguration(void)
+ ?d_func@QNetworkCookieJar@@ABEPBVQNetworkCookieJarPrivate@@XZ @ 554 NONAME ; class QNetworkCookieJarPrivate const * QNetworkCookieJar::d_func(void) const
+ ?d_func@QLocalSocket@@ABEPBVQLocalSocketPrivate@@XZ @ 555 NONAME ; class QLocalSocketPrivate const * QLocalSocket::d_func(void) const
+ ?socketType@QAbstractSocket@@QBE?AW4SocketType@1@XZ @ 556 NONAME ; enum QAbstractSocket::SocketType QAbstractSocket::socketType(void) const
+ ?d_func@QSslSocket@@AAEPAVQSslSocketPrivate@@XZ @ 557 NONAME ; class QSslSocketPrivate * QSslSocket::d_func(void)
+ ?abort@QFtp@@QAEXXZ @ 558 NONAME ; void QFtp::abort(void)
+ ?readData@QLocalSocket@@MAE_JPAD_J@Z @ 559 NONAME ; long long QLocalSocket::readData(char *, long long)
+ ?lookupId@QHostInfo@@QBEHXZ @ 560 NONAME ; int QHostInfo::lookupId(void) const
+ ?qHash@@YAIABVQHostAddress@@@Z @ 561 NONAME ; unsigned int qHash(class QHostAddress const &)
+ ??6@YA?AVQDebug@@V0@ABVQNetworkCookie@@@Z @ 562 NONAME ; class QDebug operator<<(class QDebug, class QNetworkCookie const &)
+ ?clear@QNetworkDiskCache@@UAEXXZ @ 563 NONAME ; void QNetworkDiskCache::clear(void)
+ ?privateKey@QSslConfiguration@@QBE?AVQSslKey@@XZ @ 564 NONAME ; class QSslKey QSslConfiguration::privateKey(void) const
+ ?peerCertificateChain@QSslSocket@@QBE?AV?$QList@VQSslCertificate@@@@XZ @ 565 NONAME ; class QList<class QSslCertificate> QSslSocket::peerCertificateChain(void) const
+ ?tr@QFtp@@SA?AVQString@@PBD0@Z @ 566 NONAME ; class QString QFtp::tr(char const *, char const *)
+ ?readAll@QHttp@@QAE?AVQByteArray@@XZ @ 567 NONAME ; class QByteArray QHttp::readAll(void)
+ ?hasRawHeader@QNetworkRequest@@QBE_NABVQByteArray@@@Z @ 568 NONAME ; bool QNetworkRequest::hasRawHeader(class QByteArray const &) const
+ ?authenticationMethod@QSslCipher@@QBE?AVQString@@XZ @ 569 NONAME ; class QString QSslCipher::authenticationMethod(void) const
+ ?hardwareAddress@QNetworkInterface@@QBE?AVQString@@XZ @ 570 NONAME ; class QString QNetworkInterface::hardwareAddress(void) const
+ ?setName@QNetworkCookie@@QAEXABVQByteArray@@@Z @ 571 NONAME ; void QNetworkCookie::setName(class QByteArray const &)
+ ?isTransparentProxy@QNetworkProxy@@QBE_NXZ @ 572 NONAME ; bool QNetworkProxy::isTransparentProxy(void) const
+ ?trUtf8@QNetworkAccessManager@@SA?AVQString@@PBD0@Z @ 573 NONAME ; class QString QNetworkAccessManager::trUtf8(char const *, char const *)
+ ?isValid@QSslCertificate@@QBE_NXZ @ 574 NONAME ; bool QSslCertificate::isValid(void) const
+ ?bind@QUdpSocket@@QAE_NG@Z @ 575 NONAME ; bool QUdpSocket::bind(unsigned short)
+ ?ip@QNetworkAddressEntry@@QBE?AVQHostAddress@@XZ @ 576 NONAME ; class QHostAddress QNetworkAddressEntry::ip(void) const
+ ?isNull@QSslCertificate@@QBE_NXZ @ 577 NONAME ; bool QSslCertificate::isNull(void) const
+ ??_EQLocalSocket@@UAE@I@Z @ 578 NONAME ; QLocalSocket::~QLocalSocket(unsigned int)
+ ??8QNetworkRequest@@QBE_NABV0@@Z @ 579 NONAME ; bool QNetworkRequest::operator==(class QNetworkRequest const &) const
+ ?readBufferSize@QLocalSocket@@QBE_JXZ @ 580 NONAME ; long long QLocalSocket::readBufferSize(void) const
+ ?setPeerHostName@QNetworkProxyQuery@@QAEXABVQString@@@Z @ 581 NONAME ; void QNetworkProxyQuery::setPeerHostName(class QString const &)
+ ??0QNetworkProxy@@QAE@W4ProxyType@0@ABVQString@@G11@Z @ 582 NONAME ; QNetworkProxy::QNetworkProxy(enum QNetworkProxy::ProxyType, class QString const &, unsigned short, class QString const &, class QString const &)
+ ??9QNetworkCacheMetaData@@QBE_NABV0@@Z @ 583 NONAME ; bool QNetworkCacheMetaData::operator!=(class QNetworkCacheMetaData const &) const
+ ?isEncrypted@QSslSocket@@QBE_NXZ @ 584 NONAME ; bool QSslSocket::isEncrypted(void) const
+ ?setAddress@QHostAddress@@QAEXABVQIPv6Address@@@Z @ 585 NONAME ; void QHostAddress::setAddress(class QIPv6Address const &)
+ ??0QNetworkRequest@@QAE@ABVQUrl@@@Z @ 586 NONAME ; QNetworkRequest::QNetworkRequest(class QUrl const &)
+ ?qt_metacast@QNetworkReply@@UAEPAXPBD@Z @ 587 NONAME ; void * QNetworkReply::qt_metacast(char const *)
+ ?trUtf8@QHttp@@SA?AVQString@@PBD0@Z @ 588 NONAME ; class QString QHttp::trUtf8(char const *, char const *)
+ ?getStaticMetaObject@QAbstractSocket@@SAABUQMetaObject@@XZ @ 589 NONAME ; struct QMetaObject const & QAbstractSocket::getStaticMetaObject(void)
+ ?isFile@QUrlInfo@@QBE_NXZ @ 590 NONAME ; bool QUrlInfo::isFile(void) const
+ ?error@QNetworkReply@@QBE?AW4NetworkError@1@XZ @ 591 NONAME ; enum QNetworkReply::NetworkError QNetworkReply::error(void) const
+ ?addresses@QHostInfo@@QBE?AV?$QList@VQHostAddress@@@@XZ @ 592 NONAME ; class QList<class QHostAddress> QHostInfo::addresses(void) const
+ ?setCacheDirectory@QNetworkDiskCache@@QAEXABVQString@@@Z @ 593 NONAME ; void QNetworkDiskCache::setCacheDirectory(class QString const &)
+ ??8QNetworkProxy@@QBE_NABV0@@Z @ 594 NONAME ; bool QNetworkProxy::operator==(class QNetworkProxy const &) const
+ ?error@QFtp@@QBE?AW4Error@1@XZ @ 595 NONAME ; enum QFtp::Error QFtp::error(void) const
+ ?toString@QHttpHeader@@UBE?AVQString@@XZ @ 596 NONAME ; class QString QHttpHeader::toString(void) const
+ ?allValues@QHttpHeader@@QBE?AVQStringList@@ABVQString@@@Z @ 597 NONAME ; class QStringList QHttpHeader::allValues(class QString const &) const
+ ?sessionCipher@QSslSocket@@QBE?AVQSslCipher@@XZ @ 598 NONAME ; class QSslCipher QSslSocket::sessionCipher(void) const
+ ??_EQTcpSocket@@UAE@I@Z @ 599 NONAME ; QTcpSocket::~QTcpSocket(unsigned int)
+ ?setMaxPendingConnections@QTcpServer@@QAEXH@Z @ 600 NONAME ; void QTcpServer::setMaxPendingConnections(int)
+ ?bind@QUdpSocket@@QAE_NABVQHostAddress@@GV?$QFlags@W4BindFlag@QUdpSocket@@@@@Z @ 601 NONAME ; bool QUdpSocket::bind(class QHostAddress const &, unsigned short, class QFlags<enum QUdpSocket::BindFlag>)
+ ?minorVersion@QHttpResponseHeader@@UBEHXZ @ 602 NONAME ; int QHttpResponseHeader::minorVersion(void) const
+ ?setLocalPort@QAbstractSocket@@IAEXG@Z @ 603 NONAME ; void QAbstractSocket::setLocalPort(unsigned short)
+ ?d_func@QFtp@@ABEPBVQFtpPrivate@@XZ @ 604 NONAME ; class QFtpPrivate const * QFtp::d_func(void) const
+ ?expiryDate@QSslCertificate@@QBE?AVQDateTime@@XZ @ 605 NONAME ; class QDateTime QSslCertificate::expiryDate(void) const
+ ?createRequest@QNetworkAccessManager@@MAEPAVQNetworkReply@@W4Operation@1@ABVQNetworkRequest@@PAVQIODevice@@@Z @ 606 NONAME ; class QNetworkReply * QNetworkAccessManager::createRequest(enum QNetworkAccessManager::Operation, class QNetworkRequest const &, class QIODevice *)
+ ?supportedCiphers@QSslSocket@@SA?AV?$QList@VQSslCipher@@@@XZ @ 607 NONAME ; class QList<class QSslCipher> QSslSocket::supportedCiphers(void)
+ ?setRequest@QNetworkReply@@IAEXABVQNetworkRequest@@@Z @ 608 NONAME ; void QNetworkReply::setRequest(class QNetworkRequest const &)
+ ??4QHttpRequestHeader@@QAEAAV0@ABV0@@Z @ 609 NONAME ; class QHttpRequestHeader & QHttpRequestHeader::operator=(class QHttpRequestHeader const &)
+ ?metaObject@QHttp@@UBEPBUQMetaObject@@XZ @ 610 NONAME ; struct QMetaObject const * QHttp::metaObject(void) const
+ ?setErrorString@QHostInfo@@QAEXABVQString@@@Z @ 611 NONAME ; void QHostInfo::setErrorString(class QString const &)
+ ?staticMetaObject@QNetworkAccessManager@@2UQMetaObject@@B @ 612 NONAME ; struct QMetaObject const QNetworkAccessManager::staticMetaObject
+ ?setPassword@QNetworkProxy@@QAEXABVQString@@@Z @ 613 NONAME ; void QNetworkProxy::setPassword(class QString const &)
+ ?fullServerName@QLocalSocket@@QBE?AVQString@@XZ @ 614 NONAME ; class QString QLocalSocket::fullServerName(void) const
+ ?error@QLocalSocket@@QBE?AW4LocalSocketError@1@XZ @ 615 NONAME ; enum QLocalSocket::LocalSocketError QLocalSocket::error(void) const
+ ?setAddress@QHostAddress@@QAE_NABVQString@@@Z @ 616 NONAME ; bool QHostAddress::setAddress(class QString const &)
+ ??0QSslCertificate@@QAE@ABV0@@Z @ 617 NONAME ; QSslCertificate::QSslCertificate(class QSslCertificate const &)
+ ?setPrivateKey@QSslConfiguration@@QAEXABVQSslKey@@@Z @ 618 NONAME ; void QSslConfiguration::setPrivateKey(class QSslKey const &)
+ ?qt_metacall@QAbstractSocket@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 619 NONAME ; int QAbstractSocket::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?majorVersion@QHttpRequestHeader@@UBEHXZ @ 620 NONAME ; int QHttpRequestHeader::majorVersion(void) const
+ ?queryType@QNetworkProxyQuery@@QBE?AW4QueryType@1@XZ @ 621 NONAME ; enum QNetworkProxyQuery::QueryType QNetworkProxyQuery::queryType(void) const
+ ?d_func@QAbstractSocket@@ABEPBVQAbstractSocketPrivate@@XZ @ 622 NONAME ; class QAbstractSocketPrivate const * QAbstractSocket::d_func(void) const
+ ?flush@QLocalSocket@@QAE_NXZ @ 623 NONAME ; bool QLocalSocket::flush(void)
+ ?qt_metacall@QHttp@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 624 NONAME ; int QHttp::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ??9QNetworkProxyQuery@@QBE_NABV0@@Z @ 625 NONAME ; bool QNetworkProxyQuery::operator!=(class QNetworkProxyQuery const &) const
+ ?defaultCiphers@QSslSocket@@SA?AV?$QList@VQSslCipher@@@@XZ @ 626 NONAME ; class QList<class QSslCipher> QSslSocket::defaultCiphers(void)
+ ??8QSslCipher@@QBE_NABV0@@Z @ 627 NONAME ; bool QSslCipher::operator==(class QSslCipher const &) const
+ ?ignoreSslErrors@QNetworkReply@@QAEXABV?$QList@VQSslError@@@@@Z @ 628 NONAME ; void QNetworkReply::ignoreSslErrors(class QList<class QSslError> const &)
+ ??1QSslError@@QAE@XZ @ 629 NONAME ; QSslError::~QSslError(void)
+ ??0QFtp@@QAE@PAVQObject@@@Z @ 630 NONAME ; QFtp::QFtp(class QObject *)
+ ?removeValue@QHttpHeader@@QAEXABVQString@@@Z @ 631 NONAME ; void QHttpHeader::removeValue(class QString const &)
+ ?setQueryType@QNetworkProxyQuery@@QAEXW4QueryType@1@@Z @ 632 NONAME ; void QNetworkProxyQuery::setQueryType(enum QNetworkProxyQuery::QueryType)
+ ?trUtf8@QLocalServer@@SA?AVQString@@PBD0H@Z @ 633 NONAME ; class QString QLocalServer::trUtf8(char const *, char const *, int)
+ ?setReadBufferSize@QSslSocket@@QAEX_J@Z @ 634 NONAME ; void QSslSocket::setReadBufferSize(long long)
+ ?trUtf8@QNetworkDiskCache@@SA?AVQString@@PBD0@Z @ 635 NONAME ; class QString QNetworkDiskCache::trUtf8(char const *, char const *)
+ ??_EQNetworkInterface@@QAE@I@Z @ 636 NONAME ABSENT ; QNetworkInterface::~QNetworkInterface(unsigned int)
+ ?setAttributes@QNetworkCacheMetaData@@QAEXABV?$QHash@W4Attribute@QNetworkRequest@@VQVariant@@@@@Z @ 637 NONAME ; void QNetworkCacheMetaData::setAttributes(class QHash<enum QNetworkRequest::Attribute, class QVariant> const &)
+ ?canReadLine@QLocalSocket@@UBE_NXZ @ 638 NONAME ; bool QLocalSocket::canReadLine(void) const
+ ??0QLocalServer@@QAE@PAVQObject@@@Z @ 639 NONAME ; QLocalServer::QLocalServer(class QObject *)
+ ??1QTcpServer@@UAE@XZ @ 640 NONAME ; QTcpServer::~QTcpServer(void)
+ ?tr@QNetworkDiskCache@@SA?AVQString@@PBD0H@Z @ 641 NONAME ; class QString QNetworkDiskCache::tr(char const *, char const *, int)
+ ?connectToServer@QLocalSocket@@QAEXABVQString@@V?$QFlags@W4OpenModeFlag@QIODevice@@@@@Z @ 642 NONAME ; void QLocalSocket::connectToServer(class QString const &, class QFlags<enum QIODevice::OpenModeFlag>)
+ ?toDer@QSslCertificate@@QBE?AVQByteArray@@XZ @ 643 NONAME ; class QByteArray QSslCertificate::toDer(void) const
+ ?newConnection@QTcpServer@@IAEXXZ @ 644 NONAME ; void QTcpServer::newConnection(void)
+ ?login@QFtp@@QAEHABVQString@@0@Z @ 645 NONAME ; int QFtp::login(class QString const &, class QString const &)
+ ?setAddresses@QHostInfo@@QAEXABV?$QList@VQHostAddress@@@@@Z @ 646 NONAME ; void QHostInfo::setAddresses(class QList<class QHostAddress> const &)
+ ??6@YA?AVQDebug@@V0@ABVQSslCipher@@@Z @ 647 NONAME ; class QDebug operator<<(class QDebug, class QSslCipher const &)
+ ??0QHttpHeader@@QAE@XZ @ 648 NONAME ; QHttpHeader::QHttpHeader(void)
+ ?trUtf8@QSslSocket@@SA?AVQString@@PBD0@Z @ 649 NONAME ; class QString QSslSocket::trUtf8(char const *, char const *)
+ ??4QHttpResponseHeader@@QAEAAV0@ABV0@@Z @ 650 NONAME ; class QHttpResponseHeader & QHttpResponseHeader::operator=(class QHttpResponseHeader const &)
+ ?commandStarted@QFtp@@IAEXH@Z @ 651 NONAME ; void QFtp::commandStarted(int)
+ ?toRawForm@QNetworkCookie@@QBE?AVQByteArray@@W4RawForm@1@@Z @ 652 NONAME ; class QByteArray QNetworkCookie::toRawForm(enum QNetworkCookie::RawForm) const
+ ?toPem@QSslCertificate@@QBE?AVQByteArray@@XZ @ 653 NONAME ; class QByteArray QSslCertificate::toPem(void) const
+ ?get@QHttp@@QAEHABVQString@@PAVQIODevice@@@Z @ 654 NONAME ; int QHttp::get(class QString const &, class QIODevice *)
+ ?setSocketOption@QAbstractSocket@@QAEXW4SocketOption@1@ABVQVariant@@@Z @ 655 NONAME ; void QAbstractSocket::setSocketOption(enum QAbstractSocket::SocketOption, class QVariant const &)
+ ?d_func@QSslSocket@@ABEPBVQSslSocketPrivate@@XZ @ 656 NONAME ; class QSslSocketPrivate const * QSslSocket::d_func(void) const
+ ?tr@QAbstractSocket@@SA?AVQString@@PBD0H@Z @ 657 NONAME ; class QString QAbstractSocket::tr(char const *, char const *, int)
+ ??0QTcpSocket@@QAE@PAVQObject@@@Z @ 658 NONAME ; QTcpSocket::QTcpSocket(class QObject *)
+ ??0QHttp@@QAE@ABVQString@@W4ConnectionMode@0@GPAVQObject@@@Z @ 659 NONAME ; QHttp::QHttp(class QString const &, enum QHttp::ConnectionMode, unsigned short, class QObject *)
+ ?connectToHostImplementation@QAbstractSocket@@IAEXABVQString@@GV?$QFlags@W4OpenModeFlag@QIODevice@@@@@Z @ 660 NONAME ; void QAbstractSocket::connectToHostImplementation(class QString const &, unsigned short, class QFlags<enum QIODevice::OpenModeFlag>)
+ ?sslConfiguration@QNetworkReply@@QBE?AVQSslConfiguration@@XZ @ 661 NONAME ; class QSslConfiguration QNetworkReply::sslConfiguration(void) const
+ ??AQIPv6Address@@QAEAAEH@Z @ 662 NONAME ; unsigned char & QIPv6Address::operator[](int)
+ ?setSocketDescriptor@QLocalSocket@@QAE_NIW4LocalSocketState@1@V?$QFlags@W4OpenModeFlag@QIODevice@@@@@Z @ 663 NONAME ; bool QLocalSocket::setSocketDescriptor(unsigned int, enum QLocalSocket::LocalSocketState, class QFlags<enum QIODevice::OpenModeFlag>)
+ ??_EQNetworkProxy@@QAE@I@Z @ 664 NONAME ABSENT ; QNetworkProxy::~QNetworkProxy(unsigned int)
+ ?setPeerName@QAbstractSocket@@IAEXABVQString@@@Z @ 665 NONAME ; void QAbstractSocket::setPeerName(class QString const &)
+ ?getStaticMetaObject@QHttp@@SAABUQMetaObject@@XZ @ 666 NONAME ; struct QMetaObject const & QHttp::getStaticMetaObject(void)
+ ??0QNetworkProxyFactory@@QAE@XZ @ 667 NONAME ; QNetworkProxyFactory::QNetworkProxyFactory(void)
+ ?interfaceFromIndex@QNetworkInterface@@SA?AV1@H@Z @ 668 NONAME ; class QNetworkInterface QNetworkInterface::interfaceFromIndex(int)
+ ?url@QNetworkCacheMetaData@@QBE?AVQUrl@@XZ @ 669 NONAME ; class QUrl QNetworkCacheMetaData::url(void) const
+ ?setSslConfiguration@QSslSocket@@QAEXABVQSslConfiguration@@@Z @ 670 NONAME ; void QSslSocket::setSslConfiguration(class QSslConfiguration const &)
+ ?staticMetaObject@QFtp@@2UQMetaObject@@B @ 671 NONAME ; struct QMetaObject const QFtp::staticMetaObject
+ ?peerVerifyDepth@QSslConfiguration@@QBEHXZ @ 672 NONAME ; int QSslConfiguration::peerVerifyDepth(void) const
+ ??_EQUdpSocket@@UAE@I@Z @ 673 NONAME ; QUdpSocket::~QUdpSocket(unsigned int)
+ ?bytesAvailable@QAbstractSocket@@UBE_JXZ @ 674 NONAME ; long long QAbstractSocket::bytesAvailable(void) const
+ ?qt_metacast@QLocalServer@@UAEPAXPBD@Z @ 675 NONAME ; void * QLocalServer::qt_metacast(char const *)
+ ?protocol@QSslSocket@@QBE?AW4SslProtocol@QSsl@@XZ @ 676 NONAME ; enum QSsl::SslProtocol QSslSocket::protocol(void) const
+ ?toString@QHttpRequestHeader@@UBE?AVQString@@XZ @ 677 NONAME ; class QString QHttpRequestHeader::toString(void) const
+ ?setProxy@QHttp@@QAEHABVQString@@H00@Z @ 678 NONAME ; int QHttp::setProxy(class QString const &, int, class QString const &, class QString const &)
+ ?startClientEncryption@QSslSocket@@QAEXXZ @ 679 NONAME ; void QSslSocket::startClientEncryption(void)
+ ??1QNetworkCookieJar@@UAE@XZ @ 680 NONAME ; QNetworkCookieJar::~QNetworkCookieJar(void)
+ ??0QNetworkProxyQuery@@QAE@GABVQString@@W4QueryType@0@@Z @ 681 NONAME ; QNetworkProxyQuery::QNetworkProxyQuery(unsigned short, class QString const &, enum QNetworkProxyQuery::QueryType)
+ ?caCertificates@QSslSocket@@QBE?AV?$QList@VQSslCertificate@@@@XZ @ 682 NONAME ; class QList<class QSslCertificate> QSslSocket::caCertificates(void) const
+ ??4QSslCertificate@@QAEAAV0@ABV0@@Z @ 683 NONAME ; class QSslCertificate & QSslCertificate::operator=(class QSslCertificate const &)
+ ?trUtf8@QAbstractSocket@@SA?AVQString@@PBD0@Z @ 684 NONAME ; class QString QAbstractSocket::trUtf8(char const *, char const *)
+ ?stateChanged@QLocalSocket@@IAEXW4LocalSocketState@1@@Z @ 685 NONAME ; void QLocalSocket::stateChanged(enum QLocalSocket::LocalSocketState)
+ ?setProxy@QFtp@@QAEHABVQString@@G@Z @ 686 NONAME ; int QFtp::setProxy(class QString const &, unsigned short)
+ ?isReadable@QUrlInfo@@QBE_NXZ @ 687 NONAME ; bool QUrlInfo::isReadable(void) const
+ ?tr@QNetworkReply@@SA?AVQString@@PBD0@Z @ 688 NONAME ; class QString QNetworkReply::tr(char const *, char const *)
+ ?metaObject@QFtp@@UBEPBUQMetaObject@@XZ @ 689 NONAME ; struct QMetaObject const * QFtp::metaObject(void) const
+ ?getStaticMetaObject@QNetworkDiskCache@@SAABUQMetaObject@@XZ @ 690 NONAME ; struct QMetaObject const & QNetworkDiskCache::getStaticMetaObject(void)
+ ?keys@QHttpHeader@@QBE?AVQStringList@@XZ @ 691 NONAME ; class QStringList QHttpHeader::keys(void) const
+ ?peerCertificate@QSslSocket@@QBE?AVQSslCertificate@@XZ @ 692 NONAME ; class QSslCertificate QSslSocket::peerCertificate(void) const
+ ?toString@QHostAddress@@QBE?AVQString@@XZ @ 693 NONAME ; class QString QHostAddress::toString(void) const
+ ?setOperation@QNetworkReply@@IAEXW4Operation@QNetworkAccessManager@@@Z @ 694 NONAME ; void QNetworkReply::setOperation(enum QNetworkAccessManager::Operation)
+ ?attributes@QNetworkCacheMetaData@@QBE?AV?$QHash@W4Attribute@QNetworkRequest@@VQVariant@@@@XZ @ 695 NONAME ; class QHash<enum QNetworkRequest::Attribute, class QVariant> QNetworkCacheMetaData::attributes(void) const
+ ??1QNetworkAddressEntry@@QAE@XZ @ 696 NONAME ; QNetworkAddressEntry::~QNetworkAddressEntry(void)
+ ?close@QFtp@@QAEHXZ @ 697 NONAME ; int QFtp::close(void)
+ ?proxyAuthenticationRequired@QHttp@@IAEXABVQNetworkProxy@@PAVQAuthenticator@@@Z @ 698 NONAME ; void QHttp::proxyAuthenticationRequired(class QNetworkProxy const &, class QAuthenticator *)
+ ?rawHeaderList@QNetworkReply@@QBE?AV?$QList@VQByteArray@@@@XZ @ 699 NONAME ; class QList<class QByteArray> QNetworkReply::rawHeaderList(void) const
+ ?d_func@QLocalServer@@AAEPAVQLocalServerPrivate@@XZ @ 700 NONAME ; class QLocalServerPrivate * QLocalServer::d_func(void)
+ ?setUser@QNetworkProxy@@QAEXABVQString@@@Z @ 701 NONAME ; void QNetworkProxy::setUser(class QString const &)
+ ?trUtf8@QAbstractNetworkCache@@SA?AVQString@@PBD0H@Z @ 702 NONAME ; class QString QAbstractNetworkCache::trUtf8(char const *, char const *, int)
+ ?authenticationRequired@QHttp@@IAEXABVQString@@GPAVQAuthenticator@@@Z @ 703 NONAME ; void QHttp::authenticationRequired(class QString const &, unsigned short, class QAuthenticator *)
+ ?read@QFtp@@QAE_JPAD_J@Z @ 704 NONAME ; long long QFtp::read(char *, long long)
+ ?detach@QAuthenticator@@QAEXXZ @ 705 NONAME ; void QAuthenticator::detach(void)
+ ??_EQHttp@@UAE@I@Z @ 706 NONAME ; QHttp::~QHttp(unsigned int)
+ ?finished@QNetworkReply@@IAEXXZ @ 707 NONAME ; void QNetworkReply::finished(void)
+ ?remove@QNetworkDiskCache@@UAE_NABVQUrl@@@Z @ 708 NONAME ; bool QNetworkDiskCache::remove(class QUrl const &)
+ ?request@QHttp@@QAEHABVQHttpRequestHeader@@ABVQByteArray@@PAVQIODevice@@@Z @ 709 NONAME ; int QHttp::request(class QHttpRequestHeader const &, class QByteArray const &, class QIODevice *)
+ ?put@QFtp@@QAEHPAVQIODevice@@ABVQString@@W4TransferType@1@@Z @ 710 NONAME ; int QFtp::put(class QIODevice *, class QString const &, enum QFtp::TransferType)
+ ?waitForDisconnected@QLocalSocket@@QAE_NH@Z @ 711 NONAME ; bool QLocalSocket::waitForDisconnected(int)
+ ?name@QSslCipher@@QBE?AVQString@@XZ @ 712 NONAME ; class QString QSslCipher::name(void) const
+ ?mode@QSslSocket@@QBE?AW4SslMode@1@XZ @ 713 NONAME ; enum QSslSocket::SslMode QSslSocket::mode(void) const
+ ?metaData@QNetworkDiskCache@@UAE?AVQNetworkCacheMetaData@@ABVQUrl@@@Z @ 714 NONAME ; class QNetworkCacheMetaData QNetworkDiskCache::metaData(class QUrl const &)
+ ??_EQHostAddress@@QAE@I@Z @ 715 NONAME ABSENT ; QHostAddress::~QHostAddress(unsigned int)
+ ?abort@QLocalSocket@@QAEXXZ @ 716 NONAME ; void QLocalSocket::abort(void)
+ ?setDir@QUrlInfo@@UAEX_N@Z @ 717 NONAME ; void QUrlInfo::setDir(bool)
+ ?systemCaCertificates@QSslSocket@@SA?AV?$QList@VQSslCertificate@@@@XZ @ 718 NONAME ; class QList<class QSslCertificate> QSslSocket::systemCaCertificates(void)
+ ??0QHttpHeader@@IAE@AAVQHttpHeaderPrivate@@ABVQString@@@Z @ 719 NONAME ; QHttpHeader::QHttpHeader(class QHttpHeaderPrivate &, class QString const &)
+ ??0QNetworkCacheMetaData@@QAE@ABV0@@Z @ 720 NONAME ; QNetworkCacheMetaData::QNetworkCacheMetaData(class QNetworkCacheMetaData const &)
+ ?localDomainName@QHostInfo@@SA?AVQString@@XZ @ 721 NONAME ; class QString QHostInfo::localDomainName(void)
+ ??0QSslKey@@QAE@ABV0@@Z @ 722 NONAME ; QSslKey::QSslKey(class QSslKey const &)
+ ?lookupHost@QHostInfo@@SAHABVQString@@PAVQObject@@PBD@Z @ 723 NONAME ; int QHostInfo::lookupHost(class QString const &, class QObject *, char const *)
+ ?permissions@QUrlInfo@@QBEHXZ @ 724 NONAME ; int QUrlInfo::permissions(void) const
+ ??4QHostAddress@@QAEAAV0@ABVQString@@@Z @ 725 NONAME ; class QHostAddress & QHostAddress::operator=(class QString const &)
+ ?d_func@QNetworkAccessManager@@AAEPAVQNetworkAccessManagerPrivate@@XZ @ 726 NONAME ; class QNetworkAccessManagerPrivate * QNetworkAccessManager::d_func(void)
+ ?rawHeaders@QNetworkCacheMetaData@@QBE?AV?$QList@U?$QPair@VQByteArray@@V1@@@@@XZ @ 727 NONAME ; class QList<struct QPair<class QByteArray, class QByteArray> > QNetworkCacheMetaData::rawHeaders(void) const
+ ??_EQLocalServer@@UAE@I@Z @ 728 NONAME ; QLocalServer::~QLocalServer(unsigned int)
+ ?length@QSslKey@@QBEHXZ @ 729 NONAME ; int QSslKey::length(void) const
+ ?setSymLink@QUrlInfo@@UAEX_N@Z @ 730 NONAME ; void QUrlInfo::setSymLink(bool)
+ ?allCookies@QNetworkCookieJar@@IBE?AV?$QList@VQNetworkCookie@@@@XZ @ 731 NONAME ; class QList<class QNetworkCookie> QNetworkCookieJar::allCookies(void) const
+ ?localCertificate@QSslSocket@@QBE?AVQSslCertificate@@XZ @ 732 NONAME ; class QSslCertificate QSslSocket::localCertificate(void) const
+ ?qt_metacast@QNetworkCookieJar@@UAEPAXPBD@Z @ 733 NONAME ; void * QNetworkCookieJar::qt_metacast(char const *)
+ ?writeDatagram@QUdpSocket@@QAE_JABVQByteArray@@ABVQHostAddress@@G@Z @ 734 NONAME ; long long QUdpSocket::writeDatagram(class QByteArray const &, class QHostAddress const &, unsigned short)
+ ??0QAbstractSocket@@QAE@W4SocketType@0@PAVQObject@@@Z @ 735 NONAME ; QAbstractSocket::QAbstractSocket(enum QAbstractSocket::SocketType, class QObject *)
+ ?get@QFtp@@QAEHABVQString@@PAVQIODevice@@W4TransferType@1@@Z @ 736 NONAME ; int QFtp::get(class QString const &, class QIODevice *, enum QFtp::TransferType)
+ ?setSocketDescriptor@QAbstractSocket@@QAE_NHW4SocketState@1@V?$QFlags@W4OpenModeFlag@QIODevice@@@@@Z @ 737 NONAME ; bool QAbstractSocket::setSocketDescriptor(int, enum QAbstractSocket::SocketState, class QFlags<enum QIODevice::OpenModeFlag>)
+ ?setNetmask@QNetworkAddressEntry@@QAEXABVQHostAddress@@@Z @ 738 NONAME ; void QNetworkAddressEntry::setNetmask(class QHostAddress const &)
+ ??_EQHttpResponseHeader@@UAE@I@Z @ 739 NONAME ; QHttpResponseHeader::~QHttpResponseHeader(unsigned int)
+ ?encryptedBytesToWrite@QSslSocket@@QBE_JXZ @ 740 NONAME ; long long QSslSocket::encryptedBytesToWrite(void) const
+ ?localPort@QNetworkProxyQuery@@QBEHXZ @ 741 NONAME ; int QNetworkProxyQuery::localPort(void) const
+ ?alternateSubjectNames@QSslCertificate@@QBE?AV?$QMultiMap@W4AlternateNameEntryType@QSsl@@VQString@@@@XZ @ 742 NONAME ; class QMultiMap<enum QSsl::AlternateNameEntryType, class QString> QSslCertificate::alternateSubjectNames(void) const
+ ?peerName@QAbstractSocket@@QBE?AVQString@@XZ @ 743 NONAME ; class QString QAbstractSocket::peerName(void) const
+ ??4QSslCipher@@QAEAAV0@ABV0@@Z @ 744 NONAME ; class QSslCipher & QSslCipher::operator=(class QSslCipher const &)
+ ??4QHttpHeader@@QAEAAV0@ABV0@@Z @ 745 NONAME ; class QHttpHeader & QHttpHeader::operator=(class QHttpHeader const &)
+ ?parseLine@QHttpRequestHeader@@MAE_NABVQString@@H@Z @ 746 NONAME ; bool QHttpRequestHeader::parseLine(class QString const &, int)
+ ?setPeerVerifyDepth@QSslSocket@@QAEXH@Z @ 747 NONAME ; void QSslSocket::setPeerVerifyDepth(int)
+ ?close@QHttp@@QAEHXZ @ 748 NONAME ; int QHttp::close(void)
+ ??0QNetworkInterface@@QAE@XZ @ 749 NONAME ; QNetworkInterface::QNetworkInterface(void)
+ ??_EQTcpServer@@UAE@I@Z @ 750 NONAME ; QTcpServer::~QTcpServer(unsigned int)
+ ?metaObject@QAbstractNetworkCache@@UBEPBUQMetaObject@@XZ @ 751 NONAME ; struct QMetaObject const * QAbstractNetworkCache::metaObject(void) const
+ ?bytesAvailable@QLocalSocket@@UBE_JXZ @ 752 NONAME ; long long QLocalSocket::bytesAvailable(void) const
+ ??1QAuthenticator@@QAE@XZ @ 753 NONAME ; QAuthenticator::~QAuthenticator(void)
+ ?setContentType@QHttpHeader@@QAEXABVQString@@@Z @ 754 NONAME ; void QHttpHeader::setContentType(class QString const &)
+ ?port@QNetworkProxy@@QBEGXZ @ 755 NONAME ; unsigned short QNetworkProxy::port(void) const
+ ?encryptedBytesAvailable@QSslSocket@@QBE_JXZ @ 756 NONAME ; long long QSslSocket::encryptedBytesAvailable(void) const
+ ??6@YA?AVQDebug@@V0@W4SocketError@QAbstractSocket@@@Z @ 757 NONAME ; class QDebug operator<<(class QDebug, enum QAbstractSocket::SocketError)
+ ?close@QLocalServer@@QAEXXZ @ 758 NONAME ; void QLocalServer::close(void)
+ ?staticMetaObject@QAbstractNetworkCache@@2UQMetaObject@@B @ 759 NONAME ; struct QMetaObject const QAbstractNetworkCache::staticMetaObject
+ ?hasKey@QHttpHeader@@QBE_NABVQString@@@Z @ 760 NONAME ; bool QHttpHeader::hasKey(class QString const &) const
+ ?setContentLength@QHttpHeader@@QAEXH@Z @ 761 NONAME ; void QHttpHeader::setContentLength(int)
+ ??_EQNetworkCookieJar@@UAE@I@Z @ 762 NONAME ; QNetworkCookieJar::~QNetworkCookieJar(unsigned int)
+ ?currentId@QFtp@@QBEHXZ @ 763 NONAME ; int QFtp::currentId(void) const
+ ?updateMetaData@QNetworkDiskCache@@UAEXABVQNetworkCacheMetaData@@@Z @ 764 NONAME ; void QNetworkDiskCache::updateMetaData(class QNetworkCacheMetaData const &)
+ ?errorString@QSslError@@QBE?AVQString@@XZ @ 765 NONAME ; class QString QSslError::errorString(void) const
+ ?disconnectFromServer@QLocalSocket@@QAEXXZ @ 766 NONAME ; void QLocalSocket::disconnectFromServer(void)
+ ?errorString@QFtp@@QBE?AVQString@@XZ @ 767 NONAME ; class QString QFtp::errorString(void) const
+ ?uploadProgress@QNetworkReply@@IAEX_J0@Z @ 768 NONAME ; void QNetworkReply::uploadProgress(long long, long long)
+ ??0QHttpRequestHeader@@QAE@ABVQString@@@Z @ 769 NONAME ; QHttpRequestHeader::QHttpRequestHeader(class QString const &)
+ ?cookieJar@QNetworkAccessManager@@QBEPAVQNetworkCookieJar@@XZ @ 770 NONAME ; class QNetworkCookieJar * QNetworkAccessManager::cookieJar(void) const
+ ?setAddress@QHostAddress@@QAEXPAE@Z @ 771 NONAME ; void QHostAddress::setAddress(unsigned char *)
+ ?parseSubnet@QHostAddress@@SA?AU?$QPair@VQHostAddress@@H@@ABVQString@@@Z @ 772 NONAME ; struct QPair<class QHostAddress, int> QHostAddress::parseSubnet(class QString const &)
+ ??0QSslConfiguration@@QAE@ABV0@@Z @ 773 NONAME ; QSslConfiguration::QSslConfiguration(class QSslConfiguration const &)
+ ?metaObject@QNetworkCookieJar@@UBEPBUQMetaObject@@XZ @ 774 NONAME ; struct QMetaObject const * QNetworkCookieJar::metaObject(void) const
+ ??0QHostAddress@@QAE@I@Z @ 775 NONAME ; QHostAddress::QHostAddress(unsigned int)
+ ?user@QNetworkProxy@@QBE?AVQString@@XZ @ 776 NONAME ; class QString QNetworkProxy::user(void) const
+ ?fullServerName@QLocalServer@@QBE?AVQString@@XZ @ 777 NONAME ; class QString QLocalServer::fullServerName(void) const
+ ?incomingConnection@QTcpServer@@MAEXH@Z @ 778 NONAME ; void QTcpServer::incomingConnection(int)
+ ?mkdir@QFtp@@QAEHABVQString@@@Z @ 779 NONAME ; int QFtp::mkdir(class QString const &)
+ ?removeAllValues@QHttpHeader@@QAEXABVQString@@@Z @ 780 NONAME ; void QHttpHeader::removeAllValues(class QString const &)
+ ?error@QHostInfo@@QBE?AW4HostInfoError@1@XZ @ 781 NONAME ; enum QHostInfo::HostInfoError QHostInfo::error(void) const
+ ??5@YAAAVQDataStream@@AAV0@AAVQHostAddress@@@Z @ 782 NONAME ; class QDataStream & operator>>(class QDataStream &, class QHostAddress &)
+ ?setValue@QHttpHeader@@QAEXABVQString@@0@Z @ 783 NONAME ; void QHttpHeader::setValue(class QString const &, class QString const &)
+ ??AQIPv6Address@@QBEEH@Z @ 784 NONAME ; unsigned char QIPv6Address::operator[](int) const
+ ??0QSslCertificate@@QAE@PAVQIODevice@@W4EncodingFormat@QSsl@@@Z @ 785 NONAME ; QSslCertificate::QSslCertificate(class QIODevice *, enum QSsl::EncodingFormat)
+ ?peerVerifyError@QSslSocket@@IAEXABVQSslError@@@Z @ 786 NONAME ; void QSslSocket::peerVerifyError(class QSslError const &)
+ ?owner@QUrlInfo@@QBE?AVQString@@XZ @ 787 NONAME ; class QString QUrlInfo::owner(void) const
+ ??0QUrlInfo@@QAE@ABVQString@@H00_JABVQDateTime@@2_N33333@Z @ 788 NONAME ; QUrlInfo::QUrlInfo(class QString const &, int, class QString const &, class QString const &, long long, class QDateTime const &, class QDateTime const &, bool, bool, bool, bool, bool, bool)
+ ?defaultConfiguration@QSslConfiguration@@SA?AV1@XZ @ 789 NONAME ; class QSslConfiguration QSslConfiguration::defaultConfiguration(void)
+ ?prepare@QNetworkDiskCache@@UAEPAVQIODevice@@ABVQNetworkCacheMetaData@@@Z @ 790 NONAME ; class QIODevice * QNetworkDiskCache::prepare(class QNetworkCacheMetaData const &)
+ ??1QHostAddress@@QAE@XZ @ 791 NONAME ; QHostAddress::~QHostAddress(void)
+ ?modeChanged@QSslSocket@@IAEXW4SslMode@1@@Z @ 792 NONAME ; void QSslSocket::modeChanged(enum QSslSocket::SslMode)
+ ?attribute@QNetworkReply@@QBE?AVQVariant@@W4Attribute@QNetworkRequest@@@Z @ 793 NONAME ; class QVariant QNetworkReply::attribute(enum QNetworkRequest::Attribute) const
+ ?setExpirationDate@QNetworkCookie@@QAEXABVQDateTime@@@Z @ 794 NONAME ; void QNetworkCookie::setExpirationDate(class QDateTime const &)
+ ?hostName@QHostInfo@@QBE?AVQString@@XZ @ 795 NONAME ; class QString QHostInfo::hostName(void) const
+ ?addDefaultCaCertificates@QSslSocket@@SA_NABVQString@@W4EncodingFormat@QSsl@@W4PatternSyntax@QRegExp@@@Z @ 796 NONAME ; bool QSslSocket::addDefaultCaCertificates(class QString const &, enum QSsl::EncodingFormat, enum QRegExp::PatternSyntax)
+ ?parseLine@QHttpHeader@@MAE_NABVQString@@H@Z @ 797 NONAME ; bool QHttpHeader::parseLine(class QString const &, int)
+ ??9QSslError@@QBE_NABV0@@Z @ 798 NONAME ; bool QSslError::operator!=(class QSslError const &) const
+ ??0QSslError@@QAE@ABV0@@Z @ 799 NONAME ; QSslError::QSslError(class QSslError const &)
+ ??1QNetworkCacheMetaData@@QAE@XZ @ 800 NONAME ; QNetworkCacheMetaData::~QNetworkCacheMetaData(void)
+ ?socketDescriptor@QAbstractSocket@@QBEHXZ @ 801 NONAME ; int QAbstractSocket::socketDescriptor(void) const
+ ?rename@QFtp@@QAEHABVQString@@0@Z @ 802 NONAME ; int QFtp::rename(class QString const &, class QString const &)
+ ?readBufferSize@QNetworkReply@@QBE_JXZ @ 803 NONAME ; long long QNetworkReply::readBufferSize(void) const
+ ?staticMetaObject@QNetworkDiskCache@@2UQMetaObject@@B @ 804 NONAME ; struct QMetaObject const QNetworkDiskCache::staticMetaObject
+ ?request@QNetworkReply@@QBE?AVQNetworkRequest@@XZ @ 805 NONAME ; class QNetworkRequest QNetworkReply::request(void) const
+ ??0QSslError@@QAE@XZ @ 806 NONAME ; QSslError::QSslError(void)
+ ??9QHostAddress@@QBE_NW4SpecialAddress@0@@Z @ 807 NONAME ; bool QHostAddress::operator!=(enum QHostAddress::SpecialAddress) const
+ ?isWritable@QUrlInfo@@QBE_NXZ @ 808 NONAME ; bool QUrlInfo::isWritable(void) const
+ ?post@QNetworkAccessManager@@QAEPAVQNetworkReply@@ABVQNetworkRequest@@ABVQByteArray@@@Z @ 809 NONAME ; class QNetworkReply * QNetworkAccessManager::post(class QNetworkRequest const &, class QByteArray const &)
+ ?getStaticMetaObject@QTcpSocket@@SAABUQMetaObject@@XZ @ 810 NONAME ; struct QMetaObject const & QTcpSocket::getStaticMetaObject(void)
+ ?disconnected@QLocalSocket@@IAEXXZ @ 811 NONAME ; void QLocalSocket::disconnected(void)
+ ?isValid@QHttpHeader@@QBE_NXZ @ 812 NONAME ; bool QHttpHeader::isValid(void) const
+ ?d_func@QHttp@@ABEPBVQHttpPrivate@@XZ @ 813 NONAME ; class QHttpPrivate const * QHttp::d_func(void) const
+ ?requestStarted@QHttp@@IAEXH@Z @ 814 NONAME ; void QHttp::requestStarted(int)
+ ?setUrl@QNetworkCacheMetaData@@QAEXABVQUrl@@@Z @ 815 NONAME ; void QNetworkCacheMetaData::setUrl(class QUrl const &)
+ ??0QAuthenticator@@QAE@XZ @ 816 NONAME ; QAuthenticator::QAuthenticator(void)
+ ?setMaxPendingConnections@QLocalServer@@QAEXH@Z @ 817 NONAME ; void QLocalServer::setMaxPendingConnections(int)
+ ?peerPort@QNetworkProxyQuery@@QBEHXZ @ 818 NONAME ; int QNetworkProxyQuery::peerPort(void) const
+ ?addressEntries@QNetworkInterface@@QBE?AV?$QList@VQNetworkAddressEntry@@@@XZ @ 819 NONAME ; class QList<class QNetworkAddressEntry> QNetworkInterface::addressEntries(void) const
+ ?staticMetaObject@QAbstractSocket@@2UQMetaObject@@B @ 820 NONAME ; struct QMetaObject const QAbstractSocket::staticMetaObject
+ ?readData@QAbstractSocket@@MAE_JPAD_J@Z @ 821 NONAME ; long long QAbstractSocket::readData(char *, long long)
+ ?hostName@QNetworkProxy@@QBE?AVQString@@XZ @ 822 NONAME ; class QString QNetworkProxy::hostName(void) const
+ ?peerVerifyDepth@QSslSocket@@QBEHXZ @ 823 NONAME ; int QSslSocket::peerVerifyDepth(void) const
+ ?path@QHttpRequestHeader@@QBE?AVQString@@XZ @ 824 NONAME ; class QString QHttpRequestHeader::path(void) const
+ ?close@QSslSocket@@UAEXXZ @ 825 NONAME ; void QSslSocket::close(void)
+ ?setLocalCertificate@QSslSocket@@QAEXABVQString@@W4EncodingFormat@QSsl@@@Z @ 826 NONAME ; void QSslSocket::setLocalCertificate(class QString const &, enum QSsl::EncodingFormat)
+ ?toDer@QSslKey@@QBE?AVQByteArray@@ABV2@@Z @ 827 NONAME ; class QByteArray QSslKey::toDer(class QByteArray const &) const
+ ?isListening@QTcpServer@@QBE_NXZ @ 828 NONAME ; bool QTcpServer::isListening(void) const
+ ?password@QNetworkProxy@@QBE?AVQString@@XZ @ 829 NONAME ; class QString QNetworkProxy::password(void) const
+ ??6@YA?AVQDebug@@V0@ABVQSslCertificate@@@Z @ 830 NONAME ; class QDebug operator<<(class QDebug, class QSslCertificate const &)
+ ??0QLocalSocket@@QAE@PAVQObject@@@Z @ 831 NONAME ; QLocalSocket::QLocalSocket(class QObject *)
+ ?isValid@QNetworkInterface@@QBE_NXZ @ 832 NONAME ; bool QNetworkInterface::isValid(void) const
+ ?saveToDisk@QNetworkCacheMetaData@@QBE_NXZ @ 833 NONAME ; bool QNetworkCacheMetaData::saveToDisk(void) const
+ ?writeData@QLocalSocket@@MAE_JPBD_J@Z @ 834 NONAME ; long long QLocalSocket::writeData(char const *, long long)
+ ?setProxy@QHttp@@QAEHABVQNetworkProxy@@@Z @ 835 NONAME ; int QHttp::setProxy(class QNetworkProxy const &)
+ ?operation@QNetworkReply@@QBE?AW4Operation@QNetworkAccessManager@@XZ @ 836 NONAME ; enum QNetworkAccessManager::Operation QNetworkReply::operation(void) const
+ ?d_func@QAbstractNetworkCache@@AAEPAVQAbstractNetworkCachePrivate@@XZ @ 837 NONAME ; class QAbstractNetworkCachePrivate * QAbstractNetworkCache::d_func(void)
+ ?stateChanged@QFtp@@IAEXH@Z @ 838 NONAME ; void QFtp::stateChanged(int)
+ ?equal@QUrlInfo@@SA_NABV1@0H@Z @ 839 NONAME ; bool QUrlInfo::equal(class QUrlInfo const &, class QUrlInfo const &, int)
+ ?error@QLocalSocket@@IAEXW4LocalSocketError@1@@Z @ 840 NONAME ; void QLocalSocket::error(enum QLocalSocket::LocalSocketError)
+ ?systemProxyForQuery@QNetworkProxyFactory@@SA?AV?$QList@VQNetworkProxy@@@@ABVQNetworkProxyQuery@@@Z @ 841 NONAME ; class QList<class QNetworkProxy> QNetworkProxyFactory::systemProxyForQuery(class QNetworkProxyQuery const &)
+ ?waitForConnected@QLocalSocket@@QAE_NH@Z @ 842 NONAME ; bool QLocalSocket::waitForConnected(int)
+ ??8QNetworkCacheMetaData@@QBE_NABV0@@Z @ 843 NONAME ; bool QNetworkCacheMetaData::operator==(class QNetworkCacheMetaData const &) const
+ ?trUtf8@QNetworkCookieJar@@SA?AVQString@@PBD0H@Z @ 844 NONAME ; class QString QNetworkCookieJar::trUtf8(char const *, char const *, int)
+ ?size@QUrlInfo@@QBE_JXZ @ 845 NONAME ; long long QUrlInfo::size(void) const
+ ?qt_metacast@QFtp@@UAEPAXPBD@Z @ 846 NONAME ; void * QFtp::qt_metacast(char const *)
+ ?localAddress@QAbstractSocket@@QBE?AVQHostAddress@@XZ @ 847 NONAME ; class QHostAddress QAbstractSocket::localAddress(void) const
+ ??_EQAbstractSocket@@UAE@I@Z @ 848 NONAME ; QAbstractSocket::~QAbstractSocket(unsigned int)
+ ?proxyFactory@QNetworkAccessManager@@QBEPAVQNetworkProxyFactory@@XZ @ 849 NONAME ; class QNetworkProxyFactory * QNetworkAccessManager::proxyFactory(void) const
+ ?connectToHostEncrypted@QSslSocket@@QAEXABVQString@@G0V?$QFlags@W4OpenModeFlag@QIODevice@@@@@Z @ 850 NONAME ; void QSslSocket::connectToHostEncrypted(class QString const &, unsigned short, class QString const &, class QFlags<enum QIODevice::OpenModeFlag>)
+ ?tr@QNetworkAccessManager@@SA?AVQString@@PBD0H@Z @ 851 NONAME ; class QString QNetworkAccessManager::tr(char const *, char const *, int)
+ ?setReadBufferSize@QAbstractSocket@@QAEX_J@Z @ 852 NONAME ; void QAbstractSocket::setReadBufferSize(long long)
+ ?setPrivateKey@QSslSocket@@QAEXABVQString@@W4KeyAlgorithm@QSsl@@W4EncodingFormat@4@ABVQByteArray@@@Z @ 853 NONAME ; void QSslSocket::setPrivateKey(class QString const &, enum QSsl::KeyAlgorithm, enum QSsl::EncodingFormat, class QByteArray const &)
+ ??0QHttpHeader@@QAE@ABVQString@@@Z @ 854 NONAME ; QHttpHeader::QHttpHeader(class QString const &)
+ ??0QUrlInfo@@QAE@ABV0@@Z @ 855 NONAME ; QUrlInfo::QUrlInfo(class QUrlInfo const &)
+ ?fromName@QHostInfo@@SA?AV1@ABVQString@@@Z @ 856 NONAME ; class QHostInfo QHostInfo::fromName(class QString const &)
+ ?localCertificate@QSslConfiguration@@QBE?AVQSslCertificate@@XZ @ 857 NONAME ; class QSslCertificate QSslConfiguration::localCertificate(void) const
+ ?setSocketOption@QSslSocket@@QAEXW4SocketOption@QAbstractSocket@@ABVQVariant@@@Z @ 858 NONAME ; void QSslSocket::setSocketOption(enum QAbstractSocket::SocketOption, class QVariant const &)
+ ??0QHttpResponseHeader@@QAE@ABV0@@Z @ 859 NONAME ; QHttpResponseHeader::QHttpResponseHeader(class QHttpResponseHeader const &)
+ ?currentSourceDevice@QHttp@@QBEPAVQIODevice@@XZ @ 860 NONAME ; class QIODevice * QHttp::currentSourceDevice(void) const
+ ?peerCertificateChain@QSslConfiguration@@QBE?AV?$QList@VQSslCertificate@@@@XZ @ 861 NONAME ; class QList<class QSslCertificate> QSslConfiguration::peerCertificateChain(void) const
+ ??_EQHostInfo@@QAE@I@Z @ 862 NONAME ABSENT ; QHostInfo::~QHostInfo(unsigned int)
+ ?errorString@QHttp@@QBE?AVQString@@XZ @ 863 NONAME ; class QString QHttp::errorString(void) const
+ ?proxyAuthenticationRequired@QAbstractSocket@@IAEXABVQNetworkProxy@@PAVQAuthenticator@@@Z @ 864 NONAME ; void QAbstractSocket::proxyAuthenticationRequired(class QNetworkProxy const &, class QAuthenticator *)
+ ?isSequential@QNetworkReply@@UBE_NXZ @ 865 NONAME ; bool QNetworkReply::isSequential(void) const
+ ??9QNetworkAddressEntry@@QBE_NABV0@@Z @ 866 NONAME ; bool QNetworkAddressEntry::operator!=(class QNetworkAddressEntry const &) const
+ ??0QHttp@@QAE@PAVQObject@@@Z @ 867 NONAME ; QHttp::QHttp(class QObject *)
+ ??0QAbstractSocket@@IAE@W4SocketType@0@AAVQAbstractSocketPrivate@@PAVQObject@@@Z @ 868 NONAME ; QAbstractSocket::QAbstractSocket(enum QAbstractSocket::SocketType, class QAbstractSocketPrivate &, class QObject *)
+ ?readDatagram@QUdpSocket@@QAE_JPAD_JPAVQHostAddress@@PAG@Z @ 869 NONAME ; long long QUdpSocket::readDatagram(char *, long long, class QHostAddress *, unsigned short *)
+ ??0QNetworkProxyQuery@@QAE@ABVQUrl@@W4QueryType@0@@Z @ 870 NONAME ; QNetworkProxyQuery::QNetworkProxyQuery(class QUrl const &, enum QNetworkProxyQuery::QueryType)
+ ?manager@QNetworkReply@@QBEPAVQNetworkAccessManager@@XZ @ 871 NONAME ; class QNetworkAccessManager * QNetworkReply::manager(void) const
+ ?tr@QTcpSocket@@SA?AVQString@@PBD0@Z @ 872 NONAME ; class QString QTcpSocket::tr(char const *, char const *)
+ ?peerCertificate@QSslConfiguration@@QBE?AVQSslCertificate@@XZ @ 873 NONAME ; class QSslCertificate QSslConfiguration::peerCertificate(void) const
+ ?setPeerVerifyDepth@QSslConfiguration@@QAEXH@Z @ 874 NONAME ; void QSslConfiguration::setPeerVerifyDepth(int)
+ ??6@YA?AVQDebug@@V0@W4LocalSocketState@QLocalSocket@@@Z @ 875 NONAME ; class QDebug operator<<(class QDebug, enum QLocalSocket::LocalSocketState)
+ ?setLookupId@QHostInfo@@QAEXH@Z @ 876 NONAME ; void QHostInfo::setLookupId(int)
+ ?lastModified@QNetworkCacheMetaData@@QBE?AVQDateTime@@XZ @ 877 NONAME ; class QDateTime QNetworkCacheMetaData::lastModified(void) const
+ ?setSecure@QNetworkCookie@@QAEX_N@Z @ 878 NONAME ; void QNetworkCookie::setSecure(bool)
+ ??0QSslError@@QAE@W4SslError@0@@Z @ 879 NONAME ; QSslError::QSslError(enum QSslError::SslError)
+ ??0QSslCipher@@QAE@XZ @ 880 NONAME ; QSslCipher::QSslCipher(void)
+ ?expirationDate@QNetworkCacheMetaData@@QBE?AVQDateTime@@XZ @ 881 NONAME ; class QDateTime QNetworkCacheMetaData::expirationDate(void) const
+ ?rawCommand@QFtp@@QAEHABVQString@@@Z @ 882 NONAME ; int QFtp::rawCommand(class QString const &)
+ ?flush@QSslSocket@@QAE_NXZ @ 883 NONAME ; bool QSslSocket::flush(void)
+ ??0QUrlInfo@@QAE@XZ @ 884 NONAME ; QUrlInfo::QUrlInfo(void)
+ ?getStaticMetaObject@QNetworkReply@@SAABUQMetaObject@@XZ @ 885 NONAME ; struct QMetaObject const & QNetworkReply::getStaticMetaObject(void)
+ ?listInfo@QFtp@@IAEXABVQUrlInfo@@@Z @ 886 NONAME ; void QFtp::listInfo(class QUrlInfo const &)
+ ?bytesAvailable@QSslSocket@@UBE_JXZ @ 887 NONAME ; long long QSslSocket::bytesAvailable(void) const
+ ?bytesToWrite@QSslSocket@@UBE_JXZ @ 888 NONAME ; long long QSslSocket::bytesToWrite(void) const
+ ?waitForReadyRead@QAbstractSocket@@UAE_NH@Z @ 889 NONAME ; bool QAbstractSocket::waitForReadyRead(int)
+ ?password@QAuthenticator@@QBE?AVQString@@XZ @ 890 NONAME ; class QString QAuthenticator::password(void) const
+ ??0QSslError@@QAE@W4SslError@0@ABVQSslCertificate@@@Z @ 891 NONAME ; QSslError::QSslError(enum QSslError::SslError, class QSslCertificate const &)
+ ?d_func@QNetworkReply@@ABEPBVQNetworkReplyPrivate@@XZ @ 892 NONAME ; class QNetworkReplyPrivate const * QNetworkReply::d_func(void) const
+ ?disconnectFromHostImplementation@QSslSocket@@IAEXXZ @ 893 NONAME ; void QSslSocket::disconnectFromHostImplementation(void)
+ ??4QNetworkCookie@@QAEAAV0@ABV0@@Z @ 894 NONAME ; class QNetworkCookie & QNetworkCookie::operator=(class QNetworkCookie const &)
+ ??1QNetworkAccessManager@@UAE@XZ @ 895 NONAME ; QNetworkAccessManager::~QNetworkAccessManager(void)
+ ?tr@QLocalSocket@@SA?AVQString@@PBD0@Z @ 896 NONAME ; class QString QLocalSocket::tr(char const *, char const *)
+ ?user@QAuthenticator@@QBE?AVQString@@XZ @ 897 NONAME ; class QString QAuthenticator::user(void) const
+ ?qt_metacall@QAbstractNetworkCache@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 898 NONAME ; int QAbstractNetworkCache::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ??_EQFtp@@UAE@I@Z @ 899 NONAME ; QFtp::~QFtp(unsigned int)
+ ?setProtocol@QSslConfiguration@@QAEXW4SslProtocol@QSsl@@@Z @ 900 NONAME ; void QSslConfiguration::setProtocol(enum QSsl::SslProtocol)
+ ?setLastModified@QNetworkCacheMetaData@@QAEXABVQDateTime@@@Z @ 901 NONAME ; void QNetworkCacheMetaData::setLastModified(class QDateTime const &)
+ ??4QNetworkRequest@@QAEAAV0@ABV0@@Z @ 902 NONAME ; class QNetworkRequest & QNetworkRequest::operator=(class QNetworkRequest const &)
+ ??1QHttp@@UAE@XZ @ 903 NONAME ; QHttp::~QHttp(void)
+ ?qt_metacast@QTcpServer@@UAEPAXPBD@Z @ 904 NONAME ; void * QTcpServer::qt_metacast(char const *)
+ ?close@QAbstractSocket@@UAEXXZ @ 905 NONAME ; void QAbstractSocket::close(void)
+ ?setWritable@QUrlInfo@@UAEX_N@Z @ 906 NONAME ; void QUrlInfo::setWritable(bool)
+ ??1QHttpResponseHeader@@UAE@XZ @ 907 NONAME ; QHttpResponseHeader::~QHttpResponseHeader(void)
+ ?isExecutable@QUrlInfo@@QBE_NXZ @ 908 NONAME ; bool QUrlInfo::isExecutable(void) const
+ ?ignoreSslErrors@QHttp@@QAEXXZ @ 909 NONAME ; void QHttp::ignoreSslErrors(void)
+ ?setPeerPort@QAbstractSocket@@IAEXG@Z @ 910 NONAME ; void QAbstractSocket::setPeerPort(unsigned short)
+ ?setApplicationProxyFactory@QNetworkProxyFactory@@SAXPAV1@@Z @ 911 NONAME ; void QNetworkProxyFactory::setApplicationProxyFactory(class QNetworkProxyFactory *)
+ ?error@QNetworkReply@@IAEXW4NetworkError@1@@Z @ 912 NONAME ; void QNetworkReply::error(enum QNetworkReply::NetworkError)
+ ??0QSslCipher@@QAE@ABVQString@@W4SslProtocol@QSsl@@@Z @ 913 NONAME ; QSslCipher::QSslCipher(class QString const &, enum QSsl::SslProtocol)
+ ?getStaticMetaObject@QFtp@@SAABUQMetaObject@@XZ @ 914 NONAME ; struct QMetaObject const & QFtp::getStaticMetaObject(void)
+ ?isNull@QHostAddress@@QBE_NXZ @ 915 NONAME ; bool QHostAddress::isNull(void) const
+ ??9QSslConfiguration@@QBE_NABV0@@Z @ 916 NONAME ; bool QSslConfiguration::operator!=(class QSslConfiguration const &) const
+ ??4QNetworkAddressEntry@@QAEAAV0@ABV0@@Z @ 917 NONAME ; class QNetworkAddressEntry & QNetworkAddressEntry::operator=(class QNetworkAddressEntry const &)
+ ??_EQUrlInfo@@UAE@I@Z @ 918 NONAME ; QUrlInfo::~QUrlInfo(unsigned int)
+ ??4QUrlInfo@@QAEAAV0@ABV0@@Z @ 919 NONAME ; class QUrlInfo & QUrlInfo::operator=(class QUrlInfo const &)
+ ??1QNetworkInterface@@QAE@XZ @ 920 NONAME ; QNetworkInterface::~QNetworkInterface(void)
+ ?d_func@QLocalServer@@ABEPBVQLocalServerPrivate@@XZ @ 921 NONAME ; class QLocalServerPrivate const * QLocalServer::d_func(void) const
+ ??1QSslKey@@QAE@XZ @ 922 NONAME ; QSslKey::~QSslKey(void)
+ ?tr@QHttp@@SA?AVQString@@PBD0H@Z @ 923 NONAME ; class QString QHttp::tr(char const *, char const *, int)
+ ?nextPendingConnection@QTcpServer@@UAEPAVQTcpSocket@@XZ @ 924 NONAME ; class QTcpSocket * QTcpServer::nextPendingConnection(void)
+ ?addDefaultCaCertificates@QSslSocket@@SAXABV?$QList@VQSslCertificate@@@@@Z @ 925 NONAME ; void QSslSocket::addDefaultCaCertificates(class QList<class QSslCertificate> const &)
+ ?hasRawHeader@QNetworkReply@@QBE_NABVQByteArray@@@Z @ 926 NONAME ; bool QNetworkReply::hasRawHeader(class QByteArray const &) const
+ ?qt_metacast@QNetworkDiskCache@@UAEPAXPBD@Z @ 927 NONAME ; void * QNetworkDiskCache::qt_metacast(char const *)
+ ?qt_metacast@QLocalSocket@@UAEPAXPBD@Z @ 928 NONAME ; void * QLocalSocket::qt_metacast(char const *)
+ ?setAddress@QHostAddress@@QAEXI@Z @ 929 NONAME ; void QHostAddress::setAddress(unsigned int)
+ ?index@QNetworkInterface@@QBEHXZ @ 930 NONAME ; int QNetworkInterface::index(void) const
+ ?finished@QNetworkAccessManager@@IAEXPAVQNetworkReply@@@Z @ 931 NONAME ; void QNetworkAccessManager::finished(class QNetworkReply *)
+ ?peerVerifyMode@QSslConfiguration@@QBE?AW4PeerVerifyMode@QSslSocket@@XZ @ 932 NONAME ; enum QSslSocket::PeerVerifyMode QSslConfiguration::peerVerifyMode(void) const
+ ??1QAbstractSocket@@UAE@XZ @ 933 NONAME ; QAbstractSocket::~QAbstractSocket(void)
+ ?isValid@QNetworkCacheMetaData@@QBE_NXZ @ 934 NONAME ; bool QNetworkCacheMetaData::isValid(void) const
+ ?keyExchangeMethod@QSslCipher@@QBE?AVQString@@XZ @ 935 NONAME ; class QString QSslCipher::keyExchangeMethod(void) const
+ ?encrypted@QSslSocket@@IAEXXZ @ 936 NONAME ; void QSslSocket::encrypted(void)
+ ?bytesAvailable@QHttp@@QBE_JXZ @ 937 NONAME ; long long QHttp::bytesAvailable(void) const
+ ?maxPendingConnections@QTcpServer@@QBEHXZ @ 938 NONAME ; int QTcpServer::maxPendingConnections(void) const
+ ?setLocalAddress@QAbstractSocket@@IAEXABVQHostAddress@@@Z @ 939 NONAME ; void QAbstractSocket::setLocalAddress(class QHostAddress const &)
+ ??1QAbstractNetworkCache@@UAE@XZ @ 940 NONAME ; QAbstractNetworkCache::~QAbstractNetworkCache(void)
+ ?url@QNetworkProxyQuery@@QBE?AVQUrl@@XZ @ 941 NONAME ; class QUrl QNetworkProxyQuery::url(void) const
+ ?tr@QNetworkCookieJar@@SA?AVQString@@PBD0H@Z @ 942 NONAME ; class QString QNetworkCookieJar::tr(char const *, char const *, int)
+ ??_EQNetworkRequest@@QAE@I@Z @ 943 NONAME ABSENT ; QNetworkRequest::~QNetworkRequest(unsigned int)
+ ??0QNetworkAddressEntry@@QAE@XZ @ 944 NONAME ; QNetworkAddressEntry::QNetworkAddressEntry(void)
+ ?error@QAbstractSocket@@IAEXW4SocketError@1@@Z @ 945 NONAME ; void QAbstractSocket::error(enum QAbstractSocket::SocketError)
+ ?post@QHttp@@QAEHABVQString@@PAVQIODevice@@1@Z @ 946 NONAME ; int QHttp::post(class QString const &, class QIODevice *, class QIODevice *)
+ ?isDir@QUrlInfo@@QBE_NXZ @ 947 NONAME ; bool QUrlInfo::isDir(void) const
+ ?trUtf8@QNetworkReply@@SA?AVQString@@PBD0H@Z @ 948 NONAME ; class QString QNetworkReply::trUtf8(char const *, char const *, int)
+ ?state@QHttp@@QBE?AW4State@1@XZ @ 949 NONAME ; enum QHttp::State QHttp::state(void) const
+ ?list@QFtp@@QAEHABVQString@@@Z @ 950 NONAME ; int QFtp::list(class QString const &)
+ ??0QNetworkCookie@@QAE@ABV0@@Z @ 951 NONAME ; QNetworkCookie::QNetworkCookie(class QNetworkCookie const &)
+ ?group@QUrlInfo@@QBE?AVQString@@XZ @ 952 NONAME ; class QString QUrlInfo::group(void) const
+ ?readLineData@QAbstractSocket@@MAE_JPAD_J@Z @ 953 NONAME ; long long QAbstractSocket::readLineData(char *, long long)
+ ?dataTransferProgress@QFtp@@IAEX_J0@Z @ 954 NONAME ; void QFtp::dataTransferProgress(long long, long long)
+ ??_EQHttpRequestHeader@@UAE@I@Z @ 955 NONAME ; QHttpRequestHeader::~QHttpRequestHeader(unsigned int)
+ ?broadcast@QNetworkAddressEntry@@QBE?AVQHostAddress@@XZ @ 956 NONAME ; class QHostAddress QNetworkAddressEntry::broadcast(void) const
+ ??0QHttpRequestHeader@@QAE@ABV0@@Z @ 957 NONAME ; QHttpRequestHeader::QHttpRequestHeader(class QHttpRequestHeader const &)
+ ?fromDevice@QSslCertificate@@SA?AV?$QList@VQSslCertificate@@@@PAVQIODevice@@W4EncodingFormat@QSsl@@@Z @ 958 NONAME ; class QList<class QSslCertificate> QSslCertificate::fromDevice(class QIODevice *, enum QSsl::EncodingFormat)
+ ?trUtf8@QLocalSocket@@SA?AVQString@@PBD0@Z @ 959 NONAME ; class QString QLocalSocket::trUtf8(char const *, char const *)
+ ?ignoreSslErrors@QSslSocket@@QAEXXZ @ 960 NONAME ; void QSslSocket::ignoreSslErrors(void)
+ ?value@QNetworkCookie@@QBE?AVQByteArray@@XZ @ 961 NONAME ; class QByteArray QNetworkCookie::value(void) const
+ ?qt_metacast@QAbstractSocket@@UAEPAXPBD@Z @ 962 NONAME ; void * QAbstractSocket::qt_metacast(char const *)
+ ?sessionCipher@QSslConfiguration@@QBE?AVQSslCipher@@XZ @ 963 NONAME ; class QSslCipher QSslConfiguration::sessionCipher(void) const
+ ?name@QNetworkCookie@@QBE?AVQByteArray@@XZ @ 964 NONAME ; class QByteArray QNetworkCookie::name(void) const
+ ??4QSslConfiguration@@QAEAAV0@ABV0@@Z @ 965 NONAME ; class QSslConfiguration & QSslConfiguration::operator=(class QSslConfiguration const &)
+ ??4QIPv6Address@@QAEAAV0@ABV0@@Z @ 966 NONAME ABSENT ; class QIPv6Address & QIPv6Address::operator=(class QIPv6Address const &)
+ ?setCookieJar@QNetworkAccessManager@@QAEXPAVQNetworkCookieJar@@@Z @ 967 NONAME ; void QNetworkAccessManager::setCookieJar(class QNetworkCookieJar *)
+ ??_EQSslSocket@@UAE@I@Z @ 968 NONAME ; QSslSocket::~QSslSocket(unsigned int)
+ ?qt_metacall@QNetworkReply@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 969 NONAME ; int QNetworkReply::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?post@QNetworkAccessManager@@QAEPAVQNetworkReply@@ABVQNetworkRequest@@PAVQIODevice@@@Z @ 970 NONAME ; class QNetworkReply * QNetworkAccessManager::post(class QNetworkRequest const &, class QIODevice *)
+ ?isNull@QSslCipher@@QBE_NXZ @ 971 NONAME ; bool QSslCipher::isNull(void) const
+ ?abort@QAbstractSocket@@QAEXXZ @ 972 NONAME ; void QAbstractSocket::abort(void)
+ ?setProxy@QTcpServer@@QAEXABVQNetworkProxy@@@Z @ 973 NONAME ; void QTcpServer::setProxy(class QNetworkProxy const &)
+ ??0QNetworkReply@@IAE@PAVQObject@@@Z @ 974 NONAME ; QNetworkReply::QNetworkReply(class QObject *)
+ ?trUtf8@QNetworkReply@@SA?AVQString@@PBD0@Z @ 975 NONAME ; class QString QNetworkReply::trUtf8(char const *, char const *)
+
diff --git a/src/s60installs/bwins/QtOpenVGu.def b/src/s60installs/bwins/QtOpenVGu.def
new file mode 100644
index 0000000..01f1fdc
--- /dev/null
+++ b/src/s60installs/bwins/QtOpenVGu.def
@@ -0,0 +1,199 @@
+EXPORTS
+ ?size@QVGPixmapData@@QBE?AVQSize@@XZ @ 1 NONAME ; class QSize QVGPixmapData::size(void) const
+ ??0QVGEGLWindowSurfaceQImage@@QAE@PAVQWindowSurface@@@Z @ 2 NONAME ; QVGEGLWindowSurfaceQImage::QVGEGLWindowSurfaceQImage(class QWindowSurface *)
+ ?qt_metacall@QVGPixmapConvolutionFilter@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 3 NONAME ; int QVGPixmapConvolutionFilter::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ??_EQVGPixmapColorizeFilter@@UAE@I@Z @ 4 NONAME ; QVGPixmapColorizeFilter::~QVGPixmapColorizeFilter(unsigned int)
+ ?staticMetaObject@QVGPixmapDropShadowFilter@@2UQMetaObject@@B @ 5 NONAME ; struct QMetaObject const QVGPixmapDropShadowFilter::staticMetaObject
+ ??1QVGPixmapDropShadowFilter@@UAE@XZ @ 6 NONAME ; QVGPixmapDropShadowFilter::~QVGPixmapDropShadowFilter(void)
+ ?trUtf8@QVGPixmapDropShadowFilter@@SA?AVQString@@PBD0@Z @ 7 NONAME ; class QString QVGPixmapDropShadowFilter::trUtf8(char const *, char const *)
+ ?trUtf8@QVGPixmapConvolutionFilter@@SA?AVQString@@PBD0@Z @ 8 NONAME ; class QString QVGPixmapConvolutionFilter::trUtf8(char const *, char const *)
+ ?drawEllipse@QVGPaintEngine@@UAEXABVQRect@@@Z @ 9 NONAME ; void QVGPaintEngine::drawEllipse(class QRect const &)
+ ?getStaticMetaObject@QVGPixmapColorizeFilter@@SAABUQMetaObject@@XZ @ 10 NONAME ; struct QMetaObject const & QVGPixmapColorizeFilter::getStaticMetaObject(void)
+ ?staticMetaObject@QVGPixmapConvolutionFilter@@2UQMetaObject@@B @ 11 NONAME ; struct QMetaObject const QVGPixmapConvolutionFilter::staticMetaObject
+ ?trUtf8@QVGPixmapBlurFilter@@SA?AVQString@@PBD0@Z @ 12 NONAME ; class QString QVGPixmapBlurFilter::trUtf8(char const *, char const *)
+ ?setState@QVGPaintEngine@@UAEXPAVQPainterState@@@Z @ 13 NONAME ; void QVGPaintEngine::setState(class QPainterState *)
+ ?penChanged@QVGPaintEngine@@UAEXXZ @ 14 NONAME ; void QVGPaintEngine::penChanged(void)
+ ??1QVGPixmapColorizeFilter@@UAE@XZ @ 15 NONAME ; QVGPixmapColorizeFilter::~QVGPixmapColorizeFilter(void)
+ ?defaultClipRegion@QVGPaintEngine@@AAE?AVQRegion@@XZ @ 16 NONAME ; class QRegion QVGPaintEngine::defaultClipRegion(void)
+ ??_EQVGPixmapDropShadowFilter@@UAE@I@Z @ 17 NONAME ; QVGPixmapDropShadowFilter::~QVGPixmapDropShadowFilter(unsigned int)
+ ??0QVGEGLWindowSurfaceVGImage@@QAE@PAVQWindowSurface@@@Z @ 18 NONAME ; QVGEGLWindowSurfaceVGImage::QVGEGLWindowSurfaceVGImage(class QWindowSurface *)
+ ?paintEngine@QVGPixmapData@@UBEPAVQPaintEngine@@XZ @ 19 NONAME ; class QPaintEngine * QVGPixmapData::paintEngine(void) const
+ ??1QVGEGLWindowSurfaceQImage@@UAE@XZ @ 20 NONAME ; QVGEGLWindowSurfaceQImage::~QVGEGLWindowSurfaceQImage(void)
+ ?drawRoundedRect@QVGPaintEngine@@UAEXABVQRectF@@MMW4SizeMode@Qt@@@Z @ 21 NONAME ; void QVGPaintEngine::drawRoundedRect(class QRectF const &, float, float, enum Qt::SizeMode)
+ ?qt_vg_image_to_vg_format@@YA?AW4VGImageFormat@@W4Format@QImage@@@Z @ 22 NONAME ; enum VGImageFormat qt_vg_image_to_vg_format(enum QImage::Format)
+ ?surfaceImage@QVGEGLWindowSurfacePrivate@@UBEKXZ @ 23 NONAME ; unsigned long QVGEGLWindowSurfacePrivate::surfaceImage(void) const
+ ?staticMetaObject@QVGPixmapColorizeFilter@@2UQMetaObject@@B @ 24 NONAME ; struct QMetaObject const QVGPixmapColorizeFilter::staticMetaObject
+ ?state@QVGPaintEngine@@QBEPBVQVGPainterState@@XZ @ 25 NONAME ; class QVGPainterState const * QVGPaintEngine::state(void) const
+ ??_EQVGEGLWindowSurfaceDirect@@UAE@I@Z @ 26 NONAME ; QVGEGLWindowSurfaceDirect::~QVGEGLWindowSurfaceDirect(unsigned int)
+ ?updateScissor@QVGPaintEngine@@AAEXXZ @ 27 NONAME ; void QVGPaintEngine::updateScissor(void)
+ ?trUtf8@QVGPixmapColorizeFilter@@SA?AVQString@@PBD0@Z @ 28 NONAME ; class QString QVGPixmapColorizeFilter::trUtf8(char const *, char const *)
+ ??_EQVGCompositionHelper@@UAE@I@Z @ 29 NONAME ; QVGCompositionHelper::~QVGCompositionHelper(unsigned int)
+ ?metaObject@QVGPixmapColorizeFilter@@UBEPBUQMetaObject@@XZ @ 30 NONAME ; struct QMetaObject const * QVGPixmapColorizeFilter::metaObject(void) const
+ ?fill@QVGPixmapData@@UAEXABVQColor@@@Z @ 31 NONAME ; void QVGPixmapData::fill(class QColor const &)
+ ?tr@QVGPixmapDropShadowFilter@@SA?AVQString@@PBD0@Z @ 32 NONAME ; class QString QVGPixmapDropShadowFilter::tr(char const *, char const *)
+ ?toImage@QVGPixmapData@@UBE?AVQImage@@XZ @ 33 NONAME ; class QImage QVGPixmapData::toImage(void) const
+ ??0QVGPixmapBlurFilter@@QAE@PAVQObject@@@Z @ 34 NONAME ; QVGPixmapBlurFilter::QVGPixmapBlurFilter(class QObject *)
+ ?renderHintsChanged@QVGPaintEngine@@UAEXXZ @ 35 NONAME ; void QVGPaintEngine::renderHintsChanged(void)
+ ?clearRect@QVGPaintEngine@@AAE_NABVQRectF@@ABVQColor@@@Z @ 36 NONAME ; bool QVGPaintEngine::clearRect(class QRectF const &, class QColor const &)
+ ??0QVGPixmapDropShadowFilter@@QAE@XZ @ 37 NONAME ; QVGPixmapDropShadowFilter::QVGPixmapDropShadowFilter(void)
+ ?staticMetaObject@QVGPixmapBlurFilter@@2UQMetaObject@@B @ 38 NONAME ; struct QMetaObject const QVGPixmapBlurFilter::staticMetaObject
+ ??1QVGEGLWindowSurfaceVGImage@@UAE@XZ @ 39 NONAME ; QVGEGLWindowSurfaceVGImage::~QVGEGLWindowSurfaceVGImage(void)
+ ?state@QVGPaintEngine@@QAEPAVQVGPainterState@@XZ @ 40 NONAME ; class QVGPainterState * QVGPaintEngine::state(void)
+ ?qt_metacall@QVGPixmapBlurFilter@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 41 NONAME ; int QVGPixmapBlurFilter::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?draw@QVGPixmapBlurFilter@@UBEXPAVQPainter@@ABVQPointF@@ABVQPixmap@@ABVQRectF@@@Z @ 42 NONAME ; void QVGPixmapBlurFilter::draw(class QPainter *, class QPointF const &, class QPixmap const &, class QRectF const &) const
+ ?tr@QVGPixmapBlurFilter@@SA?AVQString@@PBD0@Z @ 43 NONAME ; class QString QVGPixmapBlurFilter::tr(char const *, char const *)
+ ?qt_metacast@QVGPixmapDropShadowFilter@@UAEPAXPBD@Z @ 44 NONAME ; void * QVGPixmapDropShadowFilter::qt_metacast(char const *)
+ ??0QVGPaintEngine@@IAE@AAVQVGPaintEnginePrivate@@@Z @ 45 NONAME ; QVGPaintEngine::QVGPaintEngine(class QVGPaintEnginePrivate &)
+ ?tr@QVGPixmapConvolutionFilter@@SA?AVQString@@PBD0H@Z @ 46 NONAME ; class QString QVGPixmapConvolutionFilter::tr(char const *, char const *, int)
+ ?ensureContext@QVGEGLWindowSurfaceVGImage@@UAEPAVQEglContext@@PAVQWidget@@@Z @ 47 NONAME ; class QEglContext * QVGEGLWindowSurfaceVGImage::ensureContext(class QWidget *)
+ ??0QVGCompositionHelper@@QAE@XZ @ 48 NONAME ; QVGCompositionHelper::QVGCompositionHelper(void)
+ ?beginNativePainting@QVGPaintEngine@@UAEXXZ @ 49 NONAME ; void QVGPaintEngine::beginNativePainting(void)
+ ?clipEnabledChanged@QVGPaintEngine@@UAEXXZ @ 50 NONAME ; void QVGPaintEngine::clipEnabledChanged(void)
+ ?create@QVGEGLWindowSurfacePrivate@@SAPAV1@W4SurfaceType@1@PAVQWindowSurface@@@Z @ 51 NONAME ; class QVGEGLWindowSurfacePrivate * QVGEGLWindowSurfacePrivate::create(enum QVGEGLWindowSurfacePrivate::SurfaceType, class QWindowSurface *)
+ ?metric@QVGPixmapData@@MBEHW4PaintDeviceMetric@QPaintDevice@@@Z @ 52 NONAME ; int QVGPixmapData::metric(enum QPaintDevice::PaintDeviceMetric) const
+ ?drawRects@QVGPaintEngine@@UAEXPBVQRect@@H@Z @ 53 NONAME ; void QVGPaintEngine::drawRects(class QRect const *, int)
+ ?draw@QVGPaintEngine@@UAEXABVQVectorPath@@@Z @ 54 NONAME ; void QVGPaintEngine::draw(class QVectorPath const &)
+ ??0QVGPixmapData@@QAE@W4PixelType@QPixmapData@@@Z @ 55 NONAME ; QVGPixmapData::QVGPixmapData(enum QPixmapData::PixelType)
+ ??0QVGWindowSurface@@QAE@PAVQWidget@@PAVQVGEGLWindowSurfacePrivate@@@Z @ 56 NONAME ; QVGWindowSurface::QVGWindowSurface(class QWidget *, class QVGEGLWindowSurfacePrivate *)
+ ?fillBackground@QVGCompositionHelper@@QAEXABVQRegion@@ABVQBrush@@@Z @ 57 NONAME ; void QVGCompositionHelper::fillBackground(class QRegion const &, class QBrush const &)
+ ?drawLines@QVGPaintEngine@@UAEXPBVQLine@@H@Z @ 58 NONAME ; void QVGPaintEngine::drawLines(class QLine const *, int)
+ ??_EQVGEGLWindowSurfaceQImage@@UAE@I@Z @ 59 NONAME ; QVGEGLWindowSurfaceQImage::~QVGEGLWindowSurfaceQImage(unsigned int)
+ ?ensureContext@QVGEGLWindowSurfaceDirect@@UAEPAVQEglContext@@PAVQWidget@@@Z @ 60 NONAME ; class QEglContext * QVGEGLWindowSurfaceDirect::ensureContext(class QWidget *)
+ ??0QVGPaintEngine@@QAE@XZ @ 61 NONAME ; QVGPaintEngine::QVGPaintEngine(void)
+ ?cleanup@QVGPixmapData@@IAEXXZ @ 62 NONAME ; void QVGPixmapData::cleanup(void)
+ ?drawPixmap@QVGPaintEngine@@UAEXABVQPointF@@ABVQPixmap@@@Z @ 63 NONAME ; void QVGPaintEngine::drawPixmap(class QPointF const &, class QPixmap const &)
+ ?drawImage@QVGPaintEngine@@UAEXABVQRectF@@ABVQImage@@0V?$QFlags@W4ImageConversionFlag@Qt@@@@@Z @ 64 NONAME ; void QVGPaintEngine::drawImage(class QRectF const &, class QImage const &, class QRectF const &, class QFlags<enum Qt::ImageConversionFlag>)
+ ??_EQVGPixmapConvolutionFilter@@UAE@I@Z @ 65 NONAME ; QVGPixmapConvolutionFilter::~QVGPixmapConvolutionFilter(unsigned int)
+ ?toVGImage@QVGPixmapData@@QAEKXZ @ 66 NONAME ; unsigned long QVGPixmapData::toVGImage(void)
+ ?drawTiledPixmap@QVGPaintEngine@@UAEXABVQRectF@@ABVQPixmap@@ABVQPointF@@@Z @ 67 NONAME ; void QVGPaintEngine::drawTiledPixmap(class QRectF const &, class QPixmap const &, class QPointF const &)
+ ?drawEllipse@QVGPaintEngine@@UAEXABVQRectF@@@Z @ 68 NONAME ; void QVGPaintEngine::drawEllipse(class QRectF const &)
+ ?endCompositing@QVGCompositionHelper@@QAEXXZ @ 69 NONAME ; void QVGCompositionHelper::endCompositing(void)
+ ?getStaticMetaObject@QVGPixmapBlurFilter@@SAABUQMetaObject@@XZ @ 70 NONAME ; struct QMetaObject const & QVGPixmapBlurFilter::getStaticMetaObject(void)
+ ??0QVGPixmapColorizeFilter@@QAE@XZ @ 71 NONAME ; QVGPixmapColorizeFilter::QVGPixmapColorizeFilter(void)
+ ??_EQVGEGLWindowSurfaceVGImage@@UAE@I@Z @ 72 NONAME ; QVGEGLWindowSurfaceVGImage::~QVGEGLWindowSurfaceVGImage(unsigned int)
+ ?begin@QVGPaintEngine@@UAE_NPAVQPaintDevice@@@Z @ 73 NONAME ; bool QVGPaintEngine::begin(class QPaintDevice *)
+ ?fillRect@QVGPaintEngine@@UAEXABVQRectF@@ABVQBrush@@@Z @ 74 NONAME ; void QVGPaintEngine::fillRect(class QRectF const &, class QBrush const &)
+ ?paintEngine@QVGWindowSurface@@UBEPAVQPaintEngine@@XZ @ 75 NONAME ; class QPaintEngine * QVGWindowSurface::paintEngine(void) const
+ ?metaObject@QVGPixmapBlurFilter@@UBEPBUQMetaObject@@XZ @ 76 NONAME ; struct QMetaObject const * QVGPixmapBlurFilter::metaObject(void) const
+ ?drawCursorImage@QVGCompositionHelper@@QAEXABVQImage@@ABVQPoint@@@Z @ 77 NONAME ; void QVGCompositionHelper::drawCursorImage(class QImage const &, class QPoint const &)
+ ?toVGImage@QVGPixmapData@@QAEKM@Z @ 78 NONAME ; unsigned long QVGPixmapData::toVGImage(float)
+ ??0QVGPainterState@@QAE@XZ @ 79 NONAME ; QVGPainterState::QVGPainterState(void)
+ ?d_func@QVGPaintEngine@@ABEPBVQVGPaintEnginePrivate@@XZ @ 80 NONAME ; class QVGPaintEnginePrivate const * QVGPaintEngine::d_func(void) const
+ ??_EQVGPixmapBlurFilter@@UAE@I@Z @ 81 NONAME ; QVGPixmapBlurFilter::~QVGPixmapBlurFilter(unsigned int)
+ ?qt_vg_create_context@@YAPAVQEglContext@@PAVQPaintDevice@@@Z @ 82 NONAME ; class QEglContext * qt_vg_create_context(class QPaintDevice *)
+ ??0QVGPixmapConvolutionFilter@@QAE@XZ @ 83 NONAME ; QVGPixmapConvolutionFilter::QVGPixmapConvolutionFilter(void)
+ ?clip@QVGPaintEngine@@UAEXABVQRegion@@W4ClipOperation@Qt@@@Z @ 84 NONAME ; void QVGPaintEngine::clip(class QRegion const &, enum Qt::ClipOperation)
+ ?tr@QVGPixmapColorizeFilter@@SA?AVQString@@PBD0@Z @ 85 NONAME ; class QString QVGPixmapColorizeFilter::tr(char const *, char const *)
+ ?endNativePainting@QVGPaintEngine@@UAEXXZ @ 86 NONAME ; void QVGPaintEngine::endNativePainting(void)
+ ?brushChanged@QVGPaintEngine@@UAEXXZ @ 87 NONAME ; void QVGPaintEngine::brushChanged(void)
+ ?setGeometry@QVGWindowSurface@@UAEXABVQRect@@@Z @ 88 NONAME ; void QVGWindowSurface::setGeometry(class QRect const &)
+ ?createCompatiblePixmapData@QVGPixmapData@@UBEPAVQPixmapData@@XZ @ 89 NONAME ; class QPixmapData * QVGPixmapData::createCompatiblePixmapData(void) const
+ ?qt_metacast@QVGPixmapConvolutionFilter@@UAEPAXPBD@Z @ 90 NONAME ; void * QVGPixmapConvolutionFilter::qt_metacast(char const *)
+ ?endPaint@QVGWindowSurface@@UAEXABVQRegion@@@Z @ 91 NONAME ; void QVGWindowSurface::endPaint(class QRegion const &)
+ ?resize@QVGPixmapData@@UAEXHH@Z @ 92 NONAME ; void QVGPixmapData::resize(int, int)
+ ?mainSurface@QVGEGLWindowSurfaceVGImage@@IBEHXZ @ 93 NONAME ; int QVGEGLWindowSurfaceVGImage::mainSurface(void) const
+ ??0QVGEGLWindowSurfaceDirect@@QAE@PAVQWindowSurface@@@Z @ 94 NONAME ; QVGEGLWindowSurfaceDirect::QVGEGLWindowSurfaceDirect(class QWindowSurface *)
+ ?clip@QVGPaintEngine@@UAEXABVQRect@@W4ClipOperation@Qt@@@Z @ 95 NONAME ; void QVGPaintEngine::clip(class QRect const &, enum Qt::ClipOperation)
+ ?metaObject@QVGPixmapConvolutionFilter@@UBEPBUQMetaObject@@XZ @ 96 NONAME ; struct QMetaObject const * QVGPixmapConvolutionFilter::metaObject(void) const
+ ?surfaceSize@QVGEGLWindowSurfaceDirect@@UBE?AVQSize@@XZ @ 97 NONAME ; class QSize QVGEGLWindowSurfaceDirect::surfaceSize(void) const
+ ?stroke@QVGPaintEngine@@UAEXABVQVectorPath@@ABVQPen@@@Z @ 98 NONAME ; void QVGPaintEngine::stroke(class QVectorPath const &, class QPen const &)
+ ?sourceFormat@QVGPixmapData@@ABE?AW4Format@QImage@@XZ @ 99 NONAME ; enum QImage::Format QVGPixmapData::sourceFormat(void) const
+ ?drawPoints@QVGPaintEngine@@UAEXPBVQPointF@@H@Z @ 100 NONAME ; void QVGPaintEngine::drawPoints(class QPointF const *, int)
+ ?paintEngine@QVGEGLWindowSurfacePrivate@@QAEPAVQVGPaintEngine@@XZ @ 101 NONAME ; class QVGPaintEngine * QVGEGLWindowSurfacePrivate::paintEngine(void)
+ ??0QVGPainterState@@QAE@AAV0@@Z @ 102 NONAME ; QVGPainterState::QVGPainterState(class QVGPainterState &)
+ ?startCompositing@QVGCompositionHelper@@QAEXABVQSize@@@Z @ 103 NONAME ; void QVGCompositionHelper::startCompositing(class QSize const &)
+ ?getStaticMetaObject@QVGPixmapConvolutionFilter@@SAABUQMetaObject@@XZ @ 104 NONAME ; struct QMetaObject const & QVGPixmapConvolutionFilter::getStaticMetaObject(void)
+ ??1QVGEGLWindowSurfacePrivate@@UAE@XZ @ 105 NONAME ; QVGEGLWindowSurfacePrivate::~QVGEGLWindowSurfacePrivate(void)
+ ?qt_vg_destroy_paint_engine@@YAXPAVQVGPaintEngine@@@Z @ 106 NONAME ; void qt_vg_destroy_paint_engine(class QVGPaintEngine *)
+ ?compositionModeChanged@QVGPaintEngine@@UAEXXZ @ 107 NONAME ; void QVGPaintEngine::compositionModeChanged(void)
+ ??1QVGPixmapConvolutionFilter@@UAE@XZ @ 108 NONAME ; QVGPixmapConvolutionFilter::~QVGPixmapConvolutionFilter(void)
+ ?type@QVGPaintEngine@@UBE?AW4Type@QPaintEngine@@XZ @ 109 NONAME ; enum QPaintEngine::Type QVGPaintEngine::type(void) const
+ ?qt_metacall@QVGPixmapColorizeFilter@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 110 NONAME ; int QVGPixmapColorizeFilter::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?fillRect@QVGPaintEngine@@UAEXABVQRectF@@ABVQColor@@@Z @ 111 NONAME ; void QVGPaintEngine::fillRect(class QRectF const &, class QColor const &)
+ ?getStaticMetaObject@QVGPixmapDropShadowFilter@@SAABUQMetaObject@@XZ @ 112 NONAME ; struct QMetaObject const & QVGPixmapDropShadowFilter::getStaticMetaObject(void)
+ ??0QVGEGLWindowSurfacePrivate@@QAE@PAVQWindowSurface@@@Z @ 113 NONAME ; QVGEGLWindowSurfacePrivate::QVGEGLWindowSurfacePrivate(class QWindowSurface *)
+ ?drawImage@QVGPaintEngine@@UAEXABVQPointF@@ABVQImage@@@Z @ 114 NONAME ; void QVGPaintEngine::drawImage(class QPointF const &, class QImage const &)
+ ?blitWindow@QVGCompositionHelper@@QAEXPAVQVGEGLWindowSurfacePrivate@@ABVQRect@@ABVQPoint@@H@Z @ 115 NONAME ; void QVGCompositionHelper::blitWindow(class QVGEGLWindowSurfacePrivate *, class QRect const &, class QPoint const &, int)
+ ?flush@QVGWindowSurface@@UAEXPAVQWidget@@ABVQRegion@@ABVQPoint@@@Z @ 116 NONAME ; void QVGWindowSurface::flush(class QWidget *, class QRegion const &, class QPoint const &)
+ ?tr@QVGPixmapColorizeFilter@@SA?AVQString@@PBD0H@Z @ 117 NONAME ; class QString QVGPixmapColorizeFilter::tr(char const *, char const *, int)
+ ?isValid@QVGPixmapData@@QBE_NXZ @ 118 NONAME ; bool QVGPixmapData::isValid(void) const
+ ?qt_metacast@QVGPixmapColorizeFilter@@UAEPAXPBD@Z @ 119 NONAME ; void * QVGPixmapColorizeFilter::qt_metacast(char const *)
+ ?beginPaint@QVGEGLWindowSurfaceVGImage@@UAEXPAVQWidget@@@Z @ 120 NONAME ; void QVGEGLWindowSurfaceVGImage::beginPaint(class QWidget *)
+ ?createState@QVGPaintEngine@@UBEPAVQPainterState@@PAV2@@Z @ 121 NONAME ; class QPainterState * QVGPaintEngine::createState(class QPainterState *) const
+ ?qt_metacall@QVGPixmapDropShadowFilter@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 122 NONAME ; int QVGPixmapDropShadowFilter::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?qt_vg_destroy_context@@YAXPAVQEglContext@@@Z @ 123 NONAME ; void qt_vg_destroy_context(class QEglContext *)
+ ?buffer@QVGPixmapData@@UAEPAVQImage@@XZ @ 124 NONAME ; class QImage * QVGPixmapData::buffer(void)
+ ?clip@QVGPaintEngine@@UAEXABVQVectorPath@@W4ClipOperation@Qt@@@Z @ 125 NONAME ; void QVGPaintEngine::clip(class QVectorPath const &, enum Qt::ClipOperation)
+ ?drawPolygon@QVGPaintEngine@@UAEXPBVQPoint@@HW4PolygonDrawMode@QPaintEngine@@@Z @ 126 NONAME ; void QVGPaintEngine::drawPolygon(class QPoint const *, int, enum QPaintEngine::PolygonDrawMode)
+ ?fromImage@QVGPixmapData@@UAEXABVQImage@@V?$QFlags@W4ImageConversionFlag@Qt@@@@@Z @ 127 NONAME ; void QVGPixmapData::fromImage(class QImage const &, class QFlags<enum Qt::ImageConversionFlag>)
+ ??1QVGPainterState@@UAE@XZ @ 128 NONAME ; QVGPainterState::~QVGPainterState(void)
+ ??1QVGPaintEngine@@UAE@XZ @ 129 NONAME ; QVGPaintEngine::~QVGPaintEngine(void)
+ ?hasAlphaChannel@QVGPixmapData@@UBE_NXZ @ 130 NONAME ; bool QVGPixmapData::hasAlphaChannel(void) const
+ ?tr@QVGPixmapDropShadowFilter@@SA?AVQString@@PBD0H@Z @ 131 NONAME ; class QString QVGPixmapDropShadowFilter::tr(char const *, char const *, int)
+ ?qt_metacast@QVGPixmapBlurFilter@@UAEPAXPBD@Z @ 132 NONAME ; void * QVGPixmapBlurFilter::qt_metacast(char const *)
+ ?endPaint@QVGEGLWindowSurfaceVGImage@@UAEXPAVQWidget@@ABVQRegion@@PAVQImage@@@Z @ 133 NONAME ; void QVGEGLWindowSurfaceVGImage::endPaint(class QWidget *, class QRegion const &, class QImage *)
+ ?qt_vg_config_to_vg_format@@YA?AW4VGImageFormat@@PAVQEglContext@@@Z @ 134 NONAME ; enum VGImageFormat qt_vg_config_to_vg_format(class QEglContext *)
+ ?qt_vg_config_to_image_format@@YA?AW4Format@QImage@@PAVQEglContext@@@Z @ 135 NONAME ; enum QImage::Format qt_vg_config_to_image_format(class QEglContext *)
+ ?beginPaint@QVGEGLWindowSurfaceDirect@@UAEXPAVQWidget@@@Z @ 136 NONAME ; void QVGEGLWindowSurfaceDirect::beginPaint(class QWidget *)
+ ?setScissor@QVGCompositionHelper@@QAEXABVQRegion@@@Z @ 137 NONAME ; void QVGCompositionHelper::setScissor(class QRegion const &)
+ ?draw@QVGPixmapDropShadowFilter@@UBEXPAVQPainter@@ABVQPointF@@ABVQPixmap@@ABVQRectF@@@Z @ 138 NONAME ; void QVGPixmapDropShadowFilter::draw(class QPainter *, class QPointF const &, class QPixmap const &, class QRectF const &) const
+ ?metaObject@QVGPixmapDropShadowFilter@@UBEPBUQMetaObject@@XZ @ 139 NONAME ; struct QMetaObject const * QVGPixmapDropShadowFilter::metaObject(void) const
+ ?drawPath@QVGPaintEngine@@UAEXABVQPainterPath@@@Z @ 140 NONAME ; void QVGPaintEngine::drawPath(class QPainterPath const &)
+ ?trUtf8@QVGPixmapBlurFilter@@SA?AVQString@@PBD0H@Z @ 141 NONAME ; class QString QVGPixmapBlurFilter::trUtf8(char const *, char const *, int)
+ ?tr@QVGPixmapBlurFilter@@SA?AVQString@@PBD0H@Z @ 142 NONAME ; class QString QVGPixmapBlurFilter::tr(char const *, char const *, int)
+ ?drawLines@QVGPaintEngine@@UAEXPBVQLineF@@H@Z @ 143 NONAME ; void QVGPaintEngine::drawLines(class QLineF const *, int)
+ ?toNativeType@QVGPixmapData@@UAEPAXW4NativeType@QPixmapData@@@Z @ 144 NONAME ; void * QVGPixmapData::toNativeType(enum QPixmapData::NativeType)
+ ??1QVGWindowSurface@@UAE@XZ @ 145 NONAME ; QVGWindowSurface::~QVGWindowSurface(void)
+ ?metric@QVGWindowSurface@@MBEHW4PaintDeviceMetric@QPaintDevice@@@Z @ 146 NONAME ; int QVGWindowSurface::metric(enum QPaintDevice::PaintDeviceMetric) const
+ ??1QVGPixmapData@@UAE@XZ @ 147 NONAME ; QVGPixmapData::~QVGPixmapData(void)
+ ??1QVGEGLWindowSurfaceDirect@@UAE@XZ @ 148 NONAME ; QVGEGLWindowSurfaceDirect::~QVGEGLWindowSurfaceDirect(void)
+ ?draw@QVGPixmapConvolutionFilter@@UBEXPAVQPainter@@ABVQPointF@@ABVQPixmap@@ABVQRectF@@@Z @ 149 NONAME ; void QVGPixmapConvolutionFilter::draw(class QPainter *, class QPointF const &, class QPixmap const &, class QRectF const &) const
+ ??_EQVGPixmapData@@UAE@I@Z @ 150 NONAME ; QVGPixmapData::~QVGPixmapData(unsigned int)
+ ?restoreState@QVGPaintEngine@@AAEXV?$QFlags@W4DirtyFlag@QPaintEngine@@@@@Z @ 151 NONAME ; void QVGPaintEngine::restoreState(class QFlags<enum QPaintEngine::DirtyFlag>)
+ ??1QVGCompositionHelper@@UAE@XZ @ 152 NONAME ; QVGCompositionHelper::~QVGCompositionHelper(void)
+ ??1QVGPixmapBlurFilter@@UAE@XZ @ 153 NONAME ; QVGPixmapBlurFilter::~QVGPixmapBlurFilter(void)
+ ??0QVGWindowSurface@@QAE@PAVQWidget@@@Z @ 154 NONAME ; QVGWindowSurface::QVGWindowSurface(class QWidget *)
+ ?isDefaultClipRegion@QVGPaintEngine@@AAE_NABVQRegion@@@Z @ 155 NONAME ; bool QVGPaintEngine::isDefaultClipRegion(class QRegion const &)
+ ?transformChanged@QVGPaintEngine@@UAEXXZ @ 156 NONAME ; void QVGPaintEngine::transformChanged(void)
+ ?setAlphaChannel@QVGPixmapData@@UAEXABVQPixmap@@@Z @ 157 NONAME ; void QVGPixmapData::setAlphaChannel(class QPixmap const &)
+ ?fromNativeType@QVGPixmapData@@UAEXPAXW4NativeType@QPixmapData@@@Z @ 158 NONAME ; void QVGPixmapData::fromNativeType(void *, enum QPixmapData::NativeType)
+ ?qPixmapToVGImage@@YAKABVQPixmap@@@Z @ 159 NONAME ; unsigned long qPixmapToVGImage(class QPixmap const &)
+ ??_EQVGWindowSurface@@UAE@I@Z @ 160 NONAME ; QVGWindowSurface::~QVGWindowSurface(unsigned int)
+ ?tr@QVGPixmapConvolutionFilter@@SA?AVQString@@PBD0@Z @ 161 NONAME ; class QString QVGPixmapConvolutionFilter::tr(char const *, char const *)
+ ?opacityChanged@QVGPaintEngine@@UAEXXZ @ 162 NONAME ; void QVGPaintEngine::opacityChanged(void)
+ ?surfaceSize@QVGEGLWindowSurfaceVGImage@@UBE?AVQSize@@XZ @ 163 NONAME ; class QSize QVGEGLWindowSurfaceVGImage::surfaceSize(void) const
+ ?qt_vg_create_paint_engine@@YAPAVQVGPaintEngine@@XZ @ 164 NONAME ; class QVGPaintEngine * qt_vg_create_paint_engine(void)
+ ?paintDevice@QVGWindowSurface@@UAEPAVQPaintDevice@@XZ @ 165 NONAME ; class QPaintDevice * QVGWindowSurface::paintDevice(void)
+ ?drawPixmap@QVGPaintEngine@@UAEXABVQRectF@@ABVQPixmap@@0@Z @ 166 NONAME ; void QVGPaintEngine::drawPixmap(class QRectF const &, class QPixmap const &, class QRectF const &)
+ ?forceToImage@QVGPixmapData@@AAEXXZ @ 167 NONAME ; void QVGPixmapData::forceToImage(void)
+ ?beginPaint@QVGWindowSurface@@UAEXABVQRegion@@@Z @ 168 NONAME ; void QVGWindowSurface::beginPaint(class QRegion const &)
+ ??_EQVGEGLWindowSurfacePrivate@@UAE@I@Z @ 169 NONAME ; QVGEGLWindowSurfacePrivate::~QVGEGLWindowSurfacePrivate(unsigned int)
+ ?endPaint@QVGEGLWindowSurfaceDirect@@UAEXPAVQWidget@@ABVQRegion@@PAVQImage@@@Z @ 170 NONAME ; void QVGEGLWindowSurfaceDirect::endPaint(class QWidget *, class QRegion const &, class QImage *)
+ ?trUtf8@QVGPixmapConvolutionFilter@@SA?AVQString@@PBD0H@Z @ 171 NONAME ; class QString QVGPixmapConvolutionFilter::trUtf8(char const *, char const *, int)
+ ?scroll@QVGWindowSurface@@UAE_NABVQRegion@@HH@Z @ 172 NONAME ; bool QVGWindowSurface::scroll(class QRegion const &, int, int)
+ ?surfaceImage@QVGEGLWindowSurfaceVGImage@@UBEKXZ @ 173 NONAME ; unsigned long QVGEGLWindowSurfaceVGImage::surfaceImage(void) const
+ ?isDefaultClipRect@QVGPaintEngine@@AAE_NABVQRect@@@Z @ 174 NONAME ; bool QVGPaintEngine::isDefaultClipRect(class QRect const &)
+ ?windowSurfaceSize@QVGEGLWindowSurfacePrivate@@IBE?AVQSize@@PAVQWidget@@@Z @ 175 NONAME ; class QSize QVGEGLWindowSurfacePrivate::windowSurfaceSize(class QWidget *) const
+ ?pixmapFilter@QVGPaintEngine@@UAEPAVQPixmapFilter@@HPBV2@@Z @ 176 NONAME ; class QPixmapFilter * QVGPaintEngine::pixmapFilter(int, class QPixmapFilter const *)
+ ?destroyPaintEngine@QVGEGLWindowSurfacePrivate@@IAEXXZ @ 177 NONAME ; void QVGEGLWindowSurfacePrivate::destroyPaintEngine(void)
+ ?qt_vg_shared_surface@@YAHXZ @ 178 NONAME ; int qt_vg_shared_surface(void)
+ ?drawCursorPixmap@QVGCompositionHelper@@QAEXABVQPixmap@@ABVQPoint@@@Z @ 179 NONAME ; void QVGCompositionHelper::drawCursorPixmap(class QPixmap const &, class QPoint const &)
+ ?drawPixmaps@QVGPaintEngine@@UAEXPBUData@QDrawPixmaps@@HABVQPixmap@@V?$QFlags@W4DrawingHint@QDrawPixmaps@@@@@Z @ 180 NONAME ; void QVGPaintEngine::drawPixmaps(struct QDrawPixmaps::Data const *, int, class QPixmap const &, class QFlags<enum QDrawPixmaps::DrawingHint>)
+ ?endPaint@QVGEGLWindowSurfaceQImage@@UAEXPAVQWidget@@ABVQRegion@@PAVQImage@@@Z @ 181 NONAME ; void QVGEGLWindowSurfaceQImage::endPaint(class QWidget *, class QRegion const &, class QImage *)
+ ?drawPolygon@QVGPaintEngine@@UAEXPBVQPointF@@HW4PolygonDrawMode@QPaintEngine@@@Z @ 182 NONAME ; void QVGPaintEngine::drawPolygon(class QPointF const *, int, enum QPaintEngine::PolygonDrawMode)
+ ?trUtf8@QVGPixmapDropShadowFilter@@SA?AVQString@@PBD0H@Z @ 183 NONAME ; class QString QVGPixmapDropShadowFilter::trUtf8(char const *, char const *, int)
+ ?end@QVGPaintEngine@@UAE_NXZ @ 184 NONAME ; bool QVGPaintEngine::end(void)
+ ?trUtf8@QVGPixmapColorizeFilter@@SA?AVQString@@PBD0H@Z @ 185 NONAME ; class QString QVGPixmapColorizeFilter::trUtf8(char const *, char const *, int)
+ ??_EQVGPainterState@@UAE@I@Z @ 186 NONAME ; QVGPainterState::~QVGPainterState(unsigned int)
+ ?d_func@QVGPaintEngine@@AAEPAVQVGPaintEnginePrivate@@XZ @ 187 NONAME ; class QVGPaintEnginePrivate * QVGPaintEngine::d_func(void)
+ ?drawRects@QVGPaintEngine@@UAEXPBVQRectF@@H@Z @ 188 NONAME ; void QVGPaintEngine::drawRects(class QRectF const *, int)
+ ?brushOriginChanged@QVGPaintEngine@@UAEXXZ @ 189 NONAME ; void QVGPaintEngine::brushOriginChanged(void)
+ ?draw@QVGPixmapColorizeFilter@@UBEXPAVQPainter@@ABVQPointF@@ABVQPixmap@@ABVQRectF@@@Z @ 190 NONAME ; void QVGPixmapColorizeFilter::draw(class QPainter *, class QPointF const &, class QPixmap const &, class QRectF const &) const
+ ?drawTextItem@QVGPaintEngine@@UAEXABVQPointF@@ABVQTextItem@@@Z @ 191 NONAME ; void QVGPaintEngine::drawTextItem(class QPointF const &, class QTextItem const &)
+ ?clearScissor@QVGCompositionHelper@@QAEXXZ @ 192 NONAME ; void QVGCompositionHelper::clearScissor(void)
+ ?fill@QVGPaintEngine@@UAEXABVQVectorPath@@ABVQBrush@@@Z @ 193 NONAME ; void QVGPaintEngine::fill(class QVectorPath const &, class QBrush const &)
+ ?drawPoints@QVGPaintEngine@@UAEXPBVQPoint@@H@Z @ 194 NONAME ; void QVGPaintEngine::drawPoints(class QPoint const *, int)
+ ??_EQVGPaintEngine@@UAE@I@Z @ 195 NONAME ; QVGPaintEngine::~QVGPaintEngine(unsigned int)
+ ?clip@QVGPaintEngine@@UAEXABVQPainterPath@@W4ClipOperation@Qt@@@Z @ 196 NONAME ; void QVGPaintEngine::clip(class QPainterPath const &, enum Qt::ClipOperation)
+ ?vgPrivate@QVGPaintEngine@@QAEPAVQVGPaintEnginePrivate@@XZ @ 197 NONAME ; class QVGPaintEnginePrivate * QVGPaintEngine::vgPrivate(void)
+
diff --git a/src/s60installs/bwins/QtScriptu.def b/src/s60installs/bwins/QtScriptu.def
new file mode 100644
index 0000000..b3efd69
--- /dev/null
+++ b/src/s60installs/bwins/QtScriptu.def
@@ -0,0 +1,346 @@
+EXPORTS
+ ?argument@QScriptContext@@QBE?AVQScriptValue@@H@Z @ 1 NONAME ; class QScriptValue QScriptContext::argument(int) const
+ ?abortEvaluation@QScriptEngine@@QAEXABVQScriptValue@@@Z @ 2 NONAME ; void QScriptEngine::abortEvaluation(class QScriptValue const &)
+ ?isNumber@QScriptValue@@QBE_NXZ @ 3 NONAME ; bool QScriptValue::isNumber(void) const
+ ?propertyFlags@QScriptValue@@QBE?AV?$QFlags@W4PropertyFlag@QScriptValue@@@@ABVQString@@ABV?$QFlags@W4ResolveFlag@QScriptValue@@@@@Z @ 4 NONAME ; class QFlags<enum QScriptValue::PropertyFlag> QScriptValue::propertyFlags(class QString const &, class QFlags<enum QScriptValue::ResolveFlag> const &) const
+ ??0QScriptValue@@QAE@PBD@Z @ 5 NONAME ; QScriptValue::QScriptValue(char const *)
+ ?toQObject@QScriptValue@@QBEPAVQObject@@XZ @ 6 NONAME ; class QObject * QScriptValue::toQObject(void) const
+ ?functionName@QScriptContextInfo@@QBE?AVQString@@XZ @ 7 NONAME ; class QString QScriptContextInfo::functionName(void) const
+ ??1QScriptable@@QAE@XZ @ 8 NONAME ; QScriptable::~QScriptable(void)
+ ?setProperty@QScriptValue@@QAEXABVQScriptString@@ABV1@ABV?$QFlags@W4PropertyFlag@QScriptValue@@@@@Z @ 9 NONAME ; void QScriptValue::setProperty(class QScriptString const &, class QScriptValue const &, class QFlags<enum QScriptValue::PropertyFlag> const &)
+ ?functionExit@QScriptEngineAgent@@UAEX_JABVQScriptValue@@@Z @ 10 NONAME ; void QScriptEngineAgent::functionExit(long long, class QScriptValue const &)
+ ?qScriptConnect@@YA_NPAVQObject@@PBDABVQScriptValue@@2@Z @ 11 NONAME ; bool qScriptConnect(class QObject *, char const *, class QScriptValue const &, class QScriptValue const &)
+ ?sourceParsed@QScriptEngineAgentPrivate@@UAEXPAVExecState@QTJSC@@ABVSourceCode@3@HABVUString@3@@Z @ 12 NONAME ; void QScriptEngineAgentPrivate::sourceParsed(class QTJSC::ExecState *, class QTJSC::SourceCode const &, int, class QTJSC::UString const &)
+ ?getStaticMetaObject@QScriptEngine@@SAABUQMetaObject@@XZ @ 13 NONAME ; struct QMetaObject const & QScriptEngine::getStaticMetaObject(void)
+ ??0QScriptString@@QAE@XZ @ 14 NONAME ; QScriptString::QScriptString(void)
+ ?d_func@QScriptEngineAgent@@AAEPAVQScriptEngineAgentPrivate@@XZ @ 15 NONAME ; class QScriptEngineAgentPrivate * QScriptEngineAgent::d_func(void)
+ ??0QScriptValue@@QAE@ABV0@@Z @ 16 NONAME ; QScriptValue::QScriptValue(class QScriptValue const &)
+ ?engine@QScriptable@@QBEPAVQScriptEngine@@XZ @ 17 NONAME ; class QScriptEngine * QScriptable::engine(void) const
+ ?toObject@QScriptValue@@QBE?AV1@XZ @ 18 NONAME ; class QScriptValue QScriptValue::toObject(void) const
+ ?q_func@QScriptEngineAgentPrivate@@ABEPBVQScriptEngineAgent@@XZ @ 19 NONAME ; class QScriptEngineAgent const * QScriptEngineAgentPrivate::q_func(void) const
+ ?isString@QScriptValue@@QBE_NXZ @ 20 NONAME ; bool QScriptValue::isString(void) const
+ ?value@QScriptValueIterator@@QBE?AVQScriptValue@@XZ @ 21 NONAME ; class QScriptValue QScriptValueIterator::value(void) const
+ ?propertyFlags@QScriptClass@@UAE?AV?$QFlags@W4PropertyFlag@QScriptValue@@@@ABVQScriptValue@@ABVQScriptString@@I@Z @ 22 NONAME ; class QFlags<enum QScriptValue::PropertyFlag> QScriptClass::propertyFlags(class QScriptValue const &, class QScriptString const &, unsigned int)
+ ?setData@QScriptValue@@QAEXABV1@@Z @ 23 NONAME ; void QScriptValue::setData(class QScriptValue const &)
+ ??0QScriptValue@@QAE@ABVQLatin1String@@@Z @ 24 NONAME ; QScriptValue::QScriptValue(class QLatin1String const &)
+ ?toQMetaObject@QScriptValue@@QBEPBUQMetaObject@@XZ @ 25 NONAME ; struct QMetaObject const * QScriptValue::toQMetaObject(void) const
+ ?newArray@QScriptEngine@@QAE?AVQScriptValue@@I@Z @ 26 NONAME ; class QScriptValue QScriptEngine::newArray(unsigned int)
+ ?scriptName@QScriptValueIterator@@QBE?AVQScriptString@@XZ @ 27 NONAME ; class QScriptString QScriptValueIterator::scriptName(void) const
+ ??1QScriptEngineAgentPrivate@@UAE@XZ @ 28 NONAME ; QScriptEngineAgentPrivate::~QScriptEngineAgentPrivate(void)
+ ?flags@QScriptClassPropertyIterator@@UBE?AV?$QFlags@W4PropertyFlag@QScriptValue@@@@XZ @ 29 NONAME ; class QFlags<enum QScriptValue::PropertyFlag> QScriptClassPropertyIterator::flags(void) const
+ ?extension@QScriptClass@@UAE?AVQVariant@@W4Extension@1@ABV2@@Z @ 30 NONAME ; class QVariant QScriptClass::extension(enum QScriptClass::Extension, class QVariant const &)
+ ?next@QScriptValueIterator@@QAEXXZ @ 31 NONAME ; void QScriptValueIterator::next(void)
+ ??0QScriptValue@@QAE@PAVQScriptEngine@@PBD@Z @ 32 NONAME ; QScriptValue::QScriptValue(class QScriptEngine *, char const *)
+ ?d_func@QScriptEngine@@AAEPAVQScriptEnginePrivate@@XZ @ 33 NONAME ; class QScriptEnginePrivate * QScriptEngine::d_func(void)
+ ?returnEvent@QScriptEngineAgentPrivate@@UAEXABVDebuggerCallFrame@QTJSC@@HH@Z @ 34 NONAME ; void QScriptEngineAgentPrivate::returnEvent(class QTJSC::DebuggerCallFrame const &, int, int)
+ ??0QScriptValue@@QAE@XZ @ 35 NONAME ; QScriptValue::QScriptValue(void)
+ ?property@QScriptClass@@UAE?AVQScriptValue@@ABV2@ABVQScriptString@@I@Z @ 36 NONAME ; class QScriptValue QScriptClass::property(class QScriptValue const &, class QScriptString const &, unsigned int)
+ ?didReachBreakpoint@QScriptEngineAgentPrivate@@UAEXABVDebuggerCallFrame@QTJSC@@HHH@Z @ 37 NONAME ; void QScriptEngineAgentPrivate::didReachBreakpoint(class QTJSC::DebuggerCallFrame const &, int, int, int)
+ ??0QScriptable@@QAE@XZ @ 38 NONAME ; QScriptable::QScriptable(void)
+ ?qt_metacall@QScriptEngine@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 39 NONAME ; int QScriptEngine::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?parentContext@QScriptContext@@QBEPAV1@XZ @ 40 NONAME ; class QScriptContext * QScriptContext::parentContext(void) const
+ ?exceptionThrow@QScriptEngineAgent@@UAEX_JABVQScriptValue@@_N@Z @ 41 NONAME ; void QScriptEngineAgent::exceptionThrow(long long, class QScriptValue const &, bool)
+ ?exceptionCatch@QScriptEngineAgentPrivate@@UAEXABVDebuggerCallFrame@QTJSC@@H@Z @ 42 NONAME ; void QScriptEngineAgentPrivate::exceptionCatch(class QTJSC::DebuggerCallFrame const &, int)
+ ??0QScriptValue@@QAE@PAVQScriptEngine@@N@Z @ 43 NONAME ; QScriptValue::QScriptValue(class QScriptEngine *, double)
+ ?state@QScriptContext@@QBE?AW4ExecutionState@1@XZ @ 44 NONAME ; enum QScriptContext::ExecutionState QScriptContext::state(void) const
+ ?argument@QScriptable@@QBE?AVQScriptValue@@H@Z @ 45 NONAME ; class QScriptValue QScriptable::argument(int) const
+ ?objectById@QScriptEngine@@QBE?AVQScriptValue@@_J@Z @ 46 NONAME ; class QScriptValue QScriptEngine::objectById(long long) const
+ ??0QScriptEngineAgent@@QAE@PAVQScriptEngine@@@Z @ 47 NONAME ; QScriptEngineAgent::QScriptEngineAgent(class QScriptEngine *)
+ ?isVariant@QScriptValue@@QBE_NXZ @ 48 NONAME ; bool QScriptValue::isVariant(void) const
+ ?functionExit@QScriptEngineAgentPrivate@@UAEXABVJSValue@QTJSC@@H@Z @ 49 NONAME ; void QScriptEngineAgentPrivate::functionExit(class QTJSC::JSValue const &, int)
+ ?toBack@QScriptValueIterator@@QAEXXZ @ 50 NONAME ; void QScriptValueIterator::toBack(void)
+ ?pushScope@QScriptContext@@QAEXABVQScriptValue@@@Z @ 51 NONAME ; void QScriptContext::pushScope(class QScriptValue const &)
+ ??0QScriptValue@@QAE@PAVQScriptEngine@@I@Z @ 52 NONAME ; QScriptValue::QScriptValue(class QScriptEngine *, unsigned int)
+ ?staticMetaObject@QScriptExtensionPlugin@@2UQMetaObject@@B @ 53 NONAME ; struct QMetaObject const QScriptExtensionPlugin::staticMetaObject
+ ?setThisObject@QScriptContext@@QAEXABVQScriptValue@@@Z @ 54 NONAME ; void QScriptContext::setThisObject(class QScriptValue const &)
+ ??0QScriptEngineAgentPrivate@@QAE@XZ @ 55 NONAME ; QScriptEngineAgentPrivate::QScriptEngineAgentPrivate(void)
+ ?toNumber@QScriptValue@@QBENXZ @ 56 NONAME ; double QScriptValue::toNumber(void) const
+ ?d_func@QScriptClassPropertyIterator@@AAEPAVQScriptClassPropertyIteratorPrivate@@XZ @ 57 NONAME ; class QScriptClassPropertyIteratorPrivate * QScriptClassPropertyIterator::d_func(void)
+ ?setProperty@QScriptClass@@UAEXAAVQScriptValue@@ABVQScriptString@@IABV2@@Z @ 58 NONAME ; void QScriptClass::setProperty(class QScriptValue &, class QScriptString const &, unsigned int, class QScriptValue const &)
+ ?isNull@QScriptValue@@QBE_NXZ @ 59 NONAME ; bool QScriptValue::isNull(void) const
+ ?isNull@QScriptContextInfo@@QBE_NXZ @ 60 NONAME ; bool QScriptContextInfo::isNull(void) const
+ ?engine@QScriptClass@@QBEPAVQScriptEngine@@XZ @ 61 NONAME ; class QScriptEngine * QScriptClass::engine(void) const
+ ??0QScriptValueIterator@@QAE@ABVQScriptValue@@@Z @ 62 NONAME ; QScriptValueIterator::QScriptValueIterator(class QScriptValue const &)
+ ?signalHandlerException@QScriptEngine@@IAEXABVQScriptValue@@@Z @ 63 NONAME ; void QScriptEngine::signalHandlerException(class QScriptValue const &)
+ ?isQObject@QScriptValue@@QBE_NXZ @ 64 NONAME ; bool QScriptValue::isQObject(void) const
+ ?setGlobalObject@QScriptEngine@@QAEXABVQScriptValue@@@Z @ 65 NONAME ; void QScriptEngine::setGlobalObject(class QScriptValue const &)
+ ?exceptionThrow@QScriptEngineAgentPrivate@@UAEXABVDebuggerCallFrame@QTJSC@@H_N@Z @ 66 NONAME ; void QScriptEngineAgentPrivate::exceptionThrow(class QTJSC::DebuggerCallFrame const &, int, bool)
+ ??0QScriptSyntaxCheckResult@@AAE@XZ @ 67 NONAME ; QScriptSyntaxCheckResult::QScriptSyntaxCheckResult(void)
+ ?scriptId@QScriptContextInfo@@QBE_JXZ @ 68 NONAME ; long long QScriptContextInfo::scriptId(void) const
+ ?collectGarbage@QScriptEngine@@QAEXXZ @ 69 NONAME ; void QScriptEngine::collectGarbage(void)
+ ?call@QScriptValue@@QAE?AV1@ABV1@0@Z @ 70 NONAME ; class QScriptValue QScriptValue::call(class QScriptValue const &, class QScriptValue const &)
+ ?toInt32@QScriptValue@@QBEHXZ @ 71 NONAME ; int QScriptValue::toInt32(void) const
+ ?newObject@QScriptEngine@@QAE?AVQScriptValue@@PAVQScriptClass@@ABV2@@Z @ 72 NONAME ; class QScriptValue QScriptEngine::newObject(class QScriptClass *, class QScriptValue const &)
+ ??_EQScriptExtensionPlugin@@UAE@I@Z @ 73 NONAME ; QScriptExtensionPlugin::~QScriptExtensionPlugin(unsigned int)
+ ?get@QScriptEngineAgentPrivate@@SAPAVQScriptEngineAgent@@PAV1@@Z @ 74 NONAME ; class QScriptEngineAgent * QScriptEngineAgentPrivate::get(class QScriptEngineAgentPrivate *)
+ ?qt_metacall@QScriptExtensionPlugin@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 75 NONAME ; int QScriptExtensionPlugin::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?undefinedValue@QScriptEngine@@QAE?AVQScriptValue@@XZ @ 76 NONAME ; class QScriptValue QScriptEngine::undefinedValue(void)
+ ??1QScriptExtensionInterface@@UAE@XZ @ 77 NONAME ; QScriptExtensionInterface::~QScriptExtensionInterface(void)
+ ?trUtf8@QScriptEngine@@SA?AVQString@@PBD0@Z @ 78 NONAME ; class QString QScriptEngine::trUtf8(char const *, char const *)
+ ??4QScriptContextInfo@@QAEAAV0@ABV0@@Z @ 79 NONAME ; class QScriptContextInfo & QScriptContextInfo::operator=(class QScriptContextInfo const &)
+ ?argumentCount@QScriptContext@@QBEHXZ @ 80 NONAME ; int QScriptContext::argumentCount(void) const
+ ?functionType@QScriptContextInfo@@QBE?AW4FunctionType@1@XZ @ 81 NONAME ; enum QScriptContextInfo::FunctionType QScriptContextInfo::functionType(void) const
+ ?convert@QScriptEngine@@AAE_NABVQScriptValue@@HPAX@Z @ 82 NONAME ; bool QScriptEngine::convert(class QScriptValue const &, int, void *)
+ ??1QScriptValue@@QAE@XZ @ 83 NONAME ; QScriptValue::~QScriptValue(void)
+ ??9QScriptString@@QBE_NABV0@@Z @ 84 NONAME ; bool QScriptString::operator!=(class QScriptString const &) const
+ ?scriptUnload@QScriptEngineAgentPrivate@@UAEX_J@Z @ 85 NONAME ; void QScriptEngineAgentPrivate::scriptUnload(long long)
+ ?registerCustomType@QScriptEngine@@AAEXHP6A?AVQScriptValue@@PAV1@PBX@ZP6AXABV2@PAX@Z3@Z @ 86 NONAME ; void QScriptEngine::registerCustomType(int, class QScriptValue (*)(class QScriptEngine *, void const *), void (*)(class QScriptValue const &, void *), class QScriptValue const &)
+ ?setAgent@QScriptEngine@@QAEXPAVQScriptEngineAgent@@@Z @ 87 NONAME ; void QScriptEngine::setAgent(class QScriptEngineAgent *)
+ ?engine@QScriptContext@@QBEPAVQScriptEngine@@XZ @ 88 NONAME ; class QScriptEngine * QScriptContext::engine(void) const
+ ?detach@QScriptEngineAgentPrivate@@QAEXXZ @ 89 NONAME ; void QScriptEngineAgentPrivate::detach(void)
+ ?equals@QScriptValue@@QBE_NABV1@@Z @ 90 NONAME ; bool QScriptValue::equals(class QScriptValue const &) const
+ ?functionParameterNames@QScriptContextInfo@@QBE?AVQStringList@@XZ @ 91 NONAME ; class QStringList QScriptContextInfo::functionParameterNames(void) const
+ ?fileName@QScriptContextInfo@@QBE?AVQString@@XZ @ 92 NONAME ; class QString QScriptContextInfo::fileName(void) const
+ ?isObject@QScriptValue@@QBE_NXZ @ 93 NONAME ; bool QScriptValue::isObject(void) const
+ ?d_func@QScriptEngineAgent@@ABEPBVQScriptEngineAgentPrivate@@XZ @ 94 NONAME ; class QScriptEngineAgentPrivate const * QScriptEngineAgent::d_func(void) const
+ ?trUtf8@QScriptEngine@@SA?AVQString@@PBD0H@Z @ 95 NONAME ; class QString QScriptEngine::trUtf8(char const *, char const *, int)
+ ?uncaughtException@QScriptEngine@@QBE?AVQScriptValue@@XZ @ 96 NONAME ; class QScriptValue QScriptEngine::uncaughtException(void) const
+ ?qHash@@YAIABVQScriptString@@@Z @ 97 NONAME ; unsigned int qHash(class QScriptString const &)
+ ?id@QScriptClassPropertyIterator@@UBEIXZ @ 98 NONAME ; unsigned int QScriptClassPropertyIterator::id(void) const
+ ??_EQScriptEngine@@UAE@I@Z @ 99 NONAME ; QScriptEngine::~QScriptEngine(unsigned int)
+ ?newQObject@QScriptEngine@@QAE?AVQScriptValue@@ABV2@PAVQObject@@W4ValueOwnership@1@ABV?$QFlags@W4QObjectWrapOption@QScriptEngine@@@@@Z @ 100 NONAME ; class QScriptValue QScriptEngine::newQObject(class QScriptValue const &, class QObject *, enum QScriptEngine::ValueOwnership, class QFlags<enum QScriptEngine::QObjectWrapOption> const &)
+ ??0QScriptExtensionInterface@@QAE@XZ @ 101 NONAME ABSENT ; QScriptExtensionInterface::QScriptExtensionInterface(void)
+ ?metaObject@QScriptExtensionPlugin@@UBEPBUQMetaObject@@XZ @ 102 NONAME ; struct QMetaObject const * QScriptExtensionPlugin::metaObject(void) const
+ ?setReturnValue@QScriptContext@@QAEXABVQScriptValue@@@Z @ 103 NONAME ; void QScriptContext::setReturnValue(class QScriptValue const &)
+ ?isBoolean@QScriptValue@@QBE_NXZ @ 104 NONAME ; bool QScriptValue::isBoolean(void) const
+ ?d_func@QScriptClass@@ABEPBVQScriptClassPrivate@@XZ @ 105 NONAME ; class QScriptClassPrivate const * QScriptClass::d_func(void) const
+ ?toString@QScriptValue@@QBE?AVQString@@XZ @ 106 NONAME ; class QString QScriptValue::toString(void) const
+ ?previous@QScriptValueIterator@@QAEXXZ @ 107 NONAME ; void QScriptValueIterator::previous(void)
+ ??8QScriptContextInfo@@QBE_NABV0@@Z @ 108 NONAME ; bool QScriptContextInfo::operator==(class QScriptContextInfo const &) const
+ ?d_func@QScriptValue@@AAEPAVQScriptValuePrivate@@XZ @ 109 NONAME ; class QScriptValuePrivate * QScriptValue::d_func(void)
+ ?toString@QScriptString@@QBE?AVQString@@XZ @ 110 NONAME ; class QString QScriptString::toString(void) const
+ ??0QScriptContext@@AAE@XZ @ 111 NONAME ; QScriptContext::QScriptContext(void)
+ ?setValue@QScriptValueIterator@@QAEXABVQScriptValue@@@Z @ 112 NONAME ; void QScriptValueIterator::setValue(class QScriptValue const &)
+ ?qScriptDisconnect@@YA_NPAVQObject@@PBDABVQScriptValue@@2@Z @ 113 NONAME ; bool qScriptDisconnect(class QObject *, char const *, class QScriptValue const &, class QScriptValue const &)
+ ??1QScriptValueIterator@@QAE@XZ @ 114 NONAME ; QScriptValueIterator::~QScriptValueIterator(void)
+ ?throwError@QScriptContext@@QAE?AVQScriptValue@@ABVQString@@@Z @ 115 NONAME ; class QScriptValue QScriptContext::throwError(class QString const &)
+ ?newDate@QScriptEngine@@QAE?AVQScriptValue@@ABVQDateTime@@@Z @ 116 NONAME ; class QScriptValue QScriptEngine::newDate(class QDateTime const &)
+ ?toStringHandle@QScriptEngine@@QAE?AVQScriptString@@ABVQString@@@Z @ 117 NONAME ; class QScriptString QScriptEngine::toStringHandle(class QString const &)
+ ?toInteger@QScriptValue@@QBENXZ @ 118 NONAME ; double QScriptValue::toInteger(void) const
+ ?scopeChain@QScriptContext@@QBE?AV?$QList@VQScriptValue@@@@XZ @ 119 NONAME ; class QList<class QScriptValue> QScriptContext::scopeChain(void) const
+ ?isValid@QScriptString@@QBE_NXZ @ 120 NONAME ; bool QScriptString::isValid(void) const
+ ?name@QScriptClass@@UBE?AVQString@@XZ @ 121 NONAME ; class QString QScriptClass::name(void) const
+ ??1QScriptContext@@QAE@XZ @ 122 NONAME ; QScriptContext::~QScriptContext(void)
+ ?construct@QScriptValue@@QAE?AV1@ABV1@@Z @ 123 NONAME ; class QScriptValue QScriptValue::construct(class QScriptValue const &)
+ ?defaultPrototype@QScriptEngine@@QBE?AVQScriptValue@@H@Z @ 124 NONAME ; class QScriptValue QScriptEngine::defaultPrototype(int) const
+ ??9QScriptContextInfo@@QBE_NABV0@@Z @ 125 NONAME ; bool QScriptContextInfo::operator!=(class QScriptContextInfo const &) const
+ ?evaluate@QScriptEngine@@QAE?AVQScriptValue@@ABVQString@@0H@Z @ 126 NONAME ; class QScriptValue QScriptEngine::evaluate(class QString const &, class QString const &, int)
+ ?prototype@QScriptClass@@UBE?AVQScriptValue@@XZ @ 127 NONAME ; class QScriptValue QScriptClass::prototype(void) const
+ ?lessThan@QScriptValue@@QBE_NABV1@@Z @ 128 NONAME ; bool QScriptValue::lessThan(class QScriptValue const &) const
+ ?errorColumnNumber@QScriptSyntaxCheckResult@@QBEHXZ @ 129 NONAME ; int QScriptSyntaxCheckResult::errorColumnNumber(void) const
+ ?d_func@QScriptContext@@AAEPAVQScriptContextPrivate@@XZ @ 130 NONAME ; class QScriptContextPrivate * QScriptContext::d_func(void)
+ ?errorMessage@QScriptSyntaxCheckResult@@QBE?AVQString@@XZ @ 131 NONAME ; class QString QScriptSyntaxCheckResult::errorMessage(void) const
+ ?toBool@QScriptValue@@QBE_NXZ @ 132 NONAME ; bool QScriptValue::toBool(void) const
+ ?argumentsObject@QScriptContext@@QBE?AVQScriptValue@@XZ @ 133 NONAME ; class QScriptValue QScriptContext::argumentsObject(void) const
+ ?flags@QScriptValueIterator@@QBE?AV?$QFlags@W4PropertyFlag@QScriptValue@@@@XZ @ 134 NONAME ; class QFlags<enum QScriptValue::PropertyFlag> QScriptValueIterator::flags(void) const
+ ?toDateTime@QScriptValue@@QBE?AVQDateTime@@XZ @ 135 NONAME ; class QDateTime QScriptValue::toDateTime(void) const
+ ?newDate@QScriptEngine@@QAE?AVQScriptValue@@N@Z @ 136 NONAME ; class QScriptValue QScriptEngine::newDate(double)
+ ?setDefaultPrototype@QScriptEngine@@QAEXHABVQScriptValue@@@Z @ 137 NONAME ; void QScriptEngine::setDefaultPrototype(int, class QScriptValue const &)
+ ?setupPackage@QScriptExtensionPlugin@@QBE?AVQScriptValue@@ABVQString@@PAVQScriptEngine@@@Z @ 138 NONAME ; class QScriptValue QScriptExtensionPlugin::setupPackage(class QString const &, class QScriptEngine *) const
+ ??0QScriptSyntaxCheckResult@@AAE@PAVQScriptSyntaxCheckResultPrivate@@@Z @ 139 NONAME ; QScriptSyntaxCheckResult::QScriptSyntaxCheckResult(class QScriptSyntaxCheckResultPrivate *)
+ ?scriptUnload@QScriptEngineAgent@@UAEX_J@Z @ 140 NONAME ; void QScriptEngineAgent::scriptUnload(long long)
+ ?prototype@QScriptValue@@QBE?AV1@XZ @ 141 NONAME ; class QScriptValue QScriptValue::prototype(void) const
+ ??1QScriptSyntaxCheckResult@@QAE@XZ @ 142 NONAME ; QScriptSyntaxCheckResult::~QScriptSyntaxCheckResult(void)
+ ??0QScriptClass@@IAE@PAVQScriptEngine@@AAVQScriptClassPrivate@@@Z @ 143 NONAME ; QScriptClass::QScriptClass(class QScriptEngine *, class QScriptClassPrivate &)
+ ?toObject@QScriptEngine@@QAE?AVQScriptValue@@ABV2@@Z @ 144 NONAME ; class QScriptValue QScriptEngine::toObject(class QScriptValue const &)
+ ??0QScriptEngine@@QAE@XZ @ 145 NONAME ; QScriptEngine::QScriptEngine(void)
+ ?isRegExp@QScriptValue@@QBE_NXZ @ 146 NONAME ; bool QScriptValue::isRegExp(void) const
+ ?evaluateStop@QScriptEngineAgentPrivate@@UAEXABVJSValue@QTJSC@@H@Z @ 147 NONAME ; void QScriptEngineAgentPrivate::evaluateStop(class QTJSC::JSValue const &, int)
+ ?d_func@QScriptValueIterator@@AAEPAVQScriptValueIteratorPrivate@@XZ @ 148 NONAME ; class QScriptValueIteratorPrivate * QScriptValueIterator::d_func(void)
+ ?errorLineNumber@QScriptSyntaxCheckResult@@QBEHXZ @ 149 NONAME ; int QScriptSyntaxCheckResult::errorLineNumber(void) const
+ ?d_func@QScriptSyntaxCheckResult@@AAEPAVQScriptSyntaxCheckResultPrivate@@XZ @ 150 NONAME ; class QScriptSyntaxCheckResultPrivate * QScriptSyntaxCheckResult::d_func(void)
+ ?instanceOf@QScriptValue@@QBE_NABV1@@Z @ 151 NONAME ; bool QScriptValue::instanceOf(class QScriptValue const &) const
+ ?isUndefined@QScriptValue@@QBE_NXZ @ 152 NONAME ; bool QScriptValue::isUndefined(void) const
+ ?toUInt16@QScriptValue@@QBEGXZ @ 153 NONAME ; unsigned short QScriptValue::toUInt16(void) const
+ ??_EQScriptClass@@UAE@I@Z @ 154 NONAME ; QScriptClass::~QScriptClass(unsigned int)
+ ?engine@QScriptValue@@QBEPAVQScriptEngine@@XZ @ 155 NONAME ; class QScriptEngine * QScriptValue::engine(void) const
+ ??4QScriptValue@@QAEAAV0@ABV0@@Z @ 156 NONAME ; class QScriptValue & QScriptValue::operator=(class QScriptValue const &)
+ ?trUtf8@QScriptExtensionPlugin@@SA?AVQString@@PBD0H@Z @ 157 NONAME ; class QString QScriptExtensionPlugin::trUtf8(char const *, char const *, int)
+ ??0QScriptValue@@QAE@PAVQScriptEngine@@W4SpecialValue@0@@Z @ 158 NONAME ; QScriptValue::QScriptValue(class QScriptEngine *, enum QScriptValue::SpecialValue)
+ ??_EQScriptEngineAgentPrivate@@UAE@I@Z @ 159 NONAME ; QScriptEngineAgentPrivate::~QScriptEngineAgentPrivate(unsigned int)
+ ?context@QScriptable@@QBEPAVQScriptContext@@XZ @ 160 NONAME ; class QScriptContext * QScriptable::context(void) const
+ ?get@QScriptEngineAgentPrivate@@SAPAV1@PAVQScriptEngineAgent@@@Z @ 161 NONAME ; class QScriptEngineAgentPrivate * QScriptEngineAgentPrivate::get(class QScriptEngineAgent *)
+ ?hasNext@QScriptValueIterator@@QBE_NXZ @ 162 NONAME ; bool QScriptValueIterator::hasNext(void) const
+ ?pushContext@QScriptEngine@@QAEPAVQScriptContext@@XZ @ 163 NONAME ; class QScriptContext * QScriptEngine::pushContext(void)
+ ??1QScriptString@@QAE@XZ @ 164 NONAME ; QScriptString::~QScriptString(void)
+ ?lineNumber@QScriptContextInfo@@QBEHXZ @ 165 NONAME ; int QScriptContextInfo::lineNumber(void) const
+ ?setActivationObject@QScriptContext@@QAEXABVQScriptValue@@@Z @ 166 NONAME ; void QScriptContext::setActivationObject(class QScriptValue const &)
+ ?qt_metacast@QScriptExtensionPlugin@@UAEPAXPBD@Z @ 167 NONAME ; void * QScriptExtensionPlugin::qt_metacast(char const *)
+ ??1QScriptContextInfo@@QAE@XZ @ 168 NONAME ; QScriptContextInfo::~QScriptContextInfo(void)
+ ?activationObject@QScriptContext@@QBE?AVQScriptValue@@XZ @ 169 NONAME ; class QScriptValue QScriptContext::activationObject(void) const
+ ??0QScriptClassPropertyIterator@@IAE@ABVQScriptValue@@AAVQScriptClassPropertyIteratorPrivate@@@Z @ 170 NONAME ; QScriptClassPropertyIterator::QScriptClassPropertyIterator(class QScriptValue const &, class QScriptClassPropertyIteratorPrivate &)
+ ?construct@QScriptValue@@QAE?AV1@ABV?$QList@VQScriptValue@@@@@Z @ 171 NONAME ; class QScriptValue QScriptValue::construct(class QList<class QScriptValue> const &)
+ ??0QScriptContextInfo@@QAE@XZ @ 172 NONAME ; QScriptContextInfo::QScriptContextInfo(void)
+ ?agent@QScriptEngine@@QBEPAVQScriptEngineAgent@@XZ @ 173 NONAME ; class QScriptEngineAgent * QScriptEngine::agent(void) const
+ ?backtrace@QScriptContext@@QBE?AVQStringList@@XZ @ 174 NONAME ; class QStringList QScriptContext::backtrace(void) const
+ ??1QScriptClassPropertyIterator@@UAE@XZ @ 175 NONAME ; QScriptClassPropertyIterator::~QScriptClassPropertyIterator(void)
+ ?qt_metacast@QScriptEngine@@UAEPAXPBD@Z @ 176 NONAME ; void * QScriptEngine::qt_metacast(char const *)
+ ?setPrototype@QScriptValue@@QAEXABV1@@Z @ 177 NONAME ; void QScriptValue::setPrototype(class QScriptValue const &)
+ ?setProperty@QScriptValue@@QAEXABVQString@@ABV1@ABV?$QFlags@W4PropertyFlag@QScriptValue@@@@@Z @ 178 NONAME ; void QScriptValue::setProperty(class QString const &, class QScriptValue const &, class QFlags<enum QScriptValue::PropertyFlag> const &)
+ ?atStatement@QScriptEngineAgentPrivate@@UAEXABVDebuggerCallFrame@QTJSC@@HHH@Z @ 179 NONAME ; void QScriptEngineAgentPrivate::atStatement(class QTJSC::DebuggerCallFrame const &, int, int, int)
+ ?create@QScriptEngine@@AAE?AVQScriptValue@@HPBX@Z @ 180 NONAME ; class QScriptValue QScriptEngine::create(int, void const *)
+ ?toString@QScriptContext@@QBE?AVQString@@XZ @ 181 NONAME ; class QString QScriptContext::toString(void) const
+ ?newRegExp@QScriptEngine@@QAE?AVQScriptValue@@ABVQRegExp@@@Z @ 182 NONAME ; class QScriptValue QScriptEngine::newRegExp(class QRegExp const &)
+ ?property@QScriptValue@@QBE?AV1@ABVQScriptString@@ABV?$QFlags@W4ResolveFlag@QScriptValue@@@@@Z @ 183 NONAME ; class QScriptValue QScriptValue::property(class QScriptString const &, class QFlags<enum QScriptValue::ResolveFlag> const &) const
+ ?throwError@QScriptContext@@QAE?AVQScriptValue@@W4Error@1@ABVQString@@@Z @ 184 NONAME ; class QScriptValue QScriptContext::throwError(enum QScriptContext::Error, class QString const &)
+ ??0QScriptValue@@QAE@PAVQScriptEngine@@_N@Z @ 185 NONAME ; QScriptValue::QScriptValue(class QScriptEngine *, bool)
+ ?callEvent@QScriptEngineAgentPrivate@@UAEXABVDebuggerCallFrame@QTJSC@@HH@Z @ 186 NONAME ; void QScriptEngineAgentPrivate::callEvent(class QTJSC::DebuggerCallFrame const &, int, int)
+ ?contextPop@QScriptEngineAgent@@UAEXXZ @ 187 NONAME ; void QScriptEngineAgent::contextPop(void)
+ ??1QScriptExtensionPlugin@@UAE@XZ @ 188 NONAME ; QScriptExtensionPlugin::~QScriptExtensionPlugin(void)
+ ?uncaughtExceptionLineNumber@QScriptEngine@@QBEHXZ @ 189 NONAME ; int QScriptEngine::uncaughtExceptionLineNumber(void) const
+ ??8QScriptString@@QBE_NABV0@@Z @ 190 NONAME ; bool QScriptString::operator==(class QScriptString const &) const
+ ?newRegExp@QScriptEngine@@QAE?AVQScriptValue@@ABVQString@@0@Z @ 191 NONAME ; class QScriptValue QScriptEngine::newRegExp(class QString const &, class QString const &)
+ ?tr@QScriptEngine@@SA?AVQString@@PBD0@Z @ 192 NONAME ; class QString QScriptEngine::tr(char const *, char const *)
+ ??0QScriptContextInfo@@QAE@ABV0@@Z @ 193 NONAME ; QScriptContextInfo::QScriptContextInfo(class QScriptContextInfo const &)
+ ?popContext@QScriptEngine@@QAEXXZ @ 194 NONAME ; void QScriptEngine::popContext(void)
+ ??0QScriptClassPropertyIterator@@IAE@ABVQScriptValue@@@Z @ 195 NONAME ; QScriptClassPropertyIterator::QScriptClassPropertyIterator(class QScriptValue const &)
+ ?scriptLoad@QScriptEngineAgent@@UAEX_JABVQString@@1H@Z @ 196 NONAME ; void QScriptEngineAgent::scriptLoad(long long, class QString const &, class QString const &, int)
+ ??1QScriptClass@@UAE@XZ @ 197 NONAME ; QScriptClass::~QScriptClass(void)
+ ?attach@QScriptEngineAgentPrivate@@QAEXXZ @ 198 NONAME ; void QScriptEngineAgentPrivate::attach(void)
+ ?exception@QScriptEngineAgentPrivate@@UAEXABVDebuggerCallFrame@QTJSC@@HH@Z @ 199 NONAME ; void QScriptEngineAgentPrivate::exception(class QTJSC::DebuggerCallFrame const &, int, int)
+ ?processEventsInterval@QScriptEngine@@QBEHXZ @ 200 NONAME ; int QScriptEngine::processEventsInterval(void) const
+ ??0QScriptContextInfo@@QAE@PBVQScriptContext@@@Z @ 201 NONAME ; QScriptContextInfo::QScriptContextInfo(class QScriptContext const *)
+ ?newIterator@QScriptClass@@UAEPAVQScriptClassPropertyIterator@@ABVQScriptValue@@@Z @ 202 NONAME ; class QScriptClassPropertyIterator * QScriptClass::newIterator(class QScriptValue const &)
+ ?name@QScriptValueIterator@@QBE?AVQString@@XZ @ 203 NONAME ; class QString QScriptValueIterator::name(void) const
+ ?tr@QScriptExtensionPlugin@@SA?AVQString@@PBD0H@Z @ 204 NONAME ; class QString QScriptExtensionPlugin::tr(char const *, char const *, int)
+ ?scriptClass@QScriptValue@@QBEPAVQScriptClass@@XZ @ 205 NONAME ; class QScriptClass * QScriptValue::scriptClass(void) const
+ ??0QScriptValue@@QAE@W4SpecialValue@0@@Z @ 206 NONAME ; QScriptValue::QScriptValue(enum QScriptValue::SpecialValue)
+ ?toFront@QScriptValueIterator@@QAEXXZ @ 207 NONAME ; void QScriptValueIterator::toFront(void)
+ ??0QScriptEngineAgent@@IAE@AAVQScriptEngineAgentPrivate@@PAVQScriptEngine@@@Z @ 208 NONAME ; QScriptEngineAgent::QScriptEngineAgent(class QScriptEngineAgentPrivate &, class QScriptEngine *)
+ ?toUInt32@QScriptValue@@QBEIXZ @ 209 NONAME ; unsigned int QScriptValue::toUInt32(void) const
+ ?d_func@QScriptContext@@ABEPBVQScriptContextPrivate@@XZ @ 210 NONAME ; class QScriptContextPrivate const * QScriptContext::d_func(void) const
+ ?isArray@QScriptValue@@QBE_NXZ @ 211 NONAME ; bool QScriptValue::isArray(void) const
+ ?scriptLoad@QScriptEngineAgentPrivate@@UAEX_JABVUString@QTJSC@@1H@Z @ 212 NONAME ; void QScriptEngineAgentPrivate::scriptLoad(long long, class QTJSC::UString const &, class QTJSC::UString const &, int)
+ ?engine@QScriptEngineAgent@@QBEPAVQScriptEngine@@XZ @ 213 NONAME ; class QScriptEngine * QScriptEngineAgent::engine(void) const
+ ?newVariant@QScriptEngine@@QAE?AVQScriptValue@@ABV2@ABVQVariant@@@Z @ 214 NONAME ; class QScriptValue QScriptEngine::newVariant(class QScriptValue const &, class QVariant const &)
+ ?setProperty@QScriptValue@@QAEXIABV1@ABV?$QFlags@W4PropertyFlag@QScriptValue@@@@@Z @ 215 NONAME ; void QScriptValue::setProperty(unsigned int, class QScriptValue const &, class QFlags<enum QScriptValue::PropertyFlag> const &)
+ ?property@QScriptValue@@QBE?AV1@IABV?$QFlags@W4ResolveFlag@QScriptValue@@@@@Z @ 216 NONAME ; class QScriptValue QScriptValue::property(unsigned int, class QFlags<enum QScriptValue::ResolveFlag> const &) const
+ ?tr@QScriptEngine@@SA?AVQString@@PBD0H@Z @ 217 NONAME ; class QString QScriptEngine::tr(char const *, char const *, int)
+ ?d_func@QScriptable@@AAEPAVQScriptablePrivate@@XZ @ 218 NONAME ; class QScriptablePrivate * QScriptable::d_func(void)
+ ?exceptionCatch@QScriptEngineAgent@@UAEX_JABVQScriptValue@@@Z @ 219 NONAME ; void QScriptEngineAgent::exceptionCatch(long long, class QScriptValue const &)
+ ?toBoolean@QScriptValue@@QBE_NXZ @ 220 NONAME ; bool QScriptValue::toBoolean(void) const
+ ??0QScriptValue@@QAE@H@Z @ 221 NONAME ; QScriptValue::QScriptValue(int)
+ ?extension@QScriptEngineAgent@@UAE?AVQVariant@@W4Extension@1@ABV2@@Z @ 222 NONAME ; class QVariant QScriptEngineAgent::extension(enum QScriptEngineAgent::Extension, class QVariant const &)
+ ?thisObject@QScriptable@@QBE?AVQScriptValue@@XZ @ 223 NONAME ; class QScriptValue QScriptable::thisObject(void) const
+ ?setProcessEventsInterval@QScriptEngine@@QAEXH@Z @ 224 NONAME ; void QScriptEngine::setProcessEventsInterval(int)
+ ?newFunction@QScriptEngine@@QAE?AVQScriptValue@@P6A?AV2@PAVQScriptContext@@PAV1@@ZH@Z @ 225 NONAME ; class QScriptValue QScriptEngine::newFunction(class QScriptValue (*)(class QScriptContext *, class QScriptEngine *), int)
+ ?d_func@QScriptClassPropertyIterator@@ABEPBVQScriptClassPropertyIteratorPrivate@@XZ @ 226 NONAME ; class QScriptClassPropertyIteratorPrivate const * QScriptClassPropertyIterator::d_func(void) const
+ ?trUtf8@QScriptExtensionPlugin@@SA?AVQString@@PBD0@Z @ 227 NONAME ; class QString QScriptExtensionPlugin::trUtf8(char const *, char const *)
+ ??0QScriptSyntaxCheckResult@@QAE@ABV0@@Z @ 228 NONAME ; QScriptSyntaxCheckResult::QScriptSyntaxCheckResult(class QScriptSyntaxCheckResult const &)
+ ?newQObject@QScriptEngine@@QAE?AVQScriptValue@@PAVQObject@@W4ValueOwnership@1@ABV?$QFlags@W4QObjectWrapOption@QScriptEngine@@@@@Z @ 229 NONAME ; class QScriptValue QScriptEngine::newQObject(class QObject *, enum QScriptEngine::ValueOwnership, class QFlags<enum QScriptEngine::QObjectWrapOption> const &)
+ ?d_func@QScriptContextInfo@@AAEPAVQScriptContextInfoPrivate@@XZ @ 230 NONAME ; class QScriptContextInfoPrivate * QScriptContextInfo::d_func(void)
+ ?isCalledAsConstructor@QScriptContext@@QBE_NXZ @ 231 NONAME ; bool QScriptContext::isCalledAsConstructor(void) const
+ ?isQMetaObject@QScriptValue@@QBE_NXZ @ 232 NONAME ; bool QScriptValue::isQMetaObject(void) const
+ ?toVariant@QScriptValue@@QBE?AVQVariant@@XZ @ 233 NONAME ; class QVariant QScriptValue::toVariant(void) const
+ ?supportsExtension@QScriptEngineAgent@@UBE_NW4Extension@1@@Z @ 234 NONAME ; bool QScriptEngineAgent::supportsExtension(enum QScriptEngineAgent::Extension) const
+ ?state@QScriptSyntaxCheckResult@@QBE?AW4State@1@XZ @ 235 NONAME ; enum QScriptSyntaxCheckResult::State QScriptSyntaxCheckResult::state(void) const
+ ?isEvaluating@QScriptEngine@@QBE_NXZ @ 236 NONAME ; bool QScriptEngine::isEvaluating(void) const
+ ?setScriptClass@QScriptValue@@QAEXPAVQScriptClass@@@Z @ 237 NONAME ; void QScriptValue::setScriptClass(class QScriptClass *)
+ ?convertV2@QScriptEngine@@CA_NABVQScriptValue@@HPAX@Z @ 238 NONAME ; bool QScriptEngine::convertV2(class QScriptValue const &, int, void *)
+ ?d_func@QScriptString@@ABEPBVQScriptStringPrivate@@XZ @ 239 NONAME ; class QScriptStringPrivate const * QScriptString::d_func(void) const
+ ??1QScriptEngineAgent@@UAE@XZ @ 240 NONAME ; QScriptEngineAgent::~QScriptEngineAgent(void)
+ ??1QScriptEngine@@UAE@XZ @ 241 NONAME ; QScriptEngine::~QScriptEngine(void)
+ ?newObject@QScriptEngine@@QAE?AVQScriptValue@@XZ @ 242 NONAME ; class QScriptValue QScriptEngine::newObject(void)
+ ?availableExtensions@QScriptEngine@@QBE?AVQStringList@@XZ @ 243 NONAME ; class QStringList QScriptEngine::availableExtensions(void) const
+ ?canEvaluate@QScriptEngine@@QBE_NABVQString@@@Z @ 244 NONAME ; bool QScriptEngine::canEvaluate(class QString const &) const
+ ?tr@QScriptExtensionPlugin@@SA?AVQString@@PBD0@Z @ 245 NONAME ; class QString QScriptExtensionPlugin::tr(char const *, char const *)
+ ?call@QScriptValue@@QAE?AV1@ABV1@ABV?$QList@VQScriptValue@@@@@Z @ 246 NONAME ; class QScriptValue QScriptValue::call(class QScriptValue const &, class QList<class QScriptValue> const &)
+ ??_EQScriptValue@@QAE@I@Z @ 247 NONAME ABSENT ; QScriptValue::~QScriptValue(unsigned int)
+ ??0QScriptEngine@@IAE@AAVQScriptEnginePrivate@@PAVQObject@@@Z @ 248 NONAME ; QScriptEngine::QScriptEngine(class QScriptEnginePrivate &, class QObject *)
+ ??0QScriptClass@@QAE@PAVQScriptEngine@@@Z @ 249 NONAME ; QScriptClass::QScriptClass(class QScriptEngine *)
+ ??4QScriptString@@QAEAAV0@ABV0@@Z @ 250 NONAME ; class QScriptString & QScriptString::operator=(class QScriptString const &)
+ ??0QScriptEngine@@QAE@PAVQObject@@@Z @ 251 NONAME ; QScriptEngine::QScriptEngine(class QObject *)
+ ??_EQScriptClassPropertyIterator@@UAE@I@Z @ 252 NONAME ; QScriptClassPropertyIterator::~QScriptClassPropertyIterator(unsigned int)
+ ?willExecuteProgram@QScriptEngineAgentPrivate@@UAEXABVDebuggerCallFrame@QTJSC@@HH@Z @ 253 NONAME ; void QScriptEngineAgentPrivate::willExecuteProgram(class QTJSC::DebuggerCallFrame const &, int, int)
+ ?supportsExtension@QScriptClass@@UBE_NW4Extension@1@@Z @ 254 NONAME ; bool QScriptClass::supportsExtension(enum QScriptClass::Extension) const
+ ?didExecuteProgram@QScriptEngineAgentPrivate@@UAEXABVDebuggerCallFrame@QTJSC@@HH@Z @ 255 NONAME ; void QScriptEngineAgentPrivate::didExecuteProgram(class QTJSC::DebuggerCallFrame const &, int, int)
+ ?q_func@QScriptEngineAgentPrivate@@AAEPAVQScriptEngineAgent@@XZ @ 256 NONAME ; class QScriptEngineAgent * QScriptEngineAgentPrivate::q_func(void)
+ ?isError@QScriptValue@@QBE_NXZ @ 257 NONAME ; bool QScriptValue::isError(void) const
+ ?newFunction@QScriptEngine@@QAE?AVQScriptValue@@P6A?AV2@PAVQScriptContext@@PAV1@@ZABV2@H@Z @ 258 NONAME ; class QScriptValue QScriptEngine::newFunction(class QScriptValue (*)(class QScriptContext *, class QScriptEngine *), class QScriptValue const &, int)
+ ?nullValue@QScriptEngine@@QAE?AVQScriptValue@@XZ @ 259 NONAME ; class QScriptValue QScriptEngine::nullValue(void)
+ ?data@QScriptValue@@QBE?AV1@XZ @ 260 NONAME ; class QScriptValue QScriptValue::data(void) const
+ ?hasPrevious@QScriptValueIterator@@QBE_NXZ @ 261 NONAME ; bool QScriptValueIterator::hasPrevious(void) const
+ ?throwValue@QScriptContext@@QAE?AVQScriptValue@@ABV2@@Z @ 262 NONAME ; class QScriptValue QScriptContext::throwValue(class QScriptValue const &)
+ ?globalObject@QScriptEngine@@QBE?AVQScriptValue@@XZ @ 263 NONAME ; class QScriptValue QScriptEngine::globalObject(void) const
+ ?setScope@QScriptValue@@QAEXABV1@@Z @ 264 NONAME ; void QScriptValue::setScope(class QScriptValue const &)
+ ??6@YAAAVQDataStream@@AAV0@ABVQScriptContextInfo@@@Z @ 265 NONAME ; class QDataStream & operator<<(class QDataStream &, class QScriptContextInfo const &)
+ ?returnValue@QScriptContext@@QBE?AVQScriptValue@@XZ @ 266 NONAME ; class QScriptValue QScriptContext::returnValue(void) const
+ ?currentContext@QScriptEngine@@QBEPAVQScriptContext@@XZ @ 267 NONAME ; class QScriptContext * QScriptEngine::currentContext(void) const
+ ?newQMetaObject@QScriptEngine@@QAE?AVQScriptValue@@PBUQMetaObject@@ABV2@@Z @ 268 NONAME ; class QScriptValue QScriptEngine::newQMetaObject(struct QMetaObject const *, class QScriptValue const &)
+ ?staticMetaObject@QScriptEngine@@2UQMetaObject@@B @ 269 NONAME ; struct QMetaObject const QScriptEngine::staticMetaObject
+ ?toRegExp@QScriptValue@@QBE?AVQRegExp@@XZ @ 270 NONAME ; class QRegExp QScriptValue::toRegExp(void) const
+ ?clearExceptions@QScriptEngine@@QAEXXZ @ 271 NONAME ; void QScriptEngine::clearExceptions(void)
+ ??0QScriptValue@@AAE@PAVQScriptValuePrivate@@@Z @ 272 NONAME ; QScriptValue::QScriptValue(class QScriptValuePrivate *)
+ ??BQScriptString@@QBE?AVQString@@XZ @ 273 NONAME ; QScriptString::operator class QString(void) const
+ ?newVariant@QScriptEngine@@QAE?AVQScriptValue@@ABVQVariant@@@Z @ 274 NONAME ; class QScriptValue QScriptEngine::newVariant(class QVariant const &)
+ ?d_func@QScriptValue@@ABEPBVQScriptValuePrivate@@XZ @ 275 NONAME ; class QScriptValuePrivate const * QScriptValue::d_func(void) const
+ ?hasUncaughtException@QScriptEngine@@QBE_NXZ @ 276 NONAME ; bool QScriptEngine::hasUncaughtException(void) const
+ ?uncaughtExceptionBacktrace@QScriptEngine@@QBE?AVQStringList@@XZ @ 277 NONAME ; class QStringList QScriptEngine::uncaughtExceptionBacktrace(void) const
+ ??5@YAAAVQDataStream@@AAV0@AAVQScriptContextInfo@@@Z @ 278 NONAME ; class QDataStream & operator>>(class QDataStream &, class QScriptContextInfo &)
+ ?importedExtensions@QScriptEngine@@QBE?AVQStringList@@XZ @ 279 NONAME ; class QStringList QScriptEngine::importedExtensions(void) const
+ ??_EQScriptEngineAgent@@UAE@I@Z @ 280 NONAME ; QScriptEngineAgent::~QScriptEngineAgent(unsigned int)
+ ?functionStartLineNumber@QScriptContextInfo@@QBEHXZ @ 281 NONAME ; int QScriptContextInfo::functionStartLineNumber(void) const
+ ?propertyFlags@QScriptValue@@QBE?AV?$QFlags@W4PropertyFlag@QScriptValue@@@@ABVQScriptString@@ABV?$QFlags@W4ResolveFlag@QScriptValue@@@@@Z @ 282 NONAME ; class QFlags<enum QScriptValue::PropertyFlag> QScriptValue::propertyFlags(class QScriptString const &, class QFlags<enum QScriptValue::ResolveFlag> const &) const
+ ?queryProperty@QScriptClass@@UAE?AV?$QFlags@W4QueryFlag@QScriptClass@@@@ABVQScriptValue@@ABVQScriptString@@V2@PAI@Z @ 283 NONAME ; class QFlags<enum QScriptClass::QueryFlag> QScriptClass::queryProperty(class QScriptValue const &, class QScriptString const &, class QFlags<enum QScriptClass::QueryFlag>, unsigned int *)
+ ?remove@QScriptValueIterator@@QAEXXZ @ 284 NONAME ; void QScriptValueIterator::remove(void)
+ ?property@QScriptValue@@QBE?AV1@ABVQString@@ABV?$QFlags@W4ResolveFlag@QScriptValue@@@@@Z @ 285 NONAME ; class QScriptValue QScriptValue::property(class QString const &, class QFlags<enum QScriptValue::ResolveFlag> const &) const
+ ?thisObject@QScriptContext@@QBE?AVQScriptValue@@XZ @ 286 NONAME ; class QScriptValue QScriptContext::thisObject(void) const
+ ?callee@QScriptContext@@QBE?AVQScriptValue@@XZ @ 287 NONAME ; class QScriptValue QScriptContext::callee(void) const
+ ?isValid@QScriptValue@@QBE_NXZ @ 288 NONAME ; bool QScriptValue::isValid(void) const
+ ?d_func@QScriptClass@@AAEPAVQScriptClassPrivate@@XZ @ 289 NONAME ; class QScriptClassPrivate * QScriptClass::d_func(void)
+ ??0QScriptString@@QAE@ABV0@@Z @ 290 NONAME ; QScriptString::QScriptString(class QScriptString const &)
+ ??0QScriptValue@@QAE@N@Z @ 291 NONAME ; QScriptValue::QScriptValue(double)
+ ?positionChange@QScriptEngineAgent@@UAEX_JHH@Z @ 292 NONAME ; void QScriptEngineAgent::positionChange(long long, int, int)
+ ?getStaticMetaObject@QScriptExtensionPlugin@@SAABUQMetaObject@@XZ @ 293 NONAME ; struct QMetaObject const & QScriptExtensionPlugin::getStaticMetaObject(void)
+ ?newFunction@QScriptEngine@@QAE?AVQScriptValue@@P6A?AV2@PAVQScriptContext@@PAV1@PAX@Z2@Z @ 294 NONAME ; class QScriptValue QScriptEngine::newFunction(class QScriptValue (*)(class QScriptContext *, class QScriptEngine *, void *), void *)
+ ??_EQScriptExtensionInterface@@UAE@I@Z @ 295 NONAME ; QScriptExtensionInterface::~QScriptExtensionInterface(unsigned int)
+ ?isFunction@QScriptValue@@QBE_NXZ @ 296 NONAME ; bool QScriptValue::isFunction(void) const
+ ?popScope@QScriptContext@@QAE?AVQScriptValue@@XZ @ 297 NONAME ; class QScriptValue QScriptContext::popScope(void)
+ ??0QScriptValue@@QAE@ABVQString@@@Z @ 298 NONAME ; QScriptValue::QScriptValue(class QString const &)
+ ?d_func@QScriptEngine@@ABEPBVQScriptEnginePrivate@@XZ @ 299 NONAME ; class QScriptEnginePrivate const * QScriptEngine::d_func(void) const
+ ??0QScriptValue@@QAE@I@Z @ 300 NONAME ; QScriptValue::QScriptValue(unsigned int)
+ ?evaluateStart@QScriptEngineAgentPrivate@@UAEXH@Z @ 301 NONAME ; void QScriptEngineAgentPrivate::evaluateStart(int)
+ ?argumentCount@QScriptable@@QBEHXZ @ 302 NONAME ; int QScriptable::argumentCount(void) const
+ ?metaObject@QScriptEngine@@UBEPBUQMetaObject@@XZ @ 303 NONAME ; struct QMetaObject const * QScriptEngine::metaObject(void) const
+ ?functionEndLineNumber@QScriptContextInfo@@QBEHXZ @ 304 NONAME ; int QScriptContextInfo::functionEndLineNumber(void) const
+ ?installTranslatorFunctions@QScriptEngine@@QAEXABVQScriptValue@@@Z @ 305 NONAME ; void QScriptEngine::installTranslatorFunctions(class QScriptValue const &)
+ ?scope@QScriptValue@@QBE?AV1@XZ @ 306 NONAME ; class QScriptValue QScriptValue::scope(void) const
+ ?isBool@QScriptValue@@QBE_NXZ @ 307 NONAME ; bool QScriptValue::isBool(void) const
+ ?checkSyntax@QScriptEngine@@SA?AVQScriptSyntaxCheckResult@@ABVQString@@@Z @ 308 NONAME ; class QScriptSyntaxCheckResult QScriptEngine::checkSyntax(class QString const &)
+ ?object@QScriptClassPropertyIterator@@QBE?AVQScriptValue@@XZ @ 309 NONAME ; class QScriptValue QScriptClassPropertyIterator::object(void) const
+ ??4QScriptSyntaxCheckResult@@QAEAAV0@ABV0@@Z @ 310 NONAME ; class QScriptSyntaxCheckResult & QScriptSyntaxCheckResult::operator=(class QScriptSyntaxCheckResult const &)
+ ?d_func@QScriptString@@AAEPAVQScriptStringPrivate@@XZ @ 311 NONAME ; class QScriptStringPrivate * QScriptString::d_func(void)
+ ?isDate@QScriptValue@@QBE_NXZ @ 312 NONAME ; bool QScriptValue::isDate(void) const
+ ??4QScriptValueIterator@@QAEAAV0@AAVQScriptValue@@@Z @ 313 NONAME ; class QScriptValueIterator & QScriptValueIterator::operator=(class QScriptValue &)
+ ?contextPush@QScriptEngineAgent@@UAEXXZ @ 314 NONAME ; void QScriptEngineAgent::contextPush(void)
+ ??0QScriptValue@@QAE@PAVQScriptEngine@@H@Z @ 315 NONAME ; QScriptValue::QScriptValue(class QScriptEngine *, int)
+ ?importExtension@QScriptEngine@@QAE?AVQScriptValue@@ABVQString@@@Z @ 316 NONAME ; class QScriptValue QScriptEngine::importExtension(class QString const &)
+ ??0QScriptValue@@QAE@PAVQScriptEngine@@ABVQString@@@Z @ 317 NONAME ; QScriptValue::QScriptValue(class QScriptEngine *, class QString const &)
+ ?newActivationObject@QScriptEngine@@QAE?AVQScriptValue@@XZ @ 318 NONAME ; class QScriptValue QScriptEngine::newActivationObject(void)
+ ?d_func@QScriptValueIterator@@ABEPBVQScriptValueIteratorPrivate@@XZ @ 319 NONAME ; class QScriptValueIteratorPrivate const * QScriptValueIterator::d_func(void) const
+ ?d_func@QScriptContextInfo@@ABEPBVQScriptContextInfoPrivate@@XZ @ 320 NONAME ; class QScriptContextInfoPrivate const * QScriptContextInfo::d_func(void) const
+ ?functionEntry@QScriptEngineAgent@@UAEX_J@Z @ 321 NONAME ; void QScriptEngineAgent::functionEntry(long long)
+ ?strictlyEquals@QScriptValue@@QBE_NABV1@@Z @ 322 NONAME ; bool QScriptValue::strictlyEquals(class QScriptValue const &) const
+ ?d_func@QScriptable@@ABEPBVQScriptablePrivate@@XZ @ 323 NONAME ; class QScriptablePrivate const * QScriptable::d_func(void) const
+ ?objectId@QScriptValue@@QBE_JXZ @ 324 NONAME ; long long QScriptValue::objectId(void) const
+ ??0QScriptExtensionPlugin@@QAE@PAVQObject@@@Z @ 325 NONAME ; QScriptExtensionPlugin::QScriptExtensionPlugin(class QObject *)
+ ?d_func@QScriptSyntaxCheckResult@@ABEPBVQScriptSyntaxCheckResultPrivate@@XZ @ 326 NONAME ; class QScriptSyntaxCheckResultPrivate const * QScriptSyntaxCheckResult::d_func(void) const
+ ?functionMetaIndex@QScriptContextInfo@@QBEHXZ @ 327 NONAME ; int QScriptContextInfo::functionMetaIndex(void) const
+ ?columnNumber@QScriptContextInfo@@QBEHXZ @ 328 NONAME ; int QScriptContextInfo::columnNumber(void) const
+ ??0QScriptValue@@QAE@_N@Z @ 329 NONAME ; QScriptValue::QScriptValue(bool)
+ ??0QScriptProgram@@QAE@ABV0@@Z @ 330 NONAME ; QScriptProgram::QScriptProgram(class QScriptProgram const &)
+ ??0QScriptProgram@@QAE@ABVQString@@V1@H@Z @ 331 NONAME ; QScriptProgram::QScriptProgram(class QString const &, class QString, int)
+ ??0QScriptProgram@@QAE@XZ @ 332 NONAME ; QScriptProgram::QScriptProgram(void)
+ ??1QScriptProgram@@QAE@XZ @ 333 NONAME ; QScriptProgram::~QScriptProgram(void)
+ ??4QScriptProgram@@QAEAAV0@ABV0@@Z @ 334 NONAME ; class QScriptProgram & QScriptProgram::operator=(class QScriptProgram const &)
+ ??8QScriptProgram@@QBE_NABV0@@Z @ 335 NONAME ; bool QScriptProgram::operator==(class QScriptProgram const &) const
+ ??9QScriptProgram@@QBE_NABV0@@Z @ 336 NONAME ; bool QScriptProgram::operator!=(class QScriptProgram const &) const
+ ?d_func@QScriptProgram@@AAEPAVQScriptProgramPrivate@@XZ @ 337 NONAME ; class QScriptProgramPrivate * QScriptProgram::d_func(void)
+ ?d_func@QScriptProgram@@ABEPBVQScriptProgramPrivate@@XZ @ 338 NONAME ; class QScriptProgramPrivate const * QScriptProgram::d_func(void) const
+ ?evaluate@QScriptEngine@@QAE?AVQScriptValue@@ABVQScriptProgram@@@Z @ 339 NONAME ; class QScriptValue QScriptEngine::evaluate(class QScriptProgram const &)
+ ?fileName@QScriptProgram@@QBE?AVQString@@XZ @ 340 NONAME ; class QString QScriptProgram::fileName(void) const
+ ?firstLineNumber@QScriptProgram@@QBEHXZ @ 341 NONAME ; int QScriptProgram::firstLineNumber(void) const
+ ?isNull@QScriptProgram@@QBE_NXZ @ 342 NONAME ; bool QScriptProgram::isNull(void) const
+ ?sourceCode@QScriptProgram@@QBE?AVQString@@XZ @ 343 NONAME ; class QString QScriptProgram::sourceCode(void) const
+ ?toArrayIndex@QScriptString@@QBEIPA_N@Z @ 344 NONAME ; unsigned int QScriptString::toArrayIndex(bool *) const
+
diff --git a/src/s60installs/bwins/QtSqlu.def b/src/s60installs/bwins/QtSqlu.def
new file mode 100644
index 0000000..5f76a6f
--- /dev/null
+++ b/src/s60installs/bwins/QtSqlu.def
@@ -0,0 +1,464 @@
+EXPORTS
+ ?setName@QSqlField@@QAEXABVQString@@@Z @ 1 NONAME ; void QSqlField::setName(class QString const &)
+ ?qt_metacall@QSqlQueryModel@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 2 NONAME ; int QSqlQueryModel::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?isDescending@QSqlIndex@@QBE_NH@Z @ 3 NONAME ; bool QSqlIndex::isDescending(int) const
+ ?staticMetaObject@QSqlQueryModel@@2UQMetaObject@@B @ 4 NONAME ; struct QMetaObject const QSqlQueryModel::staticMetaObject
+ ?isOpen@QSqlDriver@@UBE_NXZ @ 5 NONAME ; bool QSqlDriver::isOpen(void) const
+ ?unsubscribeFromNotificationImplementation@QSqlDriver@@IAE_NABVQString@@@Z @ 6 NONAME ; bool QSqlDriver::unsubscribeFromNotificationImplementation(class QString const &)
+ ?fetchNext@QSqlCachedResult@@MAE_NXZ @ 7 NONAME ; bool QSqlCachedResult::fetchNext(void)
+ ?close@QSQLiteDriver@@UAEXXZ @ 8 NONAME ; void QSQLiteDriver::close(void)
+ ??0QSqlTableModel@@IAE@AAVQSqlTableModelPrivate@@PAVQObject@@VQSqlDatabase@@@Z @ 9 NONAME ; QSqlTableModel::QSqlTableModel(class QSqlTableModelPrivate &, class QObject *, class QSqlDatabase)
+ ?setData@QSqlTableModel@@UAE_NABVQModelIndex@@ABVQVariant@@H@Z @ 10 NONAME ; bool QSqlTableModel::setData(class QModelIndex const &, class QVariant const &, int)
+ ?defaultValue@QSqlField@@QBE?AVQVariant@@XZ @ 11 NONAME ; class QVariant QSqlField::defaultValue(void) const
+ ?open@QSqlDatabase@@QAE_NABVQString@@0@Z @ 12 NONAME ; bool QSqlDatabase::open(class QString const &, class QString const &)
+ ?numericalPrecisionPolicy@QSqlDatabase@@QBE?AW4NumericalPrecisionPolicy@QSql@@XZ @ 13 NONAME ; enum QSql::NumericalPrecisionPolicy QSqlDatabase::numericalPrecisionPolicy(void) const
+ ?indexOf@QSqlRecord@@QBEHABVQString@@@Z @ 14 NONAME ; int QSqlRecord::indexOf(class QString const &) const
+ ??0QSqlDatabase@@IAE@PAVQSqlDriver@@@Z @ 15 NONAME ; QSqlDatabase::QSqlDatabase(class QSqlDriver *)
+ ?isGenerated@QSqlField@@QBE_NXZ @ 16 NONAME ; bool QSqlField::isGenerated(void) const
+ ?subscribedToNotifications@QSqlDriver@@QBE?AVQStringList@@XZ @ 17 NONAME ; class QStringList QSqlDriver::subscribedToNotifications(void) const
+ ?size@QSqlQuery@@QBEHXZ @ 18 NONAME ; int QSqlQuery::size(void) const
+ ?exec@QSqlQuery@@QAE_NABVQString@@@Z @ 19 NONAME ; bool QSqlQuery::exec(class QString const &)
+ ?selectStatement@QSqlRelationalTableModel@@MBE?AVQString@@XZ @ 20 NONAME ; class QString QSqlRelationalTableModel::selectStatement(void) const
+ ??1QSqlError@@QAE@XZ @ 21 NONAME ; QSqlError::~QSqlError(void)
+ ??1QSqlDriverPlugin@@UAE@XZ @ 22 NONAME ; QSqlDriverPlugin::~QSqlDriverPlugin(void)
+ ?transaction@QSqlDatabase@@QAE_NXZ @ 23 NONAME ; bool QSqlDatabase::transaction(void)
+ ?tableName@QSqlRelation@@QBE?AVQString@@XZ @ 24 NONAME ; class QString QSqlRelation::tableName(void) const
+ ?clear@QSqlQueryModel@@UAEXXZ @ 25 NONAME ; void QSqlQueryModel::clear(void)
+ ?staticMetaObject@QSqlDriverPlugin@@2UQMetaObject@@B @ 26 NONAME ; struct QMetaObject const QSqlDriverPlugin::staticMetaObject
+ ?virtual_hook@QSqlResult@@MAEXHPAX@Z @ 27 NONAME ; void QSqlResult::virtual_hook(int, void *)
+ ?revertAll@QSqlTableModel@@QAEXXZ @ 28 NONAME ; void QSqlTableModel::revertAll(void)
+ ?d_func@QSqlDriver@@AAEPAVQSqlDriverPrivate@@XZ @ 29 NONAME ; class QSqlDriverPrivate * QSqlDriver::d_func(void)
+ ?primaryKey@QSqlTableModel@@QBE?AVQSqlIndex@@XZ @ 30 NONAME ; class QSqlIndex QSqlTableModel::primaryKey(void) const
+ ?numRowsAffected@QSqlQuery@@QBEHXZ @ 31 NONAME ; int QSqlQuery::numRowsAffected(void) const
+ ?database@QSqlTableModel@@QBE?AVQSqlDatabase@@XZ @ 32 NONAME ; class QSqlDatabase QSqlTableModel::database(void) const
+ ?beginTransaction@QSqlDriver@@UAE_NXZ @ 33 NONAME ; bool QSqlDriver::beginTransaction(void)
+ ??0QSqlResult@@IAE@PBVQSqlDriver@@@Z @ 34 NONAME ; QSqlResult::QSqlResult(class QSqlDriver const *)
+ ??4QSqlField@@QAEAAV0@ABV0@@Z @ 35 NONAME ; class QSqlField & QSqlField::operator=(class QSqlField const &)
+ ??0QSqlDatabase@@QAE@XZ @ 36 NONAME ; QSqlDatabase::QSqlDatabase(void)
+ ?indexInQuery@QSqlQueryModel@@IBE?AVQModelIndex@@ABV2@@Z @ 37 NONAME ; class QModelIndex QSqlQueryModel::indexInQuery(class QModelIndex const &) const
+ ?data@QSqlTableModel@@UBE?AVQVariant@@ABVQModelIndex@@H@Z @ 38 NONAME ; class QVariant QSqlTableModel::data(class QModelIndex const &, int) const
+ ?value@QSqlField@@QBE?AVQVariant@@XZ @ 39 NONAME ; class QVariant QSqlField::value(void) const
+ ?metaObject@QSqlDriver@@UBEPBUQMetaObject@@XZ @ 40 NONAME ; struct QMetaObject const * QSqlDriver::metaObject(void) const
+ ?driver@QSqlResult@@IBEPBVQSqlDriver@@XZ @ 41 NONAME ; class QSqlDriver const * QSqlResult::driver(void) const
+ ?setHostName@QSqlDatabase@@QAEXABVQString@@@Z @ 42 NONAME ; void QSqlDatabase::setHostName(class QString const &)
+ ?prepare@QSqlQuery@@QAE_NABVQString@@@Z @ 43 NONAME ; bool QSqlQuery::prepare(class QString const &)
+ ?connectionName@QSqlDatabase@@QBE?AVQString@@XZ @ 44 NONAME ; class QString QSqlDatabase::connectionName(void) const
+ ?exec@QSqlQuery@@QAE_NXZ @ 45 NONAME ; bool QSqlQuery::exec(void)
+ ?trUtf8@QSQLiteDriver@@SA?AVQString@@PBD0@Z @ 46 NONAME ; class QString QSQLiteDriver::trUtf8(char const *, char const *)
+ ?setPassword@QSqlDatabase@@QAEXABVQString@@@Z @ 47 NONAME ; void QSqlDatabase::setPassword(class QString const &)
+ ?qt_metacast@QSqlQueryModel@@UAEPAXPBD@Z @ 48 NONAME ; void * QSqlQueryModel::qt_metacast(char const *)
+ ?boundValues@QSqlQuery@@QBE?AV?$QMap@VQString@@VQVariant@@@@XZ @ 49 NONAME ; class QMap<class QString, class QVariant> QSqlQuery::boundValues(void) const
+ ?primaryIndex@QSqlDriver@@UBE?AVQSqlIndex@@ABVQString@@@Z @ 50 NONAME ; class QSqlIndex QSqlDriver::primaryIndex(class QString const &) const
+ ?drivers@QSqlDatabase@@SA?AVQStringList@@XZ @ 51 NONAME ; class QStringList QSqlDatabase::drivers(void)
+ ?commit@QSqlDatabase@@QAE_NXZ @ 52 NONAME ; bool QSqlDatabase::commit(void)
+ ??1QSqlQueryModel@@UAE@XZ @ 53 NONAME ; QSqlQueryModel::~QSqlQueryModel(void)
+ ?setRequired@QSqlField@@QAEX_N@Z @ 54 NONAME ; void QSqlField::setRequired(bool)
+ ?colCount@QSqlCachedResult@@IBEHXZ @ 55 NONAME ; int QSqlCachedResult::colCount(void) const
+ ?bindValue@QSqlResult@@MAEXHABVQVariant@@V?$QFlags@W4ParamTypeFlag@QSql@@@@@Z @ 56 NONAME ; void QSqlResult::bindValue(int, class QVariant const &, class QFlags<enum QSql::ParamTypeFlag>)
+ ?insert@QSqlRecord@@QAEXHABVQSqlField@@@Z @ 57 NONAME ; void QSqlRecord::insert(int, class QSqlField const &)
+ ??4QSqlDatabase@@QAEAAV0@ABV0@@Z @ 58 NONAME ; class QSqlDatabase & QSqlDatabase::operator=(class QSqlDatabase const &)
+ ?setGenerated@QSqlRecord@@QAEXH_N@Z @ 59 NONAME ; void QSqlRecord::setGenerated(int, bool)
+ ?isValid@QSqlError@@QBE_NXZ @ 60 NONAME ; bool QSqlError::isValid(void) const
+ ?boundValues@QSqlResult@@IBEAAV?$QVector@VQVariant@@@@XZ @ 61 NONAME ; class QVector<class QVariant> & QSqlResult::boundValues(void) const
+ ??1QSqlRelationalTableModel@@UAE@XZ @ 62 NONAME ; QSqlRelationalTableModel::~QSqlRelationalTableModel(void)
+ ?insertRowIntoTable@QSqlTableModel@@MAE_NABVQSqlRecord@@@Z @ 63 NONAME ; bool QSqlTableModel::insertRowIntoTable(class QSqlRecord const &)
+ ?staticMetaObject@QSQLiteDriver@@2UQMetaObject@@B @ 64 NONAME ; struct QMetaObject const QSQLiteDriver::staticMetaObject
+ ?qt_metacast@QSqlDriver@@UAEPAXPBD@Z @ 65 NONAME ; void * QSqlDriver::qt_metacast(char const *)
+ ?name@QSqlField@@QBE?AVQString@@XZ @ 66 NONAME ; class QString QSqlField::name(void) const
+ ??1QSqlResult@@UAE@XZ @ 67 NONAME ; QSqlResult::~QSqlResult(void)
+ ??4QSqlRecord@@QAEAAV0@ABV0@@Z @ 68 NONAME ; class QSqlRecord & QSqlRecord::operator=(class QSqlRecord const &)
+ ?setForwardOnly@QSqlResult@@MAEX_N@Z @ 69 NONAME ; void QSqlResult::setForwardOnly(bool)
+ ?select@QSqlRelationalTableModel@@UAE_NXZ @ 70 NONAME ; bool QSqlRelationalTableModel::select(void)
+ ?lastError@QSqlQueryModel@@QBE?AVQSqlError@@XZ @ 71 NONAME ; class QSqlError QSqlQueryModel::lastError(void) const
+ ?isReadOnly@QSqlField@@QBE_NXZ @ 72 NONAME ; bool QSqlField::isReadOnly(void) const
+ ?setNumericalPrecisionPolicy@QSqlDriver@@QAEXW4NumericalPrecisionPolicy@QSql@@@Z @ 73 NONAME ; void QSqlDriver::setNumericalPrecisionPolicy(enum QSql::NumericalPrecisionPolicy)
+ ?setEditStrategy@QSqlTableModel@@UAEXW4EditStrategy@1@@Z @ 74 NONAME ; void QSqlTableModel::setEditStrategy(enum QSqlTableModel::EditStrategy)
+ ?displayColumn@QSqlRelation@@QBE?AVQString@@XZ @ 75 NONAME ; class QString QSqlRelation::displayColumn(void) const
+ ?canFetchMore@QSqlQueryModel@@UBE_NABVQModelIndex@@@Z @ 76 NONAME ; bool QSqlQueryModel::canFetchMore(class QModelIndex const &) const
+ ?result@QSqlQuery@@QBEPBVQSqlResult@@XZ @ 77 NONAME ; class QSqlResult const * QSqlQuery::result(void) const
+ ?tableName@QSqlTableModel@@QBE?AVQString@@XZ @ 78 NONAME ; class QString QSqlTableModel::tableName(void) const
+ ?isIdentifierEscaped@QSqlDriver@@QBE_NABVQString@@W4IdentifierType@1@@Z @ 79 NONAME ; bool QSqlDriver::isIdentifierEscaped(class QString const &, enum QSqlDriver::IdentifierType) const
+ ?at@QSqlResult@@IBEHXZ @ 80 NONAME ; int QSqlResult::at(void) const
+ ??_EQSqlDriverFactoryInterface@@UAE@I@Z @ 81 NONAME ; QSqlDriverFactoryInterface::~QSqlDriverFactoryInterface(unsigned int)
+ ?nextResult@QSqlResult@@IAE_NXZ @ 82 NONAME ; bool QSqlResult::nextResult(void)
+ ?isNull@QSqlQuery@@QBE_NH@Z @ 83 NONAME ; bool QSqlQuery::isNull(int) const
+ ?field@QSqlRecord@@QBE?AVQSqlField@@H@Z @ 84 NONAME ; class QSqlField QSqlRecord::field(int) const
+ ??6@YA?AVQDebug@@V0@ABVQSqlField@@@Z @ 85 NONAME ; class QDebug operator<<(class QDebug, class QSqlField const &)
+ ?subscribeToNotification@QSqlDriver@@QAE_NABVQString@@@Z @ 86 NONAME ; bool QSqlDriver::subscribeToNotification(class QString const &)
+ ?escapeIdentifier@QSQLiteDriver@@UBE?AVQString@@ABV2@W4IdentifierType@QSqlDriver@@@Z @ 87 NONAME ; class QString QSQLiteDriver::escapeIdentifier(class QString const &, enum QSqlDriver::IdentifierType) const
+ ?qt_metacast@QSQLiteDriver@@UAEPAXPBD@Z @ 88 NONAME ; void * QSQLiteDriver::qt_metacast(char const *)
+ ??6@YA?AVQDebug@@V0@ABVQSqlRecord@@@Z @ 89 NONAME ; class QDebug operator<<(class QDebug, class QSqlRecord const &)
+ ??_EQSQLiteDriver@@UAE@I@Z @ 90 NONAME ; QSQLiteDriver::~QSQLiteDriver(unsigned int)
+ ?trUtf8@QSqlTableModel@@SA?AVQString@@PBD0@Z @ 91 NONAME ; class QString QSqlTableModel::trUtf8(char const *, char const *)
+ ?setValue@QSqlRecord@@QAEXABVQString@@ABVQVariant@@@Z @ 92 NONAME ; void QSqlRecord::setValue(class QString const &, class QVariant const &)
+ ??0QSqlRecord@@QAE@XZ @ 93 NONAME ; QSqlRecord::QSqlRecord(void)
+ ?rowCount@QSqlTableModel@@UBEHABVQModelIndex@@@Z @ 94 NONAME ; int QSqlTableModel::rowCount(class QModelIndex const &) const
+ ?notification@QSqlDriver@@IAEXABVQString@@@Z @ 95 NONAME ; void QSqlDriver::notification(class QString const &)
+ ?flags@QSqlTableModel@@UBE?AV?$QFlags@W4ItemFlag@Qt@@@@ABVQModelIndex@@@Z @ 96 NONAME ; class QFlags<enum Qt::ItemFlag> QSqlTableModel::flags(class QModelIndex const &) const
+ ?setQuery@QSqlTableModel@@IAEXABVQSqlQuery@@@Z @ 97 NONAME ; void QSqlTableModel::setQuery(class QSqlQuery const &)
+ ?qt_metacast@QSqlRelationalTableModel@@UAEPAXPBD@Z @ 98 NONAME ; void * QSqlRelationalTableModel::qt_metacast(char const *)
+ ?getStaticMetaObject@QSqlTableModel@@SAABUQMetaObject@@XZ @ 99 NONAME ; struct QMetaObject const & QSqlTableModel::getStaticMetaObject(void)
+ ?isNull@QSqlRecord@@QBE_NABVQString@@@Z @ 100 NONAME ; bool QSqlRecord::isNull(class QString const &) const
+ ??_EQSqlCachedResult@@UAE@I@Z @ 101 NONAME ; QSqlCachedResult::~QSqlCachedResult(unsigned int)
+ ?metaObject@QSqlQueryModel@@UBEPBUQMetaObject@@XZ @ 102 NONAME ; struct QMetaObject const * QSqlQueryModel::metaObject(void) const
+ ?hasOutValues@QSqlResult@@IBE_NXZ @ 103 NONAME ; bool QSqlResult::hasOutValues(void) const
+ ?commitTransaction@QSQLiteDriver@@UAE_NXZ @ 104 NONAME ; bool QSQLiteDriver::commitTransaction(void)
+ ?editStrategy@QSqlTableModel@@QBE?AW4EditStrategy@1@XZ @ 105 NONAME ; enum QSqlTableModel::EditStrategy QSqlTableModel::editStrategy(void) const
+ ?headerData@QSqlTableModel@@UBE?AVQVariant@@HW4Orientation@Qt@@H@Z @ 106 NONAME ; class QVariant QSqlTableModel::headerData(int, enum Qt::Orientation, int) const
+ ?tables@QSQLiteDriver@@UBE?AVQStringList@@W4TableType@QSql@@@Z @ 107 NONAME ; class QStringList QSQLiteDriver::tables(enum QSql::TableType) const
+ ?bindValue@QSqlQuery@@QAEXHABVQVariant@@V?$QFlags@W4ParamTypeFlag@QSql@@@@@Z @ 108 NONAME ; void QSqlQuery::bindValue(int, class QVariant const &, class QFlags<enum QSql::ParamTypeFlag>)
+ ?setUserName@QSqlDatabase@@QAEXABVQString@@@Z @ 109 NONAME ; void QSqlDatabase::setUserName(class QString const &)
+ ?isForwardOnly@QSqlQuery@@QBE_NXZ @ 110 NONAME ; bool QSqlQuery::isForwardOnly(void) const
+ ?sort@QSqlTableModel@@UAEXHW4SortOrder@Qt@@@Z @ 111 NONAME ; void QSqlTableModel::sort(int, enum Qt::SortOrder)
+ ?qt_metacall@QSqlDriver@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 112 NONAME ; int QSqlDriver::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?metaObject@QSqlDriverPlugin@@UBEPBUQMetaObject@@XZ @ 113 NONAME ; struct QMetaObject const * QSqlDriverPlugin::metaObject(void) const
+ ?isActive@QSqlResult@@IBE_NXZ @ 114 NONAME ; bool QSqlResult::isActive(void) const
+ ?d_func@QSqlQueryModel@@ABEPBVQSqlQueryModelPrivate@@XZ @ 115 NONAME ; class QSqlQueryModelPrivate const * QSqlQueryModel::d_func(void) const
+ ?numericalPrecisionPolicy@QSqlQuery@@QBE?AW4NumericalPrecisionPolicy@QSql@@XZ @ 116 NONAME ; enum QSql::NumericalPrecisionPolicy QSqlQuery::numericalPrecisionPolicy(void) const
+ ?executedQuery@QSqlQuery@@QBE?AVQString@@XZ @ 117 NONAME ; class QString QSqlQuery::executedQuery(void) const
+ ?boundValue@QSqlQuery@@QBE?AVQVariant@@ABVQString@@@Z @ 118 NONAME ; class QVariant QSqlQuery::boundValue(class QString const &) const
+ ??_EQSqlDriverPlugin@@UAE@I@Z @ 119 NONAME ; QSqlDriverPlugin::~QSqlDriverPlugin(unsigned int)
+ ?setForwardOnly@QSqlQuery@@QAEX_N@Z @ 120 NONAME ; void QSqlQuery::setForwardOnly(bool)
+ ??1QSqlDatabase@@QAE@XZ @ 121 NONAME ; QSqlDatabase::~QSqlDatabase(void)
+ ??0QSqlDriver@@QAE@PAVQObject@@@Z @ 122 NONAME ; QSqlDriver::QSqlDriver(class QObject *)
+ ?cache@QSqlCachedResult@@IAEAAV?$QVector@VQVariant@@@@XZ @ 123 NONAME ; class QVector<class QVariant> & QSqlCachedResult::cache(void)
+ ?data@QSqlQueryModel@@UBE?AVQVariant@@ABVQModelIndex@@H@Z @ 124 NONAME ; class QVariant QSqlQueryModel::data(class QModelIndex const &, int) const
+ ?isOpen@QSqlDatabase@@QBE_NXZ @ 125 NONAME ; bool QSqlDatabase::isOpen(void) const
+ ??4QSqlQuery@@QAEAAV0@ABV0@@Z @ 126 NONAME ; class QSqlQuery & QSqlQuery::operator=(class QSqlQuery const &)
+ ?addBindValue@QSqlResult@@IAEXABVQVariant@@V?$QFlags@W4ParamTypeFlag@QSql@@@@@Z @ 127 NONAME ; void QSqlResult::addBindValue(class QVariant const &, class QFlags<enum QSql::ParamTypeFlag>)
+ ?hasFeature@QSQLiteDriver@@UBE_NW4DriverFeature@QSqlDriver@@@Z @ 128 NONAME ; bool QSQLiteDriver::hasFeature(enum QSqlDriver::DriverFeature) const
+ ?handle@QSQLiteDriver@@UBE?AVQVariant@@XZ @ 129 NONAME ; class QVariant QSQLiteDriver::handle(void) const
+ ?getStaticMetaObject@QSqlDriver@@SAABUQMetaObject@@XZ @ 130 NONAME ; struct QMetaObject const & QSqlDriver::getStaticMetaObject(void)
+ ?boundValue@QSqlResult@@IBE?AVQVariant@@ABVQString@@@Z @ 131 NONAME ; class QVariant QSqlResult::boundValue(class QString const &) const
+ ?setRelation@QSqlRelationalTableModel@@UAEXHABVQSqlRelation@@@Z @ 132 NONAME ; void QSqlRelationalTableModel::setRelation(int, class QSqlRelation const &)
+ ??_EQSqlTableModel@@UAE@I@Z @ 133 NONAME ; QSqlTableModel::~QSqlTableModel(unsigned int)
+ ?setSelect@QSqlResult@@MAEX_N@Z @ 134 NONAME ; void QSqlResult::setSelect(bool)
+ ?queryChange@QSqlQueryModel@@MAEXXZ @ 135 NONAME ; void QSqlQueryModel::queryChange(void)
+ ?requiredStatus@QSqlField@@QBE?AW4RequiredStatus@1@XZ @ 136 NONAME ; enum QSqlField::RequiredStatus QSqlField::requiredStatus(void) const
+ ??0QSqlQueryModel@@QAE@PAVQObject@@@Z @ 137 NONAME ; QSqlQueryModel::QSqlQueryModel(class QObject *)
+ ?tables@QSqlDriver@@UBE?AVQStringList@@W4TableType@QSql@@@Z @ 138 NONAME ; class QStringList QSqlDriver::tables(enum QSql::TableType) const
+ ?indexColumn@QSqlRelation@@QBE?AVQString@@XZ @ 139 NONAME ; class QString QSqlRelation::indexColumn(void) const
+ ?data@QSqlRelationalTableModel@@UBE?AVQVariant@@ABVQModelIndex@@H@Z @ 140 NONAME ; class QVariant QSqlRelationalTableModel::data(class QModelIndex const &, int) const
+ ?d_func@QSqlDriver@@ABEPBVQSqlDriverPrivate@@XZ @ 141 NONAME ; class QSqlDriverPrivate const * QSqlDriver::d_func(void) const
+ ?fetchNext@QSqlResult@@MAE_NXZ @ 142 NONAME ; bool QSqlResult::fetchNext(void)
+ ??_EQSqlResult@@UAE@I@Z @ 143 NONAME ; QSqlResult::~QSqlResult(unsigned int)
+ ?clearValues@QSqlCachedResult@@IAEXXZ @ 144 NONAME ; void QSqlCachedResult::clearValues(void)
+ ?type@QSqlField@@QBE?AW4Type@QVariant@@XZ @ 145 NONAME ; enum QVariant::Type QSqlField::type(void) const
+ ?beforeUpdate@QSqlTableModel@@IAEXHAAVQSqlRecord@@@Z @ 146 NONAME ; void QSqlTableModel::beforeUpdate(int, class QSqlRecord &)
+ ?value@QSqlRecord@@QBE?AVQVariant@@H@Z @ 147 NONAME ; class QVariant QSqlRecord::value(int) const
+ ?trUtf8@QSqlDriverPlugin@@SA?AVQString@@PBD0@Z @ 148 NONAME ; class QString QSqlDriverPlugin::trUtf8(char const *, char const *)
+ ?driverText@QSqlError@@QBE?AVQString@@XZ @ 149 NONAME ; class QString QSqlError::driverText(void) const
+ ?detachFromResultSet@QSqlResult@@IAEXXZ @ 150 NONAME ; void QSqlResult::detachFromResultSet(void)
+ ?isSelect@QSqlQuery@@QBE_NXZ @ 151 NONAME ; bool QSqlQuery::isSelect(void) const
+ ?databaseName@QSqlDatabase@@QBE?AVQString@@XZ @ 152 NONAME ; class QString QSqlDatabase::databaseName(void) const
+ ?handle@QSqlDriver@@UBE?AVQVariant@@XZ @ 153 NONAME ; class QVariant QSqlDriver::handle(void) const
+ ??4QSqlIndex@@QAEAAV0@ABV0@@Z @ 154 NONAME ; class QSqlIndex & QSqlIndex::operator=(class QSqlIndex const &)
+ ?clear@QSqlField@@QAEXXZ @ 155 NONAME ; void QSqlField::clear(void)
+ ?tr@QSqlRelationalTableModel@@SA?AVQString@@PBD0@Z @ 156 NONAME ; class QString QSqlRelationalTableModel::tr(char const *, char const *)
+ ?selectStatement@QSqlTableModel@@MBE?AVQString@@XZ @ 157 NONAME ; class QString QSqlTableModel::selectStatement(void) const
+ ?setLastError@QSqlDriver@@MAEXABVQSqlError@@@Z @ 158 NONAME ; void QSqlDriver::setLastError(class QSqlError const &)
+ ?qt_metacast@QSqlDriverPlugin@@UAEPAXPBD@Z @ 159 NONAME ; void * QSqlDriverPlugin::qt_metacast(char const *)
+ ?setData@QSqlRelationalTableModel@@UAE_NABVQModelIndex@@ABVQVariant@@H@Z @ 160 NONAME ; bool QSqlRelationalTableModel::setData(class QModelIndex const &, class QVariant const &, int)
+ ?formatValue@QSqlDriver@@UBE?AVQString@@ABVQSqlField@@_N@Z @ 161 NONAME ; class QString QSqlDriver::formatValue(class QSqlField const &, bool) const
+ ?addDatabase@QSqlDatabase@@SA?AV1@ABVQString@@0@Z @ 162 NONAME ; class QSqlDatabase QSqlDatabase::addDatabase(class QString const &, class QString const &)
+ ?removeColumns@QSqlTableModel@@UAE_NHHABVQModelIndex@@@Z @ 163 NONAME ; bool QSqlTableModel::removeColumns(int, int, class QModelIndex const &)
+ ?setLastError@QSqlQueryModel@@IAEXABVQSqlError@@@Z @ 164 NONAME ; void QSqlQueryModel::setLastError(class QSqlError const &)
+ ?field@QSqlRecord@@QBE?AVQSqlField@@ABVQString@@@Z @ 165 NONAME ; class QSqlField QSqlRecord::field(class QString const &) const
+ ?addBindValue@QSqlQuery@@QAEXABVQVariant@@V?$QFlags@W4ParamTypeFlag@QSql@@@@@Z @ 166 NONAME ; void QSqlQuery::addBindValue(class QVariant const &, class QFlags<enum QSql::ParamTypeFlag>)
+ ?count@QSqlRecord@@QBEHXZ @ 167 NONAME ; int QSqlRecord::count(void) const
+ ??0QSqlRecord@@QAE@ABV0@@Z @ 168 NONAME ; QSqlRecord::QSqlRecord(class QSqlRecord const &)
+ ?setNumericalPrecisionPolicy@QSqlDatabase@@QAEXW4NumericalPrecisionPolicy@QSql@@@Z @ 169 NONAME ; void QSqlDatabase::setNumericalPrecisionPolicy(enum QSql::NumericalPrecisionPolicy)
+ ?setGenerated@QSqlRecord@@QAEXABVQString@@_N@Z @ 170 NONAME ; void QSqlRecord::setGenerated(class QString const &, bool)
+ ?setPrimaryKey@QSqlTableModel@@IAEXABVQSqlIndex@@@Z @ 171 NONAME ; void QSqlTableModel::setPrimaryKey(class QSqlIndex const &)
+ ?addDatabase@QSqlDatabase@@SA?AV1@PAVQSqlDriver@@ABVQString@@@Z @ 172 NONAME ; class QSqlDatabase QSqlDatabase::addDatabase(class QSqlDriver *, class QString const &)
+ ??0QSqlError@@QAE@ABVQString@@0W4ErrorType@0@H@Z @ 173 NONAME ; QSqlError::QSqlError(class QString const &, class QString const &, enum QSqlError::ErrorType, int)
+ ??1QSQLiteDriver@@UAE@XZ @ 174 NONAME ; QSQLiteDriver::~QSQLiteDriver(void)
+ ?beforeInsert@QSqlTableModel@@IAEXAAVQSqlRecord@@@Z @ 175 NONAME ; void QSqlTableModel::beforeInsert(class QSqlRecord &)
+ ?setGenerated@QSqlField@@QAEX_N@Z @ 176 NONAME ; void QSqlField::setGenerated(bool)
+ ?revertRow@QSqlRelationalTableModel@@UAEXH@Z @ 177 NONAME ; void QSqlRelationalTableModel::revertRow(int)
+ ?next@QSqlQuery@@QAE_NXZ @ 178 NONAME ; bool QSqlQuery::next(void)
+ ?trUtf8@QSqlQueryModel@@SA?AVQString@@PBD0@Z @ 179 NONAME ; class QString QSqlQueryModel::trUtf8(char const *, char const *)
+ ?replace@QSqlRecord@@QAEXHABVQSqlField@@@Z @ 180 NONAME ; void QSqlRecord::replace(int, class QSqlField const &)
+ ?append@QSqlRecord@@QAEXABVQSqlField@@@Z @ 181 NONAME ; void QSqlRecord::append(class QSqlField const &)
+ ?trUtf8@QSqlRelationalTableModel@@SA?AVQString@@PBD0H@Z @ 182 NONAME ; class QString QSqlRelationalTableModel::trUtf8(char const *, char const *, int)
+ ?setRecord@QSqlTableModel@@QAE_NHABVQSqlRecord@@@Z @ 183 NONAME ; bool QSqlTableModel::setRecord(int, class QSqlRecord const &)
+ ?setOpen@QSqlDriver@@MAEX_N@Z @ 184 NONAME ; void QSqlDriver::setOpen(bool)
+ ?registerSqlDriver@QSqlDatabase@@SAXABVQString@@PAVQSqlDriverCreatorBase@@@Z @ 185 NONAME ; void QSqlDatabase::registerSqlDriver(class QString const &, class QSqlDriverCreatorBase *)
+ ?isAutoValue@QSqlField@@QBE_NXZ @ 186 NONAME ; bool QSqlField::isAutoValue(void) const
+ ?clear@QSqlResult@@IAEXXZ @ 187 NONAME ; void QSqlResult::clear(void)
+ ?setActive@QSqlResult@@MAEX_N@Z @ 188 NONAME ; void QSqlResult::setActive(bool)
+ ?fieldIndex@QSqlTableModel@@QBEHABVQString@@@Z @ 189 NONAME ; int QSqlTableModel::fieldIndex(class QString const &) const
+ ?tr@QSqlDriver@@SA?AVQString@@PBD0@Z @ 190 NONAME ; class QString QSqlDriver::tr(char const *, char const *)
+ ?tr@QSQLiteDriver@@SA?AVQString@@PBD0H@Z @ 191 NONAME ; class QString QSQLiteDriver::tr(char const *, char const *, int)
+ ?trUtf8@QSqlQueryModel@@SA?AVQString@@PBD0H@Z @ 192 NONAME ; class QString QSqlQueryModel::trUtf8(char const *, char const *, int)
+ ??0QSqlDatabase@@QAE@ABV0@@Z @ 193 NONAME ; QSqlDatabase::QSqlDatabase(class QSqlDatabase const &)
+ ?isOpenError@QSqlDriver@@QBE_NXZ @ 194 NONAME ; bool QSqlDriver::isOpenError(void) const
+ ?isForwardOnly@QSqlResult@@IBE_NXZ @ 195 NONAME ; bool QSqlResult::isForwardOnly(void) const
+ ?updateRowInTable@QSqlRelationalTableModel@@MAE_NHABVQSqlRecord@@@Z @ 196 NONAME ; bool QSqlRelationalTableModel::updateRowInTable(int, class QSqlRecord const &)
+ ?tr@QSqlQueryModel@@SA?AVQString@@PBD0H@Z @ 197 NONAME ; class QString QSqlQueryModel::tr(char const *, char const *, int)
+ ?record@QSqlResult@@MBE?AVQSqlRecord@@XZ @ 198 NONAME ; class QSqlRecord QSqlResult::record(void) const
+ ?lastError@QSqlQuery@@QBE?AVQSqlError@@XZ @ 199 NONAME ; class QSqlError QSqlQuery::lastError(void) const
+ ?getStaticMetaObject@QSqlQueryModel@@SAABUQMetaObject@@XZ @ 200 NONAME ; struct QMetaObject const & QSqlQueryModel::getStaticMetaObject(void)
+ ??1QSqlField@@QAE@XZ @ 201 NONAME ; QSqlField::~QSqlField(void)
+ ?setQuery@QSqlResult@@MAEXABVQString@@@Z @ 202 NONAME ; void QSqlResult::setQuery(class QString const &)
+ ?driver@QSqlQuery@@QBEPBVQSqlDriver@@XZ @ 203 NONAME ; class QSqlDriver const * QSqlQuery::driver(void) const
+ ??4QSqlRelation@@QAEAAV0@ABV0@@Z @ 204 NONAME ABSENT ; class QSqlRelation & QSqlRelation::operator=(class QSqlRelation const &)
+ ?fetchLast@QSqlCachedResult@@MAE_NXZ @ 205 NONAME ; bool QSqlCachedResult::fetchLast(void)
+ ?setReadOnly@QSqlField@@QAEX_N@Z @ 206 NONAME ; void QSqlField::setReadOnly(bool)
+ ?headerData@QSqlQueryModel@@UBE?AVQVariant@@HW4Orientation@Qt@@H@Z @ 207 NONAME ; class QVariant QSqlQueryModel::headerData(int, enum Qt::Orientation, int) const
+ ?cleanup@QSqlCachedResult@@IAEXXZ @ 208 NONAME ; void QSqlCachedResult::cleanup(void)
+ ?first@QSqlQuery@@QAE_NXZ @ 209 NONAME ; bool QSqlQuery::first(void)
+ ?isDriverAvailable@QSqlDatabase@@SA_NABVQString@@@Z @ 210 NONAME ; bool QSqlDatabase::isDriverAvailable(class QString const &)
+ ?staticMetaObject@QSqlTableModel@@2UQMetaObject@@B @ 211 NONAME ; struct QMetaObject const QSqlTableModel::staticMetaObject
+ ?setRequiredStatus@QSqlField@@QAEXW4RequiredStatus@1@@Z @ 212 NONAME ; void QSqlField::setRequiredStatus(enum QSqlField::RequiredStatus)
+ ?fetchPrevious@QSqlCachedResult@@MAE_NXZ @ 213 NONAME ; bool QSqlCachedResult::fetchPrevious(void)
+ ?setCursorName@QSqlIndex@@QAEXABVQString@@@Z @ 214 NONAME ; void QSqlIndex::setCursorName(class QString const &)
+ ?insertRows@QSqlTableModel@@UAE_NHHABVQModelIndex@@@Z @ 215 NONAME ; bool QSqlTableModel::insertRows(int, int, class QModelIndex const &)
+ ?setTable@QSqlTableModel@@UAEXABVQString@@@Z @ 216 NONAME ; void QSqlTableModel::setTable(class QString const &)
+ ?orderByClause@QSqlTableModel@@MBE?AVQString@@XZ @ 217 NONAME ; class QString QSqlTableModel::orderByClause(void) const
+ ??0QSqlQuery@@QAE@ABV0@@Z @ 218 NONAME ; QSqlQuery::QSqlQuery(class QSqlQuery const &)
+ ??0QSqlDriverFactoryInterface@@QAE@XZ @ 219 NONAME ABSENT ; QSqlDriverFactoryInterface::QSqlDriverFactoryInterface(void)
+ ?typeID@QSqlField@@QBEHXZ @ 220 NONAME ; int QSqlField::typeID(void) const
+ ?tr@QSqlRelationalTableModel@@SA?AVQString@@PBD0H@Z @ 221 NONAME ; class QString QSqlRelationalTableModel::tr(char const *, char const *, int)
+ ?append@QSqlIndex@@QAEXABVQSqlField@@_N@Z @ 222 NONAME ; void QSqlIndex::append(class QSqlField const &, bool)
+ ?tr@QSQLiteDriver@@SA?AVQString@@PBD0@Z @ 223 NONAME ; class QString QSQLiteDriver::tr(char const *, char const *)
+ ??1QSqlDriver@@UAE@XZ @ 224 NONAME ; QSqlDriver::~QSqlDriver(void)
+ ?port@QSqlDatabase@@QBEHXZ @ 225 NONAME ; int QSqlDatabase::port(void) const
+ ?cloneDatabase@QSqlDatabase@@SA?AV1@ABV1@ABVQString@@@Z @ 226 NONAME ; class QSqlDatabase QSqlDatabase::cloneDatabase(class QSqlDatabase const &, class QString const &)
+ ?updateRowInTable@QSqlTableModel@@MAE_NHABVQSqlRecord@@@Z @ 227 NONAME ; bool QSqlTableModel::updateRowInTable(int, class QSqlRecord const &)
+ ?isNull@QSqlCachedResult@@MAE_NH@Z @ 228 NONAME ; bool QSqlCachedResult::isNull(int)
+ ?staticMetaObject@QSqlDriver@@2UQMetaObject@@B @ 229 NONAME ; struct QMetaObject const QSqlDriver::staticMetaObject
+ ?revertRow@QSqlTableModel@@UAEXH@Z @ 230 NONAME ; void QSqlTableModel::revertRow(int)
+ ?setTable@QSqlRelationalTableModel@@UAEXABVQString@@@Z @ 231 NONAME ; void QSqlRelationalTableModel::setTable(class QString const &)
+ ?precision@QSqlField@@QBEHXZ @ 232 NONAME ; int QSqlField::precision(void) const
+ ?d_func@QSqlRelationalTableModel@@ABEPBVQSqlRelationalTableModelPrivate@@XZ @ 233 NONAME ; class QSqlRelationalTableModelPrivate const * QSqlRelationalTableModel::d_func(void) const
+ ??9QSqlRecord@@QBE_NABV0@@Z @ 234 NONAME ; bool QSqlRecord::operator!=(class QSqlRecord const &) const
+ ??0QSqlIndex@@QAE@ABVQString@@0@Z @ 235 NONAME ; QSqlIndex::QSqlIndex(class QString const &, class QString const &)
+ ??0QSQLiteDriver@@QAE@PAVQObject@@@Z @ 236 NONAME ; QSQLiteDriver::QSQLiteDriver(class QObject *)
+ ?stripDelimiters@QSqlDriver@@QBE?AVQString@@ABV2@W4IdentifierType@1@@Z @ 237 NONAME ; class QString QSqlDriver::stripDelimiters(class QString const &, enum QSqlDriver::IdentifierType) const
+ ?lastQuery@QSqlResult@@IBE?AVQString@@XZ @ 238 NONAME ; class QString QSqlResult::lastQuery(void) const
+ ?virtual_hook@QSqlCachedResult@@MAEXHPAX@Z @ 239 NONAME ; void QSqlCachedResult::virtual_hook(int, void *)
+ ?tr@QSqlDriverPlugin@@SA?AVQString@@PBD0@Z @ 240 NONAME ; class QString QSqlDriverPlugin::tr(char const *, char const *)
+ ?getStaticMetaObject@QSqlDriverPlugin@@SAABUQMetaObject@@XZ @ 241 NONAME ; struct QMetaObject const & QSqlDriverPlugin::getStaticMetaObject(void)
+ ??1QSqlDriverFactoryInterface@@UAE@XZ @ 242 NONAME ; QSqlDriverFactoryInterface::~QSqlDriverFactoryInterface(void)
+ ?numericalPrecisionPolicy@QSqlResult@@IBE?AW4NumericalPrecisionPolicy@QSql@@XZ @ 243 NONAME ; enum QSql::NumericalPrecisionPolicy QSqlResult::numericalPrecisionPolicy(void) const
+ ?clearValues@QSqlRecord@@QAEXXZ @ 244 NONAME ; void QSqlRecord::clearValues(void)
+ ?columnCount@QSqlQueryModel@@UBEHABVQModelIndex@@@Z @ 245 NONAME ; int QSqlQueryModel::columnCount(class QModelIndex const &) const
+ ?setQuery@QSqlQueryModel@@QAEXABVQString@@ABVQSqlDatabase@@@Z @ 246 NONAME ; void QSqlQueryModel::setQuery(class QString const &, class QSqlDatabase const &)
+ ??0QSqlRelation@@QAE@ABV0@@Z @ 247 NONAME ABSENT ; QSqlRelation::QSqlRelation(class QSqlRelation const &)
+ ?setOpenError@QSqlDriver@@MAEX_N@Z @ 248 NONAME ; void QSqlDriver::setOpenError(bool)
+ ?qt_metacall@QSqlDriverPlugin@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 249 NONAME ; int QSqlDriverPlugin::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?trUtf8@QSqlRelationalTableModel@@SA?AVQString@@PBD0@Z @ 250 NONAME ; class QString QSqlRelationalTableModel::trUtf8(char const *, char const *)
+ ?finish@QSqlQuery@@QAEXXZ @ 251 NONAME ; void QSqlQuery::finish(void)
+ ??0QSqlDriverPlugin@@QAE@PAVQObject@@@Z @ 252 NONAME ; QSqlDriverPlugin::QSqlDriverPlugin(class QObject *)
+ ?contains@QSqlRecord@@QBE_NABVQString@@@Z @ 253 NONAME ; bool QSqlRecord::contains(class QString const &) const
+ ?isGenerated@QSqlRecord@@QBE_NH@Z @ 254 NONAME ; bool QSqlRecord::isGenerated(int) const
+ ??4QSqlError@@QAEAAV0@ABV0@@Z @ 255 NONAME ; class QSqlError & QSqlError::operator=(class QSqlError const &)
+ ??8QSqlField@@QBE_NABV0@@Z @ 256 NONAME ; bool QSqlField::operator==(class QSqlField const &) const
+ ?createField@QSqlIndex@@ABE?AVQString@@HABV2@_N@Z @ 257 NONAME ; class QString QSqlIndex::createField(int, class QString const &, bool) const
+ ??0QSqlQuery@@QAE@PAVQSqlResult@@@Z @ 258 NONAME ; QSqlQuery::QSqlQuery(class QSqlResult *)
+ ?databaseText@QSqlError@@QBE?AVQString@@XZ @ 259 NONAME ; class QString QSqlError::databaseText(void) const
+ ?qt_metacall@QSQLiteDriver@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 260 NONAME ; int QSQLiteDriver::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?value@QSqlRecord@@QBE?AVQVariant@@ABVQString@@@Z @ 261 NONAME ; class QVariant QSqlRecord::value(class QString const &) const
+ ?isGenerated@QSqlRecord@@QBE_NABVQString@@@Z @ 262 NONAME ; bool QSqlRecord::isGenerated(class QString const &) const
+ ?sqlStatement@QSqlDriver@@UBE?AVQString@@W4StatementType@1@ABV2@ABVQSqlRecord@@_N@Z @ 263 NONAME ; class QString QSqlDriver::sqlStatement(enum QSqlDriver::StatementType, class QString const &, class QSqlRecord const &, bool) const
+ ?detach@QSqlRecord@@AAEXXZ @ 264 NONAME ; void QSqlRecord::detach(void)
+ ?setNumericalPrecisionPolicy@QSqlQuery@@QAEXW4NumericalPrecisionPolicy@QSql@@@Z @ 265 NONAME ; void QSqlQuery::setNumericalPrecisionPolicy(enum QSql::NumericalPrecisionPolicy)
+ ?isActive@QSqlQuery@@QBE_NXZ @ 266 NONAME ; bool QSqlQuery::isActive(void) const
+ ?clear@QSqlRecord@@QAEXXZ @ 267 NONAME ; void QSqlRecord::clear(void)
+ ?boundValue@QSqlResult@@IBE?AVQVariant@@H@Z @ 268 NONAME ; class QVariant QSqlResult::boundValue(int) const
+ ??_EQSqlDriver@@UAE@I@Z @ 269 NONAME ; QSqlDriver::~QSqlDriver(unsigned int)
+ ?submitAll@QSqlTableModel@@QAE_NXZ @ 270 NONAME ; bool QSqlTableModel::submitAll(void)
+ ?setType@QSqlField@@QAEXW4Type@QVariant@@@Z @ 271 NONAME ; void QSqlField::setType(enum QVariant::Type)
+ ?tr@QSqlTableModel@@SA?AVQString@@PBD0@Z @ 272 NONAME ; class QString QSqlTableModel::tr(char const *, char const *)
+ ?userName@QSqlDatabase@@QBE?AVQString@@XZ @ 273 NONAME ; class QString QSqlDatabase::userName(void) const
+ ?qt_metacast@QSqlTableModel@@UAEPAXPBD@Z @ 274 NONAME ; void * QSqlTableModel::qt_metacast(char const *)
+ ?isNull@QSqlField@@QBE_NXZ @ 275 NONAME ; bool QSqlField::isNull(void) const
+ ??0QSqlRelation@@QAE@XZ @ 276 NONAME ; QSqlRelation::QSqlRelation(void)
+ ?rollbackTransaction@QSqlDriver@@UAE_NXZ @ 277 NONAME ; bool QSqlDriver::rollbackTransaction(void)
+ ?metaObject@QSQLiteDriver@@UBEPBUQMetaObject@@XZ @ 278 NONAME ; struct QMetaObject const * QSQLiteDriver::metaObject(void) const
+ ?bindingSyntax@QSqlResult@@IBE?AW4BindingSyntax@1@XZ @ 279 NONAME ; enum QSqlResult::BindingSyntax QSqlResult::bindingSyntax(void) const
+ ?record@QSqlDriver@@UBE?AVQSqlRecord@@ABVQString@@@Z @ 280 NONAME ; class QSqlRecord QSqlDriver::record(class QString const &) const
+ ?setLastError@QSqlResult@@MAEXABVQSqlError@@@Z @ 281 NONAME ; void QSqlResult::setLastError(class QSqlError const &)
+ ?open@QSQLiteDriver@@UAE_NABVQString@@000H0@Z @ 282 NONAME ; bool QSQLiteDriver::open(class QString const &, class QString const &, class QString const &, class QString const &, int, class QString const &)
+ ?setDescending@QSqlIndex@@QAEXH_N@Z @ 283 NONAME ; void QSqlIndex::setDescending(int, bool)
+ ?isIdentifierEscapedImplementation@QSqlDriver@@IBE_NABVQString@@W4IdentifierType@1@@Z @ 284 NONAME ; bool QSqlDriver::isIdentifierEscapedImplementation(class QString const &, enum QSqlDriver::IdentifierType) const
+ ?isOpenError@QSqlDatabase@@QBE_NXZ @ 285 NONAME ; bool QSqlDatabase::isOpenError(void) const
+ ?setType@QSqlError@@QAEXW4ErrorType@1@@Z @ 286 NONAME ; void QSqlError::setType(enum QSqlError::ErrorType)
+ ?beforeDelete@QSqlTableModel@@IAEXH@Z @ 287 NONAME ; void QSqlTableModel::beforeDelete(int)
+ ?setDefaultValue@QSqlField@@QAEXABVQVariant@@@Z @ 288 NONAME ; void QSqlField::setDefaultValue(class QVariant const &)
+ ?cursorName@QSqlIndex@@QBE?AVQString@@XZ @ 289 NONAME ; class QString QSqlIndex::cursorName(void) const
+ ?type@QSqlError@@QBE?AW4ErrorType@1@XZ @ 290 NONAME ; enum QSqlError::ErrorType QSqlError::type(void) const
+ ?clear@QSqlQuery@@QAEXXZ @ 291 NONAME ; void QSqlQuery::clear(void)
+ ?lastInsertId@QSqlResult@@MBE?AVQVariant@@XZ @ 292 NONAME ; class QVariant QSqlResult::lastInsertId(void) const
+ ?boundValueName@QSqlResult@@IBE?AVQString@@H@Z @ 293 NONAME ; class QString QSqlResult::boundValueName(int) const
+ ?lastError@QSqlDatabase@@QBE?AVQSqlError@@XZ @ 294 NONAME ; class QSqlError QSqlDatabase::lastError(void) const
+ ?insertRecord@QSqlTableModel@@QAE_NHABVQSqlRecord@@@Z @ 295 NONAME ; bool QSqlTableModel::insertRecord(int, class QSqlRecord const &)
+ ?removeDatabase@QSqlDatabase@@SAXABVQString@@@Z @ 296 NONAME ; void QSqlDatabase::removeDatabase(class QString const &)
+ ??_EQSqlDriverCreatorBase@@UAE@I@Z @ 297 NONAME ; QSqlDriverCreatorBase::~QSqlDriverCreatorBase(unsigned int)
+ ?deleteRowFromTable@QSqlTableModel@@MAE_NH@Z @ 298 NONAME ; bool QSqlTableModel::deleteRowFromTable(int)
+ ??0QSqlDatabase@@IAE@ABVQString@@@Z @ 299 NONAME ; QSqlDatabase::QSqlDatabase(class QString const &)
+ ??1QSqlDriverCreatorBase@@UAE@XZ @ 300 NONAME ; QSqlDriverCreatorBase::~QSqlDriverCreatorBase(void)
+ ?previous@QSqlQuery@@QAE_NXZ @ 301 NONAME ; bool QSqlQuery::previous(void)
+ ??0QSqlCachedResult@@IAE@PBVQSqlDriver@@@Z @ 302 NONAME ; QSqlCachedResult::QSqlCachedResult(class QSqlDriver const *)
+ ?exec@QSqlResult@@MAE_NXZ @ 303 NONAME ; bool QSqlResult::exec(void)
+ ?unsubscribeFromNotification@QSqlDriver@@QAE_NABVQString@@@Z @ 304 NONAME ; bool QSqlDriver::unsubscribeFromNotification(class QString const &)
+ ?isValid@QSqlQuery@@QBE_NXZ @ 305 NONAME ; bool QSqlQuery::isValid(void) const
+ ?setPort@QSqlDatabase@@QAEXH@Z @ 306 NONAME ; void QSqlDatabase::setPort(int)
+ ??8QSqlRecord@@QBE_NABV0@@Z @ 307 NONAME ; bool QSqlRecord::operator==(class QSqlRecord const &) const
+ ?metaObject@QSqlTableModel@@UBEPBUQMetaObject@@XZ @ 308 NONAME ; struct QMetaObject const * QSqlTableModel::metaObject(void) const
+ ?cacheNext@QSqlCachedResult@@AAE_NXZ @ 309 NONAME ; bool QSqlCachedResult::cacheNext(void)
+ ??0QSqlField@@QAE@ABVQString@@W4Type@QVariant@@@Z @ 310 NONAME ; QSqlField::QSqlField(class QString const &, enum QVariant::Type)
+ ?createResult@QSQLiteDriver@@UBEPAVQSqlResult@@XZ @ 311 NONAME ; class QSqlResult * QSQLiteDriver::createResult(void) const
+ ??_EQSqlQueryModel@@UAE@I@Z @ 312 NONAME ; QSqlQueryModel::~QSqlQueryModel(unsigned int)
+ ?length@QSqlField@@QBEHXZ @ 313 NONAME ; int QSqlField::length(void) const
+ ?removeRows@QSqlTableModel@@UAE_NHHABVQModelIndex@@@Z @ 314 NONAME ; bool QSqlTableModel::removeRows(int, int, class QModelIndex const &)
+ ?setSort@QSqlTableModel@@UAEXHW4SortOrder@Qt@@@Z @ 315 NONAME ; void QSqlTableModel::setSort(int, enum Qt::SortOrder)
+ ?revert@QSqlTableModel@@UAEXXZ @ 316 NONAME ; void QSqlTableModel::revert(void)
+ ?primaryIndex@QSQLiteDriver@@UBE?AVQSqlIndex@@ABVQString@@@Z @ 317 NONAME ; class QSqlIndex QSQLiteDriver::primaryIndex(class QString const &) const
+ ??1QSqlQuery@@QAE@XZ @ 318 NONAME ; QSqlQuery::~QSqlQuery(void)
+ ?tr@QSqlDriverPlugin@@SA?AVQString@@PBD0H@Z @ 319 NONAME ; class QString QSqlDriverPlugin::tr(char const *, char const *, int)
+ ?setQuery@QSqlQueryModel@@QAEXABVQSqlQuery@@@Z @ 320 NONAME ; void QSqlQueryModel::setQuery(class QSqlQuery const &)
+ ?rollback@QSqlDatabase@@QAE_NXZ @ 321 NONAME ; bool QSqlDatabase::rollback(void)
+ ?insertRowIntoTable@QSqlRelationalTableModel@@MAE_NABVQSqlRecord@@@Z @ 322 NONAME ; bool QSqlRelationalTableModel::insertRowIntoTable(class QSqlRecord const &)
+ ?init@QSqlCachedResult@@IAEXH@Z @ 323 NONAME ; void QSqlCachedResult::init(int)
+ ?tr@QSqlDriver@@SA?AVQString@@PBD0H@Z @ 324 NONAME ; class QString QSqlDriver::tr(char const *, char const *, int)
+ ?rollbackTransaction@QSQLiteDriver@@UAE_NXZ @ 325 NONAME ; bool QSQLiteDriver::rollbackTransaction(void)
+ ?indexInQuery@QSqlTableModel@@IBE?AVQModelIndex@@ABV2@@Z @ 326 NONAME ; class QModelIndex QSqlTableModel::indexInQuery(class QModelIndex const &) const
+ ?d_func@QSqlTableModel@@AAEPAVQSqlTableModelPrivate@@XZ @ 327 NONAME ; class QSqlTableModelPrivate * QSqlTableModel::d_func(void)
+ ?stripDelimitersImplementation@QSqlDriver@@IBE?AVQString@@ABV2@W4IdentifierType@1@@Z @ 328 NONAME ; class QString QSqlDriver::stripDelimitersImplementation(class QString const &, enum QSqlDriver::IdentifierType) const
+ ?beginTransaction@QSQLiteDriver@@UAE_NXZ @ 329 NONAME ; bool QSQLiteDriver::beginTransaction(void)
+ ?prepare@QSqlResult@@MAE_NABVQString@@@Z @ 330 NONAME ; bool QSqlResult::prepare(class QString const &)
+ ?password@QSqlDatabase@@QBE?AVQString@@XZ @ 331 NONAME ; class QString QSqlDatabase::password(void) const
+ ?query@QSqlQueryModel@@QBE?AVQSqlQuery@@XZ @ 332 NONAME ; class QSqlQuery QSqlQueryModel::query(void) const
+ ?relationModel@QSqlRelationalTableModel@@UBEPAVQSqlTableModel@@H@Z @ 333 NONAME ; class QSqlTableModel * QSqlRelationalTableModel::relationModel(int) const
+ ?clear@QSqlTableModel@@UAEXXZ @ 334 NONAME ; void QSqlTableModel::clear(void)
+ ?connectionNames@QSqlDatabase@@SA?AVQStringList@@XZ @ 335 NONAME ; class QStringList QSqlDatabase::connectionNames(void)
+ ?setValue@QSqlField@@QAEXABVQVariant@@@Z @ 336 NONAME ; void QSqlField::setValue(class QVariant const &)
+ ?boundValue@QSqlQuery@@QBE?AVQVariant@@H@Z @ 337 NONAME ; class QVariant QSqlQuery::boundValue(int) const
+ ?lastQuery@QSqlQuery@@QBE?AVQString@@XZ @ 338 NONAME ; class QString QSqlQuery::lastQuery(void) const
+ ??6@YA?AVQDebug@@V0@ABVQSqlDatabase@@@Z @ 339 NONAME ; class QDebug operator<<(class QDebug, class QSqlDatabase const &)
+ ?setAt@QSqlResult@@MAEXH@Z @ 340 NONAME ; void QSqlResult::setAt(int)
+ ??1QSqlRelation@@QAE@XZ @ 341 NONAME ; QSqlRelation::~QSqlRelation(void)
+ ?bindValue@QSqlResult@@MAEXABVQString@@ABVQVariant@@V?$QFlags@W4ParamTypeFlag@QSql@@@@@Z @ 342 NONAME ; void QSqlResult::bindValue(class QString const &, class QVariant const &, class QFlags<enum QSql::ParamTypeFlag>)
+ ?data@QSqlCachedResult@@MAE?AVQVariant@@H@Z @ 343 NONAME ; class QVariant QSqlCachedResult::data(int)
+ ??6@YA?AVQDebug@@V0@ABVQSqlError@@@Z @ 344 NONAME ; class QDebug operator<<(class QDebug, class QSqlError const &)
+ ??0QSQLiteDriver@@QAE@PAUsqlite3@@PAVQObject@@@Z @ 345 NONAME ; QSQLiteDriver::QSQLiteDriver(struct sqlite3 *, class QObject *)
+ ?savePrepare@QSqlResult@@MAE_NABVQString@@@Z @ 346 NONAME ; bool QSqlResult::savePrepare(class QString const &)
+ ?isValid@QSqlField@@QBE_NXZ @ 347 NONAME ; bool QSqlField::isValid(void) const
+ ?setConnectOptions@QSqlDatabase@@QAEXABVQString@@@Z @ 348 NONAME ; void QSqlDatabase::setConnectOptions(class QString const &)
+ ?tr@QSqlQueryModel@@SA?AVQString@@PBD0@Z @ 349 NONAME ; class QString QSqlQueryModel::tr(char const *, char const *)
+ ?text@QSqlError@@QBE?AVQString@@XZ @ 350 NONAME ; class QString QSqlError::text(void) const
+ ?value@QSqlQuery@@QBE?AVQVariant@@H@Z @ 351 NONAME ; class QVariant QSqlQuery::value(int) const
+ ?trUtf8@QSqlDriver@@SA?AVQString@@PBD0H@Z @ 352 NONAME ; class QString QSqlDriver::trUtf8(char const *, char const *, int)
+ ?bindValueType@QSqlResult@@IBE?AV?$QFlags@W4ParamTypeFlag@QSql@@@@ABVQString@@@Z @ 353 NONAME ; class QFlags<enum QSql::ParamTypeFlag> QSqlResult::bindValueType(class QString const &) const
+ ??0QSqlRelation@@QAE@ABVQString@@00@Z @ 354 NONAME ; QSqlRelation::QSqlRelation(class QString const &, class QString const &, class QString const &)
+ ?escapeIdentifier@QSqlDriver@@UBE?AVQString@@ABV2@W4IdentifierType@1@@Z @ 355 NONAME ; class QString QSqlDriver::escapeIdentifier(class QString const &, enum QSqlDriver::IdentifierType) const
+ ?setDatabaseText@QSqlError@@QAEXABVQString@@@Z @ 356 NONAME ; void QSqlError::setDatabaseText(class QString const &)
+ ?setFilter@QSqlTableModel@@UAEXABVQString@@@Z @ 357 NONAME ; void QSqlTableModel::setFilter(class QString const &)
+ ?nextResult@QSqlQuery@@QAE_NXZ @ 358 NONAME ; bool QSqlQuery::nextResult(void)
+ ??0QSqlError@@QAE@ABV0@@Z @ 359 NONAME ; QSqlError::QSqlError(class QSqlError const &)
+ ?select@QSqlTableModel@@UAE_NXZ @ 360 NONAME ; bool QSqlTableModel::select(void)
+ ??1QSqlTableModel@@UAE@XZ @ 361 NONAME ; QSqlTableModel::~QSqlTableModel(void)
+ ?subscribedToNotificationsImplementation@QSqlDriver@@IBE?AVQStringList@@XZ @ 362 NONAME ; class QStringList QSqlDriver::subscribedToNotificationsImplementation(void) const
+ ?defaultConnection@QSqlDatabase@@2PBDB @ 363 NONAME ; char const * const QSqlDatabase::defaultConnection
+ ?trUtf8@QSqlDriverPlugin@@SA?AVQString@@PBD0H@Z @ 364 NONAME ; class QString QSqlDriverPlugin::trUtf8(char const *, char const *, int)
+ ??0QSqlQueryModel@@IAE@AAVQSqlQueryModelPrivate@@PAVQObject@@@Z @ 365 NONAME ; QSqlQueryModel::QSqlQueryModel(class QSqlQueryModelPrivate &, class QObject *)
+ ?executedQuery@QSqlResult@@IBE?AVQString@@XZ @ 366 NONAME ; class QString QSqlResult::executedQuery(void) const
+ ?fetchMore@QSqlQueryModel@@UAEXABVQModelIndex@@@Z @ 367 NONAME ; void QSqlQueryModel::fetchMore(class QModelIndex const &)
+ ?setSqlType@QSqlField@@QAEXH@Z @ 368 NONAME ; void QSqlField::setSqlType(int)
+ ?fetch@QSqlCachedResult@@MAE_NH@Z @ 369 NONAME ; bool QSqlCachedResult::fetch(int)
+ ?at@QSqlQuery@@QBEHXZ @ 370 NONAME ; int QSqlQuery::at(void) const
+ ?execBatch@QSqlResult@@IAE_N_N@Z @ 371 NONAME ; bool QSqlResult::execBatch(bool)
+ ?resetBindCount@QSqlResult@@AAEXXZ @ 372 NONAME ; void QSqlResult::resetBindCount(void)
+ ?bindValueType@QSqlResult@@IBE?AV?$QFlags@W4ParamTypeFlag@QSql@@@@H@Z @ 373 NONAME ; class QFlags<enum QSql::ParamTypeFlag> QSqlResult::bindValueType(int) const
+ ??9QSqlField@@QBE_NABV0@@Z @ 374 NONAME ; bool QSqlField::operator!=(class QSqlField const &) const
+ ?trUtf8@QSqlDriver@@SA?AVQString@@PBD0@Z @ 375 NONAME ; class QString QSqlDriver::trUtf8(char const *, char const *)
+ ?setHeaderData@QSqlQueryModel@@UAE_NHW4Orientation@Qt@@ABVQVariant@@H@Z @ 376 NONAME ; bool QSqlQueryModel::setHeaderData(int, enum Qt::Orientation, class QVariant const &, int)
+ ?orderByClause@QSqlRelationalTableModel@@MBE?AVQString@@XZ @ 377 NONAME ; class QString QSqlRelationalTableModel::orderByClause(void) const
+ ?handle@QSqlResult@@UBE?AVQVariant@@XZ @ 378 NONAME ; class QVariant QSqlResult::handle(void) const
+ ?connectOptions@QSqlDatabase@@QBE?AVQString@@XZ @ 379 NONAME ; class QString QSqlDatabase::connectOptions(void) const
+ ?getStaticMetaObject@QSqlRelationalTableModel@@SAABUQMetaObject@@XZ @ 380 NONAME ; struct QMetaObject const & QSqlRelationalTableModel::getStaticMetaObject(void)
+ ?hostName@QSqlDatabase@@QBE?AVQString@@XZ @ 381 NONAME ; class QString QSqlDatabase::hostName(void) const
+ ?isEmpty@QSqlRecord@@QBE_NXZ @ 382 NONAME ; bool QSqlRecord::isEmpty(void) const
+ ?close@QSqlDatabase@@QAEXXZ @ 383 NONAME ; void QSqlDatabase::close(void)
+ ?bindValue@QSqlQuery@@QAEXABVQString@@ABVQVariant@@V?$QFlags@W4ParamTypeFlag@QSql@@@@@Z @ 384 NONAME ; void QSqlQuery::bindValue(class QString const &, class QVariant const &, class QFlags<enum QSql::ParamTypeFlag>)
+ ?tables@QSqlDatabase@@QBE?AVQStringList@@W4TableType@QSql@@@Z @ 385 NONAME ; class QStringList QSqlDatabase::tables(enum QSql::TableType) const
+ ?setDatabaseName@QSqlDatabase@@QAEXABVQString@@@Z @ 386 NONAME ; void QSqlDatabase::setDatabaseName(class QString const &)
+ ??1QSqlCachedResult@@UAE@XZ @ 387 NONAME ; QSqlCachedResult::~QSqlCachedResult(void)
+ ?isValid@QSqlRelation@@QBE_NXZ @ 388 NONAME ; bool QSqlRelation::isValid(void) const
+ ?setPrecision@QSqlField@@QAEXH@Z @ 389 NONAME ; void QSqlField::setPrecision(int)
+ ?metaObject@QSqlRelationalTableModel@@UBEPBUQMetaObject@@XZ @ 390 NONAME ; struct QMetaObject const * QSqlRelationalTableModel::metaObject(void) const
+ ?lastInsertId@QSqlQuery@@QBE?AVQVariant@@XZ @ 391 NONAME ; class QVariant QSqlQuery::lastInsertId(void) const
+ ?setValue@QSqlRecord@@QAEXHABVQVariant@@@Z @ 392 NONAME ; void QSqlRecord::setValue(int, class QVariant const &)
+ ??0QSqlQuery@@QAE@ABVQString@@VQSqlDatabase@@@Z @ 393 NONAME ; QSqlQuery::QSqlQuery(class QString const &, class QSqlDatabase)
+ ?trUtf8@QSqlTableModel@@SA?AVQString@@PBD0H@Z @ 394 NONAME ; class QString QSqlTableModel::trUtf8(char const *, char const *, int)
+ ?tr@QSqlTableModel@@SA?AVQString@@PBD0H@Z @ 395 NONAME ; class QString QSqlTableModel::tr(char const *, char const *, int)
+ ?record@QSqlQueryModel@@QBE?AVQSqlRecord@@H@Z @ 396 NONAME ; class QSqlRecord QSqlQueryModel::record(int) const
+ ?exec@QSqlDatabase@@QBE?AVQSqlQuery@@ABVQString@@@Z @ 397 NONAME ; class QSqlQuery QSqlDatabase::exec(class QString const &) const
+ ?setAutoValue@QSqlField@@QAEX_N@Z @ 398 NONAME ; void QSqlField::setAutoValue(bool)
+ ?driver@QSqlDatabase@@QBEPAVQSqlDriver@@XZ @ 399 NONAME ; class QSqlDriver * QSqlDatabase::driver(void) const
+ ?seek@QSqlQuery@@QAE_NH_N@Z @ 400 NONAME ; bool QSqlQuery::seek(int, bool)
+ ?number@QSqlError@@QBEHXZ @ 401 NONAME ; int QSqlError::number(void) const
+ ?open@QSqlDatabase@@QAE_NXZ @ 402 NONAME ; bool QSqlDatabase::open(void)
+ ??_EQSqlRelationalTableModel@@UAE@I@Z @ 403 NONAME ; QSqlRelationalTableModel::~QSqlRelationalTableModel(unsigned int)
+ ?setNull@QSqlRecord@@QAEXH@Z @ 404 NONAME ; void QSqlRecord::setNull(int)
+ ?fieldName@QSqlRecord@@QBE?AVQString@@H@Z @ 405 NONAME ; class QString QSqlRecord::fieldName(int) const
+ ?getStaticMetaObject@QSQLiteDriver@@SAABUQMetaObject@@XZ @ 406 NONAME ; struct QMetaObject const & QSQLiteDriver::getStaticMetaObject(void)
+ ?isValid@QSqlResult@@IBE_NXZ @ 407 NONAME ; bool QSqlResult::isValid(void) const
+ ?primaryIndex@QSqlDatabase@@QBE?AVQSqlIndex@@ABVQString@@@Z @ 408 NONAME ; class QSqlIndex QSqlDatabase::primaryIndex(class QString const &) const
+ ??0QSqlField@@QAE@ABV0@@Z @ 409 NONAME ; QSqlField::QSqlField(class QSqlField const &)
+ ?fetchFirst@QSqlCachedResult@@MAE_NXZ @ 410 NONAME ; bool QSqlCachedResult::fetchFirst(void)
+ ?setLength@QSqlField@@QAEXH@Z @ 411 NONAME ; void QSqlField::setLength(int)
+ ??0QSqlQuery@@QAE@VQSqlDatabase@@@Z @ 412 NONAME ; QSqlQuery::QSqlQuery(class QSqlDatabase)
+ ?commitTransaction@QSqlDriver@@UAE_NXZ @ 413 NONAME ; bool QSqlDriver::commitTransaction(void)
+ ?last@QSqlQuery@@QAE_NXZ @ 414 NONAME ; bool QSqlQuery::last(void)
+ ?setNull@QSqlRecord@@QAEXABVQString@@@Z @ 415 NONAME ; void QSqlRecord::setNull(class QString const &)
+ ??1QSqlRecord@@QAE@XZ @ 416 NONAME ; QSqlRecord::~QSqlRecord(void)
+ ??1QSqlIndex@@QAE@XZ @ 417 NONAME ; QSqlIndex::~QSqlIndex(void)
+ ?detach@QSqlField@@AAEXXZ @ 418 NONAME ; void QSqlField::detach(void)
+ ?append@QSqlIndex@@QAEXABVQSqlField@@@Z @ 419 NONAME ; void QSqlIndex::append(class QSqlField const &)
+ ?isSelect@QSqlResult@@IBE_NXZ @ 420 NONAME ; bool QSqlResult::isSelect(void) const
+ ?lastError@QSqlDriver@@QBE?AVQSqlError@@XZ @ 421 NONAME ; class QSqlError QSqlDriver::lastError(void) const
+ ?lastError@QSqlResult@@IBE?AVQSqlError@@XZ @ 422 NONAME ; class QSqlError QSqlResult::lastError(void) const
+ ?isValid@QSqlDatabase@@QBE_NXZ @ 423 NONAME ; bool QSqlDatabase::isValid(void) const
+ ?d_func@QSqlRelationalTableModel@@AAEPAVQSqlRelationalTableModelPrivate@@XZ @ 424 NONAME ; class QSqlRelationalTableModelPrivate * QSqlRelationalTableModel::d_func(void)
+ ?database@QSqlDatabase@@SA?AV1@ABVQString@@_N@Z @ 425 NONAME ; class QSqlDatabase QSqlDatabase::database(class QString const &, bool)
+ ?rowCount@QSqlQueryModel@@UBEHABVQModelIndex@@@Z @ 426 NONAME ; int QSqlQueryModel::rowCount(class QModelIndex const &) const
+ ?qt_metacall@QSqlRelationalTableModel@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 427 NONAME ; int QSqlRelationalTableModel::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?name@QSqlIndex@@QBE?AVQString@@XZ @ 428 NONAME ; class QString QSqlIndex::name(void) const
+ ?setNumericalPrecisionPolicy@QSqlResult@@IAEXW4NumericalPrecisionPolicy@QSql@@@Z @ 429 NONAME ; void QSqlResult::setNumericalPrecisionPolicy(enum QSql::NumericalPrecisionPolicy)
+ ??0QSqlRelationalTableModel@@QAE@PAVQObject@@VQSqlDatabase@@@Z @ 430 NONAME ; QSqlRelationalTableModel::QSqlRelationalTableModel(class QObject *, class QSqlDatabase)
+ ?insertColumns@QSqlQueryModel@@UAE_NHHABVQModelIndex@@@Z @ 431 NONAME ; bool QSqlQueryModel::insertColumns(int, int, class QModelIndex const &)
+ ?clear@QSqlRelationalTableModel@@UAEXXZ @ 432 NONAME ; void QSqlRelationalTableModel::clear(void)
+ ?boundValueCount@QSqlResult@@IBEHXZ @ 433 NONAME ; int QSqlResult::boundValueCount(void) const
+ ?staticMetaObject@QSqlRelationalTableModel@@2UQMetaObject@@B @ 434 NONAME ; struct QMetaObject const QSqlRelationalTableModel::staticMetaObject
+ ?record@QSqlDatabase@@QBE?AVQSqlRecord@@ABVQString@@@Z @ 435 NONAME ; class QSqlRecord QSqlDatabase::record(class QString const &) const
+ ?fetchPrevious@QSqlResult@@MAE_NXZ @ 436 NONAME ; bool QSqlResult::fetchPrevious(void)
+ ?record@QSqlQuery@@QBE?AVQSqlRecord@@XZ @ 437 NONAME ; class QSqlRecord QSqlQuery::record(void) const
+ ?record@QSQLiteDriver@@UBE?AVQSqlRecord@@ABVQString@@@Z @ 438 NONAME ; class QSqlRecord QSQLiteDriver::record(class QString const &) const
+ ?d_func@QSqlTableModel@@ABEPBVQSqlTableModelPrivate@@XZ @ 439 NONAME ; class QSqlTableModelPrivate const * QSqlTableModel::d_func(void) const
+ ?driverName@QSqlDatabase@@QBE?AVQString@@XZ @ 440 NONAME ; class QString QSqlDatabase::driverName(void) const
+ ?numericalPrecisionPolicy@QSqlDriver@@QBE?AW4NumericalPrecisionPolicy@QSql@@XZ @ 441 NONAME ; enum QSql::NumericalPrecisionPolicy QSqlDriver::numericalPrecisionPolicy(void) const
+ ??0QSqlIndex@@QAE@ABV0@@Z @ 442 NONAME ; QSqlIndex::QSqlIndex(class QSqlIndex const &)
+ ?isDirty@QSqlTableModel@@QBE_NABVQModelIndex@@@Z @ 443 NONAME ; bool QSqlTableModel::isDirty(class QModelIndex const &) const
+ ?subscribeToNotificationImplementation@QSqlDriver@@IAE_NABVQString@@@Z @ 444 NONAME ; bool QSqlDriver::subscribeToNotificationImplementation(class QString const &)
+ ?execBatch@QSqlQuery@@QAE_NW4BatchExecutionMode@1@@Z @ 445 NONAME ; bool QSqlQuery::execBatch(enum QSqlQuery::BatchExecutionMode)
+ ?removeColumns@QSqlQueryModel@@UAE_NHHABVQModelIndex@@@Z @ 446 NONAME ; bool QSqlQueryModel::removeColumns(int, int, class QModelIndex const &)
+ ?qt_metacall@QSqlTableModel@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 447 NONAME ; int QSqlTableModel::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?isNull@QSqlRecord@@QBE_NH@Z @ 448 NONAME ; bool QSqlRecord::isNull(int) const
+ ?primeInsert@QSqlTableModel@@IAEXHAAVQSqlRecord@@@Z @ 449 NONAME ; void QSqlTableModel::primeInsert(int, class QSqlRecord &)
+ ?filter@QSqlTableModel@@QBE?AVQString@@XZ @ 450 NONAME ; class QString QSqlTableModel::filter(void) const
+ ?removeColumns@QSqlRelationalTableModel@@UAE_NHHABVQModelIndex@@@Z @ 451 NONAME ; bool QSqlRelationalTableModel::removeColumns(int, int, class QModelIndex const &)
+ ?setNumber@QSqlError@@QAEXH@Z @ 452 NONAME ; void QSqlError::setNumber(int)
+ ?record@QSqlQueryModel@@QBE?AVQSqlRecord@@XZ @ 453 NONAME ; class QSqlRecord QSqlQueryModel::record(void) const
+ ?setName@QSqlIndex@@QAEXABVQString@@@Z @ 454 NONAME ; void QSqlIndex::setName(class QString const &)
+ ?setDriverText@QSqlError@@QAEXABVQString@@@Z @ 455 NONAME ; void QSqlError::setDriverText(class QString const &)
+ ?trUtf8@QSQLiteDriver@@SA?AVQString@@PBD0H@Z @ 456 NONAME ; class QString QSQLiteDriver::trUtf8(char const *, char const *, int)
+ ?submit@QSqlTableModel@@UAE_NXZ @ 457 NONAME ; bool QSqlTableModel::submit(void)
+ ?d_func@QSqlQueryModel@@AAEPAVQSqlQueryModelPrivate@@XZ @ 458 NONAME ; class QSqlQueryModelPrivate * QSqlQueryModel::d_func(void)
+ ?remove@QSqlRecord@@QAEXH@Z @ 459 NONAME ; void QSqlRecord::remove(int)
+ ?contains@QSqlDatabase@@SA_NABVQString@@@Z @ 460 NONAME ; bool QSqlDatabase::contains(class QString const &)
+ ??0QSqlTableModel@@QAE@PAVQObject@@VQSqlDatabase@@@Z @ 461 NONAME ; QSqlTableModel::QSqlTableModel(class QObject *, class QSqlDatabase)
+ ?relation@QSqlRelationalTableModel@@QBE?AVQSqlRelation@@H@Z @ 462 NONAME ; class QSqlRelation QSqlRelationalTableModel::relation(int) const
+
diff --git a/src/s60installs/bwins/QtSvgu.def b/src/s60installs/bwins/QtSvgu.def
new file mode 100644
index 0000000..c124ff9
--- /dev/null
+++ b/src/s60installs/bwins/QtSvgu.def
@@ -0,0 +1,149 @@
+EXPORTS
+ ?load@QSvgRenderer@@QAE_NABVQString@@@Z @ 1 NONAME ; bool QSvgRenderer::load(class QString const &)
+ ?namedNode@QSvgTinyDocument@@QBEPAVQSvgNode@@ABVQString@@@Z @ 2 NONAME ; class QSvgNode * QSvgTinyDocument::namedNode(class QString const &) const
+ ?setMaximumCacheSize@QGraphicsSvgItem@@QAEXABVQSize@@@Z @ 3 NONAME ; void QGraphicsSvgItem::setMaximumCacheSize(class QSize const &)
+ ??1QSvgWidget@@UAE@XZ @ 4 NONAME ; QSvgWidget::~QSvgWidget(void)
+ ?height@QSvgTinyDocument@@QBEHXZ @ 5 NONAME ; int QSvgTinyDocument::height(void) const
+ ?load@QSvgWidget@@QAEXABVQString@@@Z @ 6 NONAME ; void QSvgWidget::load(class QString const &)
+ ?d_func@QGraphicsSvgItem@@ABEPBVQGraphicsSvgItemPrivate@@XZ @ 7 NONAME ; class QGraphicsSvgItemPrivate const * QGraphicsSvgItem::d_func(void) const
+ ?d_func@QGraphicsSvgItem@@AAEPAVQGraphicsSvgItemPrivate@@XZ @ 8 NONAME ; class QGraphicsSvgItemPrivate * QGraphicsSvgItem::d_func(void)
+ ?render@QSvgRenderer@@QAEXPAVQPainter@@ABVQString@@ABVQRectF@@@Z @ 9 NONAME ; void QSvgRenderer::render(class QPainter *, class QString const &, class QRectF const &)
+ ?trUtf8@QGraphicsSvgItem@@SA?AVQString@@PBD0@Z @ 10 NONAME ; class QString QGraphicsSvgItem::trUtf8(char const *, char const *)
+ ?draw@QSvgTinyDocument@@UAEXPAVQPainter@@AAUQSvgExtraStates@@@Z @ 11 NONAME ; void QSvgTinyDocument::draw(class QPainter *, struct QSvgExtraStates &)
+ ?tr@QSvgRenderer@@SA?AVQString@@PBD0@Z @ 12 NONAME ; class QString QSvgRenderer::tr(char const *, char const *)
+ ?elementExists@QSvgRenderer@@QBE_NABVQString@@@Z @ 13 NONAME ; bool QSvgRenderer::elementExists(class QString const &) const
+ ?repaintNeeded@QSvgRenderer@@IAEXXZ @ 14 NONAME ; void QSvgRenderer::repaintNeeded(void)
+ ?qt_metacast@QSvgWidget@@UAEPAXPBD@Z @ 15 NONAME ; void * QSvgWidget::qt_metacast(char const *)
+ ??_EQSvgRenderer@@UAE@I@Z @ 16 NONAME ; QSvgRenderer::~QSvgRenderer(unsigned int)
+ ?d_func@QSvgGenerator@@ABEPBVQSvgGeneratorPrivate@@XZ @ 17 NONAME ; class QSvgGeneratorPrivate const * QSvgGenerator::d_func(void) const
+ ?animationDuration@QSvgTinyDocument@@QBEHXZ @ 18 NONAME ; int QSvgTinyDocument::animationDuration(void) const
+ ??0QSvgGenerator@@QAE@XZ @ 19 NONAME ; QSvgGenerator::QSvgGenerator(void)
+ ?load@QSvgRenderer@@QAE_NPAVQXmlStreamReader@@@Z @ 20 NONAME ; bool QSvgRenderer::load(class QXmlStreamReader *)
+ ?d_func@QSvgWidget@@ABEPBVQSvgWidgetPrivate@@XZ @ 21 NONAME ; class QSvgWidgetPrivate const * QSvgWidget::d_func(void) const
+ ?fileName@QSvgGenerator@@QBE?AVQString@@XZ @ 22 NONAME ; class QString QSvgGenerator::fileName(void) const
+ ?outputDevice@QSvgGenerator@@QBEPAVQIODevice@@XZ @ 23 NONAME ; class QIODevice * QSvgGenerator::outputDevice(void) const
+ ?svgFont@QSvgTinyDocument@@QBEPAVQSvgFont@@ABVQString@@@Z @ 24 NONAME ; class QSvgFont * QSvgTinyDocument::svgFont(class QString const &) const
+ ?paintEvent@QSvgWidget@@MAEXPAVQPaintEvent@@@Z @ 25 NONAME ; void QSvgWidget::paintEvent(class QPaintEvent *)
+ ?paint@QGraphicsSvgItem@@UAEXPAVQPainter@@PBVQStyleOptionGraphicsItem@@PAVQWidget@@@Z @ 26 NONAME ; void QGraphicsSvgItem::paint(class QPainter *, class QStyleOptionGraphicsItem const *, class QWidget *)
+ ?qt_metacall@QSvgRenderer@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 27 NONAME ; int QSvgRenderer::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?qt_metacast@QGraphicsSvgItem@@UAEPAXPBD@Z @ 28 NONAME ; void * QGraphicsSvgItem::qt_metacast(char const *)
+ ??_EQGraphicsSvgItem@@UAE@I@Z @ 29 NONAME ; QGraphicsSvgItem::~QGraphicsSvgItem(unsigned int)
+ ?render@QSvgRenderer@@QAEXPAVQPainter@@ABVQRectF@@@Z @ 30 NONAME ; void QSvgRenderer::render(class QPainter *, class QRectF const &)
+ ?setFramesPerSecond@QSvgRenderer@@QAEXH@Z @ 31 NONAME ; void QSvgRenderer::setFramesPerSecond(int)
+ ??0QSvgRenderer@@QAE@ABVQByteArray@@PAVQObject@@@Z @ 32 NONAME ; QSvgRenderer::QSvgRenderer(class QByteArray const &, class QObject *)
+ ?boundsOnElement@QSvgRenderer@@QBE?AVQRectF@@ABVQString@@@Z @ 33 NONAME ; class QRectF QSvgRenderer::boundsOnElement(class QString const &) const
+ ?draw@QSvgTinyDocument@@QAEXPAVQPainter@@ABVQRectF@@@Z @ 34 NONAME ; void QSvgTinyDocument::draw(class QPainter *, class QRectF const &)
+ ?currentElapsed@QSvgTinyDocument@@QBEHXZ @ 35 NONAME ; int QSvgTinyDocument::currentElapsed(void) const
+ ?setFramesPerSecond@QSvgTinyDocument@@QAEXH@Z @ 36 NONAME ; void QSvgTinyDocument::setFramesPerSecond(int)
+ ??0QSvgRenderer@@QAE@PAVQXmlStreamReader@@PAVQObject@@@Z @ 37 NONAME ; QSvgRenderer::QSvgRenderer(class QXmlStreamReader *, class QObject *)
+ ?addNamedStyle@QSvgTinyDocument@@QAEXABVQString@@PAVQSvgFillStyleProperty@@@Z @ 38 NONAME ; void QSvgTinyDocument::addNamedStyle(class QString const &, class QSvgFillStyleProperty *)
+ ??0QGraphicsSvgItem@@QAE@ABVQString@@PAVQGraphicsItem@@@Z @ 39 NONAME ; QGraphicsSvgItem::QGraphicsSvgItem(class QString const &, class QGraphicsItem *)
+ ??_EQSvgGenerator@@UAE@I@Z @ 40 NONAME ; QSvgGenerator::~QSvgGenerator(unsigned int)
+ ?staticMetaObject@QGraphicsSvgItem@@2UQMetaObject@@B @ 41 NONAME ; struct QMetaObject const QGraphicsSvgItem::staticMetaObject
+ ?render@QSvgRenderer@@QAEXPAVQPainter@@@Z @ 42 NONAME ; void QSvgRenderer::render(class QPainter *)
+ ??0QSvgRenderer@@QAE@PAVQObject@@@Z @ 43 NONAME ; QSvgRenderer::QSvgRenderer(class QObject *)
+ ??1QSvgRenderer@@UAE@XZ @ 44 NONAME ; QSvgRenderer::~QSvgRenderer(void)
+ ?viewBox@QSvgRenderer@@QBE?AVQRect@@XZ @ 45 NONAME ; class QRect QSvgRenderer::viewBox(void) const
+ ?resolution@QSvgGenerator@@QBEHXZ @ 46 NONAME ; int QSvgGenerator::resolution(void) const
+ ?staticMetaObject@QSvgRenderer@@2UQMetaObject@@B @ 47 NONAME ; struct QMetaObject const QSvgRenderer::staticMetaObject
+ ?setViewBox@QSvgRenderer@@QAEXABVQRectF@@@Z @ 48 NONAME ; void QSvgRenderer::setViewBox(class QRectF const &)
+ ?setDescription@QSvgGenerator@@QAEXABVQString@@@Z @ 49 NONAME ; void QSvgGenerator::setDescription(class QString const &)
+ ?type@QGraphicsSvgItem@@UBEHXZ @ 50 NONAME ; int QGraphicsSvgItem::type(void) const
+ ?size@QSvgTinyDocument@@QBE?AVQSize@@XZ @ 51 NONAME ; class QSize QSvgTinyDocument::size(void) const
+ ?setResolution@QSvgGenerator@@QAEXH@Z @ 52 NONAME ; void QSvgGenerator::setResolution(int)
+ ?setViewBox@QSvgTinyDocument@@QAEXABVQRectF@@@Z @ 53 NONAME ; void QSvgTinyDocument::setViewBox(class QRectF const &)
+ ?type@QSvgTinyDocument@@UBE?AW4Type@QSvgNode@@XZ @ 54 NONAME ; enum QSvgNode::Type QSvgTinyDocument::type(void) const
+ ?renderer@QSvgWidget@@QBEPAVQSvgRenderer@@XZ @ 55 NONAME ; class QSvgRenderer * QSvgWidget::renderer(void) const
+ ?trUtf8@QSvgRenderer@@SA?AVQString@@PBD0@Z @ 56 NONAME ; class QString QSvgRenderer::trUtf8(char const *, char const *)
+ ?setSize@QSvgGenerator@@QAEXABVQSize@@@Z @ 57 NONAME ; void QSvgGenerator::setSize(class QSize const &)
+ ?elementExists@QSvgTinyDocument@@QBE_NABVQString@@@Z @ 58 NONAME ; bool QSvgTinyDocument::elementExists(class QString const &) const
+ ?description@QSvgGenerator@@QBE?AVQString@@XZ @ 59 NONAME ; class QString QSvgGenerator::description(void) const
+ ?setCurrentFrame@QSvgRenderer@@QAEXH@Z @ 60 NONAME ; void QSvgRenderer::setCurrentFrame(int)
+ ?load@QSvgRenderer@@QAE_NABVQByteArray@@@Z @ 61 NONAME ; bool QSvgRenderer::load(class QByteArray const &)
+ ?currentFrame@QSvgRenderer@@QBEHXZ @ 62 NONAME ; int QSvgRenderer::currentFrame(void) const
+ ?tr@QGraphicsSvgItem@@SA?AVQString@@PBD0@Z @ 63 NONAME ; class QString QGraphicsSvgItem::tr(char const *, char const *)
+ ?getStaticMetaObject@QGraphicsSvgItem@@SAABUQMetaObject@@XZ @ 64 NONAME ; struct QMetaObject const & QGraphicsSvgItem::getStaticMetaObject(void)
+ ?setHeight@QSvgTinyDocument@@QAEXH_N@Z @ 65 NONAME ; void QSvgTinyDocument::setHeight(int, bool)
+ ?boundsOnElement@QSvgTinyDocument@@QBE?AVQRectF@@ABVQString@@@Z @ 66 NONAME ; class QRectF QSvgTinyDocument::boundsOnElement(class QString const &) const
+ ?draw@QSvgTinyDocument@@QAEXPAVQPainter@@@Z @ 67 NONAME ; void QSvgTinyDocument::draw(class QPainter *)
+ ?qt_metacall@QGraphicsSvgItem@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 68 NONAME ; int QGraphicsSvgItem::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?metaObject@QSvgWidget@@UBEPBUQMetaObject@@XZ @ 69 NONAME ; struct QMetaObject const * QSvgWidget::metaObject(void) const
+ ??_EQSvgTinyDocument@@UAE@I@Z @ 70 NONAME ; QSvgTinyDocument::~QSvgTinyDocument(unsigned int)
+ ?getStaticMetaObject@QSvgWidget@@SAABUQMetaObject@@XZ @ 71 NONAME ; struct QMetaObject const & QSvgWidget::getStaticMetaObject(void)
+ ??0QSvgTinyDocument@@QAE@XZ @ 72 NONAME ; QSvgTinyDocument::QSvgTinyDocument(void)
+ ?paintEngine@QSvgGenerator@@MBEPAVQPaintEngine@@XZ @ 73 NONAME ; class QPaintEngine * QSvgGenerator::paintEngine(void) const
+ ?animated@QSvgTinyDocument@@QBE_NXZ @ 74 NONAME ; bool QSvgTinyDocument::animated(void) const
+ ?staticMetaObject@QSvgWidget@@2UQMetaObject@@B @ 75 NONAME ; struct QMetaObject const QSvgWidget::staticMetaObject
+ ?sizeHint@QSvgWidget@@UBE?AVQSize@@XZ @ 76 NONAME ; class QSize QSvgWidget::sizeHint(void) const
+ ?tr@QSvgRenderer@@SA?AVQString@@PBD0H@Z @ 77 NONAME ; class QString QSvgRenderer::tr(char const *, char const *, int)
+ ?d_func@QSvgGenerator@@AAEPAVQSvgGeneratorPrivate@@XZ @ 78 NONAME ; class QSvgGeneratorPrivate * QSvgGenerator::d_func(void)
+ ?widthPercent@QSvgTinyDocument@@QBE_NXZ @ 79 NONAME ; bool QSvgTinyDocument::widthPercent(void) const
+ ?qt_metacall@QSvgWidget@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 80 NONAME ; int QSvgWidget::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?setWidth@QSvgTinyDocument@@QAEXH_N@Z @ 81 NONAME ; void QSvgTinyDocument::setWidth(int, bool)
+ ?trUtf8@QSvgWidget@@SA?AVQString@@PBD0@Z @ 82 NONAME ; class QString QSvgWidget::trUtf8(char const *, char const *)
+ ??0QSvgRenderer@@QAE@ABVQString@@PAVQObject@@@Z @ 83 NONAME ; QSvgRenderer::QSvgRenderer(class QString const &, class QObject *)
+ ?matrixForElement@QSvgTinyDocument@@QBE?AVQMatrix@@ABVQString@@@Z @ 84 NONAME ; class QMatrix QSvgTinyDocument::matrixForElement(class QString const &) const
+ ?getStaticMetaObject@QSvgRenderer@@SAABUQMetaObject@@XZ @ 85 NONAME ; struct QMetaObject const & QSvgRenderer::getStaticMetaObject(void)
+ ?title@QSvgGenerator@@QBE?AVQString@@XZ @ 86 NONAME ; class QString QSvgGenerator::title(void) const
+ ?size@QSvgGenerator@@QBE?AVQSize@@XZ @ 87 NONAME ; class QSize QSvgGenerator::size(void) const
+ ?viewBoxF@QSvgRenderer@@QBE?AVQRectF@@XZ @ 88 NONAME ; class QRectF QSvgRenderer::viewBoxF(void) const
+ ?isCachingEnabled@QGraphicsSvgItem@@QBE_NXZ @ 89 NONAME ; bool QGraphicsSvgItem::isCachingEnabled(void) const
+ ?defaultSize@QSvgRenderer@@QBE?AVQSize@@XZ @ 90 NONAME ; class QSize QSvgRenderer::defaultSize(void) const
+ ?load@QSvgTinyDocument@@SAPAV1@PAVQXmlStreamReader@@@Z @ 91 NONAME ; class QSvgTinyDocument * QSvgTinyDocument::load(class QXmlStreamReader *)
+ ?setTitle@QSvgGenerator@@QAEXABVQString@@@Z @ 92 NONAME ; void QSvgGenerator::setTitle(class QString const &)
+ ??_EQSvgWidget@@UAE@I@Z @ 93 NONAME ; QSvgWidget::~QSvgWidget(unsigned int)
+ ?d_func@QSvgRenderer@@ABEPBVQSvgRendererPrivate@@XZ @ 94 NONAME ; class QSvgRendererPrivate const * QSvgRenderer::d_func(void) const
+ ?animated@QSvgRenderer@@QBE_NXZ @ 95 NONAME ; bool QSvgRenderer::animated(void) const
+ ?metric@QSvgGenerator@@MBEHW4PaintDeviceMetric@QPaintDevice@@@Z @ 96 NONAME ; int QSvgGenerator::metric(enum QPaintDevice::PaintDeviceMetric) const
+ ?matrixForElement@QSvgRenderer@@QBE?AVQMatrix@@ABVQString@@@Z @ 97 NONAME ; class QMatrix QSvgRenderer::matrixForElement(class QString const &) const
+ ??1QGraphicsSvgItem@@UAE@XZ @ 98 NONAME ; QGraphicsSvgItem::~QGraphicsSvgItem(void)
+ ?d_func@QSvgRenderer@@AAEPAVQSvgRendererPrivate@@XZ @ 99 NONAME ; class QSvgRendererPrivate * QSvgRenderer::d_func(void)
+ ?qt_metacast@QSvgRenderer@@UAEPAXPBD@Z @ 100 NONAME ; void * QSvgRenderer::qt_metacast(char const *)
+ ??1QSvgGenerator@@UAE@XZ @ 101 NONAME ; QSvgGenerator::~QSvgGenerator(void)
+ ??1QSvgTinyDocument@@UAE@XZ @ 102 NONAME ; QSvgTinyDocument::~QSvgTinyDocument(void)
+ ?load@QSvgTinyDocument@@SAPAV1@ABVQByteArray@@@Z @ 103 NONAME ; class QSvgTinyDocument * QSvgTinyDocument::load(class QByteArray const &)
+ ?d_func@QSvgWidget@@AAEPAVQSvgWidgetPrivate@@XZ @ 104 NONAME ; class QSvgWidgetPrivate * QSvgWidget::d_func(void)
+ ?isValid@QSvgRenderer@@QBE_NXZ @ 105 NONAME ; bool QSvgRenderer::isValid(void) const
+ ?metaObject@QSvgRenderer@@UBEPBUQMetaObject@@XZ @ 106 NONAME ; struct QMetaObject const * QSvgRenderer::metaObject(void) const
+ ?addSvgFont@QSvgTinyDocument@@QAEXPAVQSvgFont@@@Z @ 107 NONAME ; void QSvgTinyDocument::addSvgFont(class QSvgFont *)
+ ?viewBoxF@QSvgGenerator@@QBE?AVQRectF@@XZ @ 108 NONAME ; class QRectF QSvgGenerator::viewBoxF(void) const
+ ?tr@QSvgWidget@@SA?AVQString@@PBD0H@Z @ 109 NONAME ; class QString QSvgWidget::tr(char const *, char const *, int)
+ ?addNamedNode@QSvgTinyDocument@@QAEXABVQString@@PAVQSvgNode@@@Z @ 110 NONAME ; void QSvgTinyDocument::addNamedNode(class QString const &, class QSvgNode *)
+ ?tr@QSvgWidget@@SA?AVQString@@PBD0@Z @ 111 NONAME ; class QString QSvgWidget::tr(char const *, char const *)
+ ??0QSvgWidget@@QAE@PAVQWidget@@@Z @ 112 NONAME ; QSvgWidget::QSvgWidget(class QWidget *)
+ ?namedStyle@QSvgTinyDocument@@QBEPAVQSvgFillStyleProperty@@ABVQString@@@Z @ 113 NONAME ; class QSvgFillStyleProperty * QSvgTinyDocument::namedStyle(class QString const &) const
+ ?preserveAspectRatio@QSvgTinyDocument@@QBE_NXZ @ 114 NONAME ; bool QSvgTinyDocument::preserveAspectRatio(void) const
+ ?boundingRect@QGraphicsSvgItem@@UBE?AVQRectF@@XZ @ 115 NONAME ; class QRectF QGraphicsSvgItem::boundingRect(void) const
+ ?maximumCacheSize@QGraphicsSvgItem@@QBE?AVQSize@@XZ @ 116 NONAME ; class QSize QGraphicsSvgItem::maximumCacheSize(void) const
+ ?setSharedRenderer@QGraphicsSvgItem@@QAEXPAVQSvgRenderer@@@Z @ 117 NONAME ; void QGraphicsSvgItem::setSharedRenderer(class QSvgRenderer *)
+ ?setViewBox@QSvgRenderer@@QAEXABVQRect@@@Z @ 118 NONAME ; void QSvgRenderer::setViewBox(class QRect const &)
+ ?framesPerSecond@QSvgRenderer@@QBEHXZ @ 119 NONAME ; int QSvgRenderer::framesPerSecond(void) const
+ ?restartAnimation@QSvgTinyDocument@@QAEXXZ @ 120 NONAME ; void QSvgTinyDocument::restartAnimation(void)
+ ?tr@QGraphicsSvgItem@@SA?AVQString@@PBD0H@Z @ 121 NONAME ; class QString QGraphicsSvgItem::tr(char const *, char const *, int)
+ ?currentFrame@QSvgTinyDocument@@QBEHXZ @ 122 NONAME ; int QSvgTinyDocument::currentFrame(void) const
+ ?renderer@QGraphicsSvgItem@@QBEPAVQSvgRenderer@@XZ @ 123 NONAME ; class QSvgRenderer * QGraphicsSvgItem::renderer(void) const
+ ?setFileName@QSvgGenerator@@QAEXABVQString@@@Z @ 124 NONAME ; void QSvgGenerator::setFileName(class QString const &)
+ ?draw@QSvgTinyDocument@@QAEXPAVQPainter@@ABVQString@@ABVQRectF@@@Z @ 125 NONAME ; void QSvgTinyDocument::draw(class QPainter *, class QString const &, class QRectF const &)
+ ?viewBox@QSvgGenerator@@QBE?AVQRect@@XZ @ 126 NONAME ; class QRect QSvgGenerator::viewBox(void) const
+ ?trUtf8@QSvgRenderer@@SA?AVQString@@PBD0H@Z @ 127 NONAME ; class QString QSvgRenderer::trUtf8(char const *, char const *, int)
+ ?metaObject@QGraphicsSvgItem@@UBEPBUQMetaObject@@XZ @ 128 NONAME ; struct QMetaObject const * QGraphicsSvgItem::metaObject(void) const
+ ?trUtf8@QSvgWidget@@SA?AVQString@@PBD0H@Z @ 129 NONAME ; class QString QSvgWidget::trUtf8(char const *, char const *, int)
+ ?elementId@QGraphicsSvgItem@@QBE?AVQString@@XZ @ 130 NONAME ; class QString QGraphicsSvgItem::elementId(void) const
+ ?setOutputDevice@QSvgGenerator@@QAEXPAVQIODevice@@@Z @ 131 NONAME ; void QSvgGenerator::setOutputDevice(class QIODevice *)
+ ?load@QSvgWidget@@QAEXABVQByteArray@@@Z @ 132 NONAME ; void QSvgWidget::load(class QByteArray const &)
+ ?viewBox@QSvgTinyDocument@@QBE?AVQRectF@@XZ @ 133 NONAME ; class QRectF QSvgTinyDocument::viewBox(void) const
+ ?setAnimated@QSvgTinyDocument@@QAEX_N@Z @ 134 NONAME ; void QSvgTinyDocument::setAnimated(bool)
+ ?setElementId@QGraphicsSvgItem@@QAEXABVQString@@@Z @ 135 NONAME ; void QGraphicsSvgItem::setElementId(class QString const &)
+ ?width@QSvgTinyDocument@@QBEHXZ @ 136 NONAME ; int QSvgTinyDocument::width(void) const
+ ?animationDuration@QSvgRenderer@@QBEHXZ @ 137 NONAME ; int QSvgRenderer::animationDuration(void) const
+ ?setCurrentFrame@QSvgTinyDocument@@QAEXH@Z @ 138 NONAME ; void QSvgTinyDocument::setCurrentFrame(int)
+ ?mapSourceToTarget@QSvgTinyDocument@@AAEXPAVQPainter@@ABVQRectF@@1@Z @ 139 NONAME ; void QSvgTinyDocument::mapSourceToTarget(class QPainter *, class QRectF const &, class QRectF const &)
+ ??0QSvgWidget@@QAE@ABVQString@@PAVQWidget@@@Z @ 140 NONAME ; QSvgWidget::QSvgWidget(class QString const &, class QWidget *)
+ ??0QGraphicsSvgItem@@QAE@PAVQGraphicsItem@@@Z @ 141 NONAME ; QGraphicsSvgItem::QGraphicsSvgItem(class QGraphicsItem *)
+ ?setViewBox@QSvgGenerator@@QAEXABVQRectF@@@Z @ 142 NONAME ; void QSvgGenerator::setViewBox(class QRectF const &)
+ ?load@QSvgTinyDocument@@SAPAV1@ABVQString@@@Z @ 143 NONAME ; class QSvgTinyDocument * QSvgTinyDocument::load(class QString const &)
+ ?setViewBox@QSvgGenerator@@QAEXABVQRect@@@Z @ 144 NONAME ; void QSvgGenerator::setViewBox(class QRect const &)
+ ?setCachingEnabled@QGraphicsSvgItem@@QAEX_N@Z @ 145 NONAME ; void QGraphicsSvgItem::setCachingEnabled(bool)
+ ?trUtf8@QGraphicsSvgItem@@SA?AVQString@@PBD0H@Z @ 146 NONAME ; class QString QGraphicsSvgItem::trUtf8(char const *, char const *, int)
+ ?heightPercent@QSvgTinyDocument@@QBE_NXZ @ 147 NONAME ; bool QSvgTinyDocument::heightPercent(void) const
+
diff --git a/src/s60installs/bwins/QtTestu.def b/src/s60installs/bwins/QtTestu.def
new file mode 100644
index 0000000..aabb2d7
--- /dev/null
+++ b/src/s60installs/bwins/QtTestu.def
@@ -0,0 +1,79 @@
+EXPORTS
+ ?testObject@QTest@@YAPAVQObject@@XZ @ 1 NONAME ; class QObject * QTest::testObject(void)
+ ?trUtf8@QTestEventLoop@@SA?AVQString@@PBD0@Z @ 2 NONAME ; class QString QTestEventLoop::trUtf8(char const *, char const *)
+ ?toString@QTest@@YAPADPBD@Z @ 3 NONAME ; char * QTest::toString(char const *)
+ ?append@QTestData@@QAEXHPBX@Z @ 4 NONAME ; void QTestData::append(int, void const *)
+ ?getStaticMetaObject@QTestEventLoop@@SAABUQMetaObject@@XZ @ 5 NONAME ; struct QMetaObject const & QTestEventLoop::getStaticMetaObject(void)
+ ?qGlobalData@QTest@@YAPAXPBDH@Z @ 6 NONAME ; void * QTest::qGlobalData(char const *, int)
+ ??1QTestData@@QAE@XZ @ 7 NONAME ; QTestData::~QTestData(void)
+ ??1QTestEventLoop@@UAE@XZ @ 8 NONAME ; QTestEventLoop::~QTestEventLoop(void)
+ ?qExec@QTest@@YAHPAVQObject@@ABVQStringList@@@Z @ 9 NONAME ; int QTest::qExec(class QObject *, class QStringList const &)
+ ?currentDataTag@QTest@@YAPBDXZ @ 10 NONAME ; char const * QTest::currentDataTag(void)
+ ??0QBenchmarkIterationController@QTest@@QAE@XZ @ 11 NONAME ; QTest::QBenchmarkIterationController::QBenchmarkIterationController(void)
+ ??0QBenchmarkIterationController@QTest@@QAE@W4RunMode@01@@Z @ 12 NONAME ; QTest::QBenchmarkIterationController::QBenchmarkIterationController(enum QTest::QBenchmarkIterationController::RunMode)
+ ?newRow@QTest@@YAAAVQTestData@@PBD@Z @ 13 NONAME ; class QTestData & QTest::newRow(char const *)
+ ?compare_helper@QTest@@YA_N_NPBD1H@Z @ 14 NONAME ; bool QTest::compare_helper(bool, char const *, char const *, int)
+ ?isDone@QBenchmarkIterationController@QTest@@QAE_NXZ @ 15 NONAME ; bool QTest::QBenchmarkIterationController::isDone(void)
+ ?qCompare@?$@N@QTest@@YA_NABN0PBD11H@Z @ 16 NONAME ; bool QTest::qCompare<double>(double const &, double const &, char const *, char const *, char const *, int)
+ ?changeInterval@QTestEventLoop@@QAEXH@Z @ 17 NONAME ; void QTestEventLoop::changeInterval(int)
+ ??_EQTestEventLoop@@UAE@I@Z @ 18 NONAME ; QTestEventLoop::~QTestEventLoop(unsigned int)
+ ?keyToAscii@QTest@@YADW4Key@Qt@@@Z @ 19 NONAME ; char QTest::keyToAscii(enum Qt::Key)
+ ?toString@?$@_J@QTest@@YAPADAB_J@Z @ 20 NONAME ; char * QTest::toString<long long>(long long const &)
+ ?beginBenchmarkMeasurement@QTest@@YAXXZ @ 21 NONAME ; void QTest::beginBenchmarkMeasurement(void)
+ ?toString@?$@H@QTest@@YAPADABH@Z @ 22 NONAME ; char * QTest::toString<int>(int const &)
+ ?toString@?$@K@QTest@@YAPADABK@Z @ 23 NONAME ; char * QTest::toString<unsigned long>(unsigned long const &)
+ ?toString@?$@N@QTest@@YAPADABN@Z @ 24 NONAME ; char * QTest::toString<double>(double const &)
+ ?qExec@QTest@@YAHPAVQObject@@HPAPAD@Z @ 25 NONAME ; int QTest::qExec(class QObject *, int, char * *)
+ ?exitLoop@QTestEventLoop@@QAEXXZ @ 26 NONAME ; void QTestEventLoop::exitLoop(void)
+ ?currentTestFunction@QTest@@YAPBDXZ @ 27 NONAME ; char const * QTest::currentTestFunction(void)
+ ??0QTestData@@AAE@PBDPAVQTestTable@@@Z @ 28 NONAME ; QTestData::QTestData(char const *, class QTestTable *)
+ ?addColumnInternal@QTest@@YAXHPBD@Z @ 29 NONAME ; void QTest::addColumnInternal(int, char const *)
+ ?trUtf8@QTestEventLoop@@SA?AVQString@@PBD0H@Z @ 30 NONAME ; class QString QTestEventLoop::trUtf8(char const *, char const *, int)
+ ?parent@QTestData@@QBEPAVQTestTable@@XZ @ 31 NONAME ; class QTestTable * QTestData::parent(void) const
+ ?dataCount@QTestData@@QBEHXZ @ 32 NONAME ; int QTestData::dataCount(void) const
+ ?qVerify@QTest@@YA_N_NPBD11H@Z @ 33 NONAME ; bool QTest::qVerify(bool, char const *, char const *, char const *, int)
+ ?next@QBenchmarkIterationController@QTest@@QAEXXZ @ 34 NONAME ; void QTest::QBenchmarkIterationController::next(void)
+ ?tr@QTestEventLoop@@SA?AVQString@@PBD0H@Z @ 35 NONAME ; class QString QTestEventLoop::tr(char const *, char const *, int)
+ ?qWarn@QTest@@YAXPBD@Z @ 36 NONAME ; void QTest::qWarn(char const *)
+ ?defaultMouseDelay@QTest@@YAHXZ @ 37 NONAME ; int QTest::defaultMouseDelay(void)
+ ?timeout@QTestEventLoop@@QBE_NXZ @ 38 NONAME ; bool QTestEventLoop::timeout(void) const
+ ?data@QTestData@@QBEPAXH@Z @ 39 NONAME ; void * QTestData::data(int) const
+ ?enterLoop@QTestEventLoop@@QAEXH@Z @ 40 NONAME ; void QTestEventLoop::enterLoop(int)
+ ?asciiToKey@QTest@@YA?AW4Key@Qt@@D@Z @ 41 NONAME ; enum Qt::Key QTest::asciiToKey(char)
+ ?toString@QTest@@YAPADPBX@Z @ 42 NONAME ; char * QTest::toString(void const *)
+ ?compare_string_helper@QTest@@YA_NPBD0000H@Z @ 43 NONAME ; bool QTest::compare_string_helper(char const *, char const *, char const *, char const *, char const *, int)
+ ?qt_metacall@QTestEventLoop@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 44 NONAME ; int QTestEventLoop::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?qElementData@QTest@@YAPAXPBDH@Z @ 45 NONAME ; void * QTest::qElementData(char const *, int)
+ ?compare_helper@QTest@@YA_N_NPBDPAD2111H@Z @ 46 NONAME ; bool QTest::compare_helper(bool, char const *, char *, char *, char const *, char const *, char const *, int)
+ ?qt_metacast@QTestEventLoop@@UAEPAXPBD@Z @ 47 NONAME ; void * QTestEventLoop::qt_metacast(char const *)
+ ?defaultKeyVerbose@QTest@@YA_NXZ @ 48 NONAME ; bool QTest::defaultKeyVerbose(void)
+ ?qSkip@QTest@@YAXPBDW4SkipMode@1@0H@Z @ 49 NONAME ; void QTest::qSkip(char const *, enum QTest::SkipMode, char const *, int)
+ ?toString@?$@D@QTest@@YAPADABD@Z @ 50 NONAME ; char * QTest::toString<char>(char const &)
+ ?toString@?$@G@QTest@@YAPADABG@Z @ 51 NONAME ; char * QTest::toString<unsigned short>(unsigned short const &)
+ ?toString@?$@J@QTest@@YAPADABJ@Z @ 52 NONAME ; char * QTest::toString<long>(long const &)
+ ?tr@QTestEventLoop@@SA?AVQString@@PBD0@Z @ 53 NONAME ; class QString QTestEventLoop::tr(char const *, char const *)
+ ?timerEvent@QTestEventLoop@@MAEXPAVQTimerEvent@@@Z @ 54 NONAME ; void QTestEventLoop::timerEvent(class QTimerEvent *)
+ ?toString@?$@M@QTest@@YAPADABM@Z @ 55 NONAME ; char * QTest::toString<float>(float const &)
+ ?metaObject@QTestEventLoop@@UBEPBUQMetaObject@@XZ @ 56 NONAME ; struct QMetaObject const * QTestEventLoop::metaObject(void) const
+ ?instance@QTestEventLoop@@SAAAV1@XZ @ 57 NONAME ; class QTestEventLoop & QTestEventLoop::instance(void)
+ ?toString@?$@_K@QTest@@YAPADAB_K@Z @ 58 NONAME ; char * QTest::toString<unsigned long long>(unsigned long long const &)
+ ??_EQTestData@@QAE@I@Z @ 59 NONAME ABSENT ; QTestData::~QTestData(unsigned int)
+ ?qCompare@?$@M@QTest@@YA_NABM0PBD11H@Z @ 60 NONAME ; bool QTest::qCompare<float>(float const &, float const &, char const *, char const *, char const *, int)
+ ?toHexRepresentation@QTest@@YAPADPBDH@Z @ 61 NONAME ; char * QTest::toHexRepresentation(char const *, int)
+ ?qt_snprintf@QTest@@YAHPADHPBDZZ @ 62 NONAME ; int QTest::qt_snprintf(char *, int, char const *, ...)
+ ?qData@QTest@@YAPAXPBDH@Z @ 63 NONAME ; void * QTest::qData(char const *, int)
+ ?defaultKeyDelay@QTest@@YAHXZ @ 64 NONAME ; int QTest::defaultKeyDelay(void)
+ ??0QTestEventLoop@@QAE@PAVQObject@@@Z @ 65 NONAME ; QTestEventLoop::QTestEventLoop(class QObject *)
+ ?ignoreMessage@QTest@@YAXW4QtMsgType@@PBD@Z @ 66 NONAME ; void QTest::ignoreMessage(enum QtMsgType, char const *)
+ ?endBenchmarkMeasurement@QTest@@YA_JXZ @ 67 NONAME ; long long QTest::endBenchmarkMeasurement(void)
+ ?qSleep@QTest@@YAXH@Z @ 68 NONAME ; void QTest::qSleep(int)
+ ?staticMetaObject@QTestEventLoop@@2UQMetaObject@@B @ 69 NONAME ; struct QMetaObject const QTestEventLoop::staticMetaObject
+ ?toString@?$@F@QTest@@YAPADABF@Z @ 70 NONAME ; char * QTest::toString<short>(short const &)
+ ?toString@?$@I@QTest@@YAPADABI@Z @ 71 NONAME ; char * QTest::toString<unsigned int>(unsigned int const &)
+ ?dataTag@QTestData@@QBEPBDXZ @ 72 NONAME ; char const * QTestData::dataTag(void) const
+ ?qExpectFail@QTest@@YA_NPBD0W4TestFailMode@1@0H@Z @ 73 NONAME ; bool QTest::qExpectFail(char const *, char const *, enum QTest::TestFailMode, char const *, int)
+ ?toString@?$@_N@QTest@@YAPADAB_N@Z @ 74 NONAME ; char * QTest::toString<bool>(bool const &)
+ ?currentTestFailed@QTest@@YA_NXZ @ 75 NONAME ; bool QTest::currentTestFailed(void)
+ ??1QBenchmarkIterationController@QTest@@QAE@XZ @ 76 NONAME ; QTest::QBenchmarkIterationController::~QBenchmarkIterationController(void)
+ ?qFail@QTest@@YAXPBD0H@Z @ 77 NONAME ; void QTest::qFail(char const *, char const *, int)
+
diff --git a/src/s60installs/bwins/QtXmlPatternsu.def b/src/s60installs/bwins/QtXmlPatternsu.def
new file mode 100644
index 0000000..57a75d4
--- /dev/null
+++ b/src/s60installs/bwins/QtXmlPatternsu.def
@@ -0,0 +1,280 @@
+EXPORTS
+ ??0QAbstractMessageHandler@@QAE@PAVQObject@@@Z @ 1 NONAME ; QAbstractMessageHandler::QAbstractMessageHandler(class QObject *)
+ ??0QAbstractUriResolver@@QAE@PAVQObject@@@Z @ 2 NONAME ; QAbstractUriResolver::QAbstractUriResolver(class QObject *)
+ ??0QAbstractXmlNodeModel@@IAE@PAVQAbstractXmlNodeModelPrivate@@@Z @ 3 NONAME ; QAbstractXmlNodeModel::QAbstractXmlNodeModel(class QAbstractXmlNodeModelPrivate *)
+ ??0QAbstractXmlNodeModel@@QAE@XZ @ 4 NONAME ; QAbstractXmlNodeModel::QAbstractXmlNodeModel(void)
+ ??0QAbstractXmlReceiver@@IAE@PAVQAbstractXmlReceiverPrivate@@@Z @ 5 NONAME ; QAbstractXmlReceiver::QAbstractXmlReceiver(class QAbstractXmlReceiverPrivate *)
+ ??0QAbstractXmlReceiver@@QAE@XZ @ 6 NONAME ; QAbstractXmlReceiver::QAbstractXmlReceiver(void)
+ ??0QSimpleXmlNodeModel@@QAE@ABVQXmlNamePool@@@Z @ 7 NONAME ; QSimpleXmlNodeModel::QSimpleXmlNodeModel(class QXmlNamePool const &)
+ ??0QSourceLocation@@QAE@ABV0@@Z @ 8 NONAME ; QSourceLocation::QSourceLocation(class QSourceLocation const &)
+ ??0QSourceLocation@@QAE@ABVQUrl@@HH@Z @ 9 NONAME ; QSourceLocation::QSourceLocation(class QUrl const &, int, int)
+ ??0QSourceLocation@@QAE@XZ @ 10 NONAME ; QSourceLocation::QSourceLocation(void)
+ ??0QXmlFormatter@@QAE@ABVQXmlQuery@@PAVQIODevice@@@Z @ 11 NONAME ; QXmlFormatter::QXmlFormatter(class QXmlQuery const &, class QIODevice *)
+ ??0QXmlItem@@AAE@ABVItem@QPatternist@@@Z @ 12 NONAME ; QXmlItem::QXmlItem(class QPatternist::Item const &)
+ ??0QXmlItem@@QAE@ABV0@@Z @ 13 NONAME ; QXmlItem::QXmlItem(class QXmlItem const &)
+ ??0QXmlItem@@QAE@ABVQVariant@@@Z @ 14 NONAME ; QXmlItem::QXmlItem(class QVariant const &)
+ ??0QXmlItem@@QAE@ABVQXmlNodeModelIndex@@@Z @ 15 NONAME ; QXmlItem::QXmlItem(class QXmlNodeModelIndex const &)
+ ??0QXmlItem@@QAE@XZ @ 16 NONAME ; QXmlItem::QXmlItem(void)
+ ??0QXmlName@@AAE@H@Z @ 17 NONAME ; QXmlName::QXmlName(int)
+ ??0QXmlName@@QAE@AAVQXmlNamePool@@ABVQString@@11@Z @ 18 NONAME ; QXmlName::QXmlName(class QXmlNamePool &, class QString const &, class QString const &, class QString const &)
+ ??0QXmlName@@QAE@ABV0@@Z @ 19 NONAME ; QXmlName::QXmlName(class QXmlName const &)
+ ??0QXmlName@@QAE@FFF@Z @ 20 NONAME ; QXmlName::QXmlName(short, short, short)
+ ??0QXmlName@@QAE@XZ @ 21 NONAME ; QXmlName::QXmlName(void)
+ ??0QXmlNamePool@@AAE@PAVNamePool@QPatternist@@@Z @ 22 NONAME ; QXmlNamePool::QXmlNamePool(class QPatternist::NamePool *)
+ ??0QXmlNamePool@@QAE@ABV0@@Z @ 23 NONAME ; QXmlNamePool::QXmlNamePool(class QXmlNamePool const &)
+ ??0QXmlNamePool@@QAE@XZ @ 24 NONAME ; QXmlNamePool::QXmlNamePool(void)
+ ??0QXmlNodeModelIndex@@AAE@ABVNodeIndexStorage@QPatternist@@@Z @ 25 NONAME ; QXmlNodeModelIndex::QXmlNodeModelIndex(class QPatternist::NodeIndexStorage const &)
+ ??0QXmlNodeModelIndex@@QAE@ABV0@@Z @ 26 NONAME ; QXmlNodeModelIndex::QXmlNodeModelIndex(class QXmlNodeModelIndex const &)
+ ??0QXmlNodeModelIndex@@QAE@XZ @ 27 NONAME ; QXmlNodeModelIndex::QXmlNodeModelIndex(void)
+ ??0QXmlQuery@@QAE@ABV0@@Z @ 28 NONAME ; QXmlQuery::QXmlQuery(class QXmlQuery const &)
+ ??0QXmlQuery@@QAE@ABVQXmlNamePool@@@Z @ 29 NONAME ; QXmlQuery::QXmlQuery(class QXmlNamePool const &)
+ ??0QXmlQuery@@QAE@W4QueryLanguage@0@ABVQXmlNamePool@@@Z @ 30 NONAME ; QXmlQuery::QXmlQuery(enum QXmlQuery::QueryLanguage, class QXmlNamePool const &)
+ ??0QXmlQuery@@QAE@XZ @ 31 NONAME ; QXmlQuery::QXmlQuery(void)
+ ??0QXmlResultItems@@QAE@XZ @ 32 NONAME ; QXmlResultItems::QXmlResultItems(void)
+ ??0QXmlSchema@@QAE@ABV0@@Z @ 33 NONAME ; QXmlSchema::QXmlSchema(class QXmlSchema const &)
+ ??0QXmlSchema@@QAE@XZ @ 34 NONAME ; QXmlSchema::QXmlSchema(void)
+ ??0QXmlSchemaValidator@@QAE@ABVQXmlSchema@@@Z @ 35 NONAME ; QXmlSchemaValidator::QXmlSchemaValidator(class QXmlSchema const &)
+ ??0QXmlSchemaValidator@@QAE@XZ @ 36 NONAME ; QXmlSchemaValidator::QXmlSchemaValidator(void)
+ ??0QXmlSerializer@@IAE@PAVQAbstractXmlReceiverPrivate@@@Z @ 37 NONAME ; QXmlSerializer::QXmlSerializer(class QAbstractXmlReceiverPrivate *)
+ ??0QXmlSerializer@@QAE@ABVQXmlQuery@@PAVQIODevice@@@Z @ 38 NONAME ; QXmlSerializer::QXmlSerializer(class QXmlQuery const &, class QIODevice *)
+ ??1QAbstractMessageHandler@@UAE@XZ @ 39 NONAME ; QAbstractMessageHandler::~QAbstractMessageHandler(void)
+ ??1QAbstractUriResolver@@UAE@XZ @ 40 NONAME ; QAbstractUriResolver::~QAbstractUriResolver(void)
+ ??1QAbstractXmlNodeModel@@UAE@XZ @ 41 NONAME ; QAbstractXmlNodeModel::~QAbstractXmlNodeModel(void)
+ ??1QAbstractXmlReceiver@@UAE@XZ @ 42 NONAME ; QAbstractXmlReceiver::~QAbstractXmlReceiver(void)
+ ??1QSimpleXmlNodeModel@@UAE@XZ @ 43 NONAME ; QSimpleXmlNodeModel::~QSimpleXmlNodeModel(void)
+ ??1QSourceLocation@@QAE@XZ @ 44 NONAME ; QSourceLocation::~QSourceLocation(void)
+ ??1QXmlFormatter@@UAE@XZ @ 45 NONAME ; QXmlFormatter::~QXmlFormatter(void)
+ ??1QXmlItem@@QAE@XZ @ 46 NONAME ; QXmlItem::~QXmlItem(void)
+ ??1QXmlNamePool@@QAE@XZ @ 47 NONAME ; QXmlNamePool::~QXmlNamePool(void)
+ ??1QXmlQuery@@QAE@XZ @ 48 NONAME ; QXmlQuery::~QXmlQuery(void)
+ ??1QXmlResultItems@@UAE@XZ @ 49 NONAME ; QXmlResultItems::~QXmlResultItems(void)
+ ??1QXmlSchema@@QAE@XZ @ 50 NONAME ; QXmlSchema::~QXmlSchema(void)
+ ??1QXmlSchemaValidator@@QAE@XZ @ 51 NONAME ; QXmlSchemaValidator::~QXmlSchemaValidator(void)
+ ??1QXmlSerializer@@UAE@XZ @ 52 NONAME ; QXmlSerializer::~QXmlSerializer(void)
+ ??4QSourceLocation@@QAEAAV0@ABV0@@Z @ 53 NONAME ; class QSourceLocation & QSourceLocation::operator=(class QSourceLocation const &)
+ ??4QXmlItem@@QAEAAV0@ABV0@@Z @ 54 NONAME ; class QXmlItem & QXmlItem::operator=(class QXmlItem const &)
+ ??4QXmlName@@QAEAAV0@ABV0@@Z @ 55 NONAME ; class QXmlName & QXmlName::operator=(class QXmlName const &)
+ ??4QXmlNamePool@@QAEAAV0@ABV0@@Z @ 56 NONAME ; class QXmlNamePool & QXmlNamePool::operator=(class QXmlNamePool const &)
+ ??4QXmlQuery@@QAEAAV0@ABV0@@Z @ 57 NONAME ; class QXmlQuery & QXmlQuery::operator=(class QXmlQuery const &)
+ ??4QXmlSchema@@QAEAAV0@ABV0@@Z @ 58 NONAME ; class QXmlSchema & QXmlSchema::operator=(class QXmlSchema const &)
+ ??6@YA?AVQDebug@@V0@ABVQSourceLocation@@@Z @ 59 NONAME ; class QDebug operator<<(class QDebug, class QSourceLocation const &)
+ ??8QSourceLocation@@QBE_NABV0@@Z @ 60 NONAME ; bool QSourceLocation::operator==(class QSourceLocation const &) const
+ ??8QXmlName@@QBE_NABV0@@Z @ 61 NONAME ; bool QXmlName::operator==(class QXmlName const &) const
+ ??8QXmlNodeModelIndex@@QBE_NABV0@@Z @ 62 NONAME ; bool QXmlNodeModelIndex::operator==(class QXmlNodeModelIndex const &) const
+ ??9QSourceLocation@@QBE_NABV0@@Z @ 63 NONAME ; bool QSourceLocation::operator!=(class QSourceLocation const &) const
+ ??9QXmlName@@QBE_NABV0@@Z @ 64 NONAME ; bool QXmlName::operator!=(class QXmlName const &) const
+ ??9QXmlNodeModelIndex@@QBE_NABV0@@Z @ 65 NONAME ; bool QXmlNodeModelIndex::operator!=(class QXmlNodeModelIndex const &) const
+ ??_EQAbstractMessageHandler@@UAE@I@Z @ 66 NONAME ; QAbstractMessageHandler::~QAbstractMessageHandler(unsigned int)
+ ??_EQAbstractUriResolver@@UAE@I@Z @ 67 NONAME ; QAbstractUriResolver::~QAbstractUriResolver(unsigned int)
+ ??_EQAbstractXmlNodeModel@@UAE@I@Z @ 68 NONAME ; QAbstractXmlNodeModel::~QAbstractXmlNodeModel(unsigned int)
+ ??_EQAbstractXmlReceiver@@UAE@I@Z @ 69 NONAME ; QAbstractXmlReceiver::~QAbstractXmlReceiver(unsigned int)
+ ??_EQSimpleXmlNodeModel@@UAE@I@Z @ 70 NONAME ; QSimpleXmlNodeModel::~QSimpleXmlNodeModel(unsigned int)
+ ??_EQXmlFormatter@@UAE@I@Z @ 71 NONAME ; QXmlFormatter::~QXmlFormatter(unsigned int)
+ ??_EQXmlResultItems@@UAE@I@Z @ 72 NONAME ; QXmlResultItems::~QXmlResultItems(unsigned int)
+ ??_EQXmlSerializer@@UAE@I@Z @ 73 NONAME ; QXmlSerializer::~QXmlSerializer(unsigned int)
+ ?additionalData@QXmlNodeModelIndex@@QBE_JXZ @ 74 NONAME ; long long QXmlNodeModelIndex::additionalData(void) const
+ ?atDocumentRoot@QXmlSerializer@@ABE_NXZ @ 75 NONAME ; bool QXmlSerializer::atDocumentRoot(void) const
+ ?atomicValue@QXmlFormatter@@UAEXABVQVariant@@@Z @ 76 NONAME ; void QXmlFormatter::atomicValue(class QVariant const &)
+ ?atomicValue@QXmlSerializer@@UAEXABVQVariant@@@Z @ 77 NONAME ; void QXmlSerializer::atomicValue(class QVariant const &)
+ ?attribute@QXmlFormatter@@UAEXABVQXmlName@@ABVQStringRef@@@Z @ 78 NONAME ; void QXmlFormatter::attribute(class QXmlName const &, class QStringRef const &)
+ ?attribute@QXmlSerializer@@UAEXABVQXmlName@@ABVQStringRef@@@Z @ 79 NONAME ; void QXmlSerializer::attribute(class QXmlName const &, class QStringRef const &)
+ ?baseUri@QSimpleXmlNodeModel@@UBE?AVQUrl@@ABVQXmlNodeModelIndex@@@Z @ 80 NONAME ; class QUrl QSimpleXmlNodeModel::baseUri(class QXmlNodeModelIndex const &) const
+ ?baseUri@QXmlNodeModelIndex@@QBE?AVQUrl@@XZ @ 81 NONAME ; class QUrl QXmlNodeModelIndex::baseUri(void) const
+ ?bindVariable@QXmlQuery@@QAEXABVQString@@ABV1@@Z @ 82 NONAME ; void QXmlQuery::bindVariable(class QString const &, class QXmlQuery const &)
+ ?bindVariable@QXmlQuery@@QAEXABVQString@@ABVQXmlItem@@@Z @ 83 NONAME ; void QXmlQuery::bindVariable(class QString const &, class QXmlItem const &)
+ ?bindVariable@QXmlQuery@@QAEXABVQString@@PAVQIODevice@@@Z @ 84 NONAME ; void QXmlQuery::bindVariable(class QString const &, class QIODevice *)
+ ?bindVariable@QXmlQuery@@QAEXABVQXmlName@@ABV1@@Z @ 85 NONAME ; void QXmlQuery::bindVariable(class QXmlName const &, class QXmlQuery const &)
+ ?bindVariable@QXmlQuery@@QAEXABVQXmlName@@ABVQXmlItem@@@Z @ 86 NONAME ; void QXmlQuery::bindVariable(class QXmlName const &, class QXmlItem const &)
+ ?bindVariable@QXmlQuery@@QAEXABVQXmlName@@PAVQIODevice@@@Z @ 87 NONAME ; void QXmlQuery::bindVariable(class QXmlName const &, class QIODevice *)
+ ?characters@QXmlFormatter@@UAEXABVQStringRef@@@Z @ 88 NONAME ; void QXmlFormatter::characters(class QStringRef const &)
+ ?characters@QXmlSerializer@@UAEXABVQStringRef@@@Z @ 89 NONAME ; void QXmlSerializer::characters(class QStringRef const &)
+ ?code@QXmlName@@QBE_JXZ @ 90 NONAME ; long long QXmlName::code(void) const
+ ?codec@QXmlSerializer@@QBEPBVQTextCodec@@XZ @ 91 NONAME ; class QTextCodec const * QXmlSerializer::codec(void) const
+ ?column@QSourceLocation@@QBE_JXZ @ 92 NONAME ; long long QSourceLocation::column(void) const
+ ?comment@QXmlFormatter@@UAEXABVQString@@@Z @ 93 NONAME ; void QXmlFormatter::comment(class QString const &)
+ ?comment@QXmlSerializer@@UAEXABVQString@@@Z @ 94 NONAME ; void QXmlSerializer::comment(class QString const &)
+ ?compareOrder@QXmlNodeModelIndex@@QBE?AW4DocumentOrder@1@ABV1@@Z @ 95 NONAME ; enum QXmlNodeModelIndex::DocumentOrder QXmlNodeModelIndex::compareOrder(class QXmlNodeModelIndex const &) const
+ ?copyNodeTo@QAbstractXmlNodeModel@@UBEXABVQXmlNodeModelIndex@@PAVQAbstractXmlReceiver@@ABV?$QFlags@W4NodeCopySetting@QAbstractXmlNodeModel@@@@@Z @ 96 NONAME ; void QAbstractXmlNodeModel::copyNodeTo(class QXmlNodeModelIndex const &, class QAbstractXmlReceiver *, class QFlags<enum QAbstractXmlNodeModel::NodeCopySetting> const &) const
+ ?create@QXmlNodeModelIndex@@CA?AV1@_JPBVQAbstractXmlNodeModel@@0@Z @ 97 NONAME ; class QXmlNodeModelIndex QXmlNodeModelIndex::create(long long, class QAbstractXmlNodeModel const *, long long)
+ ?create@QXmlNodeModelIndex@@CA?AV1@_JPBVQAbstractXmlNodeModel@@@Z @ 98 NONAME ; class QXmlNodeModelIndex QXmlNodeModelIndex::create(long long, class QAbstractXmlNodeModel const *)
+ ?createIndex@QAbstractXmlNodeModel@@IBE?AVQXmlNodeModelIndex@@PAX_J@Z @ 99 NONAME ; class QXmlNodeModelIndex QAbstractXmlNodeModel::createIndex(void *, long long) const
+ ?createIndex@QAbstractXmlNodeModel@@IBE?AVQXmlNodeModelIndex@@_J0@Z @ 100 NONAME ; class QXmlNodeModelIndex QAbstractXmlNodeModel::createIndex(long long, long long) const
+ ?createIndex@QAbstractXmlNodeModel@@IBE?AVQXmlNodeModelIndex@@_J@Z @ 101 NONAME ; class QXmlNodeModelIndex QAbstractXmlNodeModel::createIndex(long long) const
+ ?current@QXmlResultItems@@QBE?AVQXmlItem@@XZ @ 102 NONAME ; class QXmlItem QXmlResultItems::current(void) const
+ ?d_func@QAbstractMessageHandler@@AAEPAVQAbstractMessageHandlerPrivate@@XZ @ 103 NONAME ; class QAbstractMessageHandlerPrivate * QAbstractMessageHandler::d_func(void)
+ ?d_func@QAbstractMessageHandler@@ABEPBVQAbstractMessageHandlerPrivate@@XZ @ 104 NONAME ; class QAbstractMessageHandlerPrivate const * QAbstractMessageHandler::d_func(void) const
+ ?d_func@QAbstractUriResolver@@AAEPAVQAbstractUriResolverPrivate@@XZ @ 105 NONAME ; class QAbstractUriResolverPrivate * QAbstractUriResolver::d_func(void)
+ ?d_func@QAbstractUriResolver@@ABEPBVQAbstractUriResolverPrivate@@XZ @ 106 NONAME ; class QAbstractUriResolverPrivate const * QAbstractUriResolver::d_func(void) const
+ ?d_func@QSimpleXmlNodeModel@@AAEPAVQSimpleXmlNodeModelPrivate@@XZ @ 107 NONAME ; class QSimpleXmlNodeModelPrivate * QSimpleXmlNodeModel::d_func(void)
+ ?d_func@QSimpleXmlNodeModel@@ABEPBVQSimpleXmlNodeModelPrivate@@XZ @ 108 NONAME ; class QSimpleXmlNodeModelPrivate const * QSimpleXmlNodeModel::d_func(void) const
+ ?d_func@QXmlFormatter@@AAEPAVQXmlFormatterPrivate@@XZ @ 109 NONAME ; class QXmlFormatterPrivate * QXmlFormatter::d_func(void)
+ ?d_func@QXmlFormatter@@ABEPBVQXmlFormatterPrivate@@XZ @ 110 NONAME ; class QXmlFormatterPrivate const * QXmlFormatter::d_func(void) const
+ ?d_func@QXmlResultItems@@AAEPAVQXmlResultItemsPrivate@@XZ @ 111 NONAME ; class QXmlResultItemsPrivate * QXmlResultItems::d_func(void)
+ ?d_func@QXmlResultItems@@ABEPBVQXmlResultItemsPrivate@@XZ @ 112 NONAME ; class QXmlResultItemsPrivate const * QXmlResultItems::d_func(void) const
+ ?d_func@QXmlSerializer@@AAEPAVQXmlSerializerPrivate@@XZ @ 113 NONAME ; class QXmlSerializerPrivate * QXmlSerializer::d_func(void)
+ ?d_func@QXmlSerializer@@ABEPBVQXmlSerializerPrivate@@XZ @ 114 NONAME ; class QXmlSerializerPrivate const * QXmlSerializer::d_func(void) const
+ ?data@QXmlNodeModelIndex@@QBE_JXZ @ 115 NONAME ; long long QXmlNodeModelIndex::data(void) const
+ ?documentUri@QXmlNodeModelIndex@@QBE?AVQUrl@@XZ @ 116 NONAME ; class QUrl QXmlNodeModelIndex::documentUri(void) const
+ ?documentUri@QXmlSchema@@QBE?AVQUrl@@XZ @ 117 NONAME ; class QUrl QXmlSchema::documentUri(void) const
+ ?elementById@QSimpleXmlNodeModel@@UBE?AVQXmlNodeModelIndex@@ABVQXmlName@@@Z @ 118 NONAME ; class QXmlNodeModelIndex QSimpleXmlNodeModel::elementById(class QXmlName const &) const
+ ?endDocument@QXmlFormatter@@UAEXXZ @ 119 NONAME ; void QXmlFormatter::endDocument(void)
+ ?endDocument@QXmlSerializer@@UAEXXZ @ 120 NONAME ; void QXmlSerializer::endDocument(void)
+ ?endElement@QXmlFormatter@@UAEXXZ @ 121 NONAME ; void QXmlFormatter::endElement(void)
+ ?endElement@QXmlSerializer@@UAEXXZ @ 122 NONAME ; void QXmlSerializer::endElement(void)
+ ?endOfSequence@QXmlFormatter@@UAEXXZ @ 123 NONAME ; void QXmlFormatter::endOfSequence(void)
+ ?endOfSequence@QXmlSerializer@@UAEXXZ @ 124 NONAME ; void QXmlSerializer::endOfSequence(void)
+ ?evaluateTo@QXmlQuery@@QBEXPAVQXmlResultItems@@@Z @ 125 NONAME ; void QXmlQuery::evaluateTo(class QXmlResultItems *) const
+ ?evaluateTo@QXmlQuery@@QBE_NPAVQAbstractXmlReceiver@@@Z @ 126 NONAME ; bool QXmlQuery::evaluateTo(class QAbstractXmlReceiver *) const
+ ?evaluateTo@QXmlQuery@@QBE_NPAVQIODevice@@@Z @ 127 NONAME ; bool QXmlQuery::evaluateTo(class QIODevice *) const
+ ?evaluateTo@QXmlQuery@@QBE_NPAVQString@@@Z @ 128 NONAME ; bool QXmlQuery::evaluateTo(class QString *) const
+ ?evaluateTo@QXmlQuery@@QBE_NPAVQStringList@@@Z @ 129 NONAME ; bool QXmlQuery::evaluateTo(class QStringList *) const
+ ?fromClarkName@QXmlName@@SA?AV1@ABVQString@@ABVQXmlNamePool@@@Z @ 130 NONAME ; class QXmlName QXmlName::fromClarkName(class QString const &, class QXmlNamePool const &)
+ ?getStaticMetaObject@QAbstractMessageHandler@@SAABUQMetaObject@@XZ @ 131 NONAME ; struct QMetaObject const & QAbstractMessageHandler::getStaticMetaObject(void)
+ ?getStaticMetaObject@QAbstractUriResolver@@SAABUQMetaObject@@XZ @ 132 NONAME ; struct QMetaObject const & QAbstractUriResolver::getStaticMetaObject(void)
+ ?hasError@QXmlResultItems@@QBE_NXZ @ 133 NONAME ; bool QXmlResultItems::hasError(void) const
+ ?hasNamespace@QXmlName@@QBE_NXZ @ 134 NONAME ; bool QXmlName::hasNamespace(void) const
+ ?hasPrefix@QXmlName@@QBE_NXZ @ 135 NONAME ; bool QXmlName::hasPrefix(void) const
+ ?indentationDepth@QXmlFormatter@@QBEHXZ @ 136 NONAME ; int QXmlFormatter::indentationDepth(void) const
+ ?initialTemplateName@QXmlQuery@@QBE?AVQXmlName@@XZ @ 137 NONAME ; class QXmlName QXmlQuery::initialTemplateName(void) const
+ ?internalIsAtomicValue@QXmlItem@@ABE_NXZ @ 138 NONAME ; bool QXmlItem::internalIsAtomicValue(void) const
+ ?internalPointer@QXmlNodeModelIndex@@QBEPAXXZ @ 139 NONAME ; void * QXmlNodeModelIndex::internalPointer(void) const
+ ?is@QXmlNodeModelIndex@@QBE_NABV1@@Z @ 140 NONAME ; bool QXmlNodeModelIndex::is(class QXmlNodeModelIndex const &) const
+ ?isAtomicValue@QXmlItem@@QBE_NXZ @ 141 NONAME ; bool QXmlItem::isAtomicValue(void) const
+ ?isBindingInScope@QXmlSerializer@@ABE_NVQXmlName@@@Z @ 142 NONAME ; bool QXmlSerializer::isBindingInScope(class QXmlName) const
+ ?isDeepEqual@QAbstractXmlNodeModel@@UBE_NABVQXmlNodeModelIndex@@0@Z @ 143 NONAME ; bool QAbstractXmlNodeModel::isDeepEqual(class QXmlNodeModelIndex const &, class QXmlNodeModelIndex const &) const
+ ?isDeepEqual@QXmlNodeModelIndex@@QBE_NABV1@@Z @ 144 NONAME ; bool QXmlNodeModelIndex::isDeepEqual(class QXmlNodeModelIndex const &) const
+ ?isIgnorableInDeepEqual@QAbstractXmlNodeModel@@CA_NABVQXmlNodeModelIndex@@@Z @ 145 NONAME ; bool QAbstractXmlNodeModel::isIgnorableInDeepEqual(class QXmlNodeModelIndex const &)
+ ?isLexicallyEqual@QXmlName@@QBE_NABV1@@Z @ 146 NONAME ; bool QXmlName::isLexicallyEqual(class QXmlName const &) const
+ ?isNCName@QXmlName@@SA_NABVQString@@@Z @ 147 NONAME ; bool QXmlName::isNCName(class QString const &)
+ ?isNode@QXmlItem@@QBE_NXZ @ 148 NONAME ; bool QXmlItem::isNode(void) const
+ ?isNull@QSourceLocation@@QBE_NXZ @ 149 NONAME ; bool QSourceLocation::isNull(void) const
+ ?isNull@QXmlItem@@QBE_NXZ @ 150 NONAME ; bool QXmlItem::isNull(void) const
+ ?isNull@QXmlName@@QBE_NXZ @ 151 NONAME ; bool QXmlName::isNull(void) const
+ ?isNull@QXmlNodeModelIndex@@QBE_NXZ @ 152 NONAME ; bool QXmlNodeModelIndex::isNull(void) const
+ ?isValid@QXmlQuery@@QBE_NXZ @ 153 NONAME ; bool QXmlQuery::isValid(void) const
+ ?isValid@QXmlSchema@@QBE_NXZ @ 154 NONAME ; bool QXmlSchema::isValid(void) const
+ ?item@QAbstractXmlReceiver@@UAEXABVItem@QPatternist@@@Z @ 155 NONAME ; void QAbstractXmlReceiver::item(class QPatternist::Item const &)
+ ?item@QXmlFormatter@@UAEXABVItem@QPatternist@@@Z @ 156 NONAME ; void QXmlFormatter::item(class QPatternist::Item const &)
+ ?item@QXmlSerializer@@UAEXABVItem@QPatternist@@@Z @ 157 NONAME ; void QXmlSerializer::item(class QPatternist::Item const &)
+ ?iterate@QAbstractXmlNodeModel@@UBE?AV?$QExplicitlySharedDataPointer@V?$QAbstractXmlForwardIterator@VQXmlNodeModelIndex@@@@@@ABVQXmlNodeModelIndex@@W4Axis@3@@Z @ 158 NONAME ; class QExplicitlySharedDataPointer<class QAbstractXmlForwardIterator<class QXmlNodeModelIndex> > QAbstractXmlNodeModel::iterate(class QXmlNodeModelIndex const &, enum QXmlNodeModelIndex::Axis) const
+ ?iterate@QXmlNodeModelIndex@@QBE?AV?$QExplicitlySharedDataPointer@V?$QAbstractXmlForwardIterator@VQXmlNodeModelIndex@@@@@@W4Axis@1@@Z @ 159 NONAME ; class QExplicitlySharedDataPointer<class QAbstractXmlForwardIterator<class QXmlNodeModelIndex> > QXmlNodeModelIndex::iterate(enum QXmlNodeModelIndex::Axis) const
+ ?kind@QXmlNodeModelIndex@@QBE?AW4NodeKind@1@XZ @ 160 NONAME ; enum QXmlNodeModelIndex::NodeKind QXmlNodeModelIndex::kind(void) const
+ ?line@QSourceLocation@@QBE_JXZ @ 161 NONAME ; long long QSourceLocation::line(void) const
+ ?load@QXmlSchema@@QAE_NABVQByteArray@@ABVQUrl@@@Z @ 162 NONAME ; bool QXmlSchema::load(class QByteArray const &, class QUrl const &)
+ ?load@QXmlSchema@@QAE_NABVQUrl@@@Z @ 163 NONAME ; bool QXmlSchema::load(class QUrl const &)
+ ?load@QXmlSchema@@QAE_NPAVQIODevice@@ABVQUrl@@@Z @ 164 NONAME ; bool QXmlSchema::load(class QIODevice *, class QUrl const &)
+ ?localName@QXmlName@@QBE?AVQString@@ABVQXmlNamePool@@@Z @ 165 NONAME ; class QString QXmlName::localName(class QXmlNamePool const &) const
+ ?localName@QXmlName@@QBEFXZ @ 166 NONAME ; short QXmlName::localName(void) const
+ ?mapToSequence@QAbstractXmlNodeModel@@ABE?AV?$QExplicitlySharedDataPointer@V?$QAbstractXmlForwardIterator@VQXmlNodeModelIndex@@@@@@ABVQXmlNodeModelIndex@@ABV?$QExplicitlySharedDataPointer@VDynamicContext@QPatternist@@@@@Z @ 167 NONAME ; class QExplicitlySharedDataPointer<class QAbstractXmlForwardIterator<class QXmlNodeModelIndex> > QAbstractXmlNodeModel::mapToSequence(class QXmlNodeModelIndex const &, class QExplicitlySharedDataPointer<class QPatternist::DynamicContext> const &) const
+ ?message@QAbstractMessageHandler@@QAEXW4QtMsgType@@ABVQString@@ABVQUrl@@ABVQSourceLocation@@@Z @ 168 NONAME ; void QAbstractMessageHandler::message(enum QtMsgType, class QString const &, class QUrl const &, class QSourceLocation const &)
+ ?messageHandler@QXmlQuery@@QBEPAVQAbstractMessageHandler@@XZ @ 169 NONAME ; class QAbstractMessageHandler * QXmlQuery::messageHandler(void) const
+ ?messageHandler@QXmlSchema@@QBEPAVQAbstractMessageHandler@@XZ @ 170 NONAME ; class QAbstractMessageHandler * QXmlSchema::messageHandler(void) const
+ ?messageHandler@QXmlSchemaValidator@@QBEPAVQAbstractMessageHandler@@XZ @ 171 NONAME ; class QAbstractMessageHandler * QXmlSchemaValidator::messageHandler(void) const
+ ?metaObject@QAbstractMessageHandler@@UBEPBUQMetaObject@@XZ @ 172 NONAME ; struct QMetaObject const * QAbstractMessageHandler::metaObject(void) const
+ ?metaObject@QAbstractUriResolver@@UBEPBUQMetaObject@@XZ @ 173 NONAME ; struct QMetaObject const * QAbstractUriResolver::metaObject(void) const
+ ?model@QXmlNodeModelIndex@@QBEPBVQAbstractXmlNodeModel@@XZ @ 174 NONAME ; class QAbstractXmlNodeModel const * QXmlNodeModelIndex::model(void) const
+ ?name@QXmlNodeModelIndex@@QBE?AVQXmlName@@XZ @ 175 NONAME ; class QXmlName QXmlNodeModelIndex::name(void) const
+ ?namePool@QSimpleXmlNodeModel@@QBEAAVQXmlNamePool@@XZ @ 176 NONAME ; class QXmlNamePool & QSimpleXmlNodeModel::namePool(void) const
+ ?namePool@QXmlQuery@@QBE?AVQXmlNamePool@@XZ @ 177 NONAME ; class QXmlNamePool QXmlQuery::namePool(void) const
+ ?namePool@QXmlSchema@@QBE?AVQXmlNamePool@@XZ @ 178 NONAME ; class QXmlNamePool QXmlSchema::namePool(void) const
+ ?namePool@QXmlSchemaValidator@@QBE?AVQXmlNamePool@@XZ @ 179 NONAME ; class QXmlNamePool QXmlSchemaValidator::namePool(void) const
+ ?namespaceBinding@QXmlSerializer@@UAEXABVQXmlName@@@Z @ 180 NONAME ; void QXmlSerializer::namespaceBinding(class QXmlName const &)
+ ?namespaceBindings@QSimpleXmlNodeModel@@UBE?AV?$QVector@VQXmlName@@@@ABVQXmlNodeModelIndex@@@Z @ 181 NONAME ; class QVector<class QXmlName> QSimpleXmlNodeModel::namespaceBindings(class QXmlNodeModelIndex const &) const
+ ?namespaceBindings@QXmlNodeModelIndex@@QBE?AV?$QVector@VQXmlName@@@@XZ @ 182 NONAME ; class QVector<class QXmlName> QXmlNodeModelIndex::namespaceBindings(void) const
+ ?namespaceForPrefix@QAbstractXmlNodeModel@@UBEFABVQXmlNodeModelIndex@@F@Z @ 183 NONAME ; short QAbstractXmlNodeModel::namespaceForPrefix(class QXmlNodeModelIndex const &, short) const
+ ?namespaceForPrefix@QXmlNodeModelIndex@@QBEFF@Z @ 184 NONAME ; short QXmlNodeModelIndex::namespaceForPrefix(short) const
+ ?namespaceURI@QXmlName@@QBEFXZ @ 185 NONAME ; short QXmlName::namespaceURI(void) const
+ ?namespaceUri@QXmlName@@QBE?AVQString@@ABVQXmlNamePool@@@Z @ 186 NONAME ; class QString QXmlName::namespaceUri(class QXmlNamePool const &) const
+ ?networkAccessManager@QXmlQuery@@QBEPAVQNetworkAccessManager@@XZ @ 187 NONAME ; class QNetworkAccessManager * QXmlQuery::networkAccessManager(void) const
+ ?networkAccessManager@QXmlSchema@@QBEPAVQNetworkAccessManager@@XZ @ 188 NONAME ; class QNetworkAccessManager * QXmlSchema::networkAccessManager(void) const
+ ?networkAccessManager@QXmlSchemaValidator@@QBEPAVQNetworkAccessManager@@XZ @ 189 NONAME ; class QNetworkAccessManager * QXmlSchemaValidator::networkAccessManager(void) const
+ ?next@QXmlResultItems@@QAE?AVQXmlItem@@XZ @ 190 NONAME ; class QXmlItem QXmlResultItems::next(void)
+ ?nodesByIdref@QSimpleXmlNodeModel@@UBE?AV?$QVector@VQXmlNodeModelIndex@@@@ABVQXmlName@@@Z @ 191 NONAME ; class QVector<class QXmlNodeModelIndex> QSimpleXmlNodeModel::nodesByIdref(class QXmlName const &) const
+ ?outputDevice@QXmlSerializer@@QBEPAVQIODevice@@XZ @ 192 NONAME ; class QIODevice * QXmlSerializer::outputDevice(void) const
+ ?prefix@QXmlName@@QBE?AVQString@@ABVQXmlNamePool@@@Z @ 193 NONAME ; class QString QXmlName::prefix(class QXmlNamePool const &) const
+ ?prefix@QXmlName@@QBEFXZ @ 194 NONAME ; short QXmlName::prefix(void) const
+ ?processingInstruction@QXmlFormatter@@UAEXABVQXmlName@@ABVQString@@@Z @ 195 NONAME ; void QXmlFormatter::processingInstruction(class QXmlName const &, class QString const &)
+ ?processingInstruction@QXmlSerializer@@UAEXABVQXmlName@@ABVQString@@@Z @ 196 NONAME ; void QXmlSerializer::processingInstruction(class QXmlName const &, class QString const &)
+ ?qHash@@YAIABVQSourceLocation@@@Z @ 197 NONAME ; unsigned int qHash(class QSourceLocation const &)
+ ?qHash@@YAIABVQXmlName@@@Z @ 198 NONAME ; unsigned int qHash(class QXmlName const &)
+ ?qHash@@YAIABVQXmlNodeModelIndex@@@Z @ 199 NONAME ; unsigned int qHash(class QXmlNodeModelIndex const &)
+ ?qt_metacall@QAbstractMessageHandler@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 200 NONAME ; int QAbstractMessageHandler::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?qt_metacall@QAbstractUriResolver@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 201 NONAME ; int QAbstractUriResolver::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?qt_metacast@QAbstractMessageHandler@@UAEPAXPBD@Z @ 202 NONAME ; void * QAbstractMessageHandler::qt_metacast(char const *)
+ ?qt_metacast@QAbstractUriResolver@@UAEPAXPBD@Z @ 203 NONAME ; void * QAbstractUriResolver::qt_metacast(char const *)
+ ?queryLanguage@QXmlQuery@@QBE?AW4QueryLanguage@1@XZ @ 204 NONAME ; enum QXmlQuery::QueryLanguage QXmlQuery::queryLanguage(void) const
+ ?reset@QXmlNodeModelIndex@@QAEXXZ @ 205 NONAME ; void QXmlNodeModelIndex::reset(void)
+ ?root@QXmlNodeModelIndex@@QBE?AV1@XZ @ 206 NONAME ; class QXmlNodeModelIndex QXmlNodeModelIndex::root(void) const
+ ?schema@QXmlSchemaValidator@@QBE?AVQXmlSchema@@XZ @ 207 NONAME ; class QXmlSchema QXmlSchemaValidator::schema(void) const
+ ?sendAsNode@QAbstractXmlReceiver@@IAEXABVItem@QPatternist@@@Z @ 208 NONAME ; void QAbstractXmlReceiver::sendAsNode(class QPatternist::Item const &)
+ ?sendNamespaces@QAbstractXmlNodeModel@@UBEXABVQXmlNodeModelIndex@@PAVQAbstractXmlReceiver@@@Z @ 209 NONAME ; void QAbstractXmlNodeModel::sendNamespaces(class QXmlNodeModelIndex const &, class QAbstractXmlReceiver *) const
+ ?sendNamespaces@QXmlNodeModelIndex@@QBEXPAVQAbstractXmlReceiver@@@Z @ 210 NONAME ; void QXmlNodeModelIndex::sendNamespaces(class QAbstractXmlReceiver *) const
+ ?sequencedTypedValue@QAbstractXmlNodeModel@@UBE?AV?$QExplicitlySharedDataPointer@V?$QAbstractXmlForwardIterator@VItem@QPatternist@@@@@@ABVQXmlNodeModelIndex@@@Z @ 211 NONAME ; class QExplicitlySharedDataPointer<class QAbstractXmlForwardIterator<class QPatternist::Item> > QAbstractXmlNodeModel::sequencedTypedValue(class QXmlNodeModelIndex const &) const
+ ?sequencedTypedValue@QXmlNodeModelIndex@@QBE?AV?$QExplicitlySharedDataPointer@V?$QAbstractXmlForwardIterator@VItem@QPatternist@@@@@@XZ @ 212 NONAME ; class QExplicitlySharedDataPointer<class QAbstractXmlForwardIterator<class QPatternist::Item> > QXmlNodeModelIndex::sequencedTypedValue(void) const
+ ?setCodec@QXmlSerializer@@QAEXPBVQTextCodec@@@Z @ 213 NONAME ; void QXmlSerializer::setCodec(class QTextCodec const *)
+ ?setColumn@QSourceLocation@@QAEX_J@Z @ 214 NONAME ; void QSourceLocation::setColumn(long long)
+ ?setFocus@QXmlQuery@@QAEXABVQXmlItem@@@Z @ 215 NONAME ; void QXmlQuery::setFocus(class QXmlItem const &)
+ ?setFocus@QXmlQuery@@QAE_NABVQString@@@Z @ 216 NONAME ; bool QXmlQuery::setFocus(class QString const &)
+ ?setFocus@QXmlQuery@@QAE_NABVQUrl@@@Z @ 217 NONAME ; bool QXmlQuery::setFocus(class QUrl const &)
+ ?setFocus@QXmlQuery@@QAE_NPAVQIODevice@@@Z @ 218 NONAME ; bool QXmlQuery::setFocus(class QIODevice *)
+ ?setIndentationDepth@QXmlFormatter@@QAEXH@Z @ 219 NONAME ; void QXmlFormatter::setIndentationDepth(int)
+ ?setInitialTemplateName@QXmlQuery@@QAEXABVQString@@@Z @ 220 NONAME ; void QXmlQuery::setInitialTemplateName(class QString const &)
+ ?setInitialTemplateName@QXmlQuery@@QAEXABVQXmlName@@@Z @ 221 NONAME ; void QXmlQuery::setInitialTemplateName(class QXmlName const &)
+ ?setLine@QSourceLocation@@QAEX_J@Z @ 222 NONAME ; void QSourceLocation::setLine(long long)
+ ?setLocalName@QXmlName@@QAEXF@Z @ 223 NONAME ; void QXmlName::setLocalName(short)
+ ?setMessageHandler@QXmlQuery@@QAEXPAVQAbstractMessageHandler@@@Z @ 224 NONAME ; void QXmlQuery::setMessageHandler(class QAbstractMessageHandler *)
+ ?setMessageHandler@QXmlSchema@@QAEXPAVQAbstractMessageHandler@@@Z @ 225 NONAME ; void QXmlSchema::setMessageHandler(class QAbstractMessageHandler *)
+ ?setMessageHandler@QXmlSchemaValidator@@QAEXPAVQAbstractMessageHandler@@@Z @ 226 NONAME ; void QXmlSchemaValidator::setMessageHandler(class QAbstractMessageHandler *)
+ ?setNamespaceURI@QXmlName@@QAEXF@Z @ 227 NONAME ; void QXmlName::setNamespaceURI(short)
+ ?setNetworkAccessManager@QXmlQuery@@QAEXPAVQNetworkAccessManager@@@Z @ 228 NONAME ; void QXmlQuery::setNetworkAccessManager(class QNetworkAccessManager *)
+ ?setNetworkAccessManager@QXmlSchema@@QAEXPAVQNetworkAccessManager@@@Z @ 229 NONAME ; void QXmlSchema::setNetworkAccessManager(class QNetworkAccessManager *)
+ ?setNetworkAccessManager@QXmlSchemaValidator@@QAEXPAVQNetworkAccessManager@@@Z @ 230 NONAME ; void QXmlSchemaValidator::setNetworkAccessManager(class QNetworkAccessManager *)
+ ?setPrefix@QXmlName@@QAEXF@Z @ 231 NONAME ; void QXmlName::setPrefix(short)
+ ?setQuery@QXmlQuery@@QAEXABVQString@@ABVQUrl@@@Z @ 232 NONAME ; void QXmlQuery::setQuery(class QString const &, class QUrl const &)
+ ?setQuery@QXmlQuery@@QAEXABVQUrl@@0@Z @ 233 NONAME ; void QXmlQuery::setQuery(class QUrl const &, class QUrl const &)
+ ?setQuery@QXmlQuery@@QAEXPAVQIODevice@@ABVQUrl@@@Z @ 234 NONAME ; void QXmlQuery::setQuery(class QIODevice *, class QUrl const &)
+ ?setSchema@QXmlSchemaValidator@@QAEXABVQXmlSchema@@@Z @ 235 NONAME ; void QXmlSchemaValidator::setSchema(class QXmlSchema const &)
+ ?setUri@QSourceLocation@@QAEXABVQUrl@@@Z @ 236 NONAME ; void QSourceLocation::setUri(class QUrl const &)
+ ?setUriResolver@QXmlQuery@@QAEXPBVQAbstractUriResolver@@@Z @ 237 NONAME ; void QXmlQuery::setUriResolver(class QAbstractUriResolver const *)
+ ?setUriResolver@QXmlSchema@@QAEXPBVQAbstractUriResolver@@@Z @ 238 NONAME ; void QXmlSchema::setUriResolver(class QAbstractUriResolver const *)
+ ?setUriResolver@QXmlSchemaValidator@@QAEXPBVQAbstractUriResolver@@@Z @ 239 NONAME ; void QXmlSchemaValidator::setUriResolver(class QAbstractUriResolver const *)
+ ?sourceLocation@QAbstractXmlNodeModel@@QBE?AVQSourceLocation@@ABVQXmlNodeModelIndex@@@Z @ 240 NONAME ; class QSourceLocation QAbstractXmlNodeModel::sourceLocation(class QXmlNodeModelIndex const &) const
+ ?startContent@QXmlSerializer@@AAEXXZ @ 241 NONAME ; void QXmlSerializer::startContent(void)
+ ?startDocument@QXmlFormatter@@UAEXXZ @ 242 NONAME ; void QXmlFormatter::startDocument(void)
+ ?startDocument@QXmlSerializer@@UAEXXZ @ 243 NONAME ; void QXmlSerializer::startDocument(void)
+ ?startElement@QXmlFormatter@@UAEXABVQXmlName@@@Z @ 244 NONAME ; void QXmlFormatter::startElement(class QXmlName const &)
+ ?startElement@QXmlSerializer@@UAEXABVQXmlName@@@Z @ 245 NONAME ; void QXmlSerializer::startElement(class QXmlName const &)
+ ?startFormattingContent@QXmlFormatter@@AAEXXZ @ 246 NONAME ; void QXmlFormatter::startFormattingContent(void)
+ ?startOfSequence@QXmlFormatter@@UAEXXZ @ 247 NONAME ; void QXmlFormatter::startOfSequence(void)
+ ?startOfSequence@QXmlSerializer@@UAEXXZ @ 248 NONAME ; void QXmlSerializer::startOfSequence(void)
+ ?stringValue@QSimpleXmlNodeModel@@UBE?AVQString@@ABVQXmlNodeModelIndex@@@Z @ 249 NONAME ; class QString QSimpleXmlNodeModel::stringValue(class QXmlNodeModelIndex const &) const
+ ?stringValue@QXmlNodeModelIndex@@QBE?AVQString@@XZ @ 250 NONAME ; class QString QXmlNodeModelIndex::stringValue(void) const
+ ?toAtomicValue@QXmlItem@@QBE?AVQVariant@@XZ @ 251 NONAME ; class QVariant QXmlItem::toAtomicValue(void) const
+ ?toClarkName@QXmlName@@QBE?AVQString@@ABVQXmlNamePool@@@Z @ 252 NONAME ; class QString QXmlName::toClarkName(class QXmlNamePool const &) const
+ ?toNodeModelIndex@QXmlItem@@QBE?AVQXmlNodeModelIndex@@XZ @ 253 NONAME ; class QXmlNodeModelIndex QXmlItem::toNodeModelIndex(void) const
+ ?tr@QAbstractMessageHandler@@SA?AVQString@@PBD0@Z @ 254 NONAME ; class QString QAbstractMessageHandler::tr(char const *, char const *)
+ ?tr@QAbstractMessageHandler@@SA?AVQString@@PBD0H@Z @ 255 NONAME ; class QString QAbstractMessageHandler::tr(char const *, char const *, int)
+ ?tr@QAbstractUriResolver@@SA?AVQString@@PBD0@Z @ 256 NONAME ; class QString QAbstractUriResolver::tr(char const *, char const *)
+ ?tr@QAbstractUriResolver@@SA?AVQString@@PBD0H@Z @ 257 NONAME ; class QString QAbstractUriResolver::tr(char const *, char const *, int)
+ ?trUtf8@QAbstractMessageHandler@@SA?AVQString@@PBD0@Z @ 258 NONAME ; class QString QAbstractMessageHandler::trUtf8(char const *, char const *)
+ ?trUtf8@QAbstractMessageHandler@@SA?AVQString@@PBD0H@Z @ 259 NONAME ; class QString QAbstractMessageHandler::trUtf8(char const *, char const *, int)
+ ?trUtf8@QAbstractUriResolver@@SA?AVQString@@PBD0@Z @ 260 NONAME ; class QString QAbstractUriResolver::trUtf8(char const *, char const *)
+ ?trUtf8@QAbstractUriResolver@@SA?AVQString@@PBD0H@Z @ 261 NONAME ; class QString QAbstractUriResolver::trUtf8(char const *, char const *, int)
+ ?type@QAbstractXmlNodeModel@@UBE?AV?$QExplicitlySharedDataPointer@VItemType@QPatternist@@@@ABVQXmlNodeModelIndex@@@Z @ 262 NONAME ; class QExplicitlySharedDataPointer<class QPatternist::ItemType> QAbstractXmlNodeModel::type(class QXmlNodeModelIndex const &) const
+ ?type@QXmlNodeModelIndex@@QBE?AV?$QExplicitlySharedDataPointer@VItemType@QPatternist@@@@XZ @ 263 NONAME ; class QExplicitlySharedDataPointer<class QPatternist::ItemType> QXmlNodeModelIndex::type(void) const
+ ?uri@QSourceLocation@@QBE?AVQUrl@@XZ @ 264 NONAME ; class QUrl QSourceLocation::uri(void) const
+ ?uriResolver@QXmlQuery@@QBEPBVQAbstractUriResolver@@XZ @ 265 NONAME ; class QAbstractUriResolver const * QXmlQuery::uriResolver(void) const
+ ?uriResolver@QXmlSchema@@QBEPBVQAbstractUriResolver@@XZ @ 266 NONAME ; class QAbstractUriResolver const * QXmlSchema::uriResolver(void) const
+ ?uriResolver@QXmlSchemaValidator@@QBEPBVQAbstractUriResolver@@XZ @ 267 NONAME ; class QAbstractUriResolver const * QXmlSchemaValidator::uriResolver(void) const
+ ?validate@QXmlSchemaValidator@@QBE_NABVQByteArray@@ABVQUrl@@@Z @ 268 NONAME ; bool QXmlSchemaValidator::validate(class QByteArray const &, class QUrl const &) const
+ ?validate@QXmlSchemaValidator@@QBE_NABVQUrl@@@Z @ 269 NONAME ; bool QXmlSchemaValidator::validate(class QUrl const &) const
+ ?validate@QXmlSchemaValidator@@QBE_NPAVQIODevice@@ABVQUrl@@@Z @ 270 NONAME ; bool QXmlSchemaValidator::validate(class QIODevice *, class QUrl const &) const
+ ?whitespaceOnly@QAbstractXmlReceiver@@UAEXABVQStringRef@@@Z @ 271 NONAME ; void QAbstractXmlReceiver::whitespaceOnly(class QStringRef const &)
+ ?write@QXmlSerializer@@AAEXABVQString@@@Z @ 272 NONAME ; void QXmlSerializer::write(class QString const &)
+ ?write@QXmlSerializer@@AAEXABVQXmlName@@@Z @ 273 NONAME ; void QXmlSerializer::write(class QXmlName const &)
+ ?write@QXmlSerializer@@AAEXPBD@Z @ 274 NONAME ; void QXmlSerializer::write(char const *)
+ ?writeEscaped@QXmlSerializer@@AAEXABVQString@@@Z @ 275 NONAME ; void QXmlSerializer::writeEscaped(class QString const &)
+ ?writeEscapedAttribute@QXmlSerializer@@AAEXABVQString@@@Z @ 276 NONAME ; void QXmlSerializer::writeEscapedAttribute(class QString const &)
+ ?staticMetaObject@QAbstractMessageHandler@@2UQMetaObject@@B @ 277 NONAME ; struct QMetaObject const QAbstractMessageHandler::staticMetaObject
+ ?staticMetaObject@QAbstractUriResolver@@2UQMetaObject@@B @ 278 NONAME ; struct QMetaObject const QAbstractUriResolver::staticMetaObject
+
diff --git a/src/s60installs/bwins/QtXmlu.def b/src/s60installs/bwins/QtXmlu.def
new file mode 100644
index 0000000..d56eb1e
--- /dev/null
+++ b/src/s60installs/bwins/QtXmlu.def
@@ -0,0 +1,410 @@
+EXPORTS
+ ?setContent@QDomDocument@@QAE_NPAVQXmlInputSource@@_NPAVQString@@PAH3@Z @ 1 NONAME ; bool QDomDocument::setContent(class QXmlInputSource *, bool, class QString *, int *, int *)
+ ??1QXmlLocator@@UAE@XZ @ 2 NONAME ; QXmlLocator::~QXmlLocator(void)
+ ?resolveEntity@QXmlDefaultHandler@@UAE_NABVQString@@0AAPAVQXmlInputSource@@@Z @ 3 NONAME ; bool QXmlDefaultHandler::resolveEntity(class QString const &, class QString const &, class QXmlInputSource * &)
+ ?removeAttributeNS@QDomElement@@QAEXABVQString@@0@Z @ 4 NONAME ; void QDomElement::removeAttributeNS(class QString const &, class QString const &)
+ ??0QDomDocument@@QAE@XZ @ 5 NONAME ; QDomDocument::QDomDocument(void)
+ ?setDeclHandler@QXmlSimpleReader@@UAEXPAVQXmlDeclHandler@@@Z @ 6 NONAME ; void QXmlSimpleReader::setDeclHandler(class QXmlDeclHandler *)
+ ??4QDomNamedNodeMap@@QAEAAV0@ABV0@@Z @ 7 NONAME ; class QDomNamedNodeMap & QDomNamedNodeMap::operator=(class QDomNamedNodeMap const &)
+ ?save@QDomNode@@QBEXAAVQTextStream@@HW4EncodingPolicy@1@@Z @ 8 NONAME ; void QDomNode::save(class QTextStream &, int, enum QDomNode::EncodingPolicy) const
+ ?lineNumber@QXmlParseException@@QBEHXZ @ 9 NONAME ; int QXmlParseException::lineNumber(void) const
+ ??_EQXmlDTDHandler@@UAE@I@Z @ 10 NONAME ; QXmlDTDHandler::~QXmlDTDHandler(unsigned int)
+ ?processName@QXmlNamespaceSupport@@QBEXABVQString@@_NAAV2@2@Z @ 11 NONAME ; void QXmlNamespaceSupport::processName(class QString const &, bool, class QString &, class QString &) const
+ ??1QXmlParseException@@QAE@XZ @ 12 NONAME ; QXmlParseException::~QXmlParseException(void)
+ ?pushContext@QXmlNamespaceSupport@@QAEXXZ @ 13 NONAME ; void QXmlNamespaceSupport::pushContext(void)
+ ??4QDomProcessingInstruction@@QAEAAV0@ABV0@@Z @ 14 NONAME ; class QDomProcessingInstruction & QDomProcessingInstruction::operator=(class QDomProcessingInstruction const &)
+ ??0QXmlContentHandler@@QAE@XZ @ 15 NONAME ABSENT ; QXmlContentHandler::QXmlContentHandler(void)
+ ?d_func@QXmlSimpleReader@@ABEPBVQXmlSimpleReaderPrivate@@XZ @ 16 NONAME ; class QXmlSimpleReaderPrivate const * QXmlSimpleReader::d_func(void) const
+ ?setContent@QDomDocument@@QAE_NABVQString@@_NPAV2@PAH3@Z @ 17 NONAME ; bool QDomDocument::setContent(class QString const &, bool, class QString *, int *, int *)
+ ?setAttributeNS@QDomElement@@QAEXVQString@@ABV2@H@Z @ 18 NONAME ; void QDomElement::setAttributeNS(class QString, class QString const &, int)
+ ?tagName@QDomElement@@QBE?AVQString@@XZ @ 19 NONAME ; class QString QDomElement::tagName(void) const
+ ?setContent@QDomDocument@@QAE_NPAVQIODevice@@_NPAVQString@@PAH3@Z @ 20 NONAME ; bool QDomDocument::setContent(class QIODevice *, bool, class QString *, int *, int *)
+ ?setContent@QDomDocument@@QAE_NABVQString@@PAV2@PAH2@Z @ 21 NONAME ; bool QDomDocument::setContent(class QString const &, class QString *, int *, int *)
+ ??4QDomNode@@QAEAAV0@ABV0@@Z @ 22 NONAME ; class QDomNode & QDomNode::operator=(class QDomNode const &)
+ ?invalidDataPolicy@QDomImplementation@@SA?AW4InvalidDataPolicy@1@XZ @ 23 NONAME ; enum QDomImplementation::InvalidDataPolicy QDomImplementation::invalidDataPolicy(void)
+ ??1QXmlDefaultHandler@@UAE@XZ @ 24 NONAME ; QXmlDefaultHandler::~QXmlDefaultHandler(void)
+ ?error@QXmlDefaultHandler@@UAE_NABVQXmlParseException@@@Z @ 25 NONAME ; bool QXmlDefaultHandler::error(class QXmlParseException const &)
+ ??0QDomElement@@QAE@XZ @ 26 NONAME ; QDomElement::QDomElement(void)
+ ?substringData@QDomCharacterData@@QAE?AVQString@@KK@Z @ 27 NONAME ; class QString QDomCharacterData::substringData(unsigned long, unsigned long)
+ ??_EQXmlLocator@@UAE@I@Z @ 28 NONAME ; QXmlLocator::~QXmlLocator(unsigned int)
+ ??0QXmlDTDHandler@@QAE@XZ @ 29 NONAME ABSENT ; QXmlDTDHandler::QXmlDTDHandler(void)
+ ?reset@QXmlNamespaceSupport@@QAEXXZ @ 30 NONAME ; void QXmlNamespaceSupport::reset(void)
+ ?nodeValue@QDomNode@@QBE?AVQString@@XZ @ 31 NONAME ; class QString QDomNode::nodeValue(void) const
+ ?hasFeature@QDomImplementation@@QBE_NABVQString@@0@Z @ 32 NONAME ; bool QDomImplementation::hasFeature(class QString const &, class QString const &) const
+ ??0QXmlAttributes@@QAE@XZ @ 33 NONAME ; QXmlAttributes::QXmlAttributes(void)
+ ?isNull@QDomImplementation@@QAE_NXZ @ 34 NONAME ; bool QDomImplementation::isNull(void)
+ ??0QDomNotation@@QAE@ABV0@@Z @ 35 NONAME ; QDomNotation::QDomNotation(class QDomNotation const &)
+ ?nextSibling@QDomNode@@QBE?AV1@XZ @ 36 NONAME ; class QDomNode QDomNode::nextSibling(void) const
+ ?next@QXmlInputSource@@UAE?AVQChar@@XZ @ 37 NONAME ; class QChar QXmlInputSource::next(void)
+ ?setNodeValue@QDomNode@@QAEXABVQString@@@Z @ 38 NONAME ; void QDomNode::setNodeValue(class QString const &)
+ ??6@YAAAVQTextStream@@AAV0@ABVQDomNode@@@Z @ 39 NONAME ; class QTextStream & operator<<(class QTextStream &, class QDomNode const &)
+ ??0QDomNode@@IAE@PAVQDomNodePrivate@@@Z @ 40 NONAME ; QDomNode::QDomNode(class QDomNodePrivate *)
+ ?elementsByTagNameNS@QDomElement@@QBE?AVQDomNodeList@@ABVQString@@0@Z @ 41 NONAME ; class QDomNodeList QDomElement::elementsByTagNameNS(class QString const &, class QString const &) const
+ ??4QDomCharacterData@@QAEAAV0@ABV0@@Z @ 42 NONAME ; class QDomCharacterData & QDomCharacterData::operator=(class QDomCharacterData const &)
+ ?setPrefix@QXmlNamespaceSupport@@QAEXABVQString@@0@Z @ 43 NONAME ; void QXmlNamespaceSupport::setPrefix(class QString const &, class QString const &)
+ ?reset@QXmlInputSource@@UAEXXZ @ 44 NONAME ; void QXmlInputSource::reset(void)
+ ?count@QDomNodeList@@QBEHXZ @ 45 NONAME ; int QDomNodeList::count(void) const
+ ?notationName@QDomEntity@@QBE?AVQString@@XZ @ 46 NONAME ; class QString QDomEntity::notationName(void) const
+ ??8QDomImplementation@@QBE_NABV0@@Z @ 47 NONAME ; bool QDomImplementation::operator==(class QDomImplementation const &) const
+ ?notations@QDomDocumentType@@QBE?AVQDomNamedNodeMap@@XZ @ 48 NONAME ; class QDomNamedNodeMap QDomDocumentType::notations(void) const
+ ?splitText@QDomText@@QAE?AV1@H@Z @ 49 NONAME ; class QDomText QDomText::splitText(int)
+ ?namedItem@QDomNode@@QBE?AV1@ABVQString@@@Z @ 50 NONAME ; class QDomNode QDomNode::namedItem(class QString const &) const
+ ?nodeType@QDomEntity@@QBE?AW4NodeType@QDomNode@@XZ @ 51 NONAME ; enum QDomNode::NodeType QDomEntity::nodeType(void) const
+ ?elementById@QDomDocument@@QAE?AVQDomElement@@ABVQString@@@Z @ 52 NONAME ; class QDomElement QDomDocument::elementById(class QString const &)
+ ?toByteArray@QDomDocument@@QBE?AVQByteArray@@H@Z @ 53 NONAME ; class QByteArray QDomDocument::toByteArray(int) const
+ ?prefixes@QXmlNamespaceSupport@@QBE?AVQStringList@@ABVQString@@@Z @ 54 NONAME ; class QStringList QXmlNamespaceSupport::prefixes(class QString const &) const
+ ?deleteData@QDomCharacterData@@QAEXKK@Z @ 55 NONAME ; void QDomCharacterData::deleteData(unsigned long, unsigned long)
+ ?length@QDomCharacterData@@QBEIXZ @ 56 NONAME ; unsigned int QDomCharacterData::length(void) const
+ ?declHandler@QXmlSimpleReader@@UBEPAVQXmlDeclHandler@@XZ @ 57 NONAME ; class QXmlDeclHandler * QXmlSimpleReader::declHandler(void) const
+ ?toCharacterData@QDomNode@@QBE?AVQDomCharacterData@@XZ @ 58 NONAME ; class QDomCharacterData QDomNode::toCharacterData(void) const
+ ?publicId@QDomEntity@@QBE?AVQString@@XZ @ 59 NONAME ; class QString QDomEntity::publicId(void) const
+ ??1QDomDocument@@QAE@XZ @ 60 NONAME ; QDomDocument::~QDomDocument(void)
+ ??0QDomImplementation@@AAE@PAVQDomImplementationPrivate@@@Z @ 61 NONAME ; QDomImplementation::QDomImplementation(class QDomImplementationPrivate *)
+ ??1QDomImplementation@@QAE@XZ @ 62 NONAME ; QDomImplementation::~QDomImplementation(void)
+ ?count@QXmlAttributes@@QBEHXZ @ 63 NONAME ; int QXmlAttributes::count(void) const
+ ?setValue@QDomAttr@@QAEXABVQString@@@Z @ 64 NONAME ; void QDomAttr::setValue(class QString const &)
+ ??0QDomDocumentType@@AAE@PAVQDomDocumentTypePrivate@@@Z @ 65 NONAME ; QDomDocumentType::QDomDocumentType(class QDomDocumentTypePrivate *)
+ ?setAttributeNS@QDomElement@@QAEXVQString@@ABV2@N@Z @ 66 NONAME ; void QDomElement::setAttributeNS(class QString, class QString const &, double)
+ ??0QDomImplementation@@QAE@XZ @ 67 NONAME ; QDomImplementation::QDomImplementation(void)
+ ??9QDomImplementation@@QBE_NABV0@@Z @ 68 NONAME ; bool QDomImplementation::operator!=(class QDomImplementation const &) const
+ ?at@QDomNodeList@@QBE?AVQDomNode@@H@Z @ 69 NONAME ; class QDomNode QDomNodeList::at(int) const
+ ??0QDomNodeList@@QAE@ABV0@@Z @ 70 NONAME ; QDomNodeList::QDomNodeList(class QDomNodeList const &)
+ ?systemId@QXmlParseException@@QBE?AVQString@@XZ @ 71 NONAME ; class QString QXmlParseException::systemId(void) const
+ ??0QDomDocumentType@@QAE@ABV0@@Z @ 72 NONAME ; QDomDocumentType::QDomDocumentType(class QDomDocumentType const &)
+ ??_EQXmlDefaultHandler@@UAE@I@Z @ 73 NONAME ; QXmlDefaultHandler::~QXmlDefaultHandler(unsigned int)
+ ??0QDomImplementation@@QAE@ABV0@@Z @ 74 NONAME ; QDomImplementation::QDomImplementation(class QDomImplementation const &)
+ ?nodeType@QDomCDATASection@@QBE?AW4NodeType@QDomNode@@XZ @ 75 NONAME ; enum QDomNode::NodeType QDomCDATASection::nodeType(void) const
+ ?attribute@QDomElement@@QBE?AVQString@@ABV2@0@Z @ 76 NONAME ; class QString QDomElement::attribute(class QString const &, class QString const &) const
+ ?setProperty@QXmlSimpleReader@@UAEXABVQString@@PAX@Z @ 77 NONAME ; void QXmlSimpleReader::setProperty(class QString const &, void *)
+ ??0QDomComment@@QAE@XZ @ 78 NONAME ; QDomComment::QDomComment(void)
+ ?toEntityReference@QDomNode@@QBE?AVQDomEntityReference@@XZ @ 79 NONAME ; class QDomEntityReference QDomNode::toEntityReference(void) const
+ ?parse@QXmlSimpleReader@@UAE_NABVQXmlInputSource@@@Z @ 80 NONAME ; bool QXmlSimpleReader::parse(class QXmlInputSource const &)
+ ??4QDomNotation@@QAEAAV0@ABV0@@Z @ 81 NONAME ; class QDomNotation & QDomNotation::operator=(class QDomNotation const &)
+ ?internalSubset@QDomDocumentType@@QBE?AVQString@@XZ @ 82 NONAME ; class QString QDomDocumentType::internalSubset(void) const
+ ?setAttributeNS@QDomElement@@QAEXVQString@@ABV2@I@Z @ 83 NONAME ; void QDomElement::setAttributeNS(class QString, class QString const &, unsigned int)
+ ?property@QXmlSimpleReader@@UBEPAXABVQString@@PA_N@Z @ 84 NONAME ; void * QXmlSimpleReader::property(class QString const &, bool *) const
+ ??9QDomNode@@QBE_NABV0@@Z @ 85 NONAME ; bool QDomNode::operator!=(class QDomNode const &) const
+ ?value@QXmlAttributes@@QBE?AVQString@@ABV2@0@Z @ 86 NONAME ; class QString QXmlAttributes::value(class QString const &, class QString const &) const
+ ?index@QXmlAttributes@@QBEHABVQString@@0@Z @ 87 NONAME ; int QXmlAttributes::index(class QString const &, class QString const &) const
+ ?popContext@QXmlNamespaceSupport@@QAEXXZ @ 88 NONAME ; void QXmlNamespaceSupport::popContext(void)
+ ??0QDomNamedNodeMap@@QAE@ABV0@@Z @ 89 NONAME ; QDomNamedNodeMap::QDomNamedNodeMap(class QDomNamedNodeMap const &)
+ ?startElement@QXmlDefaultHandler@@UAE_NABVQString@@00ABVQXmlAttributes@@@Z @ 90 NONAME ; bool QXmlDefaultHandler::startElement(class QString const &, class QString const &, class QString const &, class QXmlAttributes const &)
+ ?isCharacterData@QDomNode@@QBE_NXZ @ 91 NONAME ; bool QDomNode::isCharacterData(void) const
+ ?setEntityResolver@QXmlSimpleReader@@UAEXPAVQXmlEntityResolver@@@Z @ 92 NONAME ; void QXmlSimpleReader::setEntityResolver(class QXmlEntityResolver *)
+ ?setDocumentLocator@QXmlDefaultHandler@@UAEXPAVQXmlLocator@@@Z @ 93 NONAME ; void QXmlDefaultHandler::setDocumentLocator(class QXmlLocator *)
+ ?endCDATA@QXmlDefaultHandler@@UAE_NXZ @ 94 NONAME ; bool QXmlDefaultHandler::endCDATA(void)
+ ?startPrefixMapping@QXmlDefaultHandler@@UAE_NABVQString@@0@Z @ 95 NONAME ; bool QXmlDefaultHandler::startPrefixMapping(class QString const &, class QString const &)
+ ?createCDATASection@QDomDocument@@QAE?AVQDomCDATASection@@ABVQString@@@Z @ 96 NONAME ; class QDomCDATASection QDomDocument::createCDATASection(class QString const &)
+ ?attributeDecl@QXmlDefaultHandler@@UAE_NABVQString@@0000@Z @ 97 NONAME ; bool QXmlDefaultHandler::attributeDecl(class QString const &, class QString const &, class QString const &, class QString const &, class QString const &)
+ ?nodeName@QDomNode@@QBE?AVQString@@XZ @ 98 NONAME ; class QString QDomNode::nodeName(void) const
+ ??0QDomProcessingInstruction@@QAE@ABV0@@Z @ 99 NONAME ; QDomProcessingInstruction::QDomProcessingInstruction(class QDomProcessingInstruction const &)
+ ?insertBefore@QDomNode@@QAE?AV1@ABV1@0@Z @ 100 NONAME ; class QDomNode QDomNode::insertBefore(class QDomNode const &, class QDomNode const &)
+ ?attributeNodeNS@QDomElement@@QAE?AVQDomAttr@@ABVQString@@0@Z @ 101 NONAME ; class QDomAttr QDomElement::attributeNodeNS(class QString const &, class QString const &)
+ ??0QXmlDefaultHandler@@QAE@XZ @ 102 NONAME ; QXmlDefaultHandler::QXmlDefaultHandler(void)
+ ??0QXmlNamespaceSupport@@QAE@XZ @ 103 NONAME ; QXmlNamespaceSupport::QXmlNamespaceSupport(void)
+ ??9QDomNodeList@@QBE_NABV0@@Z @ 104 NONAME ; bool QDomNodeList::operator!=(class QDomNodeList const &) const
+ ?nodeType@QDomCharacterData@@QBE?AW4NodeType@QDomNode@@XZ @ 105 NONAME ; enum QDomNode::NodeType QDomCharacterData::nodeType(void) const
+ ??1QXmlLexicalHandler@@UAE@XZ @ 106 NONAME ; QXmlLexicalHandler::~QXmlLexicalHandler(void)
+ ?setAttributeNS@QDomElement@@QAEXVQString@@ABV2@_J@Z @ 107 NONAME ; void QDomElement::setAttributeNS(class QString, class QString const &, long long)
+ ??4QDomNodeList@@QAEAAV0@ABV0@@Z @ 108 NONAME ; class QDomNodeList & QDomNodeList::operator=(class QDomNodeList const &)
+ ?setAttribute@QDomElement@@QAEXABVQString@@_J@Z @ 109 NONAME ; void QDomElement::setAttribute(class QString const &, long long)
+ ?attributeNS@QDomElement@@QBE?AVQString@@V2@ABV2@1@Z @ 110 NONAME ; class QString QDomElement::attributeNS(class QString, class QString const &, class QString const &) const
+ ??8QDomNodeList@@QBE_NABV0@@Z @ 111 NONAME ; bool QDomNodeList::operator==(class QDomNodeList const &) const
+ ?hasAttributes@QDomNode@@QBE_NXZ @ 112 NONAME ; bool QDomNode::hasAttributes(void) const
+ ?setNamedItem@QDomNamedNodeMap@@QAE?AVQDomNode@@ABV2@@Z @ 113 NONAME ; class QDomNode QDomNamedNodeMap::setNamedItem(class QDomNode const &)
+ ?insertAfter@QDomNode@@QAE?AV1@ABV1@0@Z @ 114 NONAME ; class QDomNode QDomNode::insertAfter(class QDomNode const &, class QDomNode const &)
+ ?errorHandler@QXmlSimpleReader@@UBEPAVQXmlErrorHandler@@XZ @ 115 NONAME ; class QXmlErrorHandler * QXmlSimpleReader::errorHandler(void) const
+ ?startEntity@QXmlDefaultHandler@@UAE_NABVQString@@@Z @ 116 NONAME ; bool QXmlDefaultHandler::startEntity(class QString const &)
+ ??0QXmlLocator@@QAE@XZ @ 117 NONAME ; QXmlLocator::QXmlLocator(void)
+ ??0QDomText@@QAE@XZ @ 118 NONAME ; QDomText::QDomText(void)
+ ?entities@QDomDocumentType@@QBE?AVQDomNamedNodeMap@@XZ @ 119 NONAME ; class QDomNamedNodeMap QDomDocumentType::entities(void) const
+ ??4QDomCDATASection@@QAEAAV0@ABV0@@Z @ 120 NONAME ; class QDomCDATASection & QDomCDATASection::operator=(class QDomCDATASection const &)
+ ?save@QDomNode@@QBEXAAVQTextStream@@H@Z @ 121 NONAME ; void QDomNode::save(class QTextStream &, int) const
+ ??0QXmlReader@@QAE@XZ @ 122 NONAME ABSENT ; QXmlReader::QXmlReader(void)
+ ??4QDomDocument@@QAEAAV0@ABV0@@Z @ 123 NONAME ; class QDomDocument & QDomDocument::operator=(class QDomDocument const &)
+ ?createTextNode@QDomDocument@@QAE?AVQDomText@@ABVQString@@@Z @ 124 NONAME ; class QDomText QDomDocument::createTextNode(class QString const &)
+ ?message@QXmlParseException@@QBE?AVQString@@XZ @ 125 NONAME ; class QString QXmlParseException::message(void) const
+ ??0QDomDocument@@AAE@PAVQDomDocumentPrivate@@@Z @ 126 NONAME ; QDomDocument::QDomDocument(class QDomDocumentPrivate *)
+ ?publicId@QDomDocumentType@@QBE?AVQString@@XZ @ 127 NONAME ; class QString QDomDocumentType::publicId(void) const
+ ?setTagName@QDomElement@@QAEXABVQString@@@Z @ 128 NONAME ; void QDomElement::setTagName(class QString const &)
+ ?EndOfDocument@QXmlInputSource@@2GB @ 129 NONAME ; unsigned short const QXmlInputSource::EndOfDocument
+ ?lastChild@QDomNode@@QBE?AV1@XZ @ 130 NONAME ; class QDomNode QDomNode::lastChild(void) const
+ ?EndOfData@QXmlInputSource@@2GB @ 131 NONAME ; unsigned short const QXmlInputSource::EndOfData
+ ??0QDomCharacterData@@QAE@ABV0@@Z @ 132 NONAME ; QDomCharacterData::QDomCharacterData(class QDomCharacterData const &)
+ ?specified@QDomAttr@@QBE_NXZ @ 133 NONAME ; bool QDomAttr::specified(void) const
+ ?implementation@QDomDocument@@QBE?AVQDomImplementation@@XZ @ 134 NONAME ; class QDomImplementation QDomDocument::implementation(void) const
+ ?childNodes@QDomNode@@QBE?AVQDomNodeList@@XZ @ 135 NONAME ; class QDomNodeList QDomNode::childNodes(void) const
+ ??0QDomNode@@QAE@XZ @ 136 NONAME ; QDomNode::QDomNode(void)
+ ??0QDomEntityReference@@QAE@XZ @ 137 NONAME ; QDomEntityReference::QDomEntityReference(void)
+ ??1QXmlSimpleReader@@UAE@XZ @ 138 NONAME ; QXmlSimpleReader::~QXmlSimpleReader(void)
+ ?startCDATA@QXmlDefaultHandler@@UAE_NXZ @ 139 NONAME ; bool QXmlDefaultHandler::startCDATA(void)
+ ?setData@QDomCharacterData@@QAEXABVQString@@@Z @ 140 NONAME ; void QDomCharacterData::setData(class QString const &)
+ ?ownerDocument@QDomNode@@QBE?AVQDomDocument@@XZ @ 141 NONAME ; class QDomDocument QDomNode::ownerDocument(void) const
+ ?size@QDomNodeList@@QBEHXZ @ 142 NONAME ; int QDomNodeList::size(void) const
+ ?size@QDomNamedNodeMap@@QBEHXZ @ 143 NONAME ; int QDomNamedNodeMap::size(void) const
+ ??0QDomDocumentFragment@@QAE@XZ @ 144 NONAME ; QDomDocumentFragment::QDomDocumentFragment(void)
+ ??4QDomText@@QAEAAV0@ABV0@@Z @ 145 NONAME ; class QDomText & QDomText::operator=(class QDomText const &)
+ ?createDocument@QDomImplementation@@QAE?AVQDomDocument@@ABVQString@@0ABVQDomDocumentType@@@Z @ 146 NONAME ; class QDomDocument QDomImplementation::createDocument(class QString const &, class QString const &, class QDomDocumentType const &)
+ ??0QDomText@@AAE@PAVQDomTextPrivate@@@Z @ 147 NONAME ; QDomText::QDomText(class QDomTextPrivate *)
+ ?lastChildElement@QDomNode@@QBE?AVQDomElement@@ABVQString@@@Z @ 148 NONAME ; class QDomElement QDomNode::lastChildElement(class QString const &) const
+ ??_EQXmlAttributes@@UAE@I@Z @ 149 NONAME ; QXmlAttributes::~QXmlAttributes(unsigned int)
+ ?setContentHandler@QXmlSimpleReader@@UAEXPAVQXmlContentHandler@@@Z @ 150 NONAME ; void QXmlSimpleReader::setContentHandler(class QXmlContentHandler *)
+ ?name@QDomAttr@@QBE?AVQString@@XZ @ 151 NONAME ; class QString QDomAttr::name(void) const
+ ??8QDomNode@@QBE_NABV0@@Z @ 152 NONAME ; bool QDomNode::operator==(class QDomNode const &) const
+ ?toNotation@QDomNode@@QBE?AVQDomNotation@@XZ @ 153 NONAME ; class QDomNotation QDomNode::toNotation(void) const
+ ?startDTD@QXmlDefaultHandler@@UAE_NABVQString@@00@Z @ 154 NONAME ; bool QXmlDefaultHandler::startDTD(class QString const &, class QString const &, class QString const &)
+ ?data@QDomProcessingInstruction@@QBE?AVQString@@XZ @ 155 NONAME ; class QString QDomProcessingInstruction::data(void) const
+ ?systemId@QDomNotation@@QBE?AVQString@@XZ @ 156 NONAME ; class QString QDomNotation::systemId(void) const
+ ?isEmpty@QDomNodeList@@QBE_NXZ @ 157 NONAME ; bool QDomNodeList::isEmpty(void) const
+ ?isText@QDomNode@@QBE_NXZ @ 158 NONAME ; bool QDomNode::isText(void) const
+ ?previousSibling@QDomNode@@QBE?AV1@XZ @ 159 NONAME ; class QDomNode QDomNode::previousSibling(void) const
+ ?isNull@QDomNode@@QBE_NXZ @ 160 NONAME ; bool QDomNode::isNull(void) const
+ ?attributes@QDomElement@@QBE?AVQDomNamedNodeMap@@XZ @ 161 NONAME ; class QDomNamedNodeMap QDomElement::attributes(void) const
+ ?prefix@QXmlNamespaceSupport@@QBE?AVQString@@ABV2@@Z @ 162 NONAME ; class QString QXmlNamespaceSupport::prefix(class QString const &) const
+ ?endElement@QXmlDefaultHandler@@UAE_NABVQString@@00@Z @ 163 NONAME ; bool QXmlDefaultHandler::endElement(class QString const &, class QString const &, class QString const &)
+ ?createDocumentType@QDomImplementation@@QAE?AVQDomDocumentType@@ABVQString@@00@Z @ 164 NONAME ; class QDomDocumentType QDomImplementation::createDocumentType(class QString const &, class QString const &, class QString const &)
+ ?isSupported@QDomNode@@QBE_NABVQString@@0@Z @ 165 NONAME ; bool QDomNode::isSupported(class QString const &, class QString const &) const
+ ?setAttribute@QDomElement@@QAEXABVQString@@M@Z @ 166 NONAME ; void QDomElement::setAttribute(class QString const &, float)
+ ??0QDomElement@@AAE@PAVQDomElementPrivate@@@Z @ 167 NONAME ; QDomElement::QDomElement(class QDomElementPrivate *)
+ ??_EQXmlEntityResolver@@UAE@I@Z @ 168 NONAME ; QXmlEntityResolver::~QXmlEntityResolver(unsigned int)
+ ?data@QXmlInputSource@@UBE?AVQString@@XZ @ 169 NONAME ; class QString QXmlInputSource::data(void) const
+ ?setPrefix@QDomNode@@QAEXABVQString@@@Z @ 170 NONAME ; void QDomNode::setPrefix(class QString const &)
+ ?parse@QXmlSimpleReader@@UAE_NPBVQXmlInputSource@@@Z @ 171 NONAME ; bool QXmlSimpleReader::parse(class QXmlInputSource const *)
+ ??0QDomProcessingInstruction@@AAE@PAVQDomProcessingInstructionPrivate@@@Z @ 172 NONAME ; QDomProcessingInstruction::QDomProcessingInstruction(class QDomProcessingInstructionPrivate *)
+ ?toElement@QDomNode@@QBE?AVQDomElement@@XZ @ 173 NONAME ; class QDomElement QDomNode::toElement(void) const
+ ?setAttribute@QDomElement@@QAEXABVQString@@H@Z @ 174 NONAME ; void QDomElement::setAttribute(class QString const &, int)
+ ??1QDomNamedNodeMap@@QAE@XZ @ 175 NONAME ; QDomNamedNodeMap::~QDomNamedNodeMap(void)
+ ?createAttribute@QDomDocument@@QAE?AVQDomAttr@@ABVQString@@@Z @ 176 NONAME ; class QDomAttr QDomDocument::createAttribute(class QString const &)
+ ?isDocumentType@QDomNode@@QBE_NXZ @ 177 NONAME ; bool QDomNode::isDocumentType(void) const
+ ??0QDomNotation@@AAE@PAVQDomNotationPrivate@@@Z @ 178 NONAME ; QDomNotation::QDomNotation(class QDomNotationPrivate *)
+ ??0QDomEntity@@AAE@PAVQDomEntityPrivate@@@Z @ 179 NONAME ; QDomEntity::QDomEntity(class QDomEntityPrivate *)
+ ?removeNamedItemNS@QDomNamedNodeMap@@QAE?AVQDomNode@@ABVQString@@0@Z @ 180 NONAME ; class QDomNode QDomNamedNodeMap::removeNamedItemNS(class QString const &, class QString const &)
+ ?hasAttributeNS@QDomElement@@QBE_NABVQString@@0@Z @ 181 NONAME ; bool QDomElement::hasAttributeNS(class QString const &, class QString const &) const
+ ??_EQXmlContentHandler@@UAE@I@Z @ 182 NONAME ; QXmlContentHandler::~QXmlContentHandler(unsigned int)
+ ?lexicalHandler@QXmlSimpleReader@@UBEPAVQXmlLexicalHandler@@XZ @ 183 NONAME ; class QXmlLexicalHandler * QXmlSimpleReader::lexicalHandler(void) const
+ ?unparsedEntityDecl@QXmlDefaultHandler@@UAE_NABVQString@@000@Z @ 184 NONAME ; bool QXmlDefaultHandler::unparsedEntityDecl(class QString const &, class QString const &, class QString const &, class QString const &)
+ ?systemId@QDomDocumentType@@QBE?AVQString@@XZ @ 185 NONAME ; class QString QDomDocumentType::systemId(void) const
+ ?setAttributeNS@QDomElement@@QAEXVQString@@ABV2@_K@Z @ 186 NONAME ; void QDomElement::setAttributeNS(class QString, class QString const &, unsigned long long)
+ ?setAttribute@QDomElement@@QAEXABVQString@@_K@Z @ 187 NONAME ; void QDomElement::setAttribute(class QString const &, unsigned long long)
+ ?hasProperty@QXmlSimpleReader@@UBE_NABVQString@@@Z @ 188 NONAME ; bool QXmlSimpleReader::hasProperty(class QString const &) const
+ ?toDocument@QDomNode@@QBE?AVQDomDocument@@XZ @ 189 NONAME ; class QDomDocument QDomNode::toDocument(void) const
+ ?removeAttribute@QDomElement@@QAEXABVQString@@@Z @ 190 NONAME ; void QDomElement::removeAttribute(class QString const &)
+ ?appendChild@QDomNode@@QAE?AV1@ABV1@@Z @ 191 NONAME ; class QDomNode QDomNode::appendChild(class QDomNode const &)
+ ?warning@QXmlDefaultHandler@@UAE_NABVQXmlParseException@@@Z @ 192 NONAME ; bool QXmlDefaultHandler::warning(class QXmlParseException const &)
+ ??0QDomNode@@QAE@ABV0@@Z @ 193 NONAME ; QDomNode::QDomNode(class QDomNode const &)
+ ?setContent@QDomDocument@@QAE_NABVQByteArray@@_NPAVQString@@PAH3@Z @ 194 NONAME ; bool QDomDocument::setContent(class QByteArray const &, bool, class QString *, int *, int *)
+ ??0QDomElement@@QAE@ABV0@@Z @ 195 NONAME ; QDomElement::QDomElement(class QDomElement const &)
+ ??0QXmlLexicalHandler@@QAE@XZ @ 196 NONAME ABSENT ; QXmlLexicalHandler::QXmlLexicalHandler(void)
+ ??_EQXmlLexicalHandler@@UAE@I@Z @ 197 NONAME ; QXmlLexicalHandler::~QXmlLexicalHandler(unsigned int)
+ ??0QDomDocumentType@@QAE@XZ @ 198 NONAME ; QDomDocumentType::QDomDocumentType(void)
+ ?columnNumber@QXmlParseException@@QBEHXZ @ 199 NONAME ; int QXmlParseException::columnNumber(void) const
+ ?clear@QDomNode@@QAEXXZ @ 200 NONAME ; void QDomNode::clear(void)
+ ??1QXmlErrorHandler@@UAE@XZ @ 201 NONAME ; QXmlErrorHandler::~QXmlErrorHandler(void)
+ ?isEntity@QDomNode@@QBE_NXZ @ 202 NONAME ; bool QDomNode::isEntity(void) const
+ ??0QDomAttr@@QAE@XZ @ 203 NONAME ; QDomAttr::QDomAttr(void)
+ ?isDocumentFragment@QDomNode@@QBE_NXZ @ 204 NONAME ; bool QDomNode::isDocumentFragment(void) const
+ ??0QXmlInputSource@@QAE@XZ @ 205 NONAME ; QXmlInputSource::QXmlInputSource(void)
+ ??8QDomNamedNodeMap@@QBE_NABV0@@Z @ 206 NONAME ; bool QDomNamedNodeMap::operator==(class QDomNamedNodeMap const &) const
+ ?namedItemNS@QDomNamedNodeMap@@QBE?AVQDomNode@@ABVQString@@0@Z @ 207 NONAME ; class QDomNode QDomNamedNodeMap::namedItemNS(class QString const &, class QString const &) const
+ ?setContent@QDomDocument@@QAE_NABVQByteArray@@PAVQString@@PAH2@Z @ 208 NONAME ; bool QDomDocument::setContent(class QByteArray const &, class QString *, int *, int *)
+ ?isProcessingInstruction@QDomNode@@QBE_NXZ @ 209 NONAME ; bool QDomNode::isProcessingInstruction(void) const
+ ?item@QDomNamedNodeMap@@QBE?AVQDomNode@@H@Z @ 210 NONAME ; class QDomNode QDomNamedNodeMap::item(int) const
+ ?target@QDomProcessingInstruction@@QBE?AVQString@@XZ @ 211 NONAME ; class QString QDomProcessingInstruction::target(void) const
+ ?isElement@QDomNode@@QBE_NXZ @ 212 NONAME ; bool QDomNode::isElement(void) const
+ ?processingInstruction@QXmlDefaultHandler@@UAE_NABVQString@@0@Z @ 213 NONAME ; bool QXmlDefaultHandler::processingInstruction(class QString const &, class QString const &)
+ ?removeChild@QDomNode@@QAE?AV1@ABV1@@Z @ 214 NONAME ; class QDomNode QDomNode::removeChild(class QDomNode const &)
+ ?setContent@QDomDocument@@QAE_NPAVQXmlInputSource@@PAVQXmlReader@@PAVQString@@PAH3@Z @ 215 NONAME ; bool QDomDocument::setContent(class QXmlInputSource *, class QXmlReader *, class QString *, int *, int *)
+ ?publicId@QXmlParseException@@QBE?AVQString@@XZ @ 216 NONAME ; class QString QXmlParseException::publicId(void) const
+ ?d_func@QXmlSimpleReader@@AAEPAVQXmlSimpleReaderPrivate@@XZ @ 217 NONAME ; class QXmlSimpleReaderPrivate * QXmlSimpleReader::d_func(void)
+ ?ignorableWhitespace@QXmlDefaultHandler@@UAE_NABVQString@@@Z @ 218 NONAME ; bool QXmlDefaultHandler::ignorableWhitespace(class QString const &)
+ ??0QDomNodeList@@AAE@PAVQDomNodeListPrivate@@@Z @ 219 NONAME ; QDomNodeList::QDomNodeList(class QDomNodeListPrivate *)
+ ??_EQXmlReader@@UAE@I@Z @ 220 NONAME ; QXmlReader::~QXmlReader(unsigned int)
+ ?endPrefixMapping@QXmlDefaultHandler@@UAE_NABVQString@@@Z @ 221 NONAME ; bool QXmlDefaultHandler::endPrefixMapping(class QString const &)
+ ?isEntityReference@QDomNode@@QBE_NXZ @ 222 NONAME ; bool QDomNode::isEntityReference(void) const
+ ?isCDATASection@QDomNode@@QBE_NXZ @ 223 NONAME ; bool QDomNode::isCDATASection(void) const
+ ?setData@QXmlInputSource@@UAEXABVQString@@@Z @ 224 NONAME ; void QXmlInputSource::setData(class QString const &)
+ ?value@QXmlAttributes@@QBE?AVQString@@ABVQLatin1String@@@Z @ 225 NONAME ; class QString QXmlAttributes::value(class QLatin1String const &) const
+ ??4QDomEntityReference@@QAEAAV0@ABV0@@Z @ 226 NONAME ; class QDomEntityReference & QDomEntityReference::operator=(class QDomEntityReference const &)
+ ?value@QDomAttr@@QBE?AVQString@@XZ @ 227 NONAME ; class QString QDomAttr::value(void) const
+ ??0QDomDocument@@QAE@ABVQDomDocumentType@@@Z @ 228 NONAME ; QDomDocument::QDomDocument(class QDomDocumentType const &)
+ ??0QDomCharacterData@@QAE@XZ @ 229 NONAME ; QDomCharacterData::QDomCharacterData(void)
+ ??0QDomProcessingInstruction@@QAE@XZ @ 230 NONAME ; QDomProcessingInstruction::QDomProcessingInstruction(void)
+ ?nodeType@QDomProcessingInstruction@@QBE?AW4NodeType@QDomNode@@XZ @ 231 NONAME ; enum QDomNode::NodeType QDomProcessingInstruction::nodeType(void) const
+ ?comment@QXmlDefaultHandler@@UAE_NABVQString@@@Z @ 232 NONAME ; bool QXmlDefaultHandler::comment(class QString const &)
+ ?type@QXmlAttributes@@QBE?AVQString@@H@Z @ 233 NONAME ; class QString QXmlAttributes::type(int) const
+ ??0QDomNotation@@QAE@XZ @ 234 NONAME ; QDomNotation::QDomNotation(void)
+ ?nodeType@QDomDocumentType@@QBE?AW4NodeType@QDomNode@@XZ @ 235 NONAME ; enum QDomNode::NodeType QDomDocumentType::nodeType(void) const
+ ??0QDomEntity@@QAE@XZ @ 236 NONAME ; QDomEntity::QDomEntity(void)
+ ??0QDomCDATASection@@QAE@ABV0@@Z @ 237 NONAME ; QDomCDATASection::QDomCDATASection(class QDomCDATASection const &)
+ ?setAttributeNS@QDomElement@@QAEXVQString@@ABV2@1@Z @ 238 NONAME ; void QDomElement::setAttributeNS(class QString, class QString const &, class QString const &)
+ ?setAttribute@QDomElement@@QAEXABVQString@@N@Z @ 239 NONAME ; void QDomElement::setAttribute(class QString const &, double)
+ ?externalEntityDecl@QXmlDefaultHandler@@UAE_NABVQString@@00@Z @ 240 NONAME ; bool QXmlDefaultHandler::externalEntityDecl(class QString const &, class QString const &, class QString const &)
+ ??0QDomCDATASection@@AAE@PAVQDomCDATASectionPrivate@@@Z @ 241 NONAME ; QDomCDATASection::QDomCDATASection(class QDomCDATASectionPrivate *)
+ ?createDocumentFragment@QDomDocument@@QAE?AVQDomDocumentFragment@@XZ @ 242 NONAME ; class QDomDocumentFragment QDomDocument::createDocumentFragment(void)
+ ?fatalError@QXmlDefaultHandler@@UAE_NABVQXmlParseException@@@Z @ 243 NONAME ; bool QXmlDefaultHandler::fatalError(class QXmlParseException const &)
+ ?toText@QDomNode@@QBE?AVQDomText@@XZ @ 244 NONAME ; class QDomText QDomNode::toText(void) const
+ ?cloneNode@QDomNode@@QBE?AV1@_N@Z @ 245 NONAME ; class QDomNode QDomNode::cloneNode(bool) const
+ ??1QXmlEntityResolver@@UAE@XZ @ 246 NONAME ; QXmlEntityResolver::~QXmlEntityResolver(void)
+ ??0QDomEntityReference@@QAE@ABV0@@Z @ 247 NONAME ; QDomEntityReference::QDomEntityReference(class QDomEntityReference const &)
+ ??1QXmlInputSource@@UAE@XZ @ 248 NONAME ; QXmlInputSource::~QXmlInputSource(void)
+ ?toAttr@QDomNode@@QBE?AVQDomAttr@@XZ @ 249 NONAME ; class QDomAttr QDomNode::toAttr(void) const
+ ?toString@QDomDocument@@QBE?AVQString@@H@Z @ 250 NONAME ; class QString QDomDocument::toString(int) const
+ ??0QDomComment@@QAE@ABV0@@Z @ 251 NONAME ; QDomComment::QDomComment(class QDomComment const &)
+ ??4QDomImplementation@@QAEAAV0@ABV0@@Z @ 252 NONAME ; class QDomImplementation & QDomImplementation::operator=(class QDomImplementation const &)
+ ?prefixes@QXmlNamespaceSupport@@QBE?AVQStringList@@XZ @ 253 NONAME ; class QStringList QXmlNamespaceSupport::prefixes(void) const
+ ?type@QXmlAttributes@@QBE?AVQString@@ABV2@0@Z @ 254 NONAME ; class QString QXmlAttributes::type(class QString const &, class QString const &) const
+ ?text@QDomElement@@QBE?AVQString@@XZ @ 255 NONAME ; class QString QDomElement::text(void) const
+ ?type@QXmlAttributes@@QBE?AVQString@@ABV2@@Z @ 256 NONAME ; class QString QXmlAttributes::type(class QString const &) const
+ ?setAttribute@QDomElement@@QAEXABVQString@@I@Z @ 257 NONAME ; void QDomElement::setAttribute(class QString const &, unsigned int)
+ ?localName@QXmlAttributes@@QBE?AVQString@@H@Z @ 258 NONAME ; class QString QXmlAttributes::localName(int) const
+ ?createElementNS@QDomDocument@@QAE?AVQDomElement@@ABVQString@@0@Z @ 259 NONAME ; class QDomElement QDomDocument::createElementNS(class QString const &, class QString const &)
+ ?qName@QXmlAttributes@@QBE?AVQString@@H@Z @ 260 NONAME ; class QString QXmlAttributes::qName(int) const
+ ?data@QDomCharacterData@@QBE?AVQString@@XZ @ 261 NONAME ; class QString QDomCharacterData::data(void) const
+ ?setContent@QDomDocument@@QAE_NPAVQIODevice@@PAVQString@@PAH2@Z @ 262 NONAME ; bool QDomDocument::setContent(class QIODevice *, class QString *, int *, int *)
+ ??0QDomNamedNodeMap@@QAE@XZ @ 263 NONAME ; QDomNamedNodeMap::QDomNamedNodeMap(void)
+ ??0QDomEntityReference@@AAE@PAVQDomEntityReferencePrivate@@@Z @ 264 NONAME ; QDomEntityReference::QDomEntityReference(class QDomEntityReferencePrivate *)
+ ??9QDomNamedNodeMap@@QBE_NABV0@@Z @ 265 NONAME ; bool QDomNamedNodeMap::operator!=(class QDomNamedNodeMap const &) const
+ ?length@QXmlAttributes@@QBEHXZ @ 266 NONAME ; int QXmlAttributes::length(void) const
+ ?isAttr@QDomNode@@QBE_NXZ @ 267 NONAME ; bool QDomNode::isAttr(void) const
+ ?setLexicalHandler@QXmlSimpleReader@@UAEXPAVQXmlLexicalHandler@@@Z @ 268 NONAME ; void QXmlSimpleReader::setLexicalHandler(class QXmlLexicalHandler *)
+ ?feature@QXmlSimpleReader@@UBE_NABVQString@@PA_N@Z @ 269 NONAME ; bool QXmlSimpleReader::feature(class QString const &, bool *) const
+ ?createComment@QDomDocument@@QAE?AVQDomComment@@ABVQString@@@Z @ 270 NONAME ; class QDomComment QDomDocument::createComment(class QString const &)
+ ?lineNumber@QDomNode@@QBEHXZ @ 271 NONAME ; int QDomNode::lineNumber(void) const
+ ?nodeType@QDomDocumentFragment@@QBE?AW4NodeType@QDomNode@@XZ @ 272 NONAME ; enum QDomNode::NodeType QDomDocumentFragment::nodeType(void) const
+ ?namedItem@QDomNamedNodeMap@@QBE?AVQDomNode@@ABVQString@@@Z @ 273 NONAME ; class QDomNode QDomNamedNodeMap::namedItem(class QString const &) const
+ ??0QDomDocumentFragment@@AAE@PAVQDomDocumentFragmentPrivate@@@Z @ 274 NONAME ; QDomDocumentFragment::QDomDocumentFragment(class QDomDocumentFragmentPrivate *)
+ ??4QDomDocumentType@@QAEAAV0@ABV0@@Z @ 275 NONAME ; class QDomDocumentType & QDomDocumentType::operator=(class QDomDocumentType const &)
+ ?firstChild@QDomNode@@QBE?AV1@XZ @ 276 NONAME ; class QDomNode QDomNode::firstChild(void) const
+ ?toDocumentType@QDomNode@@QBE?AVQDomDocumentType@@XZ @ 277 NONAME ; class QDomDocumentType QDomNode::toDocumentType(void) const
+ ??4QDomComment@@QAEAAV0@ABV0@@Z @ 278 NONAME ; class QDomComment & QDomComment::operator=(class QDomComment const &)
+ ?isComment@QDomNode@@QBE_NXZ @ 279 NONAME ; bool QDomNode::isComment(void) const
+ ?setDTDHandler@QXmlSimpleReader@@UAEXPAVQXmlDTDHandler@@@Z @ 280 NONAME ; void QXmlSimpleReader::setDTDHandler(class QXmlDTDHandler *)
+ ?setAttributeNode@QDomElement@@QAE?AVQDomAttr@@ABV2@@Z @ 281 NONAME ; class QDomAttr QDomElement::setAttributeNode(class QDomAttr const &)
+ ??0QDomComment@@AAE@PAVQDomCommentPrivate@@@Z @ 282 NONAME ; QDomComment::QDomComment(class QDomCommentPrivate *)
+ ?parseContinue@QXmlSimpleReader@@UAE_NXZ @ 283 NONAME ; bool QXmlSimpleReader::parseContinue(void)
+ ?characters@QXmlDefaultHandler@@UAE_NABVQString@@@Z @ 284 NONAME ; bool QXmlDefaultHandler::characters(class QString const &)
+ ??1QXmlNamespaceSupport@@QAE@XZ @ 285 NONAME ; QXmlNamespaceSupport::~QXmlNamespaceSupport(void)
+ ?attributes@QDomNode@@QBE?AVQDomNamedNodeMap@@XZ @ 286 NONAME ; class QDomNamedNodeMap QDomNode::attributes(void) const
+ ?index@QXmlAttributes@@QBEHABVQString@@@Z @ 287 NONAME ; int QXmlAttributes::index(class QString const &) const
+ ?isDocument@QDomNode@@QBE_NXZ @ 288 NONAME ; bool QDomNode::isDocument(void) const
+ ?removeNamedItem@QDomNamedNodeMap@@QAE?AVQDomNode@@ABVQString@@@Z @ 289 NONAME ; class QDomNode QDomNamedNodeMap::removeNamedItem(class QString const &)
+ ?removeAttributeNode@QDomElement@@QAE?AVQDomAttr@@ABV2@@Z @ 290 NONAME ; class QDomAttr QDomElement::removeAttributeNode(class QDomAttr const &)
+ ?prefix@QDomNode@@QBE?AVQString@@XZ @ 291 NONAME ; class QString QDomNode::prefix(void) const
+ ??0QDomCDATASection@@QAE@XZ @ 292 NONAME ; QDomCDATASection::QDomCDATASection(void)
+ ?isEmpty@QDomNamedNodeMap@@QBE_NXZ @ 293 NONAME ; bool QDomNamedNodeMap::isEmpty(void) const
+ ?nodeType@QDomComment@@QBE?AW4NodeType@QDomNode@@XZ @ 294 NONAME ; enum QDomNode::NodeType QDomComment::nodeType(void) const
+ ?append@QXmlAttributes@@QAEXABVQString@@000@Z @ 295 NONAME ; void QXmlAttributes::append(class QString const &, class QString const &, class QString const &, class QString const &)
+ ?hasFeature@QXmlSimpleReader@@UBE_NABVQString@@@Z @ 296 NONAME ; bool QXmlSimpleReader::hasFeature(class QString const &) const
+ ?startDocument@QXmlDefaultHandler@@UAE_NXZ @ 297 NONAME ; bool QXmlDefaultHandler::startDocument(void)
+ ?fromRawData@QXmlInputSource@@MAE?AVQString@@ABVQByteArray@@_N@Z @ 298 NONAME ; class QString QXmlInputSource::fromRawData(class QByteArray const &, bool)
+ ?setNamedItemNS@QDomNamedNodeMap@@QAE?AVQDomNode@@ABV2@@Z @ 299 NONAME ; class QDomNode QDomNamedNodeMap::setNamedItemNS(class QDomNode const &)
+ ?setInvalidDataPolicy@QDomImplementation@@SAXW4InvalidDataPolicy@1@@Z @ 300 NONAME ; void QDomImplementation::setInvalidDataPolicy(enum QDomImplementation::InvalidDataPolicy)
+ ??1QXmlDTDHandler@@UAE@XZ @ 301 NONAME ; QXmlDTDHandler::~QXmlDTDHandler(void)
+ ?nodeType@QDomElement@@QBE?AW4NodeType@QDomNode@@XZ @ 302 NONAME ; enum QDomNode::NodeType QDomElement::nodeType(void) const
+ ??0QXmlDeclHandler@@QAE@XZ @ 303 NONAME ABSENT ; QXmlDeclHandler::QXmlDeclHandler(void)
+ ?attributeNode@QDomElement@@QAE?AVQDomAttr@@ABVQString@@@Z @ 304 NONAME ; class QDomAttr QDomElement::attributeNode(class QString const &)
+ ??0QDomNodeList@@QAE@XZ @ 305 NONAME ; QDomNodeList::QDomNodeList(void)
+ ??1QXmlAttributes@@UAE@XZ @ 306 NONAME ; QXmlAttributes::~QXmlAttributes(void)
+ ?splitName@QXmlNamespaceSupport@@QBEXABVQString@@AAV2@1@Z @ 307 NONAME ; void QXmlNamespaceSupport::splitName(class QString const &, class QString &, class QString &) const
+ ?contains@QDomNamedNodeMap@@QBE_NABVQString@@@Z @ 308 NONAME ; bool QDomNamedNodeMap::contains(class QString const &) const
+ ?ownerElement@QDomAttr@@QBE?AVQDomElement@@XZ @ 309 NONAME ; class QDomElement QDomAttr::ownerElement(void) const
+ ??0QXmlSimpleReader@@QAE@XZ @ 310 NONAME ; QXmlSimpleReader::QXmlSimpleReader(void)
+ ?systemId@QDomEntity@@QBE?AVQString@@XZ @ 311 NONAME ; class QString QDomEntity::systemId(void) const
+ ?replaceData@QDomCharacterData@@QAEXKKABVQString@@@Z @ 312 NONAME ; void QDomCharacterData::replaceData(unsigned long, unsigned long, class QString const &)
+ ?elementsByTagNameNS@QDomDocument@@QAE?AVQDomNodeList@@ABVQString@@0@Z @ 313 NONAME ; class QDomNodeList QDomDocument::elementsByTagNameNS(class QString const &, class QString const &)
+ ?setErrorHandler@QXmlSimpleReader@@UAEXPAVQXmlErrorHandler@@@Z @ 314 NONAME ; void QXmlSimpleReader::setErrorHandler(class QXmlErrorHandler *)
+ ?previousSiblingElement@QDomNode@@QBE?AVQDomElement@@ABVQString@@@Z @ 315 NONAME ; class QDomElement QDomNode::previousSiblingElement(class QString const &) const
+ ??0QDomEntity@@QAE@ABV0@@Z @ 316 NONAME ; QDomEntity::QDomEntity(class QDomEntity const &)
+ ??0QDomAttr@@AAE@PAVQDomAttrPrivate@@@Z @ 317 NONAME ; QDomAttr::QDomAttr(class QDomAttrPrivate *)
+ ?replaceChild@QDomNode@@QAE?AV1@ABV1@0@Z @ 318 NONAME ; class QDomNode QDomNode::replaceChild(class QDomNode const &, class QDomNode const &)
+ ?firstChildElement@QDomNode@@QBE?AVQDomElement@@ABVQString@@@Z @ 319 NONAME ; class QDomElement QDomNode::firstChildElement(class QString const &) const
+ ??0QXmlParseException@@QAE@ABVQString@@HH00@Z @ 320 NONAME ; QXmlParseException::QXmlParseException(class QString const &, int, int, class QString const &, class QString const &)
+ ??4QDomDocumentFragment@@QAEAAV0@ABV0@@Z @ 321 NONAME ; class QDomDocumentFragment & QDomDocumentFragment::operator=(class QDomDocumentFragment const &)
+ ?insertData@QDomCharacterData@@QAEXKABVQString@@@Z @ 322 NONAME ; void QDomCharacterData::insertData(unsigned long, class QString const &)
+ ?setData@QDomProcessingInstruction@@QAEXABVQString@@@Z @ 323 NONAME ; void QDomProcessingInstruction::setData(class QString const &)
+ ??_EQXmlInputSource@@UAE@I@Z @ 324 NONAME ; QXmlInputSource::~QXmlInputSource(unsigned int)
+ ?columnNumber@QDomNode@@QBEHXZ @ 325 NONAME ; int QDomNode::columnNumber(void) const
+ ?length@QDomNamedNodeMap@@QBEIXZ @ 326 NONAME ; unsigned int QDomNamedNodeMap::length(void) const
+ ?hasAttribute@QDomElement@@QBE_NABVQString@@@Z @ 327 NONAME ; bool QDomElement::hasAttribute(class QString const &) const
+ ?internalEntityDecl@QXmlDefaultHandler@@UAE_NABVQString@@0@Z @ 328 NONAME ; bool QXmlDefaultHandler::internalEntityDecl(class QString const &, class QString const &)
+ ?index@QXmlAttributes@@QBEHABVQLatin1String@@@Z @ 329 NONAME ; int QXmlAttributes::index(class QLatin1String const &) const
+ ?publicId@QDomNotation@@QBE?AVQString@@XZ @ 330 NONAME ; class QString QDomNotation::publicId(void) const
+ ?endEntity@QXmlDefaultHandler@@UAE_NABVQString@@@Z @ 331 NONAME ; bool QXmlDefaultHandler::endEntity(class QString const &)
+ ?setAttribute@QDomElement@@QAEXABVQString@@0@Z @ 332 NONAME ; void QDomElement::setAttribute(class QString const &, class QString const &)
+ ?notationDecl@QXmlDefaultHandler@@UAE_NABVQString@@00@Z @ 333 NONAME ; bool QXmlDefaultHandler::notationDecl(class QString const &, class QString const &, class QString const &)
+ ?createEntityReference@QDomDocument@@QAE?AVQDomEntityReference@@ABVQString@@@Z @ 334 NONAME ; class QDomEntityReference QDomDocument::createEntityReference(class QString const &)
+ ?hasChildNodes@QDomNode@@QBE_NXZ @ 335 NONAME ; bool QDomNode::hasChildNodes(void) const
+ ?nodeType@QDomNode@@QBE?AW4NodeType@1@XZ @ 336 NONAME ; enum QDomNode::NodeType QDomNode::nodeType(void) const
+ ?toEntity@QDomNode@@QBE?AVQDomEntity@@XZ @ 337 NONAME ; class QDomEntity QDomNode::toEntity(void) const
+ ?toCDATASection@QDomNode@@QBE?AVQDomCDATASection@@XZ @ 338 NONAME ; class QDomCDATASection QDomNode::toCDATASection(void) const
+ ??0QXmlParseException@@QAE@ABV0@@Z @ 339 NONAME ; QXmlParseException::QXmlParseException(class QXmlParseException const &)
+ ?nextSiblingElement@QDomNode@@QBE?AVQDomElement@@ABVQString@@@Z @ 340 NONAME ; class QDomElement QDomNode::nextSiblingElement(class QString const &) const
+ ??1QXmlContentHandler@@UAE@XZ @ 341 NONAME ; QXmlContentHandler::~QXmlContentHandler(void)
+ ??0QXmlEntityResolver@@QAE@XZ @ 342 NONAME ABSENT ; QXmlEntityResolver::QXmlEntityResolver(void)
+ ?contentHandler@QXmlSimpleReader@@UBEPAVQXmlContentHandler@@XZ @ 343 NONAME ; class QXmlContentHandler * QXmlSimpleReader::contentHandler(void) const
+ ?localName@QDomNode@@QBE?AVQString@@XZ @ 344 NONAME ; class QString QDomNode::localName(void) const
+ ??1QXmlDeclHandler@@UAE@XZ @ 345 NONAME ; QXmlDeclHandler::~QXmlDeclHandler(void)
+ ?elementsByTagName@QDomElement@@QBE?AVQDomNodeList@@ABVQString@@@Z @ 346 NONAME ; class QDomNodeList QDomElement::elementsByTagName(class QString const &) const
+ ?init@QXmlInputSource@@AAEXXZ @ 347 NONAME ; void QXmlInputSource::init(void)
+ ?setData@QXmlInputSource@@UAEXABVQByteArray@@@Z @ 348 NONAME ; void QXmlInputSource::setData(class QByteArray const &)
+ ?isNotation@QDomNode@@QBE_NXZ @ 349 NONAME ; bool QDomNode::isNotation(void) const
+ ??4QDomAttr@@QAEAAV0@ABV0@@Z @ 350 NONAME ; class QDomAttr & QDomAttr::operator=(class QDomAttr const &)
+ ?errorString@QXmlDefaultHandler@@UBE?AVQString@@XZ @ 351 NONAME ; class QString QXmlDefaultHandler::errorString(void) const
+ ??1QDomText@@QAE@XZ @ 352 NONAME ; QDomText::~QDomText(void)
+ ?createProcessingInstruction@QDomDocument@@QAE?AVQDomProcessingInstruction@@ABVQString@@0@Z @ 353 NONAME ; class QDomProcessingInstruction QDomDocument::createProcessingInstruction(class QString const &, class QString const &)
+ ??1QXmlReader@@UAE@XZ @ 354 NONAME ; QXmlReader::~QXmlReader(void)
+ ??_EQXmlErrorHandler@@UAE@I@Z @ 355 NONAME ; QXmlErrorHandler::~QXmlErrorHandler(unsigned int)
+ ?namespaceURI@QDomNode@@QBE?AVQString@@XZ @ 356 NONAME ; class QString QDomNode::namespaceURI(void) const
+ ??_EQXmlDeclHandler@@UAE@I@Z @ 357 NONAME ; QXmlDeclHandler::~QXmlDeclHandler(unsigned int)
+ ?endDocument@QXmlDefaultHandler@@UAE_NXZ @ 358 NONAME ; bool QXmlDefaultHandler::endDocument(void)
+ ?length@QDomNodeList@@QBEIXZ @ 359 NONAME ; unsigned int QDomNodeList::length(void) const
+ ??4QDomElement@@QAEAAV0@ABV0@@Z @ 360 NONAME ; class QDomElement & QDomElement::operator=(class QDomElement const &)
+ ?value@QXmlAttributes@@QBE?AVQString@@H@Z @ 361 NONAME ; class QString QXmlAttributes::value(int) const
+ ?normalize@QDomNode@@QAEXXZ @ 362 NONAME ; void QDomNode::normalize(void)
+ ?endDTD@QXmlDefaultHandler@@UAE_NXZ @ 363 NONAME ; bool QXmlDefaultHandler::endDTD(void)
+ ??1QDomNode@@QAE@XZ @ 364 NONAME ; QDomNode::~QDomNode(void)
+ ?importNode@QDomDocument@@QAE?AVQDomNode@@ABV2@_N@Z @ 365 NONAME ; class QDomNode QDomDocument::importNode(class QDomNode const &, bool)
+ ??0QDomDocumentFragment@@QAE@ABV0@@Z @ 366 NONAME ; QDomDocumentFragment::QDomDocumentFragment(class QDomDocumentFragment const &)
+ ?item@QDomNodeList@@QBE?AVQDomNode@@H@Z @ 367 NONAME ; class QDomNode QDomNodeList::item(int) const
+ ?clear@QXmlAttributes@@QAEXXZ @ 368 NONAME ; void QXmlAttributes::clear(void)
+ ?documentElement@QDomDocument@@QBE?AVQDomElement@@XZ @ 369 NONAME ; class QDomElement QDomDocument::documentElement(void) const
+ ?setFeature@QXmlSimpleReader@@UAEXABVQString@@_N@Z @ 370 NONAME ; void QXmlSimpleReader::setFeature(class QString const &, bool)
+ ?entityResolver@QXmlSimpleReader@@UBEPAVQXmlEntityResolver@@XZ @ 371 NONAME ; class QXmlEntityResolver * QXmlSimpleReader::entityResolver(void) const
+ ??0QDomDocument@@QAE@ABV0@@Z @ 372 NONAME ; QDomDocument::QDomDocument(class QDomDocument const &)
+ ??1QDomNodeList@@QAE@XZ @ 373 NONAME ; QDomNodeList::~QDomNodeList(void)
+ ??4QDomEntity@@QAEAAV0@ABV0@@Z @ 374 NONAME ; class QDomEntity & QDomEntity::operator=(class QDomEntity const &)
+ ??0QXmlErrorHandler@@QAE@XZ @ 375 NONAME ABSENT ; QXmlErrorHandler::QXmlErrorHandler(void)
+ ??0QDomNamedNodeMap@@AAE@PAVQDomNamedNodeMapPrivate@@@Z @ 376 NONAME ; QDomNamedNodeMap::QDomNamedNodeMap(class QDomNamedNodeMapPrivate *)
+ ?parentNode@QDomNode@@QBE?AV1@XZ @ 377 NONAME ; class QDomNode QDomNode::parentNode(void) const
+ ??_EQXmlSimpleReader@@UAE@I@Z @ 378 NONAME ; QXmlSimpleReader::~QXmlSimpleReader(unsigned int)
+ ?toDocumentFragment@QDomNode@@QBE?AVQDomDocumentFragment@@XZ @ 379 NONAME ; class QDomDocumentFragment QDomNode::toDocumentFragment(void) const
+ ?nodeType@QDomText@@QBE?AW4NodeType@QDomNode@@XZ @ 380 NONAME ; enum QDomNode::NodeType QDomText::nodeType(void) const
+ ?uri@QXmlAttributes@@QBE?AVQString@@H@Z @ 381 NONAME ; class QString QXmlAttributes::uri(int) const
+ ??1QDomCharacterData@@QAE@XZ @ 382 NONAME ; QDomCharacterData::~QDomCharacterData(void)
+ ?DTDHandler@QXmlSimpleReader@@UBEPAVQXmlDTDHandler@@XZ @ 383 NONAME ; class QXmlDTDHandler * QXmlSimpleReader::DTDHandler(void) const
+ ??0QDomText@@QAE@ABV0@@Z @ 384 NONAME ; QDomText::QDomText(class QDomText const &)
+ ?uri@QXmlNamespaceSupport@@QBE?AVQString@@ABV2@@Z @ 385 NONAME ; class QString QXmlNamespaceSupport::uri(class QString const &) const
+ ?parse@QXmlSimpleReader@@UAE_NPBVQXmlInputSource@@_N@Z @ 386 NONAME ; bool QXmlSimpleReader::parse(class QXmlInputSource const *, bool)
+ ?setAttributeNodeNS@QDomElement@@QAE?AVQDomAttr@@ABV2@@Z @ 387 NONAME ; class QDomAttr QDomElement::setAttributeNodeNS(class QDomAttr const &)
+ ?appendData@QDomCharacterData@@QAEXABVQString@@@Z @ 388 NONAME ; void QDomCharacterData::appendData(class QString const &)
+ ?nodeType@QDomAttr@@QBE?AW4NodeType@QDomNode@@XZ @ 389 NONAME ; enum QDomNode::NodeType QDomAttr::nodeType(void) const
+ ?toProcessingInstruction@QDomNode@@QBE?AVQDomProcessingInstruction@@XZ @ 390 NONAME ; class QDomProcessingInstruction QDomNode::toProcessingInstruction(void) const
+ ?nodeType@QDomDocument@@QBE?AW4NodeType@QDomNode@@XZ @ 391 NONAME ; enum QDomNode::NodeType QDomDocument::nodeType(void) const
+ ??0QXmlInputSource@@QAE@PAVQIODevice@@@Z @ 392 NONAME ; QXmlInputSource::QXmlInputSource(class QIODevice *)
+ ?name@QDomDocumentType@@QBE?AVQString@@XZ @ 393 NONAME ; class QString QDomDocumentType::name(void) const
+ ??0QDomCharacterData@@AAE@PAVQDomCharacterDataPrivate@@@Z @ 394 NONAME ; QDomCharacterData::QDomCharacterData(class QDomCharacterDataPrivate *)
+ ??1QDomElement@@QAE@XZ @ 395 NONAME ; QDomElement::~QDomElement(void)
+ ??0QDomAttr@@QAE@ABV0@@Z @ 396 NONAME ; QDomAttr::QDomAttr(class QDomAttr const &)
+ ?createAttributeNS@QDomDocument@@QAE?AVQDomAttr@@ABVQString@@0@Z @ 397 NONAME ; class QDomAttr QDomDocument::createAttributeNS(class QString const &, class QString const &)
+ ?count@QDomNamedNodeMap@@QBEHXZ @ 398 NONAME ; int QDomNamedNodeMap::count(void) const
+ ?fetchData@QXmlInputSource@@UAEXXZ @ 399 NONAME ; void QXmlInputSource::fetchData(void)
+ ?doctype@QDomDocument@@QBE?AVQDomDocumentType@@XZ @ 400 NONAME ; class QDomDocumentType QDomDocument::doctype(void) const
+ ??0QDomDocument@@QAE@ABVQString@@@Z @ 401 NONAME ; QDomDocument::QDomDocument(class QString const &)
+ ?toComment@QDomNode@@QBE?AVQDomComment@@XZ @ 402 NONAME ; class QDomComment QDomNode::toComment(void) const
+ ?nodeType@QDomEntityReference@@QBE?AW4NodeType@QDomNode@@XZ @ 403 NONAME ; enum QDomNode::NodeType QDomEntityReference::nodeType(void) const
+ ?createElement@QDomDocument@@QAE?AVQDomElement@@ABVQString@@@Z @ 404 NONAME ; class QDomElement QDomDocument::createElement(class QString const &)
+ ?skippedEntity@QXmlDefaultHandler@@UAE_NABVQString@@@Z @ 405 NONAME ; bool QXmlDefaultHandler::skippedEntity(class QString const &)
+ ?nodeType@QDomNotation@@QBE?AW4NodeType@QDomNode@@XZ @ 406 NONAME ; enum QDomNode::NodeType QDomNotation::nodeType(void) const
+ ?elementsByTagName@QDomDocument@@QBE?AVQDomNodeList@@ABVQString@@@Z @ 407 NONAME ; class QDomNodeList QDomDocument::elementsByTagName(class QString const &) const
+ ?value@QXmlAttributes@@QBE?AVQString@@ABV2@@Z @ 408 NONAME ; class QString QXmlAttributes::value(class QString const &) const
+
diff --git a/src/s60installs/bwins/phononu.def b/src/s60installs/bwins/phononu.def
new file mode 100644
index 0000000..19f5e23
--- /dev/null
+++ b/src/s60installs/bwins/phononu.def
@@ -0,0 +1,521 @@
+EXPORTS
+ ?isValid@MediaNode@Phonon@@QBE_NXZ @ 1 NONAME ; bool Phonon::MediaNode::isValid(void) const
+ ?tr@VideoPlayer@Phonon@@SA?AVQString@@PBD0@Z @ 2 NONAME ; class QString Phonon::VideoPlayer::tr(char const *, char const *)
+ ?id@EffectParameter@Phonon@@QBEHXZ @ 3 NONAME ; int Phonon::EffectParameter::id(void) const
+ ?metaObject@MediaController@Phonon@@UBEPBUQMetaObject@@XZ @ 4 NONAME ; struct QMetaObject const * Phonon::MediaController::metaObject(void) const
+ ?qt_metacast@?$ObjectDescriptionModel@$01@Phonon@@UAEPAXPBD@Z @ 5 NONAME ; void * Phonon::ObjectDescriptionModel<2>::qt_metacast(char const *)
+ ?backendName@Factory@Phonon@@YA?AVQString@@XZ @ 6 NONAME ; class QString Phonon::Factory::backendName(void)
+ ?getStaticMetaObject@AbstractMediaStream@Phonon@@SAABUQMetaObject@@XZ @ 7 NONAME ; struct QMetaObject const & Phonon::AbstractMediaStream::getStaticMetaObject(void)
+ ?isValid@ObjectDescriptionData@Phonon@@QBE_NXZ @ 8 NONAME ; bool Phonon::ObjectDescriptionData::isValid(void) const
+ ??1MediaObject@Phonon@@UAE@XZ @ 9 NONAME ; Phonon::MediaObject::~MediaObject(void)
+ ?load@VideoPlayer@Phonon@@QAEXABVMediaSource@2@@Z @ 10 NONAME ; void Phonon::VideoPlayer::load(class Phonon::MediaSource const &)
+ ?setIconSize@SeekSlider@Phonon@@QAEXABVQSize@@@Z @ 11 NONAME ; void Phonon::SeekSlider::setIconSize(class QSize const &)
+ ?modelData@ObjectDescriptionModelData@Phonon@@QBE?AV?$QExplicitlySharedDataPointer@VObjectDescriptionData@Phonon@@@@ABVQModelIndex@@@Z @ 12 NONAME ; class QExplicitlySharedDataPointer<class Phonon::ObjectDescriptionData> Phonon::ObjectDescriptionModelData::modelData(class QModelIndex const &) const
+ ?mouseMoveEvent@VideoWidget@Phonon@@MAEXPAVQMouseEvent@@@Z @ 13 NONAME ; void Phonon::VideoWidget::mouseMoveEvent(class QMouseEvent *)
+ ??0Path@Phonon@@QAE@XZ @ 14 NONAME ; Phonon::Path::Path(void)
+ ??_EEffect@Phonon@@UAE@I@Z @ 15 NONAME ; Phonon::Effect::~Effect(unsigned int)
+ ?staticMetaObject@?$ObjectDescriptionModel@$01@Phonon@@2UQMetaObject@@B @ 16 NONAME ; struct QMetaObject const Phonon::ObjectDescriptionModel<2>::staticMetaObject
+ ?totalTimeChanged@MediaObject@Phonon@@IAEX_J@Z @ 17 NONAME ; void Phonon::MediaObject::totalTimeChanged(long long)
+ ?availableAudioCaptureDevices@BackendCapabilities@Phonon@@YA?AV?$QList@V?$ObjectDescription@$03@Phonon@@@@XZ @ 18 NONAME ; class QList<class Phonon::ObjectDescription<4> > Phonon::BackendCapabilities::availableAudioCaptureDevices(void)
+ ?getStaticMetaObject@VolumeSlider@Phonon@@SAABUQMetaObject@@XZ @ 19 NONAME ; struct QMetaObject const & Phonon::VolumeSlider::getStaticMetaObject(void)
+ ?qt_metacall@VideoWidget@Phonon@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 20 NONAME ; int Phonon::VideoWidget::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?staticMetaObject@?$ObjectDescriptionModel@$0A@@Phonon@@2UQMetaObject@@B @ 21 NONAME ; struct QMetaObject const Phonon::ObjectDescriptionModel<0>::staticMetaObject
+ ?fadeTo@VolumeFaderEffect@Phonon@@QAEXMH@Z @ 22 NONAME ; void Phonon::VolumeFaderEffect::fadeTo(float, int)
+ ?trUtf8@VideoWidget@Phonon@@SA?AVQString@@PBD0H@Z @ 23 NONAME ; class QString Phonon::VideoWidget::trUtf8(char const *, char const *, int)
+ ?rowCount@ObjectDescriptionModelData@Phonon@@QBEHABVQModelIndex@@@Z @ 24 NONAME ; int Phonon::ObjectDescriptionModelData::rowCount(class QModelIndex const &) const
+ ?tr@AudioOutput@Phonon@@SA?AVQString@@PBD0@Z @ 25 NONAME ; class QString Phonon::AudioOutput::tr(char const *, char const *)
+ ?audioCaptureDeviceFor@GlobalConfig@Phonon@@QBEHW4Category@2@H@Z @ 26 NONAME ; int Phonon::GlobalConfig::audioCaptureDeviceFor(enum Phonon::Category, int) const
+ ??0StreamInterface@Phonon@@IAE@XZ @ 27 NONAME ; Phonon::StreamInterface::StreamInterface(void)
+ ?totalTime@MediaObject@Phonon@@QBE_JXZ @ 28 NONAME ; long long Phonon::MediaObject::totalTime(void) const
+ ?previousTitle@MediaController@Phonon@@QAEXXZ @ 29 NONAME ; void Phonon::MediaController::previousTitle(void)
+ ?k_func@AudioOutput@Phonon@@ABEPBVAudioOutputPrivate@2@XZ @ 30 NONAME ; class Phonon::AudioOutputPrivate const * Phonon::AudioOutput::k_func(void) const
+ ?currentChapter@MediaController@Phonon@@QBEHXZ @ 31 NONAME ; int Phonon::MediaController::currentChapter(void) const
+ ?error@AbstractMediaStream@Phonon@@IAEXW4ErrorType@2@ABVQString@@@Z @ 32 NONAME ; void Phonon::AbstractMediaStream::error(enum Phonon::ErrorType, class QString const &)
+ ?play@MediaObject@Phonon@@QAEXXZ @ 33 NONAME ; void Phonon::MediaObject::play(void)
+ ?hasVideo@MediaObject@Phonon@@QBE_NXZ @ 34 NONAME ; bool Phonon::MediaObject::hasVideo(void) const
+ ?setTracking@SeekSlider@Phonon@@QAEX_N@Z @ 35 NONAME ; void Phonon::SeekSlider::setTracking(bool)
+ ?qt_metacall@AudioOutput@Phonon@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 36 NONAME ; int Phonon::AudioOutput::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?seek@MediaObject@Phonon@@QAEX_J@Z @ 37 NONAME ; void Phonon::MediaObject::seek(long long)
+ ?availableAudioChannels@MediaController@Phonon@@QBE?AV?$QList@V?$ObjectDescription@$01@Phonon@@@@XZ @ 38 NONAME ; class QList<class Phonon::ObjectDescription<2> > Phonon::MediaController::availableAudioChannels(void) const
+ ??1MediaController@Phonon@@UAE@XZ @ 39 NONAME ; Phonon::MediaController::~MediaController(void)
+ ??_EVolumeFaderEffect@Phonon@@UAE@I@Z @ 40 NONAME ; Phonon::VolumeFaderEffect::~VolumeFaderEffect(unsigned int)
+ ?qt_metacast@?$ObjectDescriptionModel@$0A@@Phonon@@UAEPAXPBD@Z @ 41 NONAME ; void * Phonon::ObjectDescriptionModel<0>::qt_metacast(char const *)
+ ?titleChanged@MediaController@Phonon@@IAEXH@Z @ 42 NONAME ; void Phonon::MediaController::titleChanged(int)
+ ?metaObject@Effect@Phonon@@UBEPBUQMetaObject@@XZ @ 43 NONAME ; struct QMetaObject const * Phonon::Effect::metaObject(void) const
+ ?mimeTypes@ObjectDescriptionModelData@Phonon@@QBE?AVQStringList@@W4ObjectDescriptionType@2@@Z @ 44 NONAME ; class QStringList Phonon::ObjectDescriptionModelData::mimeTypes(enum Phonon::ObjectDescriptionType) const
+ ?setFullScreen@VideoWidget@Phonon@@QAEX_N@Z @ 45 NONAME ; void Phonon::VideoWidget::setFullScreen(bool)
+ ??1AbstractMediaStreamPrivate@Phonon@@UAE@XZ @ 46 NONAME ; Phonon::AbstractMediaStreamPrivate::~AbstractMediaStreamPrivate(void)
+ ?sink@Path@Phonon@@QBEPAVMediaNode@2@XZ @ 47 NONAME ; class Phonon::MediaNode * Phonon::Path::sink(void) const
+ ?deregisterFrontendObject@Factory@Phonon@@YAXPAVMediaNodePrivate@2@@Z @ 48 NONAME ; void Phonon::Factory::deregisterFrontendObject(class Phonon::MediaNodePrivate *)
+ ?currentSource@MediaObject@Phonon@@QBE?AVMediaSource@2@XZ @ 49 NONAME ; class Phonon::MediaSource Phonon::MediaObject::currentSource(void) const
+ ?getStaticMetaObject@EffectWidget@Phonon@@SAABUQMetaObject@@XZ @ 50 NONAME ; struct QMetaObject const & Phonon::EffectWidget::getStaticMetaObject(void)
+ ?k_func@VolumeSlider@Phonon@@AAEPAVVolumeSliderPrivate@2@XZ @ 51 NONAME ; class Phonon::VolumeSliderPrivate * Phonon::VolumeSlider::k_func(void)
+ ?volume@VideoPlayer@Phonon@@QBEMXZ @ 52 NONAME ; float Phonon::VideoPlayer::volume(void) const
+ ?name@EffectParameter@Phonon@@QBEABVQString@@XZ @ 53 NONAME ; class QString const & Phonon::EffectParameter::name(void) const
+ ?trUtf8@VolumeFaderEffect@Phonon@@SA?AVQString@@PBD0H@Z @ 54 NONAME ; class QString Phonon::VolumeFaderEffect::trUtf8(char const *, char const *, int)
+ ?qt_metacast@AbstractMediaStream@Phonon@@UAEPAXPBD@Z @ 55 NONAME ; void * Phonon::AbstractMediaStream::qt_metacast(char const *)
+ ??1AbstractAudioOutput@Phonon@@UAE@XZ @ 56 NONAME ; Phonon::AbstractAudioOutput::~AbstractAudioOutput(void)
+ ??0VolumeFaderEffect@Phonon@@QAE@PAVQObject@@@Z @ 57 NONAME ; Phonon::VolumeFaderEffect::VolumeFaderEffect(class QObject *)
+ ?enoughData@StreamInterface@Phonon@@QAEXXZ @ 58 NONAME ; void Phonon::StreamInterface::enoughData(void)
+ ?audioCaptureDeviceListFor@GlobalConfig@Phonon@@QBE?AV?$QList@H@@W4Category@2@H@Z @ 59 NONAME ; class QList<int> Phonon::GlobalConfig::audioCaptureDeviceListFor(enum Phonon::Category, int) const
+ ?effects@Path@Phonon@@QBE?AV?$QList@PAVEffect@Phonon@@@@XZ @ 60 NONAME ; class QList<class Phonon::Effect *> Phonon::Path::effects(void) const
+ ?fromIndex@ObjectDescriptionData@Phonon@@SAPAV12@W4ObjectDescriptionType@2@H@Z @ 61 NONAME ; class Phonon::ObjectDescriptionData * Phonon::ObjectDescriptionData::fromIndex(enum Phonon::ObjectDescriptionType, int)
+ ??_EMediaNode@Phonon@@UAE@I@Z @ 62 NONAME ; Phonon::MediaNode::~MediaNode(unsigned int)
+ ??_EVolumeSlider@Phonon@@UAE@I@Z @ 63 NONAME ; Phonon::VolumeSlider::~VolumeSlider(unsigned int)
+ ?currentSourceChanged@MediaObject@Phonon@@IAEXABVMediaSource@2@@Z @ 64 NONAME ; void Phonon::MediaObject::currentSourceChanged(class Phonon::MediaSource const &)
+ ?qHash@Phonon@@YAIABVEffectParameter@1@@Z @ 65 NONAME ; unsigned int Phonon::qHash(class Phonon::EffectParameter const &)
+ ??1MediaSourcePrivate@Phonon@@UAE@XZ @ 66 NONAME ; Phonon::MediaSourcePrivate::~MediaSourcePrivate(void)
+ ?currentSubtitle@MediaController@Phonon@@QBE?AV?$ObjectDescription@$02@2@XZ @ 67 NONAME ; class Phonon::ObjectDescription<3> Phonon::MediaController::currentSubtitle(void) const
+ ?addInputPath@MediaNodePrivate@Phonon@@QAEXABVPath@2@@Z @ 68 NONAME ; void Phonon::MediaNodePrivate::addInputPath(class Phonon::Path const &)
+ ?autoplayTitles@MediaController@Phonon@@QBE_NXZ @ 69 NONAME ; bool Phonon::MediaController::autoplayTitles(void) const
+ ?trUtf8@AbstractMediaStream@Phonon@@SA?AVQString@@PBD0@Z @ 70 NONAME ; class QString Phonon::AbstractMediaStream::trUtf8(char const *, char const *)
+ ?trUtf8@AudioOutput@Phonon@@SA?AVQString@@PBD0H@Z @ 71 NONAME ; class QString Phonon::AudioOutput::trUtf8(char const *, char const *, int)
+ ??0VideoWidget@Phonon@@IAE@AAVVideoWidgetPrivate@1@PAVQWidget@@@Z @ 72 NONAME ; Phonon::VideoWidget::VideoWidget(class Phonon::VideoWidgetPrivate &, class QWidget *)
+ ?finished@VideoPlayer@Phonon@@IAEXXZ @ 73 NONAME ; void Phonon::VideoPlayer::finished(void)
+ ?name@ObjectDescriptionData@Phonon@@QBE?AVQString@@XZ @ 74 NONAME ; class QString Phonon::ObjectDescriptionData::name(void) const
+ ?tr@MediaObject@Phonon@@SA?AVQString@@PBD0H@Z @ 75 NONAME ; class QString Phonon::MediaObject::tr(char const *, char const *, int)
+ ?orientation@VolumeSlider@Phonon@@QBE?AW4Orientation@Qt@@XZ @ 76 NONAME ; enum Qt::Orientation Phonon::VolumeSlider::orientation(void) const
+ ?availableSubtitles@MediaController@Phonon@@QBE?AV?$QList@V?$ObjectDescription@$02@Phonon@@@@XZ @ 77 NONAME ; class QList<class Phonon::ObjectDescription<3> > Phonon::MediaController::availableSubtitles(void) const
+ ?qt_metacast@?$ObjectDescriptionModel@$03@Phonon@@UAEPAXPBD@Z @ 78 NONAME ; void * Phonon::ObjectDescriptionModel<4>::qt_metacast(char const *)
+ ?tr@VideoPlayer@Phonon@@SA?AVQString@@PBD0H@Z @ 79 NONAME ; class QString Phonon::VideoPlayer::tr(char const *, char const *, int)
+ ??_EVideoPlayer@Phonon@@UAE@I@Z @ 80 NONAME ; Phonon::VideoPlayer::~VideoPlayer(unsigned int)
+ ?staticMetaObject@AudioOutput@Phonon@@2UQMetaObject@@B @ 81 NONAME ; struct QMetaObject const Phonon::AudioOutput::staticMetaObject
+ ?setPageStep@VolumeSlider@Phonon@@QAEXH@Z @ 82 NONAME ; void Phonon::VolumeSlider::setPageStep(int)
+ ?setPageStep@SeekSlider@Phonon@@QAEXH@Z @ 83 NONAME ; void Phonon::SeekSlider::setPageStep(int)
+ ??_EStreamInterface@Phonon@@UAE@I@Z @ 84 NONAME ; Phonon::StreamInterface::~StreamInterface(unsigned int)
+ ?hasTracking@VolumeSlider@Phonon@@QBE_NXZ @ 85 NONAME ; bool Phonon::VolumeSlider::hasTracking(void) const
+ ?volumeDecibel@VolumeFaderEffect@Phonon@@QBENXZ @ 86 NONAME ; double Phonon::VolumeFaderEffect::volumeDecibel(void) const
+ ?flags@ObjectDescriptionModelData@Phonon@@QBE?AV?$QFlags@W4ItemFlag@Qt@@@@ABVQModelIndex@@@Z @ 87 NONAME ; class QFlags<enum Qt::ItemFlag> Phonon::ObjectDescriptionModelData::flags(class QModelIndex const &) const
+ ??0VolumeSlider@Phonon@@QAE@PAVAudioOutput@1@PAVQWidget@@@Z @ 88 NONAME ; Phonon::VolumeSlider::VolumeSlider(class Phonon::AudioOutput *, class QWidget *)
+ ??_EAbstractMediaStream@Phonon@@UAE@I@Z @ 89 NONAME ; Phonon::AbstractMediaStream::~AbstractMediaStream(unsigned int)
+ ?stop@MediaObject@Phonon@@QAEXXZ @ 90 NONAME ; void Phonon::MediaObject::stop(void)
+ ?setMuted@AudioOutput@Phonon@@QAEX_N@Z @ 91 NONAME ; void Phonon::AudioOutput::setMuted(bool)
+ ?setVolume@VolumeFaderEffect@Phonon@@QAEXM@Z @ 92 NONAME ; void Phonon::VolumeFaderEffect::setVolume(float)
+ ?setIconSize@VolumeSlider@Phonon@@QAEXABVQSize@@@Z @ 93 NONAME ; void Phonon::VolumeSlider::setIconSize(class QSize const &)
+ ?currentTime@VideoPlayer@Phonon@@QBE_JXZ @ 94 NONAME ; long long Phonon::VideoPlayer::currentTime(void) const
+ ?metaObject@?$ObjectDescriptionModel@$00@Phonon@@UBEPBUQMetaObject@@XZ @ 95 NONAME ; struct QMetaObject const * Phonon::ObjectDescriptionModel<1>::metaObject(void) const
+ ?metaObject@VideoWidget@Phonon@@UBEPBUQMetaObject@@XZ @ 96 NONAME ; struct QMetaObject const * Phonon::VideoWidget::metaObject(void) const
+ ?audioOutputDeviceListFor@GlobalConfig@Phonon@@QBE?AV?$QList@H@@W4Category@2@H@Z @ 97 NONAME ; class QList<int> Phonon::GlobalConfig::audioOutputDeviceListFor(enum Phonon::Category, int) const
+ ?staticMetaObject@?$ObjectDescriptionModel@$02@Phonon@@2UQMetaObject@@B @ 98 NONAME ; struct QMetaObject const Phonon::ObjectDescriptionModel<3>::staticMetaObject
+ ??1VideoWidget@Phonon@@UAE@XZ @ 99 NONAME ; Phonon::VideoWidget::~VideoWidget(void)
+ ?seekStream@AbstractMediaStream@Phonon@@MAEX_J@Z @ 100 NONAME ; void Phonon::AbstractMediaStream::seekStream(long long)
+ ?transitionTime@MediaObject@Phonon@@QBEHXZ @ 101 NONAME ; int Phonon::MediaObject::transitionTime(void) const
+ ?staticMetaObject@MediaObject@Phonon@@2UQMetaObject@@B @ 102 NONAME ; struct QMetaObject const Phonon::MediaObject::staticMetaObject
+ ?setMediaObject@SeekSlider@Phonon@@QAEXPAVMediaObject@2@@Z @ 103 NONAME ; void Phonon::SeekSlider::setMediaObject(class Phonon::MediaObject *)
+ ?type@EffectParameter@Phonon@@QBE?AW4Type@QVariant@@XZ @ 104 NONAME ; enum QVariant::Type Phonon::EffectParameter::type(void) const
+ ??0ObjectDescriptionData@Phonon@@QAE@HABV?$QHash@VQByteArray@@VQVariant@@@@@Z @ 105 NONAME ; Phonon::ObjectDescriptionData::ObjectDescriptionData(int, class QHash<class QByteArray, class QVariant> const &)
+ ??8EffectParameter@Phonon@@QBE_NABV01@@Z @ 106 NONAME ; bool Phonon::EffectParameter::operator==(class Phonon::EffectParameter const &) const
+ ??0MediaSource@Phonon@@IAE@AAVMediaSourcePrivate@1@@Z @ 107 NONAME ; Phonon::MediaSource::MediaSource(class Phonon::MediaSourcePrivate &)
+ ??0ObjectDescriptionModelData@Phonon@@QAE@PAVQAbstractListModel@@@Z @ 108 NONAME ; Phonon::ObjectDescriptionModelData::ObjectDescriptionModelData(class QAbstractListModel *)
+ ?clear@MediaObject@Phonon@@QAEXXZ @ 109 NONAME ; void Phonon::MediaObject::clear(void)
+ ??_EEffectParameter@Phonon@@QAE@I@Z @ 110 NONAME ABSENT ; Phonon::EffectParameter::~EffectParameter(unsigned int)
+ ??4MediaSource@Phonon@@QAEAAV01@ABV01@@Z @ 111 NONAME ; class Phonon::MediaSource & Phonon::MediaSource::operator=(class Phonon::MediaSource const &)
+ ??0MediaSource@Phonon@@QAE@PAVQIODevice@@@Z @ 112 NONAME ; Phonon::MediaSource::MediaSource(class QIODevice *)
+ ?k_func@AbstractAudioOutput@Phonon@@AAEPAVAbstractAudioOutputPrivate@2@XZ @ 113 NONAME ; class Phonon::AbstractAudioOutputPrivate * Phonon::AbstractAudioOutput::k_func(void)
+ ?availableTitles@MediaController@Phonon@@QBEHXZ @ 114 NONAME ; int Phonon::MediaController::availableTitles(void) const
+ ?tr@VolumeSlider@Phonon@@SA?AVQString@@PBD0@Z @ 115 NONAME ; class QString Phonon::VolumeSlider::tr(char const *, char const *)
+ ?scaleMode@VideoWidget@Phonon@@QBE?AW4ScaleMode@12@XZ @ 116 NONAME ; enum Phonon::VideoWidget::ScaleMode Phonon::VideoWidget::scaleMode(void) const
+ ??_ESeekSlider@Phonon@@UAE@I@Z @ 117 NONAME ; Phonon::SeekSlider::~SeekSlider(unsigned int)
+ ?insertEffect@Path@Phonon@@QAE_NPAVEffect@2@0@Z @ 118 NONAME ; bool Phonon::Path::insertEffect(class Phonon::Effect *, class Phonon::Effect *)
+ ?state@MediaObject@Phonon@@QBE?AW4State@2@XZ @ 119 NONAME ; enum Phonon::State Phonon::MediaObject::state(void) const
+ ?outputDevice@AudioOutput@Phonon@@QBE?AV?$ObjectDescription@$0A@@2@XZ @ 120 NONAME ; class Phonon::ObjectDescription<0> Phonon::AudioOutput::outputDevice(void) const
+ ??8MediaSource@Phonon@@QBE_NABV01@@Z @ 121 NONAME ; bool Phonon::MediaSource::operator==(class Phonon::MediaSource const &) const
+ ??_EMediaNodePrivate@Phonon@@UAE@I@Z @ 122 NONAME ; Phonon::MediaNodePrivate::~MediaNodePrivate(unsigned int)
+ ?category@AudioOutput@Phonon@@QBE?AW4Category@2@XZ @ 123 NONAME ; enum Phonon::Category Phonon::AudioOutput::category(void) const
+ ?metaData@MediaObject@Phonon@@QBE?AVQStringList@@ABVQString@@@Z @ 124 NONAME ; class QStringList Phonon::MediaObject::metaData(class QString const &) const
+ ?setModelData@ObjectDescriptionModelData@Phonon@@QAEXABV?$QList@V?$QExplicitlySharedDataPointer@VObjectDescriptionData@Phonon@@@@@@@Z @ 125 NONAME ; void Phonon::ObjectDescriptionModelData::setModelData(class QList<class QExplicitlySharedDataPointer<class Phonon::ObjectDescriptionData> > const &)
+ ?connectToSource@StreamInterface@Phonon@@QAEXABVMediaSource@2@@Z @ 126 NONAME ; void Phonon::StreamInterface::connectToSource(class Phonon::MediaSource const &)
+ ?endOfData@AbstractMediaStream@Phonon@@IAEXXZ @ 127 NONAME ; void Phonon::AbstractMediaStream::endOfData(void)
+ ??0MediaNode@Phonon@@IAE@AAVMediaNodePrivate@1@@Z @ 128 NONAME ; Phonon::MediaNode::MediaNode(class Phonon::MediaNodePrivate &)
+ ?setVolumeDecibel@AudioOutput@Phonon@@QAEXM@Z @ 129 NONAME ; void Phonon::AudioOutput::setVolumeDecibel(float)
+ ?qt_metacall@Effect@Phonon@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 130 NONAME ; int Phonon::Effect::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?platformPlugin@Factory@Phonon@@YAPAVPlatformPlugin@2@XZ @ 131 NONAME ; class Phonon::PlatformPlugin * Phonon::Factory::platformPlugin(void)
+ ??1GlobalConfig@Phonon@@UAE@XZ @ 132 NONAME ; Phonon::GlobalConfig::~GlobalConfig(void)
+ ?orientation@SeekSlider@Phonon@@QBE?AW4Orientation@Qt@@XZ @ 133 NONAME ; enum Qt::Orientation Phonon::SeekSlider::orientation(void) const
+ ?setOrientation@SeekSlider@Phonon@@QAEXW4Orientation@Qt@@@Z @ 134 NONAME ; void Phonon::SeekSlider::setOrientation(enum Qt::Orientation)
+ ?q_func@MediaNodePrivate@Phonon@@AAEPAVMediaNode@2@XZ @ 135 NONAME ; class Phonon::MediaNode * Phonon::MediaNodePrivate::q_func(void)
+ ??0SeekSlider@Phonon@@QAE@PAVQWidget@@@Z @ 136 NONAME ; Phonon::SeekSlider::SeekSlider(class QWidget *)
+ ?qt_metacall@VolumeFaderEffect@Phonon@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 137 NONAME ; int Phonon::VolumeFaderEffect::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?d_func@AbstractMediaStream@Phonon@@AAEPAVAbstractMediaStreamPrivate@2@XZ @ 138 NONAME ; class Phonon::AbstractMediaStreamPrivate * Phonon::AbstractMediaStream::d_func(void)
+ ?metaData@MediaObject@Phonon@@QBE?AV?$QMultiMap@VQString@@V1@@@XZ @ 139 NONAME ; class QMultiMap<class QString, class QString> Phonon::MediaObject::metaData(void) const
+ ?setBrightness@VideoWidget@Phonon@@QAEXM@Z @ 140 NONAME ; void Phonon::VideoWidget::setBrightness(float)
+ ??_EAudioOutput@Phonon@@UAE@I@Z @ 141 NONAME ; Phonon::AudioOutput::~AudioOutput(unsigned int)
+ ?qt_metacall@SeekSlider@Phonon@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 142 NONAME ; int Phonon::SeekSlider::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?setStreamSeekable@AbstractMediaStream@Phonon@@IAEX_N@Z @ 143 NONAME ; void Phonon::AbstractMediaStream::setStreamSeekable(bool)
+ ?tr@Effect@Phonon@@SA?AVQString@@PBD0@Z @ 144 NONAME ; class QString Phonon::Effect::tr(char const *, char const *)
+ ?hasVideoChanged@MediaObject@Phonon@@IAEX_N@Z @ 145 NONAME ; void Phonon::MediaObject::hasVideoChanged(bool)
+ ??1StreamInterface@Phonon@@UAE@XZ @ 146 NONAME ; Phonon::StreamInterface::~StreamInterface(void)
+ ?availableAudioChannelsChanged@MediaController@Phonon@@IAEXXZ @ 147 NONAME ; void Phonon::MediaController::availableAudioChannelsChanged(void)
+ ?enterFullScreen@VideoWidget@Phonon@@QAEXXZ @ 148 NONAME ; void Phonon::VideoWidget::enterFullScreen(void)
+ ?description@EffectParameter@Phonon@@QBEABVQString@@XZ @ 149 NONAME ; class QString const & Phonon::EffectParameter::description(void) const
+ ?setMaximumVolume@VolumeSlider@Phonon@@QAEXM@Z @ 150 NONAME ; void Phonon::VolumeSlider::setMaximumVolume(float)
+ ?metaObject@AudioOutput@Phonon@@UBEPBUQMetaObject@@XZ @ 151 NONAME ; struct QMetaObject const * Phonon::AudioOutput::metaObject(void) const
+ ?qt_metacall@VolumeSlider@Phonon@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 152 NONAME ; int Phonon::VolumeSlider::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?createPath@Phonon@@YA?AVPath@1@PAVMediaNode@1@0@Z @ 153 NONAME ; class Phonon::Path Phonon::createPath(class Phonon::MediaNode *, class Phonon::MediaNode *)
+ ?isPlaying@VideoPlayer@Phonon@@QBE_NXZ @ 154 NONAME ; bool Phonon::VideoPlayer::isPlaying(void) const
+ ?tr@EffectWidget@Phonon@@SA?AVQString@@PBD0@Z @ 155 NONAME ; class QString Phonon::EffectWidget::tr(char const *, char const *)
+ ??1EffectWidget@Phonon@@UAE@XZ @ 156 NONAME ; Phonon::EffectWidget::~EffectWidget(void)
+ ??_EMediaObject@Phonon@@UAE@I@Z @ 157 NONAME ; Phonon::MediaObject::~MediaObject(unsigned int)
+ ?k_func@Effect@Phonon@@ABEPBVEffectPrivate@2@XZ @ 158 NONAME ; class Phonon::EffectPrivate const * Phonon::Effect::k_func(void) const
+ ?streamSize@AbstractMediaStream@Phonon@@IBE_JXZ @ 159 NONAME ; long long Phonon::AbstractMediaStream::streamSize(void) const
+ ?volume@AudioOutput@Phonon@@QBEMXZ @ 160 NONAME ; float Phonon::AudioOutput::volume(void) const
+ ?staticMetaObject@VideoPlayer@Phonon@@2UQMetaObject@@B @ 161 NONAME ; struct QMetaObject const Phonon::VideoPlayer::staticMetaObject
+ ?trUtf8@MediaController@Phonon@@SA?AVQString@@PBD0@Z @ 162 NONAME ; class QString Phonon::MediaController::trUtf8(char const *, char const *)
+ ?qt_metacast@VolumeFaderEffect@Phonon@@UAEPAXPBD@Z @ 163 NONAME ; void * Phonon::VolumeFaderEffect::qt_metacast(char const *)
+ ?queue@MediaObject@Phonon@@QBE?AV?$QList@VMediaSource@Phonon@@@@XZ @ 164 NONAME ; class QList<class Phonon::MediaSource> Phonon::MediaObject::queue(void) const
+ ?qt_metacast@VideoPlayer@Phonon@@UAEPAXPBD@Z @ 165 NONAME ; void * Phonon::VideoPlayer::qt_metacast(char const *)
+ ??_EPath@Phonon@@QAE@I@Z @ 166 NONAME ABSENT ; Phonon::Path::~Path(unsigned int)
+ ??1ObjectDescriptionModelData@Phonon@@IAE@XZ @ 167 NONAME ; Phonon::ObjectDescriptionModelData::~ObjectDescriptionModelData(void)
+ ?qt_metacast@VolumeSlider@Phonon@@UAEPAXPBD@Z @ 168 NONAME ; void * Phonon::VolumeSlider::qt_metacast(char const *)
+ ?modelData@ObjectDescriptionModelData@Phonon@@QBE?AV?$QList@V?$QExplicitlySharedDataPointer@VObjectDescriptionData@Phonon@@@@@@XZ @ 169 NONAME ; class QList<class QExplicitlySharedDataPointer<class Phonon::ObjectDescriptionData> > Phonon::ObjectDescriptionModelData::modelData(void) const
+ ?staticMetaObject@EffectWidget@Phonon@@2UQMetaObject@@B @ 170 NONAME ; struct QMetaObject const Phonon::EffectWidget::staticMetaObject
+ ?metaObject@?$ObjectDescriptionModel@$02@Phonon@@UBEPBUQMetaObject@@XZ @ 171 NONAME ; struct QMetaObject const * Phonon::ObjectDescriptionModel<3>::metaObject(void) const
+ ?play@VideoPlayer@Phonon@@QAEXABVMediaSource@2@@Z @ 172 NONAME ; void Phonon::VideoPlayer::play(class Phonon::MediaSource const &)
+ ??0AbstractVideoOutput@Phonon@@IAE@AAVAbstractVideoOutputPrivate@1@@Z @ 173 NONAME ; Phonon::AbstractVideoOutput::AbstractVideoOutput(class Phonon::AbstractVideoOutputPrivate &)
+ ?trUtf8@VolumeFaderEffect@Phonon@@SA?AVQString@@PBD0@Z @ 174 NONAME ; class QString Phonon::VolumeFaderEffect::trUtf8(char const *, char const *)
+ ?k_func@SeekSlider@Phonon@@ABEPBVSeekSliderPrivate@2@XZ @ 175 NONAME ; class Phonon::SeekSliderPrivate const * Phonon::SeekSlider::k_func(void) const
+ ?qObject@MediaNodePrivate@Phonon@@UAEPAVQObject@@XZ @ 176 NONAME ; class QObject * Phonon::MediaNodePrivate::qObject(void)
+ ?qt_metacast@Effect@Phonon@@UAEPAXPBD@Z @ 177 NONAME ; void * Phonon::Effect::qt_metacast(char const *)
+ ?exitFullScreen@VideoWidget@Phonon@@QAEXXZ @ 178 NONAME ; void Phonon::VideoWidget::exitFullScreen(void)
+ ?qt_metacast@AbstractAudioOutput@Phonon@@UAEPAXPBD@Z @ 179 NONAME ; void * Phonon::AbstractAudioOutput::qt_metacast(char const *)
+ ?k_func@AbstractVideoOutput@Phonon@@AAEPAVAbstractVideoOutputPrivate@2@XZ @ 180 NONAME ; class Phonon::AbstractVideoOutputPrivate * Phonon::AbstractVideoOutput::k_func(void)
+ ?currentTime@MediaObject@Phonon@@QBE_JXZ @ 181 NONAME ; long long Phonon::MediaObject::currentTime(void) const
+ ?mediaObject@VideoPlayer@Phonon@@QBEPAVMediaObject@2@XZ @ 182 NONAME ; class Phonon::MediaObject * Phonon::VideoPlayer::mediaObject(void) const
+ ?isIconVisible@SeekSlider@Phonon@@QBE_NXZ @ 183 NONAME ; bool Phonon::SeekSlider::isIconVisible(void) const
+ ??MEffectParameter@Phonon@@QBE_NABV01@@Z @ 184 NONAME ; bool Phonon::EffectParameter::operator<(class Phonon::EffectParameter const &) const
+ ?url@MediaSource@Phonon@@QBE?AVQUrl@@XZ @ 185 NONAME ; class QUrl Phonon::MediaSource::url(void) const
+ ??0EffectParameter@Phonon@@QAE@XZ @ 186 NONAME ; Phonon::EffectParameter::EffectParameter(void)
+ ?mutedChanged@AudioOutput@Phonon@@IAEX_N@Z @ 187 NONAME ; void Phonon::AudioOutput::mutedChanged(bool)
+ ?k_func@MediaNode@Phonon@@AAEPAVMediaNodePrivate@2@XZ @ 188 NONAME ; class Phonon::MediaNodePrivate * Phonon::MediaNode::k_func(void)
+ ?outputPaths@MediaNode@Phonon@@QBE?AV?$QList@VPath@Phonon@@@@XZ @ 189 NONAME ; class QList<class Phonon::Path> Phonon::MediaNode::outputPaths(void) const
+ ?event@VideoWidget@Phonon@@MAE_NPAVQEvent@@@Z @ 190 NONAME ; bool Phonon::VideoWidget::event(class QEvent *)
+ ??0Effect@Phonon@@QAE@ABV?$ObjectDescription@$00@1@PAVQObject@@@Z @ 191 NONAME ; Phonon::Effect::Effect(class Phonon::ObjectDescription<1> const &, class QObject *)
+ ??0MediaSource@Phonon@@QAE@ABVQUrl@@@Z @ 192 NONAME ; Phonon::MediaSource::MediaSource(class QUrl const &)
+ ?endOfData@AbstractMediaStreamPrivate@Phonon@@MAEXXZ @ 193 NONAME ; void Phonon::AbstractMediaStreamPrivate::endOfData(void)
+ ??OEffectParameter@Phonon@@QBE_NABV01@@Z @ 194 NONAME ; bool Phonon::EffectParameter::operator>(class Phonon::EffectParameter const &) const
+ ?mediaObject@SeekSlider@Phonon@@QBEPAVMediaObject@2@XZ @ 195 NONAME ; class Phonon::MediaObject * Phonon::SeekSlider::mediaObject(void) const
+ ??0MediaSource@Phonon@@QAE@ABV01@@Z @ 196 NONAME ; Phonon::MediaSource::MediaSource(class Phonon::MediaSource const &)
+ ?outputDeviceChanged@AudioOutput@Phonon@@IAEXABV?$ObjectDescription@$0A@@2@@Z @ 197 NONAME ; void Phonon::AudioOutput::outputDeviceChanged(class Phonon::ObjectDescription<0> const &)
+ ??0MediaNodePrivate@Phonon@@IAE@W4CastId@01@@Z @ 198 NONAME ; Phonon::MediaNodePrivate::MediaNodePrivate(enum Phonon::MediaNodePrivate::CastId)
+ ?qt_metacall@AbstractMediaStream@Phonon@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 199 NONAME ; int Phonon::AbstractMediaStream::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?maximumVolume@VolumeSlider@Phonon@@QBEMXZ @ 200 NONAME ; float Phonon::VolumeSlider::maximumVolume(void) const
+ ?audioOutputDeviceFor@GlobalConfig@Phonon@@QBEHW4Category@2@H@Z @ 201 NONAME ; int Phonon::GlobalConfig::audioOutputDeviceFor(enum Phonon::Category, int) const
+ ?tr@AbstractAudioOutput@Phonon@@SA?AVQString@@PBD0@Z @ 202 NONAME ; class QString Phonon::AbstractAudioOutput::tr(char const *, char const *)
+ ?setCurrentAudioChannel@MediaController@Phonon@@QAEXABV?$ObjectDescription@$01@2@@Z @ 203 NONAME ; void Phonon::MediaController::setCurrentAudioChannel(class Phonon::ObjectDescription<2> const &)
+ ?saturation@VideoWidget@Phonon@@QBEMXZ @ 204 NONAME ; float Phonon::VideoWidget::saturation(void) const
+ ?videoWidget@VideoPlayer@Phonon@@QBEPAVVideoWidget@2@XZ @ 205 NONAME ; class Phonon::VideoWidget * Phonon::VideoPlayer::videoWidget(void) const
+ ?setAudioOutput@VolumeSlider@Phonon@@QAEXPAVAudioOutput@2@@Z @ 206 NONAME ; void Phonon::VolumeSlider::setAudioOutput(class Phonon::AudioOutput *)
+ ?setTracking@VolumeSlider@Phonon@@QAEX_N@Z @ 207 NONAME ; void Phonon::VolumeSlider::setTracking(bool)
+ ?setParameterValue@Effect@Phonon@@QAEXABVEffectParameter@2@ABVQVariant@@@Z @ 208 NONAME ; void Phonon::Effect::setParameterValue(class Phonon::EffectParameter const &, class QVariant const &)
+ ??4Path@Phonon@@QAEAAV01@ABV01@@Z @ 209 NONAME ; class Phonon::Path & Phonon::Path::operator=(class Phonon::Path const &)
+ ?setVolume@VideoPlayer@Phonon@@QAEXM@Z @ 210 NONAME ; void Phonon::VideoPlayer::setVolume(float)
+ ?setAutoplayTitles@MediaController@Phonon@@QAEX_N@Z @ 211 NONAME ; void Phonon::MediaController::setAutoplayTitles(bool)
+ ?staticMetaObject@?$ObjectDescriptionModel@$03@Phonon@@2UQMetaObject@@B @ 212 NONAME ; struct QMetaObject const Phonon::ObjectDescriptionModel<4>::staticMetaObject
+ ??0Path@Phonon@@QAE@ABV01@@Z @ 213 NONAME ; Phonon::Path::Path(class Phonon::Path const &)
+ ?k_func@EffectWidget@Phonon@@ABEPBVEffectWidgetPrivate@2@XZ @ 214 NONAME ; class Phonon::EffectWidgetPrivate const * Phonon::EffectWidget::k_func(void) const
+ ?parameterValue@Effect@Phonon@@QBE?AVQVariant@@ABVEffectParameter@2@@Z @ 215 NONAME ; class QVariant Phonon::Effect::parameterValue(class Phonon::EffectParameter const &) const
+ ?tr@EffectWidget@Phonon@@SA?AVQString@@PBD0H@Z @ 216 NONAME ; class QString Phonon::EffectWidget::tr(char const *, char const *, int)
+ ?brightness@VideoWidget@Phonon@@QBEMXZ @ 217 NONAME ; float Phonon::VideoWidget::brightness(void) const
+ ?finished@MediaObject@Phonon@@IAEXXZ @ 218 NONAME ; void Phonon::MediaObject::finished(void)
+ ?data@ObjectDescriptionModelData@Phonon@@QBE?AVQVariant@@ABVQModelIndex@@H@Z @ 219 NONAME ; class QVariant Phonon::ObjectDescriptionModelData::data(class QModelIndex const &, int) const
+ ?addDestructionHandler@MediaNodePrivate@Phonon@@QAEXPAVMediaNodeDestructionHandler@2@@Z @ 220 NONAME ; void Phonon::MediaNodePrivate::addDestructionHandler(class Phonon::MediaNodeDestructionHandler *)
+ ?_k_stateChanged@MediaObjectPrivate@Phonon@@IAEXW4State@2@0@Z @ 221 NONAME ; void Phonon::MediaObjectPrivate::_k_stateChanged(enum Phonon::State, enum Phonon::State)
+ ?q_func@MediaNodePrivate@Phonon@@ABEPBVMediaNode@2@XZ @ 222 NONAME ; class Phonon::MediaNode const * Phonon::MediaNodePrivate::q_func(void) const
+ ?nextTitle@MediaController@Phonon@@QAEXXZ @ 223 NONAME ; void Phonon::MediaController::nextTitle(void)
+ ?tupleIndexAtPositionIndex@ObjectDescriptionModelData@Phonon@@QBEHH@Z @ 224 NONAME ; int Phonon::ObjectDescriptionModelData::tupleIndexAtPositionIndex(int) const
+ ?audioOutput@VolumeSlider@Phonon@@QBEPAVAudioOutput@2@XZ @ 225 NONAME ; class Phonon::AudioOutput * Phonon::VolumeSlider::audioOutput(void) const
+ ?setOutputDevice@AudioOutput@Phonon@@QAE_NABV?$ObjectDescription@$0A@@2@@Z @ 226 NONAME ; bool Phonon::AudioOutput::setOutputDevice(class Phonon::ObjectDescription<0> const &)
+ ?qt_metacast@?$ObjectDescriptionModel@$00@Phonon@@UAEPAXPBD@Z @ 227 NONAME ; void * Phonon::ObjectDescriptionModel<1>::qt_metacast(char const *)
+ ??1AbstractVideoOutput@Phonon@@UAE@XZ @ 228 NONAME ; Phonon::AbstractVideoOutput::~AbstractVideoOutput(void)
+ ?setQueue@MediaObject@Phonon@@QAEXABV?$QList@VMediaSource@Phonon@@@@@Z @ 229 NONAME ; void Phonon::MediaObject::setQueue(class QList<class Phonon::MediaSource> const &)
+ ?k_func@Effect@Phonon@@AAEPAVEffectPrivate@2@XZ @ 230 NONAME ; class Phonon::EffectPrivate * Phonon::Effect::k_func(void)
+ ?availableChaptersChanged@MediaController@Phonon@@IAEXH@Z @ 231 NONAME ; void Phonon::MediaController::availableChaptersChanged(int)
+ ?setVolumeDecibel@VolumeFaderEffect@Phonon@@QAEXN@Z @ 232 NONAME ; void Phonon::VolumeFaderEffect::setVolumeDecibel(double)
+ ?setCurrentSubtitle@MediaController@Phonon@@QAEXABV?$ObjectDescription@$02@2@@Z @ 233 NONAME ; void Phonon::MediaController::setCurrentSubtitle(class Phonon::ObjectDescription<3> const &)
+ ?availableMimeTypes@BackendCapabilities@Phonon@@YA?AVQStringList@@XZ @ 234 NONAME ; class QStringList Phonon::BackendCapabilities::availableMimeTypes(void)
+ ??_EMediaSourcePrivate@Phonon@@UAE@I@Z @ 235 NONAME ; Phonon::MediaSourcePrivate::~MediaSourcePrivate(unsigned int)
+ ??_EMediaSource@Phonon@@QAE@I@Z @ 236 NONAME ABSENT ; Phonon::MediaSource::~MediaSource(unsigned int)
+ ?trUtf8@SeekSlider@Phonon@@SA?AVQString@@PBD0@Z @ 237 NONAME ; class QString Phonon::SeekSlider::trUtf8(char const *, char const *)
+ ?availableAudioEffects@BackendCapabilities@Phonon@@YA?AV?$QList@V?$ObjectDescription@$00@Phonon@@@@XZ @ 238 NONAME ; class QList<class Phonon::ObjectDescription<1> > Phonon::BackendCapabilities::availableAudioEffects(void)
+ ?seek@VideoPlayer@Phonon@@QAEX_J@Z @ 239 NONAME ; void Phonon::VideoPlayer::seek(long long)
+ ?setCurrentChapter@MediaController@Phonon@@QAEXH@Z @ 240 NONAME ; void Phonon::MediaController::setCurrentChapter(int)
+ ??0AbstractMediaStreamPrivate@Phonon@@IAE@XZ @ 241 NONAME ; Phonon::AbstractMediaStreamPrivate::AbstractMediaStreamPrivate(void)
+ ?singleStep@VolumeSlider@Phonon@@QBEHXZ @ 242 NONAME ; int Phonon::VolumeSlider::singleStep(void) const
+ ?addOutputPath@MediaNodePrivate@Phonon@@QAEXABVPath@2@@Z @ 243 NONAME ; void Phonon::MediaNodePrivate::addOutputPath(class Phonon::Path const &)
+ ?backend@Factory@Phonon@@YAPAVQObject@@_N@Z @ 244 NONAME ; class QObject * Phonon::Factory::backend(bool)
+ ?defaultValue@EffectParameter@Phonon@@QBE?AVQVariant@@XZ @ 245 NONAME ; class QVariant Phonon::EffectParameter::defaultValue(void) const
+ ?k_func@MediaNode@Phonon@@ABEPBVMediaNodePrivate@2@XZ @ 246 NONAME ; class Phonon::MediaNodePrivate const * Phonon::MediaNode::k_func(void) const
+ ?remainingTime@MediaObject@Phonon@@QBE_JXZ @ 247 NONAME ; long long Phonon::MediaObject::remainingTime(void) const
+ ?moveUp@ObjectDescriptionModelData@Phonon@@QAEXABVQModelIndex@@@Z @ 248 NONAME ; void Phonon::ObjectDescriptionModelData::moveUp(class QModelIndex const &)
+ ??0AudioOutput@Phonon@@QAE@PAVQObject@@@Z @ 249 NONAME ; Phonon::AudioOutput::AudioOutput(class QObject *)
+ ?setPrefinishMark@MediaObject@Phonon@@QAEXH@Z @ 250 NONAME ; void Phonon::MediaObject::setPrefinishMark(int)
+ ?bufferStatus@MediaObject@Phonon@@IAEXH@Z @ 251 NONAME ; void Phonon::MediaObject::bufferStatus(int)
+ ?qt_metacall@VideoPlayer@Phonon@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 252 NONAME ; int Phonon::VideoPlayer::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?setCurrentTitle@MediaController@Phonon@@QAEXH@Z @ 253 NONAME ; void Phonon::MediaController::setCurrentTitle(int)
+ ?getStaticMetaObject@MediaObject@Phonon@@SAABUQMetaObject@@XZ @ 254 NONAME ; struct QMetaObject const & Phonon::MediaObject::getStaticMetaObject(void)
+ ?supportedFeatures@MediaController@Phonon@@QBE?AV?$QFlags@W4Feature@MediaController@Phonon@@@@XZ @ 255 NONAME ; class QFlags<enum Phonon::MediaController::Feature> Phonon::MediaController::supportedFeatures(void) const
+ ?metaData@MediaObject@Phonon@@QBE?AVQStringList@@W4MetaData@2@@Z @ 256 NONAME ; class QStringList Phonon::MediaObject::metaData(enum Phonon::MetaData) const
+ ?currentAudioChannel@MediaController@Phonon@@QBE?AV?$ObjectDescription@$01@2@XZ @ 257 NONAME ; class Phonon::ObjectDescription<2> Phonon::MediaController::currentAudioChannel(void) const
+ ?isMuteVisible@VolumeSlider@Phonon@@QBE_NXZ @ 258 NONAME ; bool Phonon::VolumeSlider::isMuteVisible(void) const
+ ?qObject@MediaNodePrivate@Phonon@@QBEPBVQObject@@XZ @ 259 NONAME ; class QObject const * Phonon::MediaNodePrivate::qObject(void) const
+ ?setStreamSize@AbstractMediaStreamPrivate@Phonon@@MAEX_J@Z @ 260 NONAME ; void Phonon::AbstractMediaStreamPrivate::setStreamSize(long long)
+ ?trUtf8@AbstractAudioOutput@Phonon@@SA?AVQString@@PBD0H@Z @ 261 NONAME ; class QString Phonon::AbstractAudioOutput::trUtf8(char const *, char const *, int)
+ ?getStaticMetaObject@SeekSlider@Phonon@@SAABUQMetaObject@@XZ @ 262 NONAME ; struct QMetaObject const & Phonon::SeekSlider::getStaticMetaObject(void)
+ ?currentTitle@MediaController@Phonon@@QBEHXZ @ 263 NONAME ; int Phonon::MediaController::currentTitle(void) const
+ ?k_func@VolumeFaderEffect@Phonon@@AAEPAVVolumeFaderEffectPrivate@2@XZ @ 264 NONAME ; class Phonon::VolumeFaderEffectPrivate * Phonon::VolumeFaderEffect::k_func(void)
+ ?volume@VolumeFaderEffect@Phonon@@QBEMXZ @ 265 NONAME ; float Phonon::VolumeFaderEffect::volume(void) const
+ ?k_func@EffectWidget@Phonon@@AAEPAVEffectWidgetPrivate@2@XZ @ 266 NONAME ; class Phonon::EffectWidgetPrivate * Phonon::EffectWidget::k_func(void)
+ ?isSeekable@MediaObject@Phonon@@QBE_NXZ @ 267 NONAME ; bool Phonon::MediaObject::isSeekable(void) const
+ ?k_func@AbstractAudioOutput@Phonon@@ABEPBVAbstractAudioOutputPrivate@2@XZ @ 268 NONAME ; class Phonon::AbstractAudioOutputPrivate const * Phonon::AbstractAudioOutput::k_func(void) const
+ ?parameters@Effect@Phonon@@QBE?AV?$QList@VEffectParameter@Phonon@@@@XZ @ 269 NONAME ; class QList<class Phonon::EffectParameter> Phonon::Effect::parameters(void) const
+ ?setVolume@AudioOutput@Phonon@@QAEXM@Z @ 270 NONAME ; void Phonon::AudioOutput::setVolume(float)
+ ?tr@VolumeSlider@Phonon@@SA?AVQString@@PBD0H@Z @ 271 NONAME ; class QString Phonon::VolumeSlider::tr(char const *, char const *, int)
+ ?setTickInterval@MediaObject@Phonon@@QAEXH@Z @ 272 NONAME ; void Phonon::MediaObject::setTickInterval(int)
+ ?tupleIndexOrder@ObjectDescriptionModelData@Phonon@@QBE?AV?$QList@H@@XZ @ 273 NONAME ; class QList<int> Phonon::ObjectDescriptionModelData::tupleIndexOrder(void) const
+ ?metaObject@SeekSlider@Phonon@@UBEPBUQMetaObject@@XZ @ 274 NONAME ; struct QMetaObject const * Phonon::SeekSlider::metaObject(void) const
+ ?k_func@MediaObject@Phonon@@AAEPAVMediaObjectPrivate@2@XZ @ 275 NONAME ; class Phonon::MediaObjectPrivate * Phonon::MediaObject::k_func(void)
+ ?singleStep@SeekSlider@Phonon@@QBEHXZ @ 276 NONAME ; int Phonon::SeekSlider::singleStep(void) const
+ ?getStaticMetaObject@Effect@Phonon@@SAABUQMetaObject@@XZ @ 277 NONAME ; struct QMetaObject const & Phonon::Effect::getStaticMetaObject(void)
+ ?qt_metacall@AbstractAudioOutput@Phonon@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 278 NONAME ; int Phonon::AbstractAudioOutput::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ??_EMediaController@Phonon@@UAE@I@Z @ 279 NONAME ; Phonon::MediaController::~MediaController(unsigned int)
+ ??0AbstractAudioOutput@Phonon@@IAE@AAVAbstractAudioOutputPrivate@1@PAVQObject@@@Z @ 280 NONAME ; Phonon::AbstractAudioOutput::AbstractAudioOutput(class Phonon::AbstractAudioOutputPrivate &, class QObject *)
+ ?phononObjectDestroyed@AbstractMediaStreamPrivate@Phonon@@MAEXPAVMediaNodePrivate@2@@Z @ 281 NONAME ; void Phonon::AbstractMediaStreamPrivate::phononObjectDestroyed(class Phonon::MediaNodePrivate *)
+ ??_EAbstractAudioOutput@Phonon@@UAE@I@Z @ 282 NONAME ; Phonon::AbstractAudioOutput::~AbstractAudioOutput(unsigned int)
+ ??1MediaNode@Phonon@@UAE@XZ @ 283 NONAME ; Phonon::MediaNode::~MediaNode(void)
+ ?isMimeTypeAvailable@BackendCapabilities@Phonon@@YA_NABVQString@@@Z @ 284 NONAME ; bool Phonon::BackendCapabilities::isMimeTypeAvailable(class QString const &)
+ ?contrast@VideoWidget@Phonon@@QBEMXZ @ 285 NONAME ; float Phonon::VideoWidget::contrast(void) const
+ ??0GlobalConfig@Phonon@@QAE@XZ @ 286 NONAME ; Phonon::GlobalConfig::GlobalConfig(void)
+ ?tick@MediaObject@Phonon@@IAEX_J@Z @ 287 NONAME ; void Phonon::MediaObject::tick(long long)
+ ?d_func@AbstractMediaStream@Phonon@@ABEPBVAbstractMediaStreamPrivate@2@XZ @ 288 NONAME ; class Phonon::AbstractMediaStreamPrivate const * Phonon::AbstractMediaStream::d_func(void) const
+ ??8ObjectDescriptionData@Phonon@@QBE_NABV01@@Z @ 289 NONAME ; bool Phonon::ObjectDescriptionData::operator==(class Phonon::ObjectDescriptionData const &) const
+ ?hasTracking@SeekSlider@Phonon@@QBE_NXZ @ 290 NONAME ; bool Phonon::SeekSlider::hasTracking(void) const
+ ?writeData@AbstractMediaStream@Phonon@@IAEXABVQByteArray@@@Z @ 291 NONAME ; void Phonon::AbstractMediaStream::writeData(class QByteArray const &)
+ ?prefinishMark@MediaObject@Phonon@@QBEHXZ @ 292 NONAME ; int Phonon::MediaObject::prefinishMark(void) const
+ ?staticMetaObject@SeekSlider@Phonon@@2UQMetaObject@@B @ 293 NONAME ; struct QMetaObject const Phonon::SeekSlider::staticMetaObject
+ ?angleChanged@MediaController@Phonon@@IAEXH@Z @ 294 NONAME ; void Phonon::MediaController::angleChanged(int)
+ ?enoughData@AbstractMediaStream@Phonon@@MAEXXZ @ 295 NONAME ; void Phonon::AbstractMediaStream::enoughData(void)
+ ?seekableChanged@MediaObject@Phonon@@IAEX_N@Z @ 296 NONAME ; void Phonon::MediaObject::seekableChanged(bool)
+ ?hue@VideoWidget@Phonon@@QBEMXZ @ 297 NONAME ; float Phonon::VideoWidget::hue(void) const
+ ?currentAngle@MediaController@Phonon@@QBEHXZ @ 298 NONAME ; int Phonon::MediaController::currentAngle(void) const
+ ?fileName@MediaSource@Phonon@@QBE?AVQString@@XZ @ 299 NONAME ; class QString Phonon::MediaSource::fileName(void) const
+ ?metaObject@?$ObjectDescriptionModel@$0A@@Phonon@@UBEPBUQMetaObject@@XZ @ 300 NONAME ; struct QMetaObject const * Phonon::ObjectDescriptionModel<0>::metaObject(void) const
+ ?tr@AbstractMediaStream@Phonon@@SA?AVQString@@PBD0@Z @ 301 NONAME ; class QString Phonon::AbstractMediaStream::tr(char const *, char const *)
+ ??_EObjectDescriptionData@Phonon@@QAE@I@Z @ 302 NONAME ABSENT ; Phonon::ObjectDescriptionData::~ObjectDescriptionData(unsigned int)
+ ?fadeIn@VolumeFaderEffect@Phonon@@QAEXH@Z @ 303 NONAME ; void Phonon::VolumeFaderEffect::fadeIn(int)
+ ?availableAngles@MediaController@Phonon@@QBEHXZ @ 304 NONAME ; int Phonon::MediaController::availableAngles(void) const
+ ?enqueue@MediaObject@Phonon@@QAEXABVMediaSource@2@@Z @ 305 NONAME ; void Phonon::MediaObject::enqueue(class Phonon::MediaSource const &)
+ ?metaObject@EffectWidget@Phonon@@UBEPBUQMetaObject@@XZ @ 306 NONAME ; struct QMetaObject const * Phonon::EffectWidget::metaObject(void) const
+ ?type@MediaSource@Phonon@@QBE?AW4Type@12@XZ @ 307 NONAME ; enum Phonon::MediaSource::Type Phonon::MediaSource::type(void) const
+ ?tr@VideoWidget@Phonon@@SA?AVQString@@PBD0H@Z @ 308 NONAME ; class QString Phonon::VideoWidget::tr(char const *, char const *, int)
+ ?isValid@Path@Phonon@@QBE_NXZ @ 309 NONAME ; bool Phonon::Path::isValid(void) const
+ ?qt_metacast@?$ObjectDescriptionModel@$02@Phonon@@UAEPAXPBD@Z @ 310 NONAME ; void * Phonon::ObjectDescriptionModel<3>::qt_metacast(char const *)
+ ?trUtf8@MediaController@Phonon@@SA?AVQString@@PBD0H@Z @ 311 NONAME ; class QString Phonon::MediaController::trUtf8(char const *, char const *, int)
+ ?setTransitionTime@MediaObject@Phonon@@QAEXH@Z @ 312 NONAME ; void Phonon::MediaObject::setTransitionTime(int)
+ ?sender@Factory@Phonon@@YAPAVSender@12@XZ @ 313 NONAME ; class Phonon::Factory::Sender * Phonon::Factory::sender(void)
+ ?trUtf8@SeekSlider@Phonon@@SA?AVQString@@PBD0H@Z @ 314 NONAME ; class QString Phonon::SeekSlider::trUtf8(char const *, char const *, int)
+ ?availableAudioOutputDevices@BackendCapabilities@Phonon@@YA?AV?$QList@V?$ObjectDescription@$0A@@Phonon@@@@XZ @ 315 NONAME ; class QList<class Phonon::ObjectDescription<0> > Phonon::BackendCapabilities::availableAudioOutputDevices(void)
+ ?tr@AbstractAudioOutput@Phonon@@SA?AVQString@@PBD0H@Z @ 316 NONAME ; class QString Phonon::AbstractAudioOutput::tr(char const *, char const *, int)
+ ?k_func@AbstractVideoOutput@Phonon@@ABEPBVAbstractVideoOutputPrivate@2@XZ @ 317 NONAME ; class Phonon::AbstractVideoOutputPrivate const * Phonon::AbstractVideoOutput::k_func(void) const
+ ?setSaturation@VideoWidget@Phonon@@QAEXM@Z @ 318 NONAME ; void Phonon::VideoWidget::setSaturation(float)
+ ?removeOutputPath@MediaNodePrivate@Phonon@@QAEXABVPath@2@@Z @ 319 NONAME ; void Phonon::MediaNodePrivate::removeOutputPath(class Phonon::Path const &)
+ ?fadeOut@VolumeFaderEffect@Phonon@@QAEXH@Z @ 320 NONAME ; void Phonon::VolumeFaderEffect::fadeOut(int)
+ ??0MediaSource@Phonon@@QAE@PAVAbstractMediaStream@1@@Z @ 321 NONAME ; Phonon::MediaSource::MediaSource(class Phonon::AbstractMediaStream *)
+ ??0MediaObject@Phonon@@QAE@PAVQObject@@@Z @ 322 NONAME ; Phonon::MediaObject::MediaObject(class QObject *)
+ ?setSingleStep@VolumeSlider@Phonon@@QAEXH@Z @ 323 NONAME ; void Phonon::VolumeSlider::setSingleStep(int)
+ ?setCurrentSource@MediaObject@Phonon@@QAEXABVMediaSource@2@@Z @ 324 NONAME ; void Phonon::MediaObject::setCurrentSource(class Phonon::MediaSource const &)
+ ??1VolumeFaderEffect@Phonon@@UAE@XZ @ 325 NONAME ; Phonon::VolumeFaderEffect::~VolumeFaderEffect(void)
+ ?errorType@MediaObject@Phonon@@QBE?AW4ErrorType@2@XZ @ 326 NONAME ; enum Phonon::ErrorType Phonon::MediaObject::errorType(void) const
+ ?k_func@VolumeFaderEffect@Phonon@@ABEPBVVolumeFaderEffectPrivate@2@XZ @ 327 NONAME ; class Phonon::VolumeFaderEffectPrivate const * Phonon::VolumeFaderEffect::k_func(void) const
+ ?setStreamSize@AbstractMediaStream@Phonon@@IAEX_J@Z @ 328 NONAME ; void Phonon::AbstractMediaStream::setStreamSize(long long)
+ ?trUtf8@Effect@Phonon@@SA?AVQString@@PBD0@Z @ 329 NONAME ; class QString Phonon::Effect::trUtf8(char const *, char const *)
+ ?trUtf8@MediaObject@Phonon@@SA?AVQString@@PBD0H@Z @ 330 NONAME ; class QString Phonon::MediaObject::trUtf8(char const *, char const *, int)
+ ?supportedDropActions@ObjectDescriptionModelData@Phonon@@QBE?AV?$QFlags@W4DropAction@Qt@@@@XZ @ 331 NONAME ; class QFlags<enum Qt::DropAction> Phonon::ObjectDescriptionModelData::supportedDropActions(void) const
+ ??0VideoPlayer@Phonon@@QAE@W4Category@1@PAVQWidget@@@Z @ 332 NONAME ; Phonon::VideoPlayer::VideoPlayer(enum Phonon::Category, class QWidget *)
+ ??0EffectWidget@Phonon@@QAE@PAVEffect@1@PAVQWidget@@@Z @ 333 NONAME ; Phonon::EffectWidget::EffectWidget(class Phonon::Effect *, class QWidget *)
+ ?trUtf8@VideoPlayer@Phonon@@SA?AVQString@@PBD0H@Z @ 334 NONAME ; class QString Phonon::VideoPlayer::trUtf8(char const *, char const *, int)
+ ?tr@VolumeFaderEffect@Phonon@@SA?AVQString@@PBD0H@Z @ 335 NONAME ; class QString Phonon::VolumeFaderEffect::tr(char const *, char const *, int)
+ ?setContrast@VideoWidget@Phonon@@QAEXM@Z @ 336 NONAME ; void Phonon::VideoWidget::setContrast(float)
+ ??1SeekSlider@Phonon@@UAE@XZ @ 337 NONAME ; Phonon::SeekSlider::~SeekSlider(void)
+ ?disconnect@Path@Phonon@@QAE_NXZ @ 338 NONAME ; bool Phonon::Path::disconnect(void)
+ ?trUtf8@EffectWidget@Phonon@@SA?AVQString@@PBD0H@Z @ 339 NONAME ; class QString Phonon::EffectWidget::trUtf8(char const *, char const *, int)
+ ?fadeCurve@VolumeFaderEffect@Phonon@@QBE?AW4FadeCurve@12@XZ @ 340 NONAME ; enum Phonon::VolumeFaderEffect::FadeCurve Phonon::VolumeFaderEffect::fadeCurve(void) const
+ ?errorString@MediaObject@Phonon@@QBE?AVQString@@XZ @ 341 NONAME ; class QString Phonon::MediaObject::errorString(void) const
+ ??_EAbstractVideoOutput@Phonon@@UAE@I@Z @ 342 NONAME ; Phonon::AbstractVideoOutput::~AbstractVideoOutput(unsigned int)
+ ?metaObject@AbstractAudioOutput@Phonon@@UBEPBUQMetaObject@@XZ @ 343 NONAME ; struct QMetaObject const * Phonon::AbstractAudioOutput::metaObject(void) const
+ ?pause@VideoPlayer@Phonon@@QAEXXZ @ 344 NONAME ; void Phonon::VideoPlayer::pause(void)
+ ?tr@MediaController@Phonon@@SA?AVQString@@PBD0H@Z @ 345 NONAME ; class QString Phonon::MediaController::tr(char const *, char const *, int)
+ ?seekStream@StreamInterface@Phonon@@QAEX_J@Z @ 346 NONAME ; void Phonon::StreamInterface::seekStream(long long)
+ ?enqueue@MediaObject@Phonon@@QAEXABV?$QList@VQUrl@@@@@Z @ 347 NONAME ; void Phonon::MediaObject::enqueue(class QList<class QUrl> const &)
+ ?getStaticMetaObject@VideoWidget@Phonon@@SAABUQMetaObject@@XZ @ 348 NONAME ; struct QMetaObject const & Phonon::VideoWidget::getStaticMetaObject(void)
+ ?isMuted@AudioOutput@Phonon@@QBE_NXZ @ 349 NONAME ; bool Phonon::AudioOutput::isMuted(void) const
+ ??1ObjectDescriptionData@Phonon@@QAE@XZ @ 350 NONAME ; Phonon::ObjectDescriptionData::~ObjectDescriptionData(void)
+ ?availableAnglesChanged@MediaController@Phonon@@IAEXH@Z @ 351 NONAME ; void Phonon::MediaController::availableAnglesChanged(int)
+ ?trUtf8@MediaObject@Phonon@@SA?AVQString@@PBD0@Z @ 352 NONAME ; class QString Phonon::MediaObject::trUtf8(char const *, char const *)
+ ??0AbstractMediaStream@Phonon@@IAE@AAVAbstractMediaStreamPrivate@1@PAVQObject@@@Z @ 353 NONAME ; Phonon::AbstractMediaStream::AbstractMediaStream(class Phonon::AbstractMediaStreamPrivate &, class QObject *)
+ ?index@ObjectDescriptionData@Phonon@@QBEHXZ @ 354 NONAME ; int Phonon::ObjectDescriptionData::index(void) const
+ ?stateChanged@MediaObject@Phonon@@IAEXW4State@2@0@Z @ 355 NONAME ; void Phonon::MediaObject::stateChanged(enum Phonon::State, enum Phonon::State)
+ ?tr@AudioOutput@Phonon@@SA?AVQString@@PBD0H@Z @ 356 NONAME ; class QString Phonon::AudioOutput::tr(char const *, char const *, int)
+ ?trUtf8@AbstractMediaStream@Phonon@@SA?AVQString@@PBD0H@Z @ 357 NONAME ; class QString Phonon::AbstractMediaStream::trUtf8(char const *, char const *, int)
+ ?metaObject@VolumeSlider@Phonon@@UBEPBUQMetaObject@@XZ @ 358 NONAME ; struct QMetaObject const * Phonon::VolumeSlider::metaObject(void) const
+ ?k_func@SeekSlider@Phonon@@AAEPAVSeekSliderPrivate@2@XZ @ 359 NONAME ; class Phonon::SeekSliderPrivate * Phonon::SeekSlider::k_func(void)
+ ?getStaticMetaObject@VideoPlayer@Phonon@@SAABUQMetaObject@@XZ @ 360 NONAME ; struct QMetaObject const & Phonon::VideoPlayer::getStaticMetaObject(void)
+ ?availableTitlesChanged@MediaController@Phonon@@IAEXH@Z @ 361 NONAME ; void Phonon::MediaController::availableTitlesChanged(int)
+ ?isLogarithmicControl@EffectParameter@Phonon@@QBE_NXZ @ 362 NONAME ; bool Phonon::EffectParameter::isLogarithmicControl(void) const
+ ?setStreamSeekable@AbstractMediaStreamPrivate@Phonon@@MAEX_N@Z @ 363 NONAME ; void Phonon::AbstractMediaStreamPrivate::setStreamSeekable(bool)
+ ??0VideoPlayer@Phonon@@QAE@PAVQWidget@@@Z @ 364 NONAME ; Phonon::VideoPlayer::VideoPlayer(class QWidget *)
+ ?tr@SeekSlider@Phonon@@SA?AVQString@@PBD0H@Z @ 365 NONAME ; class QString Phonon::SeekSlider::tr(char const *, char const *, int)
+ ?qt_metacast@SeekSlider@Phonon@@UAEPAXPBD@Z @ 366 NONAME ; void * Phonon::SeekSlider::qt_metacast(char const *)
+ ?metaDataChanged@MediaObject@Phonon@@IAEXXZ @ 367 NONAME ; void Phonon::MediaObject::metaDataChanged(void)
+ ?setIconVisible@SeekSlider@Phonon@@QAEX_N@Z @ 368 NONAME ; void Phonon::SeekSlider::setIconVisible(bool)
+ ??1AbstractMediaStream@Phonon@@UAE@XZ @ 369 NONAME ; Phonon::AbstractMediaStream::~AbstractMediaStream(void)
+ ?maximumValue@EffectParameter@Phonon@@QBE?AVQVariant@@XZ @ 370 NONAME ; class QVariant Phonon::EffectParameter::maximumValue(void) const
+ ?registerFrontendObject@Factory@Phonon@@YAXPAVMediaNodePrivate@2@@Z @ 371 NONAME ; void Phonon::Factory::registerFrontendObject(class Phonon::MediaNodePrivate *)
+ ?trUtf8@VolumeSlider@Phonon@@SA?AVQString@@PBD0@Z @ 372 NONAME ; class QString Phonon::VolumeSlider::trUtf8(char const *, char const *)
+ ?removeRows@ObjectDescriptionModelData@Phonon@@QAE_NHHABVQModelIndex@@@Z @ 373 NONAME ; bool Phonon::ObjectDescriptionModelData::removeRows(int, int, class QModelIndex const &)
+ ??1MediaNodePrivate@Phonon@@MAE@XZ @ 374 NONAME ; Phonon::MediaNodePrivate::~MediaNodePrivate(void)
+ ??0Effect@Phonon@@IAE@AAVEffectPrivate@1@PAVQObject@@@Z @ 375 NONAME ; Phonon::Effect::Effect(class Phonon::EffectPrivate &, class QObject *)
+ ?removeEffect@Path@Phonon@@QAE_NPAVEffect@2@@Z @ 376 NONAME ; bool Phonon::Path::removeEffect(class Phonon::Effect *)
+ ?deviceName@MediaSource@Phonon@@QBE?AVQString@@XZ @ 377 NONAME ; class QString Phonon::MediaSource::deviceName(void) const
+ ?reset@StreamInterface@Phonon@@QAEXXZ @ 378 NONAME ; void Phonon::StreamInterface::reset(void)
+ ?iconSize@SeekSlider@Phonon@@QBE?AVQSize@@XZ @ 379 NONAME ; class QSize Phonon::SeekSlider::iconSize(void) const
+ ?staticMetaObject@VolumeSlider@Phonon@@2UQMetaObject@@B @ 380 NONAME ; struct QMetaObject const Phonon::VolumeSlider::staticMetaObject
+ ?mimeData@ObjectDescriptionModelData@Phonon@@QBEPAVQMimeData@@W4ObjectDescriptionType@2@ABV?$QList@VQModelIndex@@@@@Z @ 381 NONAME ; class QMimeData * Phonon::ObjectDescriptionModelData::mimeData(enum Phonon::ObjectDescriptionType, class QList<class QModelIndex> const &) const
+ ?discType@MediaSource@Phonon@@QBE?AW4DiscType@2@XZ @ 382 NONAME ; enum Phonon::DiscType Phonon::MediaSource::discType(void) const
+ ?dropMimeData@ObjectDescriptionModelData@Phonon@@QAE_NW4ObjectDescriptionType@2@PBVQMimeData@@W4DropAction@Qt@@HHABVQModelIndex@@@Z @ 383 NONAME ; bool Phonon::ObjectDescriptionModelData::dropMimeData(enum Phonon::ObjectDescriptionType, class QMimeData const *, enum Qt::DropAction, int, int, class QModelIndex const &)
+ ?description@Effect@Phonon@@QBE?AV?$ObjectDescription@$00@2@XZ @ 384 NONAME ; class Phonon::ObjectDescription<1> Phonon::Effect::description(void) const
+ ?getStaticMetaObject@AudioOutput@Phonon@@SAABUQMetaObject@@XZ @ 385 NONAME ; struct QMetaObject const & Phonon::AudioOutput::getStaticMetaObject(void)
+ ?removeDestructionHandler@MediaNodePrivate@Phonon@@QAEXPAVMediaNodeDestructionHandler@2@@Z @ 386 NONAME ; void Phonon::MediaNodePrivate::removeDestructionHandler(class Phonon::MediaNodeDestructionHandler *)
+ ?tickInterval@MediaObject@Phonon@@QBEHXZ @ 387 NONAME ; int Phonon::MediaObject::tickInterval(void) const
+ ?prefinishMarkReached@MediaObject@Phonon@@IAEXH@Z @ 388 NONAME ; void Phonon::MediaObject::prefinishMarkReached(int)
+ ?pageStep@VolumeSlider@Phonon@@QBEHXZ @ 389 NONAME ; int Phonon::VolumeSlider::pageStep(void) const
+ ??1VolumeSlider@Phonon@@UAE@XZ @ 390 NONAME ; Phonon::VolumeSlider::~VolumeSlider(void)
+ ?minimumValue@EffectParameter@Phonon@@QBE?AVQVariant@@XZ @ 391 NONAME ; class QVariant Phonon::EffectParameter::minimumValue(void) const
+ ?tr@VolumeFaderEffect@Phonon@@SA?AVQString@@PBD0@Z @ 392 NONAME ; class QString Phonon::VolumeFaderEffect::tr(char const *, char const *)
+ ?reconnect@Path@Phonon@@QAE_NPAVMediaNode@2@0@Z @ 393 NONAME ; bool Phonon::Path::reconnect(class Phonon::MediaNode *, class Phonon::MediaNode *)
+ ?k_func@VideoWidget@Phonon@@AAEPAVVideoWidgetPrivate@2@XZ @ 394 NONAME ; class Phonon::VideoWidgetPrivate * Phonon::VideoWidget::k_func(void)
+ ?qt_metacall@EffectWidget@Phonon@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 395 NONAME ; int Phonon::EffectWidget::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?qt_metacast@AudioOutput@Phonon@@UAEPAXPBD@Z @ 396 NONAME ; void * Phonon::AudioOutput::qt_metacast(char const *)
+ ?autoDelete@MediaSource@Phonon@@QBE_NXZ @ 397 NONAME ; bool Phonon::MediaSource::autoDelete(void) const
+ ?k_func@MediaObject@Phonon@@ABEPBVMediaObjectPrivate@2@XZ @ 398 NONAME ; class Phonon::MediaObjectPrivate const * Phonon::MediaObject::k_func(void) const
+ ?createPlayer@Phonon@@YAPAVMediaObject@1@W4Category@1@ABVMediaSource@1@@Z @ 399 NONAME ; class Phonon::MediaObject * Phonon::createPlayer(enum Phonon::Category, class Phonon::MediaSource const &)
+ ?aboutToFinish@MediaObject@Phonon@@IAEXXZ @ 400 NONAME ; void Phonon::MediaObject::aboutToFinish(void)
+ ?setSingleStep@SeekSlider@Phonon@@QAEXH@Z @ 401 NONAME ; void Phonon::SeekSlider::setSingleStep(int)
+ ?trUtf8@VolumeSlider@Phonon@@SA?AVQString@@PBD0H@Z @ 402 NONAME ; class QString Phonon::VolumeSlider::trUtf8(char const *, char const *, int)
+ ??1VideoPlayer@Phonon@@UAE@XZ @ 403 NONAME ; Phonon::VideoPlayer::~VideoPlayer(void)
+ ??9Path@Phonon@@QBE_NABV01@@Z @ 404 NONAME ; bool Phonon::Path::operator!=(class Phonon::Path const &) const
+ ?metaObject@?$ObjectDescriptionModel@$01@Phonon@@UBEPBUQMetaObject@@XZ @ 405 NONAME ; struct QMetaObject const * Phonon::ObjectDescriptionModel<2>::metaObject(void) const
+ ?backendObject@MediaNodePrivate@Phonon@@QAEPAVQObject@@XZ @ 406 NONAME ; class QObject * Phonon::MediaNodePrivate::backendObject(void)
+ ??8Path@Phonon@@QBE_NABV01@@Z @ 407 NONAME ; bool Phonon::Path::operator==(class Phonon::Path const &) const
+ ??1MediaSource@Phonon@@QAE@XZ @ 408 NONAME ; Phonon::MediaSource::~MediaSource(void)
+ ?setBackend@Factory@Phonon@@YAXPAVQObject@@@Z @ 409 NONAME ; void Phonon::Factory::setBackend(class QObject *)
+ ?staticMetaObject@VideoWidget@Phonon@@2UQMetaObject@@B @ 410 NONAME ; struct QMetaObject const Phonon::VideoWidget::staticMetaObject
+ ?staticMetaObject@MediaController@Phonon@@2UQMetaObject@@B @ 411 NONAME ; struct QMetaObject const Phonon::MediaController::staticMetaObject
+ ?trUtf8@EffectWidget@Phonon@@SA?AVQString@@PBD0@Z @ 412 NONAME ; class QString Phonon::EffectWidget::trUtf8(char const *, char const *)
+ ??0MediaSource@Phonon@@QAE@XZ @ 413 NONAME ; Phonon::MediaSource::MediaSource(void)
+ ?trUtf8@Effect@Phonon@@SA?AVQString@@PBD0H@Z @ 414 NONAME ; class QString Phonon::Effect::trUtf8(char const *, char const *, int)
+ ?registerQObject@Factory@Phonon@@YAPAVQObject@@PAV3@@Z @ 415 NONAME ; class QObject * Phonon::Factory::registerQObject(class QObject *)
+ ?metaObject@MediaObject@Phonon@@UBEPBUQMetaObject@@XZ @ 416 NONAME ; struct QMetaObject const * Phonon::MediaObject::metaObject(void) const
+ ?qt_metacast@VideoWidget@Phonon@@UAEPAXPBD@Z @ 417 NONAME ; void * Phonon::VideoWidget::qt_metacast(char const *)
+ ?tr@MediaObject@Phonon@@SA?AVQString@@PBD0@Z @ 418 NONAME ; class QString Phonon::MediaObject::tr(char const *, char const *)
+ ?tr@AbstractMediaStream@Phonon@@SA?AVQString@@PBD0H@Z @ 419 NONAME ; class QString Phonon::AbstractMediaStream::tr(char const *, char const *, int)
+ ?metaObject@VideoPlayer@Phonon@@UBEPBUQMetaObject@@XZ @ 420 NONAME ; struct QMetaObject const * Phonon::VideoPlayer::metaObject(void) const
+ ??0MediaSource@Phonon@@QAE@ABVQString@@@Z @ 421 NONAME ; Phonon::MediaSource::MediaSource(class QString const &)
+ ?setCurrentAngle@MediaController@Phonon@@QAEXH@Z @ 422 NONAME ; void Phonon::MediaController::setCurrentAngle(int)
+ ?setOrientation@VolumeSlider@Phonon@@QAEXW4Orientation@Qt@@@Z @ 423 NONAME ; void Phonon::VolumeSlider::setOrientation(enum Qt::Orientation)
+ ?volumeDecibel@AudioOutput@Phonon@@QBEMXZ @ 424 NONAME ; float Phonon::AudioOutput::volumeDecibel(void) const
+ ?removeInputPath@MediaNodePrivate@Phonon@@QAEXABVPath@2@@Z @ 425 NONAME ; void Phonon::MediaNodePrivate::removeInputPath(class Phonon::Path const &)
+ ?k_func@AudioOutput@Phonon@@AAEPAVAudioOutputPrivate@2@XZ @ 426 NONAME ; class Phonon::AudioOutputPrivate * Phonon::AudioOutput::k_func(void)
+ ?qt_metacast@EffectWidget@Phonon@@UAEPAXPBD@Z @ 427 NONAME ; void * Phonon::EffectWidget::qt_metacast(char const *)
+ ?getStaticMetaObject@AbstractAudioOutput@Phonon@@SAABUQMetaObject@@XZ @ 428 NONAME ; struct QMetaObject const & Phonon::AbstractAudioOutput::getStaticMetaObject(void)
+ ?availableChapters@MediaController@Phonon@@QBEHXZ @ 429 NONAME ; int Phonon::MediaController::availableChapters(void) const
+ ?play@VideoPlayer@Phonon@@QAEXXZ @ 430 NONAME ; void Phonon::VideoPlayer::play(void)
+ ?name@AudioOutput@Phonon@@QBE?AVQString@@XZ @ 431 NONAME ; class QString Phonon::AudioOutput::name(void) const
+ ?staticMetaObject@Effect@Phonon@@2UQMetaObject@@B @ 432 NONAME ; struct QMetaObject const Phonon::Effect::staticMetaObject
+ ??0AbstractMediaStream@Phonon@@IAE@PAVQObject@@@Z @ 433 NONAME ; Phonon::AbstractMediaStream::AbstractMediaStream(class QObject *)
+ ?tr@MediaController@Phonon@@SA?AVQString@@PBD0@Z @ 434 NONAME ; class QString Phonon::MediaController::tr(char const *, char const *)
+ ?metaObject@VolumeFaderEffect@Phonon@@UBEPBUQMetaObject@@XZ @ 435 NONAME ; struct QMetaObject const * Phonon::VolumeFaderEffect::metaObject(void) const
+ ?setAutoDelete@MediaSource@Phonon@@QAEX_N@Z @ 436 NONAME ; void Phonon::MediaSource::setAutoDelete(bool)
+ ?pageStep@SeekSlider@Phonon@@QBEHXZ @ 437 NONAME ; int Phonon::SeekSlider::pageStep(void) const
+ ?staticMetaObject@?$ObjectDescriptionModel@$00@Phonon@@2UQMetaObject@@B @ 438 NONAME ; struct QMetaObject const Phonon::ObjectDescriptionModel<1>::staticMetaObject
+ ?propertyNames@ObjectDescriptionData@Phonon@@QBE?AV?$QList@VQByteArray@@@@XZ @ 439 NONAME ; class QList<class QByteArray> Phonon::ObjectDescriptionData::propertyNames(void) const
+ ?metaObject@AbstractMediaStream@Phonon@@UBEPBUQMetaObject@@XZ @ 440 NONAME ; struct QMetaObject const * Phonon::AbstractMediaStream::metaObject(void) const
+ ??0AudioOutput@Phonon@@QAE@W4Category@1@PAVQObject@@@Z @ 441 NONAME ; Phonon::AudioOutput::AudioOutput(enum Phonon::Category, class QObject *)
+ ??0EffectParameter@Phonon@@QAE@HABVQString@@V?$QFlags@W4Hint@EffectParameter@Phonon@@@@ABVQVariant@@22ABV?$QList@VQVariant@@@@0@Z @ 442 NONAME ; Phonon::EffectParameter::EffectParameter(int, class QString const &, class QFlags<enum Phonon::EffectParameter::Hint>, class QVariant const &, class QVariant const &, class QVariant const &, class QList<class QVariant> const &, class QString const &)
+ ??4EffectParameter@Phonon@@QAEAAV01@ABV01@@Z @ 443 NONAME ; class Phonon::EffectParameter & Phonon::EffectParameter::operator=(class Phonon::EffectParameter const &)
+ ?audioOutput@VideoPlayer@Phonon@@QBEPAVAudioOutput@2@XZ @ 444 NONAME ; class Phonon::AudioOutput * Phonon::VideoPlayer::audioOutput(void) const
+ ?q_func@AbstractMediaStreamPrivate@Phonon@@ABEPBVAbstractMediaStream@2@XZ @ 445 NONAME ; class Phonon::AbstractMediaStream const * Phonon::AbstractMediaStreamPrivate::q_func(void) const
+ ?setMuteVisible@VolumeSlider@Phonon@@QAEX_N@Z @ 446 NONAME ; void Phonon::VolumeSlider::setMuteVisible(bool)
+ ?qt_metacall@MediaController@Phonon@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 447 NONAME ; int Phonon::MediaController::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?source@Path@Phonon@@QBEPAVMediaNode@2@XZ @ 448 NONAME ; class Phonon::MediaNode * Phonon::Path::source(void) const
+ ?deviceAccessListFor@AudioOutputInterface42@Phonon@@QBE?AV?$QList@U?$QPair@VQByteArray@@VQString@@@@@@ABV?$ObjectDescription@$0A@@2@@Z @ 449 NONAME ; class QList<struct QPair<class QByteArray, class QString> > Phonon::AudioOutputInterface42::deviceAccessListFor(class Phonon::ObjectDescription<0> const &) const
+ ?aspectRatio@VideoWidget@Phonon@@QBE?AW4AspectRatio@12@XZ @ 450 NONAME ; enum Phonon::VideoWidget::AspectRatio Phonon::VideoWidget::aspectRatio(void) const
+ ?trUtf8@VideoWidget@Phonon@@SA?AVQString@@PBD0@Z @ 451 NONAME ; class QString Phonon::VideoWidget::trUtf8(char const *, char const *)
+ ?setupBackendObject@MediaObjectPrivate@Phonon@@IAEXXZ @ 452 NONAME ; void Phonon::MediaObjectPrivate::setupBackendObject(void)
+ ?iconSize@VolumeSlider@Phonon@@QBE?AVQSize@@XZ @ 453 NONAME ; class QSize Phonon::VolumeSlider::iconSize(void) const
+ ??0MediaSourcePrivate@Phonon@@QAE@W4Type@MediaSource@1@@Z @ 454 NONAME ; Phonon::MediaSourcePrivate::MediaSourcePrivate(enum Phonon::MediaSource::Type)
+ ?metaObject@?$ObjectDescriptionModel@$03@Phonon@@UBEPBUQMetaObject@@XZ @ 455 NONAME ; struct QMetaObject const * Phonon::ObjectDescriptionModel<4>::metaObject(void) const
+ ?setName@AudioOutput@Phonon@@QAEXABVQString@@@Z @ 456 NONAME ; void Phonon::AudioOutput::setName(class QString const &)
+ ?setStreamInterface@AbstractMediaStreamPrivate@Phonon@@QAEXPAVStreamInterface@2@@Z @ 457 NONAME ; void Phonon::AbstractMediaStreamPrivate::setStreamInterface(class Phonon::StreamInterface *)
+ ?clearQueue@MediaObject@Phonon@@QAEXXZ @ 458 NONAME ; void Phonon::MediaObject::clearQueue(void)
+ ?phononVersion@Phonon@@YAPBDXZ @ 459 NONAME ; char const * Phonon::phononVersion(void)
+ ?trUtf8@VideoPlayer@Phonon@@SA?AVQString@@PBD0@Z @ 460 NONAME ; class QString Phonon::VideoPlayer::trUtf8(char const *, char const *)
+ ?staticMetaObject@AbstractMediaStream@Phonon@@2UQMetaObject@@B @ 461 NONAME ; struct QMetaObject const Phonon::AbstractMediaStream::staticMetaObject
+ ?tr@SeekSlider@Phonon@@SA?AVQString@@PBD0@Z @ 462 NONAME ; class QString Phonon::SeekSlider::tr(char const *, char const *)
+ ??_EGlobalConfig@Phonon@@UAE@I@Z @ 463 NONAME ; Phonon::GlobalConfig::~GlobalConfig(unsigned int)
+ ?getStaticMetaObject@MediaController@Phonon@@SAABUQMetaObject@@XZ @ 464 NONAME ; struct QMetaObject const & Phonon::MediaController::getStaticMetaObject(void)
+ ?possibleValues@EffectParameter@Phonon@@QBE?AV?$QList@VQVariant@@@@XZ @ 465 NONAME ; class QList<class QVariant> Phonon::EffectParameter::possibleValues(void) const
+ ?pause@MediaObject@Phonon@@QAEXXZ @ 466 NONAME ; void Phonon::MediaObject::pause(void)
+ ??_EEffectWidget@Phonon@@UAE@I@Z @ 467 NONAME ; Phonon::EffectWidget::~EffectWidget(unsigned int)
+ ?totalTime@VideoPlayer@Phonon@@QBE_JXZ @ 468 NONAME ; long long Phonon::VideoPlayer::totalTime(void) const
+ ?inputPaths@MediaNode@Phonon@@QBE?AV?$QList@VPath@Phonon@@@@XZ @ 469 NONAME ; class QList<class Phonon::Path> Phonon::MediaNode::inputPaths(void) const
+ ??0VolumeSlider@Phonon@@QAE@PAVQWidget@@@Z @ 470 NONAME ; Phonon::VolumeSlider::VolumeSlider(class QWidget *)
+ ??1EffectParameter@Phonon@@QAE@XZ @ 471 NONAME ; Phonon::EffectParameter::~EffectParameter(void)
+ ?availableSubtitlesChanged@MediaController@Phonon@@IAEXXZ @ 472 NONAME ; void Phonon::MediaController::availableSubtitlesChanged(void)
+ ??1Effect@Phonon@@UAE@XZ @ 473 NONAME ; Phonon::Effect::~Effect(void)
+ ?qt_metacall@MediaObject@Phonon@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 474 NONAME ; int Phonon::MediaObject::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ??0MediaSource@Phonon@@QAE@W4DiscType@1@ABVQString@@@Z @ 475 NONAME ; Phonon::MediaSource::MediaSource(enum Phonon::DiscType, class QString const &)
+ ?needData@StreamInterface@Phonon@@QAEXXZ @ 476 NONAME ; void Phonon::StreamInterface::needData(void)
+ ?staticMetaObject@AbstractAudioOutput@Phonon@@2UQMetaObject@@B @ 477 NONAME ; struct QMetaObject const Phonon::AbstractAudioOutput::staticMetaObject
+ ?enqueue@MediaObject@Phonon@@QAEXABV?$QList@VMediaSource@Phonon@@@@@Z @ 478 NONAME ; void Phonon::MediaObject::enqueue(class QList<class Phonon::MediaSource> const &)
+ ?qt_metacast@MediaController@Phonon@@UAEPAXPBD@Z @ 479 NONAME ; void * Phonon::MediaController::qt_metacast(char const *)
+ ?moveDown@ObjectDescriptionModelData@Phonon@@QAEXABVQModelIndex@@@Z @ 480 NONAME ; void Phonon::ObjectDescriptionModelData::moveDown(class QModelIndex const &)
+ ??0SeekSlider@Phonon@@QAE@PAVMediaObject@1@PAVQWidget@@@Z @ 481 NONAME ; Phonon::SeekSlider::SeekSlider(class Phonon::MediaObject *, class QWidget *)
+ ?trUtf8@AudioOutput@Phonon@@SA?AVQString@@PBD0@Z @ 482 NONAME ; class QString Phonon::AudioOutput::trUtf8(char const *, char const *)
+ ??0ObjectDescriptionData@Phonon@@QAE@PAVObjectDescriptionPrivate@1@@Z @ 483 NONAME ; Phonon::ObjectDescriptionData::ObjectDescriptionData(class Phonon::ObjectDescriptionPrivate *)
+ ?stream@MediaSource@Phonon@@QBEPAVAbstractMediaStream@2@XZ @ 484 NONAME ; class Phonon::AbstractMediaStream * Phonon::MediaSource::stream(void) const
+ ?setStream@MediaSourcePrivate@Phonon@@QAEXPAVAbstractMediaStream@2@@Z @ 485 NONAME ; void Phonon::MediaSourcePrivate::setStream(class Phonon::AbstractMediaStream *)
+ ?trUtf8@AbstractAudioOutput@Phonon@@SA?AVQString@@PBD0@Z @ 486 NONAME ; class QString Phonon::AbstractAudioOutput::trUtf8(char const *, char const *)
+ ??0EffectParameter@Phonon@@QAE@ABV01@@Z @ 487 NONAME ; Phonon::EffectParameter::EffectParameter(class Phonon::EffectParameter const &)
+ ?stop@VideoPlayer@Phonon@@QAEXXZ @ 488 NONAME ; void Phonon::VideoPlayer::stop(void)
+ ?categoryToString@Phonon@@YA?AVQString@@W4Category@1@@Z @ 489 NONAME ; class QString Phonon::categoryToString(enum Phonon::Category)
+ ?chapterChanged@MediaController@Phonon@@IAEXH@Z @ 490 NONAME ; void Phonon::MediaController::chapterChanged(int)
+ ?setScaleMode@VideoWidget@Phonon@@QAEXW4ScaleMode@12@@Z @ 491 NONAME ; void Phonon::VideoWidget::setScaleMode(enum Phonon::VideoWidget::ScaleMode)
+ ?streamSeekable@AbstractMediaStream@Phonon@@IBE_NXZ @ 492 NONAME ; bool Phonon::AbstractMediaStream::streamSeekable(void) const
+ ?qt_metacast@MediaObject@Phonon@@UAEPAXPBD@Z @ 493 NONAME ; void * Phonon::MediaObject::qt_metacast(char const *)
+ ?setMediaObjectPrivate@AbstractMediaStreamPrivate@Phonon@@QAEXPAVMediaObjectPrivate@2@@Z @ 494 NONAME ; void Phonon::AbstractMediaStreamPrivate::setMediaObjectPrivate(class Phonon::MediaObjectPrivate *)
+ ?setQueue@MediaObject@Phonon@@QAEXABV?$QList@VQUrl@@@@@Z @ 495 NONAME ; void Phonon::MediaObject::setQueue(class QList<class QUrl> const &)
+ ?q_func@AbstractMediaStreamPrivate@Phonon@@AAEPAVAbstractMediaStream@2@XZ @ 496 NONAME ; class Phonon::AbstractMediaStream * Phonon::AbstractMediaStreamPrivate::q_func(void)
+ ?setHue@VideoWidget@Phonon@@QAEXM@Z @ 497 NONAME ; void Phonon::VideoWidget::setHue(float)
+ ?description@ObjectDescriptionData@Phonon@@QBE?AVQString@@XZ @ 498 NONAME ; class QString Phonon::ObjectDescriptionData::description(void) const
+ ??1Path@Phonon@@QAE@XZ @ 499 NONAME ; Phonon::Path::~Path(void)
+ ?setAspectRatio@VideoWidget@Phonon@@QAEXW4AspectRatio@12@@Z @ 500 NONAME ; void Phonon::VideoWidget::setAspectRatio(enum Phonon::VideoWidget::AspectRatio)
+ ?tr@Effect@Phonon@@SA?AVQString@@PBD0H@Z @ 501 NONAME ; class QString Phonon::Effect::tr(char const *, char const *, int)
+ ?isPaused@VideoPlayer@Phonon@@QBE_NXZ @ 502 NONAME ; bool Phonon::VideoPlayer::isPaused(void) const
+ ??0VideoWidget@Phonon@@QAE@PAVQWidget@@@Z @ 503 NONAME ; Phonon::VideoWidget::VideoWidget(class QWidget *)
+ ??1AudioOutput@Phonon@@UAE@XZ @ 504 NONAME ; Phonon::AudioOutput::~AudioOutput(void)
+ ?setFadeCurve@VolumeFaderEffect@Phonon@@QAEXW4FadeCurve@12@@Z @ 505 NONAME ; void Phonon::VolumeFaderEffect::setFadeCurve(enum Phonon::VolumeFaderEffect::FadeCurve)
+ ?insertEffect@Path@Phonon@@QAEPAVEffect@2@ABV?$ObjectDescription@$00@2@PAV32@@Z @ 506 NONAME ; class Phonon::Effect * Phonon::Path::insertEffect(class Phonon::ObjectDescription<1> const &, class Phonon::Effect *)
+ ?volumeChanged@AudioOutput@Phonon@@IAEXM@Z @ 507 NONAME ; void Phonon::AudioOutput::volumeChanged(float)
+ ?staticMetaObject@VolumeFaderEffect@Phonon@@2UQMetaObject@@B @ 508 NONAME ; struct QMetaObject const Phonon::VolumeFaderEffect::staticMetaObject
+ ?notifier@BackendCapabilities@Phonon@@YAPAVNotifier@12@XZ @ 509 NONAME ; class Phonon::BackendCapabilities::Notifier * Phonon::BackendCapabilities::notifier(void)
+ ?tr@VideoWidget@Phonon@@SA?AVQString@@PBD0@Z @ 510 NONAME ; class QString Phonon::VideoWidget::tr(char const *, char const *)
+ ??_EVideoWidget@Phonon@@UAE@I@Z @ 511 NONAME ; Phonon::VideoWidget::~VideoWidget(unsigned int)
+ ??_EAbstractMediaStreamPrivate@Phonon@@UAE@I@Z @ 512 NONAME ; Phonon::AbstractMediaStreamPrivate::~AbstractMediaStreamPrivate(unsigned int)
+ ?deleteBackendObject@MediaNodePrivate@Phonon@@IAEXXZ @ 513 NONAME ; void Phonon::MediaNodePrivate::deleteBackendObject(void)
+ ?k_func@VideoWidget@Phonon@@ABEPBVVideoWidgetPrivate@2@XZ @ 514 NONAME ; class Phonon::VideoWidgetPrivate const * Phonon::VideoWidget::k_func(void) const
+ ??0MediaController@Phonon@@QAE@PAVMediaObject@1@@Z @ 515 NONAME ; Phonon::MediaController::MediaController(class Phonon::MediaObject *)
+ ?property@ObjectDescriptionData@Phonon@@QBE?AVQVariant@@PBD@Z @ 516 NONAME ; class QVariant Phonon::ObjectDescriptionData::property(char const *) const
+ ?getStaticMetaObject@VolumeFaderEffect@Phonon@@SAABUQMetaObject@@XZ @ 517 NONAME ; struct QMetaObject const & Phonon::VolumeFaderEffect::getStaticMetaObject(void)
+ ?writeData@AbstractMediaStreamPrivate@Phonon@@MAEXABVQByteArray@@@Z @ 518 NONAME ; void Phonon::AbstractMediaStreamPrivate::writeData(class QByteArray const &)
+ ?k_func@VolumeSlider@Phonon@@ABEPBVVolumeSliderPrivate@2@XZ @ 519 NONAME ; class Phonon::VolumeSliderPrivate const * Phonon::VolumeSlider::k_func(void) const
+
diff --git a/src/s60installs/eabi/QtCoreu.def b/src/s60installs/eabi/QtCoreu.def
index 2ecc48f..487d989 100644
--- a/src/s60installs/eabi/QtCoreu.def
+++ b/src/s60installs/eabi/QtCoreu.def
@@ -2136,7 +2136,7 @@ EXPORTS
_ZN9QHashData11shared_nullE @ 2135 NONAME DATA 32
_ZN9QHashData12allocateNodeEv @ 2136 NONAME
_ZN9QHashData12previousNodeEPNS_4NodeE @ 2137 NONAME
- _ZN9QHashData13detach_helperEPFvPNS_4NodeEPvEPFvS1_Ei @ 2138 NONAME
+ _ZN9QHashData13detach_helperEPFvPNS_4NodeEPvEPFvS1_Ei @ 2138 NONAME ABSENT
_ZN9QHashData13detach_helperEPFvPNS_4NodeEPvEi @ 2139 NONAME
_ZN9QHashData14destroyAndFreeEv @ 2140 NONAME
_ZN9QHashData6rehashEi @ 2141 NONAME
@@ -3577,4 +3577,27 @@ EXPORTS
uncompress @ 3576 NONAME
zError @ 3577 NONAME
zlibVersion @ 3578 NONAME
+ _Z12qFreeAlignedPv @ 3579 NONAME
+ _Z14qMallocAlignedjj @ 3580 NONAME
+ _Z15qReallocAlignedPvjjj @ 3581 NONAME
+ _ZN11QVectorData10reallocateEPS_iii @ 3582 NONAME
+ _ZN11QVectorData4freeEPS_i @ 3583 NONAME
+ _ZN11QVectorData8allocateEii @ 3584 NONAME
+ _ZN12QLibraryInfo9buildDateEv @ 3585 NONAME
+ _ZN20QContiguousCacheData4freeEPS_ @ 3586 NONAME
+ _ZN20QContiguousCacheData8allocateEii @ 3587 NONAME
+ _ZN20QStateMachinePrivate12toFinalStateEP14QAbstractState @ 3588 NONAME
+ _ZN20QStateMachinePrivate14toHistoryStateEP14QAbstractState @ 3589 NONAME
+ _ZN20QStateMachinePrivate15toStandardStateEP14QAbstractState @ 3590 NONAME
+ _ZN20QStateMachinePrivate15toStandardStateEPK14QAbstractState @ 3591 NONAME
+ _ZN20QStateMachinePrivate17postExternalEventEP6QEvent @ 3592 NONAME
+ _ZN20QStateMachinePrivate17postInternalEventEP6QEvent @ 3593 NONAME
+ _ZN20QStateMachinePrivate20dequeueExternalEventEv @ 3594 NONAME
+ _ZN20QStateMachinePrivate20dequeueInternalEventEv @ 3595 NONAME
+ _ZN20QStateMachinePrivate25isExternalEventQueueEmptyEv @ 3596 NONAME
+ _ZN20QStateMachinePrivate25isInternalEventQueueEmptyEv @ 3597 NONAME
+ _ZN8QMapData10createDataEi @ 3598 NONAME
+ _ZN8QMapData11node_createEPPNS_4NodeEii @ 3599 NONAME
+ _ZN9QHashData12allocateNodeEi @ 3600 NONAME
+ _ZN9QHashData14detach_helper2EPFvPNS_4NodeEPvEPFvS1_Eii @ 3601 NONAME
diff --git a/src/s60installs/eabi/QtGuiu.def b/src/s60installs/eabi/QtGuiu.def
index 1f4be7a..5d66fb7 100644
--- a/src/s60installs/eabi/QtGuiu.def
+++ b/src/s60installs/eabi/QtGuiu.def
@@ -1051,12 +1051,12 @@ EXPORTS
_ZN11QPaintEventD2Ev @ 1050 NONAME
_ZN11QPanGesture11qt_metacallEN11QMetaObject4CallEiPPv @ 1051 NONAME
_ZN11QPanGesture11qt_metacastEPKc @ 1052 NONAME
- _ZN11QPanGesture13setLastOffsetERK6QSizeF @ 1053 NONAME
- _ZN11QPanGesture14setTotalOffsetERK6QSizeF @ 1054 NONAME
+ _ZN11QPanGesture13setLastOffsetERK6QSizeF @ 1053 NONAME ABSENT
+ _ZN11QPanGesture14setTotalOffsetERK6QSizeF @ 1054 NONAME ABSENT
_ZN11QPanGesture15setAccelerationEf @ 1055 NONAME
_ZN11QPanGesture16staticMetaObjectE @ 1056 NONAME DATA 16
_ZN11QPanGesture19getStaticMetaObjectEv @ 1057 NONAME
- _ZN11QPanGesture9setOffsetERK6QSizeF @ 1058 NONAME
+ _ZN11QPanGesture9setOffsetERK6QSizeF @ 1058 NONAME ABSENT
_ZN11QPanGestureC1EP7QObject @ 1059 NONAME
_ZN11QPanGestureC2EP7QObject @ 1060 NONAME
_ZN11QPixmapData12toNativeTypeENS_10NativeTypeE @ 1061 NONAME
@@ -1511,13 +1511,13 @@ EXPORTS
_ZN12QApplication13startDragTimeEv @ 1510 NONAME
_ZN12QApplication14navigationModeEv @ 1511 NONAME
_ZN12QApplication14overrideCursorEv @ 1512 NONAME
- _ZN12QApplication14s60EventFilterEP8TWsEvent @ 1513 NONAME
+ _ZN12QApplication14s60EventFilterEP8TWsEvent @ 1513 NONAME ABSENT
_ZN12QApplication14setGlobalStrutERK5QSize @ 1514 NONAME
_ZN12QApplication15closeAllWindowsEv @ 1515 NONAME
_ZN12QApplication15cursorFlashTimeEv @ 1516 NONAME
_ZN12QApplication15isEffectEnabledEN2Qt8UIEffectE @ 1517 NONAME
_ZN12QApplication15layoutDirectionEv @ 1518 NONAME
- _ZN12QApplication15s60ProcessEventEP8TWsEvent @ 1519 NONAME
+ _ZN12QApplication15s60ProcessEventEP8TWsEvent @ 1519 NONAME ABSENT
_ZN12QApplication15setActiveWindowEP7QWidget @ 1520 NONAME
_ZN12QApplication15setInputContextEP13QInputContext @ 1521 NONAME
_ZN12QApplication15topLevelWidgetsEv @ 1522 NONAME
@@ -1546,10 +1546,10 @@ EXPORTS
_ZN12QApplication20changeOverrideCursorERK7QCursor @ 1545 NONAME
_ZN12QApplication20desktopSettingsAwareEv @ 1546 NONAME
_ZN12QApplication20setStartDragDistanceEi @ 1547 NONAME
- _ZN12QApplication20symbianHandleCommandEi @ 1548 NONAME
+ _ZN12QApplication20symbianHandleCommandEi @ 1548 NONAME ABSENT
_ZN12QApplication21keyboardInputIntervalEv @ 1549 NONAME
_ZN12QApplication21restoreOverrideCursorEv @ 1550 NONAME
- _ZN12QApplication21symbianResourceChangeEi @ 1551 NONAME
+ _ZN12QApplication21symbianResourceChangeEi @ 1551 NONAME ABSENT
_ZN12QApplication22keyboardInputDirectionEv @ 1552 NONAME
_ZN12QApplication22quitOnLastWindowClosedEv @ 1553 NONAME
_ZN12QApplication22setDoubleClickIntervalEi @ 1554 NONAME
@@ -2458,7 +2458,7 @@ EXPORTS
_ZN13QInputContext11qt_metacallEN11QMetaObject4CallEiPPv @ 2457 NONAME
_ZN13QInputContext11qt_metacastEPKc @ 2458 NONAME
_ZN13QInputContext12mouseHandlerEiP11QMouseEvent @ 2459 NONAME
- _ZN13QInputContext14s60FilterEventEP7QWidgetP8TWsEvent @ 2460 NONAME
+ _ZN13QInputContext14s60FilterEventEP7QWidgetP8TWsEvent @ 2460 NONAME ABSENT
_ZN13QInputContext14setFocusWidgetEP7QWidget @ 2461 NONAME
_ZN13QInputContext15widgetDestroyedEP7QWidget @ 2462 NONAME
_ZN13QInputContext16staticMetaObjectE @ 2463 NONAME DATA 16
@@ -3141,7 +3141,7 @@ EXPORTS
_ZN14QWidgetPrivate25setLayoutDirection_helperEN2Qt15LayoutDirectionE @ 3140 NONAME
_ZN14QWidgetPrivate26adjustQuitOnCloseAttributeEv @ 3141 NONAME
_ZN14QWidgetPrivate26createDefaultWindowSurfaceEv @ 3142 NONAME
- _ZN14QWidgetPrivate26nearestGraphicsProxyWidgetEP7QWidget @ 3143 NONAME
+ _ZN14QWidgetPrivate26nearestGraphicsProxyWidgetEPK7QWidget @ 3143 NONAME
_ZN14QWidgetPrivate27widgetInNavigationDirectionENS_9DirectionE @ 3144 NONAME
_ZN14QWidgetPrivate29invalidateBuffer_resizeHelperERK6QPointRK5QSize @ 3145 NONAME
_ZN14QWidgetPrivate30createDefaultWindowSurface_sysEv @ 3146 NONAME
@@ -4060,7 +4060,7 @@ EXPORTS
_ZN17QPixmapBlurFilter11setBlurHintEN2Qt10RenderHintE @ 4059 NONAME
_ZN17QPixmapBlurFilter16staticMetaObjectE @ 4060 NONAME DATA 16
_ZN17QPixmapBlurFilter19getStaticMetaObjectEv @ 4061 NONAME
- _ZN17QPixmapBlurFilter9setRadiusEi @ 4062 NONAME
+ _ZN17QPixmapBlurFilter9setRadiusEi @ 4062 NONAME ABSENT
_ZN17QPixmapBlurFilterC1EP7QObject @ 4063 NONAME
_ZN17QPixmapBlurFilterC2EP7QObject @ 4064 NONAME
_ZN17QPixmapBlurFilterD0Ev @ 4065 NONAME
@@ -4361,40 +4361,40 @@ EXPORTS
_ZN19QApplicationPrivateD0Ev @ 4360 NONAME
_ZN19QApplicationPrivateD1Ev @ 4361 NONAME
_ZN19QApplicationPrivateD2Ev @ 4362 NONAME
- _ZN19QCoeFepInputContext10Extension1ERi @ 4363 NONAME
- _ZN19QCoeFepInputContext10applyHintsE6QFlagsIN2Qt15InputMethodHintEE @ 4364 NONAME
- _ZN19QCoeFepInputContext11applyFormatEP5QListIN17QInputMethodEvent9AttributeEE @ 4365 NONAME
- _ZN19QCoeFepInputContext11filterEventEPK6QEvent @ 4366 NONAME
- _ZN19QCoeFepInputContext11qt_metacallEN11QMetaObject4CallEiPPv @ 4367 NONAME
- _ZN19QCoeFepInputContext11qt_metacastEPKc @ 4368 NONAME
- _ZN19QCoeFepInputContext11updateHintsEb @ 4369 NONAME
- _ZN19QCoeFepInputContext12mouseHandlerEiP11QMouseEvent @ 4370 NONAME
- _ZN19QCoeFepInputContext14setFocusWidgetEP7QWidget @ 4371 NONAME
- _ZN19QCoeFepInputContext15MopSupplyObjectE8TTypeUid @ 4372 NONAME
- _ZN19QCoeFepInputContext15widgetDestroyedEP7QWidget @ 4373 NONAME
- _ZN19QCoeFepInputContext16staticMetaObjectE @ 4374 NONAME DATA 16
- _ZN19QCoeFepInputContext17inputCapabilitiesEv @ 4375 NONAME
- _ZN19QCoeFepInputContext19CancelFepInlineEditEv @ 4376 NONAME
- _ZN19QCoeFepInputContext19StartFepInlineEditLERK7TDesC16iiPK15MFormCustomDrawR29MFepInlineTextFormatRetrieverR39MFepPointerEventHandlerDuringInlineEdit @ 4377 NONAME
- _ZN19QCoeFepInputContext19commitCurrentStringEb @ 4378 NONAME
- _ZN19QCoeFepInputContext19getStaticMetaObjectEv @ 4379 NONAME
- _ZN19QCoeFepInputContext20UpdateFepInlineTextLERK7TDesC16i @ 4380 NONAME
- _ZN19QCoeFepInputContext21ReportAknEdStateEventEN19MAknEdStateObserver19EAknEdwinStateEventE @ 4381 NONAME
- _ZN19QCoeFepInputContext22DoCommitFepInlineEditLEv @ 4382 NONAME
- _ZN19QCoeFepInputContext25SetCursorSelectionForFepLERK16TCursorSelection @ 4383 NONAME
- _ZN19QCoeFepInputContext29SetStateTransferingOwnershipLEPN33MCoeFepAwareTextEditor_Extension16CStateE4TUid @ 4384 NONAME
- _ZN19QCoeFepInputContext29queueInputCapabilitiesChangedEv @ 4385 NONAME
- _ZN19QCoeFepInputContext30ensureInputCapabilitiesChangedEv @ 4386 NONAME
- _ZN19QCoeFepInputContext33SetInlineEditingCursorVisibilityLEi @ 4387 NONAME
- _ZN19QCoeFepInputContext5StateE4TUid @ 4388 NONAME
- _ZN19QCoeFepInputContext5resetEv @ 4389 NONAME
- _ZN19QCoeFepInputContext6updateEv @ 4390 NONAME
- _ZN19QCoeFepInputContext8languageEv @ 4391 NONAME
- _ZN19QCoeFepInputContextC1EP7QObject @ 4392 NONAME
- _ZN19QCoeFepInputContextC2EP7QObject @ 4393 NONAME
- _ZN19QCoeFepInputContextD0Ev @ 4394 NONAME
- _ZN19QCoeFepInputContextD1Ev @ 4395 NONAME
- _ZN19QCoeFepInputContextD2Ev @ 4396 NONAME
+ _ZN19QCoeFepInputContext10Extension1ERi @ 4363 NONAME ABSENT
+ _ZN19QCoeFepInputContext10applyHintsE6QFlagsIN2Qt15InputMethodHintEE @ 4364 NONAME ABSENT
+ _ZN19QCoeFepInputContext11applyFormatEP5QListIN17QInputMethodEvent9AttributeEE @ 4365 NONAME ABSENT
+ _ZN19QCoeFepInputContext11filterEventEPK6QEvent @ 4366 NONAME ABSENT
+ _ZN19QCoeFepInputContext11qt_metacallEN11QMetaObject4CallEiPPv @ 4367 NONAME ABSENT
+ _ZN19QCoeFepInputContext11qt_metacastEPKc @ 4368 NONAME ABSENT
+ _ZN19QCoeFepInputContext11updateHintsEb @ 4369 NONAME ABSENT
+ _ZN19QCoeFepInputContext12mouseHandlerEiP11QMouseEvent @ 4370 NONAME ABSENT
+ _ZN19QCoeFepInputContext14setFocusWidgetEP7QWidget @ 4371 NONAME ABSENT
+ _ZN19QCoeFepInputContext15MopSupplyObjectE8TTypeUid @ 4372 NONAME ABSENT
+ _ZN19QCoeFepInputContext15widgetDestroyedEP7QWidget @ 4373 NONAME ABSENT
+ _ZN19QCoeFepInputContext16staticMetaObjectE @ 4374 NONAME DATA 16 ABSENT
+ _ZN19QCoeFepInputContext17inputCapabilitiesEv @ 4375 NONAME ABSENT
+ _ZN19QCoeFepInputContext19CancelFepInlineEditEv @ 4376 NONAME ABSENT
+ _ZN19QCoeFepInputContext19StartFepInlineEditLERK7TDesC16iiPK15MFormCustomDrawR29MFepInlineTextFormatRetrieverR39MFepPointerEventHandlerDuringInlineEdit @ 4377 NONAME ABSENT
+ _ZN19QCoeFepInputContext19commitCurrentStringEb @ 4378 NONAME ABSENT
+ _ZN19QCoeFepInputContext19getStaticMetaObjectEv @ 4379 NONAME ABSENT
+ _ZN19QCoeFepInputContext20UpdateFepInlineTextLERK7TDesC16i @ 4380 NONAME ABSENT
+ _ZN19QCoeFepInputContext21ReportAknEdStateEventEN19MAknEdStateObserver19EAknEdwinStateEventE @ 4381 NONAME ABSENT
+ _ZN19QCoeFepInputContext22DoCommitFepInlineEditLEv @ 4382 NONAME ABSENT
+ _ZN19QCoeFepInputContext25SetCursorSelectionForFepLERK16TCursorSelection @ 4383 NONAME ABSENT
+ _ZN19QCoeFepInputContext29SetStateTransferingOwnershipLEPN33MCoeFepAwareTextEditor_Extension16CStateE4TUid @ 4384 NONAME ABSENT
+ _ZN19QCoeFepInputContext29queueInputCapabilitiesChangedEv @ 4385 NONAME ABSENT
+ _ZN19QCoeFepInputContext30ensureInputCapabilitiesChangedEv @ 4386 NONAME ABSENT
+ _ZN19QCoeFepInputContext33SetInlineEditingCursorVisibilityLEi @ 4387 NONAME ABSENT
+ _ZN19QCoeFepInputContext5StateE4TUid @ 4388 NONAME ABSENT
+ _ZN19QCoeFepInputContext5resetEv @ 4389 NONAME ABSENT
+ _ZN19QCoeFepInputContext6updateEv @ 4390 NONAME ABSENT
+ _ZN19QCoeFepInputContext8languageEv @ 4391 NONAME ABSENT
+ _ZN19QCoeFepInputContextC1EP7QObject @ 4392 NONAME ABSENT
+ _ZN19QCoeFepInputContextC2EP7QObject @ 4393 NONAME ABSENT
+ _ZN19QCoeFepInputContextD0Ev @ 4394 NONAME ABSENT
+ _ZN19QCoeFepInputContextD1Ev @ 4395 NONAME ABSENT
+ _ZN19QCoeFepInputContextD2Ev @ 4396 NONAME ABSENT
_ZN19QEventDispatcherS6011qt_metacallEN11QMetaObject4CallEiPPv @ 4397 NONAME
_ZN19QEventDispatcherS6011qt_metacastEPKc @ 4398 NONAME
_ZN19QEventDispatcherS6013processEventsE6QFlagsIN10QEventLoop17ProcessEventsFlagEE @ 4399 NONAME
@@ -4412,10 +4412,10 @@ EXPORTS
_ZN19QGraphicsBlurEffect11qt_metacallEN11QMetaObject4CallEiPPv @ 4411 NONAME
_ZN19QGraphicsBlurEffect11qt_metacastEPKc @ 4412 NONAME
_ZN19QGraphicsBlurEffect11setBlurHintEN2Qt10RenderHintE @ 4413 NONAME
- _ZN19QGraphicsBlurEffect13setBlurRadiusEi @ 4414 NONAME
+ _ZN19QGraphicsBlurEffect13setBlurRadiusEi @ 4414 NONAME ABSENT
_ZN19QGraphicsBlurEffect15blurHintChangedEN2Qt10RenderHintE @ 4415 NONAME
_ZN19QGraphicsBlurEffect16staticMetaObjectE @ 4416 NONAME DATA 16
- _ZN19QGraphicsBlurEffect17blurRadiusChangedEi @ 4417 NONAME
+ _ZN19QGraphicsBlurEffect17blurRadiusChangedEi @ 4417 NONAME ABSENT
_ZN19QGraphicsBlurEffect19getStaticMetaObjectEv @ 4418 NONAME
_ZN19QGraphicsBlurEffect4drawEP8QPainterP21QGraphicsEffectSource @ 4419 NONAME
_ZN19QGraphicsBlurEffectC1EP7QObject @ 4420 NONAME
@@ -4625,24 +4625,24 @@ EXPORTS
_ZN19QToolBarChangeEventD0Ev @ 4624 NONAME
_ZN19QToolBarChangeEventD1Ev @ 4625 NONAME
_ZN19QToolBarChangeEventD2Ev @ 4626 NONAME
- _ZN20QGraphicsBloomEffect11qt_metacallEN11QMetaObject4CallEiPPv @ 4627 NONAME
- _ZN20QGraphicsBloomEffect11qt_metacastEPKc @ 4628 NONAME
- _ZN20QGraphicsBloomEffect11setBlurHintEN2Qt10RenderHintE @ 4629 NONAME
- _ZN20QGraphicsBloomEffect11setStrengthEf @ 4630 NONAME
- _ZN20QGraphicsBloomEffect13setBlurRadiusEi @ 4631 NONAME
- _ZN20QGraphicsBloomEffect13setBrightnessEi @ 4632 NONAME
- _ZN20QGraphicsBloomEffect15blurHintChangedEN2Qt10RenderHintE @ 4633 NONAME
- _ZN20QGraphicsBloomEffect15strengthChangedEf @ 4634 NONAME
- _ZN20QGraphicsBloomEffect16staticMetaObjectE @ 4635 NONAME DATA 16
- _ZN20QGraphicsBloomEffect17blurRadiusChangedEi @ 4636 NONAME
- _ZN20QGraphicsBloomEffect17brightnessChangedEi @ 4637 NONAME
- _ZN20QGraphicsBloomEffect19getStaticMetaObjectEv @ 4638 NONAME
- _ZN20QGraphicsBloomEffect4drawEP8QPainterP21QGraphicsEffectSource @ 4639 NONAME
- _ZN20QGraphicsBloomEffectC1EP7QObject @ 4640 NONAME
- _ZN20QGraphicsBloomEffectC2EP7QObject @ 4641 NONAME
- _ZN20QGraphicsBloomEffectD0Ev @ 4642 NONAME
- _ZN20QGraphicsBloomEffectD1Ev @ 4643 NONAME
- _ZN20QGraphicsBloomEffectD2Ev @ 4644 NONAME
+ _ZN20QGraphicsBloomEffect11qt_metacallEN11QMetaObject4CallEiPPv @ 4627 NONAME ABSENT
+ _ZN20QGraphicsBloomEffect11qt_metacastEPKc @ 4628 NONAME ABSENT
+ _ZN20QGraphicsBloomEffect11setBlurHintEN2Qt10RenderHintE @ 4629 NONAME ABSENT
+ _ZN20QGraphicsBloomEffect11setStrengthEf @ 4630 NONAME ABSENT
+ _ZN20QGraphicsBloomEffect13setBlurRadiusEi @ 4631 NONAME ABSENT
+ _ZN20QGraphicsBloomEffect13setBrightnessEi @ 4632 NONAME ABSENT
+ _ZN20QGraphicsBloomEffect15blurHintChangedEN2Qt10RenderHintE @ 4633 NONAME ABSENT
+ _ZN20QGraphicsBloomEffect15strengthChangedEf @ 4634 NONAME ABSENT
+ _ZN20QGraphicsBloomEffect16staticMetaObjectE @ 4635 NONAME DATA 16 ABSENT
+ _ZN20QGraphicsBloomEffect17blurRadiusChangedEi @ 4636 NONAME ABSENT
+ _ZN20QGraphicsBloomEffect17brightnessChangedEi @ 4637 NONAME ABSENT
+ _ZN20QGraphicsBloomEffect19getStaticMetaObjectEv @ 4638 NONAME ABSENT
+ _ZN20QGraphicsBloomEffect4drawEP8QPainterP21QGraphicsEffectSource @ 4639 NONAME ABSENT
+ _ZN20QGraphicsBloomEffectC1EP7QObject @ 4640 NONAME ABSENT
+ _ZN20QGraphicsBloomEffectC2EP7QObject @ 4641 NONAME ABSENT
+ _ZN20QGraphicsBloomEffectD0Ev @ 4642 NONAME ABSENT
+ _ZN20QGraphicsBloomEffectD1Ev @ 4643 NONAME ABSENT
+ _ZN20QGraphicsBloomEffectD2Ev @ 4644 NONAME ABSENT
_ZN20QGraphicsEllipseItem12setExtensionEN13QGraphicsItem9ExtensionERK8QVariant @ 4645 NONAME
_ZN20QGraphicsEllipseItem12setSpanAngleEi @ 4646 NONAME
_ZN20QGraphicsEllipseItem13setStartAngleEi @ 4647 NONAME
@@ -5082,18 +5082,18 @@ EXPORTS
_ZN23QGraphicsColorizeEffectD0Ev @ 5081 NONAME
_ZN23QGraphicsColorizeEffectD1Ev @ 5082 NONAME
_ZN23QGraphicsColorizeEffectD2Ev @ 5083 NONAME
- _ZN23QGraphicsPixelizeEffect11qt_metacallEN11QMetaObject4CallEiPPv @ 5084 NONAME
- _ZN23QGraphicsPixelizeEffect11qt_metacastEPKc @ 5085 NONAME
- _ZN23QGraphicsPixelizeEffect12setPixelSizeEi @ 5086 NONAME
- _ZN23QGraphicsPixelizeEffect16pixelSizeChangedEi @ 5087 NONAME
- _ZN23QGraphicsPixelizeEffect16staticMetaObjectE @ 5088 NONAME DATA 16
- _ZN23QGraphicsPixelizeEffect19getStaticMetaObjectEv @ 5089 NONAME
- _ZN23QGraphicsPixelizeEffect4drawEP8QPainterP21QGraphicsEffectSource @ 5090 NONAME
- _ZN23QGraphicsPixelizeEffectC1EP7QObject @ 5091 NONAME
- _ZN23QGraphicsPixelizeEffectC2EP7QObject @ 5092 NONAME
- _ZN23QGraphicsPixelizeEffectD0Ev @ 5093 NONAME
- _ZN23QGraphicsPixelizeEffectD1Ev @ 5094 NONAME
- _ZN23QGraphicsPixelizeEffectD2Ev @ 5095 NONAME
+ _ZN23QGraphicsPixelizeEffect11qt_metacallEN11QMetaObject4CallEiPPv @ 5084 NONAME ABSENT
+ _ZN23QGraphicsPixelizeEffect11qt_metacastEPKc @ 5085 NONAME ABSENT
+ _ZN23QGraphicsPixelizeEffect12setPixelSizeEi @ 5086 NONAME ABSENT
+ _ZN23QGraphicsPixelizeEffect16pixelSizeChangedEi @ 5087 NONAME ABSENT
+ _ZN23QGraphicsPixelizeEffect16staticMetaObjectE @ 5088 NONAME DATA 16 ABSENT
+ _ZN23QGraphicsPixelizeEffect19getStaticMetaObjectEv @ 5089 NONAME ABSENT
+ _ZN23QGraphicsPixelizeEffect4drawEP8QPainterP21QGraphicsEffectSource @ 5090 NONAME ABSENT
+ _ZN23QGraphicsPixelizeEffectC1EP7QObject @ 5091 NONAME ABSENT
+ _ZN23QGraphicsPixelizeEffectC2EP7QObject @ 5092 NONAME ABSENT
+ _ZN23QGraphicsPixelizeEffectD0Ev @ 5093 NONAME ABSENT
+ _ZN23QGraphicsPixelizeEffectD1Ev @ 5094 NONAME ABSENT
+ _ZN23QGraphicsPixelizeEffectD2Ev @ 5095 NONAME ABSENT
_ZN23QGraphicsSceneHelpEvent11setScenePosERK7QPointF @ 5096 NONAME
_ZN23QGraphicsSceneHelpEvent12setScreenPosERK6QPoint @ 5097 NONAME
_ZN23QGraphicsSceneHelpEventC1EN6QEvent4TypeE @ 5098 NONAME
@@ -5127,7 +5127,7 @@ EXPORTS
_ZN23QPaintBufferSignalProxy8instanceEv @ 5126 NONAME
_ZN23QPixmapDropShadowFilter11qt_metacallEN11QMetaObject4CallEiPPv @ 5127 NONAME
_ZN23QPixmapDropShadowFilter11qt_metacastEPKc @ 5128 NONAME
- _ZN23QPixmapDropShadowFilter13setBlurRadiusEi @ 5129 NONAME
+ _ZN23QPixmapDropShadowFilter13setBlurRadiusEi @ 5129 NONAME ABSENT
_ZN23QPixmapDropShadowFilter16staticMetaObjectE @ 5130 NONAME DATA 16
_ZN23QPixmapDropShadowFilter19getStaticMetaObjectEv @ 5131 NONAME
_ZN23QPixmapDropShadowFilter8setColorERK6QColor @ 5132 NONAME
@@ -5161,18 +5161,18 @@ EXPORTS
_ZN23QWindowStateChangeEventD0Ev @ 5160 NONAME
_ZN23QWindowStateChangeEventD1Ev @ 5161 NONAME
_ZN23QWindowStateChangeEventD2Ev @ 5162 NONAME
- _ZN24QGraphicsGrayscaleEffect11qt_metacallEN11QMetaObject4CallEiPPv @ 5163 NONAME
- _ZN24QGraphicsGrayscaleEffect11qt_metacastEPKc @ 5164 NONAME
- _ZN24QGraphicsGrayscaleEffect11setStrengthEf @ 5165 NONAME
- _ZN24QGraphicsGrayscaleEffect15strengthChangedEf @ 5166 NONAME
- _ZN24QGraphicsGrayscaleEffect16staticMetaObjectE @ 5167 NONAME DATA 16
- _ZN24QGraphicsGrayscaleEffect19getStaticMetaObjectEv @ 5168 NONAME
- _ZN24QGraphicsGrayscaleEffect4drawEP8QPainterP21QGraphicsEffectSource @ 5169 NONAME
- _ZN24QGraphicsGrayscaleEffectC1EP7QObject @ 5170 NONAME
- _ZN24QGraphicsGrayscaleEffectC2EP7QObject @ 5171 NONAME
- _ZN24QGraphicsGrayscaleEffectD0Ev @ 5172 NONAME
- _ZN24QGraphicsGrayscaleEffectD1Ev @ 5173 NONAME
- _ZN24QGraphicsGrayscaleEffectD2Ev @ 5174 NONAME
+ _ZN24QGraphicsGrayscaleEffect11qt_metacallEN11QMetaObject4CallEiPPv @ 5163 NONAME ABSENT
+ _ZN24QGraphicsGrayscaleEffect11qt_metacastEPKc @ 5164 NONAME ABSENT
+ _ZN24QGraphicsGrayscaleEffect11setStrengthEf @ 5165 NONAME ABSENT
+ _ZN24QGraphicsGrayscaleEffect15strengthChangedEf @ 5166 NONAME ABSENT
+ _ZN24QGraphicsGrayscaleEffect16staticMetaObjectE @ 5167 NONAME DATA 16 ABSENT
+ _ZN24QGraphicsGrayscaleEffect19getStaticMetaObjectEv @ 5168 NONAME ABSENT
+ _ZN24QGraphicsGrayscaleEffect4drawEP8QPainterP21QGraphicsEffectSource @ 5169 NONAME ABSENT
+ _ZN24QGraphicsGrayscaleEffectC1EP7QObject @ 5170 NONAME ABSENT
+ _ZN24QGraphicsGrayscaleEffectC2EP7QObject @ 5171 NONAME ABSENT
+ _ZN24QGraphicsGrayscaleEffectD0Ev @ 5172 NONAME ABSENT
+ _ZN24QGraphicsGrayscaleEffectD1Ev @ 5173 NONAME ABSENT
+ _ZN24QGraphicsGrayscaleEffectD2Ev @ 5174 NONAME ABSENT
_ZN24QGraphicsSceneHoverEvent10setLastPosERK7QPointF @ 5175 NONAME
_ZN24QGraphicsSceneHoverEvent11setScenePosERK7QPointF @ 5176 NONAME
_ZN24QGraphicsSceneHoverEvent12setModifiersE6QFlagsIN2Qt16KeyboardModifierEE @ 5177 NONAME
@@ -5215,11 +5215,11 @@ EXPORTS
_ZN24QGraphicsSceneWheelEventD1Ev @ 5214 NONAME
_ZN24QGraphicsSceneWheelEventD2Ev @ 5215 NONAME
_ZN24QImagePixmapCleanupHooks12addImageHookEPFvxE @ 5216 NONAME
- _ZN24QImagePixmapCleanupHooks13addPixmapHookEPFvP7QPixmapE @ 5217 NONAME
+ _ZN24QImagePixmapCleanupHooks13addPixmapHookEPFvP7QPixmapE @ 5217 NONAME ABSENT
_ZN24QImagePixmapCleanupHooks15removeImageHookEPFvxE @ 5218 NONAME
- _ZN24QImagePixmapCleanupHooks16removePixmapHookEPFvP7QPixmapE @ 5219 NONAME
+ _ZN24QImagePixmapCleanupHooks16removePixmapHookEPFvP7QPixmapE @ 5219 NONAME ABSENT
_ZN24QImagePixmapCleanupHooks17executeImageHooksEx @ 5220 NONAME
- _ZN24QImagePixmapCleanupHooks18executePixmapHooksEP7QPixmap @ 5221 NONAME
+ _ZN24QImagePixmapCleanupHooks18executePixmapHooksEP7QPixmap @ 5221 NONAME ABSENT
_ZN24QImagePixmapCleanupHooks8instanceEv @ 5222 NONAME
_ZN24QImagePixmapCleanupHooksC1Ev @ 5223 NONAME
_ZN24QImagePixmapCleanupHooksC2Ev @ 5224 NONAME
@@ -5276,9 +5276,9 @@ EXPORTS
_ZN25QGraphicsDropShadowEffect11qt_metacastEPKc @ 5275 NONAME
_ZN25QGraphicsDropShadowEffect12colorChangedERK6QColor @ 5276 NONAME
_ZN25QGraphicsDropShadowEffect13offsetChangedERK7QPointF @ 5277 NONAME
- _ZN25QGraphicsDropShadowEffect13setBlurRadiusEi @ 5278 NONAME
+ _ZN25QGraphicsDropShadowEffect13setBlurRadiusEi @ 5278 NONAME ABSENT
_ZN25QGraphicsDropShadowEffect16staticMetaObjectE @ 5279 NONAME DATA 16
- _ZN25QGraphicsDropShadowEffect17blurRadiusChangedEi @ 5280 NONAME
+ _ZN25QGraphicsDropShadowEffect17blurRadiusChangedEi @ 5280 NONAME ABSENT
_ZN25QGraphicsDropShadowEffect19getStaticMetaObjectEv @ 5281 NONAME
_ZN25QGraphicsDropShadowEffect4drawEP8QPainterP21QGraphicsEffectSource @ 5282 NONAME
_ZN25QGraphicsDropShadowEffect8setColorERK6QColor @ 5283 NONAME
@@ -6366,7 +6366,7 @@ EXPORTS
_ZN8QGesture11qt_metacallEN11QMetaObject4CallEiPPv @ 6365 NONAME
_ZN8QGesture11qt_metacastEPKc @ 6366 NONAME
_ZN8QGesture12unsetHotSpotEv @ 6367 NONAME
- _ZN8QGesture15setTargetObjectEP7QObject @ 6368 NONAME
+ _ZN8QGesture15setTargetObjectEP7QObject @ 6368 NONAME ABSENT
_ZN8QGesture16staticMetaObjectE @ 6369 NONAME DATA 16
_ZN8QGesture19getStaticMetaObjectEv @ 6370 NONAME
_ZN8QGestureC1EN2Qt11GestureTypeEP7QObject @ 6371 NONAME ABSENT
@@ -7888,7 +7888,7 @@ EXPORTS
_ZNK11QTextCursorneERKS_ @ 7887 NONAME
_ZNK11QTextEngine10attributesEv @ 7888 NONAME
_ZNK11QTextEngine10elidedTextEN2Qt13TextElideModeERK6QFixedi @ 7889 NONAME
- _ZNK11QTextEngine10fontEngineERK11QScriptItemP6QFixedS4_ @ 7890 NONAME
+ _ZNK11QTextEngine10fontEngineERK11QScriptItemP6QFixedS4_ @ 7890 NONAME ABSENT
_ZNK11QTextEngine11boundingBoxEii @ 7891 NONAME
_ZNK11QTextEngine11formatIndexEPK11QScriptItem @ 7892 NONAME
_ZNK11QTextEngine11setBoundaryEi @ 7893 NONAME
@@ -8817,7 +8817,7 @@ EXPORTS
_ZNK14QWidgetPrivate13isAboutToShowEv @ 8816 NONAME
_ZNK14QWidgetPrivate13paintOnScreenEv @ 8817 NONAME
_ZNK14QWidgetPrivate14childAt_helperERK6QPointb @ 8818 NONAME
- _ZNK14QWidgetPrivate15getOpaqueRegionEv @ 8819 NONAME
+ _ZNK14QWidgetPrivate15getOpaqueRegionEv @ 8819 NONAME ABSENT
_ZNK14QWidgetPrivate15paintBackgroundEP8QPainterRK7QRegioni @ 8820 NONAME
_ZNK14QWidgetPrivate17getOpaqueChildrenEv @ 8821 NONAME
_ZNK14QWidgetPrivate17naturalWidgetFontEj @ 8822 NONAME
@@ -9263,13 +9263,13 @@ EXPORTS
_ZNK19QAbstractScrollArea8viewportEv @ 9262 NONAME
_ZNK19QApplicationPrivate11inPopupModeEv @ 9263 NONAME
_ZNK19QApplicationPrivate7appNameEv @ 9264 NONAME
- _ZNK19QCoeFepInputContext10metaObjectEv @ 9265 NONAME
- _ZNK19QCoeFepInputContext15GetFormatForFepER11TCharFormati @ 9266 NONAME
- _ZNK19QCoeFepInputContext20DocumentLengthForFepEv @ 9267 NONAME
- _ZNK19QCoeFepInputContext22GetEditorContentForFepER6TDes16ii @ 9268 NONAME
- _ZNK19QCoeFepInputContext24GetCursorSelectionForFepER16TCursorSelection @ 9269 NONAME
- _ZNK19QCoeFepInputContext27DocumentMaximumLengthForFepEv @ 9270 NONAME
- _ZNK19QCoeFepInputContext27GetScreenCoordinatesForFepLER6TPointRiS2_i @ 9271 NONAME
+ _ZNK19QCoeFepInputContext10metaObjectEv @ 9265 NONAME ABSENT
+ _ZNK19QCoeFepInputContext15GetFormatForFepER11TCharFormati @ 9266 NONAME ABSENT
+ _ZNK19QCoeFepInputContext20DocumentLengthForFepEv @ 9267 NONAME ABSENT
+ _ZNK19QCoeFepInputContext22GetEditorContentForFepER6TDes16ii @ 9268 NONAME ABSENT
+ _ZNK19QCoeFepInputContext24GetCursorSelectionForFepER16TCursorSelection @ 9269 NONAME ABSENT
+ _ZNK19QCoeFepInputContext27DocumentMaximumLengthForFepEv @ 9270 NONAME ABSENT
+ _ZNK19QCoeFepInputContext27GetScreenCoordinatesForFepLER6TPointRiS2_i @ 9271 NONAME ABSENT
_ZNK19QEventDispatcherS6010metaObjectEv @ 9272 NONAME
_ZNK19QGraphicsBlurEffect10blurRadiusEv @ 9273 NONAME
_ZNK19QGraphicsBlurEffect10metaObjectEv @ 9274 NONAME
@@ -9366,12 +9366,12 @@ EXPORTS
_ZNK19QTextDocumentWriter6deviceEv @ 9365 NONAME
_ZNK19QTextDocumentWriter6formatEv @ 9366 NONAME
_ZNK19QTextDocumentWriter8fileNameEv @ 9367 NONAME
- _ZNK20QGraphicsBloomEffect10blurRadiusEv @ 9368 NONAME
- _ZNK20QGraphicsBloomEffect10brightnessEv @ 9369 NONAME
- _ZNK20QGraphicsBloomEffect10metaObjectEv @ 9370 NONAME
- _ZNK20QGraphicsBloomEffect15boundingRectForERK6QRectF @ 9371 NONAME
- _ZNK20QGraphicsBloomEffect8blurHintEv @ 9372 NONAME
- _ZNK20QGraphicsBloomEffect8strengthEv @ 9373 NONAME
+ _ZNK20QGraphicsBloomEffect10blurRadiusEv @ 9368 NONAME ABSENT
+ _ZNK20QGraphicsBloomEffect10brightnessEv @ 9369 NONAME ABSENT
+ _ZNK20QGraphicsBloomEffect10metaObjectEv @ 9370 NONAME ABSENT
+ _ZNK20QGraphicsBloomEffect15boundingRectForERK6QRectF @ 9371 NONAME ABSENT
+ _ZNK20QGraphicsBloomEffect8blurHintEv @ 9372 NONAME ABSENT
+ _ZNK20QGraphicsBloomEffect8strengthEv @ 9373 NONAME ABSENT
_ZNK20QGraphicsEllipseItem10opaqueAreaEv @ 9374 NONAME
_ZNK20QGraphicsEllipseItem10startAngleEv @ 9375 NONAME
_ZNK20QGraphicsEllipseItem12boundingRectEv @ 9376 NONAME
@@ -9429,7 +9429,7 @@ EXPORTS
_ZNK21QGraphicsEffectSource11styleOptionEv @ 9428 NONAME
_ZNK21QGraphicsEffectSource12boundingRectEN2Qt16CoordinateSystemE @ 9429 NONAME
_ZNK21QGraphicsEffectSource12graphicsItemEv @ 9430 NONAME
- _ZNK21QGraphicsEffectSource6pixmapEN2Qt16CoordinateSystemEP6QPoint @ 9431 NONAME
+ _ZNK21QGraphicsEffectSource6pixmapEN2Qt16CoordinateSystemEP6QPoint @ 9431 NONAME ABSENT
_ZNK21QGraphicsEffectSource6widgetEv @ 9432 NONAME
_ZNK21QGraphicsEffectSource8isPixmapEv @ 9433 NONAME
_ZNK21QGraphicsLinearLayout11itemSpacingEi @ 9434 NONAME
@@ -9514,8 +9514,8 @@ EXPORTS
_ZNK23QGraphicsColorizeEffect10metaObjectEv @ 9513 NONAME
_ZNK23QGraphicsColorizeEffect5colorEv @ 9514 NONAME
_ZNK23QGraphicsColorizeEffect8strengthEv @ 9515 NONAME
- _ZNK23QGraphicsPixelizeEffect10metaObjectEv @ 9516 NONAME
- _ZNK23QGraphicsPixelizeEffect9pixelSizeEv @ 9517 NONAME
+ _ZNK23QGraphicsPixelizeEffect10metaObjectEv @ 9516 NONAME ABSENT
+ _ZNK23QGraphicsPixelizeEffect9pixelSizeEv @ 9517 NONAME ABSENT
_ZNK23QGraphicsSceneHelpEvent8scenePosEv @ 9518 NONAME
_ZNK23QGraphicsSceneHelpEvent9screenPosEv @ 9519 NONAME
_ZNK23QGraphicsSceneMoveEvent6newPosEv @ 9520 NONAME
@@ -9539,8 +9539,8 @@ EXPORTS
_ZNK23QPixmapDropShadowFilter6offsetEv @ 9538 NONAME
_ZNK23QTreeWidgetItemIterator12matchesFlagsEPK15QTreeWidgetItem @ 9539 NONAME
_ZNK23QWindowStateChangeEvent10isOverrideEv @ 9540 NONAME
- _ZNK24QGraphicsGrayscaleEffect10metaObjectEv @ 9541 NONAME
- _ZNK24QGraphicsGrayscaleEffect8strengthEv @ 9542 NONAME
+ _ZNK24QGraphicsGrayscaleEffect10metaObjectEv @ 9541 NONAME ABSENT
+ _ZNK24QGraphicsGrayscaleEffect8strengthEv @ 9542 NONAME ABSENT
_ZNK24QGraphicsSceneHoverEvent12lastScenePosEv @ 9543 NONAME
_ZNK24QGraphicsSceneHoverEvent13lastScreenPosEv @ 9544 NONAME
_ZNK24QGraphicsSceneHoverEvent3posEv @ 9545 NONAME
@@ -10163,7 +10163,7 @@ EXPORTS
_ZNK8QGesture10hasHotSpotEv @ 10162 NONAME
_ZNK8QGesture10metaObjectEv @ 10163 NONAME
_ZNK8QGesture11gestureTypeEv @ 10164 NONAME
- _ZNK8QGesture12targetObjectEv @ 10165 NONAME
+ _ZNK8QGesture12targetObjectEv @ 10165 NONAME ABSENT
_ZNK8QGesture5stateEv @ 10166 NONAME
_ZNK8QGesture7hotSpotEv @ 10167 NONAME
_ZNK8QMdiArea10backgroundEv @ 10168 NONAME
@@ -10774,7 +10774,7 @@ EXPORTS
_ZTI19QAbstractProxyModel @ 10773 NONAME
_ZTI19QAbstractScrollArea @ 10774 NONAME
_ZTI19QApplicationPrivate @ 10775 NONAME
- _ZTI19QCoeFepInputContext @ 10776 NONAME
+ _ZTI19QCoeFepInputContext @ 10776 NONAME ABSENT
_ZTI19QEventDispatcherS60 @ 10777 NONAME
_ZTI19QGraphicsBlurEffect @ 10778 NONAME
_ZTI19QGraphicsGridLayout @ 10779 NONAME
@@ -10788,7 +10788,7 @@ EXPORTS
_ZTI19QS60MainApplication @ 10787 NONAME
_ZTI19QStyledItemDelegate @ 10788 NONAME
_ZTI19QToolBarChangeEvent @ 10789 NONAME
- _ZTI20QGraphicsBloomEffect @ 10790 NONAME
+ _ZTI20QGraphicsBloomEffect @ 10790 NONAME ABSENT
_ZTI20QGraphicsEllipseItem @ 10791 NONAME
_ZTI20QGraphicsItemPrivate @ 10792 NONAME
_ZTI20QGraphicsPolygonItem @ 10793 NONAME
@@ -10815,7 +10815,7 @@ EXPORTS
_ZTI22QStyleFactoryInterface @ 10814 NONAME
_ZTI22QWhatsThisClickedEvent @ 10815 NONAME
_ZTI23QGraphicsColorizeEffect @ 10816 NONAME
- _ZTI23QGraphicsPixelizeEffect @ 10817 NONAME
+ _ZTI23QGraphicsPixelizeEffect @ 10817 NONAME ABSENT
_ZTI23QGraphicsSceneHelpEvent @ 10818 NONAME
_ZTI23QGraphicsSceneMoveEvent @ 10819 NONAME
_ZTI23QGraphicsSimpleTextItem @ 10820 NONAME
@@ -10823,7 +10823,7 @@ EXPORTS
_ZTI23QPictureFormatInterface @ 10822 NONAME
_ZTI23QPixmapDropShadowFilter @ 10823 NONAME
_ZTI23QWindowStateChangeEvent @ 10824 NONAME
- _ZTI24QGraphicsGrayscaleEffect @ 10825 NONAME
+ _ZTI24QGraphicsGrayscaleEffect @ 10825 NONAME ABSENT
_ZTI24QGraphicsSceneHoverEvent @ 10826 NONAME
_ZTI24QGraphicsSceneMouseEvent @ 10827 NONAME
_ZTI24QGraphicsSceneWheelEvent @ 10828 NONAME
@@ -11056,7 +11056,7 @@ EXPORTS
_ZTV19QAbstractProxyModel @ 11055 NONAME
_ZTV19QAbstractScrollArea @ 11056 NONAME
_ZTV19QApplicationPrivate @ 11057 NONAME
- _ZTV19QCoeFepInputContext @ 11058 NONAME
+ _ZTV19QCoeFepInputContext @ 11058 NONAME ABSENT
_ZTV19QEventDispatcherS60 @ 11059 NONAME
_ZTV19QGraphicsBlurEffect @ 11060 NONAME
_ZTV19QGraphicsGridLayout @ 11061 NONAME
@@ -11070,7 +11070,7 @@ EXPORTS
_ZTV19QS60MainApplication @ 11069 NONAME
_ZTV19QStyledItemDelegate @ 11070 NONAME
_ZTV19QToolBarChangeEvent @ 11071 NONAME
- _ZTV20QGraphicsBloomEffect @ 11072 NONAME
+ _ZTV20QGraphicsBloomEffect @ 11072 NONAME ABSENT
_ZTV20QGraphicsEllipseItem @ 11073 NONAME
_ZTV20QGraphicsItemPrivate @ 11074 NONAME
_ZTV20QGraphicsPolygonItem @ 11075 NONAME
@@ -11095,14 +11095,14 @@ EXPORTS
_ZTV22QPaintEngineExReplayer @ 11094 NONAME
_ZTV22QWhatsThisClickedEvent @ 11095 NONAME
_ZTV23QGraphicsColorizeEffect @ 11096 NONAME
- _ZTV23QGraphicsPixelizeEffect @ 11097 NONAME
+ _ZTV23QGraphicsPixelizeEffect @ 11097 NONAME ABSENT
_ZTV23QGraphicsSceneHelpEvent @ 11098 NONAME
_ZTV23QGraphicsSceneMoveEvent @ 11099 NONAME
_ZTV23QGraphicsSimpleTextItem @ 11100 NONAME
_ZTV23QPaintBufferSignalProxy @ 11101 NONAME
_ZTV23QPixmapDropShadowFilter @ 11102 NONAME
_ZTV23QWindowStateChangeEvent @ 11103 NONAME
- _ZTV24QGraphicsGrayscaleEffect @ 11104 NONAME
+ _ZTV24QGraphicsGrayscaleEffect @ 11104 NONAME ABSENT
_ZTV24QGraphicsSceneHoverEvent @ 11105 NONAME
_ZTV24QGraphicsSceneMouseEvent @ 11106 NONAME
_ZTV24QGraphicsSceneWheelEvent @ 11107 NONAME
@@ -11164,8 +11164,8 @@ EXPORTS
_ZThn12_N14QDragMoveEventD1Ev @ 11163 NONAME
_ZThn12_N15QDragEnterEventD0Ev @ 11164 NONAME
_ZThn12_N15QDragEnterEventD1Ev @ 11165 NONAME
- _ZThn12_N19QCoeFepInputContext29SetStateTransferingOwnershipLEPN33MCoeFepAwareTextEditor_Extension16CStateE4TUid @ 11166 NONAME
- _ZThn12_N19QCoeFepInputContext5StateE4TUid @ 11167 NONAME
+ _ZThn12_N19QCoeFepInputContext29SetStateTransferingOwnershipLEPN33MCoeFepAwareTextEditor_Extension16CStateE4TUid @ 11166 NONAME ABSENT
+ _ZThn12_N19QCoeFepInputContext5StateE4TUid @ 11167 NONAME ABSENT
_ZThn12_NK10QDropEvent11encodedDataEPKc @ 11168 NONAME
_ZThn12_NK10QDropEvent6formatEi @ 11169 NONAME
_ZThn12_NK10QDropEvent8providesEPKc @ 11170 NONAME
@@ -11173,7 +11173,7 @@ EXPORTS
_ZThn16_N15QGraphicsWidget14updateGeometryEv @ 11172 NONAME
_ZThn16_N15QGraphicsWidgetD0Ev @ 11173 NONAME
_ZThn16_N15QGraphicsWidgetD1Ev @ 11174 NONAME
- _ZThn16_N19QCoeFepInputContext15MopSupplyObjectE8TTypeUid @ 11175 NONAME
+ _ZThn16_N19QCoeFepInputContext15MopSupplyObjectE8TTypeUid @ 11175 NONAME ABSENT
_ZThn16_N20QGraphicsProxyWidget11setGeometryERK6QRectF @ 11176 NONAME
_ZThn16_N20QGraphicsProxyWidgetD0Ev @ 11177 NONAME
_ZThn16_N20QGraphicsProxyWidgetD1Ev @ 11178 NONAME
@@ -11323,13 +11323,13 @@ EXPORTS
_ZThn8_N17QIconEnginePluginD1Ev @ 11322 NONAME
_ZThn8_N19QAbstractScrollAreaD0Ev @ 11323 NONAME
_ZThn8_N19QAbstractScrollAreaD1Ev @ 11324 NONAME
- _ZThn8_N19QCoeFepInputContext10Extension1ERi @ 11325 NONAME
- _ZThn8_N19QCoeFepInputContext19CancelFepInlineEditEv @ 11326 NONAME
- _ZThn8_N19QCoeFepInputContext19StartFepInlineEditLERK7TDesC16iiPK15MFormCustomDrawR29MFepInlineTextFormatRetrieverR39MFepPointerEventHandlerDuringInlineEdit @ 11327 NONAME
- _ZThn8_N19QCoeFepInputContext20UpdateFepInlineTextLERK7TDesC16i @ 11328 NONAME
- _ZThn8_N19QCoeFepInputContext22DoCommitFepInlineEditLEv @ 11329 NONAME
- _ZThn8_N19QCoeFepInputContext25SetCursorSelectionForFepLERK16TCursorSelection @ 11330 NONAME
- _ZThn8_N19QCoeFepInputContext33SetInlineEditingCursorVisibilityLEi @ 11331 NONAME
+ _ZThn8_N19QCoeFepInputContext10Extension1ERi @ 11325 NONAME ABSENT
+ _ZThn8_N19QCoeFepInputContext19CancelFepInlineEditEv @ 11326 NONAME ABSENT
+ _ZThn8_N19QCoeFepInputContext19StartFepInlineEditLERK7TDesC16iiPK15MFormCustomDrawR29MFepInlineTextFormatRetrieverR39MFepPointerEventHandlerDuringInlineEdit @ 11327 NONAME ABSENT
+ _ZThn8_N19QCoeFepInputContext20UpdateFepInlineTextLERK7TDesC16i @ 11328 NONAME ABSENT
+ _ZThn8_N19QCoeFepInputContext22DoCommitFepInlineEditLEv @ 11329 NONAME ABSENT
+ _ZThn8_N19QCoeFepInputContext25SetCursorSelectionForFepLERK16TCursorSelection @ 11330 NONAME ABSENT
+ _ZThn8_N19QCoeFepInputContext33SetInlineEditingCursorVisibilityLEi @ 11331 NONAME ABSENT
_ZThn8_N19QIconEnginePluginV2D0Ev @ 11332 NONAME
_ZThn8_N19QIconEnginePluginV2D1Ev @ 11333 NONAME
_ZThn8_N19QInputContextPluginD0Ev @ 11334 NONAME
@@ -11446,12 +11446,12 @@ EXPORTS
_ZThn8_NK17QGraphicsTextItem5shapeEv @ 11445 NONAME
_ZThn8_NK17QGraphicsTextItem8containsERK7QPointF @ 11446 NONAME
_ZThn8_NK17QGraphicsTextItem9extensionERK8QVariant @ 11447 NONAME
- _ZThn8_NK19QCoeFepInputContext15GetFormatForFepER11TCharFormati @ 11448 NONAME
- _ZThn8_NK19QCoeFepInputContext20DocumentLengthForFepEv @ 11449 NONAME
- _ZThn8_NK19QCoeFepInputContext22GetEditorContentForFepER6TDes16ii @ 11450 NONAME
- _ZThn8_NK19QCoeFepInputContext24GetCursorSelectionForFepER16TCursorSelection @ 11451 NONAME
- _ZThn8_NK19QCoeFepInputContext27DocumentMaximumLengthForFepEv @ 11452 NONAME
- _ZThn8_NK19QCoeFepInputContext27GetScreenCoordinatesForFepLER6TPointRiS2_i @ 11453 NONAME
+ _ZThn8_NK19QCoeFepInputContext15GetFormatForFepER11TCharFormati @ 11448 NONAME ABSENT
+ _ZThn8_NK19QCoeFepInputContext20DocumentLengthForFepEv @ 11449 NONAME ABSENT
+ _ZThn8_NK19QCoeFepInputContext22GetEditorContentForFepER6TDes16ii @ 11450 NONAME ABSENT
+ _ZThn8_NK19QCoeFepInputContext24GetCursorSelectionForFepER16TCursorSelection @ 11451 NONAME ABSENT
+ _ZThn8_NK19QCoeFepInputContext27DocumentMaximumLengthForFepEv @ 11452 NONAME ABSENT
+ _ZThn8_NK19QCoeFepInputContext27GetScreenCoordinatesForFepLER6TPointRiS2_i @ 11453 NONAME ABSENT
_ZThn8_NK20QGraphicsProxyWidget4typeEv @ 11454 NONAME
_ZThn8_NK7QLayout11maximumSizeEv @ 11455 NONAME
_ZThn8_NK7QLayout11minimumSizeEv @ 11456 NONAME
@@ -11585,4 +11585,79 @@ EXPORTS
_ZN14QWidgetPrivate17_q_delayedDestroyEP11CCoeControl @ 11584 NONAME
_ZN14QWidgetPrivate21activateSymbianWindowEP11CCoeControl @ 11585 NONAME
_ZNK17QRasterPixmapData26createCompatiblePixmapDataEv @ 11586 NONAME
+ _ZN12QApplication18symbianEventFilterEPK13QSymbianEvent @ 11587 NONAME
+ _ZN12QApplication19symbianProcessEventEPK13QSymbianEvent @ 11588 NONAME
+ _ZN13QInputContext18symbianFilterEventEP7QWidgetPK13QSymbianEvent @ 11589 NONAME
+ _ZN13QSymbianEventC1ENS_4TypeEi @ 11590 NONAME
+ _ZN13QSymbianEventC1EPK8TWsEvent @ 11591 NONAME
+ _ZN13QSymbianEventC2ENS_4TypeEi @ 11592 NONAME
+ _ZN13QSymbianEventC2EPK8TWsEvent @ 11593 NONAME
+ _ZN13QSymbianEventD1Ev @ 11594 NONAME
+ _ZN13QSymbianEventD2Ev @ 11595 NONAME
+ _ZN15QGraphicsAnchor13setSizePolicyEN11QSizePolicy6PolicyE @ 11596 NONAME
+ _ZN19QApplicationPrivate20symbianHandleCommandEi @ 11597 NONAME
+ _ZN19QApplicationPrivate21symbianProcessWsEventEPK8TWsEvent @ 11598 NONAME
+ _ZN19QApplicationPrivate21symbianResourceChangeEi @ 11599 NONAME
+ _ZN24QImagePixmapCleanupHooks24addPixmapDestructionHookEPFvP7QPixmapE @ 11600 NONAME
+ _ZN24QImagePixmapCleanupHooks25addPixmapModificationHookEPFvP7QPixmapE @ 11601 NONAME
+ _ZN24QImagePixmapCleanupHooks27removePixmapDestructionHookEPFvP7QPixmapE @ 11602 NONAME
+ _ZN24QImagePixmapCleanupHooks28removePixmapModificationHookEPFvP7QPixmapE @ 11603 NONAME
+ _ZN24QImagePixmapCleanupHooks29executePixmapDestructionHooksEP7QPixmap @ 11604 NONAME
+ _ZN24QImagePixmapCleanupHooks30executePixmapModificationHooksEP7QPixmap @ 11605 NONAME
+ _ZNK11QPixmapData26createCompatiblePixmapDataEv @ 11606 NONAME
+ _ZNK13QSymbianEvent17windowServerEventEv @ 11607 NONAME
+ _ZNK13QSymbianEvent18resourceChangeTypeEv @ 11608 NONAME
+ _ZNK13QSymbianEvent7commandEv @ 11609 NONAME
+ _ZNK15QGraphicsAnchor10sizePolicyEv @ 11610 NONAME
+ _ZNK21QGraphicsLinearLayout4dumpEi @ 11611 NONAME
+ _Zls6QDebug6QFlagsIN6QStyle9StateFlagEE @ 11612 NONAME
+ _Zls6QDebugRK12QStyleOption @ 11613 NONAME
+ _Zls6QDebugRKN12QStyleOption10OptionTypeE @ 11614 NONAME
+ _ZNK14QDesktopWidget14screenGeometryEPK7QWidget @ 11615 NONAME
+ _ZNK14QDesktopWidget17availableGeometryEPK7QWidget @ 11616 NONAME
+ _ZN11QPanGesture13setLastOffsetERK7QPointF @ 11617 NONAME
+ _ZN11QPanGesture14setTotalOffsetERK7QPointF @ 11618 NONAME
+ _ZN11QPanGesture9setOffsetERK7QPointF @ 11619 NONAME
+ _ZN13QGestureEvent6d_funcEv @ 11620 NONAME
+ _ZN13QGestureEvent9setWidgetEP7QWidget @ 11621 NONAME
+ _ZN13QGestureEventD0Ev @ 11622 NONAME
+ _ZN13QGestureEventD1Ev @ 11623 NONAME
+ _ZN13QGestureEventD2Ev @ 11624 NONAME
+ _ZN14QWidgetPrivate36invalidateGraphicsEffectsRecursivelyEv @ 11625 NONAME
+ _ZN20QGraphicsItemPrivate36invalidateGraphicsEffectsRecursivelyEv @ 11626 NONAME
+ _ZNK13QGestureEvent10mapToSceneERK7QPointF @ 11627 NONAME
+ _ZNK13QGestureEvent6d_funcEv @ 11628 NONAME
+ _ZNK13QGestureEvent6widgetEv @ 11629 NONAME
+ _Zls6QDebugP15QGraphicsObject @ 11630 NONAME
+ _ZN10QMatrix4x415projectedRotateEffff @ 11631 NONAME
+ _ZN9QTextLine18setLeadingIncludedEb @ 11632 NONAME
+ _ZNK10QMatrix4x411toTransformEv @ 11633 NONAME
+ _ZNK11QTextEngine10fontEngineERK11QScriptItemP6QFixedS4_S4_ @ 11634 NONAME
+ _ZNK9QTextLine15leadingIncludedEv @ 11635 NONAME
+ _ZNK9QTextLine7leadingEv @ 11636 NONAME
+ _ZN11QVectorPath12addCacheDataEP14QPaintEngineExPvPFvS2_E @ 11637 NONAME
+ _ZN13QGestureEvent11setAcceptedEN2Qt11GestureTypeEb @ 11638 NONAME
+ _ZN13QGestureEvent6acceptEN2Qt11GestureTypeE @ 11639 NONAME
+ _ZN13QGestureEvent6ignoreEN2Qt11GestureTypeE @ 11640 NONAME
+ _ZN17QPixmapBlurFilter9setRadiusEf @ 11641 NONAME
+ _ZN19QGraphicsBlurEffect13setBlurRadiusEf @ 11642 NONAME
+ _ZN19QGraphicsBlurEffect17blurRadiusChangedEf @ 11643 NONAME
+ _ZN23QPixmapDropShadowFilter13setBlurRadiusEf @ 11644 NONAME
+ _ZN25QGraphicsDropShadowEffect13setBlurRadiusEf @ 11645 NONAME
+ _ZN25QGraphicsDropShadowEffect17blurRadiusChangedEf @ 11646 NONAME
+ _ZN28QStyleOptionTabWidgetFrameV2C1ERK26QStyleOptionTabWidgetFrame @ 11647 NONAME
+ _ZN28QStyleOptionTabWidgetFrameV2C1Ei @ 11648 NONAME
+ _ZN28QStyleOptionTabWidgetFrameV2C1Ev @ 11649 NONAME
+ _ZN28QStyleOptionTabWidgetFrameV2C2ERK26QStyleOptionTabWidgetFrame @ 11650 NONAME
+ _ZN28QStyleOptionTabWidgetFrameV2C2Ei @ 11651 NONAME
+ _ZN28QStyleOptionTabWidgetFrameV2C2Ev @ 11652 NONAME
+ _ZN28QStyleOptionTabWidgetFrameV2aSERK26QStyleOptionTabWidgetFrame @ 11653 NONAME
+ _ZN7QWidget13ungrabGestureEN2Qt11GestureTypeE @ 11654 NONAME
+ _ZN8QGesture22setGestureCancelPolicyENS_19GestureCancelPolicyE @ 11655 NONAME
+ _ZN8QToolBar15topLevelChangedEb @ 11656 NONAME
+ _ZNK13QGestureEvent10isAcceptedEN2Qt11GestureTypeE @ 11657 NONAME
+ _ZNK13QTextDocument18availableRedoStepsEv @ 11658 NONAME
+ _ZNK13QTextDocument18availableUndoStepsEv @ 11659 NONAME
+ _ZNK21QGraphicsEffectSource6pixmapEN2Qt16CoordinateSystemEP6QPointNS_13PixmapPadModeE @ 11660 NONAME
+ _ZNK8QGesture19gestureCancelPolicyEv @ 11661 NONAME
diff --git a/src/s60installs/eabi/QtOpenVGu.def b/src/s60installs/eabi/QtOpenVGu.def
new file mode 100644
index 0000000..b8bd214
--- /dev/null
+++ b/src/s60installs/eabi/QtOpenVGu.def
@@ -0,0 +1,232 @@
+EXPORTS
+ _Z16qPixmapToVGImageRK7QPixmap @ 1 NONAME
+ _Z20qt_vg_create_contextP12QPaintDevice @ 2 NONAME
+ _Z20qt_vg_shared_surfacev @ 3 NONAME
+ _Z21qt_vg_destroy_contextP11QEglContext @ 4 NONAME
+ _Z24qt_vg_image_to_vg_formatN6QImage6FormatE @ 5 NONAME
+ _Z25qt_vg_config_to_vg_formatP11QEglContext @ 6 NONAME
+ _Z25qt_vg_create_paint_enginev @ 7 NONAME
+ _Z26qt_vg_destroy_paint_engineP14QVGPaintEngine @ 8 NONAME
+ _Z28qt_vg_config_to_image_formatP11QEglContext @ 9 NONAME
+ _ZN13QVGPixmapData12forceToImageEv @ 10 NONAME
+ _ZN13QVGPixmapData12toNativeTypeEN11QPixmapData10NativeTypeE @ 11 NONAME
+ _ZN13QVGPixmapData14fromNativeTypeEPvN11QPixmapData10NativeTypeE @ 12 NONAME
+ _ZN13QVGPixmapData15setAlphaChannelERK7QPixmap @ 13 NONAME
+ _ZN13QVGPixmapData4fillERK6QColor @ 14 NONAME
+ _ZN13QVGPixmapData6bufferEv @ 15 NONAME
+ _ZN13QVGPixmapData6resizeEii @ 16 NONAME
+ _ZN13QVGPixmapData7cleanupEv @ 17 NONAME
+ _ZN13QVGPixmapData9fromImageERK6QImage6QFlagsIN2Qt19ImageConversionFlagEE @ 18 NONAME
+ _ZN13QVGPixmapData9toVGImageEf @ 19 NONAME
+ _ZN13QVGPixmapData9toVGImageEv @ 20 NONAME
+ _ZN13QVGPixmapDataC1EN11QPixmapData9PixelTypeE @ 21 NONAME
+ _ZN13QVGPixmapDataC2EN11QPixmapData9PixelTypeE @ 22 NONAME
+ _ZN13QVGPixmapDataD0Ev @ 23 NONAME
+ _ZN13QVGPixmapDataD1Ev @ 24 NONAME
+ _ZN13QVGPixmapDataD2Ev @ 25 NONAME
+ _ZN14QVGPaintEngine10drawPixmapERK6QRectFRK7QPixmapS2_ @ 26 NONAME
+ _ZN14QVGPaintEngine10drawPixmapERK7QPointFRK7QPixmap @ 27 NONAME
+ _ZN14QVGPaintEngine10drawPointsEPK6QPointi @ 28 NONAME
+ _ZN14QVGPaintEngine10drawPointsEPK7QPointFi @ 29 NONAME
+ _ZN14QVGPaintEngine10penChangedEv @ 30 NONAME
+ _ZN14QVGPaintEngine11drawEllipseERK5QRect @ 31 NONAME
+ _ZN14QVGPaintEngine11drawEllipseERK6QRectF @ 32 NONAME
+ _ZN14QVGPaintEngine11drawPixmapsEPKN12QDrawPixmaps4DataEiRK7QPixmap6QFlagsINS0_11DrawingHintEE @ 33 NONAME
+ _ZN14QVGPaintEngine11drawPolygonEPK6QPointiN12QPaintEngine15PolygonDrawModeE @ 34 NONAME
+ _ZN14QVGPaintEngine11drawPolygonEPK7QPointFiN12QPaintEngine15PolygonDrawModeE @ 35 NONAME
+ _ZN14QVGPaintEngine12brushChangedEv @ 36 NONAME
+ _ZN14QVGPaintEngine12drawTextItemERK7QPointFRK9QTextItem @ 37 NONAME
+ _ZN14QVGPaintEngine12pixmapFilterEiPK13QPixmapFilter @ 38 NONAME
+ _ZN14QVGPaintEngine12restoreStateE6QFlagsIN12QPaintEngine9DirtyFlagEE @ 39 NONAME
+ _ZN14QVGPaintEngine13updateScissorEv @ 40 NONAME
+ _ZN14QVGPaintEngine14opacityChangedEv @ 41 NONAME
+ _ZN14QVGPaintEngine15drawRoundedRectERK6QRectFffN2Qt8SizeModeE @ 42 NONAME
+ _ZN14QVGPaintEngine15drawTiledPixmapERK6QRectFRK7QPixmapRK7QPointF @ 43 NONAME
+ _ZN14QVGPaintEngine16transformChangedEv @ 44 NONAME
+ _ZN14QVGPaintEngine17defaultClipRegionEv @ 45 NONAME
+ _ZN14QVGPaintEngine17endNativePaintingEv @ 46 NONAME
+ _ZN14QVGPaintEngine17isDefaultClipRectERK5QRect @ 47 NONAME
+ _ZN14QVGPaintEngine18brushOriginChangedEv @ 48 NONAME
+ _ZN14QVGPaintEngine18clipEnabledChangedEv @ 49 NONAME
+ _ZN14QVGPaintEngine18renderHintsChangedEv @ 50 NONAME
+ _ZN14QVGPaintEngine19beginNativePaintingEv @ 51 NONAME
+ _ZN14QVGPaintEngine19isDefaultClipRegionERK7QRegion @ 52 NONAME
+ _ZN14QVGPaintEngine22compositionModeChangedEv @ 53 NONAME
+ _ZN14QVGPaintEngine3endEv @ 54 NONAME
+ _ZN14QVGPaintEngine4clipERK11QVectorPathN2Qt13ClipOperationE @ 55 NONAME
+ _ZN14QVGPaintEngine4clipERK12QPainterPathN2Qt13ClipOperationE @ 56 NONAME
+ _ZN14QVGPaintEngine4clipERK5QRectN2Qt13ClipOperationE @ 57 NONAME
+ _ZN14QVGPaintEngine4clipERK7QRegionN2Qt13ClipOperationE @ 58 NONAME
+ _ZN14QVGPaintEngine4drawERK11QVectorPath @ 59 NONAME
+ _ZN14QVGPaintEngine4fillERK11QVectorPathRK6QBrush @ 60 NONAME
+ _ZN14QVGPaintEngine5beginEP12QPaintDevice @ 61 NONAME
+ _ZN14QVGPaintEngine6strokeERK11QVectorPathRK4QPen @ 62 NONAME
+ _ZN14QVGPaintEngine8drawPathERK12QPainterPath @ 63 NONAME
+ _ZN14QVGPaintEngine8fillRectERK6QRectFRK6QBrush @ 64 NONAME
+ _ZN14QVGPaintEngine8fillRectERK6QRectFRK6QColor @ 65 NONAME
+ _ZN14QVGPaintEngine8setStateEP13QPainterState @ 66 NONAME
+ _ZN14QVGPaintEngine9clearRectERK6QRectFRK6QColor @ 67 NONAME
+ _ZN14QVGPaintEngine9drawImageERK6QRectFRK6QImageS2_6QFlagsIN2Qt19ImageConversionFlagEE @ 68 NONAME
+ _ZN14QVGPaintEngine9drawImageERK7QPointFRK6QImage @ 69 NONAME
+ _ZN14QVGPaintEngine9drawLinesEPK5QLinei @ 70 NONAME
+ _ZN14QVGPaintEngine9drawLinesEPK6QLineFi @ 71 NONAME
+ _ZN14QVGPaintEngine9drawRectsEPK5QRecti @ 72 NONAME
+ _ZN14QVGPaintEngine9drawRectsEPK6QRectFi @ 73 NONAME
+ _ZN14QVGPaintEngineC1ER21QVGPaintEnginePrivate @ 74 NONAME
+ _ZN14QVGPaintEngineC1Ev @ 75 NONAME
+ _ZN14QVGPaintEngineC2ER21QVGPaintEnginePrivate @ 76 NONAME
+ _ZN14QVGPaintEngineC2Ev @ 77 NONAME
+ _ZN14QVGPaintEngineD0Ev @ 78 NONAME
+ _ZN14QVGPaintEngineD1Ev @ 79 NONAME
+ _ZN14QVGPaintEngineD2Ev @ 80 NONAME
+ _ZN15QVGPainterStateC1ERS_ @ 81 NONAME
+ _ZN15QVGPainterStateC1Ev @ 82 NONAME
+ _ZN15QVGPainterStateC2ERS_ @ 83 NONAME
+ _ZN15QVGPainterStateC2Ev @ 84 NONAME
+ _ZN15QVGPainterStateD0Ev @ 85 NONAME
+ _ZN15QVGPainterStateD1Ev @ 86 NONAME
+ _ZN15QVGPainterStateD2Ev @ 87 NONAME
+ _ZN16QVGWindowSurface10beginPaintERK7QRegion @ 88 NONAME
+ _ZN16QVGWindowSurface11paintDeviceEv @ 89 NONAME
+ _ZN16QVGWindowSurface11setGeometryERK5QRect @ 90 NONAME
+ _ZN16QVGWindowSurface5flushEP7QWidgetRK7QRegionRK6QPoint @ 91 NONAME
+ _ZN16QVGWindowSurface6scrollERK7QRegionii @ 92 NONAME
+ _ZN16QVGWindowSurface8endPaintERK7QRegion @ 93 NONAME
+ _ZN16QVGWindowSurfaceC1EP7QWidget @ 94 NONAME
+ _ZN16QVGWindowSurfaceC1EP7QWidgetP26QVGEGLWindowSurfacePrivate @ 95 NONAME
+ _ZN16QVGWindowSurfaceC2EP7QWidget @ 96 NONAME
+ _ZN16QVGWindowSurfaceC2EP7QWidgetP26QVGEGLWindowSurfacePrivate @ 97 NONAME
+ _ZN16QVGWindowSurfaceD0Ev @ 98 NONAME
+ _ZN16QVGWindowSurfaceD1Ev @ 99 NONAME
+ _ZN16QVGWindowSurfaceD2Ev @ 100 NONAME
+ _ZN19QVGPixmapBlurFilter11qt_metacallEN11QMetaObject4CallEiPPv @ 101 NONAME
+ _ZN19QVGPixmapBlurFilter11qt_metacastEPKc @ 102 NONAME
+ _ZN19QVGPixmapBlurFilter16staticMetaObjectE @ 103 NONAME DATA 16
+ _ZN19QVGPixmapBlurFilter19getStaticMetaObjectEv @ 104 NONAME
+ _ZN19QVGPixmapBlurFilterC1EP7QObject @ 105 NONAME
+ _ZN19QVGPixmapBlurFilterC2EP7QObject @ 106 NONAME
+ _ZN19QVGPixmapBlurFilterD0Ev @ 107 NONAME
+ _ZN19QVGPixmapBlurFilterD1Ev @ 108 NONAME
+ _ZN19QVGPixmapBlurFilterD2Ev @ 109 NONAME
+ _ZN20QVGCompositionHelper10blitWindowEP26QVGEGLWindowSurfacePrivateRK5QRectRK6QPointi @ 110 NONAME
+ _ZN20QVGCompositionHelper10setScissorERK7QRegion @ 111 NONAME
+ _ZN20QVGCompositionHelper12clearScissorEv @ 112 NONAME
+ _ZN20QVGCompositionHelper14endCompositingEv @ 113 NONAME
+ _ZN20QVGCompositionHelper14fillBackgroundERK7QRegionRK6QBrush @ 114 NONAME
+ _ZN20QVGCompositionHelper15drawCursorImageERK6QImageRK6QPoint @ 115 NONAME
+ _ZN20QVGCompositionHelper16drawCursorPixmapERK7QPixmapRK6QPoint @ 116 NONAME
+ _ZN20QVGCompositionHelper16startCompositingERK5QSize @ 117 NONAME
+ _ZN20QVGCompositionHelperC1Ev @ 118 NONAME
+ _ZN20QVGCompositionHelperC2Ev @ 119 NONAME
+ _ZN20QVGCompositionHelperD0Ev @ 120 NONAME
+ _ZN20QVGCompositionHelperD1Ev @ 121 NONAME
+ _ZN20QVGCompositionHelperD2Ev @ 122 NONAME
+ _ZN23QVGPixmapColorizeFilter11qt_metacallEN11QMetaObject4CallEiPPv @ 123 NONAME
+ _ZN23QVGPixmapColorizeFilter11qt_metacastEPKc @ 124 NONAME
+ _ZN23QVGPixmapColorizeFilter16staticMetaObjectE @ 125 NONAME DATA 16
+ _ZN23QVGPixmapColorizeFilter19getStaticMetaObjectEv @ 126 NONAME
+ _ZN23QVGPixmapColorizeFilterC1Ev @ 127 NONAME
+ _ZN23QVGPixmapColorizeFilterC2Ev @ 128 NONAME
+ _ZN23QVGPixmapColorizeFilterD0Ev @ 129 NONAME
+ _ZN23QVGPixmapColorizeFilterD1Ev @ 130 NONAME
+ _ZN23QVGPixmapColorizeFilterD2Ev @ 131 NONAME
+ _ZN25QVGEGLWindowSurfaceDirect10beginPaintEP7QWidget @ 132 NONAME
+ _ZN25QVGEGLWindowSurfaceDirect13ensureContextEP7QWidget @ 133 NONAME
+ _ZN25QVGEGLWindowSurfaceDirect8endPaintEP7QWidgetRK7QRegionP6QImage @ 134 NONAME
+ _ZN25QVGEGLWindowSurfaceDirectC1EP14QWindowSurface @ 135 NONAME
+ _ZN25QVGEGLWindowSurfaceDirectC2EP14QWindowSurface @ 136 NONAME
+ _ZN25QVGEGLWindowSurfaceDirectD0Ev @ 137 NONAME
+ _ZN25QVGEGLWindowSurfaceDirectD1Ev @ 138 NONAME
+ _ZN25QVGEGLWindowSurfaceDirectD2Ev @ 139 NONAME
+ _ZN25QVGEGLWindowSurfaceQImage8endPaintEP7QWidgetRK7QRegionP6QImage @ 140 NONAME
+ _ZN25QVGEGLWindowSurfaceQImageC1EP14QWindowSurface @ 141 NONAME
+ _ZN25QVGEGLWindowSurfaceQImageC2EP14QWindowSurface @ 142 NONAME
+ _ZN25QVGEGLWindowSurfaceQImageD0Ev @ 143 NONAME
+ _ZN25QVGEGLWindowSurfaceQImageD1Ev @ 144 NONAME
+ _ZN25QVGEGLWindowSurfaceQImageD2Ev @ 145 NONAME
+ _ZN25QVGPixmapDropShadowFilter11qt_metacallEN11QMetaObject4CallEiPPv @ 146 NONAME
+ _ZN25QVGPixmapDropShadowFilter11qt_metacastEPKc @ 147 NONAME
+ _ZN25QVGPixmapDropShadowFilter16staticMetaObjectE @ 148 NONAME DATA 16
+ _ZN25QVGPixmapDropShadowFilter19getStaticMetaObjectEv @ 149 NONAME
+ _ZN25QVGPixmapDropShadowFilterC1Ev @ 150 NONAME
+ _ZN25QVGPixmapDropShadowFilterC2Ev @ 151 NONAME
+ _ZN25QVGPixmapDropShadowFilterD0Ev @ 152 NONAME
+ _ZN25QVGPixmapDropShadowFilterD1Ev @ 153 NONAME
+ _ZN25QVGPixmapDropShadowFilterD2Ev @ 154 NONAME
+ _ZN26QVGEGLWindowSurfacePrivate11paintEngineEv @ 155 NONAME
+ _ZN26QVGEGLWindowSurfacePrivate18destroyPaintEngineEv @ 156 NONAME
+ _ZN26QVGEGLWindowSurfacePrivate6createENS_11SurfaceTypeEP14QWindowSurface @ 157 NONAME
+ _ZN26QVGEGLWindowSurfacePrivateC2EP14QWindowSurface @ 158 NONAME
+ _ZN26QVGEGLWindowSurfacePrivateD0Ev @ 159 NONAME
+ _ZN26QVGEGLWindowSurfacePrivateD1Ev @ 160 NONAME
+ _ZN26QVGEGLWindowSurfacePrivateD2Ev @ 161 NONAME
+ _ZN26QVGEGLWindowSurfaceVGImage10beginPaintEP7QWidget @ 162 NONAME
+ _ZN26QVGEGLWindowSurfaceVGImage13ensureContextEP7QWidget @ 163 NONAME
+ _ZN26QVGEGLWindowSurfaceVGImage8endPaintEP7QWidgetRK7QRegionP6QImage @ 164 NONAME
+ _ZN26QVGEGLWindowSurfaceVGImageC1EP14QWindowSurface @ 165 NONAME
+ _ZN26QVGEGLWindowSurfaceVGImageC2EP14QWindowSurface @ 166 NONAME
+ _ZN26QVGEGLWindowSurfaceVGImageD0Ev @ 167 NONAME
+ _ZN26QVGEGLWindowSurfaceVGImageD1Ev @ 168 NONAME
+ _ZN26QVGEGLWindowSurfaceVGImageD2Ev @ 169 NONAME
+ _ZN26QVGPixmapConvolutionFilter11qt_metacallEN11QMetaObject4CallEiPPv @ 170 NONAME
+ _ZN26QVGPixmapConvolutionFilter11qt_metacastEPKc @ 171 NONAME
+ _ZN26QVGPixmapConvolutionFilter16staticMetaObjectE @ 172 NONAME DATA 16
+ _ZN26QVGPixmapConvolutionFilter19getStaticMetaObjectEv @ 173 NONAME
+ _ZN26QVGPixmapConvolutionFilterC1Ev @ 174 NONAME
+ _ZN26QVGPixmapConvolutionFilterC2Ev @ 175 NONAME
+ _ZN26QVGPixmapConvolutionFilterD0Ev @ 176 NONAME
+ _ZN26QVGPixmapConvolutionFilterD1Ev @ 177 NONAME
+ _ZN26QVGPixmapConvolutionFilterD2Ev @ 178 NONAME
+ _ZNK13QVGPixmapData11paintEngineEv @ 179 NONAME
+ _ZNK13QVGPixmapData12sourceFormatEv @ 180 NONAME
+ _ZNK13QVGPixmapData15hasAlphaChannelEv @ 181 NONAME
+ _ZNK13QVGPixmapData26createCompatiblePixmapDataEv @ 182 NONAME
+ _ZNK13QVGPixmapData6metricEN12QPaintDevice17PaintDeviceMetricE @ 183 NONAME
+ _ZNK13QVGPixmapData7isValidEv @ 184 NONAME
+ _ZNK13QVGPixmapData7toImageEv @ 185 NONAME
+ _ZNK14QVGPaintEngine11createStateEP13QPainterState @ 186 NONAME
+ _ZNK16QVGWindowSurface11paintEngineEv @ 187 NONAME
+ _ZNK16QVGWindowSurface6metricEN12QPaintDevice17PaintDeviceMetricE @ 188 NONAME
+ _ZNK19QVGPixmapBlurFilter10metaObjectEv @ 189 NONAME
+ _ZNK19QVGPixmapBlurFilter4drawEP8QPainterRK7QPointFRK7QPixmapRK6QRectF @ 190 NONAME
+ _ZNK23QVGPixmapColorizeFilter10metaObjectEv @ 191 NONAME
+ _ZNK23QVGPixmapColorizeFilter4drawEP8QPainterRK7QPointFRK7QPixmapRK6QRectF @ 192 NONAME
+ _ZNK25QVGPixmapDropShadowFilter10metaObjectEv @ 193 NONAME
+ _ZNK25QVGPixmapDropShadowFilter4drawEP8QPainterRK7QPointFRK7QPixmapRK6QRectF @ 194 NONAME
+ _ZNK26QVGEGLWindowSurfacePrivate12surfaceImageEv @ 195 NONAME
+ _ZNK26QVGEGLWindowSurfacePrivate17windowSurfaceSizeEP7QWidget @ 196 NONAME
+ _ZNK26QVGEGLWindowSurfaceVGImage11mainSurfaceEv @ 197 NONAME
+ _ZNK26QVGEGLWindowSurfaceVGImage12surfaceImageEv @ 198 NONAME
+ _ZNK26QVGPixmapConvolutionFilter10metaObjectEv @ 199 NONAME
+ _ZNK26QVGPixmapConvolutionFilter4drawEP8QPainterRK7QPointFRK7QPixmapRK6QRectF @ 200 NONAME
+ _ZTI13QVGPixmapData @ 201 NONAME
+ _ZTI14QVGPaintEngine @ 202 NONAME
+ _ZTI15QVGPainterState @ 203 NONAME
+ _ZTI16QVGWindowSurface @ 204 NONAME
+ _ZTI19QVGPixmapBlurFilter @ 205 NONAME
+ _ZTI20QVGCompositionHelper @ 206 NONAME
+ _ZTI23QVGPixmapColorizeFilter @ 207 NONAME
+ _ZTI25QVGEGLWindowSurfaceDirect @ 208 NONAME
+ _ZTI25QVGEGLWindowSurfaceQImage @ 209 NONAME
+ _ZTI25QVGPixmapDropShadowFilter @ 210 NONAME
+ _ZTI26QVGEGLWindowSurfacePrivate @ 211 NONAME
+ _ZTI26QVGEGLWindowSurfaceVGImage @ 212 NONAME
+ _ZTI26QVGPixmapConvolutionFilter @ 213 NONAME
+ _ZTV13QVGPixmapData @ 214 NONAME
+ _ZTV14QVGPaintEngine @ 215 NONAME
+ _ZTV15QVGPainterState @ 216 NONAME
+ _ZTV16QVGWindowSurface @ 217 NONAME
+ _ZTV19QVGPixmapBlurFilter @ 218 NONAME
+ _ZTV20QVGCompositionHelper @ 219 NONAME
+ _ZTV23QVGPixmapColorizeFilter @ 220 NONAME
+ _ZTV25QVGEGLWindowSurfaceDirect @ 221 NONAME
+ _ZTV25QVGEGLWindowSurfaceQImage @ 222 NONAME
+ _ZTV25QVGPixmapDropShadowFilter @ 223 NONAME
+ _ZTV26QVGEGLWindowSurfacePrivate @ 224 NONAME
+ _ZTV26QVGEGLWindowSurfaceVGImage @ 225 NONAME
+ _ZTV26QVGPixmapConvolutionFilter @ 226 NONAME
+ _ZThn8_N16QVGWindowSurfaceD0Ev @ 227 NONAME
+ _ZThn8_N16QVGWindowSurfaceD1Ev @ 228 NONAME
+ _ZThn8_NK16QVGWindowSurface11paintEngineEv @ 229 NONAME
+ _ZThn8_NK16QVGWindowSurface6metricEN12QPaintDevice17PaintDeviceMetricE @ 230 NONAME
+
diff --git a/src/s60installs/eabi/QtScriptu.def b/src/s60installs/eabi/QtScriptu.def
index 1592664..1e81977 100644
--- a/src/s60installs/eabi/QtScriptu.def
+++ b/src/s60installs/eabi/QtScriptu.def
@@ -342,4 +342,21 @@ EXPORTS
_ZlsR11QDataStreamRK18QScriptContextInfo @ 341 NONAME
_ZrsR11QDataStreamR18QScriptContextInfo @ 342 NONAME
_Z5qHashRK13QScriptString @ 343 NONAME
+ _ZN13QScriptEngine8evaluateERK14QScriptProgram @ 344 NONAME
+ _ZN14QScriptProgramC1ERK7QStringS0_i @ 345 NONAME
+ _ZN14QScriptProgramC1ERKS_ @ 346 NONAME
+ _ZN14QScriptProgramC1Ev @ 347 NONAME
+ _ZN14QScriptProgramC2ERK7QStringS0_i @ 348 NONAME
+ _ZN14QScriptProgramC2ERKS_ @ 349 NONAME
+ _ZN14QScriptProgramC2Ev @ 350 NONAME
+ _ZN14QScriptProgramD1Ev @ 351 NONAME
+ _ZN14QScriptProgramD2Ev @ 352 NONAME
+ _ZN14QScriptProgramaSERKS_ @ 353 NONAME
+ _ZNK13QScriptString12toArrayIndexEPb @ 354 NONAME
+ _ZNK14QScriptProgram10sourceCodeEv @ 355 NONAME
+ _ZNK14QScriptProgram15firstLineNumberEv @ 356 NONAME
+ _ZNK14QScriptProgram6isNullEv @ 357 NONAME
+ _ZNK14QScriptProgram8fileNameEv @ 358 NONAME
+ _ZNK14QScriptProgrameqERKS_ @ 359 NONAME
+ _ZNK14QScriptProgramneERKS_ @ 360 NONAME
diff --git a/src/s60installs/eabi/QtXmlPatternsu.def b/src/s60installs/eabi/QtXmlPatternsu.def
new file mode 100644
index 0000000..5168c39
--- /dev/null
+++ b/src/s60installs/eabi/QtXmlPatternsu.def
@@ -0,0 +1,253 @@
+EXPORTS
+ _Z5qHashRK15QSourceLocation @ 1 NONAME
+ _Z5qHashRK18QXmlNodeModelIndex @ 2 NONAME
+ _Z5qHashRK8QXmlName @ 3 NONAME
+ _ZN10QXmlSchema14setUriResolverEPK20QAbstractUriResolver @ 4 NONAME
+ _ZN10QXmlSchema17setMessageHandlerEP23QAbstractMessageHandler @ 5 NONAME
+ _ZN10QXmlSchema23setNetworkAccessManagerEP21QNetworkAccessManager @ 6 NONAME
+ _ZN10QXmlSchema4loadEP9QIODeviceRK4QUrl @ 7 NONAME
+ _ZN10QXmlSchema4loadERK10QByteArrayRK4QUrl @ 8 NONAME
+ _ZN10QXmlSchema4loadERK4QUrl @ 9 NONAME
+ _ZN10QXmlSchemaC1ERKS_ @ 10 NONAME
+ _ZN10QXmlSchemaC1Ev @ 11 NONAME
+ _ZN10QXmlSchemaC2ERKS_ @ 12 NONAME
+ _ZN10QXmlSchemaC2Ev @ 13 NONAME
+ _ZN10QXmlSchemaD1Ev @ 14 NONAME
+ _ZN10QXmlSchemaD2Ev @ 15 NONAME
+ _ZN12QXmlNamePoolC1EPN11QPatternist8NamePoolE @ 16 NONAME
+ _ZN12QXmlNamePoolC1ERKS_ @ 17 NONAME
+ _ZN12QXmlNamePoolC1Ev @ 18 NONAME
+ _ZN12QXmlNamePoolC2EPN11QPatternist8NamePoolE @ 19 NONAME
+ _ZN12QXmlNamePoolC2ERKS_ @ 20 NONAME
+ _ZN12QXmlNamePoolC2Ev @ 21 NONAME
+ _ZN12QXmlNamePoolD1Ev @ 22 NONAME
+ _ZN12QXmlNamePoolD2Ev @ 23 NONAME
+ _ZN12QXmlNamePoolaSERKS_ @ 24 NONAME
+ _ZN13QXmlFormatter10charactersERK10QStringRef @ 25 NONAME
+ _ZN13QXmlFormatter10endElementEv @ 26 NONAME
+ _ZN13QXmlFormatter11atomicValueERK8QVariant @ 27 NONAME
+ _ZN13QXmlFormatter11endDocumentEv @ 28 NONAME
+ _ZN13QXmlFormatter12startElementERK8QXmlName @ 29 NONAME
+ _ZN13QXmlFormatter13endOfSequenceEv @ 30 NONAME
+ _ZN13QXmlFormatter13startDocumentEv @ 31 NONAME
+ _ZN13QXmlFormatter15startOfSequenceEv @ 32 NONAME
+ _ZN13QXmlFormatter19setIndentationDepthEi @ 33 NONAME
+ _ZN13QXmlFormatter21processingInstructionERK8QXmlNameRK7QString @ 34 NONAME
+ _ZN13QXmlFormatter4itemERKN11QPatternist4ItemE @ 35 NONAME
+ _ZN13QXmlFormatter7commentERK7QString @ 36 NONAME
+ _ZN13QXmlFormatter9attributeERK8QXmlNameRK10QStringRef @ 37 NONAME
+ _ZN13QXmlFormatterC1ERK9QXmlQueryP9QIODevice @ 38 NONAME
+ _ZN13QXmlFormatterC2ERK9QXmlQueryP9QIODevice @ 39 NONAME
+ _ZN14QXmlSerializer10charactersERK10QStringRef @ 40 NONAME
+ _ZN14QXmlSerializer10endElementEv @ 41 NONAME
+ _ZN14QXmlSerializer11atomicValueERK8QVariant @ 42 NONAME
+ _ZN14QXmlSerializer11endDocumentEv @ 43 NONAME
+ _ZN14QXmlSerializer12startElementERK8QXmlName @ 44 NONAME
+ _ZN14QXmlSerializer12writeEscapedERK7QString @ 45 NONAME
+ _ZN14QXmlSerializer13endOfSequenceEv @ 46 NONAME
+ _ZN14QXmlSerializer13startDocumentEv @ 47 NONAME
+ _ZN14QXmlSerializer15startOfSequenceEv @ 48 NONAME
+ _ZN14QXmlSerializer16namespaceBindingERK8QXmlName @ 49 NONAME
+ _ZN14QXmlSerializer21processingInstructionERK8QXmlNameRK7QString @ 50 NONAME
+ _ZN14QXmlSerializer4itemERKN11QPatternist4ItemE @ 51 NONAME
+ _ZN14QXmlSerializer7commentERK7QString @ 52 NONAME
+ _ZN14QXmlSerializer8setCodecEPK10QTextCodec @ 53 NONAME
+ _ZN14QXmlSerializer9attributeERK8QXmlNameRK10QStringRef @ 54 NONAME
+ _ZN14QXmlSerializerC1EP27QAbstractXmlReceiverPrivate @ 55 NONAME
+ _ZN14QXmlSerializerC1ERK9QXmlQueryP9QIODevice @ 56 NONAME
+ _ZN14QXmlSerializerC2EP27QAbstractXmlReceiverPrivate @ 57 NONAME
+ _ZN14QXmlSerializerC2ERK9QXmlQueryP9QIODevice @ 58 NONAME
+ _ZN15QSourceLocation6setUriERK4QUrl @ 59 NONAME
+ _ZN15QSourceLocation7setLineEx @ 60 NONAME
+ _ZN15QSourceLocation9setColumnEx @ 61 NONAME
+ _ZN15QSourceLocationC1ERK4QUrlii @ 62 NONAME
+ _ZN15QSourceLocationC1ERKS_ @ 63 NONAME
+ _ZN15QSourceLocationC1Ev @ 64 NONAME
+ _ZN15QSourceLocationC2ERK4QUrlii @ 65 NONAME
+ _ZN15QSourceLocationC2ERKS_ @ 66 NONAME
+ _ZN15QSourceLocationC2Ev @ 67 NONAME
+ _ZN15QSourceLocationD1Ev @ 68 NONAME
+ _ZN15QSourceLocationD2Ev @ 69 NONAME
+ _ZN15QSourceLocationaSERKS_ @ 70 NONAME
+ _ZN15QXmlResultItems4nextEv @ 71 NONAME
+ _ZN15QXmlResultItemsC1Ev @ 72 NONAME
+ _ZN15QXmlResultItemsC2Ev @ 73 NONAME
+ _ZN15QXmlResultItemsD0Ev @ 74 NONAME
+ _ZN15QXmlResultItemsD1Ev @ 75 NONAME
+ _ZN15QXmlResultItemsD2Ev @ 76 NONAME
+ _ZN19QSimpleXmlNodeModelC2ERK12QXmlNamePool @ 77 NONAME
+ _ZN19QSimpleXmlNodeModelD0Ev @ 78 NONAME
+ _ZN19QSimpleXmlNodeModelD1Ev @ 79 NONAME
+ _ZN19QSimpleXmlNodeModelD2Ev @ 80 NONAME
+ _ZN19QXmlSchemaValidator14setUriResolverEPK20QAbstractUriResolver @ 81 NONAME
+ _ZN19QXmlSchemaValidator17setMessageHandlerEP23QAbstractMessageHandler @ 82 NONAME
+ _ZN19QXmlSchemaValidator23setNetworkAccessManagerEP21QNetworkAccessManager @ 83 NONAME
+ _ZN19QXmlSchemaValidator9setSchemaERK10QXmlSchema @ 84 NONAME
+ _ZN19QXmlSchemaValidatorC1ERK10QXmlSchema @ 85 NONAME
+ _ZN19QXmlSchemaValidatorC1Ev @ 86 NONAME
+ _ZN19QXmlSchemaValidatorC2ERK10QXmlSchema @ 87 NONAME
+ _ZN19QXmlSchemaValidatorC2Ev @ 88 NONAME
+ _ZN19QXmlSchemaValidatorD1Ev @ 89 NONAME
+ _ZN19QXmlSchemaValidatorD2Ev @ 90 NONAME
+ _ZN20QAbstractUriResolver11qt_metacallEN11QMetaObject4CallEiPPv @ 91 NONAME
+ _ZN20QAbstractUriResolver11qt_metacastEPKc @ 92 NONAME
+ _ZN20QAbstractUriResolver16staticMetaObjectE @ 93 NONAME DATA 16
+ _ZN20QAbstractUriResolver19getStaticMetaObjectEv @ 94 NONAME
+ _ZN20QAbstractUriResolverC2EP7QObject @ 95 NONAME
+ _ZN20QAbstractUriResolverD0Ev @ 96 NONAME
+ _ZN20QAbstractUriResolverD1Ev @ 97 NONAME
+ _ZN20QAbstractUriResolverD2Ev @ 98 NONAME
+ _ZN20QAbstractXmlReceiver10sendAsNodeERKN11QPatternist4ItemE @ 99 NONAME
+ _ZN20QAbstractXmlReceiver14whitespaceOnlyERK10QStringRef @ 100 NONAME
+ _ZN20QAbstractXmlReceiver4itemERKN11QPatternist4ItemE @ 101 NONAME
+ _ZN20QAbstractXmlReceiverC2EP27QAbstractXmlReceiverPrivate @ 102 NONAME
+ _ZN20QAbstractXmlReceiverC2Ev @ 103 NONAME
+ _ZN20QAbstractXmlReceiverD0Ev @ 104 NONAME
+ _ZN20QAbstractXmlReceiverD1Ev @ 105 NONAME
+ _ZN20QAbstractXmlReceiverD2Ev @ 106 NONAME
+ _ZN21QAbstractXmlNodeModelC2EP28QAbstractXmlNodeModelPrivate @ 107 NONAME
+ _ZN21QAbstractXmlNodeModelC2Ev @ 108 NONAME
+ _ZN21QAbstractXmlNodeModelD0Ev @ 109 NONAME
+ _ZN21QAbstractXmlNodeModelD1Ev @ 110 NONAME
+ _ZN21QAbstractXmlNodeModelD2Ev @ 111 NONAME
+ _ZN23QAbstractMessageHandler11qt_metacallEN11QMetaObject4CallEiPPv @ 112 NONAME
+ _ZN23QAbstractMessageHandler11qt_metacastEPKc @ 113 NONAME
+ _ZN23QAbstractMessageHandler16staticMetaObjectE @ 114 NONAME DATA 16
+ _ZN23QAbstractMessageHandler19getStaticMetaObjectEv @ 115 NONAME
+ _ZN23QAbstractMessageHandler7messageE9QtMsgTypeRK7QStringRK4QUrlRK15QSourceLocation @ 116 NONAME
+ _ZN23QAbstractMessageHandlerC2EP7QObject @ 117 NONAME
+ _ZN23QAbstractMessageHandlerD0Ev @ 118 NONAME
+ _ZN23QAbstractMessageHandlerD1Ev @ 119 NONAME
+ _ZN23QAbstractMessageHandlerD2Ev @ 120 NONAME
+ _ZN8QXmlItemC1ERK18QXmlNodeModelIndex @ 121 NONAME
+ _ZN8QXmlItemC1ERK8QVariant @ 122 NONAME
+ _ZN8QXmlItemC1ERKS_ @ 123 NONAME
+ _ZN8QXmlItemC1Ev @ 124 NONAME
+ _ZN8QXmlItemC2ERK18QXmlNodeModelIndex @ 125 NONAME
+ _ZN8QXmlItemC2ERK8QVariant @ 126 NONAME
+ _ZN8QXmlItemC2ERKS_ @ 127 NONAME
+ _ZN8QXmlItemC2Ev @ 128 NONAME
+ _ZN8QXmlItemD1Ev @ 129 NONAME
+ _ZN8QXmlItemD2Ev @ 130 NONAME
+ _ZN8QXmlItemaSERKS_ @ 131 NONAME
+ _ZN8QXmlName13fromClarkNameERK7QStringRK12QXmlNamePool @ 132 NONAME
+ _ZN8QXmlName8isNCNameERK7QString @ 133 NONAME
+ _ZN8QXmlNameC1ER12QXmlNamePoolRK7QStringS4_S4_ @ 134 NONAME
+ _ZN8QXmlNameC1Ev @ 135 NONAME
+ _ZN8QXmlNameC2ER12QXmlNamePoolRK7QStringS4_S4_ @ 136 NONAME
+ _ZN8QXmlNameC2Ev @ 137 NONAME
+ _ZN8QXmlNameaSERKS_ @ 138 NONAME
+ _ZN9QXmlQuery12bindVariableERK7QStringP9QIODevice @ 139 NONAME
+ _ZN9QXmlQuery12bindVariableERK7QStringRK8QXmlItem @ 140 NONAME
+ _ZN9QXmlQuery12bindVariableERK7QStringRKS_ @ 141 NONAME
+ _ZN9QXmlQuery12bindVariableERK8QXmlNameP9QIODevice @ 142 NONAME
+ _ZN9QXmlQuery12bindVariableERK8QXmlNameRK8QXmlItem @ 143 NONAME
+ _ZN9QXmlQuery12bindVariableERK8QXmlNameRKS_ @ 144 NONAME
+ _ZN9QXmlQuery14setUriResolverEPK20QAbstractUriResolver @ 145 NONAME
+ _ZN9QXmlQuery17setMessageHandlerEP23QAbstractMessageHandler @ 146 NONAME
+ _ZN9QXmlQuery22setInitialTemplateNameERK7QString @ 147 NONAME
+ _ZN9QXmlQuery22setInitialTemplateNameERK8QXmlName @ 148 NONAME
+ _ZN9QXmlQuery23setNetworkAccessManagerEP21QNetworkAccessManager @ 149 NONAME
+ _ZN9QXmlQuery8setFocusEP9QIODevice @ 150 NONAME
+ _ZN9QXmlQuery8setFocusERK4QUrl @ 151 NONAME
+ _ZN9QXmlQuery8setFocusERK7QString @ 152 NONAME
+ _ZN9QXmlQuery8setFocusERK8QXmlItem @ 153 NONAME
+ _ZN9QXmlQuery8setQueryEP9QIODeviceRK4QUrl @ 154 NONAME
+ _ZN9QXmlQuery8setQueryERK4QUrlS2_ @ 155 NONAME
+ _ZN9QXmlQuery8setQueryERK7QStringRK4QUrl @ 156 NONAME
+ _ZN9QXmlQueryC1ENS_13QueryLanguageERK12QXmlNamePool @ 157 NONAME
+ _ZN9QXmlQueryC1ERK12QXmlNamePool @ 158 NONAME
+ _ZN9QXmlQueryC1ERKS_ @ 159 NONAME
+ _ZN9QXmlQueryC1Ev @ 160 NONAME
+ _ZN9QXmlQueryC2ENS_13QueryLanguageERK12QXmlNamePool @ 161 NONAME
+ _ZN9QXmlQueryC2ERK12QXmlNamePool @ 162 NONAME
+ _ZN9QXmlQueryC2ERKS_ @ 163 NONAME
+ _ZN9QXmlQueryC2Ev @ 164 NONAME
+ _ZN9QXmlQueryD1Ev @ 165 NONAME
+ _ZN9QXmlQueryD2Ev @ 166 NONAME
+ _ZN9QXmlQueryaSERKS_ @ 167 NONAME
+ _ZNK10QXmlSchema11documentUriEv @ 168 NONAME
+ _ZNK10QXmlSchema11uriResolverEv @ 169 NONAME
+ _ZNK10QXmlSchema14messageHandlerEv @ 170 NONAME
+ _ZNK10QXmlSchema20networkAccessManagerEv @ 171 NONAME
+ _ZNK10QXmlSchema7isValidEv @ 172 NONAME
+ _ZNK10QXmlSchema8namePoolEv @ 173 NONAME
+ _ZNK13QXmlFormatter16indentationDepthEv @ 174 NONAME
+ _ZNK14QXmlSerializer12outputDeviceEv @ 175 NONAME
+ _ZNK14QXmlSerializer5codecEv @ 176 NONAME
+ _ZNK15QSourceLocation3uriEv @ 177 NONAME
+ _ZNK15QSourceLocation4lineEv @ 178 NONAME
+ _ZNK15QSourceLocation6columnEv @ 179 NONAME
+ _ZNK15QSourceLocation6isNullEv @ 180 NONAME
+ _ZNK15QSourceLocationeqERKS_ @ 181 NONAME
+ _ZNK15QSourceLocationneERKS_ @ 182 NONAME
+ _ZNK15QXmlResultItems7currentEv @ 183 NONAME
+ _ZNK15QXmlResultItems8hasErrorEv @ 184 NONAME
+ _ZNK18QXmlNodeModelIndexeqERKS_ @ 185 NONAME
+ _ZNK18QXmlNodeModelIndexneERKS_ @ 186 NONAME
+ _ZNK19QSimpleXmlNodeModel11elementByIdERK8QXmlName @ 187 NONAME
+ _ZNK19QSimpleXmlNodeModel11stringValueERK18QXmlNodeModelIndex @ 188 NONAME
+ _ZNK19QSimpleXmlNodeModel12nodesByIdrefERK8QXmlName @ 189 NONAME
+ _ZNK19QSimpleXmlNodeModel17namespaceBindingsERK18QXmlNodeModelIndex @ 190 NONAME
+ _ZNK19QSimpleXmlNodeModel7baseUriERK18QXmlNodeModelIndex @ 191 NONAME
+ _ZNK19QSimpleXmlNodeModel8namePoolEv @ 192 NONAME
+ _ZNK19QXmlSchemaValidator11uriResolverEv @ 193 NONAME
+ _ZNK19QXmlSchemaValidator14messageHandlerEv @ 194 NONAME
+ _ZNK19QXmlSchemaValidator20networkAccessManagerEv @ 195 NONAME
+ _ZNK19QXmlSchemaValidator6schemaEv @ 196 NONAME
+ _ZNK19QXmlSchemaValidator8namePoolEv @ 197 NONAME
+ _ZNK19QXmlSchemaValidator8validateEP9QIODeviceRK4QUrl @ 198 NONAME
+ _ZNK19QXmlSchemaValidator8validateERK10QByteArrayRK4QUrl @ 199 NONAME
+ _ZNK19QXmlSchemaValidator8validateERK4QUrl @ 200 NONAME
+ _ZNK20QAbstractUriResolver10metaObjectEv @ 201 NONAME
+ _ZNK21QAbstractXmlNodeModel10copyNodeToERK18QXmlNodeModelIndexP20QAbstractXmlReceiverRK6QFlagsINS_15NodeCopySettingEE @ 202 NONAME
+ _ZNK21QAbstractXmlNodeModel11isDeepEqualERK18QXmlNodeModelIndexS2_ @ 203 NONAME
+ _ZNK21QAbstractXmlNodeModel14sendNamespacesERK18QXmlNodeModelIndexP20QAbstractXmlReceiver @ 204 NONAME
+ _ZNK21QAbstractXmlNodeModel14sourceLocationERK18QXmlNodeModelIndex @ 205 NONAME
+ _ZNK21QAbstractXmlNodeModel18namespaceForPrefixERK18QXmlNodeModelIndexs @ 206 NONAME
+ _ZNK21QAbstractXmlNodeModel19sequencedTypedValueERK18QXmlNodeModelIndex @ 207 NONAME
+ _ZNK21QAbstractXmlNodeModel4typeERK18QXmlNodeModelIndex @ 208 NONAME
+ _ZNK21QAbstractXmlNodeModel7iterateERK18QXmlNodeModelIndexNS0_4AxisE @ 209 NONAME
+ _ZNK23QAbstractMessageHandler10metaObjectEv @ 210 NONAME
+ _ZNK8QXmlItem13isAtomicValueEv @ 211 NONAME
+ _ZNK8QXmlItem13toAtomicValueEv @ 212 NONAME
+ _ZNK8QXmlItem16toNodeModelIndexEv @ 213 NONAME
+ _ZNK8QXmlItem6isNodeEv @ 214 NONAME
+ _ZNK8QXmlItem6isNullEv @ 215 NONAME
+ _ZNK8QXmlName11toClarkNameERK12QXmlNamePool @ 216 NONAME
+ _ZNK8QXmlName12namespaceUriERK12QXmlNamePool @ 217 NONAME
+ _ZNK8QXmlName6isNullEv @ 218 NONAME
+ _ZNK8QXmlName6prefixERK12QXmlNamePool @ 219 NONAME
+ _ZNK8QXmlName9localNameERK12QXmlNamePool @ 220 NONAME
+ _ZNK8QXmlNameeqERKS_ @ 221 NONAME
+ _ZNK8QXmlNameneERKS_ @ 222 NONAME
+ _ZNK9QXmlQuery10evaluateToEP11QStringList @ 223 NONAME
+ _ZNK9QXmlQuery10evaluateToEP15QXmlResultItems @ 224 NONAME
+ _ZNK9QXmlQuery10evaluateToEP20QAbstractXmlReceiver @ 225 NONAME
+ _ZNK9QXmlQuery10evaluateToEP7QString @ 226 NONAME
+ _ZNK9QXmlQuery10evaluateToEP9QIODevice @ 227 NONAME
+ _ZNK9QXmlQuery11uriResolverEv @ 228 NONAME
+ _ZNK9QXmlQuery13queryLanguageEv @ 229 NONAME
+ _ZNK9QXmlQuery14messageHandlerEv @ 230 NONAME
+ _ZNK9QXmlQuery19initialTemplateNameEv @ 231 NONAME
+ _ZNK9QXmlQuery20networkAccessManagerEv @ 232 NONAME
+ _ZNK9QXmlQuery7isValidEv @ 233 NONAME
+ _ZNK9QXmlQuery8namePoolEv @ 234 NONAME
+ _ZTI13QXmlFormatter @ 235 NONAME
+ _ZTI14QXmlSerializer @ 236 NONAME
+ _ZTI15QXmlResultItems @ 237 NONAME
+ _ZTI19QSimpleXmlNodeModel @ 238 NONAME
+ _ZTI20QAbstractUriResolver @ 239 NONAME
+ _ZTI20QAbstractXmlReceiver @ 240 NONAME
+ _ZTI21QAbstractXmlNodeModel @ 241 NONAME
+ _ZTI23QAbstractMessageHandler @ 242 NONAME
+ _ZTV13QXmlFormatter @ 243 NONAME
+ _ZTV14QXmlSerializer @ 244 NONAME
+ _ZTV15QXmlResultItems @ 245 NONAME
+ _ZTV19QSimpleXmlNodeModel @ 246 NONAME
+ _ZTV20QAbstractUriResolver @ 247 NONAME
+ _ZTV20QAbstractXmlReceiver @ 248 NONAME
+ _ZTV21QAbstractXmlNodeModel @ 249 NONAME
+ _ZTV23QAbstractMessageHandler @ 250 NONAME
+ _Zls6QDebugRK15QSourceLocation @ 251 NONAME
+
diff --git a/src/s60installs/s60installs.pro b/src/s60installs/s60installs.pro
index 7233e8a..90c9f27 100644
--- a/src/s60installs/s60installs.pro
+++ b/src/s60installs/s60installs.pro
@@ -12,7 +12,7 @@ symbian: {
VERSION=$${QT_MAJOR_VERSION}.$${QT_MINOR_VERSION}.$${QT_PATCH_VERSION}
qtresources.sources = $${EPOCROOT}$$HW_ZDIR$$APP_RESOURCE_DIR/s60main.rsc
- qtresources.path = $$APP_RESOURCE_DIR
+ qtresources.path = c:$$APP_RESOURCE_DIR
qtlibraries.sources = \
QtCore.dll \
@@ -24,24 +24,24 @@ symbian: {
qts60plugindeployment = \
"IF package(0x1028315F)" \
- " \"$${EPOCROOT}epoc32/release/$(PLATFORM)/$(TARGET)/qts60plugin_5_0.dll\" - \"!:\\sys\\bin\\qts60plugin_5_0.dll\"" \
+ " \"$${EPOCROOT}epoc32/release/$(PLATFORM)/$(TARGET)/qts60plugin_5_0.dll\" - \"c:\\sys\\bin\\qts60plugin_5_0.dll\"" \
"ELSEIF package(0x102752AE)" \
- " \"$${EPOCROOT}epoc32/release/$(PLATFORM)/$(TARGET)/qts60plugin_3_2.dll\" - \"!:\\sys\\bin\\qts60plugin_3_2.dll\"" \
+ " \"$${EPOCROOT}epoc32/release/$(PLATFORM)/$(TARGET)/qts60plugin_3_2.dll\" - \"c:\\sys\\bin\\qts60plugin_3_2.dll\"" \
"ELSEIF package(0x102032BE)" \
- " \"$${EPOCROOT}epoc32/release/$(PLATFORM)/$(TARGET)/qts60plugin_3_1.dll\" - \"!:\\sys\\bin\\qts60plugin_3_1.dll\"" \
+ " \"$${EPOCROOT}epoc32/release/$(PLATFORM)/$(TARGET)/qts60plugin_3_1.dll\" - \"c:\\sys\\bin\\qts60plugin_3_1.dll\"" \
"ELSE" \
- " \"$${EPOCROOT}epoc32/release/$(PLATFORM)/$(TARGET)/qts60plugin_5_0.dll\" - \"!:\\sys\\bin\\qts60plugin_5_0.dll\"" \
+ " \"$${EPOCROOT}epoc32/release/$(PLATFORM)/$(TARGET)/qts60plugin_5_0.dll\" - \"c:\\sys\\bin\\qts60plugin_5_0.dll\"" \
"ENDIF"
qtlibraries.pkg_postrules += qts60plugindeployment
sqlitedeployment = \
- "; EXISTS statement does not resolve !. Lets check the most common drives" \
- "IF NOT EXISTS(\"c:\\sys\\bin\\sqlite3.dll\") AND NOT EXISTS(\"e:\\sys\\bin\\sqlite3.dll\") AND NOT EXISTS(\"z:\\sys\\bin\\sqlite3.dll\")" \
- "\"$${EPOCROOT}epoc32/release/$(PLATFORM)/$(TARGET)/sqlite3.dll\" - \"!:\\sys\\bin\\sqlite3.dll\"" \
+ "; Deploy sqlite onto phone that does not have it (this should be replaced with embedded sis file when available)" \
+ "IF NOT package(0x2002533b) " \
+ "\"$${EPOCROOT}epoc32/release/$(PLATFORM)/$(TARGET)/sqlite3.dll\" - \"c:\\sys\\bin\\sqlite3.dll\"" \
"ENDIF"
qtlibraries.pkg_postrules += sqlitedeployment
- qtlibraries.path = /sys/bin
+ qtlibraries.path = c:/sys/bin
vendorinfo = \
"; Localised Vendor name" \
@@ -67,15 +67,15 @@ symbian: {
!contains(QT_CONFIG, no-mng): imageformats_plugins.sources += qmng.dll
!contains(QT_CONFIG, no-tiff): imageformats_plugins.sources += qtiff.dll
!contains(QT_CONFIG, no-ico): imageformats_plugins.sources += qico.dll
- imageformats_plugins.path = $$QT_PLUGINS_BASE_DIR/imageformats
+ imageformats_plugins.path = c:$$QT_PLUGINS_BASE_DIR/imageformats
codecs_plugins.sources = qcncodecs.dll qjpcodecs.dll qtwcodecs.dll qkrcodecs.dll
- codecs_plugins.path = $$QT_PLUGINS_BASE_DIR/codecs
+ codecs_plugins.path = c:$$QT_PLUGINS_BASE_DIR/codecs
contains(QT_CONFIG, phonon-backend) {
phonon_backend_plugins.sources += phonon_mmf.dll
- phonon_backend_plugins.path = $$QT_PLUGINS_BASE_DIR/phonon_backend
+ phonon_backend_plugins.path = c:$$QT_PLUGINS_BASE_DIR/phonon_backend
DEPLOYMENT += phonon_backend_plugins
}
@@ -85,7 +85,7 @@ symbian: {
qtlibraries.sources += QtSvg.dll
imageformats_plugins.sources += qsvg.dll
iconengines_plugins.sources = qsvgicon.dll
- iconengines_plugins.path = $$QT_PLUGINS_BASE_DIR/iconengines
+ iconengines_plugins.path = c:$$QT_PLUGINS_BASE_DIR/iconengines
DEPLOYMENT += iconengines_plugins
}
@@ -97,13 +97,17 @@ symbian: {
qtlibraries.sources += QtScript.dll
}
+ contains(QT_CONFIG, xmlpatterns): {
+ qtlibraries.sources += QtXmlPatterns.dll
+ }
+
contains(QT_CONFIG, webkit): {
qtlibraries.sources += QtWebKit.dll
}
- graphicssystems_plugins.path = $$QT_PLUGINS_BASE_DIR/graphicssystems
+ graphicssystems_plugins.path = c:$$QT_PLUGINS_BASE_DIR/graphicssystems
contains(QT_CONFIG, openvg) {
- qtlibraries.sources = QtOpenVG.dll
+ qtlibraries.sources += QtOpenVG.dll
graphicssystems_plugins.sources += qvggraphicssystem.dll
}
diff --git a/src/s60main/qts60main_mcrt0.cpp b/src/s60main/qts60main_mcrt0.cpp
index d30e07a..edc2fb8 100644
--- a/src/s60main/qts60main_mcrt0.cpp
+++ b/src/s60main/qts60main_mcrt0.cpp
@@ -83,12 +83,10 @@ GLDEF_C TInt QtMainWrapper()
char **envp = 0;
// get args & environment
__crt0(argc, argv, envp);
- CleanupArrayDelete<char*>::PushL(argv);
- CleanupArrayDelete<char*>::PushL(envp);
//Call user(application)'s main
- int ret = 0;
- QT_TRYCATCH_LEAVING(ret = CALLMAIN(argc, argv, envp););
- CleanupStack::PopAndDestroy(2, argv);
+ TRAPD(ret, QT_TRYCATCH_LEAVING(ret = CALLMAIN(argc, argv, envp);));
+ delete[] argv;
+ delete[] envp;
return ret;
}
diff --git a/src/s60main/s60main.pro b/src/s60main/s60main.pro
index cc3c547..47cf020 100644
--- a/src/s60main/s60main.pro
+++ b/src/s60main/s60main.pro
@@ -16,16 +16,6 @@ symbian {
SOURCES = qts60main.cpp \
qts60main_mcrt0.cpp
- # This block serves the minimalistic resource file for S60 3.1 platforms.
- # Note there is no way to ifdef S60 version in mmp file, that is why the resource
- # file is always compiled for WINSCW
- minimalAppResource31 = \
- "START RESOURCE s60main.rss" \
- "HEADER" \
- "TARGETPATH resource\apps" \
- "END"
- MMP_RULES += minimalAppResource31
-
# s60main needs to be built in ARM mode for GCCE to work.
MMP_RULES+="ALWAYS_BUILD_AS_ARM"
@@ -36,14 +26,4 @@ symbian {
error("$$_FILE_ is intended only for Symbian!")
}
-symbian-abld: {
- # abld build commands generated resources after the static library is built, and
- # we have dependency to resource from static lib -> resources need to be generated
- # explicitly before library
- rsgFix2.commands = "-$(DEL_FILE) $(EPOCROOT)Epoc32\Data\z\resource\apps\s60main.rsc >NUL 2>&1"
- rsgFix.commands = "-$(ABLD) resource $(PLATFORM) $(CFG) 2>NUL"
- QMAKE_EXTRA_TARGETS += rsgFix rsgFix2
- PRE_TARGETDEPS += rsgFix rsgFix2
-}
-
include(../qbase.pri)
diff --git a/src/script/api/api.pri b/src/script/api/api.pri
index 17ec9b6..aebadd5 100644
--- a/src/script/api/api.pri
+++ b/src/script/api/api.pri
@@ -6,6 +6,7 @@ SOURCES += \
$$PWD/qscriptengine.cpp \
$$PWD/qscriptengineagent.cpp \
$$PWD/qscriptextensionplugin.cpp \
+ $$PWD/qscriptprogram.cpp \
$$PWD/qscriptstring.cpp \
$$PWD/qscriptvalue.cpp \
$$PWD/qscriptvalueiterator.cpp \
@@ -23,6 +24,8 @@ HEADERS += \
$$PWD/qscriptengineagent_p.h \
$$PWD/qscriptextensioninterface.h \
$$PWD/qscriptextensionplugin.h \
+ $$PWD/qscriptprogram.h \
+ $$PWD/qscriptprogram_p.h \
$$PWD/qscriptstring.h \
$$PWD/qscriptstring_p.h \
$$PWD/qscriptvalue.h \
diff --git a/src/script/api/qscriptengine.cpp b/src/script/api/qscriptengine.cpp
index 3f2c9b4..2b60a46 100644
--- a/src/script/api/qscriptengine.cpp
+++ b/src/script/api/qscriptengine.cpp
@@ -51,6 +51,8 @@
#include "qscriptvalue_p.h"
#include "qscriptvalueiterator.h"
#include "qscriptclass.h"
+#include "qscriptprogram.h"
+#include "qscriptprogram_p.h"
#include "qdebug.h"
#include <QtCore/qstringlist.h>
@@ -343,15 +345,10 @@ public:
namespace QScript
{
-struct GlobalClientData : public JSC::JSGlobalData::ClientData
+void GlobalClientData::mark(JSC::MarkStack& markStack)
{
- GlobalClientData(QScriptEnginePrivate *e)
- : engine(e) {}
- virtual ~GlobalClientData() {}
- virtual void mark(JSC::MarkStack& markStack) { engine->mark(markStack); }
-
- QScriptEnginePrivate *engine;
-};
+ engine->mark(markStack);
+}
class TimeoutCheckerProxy : public JSC::TimeoutChecker
{
@@ -452,11 +449,6 @@ qsreal integerFromString(const QString &str, int radix)
return integerFromString(ba.constData(), ba.size(), radix);
}
-QScriptEnginePrivate *scriptEngineFromExec(const JSC::ExecState *exec)
-{
- return static_cast<GlobalClientData*>(exec->globalData().clientData)->engine;
-}
-
bool isFunction(JSC::JSValue value)
{
if (!value || !value.isObject())
@@ -995,26 +987,6 @@ void QScriptEnginePrivate::setDefaultPrototype(int metaTypeId, JSC::JSValue prot
info->prototype = prototype;
}
-QScriptContext *QScriptEnginePrivate::contextForFrame(JSC::ExecState *frame)
-{
- if (frame && frame->callerFrame()->hasHostCallFrameFlag() && !frame->callee()
- && frame->callerFrame()->removeHostCallFrameFlag() == QScript::scriptEngineFromExec(frame)->globalExec()) {
- //skip the "fake" context created in Interpreter::execute.
- frame = frame->callerFrame()->removeHostCallFrameFlag();
- }
- return reinterpret_cast<QScriptContext *>(frame);
-}
-
-JSC::ExecState *QScriptEnginePrivate::frameForContext(QScriptContext *context)
-{
- return reinterpret_cast<JSC::ExecState*>(context);
-}
-
-const JSC::ExecState *QScriptEnginePrivate::frameForContext(const QScriptContext *context)
-{
- return reinterpret_cast<const JSC::ExecState*>(context);
-}
-
JSC::JSGlobalObject *QScriptEnginePrivate::originalGlobalObject() const
{
return globalData->head;
@@ -1056,11 +1028,6 @@ void QScriptEnginePrivate::setGlobalObject(JSC::JSObject *object)
}
}
-JSC::ExecState *QScriptEnginePrivate::globalExec() const
-{
- return originalGlobalObject()->globalExec();
-}
-
/*!
\internal
@@ -1190,6 +1157,73 @@ void QScriptEnginePrivate::agentDeleted(QScriptEngineAgent *agent)
}
}
+JSC::JSValue QScriptEnginePrivate::evaluateHelper(JSC::ExecState *exec, intptr_t sourceId,
+ JSC::EvalExecutable *executable,
+ bool &compile)
+{
+ Q_Q(QScriptEngine);
+ JSC::JSLock lock(false); // ### hmmm
+ QBoolBlocker inEvalBlocker(inEval, true);
+ q->currentContext()->activationObject(); //force the creation of a context for native function;
+
+ JSC::Debugger* debugger = originalGlobalObject()->debugger();
+ if (debugger)
+ debugger->evaluateStart(sourceId);
+
+ q->clearExceptions();
+ JSC::DynamicGlobalObjectScope dynamicGlobalObjectScope(exec, exec->scopeChain()->globalObject());
+
+ if (compile) {
+ JSC::JSObject* error = executable->compile(exec, exec->scopeChain());
+ if (error) {
+ compile = false;
+ exec->setException(error);
+
+ if (debugger) {
+ debugger->exceptionThrow(JSC::DebuggerCallFrame(exec, error), sourceId, false);
+ debugger->evaluateStop(error, sourceId);
+ }
+
+ return error;
+ }
+ }
+
+ JSC::JSValue thisValue = thisForContext(exec);
+ JSC::JSObject* thisObject = (!thisValue || thisValue.isUndefinedOrNull())
+ ? exec->dynamicGlobalObject() : thisValue.toObject(exec);
+ JSC::JSValue exceptionValue;
+ timeoutChecker()->setShouldAbort(false);
+ if (processEventsInterval > 0)
+ timeoutChecker()->reset();
+
+ JSC::JSValue result = exec->interpreter()->execute(executable, exec, thisObject, exec->scopeChain(), &exceptionValue);
+
+ if (timeoutChecker()->shouldAbort()) {
+ if (abortResult.isError())
+ exec->setException(scriptValueToJSCValue(abortResult));
+
+ if (debugger)
+ debugger->evaluateStop(scriptValueToJSCValue(abortResult), sourceId);
+
+ return scriptValueToJSCValue(abortResult);
+ }
+
+ if (exceptionValue) {
+ exec->setException(exceptionValue);
+
+ if (debugger)
+ debugger->evaluateStop(exceptionValue, sourceId);
+
+ return exceptionValue;
+ }
+
+ if (debugger)
+ debugger->evaluateStop(result, sourceId);
+
+ Q_ASSERT(!exec->hadException());
+ return result;
+}
+
#ifndef QT_NO_QOBJECT
JSC::JSValue QScriptEnginePrivate::newQObject(
@@ -2150,75 +2184,41 @@ QScriptSyntaxCheckResult QScriptEnginePrivate::checkSyntax(const QString &progra
QScriptValue QScriptEngine::evaluate(const QString &program, const QString &fileName, int lineNumber)
{
Q_D(QScriptEngine);
-
- JSC::JSLock lock(false); // ### hmmm
- QBoolBlocker inEval(d->inEval, true);
- currentContext()->activationObject(); //force the creation of a context for native function;
-
- JSC::Debugger* debugger = d->originalGlobalObject()->debugger();
-
- JSC::UString jscProgram = program;
- JSC::UString jscFileName = fileName;
- JSC::ExecState* exec = d->currentFrame;
WTF::PassRefPtr<QScript::UStringSourceProviderWithFeedback> provider
- = QScript::UStringSourceProviderWithFeedback::create(jscProgram, jscFileName, lineNumber, d);
+ = QScript::UStringSourceProviderWithFeedback::create(program, fileName, lineNumber, d);
intptr_t sourceId = provider->asID();
JSC::SourceCode source(provider, lineNumber); //after construction of SourceCode provider variable will be null.
- if (debugger)
- debugger->evaluateStart(sourceId);
-
- clearExceptions();
- JSC::DynamicGlobalObjectScope dynamicGlobalObjectScope(exec, exec->scopeChain()->globalObject());
-
+ JSC::ExecState* exec = d->currentFrame;
JSC::EvalExecutable executable(exec, source);
- JSC::JSObject* error = executable.compile(exec, exec->scopeChain());
- if (error) {
- exec->setException(error);
-
- if (debugger) {
- debugger->exceptionThrow(JSC::DebuggerCallFrame(exec, error), sourceId, false);
- debugger->evaluateStop(error, sourceId);
- }
-
- return d->scriptValueFromJSCValue(error);
- }
-
- JSC::JSValue thisValue = d->thisForContext(exec);
- JSC::JSObject* thisObject = (!thisValue || thisValue.isUndefinedOrNull()) ? exec->dynamicGlobalObject() : thisValue.toObject(exec);
- JSC::JSValue exceptionValue;
- d->timeoutChecker()->setShouldAbort(false);
- if (d->processEventsInterval > 0)
- d->timeoutChecker()->reset();
- JSC::JSValue result = exec->interpreter()->execute(&executable, exec, thisObject, exec->scopeChain(), &exceptionValue);
-
- if (d->timeoutChecker()->shouldAbort()) {
- if (d->abortResult.isError())
- exec->setException(d->scriptValueToJSCValue(d->abortResult));
-
- if (debugger)
- debugger->evaluateStop(d->scriptValueToJSCValue(d->abortResult), sourceId);
-
- return d->abortResult;
- }
-
- if (exceptionValue) {
- exec->setException(exceptionValue);
-
- if (debugger)
- debugger->evaluateStop(exceptionValue, sourceId);
+ bool compile = true;
+ return d->scriptValueFromJSCValue(d->evaluateHelper(exec, sourceId, &executable, compile));
+}
- return d->scriptValueFromJSCValue(exceptionValue);
- }
+/*!
+ \internal
+ \since 4.6
- if (debugger)
- debugger->evaluateStop(result, sourceId);
+ Evaluates the given \a program and returns the result of the
+ evaluation.
+*/
+QScriptValue QScriptEngine::evaluate(const QScriptProgram &program)
+{
+ Q_D(QScriptEngine);
+ QScriptProgramPrivate *program_d = QScriptProgramPrivate::get(program);
+ if (!program_d)
+ return QScriptValue();
- Q_ASSERT(!exec->hadException());
+ JSC::ExecState* exec = d->currentFrame;
+ JSC::EvalExecutable *executable = program_d->executable(exec, d);
+ bool compile = !program_d->isCompiled;
+ JSC::JSValue result = d->evaluateHelper(exec, program_d->sourceId,
+ executable, compile);
+ if (compile)
+ program_d->isCompiled = true;
return d->scriptValueFromJSCValue(result);
}
-
/*!
Returns the current context.
@@ -2543,63 +2543,50 @@ QScriptValue QScriptEngine::create(int type, const void *ptr)
QScriptValue QScriptEnginePrivate::create(int type, const void *ptr)
{
+ Q_Q(QScriptEngine);
Q_ASSERT(ptr != 0);
QScriptValue result;
QScriptTypeInfo *info = m_typeInfos.value(type);
if (info && info->marshal) {
- result = info->marshal(q_func(), ptr);
+ result = info->marshal(q, ptr);
} else {
// check if it's one of the types we know
switch (QMetaType::Type(type)) {
case QMetaType::Void:
- result = QScriptValue(QScriptValue::UndefinedValue);
- break;
+ return QScriptValue(q, QScriptValue::UndefinedValue);
case QMetaType::Bool:
- result = QScriptValue(*reinterpret_cast<const bool*>(ptr));
- break;
+ return QScriptValue(q, *reinterpret_cast<const bool*>(ptr));
case QMetaType::Int:
- result = QScriptValue(*reinterpret_cast<const int*>(ptr));
- break;
+ return QScriptValue(q, *reinterpret_cast<const int*>(ptr));
case QMetaType::UInt:
- result = QScriptValue(*reinterpret_cast<const uint*>(ptr));
- break;
+ return QScriptValue(q, *reinterpret_cast<const uint*>(ptr));
case QMetaType::LongLong:
- result = QScriptValue(qsreal(*reinterpret_cast<const qlonglong*>(ptr)));
- break;
+ return QScriptValue(q, qsreal(*reinterpret_cast<const qlonglong*>(ptr)));
case QMetaType::ULongLong:
#if defined(Q_OS_WIN) && defined(_MSC_FULL_VER) && _MSC_FULL_VER <= 12008804
#pragma message("** NOTE: You need the Visual Studio Processor Pack to compile support for 64bit unsigned integers.")
- result = QScriptValue(qsreal((qlonglong)*reinterpret_cast<const qulonglong*>(ptr)));
+ return QScriptValue(q, qsreal((qlonglong)*reinterpret_cast<const qulonglong*>(ptr)));
#elif defined(Q_CC_MSVC) && !defined(Q_CC_MSVC_NET)
- result = QScriptValue(qsreal((qlonglong)*reinterpret_cast<const qulonglong*>(ptr)));
+ return QScriptValue(q, qsreal((qlonglong)*reinterpret_cast<const qulonglong*>(ptr)));
#else
- result = QScriptValue(qsreal(*reinterpret_cast<const qulonglong*>(ptr)));
+ return QScriptValue(q, qsreal(*reinterpret_cast<const qulonglong*>(ptr)));
#endif
- break;
case QMetaType::Double:
- result = QScriptValue(qsreal(*reinterpret_cast<const double*>(ptr)));
- break;
+ return QScriptValue(q, qsreal(*reinterpret_cast<const double*>(ptr)));
case QMetaType::QString:
- result = QScriptValue(q_func(), *reinterpret_cast<const QString*>(ptr));
- break;
+ return QScriptValue(q, *reinterpret_cast<const QString*>(ptr));
case QMetaType::Float:
- result = QScriptValue(*reinterpret_cast<const float*>(ptr));
- break;
+ return QScriptValue(q, *reinterpret_cast<const float*>(ptr));
case QMetaType::Short:
- result = QScriptValue(*reinterpret_cast<const short*>(ptr));
- break;
+ return QScriptValue(q, *reinterpret_cast<const short*>(ptr));
case QMetaType::UShort:
- result = QScriptValue(*reinterpret_cast<const unsigned short*>(ptr));
- break;
+ return QScriptValue(q, *reinterpret_cast<const unsigned short*>(ptr));
case QMetaType::Char:
- result = QScriptValue(*reinterpret_cast<const char*>(ptr));
- break;
+ return QScriptValue(q, *reinterpret_cast<const char*>(ptr));
case QMetaType::UChar:
- result = QScriptValue(*reinterpret_cast<const unsigned char*>(ptr));
- break;
+ return QScriptValue(q, *reinterpret_cast<const unsigned char*>(ptr));
case QMetaType::QChar:
- result = QScriptValue((*reinterpret_cast<const QChar*>(ptr)).unicode());
- break;
+ return QScriptValue(q, (*reinterpret_cast<const QChar*>(ptr)).unicode());
case QMetaType::QStringList:
result = arrayFromStringList(*reinterpret_cast<const QStringList *>(ptr));
break;
@@ -2610,38 +2597,38 @@ QScriptValue QScriptEnginePrivate::create(int type, const void *ptr)
result = objectFromVariantMap(*reinterpret_cast<const QVariantMap *>(ptr));
break;
case QMetaType::QDateTime:
- result = q_func()->newDate(*reinterpret_cast<const QDateTime *>(ptr));
+ result = q->newDate(*reinterpret_cast<const QDateTime *>(ptr));
break;
case QMetaType::QDate:
- result = q_func()->newDate(QDateTime(*reinterpret_cast<const QDate *>(ptr)));
+ result = q->newDate(QDateTime(*reinterpret_cast<const QDate *>(ptr)));
break;
#ifndef QT_NO_REGEXP
case QMetaType::QRegExp:
- result = q_func()->newRegExp(*reinterpret_cast<const QRegExp *>(ptr));
+ result = q->newRegExp(*reinterpret_cast<const QRegExp *>(ptr));
break;
#endif
#ifndef QT_NO_QOBJECT
case QMetaType::QObjectStar:
case QMetaType::QWidgetStar:
- result = q_func()->newQObject(*reinterpret_cast<QObject* const *>(ptr));
+ result = q->newQObject(*reinterpret_cast<QObject* const *>(ptr));
break;
#endif
default:
if (type == qMetaTypeId<QScriptValue>()) {
result = *reinterpret_cast<const QScriptValue*>(ptr);
if (!result.isValid())
- result = QScriptValue(QScriptValue::UndefinedValue);
+ return QScriptValue(q, QScriptValue::UndefinedValue);
}
#ifndef QT_NO_QOBJECT
// lazy registration of some common list types
else if (type == qMetaTypeId<QObjectList>()) {
- qScriptRegisterSequenceMetaType<QObjectList>(q_func());
+ qScriptRegisterSequenceMetaType<QObjectList>(q);
return create(type, ptr);
}
#endif
else if (type == qMetaTypeId<QList<int> >()) {
- qScriptRegisterSequenceMetaType<QList<int> >(q_func());
+ qScriptRegisterSequenceMetaType<QList<int> >(q);
return create(type, ptr);
}
@@ -2650,9 +2637,9 @@ QScriptValue QScriptEnginePrivate::create(int type, const void *ptr)
if (typeName == "QVariant")
result = scriptValueFromVariant(*reinterpret_cast<const QVariant*>(ptr));
if (typeName.endsWith('*') && !*reinterpret_cast<void* const *>(ptr))
- result = QScriptValue(QScriptValue::NullValue);
+ return QScriptValue(q, QScriptValue::NullValue);
else
- result = q_func()->newVariant(QVariant(type, ptr));
+ result = q->newVariant(QVariant(type, ptr));
}
}
}
@@ -2667,8 +2654,8 @@ bool QScriptEnginePrivate::convert(const QScriptValue &value,
int type, void *ptr,
QScriptEnginePrivate *eng)
{
- if (!eng && value.engine())
- eng = QScriptEnginePrivate::get(value.engine());
+ if (!eng)
+ eng = QScriptValuePrivate::getEngine(value);
if (eng) {
QScriptTypeInfo *info = eng->m_typeInfos.value(type);
if (info && info->demarshal) {
diff --git a/src/script/api/qscriptengine.h b/src/script/api/qscriptengine.h
index 701f9c6..3f438da 100644
--- a/src/script/api/qscriptengine.h
+++ b/src/script/api/qscriptengine.h
@@ -67,6 +67,7 @@ class QDateTime;
class QScriptClass;
class QScriptEngineAgent;
class QScriptEnginePrivate;
+class QScriptProgram;
#ifndef QT_NO_QOBJECT
@@ -166,6 +167,8 @@ public:
QScriptValue evaluate(const QString &program, const QString &fileName = QString(), int lineNumber = 1);
+ QScriptValue evaluate(const QScriptProgram &program);
+
bool isEvaluating() const;
void abortEvaluation(const QScriptValue &result = QScriptValue());
diff --git a/src/script/api/qscriptengine_p.h b/src/script/api/qscriptengine_p.h
index 3766559..d12b0f4 100644
--- a/src/script/api/qscriptengine_p.h
+++ b/src/script/api/qscriptengine_p.h
@@ -70,6 +70,7 @@
namespace JSC
{
+ class EvalExecutable;
class ExecState;
typedef ExecState CallFrame;
class JSCell;
@@ -101,11 +102,22 @@ namespace QScript
class TimeoutCheckerProxy;
//some conversion helper functions
- QScriptEnginePrivate *scriptEngineFromExec(const JSC::ExecState *exec);
+ inline QScriptEnginePrivate *scriptEngineFromExec(const JSC::ExecState *exec);
bool isFunction(JSC::JSValue value);
class UStringSourceProviderWithFeedback;
-}
+
+struct GlobalClientData : public JSC::JSGlobalData::ClientData
+{
+ GlobalClientData(QScriptEnginePrivate *e)
+ : engine(e) {}
+ virtual ~GlobalClientData() {}
+ virtual void mark(JSC::MarkStack& markStack);
+
+ QScriptEnginePrivate *engine;
+};
+
+} // namespace QScript
class QScriptEnginePrivate
#ifndef QT_NO_QOBJECT
@@ -147,16 +159,16 @@ public:
JSC::JSValue defaultPrototype(int metaTypeId) const;
void setDefaultPrototype(int metaTypeId, JSC::JSValue prototype);
- static QScriptContext *contextForFrame(JSC::ExecState *frame);
- static JSC::ExecState *frameForContext(QScriptContext *context);
- static const JSC::ExecState *frameForContext(const QScriptContext *context);
+ static inline QScriptContext *contextForFrame(JSC::ExecState *frame);
+ static inline JSC::ExecState *frameForContext(QScriptContext *context);
+ static inline const JSC::ExecState *frameForContext(const QScriptContext *context);
JSC::JSGlobalObject *originalGlobalObject() const;
JSC::JSObject *getOriginalGlobalObjectProxy();
JSC::JSObject *customGlobalObject() const;
JSC::JSObject *globalObject() const;
void setGlobalObject(JSC::JSObject *object);
- JSC::ExecState *globalExec() const;
+ inline JSC::ExecState *globalExec() const;
JSC::JSValue toUsableValue(JSC::JSValue value);
static JSC::JSValue thisForContext(JSC::ExecState *frame);
static JSC::Register *thisRegisterForFrame(JSC::ExecState *frame);
@@ -200,6 +212,10 @@ public:
const QByteArray &targetType,
void **result);
+ JSC::JSValue evaluateHelper(JSC::ExecState *exec, intptr_t sourceId,
+ JSC::EvalExecutable *executable,
+ bool &compile);
+
QScript::QObjectData *qobjectData(QObject *object);
void disposeQObject(QObject *object);
void emitSignalHandlerException();
@@ -367,6 +383,11 @@ private:
JSC::ExecState *oldFrame;
};
+inline QScriptEnginePrivate *scriptEngineFromExec(const JSC::ExecState *exec)
+{
+ return static_cast<GlobalClientData*>(exec->globalData().clientData)->engine;
+}
+
} // namespace QScript
inline QScriptValuePrivate *QScriptEnginePrivate::allocateScriptValuePrivate(size_t size)
@@ -473,6 +494,28 @@ inline QScriptValue QScriptValuePrivate::property(const QString &name, int resol
return property(JSC::Identifier(exec, name), resolveMode);
}
+inline QScriptValue QScriptValuePrivate::property(const JSC::Identifier &id, int resolveMode) const
+{
+ Q_ASSERT(isObject());
+ JSC::ExecState *exec = engine->currentFrame;
+ JSC::JSObject *object = JSC::asObject(jscValue);
+ JSC::PropertySlot slot(object);
+ if ((resolveMode & QScriptValue::ResolvePrototype) && object->getPropertySlot(exec, id, slot))
+ return engine->scriptValueFromJSCValue(slot.getValue(exec, id));
+ return propertyHelper(id, resolveMode);
+}
+
+inline QScriptValue QScriptValuePrivate::property(quint32 index, int resolveMode) const
+{
+ Q_ASSERT(isObject());
+ JSC::ExecState *exec = engine->currentFrame;
+ JSC::JSObject *object = JSC::asObject(jscValue);
+ JSC::PropertySlot slot(object);
+ if ((resolveMode & QScriptValue::ResolvePrototype) && object->getPropertySlot(exec, index, slot))
+ return engine->scriptValueFromJSCValue(slot.getValue(exec, index));
+ return propertyHelper(index, resolveMode);
+}
+
inline void* QScriptValuePrivate::operator new(size_t size, QScriptEnginePrivate *engine)
{
if (engine)
@@ -489,6 +532,22 @@ inline void QScriptValuePrivate::operator delete(void *ptr)
qFree(d);
}
+inline void QScriptValuePrivate::saveException(JSC::ExecState *exec, JSC::JSValue *val)
+{
+ if (exec) {
+ *val = exec->exception();
+ exec->clearException();
+ } else {
+ *val = JSC::JSValue();
+ }
+}
+
+inline void QScriptValuePrivate::restoreException(JSC::ExecState *exec, JSC::JSValue val)
+{
+ if (exec && val)
+ exec->setException(val);
+}
+
inline void QScriptEnginePrivate::registerScriptString(QScriptStringPrivate *value)
{
Q_ASSERT(value->type == QScriptStringPrivate::HeapAllocated);
@@ -512,6 +571,31 @@ inline void QScriptEnginePrivate::unregisterScriptString(QScriptStringPrivate *v
value->next = 0;
}
+inline QScriptContext *QScriptEnginePrivate::contextForFrame(JSC::ExecState *frame)
+{
+ if (frame && frame->callerFrame()->hasHostCallFrameFlag() && !frame->callee()
+ && frame->callerFrame()->removeHostCallFrameFlag() == QScript::scriptEngineFromExec(frame)->globalExec()) {
+ //skip the "fake" context created in Interpreter::execute.
+ frame = frame->callerFrame()->removeHostCallFrameFlag();
+ }
+ return reinterpret_cast<QScriptContext *>(frame);
+}
+
+inline JSC::ExecState *QScriptEnginePrivate::frameForContext(QScriptContext *context)
+{
+ return reinterpret_cast<JSC::ExecState*>(context);
+}
+
+inline const JSC::ExecState *QScriptEnginePrivate::frameForContext(const QScriptContext *context)
+{
+ return reinterpret_cast<const JSC::ExecState*>(context);
+}
+
+inline JSC::ExecState *QScriptEnginePrivate::globalExec() const
+{
+ return originalGlobalObject()->globalExec();
+}
+
QT_END_NAMESPACE
#endif
diff --git a/src/script/api/qscriptprogram.cpp b/src/script/api/qscriptprogram.cpp
new file mode 100644
index 0000000..c30f381
--- /dev/null
+++ b/src/script/api/qscriptprogram.cpp
@@ -0,0 +1,225 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtScript module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, 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.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "config.h"
+#include "qscriptprogram.h"
+#include "qscriptprogram_p.h"
+#include "qscriptengine.h"
+#include "qscriptengine_p.h"
+
+#include "Executable.h"
+
+QT_BEGIN_NAMESPACE
+
+/*!
+ \internal
+
+ \since 4.6
+ \class QScriptProgram
+
+ \brief The QScriptProgram class encapsulates a Qt Script program.
+
+ \ingroup script
+
+ QScriptProgram retains the compiled representation of the script if
+ possible. Thus, QScriptProgram can be used to evaluate the same
+ script multiple times more efficiently.
+
+ \code
+ QScriptEngine engine;
+ QScriptProgram program("1 + 2");
+ QScriptValue result = engine.evaluate(program);
+ \endcode
+*/
+
+QScriptProgramPrivate::QScriptProgramPrivate(const QString &src,
+ const QString &fn,
+ int ln)
+ : sourceCode(src), fileName(fn), firstLineNumber(ln),
+ engine(0), _executable(0), sourceId(-1), isCompiled(false)
+{
+ ref = 0;
+}
+
+QScriptProgramPrivate::~QScriptProgramPrivate()
+{
+ delete _executable;
+}
+
+QScriptProgramPrivate *QScriptProgramPrivate::get(const QScriptProgram &q)
+{
+ return const_cast<QScriptProgramPrivate*>(q.d_func());
+}
+
+JSC::EvalExecutable *QScriptProgramPrivate::executable(JSC::ExecState *exec,
+ QScriptEnginePrivate *eng)
+{
+ if (_executable) {
+ if (eng == engine)
+ return _executable;
+ delete _executable;
+ }
+ WTF::PassRefPtr<QScript::UStringSourceProviderWithFeedback> provider
+ = QScript::UStringSourceProviderWithFeedback::create(sourceCode, fileName, firstLineNumber, eng);
+ sourceId = provider->asID();
+ JSC::SourceCode source(provider, firstLineNumber); //after construction of SourceCode provider variable will be null.
+ _executable = new JSC::EvalExecutable(exec, source);
+ engine = eng;
+ isCompiled = false;
+ return _executable;
+}
+
+/*!
+ Constructs a null QScriptProgram.
+*/
+QScriptProgram::QScriptProgram()
+ : d_ptr(0)
+{
+}
+
+/*!
+ Constructs a new QScriptProgram with the given \a sourceCode, \a
+ fileName and \a firstLineNumber.
+*/
+QScriptProgram::QScriptProgram(const QString &sourceCode,
+ const QString fileName,
+ int firstLineNumber)
+ : d_ptr(new QScriptProgramPrivate(sourceCode, fileName, firstLineNumber))
+{
+}
+
+/*!
+ Constructs a new QScriptProgram that is a copy of \a other.
+*/
+QScriptProgram::QScriptProgram(const QScriptProgram &other)
+ : d_ptr(other.d_ptr)
+{
+}
+
+/*!
+ Destroys this QScriptProgram.
+*/
+QScriptProgram::~QScriptProgram()
+{
+ Q_D(QScriptProgram);
+ // if (d->engine && (d->ref == 1))
+ // d->engine->unregisterScriptProgram(d);
+}
+
+/*!
+ Assigns the \a other value to this QScriptProgram.
+*/
+QScriptProgram &QScriptProgram::operator=(const QScriptProgram &other)
+{
+ // if (d_func() && d_func()->engine && (d_func()->ref == 1))
+ // d_func()->engine->unregisterScriptProgram(d_func());
+ // }
+ d_ptr = other.d_ptr;
+ return *this;
+}
+
+/*!
+ Returns true if this QScriptProgram is null; otherwise
+ returns false.
+*/
+bool QScriptProgram::isNull() const
+{
+ Q_D(const QScriptProgram);
+ return (d == 0);
+}
+
+/*!
+ Returns the source code of this program.
+*/
+QString QScriptProgram::sourceCode() const
+{
+ Q_D(const QScriptProgram);
+ if (!d)
+ return QString();
+ return d->sourceCode;
+}
+
+/*!
+ Returns the filename associated with this program.
+*/
+QString QScriptProgram::fileName() const
+{
+ Q_D(const QScriptProgram);
+ if (!d)
+ return QString();
+ return d->fileName;
+}
+
+/*!
+ Returns the line number associated with this program.
+*/
+int QScriptProgram::firstLineNumber() const
+{
+ Q_D(const QScriptProgram);
+ if (!d)
+ return -1;
+ return d->firstLineNumber;
+}
+
+/*!
+ Returns true if this QScriptProgram is equal to \a other;
+ otherwise returns false.
+*/
+bool QScriptProgram::operator==(const QScriptProgram &other) const
+{
+ Q_D(const QScriptProgram);
+ if (d == other.d_func())
+ return true;
+ return (sourceCode() == other.sourceCode())
+ && (fileName() == other.fileName())
+ && (firstLineNumber() == other.firstLineNumber());
+}
+
+/*!
+ Returns true if this QScriptProgram is not equal to \a other;
+ otherwise returns false.
+*/
+bool QScriptProgram::operator!=(const QScriptProgram &other) const
+{
+ return !operator==(other);
+}
+
+QT_END_NAMESPACE
diff --git a/src/script/api/qscriptprogram.h b/src/script/api/qscriptprogram.h
new file mode 100644
index 0000000..de891cd
--- /dev/null
+++ b/src/script/api/qscriptprogram.h
@@ -0,0 +1,86 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtScript module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, 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.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef QSCRIPTPROGRAM_H
+#define QSCRIPTPROGRAM_H
+
+#include <QtCore/qsharedpointer.h>
+
+#include <QtCore/qstring.h>
+
+QT_BEGIN_HEADER
+
+QT_BEGIN_NAMESPACE
+
+QT_MODULE(Script)
+
+class QScriptProgramPrivate;
+class Q_SCRIPT_EXPORT QScriptProgram
+{
+public:
+ QScriptProgram();
+ QScriptProgram(const QString &sourceCode,
+ const QString fileName = QString(),
+ int firstLineNumber = 1);
+ QScriptProgram(const QScriptProgram &other);
+ ~QScriptProgram();
+
+ QScriptProgram &operator=(const QScriptProgram &other);
+
+ bool isNull() const;
+
+ QString sourceCode() const;
+ QString fileName() const;
+ int firstLineNumber() const;
+
+ bool operator==(const QScriptProgram &other) const;
+ bool operator!=(const QScriptProgram &other) const;
+
+private:
+ QExplicitlySharedDataPointer<QScriptProgramPrivate> d_ptr;
+ Q_DECLARE_PRIVATE(QScriptProgram)
+};
+
+QT_END_NAMESPACE
+
+QT_END_HEADER
+
+#endif // QSCRIPTPROGRAM_H
diff --git a/src/script/api/qscriptprogram_p.h b/src/script/api/qscriptprogram_p.h
new file mode 100644
index 0000000..5175079
--- /dev/null
+++ b/src/script/api/qscriptprogram_p.h
@@ -0,0 +1,95 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtScript module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, 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.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef QSCRIPTPROGRAM_P_H
+#define QSCRIPTPROGRAM_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 <QtCore/qobjectdefs.h>
+
+namespace JSC
+{
+ class EvalExecutable;
+ class ExecState;
+}
+
+QT_BEGIN_NAMESPACE
+
+class QScriptEnginePrivate;
+
+class QScriptProgramPrivate
+{
+public:
+ QScriptProgramPrivate(const QString &sourceCode,
+ const QString &fileName,
+ int firstLineNumber);
+ ~QScriptProgramPrivate();
+
+ static QScriptProgramPrivate *get(const QScriptProgram &q);
+
+ JSC::EvalExecutable *executable(JSC::ExecState *exec,
+ QScriptEnginePrivate *engine);
+
+ QBasicAtomicInt ref;
+
+ QString sourceCode;
+ QString fileName;
+ int firstLineNumber;
+
+ QScriptEnginePrivate *engine;
+ JSC::EvalExecutable *_executable;
+ intptr_t sourceId;
+ bool isCompiled;
+};
+
+QT_END_NAMESPACE
+
+#endif
diff --git a/src/script/api/qscriptstring.cpp b/src/script/api/qscriptstring.cpp
index 2fb157f..10fccd0 100644
--- a/src/script/api/qscriptstring.cpp
+++ b/src/script/api/qscriptstring.cpp
@@ -68,6 +68,10 @@ QT_BEGIN_NAMESPACE
Call the toString() function to obtain the string that a
QScriptString represents.
+
+ Call the toArrayIndex() function to convert a QScriptString to an
+ array index. This is useful when using QScriptClass to implement
+ array-like objects.
*/
/*!
@@ -139,8 +143,7 @@ QScriptString &QScriptString::operator=(const QScriptString &other)
*/
bool QScriptString::isValid() const
{
- Q_D(const QScriptString);
- return (d && d->engine);
+ return QScriptStringPrivate::isValid(*this);
}
/*!
@@ -165,6 +168,31 @@ bool QScriptString::operator!=(const QScriptString &other) const
}
/*!
+ \since 4.6
+
+ Attempts to convert this QScriptString to a QtScript array index,
+ and returns the result.
+
+ If a conversion error occurs, *\a{ok} is set to false; otherwise
+ *\a{ok} is set to true.
+*/
+quint32 QScriptString::toArrayIndex(bool *ok) const
+{
+ Q_D(const QScriptString);
+ if (!d) {
+ if (ok)
+ *ok = false;
+ return -1;
+ }
+ bool tmp;
+ bool *okok = ok ? ok : &tmp;
+ quint32 result = d->identifier.toArrayIndex(okok);
+ if (!*okok)
+ result = -1;
+ return result;
+}
+
+/*!
Returns the string that this QScriptString represents, or a
null string if this QScriptString is not valid.
diff --git a/src/script/api/qscriptstring.h b/src/script/api/qscriptstring.h
index 40d156c..bf5d1d5 100644
--- a/src/script/api/qscriptstring.h
+++ b/src/script/api/qscriptstring.h
@@ -67,6 +67,8 @@ public:
bool operator==(const QScriptString &other) const;
bool operator!=(const QScriptString &other) const;
+ quint32 toArrayIndex(bool *ok = 0) const;
+
QString toString() const;
operator QString() const;
diff --git a/src/script/api/qscriptstring_p.h b/src/script/api/qscriptstring_p.h
index d3bb47d..8e344e8 100644
--- a/src/script/api/qscriptstring_p.h
+++ b/src/script/api/qscriptstring_p.h
@@ -77,6 +77,8 @@ public:
inline void detachFromEngine();
+ static inline bool isValid(const QScriptString &q);
+
QBasicAtomicInt ref;
QScriptEnginePrivate *engine;
JSC::Identifier identifier;
@@ -114,6 +116,11 @@ inline void QScriptStringPrivate::detachFromEngine()
identifier = JSC::Identifier();
}
+inline bool QScriptStringPrivate::isValid(const QScriptString &q)
+{
+ return (q.d_ptr && q.d_ptr->engine);
+}
+
QT_END_NAMESPACE
#endif
diff --git a/src/script/api/qscriptvalue.cpp b/src/script/api/qscriptvalue.cpp
index 26cd314..52a1e6d 100644
--- a/src/script/api/qscriptvalue.cpp
+++ b/src/script/api/qscriptvalue.cpp
@@ -276,41 +276,36 @@ qsreal ToInteger(qsreal n)
} // namespace QScript
-QScriptValue QScriptValuePrivate::property(const JSC::Identifier &id, int resolveMode) const
+QScriptValue QScriptValuePrivate::propertyHelper(const JSC::Identifier &id, int resolveMode) const
{
- Q_ASSERT(isObject());
- JSC::ExecState *exec = engine->currentFrame;
- JSC::JSObject *object = JSC::asObject(jscValue);
- JSC::PropertySlot slot(const_cast<JSC::JSObject*>(object));
JSC::JSValue result;
- if (const_cast<JSC::JSObject*>(object)->getOwnPropertySlot(exec, id, slot)) {
- result = slot.getValue(exec, id);
- } else {
- if ((resolveMode & QScriptValue::ResolvePrototype)
- && const_cast<JSC::JSObject*>(object)->getPropertySlot(exec, id, slot)) {
+ if (!(resolveMode & QScriptValue::ResolvePrototype)) {
+ // Look in the object's own properties
+ JSC::ExecState *exec = engine->currentFrame;
+ JSC::JSObject *object = JSC::asObject(jscValue);
+ JSC::PropertySlot slot(object);
+ if (object->getOwnPropertySlot(exec, id, slot))
result = slot.getValue(exec, id);
- } else if (resolveMode & QScriptValue::ResolveScope) {
- // ### check if it's a function object and look in the scope chain
- QScriptValue scope = property(QString::fromLatin1("__qt_scope__"), QScriptValue::ResolveLocal);
- if (scope.isObject())
- result = engine->scriptValueToJSCValue(QScriptValuePrivate::get(scope)->property(id, resolveMode));
- }
+ }
+ if (!result && (resolveMode & QScriptValue::ResolveScope)) {
+ // ### check if it's a function object and look in the scope chain
+ QScriptValue scope = property(QString::fromLatin1("__qt_scope__"), QScriptValue::ResolveLocal);
+ if (scope.isObject())
+ result = engine->scriptValueToJSCValue(QScriptValuePrivate::get(scope)->property(id, resolveMode));
}
return engine->scriptValueFromJSCValue(result);
}
-QScriptValue QScriptValuePrivate::property(quint32 index, int resolveMode) const
+QScriptValue QScriptValuePrivate::propertyHelper(quint32 index, int resolveMode) const
{
- Q_ASSERT(isObject());
- JSC::ExecState *exec = engine->currentFrame;
- JSC::JSObject *object = JSC::asObject(jscValue);
- JSC::PropertySlot slot(const_cast<JSC::JSObject*>(object));
JSC::JSValue result;
- if (const_cast<JSC::JSObject*>(object)->getOwnPropertySlot(exec, index, slot)) {
- result = slot.getValue(exec, index);
- } else if ((resolveMode & QScriptValue::ResolvePrototype)
- && const_cast<JSC::JSObject*>(object)->getPropertySlot(exec, index, slot)) {
- result = slot.getValue(exec, index);
+ if (!(resolveMode & QScriptValue::ResolvePrototype)) {
+ // Look in the object's own properties
+ JSC::ExecState *exec = engine->currentFrame;
+ JSC::JSObject *object = JSC::asObject(jscValue);
+ JSC::PropertySlot slot(object);
+ if (object->getOwnPropertySlot(exec, index, slot))
+ result = slot.getValue(exec, index);
}
return engine->scriptValueFromJSCValue(result);
}
@@ -318,8 +313,8 @@ QScriptValue QScriptValuePrivate::property(quint32 index, int resolveMode) const
void QScriptValuePrivate::setProperty(const JSC::Identifier &id, const QScriptValue &value,
const QScriptValue::PropertyFlags &flags)
{
- QScriptEngine *valueEngine = value.engine();
- if (valueEngine && (QScriptEnginePrivate::get(valueEngine) != engine)) {
+ QScriptEnginePrivate *valueEngine = QScriptValuePrivate::getEngine(value);
+ if (valueEngine && (valueEngine != engine)) {
qWarning("QScriptValue::setProperty(%s) failed: "
"cannot set value created in a different engine",
qPrintable(QString(id.ustring())));
@@ -443,22 +438,6 @@ void QScriptValuePrivate::setVariantValue(const QVariant &value)
static_cast<QScript::QVariantDelegate*>(delegate)->setValue(value);
}
-void QScriptValuePrivate::saveException(JSC::ExecState *exec, JSC::JSValue *val)
-{
- if (exec) {
- *val = exec->exception();
- exec->clearException();
- } else {
- *val = JSC::JSValue();
- }
-}
-
-void QScriptValuePrivate::restoreException(JSC::ExecState *exec, JSC::JSValue val)
-{
- if (exec && val)
- exec->setException(val);
-}
-
void QScriptValuePrivate::detachFromEngine()
{
if (isJSC())
@@ -822,8 +801,8 @@ void QScriptValue::setPrototype(const QScriptValue &prototype)
Q_D(QScriptValue);
if (!d || !d->isObject())
return;
- if (prototype.isValid() && prototype.engine()
- && (prototype.engine() != engine())) {
+ if (prototype.isValid() && QScriptValuePrivate::getEngine(prototype)
+ && (QScriptValuePrivate::getEngine(prototype) != d->engine)) {
qWarning("QScriptValue::setPrototype() failed: "
"cannot set a prototype created in "
"a different engine");
@@ -864,8 +843,8 @@ void QScriptValue::setScope(const QScriptValue &scope)
Q_D(QScriptValue);
if (!d || !d->isObject())
return;
- if (scope.isValid() && scope.engine()
- && (scope.engine() != engine())) {
+ if (scope.isValid() && QScriptValuePrivate::getEngine(scope)
+ && (QScriptValuePrivate::getEngine(scope) != d->engine)) {
qWarning("QScriptValue::setScope() failed: "
"cannot set a scope object created in "
"a different engine");
@@ -896,7 +875,7 @@ bool QScriptValue::instanceOf(const QScriptValue &other) const
Q_D(const QScriptValue);
if (!d || !d->isObject() || !other.isObject())
return false;
- if (other.engine() != engine()) {
+ if (QScriptValuePrivate::getEngine(other) != d->engine) {
qWarning("QScriptValue::instanceof: "
"cannot perform operation on a value created in "
"a different engine");
@@ -1083,10 +1062,12 @@ static bool Equals(QScriptValue lhs, QScriptValue rhs)
*/
bool QScriptValue::lessThan(const QScriptValue &other) const
{
+ Q_D(const QScriptValue);
// no equivalent function in JSC? There's a jsLess() in VM/Machine.cpp
if (!isValid() || !other.isValid())
return false;
- if (other.engine() && engine() && (other.engine() != engine())) {
+ if (QScriptValuePrivate::getEngine(other) && d->engine
+ && (QScriptValuePrivate::getEngine(other) != d->engine)) {
qWarning("QScriptValue::lessThan: "
"cannot compare to a value created in "
"a different engine");
@@ -1124,7 +1105,8 @@ bool QScriptValue::equals(const QScriptValue &other) const
Q_D(const QScriptValue);
if (!d || !other.d_ptr)
return (d_ptr == other.d_ptr);
- if (other.engine() && engine() && (other.engine() != engine())) {
+ if (QScriptValuePrivate::getEngine(other) && d->engine
+ && (QScriptValuePrivate::getEngine(other) != d->engine)) {
qWarning("QScriptValue::equals: "
"cannot compare to a value created in "
"a different engine");
@@ -1173,7 +1155,8 @@ bool QScriptValue::strictlyEquals(const QScriptValue &other) const
Q_D(const QScriptValue);
if (!d || !other.d_ptr)
return (d_ptr == other.d_ptr);
- if (other.engine() && engine() && (other.engine() != engine())) {
+ if (QScriptValuePrivate::getEngine(other) && d->engine
+ && (QScriptValuePrivate::getEngine(other) != d->engine)) {
qWarning("QScriptValue::strictlyEquals: "
"cannot compare to a value created in "
"a different engine");
@@ -1725,7 +1708,8 @@ void QScriptValue::setProperty(quint32 arrayIndex, const QScriptValue &value,
Q_D(QScriptValue);
if (!d || !d->isObject())
return;
- if (value.engine() && (value.engine() != engine())) {
+ if (QScriptValuePrivate::getEngine(value)
+ && (QScriptValuePrivate::getEngine(value) != d->engine)) {
qWarning("QScriptValue::setProperty() failed: "
"cannot set value created in a different engine");
return;
@@ -1775,7 +1759,7 @@ QScriptValue QScriptValue::property(const QScriptString &name,
const ResolveFlags &mode) const
{
Q_D(const QScriptValue);
- if (!d || !d->isObject() || !name.isValid())
+ if (!d || !d->isObject() || !QScriptStringPrivate::isValid(name))
return QScriptValue();
return d->property(name.d_ptr->identifier, mode);
}
@@ -1798,7 +1782,7 @@ void QScriptValue::setProperty(const QScriptString &name,
const PropertyFlags &flags)
{
Q_D(QScriptValue);
- if (!d || !d->isObject() || !name.isValid())
+ if (!d || !d->isObject() || !QScriptStringPrivate::isValid(name))
return;
d->setProperty(name.d_ptr->identifier, value, flags);
}
@@ -1832,7 +1816,7 @@ QScriptValue::PropertyFlags QScriptValue::propertyFlags(const QScriptString &nam
const ResolveFlags &mode) const
{
Q_D(const QScriptValue);
- if (!d || !d->isObject() || !name.isValid())
+ if (!d || !d->isObject() || !QScriptStringPrivate::isValid(name))
return 0;
return d->propertyFlags(name.d_ptr->identifier, mode);
}
@@ -1872,7 +1856,8 @@ QScriptValue QScriptValue::call(const QScriptValue &thisObject,
if (callType == JSC::CallTypeNone)
return QScriptValue();
- if (thisObject.engine() && (thisObject.engine() != engine())) {
+ if (QScriptValuePrivate::getEngine(thisObject)
+ && (QScriptValuePrivate::getEngine(thisObject) != d->engine)) {
qWarning("QScriptValue::call() failed: "
"cannot call function with thisObject created in "
"a different engine");
@@ -1890,7 +1875,8 @@ QScriptValue QScriptValue::call(const QScriptValue &thisObject,
const QScriptValue &arg = args.at(i);
if (!arg.isValid()) {
argsVector[i] = JSC::jsUndefined();
- } else if (arg.engine() && (arg.engine() != engine())) {
+ } else if (QScriptValuePrivate::getEngine(arg)
+ && (QScriptValuePrivate::getEngine(arg) != d->engine)) {
qWarning("QScriptValue::call() failed: "
"cannot call function with argument created in "
"a different engine");
@@ -1947,7 +1933,8 @@ QScriptValue QScriptValue::call(const QScriptValue &thisObject,
if (callType == JSC::CallTypeNone)
return QScriptValue();
- if (thisObject.engine() && (thisObject.engine() != engine())) {
+ if (QScriptValuePrivate::getEngine(thisObject)
+ && (QScriptValuePrivate::getEngine(thisObject) != d->engine)) {
qWarning("QScriptValue::call() failed: "
"cannot call function with thisObject created in "
"a different engine");
diff --git a/src/script/api/qscriptvalue_p.h b/src/script/api/qscriptvalue_p.h
index 9634515..c322a37 100644
--- a/src/script/api/qscriptvalue_p.h
+++ b/src/script/api/qscriptvalue_p.h
@@ -100,8 +100,17 @@ public:
return QScriptValue(d);
}
- QScriptValue property(const JSC::Identifier &id, int resolveMode) const;
- QScriptValue property(quint32 index, int resolveMode) const;
+ static inline QScriptEnginePrivate *getEngine(const QScriptValue &q)
+ {
+ if (!q.d_ptr)
+ return 0;
+ return q.d_ptr->engine;
+ }
+
+ inline QScriptValue property(const JSC::Identifier &id, int resolveMode) const;
+ QScriptValue propertyHelper(const JSC::Identifier &id, int resolveMode) const;
+ inline QScriptValue property(quint32 index, int resolveMode) const;
+ QScriptValue propertyHelper(quint32, int resolveMode) const;
inline QScriptValue property(const QString &, int resolveMode) const;
void setProperty(const JSC::Identifier &id, const QScriptValue &value,
const QScriptValue::PropertyFlags &flags);
@@ -118,8 +127,8 @@ public:
return -1;
}
- static void saveException(JSC::ExecState*, JSC::JSValue*);
- static void restoreException(JSC::ExecState*, JSC::JSValue);
+ static inline void saveException(JSC::ExecState*, JSC::JSValue*);
+ static inline void restoreException(JSC::ExecState*, JSC::JSValue);
QScriptEnginePrivate *engine;
Type type;
diff --git a/src/script/bridge/qscriptclassobject.cpp b/src/script/bridge/qscriptclassobject.cpp
index 0d88532..1dde98b 100644
--- a/src/script/bridge/qscriptclassobject.cpp
+++ b/src/script/bridge/qscriptclassobject.cpp
@@ -70,17 +70,6 @@ ClassObjectDelegate::~ClassObjectDelegate()
{
}
-QScriptClass *ClassObjectDelegate::scriptClass() const
-{
- return m_scriptClass;
-}
-
-void ClassObjectDelegate::setScriptClass(QScriptClass *scriptClass)
-{
- Q_ASSERT(scriptClass != 0);
- m_scriptClass = scriptClass;
-}
-
QScriptObjectDelegate::Type ClassObjectDelegate::type() const
{
return ClassObject;
diff --git a/src/script/bridge/qscriptclassobject_p.h b/src/script/bridge/qscriptclassobject_p.h
index f5cce76..9b34244 100644
--- a/src/script/bridge/qscriptclassobject_p.h
+++ b/src/script/bridge/qscriptclassobject_p.h
@@ -70,8 +70,8 @@ public:
ClassObjectDelegate(QScriptClass *scriptClass);
~ClassObjectDelegate();
- QScriptClass *scriptClass() const;
- void setScriptClass(QScriptClass *scriptClass);
+ inline QScriptClass *scriptClass() const;
+ inline void setScriptClass(QScriptClass *scriptClass);
virtual Type type() const;
@@ -105,6 +105,17 @@ private:
QScriptClass *m_scriptClass;
};
+inline QScriptClass *ClassObjectDelegate::scriptClass() const
+{
+ return m_scriptClass;
+}
+
+inline void ClassObjectDelegate::setScriptClass(QScriptClass *scriptClass)
+{
+ Q_ASSERT(scriptClass != 0);
+ m_scriptClass = scriptClass;
+}
+
} // namespace QScript
QT_END_NAMESPACE
diff --git a/src/script/bridge/qscriptobject.cpp b/src/script/bridge/qscriptobject.cpp
index 55644fe..1fdf0b1 100644
--- a/src/script/bridge/qscriptobject.cpp
+++ b/src/script/bridge/qscriptobject.cpp
@@ -70,36 +70,6 @@ QScriptObject::~QScriptObject()
delete d;
}
-JSC::JSValue QScriptObject::data() const
-{
- if (!d)
- return JSC::JSValue();
- return d->data;
-}
-
-void QScriptObject::setData(JSC::JSValue data)
-{
- if (!d)
- d = new Data();
- d->data = data;
-}
-
-QScriptObjectDelegate *QScriptObject::delegate() const
-{
- if (!d)
- return 0;
- return d->delegate;
-}
-
-void QScriptObject::setDelegate(QScriptObjectDelegate *delegate)
-{
- if (!d)
- d = new Data();
- else
- delete d->delegate;
- d->delegate = delegate;
-}
-
bool QScriptObject::getOwnPropertySlot(JSC::ExecState* exec,
const JSC::Identifier& propertyName,
JSC::PropertySlot& slot)
diff --git a/src/script/bridge/qscriptobject_p.h b/src/script/bridge/qscriptobject_p.h
index c1cee31..9dd9d88 100644
--- a/src/script/bridge/qscriptobject_p.h
+++ b/src/script/bridge/qscriptobject_p.h
@@ -104,11 +104,11 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::ImplementsHasInstance | JSC::OverridesHasInstance));
}
- JSC::JSValue data() const;
- void setData(JSC::JSValue data);
+ inline JSC::JSValue data() const;
+ inline void setData(JSC::JSValue data);
- QScriptObjectDelegate *delegate() const;
- void setDelegate(QScriptObjectDelegate *delegate);
+ inline QScriptObjectDelegate *delegate() const;
+ inline void setDelegate(QScriptObjectDelegate *delegate);
protected:
Data *d;
@@ -158,6 +158,36 @@ private:
Q_DISABLE_COPY(QScriptObjectDelegate)
};
+inline JSC::JSValue QScriptObject::data() const
+{
+ if (!d)
+ return JSC::JSValue();
+ return d->data;
+}
+
+inline void QScriptObject::setData(JSC::JSValue data)
+{
+ if (!d)
+ d = new Data();
+ d->data = data;
+}
+
+inline QScriptObjectDelegate *QScriptObject::delegate() const
+{
+ if (!d)
+ return 0;
+ return d->delegate;
+}
+
+inline void QScriptObject::setDelegate(QScriptObjectDelegate *delegate)
+{
+ if (!d)
+ d = new Data();
+ else
+ delete d->delegate;
+ d->delegate = delegate;
+}
+
QT_END_NAMESPACE
#endif
diff --git a/src/script/bridge/qscriptqobject.cpp b/src/script/bridge/qscriptqobject.cpp
index 345489f..caf1018 100644
--- a/src/script/bridge/qscriptqobject.cpp
+++ b/src/script/bridge/qscriptqobject.cpp
@@ -1190,6 +1190,7 @@ bool QObjectDelegate::getOwnPropertySlot(QScriptObject *object, JSC::ExecState *
const JSC::Identifier &propertyName,
JSC::PropertySlot &slot)
{
+#ifndef QT_NO_PROPERTIES
QByteArray name = QString(propertyName.ustring()).toLatin1();
QObject *qobject = data->value;
if (!qobject) {
@@ -1296,12 +1297,16 @@ bool QObjectDelegate::getOwnPropertySlot(QScriptObject *object, JSC::ExecState *
}
return QScriptObjectDelegate::getOwnPropertySlot(object, exec, propertyName, slot);
+#else //QT_NO_PROPERTIES
+ return false;
+#endif //QT_NO_PROPERTIES
}
void QObjectDelegate::put(QScriptObject *object, JSC::ExecState* exec,
const JSC::Identifier& propertyName,
JSC::JSValue value, JSC::PutPropertySlot &slot)
{
+#ifndef QT_NO_PROPERTIES
QByteArray name = ((QString)propertyName.ustring()).toLatin1();
QObject *qobject = data->value;
if (!qobject) {
@@ -1392,12 +1397,14 @@ void QObjectDelegate::put(QScriptObject *object, JSC::ExecState* exec,
}
QScriptObjectDelegate::put(object, exec, propertyName, value, slot);
+#endif //QT_NO_PROPERTIES
}
bool QObjectDelegate::deleteProperty(QScriptObject *object, JSC::ExecState *exec,
const JSC::Identifier& propertyName,
bool checkDontDelete)
{
+#ifndef QT_NO_PROPERTIES
QByteArray name = ((QString)propertyName.ustring()).toLatin1();
QObject *qobject = data->value;
if (!qobject) {
@@ -1436,6 +1443,9 @@ bool QObjectDelegate::deleteProperty(QScriptObject *object, JSC::ExecState *exec
}
return QScriptObjectDelegate::deleteProperty(object, exec, propertyName, checkDontDelete);
+#else //QT_NO_PROPERTIES
+ return false;
+#endif //QT_NO_PROPERTIES
}
bool QObjectDelegate::getPropertyAttributes(const QScriptObject *object,
@@ -1443,6 +1453,7 @@ bool QObjectDelegate::getPropertyAttributes(const QScriptObject *object,
const JSC::Identifier &propertyName,
unsigned &attributes) const
{
+#ifndef QT_NO_PROPERTIES
// ### try to avoid duplicating logic from getOwnPropertySlot()
QByteArray name = ((QString)propertyName.ustring()).toLatin1();
QObject *qobject = data->value;
@@ -1511,12 +1522,16 @@ bool QObjectDelegate::getPropertyAttributes(const QScriptObject *object,
}
return QScriptObjectDelegate::getPropertyAttributes(object, exec, propertyName, attributes);
+#else //QT_NO_PROPERTIES
+ return false;
+#endif //QT_NO_PROPERTIES
}
void QObjectDelegate::getOwnPropertyNames(QScriptObject *object, JSC::ExecState *exec,
JSC::PropertyNameArray &propertyNames,
bool includeNonEnumerable)
{
+#ifndef QT_NO_PROPERTIES
QObject *qobject = data->value;
if (!qobject) {
QString message = QString::fromLatin1("cannot get property names of deleted QObject");
@@ -1560,6 +1575,7 @@ void QObjectDelegate::getOwnPropertyNames(QScriptObject *object, JSC::ExecState
}
QScriptObjectDelegate::getOwnPropertyNames(object, exec, propertyNames, includeNonEnumerable);
+#endif //QT_NO_PROPERTIES
}
void QObjectDelegate::markChildren(QScriptObject *object, JSC::MarkStack& markStack)
diff --git a/src/sql/drivers/oci/qsql_oci.cpp b/src/sql/drivers/oci/qsql_oci.cpp
index 468e02e..17f2c92 100644
--- a/src/sql/drivers/oci/qsql_oci.cpp
+++ b/src/sql/drivers/oci/qsql_oci.cpp
@@ -1257,7 +1257,11 @@ bool QOCICols::execBatch(QOCIResultPrivate *d, QVector<QVariant> &boundValues, b
case QVariant::String: {
col.bindAs = SQLT_STR;
for (uint j = 0; j < col.recordCount; ++j) {
- uint len = boundValues.at(i).toList().at(j).toString().length() + 1;
+ uint len;
+ if(d->isOutValue(i))
+ len = boundValues.at(i).toList().at(j).toString().capacity() + 1;
+ else
+ len = boundValues.at(i).toList().at(j).toString().length() + 1;
if (len > col.maxLen)
col.maxLen = len;
}
@@ -1268,7 +1272,10 @@ bool QOCICols::execBatch(QOCIResultPrivate *d, QVector<QVariant> &boundValues, b
default: {
col.bindAs = SQLT_LBI;
for (uint j = 0; j < col.recordCount; ++j) {
- col.lengths[j] = boundValues.at(i).toList().at(j).toByteArray().size();
+ if(d->isOutValue(i))
+ col.lengths[j] = boundValues.at(i).toList().at(j).toByteArray().capacity();
+ else
+ col.lengths[j] = boundValues.at(i).toList().at(j).toByteArray().size();
if (col.lengths[j] > col.maxLen)
col.maxLen = col.lengths[j];
}
diff --git a/src/sql/drivers/psql/qsql_psql.cpp b/src/sql/drivers/psql/qsql_psql.cpp
index 4b7c2b5..981b750 100644
--- a/src/sql/drivers/psql/qsql_psql.cpp
+++ b/src/sql/drivers/psql/qsql_psql.cpp
@@ -357,7 +357,7 @@ QVariant QPSQLResult::data(int i)
}
return QString::fromAscii(val);
}
- return strtod(val, 0);
+ return QString::fromAscii(val).toDouble();
case QVariant::Date:
if (val[0] == '\0') {
return QVariant(QDate());
@@ -1150,7 +1150,7 @@ QString QPSQLDriver::formatValue(const QSqlField &field, bool trimStrings) const
case QVariant::Time:
#ifndef QT_NO_DATESTRING
if (field.value().toTime().isValid()) {
- r = QLatin1Char('\'') + field.value().toTime().toString(Qt::ISODate) + QLatin1Char('\'');
+ r = QLatin1Char('\'') + field.value().toTime().toString(QLatin1String("hh:mm:ss.zzz")) + QLatin1Char('\'');
} else
#endif
{
diff --git a/src/sql/drivers/sqlite/qsql_sqlite.cpp b/src/sql/drivers/sqlite/qsql_sqlite.cpp
index 2766cca..8355de2 100644
--- a/src/sql/drivers/sqlite/qsql_sqlite.cpp
+++ b/src/sql/drivers/sqlite/qsql_sqlite.cpp
@@ -228,13 +228,9 @@ bool QSQLiteResultPrivate::fetchNext(QSqlCachedResult::ValueCache &values, int i
values[i + idx] = sqlite3_column_int64(stmt, i);
break;
case QSql::LowPrecisionDouble:
- values[i + idx] = sqlite3_column_double(stmt, i);
- break;
case QSql::HighPrecision:
default:
- values[i + idx] = QString::fromUtf16(static_cast<const ushort *>(
- sqlite3_column_text16(stmt, i)),
- sqlite3_column_bytes16(stmt, i) / sizeof(ushort));
+ values[i + idx] = sqlite3_column_double(stmt, i);
break;
};
break;
diff --git a/src/sql/drivers/tds/qsql_tds.cpp b/src/sql/drivers/tds/qsql_tds.cpp
index 2508833..ca1502c 100644
--- a/src/sql/drivers/tds/qsql_tds.cpp
+++ b/src/sql/drivers/tds/qsql_tds.cpp
@@ -164,13 +164,13 @@ Q_GLOBAL_STATIC(QTDSErrorHash, errs)
extern "C" {
static int CS_PUBLIC qTdsMsgHandler (DBPROCESS* dbproc,
- DBINT /*msgno*/,
+ DBINT msgno,
int msgstate,
int severity,
char* msgtext,
- char* /*srvname*/,
+ char* srvname,
char* /*procname*/,
- int /*line*/)
+ int line)
{
QTDSResultPrivate* p = errs()->value(dbproc);
@@ -181,9 +181,20 @@ static int CS_PUBLIC qTdsMsgHandler (DBPROCESS* dbproc,
}
if (severity > 0) {
- QString errMsg = QString::fromLatin1("%1 (%2)").arg(QString::fromAscii(msgtext)).arg(
- msgstate);
+ QString errMsg = QString::fromLatin1("%1 (Msg %2, Level %3, State %4, Server %5, Line %6)")
+ .arg(QString::fromAscii(msgtext))
+ .arg(msgno)
+ .arg(severity)
+ .arg(msgstate)
+ .arg(QString::fromAscii(srvname))
+ .arg(line);
p->addErrorMsg(errMsg);
+ if (severity > 10) {
+ // Severe messages are really errors in the sense of lastError
+ errMsg = p->getErrorMsgs();
+ p->lastError = qMakeError(errMsg, QSqlError::UnknownError, msgno);
+ p->clearErrorMsgs();
+ }
}
return INT_CANCEL;
diff --git a/src/sql/models/qsqlquerymodel.cpp b/src/sql/models/qsqlquerymodel.cpp
index a72ad8c..1719239 100644
--- a/src/sql/models/qsqlquerymodel.cpp
+++ b/src/sql/models/qsqlquerymodel.cpp
@@ -417,7 +417,7 @@ bool QSqlQueryModel::setHeaderData(int section, Qt::Orientation orientation,
const QVariant &value, int role)
{
Q_D(QSqlQueryModel);
- if (orientation != Qt::Horizontal || section < 0)
+ if (orientation != Qt::Horizontal || section < 0 || columnCount() <= section)
return false;
if (d->headers.size() <= section)
diff --git a/src/sql/models/qsqltablemodel.cpp b/src/sql/models/qsqltablemodel.cpp
index df94080..e5c6550 100644
--- a/src/sql/models/qsqltablemodel.cpp
+++ b/src/sql/models/qsqltablemodel.cpp
@@ -406,7 +406,7 @@ bool QSqlTableModel::select()
QSqlQuery qu(query, d->db);
setQuery(qu);
- if (!qu.isActive()) {
+ if (!qu.isActive() || lastError().isValid()) {
// something went wrong - revert to non-select state
d->initRecordAndPrimaryIndex();
return false;
diff --git a/src/src.pro b/src/src.pro
index 238f534..5307612 100644
--- a/src/src.pro
+++ b/src/src.pro
@@ -32,6 +32,7 @@ contains(QT_CONFIG, webkit) {
}
contains(QT_CONFIG, script): SRC_SUBDIRS += src_script
contains(QT_CONFIG, scripttools): SRC_SUBDIRS += src_scripttools
+contains(QT_CONFIG, declarative): SRC_SUBDIRS += src_declarative
SRC_SUBDIRS += src_plugins
src_s60main.subdir = $$QT_SOURCE_TREE/src/s60main
@@ -92,6 +93,8 @@ src_javascriptcore.subdir = $$QT_SOURCE_TREE/src/3rdparty/webkit/JavaScriptCore
src_javascriptcore.target = sub-javascriptcore
src_webkit.subdir = $$QT_SOURCE_TREE/src/3rdparty/webkit/WebCore
src_webkit.target = sub-webkit
+src_declarative.subdir = $$QT_SOURCE_TREE/src/declarative
+src_declarative.target = sub-declarative
#CONFIG += ordered
!wince*:!symbian:!ordered {
@@ -118,10 +121,12 @@ src_webkit.target = sub-webkit
src_tools_uic3.depends = src_qt3support src_xml
src_tools_idc.depends = src_corelib
src_tools_activeqt.depends = src_tools_idc src_gui
+ src_declarative.depends = src_xml src_gui src_script src_network src_svg
src_plugins.depends = src_gui src_sql src_svg
contains(QT_CONFIG, webkit) {
src_webkit.depends = src_gui src_sql src_network src_xml
contains(QT_CONFIG, phonon):src_webkit.depends += src_phonon
+ contains(QT_CONFIG, declarative):src_declarative.depends += src_webkit
#exists($$QT_SOURCE_TREE/src/3rdparty/webkit/JavaScriptCore/JavaScriptCore.pro): src_webkit.depends += src_javascriptcore
}
contains(QT_CONFIG, qt3support): src_plugins.depends += src_qt3support
diff --git a/src/xmlpatterns/acceltree/qacceltree_p.h b/src/xmlpatterns/acceltree/qacceltree_p.h
index 8da61c9..ee7d6f6 100644
--- a/src/xmlpatterns/acceltree/qacceltree_p.h
+++ b/src/xmlpatterns/acceltree/qacceltree_p.h
@@ -89,7 +89,7 @@ namespace QPatternist
* @see <a href"http://www.inf.uni-konstanz.de/dbis/publications/download/accelerating-locsteps.pdf">Accelerating
* XPath Evaluation in Any RDBMS, Torsten Grust</a>
*/
- class AccelTree : public QAbstractXmlNodeModel
+ class Q_AUTOTEST_EXPORT AccelTree : public QAbstractXmlNodeModel
{
friend class AccelTreePrivate;
public:
diff --git a/src/xmlpatterns/acceltree/qcompressedwhitespace_p.h b/src/xmlpatterns/acceltree/qcompressedwhitespace_p.h
index bb547bd..27e3c22 100644
--- a/src/xmlpatterns/acceltree/qcompressedwhitespace_p.h
+++ b/src/xmlpatterns/acceltree/qcompressedwhitespace_p.h
@@ -84,7 +84,7 @@ namespace QPatternist
*
* @author Frans Englich <frans.englich@nokia.com>
*/
- class CompressedWhitespace
+ class Q_AUTOTEST_EXPORT CompressedWhitespace
{
public:
/**
diff --git a/src/xmlpatterns/api/qxmlquery.h b/src/xmlpatterns/api/qxmlquery.h
index abfddc0..37e4fe1 100644
--- a/src/xmlpatterns/api/qxmlquery.h
+++ b/src/xmlpatterns/api/qxmlquery.h
@@ -74,7 +74,7 @@ namespace QPatternist
class XsdSchemaParser;
class XsdValidatingInstanceReader;
class VariableLoader;
-};
+}
class Q_XMLPATTERNS_EXPORT QXmlQuery
{
diff --git a/src/xmlpatterns/expr/qncnameconstructor_p.h b/src/xmlpatterns/expr/qncnameconstructor_p.h
index 6875c48..bbf9726 100644
--- a/src/xmlpatterns/expr/qncnameconstructor_p.h
+++ b/src/xmlpatterns/expr/qncnameconstructor_p.h
@@ -112,7 +112,7 @@ namespace QPatternist
{
return QtXmlPatterns::tr("The target name in a processing instruction "
"cannot be %1 in any combination of upper "
- "and lower case. Therefore, is %2 invalid.")
+ "and lower case. Therefore, %2 is invalid.")
.arg(formatKeyword("xml"), formatKeyword(lexTarget));
}
};
diff --git a/src/xmlpatterns/parser/qquerytransformparser.cpp b/src/xmlpatterns/parser/qquerytransformparser.cpp
index 5894b83..c250d0c 100644
--- a/src/xmlpatterns/parser/qquerytransformparser.cpp
+++ b/src/xmlpatterns/parser/qquerytransformparser.cpp
@@ -418,7 +418,7 @@ static void registerNamedTemplate(const QXmlName &name,
if(e)
{
- parseInfo->staticContext->error(QtXmlPatterns::tr("A template by name %1 "
+ parseInfo->staticContext->error(QtXmlPatterns::tr("A template with name %1 "
"has already been declared.")
.arg(formatKeyword(parseInfo->staticContext->namePool(),
name)),
@@ -882,7 +882,7 @@ static void variableUnavailable(const QXmlName &variableName,
const ParserContext *const parseInfo,
const YYLTYPE &location)
{
- parseInfo->staticContext->error(QtXmlPatterns::tr("No variable by name %1 exists")
+ parseInfo->staticContext->error(QtXmlPatterns::tr("No variable with name %1 exists")
.arg(formatKeyword(parseInfo->staticContext->namePool(), variableName)),
ReportContext::XPST0008, fromYYLTYPE(location, parseInfo));
}
@@ -4028,7 +4028,7 @@ yyreduce:
const AtomicValue::Ptr val(Decimal::fromLexical((yyvsp[(2) - (2)].sval)));
if(val->hasError())
{
- parseInfo->staticContext->error(QtXmlPatterns::tr("The value of attribute %1 must of type %2, which %3 isn't.")
+ parseInfo->staticContext->error(QtXmlPatterns::tr("The value of attribute %1 must be of type %2, which %3 isn't.")
.arg(formatKeyword(QLatin1String("priority")),
formatType(parseInfo->staticContext->namePool(), BuiltinTypes::xsDecimal),
formatData((yyvsp[(2) - (2)].sval))),
@@ -4104,7 +4104,7 @@ yyreduce:
else if ((yyvsp[(5) - (7)].sval) == CommonNamespaces::XML || (yyvsp[(3) - (7)].sval) == QLatin1String("xml"))
{
parseInfo->staticContext->error(QtXmlPatterns::tr(
- "The prefix %1 can not be bound. By default, it is already bound "
+ "The prefix %1 cannot be bound. By default, it is already bound "
"to the namespace %2.")
.arg(formatKeyword("xml"))
.arg(formatURI(CommonNamespaces::XML)),
@@ -4415,7 +4415,7 @@ yyreduce:
allowedIn(QXmlQuery::XQuery10, parseInfo, (yyloc), (yyvsp[(3) - (9)].enums.Bool));
if(variableByName((yyvsp[(5) - (9)].qName), parseInfo))
{
- parseInfo->staticContext->error(QtXmlPatterns::tr("A variable by name %1 has already "
+ parseInfo->staticContext->error(QtXmlPatterns::tr("A variable with name %1 has already "
"been declared.")
.arg(formatKeyword(parseInfo->staticContext->namePool()->toLexical((yyvsp[(5) - (9)].qName)))),
parseInfo->isXSLT() ? ReportContext::XTSE0630 : ReportContext::XQST0049,
@@ -4455,7 +4455,7 @@ yyreduce:
else
{
parseInfo->staticContext->error(QtXmlPatterns::tr("No value is available for the external "
- "variable by name %1.")
+ "variable with name %1.")
.arg(formatKeyword(parseInfo->staticContext->namePool(), (yyvsp[(5) - (9)].qName))),
parseInfo->isXSLT() ? ReportContext::XTDE0050 : ReportContext::XPDY0002,
fromYYLTYPE((yyloc), parseInfo));
@@ -4674,7 +4674,7 @@ yyreduce:
{
if((*it)->name() == (yyvsp[(3) - (3)].functionArgument)->name())
{
- parseInfo->staticContext->error(QtXmlPatterns::tr("An argument by name %1 has already "
+ parseInfo->staticContext->error(QtXmlPatterns::tr("An argument with name %1 has already "
"been declared. Every argument name "
"must be unique.")
.arg(formatKeyword(parseInfo->staticContext->namePool(), (yyvsp[(3) - (3)].functionArgument)->name())),
@@ -6679,7 +6679,7 @@ yyreduce:
(yyval.expr) = create(func, (yyloc), parseInfo);
else
{
- parseInfo->staticContext->error(QtXmlPatterns::tr("No function by name %1 is available.")
+ parseInfo->staticContext->error(QtXmlPatterns::tr("No function with name %1 is available.")
.arg(formatKeyword(parseInfo->staticContext->namePool(), (yyvsp[(1) - (4)].qName))),
ReportContext::XPST0017, fromYYLTYPE((yyloc), parseInfo));
}
@@ -6929,7 +6929,7 @@ yyreduce:
&ryy, true);
if(declaredAttributes.contains(att))
{
- parseInfo->staticContext->error(QtXmlPatterns::tr("An attribute by name %1 has already appeared on this element.")
+ parseInfo->staticContext->error(QtXmlPatterns::tr("An attribute with name %1 has already appeared on this element.")
.arg(formatKeyword(parseInfo->staticContext->namePool(), att)),
ReportContext::XQST0040, fromYYLTYPE((yyloc), parseInfo));
diff --git a/src/xmlpatterns/schema/qxsdschemahelper.cpp b/src/xmlpatterns/schema/qxsdschemahelper.cpp
index e9f32c2..7813808 100644
--- a/src/xmlpatterns/schema/qxsdschemahelper.cpp
+++ b/src/xmlpatterns/schema/qxsdschemahelper.cpp
@@ -727,7 +727,7 @@ bool XsdSchemaHelper::isValidAttributeUsesRestriction(const XsdAttributeUse::Lis
}
} else {
if (!wildcard) {
- errorMsg = QtXmlPatterns::tr("Derived attribute %1 does not exists in the base definition.").arg(formatAttribute(derivedAttributeUse->attribute()->displayName(namePool)));
+ errorMsg = QtXmlPatterns::tr("Derived attribute %1 does not exist in the base definition.").arg(formatAttribute(derivedAttributeUse->attribute()->displayName(namePool)));
return false;
}
diff --git a/src/xmlpatterns/schema/qxsdschemaparser.cpp b/src/xmlpatterns/schema/qxsdschemaparser.cpp
index 41c6b82..beb28bb 100644
--- a/src/xmlpatterns/schema/qxsdschemaparser.cpp
+++ b/src/xmlpatterns/schema/qxsdschemaparser.cpp
@@ -5959,7 +5959,7 @@ void XsdSchemaParser::validateIdAttribute(const char *elementName)
attributeContentError("id", elementName, value, BuiltinTypes::xsID);
} else {
if (m_idCache->hasId(value)) {
- error(QtXmlPatterns::tr("Component with id %1 has been defined previously.").arg(formatData(value)));
+ error(QtXmlPatterns::tr("Component with ID %1 has been defined previously.").arg(formatData(value)));
} else {
m_idCache->addId(value);
}
diff --git a/src/xmlpatterns/schema/qxsdstatemachine.cpp b/src/xmlpatterns/schema/qxsdstatemachine.cpp
index 85bc752..8a43411 100644
--- a/src/xmlpatterns/schema/qxsdstatemachine.cpp
+++ b/src/xmlpatterns/schema/qxsdstatemachine.cpp
@@ -335,64 +335,6 @@ typename XsdStateMachine<TransitionType>::StateId XsdStateMachine<TransitionType
return dfaState;
}
-
-template <typename TransitionType>
-QSet<typename XsdStateMachine<TransitionType>::StateId> XsdStateMachine<TransitionType>::epsilonClosure(const QSet<StateId> &input) const
-{
- // every state can reach itself by epsilon transition, so include the input states
- // in the result as well
- QSet<StateId> result = input;
-
- // add the input states to the list of to be processed states
- QList<StateId> workStates = input.toList();
- while (!workStates.isEmpty()) { // while there are states to be processed left...
-
- // dequeue one state from list
- const StateId state = workStates.takeFirst();
-
- // get the list of states that can be reached by the epsilon transition
- // from the current 'state'
- const QVector<StateId> targetStates = m_epsilonTransitions.value(state);
- for (int i = 0; i < targetStates.count(); ++i) {
- // if we have this target state not in our result set yet...
- if (!result.contains(targetStates.at(i))) {
- // ... add it to the result set
- result.insert(targetStates.at(i));
-
- // add the target state to the list of to be processed states as well,
- // as we want to have the epsilon transitions not only for the first
- // level of following states
- workStates.append(targetStates.at(i));
- }
- }
- }
-
- return result;
-}
-
-template <typename TransitionType>
-QSet<typename XsdStateMachine<TransitionType>::StateId> XsdStateMachine<TransitionType>::move(const QSet<StateId> &states, TransitionType input) const
-{
- QSet<StateId> result;
-
- QSetIterator<StateId> it(states);
- while (it.hasNext()) { // iterate over all given states
- const StateId state = it.next();
-
- // get the transition table for the current state
- const QHash<TransitionType, QVector<StateId> > transitions = m_transitions.value(state);
-
- // get the target states for the given input
- const QVector<StateId> targetStates = transitions.value(input);
-
- // add all target states to the result
- for (int i = 0; i < targetStates.size(); ++i)
- result.insert(targetStates.at(i));
- }
-
- return result;
-}
-
template <typename TransitionType>
XsdStateMachine<TransitionType> XsdStateMachine<TransitionType>::toDFA() const
{
@@ -469,9 +411,3 @@ QHash<typename XsdStateMachine<TransitionType>::StateId, typename XsdStateMachin
{
return m_states;
}
-
-template <typename TransitionType>
-QHash<typename XsdStateMachine<TransitionType>::StateId, QHash<TransitionType, QVector<typename XsdStateMachine<TransitionType>::StateId> > > XsdStateMachine<TransitionType>::transitions() const
-{
- return m_transitions;
-}
diff --git a/src/xmlpatterns/schema/qxsdstatemachine_p.h b/src/xmlpatterns/schema/qxsdstatemachine_p.h
index e671499..294eb50 100644
--- a/src/xmlpatterns/schema/qxsdstatemachine_p.h
+++ b/src/xmlpatterns/schema/qxsdstatemachine_p.h
@@ -204,8 +204,14 @@ namespace QPatternist
/**
* Returns the information of all transitions of the state machine.
+ *
+ * The implementation is inlined in order to workaround a compiler
+ * bug on Symbian/winscw.
*/
- QHash<StateId, QHash<TransitionType, QVector<StateId> > > transitions() const;
+ QHash<StateId, QHash<TransitionType, QVector<StateId> > > transitions() const
+ {
+ return m_transitions;
+ }
private:
/**
@@ -217,14 +223,71 @@ namespace QPatternist
/**
* Returns the set of all states that can be reached from the set of @p input states
* by the epsilon transition.
+ *
+ * The implementation is inlined in order to workaround a compiler
+ * bug on Symbian/winscw.
*/
- QSet<StateId> epsilonClosure(const QSet<StateId> &input) const;
+ QSet<StateId> epsilonClosure(const QSet<StateId> &input) const
+ {
+ // every state can reach itself by epsilon transition, so include the input states
+ // in the result as well
+ QSet<StateId> result = input;
+
+ // add the input states to the list of to be processed states
+ QList<StateId> workStates = input.toList();
+ while (!workStates.isEmpty()) { // while there are states to be processed left...
+
+ // dequeue one state from list
+ const StateId state = workStates.takeFirst();
+
+ // get the list of states that can be reached by the epsilon transition
+ // from the current 'state'
+ const QVector<StateId> targetStates = m_epsilonTransitions.value(state);
+ for (int i = 0; i < targetStates.count(); ++i) {
+ // if we have this target state not in our result set yet...
+ if (!result.contains(targetStates.at(i))) {
+ // ... add it to the result set
+ result.insert(targetStates.at(i));
+
+ // add the target state to the list of to be processed states as well,
+ // as we want to have the epsilon transitions not only for the first
+ // level of following states
+ workStates.append(targetStates.at(i));
+ }
+ }
+ }
+
+ return result;
+ }
/**
* Returns the set of all states that can be reached from the set of given @p states
* by the given @p input.
+ *
+ * The implementation is inlined in order to workaround a compiler
+ * bug on Symbian/winscw.
*/
- QSet<StateId> move(const QSet<StateId> &states, TransitionType input) const;
+ QSet<StateId> move(const QSet<StateId> &states, TransitionType input) const
+ {
+ QSet<StateId> result;
+
+ QSetIterator<StateId> it(states);
+ while (it.hasNext()) { // iterate over all given states
+ const StateId state = it.next();
+
+ // get the transition table for the current state
+ const QHash<TransitionType, QVector<StateId> > transitions = m_transitions.value(state);
+
+ // get the target states for the given input
+ const QVector<StateId> targetStates = transitions.value(input);
+
+ // add all target states to the result
+ for (int i = 0; i < targetStates.size(); ++i)
+ result.insert(targetStates.at(i));
+ }
+
+ return result;
+ }
NamePool::Ptr m_namePool;
QHash<StateId, StateType> m_states;
diff --git a/src/xmlpatterns/schema/qxsdvalidatinginstancereader.cpp b/src/xmlpatterns/schema/qxsdvalidatinginstancereader.cpp
index fda3548..622a39f 100644
--- a/src/xmlpatterns/schema/qxsdvalidatinginstancereader.cpp
+++ b/src/xmlpatterns/schema/qxsdvalidatinginstancereader.cpp
@@ -469,7 +469,7 @@ bool XsdValidatingInstanceReader::validateElement(const XsdElement::Ptr &declara
// 3.2.3.2
if (declaration->valueConstraint() && declaration->valueConstraint()->variety() == XsdElement::ValueConstraint::Fixed) {
- error(QtXmlPatterns::tr("Fixed value constrained not allowed if element is nillable."));
+ error(QtXmlPatterns::tr("Fixed value constraint not allowed if element is nillable."));
return false;
}
}
@@ -699,7 +699,7 @@ bool XsdValidatingInstanceReader::validateElementComplexType(const XsdElement::P
if (complexType->contentType()->variety() == XsdComplexType::ContentType::Mixed) {
if (declaration->valueConstraint() && declaration->valueConstraint()->variety() == XsdElement::ValueConstraint::Fixed) {
if (hasChildElement()) {
- error(QtXmlPatterns::tr("Element %1 can not contain other elements, as it has a fixed content.").arg(formatKeyword(declaration->displayName(m_namePool))));
+ error(QtXmlPatterns::tr("Element %1 cannot contain other elements, as it has a fixed content.").arg(formatKeyword(declaration->displayName(m_namePool))));
return false;
}
diff --git a/src/xmlpatterns/xmlpatterns.pro b/src/xmlpatterns/xmlpatterns.pro
index bb8e452..1df497d 100644
--- a/src/xmlpatterns/xmlpatterns.pro
+++ b/src/xmlpatterns/xmlpatterns.pro
@@ -34,3 +34,5 @@ wince*: {
QMAKE_CXXFLAGS_RELEASE ~= s/-O1/-Os -Oy -Ob2/
}
}
+
+symbian:TARGET.UID3=0x2001E62B
diff --git a/tests/arthur/common/paintcommands.cpp b/tests/arthur/common/paintcommands.cpp
index 475f07d..44deb0e 100644
--- a/tests/arthur/common/paintcommands.cpp
+++ b/tests/arthur/common/paintcommands.cpp
@@ -974,7 +974,7 @@ void PaintCommands::command_drawPixmap(QRegExp re)
if (sh == 0) sh = -1;
if (m_verboseMode)
- printf(" -(lance) drawPixmap('%s' dim=(%d, %d), depth=%d, (%d, %d, %d, %d), (%d, %d, %d, %d)\n",
+ printf(" -(lance) drawPixmap('%s' dim=(%d, %d), depth=%d, (%f, %f, %f, %f), (%f, %f, %f, %f)\n",
qPrintable(re.cap(1)), pm.width(), pm.height(), pm.depth(),
tx, ty, tw, th, sx, sy, sw, sh);
@@ -1022,7 +1022,7 @@ void PaintCommands::command_drawImage(QRegExp re)
if (sh == 0) sh = -1;
if (m_verboseMode)
- printf(" -(lance) drawImage('%s' dim=(%d, %d), (%d, %d, %d, %d), (%d, %d, %d, %d)\n",
+ printf(" -(lance) drawImage('%s' dim=(%d, %d), (%f, %f, %f, %f), (%f, %f, %f, %f)\n",
qPrintable(re.cap(1)), im.width(), im.height(), tx, ty, tw, th, sx, sy, sw, sh);
m_painter->drawImage(QRectF(tx, ty, tw, th), im, QRectF(sx, sy, sw, sh), Qt::OrderedDither | Qt::OrderedAlphaDither);
diff --git a/tests/auto/auto.pro b/tests/auto/auto.pro
index 0f7a7f1..1ec4c16 100644
--- a/tests/auto/auto.pro
+++ b/tests/auto/auto.pro
@@ -501,3 +501,5 @@ contains(QT_CONFIG, webkit): SUBDIRS += \
qwebhistoryinterface \
qwebelement \
qwebhistory
+
+contains(QT_CONFIG, declarative): SUBDIRS += declarative
diff --git a/tests/auto/checkxmlfiles/checkxmlfiles.pro b/tests/auto/checkxmlfiles/checkxmlfiles.pro
index c368c02..d53c11c 100644
--- a/tests/auto/checkxmlfiles/checkxmlfiles.pro
+++ b/tests/auto/checkxmlfiles/checkxmlfiles.pro
@@ -12,7 +12,7 @@ addFiles.sources = \
$$QT_SOURCE_TREE/examples/sql/masterdetail/albumdetails.xml \
$$QT_SOURCE_TREE/examples/xmlpatterns/xquery/globalVariables/globals.gccxml \
$$QT_SOURCE_TREE/doc/src/diagrams/stylesheet/treeview.svg \
- $$QT_SOURCE_TREE/doc/src/diagrams/designer-mainwindow-actions.ui \
+ $$QT_SOURCE_TREE/doc/src/diagrams/designer-manual/designer-mainwindow-actions.ui \
$$QT_SOURCE_TREE/demos/undo/undo.qrc
addFiles.path = xmlfiles
DEPLOYMENT += addFiles
diff --git a/tests/auto/collections/tst_collections.cpp b/tests/auto/collections/tst_collections.cpp
index 670cff0..f97805e 100644
--- a/tests/auto/collections/tst_collections.cpp
+++ b/tests/auto/collections/tst_collections.cpp
@@ -164,6 +164,7 @@ private slots:
void qtimerList();
void containerTypedefs();
void forwardDeclared();
+ void alignment();
};
struct LargeStatic {
@@ -3481,5 +3482,113 @@ void tst_Collections::forwardDeclared()
{ typedef QSet<T1> C; C *x = 0; /* C::iterator i; */ C::const_iterator j; Q_UNUSED(x) }
}
+#if defined(Q_ALIGNOF) && defined(Q_DECL_ALIGN)
+
+class Q_DECL_ALIGN(4) Aligned4
+{
+ char i;
+public:
+ Aligned4(int i = 0) : i(i) {}
+ bool checkAligned() const
+ {
+ return (quintptr(this) & 3) == 0;
+ }
+
+ inline bool operator==(const Aligned4 &other) const { return i == other.i; }
+ inline bool operator<(const Aligned4 &other) const { return i < other.i; }
+ friend inline int qHash(const Aligned4 &a) { return qHash(a.i); }
+};
+
+class Q_DECL_ALIGN(128) Aligned128
+{
+ char i;
+public:
+ Aligned128(int i = 0) : i(i) {}
+ bool checkAligned() const
+ {
+ return (quintptr(this) & 127) == 0;
+ }
+
+ inline bool operator==(const Aligned128 &other) const { return i == other.i; }
+ inline bool operator<(const Aligned128 &other) const { return i < other.i; }
+ friend inline int qHash(const Aligned128 &a) { return qHash(a.i); }
+};
+
+template<typename C>
+void testVectorAlignment()
+{
+ typedef typename C::value_type Aligned;
+ C container;
+ container.append(Aligned());
+ QVERIFY(container[0].checkAligned());
+
+ for (int i = 0; i < 200; ++i)
+ container.append(Aligned());
+
+ for (int i = 0; i < container.size(); ++i)
+ QVERIFY(container.at(i).checkAligned());
+}
+
+template<typename C>
+void testContiguousCacheAlignment()
+{
+ typedef typename C::value_type Aligned;
+ C container(150);
+ container.append(Aligned());
+ QVERIFY(container[container.firstIndex()].checkAligned());
+
+ for (int i = 0; i < 200; ++i)
+ container.append(Aligned());
+
+ for (int i = container.firstIndex(); i < container.lastIndex(); ++i)
+ QVERIFY(container.at(i).checkAligned());
+}
+
+template<typename C>
+void testAssociativeContainerAlignment()
+{
+ typedef typename C::key_type Key;
+ typedef typename C::mapped_type Value;
+ C container;
+ container.insert(Key(), Value());
+
+ typename C::const_iterator it = container.constBegin();
+ QVERIFY(it.key().checkAligned());
+ QVERIFY(it.value().checkAligned());
+
+ // add some more elements
+ for (int i = 0; i < 200; ++i)
+ container.insert(Key(i), Value(i));
+
+ it = container.constBegin();
+ for ( ; it != container.constEnd(); ++it) {
+ QVERIFY(it.key().checkAligned());
+ QVERIFY(it.value().checkAligned());
+ }
+}
+
+void tst_Collections::alignment()
+{
+ testVectorAlignment<QVector<Aligned4> >();
+ testVectorAlignment<QVector<Aligned128> >();
+ testContiguousCacheAlignment<QContiguousCache<Aligned4> >();
+ testContiguousCacheAlignment<QContiguousCache<Aligned128> >();
+ testAssociativeContainerAlignment<QMap<Aligned4, Aligned4> >();
+ testAssociativeContainerAlignment<QMap<Aligned4, Aligned128> >();
+ testAssociativeContainerAlignment<QMap<Aligned128, Aligned4> >();
+ testAssociativeContainerAlignment<QMap<Aligned128, Aligned128> >();
+ testAssociativeContainerAlignment<QHash<Aligned4, Aligned4> >();
+ testAssociativeContainerAlignment<QHash<Aligned4, Aligned128> >();
+ testAssociativeContainerAlignment<QHash<Aligned128, Aligned4> >();
+ testAssociativeContainerAlignment<QHash<Aligned128, Aligned128> >();
+}
+
+#else
+void tst_Collections::alignment()
+{
+ QSKIP("Compiler doesn't support necessary extension keywords", SkipAll)
+}
+#endif
+
QTEST_APPLESS_MAIN(tst_Collections)
#include "tst_collections.moc"
diff --git a/tests/auto/gestures/tst_gestures.cpp b/tests/auto/gestures/tst_gestures.cpp
index 92f979f..20b53f2 100644
--- a/tests/auto/gestures/tst_gestures.cpp
+++ b/tests/auto/gestures/tst_gestures.cpp
@@ -103,34 +103,38 @@ int CustomEvent::EventType = 0;
class CustomGestureRecognizer : public QGestureRecognizer
{
public:
+ static bool ConsumeEvents;
+
CustomGestureRecognizer()
{
if (!CustomEvent::EventType)
CustomEvent::EventType = QEvent::registerEventType();
}
- QGesture* createGesture(QObject *)
+ QGesture* create(QObject *)
{
return new CustomGesture;
}
- QGestureRecognizer::Result filterEvent(QGesture *state, QObject*, QEvent *event)
+ QGestureRecognizer::Result recognize(QGesture *state, QObject*, QEvent *event)
{
if (event->type() == CustomEvent::EventType) {
- QGestureRecognizer::Result result = QGestureRecognizer::ConsumeEventHint;
+ QGestureRecognizer::Result result = 0;
+ if (CustomGestureRecognizer::ConsumeEvents)
+ result |= QGestureRecognizer::ConsumeEventHint;
CustomGesture *g = static_cast<CustomGesture*>(state);
CustomEvent *e = static_cast<CustomEvent*>(event);
g->serial = e->serial;
if (e->hasHotSpot)
g->setHotSpot(e->hotSpot);
if (g->serial >= CustomGesture::SerialFinishedThreshold)
- result |= QGestureRecognizer::GestureFinished;
+ result |= QGestureRecognizer::FinishGesture;
else if (g->serial >= CustomGesture::SerialStartedThreshold)
- result |= QGestureRecognizer::GestureTriggered;
+ result |= QGestureRecognizer::TriggerGesture;
else if (g->serial >= CustomGesture::SerialMaybeThreshold)
- result |= QGestureRecognizer::MaybeGesture;
+ result |= QGestureRecognizer::MayBeGesture;
else
- result = QGestureRecognizer::NotGesture;
+ result = QGestureRecognizer::CancelGesture;
return result;
}
return QGestureRecognizer::Ignore;
@@ -138,11 +142,12 @@ public:
void reset(QGesture *state)
{
- CustomGesture *g = static_cast<CustomGesture*>(state);
+ CustomGesture *g = static_cast<CustomGesture *>(state);
g->serial = 0;
QGestureRecognizer::reset(state);
}
};
+bool CustomGestureRecognizer::ConsumeEvents = false;
// same as CustomGestureRecognizer but triggers early without the maybe state
class CustomContinuousGestureRecognizer : public QGestureRecognizer
@@ -154,26 +159,26 @@ public:
CustomEvent::EventType = QEvent::registerEventType();
}
- QGesture* createGesture(QObject *)
+ QGesture* create(QObject *)
{
return new CustomGesture;
}
- QGestureRecognizer::Result filterEvent(QGesture *state, QObject*, QEvent *event)
+ QGestureRecognizer::Result recognize(QGesture *state, QObject*, QEvent *event)
{
if (event->type() == CustomEvent::EventType) {
QGestureRecognizer::Result result = QGestureRecognizer::ConsumeEventHint;
- CustomGesture *g = static_cast<CustomGesture*>(state);
- CustomEvent *e = static_cast<CustomEvent*>(event);
+ CustomGesture *g = static_cast<CustomGesture *>(state);
+ CustomEvent *e = static_cast<CustomEvent *>(event);
g->serial = e->serial;
if (e->hasHotSpot)
g->setHotSpot(e->hotSpot);
if (g->serial >= CustomGesture::SerialFinishedThreshold)
- result |= QGestureRecognizer::GestureFinished;
+ result |= QGestureRecognizer::FinishGesture;
else if (g->serial >= CustomGesture::SerialMaybeThreshold)
- result |= QGestureRecognizer::GestureTriggered;
+ result |= QGestureRecognizer::TriggerGesture;
else
- result = QGestureRecognizer::NotGesture;
+ result = QGestureRecognizer::CancelGesture;
return result;
}
return QGestureRecognizer::Ignore;
@@ -181,7 +186,7 @@ public:
void reset(QGesture *state)
{
- CustomGesture *g = static_cast<CustomGesture*>(state);
+ CustomGesture *g = static_cast<CustomGesture *>(state);
g->serial = 0;
QGestureRecognizer::reset(state);
}
@@ -251,7 +256,7 @@ protected:
}
if (eventsPtr) {
QGestureEvent *e = static_cast<QGestureEvent*>(event);
- QList<QGesture*> gestures = e->allGestures();
+ QList<QGesture*> gestures = e->gestures();
foreach(QGesture *g, gestures) {
eventsPtr->all << g->gestureType();
switch(g->state()) {
@@ -280,6 +285,7 @@ protected:
}
};
+// TODO rename to sendGestureSequence
static void sendCustomGesture(CustomEvent *event, QObject *object, QGraphicsScene *scene = 0)
{
for (int i = CustomGesture::SerialMaybeThreshold;
@@ -322,6 +328,11 @@ private slots:
void multipleGesturesInTree();
void multipleGesturesInComplexTree();
void testMapToScene();
+ void ungrabGesture();
+ void consumeEventHint();
+ void unregisterRecognizer();
+ void autoCancelGestures();
+ void autoCancelGestures2();
};
tst_Gestures::tst_Gestures()
@@ -334,13 +345,14 @@ tst_Gestures::~tst_Gestures()
void tst_Gestures::initTestCase()
{
- CustomGesture::GestureType = qApp->registerGestureRecognizer(new CustomGestureRecognizer);
+ CustomGesture::GestureType = QGestureRecognizer::registerRecognizer(new CustomGestureRecognizer);
QVERIFY(CustomGesture::GestureType != Qt::GestureType(0));
QVERIFY(CustomGesture::GestureType != Qt::CustomGesture);
}
void tst_Gestures::cleanupTestCase()
{
+ QGestureRecognizer::unregisterRecognizer(CustomGesture::GestureType);
}
void tst_Gestures::init()
@@ -354,7 +366,7 @@ void tst_Gestures::cleanup()
void tst_Gestures::customGesture()
{
GestureWidget widget;
- widget.grabGesture(CustomGesture::GestureType, Qt::WidgetGesture);
+ widget.grabGesture(CustomGesture::GestureType, Qt::DontStartGestureOnChildren);
CustomEvent event;
sendCustomGesture(&event, &widget);
@@ -372,10 +384,23 @@ void tst_Gestures::customGesture()
QCOMPARE(widget.events.canceled.size(), 0);
}
+void tst_Gestures::consumeEventHint()
+{
+ GestureWidget widget;
+ widget.grabGesture(CustomGesture::GestureType, Qt::DontStartGestureOnChildren);
+
+ CustomGestureRecognizer::ConsumeEvents = true;
+ CustomEvent event;
+ sendCustomGesture(&event, &widget);
+ CustomGestureRecognizer::ConsumeEvents = false;
+
+ QCOMPARE(widget.customEventsReceived, 0);
+}
+
void tst_Gestures::autoCancelingGestures()
{
GestureWidget widget;
- widget.grabGesture(CustomGesture::GestureType, Qt::WidgetGesture);
+ widget.grabGesture(CustomGesture::GestureType, Qt::DontStartGestureOnChildren);
// send partial gesture. The gesture will be in the "maybe" state, but will
// never get enough events to fire, so Qt will have to kill it.
CustomEvent ev;
@@ -399,7 +424,7 @@ void tst_Gestures::gestureOverChild()
GestureWidget *child = new GestureWidget("child");
l->addWidget(child);
- widget.grabGesture(CustomGesture::GestureType, Qt::WidgetGesture);
+ widget.grabGesture(CustomGesture::GestureType, Qt::DontStartGestureOnChildren);
CustomEvent event;
sendCustomGesture(&event, child);
@@ -415,7 +440,7 @@ void tst_Gestures::gestureOverChild()
QCOMPARE(widget.gestureOverrideEventsReceived, 0);
// enable gestures over the children
- widget.grabGesture(CustomGesture::GestureType, Qt::WidgetWithChildrenGesture);
+ widget.grabGesture(CustomGesture::GestureType);
widget.reset();
child->reset();
@@ -444,8 +469,8 @@ void tst_Gestures::multipleWidgetOnlyGestureInTree()
GestureWidget *child = new GestureWidget("child");
l->addWidget(child);
- parent.grabGesture(CustomGesture::GestureType, Qt::WidgetGesture);
- child->grabGesture(CustomGesture::GestureType, Qt::WidgetGesture);
+ parent.grabGesture(CustomGesture::GestureType, Qt::DontStartGestureOnChildren);
+ child->grabGesture(CustomGesture::GestureType, Qt::DontStartGestureOnChildren);
static const int TotalGestureEventsCount = CustomGesture::SerialFinishedThreshold - CustomGesture::SerialStartedThreshold + 1;
static const int TotalCustomEventsCount = CustomGesture::SerialFinishedThreshold - CustomGesture::SerialMaybeThreshold + 1;
@@ -482,8 +507,8 @@ void tst_Gestures::conflictingGestures()
GestureWidget *child = new GestureWidget("child");
l->addWidget(child);
- parent.grabGesture(CustomGesture::GestureType, Qt::WidgetWithChildrenGesture);
- child->grabGesture(CustomGesture::GestureType, Qt::WidgetWithChildrenGesture);
+ parent.grabGesture(CustomGesture::GestureType);
+ child->grabGesture(CustomGesture::GestureType);
static const int TotalGestureEventsCount = CustomGesture::SerialFinishedThreshold - CustomGesture::SerialStartedThreshold + 1;
@@ -518,9 +543,46 @@ void tst_Gestures::conflictingGestures()
parent.reset();
child->reset();
- // nobody accepts the override, we will send normal events to the closest context (to the child)
+ // nobody accepts the override, we will send normal events to the closest
+ // context (i.e. to the child widget) and it will be propagated and
+ // accepted by the parent widget
+ parent.acceptGestureOverride = false;
+ child->acceptGestureOverride = false;
+ child->ignoredGestures << CustomGesture::GestureType;
+
+ // sending events to the child and making sure there is no conflict
+ sendCustomGesture(&event, child);
+
+ QCOMPARE(child->gestureOverrideEventsReceived, 1);
+ QCOMPARE(child->gestureEventsReceived, 1);
+ QCOMPARE(parent.gestureOverrideEventsReceived, 1);
+ QCOMPARE(parent.gestureEventsReceived, TotalGestureEventsCount);
+
+ parent.reset();
+ child->reset();
+
+ // nobody accepts the override, and nobody accepts the gesture event
parent.acceptGestureOverride = false;
child->acceptGestureOverride = false;
+ parent.ignoredGestures << CustomGesture::GestureType;
+ child->ignoredGestures << CustomGesture::GestureType;
+
+ // sending events to the child and making sure there is no conflict
+ sendCustomGesture(&event, child);
+
+ QCOMPARE(child->gestureOverrideEventsReceived, 1);
+ QCOMPARE(child->gestureEventsReceived, TotalGestureEventsCount);
+ QCOMPARE(parent.gestureOverrideEventsReceived, 1);
+ QCOMPARE(parent.gestureEventsReceived, 1);
+
+ parent.reset();
+ child->reset();
+
+ // we set an attribute to make sure all gesture events are propagated
+ parent.grabGesture(CustomGesture::GestureType, Qt::ReceivePartialGestures);
+ parent.acceptGestureOverride = false;
+ child->acceptGestureOverride = false;
+ parent.ignoredGestures << CustomGesture::GestureType;
child->ignoredGestures << CustomGesture::GestureType;
// sending events to the child and making sure there is no conflict
@@ -534,7 +596,7 @@ void tst_Gestures::conflictingGestures()
parent.reset();
child->reset();
- Qt::GestureType ContinuousGesture = qApp->registerGestureRecognizer(new CustomContinuousGestureRecognizer);
+ Qt::GestureType ContinuousGesture = QGestureRecognizer::registerRecognizer(new CustomContinuousGestureRecognizer);
static const int ContinuousGestureEventsCount = CustomGesture::SerialFinishedThreshold - CustomGesture::SerialMaybeThreshold + 1;
child->grabGesture(ContinuousGesture);
// child accepts override. And it also receives another custom gesture.
@@ -547,12 +609,14 @@ void tst_Gestures::conflictingGestures()
QCOMPARE(child->events.all.count(), TotalGestureEventsCount + ContinuousGestureEventsCount);
QCOMPARE(parent.gestureOverrideEventsReceived, 0);
QCOMPARE(parent.gestureEventsReceived, 0);
+
+ QGestureRecognizer::unregisterRecognizer(ContinuousGesture);
}
void tst_Gestures::finishedWithoutStarted()
{
GestureWidget widget;
- widget.grabGesture(CustomGesture::GestureType, Qt::WidgetGesture);
+ widget.grabGesture(CustomGesture::GestureType, Qt::DontStartGestureOnChildren);
// the gesture will claim it finished, but it was never started.
CustomEvent ev;
@@ -572,9 +636,9 @@ void tst_Gestures::finishedWithoutStarted()
void tst_Gestures::unknownGesture()
{
GestureWidget widget;
- widget.grabGesture(CustomGesture::GestureType, Qt::WidgetGesture);
- widget.grabGesture(Qt::CustomGesture, Qt::WidgetGesture);
- widget.grabGesture(Qt::GestureType(Qt::PanGesture+512), Qt::WidgetGesture);
+ widget.grabGesture(CustomGesture::GestureType, Qt::DontStartGestureOnChildren);
+ widget.grabGesture(Qt::CustomGesture, Qt::DontStartGestureOnChildren);
+ widget.grabGesture(Qt::GestureType(Qt::PanGesture+512), Qt::DontStartGestureOnChildren);
CustomEvent event;
sendCustomGesture(&event, &widget);
@@ -676,7 +740,7 @@ protected:
}
if (eventsPtr) {
QGestureEvent *e = static_cast<QGestureEvent*>(event);
- QList<QGesture*> gestures = e->allGestures();
+ QList<QGesture*> gestures = e->gestures();
foreach(QGesture *g, gestures) {
eventsPtr->all << g->gestureType();
switch(g->state()) {
@@ -710,6 +774,7 @@ void tst_Gestures::graphicsItemGesture()
{
QGraphicsScene scene;
QGraphicsView view(&scene);
+ view.setWindowFlags(Qt::X11BypassWindowManagerHint);
GestureItem *item = new GestureItem("item");
scene.addItem(item);
@@ -719,7 +784,7 @@ void tst_Gestures::graphicsItemGesture()
QTest::qWaitForWindowShown(&view);
view.ensureVisible(scene.sceneRect());
- view.viewport()->grabGesture(CustomGesture::GestureType, Qt::WidgetGesture);
+ view.viewport()->grabGesture(CustomGesture::GestureType, Qt::DontStartGestureOnChildren);
item->grabGesture(CustomGesture::GestureType);
static const int TotalGestureEventsCount = CustomGesture::SerialFinishedThreshold - CustomGesture::SerialStartedThreshold + 1;
@@ -772,6 +837,7 @@ void tst_Gestures::graphicsItemTreeGesture()
{
QGraphicsScene scene;
QGraphicsView view(&scene);
+ view.setWindowFlags(Qt::X11BypassWindowManagerHint);
GestureItem *item1 = new GestureItem("item1");
item1->setPos(100, 100);
@@ -792,7 +858,7 @@ void tst_Gestures::graphicsItemTreeGesture()
QTest::qWaitForWindowShown(&view);
view.ensureVisible(scene.sceneRect());
- view.viewport()->grabGesture(CustomGesture::GestureType, Qt::WidgetGesture);
+ view.viewport()->grabGesture(CustomGesture::GestureType, Qt::DontStartGestureOnChildren);
item1->grabGesture(CustomGesture::GestureType);
static const int TotalGestureEventsCount = CustomGesture::SerialFinishedThreshold - CustomGesture::SerialStartedThreshold + 1;
@@ -822,13 +888,14 @@ void tst_Gestures::graphicsItemTreeGesture()
QCOMPARE(item1_child2->gestureEventsReceived, 0);
QCOMPARE(item1_child2->gestureOverrideEventsReceived, 0);
QCOMPARE(item1->gestureOverrideEventsReceived, 1);
- QCOMPARE(item1->gestureEventsReceived, TotalGestureEventsCount);
+ QCOMPARE(item1->gestureEventsReceived, 1);
}
void tst_Gestures::explicitGraphicsObjectTarget()
{
QGraphicsScene scene;
QGraphicsView view(&scene);
+ view.setWindowFlags(Qt::X11BypassWindowManagerHint);
GestureItem *item1 = new GestureItem("item1");
scene.addItem(item1);
@@ -849,10 +916,10 @@ void tst_Gestures::explicitGraphicsObjectTarget()
QTest::qWaitForWindowShown(&view);
view.ensureVisible(scene.sceneRect());
- view.viewport()->grabGesture(CustomGesture::GestureType, Qt::WidgetGesture);
- item1->grabGesture(CustomGesture::GestureType, Qt::ItemGesture);
- item2->grabGesture(CustomGesture::GestureType, Qt::ItemGesture);
- item2_child1->grabGesture(CustomGesture::GestureType, Qt::ItemGesture);
+ view.viewport()->grabGesture(CustomGesture::GestureType, Qt::DontStartGestureOnChildren);
+ item1->grabGesture(CustomGesture::GestureType, Qt::DontStartGestureOnChildren);
+ item2->grabGesture(CustomGesture::GestureType, Qt::DontStartGestureOnChildren);
+ item2_child1->grabGesture(CustomGesture::GestureType, Qt::DontStartGestureOnChildren);
static const int TotalGestureEventsCount = CustomGesture::SerialFinishedThreshold - CustomGesture::SerialStartedThreshold + 1;
@@ -882,6 +949,7 @@ void tst_Gestures::gestureOverChildGraphicsItem()
{
QGraphicsScene scene;
QGraphicsView view(&scene);
+ view.setWindowFlags(Qt::X11BypassWindowManagerHint);
GestureItem *item0 = new GestureItem("item0");
scene.addItem(item0);
@@ -908,7 +976,7 @@ void tst_Gestures::gestureOverChildGraphicsItem()
QTest::qWaitForWindowShown(&view);
view.ensureVisible(scene.sceneRect());
- view.viewport()->grabGesture(CustomGesture::GestureType, Qt::WidgetGesture);
+ view.viewport()->grabGesture(CustomGesture::GestureType, Qt::DontStartGestureOnChildren);
item1->grabGesture(CustomGesture::GestureType);
static const int TotalGestureEventsCount = CustomGesture::SerialFinishedThreshold - CustomGesture::SerialStartedThreshold + 1;
@@ -935,7 +1003,39 @@ void tst_Gestures::gestureOverChildGraphicsItem()
event.hasHotSpot = true;
sendCustomGesture(&event, item0, &scene);
- QCOMPARE(item0->customEventsReceived, TotalCustomEventsCount);
+ QCOMPARE(item2_child1->gestureEventsReceived, 0);
+ QCOMPARE(item2_child1->gestureOverrideEventsReceived, 0);
+ QCOMPARE(item2->gestureEventsReceived, 1);
+ QCOMPARE(item2->gestureOverrideEventsReceived, 1);
+ QCOMPARE(item1->gestureEventsReceived, TotalGestureEventsCount);
+ QCOMPARE(item1->gestureOverrideEventsReceived, 1);
+
+ item0->reset(); item1->reset(); item2->reset(); item2_child1->reset();
+ item2->grabGesture(CustomGesture::GestureType);
+ item2->ignoredGestures << CustomGesture::GestureType;
+ item1->ignoredGestures << CustomGesture::GestureType;
+
+ event.hotSpot = mapToGlobal(QPointF(10, 10), item2_child1, &view);
+ event.hasHotSpot = true;
+ sendCustomGesture(&event, item0, &scene);
+
+ QCOMPARE(item2_child1->gestureEventsReceived, 0);
+ QCOMPARE(item2_child1->gestureOverrideEventsReceived, 0);
+ QCOMPARE(item2->gestureEventsReceived, TotalGestureEventsCount);
+ QCOMPARE(item2->gestureOverrideEventsReceived, 1);
+ QCOMPARE(item1->gestureEventsReceived, 1);
+ QCOMPARE(item1->gestureOverrideEventsReceived, 1);
+
+ item0->reset(); item1->reset(); item2->reset(); item2_child1->reset();
+ item2->grabGesture(CustomGesture::GestureType);
+ item2->ignoredGestures << CustomGesture::GestureType;
+ item1->ignoredGestures << CustomGesture::GestureType;
+ item1->grabGesture(CustomGesture::GestureType, Qt::ReceivePartialGestures);
+
+ event.hotSpot = mapToGlobal(QPointF(10, 10), item2_child1, &view);
+ event.hasHotSpot = true;
+ sendCustomGesture(&event, item0, &scene);
+
QCOMPARE(item2_child1->gestureEventsReceived, 0);
QCOMPARE(item2_child1->gestureOverrideEventsReceived, 0);
QCOMPARE(item2->gestureEventsReceived, TotalGestureEventsCount);
@@ -951,10 +1051,10 @@ void tst_Gestures::twoGesturesOnDifferentLevel()
GestureWidget *child = new GestureWidget("child");
l->addWidget(child);
- Qt::GestureType SecondGesture = qApp->registerGestureRecognizer(new CustomGestureRecognizer);
+ Qt::GestureType SecondGesture = QGestureRecognizer::registerRecognizer(new CustomGestureRecognizer);
- parent.grabGesture(CustomGesture::GestureType, Qt::WidgetWithChildrenGesture);
- child->grabGesture(SecondGesture, Qt::WidgetWithChildrenGesture);
+ parent.grabGesture(CustomGesture::GestureType);
+ child->grabGesture(SecondGesture);
CustomEvent event;
// sending events that form a gesture to one widget, but they will be
@@ -978,6 +1078,8 @@ void tst_Gestures::twoGesturesOnDifferentLevel()
QCOMPARE(parent.events.all.size(), TotalGestureEventsCount);
for(int i = 0; i < child->events.all.size(); ++i)
QCOMPARE(parent.events.all.at(i), CustomGesture::GestureType);
+
+ QGestureRecognizer::unregisterRecognizer(SecondGesture);
}
void tst_Gestures::multipleGesturesInTree()
@@ -989,18 +1091,19 @@ void tst_Gestures::multipleGesturesInTree()
GestureWidget *D = new GestureWidget("D", C);
Qt::GestureType FirstGesture = CustomGesture::GestureType;
- Qt::GestureType SecondGesture = qApp->registerGestureRecognizer(new CustomGestureRecognizer);
- Qt::GestureType ThirdGesture = qApp->registerGestureRecognizer(new CustomGestureRecognizer);
-
- A->grabGesture(FirstGesture, Qt::WidgetWithChildrenGesture); // A [1 3]
- A->grabGesture(ThirdGesture, Qt::WidgetWithChildrenGesture); // |
- B->grabGesture(SecondGesture, Qt::WidgetWithChildrenGesture); // B [ 2 3]
- B->grabGesture(ThirdGesture, Qt::WidgetWithChildrenGesture); // |
- C->grabGesture(FirstGesture, Qt::WidgetWithChildrenGesture); // C [1 2 3]
- C->grabGesture(SecondGesture, Qt::WidgetWithChildrenGesture); // |
- C->grabGesture(ThirdGesture, Qt::WidgetWithChildrenGesture); // D [1 3]
- D->grabGesture(FirstGesture, Qt::WidgetWithChildrenGesture);
- D->grabGesture(ThirdGesture, Qt::WidgetWithChildrenGesture);
+ Qt::GestureType SecondGesture = QGestureRecognizer::registerRecognizer(new CustomGestureRecognizer);
+ Qt::GestureType ThirdGesture = QGestureRecognizer::registerRecognizer(new CustomGestureRecognizer);
+
+ Qt::GestureFlags flags = Qt::ReceivePartialGestures;
+ A->grabGesture(FirstGesture, flags); // A [1 3]
+ A->grabGesture(ThirdGesture, flags); // |
+ B->grabGesture(SecondGesture, flags); // B [ 2 3]
+ B->grabGesture(ThirdGesture, flags); // |
+ C->grabGesture(FirstGesture, flags); // C [1 2 3]
+ C->grabGesture(SecondGesture, flags); // |
+ C->grabGesture(ThirdGesture, flags); // D [1 3]
+ D->grabGesture(FirstGesture, flags);
+ D->grabGesture(ThirdGesture, flags);
// make sure all widgets ignore events, so they get propagated.
A->ignoredGestures << FirstGesture << ThirdGesture;
@@ -1046,6 +1149,9 @@ void tst_Gestures::multipleGesturesInTree()
QCOMPARE(A->events.all.count(FirstGesture), TotalGestureEventsCount);
QCOMPARE(A->events.all.count(SecondGesture), 0);
QCOMPARE(A->events.all.count(ThirdGesture), TotalGestureEventsCount);
+
+ QGestureRecognizer::unregisterRecognizer(SecondGesture);
+ QGestureRecognizer::unregisterRecognizer(ThirdGesture);
}
void tst_Gestures::multipleGesturesInComplexTree()
@@ -1057,26 +1163,27 @@ void tst_Gestures::multipleGesturesInComplexTree()
GestureWidget *D = new GestureWidget("D", C);
Qt::GestureType FirstGesture = CustomGesture::GestureType;
- Qt::GestureType SecondGesture = qApp->registerGestureRecognizer(new CustomGestureRecognizer);
- Qt::GestureType ThirdGesture = qApp->registerGestureRecognizer(new CustomGestureRecognizer);
- Qt::GestureType FourthGesture = qApp->registerGestureRecognizer(new CustomGestureRecognizer);
- Qt::GestureType FifthGesture = qApp->registerGestureRecognizer(new CustomGestureRecognizer);
- Qt::GestureType SixthGesture = qApp->registerGestureRecognizer(new CustomGestureRecognizer);
- Qt::GestureType SeventhGesture = qApp->registerGestureRecognizer(new CustomGestureRecognizer);
-
- A->grabGesture(FirstGesture, Qt::WidgetWithChildrenGesture); // A [1,3,4]
- A->grabGesture(ThirdGesture, Qt::WidgetWithChildrenGesture); // |
- A->grabGesture(FourthGesture, Qt::WidgetWithChildrenGesture); // B [2,3,5]
- B->grabGesture(SecondGesture, Qt::WidgetWithChildrenGesture); // |
- B->grabGesture(ThirdGesture, Qt::WidgetWithChildrenGesture); // C [1,2,3,6]
- B->grabGesture(FifthGesture, Qt::WidgetWithChildrenGesture); // |
- C->grabGesture(FirstGesture, Qt::WidgetWithChildrenGesture); // D [1,3,7]
- C->grabGesture(SecondGesture, Qt::WidgetWithChildrenGesture);
- C->grabGesture(ThirdGesture, Qt::WidgetWithChildrenGesture);
- C->grabGesture(SixthGesture, Qt::WidgetWithChildrenGesture);
- D->grabGesture(FirstGesture, Qt::WidgetWithChildrenGesture);
- D->grabGesture(ThirdGesture, Qt::WidgetWithChildrenGesture);
- D->grabGesture(SeventhGesture, Qt::WidgetWithChildrenGesture);
+ Qt::GestureType SecondGesture = QGestureRecognizer::registerRecognizer(new CustomGestureRecognizer);
+ Qt::GestureType ThirdGesture = QGestureRecognizer::registerRecognizer(new CustomGestureRecognizer);
+ Qt::GestureType FourthGesture = QGestureRecognizer::registerRecognizer(new CustomGestureRecognizer);
+ Qt::GestureType FifthGesture = QGestureRecognizer::registerRecognizer(new CustomGestureRecognizer);
+ Qt::GestureType SixthGesture = QGestureRecognizer::registerRecognizer(new CustomGestureRecognizer);
+ Qt::GestureType SeventhGesture = QGestureRecognizer::registerRecognizer(new CustomGestureRecognizer);
+
+ Qt::GestureFlags flags = Qt::ReceivePartialGestures;
+ A->grabGesture(FirstGesture, flags); // A [1,3,4]
+ A->grabGesture(ThirdGesture, flags); // |
+ A->grabGesture(FourthGesture, flags); // B [2,3,5]
+ B->grabGesture(SecondGesture, flags); // |
+ B->grabGesture(ThirdGesture, flags); // C [1,2,3,6]
+ B->grabGesture(FifthGesture, flags); // |
+ C->grabGesture(FirstGesture, flags); // D [1,3,7]
+ C->grabGesture(SecondGesture, flags);
+ C->grabGesture(ThirdGesture, flags);
+ C->grabGesture(SixthGesture, flags);
+ D->grabGesture(FirstGesture, flags);
+ D->grabGesture(ThirdGesture, flags);
+ D->grabGesture(SeventhGesture, flags);
// make sure all widgets ignore events, so they get propagated.
QSet<Qt::GestureType> allGestureTypes;
@@ -1139,6 +1246,13 @@ void tst_Gestures::multipleGesturesInComplexTree()
QCOMPARE(A->events.all.count(FifthGesture), 0);
QCOMPARE(A->events.all.count(SixthGesture), 0);
QCOMPARE(A->events.all.count(SeventhGesture), 0);
+
+ QGestureRecognizer::unregisterRecognizer(SecondGesture);
+ QGestureRecognizer::unregisterRecognizer(ThirdGesture);
+ QGestureRecognizer::unregisterRecognizer(FourthGesture);
+ QGestureRecognizer::unregisterRecognizer(FifthGesture);
+ QGestureRecognizer::unregisterRecognizer(SixthGesture);
+ QGestureRecognizer::unregisterRecognizer(SeventhGesture);
}
void tst_Gestures::testMapToScene()
@@ -1147,10 +1261,11 @@ void tst_Gestures::testMapToScene()
QList<QGesture*> list;
list << &gesture;
QGestureEvent event(list);
- QCOMPARE(event.mapToScene(gesture.hotSpot()), QPointF()); // not set, can't do much
+ QCOMPARE(event.mapToGraphicsScene(gesture.hotSpot()), QPointF()); // not set, can't do much
QGraphicsScene scene;
QGraphicsView view(&scene);
+ view.setWindowFlags(Qt::X11BypassWindowManagerHint);
GestureItem *item0 = new GestureItem;
scene.addItem(item0);
@@ -1163,7 +1278,197 @@ void tst_Gestures::testMapToScene()
QPoint origin = view.mapToGlobal(QPoint());
event.setWidget(view.viewport());
- QCOMPARE(event.mapToScene(origin + QPoint(100, 200)), view.mapToScene(QPoint(100, 200)));
+ QCOMPARE(event.mapToGraphicsScene(origin + QPoint(100, 200)), view.mapToScene(QPoint(100, 200)));
+}
+
+void tst_Gestures::ungrabGesture() // a method on QWidget
+{
+ class MockGestureWidget : public GestureWidget {
+ public:
+ MockGestureWidget(const char *name = 0, QWidget *parent = 0)
+ : GestureWidget(name, parent) { }
+
+
+ QSet<QGesture*> gestures;
+ protected:
+ bool event(QEvent *event)
+ {
+ if (event->type() == QEvent::Gesture) {
+ QGestureEvent *gestureEvent = static_cast<QGestureEvent*>(event);
+ if (gestureEvent)
+ foreach (QGesture *g, gestureEvent->gestures())
+ gestures.insert(g);
+ }
+ return GestureWidget::event(event);
+ }
+ };
+
+ MockGestureWidget parent("A");
+ MockGestureWidget *a = &parent;
+ MockGestureWidget *b = new MockGestureWidget("B", a);
+
+ a->grabGesture(CustomGesture::GestureType, Qt::DontStartGestureOnChildren);
+ b->grabGesture(CustomGesture::GestureType);
+ b->ignoredGestures << CustomGesture::GestureType;
+
+ CustomEvent event;
+ // sending an event will cause the QGesture objects to be instantiated for the widgets
+ sendCustomGesture(&event, b);
+
+ QCOMPARE(a->gestures.count(), 1);
+ QPointer<QGesture> customGestureA;
+ customGestureA = *(a->gestures.begin());
+ QVERIFY(!customGestureA.isNull());
+ QCOMPARE(customGestureA->gestureType(), CustomGesture::GestureType);
+
+ QCOMPARE(b->gestures.count(), 1);
+ QPointer<QGesture> customGestureB;
+ customGestureB = *(b->gestures.begin());
+ QVERIFY(!customGestureB.isNull());
+ QVERIFY(customGestureA.data() == customGestureB.data());
+ QCOMPARE(customGestureB->gestureType(), CustomGesture::GestureType);
+
+ a->gestures.clear();
+ // sending an event will cause the QGesture objects to be instantiated for the widget
+ sendCustomGesture(&event, a);
+
+ QCOMPARE(a->gestures.count(), 1);
+ customGestureA = *(a->gestures.begin());
+ QVERIFY(!customGestureA.isNull());
+ QCOMPARE(customGestureA->gestureType(), CustomGesture::GestureType);
+ QVERIFY(customGestureA.data() != customGestureB.data());
+
+ a->ungrabGesture(CustomGesture::GestureType);
+ QVERIFY(customGestureA.isNull());
+ QVERIFY(!customGestureB.isNull());
+
+ a->gestures.clear();
+ a->reset();
+ // send again to 'b' and make sure a never gets it.
+ sendCustomGesture(&event, b);
+ QCOMPARE(a->gestureEventsReceived, 0);
+ QCOMPARE(a->gestureOverrideEventsReceived, 0);
+}
+
+void tst_Gestures::unregisterRecognizer() // a method on QApplication
+{
+ /*
+ The hardest usecase to get right is when we remove a recognizer while several
+ of the gestures it created are in active state and we immediately add a new recognizer
+ for the same type (thus replacing the old one).
+ The expected result is that all old gestures continue till they are finished/cancelled
+ and the new recognizer starts creating gestures immediately at registration.
+
+ This implies that deleting of the recognizer happens only when there are no more gestures
+ that it created. (since gestures might have a pointer to the recognizer)
+ */
+
+}
+
+void tst_Gestures::autoCancelGestures()
+{
+ class MockWidget : public GestureWidget {
+ public:
+ MockWidget(const char *name) : GestureWidget(name) { }
+
+ bool event(QEvent *event)
+ {
+ if (event->type() == QEvent::Gesture) {
+ QGestureEvent *ge = static_cast<QGestureEvent*>(event);
+ Q_ASSERT(ge->gestures().count() == 1); // can't use QCOMPARE here...
+ ge->gestures().first()->setGestureCancelPolicy(QGesture::CancelAllInContext);
+ }
+ return GestureWidget::event(event);
+ }
+ };
+
+ const Qt::GestureType secondGesture = QGestureRecognizer::registerRecognizer(new CustomGestureRecognizer);
+
+ MockWidget parent("parent"); // this one sets the cancel policy to CancelAllInContext
+ parent.resize(300, 100);
+ parent.setWindowFlags(Qt::X11BypassWindowManagerHint);
+ GestureWidget *child = new GestureWidget("child", &parent);
+ child->setGeometry(10, 10, 100, 80);
+
+ parent.grabGesture(CustomGesture::GestureType);
+ child->grabGesture(secondGesture);
+ parent.show();
+ QTest::qWaitForWindowShown(&parent);
+
+ /*
+ An event is send to both the child and the parent, when the child gets it a gesture is triggered
+ and send to the child.
+ When the parent gets the event a new gesture is triggered and delivered to the parent. When the
+ parent gets it he accepts it and that causes the cancel policy to activate.
+ The cause of that is the gesture for the child is cancelled and send to the child as such.
+ */
+ CustomEvent event;
+ event.serial = CustomGesture::SerialStartedThreshold;
+ QApplication::sendEvent(child, &event);
+ QCOMPARE(child->events.all.count(), 2);
+ QCOMPARE(child->events.started.count(), 1);
+ QCOMPARE(child->events.canceled.count(), 1);
+ QCOMPARE(parent.events.all.count(), 1);
+
+ // clean up, make the parent gesture finish
+ event.serial = CustomGesture::SerialFinishedThreshold;
+ QApplication::sendEvent(child, &event);
+ QCOMPARE(parent.events.all.count(), 2);
+}
+
+void tst_Gestures::autoCancelGestures2()
+{
+ class MockItem : public GestureItem {
+ public:
+ MockItem(const char *name) : GestureItem(name) { }
+
+ bool event(QEvent *event) {
+ if (event->type() == QEvent::Gesture) {
+ QGestureEvent *ge = static_cast<QGestureEvent*>(event);
+ Q_ASSERT(ge->gestures().count() == 1); // can't use QCOMPARE here...
+ ge->gestures().first()->setGestureCancelPolicy(QGesture::CancelAllInContext);
+ }
+ return GestureItem::event(event);
+ }
+ };
+
+ const Qt::GestureType secondGesture = QGestureRecognizer ::registerRecognizer(new CustomGestureRecognizer);
+
+ QGraphicsScene scene;
+ QGraphicsView view(&scene);
+ view.setWindowFlags(Qt::X11BypassWindowManagerHint);
+
+ MockItem *parent = new MockItem("parent");
+ GestureItem *child = new GestureItem("child");
+ child->setParentItem(parent);
+ parent->setPos(0, 0);
+ child->setPos(10, 10);
+ scene.addItem(parent);
+ view.viewport()->grabGesture(CustomGesture::GestureType, Qt::DontStartGestureOnChildren);
+ view.viewport()->grabGesture(secondGesture, Qt::DontStartGestureOnChildren);
+ parent->grabGesture(CustomGesture::GestureType);
+ child->grabGesture(secondGesture);
+
+ view.show();
+ QTest::qWaitForWindowShown(&view);
+ view.ensureVisible(scene.sceneRect());
+
+ CustomEvent event;
+ event.serial = CustomGesture::SerialStartedThreshold;
+ event.hasHotSpot = true;
+ event.hotSpot = mapToGlobal(QPointF(5, 5), child, &view);
+ // qDebug() << event.hotSpot;
+ scene.sendEvent(child, &event);
+ //QEventLoop().exec();
+ QCOMPARE(parent->events.all.count(), 1);
+ QCOMPARE(child->events.started.count(), 1);
+ QCOMPARE(child->events.canceled.count(), 1);
+ QCOMPARE(child->events.all.count(), 2);
+
+ // clean up, make the parent gesture finish
+ event.serial = CustomGesture::SerialFinishedThreshold;
+ scene.sendEvent(child, &event);
+ QCOMPARE(parent->events.all.count(), 2);
}
QTEST_MAIN(tst_Gestures)
diff --git a/tests/auto/linguist/lupdate/testdata/good/parsecpp/main.cpp b/tests/auto/linguist/lupdate/testdata/good/parsecpp/main.cpp
index 8201add..e243e66 100644
--- a/tests/auto/linguist/lupdate/testdata/good/parsecpp/main.cpp
+++ b/tests/auto/linguist/lupdate/testdata/good/parsecpp/main.cpp
@@ -228,3 +228,22 @@ QT_TRID_NOOP("this_a_id")
//~ some thing
//% "This needs to be here. Really."
QString test = qtTrId("this_another_id", n);
+
+
+
+class YetAnotherTest : QObject {
+ Q_OBJECT
+
+ int function(void)
+ {
+ //
+ //:
+ //=
+ //~
+ //#
+ //=============
+ //~~~~~~~~~~~~~
+ //:::::::::::::
+ tr("nothing");
+ }
+};
diff --git a/tests/auto/linguist/lupdate/testdata/good/parsecpp/project.ts.result b/tests/auto/linguist/lupdate/testdata/good/parsecpp/project.ts.result
index d63c7c3..26e5a65 100644
--- a/tests/auto/linguist/lupdate/testdata/good/parsecpp/project.ts.result
+++ b/tests/auto/linguist/lupdate/testdata/good/parsecpp/project.ts.result
@@ -278,6 +278,14 @@ backslashed \ stuff.</source>
</message>
</context>
<context>
+ <name>YetAnotherTest</name>
+ <message>
+ <location filename="main.cpp" line="247"/>
+ <source>nothing</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>scope</name>
<message numerus="yes">
<location filename="main.cpp" line="187"/>
diff --git a/tests/auto/networkselftest/tst_networkselftest.cpp b/tests/auto/networkselftest/tst_networkselftest.cpp
index d58402b..a09d998 100644
--- a/tests/auto/networkselftest/tst_networkselftest.cpp
+++ b/tests/auto/networkselftest/tst_networkselftest.cpp
@@ -333,6 +333,11 @@ QHostAddress tst_NetworkSelfTest::serverIpAddress()
if (cachedIpAddress.protocol() == QAbstractSocket::UnknownNetworkLayerProtocol) {
// need resolving
QHostInfo resolved = QHostInfo::fromName(QtNetworkSettings::serverName());
+ if(resolved.error() != QHostInfo::NoError ||
+ !resolved.addresses().isEmpty()) {
+ qWarning("QHostInfo::fromName failed (%d).", resolved.error());
+ return QHostAddress(QHostAddress::Null);
+ }
cachedIpAddress = resolved.addresses().first();
}
return cachedIpAddress;
diff --git a/tests/auto/q3filedialog/tst_q3filedialog.cpp b/tests/auto/q3filedialog/tst_q3filedialog.cpp
index 2585f60..e2686eb 100644
--- a/tests/auto/q3filedialog/tst_q3filedialog.cpp
+++ b/tests/auto/q3filedialog/tst_q3filedialog.cpp
@@ -59,7 +59,9 @@ public:
virtual ~tst_Q3FileDialog();
private slots:
+#ifndef QT_MAC_USE_COCOA
void getSetCheck();
+#endif
};
tst_Q3FileDialog::tst_Q3FileDialog()
@@ -70,6 +72,7 @@ tst_Q3FileDialog::~tst_Q3FileDialog()
{
}
+#ifndef QT_MAC_USE_COCOA
class Preview : public QLabel, public Q3FilePreview
{
public:
@@ -125,6 +128,7 @@ void tst_Q3FileDialog::getSetCheck()
obj1.setPreviewMode(Q3FileDialog::PreviewMode(Q3FileDialog::Info));
QCOMPARE(obj1.previewMode(), Q3FileDialog::PreviewMode(Q3FileDialog::Info));
}
+#endif
QTEST_MAIN(tst_Q3FileDialog)
#include "tst_q3filedialog.moc"
diff --git a/tests/auto/qabstractslider/tst_qabstractslider.cpp b/tests/auto/qabstractslider/tst_qabstractslider.cpp
index 5c70bde..d9574df 100644
--- a/tests/auto/qabstractslider/tst_qabstractslider.cpp
+++ b/tests/auto/qabstractslider/tst_qabstractslider.cpp
@@ -714,11 +714,7 @@ void tst_QAbstractSlider::wheelEvent_data()
<< 1 // delta
<< int(Qt::Vertical) // orientation of slider
<< int(Qt::Vertical) // orientation of wheel
-#ifdef Q_WS_MAC
- << 1 // expected position after
-#else
<< 20 // expected position after
-#endif
<< QPoint(0,0);
QTest::newRow("Normal data page") << 0 // initial position
@@ -777,11 +773,7 @@ void tst_QAbstractSlider::wheelEvent_data()
<< 1 // delta
<< int(Qt::Horizontal) // orientation of slider
<< int(Qt::Horizontal) // orientation of wheel
-#ifdef Q_WS_MAC
- << 49 // expected position after
-#else
<< 30 // expected position after
-#endif
<< QPoint(1,1);
QTest::newRow("Past end") << 50 // initial position
@@ -792,11 +784,7 @@ void tst_QAbstractSlider::wheelEvent_data()
<< false // inverted controls
<< 1 // wheel scroll lines
<< false // with modifiers
-#ifdef Q_WS_MAC
- << 60 // delta
-#else
<< 2 // delta
-#endif
<< int(Qt::Horizontal) // orientation of slider
<< int(Qt::Horizontal) // orientation of wheel
<< 100 // expected position after
@@ -810,11 +798,7 @@ void tst_QAbstractSlider::wheelEvent_data()
<< false // inverted controls
<< 1 // wheel scroll lines
<< false // with modifiers
-#ifdef Q_WS_MAC
- << -60 // delta
-#else
<< -2 // delta
-#endif
<< int(Qt::Horizontal) // orientation of slider
<< int(Qt::Horizontal) // orientation of wheel
<< 0 // expected position after
diff --git a/tests/auto/qabstractvideosurface/tst_qabstractvideosurface.cpp b/tests/auto/qabstractvideosurface/tst_qabstractvideosurface.cpp
index 20ca759..b4d2ac8 100644
--- a/tests/auto/qabstractvideosurface/tst_qabstractvideosurface.cpp
+++ b/tests/auto/qabstractvideosurface/tst_qabstractvideosurface.cpp
@@ -61,6 +61,8 @@ private slots:
void setError();
void isFormatSupported_data();
void isFormatSupported();
+ void nearestFormat_data();
+ void nearestFormat();
void start_data();
void start();
};
@@ -232,6 +234,22 @@ void tst_QAbstractVideoSurface::isFormatSupported()
QCOMPARE(surface.isFormatSupported(format), supported);
}
+void tst_QAbstractVideoSurface::nearestFormat_data()
+{
+ isFormatSupported_data();
+}
+
+void tst_QAbstractVideoSurface::nearestFormat()
+{
+ QFETCH(SupportedFormatMap, supportedFormats);
+ QFETCH(QVideoSurfaceFormat, format);
+ QFETCH(bool, supported);
+
+ QtTestVideoSurface surface(supportedFormats);
+
+ QCOMPARE(surface.nearestFormat(format) == format, supported);
+}
+
void tst_QAbstractVideoSurface::start_data()
{
QTest::addColumn<QVideoSurfaceFormat>("format");
@@ -256,35 +274,35 @@ void tst_QAbstractVideoSurface::start()
surface.setError(QAbstractVideoSurface::ResourceError);
QSignalSpy formatSpy(&surface, SIGNAL(surfaceFormatChanged(QVideoSurfaceFormat)));
- QSignalSpy startedSpy(&surface, SIGNAL(startedChanged(bool)));
+ QSignalSpy activeSpy(&surface, SIGNAL(activeChanged(bool)));
- QVERIFY(!surface.isStarted());
+ QVERIFY(!surface.isActive());
QCOMPARE(surface.surfaceFormat(), QVideoSurfaceFormat());
QVERIFY(surface.start(format));
- QVERIFY(surface.isStarted());
+ QVERIFY(surface.isActive());
QCOMPARE(surface.surfaceFormat(), format);
QCOMPARE(formatSpy.count(), 1);
- QCOMPARE(qvariant_cast<QVideoSurfaceFormat>(formatSpy.at(0).at(0)), format);
+ QCOMPARE(qvariant_cast<QVideoSurfaceFormat>(formatSpy.last().at(0)), format);
- QCOMPARE(startedSpy.count(), 1);
- QCOMPARE(startedSpy.at(0).at(0).toBool(), true);
+ QCOMPARE(activeSpy.count(), 1);
+ QCOMPARE(activeSpy.last().at(0).toBool(), true);
// error() is reset on a successful start.
QCOMPARE(surface.error(), QAbstractVideoSurface::NoError);
surface.stop();
- QVERIFY(!surface.isStarted());
+ QVERIFY(!surface.isActive());
QCOMPARE(surface.surfaceFormat(), QVideoSurfaceFormat());
QCOMPARE(formatSpy.count(), 2);
- QCOMPARE(qvariant_cast<QVideoSurfaceFormat>(formatSpy.at(1).at(0)), QVideoSurfaceFormat());
+ QCOMPARE(qvariant_cast<QVideoSurfaceFormat>(formatSpy.last().at(0)), QVideoSurfaceFormat());
- QCOMPARE(startedSpy.count(), 2);
- QCOMPARE(startedSpy.at(1).at(0).toBool(), false);
+ QCOMPARE(activeSpy.count(), 2);
+ QCOMPARE(activeSpy.last().at(0).toBool(), false);
}
QTEST_MAIN(tst_QAbstractVideoSurface)
diff --git a/tests/auto/qaccessibility/tst_qaccessibility.cpp b/tests/auto/qaccessibility/tst_qaccessibility.cpp
index 9f2e4e7..25c2649 100644
--- a/tests/auto/qaccessibility/tst_qaccessibility.cpp
+++ b/tests/auto/qaccessibility/tst_qaccessibility.cpp
@@ -4034,6 +4034,27 @@ void tst_QAccessibility::labelTest()
delete acc_label;
delete label;
QTestAccessibility::clearEvents();
+
+ QPixmap testPixmap(50, 50);
+ testPixmap.fill();
+
+ QLabel imageLabel;
+ imageLabel.setPixmap(testPixmap);
+ imageLabel.setToolTip("Test Description");
+
+ acc_label = QAccessible::queryAccessibleInterface(&imageLabel);
+ QVERIFY(acc_label);
+
+ QAccessibleImageInterface *imageInterface = acc_label->imageInterface();
+ QVERIFY(imageInterface);
+
+ QCOMPARE(imageInterface->imageSize(), testPixmap.size());
+ QCOMPARE(imageInterface->imageDescription(), QString::fromLatin1("Test Description"));
+ QCOMPARE(imageInterface->imagePosition(QAccessible2::RelativeToParent), imageLabel.geometry());
+
+ delete acc_label;
+
+ QTestAccessibility::clearEvents();
#else
QSKIP("Test needs accessibility support.", SkipAll);
#endif
diff --git a/tests/auto/qactiongroup/tst_qactiongroup.cpp b/tests/auto/qactiongroup/tst_qactiongroup.cpp
index 2d215a0..7259479 100644
--- a/tests/auto/qactiongroup/tst_qactiongroup.cpp
+++ b/tests/auto/qactiongroup/tst_qactiongroup.cpp
@@ -70,6 +70,7 @@ private slots:
void separators();
void testActionInTwoQActionGroup();
+ void unCheckCurrentAction();
};
tst_QActionGroup::tst_QActionGroup()
@@ -278,5 +279,25 @@ void tst_QActionGroup::testActionInTwoQActionGroup()
QCOMPARE(group1.actions().isEmpty(), true);
}
+void tst_QActionGroup::unCheckCurrentAction()
+{
+ QActionGroup group(0);
+ QAction action1(&group) ,action2(&group);
+ action1.setCheckable(true);
+ action2.setCheckable(true);
+ QVERIFY(!action1.isChecked());
+ QVERIFY(!action2.isChecked());
+ action1.setChecked(true);
+ QVERIFY(action1.isChecked());
+ QVERIFY(!action2.isChecked());
+ QAction *current = group.checkedAction();
+ QCOMPARE(current, &action1);
+ current->setChecked(false);
+ QVERIFY(!action1.isChecked());
+ QVERIFY(!action2.isChecked());
+ QVERIFY(group.checkedAction() == 0);
+}
+
+
QTEST_MAIN(tst_QActionGroup)
#include "tst_qactiongroup.moc"
diff --git a/tests/auto/qalgorithms/tst_qalgorithms.cpp b/tests/auto/qalgorithms/tst_qalgorithms.cpp
index 1f1de82..176a451 100644
--- a/tests/auto/qalgorithms/tst_qalgorithms.cpp
+++ b/tests/auto/qalgorithms/tst_qalgorithms.cpp
@@ -602,9 +602,15 @@ void tst_QAlgorithms::test_qUpperBound()
void tst_QAlgorithms::test_qBinaryFind_data()
{
QTest::addColumn<QList<int> >("data");
- QTest::addColumn<int>("resultValue");
+ QTest::addColumn<int>("resultValue"); // -42 means not found
QTest::newRow("sorted-duplicate") << (QList<int>() << 1 << 2 << 2 << 3) << 2;
+ QTest::newRow("sorted-end") << (QList<int>() << -5 << -2 << 0 << 8) << 8;
+ QTest::newRow("sorted-beginning") << (QList<int>() << -5 << -2 << 0 << 8) << -5;
+ QTest::newRow("sorted-duplicate-beginning") << (QList<int>() << -5 << -5 << -2 << 0 << 8) << -5;
+ QTest::newRow("empty") << (QList<int>()) << -42;
+ QTest::newRow("not found 1 ") << (QList<int>() << 1 << 5 << 8 << 65) << -42;
+ QTest::newRow("not found 2 ") << (QList<int>() << -456 << -5 << 8 << 65) << -42;
}
void tst_QAlgorithms::test_qBinaryFind()
@@ -612,6 +618,15 @@ void tst_QAlgorithms::test_qBinaryFind()
QFETCH(QList<int>, data);
QFETCH(int, resultValue);
+ //-42 means not found
+ if (resultValue == -42) {
+ QVERIFY(qBinaryFind(data.constBegin(), data.constEnd(), resultValue) == data.end());
+ QVERIFY(qBinaryFind(data, resultValue) == data.end());
+ QVERIFY(qBinaryFind(data.begin(), data.end(), resultValue) == data.end());
+ QVERIFY(qBinaryFind(data.begin(), data.end(), resultValue, qLess<int>()) == data.end());
+ return;
+ }
+
QCOMPARE(*qBinaryFind(data.constBegin(), data.constEnd(), resultValue), resultValue);
QCOMPARE(*qBinaryFind(data.begin(), data.end(), resultValue), resultValue);
QCOMPARE(*qBinaryFind(data, resultValue), resultValue);
diff --git a/tests/auto/qapplication/tst_qapplication.cpp b/tests/auto/qapplication/tst_qapplication.cpp
index 97aa092..5888866 100644
--- a/tests/auto/qapplication/tst_qapplication.cpp
+++ b/tests/auto/qapplication/tst_qapplication.cpp
@@ -129,6 +129,7 @@ private slots:
void style();
void allWidgets();
+ void topLevelWidgets();
void setAttribute();
@@ -136,6 +137,9 @@ private slots:
void windowsCommandLine();
void touchEventPropagation();
+
+ void symbianNeedForTraps();
+ void symbianLeaveThroughMain();
};
class EventSpy : public QObject
@@ -1792,6 +1796,27 @@ void tst_QApplication::allWidgets()
QVERIFY(!app.allWidgets().contains(w)); // removal test
}
+void tst_QApplication::topLevelWidgets()
+{
+ int argc = 1;
+ QApplication app(argc, &argv0, QApplication::GuiServer);
+ QWidget *w = new QWidget;
+ w->show();
+#ifndef QT_NO_CLIPBOARD
+ QClipboard *clipboard = QApplication::clipboard();
+ QString originalText = clipboard->text();
+ clipboard->setText(QString("newText"));
+#endif
+ app.processEvents();
+ QVERIFY(QApplication::topLevelWidgets().contains(w));
+ QCOMPARE(QApplication::topLevelWidgets().count(), 1);
+ delete w;
+ w = 0;
+ app.processEvents();
+ QCOMPARE(QApplication::topLevelWidgets().count(), 0);
+}
+
+
void tst_QApplication::setAttribute()
{
@@ -2011,6 +2036,66 @@ void tst_QApplication::touchEventPropagation()
}
}
+#ifdef Q_OS_SYMBIAN
+class CBaseDummy : public CBase
+{
+public:
+ CBaseDummy(int *numDestroyed) : numDestroyed(numDestroyed)
+ {
+ }
+ ~CBaseDummy()
+ {
+ (*numDestroyed)++;
+ }
+
+private:
+ int *numDestroyed;
+};
+
+static void fakeMain(int *numDestroyed)
+{
+ // Push a few objects, just so that the cleanup stack has something to clean up.
+ CleanupStack::PushL(new (ELeave) CBaseDummy(numDestroyed));
+ int argc = 0;
+ QApplication app(argc, 0);
+ CleanupStack::PushL(new (ELeave) CBaseDummy(numDestroyed));
+
+ User::Leave(KErrGeneral); // Fake error
+}
+#endif
+
+void tst_QApplication::symbianNeedForTraps()
+{
+#ifndef Q_OS_SYMBIAN
+ QSKIP("This is a Symbian-only test", SkipAll);
+#else
+ int argc = 0;
+ QApplication app(argc, 0);
+ int numDestroyed = 0;
+
+ // This next part should not require a trap. If it does, the test will crash.
+ CleanupStack::PushL(new (ELeave) CBaseDummy(&numDestroyed));
+ CleanupStack::PopAndDestroy();
+
+ QCOMPARE(numDestroyed, 1);
+
+ // No other failure condition. The program will crash if it does not pass.
+#endif
+}
+
+void tst_QApplication::symbianLeaveThroughMain()
+{
+#ifndef Q_OS_SYMBIAN
+ QSKIP("This is a Symbian-only test", SkipAll);
+#else
+ int numDestroyed = 0;
+ TInt err;
+ TRAP(err, fakeMain(&numDestroyed));
+
+ QCOMPARE(numDestroyed, 2);
+#endif
+}
+
//QTEST_APPLESS_MAIN(tst_QApplication)
int main(int argc, char *argv[])
{
diff --git a/tests/auto/qboxlayout/tst_qboxlayout.cpp b/tests/auto/qboxlayout/tst_qboxlayout.cpp
index 7ff444b..8887288 100644
--- a/tests/auto/qboxlayout/tst_qboxlayout.cpp
+++ b/tests/auto/qboxlayout/tst_qboxlayout.cpp
@@ -211,7 +211,6 @@ void tst_QBoxLayout::setGeometry()
QRect newGeom(0, 0, 70, 70);
lay2->setGeometry(newGeom);
- QApplication::processEvents();
QVERIFY2(newGeom.contains(dial->geometry()), "dial->geometry() should be smaller and within newGeom");
}
diff --git a/tests/auto/qclipboard/test/test.pro b/tests/auto/qclipboard/test/test.pro
index 508eba1..62a38af 100644
--- a/tests/auto/qclipboard/test/test.pro
+++ b/tests/auto/qclipboard/test/test.pro
@@ -13,7 +13,18 @@ win32 {
wince*|symbian*: {
copier.sources = ../copier/copier.exe
copier.path = copier
- paster.sources = ../paster/paster.exe
+ paster.sources = ../paster/paster.exe
paster.path = paster
- DEPLOYMENT = copier paster
+
+ symbian*: {
+ load(data_caging_paths)
+ rsc.sources = $${EPOCROOT}$$HW_ZDIR$$APP_RESOURCE_DIR/copier.rsc
+ rsc.sources += $${EPOCROOT}$$HW_ZDIR$$APP_RESOURCE_DIR/paster.rsc
+ rsc.path = $$APP_RESOURCE_DIR
+ reg_resource.sources = $${EPOCROOT}$$HW_ZDIR$$REG_RESOURCE_IMPORT_DIR/copier_reg.rsc
+ reg_resource.sources += $${EPOCROOT}$$HW_ZDIR$$REG_RESOURCE_IMPORT_DIR/paster_reg.rsc
+ reg_resource.path = $$REG_RESOURCE_IMPORT_DIR
+ }
+
+ DEPLOYMENT = copier paster rsc reg_resource
} \ No newline at end of file
diff --git a/tests/auto/qcombobox/tst_qcombobox.cpp b/tests/auto/qcombobox/tst_qcombobox.cpp
index 0d3469d..51a7ff8 100644
--- a/tests/auto/qcombobox/tst_qcombobox.cpp
+++ b/tests/auto/qcombobox/tst_qcombobox.cpp
@@ -152,6 +152,8 @@ private slots:
void subControlRectsWithOffset();
void task260974_menuItemRectangleForComboBoxPopup();
void removeItem();
+ void resetModel();
+ void keyBoardNavigationWithMouse();
protected slots:
void onEditTextChanged( const QString &newString );
@@ -2416,5 +2418,88 @@ void tst_QComboBox::removeItem()
QCOMPARE(cb.count(), 0);
}
+void tst_QComboBox::resetModel()
+{
+ class StringListModel : public QStringListModel
+ {
+ public:
+ StringListModel(const QStringList &list) : QStringListModel(list)
+ {
+ }
+
+ void reset()
+ {
+ QStringListModel::reset();
+ }
+ };
+ QComboBox cb;
+ StringListModel model( QStringList() << "1" << "2");
+ QSignalSpy spy(&cb, SIGNAL(currentIndexChanged(int)));
+ QCOMPARE(spy.count(), 0);
+ QCOMPARE(cb.currentIndex(), -1); //no selection
+
+ cb.setModel(&model);
+
+ QCOMPARE(spy.count(), 1);
+ QCOMPARE(cb.currentIndex(), 0); //first item selected
+
+ model.reset();
+ QCOMPARE(spy.count(), 2);
+ QCOMPARE(cb.currentIndex(), -1); //no selection
+
+}
+
+void tst_QComboBox::keyBoardNavigationWithMouse()
+{
+ QComboBox combo;
+ combo.setEditable(false);
+ for (int i = 0; i < 80; i++)
+ combo.addItem( QString::number(i));
+ combo.show();
+ QApplication::setActiveWindow(&combo);
+ QTest::qWaitForWindowShown(&combo);
+ QTRY_COMPARE(QApplication::activeWindow(), static_cast<QWidget *>(&combo));
+
+ QCOMPARE(combo.currentText(), QLatin1String("0"));
+
+ combo.setFocus();
+ QTRY_VERIFY(combo.hasFocus());
+
+ QTest::keyClick(testWidget->lineEdit(), Qt::Key_Space);
+ QTest::qWait(30);
+ QTRY_VERIFY(combo.view());
+ QTRY_VERIFY(combo.view()->isVisible());
+ QTest::qWait(130);
+
+ QCOMPARE(combo.currentText(), QLatin1String("0"));
+
+ QCursor::setPos(combo.view()->mapToGlobal(combo.view()->rect().center()));
+ QTest::qWait(200);
+
+#define GET_SELECTION(SEL) \
+ QCOMPARE(combo.view()->selectionModel()->selection().count(), 1); \
+ QCOMPARE(combo.view()->selectionModel()->selection().indexes().count(), 1); \
+ SEL = combo.view()->selectionModel()->selection().indexes().first().row()
+
+ int selection;
+ GET_SELECTION(selection);
+
+ //since we moved the mouse is in the middle it should even be around 5;
+ QVERIFY(selection > 3);
+
+ static const int final = 40;
+ for (int i = selection + 1; i <= final; i++)
+ {
+ QTest::keyClick(combo.view(), Qt::Key_Down);
+ QTest::qWait(20);
+ GET_SELECTION(selection);
+ QCOMPARE(selection, i);
+ }
+
+ QTest::keyClick(combo.view(), Qt::Key_Enter);
+ QTRY_COMPARE(combo.currentText(), QString::number(final));
+}
+
+
QTEST_MAIN(tst_QComboBox)
#include "tst_qcombobox.moc"
diff --git a/tests/auto/qcompleter/tst_qcompleter.cpp b/tests/auto/qcompleter/tst_qcompleter.cpp
index 43205e1..2a17984 100644
--- a/tests/auto/qcompleter/tst_qcompleter.cpp
+++ b/tests/auto/qcompleter/tst_qcompleter.cpp
@@ -267,7 +267,7 @@ void tst_QCompleter::filter()
//QModelIndex si = completer->currentIndex();
//QCOMPARE(completer->model()->data(si).toString(), completion);
- QCOMPARE(completer->currentCompletion(), completionText);
+ QVERIFY(0 == QString::compare(completer->currentCompletion(), completionText, completer->caseSensitivity()));
}
// Testing get/set functions
diff --git a/tests/auto/qdatastream/tst_qdatastream.cpp b/tests/auto/qdatastream/tst_qdatastream.cpp
index add0945..56fc53a 100644
--- a/tests/auto/qdatastream/tst_qdatastream.cpp
+++ b/tests/auto/qdatastream/tst_qdatastream.cpp
@@ -3100,22 +3100,6 @@ void tst_QDataStream::streamToAndFromQByteArray()
void tst_QDataStream::streamRealDataTypes()
{
-#if defined(Q_OS_WINCE)
- // Note: Probably actually same 'qreal being typedeffed as float instead of double' issue as in Symbian
- // instead of what CE skip message says.
- QSKIP("Skipped on CE as it demands too much memory and fragments", SkipAll);
-#elif defined(Q_OS_SYMBIAN)
- // qreal is typedeffed float in symbian instead of double like in most platforms, so reference stream
- // gets corrupted. Basically this test is flawed, as one shouldn't use naked typedeffed types in
- // streams that are meant to work cross-platform.
- // As this test also tests other floating point using classes, we do not simply skip it, but work around
- // the qreal issue by redefining qreal as double for the duration of this function.
- // Note that streaming classes works because they do explicitly use double instead of qreal when
- // writing/reading to/from stream.
-# define qreal double
- qWarning("Note: streamRealDataTypes test redefines qreal as double in symbian!!!");
-#endif
-
// Generate QPicture from SVG.
QSvgRenderer renderer(svgFile);
QVERIFY(renderer.isValid());
@@ -3163,7 +3147,6 @@ void tst_QDataStream::streamRealDataTypes()
file.close();
}
- qreal a, b, c, d, e, f;
QPointF point;
QRectF rect;
QPolygonF polygon;
@@ -3180,28 +3163,50 @@ void tst_QDataStream::streamRealDataTypes()
QDataStream stream(&file);
stream.setVersion(QDataStream::Qt_4_2);
- stream >> a >> b >> c >> d >> e >> f >> point
- >> rect >> polygon >> matrix >> p;
- if (i == 1)
- stream >> pict;
- stream >> textLength >> col >> rGrad >> cGrad
- >> pen;
-
- QCOMPARE(stream.status(), QDataStream::Ok);
-
- QCOMPARE(a, qreal(0));
- QCOMPARE(b, qreal(1.0));
- QCOMPARE(c, qreal(1.1));
- QCOMPARE(d, qreal(3.14));
- QCOMPARE(e, qreal(-3.14));
- QCOMPARE(f, qreal(-1));
+ if (i == 0) {
+ // the reference stream for 4.2 contains doubles,
+ // so we must read them out as doubles!
+ double a, b, c, d, e, f;
+ stream >> a;
+ QCOMPARE(a, 0.0);
+ stream >> b;
+ QCOMPARE(b, 1.0);
+ stream >> c;
+ QCOMPARE(c, 1.1);
+ stream >> d;
+ QCOMPARE(d, 3.14);
+ stream >> e;
+ QCOMPARE(e, -3.14);
+ stream >> f;
+ QCOMPARE(f, -1.0);
+ } else {
+ qreal a, b, c, d, e, f;
+ stream >> a;
+ QCOMPARE(a, qreal(0));
+ stream >> b;
+ QCOMPARE(b, qreal(1.0));
+ stream >> c;
+ QCOMPARE(c, qreal(1.1));
+ stream >> d;
+ QCOMPARE(d, qreal(3.14));
+ stream >> e;
+ QCOMPARE(e, qreal(-3.14));
+ stream >> f;
+ QCOMPARE(f, qreal(-1));
+ }
+ stream >> point;
QCOMPARE(point, QPointF(3, 5));
+ stream >> rect;
QCOMPARE(rect, QRectF(-1, -2, 3, 4));
+ stream >> polygon;
QCOMPARE((QVector<QPointF> &)polygon, (QPolygonF() << QPointF(0, 0) << QPointF(1, 2)));
+ stream >> matrix;
QCOMPARE(matrix, QMatrix().rotate(90).scale(2, 2));
+ stream >> p;
QCOMPARE(p, path);
+ if (i == 1) {
+ stream >> pict;
- if (i == 0) {
QByteArray pictA, pictB;
QBuffer bufA, bufB;
QVERIFY(bufA.open(QIODevice::ReadWrite));
@@ -3212,8 +3217,11 @@ void tst_QDataStream::streamRealDataTypes()
QCOMPARE(pictA, pictB);
}
+ stream >> textLength;
QCOMPARE(textLength, QTextLength(QTextLength::VariableLength, 1.5));
+ stream >> col;
QCOMPARE(col, color);
+ stream >> rGrad;
QCOMPARE(rGrad.style(), radialBrush.style());
QCOMPARE(rGrad.matrix(), radialBrush.matrix());
QCOMPARE(rGrad.gradient()->type(), radialBrush.gradient()->type());
@@ -3222,6 +3230,7 @@ void tst_QDataStream::streamRealDataTypes()
QCOMPARE(((QRadialGradient *)rGrad.gradient())->center(), ((QRadialGradient *)radialBrush.gradient())->center());
QCOMPARE(((QRadialGradient *)rGrad.gradient())->focalPoint(), ((QRadialGradient *)radialBrush.gradient())->focalPoint());
QCOMPARE(((QRadialGradient *)rGrad.gradient())->radius(), ((QRadialGradient *)radialBrush.gradient())->radius());
+ stream >> cGrad;
QCOMPARE(cGrad.style(), conicalBrush.style());
QCOMPARE(cGrad.matrix(), conicalBrush.matrix());
QCOMPARE(cGrad.gradient()->type(), conicalBrush.gradient()->type());
@@ -3231,11 +3240,11 @@ void tst_QDataStream::streamRealDataTypes()
QCOMPARE(((QConicalGradient *)cGrad.gradient())->angle(), ((QConicalGradient *)conicalBrush.gradient())->angle());
QCOMPARE(cGrad, conicalBrush);
+ stream >> pen;
QCOMPARE(pen.widthF(), qreal(1.5));
+
+ QCOMPARE(stream.status(), QDataStream::Ok);
}
-#if defined(Q_OS_SYMBIAN)
- #undef qreal
-#endif
}
#ifdef QT3_SUPPORT
diff --git a/tests/auto/qdatawidgetmapper/tst_qdatawidgetmapper.cpp b/tests/auto/qdatawidgetmapper/tst_qdatawidgetmapper.cpp
index 002aeb7..dedc0cb 100644
--- a/tests/auto/qdatawidgetmapper/tst_qdatawidgetmapper.cpp
+++ b/tests/auto/qdatawidgetmapper/tst_qdatawidgetmapper.cpp
@@ -379,7 +379,7 @@ void tst_QDataWidgetMapper::comboBox()
model->setData(model->index(0, 1), QString("read write item z"), Qt::EditRole);
QCOMPARE(readOnlyBox.currentIndex(), 2);
- QEXPECT_FAIL("", "See tasks 125493 and 147153", Abort);
+ QEXPECT_FAIL("", "See task 125493 and QTBUG-428", Abort);
QCOMPARE(readWriteBox.currentText(), QString("read write item z"));
}
diff --git a/tests/auto/qdatetime/tst_qdatetime.cpp b/tests/auto/qdatetime/tst_qdatetime.cpp
index 8fb0c91..1140402 100644
--- a/tests/auto/qdatetime/tst_qdatetime.cpp
+++ b/tests/auto/qdatetime/tst_qdatetime.cpp
@@ -447,7 +447,15 @@ void tst_QDateTime::toString_enumformat()
QCOMPARE(str2, QString("1995-05-20T12:34:56"));
QString str3 = dt1.toString(Qt::LocalDate);
+ qDebug() << str3;
QVERIFY(!str3.isEmpty());
+ //check for date/time components in any order
+ //year may be 2 or 4 digits
+ QVERIFY(str3.contains("95"));
+ //day and month may be in numeric or word form
+ QVERIFY(str3.contains("12"));
+ QVERIFY(str3.contains("34"));
+ //seconds may be absent
}
void tst_QDateTime::addDays()
diff --git a/tests/auto/qdbusabstractinterface/tst_qdbusabstractinterface.cpp b/tests/auto/qdbusabstractinterface/tst_qdbusabstractinterface.cpp
index baf769f..91050f5 100644
--- a/tests/auto/qdbusabstractinterface/tst_qdbusabstractinterface.cpp
+++ b/tests/auto/qdbusabstractinterface/tst_qdbusabstractinterface.cpp
@@ -103,6 +103,8 @@ private slots:
void getComplexSignal_data();
void getComplexSignal();
+ void followSignal();
+
void createErrors_data();
void createErrors();
@@ -130,6 +132,9 @@ tst_QDBusAbstractInterface::tst_QDBusAbstractInterface()
void tst_QDBusAbstractInterface::initTestCase()
{
+ // enable debugging temporarily:
+ putenv("QDBUS_DEBUG=1");
+
// register the object
QDBusConnection con = QDBusConnection::sessionBus();
QVERIFY(con.isConnected());
@@ -432,6 +437,60 @@ void tst_QDBusAbstractInterface::getComplexSignal()
QCOMPARE(s[0][0].value<RegisteredType>(), expectedValue);
}
+void tst_QDBusAbstractInterface::followSignal()
+{
+ const QString serviceToFollow = "com.trolltech.tst_qdbusabstractinterface.FollowMe";
+ Pinger p = getPinger(serviceToFollow);
+ QVERIFY2(p, "Not connected to D-Bus");
+
+ QDBusConnection con = p->connection();
+ QVERIFY(!con.interface()->isServiceRegistered(serviceToFollow));
+ Pinger control = getPinger("");
+
+ // we need to connect the signal somewhere in order for D-Bus to enable the rules
+ QTestEventLoop::instance().connect(p.data(), SIGNAL(voidSignal()), SLOT(exitLoop()));
+ QTestEventLoop::instance().connect(control.data(), SIGNAL(voidSignal()), SLOT(exitLoop()));
+ QSignalSpy s(p.data(), SIGNAL(voidSignal()));
+
+ emit targetObj.voidSignal();
+ QTestEventLoop::instance().enterLoop(200);
+ QVERIFY(!QTestEventLoop::instance().timeout());
+
+ // signal must not have been received because the service isn't registered
+ QVERIFY(s.isEmpty());
+
+ // now register the service
+ QDBusReply<QDBusConnectionInterface::RegisterServiceReply> r =
+ con.interface()->registerService(serviceToFollow, QDBusConnectionInterface::DontQueueService,
+ QDBusConnectionInterface::DontAllowReplacement);
+ QVERIFY(r.isValid() && r.value() == QDBusConnectionInterface::ServiceRegistered);
+ QVERIFY(con.interface()->isServiceRegistered(serviceToFollow));
+
+ // emit the signal again:
+ emit targetObj.voidSignal();
+ QTestEventLoop::instance().enterLoop(2);
+ QVERIFY(!QTestEventLoop::instance().timeout());
+
+ // now the signal must have been received:
+ QCOMPARE(s.size(), 1);
+ QVERIFY(s.at(0).size() == 0);
+ s.clear();
+
+ // disconnect the signal
+ disconnect(p.data(), SIGNAL(voidSignal()), &QTestEventLoop::instance(), 0);
+
+ // emit the signal again:
+ emit targetObj.voidSignal();
+ QTestEventLoop::instance().enterLoop(2);
+ QVERIFY(!QTestEventLoop::instance().timeout());
+
+ // and now it mustn't have been received
+ QVERIFY(s.isEmpty());
+
+ // cleanup:
+ con.interface()->unregisterService(serviceToFollow);
+}
+
void tst_QDBusAbstractInterface::createErrors_data()
{
QTest::addColumn<QString>("service");
diff --git a/tests/auto/qdbusinterface/tst_qdbusinterface.cpp b/tests/auto/qdbusinterface/tst_qdbusinterface.cpp
index e31a3a0..62d6342 100644
--- a/tests/auto/qdbusinterface/tst_qdbusinterface.cpp
+++ b/tests/auto/qdbusinterface/tst_qdbusinterface.cpp
@@ -171,6 +171,13 @@ class tst_QDBusInterface: public QObject
{
Q_OBJECT
MyObject obj;
+public slots:
+ void testServiceOwnerChanged(const QString &service)
+ {
+ if (service == "com.example.Test")
+ QTestEventLoop::instance().exitLoop();
+ }
+
private slots:
void initTestCase();
@@ -235,32 +242,13 @@ void tst_QDBusInterface::invalidAfterServiceOwnerChanged()
QDBusInterface invalidInterface("com.example.Test", "/");
QVERIFY(!invalidInterface.isValid());
+ QTestEventLoop::instance().connect(connIface, SIGNAL(serviceOwnerChanged(QString, QString, QString)),
+ SLOT(exitLoop()));
QVERIFY(connIface->registerService("com.example.Test") == QDBusConnectionInterface::ServiceRegistered);
- QSignalSpy serviceOwnerChangedSpy(connIface, SIGNAL(serviceOwnerChanged(QString, QString, QString)));
-
- QEventLoop loop;
- QObject::connect(connIface, SIGNAL(serviceOwnerChanged(QString, QString, QString)),
- &loop, SLOT(quit()));
- loop.exec();
-
- // at least once, but other services might have changed while running the test, too.
- QVERIFY(serviceOwnerChangedSpy.count() >= 1);
- bool foundOurService = false;
- for (int i = 0; i < serviceOwnerChangedSpy.count(); ++i) {
- QList<QVariant> args = serviceOwnerChangedSpy.at(i);
- QString name = args[0].toString();
- QString oldOwner = args[1].toString();
- QString newOwner = args[2].toString();
- if (name == QLatin1String("com.example.Test")) {
- if (newOwner == conn.baseService()) {
- foundOurService = true;
- break;
- }
- }
- }
- QVERIFY(foundOurService);
+ QTestEventLoop::instance().enterLoop(5);
+ QVERIFY(!QTestEventLoop::instance().timeout());
QVERIFY(!invalidInterface.isValid());
}
diff --git a/tests/auto/qdbusservicewatcher/qdbusservicewatcher.pro b/tests/auto/qdbusservicewatcher/qdbusservicewatcher.pro
new file mode 100644
index 0000000..4970f16
--- /dev/null
+++ b/tests/auto/qdbusservicewatcher/qdbusservicewatcher.pro
@@ -0,0 +1,8 @@
+load(qttest_p4)
+QT = core
+contains(QT_CONFIG,dbus): {
+ SOURCES += tst_qdbusservicewatcher.cpp
+ QT += dbus
+} else {
+ SOURCES += ../qdbusmarshall/dummy.cpp
+}
diff --git a/tests/auto/qdbusservicewatcher/tst_qdbusservicewatcher.cpp b/tests/auto/qdbusservicewatcher/tst_qdbusservicewatcher.cpp
new file mode 100644
index 0000000..10b43b1
--- /dev/null
+++ b/tests/auto/qdbusservicewatcher/tst_qdbusservicewatcher.cpp
@@ -0,0 +1,273 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, 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.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <QtDBus/QDBusServiceWatcher>
+#include <QtDBus>
+#include <QtTest>
+
+class tst_QDBusServiceWatcher: public QObject
+{
+ Q_OBJECT
+ QString serviceName;
+public:
+ tst_QDBusServiceWatcher();
+
+private slots:
+ void initTestCase();
+ void cleanup();
+
+ void watchForCreation();
+ void watchForDisappearance();
+ void watchForOwnerChange();
+ void modeChange();
+};
+
+tst_QDBusServiceWatcher::tst_QDBusServiceWatcher()
+ : serviceName("com.example.TestName")
+{
+}
+
+void tst_QDBusServiceWatcher::initTestCase()
+{
+ QDBusConnection con = QDBusConnection::sessionBus();
+ QVERIFY(con.isConnected());
+}
+
+void tst_QDBusServiceWatcher::cleanup()
+{
+ // ensure that the name isn't registered
+ QDBusConnection::sessionBus().unregisterService(serviceName);
+}
+
+void tst_QDBusServiceWatcher::watchForCreation()
+{
+ QDBusConnection con = QDBusConnection::sessionBus();
+ QVERIFY(con.isConnected());
+
+ QDBusServiceWatcher watcher(serviceName, con, QDBusServiceWatcher::WatchForRegistration);
+
+ QSignalSpy spyR(&watcher, SIGNAL(serviceRegistered(QString)));
+ QSignalSpy spyU(&watcher, SIGNAL(serviceUnregistered(QString)));
+ QSignalSpy spyO(&watcher, SIGNAL(serviceOwnerChanged(QString,QString,QString)));
+ QTestEventLoop::instance().connect(&watcher, SIGNAL(serviceRegistered(QString)), SLOT(exitLoop()));
+
+ // register a name
+ QVERIFY(con.registerService(serviceName));
+
+ QTestEventLoop::instance().enterLoop(1);
+ QVERIFY(!QTestEventLoop::instance().timeout());
+
+ QCOMPARE(spyR.count(), 1);
+ QCOMPARE(spyR.at(0).at(0).toString(), serviceName);
+
+ QCOMPARE(spyU.count(), 0);
+
+ QCOMPARE(spyO.count(), 1);
+ QCOMPARE(spyO.at(0).at(0).toString(), serviceName);
+ QVERIFY(spyO.at(0).at(1).toString().isEmpty());
+ QCOMPARE(spyO.at(0).at(2).toString(), con.baseService());
+
+ spyR.clear();
+ spyU.clear();
+ spyO.clear();
+
+ // unregister it:
+ con.unregisterService(serviceName);
+
+ // and register again
+ QVERIFY(con.registerService(serviceName));
+
+ QTestEventLoop::instance().enterLoop(1);
+ QVERIFY(!QTestEventLoop::instance().timeout());
+
+ QCOMPARE(spyR.count(), 1);
+ QCOMPARE(spyR.at(0).at(0).toString(), serviceName);
+
+ QCOMPARE(spyU.count(), 0);
+
+ QCOMPARE(spyO.count(), 1);
+ QCOMPARE(spyO.at(0).at(0).toString(), serviceName);
+ QVERIFY(spyO.at(0).at(1).toString().isEmpty());
+ QCOMPARE(spyO.at(0).at(2).toString(), con.baseService());
+}
+
+void tst_QDBusServiceWatcher::watchForDisappearance()
+{
+ QDBusConnection con = QDBusConnection::sessionBus();
+ QVERIFY(con.isConnected());
+
+ QDBusServiceWatcher watcher(serviceName, con, QDBusServiceWatcher::WatchForUnregistration);
+
+ QSignalSpy spyR(&watcher, SIGNAL(serviceRegistered(QString)));
+ QSignalSpy spyU(&watcher, SIGNAL(serviceUnregistered(QString)));
+ QSignalSpy spyO(&watcher, SIGNAL(serviceOwnerChanged(QString,QString,QString)));
+ QTestEventLoop::instance().connect(&watcher, SIGNAL(serviceUnregistered(QString)), SLOT(exitLoop()));
+
+ // register a name
+ QVERIFY(con.registerService(serviceName));
+
+ // unregister it:
+ con.unregisterService(serviceName);
+
+ QTestEventLoop::instance().enterLoop(1);
+ QVERIFY(!QTestEventLoop::instance().timeout());
+
+ QCOMPARE(spyR.count(), 0);
+
+ QCOMPARE(spyU.count(), 1);
+ QCOMPARE(spyU.at(0).at(0).toString(), serviceName);
+
+ QCOMPARE(spyO.count(), 1);
+ QCOMPARE(spyO.at(0).at(0).toString(), serviceName);
+ QCOMPARE(spyO.at(0).at(1).toString(), con.baseService());
+ QVERIFY(spyO.at(0).at(2).toString().isEmpty());
+}
+
+void tst_QDBusServiceWatcher::watchForOwnerChange()
+{
+ QDBusConnection con = QDBusConnection::sessionBus();
+ QVERIFY(con.isConnected());
+
+ QDBusServiceWatcher watcher(serviceName, con, QDBusServiceWatcher::WatchForOwnerChange);
+
+ QSignalSpy spyR(&watcher, SIGNAL(serviceRegistered(QString)));
+ QSignalSpy spyU(&watcher, SIGNAL(serviceUnregistered(QString)));
+ QSignalSpy spyO(&watcher, SIGNAL(serviceOwnerChanged(QString,QString,QString)));
+ QTestEventLoop::instance().connect(&watcher, SIGNAL(serviceRegistered(QString)), SLOT(exitLoop()));
+
+ // register a name
+ QVERIFY(con.registerService(serviceName));
+
+ QTestEventLoop::instance().enterLoop(1);
+ QVERIFY(!QTestEventLoop::instance().timeout());
+
+ QCOMPARE(spyR.count(), 1);
+ QCOMPARE(spyR.at(0).at(0).toString(), serviceName);
+
+ QCOMPARE(spyU.count(), 0);
+
+ QCOMPARE(spyO.count(), 1);
+ QCOMPARE(spyO.at(0).at(0).toString(), serviceName);
+ QVERIFY(spyO.at(0).at(1).toString().isEmpty());
+ QCOMPARE(spyO.at(0).at(2).toString(), con.baseService());
+
+ spyR.clear();
+ spyU.clear();
+ spyO.clear();
+
+ // unregister it:
+ con.unregisterService(serviceName);
+
+ // and register again
+ QVERIFY(con.registerService(serviceName));
+
+ QTestEventLoop::instance().enterLoop(1);
+ QVERIFY(!QTestEventLoop::instance().timeout());
+
+ QCOMPARE(spyR.count(), 1);
+ QCOMPARE(spyR.at(0).at(0).toString(), serviceName);
+
+ QCOMPARE(spyU.count(), 1);
+ QCOMPARE(spyU.at(0).at(0).toString(), serviceName);
+
+ QCOMPARE(spyO.count(), 2);
+ QCOMPARE(spyO.at(0).at(0).toString(), serviceName);
+ QCOMPARE(spyO.at(0).at(1).toString(), con.baseService());
+ QVERIFY(spyO.at(0).at(2).toString().isEmpty());
+ QCOMPARE(spyO.at(1).at(0).toString(), serviceName);
+ QVERIFY(spyO.at(1).at(1).toString().isEmpty());
+ QCOMPARE(spyO.at(1).at(2).toString(), con.baseService());
+}
+
+void tst_QDBusServiceWatcher::modeChange()
+{
+ QDBusConnection con = QDBusConnection::sessionBus();
+ QVERIFY(con.isConnected());
+
+ QDBusServiceWatcher watcher(serviceName, con, QDBusServiceWatcher::WatchForRegistration);
+
+ QSignalSpy spyR(&watcher, SIGNAL(serviceRegistered(QString)));
+ QSignalSpy spyU(&watcher, SIGNAL(serviceUnregistered(QString)));
+ QSignalSpy spyO(&watcher, SIGNAL(serviceOwnerChanged(QString,QString,QString)));
+ QTestEventLoop::instance().connect(&watcher, SIGNAL(serviceRegistered(QString)), SLOT(exitLoop()));
+
+ // register a name
+ QVERIFY(con.registerService(serviceName));
+
+ QTestEventLoop::instance().enterLoop(1);
+ QVERIFY(!QTestEventLoop::instance().timeout());
+
+ QCOMPARE(spyR.count(), 1);
+ QCOMPARE(spyR.at(0).at(0).toString(), serviceName);
+
+ QCOMPARE(spyU.count(), 0);
+
+ QCOMPARE(spyO.count(), 1);
+ QCOMPARE(spyO.at(0).at(0).toString(), serviceName);
+ QVERIFY(spyO.at(0).at(1).toString().isEmpty());
+ QCOMPARE(spyO.at(0).at(2).toString(), con.baseService());
+
+ spyR.clear();
+ spyU.clear();
+ spyO.clear();
+
+ watcher.setWatchMode(QDBusServiceWatcher::WatchForUnregistration);
+
+ // unregister it:
+ con.unregisterService(serviceName);
+
+ QTestEventLoop::instance().connect(&watcher, SIGNAL(serviceUnregistered(QString)), SLOT(exitLoop()));
+ QTestEventLoop::instance().enterLoop(1);
+ QVERIFY(!QTestEventLoop::instance().timeout());
+
+ QCOMPARE(spyR.count(), 0);
+
+ QCOMPARE(spyU.count(), 1);
+ QCOMPARE(spyU.at(0).at(0).toString(), serviceName);
+
+ QCOMPARE(spyO.count(), 1);
+ QCOMPARE(spyO.at(0).at(0).toString(), serviceName);
+ QCOMPARE(spyO.at(0).at(1).toString(), con.baseService());
+ QVERIFY(spyO.at(0).at(2).toString().isEmpty());
+}
+
+QTEST_MAIN(tst_QDBusServiceWatcher)
+#include "tst_qdbusservicewatcher.moc"
diff --git a/tests/auto/qdockwidget/tst_qdockwidget.cpp b/tests/auto/qdockwidget/tst_qdockwidget.cpp
index dc67f36..e62ba8c 100644
--- a/tests/auto/qdockwidget/tst_qdockwidget.cpp
+++ b/tests/auto/qdockwidget/tst_qdockwidget.cpp
@@ -86,6 +86,7 @@ private slots:
void visibilityChanged();
void dockLocationChanged();
void setTitleBarWidget();
+ void titleBarDoubleClick();
// task specific tests:
void task165177_deleteFocusWidget();
void task169808_setFloating();
@@ -694,6 +695,24 @@ void tst_QDockWidget::setTitleBarWidget()
QCOMPARE(w2.isVisible(), false);
}
+void tst_QDockWidget::titleBarDoubleClick()
+{
+ QMainWindow win;
+ QDockWidget dock(&win);
+ win.show();
+ dock.setFloating(true);
+
+ QEvent e(QEvent::NonClientAreaMouseButtonDblClick);
+ QApplication::sendEvent(&dock, &e);
+ QVERIFY(dock.isFloating());
+ QCOMPARE(win.dockWidgetArea(&dock), Qt::NoDockWidgetArea);
+
+ win.addDockWidget(Qt::TopDockWidgetArea, &dock);
+ dock.setFloating(true);
+ QApplication::sendEvent(&dock, &e);
+ QVERIFY(!dock.isFloating());
+ QCOMPARE(win.dockWidgetArea(&dock), Qt::TopDockWidgetArea);
+}
void tst_QDockWidget::task165177_deleteFocusWidget()
{
diff --git a/tests/auto/qdom/tst_qdom.cpp b/tests/auto/qdom/tst_qdom.cpp
index 0d58554e..6637202 100644
--- a/tests/auto/qdom/tst_qdom.cpp
+++ b/tests/auto/qdom/tst_qdom.cpp
@@ -322,7 +322,6 @@ void tst_QDom::toString_01_data()
*/
void tst_QDom::toString_01()
{
- QFAIL("make test fail instead of timing out, will be fixed later (QT-2357)");
QFETCH(QString, fileName);
QFile f(fileName);
diff --git a/tests/auto/qfile/largefile/largefile.pro b/tests/auto/qfile/largefile/largefile.pro
new file mode 100644
index 0000000..0f96865
--- /dev/null
+++ b/tests/auto/qfile/largefile/largefile.pro
@@ -0,0 +1,4 @@
+load(qttest_p4)
+
+QT = core
+SOURCES += tst_largefile.cpp
diff --git a/tests/auto/qfile/largefile/tst_largefile.cpp b/tests/auto/qfile/largefile/tst_largefile.cpp
new file mode 100644
index 0000000..8ab3275
--- /dev/null
+++ b/tests/auto/qfile/largefile/tst_largefile.cpp
@@ -0,0 +1,502 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, 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.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <QTest>
+
+#include <QtAlgorithms>
+#include <QFile>
+#include <QFileInfo>
+#include <qplatformdefs.h>
+
+#include <QDebug>
+
+#include <cstdlib>
+#include <cstdio>
+
+#ifdef Q_OS_WIN
+
+#include <windows.h>
+#include <io.h>
+
+#ifndef FSCTL_SET_SPARSE
+// MinGW doesn't define this.
+#define FSCTL_SET_SPARSE (0x900C4)
+#endif
+
+#endif // Q_OS_WIN
+
+class tst_LargeFile
+ : public QObject
+{
+ Q_OBJECT
+
+public:
+ tst_LargeFile()
+ : blockSize(1 << 12)
+ , maxSizeBits()
+ , fd_(-1)
+ , stream_(0)
+ {
+ #if defined(QT_LARGEFILE_SUPPORT) && !defined(Q_OS_MAC)
+ maxSizeBits = 36; // 64 GiB
+ #elif defined(Q_OS_MAC)
+ // HFS+ does not support sparse files, so we limit file size for the test
+ // on Mac OS.
+ maxSizeBits = 32; // 4 GiB
+ #else
+ maxSizeBits = 24; // 16 MiB
+ #endif
+ }
+
+private:
+ void sparseFileData();
+ QByteArray const &getDataBlock(int index, qint64 position);
+
+private slots:
+ // The LargeFile test case was designed to be run in order as a single unit
+
+ void initTestCase();
+ void cleanupTestCase();
+
+ void init();
+ void cleanup();
+
+ // Create and fill large file
+ void createSparseFile();
+ void fillFileSparsely();
+ void closeSparseFile();
+
+ // Verify file was created
+ void fileCreated();
+
+ // Positioning in large files
+ void filePositioning();
+ void fdPositioning();
+ void streamPositioning();
+
+ // Read data from file
+ void openFileForReading();
+ void readFile();
+
+ // Map/unmap large file
+ void mapFile();
+ void mapOffsetOverflow();
+
+ void closeFile() { largeFile.close(); }
+
+ // Test data
+ void fillFileSparsely_data() { sparseFileData(); }
+ void filePositioning_data() { sparseFileData(); }
+ void fdPositioning_data() { sparseFileData(); }
+ void streamPositioning_data() { sparseFileData(); }
+ void readFile_data() { sparseFileData(); }
+ void mapFile_data() { sparseFileData(); }
+
+private:
+ const int blockSize;
+ int maxSizeBits;
+
+ QFile largeFile;
+
+ QVector<QByteArray> generatedBlocks;
+
+ int fd_;
+ FILE *stream_;
+};
+
+/*
+ Convenience function to hide reinterpret_cast when copying a POD directly
+ into a QByteArray.
+ */
+template <class T>
+static inline void appendRaw(QByteArray &array, T data)
+{
+ array.append(reinterpret_cast<char *>(&data), sizeof(T));
+}
+
+/*
+ Pad array with filler up to size. On return, array.size() returns size.
+ */
+static inline void topUpWith(QByteArray &array, QByteArray filler, int size)
+{
+ Q_ASSERT(filler.size() > 0);
+
+ for (int i = (size - array.size()) / filler.size(); i > 0; --i)
+ array.append(filler);
+
+ if (array.size() < size) {
+ Q_ASSERT(size - array.size() < filler.size());
+ array.append(filler.left(size - array.size()));
+ }
+}
+
+/*
+ Generate a unique data block containing identifiable data. Unaligned,
+ overlapping and partial blocks should not compare equal.
+ */
+static inline QByteArray generateDataBlock(int blockSize, QString text, qint64 userBits = -1)
+{
+ QByteArray block;
+ block.reserve(blockSize);
+
+ // Use of counter and randomBits means content of block will be dependent
+ // on the generation order. For (file-)systems that do not support sparse
+ // files, these can be removed so the test file can be reused and doesn't
+ // have to be generated for every run.
+
+ static qint64 counter = 0;
+
+ qint64 randomBits = ((qint64)qrand() << 32)
+ | ((qint64)qrand() & 0x00000000ffffffff);
+
+ appendRaw(block, randomBits);
+ appendRaw(block, userBits);
+ appendRaw(block, counter);
+ appendRaw(block, (qint32)0xdeadbeef);
+ appendRaw(block, blockSize);
+
+ QByteArray userContent = text.toUtf8();
+ appendRaw(block, userContent.size());
+ block.append(userContent);
+ appendRaw(block, (qint64)0);
+
+ // size, so far
+ appendRaw(block, block.size());
+
+ QByteArray filler("0123456789");
+ block.append(filler.right(10 - block.size() % 10));
+ topUpWith(block, filler, blockSize - 2 * sizeof(qint64));
+
+ appendRaw(block, counter);
+ appendRaw(block, userBits);
+ appendRaw(block, randomBits);
+
+ Q_ASSERT( block.size() >= blockSize );
+ block.resize(blockSize);
+
+ ++counter;
+ return block;
+}
+
+/*
+ Generates data blocks the first time they are requested. Keeps copies for reuse.
+ */
+QByteArray const &tst_LargeFile::getDataBlock(int index, qint64 position)
+{
+ if (index >= generatedBlocks.size())
+ generatedBlocks.resize(index + 1);
+
+ if (generatedBlocks[index].isNull()) {
+ QString text = QString("Current %1-byte block (index = %2) "
+ "starts %3 bytes into the file '%4'.")
+ .arg(blockSize)
+ .arg(index)
+ .arg(position)
+ .arg("qt_largefile.tmp");
+
+ generatedBlocks[index] = generateDataBlock(blockSize, text, (qint64)1 << index);
+ }
+
+ return generatedBlocks[index];
+}
+
+void tst_LargeFile::initTestCase()
+{
+ QFile file("qt_largefile.tmp");
+ QVERIFY( !file.exists() || file.remove() );
+}
+
+void tst_LargeFile::cleanupTestCase()
+{
+ if (largeFile.isOpen())
+ largeFile.close();
+
+ QFile file("qt_largefile.tmp");
+ QVERIFY( !file.exists() || file.remove() );
+}
+
+void tst_LargeFile::init()
+{
+ fd_ = -1;
+ stream_ = 0;
+}
+
+void tst_LargeFile::cleanup()
+{
+ if (-1 != fd_)
+ QT_CLOSE(fd_);
+ if (stream_)
+ ::fclose(stream_);
+}
+
+void tst_LargeFile::sparseFileData()
+{
+ QTest::addColumn<int>("index");
+ QTest::addColumn<qint64>("position");
+ QTest::addColumn<QByteArray>("block");
+
+ QTest::newRow(QString("block[%1] @%2)")
+ .arg(0).arg(0)
+ .toLocal8Bit().constData())
+ << 0 << (qint64)0 << getDataBlock(0, 0);
+
+ // While on Linux sparse files scale well, on Windows, testing at every
+ // power of 2 leads to very large files. i += 4 gives us a good coverage
+ // without taxing too much on resources.
+ for (int index = 12; index <= maxSizeBits; index += 4) {
+ qint64 position = (qint64)1 << index;
+ QByteArray block = getDataBlock(index, position);
+
+ QTest::newRow(
+ QString("block[%1] @%2)")
+ .arg(index).arg(position)
+ .toLocal8Bit().constData())
+ << index << position << block;
+ }
+}
+
+void tst_LargeFile::createSparseFile()
+{
+#if defined(Q_OS_WIN)
+ // On Windows platforms, we must explicitly set the file to be sparse,
+ // so disk space is not allocated for the full file when writing to it.
+ HANDLE handle = ::CreateFileA("qt_largefile.tmp",
+ GENERIC_WRITE, 0, 0, CREATE_ALWAYS, 0, 0);
+ QVERIFY( INVALID_HANDLE_VALUE != handle );
+
+ DWORD bytes;
+ if (!::DeviceIoControl(handle, FSCTL_SET_SPARSE, NULL, 0, NULL, 0,
+ &bytes, NULL)) {
+ QWARN("Unable to set test file as sparse. "
+ "Limiting test file to 16MiB.");
+ maxSizeBits = 24;
+ }
+
+ int fd = ::_open_osfhandle((intptr_t)handle, 0);
+ QVERIFY( -1 != fd );
+ QVERIFY( largeFile.open(fd, QIODevice::WriteOnly | QIODevice::Unbuffered) );
+#else // !Q_OS_WIN
+ largeFile.setFileName("qt_largefile.tmp");
+ QVERIFY( largeFile.open(QIODevice::WriteOnly | QIODevice::Unbuffered) );
+#endif
+}
+
+void tst_LargeFile::closeSparseFile()
+{
+#if defined(Q_OS_WIN)
+ int fd = largeFile.handle();
+#endif
+
+ largeFile.close();
+
+#if defined(Q_OS_WIN)
+ if (-1 != fd)
+ ::_close(fd);
+#endif
+}
+
+void tst_LargeFile::fillFileSparsely()
+{
+ QFETCH( qint64, position );
+ QFETCH( QByteArray, block );
+ QCOMPARE( block.size(), blockSize );
+
+ QVERIFY( largeFile.seek(position) );
+ QCOMPARE( largeFile.pos(), position );
+
+ QCOMPARE( largeFile.write(block), (qint64)blockSize );
+ QCOMPARE( largeFile.pos(), position + blockSize );
+ QVERIFY( largeFile.flush() );
+}
+
+void tst_LargeFile::fileCreated()
+{
+ QFileInfo info("qt_largefile.tmp");
+
+ QVERIFY( info.exists() );
+ QVERIFY( info.isFile() );
+ QVERIFY( info.size() >= ((qint64)1 << maxSizeBits) + blockSize );
+}
+
+void tst_LargeFile::filePositioning()
+{
+ QFETCH( qint64, position );
+
+ QFile file("qt_largefile.tmp");
+ QVERIFY( file.open(QIODevice::ReadOnly) );
+
+ QVERIFY( file.seek(position) );
+ QCOMPARE( file.pos(), position );
+}
+
+void tst_LargeFile::fdPositioning()
+{
+ QFETCH( qint64, position );
+
+ fd_ = QT_OPEN("qt_largefile.tmp",
+ QT_OPEN_RDONLY | QT_OPEN_LARGEFILE);
+ QVERIFY( -1 != fd_ );
+
+ QFile file;
+ QVERIFY( file.open(fd_, QIODevice::ReadOnly) );
+ QCOMPARE( file.pos(), (qint64)0 );
+ QVERIFY( file.seek(position) );
+ QCOMPARE( file.pos(), position );
+
+ file.close();
+
+ QCOMPARE( QT_LSEEK(fd_, QT_OFF_T(0), SEEK_SET), QT_OFF_T(0) );
+ QCOMPARE( QT_LSEEK(fd_, QT_OFF_T(position), SEEK_SET), QT_OFF_T(position) );
+
+ QVERIFY( file.open(fd_, QIODevice::ReadOnly) );
+ QCOMPARE( QT_LSEEK(fd_, QT_OFF_T(0), SEEK_CUR), QT_OFF_T(position) );
+ QCOMPARE( file.pos(), position );
+ QVERIFY( file.seek(0) );
+ QCOMPARE( file.pos(), (qint64)0 );
+
+ file.close();
+
+ QVERIFY( !QT_CLOSE(fd_) );
+ fd_ = -1;
+}
+
+void tst_LargeFile::streamPositioning()
+{
+ QFETCH( qint64, position );
+
+#if defined(QT_LARGEFILE_SUPPORT) && defined(Q_CC_MSVC) && _MSC_VER < 1400
+ if (position >= (qint64)1 << 31)
+ QSKIP("MSVC 2003 doesn't have 64 bit versions of fseek/ftell.", SkipSingle);
+#endif
+
+ stream_ = QT_FOPEN("qt_largefile.tmp", "rb");
+ QVERIFY( 0 != stream_ );
+
+ QFile file;
+ QVERIFY( file.open(stream_, QIODevice::ReadOnly) );
+ QCOMPARE( file.pos(), (qint64)0 );
+ QVERIFY( file.seek(position) );
+ QCOMPARE( file.pos(), position );
+
+ file.close();
+
+ QVERIFY( !QT_FSEEK(stream_, QT_OFF_T(0), SEEK_SET) );
+ QCOMPARE( QT_FTELL(stream_), QT_OFF_T(0) );
+ QVERIFY( !QT_FSEEK(stream_, QT_OFF_T(position), SEEK_SET) );
+ QCOMPARE( QT_FTELL(stream_), QT_OFF_T(position) );
+
+ QVERIFY( file.open(stream_, QIODevice::ReadOnly) );
+ QCOMPARE( QT_FTELL(stream_), QT_OFF_T(position) );
+ QCOMPARE( file.pos(), position );
+ QVERIFY( file.seek(0) );
+ QCOMPARE( file.pos(), (qint64)0 );
+
+ file.close();
+
+ QVERIFY( !::fclose(stream_) );
+ stream_ = 0;
+}
+
+void tst_LargeFile::openFileForReading()
+{
+ largeFile.setFileName("qt_largefile.tmp");
+ QVERIFY( largeFile.open(QIODevice::ReadOnly) );
+}
+
+void tst_LargeFile::readFile()
+{
+ QFETCH( qint64, position );
+ QFETCH( QByteArray, block );
+ QCOMPARE( block.size(), blockSize );
+
+ QVERIFY( largeFile.size() >= position + blockSize );
+
+ QVERIFY( largeFile.seek(position) );
+ QCOMPARE( largeFile.pos(), position );
+
+ QCOMPARE( largeFile.read(blockSize), block );
+ QCOMPARE( largeFile.pos(), position + blockSize );
+}
+
+void tst_LargeFile::mapFile()
+{
+ QFETCH( qint64, position );
+ QFETCH( QByteArray, block );
+ QCOMPARE( block.size(), blockSize );
+
+ // Keep full block mapped to facilitate OS and/or internal reuse by Qt.
+ uchar *baseAddress = largeFile.map(position, blockSize);
+ QVERIFY( baseAddress );
+ QVERIFY( qEqual(block.begin(), block.end(), reinterpret_cast<char*>(baseAddress)) );
+
+ for (int offset = 1; offset < blockSize; ++offset) {
+ uchar *address = largeFile.map(position + offset, blockSize - offset);
+
+ QVERIFY( address );
+ if ( !qEqual(block.begin() + offset, block.end(), reinterpret_cast<char*>(address)) ) {
+ qDebug() << "Expected:" << block.toHex();
+ qDebug() << "Actual :" << QByteArray(reinterpret_cast<char*>(address), blockSize).toHex();
+ QVERIFY(false);
+ }
+
+ QVERIFY( largeFile.unmap( address ) );
+ }
+
+ QVERIFY( largeFile.unmap( baseAddress ) );
+}
+
+void tst_LargeFile::mapOffsetOverflow()
+{
+ // Out-of-range mappings should fail, and not silently clip the offset
+ for (int i = 50; i < 63; ++i) {
+ uchar *address = 0;
+
+ address = largeFile.map(((qint64)1 << i), blockSize);
+ QVERIFY( !address );
+
+ address = largeFile.map(((qint64)1 << i) + blockSize, blockSize);
+ QVERIFY( !address );
+ }
+}
+
+QTEST_APPLESS_MAIN(tst_LargeFile)
+#include "tst_largefile.moc"
+
diff --git a/tests/auto/qfile/qfile.pro b/tests/auto/qfile/qfile.pro
index eebfcda..f70f750 100644
--- a/tests/auto/qfile/qfile.pro
+++ b/tests/auto/qfile/qfile.pro
@@ -5,5 +5,5 @@ wince*:{
SUBDIRS = test stdinprocess
}
-
+SUBDIRS += largefile
diff --git a/tests/auto/qfile/tst_qfile.cpp b/tests/auto/qfile/tst_qfile.cpp
index 19fbecd..55cc286 100644
--- a/tests/auto/qfile/tst_qfile.cpp
+++ b/tests/auto/qfile/tst_qfile.cpp
@@ -79,6 +79,18 @@
# define SRCDIR ""
#endif
+#ifndef STDIN_FILENO
+#define STDIN_FILENO 0
+#endif
+
+#ifndef STDOUT_FILENO
+#define STDOUT_FILENO 1
+#endif
+
+#ifndef STDERR_FILENO
+#define STDERR_FILENO 2
+#endif
+
Q_DECLARE_METATYPE(QFile::FileError)
//TESTED_CLASS=
@@ -105,6 +117,7 @@ private slots:
void openUnbuffered();
void size_data();
void size();
+ void sizeNoExist();
void seek();
void setSize();
void setSizeSeek();
@@ -187,6 +200,8 @@ private slots:
void mapOpenMode_data();
void mapOpenMode();
+ void openStandardStreams();
+
// --- Task related tests below this line
void task167217();
@@ -438,23 +453,57 @@ void tst_QFile::openUnbuffered()
void tst_QFile::size_data()
{
QTest::addColumn<QString>("filename");
- QTest::addColumn<int>("size");
+ QTest::addColumn<qint64>("size");
- QTest::newRow( "exist01" ) << QString(SRCDIR "testfile.txt") << 245;
- QTest::newRow( "nonexist01" ) << QString("foo.txt") << 0;
+ QTest::newRow( "exist01" ) << QString(SRCDIR "testfile.txt") << (qint64)245;
#if defined(Q_OS_WIN) && !defined(Q_OS_WINCE)
// Only test UNC on Windows./
- QTest::newRow("unc") << "//" + QString(QtNetworkSettings::winServerName() + "/testsharewritable/test.pri") << 34;
+ QTest::newRow("unc") << "//" + QString(QtNetworkSettings::winServerName() + "/testsharewritable/test.pri") << (qint64)34;
#endif
}
void tst_QFile::size()
{
QFETCH( QString, filename );
- QFile f( filename );
- QTEST( (int)f.size(), "size" );
- if (f.open(QFile::ReadOnly))
- QTEST( (int)f.size(), "size" );
+ QFETCH( qint64, size );
+
+ {
+ QFile f( filename );
+ QCOMPARE( f.size(), size );
+
+ QVERIFY( f.open(QIODevice::ReadOnly) );
+ QCOMPARE( f.size(), size );
+ }
+
+ {
+ QFile f;
+ int fd = QT_OPEN(filename.toLocal8Bit().constData(), QT_OPEN_RDONLY);
+ QVERIFY( fd != -1 );
+ QVERIFY( f.open(fd, QIODevice::ReadOnly) );
+ QCOMPARE( f.size(), size );
+
+ f.close();
+ QT_CLOSE(fd);
+ }
+
+ {
+ QFile f;
+ FILE* stream = QT_FOPEN(filename.toLocal8Bit().constData(), "rb");
+ QVERIFY( stream );
+ QVERIFY( f.open(stream, QIODevice::ReadOnly) );
+ QCOMPARE( f.size(), size );
+
+ f.close();
+ fclose(stream);
+ }
+}
+
+void tst_QFile::sizeNoExist()
+{
+ QFile file("nonexist01");
+ QVERIFY( !file.exists() );
+ QCOMPARE( file.size(), (qint64)0 );
+ QVERIFY( !file.open(QIODevice::ReadOnly) );
}
void tst_QFile::seek()
@@ -2634,5 +2683,58 @@ void tst_QFile::openDirectory()
QVERIFY(!f1.open(QIODevice::ReadOnly|QIODevice::Unbuffered));
}
+void tst_QFile::openStandardStreams()
+{
+ // Using file descriptors
+ {
+ QFile in;
+ in.open(STDIN_FILENO, QIODevice::ReadOnly);
+ QCOMPARE( in.pos(), (qint64)0 );
+ QCOMPARE( in.size(), (qint64)0 );
+ QVERIFY( in.isSequential() );
+ }
+
+ {
+ QFile out;
+ out.open(STDOUT_FILENO, QIODevice::WriteOnly);
+ QCOMPARE( out.pos(), (qint64)0 );
+ QCOMPARE( out.size(), (qint64)0 );
+ QVERIFY( out.isSequential() );
+ }
+
+ {
+ QFile err;
+ err.open(STDERR_FILENO, QIODevice::WriteOnly);
+ QCOMPARE( err.pos(), (qint64)0 );
+ QCOMPARE( err.size(), (qint64)0 );
+ QVERIFY( err.isSequential() );
+ }
+
+ // Using streams
+ {
+ QFile in;
+ in.open(stdin, QIODevice::ReadOnly);
+ QCOMPARE( in.pos(), (qint64)0 );
+ QCOMPARE( in.size(), (qint64)0 );
+ QVERIFY( in.isSequential() );
+ }
+
+ {
+ QFile out;
+ out.open(stdout, QIODevice::WriteOnly);
+ QCOMPARE( out.pos(), (qint64)0 );
+ QCOMPARE( out.size(), (qint64)0 );
+ QVERIFY( out.isSequential() );
+ }
+
+ {
+ QFile err;
+ err.open(stderr, QIODevice::WriteOnly);
+ QCOMPARE( err.pos(), (qint64)0 );
+ QCOMPARE( err.size(), (qint64)0 );
+ QVERIFY( err.isSequential() );
+ }
+}
+
QTEST_MAIN(tst_QFile)
#include "tst_qfile.moc"
diff --git a/tests/auto/qfontmetrics/tst_qfontmetrics.cpp b/tests/auto/qfontmetrics/tst_qfontmetrics.cpp
index 6b2f0fe..e80f8e0 100644
--- a/tests/auto/qfontmetrics/tst_qfontmetrics.cpp
+++ b/tests/auto/qfontmetrics/tst_qfontmetrics.cpp
@@ -100,6 +100,20 @@ void tst_QFontMetrics::same()
QFontMetrics fm(font);
const QString text = QLatin1String("Some stupid STRING");
QCOMPARE(fm.size(0, text), fm.size(0, text)) ;
+
+ {
+ QImage image;
+ QFontMetrics fm2(font, &image);
+ QString text2 = QLatin1String("Foo Foo");
+ QCOMPARE(fm2.size(0, text2), fm2.size(0, text2)); //used to crash
+ }
+
+ {
+ QImage image;
+ QFontMetricsF fm3(font, &image);
+ QString text2 = QLatin1String("Foo Foo");
+ QCOMPARE(fm3.size(0, text2), fm3.size(0, text2)); //used to crash
+ }
}
diff --git a/tests/auto/qgl/tst_qgl.cpp b/tests/auto/qgl/tst_qgl.cpp
index e036e4b..c680dec 100644
--- a/tests/auto/qgl/tst_qgl.cpp
+++ b/tests/auto/qgl/tst_qgl.cpp
@@ -82,7 +82,6 @@ private slots:
void glPBufferRendering();
void glWidgetReparent();
void glWidgetRenderPixmap();
- void stackedFBOs();
void colormap();
void fboFormat();
void testDontCrashOnDanglingResources();
@@ -118,6 +117,16 @@ public:
void setAutoBufferSwap(bool on) { QGLWidget::setAutoBufferSwap(on); }
};
+static int appDefaultDepth()
+{
+ static int depth = 0;
+ if (depth == 0) {
+ QPixmap pm(1, 1);
+ depth = pm.depth();
+ }
+ return depth;
+}
+
// Using INT_MIN and INT_MAX will cause failures on systems
// where "int" is 64-bit, so use the explicit values instead.
#define TEST_INT_MIN (-2147483647 - 1)
@@ -714,6 +723,8 @@ public:
void tst_QGL::graphicsViewClipping()
{
+ if (appDefaultDepth() < 24)
+ QSKIP("This test won't work for bit depths < 24", SkipAll);
const int size = 64;
UnclippedWidget *widget = new UnclippedWidget;
widget->setFixedSize(size, size);
@@ -866,6 +877,8 @@ public:
void tst_QGL::glWidgetRendering()
{
+ if (appDefaultDepth() < 24)
+ QSKIP("This test won't work for bit depths < 24", SkipAll);
GLWidget w;
w.show();
@@ -1089,6 +1102,8 @@ protected:
void tst_QGL::glFBOUseInGLWidget()
{
+ if (appDefaultDepth() < 24)
+ QSKIP("This test won't work for bit depths < 24", SkipAll);
if (!QGLFramebufferObject::hasOpenGLFramebufferObjects())
QSKIP("QGLFramebufferObject not supported on this platform", SkipSingle);
@@ -1116,6 +1131,8 @@ void tst_QGL::glFBOUseInGLWidget()
void tst_QGL::glWidgetReparent()
{
+ if (appDefaultDepth() < 24)
+ QSKIP("This test won't work for bit depths < 24", SkipAll);
// Try it as a top-level first:
GLWidget *widget = new GLWidget;
widget->setGeometry(0, 0, 200, 30);
@@ -1208,110 +1225,6 @@ void tst_QGL::glWidgetRenderPixmap()
QCOMPARE(fb, reference);
}
-
-// When using multiple FBOs at the same time, unbinding one FBO should re-bind the
-// previous. I.e. It should be possible to have a stack of FBOs where pop'ing there
-// top re-binds the one underneeth.
-void tst_QGL::stackedFBOs()
-{
- if (!QGLFramebufferObject::hasOpenGLFramebufferObjects())
- QSKIP("QGLFramebufferObject not supported on this platform", SkipSingle);
-
- QGLWidget glw;
- glw.show();
-
-#ifdef Q_WS_X11
- qt_x11_wait_for_window_manager(&glw);
-#endif
- QTest::qWait(200);
-
- glw.makeCurrent();
-
- // No multisample with combined depth/stencil attachment:
- QGLFramebufferObjectFormat fboFormat;
- fboFormat.setAttachment(QGLFramebufferObject::CombinedDepthStencil);
-
- // Don't complicate things by using NPOT:
- QGLFramebufferObject *fbo1 = new QGLFramebufferObject(128, 128, fboFormat);
- QGLFramebufferObject *fbo2 = new QGLFramebufferObject(128, 128, fboFormat);
- QGLFramebufferObject *fbo3 = new QGLFramebufferObject(128, 128, fboFormat);
-
- glClearColor(1.0, 0.0, 1.0, 1.0);
- glClear(GL_COLOR_BUFFER_BIT);
-
- fbo1->bind();
- glClearColor(1.0, 0.0, 0.0, 1.0);
- glClear(GL_COLOR_BUFFER_BIT);
-
- fbo2->bind();
- glClearColor(0.0, 1.0, 0.0, 1.0);
- glClear(GL_COLOR_BUFFER_BIT);
-
- fbo3->bind();
- glClearColor(0.0, 0.0, 1.0, 1.0);
- glClear(GL_COLOR_BUFFER_BIT);
- glScissor(32, 32, 64, 64);
- glEnable(GL_SCISSOR_TEST);
- glClearColor(0.0, 1.0, 1.0, 1.0);
- glClear(GL_COLOR_BUFFER_BIT);
- fbo3->release();
-
- // Scissor rect & test should be left untouched by the fbo release...
- glClearColor(0.0, 0.0, 0.0, 1.0);
- glClear(GL_COLOR_BUFFER_BIT);
- fbo2->release();
-
- glClearColor(1.0, 1.0, 1.0, 1.0);
- glClear(GL_COLOR_BUFFER_BIT);
- fbo1->release();
-
- glClearColor(1.0, 1.0, 0.0, 1.0);
- glClear(GL_COLOR_BUFFER_BIT);
-
- glw.swapBuffers();
-
- QImage widgetFB = glw.grabFrameBuffer(false).convertToFormat(QImage::Format_RGB32);
- QImage fb1 = fbo1->toImage().convertToFormat(QImage::Format_RGB32);
- QImage fb2 = fbo2->toImage().convertToFormat(QImage::Format_RGB32);
- QImage fb3 = fbo3->toImage().convertToFormat(QImage::Format_RGB32);
-
- delete fbo1;
- delete fbo2;
- delete fbo3;
-
- QImage widgetReference(widgetFB.size(), widgetFB.format());
- QImage fb1Reference(fb1.size(), fb1.format());
- QImage fb2Reference(fb2.size(), fb2.format());
- QImage fb3Reference(fb3.size(), fb3.format());
-
- QPainter widgetReferencePainter(&widgetReference);
- QPainter fb1ReferencePainter(&fb1Reference);
- QPainter fb2ReferencePainter(&fb2Reference);
- QPainter fb3ReferencePainter(&fb3Reference);
-
- widgetReferencePainter.fillRect(0, 0, widgetReference.width(), widgetReference.height(), Qt::magenta);
- fb1ReferencePainter.fillRect(0, 0, fb1Reference.width(), fb1Reference.height(), Qt::red);
- fb2ReferencePainter.fillRect(0, 0, fb2Reference.width(), fb2Reference.height(), Qt::green);
- fb3ReferencePainter.fillRect(0, 0, fb3Reference.width(), fb3Reference.height(), Qt::blue);
-
- // Flip y-coords to match GL for the widget (which can be any size)
- widgetReferencePainter.fillRect(32, glw.height() - 96, 64, 64, Qt::yellow);
- fb1ReferencePainter.fillRect(32, 32, 64, 64, Qt::white);
- fb2ReferencePainter.fillRect(32, 32, 64, 64, Qt::black);
- fb3ReferencePainter.fillRect(32, 32, 64, 64, Qt::cyan);
-
- widgetReferencePainter.end();
- fb1ReferencePainter.end();
- fb2ReferencePainter.end();
- fb3ReferencePainter.end();
-
- QCOMPARE(widgetFB, widgetReference);
- QCOMPARE(fb1, fb1Reference);
- QCOMPARE(fb2, fb2Reference);
- QCOMPARE(fb3, fb3Reference);
-}
-
-
class ColormapExtended : public QGLColormap
{
public:
@@ -1582,6 +1495,8 @@ protected:
void tst_QGL::replaceClipping()
{
+ if (appDefaultDepth() < 24)
+ QSKIP("This test won't work for bit depths < 24", SkipAll);
ReplaceClippingGLWidget glw;
glw.resize(300, 300);
glw.show();
@@ -1707,6 +1622,8 @@ protected:
void tst_QGL::clipTest()
{
+ if (appDefaultDepth() < 24)
+ QSKIP("This test won't work for bit depths < 24", SkipAll);
ClipTestGLWidget glw;
glw.resize(220, 220);
glw.show();
diff --git a/tests/auto/qgraphicsanchorlayout/tst_qgraphicsanchorlayout.cpp b/tests/auto/qgraphicsanchorlayout/tst_qgraphicsanchorlayout.cpp
index 7b87969..c8a9fac 100644
--- a/tests/auto/qgraphicsanchorlayout/tst_qgraphicsanchorlayout.cpp
+++ b/tests/auto/qgraphicsanchorlayout/tst_qgraphicsanchorlayout.cpp
@@ -45,6 +45,7 @@
#include <QtGui/qgraphicswidget.h>
#include <QtGui/qgraphicsproxywidget.h>
#include <QtGui/qgraphicsview.h>
+#include <QtGui/qwindowsstyle.h>
class tst_QGraphicsAnchorLayout : public QObject {
Q_OBJECT;
@@ -72,6 +73,7 @@ private slots:
void proportionalPreferred();
void example();
void setSpacing();
+ void styleDefaults();
void hardComplexS60();
void stability();
void delete_anchor();
@@ -82,6 +84,8 @@ private slots:
void expandingParallel();
void floatConflict();
void infiniteMaxSizes();
+ void simplifiableUnfeasible();
+ void simplificationVsOrder();
};
class RectWidget : public QGraphicsWidget
@@ -1102,6 +1106,166 @@ void tst_QGraphicsAnchorLayout::setSpacing()
delete view;
}
+class CustomLayoutStyle : public QWindowsStyle
+{
+ Q_OBJECT
+public:
+ CustomLayoutStyle() : QWindowsStyle()
+ {
+ hspacing = 5;
+ vspacing = 10;
+ }
+
+ virtual int pixelMetric(PixelMetric metric, const QStyleOption * option = 0,
+ const QWidget * widget = 0 ) const;
+
+ int hspacing;
+ int vspacing;
+
+protected slots:
+ int layoutSpacingImplementation(QSizePolicy::ControlType control1,
+ QSizePolicy::ControlType control2,
+ Qt::Orientation orientation,
+ const QStyleOption *option = 0,
+ const QWidget *widget = 0) const;
+
+};
+
+#define CT1(c) CT2(c, c)
+#define CT2(c1, c2) ((uint)c1 << 16) | (uint)c2
+
+int CustomLayoutStyle::layoutSpacingImplementation(QSizePolicy::ControlType control1,
+ QSizePolicy::ControlType control2,
+ Qt::Orientation orientation,
+ const QStyleOption * /*option = 0*/,
+ const QWidget * /*widget = 0*/) const
+{
+ if (orientation == Qt::Horizontal) {
+ switch (CT2(control1, control2)) {
+ case CT1(QSizePolicy::PushButton):
+ return 2;
+ break;
+ }
+ return 5;
+ } else {
+ switch (CT2(control1, control2)) {
+ case CT1(QSizePolicy::RadioButton):
+ return 2;
+ break;
+
+ }
+ return 10;
+ }
+}
+
+int CustomLayoutStyle::pixelMetric(PixelMetric metric, const QStyleOption * option /*= 0*/,
+ const QWidget * widget /*= 0*/ ) const
+{
+ switch (metric) {
+ case PM_LayoutLeftMargin:
+ return 0;
+ break;
+ case PM_LayoutTopMargin:
+ return 3;
+ break;
+ case PM_LayoutRightMargin:
+ return 6;
+ break;
+ case PM_LayoutBottomMargin:
+ return 9;
+ break;
+ case PM_LayoutHorizontalSpacing:
+ return hspacing;
+ case PM_LayoutVerticalSpacing:
+ return vspacing;
+ break;
+ default:
+ break;
+ }
+ return QWindowsStyle::pixelMetric(metric, option, widget);
+}
+
+void tst_QGraphicsAnchorLayout::styleDefaults()
+{
+ QSizeF min (10, 10);
+ QSizeF pref(20, 20);
+ QSizeF max (50, 50);
+
+ /*
+ create this layout, where a,b have controlType QSizePolicy::RadioButton
+ c,d have controlType QSizePolicy::PushButton:
+ +-------+
+ |a |
+ | b |
+ | c |
+ | d|
+ +-------+
+ */
+ QGraphicsScene scene;
+ QGraphicsWidget *a = createItem(min, pref, max);
+ QSizePolicy spRadioButton = a->sizePolicy();
+ spRadioButton.setControlType(QSizePolicy::RadioButton);
+ a->setSizePolicy(spRadioButton);
+
+ QGraphicsWidget *b = createItem(min, pref, max);
+ b->setSizePolicy(spRadioButton);
+
+ QGraphicsWidget *c = createItem(min, pref, max);
+ QSizePolicy spPushButton = c->sizePolicy();
+ spPushButton.setControlType(QSizePolicy::PushButton);
+ c->setSizePolicy(spPushButton);
+
+ QGraphicsWidget *d = createItem(min, pref, max);
+ d->setSizePolicy(spPushButton);
+
+ QGraphicsWidget *window = new QGraphicsWidget(0, Qt::Window);
+
+ // Test layoutSpacingImplementation
+ CustomLayoutStyle *style = new CustomLayoutStyle;
+ style->hspacing = -1;
+ style->vspacing = -1;
+ window->setStyle(style);
+ QGraphicsAnchorLayout *l = new QGraphicsAnchorLayout;
+
+ l->addCornerAnchors(l, Qt::TopLeftCorner, a, Qt::TopLeftCorner);
+ l->addCornerAnchors(a, Qt::BottomRightCorner, b, Qt::TopLeftCorner);
+ l->addCornerAnchors(b, Qt::BottomRightCorner, c, Qt::TopLeftCorner);
+ l->addCornerAnchors(c, Qt::BottomRightCorner, d, Qt::TopLeftCorner);
+ l->addCornerAnchors(d, Qt::BottomRightCorner, l, Qt::BottomRightCorner);
+
+ window->setLayout(l);
+
+ scene.addItem(window);
+
+ window->show();
+ QGraphicsView *view = new QGraphicsView(&scene);
+ view->resize(200, 200);
+ view->show();
+
+ window->adjustSize();
+ QCOMPARE(a->geometry(), QRectF(0, 3, 20, 20)); //radio
+ QCOMPARE(b->geometry(), QRectF(25, 25, 20, 20)); //radio
+ QCOMPARE(c->geometry(), QRectF(50, 55, 20, 20)); //push
+ QCOMPARE(d->geometry(), QRectF(72, 85, 20, 20)); //push
+ QCOMPARE(l->geometry(), QRectF(0, 0, 98, 114));
+
+
+ // Test pixelMetric(PM_Layout{Horizontal|Vertical}Spacing
+ window->setStyle(0);
+
+ style->hspacing = 1;
+ style->vspacing = 2;
+
+ window->setStyle(style);
+ window->adjustSize();
+ QCOMPARE(a->geometry(), QRectF(0, 3, 20, 20));
+ QCOMPARE(b->geometry(), QRectF(21, 25, 20, 20));
+ QCOMPARE(c->geometry(), QRectF(42, 47, 20, 20));
+ QCOMPARE(d->geometry(), QRectF(63, 69, 20, 20));
+ QCOMPARE(l->geometry(), QRectF(0, 0, 89, 98));
+}
+
+
/*!
Taken from "hard" complex case, found at
https://cwiki.nokia.com/S60QTUI/AnchorLayoutComplexCases
@@ -1755,5 +1919,100 @@ void tst_QGraphicsAnchorLayout::infiniteMaxSizes()
QCOMPARE(d->geometry(), QRectF(QWIDGETSIZE_MAX - 50, 0, 50, 10));
}
+void tst_QGraphicsAnchorLayout::simplifiableUnfeasible()
+{
+ QGraphicsWidget *a = createItem(QSizeF(70.0, 100.0),
+ QSizeF(100.0, 100.0),
+ QSizeF(100.0, 100.0), "A");
+
+ QGraphicsWidget *b = createItem(QSizeF(110.0, 100.0),
+ QSizeF(150.0, 100.0),
+ QSizeF(190.0, 100.0), "B");
+
+ QGraphicsAnchorLayout *l = new QGraphicsAnchorLayout;
+ l->setContentsMargins(0, 0, 0, 0);
+ l->setSpacing(0);
+
+ l->addAnchor(l, Qt::AnchorTop, a, Qt::AnchorTop);
+ l->addAnchor(a, Qt::AnchorBottom, b, Qt::AnchorTop);
+ l->addAnchor(b, Qt::AnchorBottom, l, Qt::AnchorBottom);
+
+ l->addAnchors(l, a, Qt::Horizontal);
+ l->addAnchor(l, Qt::AnchorLeft, b, Qt::AnchorLeft);
+ l->addAnchor(b, Qt::AnchorRight, a, Qt::AnchorRight);
+
+ QCOMPARE(l->count(), 2);
+
+ QGraphicsWidget p;
+ p.setLayout(l);
+
+ l->invalidate();
+ QVERIFY(layoutHasConflict(l));
+ if (hasSimplification)
+ QVERIFY(!usedSimplex(l, Qt::Horizontal));
+
+ // Now we make it valid again
+ b->setMinimumWidth(100);
+
+ l->invalidate();
+ QVERIFY(!layoutHasConflict(l));
+ if (hasSimplification)
+ QVERIFY(!usedSimplex(l, Qt::Horizontal));
+
+ // And make it invalid again
+ a->setPreferredWidth(70);
+ a->setMaximumWidth(70);
+
+ l->invalidate();
+ QVERIFY(layoutHasConflict(l));
+ if (hasSimplification)
+ QVERIFY(!usedSimplex(l, Qt::Horizontal));
+}
+
+/*
+ Test whether the anchor direction can prevent it from
+ being simplificated
+*/
+void tst_QGraphicsAnchorLayout::simplificationVsOrder()
+{
+ QSizeF min(10, 10);
+ QSizeF pref(20, 10);
+ QSizeF max(50, 10);
+
+ QGraphicsWidget *a = createItem(min, pref, max);
+ QGraphicsWidget *b = createItem(min, pref, max);
+ QGraphicsWidget *c = createItem(min, pref, max);
+
+ QGraphicsAnchorLayout *l = new QGraphicsAnchorLayout;
+
+ // Bulk anchors
+ l->addAnchor(l, Qt::AnchorLeft, a, Qt::AnchorLeft);
+ l->addAnchor(a, Qt::AnchorRight, b, Qt::AnchorLeft);
+ l->addAnchor(b, Qt::AnchorLeft, c, Qt::AnchorLeft);
+ l->addAnchor(c, Qt::AnchorRight, l, Qt::AnchorRight);
+
+ // Problematic anchor, direction b->c
+ QGraphicsAnchor *anchor = l->addAnchor(b, Qt::AnchorRight, c, Qt::AnchorRight);
+ anchor->setSpacing(5);
+
+ l->effectiveSizeHint(Qt::MinimumSize);
+ if (hasSimplification) {
+ QCOMPARE(usedSimplex(l, Qt::Horizontal), false);
+ QCOMPARE(usedSimplex(l, Qt::Vertical), false);
+ }
+
+ // Problematic anchor, direction c->b
+ delete anchor;
+ anchor = l->addAnchor(c, Qt::AnchorRight, b, Qt::AnchorRight);
+ anchor->setSpacing(5);
+
+ l->effectiveSizeHint(Qt::MinimumSize);
+ if (hasSimplification) {
+ QEXPECT_FAIL("", "Sequential anchors cannot handle children of opposite directions", Continue);
+ QCOMPARE(usedSimplex(l, Qt::Horizontal), false);
+ QCOMPARE(usedSimplex(l, Qt::Vertical), false);
+ }
+}
+
QTEST_MAIN(tst_QGraphicsAnchorLayout)
#include "tst_qgraphicsanchorlayout.moc"
diff --git a/tests/auto/qgraphicseffect/tst_qgraphicseffect.cpp b/tests/auto/qgraphicseffect/tst_qgraphicseffect.cpp
index 0201bc4..b40cf43 100644
--- a/tests/auto/qgraphicseffect/tst_qgraphicseffect.cpp
+++ b/tests/auto/qgraphicseffect/tst_qgraphicseffect.cpp
@@ -379,7 +379,8 @@ void tst_QGraphicsEffect::grayscale()
item->setPen(Qt::NoPen);
item->setBrush(QColor(122, 193, 66)); // Qt light green
- QGraphicsGrayscaleEffect *effect = new QGraphicsGrayscaleEffect;
+ QGraphicsColorizeEffect *effect = new QGraphicsColorizeEffect;
+ effect->setColor(Qt::black);
item->setGraphicsEffect(effect);
QPainter painter;
diff --git a/tests/auto/qgraphicseffectsource/tst_qgraphicseffectsource.cpp b/tests/auto/qgraphicseffectsource/tst_qgraphicseffectsource.cpp
index 855950b..55294d5 100644
--- a/tests/auto/qgraphicseffectsource/tst_qgraphicseffectsource.cpp
+++ b/tests/auto/qgraphicseffectsource/tst_qgraphicseffectsource.cpp
@@ -166,6 +166,9 @@ private slots:
void deviceRect();
void pixmap();
+ void pixmapPadding_data();
+ void pixmapPadding();
+
private:
QGraphicsView *view;
QGraphicsScene *scene;
@@ -318,6 +321,102 @@ void tst_QGraphicsEffectSource::pixmap()
QCOMPARE(pixmap1, pixmap2);
}
+class PaddingEffect : public QGraphicsEffect
+{
+public:
+ PaddingEffect(QObject *parent) : QGraphicsEffect(parent)
+ {
+ }
+
+ QRectF boundingRectFor(const QRectF &src) const {
+ return src.adjusted(-10, -10, 10, 10);
+ }
+
+ void draw(QPainter *, QGraphicsEffectSource *source) {
+ pix = source->pixmap(coordinateMode, &offset, padMode);
+ }
+
+ QPixmap pix;
+ QPoint offset;
+ QGraphicsEffectSource::PixmapPadMode padMode;
+ Qt::CoordinateSystem coordinateMode;
+};
+
+void tst_QGraphicsEffectSource::pixmapPadding_data()
+{
+ QTest::addColumn<int>("coordinateMode");
+ QTest::addColumn<int>("padMode");
+ QTest::addColumn<QSize>("size");
+ QTest::addColumn<QPoint>("offset");
+ QTest::addColumn<uint>("ulPixel");
+
+ QTest::newRow("log,nopad") << int(Qt::LogicalCoordinates)
+ << int(QGraphicsEffectSource::NoExpandPadMode)
+ << QSize(10, 10) << QPoint(0, 0)
+ << 0xffff0000u;
+
+ QTest::newRow("log,transparent") << int(Qt::LogicalCoordinates)
+ << int(QGraphicsEffectSource::ExpandToTransparentBorderPadMode)
+ << QSize(14, 14) << QPoint(-2, -2)
+ << 0x00000000u;
+
+ QTest::newRow("log,effectrect") << int(Qt::LogicalCoordinates)
+ << int(QGraphicsEffectSource::ExpandToEffectRectPadMode)
+ << QSize(30, 30) << QPoint(-10, -10)
+ << 0x00000000u;
+
+ QTest::newRow("dev,nopad") << int(Qt::DeviceCoordinates)
+ << int(QGraphicsEffectSource::NoExpandPadMode)
+ << QSize(20, 20) << QPoint(40, 40)
+ << 0xffff0000u;
+
+ QTest::newRow("dev,transparent") << int(Qt::DeviceCoordinates)
+ << int(QGraphicsEffectSource::ExpandToTransparentBorderPadMode)
+ << QSize(24, 24) << QPoint(38, 38)
+ << 0x00000000u;
+
+ QTest::newRow("dev,effectrect") << int(Qt::DeviceCoordinates)
+ << int(QGraphicsEffectSource::ExpandToEffectRectPadMode)
+ << QSize(40, 40) << QPoint(30, 30)
+ << 0x00000000u;
+
+}
+
+void tst_QGraphicsEffectSource::pixmapPadding()
+{
+ QPixmap dummyTarget(100, 100);
+ QPainter dummyPainter(&dummyTarget);
+ dummyPainter.translate(40, 40);
+ dummyPainter.scale(2, 2);
+
+ QPixmap pm(10, 10);
+ pm.fill(Qt::red);
+
+ QGraphicsScene *scene = new QGraphicsScene();
+ PaddingEffect *effect = new PaddingEffect(scene);
+ QGraphicsPixmapItem *pmItem = new QGraphicsPixmapItem(pm);
+ scene->addItem(pmItem);
+ pmItem->setGraphicsEffect(effect);
+
+ QFETCH(int, coordinateMode);
+ QFETCH(int, padMode);
+ QFETCH(QPoint, offset);
+ QFETCH(QSize, size);
+ QFETCH(uint, ulPixel);
+
+ effect->padMode = (QGraphicsEffectSource::PixmapPadMode) padMode;
+ effect->coordinateMode = (Qt::CoordinateSystem) coordinateMode;
+
+ scene->render(&dummyPainter, scene->itemsBoundingRect(), scene->itemsBoundingRect());
+
+ QCOMPARE(effect->pix.size(), size);
+ QCOMPARE(effect->offset, offset);
+ QCOMPARE(effect->pix.toImage().pixel(0, 0), ulPixel);
+
+ // ### Fix corruption in scene destruction, then enable...
+ // delete scene;
+}
+
QTEST_MAIN(tst_QGraphicsEffectSource)
#include "tst_qgraphicseffectsource.moc"
diff --git a/tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp b/tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp
index dcad8e1..3bc6db5 100644
--- a/tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp
+++ b/tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp
@@ -372,6 +372,7 @@ private slots:
void itemUsesExtendedStyleOption();
void itemSendsGeometryChanges();
void moveItem();
+ void moveLineItem();
void sorting_data();
void sorting();
void itemHasNoContents();
@@ -390,6 +391,7 @@ private slots:
void moveWhileDeleting();
void ensureDirtySceneTransform();
void focusScope();
+ void focusScope2();
void stackBefore();
void sceneModality();
void panelModality();
@@ -3109,7 +3111,7 @@ void tst_QGraphicsItem::boundingRects()
void tst_QGraphicsItem::boundingRects2()
{
QGraphicsPixmapItem pixmap(QPixmap::fromImage(QImage(100, 100, QImage::Format_ARGB32_Premultiplied)));
- QCOMPARE(pixmap.boundingRect(), QRectF(-0.5, -0.5, 101, 101));
+ QCOMPARE(pixmap.boundingRect(), QRectF(0, 0, 100, 100));
QGraphicsLineItem line(0, 0, 100, 0);
line.setPen(QPen(Qt::black, 1));
@@ -4039,7 +4041,7 @@ void tst_QGraphicsItem::defaultItemTest_QGraphicsPixmapItem()
item.setOffset(QPointF(-10, -10));
QCOMPARE(item.offset(), QPointF(-10, -10));
- QCOMPARE(item.boundingRect(), QRectF(-10.5, -10.5, 301, 201));
+ QCOMPARE(item.boundingRect(), QRectF(-10, -10, 300, 200));
}
void tst_QGraphicsItem::defaultItemTest_QGraphicsTextItem()
@@ -7438,6 +7440,39 @@ void tst_QGraphicsItem::moveItem()
COMPARE_REGIONS(view.paintedRegion, expectedParentRegion);
}
+void tst_QGraphicsItem::moveLineItem()
+{
+ QGraphicsScene scene;
+ scene.setSceneRect(0, 0, 200, 200);
+ QGraphicsLineItem *item = new QGraphicsLineItem(0, 0, 100, 0);
+ item->setPos(50, 50);
+ scene.addItem(item);
+
+ MyGraphicsView view(&scene);
+ view.show();
+#ifdef Q_WS_X11
+ qt_x11_wait_for_window_manager(&view);
+#endif
+ QTest::qWait(200);
+ view.reset();
+
+ const QRect itemDeviceBoundingRect = item->deviceTransform(view.viewportTransform())
+ .mapRect(item->boundingRect()).toRect();
+ QRegion expectedRegion = itemDeviceBoundingRect.adjusted(-2, -2, 2, 2); // antialiasing
+
+ // Make sure the calculated region is correct.
+ item->update();
+ QTest::qWait(10);
+ QTRY_COMPARE(view.paintedRegion, expectedRegion);
+ view.reset();
+
+ // Old position: (50, 50)
+ item->setPos(50, 100);
+ expectedRegion += expectedRegion.translated(0, 50);
+ QTest::qWait(10);
+ QCOMPARE(view.paintedRegion, expectedRegion);
+}
+
void tst_QGraphicsItem::sorting_data()
{
QTest::addColumn<int>("index");
@@ -7641,20 +7676,6 @@ void tst_QGraphicsItem::hitTestGraphicsEffectItem()
QCOMPARE(items.size(), 1);
QCOMPARE(items.at(0), static_cast<QGraphicsItem *>(item3));
- item1->repaints = 0;
- item2->repaints = 0;
- item3->repaints = 0;
-
- view.viewport()->update(75, 75, 20, 20);
- QTest::qWait(50);
-
- // item1 is the effect source and must therefore be repainted.
- // item2 intersects with the exposed region
- // item3 is just another child outside the exposed region
- QCOMPARE(item1->repaints, 1);
- QCOMPARE(item2->repaints, 1);
- QCOMPARE(item3->repaints, 0);
-
scene.setItemIndexMethod(QGraphicsScene::NoIndex);
QTest::qWait(100);
@@ -8431,7 +8452,7 @@ void tst_QGraphicsItem::focusScope()
QVERIFY(!scope2->focusScopeItem());
scope3->setParentItem(scope2);
QCOMPARE(scope2->focusScopeItem(), (QGraphicsItem *)scope3);
- QCOMPARE(scope2->focusItem(), (QGraphicsItem *)scope2);
+ QCOMPARE(scope2->focusItem(), (QGraphicsItem *)scope3);
QGraphicsRectItem *scope1 = new QGraphicsRectItem;
scope1->setData(0, "scope1");
@@ -8440,9 +8461,9 @@ void tst_QGraphicsItem::focusScope()
QVERIFY(!scope1->focusScopeItem());
scope2->setParentItem(scope1);
- QCOMPARE(scope1->focusItem(), (QGraphicsItem *)scope1);
- QCOMPARE(scope2->focusItem(), (QGraphicsItem *)0);
- QCOMPARE(scope3->focusItem(), (QGraphicsItem *)0);
+ QCOMPARE(scope1->focusItem(), (QGraphicsItem *)scope3);
+ QCOMPARE(scope2->focusItem(), (QGraphicsItem *)scope3);
+ QCOMPARE(scope3->focusItem(), (QGraphicsItem *)scope3);
QCOMPARE(scope1->focusScopeItem(), (QGraphicsItem *)scope2);
QCOMPARE(scope2->focusScopeItem(), (QGraphicsItem *)scope3);
QCOMPARE(scope3->focusScopeItem(), (QGraphicsItem *)0);
@@ -8493,11 +8514,13 @@ void tst_QGraphicsItem::focusScope()
rect5->setFocus();
rect5->setParentItem(rect4);
QCOMPARE(scope3->focusScopeItem(), (QGraphicsItem *)rect5);
- QVERIFY(!rect5->hasFocus());
+ QVERIFY(rect5->hasFocus());
rect4->setParentItem(0);
+ QVERIFY(rect5->hasFocus());
QCOMPARE(scope3->focusScopeItem(), (QGraphicsItem *)0);
- QVERIFY(scope3->hasFocus());
+ QCOMPARE(scope3->focusItem(), (QGraphicsItem *)0);
+ QVERIFY(!scope3->hasFocus());
QGraphicsRectItem *rectA = new QGraphicsRectItem;
QGraphicsRectItem *scopeA = new QGraphicsRectItem(rectA);
@@ -8508,7 +8531,7 @@ void tst_QGraphicsItem::focusScope()
scopeB->setFocus();
scene.addItem(rectA);
- QVERIFY(!rect5->hasFocus());
+ QVERIFY(rect5->hasFocus());
QVERIFY(!scopeB->hasFocus());
scopeA->setFocus();
@@ -8516,6 +8539,76 @@ void tst_QGraphicsItem::focusScope()
QCOMPARE(scopeB->focusItem(), (QGraphicsItem *)scopeB);
}
+void tst_QGraphicsItem::focusScope2()
+{
+ QGraphicsRectItem *child1 = new QGraphicsRectItem;
+ child1->setFlags(QGraphicsItem::ItemIsFocusable);
+ child1->setFocus();
+ QCOMPARE(child1->focusItem(), (QGraphicsItem *)child1);
+
+ QGraphicsRectItem *child2 = new QGraphicsRectItem;
+ child2->setFlags(QGraphicsItem::ItemIsFocusable);
+
+ QGraphicsRectItem *rootFocusScope = new QGraphicsRectItem;
+ rootFocusScope->setFlags(QGraphicsItem::ItemIsFocusable | QGraphicsItem::ItemIsFocusScope);
+ rootFocusScope->setFocus();
+ QCOMPARE(rootFocusScope->focusItem(), (QGraphicsItem *)rootFocusScope);
+
+ child1->setParentItem(rootFocusScope);
+ child2->setParentItem(rootFocusScope);
+
+ QCOMPARE(rootFocusScope->focusScopeItem(), (QGraphicsItem *)child1);
+ QCOMPARE(rootFocusScope->focusItem(), (QGraphicsItem *)child1);
+
+ QGraphicsRectItem *siblingChild1 = new QGraphicsRectItem;
+ siblingChild1->setFlags(QGraphicsItem::ItemIsFocusable);
+ siblingChild1->setFocus();
+
+ QGraphicsRectItem *siblingChild2 = new QGraphicsRectItem;
+ siblingChild2->setFlags(QGraphicsItem::ItemIsFocusable);
+
+ QGraphicsRectItem *siblingFocusScope = new QGraphicsRectItem;
+ siblingFocusScope->setFlags(QGraphicsItem::ItemIsFocusable | QGraphicsItem::ItemIsFocusScope);
+
+ siblingChild1->setParentItem(siblingFocusScope);
+ siblingChild2->setParentItem(siblingFocusScope);
+
+ QCOMPARE(siblingFocusScope->focusScopeItem(), (QGraphicsItem *)siblingChild1);
+ QCOMPARE(siblingFocusScope->focusItem(), (QGraphicsItem *)0);
+
+ QGraphicsItem *root = new QGraphicsRectItem;
+ rootFocusScope->setParentItem(root);
+ siblingFocusScope->setParentItem(root);
+
+ QCOMPARE(root->focusItem(), (QGraphicsItem *)child1);
+
+ QGraphicsScene scene;
+ scene.addItem(root);
+
+ QEvent activate(QEvent::WindowActivate);
+ qApp->sendEvent(&scene, &activate);
+ scene.setFocus();
+
+ QCOMPARE(scene.focusItem(), (QGraphicsItem *)child1);
+
+ // You cannot set focus on a descendant of a focus scope directly;
+ // this will only change the scope's focus scope item pointer. If
+ // you want to give true input focus, you must set it directly on
+ // the scope itself
+ siblingChild2->setFocus();
+ QVERIFY(!siblingChild2->hasFocus());
+ QVERIFY(!siblingChild2->focusItem());
+ QCOMPARE(siblingFocusScope->focusScopeItem(), (QGraphicsItem *)siblingChild2);
+ QCOMPARE(siblingFocusScope->focusItem(), (QGraphicsItem *)0);
+
+ // Set focus on the scope; focus is forwarded to the focus scope item.
+ siblingFocusScope->setFocus();
+ QVERIFY(siblingChild2->hasFocus());
+ QVERIFY(siblingChild2->focusItem());
+ QCOMPARE(siblingFocusScope->focusScopeItem(), (QGraphicsItem *)siblingChild2);
+ QCOMPARE(siblingFocusScope->focusItem(), (QGraphicsItem *)siblingChild2);
+}
+
void tst_QGraphicsItem::stackBefore()
{
QGraphicsRectItem parent;
@@ -8535,24 +8628,24 @@ void tst_QGraphicsItem::stackBefore()
QCOMPARE(parent.childItems(), (QList<QGraphicsItem *>() << child1 << child3 << child4 << child2));
// Move child2 before child1
- child2->stackBefore(child1);
+ child2->stackBefore(child1); // 2134
QCOMPARE(parent.childItems(), (QList<QGraphicsItem *>() << child2 << child1 << child3 << child4));
- child2->stackBefore(child2);
+ child2->stackBefore(child2); // 2134
QCOMPARE(parent.childItems(), (QList<QGraphicsItem *>() << child2 << child1 << child3 << child4));
- child1->setZValue(1);
+ child1->setZValue(1); // 2341
QCOMPARE(parent.childItems(), (QList<QGraphicsItem *>() << child2 << child3 << child4 << child1));
- child1->stackBefore(child2); // no effect
+ child1->stackBefore(child2); // 2341
QCOMPARE(parent.childItems(), (QList<QGraphicsItem *>() << child2 << child3 << child4 << child1));
- child1->setZValue(0);
- QCOMPARE(parent.childItems(), (QList<QGraphicsItem *>() << child2 << child1 << child3 << child4));
- child4->stackBefore(child1);
- QCOMPARE(parent.childItems(), (QList<QGraphicsItem *>() << child2 << child4 << child1 << child3));
- child4->setZValue(1);
- QCOMPARE(parent.childItems(), (QList<QGraphicsItem *>() << child2 << child1 << child3 << child4));
- child3->stackBefore(child1);
- QCOMPARE(parent.childItems(), (QList<QGraphicsItem *>() << child2 << child3 << child1 << child4));
- child4->setZValue(0);
- QCOMPARE(parent.childItems(), (QList<QGraphicsItem *>() << child2 << child4 << child3 << child1));
+ child1->setZValue(0); // 1234
+ QCOMPARE(parent.childItems(), (QList<QGraphicsItem *>() << child1 << child2 << child3 << child4));
+ child4->stackBefore(child1); // 4123
+ QCOMPARE(parent.childItems(), (QList<QGraphicsItem *>() << child4 << child1 << child2 << child3));
+ child4->setZValue(1); // 1234 (4123)
+ QCOMPARE(parent.childItems(), (QList<QGraphicsItem *>() << child1 << child2 << child3 << child4));
+ child3->stackBefore(child1); // 3124 (4312)
+ QCOMPARE(parent.childItems(), (QList<QGraphicsItem *>() << child3 << child1 << child2 << child4));
+ child4->setZValue(0); // 4312
+ QCOMPARE(parent.childItems(), (QList<QGraphicsItem *>() << child4 << child3 << child1 << child2));
// Make them all toplevels
child1->setParentItem(0);
@@ -8574,24 +8667,24 @@ void tst_QGraphicsItem::stackBefore()
QCOMPARE(scene.items(QPointF(2, 2), Qt::IntersectsItemBoundingRect, Qt::AscendingOrder), (QList<QGraphicsItem *>() << child1 << child3 << child4 << child2));
// Move child2 before child1
- child2->stackBefore(child1);
+ child2->stackBefore(child1); // 2134
QCOMPARE(scene.items(QPointF(2, 2), Qt::IntersectsItemBoundingRect, Qt::AscendingOrder), (QList<QGraphicsItem *>() << child2 << child1 << child3 << child4));
- child2->stackBefore(child2);
+ child2->stackBefore(child2); // 2134
QCOMPARE(scene.items(QPointF(2, 2), Qt::IntersectsItemBoundingRect, Qt::AscendingOrder), (QList<QGraphicsItem *>() << child2 << child1 << child3 << child4));
- child1->setZValue(1);
+ child1->setZValue(1); // 2341
QCOMPARE(scene.items(QPointF(2, 2), Qt::IntersectsItemBoundingRect, Qt::AscendingOrder), (QList<QGraphicsItem *>() << child2 << child3 << child4 << child1));
- child1->stackBefore(child2); // no effect
+ child1->stackBefore(child2); // 2341
QCOMPARE(scene.items(QPointF(2, 2), Qt::IntersectsItemBoundingRect, Qt::AscendingOrder), (QList<QGraphicsItem *>() << child2 << child3 << child4 << child1));
- child1->setZValue(0);
- QCOMPARE(scene.items(QPointF(2, 2), Qt::IntersectsItemBoundingRect, Qt::AscendingOrder), (QList<QGraphicsItem *>() << child2 << child1 << child3 << child4));
- child4->stackBefore(child1);
- QCOMPARE(scene.items(QPointF(2, 2), Qt::IntersectsItemBoundingRect, Qt::AscendingOrder), (QList<QGraphicsItem *>() << child2 << child4 << child1 << child3));
- child4->setZValue(1);
- QCOMPARE(scene.items(QPointF(2, 2), Qt::IntersectsItemBoundingRect, Qt::AscendingOrder), (QList<QGraphicsItem *>() << child2 << child1 << child3 << child4));
- child3->stackBefore(child1);
- QCOMPARE(scene.items(QPointF(2, 2), Qt::IntersectsItemBoundingRect, Qt::AscendingOrder), (QList<QGraphicsItem *>() << child2 << child3 << child1 << child4));
- child4->setZValue(0);
- QCOMPARE(scene.items(QPointF(2, 2), Qt::IntersectsItemBoundingRect, Qt::AscendingOrder), (QList<QGraphicsItem *>() << child2 << child4 << child3 << child1));
+ child1->setZValue(0); // 1234
+ QCOMPARE(scene.items(QPointF(2, 2), Qt::IntersectsItemBoundingRect, Qt::AscendingOrder), (QList<QGraphicsItem *>() << child1 << child2 << child3 << child4));
+ child4->stackBefore(child1); // 4123
+ QCOMPARE(scene.items(QPointF(2, 2), Qt::IntersectsItemBoundingRect, Qt::AscendingOrder), (QList<QGraphicsItem *>() << child4 << child1 << child2 << child3));
+ child4->setZValue(1); // 1234 (4123)
+ QCOMPARE(scene.items(QPointF(2, 2), Qt::IntersectsItemBoundingRect, Qt::AscendingOrder), (QList<QGraphicsItem *>() << child1 << child2 << child3 << child4));
+ child3->stackBefore(child1); // 3124 (4312)
+ QCOMPARE(scene.items(QPointF(2, 2), Qt::IntersectsItemBoundingRect, Qt::AscendingOrder), (QList<QGraphicsItem *>() << child3 << child1 << child2 << child4));
+ child4->setZValue(0); // 4312
+ QCOMPARE(scene.items(QPointF(2, 2), Qt::IntersectsItemBoundingRect, Qt::AscendingOrder), (QList<QGraphicsItem *>() << child4 << child3 << child1 << child2));
}
void tst_QGraphicsItem::QTBUG_4233_updateCachedWithSceneRect()
diff --git a/tests/auto/qgraphicsobject/tst_qgraphicsobject.cpp b/tests/auto/qgraphicsobject/tst_qgraphicsobject.cpp
index a9fd55a..194665d 100644
--- a/tests/auto/qgraphicsobject/tst_qgraphicsobject.cpp
+++ b/tests/auto/qgraphicsobject/tst_qgraphicsobject.cpp
@@ -46,6 +46,7 @@
#include <qgraphicssceneevent.h>
#include <qgraphicsview.h>
#include <qstyleoption.h>
+#include <private/qobject_p.h>
#include "../../shared/util.h"
class tst_QGraphicsObject : public QObject {
@@ -65,6 +66,7 @@ private slots:
void opacity();
void enabled();
void visible();
+ void deleted();
};
@@ -249,6 +251,46 @@ void tst_QGraphicsObject::visible()
QVERIFY(object.property("visible") == true);
}
+class DeleteTester : public QGraphicsObject
+{
+public:
+ DeleteTester(bool *w, bool *pw, QGraphicsItem *parent = 0)
+ : QGraphicsObject(parent), wasDeleted(w), parentWasDeleted(pw)
+ { }
+
+ ~DeleteTester()
+ {
+ *wasDeleted = QObjectPrivate::get(this)->wasDeleted;
+ if (QGraphicsItem *p = parentItem()) {
+ if (QGraphicsObject *o = p->toGraphicsObject())
+ *parentWasDeleted = QObjectPrivate::get(o)->wasDeleted;
+ }
+ }
+
+ void paint(QPainter *, const QStyleOptionGraphicsItem *, QWidget * = 0)
+ { }
+ QRectF boundingRect() const
+ { return QRectF(); }
+
+ bool *wasDeleted;
+ bool *parentWasDeleted;
+};
+
+void tst_QGraphicsObject::deleted()
+{
+ bool item1_parentWasDeleted = false;
+ bool item1_wasDeleted = false;
+ bool item2_parentWasDeleted = false;
+ bool item2_wasDeleted = false;
+ DeleteTester *item1 = new DeleteTester(&item1_wasDeleted, &item1_parentWasDeleted);
+ DeleteTester *item2 = new DeleteTester(&item2_wasDeleted, &item2_parentWasDeleted, item1);
+ delete item1;
+
+ QVERIFY(!item1_wasDeleted); // destructor not called yet
+ QVERIFY(!item1_parentWasDeleted); // no parent
+ QVERIFY(!item2_wasDeleted); // destructor not called yet
+ QVERIFY(item2_parentWasDeleted);
+}
QTEST_MAIN(tst_QGraphicsObject)
#include "tst_qgraphicsobject.moc"
diff --git a/tests/auto/qgraphicspixmapitem/tst_qgraphicspixmapitem.cpp b/tests/auto/qgraphicspixmapitem/tst_qgraphicspixmapitem.cpp
index e25aef0..5a62dc0 100644
--- a/tests/auto/qgraphicspixmapitem/tst_qgraphicspixmapitem.cpp
+++ b/tests/auto/qgraphicspixmapitem/tst_qgraphicspixmapitem.cpp
@@ -165,7 +165,7 @@ void tst_QGraphicsPixmapItem::boundingRect_data()
QTest::addColumn<QPixmap>("pixmap");
QTest::addColumn<QRectF>("boundingRect");
QTest::newRow("null") << QPixmap() << QRectF();
- QTest::newRow("10x10") << QPixmap(10, 10) << QRectF(-0.5, -0.5, 11, 11);
+ QTest::newRow("10x10") << QPixmap(10, 10) << QRectF(0, 0, 10, 10);
}
// public QRectF boundingRect() const
diff --git a/tests/auto/qgraphicssceneindex/tst_qgraphicssceneindex.cpp b/tests/auto/qgraphicssceneindex/tst_qgraphicssceneindex.cpp
index 1109e5e..7d98748 100644
--- a/tests/auto/qgraphicssceneindex/tst_qgraphicssceneindex.cpp
+++ b/tests/auto/qgraphicssceneindex/tst_qgraphicssceneindex.cpp
@@ -45,6 +45,8 @@
#include <private/qgraphicsscenebsptreeindex_p.h>
#include <private/qgraphicssceneindex_p.h>
#include <private/qgraphicsscenelinearindex_p.h>
+#include "../../shared/util.h"
+
//TESTED_CLASS=
//TESTED_FILES=
@@ -66,6 +68,7 @@ private slots:
void movingItems();
void connectedToSceneRectChanged();
void items();
+ void removeItems();
void clear();
private:
@@ -268,6 +271,63 @@ void tst_QGraphicsSceneIndex::items()
QCOMPARE(scene.items().size(), 3);
}
+class RectWidget : public QGraphicsWidget
+{
+ Q_OBJECT
+public:
+ RectWidget(QGraphicsItem *parent = 0) : QGraphicsWidget(parent)
+ {
+ }
+
+ void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget)
+ {
+ painter->setBrush(brush);
+ painter->drawRect(boundingRect());
+ }
+public:
+ QBrush brush;
+};
+
+void tst_QGraphicsSceneIndex::removeItems()
+{
+ QGraphicsScene scene;
+
+ RectWidget *parent = new RectWidget;
+ parent->brush = QBrush(QColor(Qt::magenta));
+ parent->setGeometry(250, 250, 400, 400);
+
+ RectWidget *widget = new RectWidget(parent);
+ widget->brush = QBrush(QColor(Qt::blue));
+ widget->setGeometry(10, 10, 200, 200);
+
+ RectWidget *widgetChild1 = new RectWidget(widget);
+ widgetChild1->brush = QBrush(QColor(Qt::green));
+ widgetChild1->setGeometry(20, 20, 100, 100);
+
+ RectWidget *widgetChild2 = new RectWidget(widgetChild1);
+ widgetChild2->brush = QBrush(QColor(Qt::yellow));
+ widgetChild2->setGeometry(25, 25, 50, 50);
+
+ scene.addItem(parent);
+
+ QGraphicsView view(&scene);
+ view.resize(600, 600);
+ view.show();
+ QApplication::setActiveWindow(&view);
+ QTest::qWaitForWindowShown(&view);
+
+ QApplication::processEvents();
+
+ scene.removeItem(widgetChild1);
+
+ delete widgetChild1;
+
+ //We move the parent
+ scene.items(295, 295, 50, 50);
+
+ //This should not crash
+}
+
void tst_QGraphicsSceneIndex::clear()
{
class MyItem : public QGraphicsItem
@@ -298,7 +358,7 @@ void tst_QGraphicsSceneIndex::clear()
MyItem *item = new MyItem;
scene.addItem(item);
qApp->processEvents();
- QCOMPARE(item->numPaints, 1);
+ QTRY_COMPARE(item->numPaints, 1);
}
QTEST_MAIN(tst_QGraphicsSceneIndex)
diff --git a/tests/auto/qgraphicstransform/tst_qgraphicstransform.cpp b/tests/auto/qgraphicstransform/tst_qgraphicstransform.cpp
index eb5c099..9b15ab1 100644
--- a/tests/auto/qgraphicstransform/tst_qgraphicstransform.cpp
+++ b/tests/auto/qgraphicstransform/tst_qgraphicstransform.cpp
@@ -59,6 +59,8 @@ private slots:
void rotation();
void rotation3d_data();
void rotation3d();
+ void rotation3dArbitraryAxis_data();
+ void rotation3dArbitraryAxis();
};
@@ -88,7 +90,7 @@ static QTransform transform2D(const QGraphicsTransform& t)
{
QMatrix4x4 m;
t.applyTo(&m);
- return m.toTransform(0);
+ return m.toTransform();
}
void tst_QGraphicsTransform::scale()
@@ -255,11 +257,24 @@ void tst_QGraphicsTransform::rotation3d()
QVERIFY(fuzzyCompare(transform2D(rotation), expected));
+ // Check that "rotation" produces the 4x4 form of the 3x3 matrix.
+ // i.e. third row and column are 0 0 1 0.
+ t.setToIdentity();
+ rotation.applyTo(&t);
+ QMatrix4x4 r(expected);
+ if (sizeof(qreal) == sizeof(float) && angle == 268) {
+ // This test fails, on only this angle, when qreal == float
+ // because the deg2rad value in QTransform is not accurate
+ // enough to match what QMatrix4x4 is doing.
+ } else {
+ QVERIFY(qFuzzyCompare(t, r));
+ }
+
//now let's check that a null vector will not change the transform
rotation.setAxis(QVector3D(0, 0, 0));
rotation.setOrigin(QVector3D(10, 10, 0));
- t.setIdentity();
+ t.setToIdentity();
rotation.applyTo(&t);
QVERIFY(t.isIdentity());
@@ -276,6 +291,58 @@ void tst_QGraphicsTransform::rotation3d()
QVERIFY(transform2D(rotation).isIdentity());
}
+void tst_QGraphicsTransform::rotation3dArbitraryAxis_data()
+{
+ QTest::addColumn<QVector3D>("axis");
+ QTest::addColumn<qreal>("angle");
+
+ QVector3D axis1 = QVector3D(1.0f, 1.0f, 1.0f);
+ QVector3D axis2 = QVector3D(2.0f, -3.0f, 0.5f);
+ QVector3D axis3 = QVector3D(-2.0f, 0.0f, -0.5f);
+ QVector3D axis4 = QVector3D(0.0001f, 0.0001f, 0.0001f);
+ QVector3D axis5 = QVector3D(0.01f, 0.01f, 0.01f);
+
+ for (int angle = 0; angle <= 360; angle++) {
+ QTest::newRow("test rotation on (1, 1, 1)") << axis1 << qreal(angle);
+ QTest::newRow("test rotation on (2, -3, .5)") << axis2 << qreal(angle);
+ QTest::newRow("test rotation on (-2, 0, -.5)") << axis3 << qreal(angle);
+ QTest::newRow("test rotation on (.0001, .0001, .0001)") << axis4 << qreal(angle);
+ QTest::newRow("test rotation on (.01, .01, .01)") << axis5 << qreal(angle);
+ }
+}
+
+void tst_QGraphicsTransform::rotation3dArbitraryAxis()
+{
+ QFETCH(QVector3D, axis);
+ QFETCH(qreal, angle);
+
+ QGraphicsRotation rotation;
+ rotation.setAxis(axis);
+
+ QMatrix4x4 t;
+ rotation.applyTo(&t);
+
+ QVERIFY(t.isIdentity());
+ QVERIFY(transform2D(rotation).isIdentity());
+
+ rotation.setAngle(angle);
+
+ // Compute the expected answer using QMatrix4x4 and a projection.
+ // These two steps are performed in one hit by QGraphicsRotation.
+ QMatrix4x4 exp;
+ exp.rotate(angle, axis);
+ QTransform expected = exp.toTransform(1024.0f);
+
+ QVERIFY(fuzzyCompare(transform2D(rotation), expected));
+
+ // Check that "rotation" produces the 4x4 form of the 3x3 matrix.
+ // i.e. third row and column are 0 0 1 0.
+ t.setToIdentity();
+ rotation.applyTo(&t);
+ QMatrix4x4 r(expected);
+ QVERIFY(qFuzzyCompare(t, r));
+}
+
QTEST_MAIN(tst_QGraphicsTransform)
#include "tst_qgraphicstransform.moc"
diff --git a/tests/auto/qgraphicsview/tst_qgraphicsview.cpp b/tests/auto/qgraphicsview/tst_qgraphicsview.cpp
index dc08d0e..f07453c 100644
--- a/tests/auto/qgraphicsview/tst_qgraphicsview.cpp
+++ b/tests/auto/qgraphicsview/tst_qgraphicsview.cpp
@@ -194,6 +194,8 @@ private slots:
void acceptDrops();
void optimizationFlags();
void optimizationFlags_dontSavePainterState();
+ void optimizationFlags_dontSavePainterState2_data();
+ void optimizationFlags_dontSavePainterState2();
void levelOfDetail_data();
void levelOfDetail();
void scrollBarRanges_data();
@@ -2455,6 +2457,57 @@ void tst_QGraphicsView::optimizationFlags_dontSavePainterState()
QTest::qWaitForWindowShown(&painter2);
}
+void tst_QGraphicsView::optimizationFlags_dontSavePainterState2_data()
+{
+ QTest::addColumn<bool>("savePainter");
+ QTest::newRow("With painter state protection") << true;
+ QTest::newRow("Without painter state protection") << false;
+}
+
+void tst_QGraphicsView::optimizationFlags_dontSavePainterState2()
+{
+ QFETCH(bool, savePainter);
+
+ class MyScene : public QGraphicsScene
+ {
+ public:
+ void drawBackground(QPainter *p, const QRectF &)
+ { transformInDrawBackground = p->worldTransform(); }
+
+ void drawForeground(QPainter *p, const QRectF &)
+ { transformInDrawForeground = p->worldTransform(); }
+
+ QTransform transformInDrawBackground;
+ QTransform transformInDrawForeground;
+ };
+
+ MyScene scene;
+ // Add transformed dummy items to make sure the painter's worldTransform() is changed in drawItems.
+ scene.addRect(0, 0, 20, 20)->setTransform(QTransform::fromScale(2, 2));
+ scene.addRect(50, 50, 20, 20)->setTransform(QTransform::fromTranslate(200, 200));
+
+ CustomView view(&scene);
+ if (!savePainter)
+ view.setOptimizationFlag(QGraphicsView::DontSavePainterState);
+ view.rotate(45);
+ view.scale(1.5, 1.5);
+ view.show();
+#ifdef Q_WS_X11
+ qt_x11_wait_for_window_manager(&view);
+#endif
+
+ // Make sure the view is repainted; otherwise the tests below will fail.
+ view.viewport()->repaint();
+ QTest::qWait(200);
+ QVERIFY(view.painted);
+
+ // Make sure the painter's world transform is preserved after drawItems.
+ const QTransform expectedTransform = view.viewportTransform();
+ QVERIFY(!expectedTransform.isIdentity());
+ QCOMPARE(scene.transformInDrawForeground, expectedTransform);
+ QCOMPARE(scene.transformInDrawBackground, expectedTransform);
+}
+
class LodItem : public QGraphicsRectItem
{
public:
@@ -3735,7 +3788,7 @@ void tst_QGraphicsView::task259503_scrollingArtifacts()
{
// qDebug() << event->region();
// qDebug() << updateRegion;
- QEXPECT_FAIL("", "The event region doesn't include the original item position region. See task #259503.", Continue);
+ QEXPECT_FAIL("", "The event region doesn't include the original item position region. See QTBUG-4416", Continue);
QCOMPARE(event->region(), updateRegion);
}
}
diff --git a/tests/auto/qgridlayout/tst_qgridlayout.cpp b/tests/auto/qgridlayout/tst_qgridlayout.cpp
index 7c320be..46e2a03 100644
--- a/tests/auto/qgridlayout/tst_qgridlayout.cpp
+++ b/tests/auto/qgridlayout/tst_qgridlayout.cpp
@@ -920,9 +920,9 @@ void tst_QGridLayout::minMaxSize()
#if defined(Q_WS_X11)
qt_x11_wait_for_window_manager(m_toplevel); // wait for the show
#endif
- QTest::qWait(20);
+ QTest::qWait(40);
m_toplevel->adjustSize();
- QTest::qWait(120); // wait for the implicit adjustSize
+ QTest::qWait(240); // wait for the implicit adjustSize
// If the following fails we might have to wait longer.
// If that does not help there is likely a problem with the implicit adjustSize in show()
if (!fixedSize.isValid()) {
diff --git a/tests/auto/qlistview/tst_qlistview.cpp b/tests/auto/qlistview/tst_qlistview.cpp
index 6e211ae..a5ff153 100644
--- a/tests/auto/qlistview/tst_qlistview.cpp
+++ b/tests/auto/qlistview/tst_qlistview.cpp
@@ -119,6 +119,8 @@ private slots:
void task262152_setModelColumnNavigate();
void taskQTBUG_2233_scrollHiddenItems_data();
void taskQTBUG_2233_scrollHiddenItems();
+ void taskQTBUG_633_changeModelData();
+ void taskQTBUG_435_deselectOnViewportClick();
};
// Testing get/set functions
@@ -1132,6 +1134,7 @@ void tst_QListView::selection()
#endif
v.show();
+ QTest::qWaitForWindowShown(&v);
QApplication::processEvents();
v.setSelection(selectionRect, QItemSelectionModel::ClearAndSelect);
@@ -1184,6 +1187,7 @@ void tst_QListView::scrollTo()
lv.setModel(&model);
lv.setFixedSize(100, 200);
lv.show();
+ QTest::qWaitForWindowShown(&lv);
//by default, the list view scrolls per item and has no wrapping
QModelIndex index = model.index(6,0);
@@ -1782,6 +1786,7 @@ void tst_QListView::task262152_setModelColumnNavigate()
view.setModelColumn(1);
view.show();
+ QTest::qWaitForWindowShown(&view);
QTest::qWait(100);
QTest::keyClick(&view, Qt::Key_Down);
QTest::qWait(100);
@@ -1829,5 +1834,47 @@ void tst_QListView::taskQTBUG_2233_scrollHiddenItems()
}
}
+void tst_QListView::taskQTBUG_633_changeModelData()
+{
+ QListView view;
+ view.setFlow(QListView::LeftToRight);
+ QStandardItemModel model(5,1);
+ for (int i = 0; i < model.rowCount(); ++i) {
+ model.setData( model.index(i, 0), QString::number(i));
+ }
+
+ view.setModel(&model);
+ view.show();
+ QTest::qWaitForWindowShown(&view);
+ model.setData( model.index(1, 0), QLatin1String("long long text"));
+ QTest::qWait(100); //leave time for relayouting the items
+ QRect rectLongText = view.visualRect(model.index(1,0));
+ QRect rect2 = view.visualRect(model.index(2,0));
+ QVERIFY( ! rectLongText.intersects(rect2) );
+}
+
+void tst_QListView::taskQTBUG_435_deselectOnViewportClick()
+{
+ QListView view;
+ QStringListModel model( QStringList() << "1" << "2" << "3" << "4");
+ view.setModel(&model);
+ view.setSelectionMode(QAbstractItemView::ExtendedSelection);
+ view.selectAll();
+ QCOMPARE(view.selectionModel()->selectedIndexes().count(), model.rowCount());
+
+
+ QPoint p = view.visualRect(model.index(model.rowCount() - 1)).center() + QPoint(0, 20);
+ //first the left button
+ QTest::mouseClick(view.viewport(), Qt::LeftButton, 0, p);
+ QVERIFY(!view.selectionModel()->hasSelection());
+
+ view.selectAll();
+ QCOMPARE(view.selectionModel()->selectedIndexes().count(), model.rowCount());
+
+ //and now the right button
+ QTest::mouseClick(view.viewport(), Qt::RightButton, 0, p);
+ QVERIFY(!view.selectionModel()->hasSelection());
+}
+
QTEST_MAIN(tst_QListView)
#include "tst_qlistview.moc"
diff --git a/tests/auto/qlistwidget/tst_qlistwidget.cpp b/tests/auto/qlistwidget/tst_qlistwidget.cpp
index e825c8f..5c6ed54 100644
--- a/tests/auto/qlistwidget/tst_qlistwidget.cpp
+++ b/tests/auto/qlistwidget/tst_qlistwidget.cpp
@@ -46,6 +46,7 @@
#include <qlist.h>
#include <qlistwidget.h>
+#include <private/qlistwidget_p.h>
//TESTED_CLASS=
//TESTED_FILES=
@@ -95,6 +96,8 @@ private slots:
void insertItem();
void insertItems_data();
void insertItems();
+ void moveItemsPriv_data();
+ void moveItemsPriv();
void itemAssignment();
void item_data();
@@ -849,6 +852,62 @@ void tst_QListWidget::removeItems()
}
+void tst_QListWidget::moveItemsPriv_data()
+{
+ QTest::addColumn<int>("rowCount");
+ QTest::addColumn<int>("srcRow");
+ QTest::addColumn<int>("dstRow");
+ QTest::addColumn<bool>("shouldHaveSignaled");
+
+ QTest::newRow("Empty") << 0 << 0 << 0 << false;
+ QTest::newRow("Overflow src") << 5 << 5 << 2 << false;
+ QTest::newRow("Underflow src") << 5 << -1 << 2 << false;
+ QTest::newRow("Overflow dst") << 5 << 2 << 5 << false;
+ QTest::newRow("Underflow dst") << 5 << 2 << -1 << false;
+ QTest::newRow("Same place") << 5 << 2 << 2 << false;
+ QTest::newRow("Up") << 5 << 4 << 2 << true;
+ QTest::newRow("Down") << 5 << 2 << 4 << true;
+}
+
+void tst_QListWidget::moveItemsPriv()
+{
+ QFETCH(int, rowCount);
+ QFETCH(int, srcRow);
+ QFETCH(int, dstRow);
+ QFETCH(bool, shouldHaveSignaled);
+
+ for (int r = 0; r < rowCount; ++r)
+ new QListWidgetItem(QString::number(r), testWidget);
+
+ QListModel *model = dynamic_cast<QListModel *>(testWidget->model());
+ QVERIFY(model);
+ QSignalSpy beginMoveSpy(model, SIGNAL(rowsAboutToBeMoved(QModelIndex,int,int,QModelIndex,int)));
+ QSignalSpy movedSpy(model, SIGNAL(rowsMoved(QModelIndex,int,int,QModelIndex,int)));
+ model->move(srcRow, dstRow);
+
+ if (shouldHaveSignaled) {
+ if (srcRow < dstRow)
+ QCOMPARE(testWidget->item(dstRow - 1)->text(), QString::number(srcRow));
+ else
+ QCOMPARE(testWidget->item(dstRow)->text(), QString::number(srcRow));
+
+ QCOMPARE(beginMoveSpy.count(), 1);
+ const QList<QVariant> &beginMoveArgs = beginMoveSpy.takeFirst();
+ QCOMPARE(beginMoveArgs.at(1).toInt(), srcRow);
+ QCOMPARE(beginMoveArgs.at(2).toInt(), srcRow);
+ QCOMPARE(beginMoveArgs.at(4).toInt(), dstRow);
+
+ QCOMPARE(movedSpy.count(), 1);
+ const QList<QVariant> &movedArgs = movedSpy.takeFirst();
+ QCOMPARE(movedArgs.at(1).toInt(), srcRow);
+ QCOMPARE(movedArgs.at(2).toInt(), srcRow);
+ QCOMPARE(movedArgs.at(4).toInt(), dstRow);
+ } else {
+ QCOMPARE(beginMoveSpy.count(), 0);
+ QCOMPARE(movedSpy.count(), 0);
+ }
+}
+
void tst_QListWidget::itemStreaming_data()
{
QTest::addColumn<QString>("text");
diff --git a/tests/auto/qlocalsocket/tst_qlocalsocket.cpp b/tests/auto/qlocalsocket/tst_qlocalsocket.cpp
index be39d00..ab7b0ac 100644
--- a/tests/auto/qlocalsocket/tst_qlocalsocket.cpp
+++ b/tests/auto/qlocalsocket/tst_qlocalsocket.cpp
@@ -976,7 +976,7 @@ void tst_QLocalSocket::writeOnlySocket()
#if defined(Q_OS_SYMBIAN)
QTest::qWait(250);
#endif
- QVERIFY(server.waitForNewConnection());
+ QVERIFY(server.waitForNewConnection(200));
QLocalSocket* serverSocket = server.nextPendingConnection();
QVERIFY(serverSocket);
diff --git a/tests/auto/qmatrixnxn/tst_qmatrixnxn.cpp b/tests/auto/qmatrixnxn/tst_qmatrixnxn.cpp
index ff5e00f..d6d217f2 100644
--- a/tests/auto/qmatrixnxn/tst_qmatrixnxn.cpp
+++ b/tests/auto/qmatrixnxn/tst_qmatrixnxn.cpp
@@ -151,14 +151,8 @@ private slots:
void convertGeneric();
- void extractAxisRotation_data();
- void extractAxisRotation();
-
- void extractTranslation_data();
- void extractTranslation();
-
- void inferSpecialType_data();
- void inferSpecialType();
+ void optimize_data();
+ void optimize();
void columnsAndRows();
@@ -515,13 +509,13 @@ void tst_QMatrixNxN::create2x2()
m5 = m3;
QVERIFY(isSame(m5, uniqueValues2));
- m5.setIdentity();
+ m5.setToIdentity();
QVERIFY(isIdentity(m5));
QMatrix2x2 m6(uniqueValues2);
QVERIFY(isSame(m6, uniqueValues2));
qreal vals[4];
- m6.toValueArray(vals);
+ m6.copyDataTo(vals);
for (int index = 0; index < 4; ++index)
QCOMPARE(vals[index], uniqueValues2[index]);
}
@@ -550,13 +544,13 @@ void tst_QMatrixNxN::create3x3()
m5 = m3;
QVERIFY(isSame(m5, uniqueValues3));
- m5.setIdentity();
+ m5.setToIdentity();
QVERIFY(isIdentity(m5));
QMatrix3x3 m6(uniqueValues3);
QVERIFY(isSame(m6, uniqueValues3));
qreal vals[9];
- m6.toValueArray(vals);
+ m6.copyDataTo(vals);
for (int index = 0; index < 9; ++index)
QCOMPARE(vals[index], uniqueValues3[index]);
}
@@ -585,13 +579,13 @@ void tst_QMatrixNxN::create4x4()
m5 = m3;
QVERIFY(isSame(m5, uniqueValues4));
- m5.setIdentity();
+ m5.setToIdentity();
QVERIFY(isIdentity(m5));
QMatrix4x4 m6(uniqueValues4);
QVERIFY(isSame(m6, uniqueValues4));
qreal vals[16];
- m6.toValueArray(vals);
+ m6.copyDataTo(vals);
for (int index = 0; index < 16; ++index)
QCOMPARE(vals[index], uniqueValues4[index]);
@@ -627,13 +621,13 @@ void tst_QMatrixNxN::create4x3()
m5 = m3;
QVERIFY(isSame(m5, uniqueValues4x3));
- m5.setIdentity();
+ m5.setToIdentity();
QVERIFY(isIdentity(m5));
QMatrix4x3 m6(uniqueValues4x3);
QVERIFY(isSame(m6, uniqueValues4x3));
qreal vals[12];
- m6.toValueArray(vals);
+ m6.copyDataTo(vals);
for (int index = 0; index < 12; ++index)
QCOMPARE(vals[index], uniqueValues4x3[index]);
}
@@ -802,7 +796,7 @@ void tst_QMatrixNxN::transposed4x3()
QMatrix4x3 m3(uniqueValues4x3);
QMatrix3x4 m4 = m3.transposed();
qreal values[12];
- m4.toValueArray(values);
+ m4.copyDataTo(values);
for (int index = 0; index < 12; ++index)
QCOMPARE(values[index], transposedValues3x4[index]);
}
@@ -1296,7 +1290,7 @@ void tst_QMatrixNxN::multiply4x3()
QGenericMatrix<3, 3, qreal> m4;
m4 = m1 * m2;
qreal values[9];
- m4.toValueArray(values);
+ m4.copyDataTo(values);
for (int index = 0; index < 9; ++index)
QCOMPARE(values[index], ((const qreal *)m3Values)[index]);
}
@@ -1898,7 +1892,7 @@ void tst_QMatrixNxN::inverted4x4()
}
// Test again, after inferring the special matrix type.
- m1.inferSpecialType();
+ m1.optimize();
m2 = m1.inverted(&inv);
QVERIFY(isSame(m2, (const qreal *)m2Values));
QCOMPARE(inv, invertible);
@@ -1913,12 +1907,12 @@ void tst_QMatrixNxN::orthonormalInverse4x4()
m2.rotate(45.0, 1.0, 0.0, 0.0);
m2.translate(10.0, 0.0, 0.0);
- // Use inferSpecialType() to drop the internal flags that
+ // Use optimize() to drop the internal flags that
// mark the matrix as orthonormal. This will force inverted()
// to compute m3.inverted() the long way. We can then compare
// the result to what the faster algorithm produces on m2.
QMatrix4x4 m3 = m2;
- m3.inferSpecialType();
+ m3.optimize();
bool invertible;
QVERIFY(qFuzzyCompare(m2.inverted(&invertible), m3.inverted()));
QVERIFY(invertible);
@@ -1926,7 +1920,7 @@ void tst_QMatrixNxN::orthonormalInverse4x4()
QMatrix4x4 m4;
m4.rotate(45.0, 0.0, 1.0, 0.0);
QMatrix4x4 m5 = m4;
- m5.inferSpecialType();
+ m5.optimize();
QVERIFY(qFuzzyCompare(m4.inverted(), m5.inverted()));
QMatrix4x4 m6;
@@ -1934,7 +1928,7 @@ void tst_QMatrixNxN::orthonormalInverse4x4()
m1.translate(-20.0, 20.0, 15.0);
m1.rotate(25, 1.0, 0.0, 0.0);
QMatrix4x4 m7 = m6;
- m7.inferSpecialType();
+ m7.optimize();
QVERIFY(qFuzzyCompare(m6.inverted(), m7.inverted()));
}
@@ -2081,7 +2075,7 @@ void tst_QMatrixNxN::scale4x4()
m8.scale(x);
QVERIFY(isSame(m8, (const qreal *)resultValues));
- m8.inferSpecialType();
+ m8.optimize();
m8.scale(1.0f);
QVERIFY(isSame(m8, (const qreal *)resultValues));
@@ -2412,7 +2406,7 @@ void tst_QMatrixNxN::rotate4x4()
if (x != 0 || y != 0 || z != 0) {
QQuaternion q = QQuaternion::fromAxisAndAngle(QVector3D(x, y, z), angle);
- QVector3D vq = q.rotateVector(v1);
+ QVector3D vq = q.rotatedVector(v1);
QVERIFY(fuzzyCompare(vq.x(), v1x));
QVERIFY(fuzzyCompare(vq.y(), v1y));
QVERIFY(fuzzyCompare(vq.z(), v1z));
@@ -2509,7 +2503,7 @@ void tst_QMatrixNxN::normalMatrix()
// Perform the test again, after inferring special matrix types.
// This tests the optimized paths in the normalMatrix() function.
- m1.inferSpecialType();
+ m1.optimize();
n1 = m1.normalMatrix();
if (invertible)
@@ -2850,120 +2844,6 @@ void tst_QMatrixNxN::convertGeneric()
QVERIFY(isSame(m11, conv4x4));
}
-void tst_QMatrixNxN::extractAxisRotation_data()
-{
- QTest::addColumn<float>("x");
- QTest::addColumn<float>("y");
- QTest::addColumn<float>("z");
- QTest::addColumn<float>("angle");
-
- QTest::newRow("1, 0, 0, 0 deg") << 1.0f << 0.0f << 0.0f << 0.0f;
- QTest::newRow("1, 0, 0, 90 deg") << 1.0f << 0.0f << 0.0f << 90.0f;
- QTest::newRow("1, 0, 0, 270 deg") << 1.0f << 0.0f << 0.0f << 270.0f;
- QTest::newRow("1, 0, 0, 45 deg") << 1.0f << 0.0f << 0.0f << 45.0f;
- QTest::newRow("1, 0, 0, 120 deg") << 1.0f << 0.0f << 0.0f << 120.0f;
- QTest::newRow("1, 0, 0, 300 deg") << 1.0f << 0.0f << 0.0f << 300.0f;
-
- QTest::newRow("0, 1, 0, 90 deg") << 0.0f << 1.0f << 0.0f << 90.0f;
- QTest::newRow("0, 1, 0, 270 deg") << 0.0f << 1.0f << 0.0f << 270.0f;
- QTest::newRow("0, 1, 0, 45 deg") << 0.0f << 1.0f << 0.0f << 45.0f;
- QTest::newRow("0, 1, 0, 120 deg") << 0.0f << 1.0f << 0.0f << 120.0f;
- QTest::newRow("0, 1, 0, 300 deg") << 0.0f << 1.0f << 0.0f << 300.0f;
-
- QTest::newRow("0, 0, 1, 90 deg") << 0.0f << 0.0f << 1.0f << 90.0f;
- QTest::newRow("0, 0, 1, 270 deg") << 0.0f << 0.0f << 1.0f << 270.0f;
- QTest::newRow("0, 0, 1, 45 deg") << 0.0f << 0.0f << 1.0f << 45.0f;
- QTest::newRow("0, 0, 1, 120 deg") << 0.0f << 0.0f << 1.0f << 120.0f;
- QTest::newRow("0, 0, 1, 300 deg") << 0.0f << 0.0f << 1.0f << 300.0f;
-
- QTest::newRow("1, 1, 1, 90 deg") << 1.0f << 1.0f << 1.0f << 90.0f;
- QTest::newRow("1, 1, 1, 270 deg") << 1.0f << 1.0f << 1.0f << 270.0f;
- QTest::newRow("1, 1, 1, 45 deg") << 1.0f << 1.0f << 1.0f << 45.0f;
- QTest::newRow("1, 1, 1, 120 deg") << 1.0f << 1.0f << 1.0f << 120.0f;
- QTest::newRow("1, 1, 1, 300 deg") << 1.0f << 1.0f << 1.0f << 300.0f;
-}
-
-void tst_QMatrixNxN::extractAxisRotation()
-{
- QFETCH(float, x);
- QFETCH(float, y);
- QFETCH(float, z);
- QFETCH(float, angle);
-
- QMatrix4x4 m;
- QVector3D origAxis(x, y, z);
-
- m.rotate(angle, x, y, z);
-
- origAxis.normalize();
- QVector3D extractedAxis;
- qreal extractedAngle;
-
- m.extractAxisRotation(extractedAngle, extractedAxis);
-
- if (angle > 180) {
- QVERIFY(fuzzyCompare(360.0f - angle, extractedAngle));
- QVERIFY(fuzzyCompare(extractedAxis, -origAxis));
- } else {
- QVERIFY(fuzzyCompare(angle, extractedAngle));
- QVERIFY(fuzzyCompare(extractedAxis, origAxis));
- }
-}
-
-void tst_QMatrixNxN::extractTranslation_data()
-{
- QTest::addColumn<QMatrix4x4>("rotation");
- QTest::addColumn<float>("x");
- QTest::addColumn<float>("y");
- QTest::addColumn<float>("z");
-
- static QMatrix4x4 m1;
-
- QTest::newRow("identity, 100, 50, 25")
- << m1 << 100.0f << 50.0f << 250.0f;
-
- m1.rotate(45.0, 1.0, 0.0, 0.0);
- QTest::newRow("rotX 45 + 100, 50, 25") << m1 << 100.0f << 50.0f << 25.0f;
-
- m1.setIdentity();
- m1.rotate(45.0, 0.0, 1.0, 0.0);
- QTest::newRow("rotY 45 + 100, 50, 25") << m1 << 100.0f << 50.0f << 25.0f;
-
- m1.setIdentity();
- m1.rotate(75, 0.0, 0.0, 1.0);
- m1.rotate(25, 1.0, 0.0, 0.0);
- m1.rotate(45, 0.0, 1.0, 0.0);
- QTest::newRow("rotZ 75, rotX 25, rotY 45, 100, 50, 25") << m1 << 100.0f << 50.0f << 25.0f;
-}
-
-void tst_QMatrixNxN::extractTranslation()
-{
- QFETCH(QMatrix4x4, rotation);
- QFETCH(float, x);
- QFETCH(float, y);
- QFETCH(float, z);
-
- rotation.translate(x, y, z);
-
- QVector3D vec = rotation.extractTranslation();
-
- QVERIFY(fuzzyCompare(vec.x(), x));
- QVERIFY(fuzzyCompare(vec.y(), y));
- QVERIFY(fuzzyCompare(vec.z(), z));
-
- QMatrix4x4 lookAt;
- QVector3D eye(1.5f, -2.5f, 2.5f);
- lookAt.lookAt(eye,
- QVector3D(10.0f, 10.0f, 10.0f),
- QVector3D(0.0f, 1.0f, 0.0f));
-
- QVector3D extEye = lookAt.extractTranslation();
-
- QVERIFY(fuzzyCompare(eye.x(), -extEye.x()));
- QVERIFY(fuzzyCompare(eye.y(), -extEye.y()));
- QVERIFY(fuzzyCompare(eye.z(), -extEye.z()));
-}
-
// Copy of "flagBits" in qmatrix4x4.h.
enum {
Identity = 0x0001, // Identity matrix
@@ -2981,7 +2861,7 @@ struct Matrix4x4
};
// Test the inferring of special matrix types.
-void tst_QMatrixNxN::inferSpecialType_data()
+void tst_QMatrixNxN::optimize_data()
{
QTest::addColumn<void *>("mValues");
QTest::addColumn<int>("flagBits");
@@ -3029,13 +2909,13 @@ void tst_QMatrixNxN::inferSpecialType_data()
QTest::newRow("below")
<< (void *)belowValues << (int)General;
}
-void tst_QMatrixNxN::inferSpecialType()
+void tst_QMatrixNxN::optimize()
{
QFETCH(void *, mValues);
QFETCH(int, flagBits);
QMatrix4x4 m((const qreal *)mValues);
- m.inferSpecialType();
+ m.optimize();
QCOMPARE(reinterpret_cast<Matrix4x4 *>(&m)->flagBits, flagBits);
}
@@ -3362,7 +3242,7 @@ void tst_QMatrixNxN::mapVector()
QFETCH(void *, mValues);
QMatrix4x4 m1((const qreal *)mValues);
- m1.inferSpecialType();
+ m1.optimize();
QVector3D v(3.5f, -1.0f, 2.5f);
diff --git a/tests/auto/qmenubar/tst_qmenubar.cpp b/tests/auto/qmenubar/tst_qmenubar.cpp
index 07aa9f4..4291c3e 100644
--- a/tests/auto/qmenubar/tst_qmenubar.cpp
+++ b/tests/auto/qmenubar/tst_qmenubar.cpp
@@ -86,6 +86,18 @@ private:
uint sel_count;
};
+class Menu : public QMenu
+{
+ Q_OBJECT
+ public slots:
+ void addActions()
+ {
+ //this will change the geometry of the menu
+ addAction("action1");
+ addAction("action2");
+ }
+};
+
class tst_QMenuBar : public QObject
{
Q_OBJECT
@@ -1442,7 +1454,7 @@ void tst_QMenuBar::check_menuPosition()
#ifdef Q_OS_WINCE_WM
QSKIP("Qt/CE uses native menubar", SkipAll);
#endif
- QMenu menu;
+ Menu menu;
#ifdef QT3_SUPPORT
initComplexMenubar();
#else
@@ -1496,6 +1508,21 @@ void tst_QMenuBar::check_menuPosition()
menu.close();
}
+ //in RTL, the menu should be stuck at the right of the action geometry
+ {
+ Qt::LayoutDirection dir = qApp->layoutDirection();
+ qApp->setLayoutDirection(Qt::RightToLeft);
+ menu.clear();
+ QObject::connect(&menu, SIGNAL(aboutToShow()), &menu, SLOT(addActions()));
+ QRect mbItemRect = mw->menuBar()->actionGeometry(menu_action);
+ mbItemRect.moveTo(mw->menuBar()->mapToGlobal(mbItemRect.topLeft()));
+ QTest::keyClick(mw, Qt::Key_M, Qt::AltModifier );
+ QVERIFY(menu.isActiveWindow());
+ QCOMPARE(menu.geometry().right(), mbItemRect.right());
+ menu.close();
+ qApp->setLayoutDirection(dir);
+ }
+
}
void tst_QMenuBar::task223138_triggered()
diff --git a/tests/auto/qpainter/tst_qpainter.cpp b/tests/auto/qpainter/tst_qpainter.cpp
index 8ed83cb..4d2c626 100644
--- a/tests/auto/qpainter/tst_qpainter.cpp
+++ b/tests/auto/qpainter/tst_qpainter.cpp
@@ -239,9 +239,12 @@ private slots:
void taskQT4444_dontOverflowDashOffset();
void painterBegin();
+ void setPenColorOnImage();
+ void setPenColorOnPixmap();
private:
void fillData();
+ void setPenColor(QPainter& p);
QColor baseColor( int k, int intensity=255 );
QImage getResImage( const QString &dir, const QString &addition, const QString &extension );
QBitmap getBitmap( const QString &dir, const QString &filename, bool mask );
@@ -4193,9 +4196,9 @@ void tst_QPainter::extendedBlendModes()
QVERIFY(testCompositionMode(255, 255, 255, QPainter::CompositionMode_SoftLight));
QVERIFY(testCompositionMode( 0, 0, 0, QPainter::CompositionMode_SoftLight));
- QVERIFY(testCompositionMode(127, 127, 127, QPainter::CompositionMode_SoftLight));
- QVERIFY(testCompositionMode( 63, 63, 86, QPainter::CompositionMode_SoftLight));
- QVERIFY(testCompositionMode(127, 63, 63, QPainter::CompositionMode_SoftLight));
+ QVERIFY(testCompositionMode(127, 127, 126, QPainter::CompositionMode_SoftLight));
+ QVERIFY(testCompositionMode( 63, 63, 39, QPainter::CompositionMode_SoftLight));
+ QVERIFY(testCompositionMode(127, 63, 62, QPainter::CompositionMode_SoftLight));
QVERIFY(testCompositionMode(255, 255, 0, QPainter::CompositionMode_Difference));
QVERIFY(testCompositionMode( 0, 0, 0, QPainter::CompositionMode_Difference));
@@ -4352,5 +4355,41 @@ void tst_QPainter::painterBegin()
QVERIFY(!p.end());
}
+void tst_QPainter::setPenColor(QPainter& p)
+{
+ p.setPen(Qt::NoPen);
+
+ // Setting color, then style
+ // Should work even though the pen is "NoPen with color", temporarily.
+ QPen newPen(p.pen());
+ newPen.setColor(Qt::red);
+ QCOMPARE(p.pen().style(), newPen.style());
+ QCOMPARE(p.pen().style(), Qt::NoPen);
+ p.setPen(newPen);
+
+ QCOMPARE(p.pen().color().name(), QString("#ff0000"));
+
+ QPen newPen2(p.pen());
+ newPen2.setStyle(Qt::SolidLine);
+ p.setPen(newPen2);
+
+ QCOMPARE(p.pen().color().name(), QString("#ff0000"));
+}
+
+void tst_QPainter::setPenColorOnImage()
+{
+ QImage img(QSize(10, 10), QImage::Format_ARGB32_Premultiplied);
+ QPainter p(&img);
+ setPenColor(p);
+}
+
+void tst_QPainter::setPenColorOnPixmap()
+{
+ QPixmap pix(10, 10);
+ QPainter p(&pix);
+ setPenColor(p);
+}
+
QTEST_MAIN(tst_QPainter)
+
#include "tst_qpainter.moc"
diff --git a/tests/auto/qparallelanimationgroup/tst_qparallelanimationgroup.cpp b/tests/auto/qparallelanimationgroup/tst_qparallelanimationgroup.cpp
index 8578d36..8d937e9 100644
--- a/tests/auto/qparallelanimationgroup/tst_qparallelanimationgroup.cpp
+++ b/tests/auto/qparallelanimationgroup/tst_qparallelanimationgroup.cpp
@@ -56,8 +56,7 @@ public:
virtual ~tst_QParallelAnimationGroup();
public Q_SLOTS:
- void init();
- void cleanup();
+ void initTestCase();
private slots:
void construction();
@@ -86,13 +85,13 @@ tst_QParallelAnimationGroup::~tst_QParallelAnimationGroup()
{
}
-void tst_QParallelAnimationGroup::init()
+void tst_QParallelAnimationGroup::initTestCase()
{
qRegisterMetaType<QAbstractAnimation::State>("QAbstractAnimation::State");
-}
-
-void tst_QParallelAnimationGroup::cleanup()
-{
+#if defined(Q_OS_SYMBIAN) || defined(Q_WS_MAC) || defined(Q_WS_WINCE)
+ // give the Symbian and mac app start event queue time to clear
+ QTest::qWait(1000);
+#endif
}
void tst_QParallelAnimationGroup::construction()
@@ -486,10 +485,6 @@ void tst_QParallelAnimationGroup::updateChildrenWithRunningGroup()
void tst_QParallelAnimationGroup::deleteChildrenWithRunningGroup()
{
-#if defined(Q_OS_SYMBIAN)
- // give the Symbian app start event queue time to clear
- QTest::qWait(1000);
-#endif
// test if children can be activated when their group is stopped
QParallelAnimationGroup group;
diff --git a/tests/auto/qpauseanimation/tst_qpauseanimation.cpp b/tests/auto/qpauseanimation/tst_qpauseanimation.cpp
index b11efa0..4d0a7a7 100644
--- a/tests/auto/qpauseanimation/tst_qpauseanimation.cpp
+++ b/tests/auto/qpauseanimation/tst_qpauseanimation.cpp
@@ -93,8 +93,7 @@ public:
virtual ~tst_QPauseAnimation();
public Q_SLOTS:
- void init();
- void cleanup();
+ void initTestCase();
private slots:
void changeDirectionWhileRunning();
@@ -117,20 +116,15 @@ tst_QPauseAnimation::~tst_QPauseAnimation()
{
}
-void tst_QPauseAnimation::init()
+void tst_QPauseAnimation::initTestCase()
{
qRegisterMetaType<QAbstractAnimation::State>("QAbstractAnimation::State");
qRegisterMetaType<QAbstractAnimation::DeletionPolicy>("QAbstractAnimation::DeletionPolicy");
}
-void tst_QPauseAnimation::cleanup()
-{
-}
-
void tst_QPauseAnimation::changeDirectionWhileRunning()
{
- QUnifiedTimer *timer = QUnifiedTimer::instance();
- timer->setConsistentTiming(true);
+ EnableConsistentTiming enabled;
TestablePauseAnimation animation;
animation.setDuration(400);
@@ -140,8 +134,6 @@ void tst_QPauseAnimation::changeDirectionWhileRunning()
animation.setDirection(QAbstractAnimation::Backward);
QTest::qWait(animation.totalDuration() + 50);
QVERIFY(animation.state() == QAbstractAnimation::Stopped);
-
- timer->setConsistentTiming(false);
}
void tst_QPauseAnimation::noTimerUpdates_data()
@@ -157,8 +149,7 @@ void tst_QPauseAnimation::noTimerUpdates_data()
void tst_QPauseAnimation::noTimerUpdates()
{
- QUnifiedTimer *timer = QUnifiedTimer::instance();
- timer->setConsistentTiming(true);
+ EnableConsistentTiming enabled;
QFETCH(int, duration);
QFETCH(int, loopCount);
@@ -168,16 +159,19 @@ void tst_QPauseAnimation::noTimerUpdates()
animation.setLoopCount(loopCount);
animation.start();
QTest::qWait(animation.totalDuration() + 100);
+
+#ifdef Q_OS_WIN
+ if (animation.state() != QAbstractAnimation::Stopped)
+ QEXPECT_FAIL("", "On windows, consistent timing is not working properly due to bad timer resolution", Abort);
+#endif
+
QVERIFY(animation.state() == QAbstractAnimation::Stopped);
QCOMPARE(animation.m_updateCurrentTimeCount, 1 + loopCount);
-
- timer->setConsistentTiming(false);
}
void tst_QPauseAnimation::mulitplePauseAnimations()
{
- QUnifiedTimer *timer = QUnifiedTimer::instance();
- timer->setConsistentTiming(true);
+ EnableConsistentTiming enabled;
TestablePauseAnimation animation;
animation.setDuration(200);
@@ -188,16 +182,26 @@ void tst_QPauseAnimation::mulitplePauseAnimations()
animation.start();
animation2.start();
QTest::qWait(animation.totalDuration() + 100);
+
+#ifdef Q_OS_WIN
+ if (animation.state() != QAbstractAnimation::Stopped)
+ QEXPECT_FAIL("", "On windows, consistent timing is not working properly due to bad timer resolution", Abort);
+#endif
+
QVERIFY(animation.state() == QAbstractAnimation::Stopped);
QVERIFY(animation2.state() == QAbstractAnimation::Running);
QCOMPARE(animation.m_updateCurrentTimeCount, 2);
QCOMPARE(animation2.m_updateCurrentTimeCount, 2);
QTest::qWait(550);
+
+#ifdef Q_OS_WIN
+ if (animation2.state() != QAbstractAnimation::Stopped)
+ QEXPECT_FAIL("", "On windows, consistent timing is not working properly due to bad timer resolution", Abort);
+#endif
+
QVERIFY(animation2.state() == QAbstractAnimation::Stopped);
QCOMPARE(animation2.m_updateCurrentTimeCount, 3);
-
- timer->setConsistentTiming(false);
}
void tst_QPauseAnimation::pauseAndPropertyAnimations()
@@ -243,7 +247,7 @@ void tst_QPauseAnimation::pauseResume()
animation.pause();
QVERIFY(animation.state() == QAbstractAnimation::Paused);
animation.start();
- QTest::qWait(250);
+ QTest::qWait(300);
QVERIFY(animation.state() == QAbstractAnimation::Stopped);
QCOMPARE(animation.m_updateCurrentTimeCount, 3);
}
@@ -260,6 +264,9 @@ void tst_QPauseAnimation::sequentialPauseGroup()
animation3.setDuration(200);
group.start();
+ QCOMPARE(animation1.m_updateCurrentTimeCount, 1);
+ QCOMPARE(animation2.m_updateCurrentTimeCount, 0);
+ QCOMPARE(animation3.m_updateCurrentTimeCount, 0);
QVERIFY(group.state() == QAbstractAnimation::Running);
QVERIFY(animation1.state() == QAbstractAnimation::Running);
@@ -267,6 +274,9 @@ void tst_QPauseAnimation::sequentialPauseGroup()
QVERIFY(animation3.state() == QAbstractAnimation::Stopped);
group.setCurrentTime(250);
+ QCOMPARE(animation1.m_updateCurrentTimeCount, 2);
+ QCOMPARE(animation2.m_updateCurrentTimeCount, 1);
+ QCOMPARE(animation3.m_updateCurrentTimeCount, 0);
QVERIFY(group.state() == QAbstractAnimation::Running);
QVERIFY(animation1.state() == QAbstractAnimation::Stopped);
@@ -275,6 +285,9 @@ void tst_QPauseAnimation::sequentialPauseGroup()
QVERIFY(animation3.state() == QAbstractAnimation::Stopped);
group.setCurrentTime(500);
+ QCOMPARE(animation1.m_updateCurrentTimeCount, 2);
+ QCOMPARE(animation2.m_updateCurrentTimeCount, 2);
+ QCOMPARE(animation3.m_updateCurrentTimeCount, 1);
QVERIFY(group.state() == QAbstractAnimation::Running);
QVERIFY(animation1.state() == QAbstractAnimation::Stopped);
diff --git a/tests/auto/qpixmap/tst_qpixmap.cpp b/tests/auto/qpixmap/tst_qpixmap.cpp
index 9f5aee2..8e02c74 100644
--- a/tests/auto/qpixmap/tst_qpixmap.cpp
+++ b/tests/auto/qpixmap/tst_qpixmap.cpp
@@ -166,6 +166,7 @@ private slots:
void fromImage_crash();
void fromData();
+ void loadFromDataNullValues();
void preserveDepth();
};
@@ -1133,6 +1134,8 @@ void tst_QPixmap::fromSymbianCFbsBitmap_data()
QTest::newRow("EColor4K big") << EColor4K << largeWidth << largeHeight << QColor(Qt::red);
QTest::newRow("EColor64K small") << EColor64K << smallWidth << smallHeight << QColor(Qt::green);
QTest::newRow("EColor64K big") << EColor64K << largeWidth << largeHeight << QColor(Qt::green);
+ QTest::newRow("EColor16M small") << EColor16M << smallWidth << smallHeight << QColor(Qt::yellow);
+ QTest::newRow("EColor16M big") << EColor16M << largeWidth << largeHeight << QColor(Qt::yellow);
QTest::newRow("EColor16MU small") << EColor16MU << smallWidth << smallHeight << QColor(Qt::red);
QTest::newRow("EColor16MU big") << EColor16MU << largeWidth << largeHeight << QColor(Qt::red);
QTest::newRow("EColor16MA small opaque") << EColor16MA << smallWidth << smallHeight << QColor(255, 255, 0);
@@ -1436,6 +1439,26 @@ void tst_QPixmap::fromData()
QCOMPARE(img.pixel(0, 1), QRgb(0xff000000));
}
+void tst_QPixmap::loadFromDataNullValues()
+{
+ {
+ QPixmap pixmap;
+ pixmap.loadFromData(QByteArray());
+ QVERIFY(pixmap.isNull());
+ }
+ {
+ QPixmap pixmap;
+ pixmap.loadFromData(0, 123);
+ QVERIFY(pixmap.isNull());
+ }
+ {
+ QPixmap pixmap;
+ const uchar bla[] = "bla";
+ pixmap.loadFromData(bla, 0);
+ QVERIFY(pixmap.isNull());
+ }
+}
+
void tst_QPixmap::task_246446()
{
// This crashed without the bugfix in 246446
diff --git a/tests/auto/qpixmapfilter/tst_qpixmapfilter.cpp b/tests/auto/qpixmapfilter/tst_qpixmapfilter.cpp
index 5a9bad7..a80c787 100644
--- a/tests/auto/qpixmapfilter/tst_qpixmapfilter.cpp
+++ b/tests/auto/qpixmapfilter/tst_qpixmapfilter.cpp
@@ -383,7 +383,7 @@ void tst_QPixmapFilter::dropShadowBoundingRectFor()
QPixmapDropShadowFilter filter;
filter.setBlurRadius(0);
- QCOMPARE(filter.blurRadius(), 0);
+ QCOMPARE(filter.blurRadius(), 0.);
const QRectF rect1(0, 0, 50, 50);
const QRectF rect2(30, 20, 10, 40);
diff --git a/tests/auto/qpropertyanimation/tst_qpropertyanimation.cpp b/tests/auto/qpropertyanimation/tst_qpropertyanimation.cpp
index 7dd17e5..56c1ced 100644
--- a/tests/auto/qpropertyanimation/tst_qpropertyanimation.cpp
+++ b/tests/auto/qpropertyanimation/tst_qpropertyanimation.cpp
@@ -495,7 +495,7 @@ void tst_QPropertyAnimation::startWhenAnotherIsRunning()
anim->setEndValue(100);
QSignalSpy runningSpy(anim, SIGNAL(stateChanged(QAbstractAnimation::State, QAbstractAnimation::State)));
anim->start(QVariantAnimation::DeleteWhenStopped);
- QTest::qWait(anim->duration() + 50);
+ QTest::qWait(anim->duration() + 100);
QCOMPARE(runningSpy.count(), 2); //started and then stopped
QVERIFY(!anim);
}
@@ -659,7 +659,7 @@ void tst_QPropertyAnimation::playForwardBackward()
anim.setStartValue(0);
anim.setEndValue(100);
anim.start();
- QTest::qWait(anim.duration() + 50);
+ QTest::qWait(anim.duration() + 100);
QCOMPARE(anim.state(), QAbstractAnimation::Stopped);
QCOMPARE(anim.currentTime(), anim.duration());
@@ -667,7 +667,7 @@ void tst_QPropertyAnimation::playForwardBackward()
anim.setDirection(QVariantAnimation::Backward);
anim.start();
QCOMPARE(anim.state(), QAbstractAnimation::Running);
- QTest::qWait(anim.duration() + 50);
+ QTest::qWait(anim.duration() + 100);
QCOMPARE(anim.state(), QAbstractAnimation::Stopped);
QCOMPARE(anim.currentTime(), 0);
@@ -676,7 +676,7 @@ void tst_QPropertyAnimation::playForwardBackward()
anim.start();
QCOMPARE(anim.state(), QAbstractAnimation::Running);
QCOMPARE(anim.currentTime(), anim.duration());
- QTest::qWait(anim.duration() + 50);
+ QTest::qWait(anim.duration() + 100);
QCOMPARE(anim.state(), QAbstractAnimation::Stopped);
QCOMPARE(anim.currentTime(), 0);
}
@@ -1093,7 +1093,7 @@ void tst_QPropertyAnimation::valueChanged()
QSignalSpy spy(&anim, SIGNAL(valueChanged(QVariant)));
anim.start();
- QTest::qWait(anim.duration() + 50);
+ QTest::qWait(anim.duration() + 100);
QCOMPARE(anim.state(), QAbstractAnimation::Stopped);
QCOMPARE(anim.currentTime(), anim.duration());
@@ -1144,7 +1144,7 @@ void tst_QPropertyAnimation::twoAnimations()
o1.anim.start();
o2.anim.start();
- QTest::qWait(o1.anim.duration() + 50);
+ QTest::qWait(o1.anim.duration() + 100);
QCOMPARE(o1.anim.state(), QAbstractAnimation::Stopped);
QCOMPARE(o2.anim.state(), QAbstractAnimation::Stopped);
@@ -1194,7 +1194,7 @@ void tst_QPropertyAnimation::deletedInUpdateCurrentTime()
MyComposedAnimation composedAnimation(&o, "value", "realValue");
composedAnimation.start();
QCOMPARE(composedAnimation.state(), QAbstractAnimation::Running);
- QTest::qWait(composedAnimation.duration() + 50);
+ QTest::qWait(composedAnimation.duration() + 100);
QCOMPARE(composedAnimation.state(), QAbstractAnimation::Stopped);
QCOMPARE(o.value(), 1000);
diff --git a/tests/auto/qscriptengine/tst_qscriptengine.cpp b/tests/auto/qscriptengine/tst_qscriptengine.cpp
index 25ee00f..804534f 100644
--- a/tests/auto/qscriptengine/tst_qscriptengine.cpp
+++ b/tests/auto/qscriptengine/tst_qscriptengine.cpp
@@ -44,6 +44,7 @@
#include <qscriptengine.h>
#include <qscriptengineagent.h>
+#include <qscriptprogram.h>
#include <qscriptvalueiterator.h>
#include <qgraphicsitem.h>
#include <qstandarditemmodel.h>
@@ -52,6 +53,7 @@
Q_DECLARE_METATYPE(QList<int>)
Q_DECLARE_METATYPE(QObjectList)
+Q_DECLARE_METATYPE(QScriptProgram)
//TESTED_CLASS=
//TESTED_FILES=
@@ -151,6 +153,7 @@ private slots:
void installTranslatorFunctions();
void functionScopes();
void nativeFunctionScopes();
+ void evaluateProgram();
void qRegExpInport_data();
void qRegExpInport();
@@ -4289,6 +4292,152 @@ void tst_QScriptEngine::nativeFunctionScopes()
}
}
+static QScriptValue createProgram(QScriptContext *ctx, QScriptEngine *eng)
+{
+ QString code = ctx->argument(0).toString();
+ QScriptProgram result(code);
+ return qScriptValueFromValue(eng, result);
+}
+
+void tst_QScriptEngine::evaluateProgram()
+{
+ QScriptEngine eng;
+
+ {
+ QString code("1 + 2");
+ QString fileName("hello.js");
+ int lineNumber(123);
+ QScriptProgram program(code, fileName, lineNumber);
+ QVERIFY(!program.isNull());
+ QCOMPARE(program.sourceCode(), code);
+ QCOMPARE(program.fileName(), fileName);
+ QCOMPARE(program.firstLineNumber(), lineNumber);
+
+ QScriptValue expected = eng.evaluate(code);
+ for (int x = 0; x < 10; ++x) {
+ QScriptValue ret = eng.evaluate(program);
+ QVERIFY(ret.equals(expected));
+ }
+
+ // operator=
+ QScriptProgram sameProgram = program;
+ QVERIFY(sameProgram == program);
+ QVERIFY(eng.evaluate(sameProgram).equals(expected));
+
+ // copy constructor
+ QScriptProgram sameProgram2(program);
+ QVERIFY(sameProgram2 == program);
+ QVERIFY(eng.evaluate(sameProgram2).equals(expected));
+
+ QScriptProgram differentProgram("2 + 3");
+ QVERIFY(differentProgram != program);
+ QVERIFY(!eng.evaluate(differentProgram).equals(expected));
+ }
+
+ // Program that accesses variable in the scope
+ {
+ QScriptProgram program("a");
+ QVERIFY(!program.isNull());
+ {
+ QScriptValue ret = eng.evaluate(program);
+ QVERIFY(ret.isError());
+ QCOMPARE(ret.toString(), QString::fromLatin1("ReferenceError: Can't find variable: a"));
+ }
+
+ QScriptValue obj = eng.newObject();
+ obj.setProperty("a", 123);
+ QScriptContext *ctx = eng.currentContext();
+ ctx->pushScope(obj);
+ {
+ QScriptValue ret = eng.evaluate(program);
+ QVERIFY(!ret.isError());
+ QVERIFY(ret.equals(obj.property("a")));
+ }
+
+ obj.setProperty("a", QScriptValue());
+ {
+ QScriptValue ret = eng.evaluate(program);
+ QVERIFY(ret.isError());
+ }
+
+ QScriptValue obj2 = eng.newObject();
+ obj2.setProperty("a", 456);
+ ctx->pushScope(obj2);
+ {
+ QScriptValue ret = eng.evaluate(program);
+ QVERIFY(!ret.isError());
+ QVERIFY(ret.equals(obj2.property("a")));
+ }
+
+ ctx->popScope();
+ }
+
+ // Program that creates closure
+ {
+ QScriptProgram program("(function() { var count = 0; return function() { return count++; }; })");
+ QVERIFY(!program.isNull());
+ QScriptValue createCounter = eng.evaluate(program);
+ QVERIFY(createCounter.isFunction());
+ QScriptValue counter = createCounter.call();
+ QVERIFY(counter.isFunction());
+ {
+ QScriptValue ret = counter.call();
+ QVERIFY(ret.isNumber());
+ }
+ QScriptValue counter2 = createCounter.call();
+ QVERIFY(counter2.isFunction());
+ QVERIFY(!counter2.equals(counter));
+ {
+ QScriptValue ret = counter2.call();
+ QVERIFY(ret.isNumber());
+ }
+ }
+
+ // Program created in a function call, then executed later
+ {
+ QScriptValue fun = eng.newFunction(createProgram);
+ QScriptProgram program = qscriptvalue_cast<QScriptProgram>(
+ fun.call(QScriptValue(), QScriptValueList() << "a + 1"));
+ QVERIFY(!program.isNull());
+ eng.globalObject().setProperty("a", QScriptValue());
+ {
+ QScriptValue ret = eng.evaluate(program);
+ QVERIFY(ret.isError());
+ QCOMPARE(ret.toString(), QString::fromLatin1("ReferenceError: Can't find variable: a"));
+ }
+ eng.globalObject().setProperty("a", 122);
+ {
+ QScriptValue ret = eng.evaluate(program);
+ QVERIFY(!ret.isError());
+ QVERIFY(ret.isNumber());
+ QCOMPARE(ret.toInt32(), 123);
+ }
+ }
+
+ // Same program run in different engines
+ {
+ QString code("1 + 2");
+ QScriptProgram program(code);
+ QVERIFY(!program.isNull());
+ double expected = eng.evaluate(program).toNumber();
+ for (int x = 0; x < 2; ++x) {
+ QScriptEngine eng2;
+ for (int y = 0; y < 2; ++y) {
+ double ret = eng2.evaluate(program).toNumber();
+ QCOMPARE(ret, expected);
+ }
+ }
+ }
+
+ // No program
+ {
+ QScriptProgram program;
+ QVERIFY(program.isNull());
+ QScriptValue ret = eng.evaluate(program);
+ QVERIFY(!ret.isValid());
+ }
+}
+
static QRegExp minimal(QRegExp r) { r.setMinimal(true); return r; }
void tst_QScriptEngine::qRegExpInport_data()
diff --git a/tests/auto/qscriptengineagent/tst_qscriptengineagent.cpp b/tests/auto/qscriptengineagent/tst_qscriptengineagent.cpp
index 82c8ccd..032c34b 100644
--- a/tests/auto/qscriptengineagent/tst_qscriptengineagent.cpp
+++ b/tests/auto/qscriptengineagent/tst_qscriptengineagent.cpp
@@ -44,6 +44,7 @@
#include <QtScript/qscriptengineagent.h>
#include <QtScript/qscriptengine.h>
+#include <QtScript/qscriptprogram.h>
#include <qscriptvalueiterator.h>
//TESTED_CLASS=
@@ -110,6 +111,9 @@ private slots:
void extension();
void isEvaluatingInExtension();
void hasUncaughtException();
+ void evaluateProgram();
+ void evaluateProgram_SyntaxError();
+ void evaluateNullProgram();
private:
double m_testProperty;
@@ -2219,6 +2223,88 @@ void tst_QScriptEngineAgent::hasUncaughtException()
QVERIFY2(spy->isPass(), "At least one of a functionExit event should set hasUncaughtException flag.");
}
+void tst_QScriptEngineAgent::evaluateProgram()
+{
+ QScriptEngine eng;
+ QScriptProgram program("1 + 2", "foo.js", 123);
+ ScriptEngineSpy *spy = new ScriptEngineSpy(&eng);
+ qint64 scriptId = -1;
+ for (int x = 0; x < 10; ++x) {
+ spy->clear();
+ (void)eng.evaluate(program);
+ QCOMPARE(spy->count(), (x == 0) ? 4 : 3);
+
+ if (x == 0) {
+ // script is only loaded on first execution
+ QCOMPARE(spy->at(0).type, ScriptEngineEvent::ScriptLoad);
+ scriptId = spy->at(0).scriptId;
+ QVERIFY(scriptId != -1);
+ QCOMPARE(spy->at(0).script, program.sourceCode());
+ QCOMPARE(spy->at(0).fileName, program.fileName());
+ QCOMPARE(spy->at(0).lineNumber, program.firstLineNumber());
+ spy->removeFirst();
+ }
+
+ QCOMPARE(spy->at(0).type, ScriptEngineEvent::FunctionEntry); // evaluate()
+ QCOMPARE(spy->at(0).scriptId, scriptId);
+
+ QCOMPARE(spy->at(1).type, ScriptEngineEvent::PositionChange);
+ QCOMPARE(spy->at(1).scriptId, scriptId);
+ QCOMPARE(spy->at(1).lineNumber, program.firstLineNumber());
+
+ QCOMPARE(spy->at(2).type, ScriptEngineEvent::FunctionExit); // evaluate()
+ QCOMPARE(spy->at(2).scriptId, scriptId);
+ QVERIFY(spy->at(2).value.isNumber());
+ QCOMPARE(spy->at(2).value.toNumber(), qsreal(3));
+ }
+}
+
+void tst_QScriptEngineAgent::evaluateProgram_SyntaxError()
+{
+ QScriptEngine eng;
+ QScriptProgram program("this is not valid syntax", "foo.js", 123);
+ ScriptEngineSpy *spy = new ScriptEngineSpy(&eng);
+ qint64 scriptId = -1;
+ for (int x = 0; x < 10; ++x) {
+ spy->clear();
+ (void)eng.evaluate(program);
+ QCOMPARE(spy->count(), (x == 0) ? 8 : 7);
+
+ if (x == 0) {
+ // script is only loaded on first execution
+ QCOMPARE(spy->at(0).type, ScriptEngineEvent::ScriptLoad);
+ scriptId = spy->at(0).scriptId;
+ QVERIFY(scriptId != -1);
+ QCOMPARE(spy->at(0).script, program.sourceCode());
+ QCOMPARE(spy->at(0).fileName, program.fileName());
+ QCOMPARE(spy->at(0).lineNumber, program.firstLineNumber());
+ spy->removeFirst();
+ }
+
+ QCOMPARE(spy->at(0).type, ScriptEngineEvent::FunctionEntry); // evaluate()
+ QCOMPARE(spy->at(0).scriptId, scriptId);
+
+ QCOMPARE(spy->at(1).type, ScriptEngineEvent::ContextPush); // SyntaxError constructor
+ QCOMPARE(spy->at(2).type, ScriptEngineEvent::FunctionEntry); // SyntaxError constructor
+ QCOMPARE(spy->at(3).type, ScriptEngineEvent::FunctionExit); // SyntaxError constructor
+ QCOMPARE(spy->at(4).type, ScriptEngineEvent::ContextPop); // SyntaxError constructor
+
+ QCOMPARE(spy->at(5).type, ScriptEngineEvent::ExceptionThrow);
+ QVERIFY(spy->at(5).value.isError());
+ QCOMPARE(spy->at(5).value.toString(), QString::fromLatin1("SyntaxError: Parse error"));
+
+ QCOMPARE(spy->at(6).type, ScriptEngineEvent::FunctionExit); // evaluate()
+ QCOMPARE(spy->at(6).scriptId, scriptId);
+ }
+}
+
+void tst_QScriptEngineAgent::evaluateNullProgram()
+{
+ QScriptEngine eng;
+ ScriptEngineSpy *spy = new ScriptEngineSpy(&eng);
+ (void)eng.evaluate(QScriptProgram());
+ QCOMPARE(spy->count(), 0);
+}
QTEST_MAIN(tst_QScriptEngineAgent)
#include "tst_qscriptengineagent.moc"
diff --git a/tests/auto/qscriptstring/tst_qscriptstring.cpp b/tests/auto/qscriptstring/tst_qscriptstring.cpp
index e1a4bc1..1229f4a 100644
--- a/tests/auto/qscriptstring/tst_qscriptstring.cpp
+++ b/tests/auto/qscriptstring/tst_qscriptstring.cpp
@@ -59,6 +59,8 @@ public:
private slots:
void test();
void hash();
+ void toArrayIndex_data();
+ void toArrayIndex();
};
tst_QScriptString::tst_QScriptString()
@@ -155,5 +157,40 @@ void tst_QScriptString::hash()
QCOMPARE(stringToInt.value(foo), 123);
}
+void tst_QScriptString::toArrayIndex_data()
+{
+ QTest::addColumn<QString>("input");
+ QTest::addColumn<bool>("expectSuccess");
+ QTest::addColumn<quint32>("expectedIndex");
+ QTest::newRow("foo") << QString::fromLatin1("foo") << false << quint32(0xffffffff);
+ QTest::newRow("empty") << QString::fromLatin1("") << false << quint32(0xffffffff);
+ QTest::newRow("0") << QString::fromLatin1("0") << true << quint32(0);
+ QTest::newRow("00") << QString::fromLatin1("00") << false << quint32(0xffffffff);
+ QTest::newRow("1") << QString::fromLatin1("1") << true << quint32(1);
+ QTest::newRow("123") << QString::fromLatin1("123") << true << quint32(123);
+ QTest::newRow("-1") << QString::fromLatin1("-1") << false << quint32(0xffffffff);
+ QTest::newRow("0a") << QString::fromLatin1("0a") << false << quint32(0xffffffff);
+ QTest::newRow("0x1") << QString::fromLatin1("0x1") << false << quint32(0xffffffff);
+ QTest::newRow("01") << QString::fromLatin1("01") << false << quint32(0xffffffff);
+ QTest::newRow("4294967294") << QString::fromLatin1("4294967294") << true << quint32(0xfffffffe);
+ QTest::newRow("4294967295") << QString::fromLatin1("4294967295") << false << quint32(0xffffffff);
+}
+
+void tst_QScriptString::toArrayIndex()
+{
+ QFETCH(QString, input);
+ QFETCH(bool, expectSuccess);
+ QFETCH(quint32, expectedIndex);
+ QScriptEngine engine;
+ for (int x = 0; x < 2; ++x) {
+ bool isArrayIndex;
+ bool *ptr = (x == 0) ? &isArrayIndex : (bool*)0;
+ quint32 result = engine.toStringHandle(input).toArrayIndex(ptr);
+ if (x == 0)
+ QCOMPARE(isArrayIndex, expectSuccess);
+ QCOMPARE(result, expectedIndex);
+ }
+}
+
QTEST_MAIN(tst_QScriptString)
#include "tst_qscriptstring.moc"
diff --git a/tests/auto/qsequentialanimationgroup/tst_qsequentialanimationgroup.cpp b/tests/auto/qsequentialanimationgroup/tst_qsequentialanimationgroup.cpp
index aa6801a..f6afc5b 100644
--- a/tests/auto/qsequentialanimationgroup/tst_qsequentialanimationgroup.cpp
+++ b/tests/auto/qsequentialanimationgroup/tst_qsequentialanimationgroup.cpp
@@ -929,16 +929,13 @@ void tst_QSequentialAnimationGroup::startDelay()
group.addPause(125);
QCOMPARE(group.totalDuration(), 375);
- QEventLoop loop;
- QObject::connect(&group, SIGNAL(finished()), &loop, SLOT(quit()));
-
- QTime time;
- time.start();
group.start();
- loop.exec();
+ QCOMPARE(group.state(), QAnimationGroup::Running);
- QVERIFY(time.elapsed() >= 375);
- QVERIFY(time.elapsed() < 1000);
+ QTest::qWait(500);
+
+ QVERIFY(group.currentTime() == 375);
+ QCOMPARE(group.state(), QAnimationGroup::Stopped);
}
void tst_QSequentialAnimationGroup::clearGroup()
diff --git a/tests/auto/qsoftkeymanager/tst_qsoftkeymanager.cpp b/tests/auto/qsoftkeymanager/tst_qsoftkeymanager.cpp
index 6efa85b..87e0533 100644
--- a/tests/auto/qsoftkeymanager/tst_qsoftkeymanager.cpp
+++ b/tests/auto/qsoftkeymanager/tst_qsoftkeymanager.cpp
@@ -47,6 +47,10 @@
#include "qdialogbuttonbox.h"
#include "private/qsoftkeymanager_p.h"
+#ifdef Q_OS_SYMBIAN
+#include "qsymbianevent.h"
+#endif
+
#ifdef Q_WS_S60
static const int s60CommandStart = 6000;
#endif
@@ -69,6 +73,13 @@ private slots:
void updateSoftKeysCompressed();
void handleCommand();
void checkSoftkeyEnableStates();
+
+private: // utils
+ inline void simulateSymbianCommand(int command)
+ {
+ QSymbianEvent event1(QSymbianEvent::CommandEvent, command);
+ qApp->symbianProcessEvent(&event1);
+ };
};
class EventListener : public QObject
@@ -167,8 +178,8 @@ void tst_QSoftKeyManager::handleCommand()
// QTest::keyPress(&w, Qt::Key_Context1);
// QTest::keyPress(&w, Qt::Key_Context2);
- qApp->symbianHandleCommand(6000);
- qApp->symbianHandleCommand(6001);
+ simulateSymbianCommand(6000);
+ simulateSymbianCommand(6001);
QApplication::processEvents();
@@ -200,9 +211,9 @@ void tst_QSoftKeyManager::checkSoftkeyEnableStates()
//disabled button gets none.
for (int i = 0; i < 10; i++) {
//simulate "Restore Defaults" softkey press
- qApp->symbianHandleCommand(s60CommandStart);
+ simulateSymbianCommand(s60CommandStart);
//simulate "help" softkey press
- qApp->symbianHandleCommand(s60CommandStart + 1);
+ simulateSymbianCommand(s60CommandStart + 1);
}
QApplication::processEvents();
QCOMPARE(spy0.count(), 10);
@@ -212,16 +223,16 @@ void tst_QSoftKeyManager::checkSoftkeyEnableStates()
for (int i = 0; i < 10; i++) {
//simulate "Restore Defaults" softkey press
- qApp->symbianHandleCommand(s60CommandStart);
+ simulateSymbianCommand(s60CommandStart);
//simulate "help" softkey press
- qApp->symbianHandleCommand(s60CommandStart + 1);
+ simulateSymbianCommand(s60CommandStart + 1);
//switch enabled button to disabled and vice versa
pBHelp->setEnabled(!pBHelp->isEnabled());
pBDefaults->setEnabled(!pBDefaults->isEnabled());
}
QApplication::processEvents();
QCOMPARE(spy0.count(), 5);
- QCOMPARE(spy1.count(), 5);
+ QCOMPARE(spy1.count(), 5);
}
QTEST_MAIN(tst_QSoftKeyManager)
diff --git a/tests/auto/qsound/tst_qsound.cpp b/tests/auto/qsound/tst_qsound.cpp
index fdbf6a2..73eca98 100644
--- a/tests/auto/qsound/tst_qsound.cpp
+++ b/tests/auto/qsound/tst_qsound.cpp
@@ -55,20 +55,32 @@ public:
tst_QSound( QObject* parent=0) : QObject(parent) {}
private slots:
- void checkFinished();
+ void checkFinished();
+
+ // Manual tests
+ void staticPlay();
};
void tst_QSound::checkFinished()
{
- QSound sound(SRCDIR"4.wav");
- sound.setLoops(3);
- sound.play();
- QTest::qWait(5000);
+ QSound sound(SRCDIR"4.wav");
+ sound.setLoops(3);
+ sound.play();
+ QTest::qWait(5000);
#if defined(Q_WS_QWS)
- QEXPECT_FAIL("", "QSound buggy on embedded (task 122221)", Abort);
+ QEXPECT_FAIL("", "QSound buggy on embedded (task QTBUG-157)", Abort);
#endif
- QVERIFY(sound.isFinished() );
+ QVERIFY(sound.isFinished() );
+}
+
+void tst_QSound::staticPlay()
+{
+ QSKIP("Test disabled -- only for manual purposes", SkipAll);
+
+ // Check that you hear sound with static play also.
+ QSound::play(SRCDIR"4.wav");
+ QTest::qWait(2000);
}
QTEST_MAIN(tst_QSound);
diff --git a/tests/auto/qsplitter/tst_qsplitter.cpp b/tests/auto/qsplitter/tst_qsplitter.cpp
index cf16421..b832f3a 100644
--- a/tests/auto/qsplitter/tst_qsplitter.cpp
+++ b/tests/auto/qsplitter/tst_qsplitter.cpp
@@ -102,6 +102,8 @@ private slots:
void task187373_addAbstractScrollAreas();
void task187373_addAbstractScrollAreas_data();
void task169702_sizes();
+ void taskQTBUG_4101_ensureOneNonCollapsedWidget_data();
+ void taskQTBUG_4101_ensureOneNonCollapsedWidget();
private:
void removeThirdWidget();
@@ -1281,6 +1283,8 @@ class MyFriendlySplitter : public QSplitter
public:
MyFriendlySplitter(QWidget *parent = 0) : QSplitter(parent) {}
void setRubberBand(int pos) { QSplitter::setRubberBand(pos); }
+
+ friend class tst_QSplitter;
};
void tst_QSplitter::rubberBandNotInSplitter()
@@ -1403,5 +1407,35 @@ void tst_QSplitter::task169702_sizes()
QCOMPARE(testW->size().height(), testW->minimumSizeHint().height());
}
+void tst_QSplitter::taskQTBUG_4101_ensureOneNonCollapsedWidget_data()
+{
+ QTest::addColumn<bool>("testingHide");
+
+ QTest::newRow("last non collapsed hidden") << true;
+ QTest::newRow("last non collapsed deleted") << false;
+}
+
+void tst_QSplitter::taskQTBUG_4101_ensureOneNonCollapsedWidget()
+{
+ QFETCH(bool, testingHide);
+
+ MyFriendlySplitter s;
+ QLabel *l;
+ for (int i = 0; i < 5; ++i) {
+ l = new QLabel(QString("Label ") + QChar('A' + i));
+ l->setAlignment(Qt::AlignCenter);
+ s.addWidget(l);
+ s.moveSplitter(0, i); // Collapse all the labels except the last one.
+ }
+
+ s.show();
+ if (testingHide)
+ l->hide();
+ else
+ delete l;
+ QTest::qWait(100);
+ QVERIFY(s.sizes().at(0) > 0);
+}
+
QTEST_MAIN(tst_QSplitter)
#include "tst_qsplitter.moc"
diff --git a/tests/auto/qsqldatabase/tst_qsqldatabase.cpp b/tests/auto/qsqldatabase/tst_qsqldatabase.cpp
index 82b6066..fe7c3ea 100644
--- a/tests/auto/qsqldatabase/tst_qsqldatabase.cpp
+++ b/tests/auto/qsqldatabase/tst_qsqldatabase.cpp
@@ -1234,6 +1234,7 @@ void tst_QSqlDatabase::recordSQLite()
FieldDef("integer", QVariant::Int, QVariant(13)),
FieldDef("int", QVariant::Int, QVariant(12)),
+ FieldDef("real", QVariant::String, QVariant(1.234567890123456)),
FieldDef()
};
diff --git a/tests/auto/qsqlquery/tst_qsqlquery.cpp b/tests/auto/qsqlquery/tst_qsqlquery.cpp
index 8fe6f2e..4264a70 100644
--- a/tests/auto/qsqlquery/tst_qsqlquery.cpp
+++ b/tests/auto/qsqlquery/tst_qsqlquery.cpp
@@ -194,6 +194,12 @@ private slots:
void sqlServerReturn0_data() { generic_data(); }
void sqlServerReturn0();
+ void QTBUG_551_data() { generic_data("QOCI"); }
+ void QTBUG_551();
+
+ void QTBUG_5251_data() { generic_data("QPSQL"); }
+ void QTBUG_5251();
+
private:
// returns all database connections
void generic_data(const QString &engine=QString());
@@ -322,6 +328,11 @@ void tst_QSqlQuery::dropTestTables( QSqlDatabase db )
tablenames << qTableName("test141895");
tst_Databases::safeDropTables( db, tablenames );
+
+ if ( db.driverName().startsWith( "QOCI" ) ) {
+ QSqlQuery q( db );
+ q.exec( "DROP PACKAGE " + qTableName("pkg") );
+ }
}
void tst_QSqlQuery::createTestTables( QSqlDatabase db )
@@ -396,7 +407,7 @@ void tst_QSqlQuery::char1SelectUnicode()
QSKIP("Needs someone with more Unicode knowledge than I have to fix", SkipSingle);
if ( db.driver()->hasFeature( QSqlDriver::Unicode ) ) {
- QString uniStr( QChar( 'का' ) );
+ QString uniStr( QChar(0x0915) ); // DEVANAGARI LETTER KA
QSqlQuery q( db );
if ( db.driverName().startsWith( "QMYSQL" ) && tst_Databases::getMySqlVersion( db ).section( QChar('.'), 0, 0 ).toInt()<5 )
@@ -2847,5 +2858,82 @@ void tst_QSqlQuery::sqlServerReturn0()
QVERIFY_SQL(q, next());
}
+void tst_QSqlQuery::QTBUG_551()
+{
+ QFETCH( QString, dbName );
+ QSqlDatabase db = QSqlDatabase::database( dbName );
+ CHECK_DATABASE( db );
+ QSqlQuery q(db);
+ QString pkgname=qTableName("pkg");
+ QVERIFY_SQL(q, exec("CREATE OR REPLACE PACKAGE "+pkgname+" IS \n\
+ \n\
+ TYPE IntType IS TABLE OF INTEGER INDEX BY BINARY_INTEGER;\n\
+ TYPE VCType IS TABLE OF VARCHAR2(60) INDEX BY BINARY_INTEGER;\n\
+ PROCEDURE P (Inp IN IntType, Outp OUT VCType);\n\
+ END "+pkgname+";"));
+
+ QVERIFY_SQL(q, exec("CREATE OR REPLACE PACKAGE BODY "+pkgname+" IS\n\
+ PROCEDURE P (Inp IN IntType, Outp OUT VCType)\n\
+ IS\n\
+ BEGIN\n\
+ Outp(1) := '1. Value is ' ||TO_CHAR(Inp(1));\n\
+ Outp(2) := '2. Value is ' ||TO_CHAR(Inp(2));\n\
+ Outp(3) := '3. Value is ' ||TO_CHAR(Inp(3));\n\
+ END p;\n\
+ END "+pkgname+";"));
+
+ QVariantList inLst, outLst, res_outLst;
+
+ q.prepare("begin "+pkgname+".p(:inp, :outp); end;");
+
+ QString StVal;
+ StVal.reserve(60);
+
+ // loading arrays
+ for (int Cnt=0; Cnt < 3; Cnt++) {
+ inLst << Cnt;
+ outLst << StVal;
+ }
+
+ q.bindValue(":inp", inLst);
+ q.bindValue(":outp", outLst, QSql::Out);
+
+ QVERIFY_SQL(q, execBatch(QSqlQuery::ValuesAsColumns) );
+ res_outLst = qVariantValue<QVariantList>(q.boundValues()[":outp"]);
+ QCOMPARE(res_outLst[0].toString(), QLatin1String("1. Value is 0"));
+ QCOMPARE(res_outLst[1].toString(), QLatin1String("2. Value is 1"));
+ QCOMPARE(res_outLst[2].toString(), QLatin1String("3. Value is 2"));
+}
+
+void tst_QSqlQuery::QTBUG_5251()
+{
+ QFETCH( QString, dbName );
+ QSqlDatabase db = QSqlDatabase::database( dbName );
+ CHECK_DATABASE( db );
+
+ if (!db.driverName().startsWith( "QPSQL" )) return;
+
+ QSqlQuery q(db);
+ q.exec("DROP TABLE " + qTableName("timetest"));
+ QVERIFY_SQL(q, exec("CREATE TABLE " + qTableName("timetest") + " (t TIME)"));
+ QVERIFY_SQL(q, exec("INSERT INTO " + qTableName("timetest") + " VALUES ('1:2:3.666')"));
+
+ QSqlTableModel timetestModel(0,db);
+ timetestModel.setEditStrategy(QSqlTableModel::OnManualSubmit);
+ timetestModel.setTable(qTableName("timetest"));
+ QVERIFY_SQL(timetestModel, select());
+
+ QCOMPARE(timetestModel.record(0).field(0).value().toTime().toString("HH:mm:ss.zzz"), QString("01:02:03.666"));
+ QVERIFY_SQL(timetestModel,setData(timetestModel.index(0, 0), QTime(0,12,34,500)));
+ QCOMPARE(timetestModel.record(0).field(0).value().toTime().toString("HH:mm:ss.zzz"), QString("00:12:34.500"));
+ QVERIFY_SQL(timetestModel, submitAll());
+ QCOMPARE(timetestModel.record(0).field(0).value().toTime().toString("HH:mm:ss.zzz"), QString("00:12:34.500"));
+
+ QVERIFY_SQL(q, exec("UPDATE " + qTableName("timetest") + " SET t = '0:11:22.33'"));
+ QVERIFY_SQL(timetestModel, select());
+ QCOMPARE(timetestModel.record(0).field(0).value().toTime().toString("HH:mm:ss.zzz"), QString("00:11:22.330"));
+
+}
+
QTEST_MAIN( tst_QSqlQuery )
#include "tst_qsqlquery.moc"
diff --git a/tests/auto/qsqlquerymodel/tst_qsqlquerymodel.cpp b/tests/auto/qsqlquerymodel/tst_qsqlquerymodel.cpp
index 3131f35..02b48fa 100644
--- a/tests/auto/qsqlquerymodel/tst_qsqlquerymodel.cpp
+++ b/tests/auto/qsqlquerymodel/tst_qsqlquerymodel.cpp
@@ -96,6 +96,7 @@ private slots:
void task_180617();
void task_180617_data() { generic_data(); }
+ void task_QTBUG_4963_setHeaderDataWithProxyModel();
private:
void generic_data(const QString &engine=QString());
@@ -428,6 +429,8 @@ void tst_QSqlQueryModel::setHeaderData()
QVERIFY(!model.setHeaderData(5, Qt::Vertical, "foo"));
QVERIFY(model.headerData(5, Qt::Vertical).isValid());
+ model.setQuery(QSqlQuery("select * from " + qTableName("test"), db));
+
qRegisterMetaType<Qt::Orientation>("Qt::Orientation");
QSignalSpy spy(&model, SIGNAL(headerDataChanged(Qt::Orientation, int, int)));
QVERIFY(model.setHeaderData(2, Qt::Horizontal, "bar"));
@@ -437,10 +440,8 @@ void tst_QSqlQueryModel::setHeaderData()
QCOMPARE(spy.value(0).value(1).toInt(), 2);
QCOMPARE(spy.value(0).value(2).toInt(), 2);
- QVERIFY(model.setHeaderData(7, Qt::Horizontal, "foo", Qt::ToolTipRole));
- QVERIFY(model.headerData(7, Qt::Horizontal, Qt::ToolTipRole).isValid());
-
- model.setQuery(QSqlQuery("select * from " + qTableName("test"), db));
+ QVERIFY(!model.setHeaderData(7, Qt::Horizontal, "foo", Qt::ToolTipRole));
+ QVERIFY(!model.headerData(7, Qt::Horizontal, Qt::ToolTipRole).isValid());
bool isToUpper = db.driverName().startsWith("QIBASE") || db.driverName().startsWith("QOCI") || db.driverName().startsWith("QDB2");
QCOMPARE(model.headerData(0, Qt::Horizontal).toString(), isToUpper ? QString("ID") : QString("id"));
@@ -603,5 +604,14 @@ void tst_QSqlQueryModel::task_180617()
QCOMPARE(view.rowAt(0), -1);
}
+void tst_QSqlQueryModel::task_QTBUG_4963_setHeaderDataWithProxyModel()
+{
+ QSqlQueryModel plainModel;
+ QSortFilterProxyModel proxyModel;
+ proxyModel.setSourceModel(&plainModel);
+ QVERIFY(!plainModel.setHeaderData(0, Qt::Horizontal, QObject::tr("ID")));
+ // And it should not crash.
+}
+
QTEST_MAIN(tst_QSqlQueryModel)
#include "tst_qsqlquerymodel.moc"
diff --git a/tests/auto/qsqlrelationaltablemodel/tst_qsqlrelationaltablemodel.cpp b/tests/auto/qsqlrelationaltablemodel/tst_qsqlrelationaltablemodel.cpp
index cb24a9f..8c840cd 100644
--- a/tests/auto/qsqlrelationaltablemodel/tst_qsqlrelationaltablemodel.cpp
+++ b/tests/auto/qsqlrelationaltablemodel/tst_qsqlrelationaltablemodel.cpp
@@ -86,6 +86,7 @@ private slots:
void escapedRelations();
void escapedTableName();
void whiteSpaceInIdentifiers();
+ void psqlSchemaTest();
private:
void dropTestTables( QSqlDatabase db );
@@ -150,10 +151,11 @@ void tst_QSqlRelationalTableModel::initTestCase()
if (db.driverName().startsWith("QIBASE"))
db.exec("SET DIALECT 3");
else if (tst_Databases::isSqlServer(db)) {
- QSqlQuery q(db);
- QVERIFY_SQL(q, exec("SET ANSI_DEFAULTS ON"));
- QVERIFY_SQL(q, exec("SET IMPLICIT_TRANSACTIONS OFF"));
+ db.exec("SET ANSI_DEFAULTS ON");
+ db.exec("SET IMPLICIT_TRANSACTIONS OFF");
}
+ else if(tst_Databases::isPostgreSQL(db))
+ db.exec("set client_min_messages='warning'");
recreateTestTables(db);
}
}
@@ -181,6 +183,9 @@ void tst_QSqlRelationalTableModel::dropTestTables( QSqlDatabase db )
<< qTableName("CASETEST1" )
<< qTableName("casetest1" );
tst_Databases::safeDropTables( db, tableNames );
+
+ db.exec("DROP SCHEMA "+qTableName("QTBUG_5373")+" CASCADE");
+ db.exec("DROP SCHEMA "+qTableName("QTBUG_5373_s2")+" CASCADE");
}
void tst_QSqlRelationalTableModel::init()
@@ -1118,8 +1123,8 @@ void tst_QSqlRelationalTableModel::escapedTableName()
}
}
-void tst_QSqlRelationalTableModel::whiteSpaceInIdentifiers() {
-
+void tst_QSqlRelationalTableModel::whiteSpaceInIdentifiers()
+{
QFETCH_GLOBAL(QString, dbName);
QSqlDatabase db = QSqlDatabase::database(dbName);
CHECK_DATABASE(db);
@@ -1193,5 +1198,26 @@ void tst_QSqlRelationalTableModel::whiteSpaceInIdentifiers() {
QCOMPARE(model.data(model.index(0, 2)).toInt(), 6);
}
+void tst_QSqlRelationalTableModel::psqlSchemaTest()
+{
+ QFETCH_GLOBAL(QString, dbName);
+ QSqlDatabase db = QSqlDatabase::database(dbName);
+ CHECK_DATABASE(db);
+
+ if(!tst_Databases::isPostgreSQL(db)) {
+ QSKIP("Postgresql specific test", SkipSingle);
+ return;
+ }
+ QSqlRelationalTableModel model(0, db);
+ QSqlQuery q(db);
+ QVERIFY_SQL(q, exec("create schema "+qTableName("QTBUG_5373")));
+ QVERIFY_SQL(q, exec("create schema "+qTableName("QTBUG_5373_s2")));
+ QVERIFY_SQL(q, exec("create table "+qTableName("QTBUG_5373")+"."+qTableName("user")+"(userid int primary key, relatingid int)"));
+ QVERIFY_SQL(q, exec("create table "+qTableName("QTBUG_5373_s2")+"."+qTableName("user2")+"(userid2 int primary key, username2 char(40))"));
+ model.setTable(qTableName("QTBUG_5373")+"."+qTableName("user"));
+ model.setRelation(1, QSqlRelation(qTableName("QTBUG_5373_s2")+"."+qTableName("user2"), "userid2", "username2"));
+ QVERIFY_SQL(model, select());
+}
+
QTEST_MAIN(tst_QSqlRelationalTableModel)
#include "tst_qsqlrelationaltablemodel.moc"
diff --git a/tests/auto/qsslsocket/tst_qsslsocket.cpp b/tests/auto/qsslsocket/tst_qsslsocket.cpp
index 2bd1684..db46b66 100644
--- a/tests/auto/qsslsocket/tst_qsslsocket.cpp
+++ b/tests/auto/qsslsocket/tst_qsslsocket.cpp
@@ -1755,9 +1755,7 @@ void tst_QSslSocket::readFromClosedSocket()
socket->close();
QVERIFY(!socket->bytesAvailable());
QVERIFY(!socket->bytesToWrite());
- socket->waitForDisconnected();
- QVERIFY(!socket->bytesAvailable());
- QVERIFY(!socket->bytesToWrite());
+ QVERIFY(socket->state() == QAbstractSocket::UnconnectedState);
}
void tst_QSslSocket::writeBigChunk()
diff --git a/tests/auto/qstatemachine/tst_qstatemachine.cpp b/tests/auto/qstatemachine/tst_qstatemachine.cpp
index 1516346..fd39515 100644
--- a/tests/auto/qstatemachine/tst_qstatemachine.cpp
+++ b/tests/auto/qstatemachine/tst_qstatemachine.cpp
@@ -117,6 +117,7 @@ private slots:
void cleanup();
void rootState();
+ void machineWithParent();
void addAndRemoveState();
void stateEntryAndExit();
void assignProperty();
@@ -124,6 +125,7 @@ private slots:
void postEvent();
void cancelDelayedEvent();
void postDelayedEventAndStop();
+ void stopAndPostEvent();
void stateFinished();
void parallelStates();
void parallelRootState();
@@ -160,7 +162,7 @@ private slots:
void defaultGlobalRestorePolicy();
void globalRestorePolicySetToRestore();
- void globalRestorePolicySetToDoNotRestore();
+ void globalRestorePolicySetToDontRestore();
void noInitialStateForInitialState();
@@ -182,7 +184,7 @@ private slots:
void twoAnimatedTransitions();
void playAnimationTwice();
void nestedTargetStateForAnimation();
- void polishedSignalTransitionsReuseAnimationGroup();
+ void propertiesAssignedSignalTransitionsReuseAnimationGroup();
void animatedGlobalRestoreProperty();
void specificTargetValueOfAnimation();
@@ -205,6 +207,8 @@ private slots:
void goToState();
void task260403_clonedSignals();
+ void postEventFromOtherThread();
+ void eventFilterForApplication();
};
tst_QStateMachine::tst_QStateMachine()
@@ -283,8 +287,8 @@ void tst_QStateMachine::transitionToRootState()
machine.addState(initialState);
machine.setInitialState(initialState);
- QAbstractTransition *trans = initialState->addTransition(new EventTransition(QEvent::User, &machine));
- QVERIFY(trans != 0);
+ QAbstractTransition *trans = new EventTransition(QEvent::User, &machine);
+ initialState->addTransition(trans);
QCOMPARE(trans->sourceState(), initialState);
QCOMPARE(trans->targetState(), static_cast<QAbstractState *>(&machine));
@@ -307,7 +311,7 @@ void tst_QStateMachine::transitionFromRootState()
QState *root = &machine;
QState *s1 = new QState(root);
EventTransition *trans = new EventTransition(QEvent::User, s1);
- QCOMPARE(root->addTransition(trans), static_cast<QAbstractTransition *>(trans));
+ root->addTransition(trans);
QCOMPARE(trans->sourceState(), root);
QCOMPARE(trans->targetState(), static_cast<QAbstractState *>(s1));
}
@@ -981,7 +985,7 @@ void tst_QStateMachine::customErrorStateNotInGraph()
void tst_QStateMachine::restoreProperties()
{
QStateMachine machine;
- QCOMPARE(machine.globalRestorePolicy(), QStateMachine::DoNotRestoreProperties);
+ QCOMPARE(machine.globalRestorePolicy(), QStateMachine::DontRestoreProperties);
machine.setGlobalRestorePolicy(QStateMachine::RestoreProperties);
QObject *object = new QObject(&machine);
@@ -1043,6 +1047,14 @@ void tst_QStateMachine::rootState()
QCOMPARE(s2->parentState(), static_cast<QState*>(&machine));
}
+void tst_QStateMachine::machineWithParent()
+{
+ QObject object;
+ QStateMachine *machine = new QStateMachine(&object);
+ QCOMPARE(machine->parent(), &object);
+ QCOMPARE(machine->parentState(), (QObject*)0);
+}
+
void tst_QStateMachine::addAndRemoveState()
{
#ifdef QT_BUILD_INTERNAL
@@ -1144,7 +1156,7 @@ void tst_QStateMachine::stateEntryAndExit()
QCOMPARE(t->targetState(), (QAbstractState*)s2);
QCOMPARE(t->targetStates().size(), 1);
QCOMPARE(t->targetStates().at(0), (QAbstractState*)s2);
- QCOMPARE(s1->addTransition(t), (QAbstractTransition*)t);
+ s1->addTransition(t);
QCOMPARE(t->sourceState(), (QState*)s1);
QCOMPARE(t->machine(), &machine);
@@ -1162,7 +1174,7 @@ void tst_QStateMachine::stateEntryAndExit()
s2->removeTransition(trans);
QCOMPARE(trans->sourceState(), (QState*)0);
QCOMPARE(trans->targetState(), (QAbstractState*)s3);
- QCOMPARE(s2->addTransition(trans), trans);
+ s2->addTransition(trans);
QCOMPARE(trans->sourceState(), (QState*)s2);
}
@@ -1308,9 +1320,9 @@ void tst_QStateMachine::assignProperty()
QCOMPARE(s1->objectName(), QString::fromLatin1("foo"));
{
- QSignalSpy polishedSpy(s1, SIGNAL(polished()));
+ QSignalSpy propertiesAssignedSpy(s1, SIGNAL(propertiesAssigned()));
machine.start();
- QTRY_COMPARE(polishedSpy.count(), 1);
+ QTRY_COMPARE(propertiesAssignedSpy.count(), 1);
}
// nested states
@@ -1329,11 +1341,11 @@ void tst_QStateMachine::assignPropertyWithAnimation()
// Single animation
{
QStateMachine machine;
- QVERIFY(machine.animationsEnabled());
- machine.setAnimationsEnabled(false);
- QVERIFY(!machine.animationsEnabled());
- machine.setAnimationsEnabled(true);
- QVERIFY(machine.animationsEnabled());
+ QVERIFY(machine.isAnimated());
+ machine.setAnimated(false);
+ QVERIFY(!machine.isAnimated());
+ machine.setAnimated(true);
+ QVERIFY(machine.isAnimated());
QObject obj;
obj.setProperty("foo", 321);
obj.setProperty("bar", 654);
@@ -1360,7 +1372,7 @@ void tst_QStateMachine::assignPropertyWithAnimation()
QCOMPARE(trans->animations().size(), 1);
QCOMPARE(trans->animations().at(0), (QAbstractAnimation*)&anim);
QFinalState *s3 = new QFinalState(&machine);
- s2->addTransition(s2, SIGNAL(polished()), s3);
+ s2->addTransition(s2, SIGNAL(propertiesAssigned()), s3);
machine.setInitialState(s1);
QSignalSpy finishedSpy(&machine, SIGNAL(finished()));
@@ -1388,7 +1400,7 @@ void tst_QStateMachine::assignPropertyWithAnimation()
anim2.setDuration(150);
trans->addAnimation(&anim2);
QFinalState *s3 = new QFinalState(&machine);
- s2->addTransition(s2, SIGNAL(polished()), s3);
+ s2->addTransition(s2, SIGNAL(propertiesAssigned()), s3);
machine.setInitialState(s1);
QSignalSpy finishedSpy(&machine, SIGNAL(finished()));
@@ -1416,7 +1428,7 @@ void tst_QStateMachine::assignPropertyWithAnimation()
group.addAnimation(new QPropertyAnimation(&obj, "bar"));
trans->addAnimation(&group);
QFinalState *s3 = new QFinalState(&machine);
- s2->addTransition(s2, SIGNAL(polished()), s3);
+ s2->addTransition(s2, SIGNAL(propertiesAssigned()), s3);
machine.setInitialState(s1);
QSignalSpy finishedSpy(&machine, SIGNAL(finished()));
@@ -1462,10 +1474,10 @@ void tst_QStateMachine::assignPropertyWithAnimation()
anim2.setDuration(250);
trans->addAnimation(&anim2);
- s21->addTransition(s21, SIGNAL(polished()), s22);
+ s21->addTransition(s21, SIGNAL(propertiesAssigned()), s22);
QFinalState *s3 = new QFinalState(&machine);
- s22->addTransition(s2, SIGNAL(polished()), s3);
+ s22->addTransition(s2, SIGNAL(propertiesAssigned()), s3);
machine.setInitialState(s1);
QSignalSpy finishedSpy(&machine, SIGNAL(finished()));
@@ -1502,13 +1514,13 @@ void tst_QStateMachine::assignPropertyWithAnimation()
machine.setInitialState(group);
machine.start();
QTRY_COMPARE(machine.configuration().contains(s1), true);
- QSignalSpy polishedSpy(s2, SIGNAL(polished()));
+ QSignalSpy propertiesAssignedSpy(s2, SIGNAL(propertiesAssigned()));
emitter.emitSignalWithNoArg();
QTRY_COMPARE(machine.configuration().contains(s2), true);
- QVERIFY(polishedSpy.isEmpty());
+ QVERIFY(propertiesAssignedSpy.isEmpty());
emitter.emitSignalWithNoArg(); // will cause animations from s1-->s2 to abort
QTRY_COMPARE(machine.configuration().contains(s3), true);
- QVERIFY(polishedSpy.isEmpty());
+ QVERIFY(propertiesAssignedSpy.isEmpty());
QCOMPARE(obj.property("foo").toInt(), 911);
QCOMPARE(obj.property("bar").toInt(), 789);
}
@@ -1681,6 +1693,22 @@ void tst_QStateMachine::postDelayedEventAndStop()
QVERIFY(machine.configuration().contains(s1));
}
+void tst_QStateMachine::stopAndPostEvent()
+{
+ QStateMachine machine;
+ QState *s1 = new QState(&machine);
+ machine.setInitialState(s1);
+ QSignalSpy startedSpy(&machine, SIGNAL(started()));
+ machine.start();
+ QTRY_COMPARE(startedSpy.count(), 1);
+ QSignalSpy stoppedSpy(&machine, SIGNAL(stopped()));
+ machine.stop();
+ QCOMPARE(stoppedSpy.count(), 0);
+ machine.postEvent(new QEvent(QEvent::User));
+ QTRY_COMPARE(stoppedSpy.count(), 1);
+ QCoreApplication::processEvents();
+}
+
void tst_QStateMachine::stateFinished()
{
QStateMachine machine;
@@ -2709,10 +2737,10 @@ void tst_QStateMachine::restorePolicyNotInherited()
}*/
-void tst_QStateMachine::globalRestorePolicySetToDoNotRestore()
+void tst_QStateMachine::globalRestorePolicySetToDontRestore()
{
QStateMachine machine;
- machine.setGlobalRestorePolicy(QStateMachine::DoNotRestoreProperties);
+ machine.setGlobalRestorePolicy(QStateMachine::DontRestoreProperties);
QObject *propertyHolder = new QObject(&machine);
propertyHolder->setProperty("a", 1);
@@ -3062,7 +3090,7 @@ void tst_QStateMachine::twoAnimations()
QState *s3 = new QState(&machine);
QObject::connect(s3, SIGNAL(entered()), QCoreApplication::instance(), SLOT(quit()));
- s2->addTransition(s2, SIGNAL(polished()), s3);
+ s2->addTransition(s2, SIGNAL(propertiesAssigned()), s3);
machine.setInitialState(s1);
machine.start();
@@ -3090,7 +3118,9 @@ void tst_QStateMachine::twoAnimatedTransitions()
QState *s2 = new QState(&machine);
s2->assignProperty(object, "foo", 5.0);
QPropertyAnimation *fooAnimation = new QPropertyAnimation(object, "foo", s2);
- s1->addTransition(new EventTransition(QEvent::User, s2))->addAnimation(fooAnimation);
+ EventTransition *trans = new EventTransition(QEvent::User, s2);
+ s1->addTransition(trans);
+ trans->addAnimation(fooAnimation);
QState *s3 = new QState(&machine);
QObject::connect(s3, SIGNAL(entered()), QCoreApplication::instance(), SLOT(quit()));
@@ -3099,7 +3129,9 @@ void tst_QStateMachine::twoAnimatedTransitions()
QState *s4 = new QState(&machine);
s4->assignProperty(object, "foo", 2.0);
QPropertyAnimation *fooAnimation2 = new QPropertyAnimation(object, "foo", s4);
- s3->addTransition(new EventTransition(QEvent::User, s4))->addAnimation(fooAnimation2);
+ trans = new EventTransition(QEvent::User, s4);
+ s3->addTransition(trans);
+ trans->addAnimation(fooAnimation2);
QState *s5 = new QState(&machine);
QObject::connect(s5, SIGNAL(entered()), QApplication::instance(), SLOT(quit()));
@@ -3134,7 +3166,9 @@ void tst_QStateMachine::playAnimationTwice()
QState *s2 = new QState(&machine);
s2->assignProperty(object, "foo", 5.0);
QPropertyAnimation *fooAnimation = new QPropertyAnimation(object, "foo", s2);
- s1->addTransition(new EventTransition(QEvent::User, s2))->addAnimation(fooAnimation);
+ EventTransition *trans = new EventTransition(QEvent::User, s2);
+ s1->addTransition(trans);
+ trans->addAnimation(fooAnimation);
QState *s3 = new QState(&machine);
QObject::connect(s3, SIGNAL(entered()), QCoreApplication::instance(), SLOT(quit()));
@@ -3142,7 +3176,9 @@ void tst_QStateMachine::playAnimationTwice()
QState *s4 = new QState(&machine);
s4->assignProperty(object, "foo", 2.0);
- s3->addTransition(new EventTransition(QEvent::User, s4))->addAnimation(fooAnimation);
+ trans = new EventTransition(QEvent::User, s4);
+ s3->addTransition(trans);
+ trans->addAnimation(fooAnimation);
QState *s5 = new QState(&machine);
QObject::connect(s5, SIGNAL(entered()), QApplication::instance(), SLOT(quit()));
@@ -3186,14 +3222,16 @@ void tst_QStateMachine::nestedTargetStateForAnimation()
QState *s2Child2 = new QState(s2);
s2Child2->assignProperty(object, "bar", 11.0);
- QAbstractTransition *at = s2Child->addTransition(new EventTransition(QEvent::User, s2Child2));
+ QAbstractTransition *at = new EventTransition(QEvent::User, s2Child2);
+ s2Child->addTransition(at);
QPropertyAnimation *animation = new QPropertyAnimation(object, "bar", s2);
animation->setDuration(2000);
connect(animation, SIGNAL(finished()), &counter, SLOT(slot()));
at->addAnimation(animation);
- at = s1->addTransition(new EventTransition(QEvent::User, s2));
+ at = new EventTransition(QEvent::User, s2);
+ s1->addTransition(at);
animation = new QPropertyAnimation(object, "foo", s2);
connect(animation, SIGNAL(finished()), &counter, SLOT(slot()));
@@ -3204,7 +3242,7 @@ void tst_QStateMachine::nestedTargetStateForAnimation()
at->addAnimation(animation);
QState *s3 = new QState(&machine);
- s2->addTransition(s2Child, SIGNAL(polished()), s3);
+ s2->addTransition(s2Child, SIGNAL(propertiesAssigned()), s3);
QObject::connect(s3, SIGNAL(entered()), QCoreApplication::instance(), SLOT(quit()));
@@ -3221,7 +3259,7 @@ void tst_QStateMachine::nestedTargetStateForAnimation()
QCOMPARE(counter.counter, 2);
}
-void tst_QStateMachine::polishedSignalTransitionsReuseAnimationGroup()
+void tst_QStateMachine::propertiesAssignedSignalTransitionsReuseAnimationGroup()
{
QStateMachine machine;
QObject *object = new QObject(&machine);
@@ -3238,9 +3276,9 @@ void tst_QStateMachine::polishedSignalTransitionsReuseAnimationGroup()
QParallelAnimationGroup animationGroup;
animationGroup.addAnimation(new QPropertyAnimation(object, "foo"));
QSignalSpy animationFinishedSpy(&animationGroup, SIGNAL(finished()));
- s1->addTransition(s1, SIGNAL(polished()), s2)->addAnimation(&animationGroup);
- s2->addTransition(s2, SIGNAL(polished()), s3)->addAnimation(&animationGroup);
- s3->addTransition(s3, SIGNAL(polished()), s4);
+ s1->addTransition(s1, SIGNAL(propertiesAssigned()), s2)->addAnimation(&animationGroup);
+ s2->addTransition(s2, SIGNAL(propertiesAssigned()), s3)->addAnimation(&animationGroup);
+ s3->addTransition(s3, SIGNAL(propertiesAssigned()), s4);
machine.setInitialState(s1);
QSignalSpy machineFinishedSpy(&machine, SIGNAL(finished()));
@@ -3272,7 +3310,8 @@ void tst_QStateMachine::animatedGlobalRestoreProperty()
QState *s4 = new QState(&machine);
QObject::connect(s4, SIGNAL(entered()), QCoreApplication::instance(), SLOT(quit()));
- QAbstractTransition *at = s1->addTransition(new EventTransition(QEvent::User, s2));
+ QAbstractTransition *at = new EventTransition(QEvent::User, s2);
+ s1->addTransition(at);
QPropertyAnimation *pa = new QPropertyAnimation(object, "foo", s2);
connect(pa, SIGNAL(finished()), &counter, SLOT(slot()));
at->addAnimation(pa);
@@ -3314,7 +3353,9 @@ void tst_QStateMachine::specificTargetValueOfAnimation()
QPropertyAnimation *anim = new QPropertyAnimation(object, "foo");
anim->setEndValue(10.0);
- s1->addTransition(new EventTransition(QEvent::User, s2))->addAnimation(anim);
+ EventTransition *trans = new EventTransition(QEvent::User, s2);
+ s1->addTransition(trans);
+ trans->addAnimation(anim);
QState *s3 = new QState(&machine);
QObject::connect(s3, SIGNAL(entered()), QCoreApplication::instance(), SLOT(quit()));
@@ -3468,7 +3509,8 @@ void tst_QStateMachine::overrideDefaultAnimationWithSpecific()
QState *s3 = new QState(&machine);
QObject::connect(s3, SIGNAL(entered()), QCoreApplication::instance(), SLOT(quit()));
- QAbstractTransition *at = s1->addTransition(new EventTransition(QEvent::User, s2));
+ QAbstractTransition *at = new EventTransition(QEvent::User, s2);
+ s1->addTransition(at);
QPropertyAnimation *defaultAnimation = new QPropertyAnimation(object, "foo");
connect(defaultAnimation, SIGNAL(stateChanged(QAbstractAnimation::State, QAbstractAnimation::State)), &counter, SLOT(slot()));
@@ -4188,5 +4230,82 @@ void tst_QStateMachine::task260403_clonedSignals()
QCOMPARE(t1->eventSignalIndex, emitter.metaObject()->indexOfSignal("signalWithDefaultArg()"));
}
+class EventPosterThread : public QThread
+{
+ Q_OBJECT
+public:
+ EventPosterThread(QStateMachine *machine, QObject *parent = 0)
+ : QThread(parent), m_machine(machine), m_count(0)
+ {
+ moveToThread(this);
+ QObject::connect(m_machine, SIGNAL(started()),
+ this, SLOT(postEvent()));
+ }
+protected:
+ virtual void run()
+ {
+ exec();
+ }
+private Q_SLOTS:
+ void postEvent()
+ {
+ m_machine->postEvent(new QEvent(QEvent::User));
+ if (++m_count < 10000)
+ QTimer::singleShot(0, this, SLOT(postEvent()));
+ else
+ quit();
+ }
+private:
+ QStateMachine *m_machine;
+ int m_count;
+};
+
+void tst_QStateMachine::postEventFromOtherThread()
+{
+ QStateMachine machine;
+ EventPosterThread poster(&machine);
+ StringEventPoster *s1 = new StringEventPoster("foo", &machine);
+ s1->addTransition(new EventTransition(QEvent::User, s1));
+ QFinalState *f = new QFinalState(&machine);
+ s1->addTransition(&poster, SIGNAL(finished()), f);
+ machine.setInitialState(s1);
+
+ poster.start();
+
+ QSignalSpy finishedSpy(&machine, SIGNAL(finished()));
+ machine.start();
+ QTRY_COMPARE(finishedSpy.count(), 1);
+}
+
+void tst_QStateMachine::eventFilterForApplication()
+{
+ QStateMachine machine;
+
+ QState *s1 = new QState(&machine);
+ {
+ machine.setInitialState(s1);
+ }
+
+ QState *s2 = new QState(&machine);
+
+ QEventTransition *transition = new QEventTransition(QCoreApplication::instance(),
+ QEvent::ApplicationActivate);
+ transition->setTargetState(s2);
+ s1->addTransition(transition);
+
+ machine.start();
+ QCoreApplication::processEvents();
+
+ QCOMPARE(machine.configuration().size(), 1);
+ QVERIFY(machine.configuration().contains(s1));
+
+ QCoreApplication::postEvent(QCoreApplication::instance(),
+ new QEvent(QEvent::ApplicationActivate));
+ QCoreApplication::processEvents();
+
+ QCOMPARE(machine.configuration().size(), 1);
+ QVERIFY(machine.configuration().contains(s2));
+}
+
QTEST_MAIN(tst_QStateMachine)
#include "tst_qstatemachine.moc"
diff --git a/tests/auto/qstring/tst_qstring.cpp b/tests/auto/qstring/tst_qstring.cpp
index 5dc1da7..2eb3152 100644
--- a/tests/auto/qstring/tst_qstring.cpp
+++ b/tests/auto/qstring/tst_qstring.cpp
@@ -201,6 +201,7 @@ private slots:
void repeatedSignature() const;
void repeated() const;
void repeated_data() const;
+ void task262677remove();
};
typedef QList<int> IntList;
@@ -4669,6 +4670,14 @@ void tst_QString::repeated_data() const
<< 4;
}
+void tst_QString::task262677remove()
+{
+ QString driveName = QLatin1String("V:\\blahblah\\more_blahblah\\");
+ driveName.remove(2, INT_MAX); // should be "V:" - instead, it's "V::\\blahblah\\more_blahblah\\"
+ QVERIFY(driveName == QLatin1String("V:"));
+}
+
+
QTEST_APPLESS_MAIN(tst_QString)
#include "tst_qstring.moc"
diff --git a/tests/auto/qstringbuilder1/qstringbuilder1.pro b/tests/auto/qstringbuilder1/qstringbuilder1.pro
index 1ca9d45..5bb14d4 100644
--- a/tests/auto/qstringbuilder1/qstringbuilder1.pro
+++ b/tests/auto/qstringbuilder1/qstringbuilder1.pro
@@ -3,7 +3,4 @@ load(qttest_p4)
QT = core
SOURCES += tst_qstringbuilder1.cpp
-HEADERS += ../qstringbuilder1/stringbuilder.h
-
-DEFINES += SCENARIO=1
diff --git a/tests/auto/qstringbuilder1/stringbuilder.cpp b/tests/auto/qstringbuilder1/stringbuilder.cpp
index 9fea137..f35d4d2 100644
--- a/tests/auto/qstringbuilder1/stringbuilder.cpp
+++ b/tests/auto/qstringbuilder1/stringbuilder.cpp
@@ -39,61 +39,9 @@
**
****************************************************************************/
-// This is included in various .cpp files as a compile test for various scenarios
-// depending on NO_CAST_* and QT_USE_FAST_OPERATOR_PLUS and QT_USE_FAST_CONCATENATION
-
-#if SCENARIO == 1
-// this is the "no harm done" version. Only operator% is active,
-// with NO_CAST * defined
-#define P %
-#undef QT_USE_FAST_OPERATOR_PLUS
-#undef QT_USE_FAST_CONCATENATION
-#define QT_NO_CAST_FROM_ASCII
-#define QT_NO_CAST_TO_ASCII
-#endif
-
-
-#if SCENARIO == 2
-// this is the "full" version. Operator+ is replaced by a QStringBuilder
-// based version
-// with NO_CAST * defined
-#define P +
-#define QT_USE_FAST_OPERATOR_PLUS
-#define QT_USE_FAST_CONCATENATION
-#define QT_NO_CAST_FROM_ASCII
-#define QT_NO_CAST_TO_ASCII
-#endif
-
-#if SCENARIO == 3
-// this is the "no harm done" version. Only operator% is active,
-// with NO_CAST * _not_ defined
-#define P %
-#undef QT_USE_FAST_OPERATOR_PLUS
-#undef QT_USE_FAST_CONCATENATION
-#undef QT_NO_CAST_FROM_ASCII
-#undef QT_NO_CAST_TO_ASCII
-#endif
-
-#if SCENARIO == 4
-// this is the "full" version. Operator+ is replaced by a QStringBuilder
-// based version
-// with NO_CAST * _not_ defined
-#define P +
-#define QT_USE_FAST_OPERATOR_PLUS
-#define QT_USE_FAST_CONCATENATION
-#undef QT_NO_CAST_FROM_ASCII
-#undef QT_NO_CAST_TO_ASCII
-#endif
-
-#include <QtTest/QtTest>
-#include "stringbuilder.h"
-
-//TESTED_CLASS=QStringBuilder
-//TESTED_FILES=qstringbuilder.cpp
-
#define LITERAL "some literal"
-void tst_QStringBuilder::scenario()
+void runScenario()
{
QLatin1Literal l1literal(LITERAL);
QLatin1String l1string(LITERAL);
@@ -129,5 +77,3 @@ void tst_QStringBuilder::scenario()
QCOMPARE(r, r2);
#endif
}
-
-QTEST_APPLESS_MAIN(tst_QStringBuilder)
diff --git a/tests/auto/qstringbuilder1/tst_qstringbuilder1.cpp b/tests/auto/qstringbuilder1/tst_qstringbuilder1.cpp
index bd2e4b0..d0a613c 100644
--- a/tests/auto/qstringbuilder1/tst_qstringbuilder1.cpp
+++ b/tests/auto/qstringbuilder1/tst_qstringbuilder1.cpp
@@ -39,4 +39,35 @@
**
****************************************************************************/
-#include "../qstringbuilder1/stringbuilder.cpp"
+
+// SCENARIO 1
+// this is the "no harm done" version. Only operator% is active,
+// with NO_CAST * defined
+#define P %
+#undef QT_USE_FAST_OPERATOR_PLUS
+#undef QT_USE_FAST_CONCATENATION
+#define QT_NO_CAST_FROM_ASCII
+#define QT_NO_CAST_TO_ASCII
+
+
+#include <QtTest/QtTest>
+
+//TESTED_CLASS=QStringBuilder
+//TESTED_FILES=qstringbuilder.cpp
+
+#define LITERAL "some literal"
+
+void runScenario(); // Defined in stringbuilder.cpp #included below.
+
+class tst_QStringBuilder1 : public QObject
+{
+ Q_OBJECT
+
+private slots:
+ void scenario() { runScenario(); }
+};
+
+#include "stringbuilder.cpp"
+#include "tst_qstringbuilder1.moc"
+
+QTEST_APPLESS_MAIN(tst_QStringBuilder1)
diff --git a/tests/auto/qstringbuilder2/qstringbuilder2.pro b/tests/auto/qstringbuilder2/qstringbuilder2.pro
index c0b3ebc..4152dc3 100644
--- a/tests/auto/qstringbuilder2/qstringbuilder2.pro
+++ b/tests/auto/qstringbuilder2/qstringbuilder2.pro
@@ -3,6 +3,3 @@ load(qttest_p4)
QT = core
SOURCES += tst_qstringbuilder2.cpp
-HEADERS += ../qstringbuilder1/stringbuilder.h
-
-DEFINES += SCENARIO=2
diff --git a/tests/auto/qstringbuilder2/tst_qstringbuilder2.cpp b/tests/auto/qstringbuilder2/tst_qstringbuilder2.cpp
index bd2e4b0..4470928 100644
--- a/tests/auto/qstringbuilder2/tst_qstringbuilder2.cpp
+++ b/tests/auto/qstringbuilder2/tst_qstringbuilder2.cpp
@@ -39,4 +39,36 @@
**
****************************************************************************/
+
+// SCENARIO 2
+// this is the "full" version. Operator+ is replaced by a QStringBuilder
+// based version
+// with NO_CAST * defined
+#define P +
+#define QT_USE_FAST_OPERATOR_PLUS
+#define QT_USE_FAST_CONCATENATION
+#define QT_NO_CAST_FROM_ASCII
+#define QT_NO_CAST_TO_ASCII
+
+
+#include <QtTest/QtTest>
+
+//TESTED_CLASS=QStringBuilder
+//TESTED_FILES=qstringbuilder.cpp
+
+#define LITERAL "some literal"
+
+void runScenario(); // Defined in stringbuilder.cpp #included below.
+
+class tst_QStringBuilder2 : public QObject
+{
+ Q_OBJECT
+
+private slots:
+ void scenario() { runScenario(); }
+};
+
#include "../qstringbuilder1/stringbuilder.cpp"
+#include "tst_qstringbuilder2.moc"
+
+QTEST_APPLESS_MAIN(tst_QStringBuilder2)
diff --git a/tests/auto/qstringbuilder3/qstringbuilder3.pro b/tests/auto/qstringbuilder3/qstringbuilder3.pro
index 93d1a39..b4d2225 100644
--- a/tests/auto/qstringbuilder3/qstringbuilder3.pro
+++ b/tests/auto/qstringbuilder3/qstringbuilder3.pro
@@ -3,6 +3,3 @@ load(qttest_p4)
QT = core
SOURCES += tst_qstringbuilder3.cpp
-HEADERS += ../qstringbuilder1/stringbuilder.h
-
-DEFINES += SCENARIO=3
diff --git a/tests/auto/qstringbuilder3/tst_qstringbuilder3.cpp b/tests/auto/qstringbuilder3/tst_qstringbuilder3.cpp
index bd2e4b0..30f0181 100644
--- a/tests/auto/qstringbuilder3/tst_qstringbuilder3.cpp
+++ b/tests/auto/qstringbuilder3/tst_qstringbuilder3.cpp
@@ -39,4 +39,35 @@
**
****************************************************************************/
+
+// SCENARIO 3
+// this is the "no harm done" version. Only operator% is active,
+// with NO_CAST * _not_ defined
+#define P %
+#undef QT_USE_FAST_OPERATOR_PLUS
+#undef QT_USE_FAST_CONCATENATION
+#undef QT_NO_CAST_FROM_ASCII
+#undef QT_NO_CAST_TO_ASCII
+
+
+#include <QtTest/QtTest>
+
+//TESTED_CLASS=QStringBuilder
+//TESTED_FILES=qstringbuilder.cpp
+
+#define LITERAL "some literal"
+
+void runScenario(); // Defined in stringbuilder.cpp #included below.
+
+class tst_QStringBuilder3 : public QObject
+{
+ Q_OBJECT
+
+private slots:
+ void scenario() { runScenario(); }
+};
+
#include "../qstringbuilder1/stringbuilder.cpp"
+#include "tst_qstringbuilder3.moc"
+
+QTEST_APPLESS_MAIN(tst_QStringBuilder3)
diff --git a/tests/auto/qstringbuilder4/qstringbuilder4.pro b/tests/auto/qstringbuilder4/qstringbuilder4.pro
index eeec447..6ec5228 100644
--- a/tests/auto/qstringbuilder4/qstringbuilder4.pro
+++ b/tests/auto/qstringbuilder4/qstringbuilder4.pro
@@ -3,6 +3,3 @@ load(qttest_p4)
QT = core
SOURCES += tst_qstringbuilder4.cpp
-HEADERS += ../qstringbuilder1/stringbuilder.h
-
-DEFINES += SCENARIO=4
diff --git a/tests/auto/qstringbuilder4/tst_qstringbuilder4.cpp b/tests/auto/qstringbuilder4/tst_qstringbuilder4.cpp
index 2159283..95b4ec3 100644
--- a/tests/auto/qstringbuilder4/tst_qstringbuilder4.cpp
+++ b/tests/auto/qstringbuilder4/tst_qstringbuilder4.cpp
@@ -4,7 +4,7 @@
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
-** This file is part of the QtXmlPatterns module of the Qt Toolkit.
+** This file is part of the test suite module of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** No Commercial Usage
@@ -39,4 +39,36 @@
**
****************************************************************************/
+
+// SCENARIO 4
+// this is the "full" version. Operator+ is replaced by a QStringBuilder
+// based version
+// with NO_CAST * _not_ defined
+#define P +
+#define QT_USE_FAST_OPERATOR_PLUS
+#define QT_USE_FAST_CONCATENATION
+#undef QT_NO_CAST_FROM_ASCII
+#undef QT_NO_CAST_TO_ASCII
+
+
+#include <QtTest/QtTest>
+
+//TESTED_CLASS=QStringBuilder
+//TESTED_FILES=qstringbuilder.cpp
+
+#define LITERAL "some literal"
+
+void runScenario(); // Defined in stringbuilder.cpp #included below.
+
+class tst_QStringBuilder4 : public QObject
+{
+ Q_OBJECT
+
+private slots:
+ void scenario() { runScenario(); }
+};
+
#include "../qstringbuilder1/stringbuilder.cpp"
+#include "tst_qstringbuilder4.moc"
+
+QTEST_APPLESS_MAIN(tst_QStringBuilder4)
diff --git a/tests/auto/qtableview/tst_qtableview.cpp b/tests/auto/qtableview/tst_qtableview.cpp
index d8110e1..227ca6f 100644
--- a/tests/auto/qtableview/tst_qtableview.cpp
+++ b/tests/auto/qtableview/tst_qtableview.cpp
@@ -41,6 +41,7 @@
#include <QtGui/QtGui>
+#include <private/qtablewidget_p.h>
#include <QtTest/QtTest>
#include "../../shared/util.h"
#include "private/qapplication_p.h"
@@ -58,6 +59,13 @@
} \
} while(0)
+#ifdef QT_BUILD_INTERNAL
+#define VERIFY_SPANS_CONSISTENCY(TEST_VIEW_) \
+ QVERIFY(static_cast<QTableViewPrivate*>(QObjectPrivate::get(TEST_VIEW_))->spans.checkConsistency())
+#else
+#define VERIFY_SPANS_CONSISTENCY(TEST_VIEW_) (void)false
+#endif
+
typedef QList<int> IntList;
Q_DECLARE_METATYPE(IntList)
@@ -188,12 +196,15 @@ private slots:
void task248688_autoScrollNavigation();
void task259308_scrollVerticalHeaderSwappedSections();
void task191545_dragSelectRows();
+ void taskQTBUG_5062_spansInconsistency();
void mouseWheel_data();
void mouseWheel();
void addColumnWhileEditing();
void task234926_setHeaderSorting();
+
+ void changeHeaderData();
};
// Testing get/set functions
@@ -2017,8 +2028,9 @@ void tst_QTableView::resizeRowsToContents()
view.resizeRowsToContents();
QCOMPARE(resizedSpy.count(), model.rowCount());
- for (int r = 0; r < model.rowCount(); ++r)
+ for (int r = 0; r < model.rowCount(); ++r) {
QCOMPARE(view.rowHeight(r), rowHeight);
+ }
}
void tst_QTableView::resizeColumnsToContents_data()
@@ -2898,6 +2910,8 @@ void tst_QTableView::span()
view.clearSpans();
QCOMPARE(view.rowSpan(row, column), 1);
QCOMPARE(view.columnSpan(row, column), 1);
+
+ VERIFY_SPANS_CONSISTENCY(&view);
}
typedef QVector<QRect> SpanList;
@@ -3033,6 +3047,8 @@ void tst_QTableView::spans()
QCOMPARE(view.columnSpan(pos.x(), pos.y()), expectedColumnSpan);
QCOMPARE(view.rowSpan(pos.x(), pos.y()), expectedRowSpan);
+
+ VERIFY_SPANS_CONSISTENCY(&view);
}
void tst_QTableView::spansAfterRowInsertion()
@@ -3067,6 +3083,8 @@ void tst_QTableView::spansAfterRowInsertion()
view.model()->insertRows(12, 2);
QCOMPARE(view.rowSpan(7, 3), 5);
QCOMPARE(view.columnSpan(7, 3), 3);
+
+ VERIFY_SPANS_CONSISTENCY(&view);
}
void tst_QTableView::spansAfterColumnInsertion()
@@ -3101,6 +3119,8 @@ void tst_QTableView::spansAfterColumnInsertion()
view.model()->insertColumns(12, 2);
QCOMPARE(view.rowSpan(3, 7), 3);
QCOMPARE(view.columnSpan(3, 7), 5);
+
+ VERIFY_SPANS_CONSISTENCY(&view);
}
void tst_QTableView::spansAfterRowRemoval()
@@ -3138,6 +3158,8 @@ void tst_QTableView::spansAfterRowRemoval()
QCOMPARE(view.columnSpan(span.top(), span.left()), span.width());
QCOMPARE(view.rowSpan(span.top(), span.left()), span.height());
}
+
+ VERIFY_SPANS_CONSISTENCY(&view);
}
void tst_QTableView::spansAfterColumnRemoval()
@@ -3176,6 +3198,8 @@ void tst_QTableView::spansAfterColumnRemoval()
QCOMPARE(view.columnSpan(span.left(), span.top()), span.height());
QCOMPARE(view.rowSpan(span.left(), span.top()), span.width());
}
+
+ VERIFY_SPANS_CONSISTENCY(&view);
}
class Model : public QAbstractTableModel {
@@ -3267,12 +3291,12 @@ void tst_QTableView::resizeToContents()
//now let's check the row/col sizes
for(int i = 0;i<table.columnCount();i++) {
- QVERIFY( table.columnWidth(i) == table2.columnWidth(i));
- QVERIFY( table2.columnWidth(i) == table3.columnWidth(i));
+ QCOMPARE( table.columnWidth(i), table2.columnWidth(i));
+ QCOMPARE( table2.columnWidth(i), table3.columnWidth(i));
}
for(int i = 0;i<table.rowCount();i++) {
- QVERIFY( table.rowHeight(i) == table2.rowHeight(i));
- QVERIFY( table2.rowHeight(i) == table3.rowHeight(i));
+ QCOMPARE( table.rowHeight(i), table2.rowHeight(i));
+ QCOMPARE( table2.rowHeight(i), table3.rowHeight(i));
}
}
@@ -3844,5 +3868,41 @@ void tst_QTableView::task234926_setHeaderSorting()
QCOMPARE(model.stringList() , sortedDataD);
}
+void tst_QTableView::taskQTBUG_5062_spansInconsistency()
+{
+ const int nRows = 5;
+ const int nColumns = 5;
+
+ QtTestTableModel model(nRows, nColumns);
+ QtTestTableView view;
+ view.setModel(&model);
+
+ for (int i = 0; i < nRows; ++i)
+ view.setSpan(i, 0, 1, nColumns);
+ view.setSpan(2, 0, 1, 1);
+ view.setSpan(3, 0, 1, 1);
+
+ VERIFY_SPANS_CONSISTENCY(&view);
+}
+
+void tst_QTableView::changeHeaderData()
+{
+ QTableView view;
+ QStandardItemModel model(5,5);
+ view.setModel(&model);
+ view.show();
+ QTest::qWaitForWindowShown(&view);
+
+ QString text = "long long long text";
+ const int textWidth = view.fontMetrics().width(text);
+ QVERIFY(view.verticalHeader()->width() < textWidth);
+
+ model.setHeaderData(2, Qt::Vertical, text);
+ QTest::qWait(100); //leave time for layout
+
+ QVERIFY(view.verticalHeader()->width() > textWidth);
+}
+
+
QTEST_MAIN(tst_QTableView)
#include "tst_qtableview.moc"
diff --git a/tests/auto/qtcpsocket/tst_qtcpsocket.cpp b/tests/auto/qtcpsocket/tst_qtcpsocket.cpp
index 8ea137e..5577903 100644
--- a/tests/auto/qtcpsocket/tst_qtcpsocket.cpp
+++ b/tests/auto/qtcpsocket/tst_qtcpsocket.cpp
@@ -2096,7 +2096,7 @@ void tst_QTcpSocket::connectToMultiIP()
stopWatch.restart();
socket->connectToHost("multi.dev.troll.no", 81);
- QVERIFY(!socket->waitForConnected(1000));
+ QVERIFY(!socket->waitForConnected(2000));
QVERIFY(stopWatch.elapsed() < 2000);
QCOMPARE(socket->error(), QAbstractSocket::SocketTimeoutError);
@@ -2116,7 +2116,7 @@ void tst_QTcpSocket::moveToThread0()
QTcpSocket *socket = newSocket();;
socket->connectToHost(QtNetworkSettings::serverName(), 143);
socket->moveToThread(0);
- QVERIFY(socket->waitForConnected(1000));
+ QVERIFY(socket->waitForConnected(2000));
socket->write("XXX LOGOUT\r\n");
QVERIFY(socket->waitForBytesWritten(5000));
QVERIFY(socket->waitForDisconnected());
@@ -2127,7 +2127,7 @@ void tst_QTcpSocket::moveToThread0()
QTcpSocket *socket = newSocket();
socket->moveToThread(0);
socket->connectToHost(QtNetworkSettings::serverName(), 143);
- QVERIFY(socket->waitForConnected(1000));
+ QVERIFY(socket->waitForConnected(2000));
socket->write("XXX LOGOUT\r\n");
QVERIFY(socket->waitForBytesWritten(5000));
QVERIFY(socket->waitForDisconnected());
@@ -2137,7 +2137,7 @@ void tst_QTcpSocket::moveToThread0()
// Case 3: Moved after writing, while waiting for bytes to be written.
QTcpSocket *socket = newSocket();
socket->connectToHost(QtNetworkSettings::serverName(), 143);
- QVERIFY(socket->waitForConnected(1000));
+ QVERIFY(socket->waitForConnected(2000));
socket->write("XXX LOGOUT\r\n");
socket->moveToThread(0);
QVERIFY(socket->waitForBytesWritten(5000));
@@ -2148,7 +2148,7 @@ void tst_QTcpSocket::moveToThread0()
// Case 4: Moved after writing, while waiting for response.
QTcpSocket *socket = newSocket();
socket->connectToHost(QtNetworkSettings::serverName(), 143);
- QVERIFY(socket->waitForConnected(1000));
+ QVERIFY(socket->waitForConnected(2000));
socket->write("XXX LOGOUT\r\n");
QVERIFY(socket->waitForBytesWritten(5000));
socket->moveToThread(0);
@@ -2263,7 +2263,7 @@ void tst_QTcpSocket::invalidProxy()
QCOMPARE(socket->state(), QAbstractSocket::UnconnectedState);
} else {
QCOMPARE(socket->state(), QAbstractSocket::ConnectingState);
- QVERIFY(!socket->waitForConnected(1000));
+ QVERIFY(!socket->waitForConnected(2000));
}
QVERIFY(!socket->errorString().isEmpty());
@@ -2382,7 +2382,7 @@ void tst_QTcpSocket::proxyFactory()
QCOMPARE(socket->state(), QAbstractSocket::UnconnectedState);
} else {
QCOMPARE(socket->state(), QAbstractSocket::ConnectingState);
- QVERIFY(socket->waitForConnected(10000));
+ QVERIFY(socket->waitForConnected(2000));
QCOMPARE(proxyAuthCalled, 1);
}
QVERIFY(!socket->errorString().isEmpty());
diff --git a/tests/auto/qtextdocument/qtextdocument.pro b/tests/auto/qtextdocument/qtextdocument.pro
index d3ec45d..1e44a9c 100644
--- a/tests/auto/qtextdocument/qtextdocument.pro
+++ b/tests/auto/qtextdocument/qtextdocument.pro
@@ -1,4 +1,5 @@
load(qttest_p4)
+QT += xml
HEADERS += common.h
SOURCES += tst_qtextdocument.cpp
diff --git a/tests/auto/qtextdocument/tst_qtextdocument.cpp b/tests/auto/qtextdocument/tst_qtextdocument.cpp
index f393393..5237438 100644
--- a/tests/auto/qtextdocument/tst_qtextdocument.cpp
+++ b/tests/auto/qtextdocument/tst_qtextdocument.cpp
@@ -59,6 +59,7 @@
#include <qfontmetrics.h>
#include <qimage.h>
#include <qtextlayout.h>
+#include <QDomDocument>
#include "common.h"
@@ -175,6 +176,8 @@ private slots:
void testUndoBlocks();
void receiveCursorPositionChangedAfterContentsChange();
+ void escape_data();
+ void escape();
private:
void backgroundImage_checkExpectedHtml(const QTextDocument &doc);
@@ -576,7 +579,7 @@ void tst_QTextDocument::task240325()
}
void tst_QTextDocument::stylesheetFont_data()
-{
+{
QTest::addColumn<QString>("stylesheet");
QTest::addColumn<QFont>("font");
@@ -732,7 +735,7 @@ void tst_QTextDocument::toHtml_data()
cursor.insertText("Blah", fmt);
QTest::newRow("font-family-with-quotes1") << QTextDocumentFragment(&doc)
- << QString("<p DEFAULTBLOCKSTYLE><span style=\" font-family:\"Foo's Family\";\">Blah</span></p>");
+ << QString("<p DEFAULTBLOCKSTYLE><span style=\" font-family:&quot;Foo's Family&quot;;\">Blah</span></p>");
}
{
@@ -743,7 +746,7 @@ void tst_QTextDocument::toHtml_data()
cursor.insertText("Blah", fmt);
QTest::newRow("font-family-with-quotes2") << QTextDocumentFragment(&doc)
- << QString("<p DEFAULTBLOCKSTYLE><span style=\" font-family:'Foo\"s Family';\">Blah</span></p>");
+ << QString("<p DEFAULTBLOCKSTYLE><span style=\" font-family:'Foo&quot;s Family';\">Blah</span></p>");
}
{
@@ -974,6 +977,30 @@ void tst_QTextDocument::toHtml_data()
{
CREATE_DOC_AND_CURSOR();
+ QTextCharFormat fmt;
+ fmt.setAnchor(true);
+ fmt.setAnchorHref("http://www.kde.org/?a=1&b=2");
+ cursor.insertText("Blah", fmt);
+
+ QTest::newRow("href anchor with &") << QTextDocumentFragment(&doc)
+ << QString("<p DEFAULTBLOCKSTYLE><a href=\"http://www.kde.org/?a=1&amp;b=2\">Blah</a></p>");
+ }
+
+ {
+ CREATE_DOC_AND_CURSOR();
+
+ QTextCharFormat fmt;
+ fmt.setAnchor(true);
+ fmt.setAnchorHref("http://www.kde.org/?a='&b=\"");
+ cursor.insertText("Blah", fmt);
+
+ QTest::newRow("href anchor with ' and \"") << QTextDocumentFragment(&doc)
+ << QString("<p DEFAULTBLOCKSTYLE><a href=\"http://www.kde.org/?a='&amp;b=&quot;\">Blah</a></p>");
+ }
+
+ {
+ CREATE_DOC_AND_CURSOR();
+
cursor.insertTable(2, 2);
QTest::newRow("simpletable") << QTextDocumentFragment(&doc)
@@ -1541,6 +1568,9 @@ void tst_QTextDocument::toHtml()
QString output = doc->toHtml();
QCOMPARE(output, expectedOutput);
+
+ QDomDocument document;
+ QVERIFY2(document.setContent(output), "Output was not valid XML");
}
void tst_QTextDocument::toHtml2()
@@ -2652,5 +2682,25 @@ void tst_QTextDocument::receiveCursorPositionChangedAfterContentsChange()
QCOMPARE(rec.first, QString("contentsChanged"));
}
+void tst_QTextDocument::escape_data()
+{
+ QTest::addColumn<QString>("original");
+ QTest::addColumn<QString>("expected");
+
+ QTest::newRow("1") << "Hello World\n" << "Hello World\n";
+ QTest::newRow("2") << "#include <QtCore>" << "#include &lt;QtCore&gt;";
+ QTest::newRow("3") << "<p class=\"cool\"><a href=\"http://example.com/?foo=bar&amp;bar=foo\">plop --&gt; </a></p>"
+ << "&lt;p class=&quot;cool&quot;&gt;&lt;a href=&quot;http://example.com/?foo=bar&amp;amp;bar=foo&quot;&gt;plop --&amp;gt; &lt;/a&gt;&lt;/p&gt;";
+ QTest::newRow("4") << QString::fromUtf8("<\320\222\321\201>") << QString::fromUtf8("&lt;\320\222\321\201&gt;");
+}
+
+void tst_QTextDocument::escape()
+{
+ QFETCH(QString, original);
+ QFETCH(QString, expected);
+
+ QCOMPARE(Qt::escape(original), expected);
+}
+
QTEST_MAIN(tst_QTextDocument)
#include "tst_qtextdocument.moc"
diff --git a/tests/auto/qtextedit/fullWidthSelection/centered-fully-selected.png b/tests/auto/qtextedit/fullWidthSelection/centered-fully-selected.png
index 7467478..ced6eb6 100644
--- a/tests/auto/qtextedit/fullWidthSelection/centered-fully-selected.png
+++ b/tests/auto/qtextedit/fullWidthSelection/centered-fully-selected.png
Binary files differ
diff --git a/tests/auto/qtextedit/fullWidthSelection/centered-partly-selected.png b/tests/auto/qtextedit/fullWidthSelection/centered-partly-selected.png
index 7a10e63..481b99c 100644
--- a/tests/auto/qtextedit/fullWidthSelection/centered-partly-selected.png
+++ b/tests/auto/qtextedit/fullWidthSelection/centered-partly-selected.png
Binary files differ
diff --git a/tests/auto/qtextedit/fullWidthSelection/last-char-on-line.png b/tests/auto/qtextedit/fullWidthSelection/last-char-on-line.png
index df5b92e..292d3f9 100644
--- a/tests/auto/qtextedit/fullWidthSelection/last-char-on-line.png
+++ b/tests/auto/qtextedit/fullWidthSelection/last-char-on-line.png
Binary files differ
diff --git a/tests/auto/qtextedit/fullWidthSelection/last-char-on-parag.png b/tests/auto/qtextedit/fullWidthSelection/last-char-on-parag.png
index d58d4cc..69b72ed 100644
--- a/tests/auto/qtextedit/fullWidthSelection/last-char-on-parag.png
+++ b/tests/auto/qtextedit/fullWidthSelection/last-char-on-parag.png
Binary files differ
diff --git a/tests/auto/qtextedit/fullWidthSelection/multiple-full-width-lines.png b/tests/auto/qtextedit/fullWidthSelection/multiple-full-width-lines.png
index c5c3c22..467b91e 100644
--- a/tests/auto/qtextedit/fullWidthSelection/multiple-full-width-lines.png
+++ b/tests/auto/qtextedit/fullWidthSelection/multiple-full-width-lines.png
Binary files differ
diff --git a/tests/auto/qtextedit/fullWidthSelection/nowrap_long.png b/tests/auto/qtextedit/fullWidthSelection/nowrap_long.png
index 7ded254..cce921b 100644
--- a/tests/auto/qtextedit/fullWidthSelection/nowrap_long.png
+++ b/tests/auto/qtextedit/fullWidthSelection/nowrap_long.png
Binary files differ
diff --git a/tests/auto/qtextedit/fullWidthSelection/single-full-width-line.png b/tests/auto/qtextedit/fullWidthSelection/single-full-width-line.png
index d2fd629..937494a 100644
--- a/tests/auto/qtextedit/fullWidthSelection/single-full-width-line.png
+++ b/tests/auto/qtextedit/fullWidthSelection/single-full-width-line.png
Binary files differ
diff --git a/tests/auto/qtextedit/tst_qtextedit.cpp b/tests/auto/qtextedit/tst_qtextedit.cpp
index 59abbd5..fee030c 100644
--- a/tests/auto/qtextedit/tst_qtextedit.cpp
+++ b/tests/auto/qtextedit/tst_qtextedit.cpp
@@ -1967,7 +1967,7 @@ void tst_QTextEdit::fullWidthSelection()
qt_setQtEnableTestFont(true);
QFont testFont;
testFont.setFamily("__Qt__Box__Engine__");
- testFont.setPixelSize(12);
+ testFont.setPixelSize(11);
testFont.setWeight(QFont::Normal);
QTextCharFormat cf;
cf.setFont(testFont);
@@ -2015,7 +2015,7 @@ void tst_QTextEdit::fullWidthSelection2()
qt_setQtEnableTestFont(true);
QFont testFont;
testFont.setFamily("__Qt__Box__Engine__");
- testFont.setPixelSize(12);
+ testFont.setPixelSize(11);
testFont.setWeight(QFont::Normal);
QTextCharFormat cf;
cf.setFont(testFont);
diff --git a/tests/auto/qtextlayout/tst_qtextlayout.cpp b/tests/auto/qtextlayout/tst_qtextlayout.cpp
index fe87dfb..7c3f4f2 100644
--- a/tests/auto/qtextlayout/tst_qtextlayout.cpp
+++ b/tests/auto/qtextlayout/tst_qtextlayout.cpp
@@ -118,6 +118,7 @@ private slots:
void smallTextLengthWordWrap();
void smallTextLengthWrapAtWordBoundaryOrAnywhere();
void testLineBreakingAllSpaces();
+ void lineWidthFromBOM();
private:
@@ -1306,6 +1307,18 @@ void tst_QTextLayout::columnWrapWithTabs()
}
+void tst_QTextLayout::lineWidthFromBOM()
+{
+ const QString string(QChar(0xfeff)); // BYTE ORDER MARK
+ QTextLayout layout(string);
+ layout.beginLayout();
+ QTextLine line = layout.createLine();
+ line.setLineWidth(INT_MAX / 256);
+ layout.endLayout();
+
+ // Don't spin into an infinite loop
+ }
+
QTEST_MAIN(tst_QTextLayout)
#include "tst_qtextlayout.moc"
diff --git a/tests/auto/qtextscriptengine/generate/generate.pro b/tests/auto/qtextscriptengine/generate/generate.pro
index 355633d..354e0e5 100644
--- a/tests/auto/qtextscriptengine/generate/generate.pro
+++ b/tests/auto/qtextscriptengine/generate/generate.pro
@@ -5,6 +5,7 @@
TEMPLATE = app
CONFIG -= moc
INCLUDEPATH += . /usr/include/freetype2
+INCLUDEPATH += $$QT_SOURCE_TREE/src/3rdparty/harfbuzz/src
# Input
SOURCES += main.cpp
diff --git a/tests/auto/qtextscriptengine/generate/main.cpp b/tests/auto/qtextscriptengine/generate/main.cpp
index 853c726..15fbc47 100644
--- a/tests/auto/qtextscriptengine/generate/main.cpp
+++ b/tests/auto/qtextscriptengine/generate/main.cpp
@@ -40,7 +40,7 @@
****************************************************************************/
-#include <QtTest/QtTest>
+#include <QApplication>
#include <QTextEdit>
#include <QLineEdit>
#include <QVBoxLayout>
@@ -85,7 +85,7 @@ void MyEdit::setText(const QString &str)
result += "0x" + QString::number(str.at(i).unicode(), 16) + ", ";
result += "0x0 },\n { ";
for (int i = 0; i < e->layoutData->items[0].num_glyphs; ++i)
- result += "0x" + QString::number(e->layoutData->glyphPtr[i].glyph, 16) + ", ";
+ result += "0x" + QString::number(e->layoutData->glyphLayout.glyphs[i], 16) + ", ";
result += "0x0 } }";
setPlainText(result);
diff --git a/tests/auto/qtextscriptengine/tst_qtextscriptengine.cpp b/tests/auto/qtextscriptengine/tst_qtextscriptengine.cpp
index 226348a..78e0ce6 100644
--- a/tests/auto/qtextscriptengine/tst_qtextscriptengine.cpp
+++ b/tests/auto/qtextscriptengine/tst_qtextscriptengine.cpp
@@ -98,7 +98,7 @@ private slots:
void telugu();
void kannada();
void malayalam();
- // sinhala missing
+ void sinhala();
void khmer();
void linearB();
@@ -379,7 +379,11 @@ void tst_QTextScriptEngine::bengali()
{ 0x151, 0x276, 0x172, 0x143, 0x0 } },
{ { 0x9b0, 0x9cd, 0x995, 0x9be, 0x983, 0x0 },
{ 0x151, 0x276, 0x172, 0x144, 0x0 } },
-
+ // test decomposed two parts matras
+ { { 0x995, 0x9c7, 0x9be, 0x0 },
+ { 0x179, 0x151, 0x172, 0x0 } },
+ { { 0x995, 0x9c7, 0x9d7, 0x0 },
+ { 0x179, 0x151, 0x17e, 0x0 } },
{ {0}, {0} }
};
@@ -502,16 +506,16 @@ void tst_QTextScriptEngine::bengali()
if (QFontDatabase().families(QFontDatabase::Bengali).contains("Likhan")) {
QFont f("Likhan");
const ShapeTable shape_table [] = {
- { { 0x09a8, 0x09cd, 0x09af, 0x0 },
- { 0x0192, 0x0 } },
+ { { 0x9a8, 0x9cd, 0x9af, 0x0 },
+ { 0x1ca, 0x0 } },
{ { 0x09b8, 0x09cd, 0x09af, 0x0 },
- { 0x01d6, 0x0 } },
+ { 0x020e, 0x0 } },
{ { 0x09b6, 0x09cd, 0x09af, 0x0 },
- { 0x01bc, 0x0 } },
+ { 0x01f4, 0x0 } },
{ { 0x09b7, 0x09cd, 0x09af, 0x0 },
- { 0x01c6, 0x0 } },
+ { 0x01fe, 0x0 } },
{ { 0x09b0, 0x09cd, 0x09a8, 0x09cd, 0x200d, 0x0 },
- { 0xd3, 0x12f, 0x0 } },
+ { 0x10b, 0x167, 0x0 } },
{ {0}, {0} }
};
@@ -647,6 +651,12 @@ void tst_QTextScriptEngine::tamil()
{ 0x0025, 0x0 } },
{ { 0x0b83, 0x0b95, 0x0 },
{ 0x0025, 0x0031, 0x0 } },
+ { { 0xb95, 0xbc6, 0xbbe, 0x0 },
+ { 0xa, 0x31, 0x7, 0x0 } },
+ { { 0xb95, 0xbc7, 0xbbe, 0x0 },
+ { 0xb, 0x31, 0x7, 0x0 } },
+ { { 0xb95, 0xbc6, 0xbd7, 0x0 },
+ { 0xa, 0x31, 0x40, 0x0 } },
{ {0}, {0} }
};
@@ -694,7 +704,9 @@ void tst_QTextScriptEngine::telugu()
{ 0xe6, 0xb3, 0x83, 0x0 } },
{ { 0xc15, 0xc4d, 0xc30, 0xc48, 0x0 },
{ 0xe6, 0xb3, 0x9f, 0x0 } },
- { {0}, {0} }
+ { { 0xc15, 0xc46, 0xc56, 0x0 },
+ { 0xe6, 0xb3, 0x0 } },
+ { {0}, {0} }
};
@@ -762,7 +774,16 @@ void tst_QTextScriptEngine::kannada()
{ 0x00b0, 0x006c, 0x0 } },
{ { 0x0cb7, 0x0ccd, 0x0 },
{ 0x0163, 0x0 } },
-
+ { { 0xc95, 0xcbf, 0xcd5, 0x0 },
+ { 0x114, 0x73, 0x0 } },
+ { { 0xc95, 0xcc6, 0xcd5, 0x0 },
+ { 0x90, 0x6c, 0x73, 0x0 } },
+ { { 0xc95, 0xcc6, 0xcd6, 0x0 },
+ { 0x90, 0x6c, 0x74, 0x0 } },
+ { { 0xc95, 0xcc6, 0xcc2, 0x0 },
+ { 0x90, 0x6c, 0x69, 0x0 } },
+ { { 0xc95, 0xcca, 0xcd5, 0x0 },
+ { 0x90, 0x6c, 0x69, 0x73, 0x0 } },
{ {0}, {0} }
};
@@ -816,8 +837,14 @@ void tst_QTextScriptEngine::malayalam()
{ 0x009e, 0x0 } },
{ { 0x0d30, 0x0d4d, 0x200d, 0x0 },
{ 0x009e, 0x0 } },
-
-
+ { { 0xd15, 0xd46, 0xd3e, 0x0 },
+ { 0x5e, 0x34, 0x58, 0x0 } },
+ { { 0xd15, 0xd47, 0xd3e, 0x0 },
+ { 0x5f, 0x34, 0x58, 0x0 } },
+ { { 0xd15, 0xd46, 0xd57, 0x0 },
+ { 0x5e, 0x34, 0x65, 0x0 } },
+ { { 0xd15, 0xd57, 0x0 },
+ { 0x34, 0x65, 0x0 } },
{ {0}, {0} }
};
@@ -836,6 +863,42 @@ void tst_QTextScriptEngine::malayalam()
#endif
}
+void tst_QTextScriptEngine::sinhala()
+{
+#if defined(Q_WS_X11)
+ {
+ if (QFontDatabase().families(QFontDatabase::Sinhala).contains("Malithi Web")) {
+ QFont f("Malithi Web");
+ const ShapeTable shape_table [] = {
+ { { 0xd9a, 0xdd9, 0xdcf, 0x0 },
+ { 0x4a, 0x61, 0x42, 0x0 } },
+ { { 0xd9a, 0xdd9, 0xddf, 0x0 },
+ { 0x4a, 0x61, 0x50, 0x0 } },
+ { { 0xd9a, 0xdd9, 0xdca, 0x0 },
+ { 0x4a, 0x62, 0x0 } },
+ { { 0xd9a, 0xddc, 0xdca, 0x0 },
+ { 0x4a, 0x61, 0x42, 0x41, 0x0 } },
+ { { 0xd9a, 0xdda, 0x0 },
+ { 0x4a, 0x62, 0x0 } },
+ { { 0xd9a, 0xddd, 0x0 },
+ { 0x4a, 0x61, 0x42, 0x41, 0x0 } },
+ { {0}, {0} }
+ };
+
+
+ const ShapeTable *s = shape_table;
+ while (s->unicode[0]) {
+ QVERIFY( shaping(f, s) );
+ ++s;
+ }
+ } else {
+ QSKIP("couln't find Malithi Web", SkipAll);
+ }
+ }
+#else
+ QSKIP("X11 specific test", SkipAll);
+#endif
+}
void tst_QTextScriptEngine::khmer()
diff --git a/tests/auto/qtreeview/tst_qtreeview.cpp b/tests/auto/qtreeview/tst_qtreeview.cpp
index da58725..90e6c5c 100644
--- a/tests/auto/qtreeview/tst_qtreeview.cpp
+++ b/tests/auto/qtreeview/tst_qtreeview.cpp
@@ -235,6 +235,7 @@ private slots:
void task254234_proxySort();
void task248022_changeSelection();
void task245654_changeModelAndExpandAll();
+ void doubleClickedWithSpans();
};
class QtTestModel: public QAbstractItemModel
@@ -2891,7 +2892,10 @@ void tst_QTreeView::styleOptionViewItem()
QVERIFY(!opt.text.isEmpty());
QCOMPARE(opt.index, index);
- QCOMPARE(!(opt.features & QStyleOptionViewItemV2::Alternate), !(index.row() % 2));
+ //qDebug() << index << opt.text;
+
+ if (allCollapsed)
+ QCOMPARE(!(opt.features & QStyleOptionViewItemV2::Alternate), !(index.row() % 2));
QCOMPARE(!(opt.features & QStyleOptionViewItemV2::HasCheckIndicator), !opt.text.contains("Checkable"));
if (opt.text.contains("Beginning"))
@@ -2911,12 +2915,16 @@ void tst_QTreeView::styleOptionViewItem()
else
QCOMPARE(opt.checkState, Qt::Unchecked);
+ QCOMPARE(!(opt.state & QStyle::State_Children) , !opt.text.contains("HasChildren"));
+ QCOMPARE(!!(opt.state & QStyle::State_Sibling) , !opt.text.contains("Last"));
+
QVERIFY(!opt.text.contains("Assert"));
QStyledItemDelegate::paint(painter, option, index);
count++;
}
mutable int count;
+ bool allCollapsed;
};
QTreeView view;
@@ -2926,8 +2934,9 @@ void tst_QTreeView::styleOptionViewItem()
view.setItemDelegate(&delegate);
model.appendRow(QList<QStandardItem*>()
<< new QStandardItem("Beginning") << new QStandardItem("Middle") << new QStandardItem("Middle") << new QStandardItem("End") );
+ QStandardItem *par1 = new QStandardItem("Beginning HasChildren");
model.appendRow(QList<QStandardItem*>()
- << new QStandardItem("Beginning") << new QStandardItem("Middle") << new QStandardItem("Middle") << new QStandardItem("End") );
+ << par1 << new QStandardItem("Middle HasChildren") << new QStandardItem("Middle HasChildren") << new QStandardItem("End HasChildren") );
model.appendRow(QList<QStandardItem*>()
<< new QStandardItem("OnlyOne") << new QStandardItem("Assert") << new QStandardItem("Assert") << new QStandardItem("Assert") );
QStandardItem *checkable = new QStandardItem("Checkable");
@@ -2937,13 +2946,143 @@ void tst_QTreeView::styleOptionViewItem()
checked->setCheckState(Qt::Checked);
model.appendRow(QList<QStandardItem*>()
<< new QStandardItem("Beginning") << checkable << checked << new QStandardItem("End") );
+ model.appendRow(QList<QStandardItem*>()
+ << new QStandardItem("Beginning Last") << new QStandardItem("Middle Last") << new QStandardItem("Middle Last") << new QStandardItem("End Last") );
+
+ par1->appendRow(QList<QStandardItem*>()
+ << new QStandardItem("Beginning") << new QStandardItem("Middle") << new QStandardItem("Middle") << new QStandardItem("End") );
+ QStandardItem *par2 = new QStandardItem("Beginning HasChildren");
+ par1->appendRow(QList<QStandardItem*>()
+ << par2 << new QStandardItem("Middle HasChildren") << new QStandardItem("Middle HasChildren") << new QStandardItem("End HasChildren") );
+ par2->appendRow(QList<QStandardItem*>()
+ << new QStandardItem("Beginning Last") << new QStandardItem("Middle Last") << new QStandardItem("Middle Last") << new QStandardItem("End Last") );
+
+ QStandardItem *par3 = new QStandardItem("Beginning Last");
+ par1->appendRow(QList<QStandardItem*>()
+ << par3 << new QStandardItem("Middle Last") << new QStandardItem("Middle Last") << new QStandardItem("End Last") );
+ par3->appendRow(QList<QStandardItem*>()
+ << new QStandardItem("Assert") << new QStandardItem("Assert") << new QStandardItem("Assert") << new QStandardItem("Asser") );
+ view.setRowHidden(0, par3->index(), true);
+ par1->appendRow(QList<QStandardItem*>()
+ << new QStandardItem("Assert") << new QStandardItem("Assert") << new QStandardItem("Assert") << new QStandardItem("Asser") );
+ view.setRowHidden(3, par1->index(), true);
+
view.setFirstColumnSpanned(2, QModelIndex(), true);
view.setAlternatingRowColors(true);
delegate.count = 0;
+ delegate.allCollapsed = true;
view.showMaximized();
+ QApplication::processEvents();
QTRY_VERIFY(delegate.count >= 13);
+ delegate.count = 0;
+ delegate.allCollapsed = false;
+ view.expandAll();
+ QApplication::processEvents();
+ QTRY_VERIFY(delegate.count >= 13);
+ delegate.count = 0;
+ view.collapse(par2->index());
+ QApplication::processEvents();
+ QTRY_VERIFY(delegate.count >= 4);
+
+
+ //test dynamic models
+ {
+ delegate.count = 0;
+ QStandardItemModel model2;
+ QStandardItem *item0 = new QStandardItem("OnlyOne Last");
+ model2.appendRow(QList<QStandardItem*>() << item0);
+ view.setModel(&model2);
+ QApplication::processEvents();
+ QTRY_VERIFY(delegate.count >= 1);
+ QApplication::processEvents();
+
+ QStandardItem *item00 = new QStandardItem("OnlyOne Last");
+ item0->appendRow(QList<QStandardItem*>() << item00);
+ item0->setText("OnlyOne Last HasChildren");
+ QApplication::processEvents();
+ delegate.count = 0;
+ view.expandAll();
+ QApplication::processEvents();
+ QTRY_VERIFY(delegate.count >= 2);
+ QApplication::processEvents();
+
+ QStandardItem *item1 = new QStandardItem("OnlyOne Last");
+ delegate.count = 0;
+ item0->setText("OnlyOne HasChildren");
+ model2.appendRow(QList<QStandardItem*>() << item1);
+ QApplication::processEvents();
+ QTRY_VERIFY(delegate.count >= 3);
+ QApplication::processEvents();
+
+ QStandardItem *item01 = new QStandardItem("OnlyOne Last");
+ delegate.count = 0;
+ item00->setText("OnlyOne");
+ item0->appendRow(QList<QStandardItem*>() << item01);
+ QApplication::processEvents();
+ QTRY_VERIFY(delegate.count >= 4);
+ QApplication::processEvents();
+
+ QStandardItem *item000 = new QStandardItem("OnlyOne Last");
+ delegate.count = 0;
+ item00->setText("OnlyOne HasChildren");
+ item00->appendRow(QList<QStandardItem*>() << item000);
+ QApplication::processEvents();
+ QTRY_VERIFY(delegate.count >= 5);
+ QApplication::processEvents();
+
+ delegate.count = 0;
+ item0->removeRow(0);
+ QApplication::processEvents();
+ QTRY_VERIFY(delegate.count >= 3);
+ QApplication::processEvents();
+
+ item00 = new QStandardItem("OnlyOne");
+ item0->insertRow(0, QList<QStandardItem*>() << item00);
+ QApplication::processEvents();
+ delegate.count = 0;
+ view.expandAll();
+ QApplication::processEvents();
+ QTRY_VERIFY(delegate.count >= 4);
+ QApplication::processEvents();
+
+ delegate.count = 0;
+ item0->removeRow(1);
+ item00->setText("OnlyOne Last");
+ QApplication::processEvents();
+ QTRY_VERIFY(delegate.count >= 3);
+ QApplication::processEvents();
+
+ delegate.count = 0;
+ item0->removeRow(0);
+ item0->setText("OnlyOne");
+ QApplication::processEvents();
+ QTRY_VERIFY(delegate.count >= 2);
+ QApplication::processEvents();
+
+ //with hidden items
+ item0->setText("OnlyOne HasChildren");
+ item00 = new QStandardItem("OnlyOne");
+ item0->appendRow(QList<QStandardItem*>() << item00);
+ item01 = new QStandardItem("Assert");
+ item0->appendRow(QList<QStandardItem*>() << item01);
+ view.setRowHidden(1, item0->index(), true);
+ view.expandAll();
+ QStandardItem *item02 = new QStandardItem("OnlyOne Last");
+ item0->appendRow(QList<QStandardItem*>() << item02);
+ delegate.count = 0;
+ QApplication::processEvents();
+ QTRY_VERIFY(delegate.count >= 4);
+ QApplication::processEvents();
+
+ item0->removeRow(2);
+ item00->setText("OnlyOne Last");
+ delegate.count = 0;
+ QApplication::processEvents();
+ QTRY_VERIFY(delegate.count >= 3);
+ QApplication::processEvents();
+ }
}
class task174627_TreeView : public QTreeView
@@ -3507,7 +3646,35 @@ void tst_QTreeView::task245654_changeModelAndExpandAll()
}
+void tst_QTreeView::doubleClickedWithSpans()
+{
+ QTreeView view;
+ QStandardItemModel model(1, 2);
+ view.setModel(&model);
+ view.setFirstColumnSpanned(0, QModelIndex(), true);
+ view.show();
+ QTest::qWaitForWindowShown(&view);
+
+ QPoint p(10, 10);
+ QCOMPARE(view.indexAt(p), model.index(0, 0));
+ QSignalSpy spy(&view, SIGNAL(doubleClicked(QModelIndex)));
+ QTest::mousePress(view.viewport(), Qt::LeftButton, 0, p);
+ QTest::mouseDClick(view.viewport(), Qt::LeftButton, 0, p);
+ QTest::mouseRelease(view.viewport(), Qt::LeftButton, 0, p);
+ QCOMPARE(spy.count(), 1);
+ //let's click on the 2nd column
+ p.setX(p.x() + view.header()->sectionSize(0));
+ QCOMPARE(view.indexAt(p), model.index(0, 0));
+
+ //end the previous edition
+ QTest::mouseClick(view.viewport(), Qt::LeftButton, 0, p);
+ QTest::qWait(100);
+ QTest::mousePress(view.viewport(), Qt::LeftButton, 0, p);
+ QTest::mouseDClick(view.viewport(), Qt::LeftButton, 0, p);
+ QTest::mouseRelease(view.viewport(), Qt::LeftButton, 0, p);
+ QCOMPARE(spy.count(), 2);
+}
QTEST_MAIN(tst_QTreeView)
#include "tst_qtreeview.moc"
diff --git a/tests/auto/qudpsocket/tst_qudpsocket.cpp b/tests/auto/qudpsocket/tst_qudpsocket.cpp
index 7ea2163..9418be0 100644
--- a/tests/auto/qudpsocket/tst_qudpsocket.cpp
+++ b/tests/auto/qudpsocket/tst_qudpsocket.cpp
@@ -719,6 +719,8 @@ void tst_QUdpSocket::outOfProcessConnectedClientServerTest()
QProcess serverProcess;
serverProcess.start(QLatin1String("clientserver/clientserver server 1 1"),
QIODevice::ReadWrite | QIODevice::Text);
+ QVERIFY2(serverProcess.waitForStarted(3000),
+ qPrintable("Failed to start subprocess: " + serverProcess.errorString()));
// Wait until the server has started and reports success.
while (!serverProcess.canReadLine())
@@ -732,6 +734,9 @@ void tst_QUdpSocket::outOfProcessConnectedClientServerTest()
clientProcess.start(QString::fromLatin1("clientserver/clientserver connectedclient %1 %2")
.arg(QLatin1String("127.0.0.1")).arg(serverPort),
QIODevice::ReadWrite | QIODevice::Text);
+ QVERIFY2(clientProcess.waitForStarted(3000),
+ qPrintable("Failed to start subprocess: " + clientProcess.errorString()));
+
// Wait until the server has started and reports success.
while (!clientProcess.canReadLine())
QVERIFY(clientProcess.waitForReadyRead(3000));
@@ -779,6 +784,8 @@ void tst_QUdpSocket::outOfProcessUnconnectedClientServerTest()
QProcess serverProcess;
serverProcess.start(QLatin1String("clientserver/clientserver server 1 1"),
QIODevice::ReadWrite | QIODevice::Text);
+ QVERIFY2(serverProcess.waitForStarted(3000),
+ qPrintable("Failed to start subprocess: " + serverProcess.errorString()));
// Wait until the server has started and reports success.
while (!serverProcess.canReadLine())
@@ -792,6 +799,9 @@ void tst_QUdpSocket::outOfProcessUnconnectedClientServerTest()
clientProcess.start(QString::fromLatin1("clientserver/clientserver unconnectedclient %1 %2")
.arg(QLatin1String("127.0.0.1")).arg(serverPort),
QIODevice::ReadWrite | QIODevice::Text);
+ QVERIFY2(clientProcess.waitForStarted(3000),
+ qPrintable("Failed to start subprocess: " + clientProcess.errorString()));
+
// Wait until the server has started and reports success.
while (!clientProcess.canReadLine())
QVERIFY(clientProcess.waitForReadyRead(3000));
diff --git a/tests/auto/qurl/tst_qurl.cpp b/tests/auto/qurl/tst_qurl.cpp
index 72c13bf..c8fe4e5 100644
--- a/tests/auto/qurl/tst_qurl.cpp
+++ b/tests/auto/qurl/tst_qurl.cpp
@@ -3679,15 +3679,21 @@ void tst_QUrl::binaryData()
void tst_QUrl::fromUserInput_data()
{
+ //
+ // most of this test is:
+ // Copyright (C) Research In Motion Limited 2009. All rights reserved.
+ // Distributed under the BSD license.
+ // See qurl.cpp
+ //
+
QTest::addColumn<QString>("string");
- QTest::addColumn<QUrl>("url");
+ QTest::addColumn<QUrl>("guessUrlFromString");
// Null
QTest::newRow("null") << QString() << QUrl();
// File
QDirIterator it(QDir::homePath());
- QString fileString;
int c = 0;
while (it.hasNext()) {
it.next();
@@ -3695,49 +3701,52 @@ void tst_QUrl::fromUserInput_data()
}
// basic latin1
- QTest::newRow("unicode-0") << QString::fromUtf8("\xC3\xA5.com/") << QUrl::fromEncoded(QString::fromUtf8("http://\xC3\xA5.com/").toUtf8(), QUrl::TolerantMode);
+ QTest::newRow("unicode-0") << QString::fromUtf8("\xc3\xa5.com/") << QUrl::fromEncoded(QString::fromUtf8("http://\xc3\xa5.com/").toUtf8(), QUrl::TolerantMode);
+ QTest::newRow("unicode-0b") << QString::fromUtf8("\xc3\xa5.com/") << QUrl::fromEncoded("http://%C3%A5.com/", QUrl::TolerantMode);
+ QTest::newRow("unicode-0c") << QString::fromUtf8("\xc3\xa5.com/") << QUrl::fromEncoded("http://xn--5ca.com/", QUrl::TolerantMode);
// unicode
- QTest::newRow("unicode-1") << QString::fromUtf8("\xCE\xBB.com/") << QUrl::fromEncoded(QString::fromUtf8("http://\xCE\xBB.com/").toUtf8(), QUrl::TolerantMode);
+ QTest::newRow("unicode-1") << QString::fromUtf8("\xce\xbb.com/") << QUrl::fromEncoded(QString::fromUtf8("http://\xce\xbb.com/").toUtf8(), QUrl::TolerantMode);
+ QTest::newRow("unicode-1b") << QString::fromUtf8("\xce\xbb.com/") << QUrl::fromEncoded("http://%CE%BB.com/", QUrl::TolerantMode);
+ QTest::newRow("unicode-1c") << QString::fromUtf8("\xce\xbb.com/") << QUrl::fromEncoded("http://xn--wxa.com/", QUrl::TolerantMode);
// no scheme
- QTest::newRow("add scheme-0") << "webkit.org" << QUrl("http://webkit.org");
- QTest::newRow("add scheme-1") << "www.webkit.org" << QUrl("http://www.webkit.org");
- QTest::newRow("add scheme-2") << "ftp.webkit.org" << QUrl("ftp://ftp.webkit.org");
+ QTest::newRow("add scheme-0") << "example.org" << QUrl("http://example.org");
+ QTest::newRow("add scheme-1") << "www.example.org" << QUrl("http://www.example.org");
+ QTest::newRow("add scheme-2") << "ftp.example.org" << QUrl("ftp://ftp.example.org");
QTest::newRow("add scheme-3") << "webkit" << QUrl("webkit");
// QUrl's tolerant parser should already handle this
- QTest::newRow("not-encoded-0") << "http://webkit.org/test page.html" << QUrl("http://webkit.org/test%20page.html");
+ QTest::newRow("not-encoded-0") << "http://example.org/test page.html" << QUrl::fromEncoded("http://example.org/test%20page.html");
// Make sure the :80, i.e. port doesn't screw anything up
- QUrl portUrl("http://webkit.org");
+ QUrl portUrl("http://example.org");
portUrl.setPort(80);
- QTest::newRow("port-0") << "webkit.org:80" << portUrl;
- QTest::newRow("port-1") << "http://webkit.org:80" << portUrl;
+ QTest::newRow("port-0") << "example.org:80" << portUrl;
+ QTest::newRow("port-1") << "http://example.org:80" << portUrl;
// mailto doesn't have a ://, but is valid
- QUrl mailto("somebody@somewhere.net");
+ QUrl mailto("ben@example.net");
mailto.setScheme("mailto");
- QTest::newRow("mailto") << "mailto:somebody@somewhere.net" << mailto;
+ QTest::newRow("mailto") << "mailto:ben@example.net" << mailto;
// misc
QTest::newRow("localhost-0") << "localhost" << QUrl("http://localhost");
QTest::newRow("localhost-1") << "localhost:80" << QUrl("http://localhost:80");
- QTest::newRow("spaces-0") << " http://webkit.org/test page.html " << QUrl("http://webkit.org/test%20page.html");
- QTest::newRow("trash-0") << "webkit.org/test?someData=42%&someOtherData=abcde#anchor" << QUrl::fromEncoded("http://webkit.org/test?someData=42%25&someOtherData=abcde#anchor");
+ QTest::newRow("spaces-0") << " http://example.org/test page.html " << QUrl("http://example.org/test%20page.html");
+ QTest::newRow("trash-0") << "example.org/test?someData=42%&someOtherData=abcde#anchor" << QUrl::fromEncoded("http://example.org/test?someData=42%25&someOtherData=abcde#anchor");
// FYI: The scheme in the resulting url user
QUrl authUrl("user:pass@domain.com");
QTest::newRow("misc-1") << "user:pass@domain.com" << authUrl;
}
-// public static QUrl guessUrlFromString(QString const& string)
void tst_QUrl::fromUserInput()
{
QFETCH(QString, string);
- QFETCH(QUrl, url);
+ QFETCH(QUrl, guessUrlFromString);
- QUrl guessedUrl = QUrl::fromUserInput(string);
- QCOMPARE(guessedUrl, url);
+ QUrl url = QUrl::fromUserInput(string);
+ QCOMPARE(url, guessUrlFromString);
}
void tst_QUrl::task_199967()
diff --git a/tests/auto/qvariant/tst_qvariant.cpp b/tests/auto/qvariant/tst_qvariant.cpp
index 9295897..3d68a73 100644
--- a/tests/auto/qvariant/tst_qvariant.cpp
+++ b/tests/auto/qvariant/tst_qvariant.cpp
@@ -270,6 +270,8 @@ private slots:
void task256984_setValue();
void numericalConvert();
+ void moreCustomTypes();
+ void variantInVariant();
};
Q_DECLARE_METATYPE(QDate)
@@ -318,6 +320,14 @@ void tst_QVariant::constructor()
QVariant var6(qlonglong(0));
QCOMPARE(var6.type(), QVariant::LongLong);
QCOMPARE(var6.typeName(), "qlonglong");
+
+ QVariant var7 = 5;
+ QVERIFY(var7.isValid());
+ QVERIFY(!var7.isNull());
+ QVariant var8;
+ var8.setValue<int>(5);
+ QVERIFY(var8.isValid());
+ QVERIFY(!var8.isNull());
}
void tst_QVariant::copy_constructor()
@@ -1422,8 +1432,10 @@ void tst_QVariant::matrix4x4()
QVariant variant;
QMatrix4x4 matrix = qVariantValue<QMatrix4x4>(variant);
QVERIFY(matrix.isIdentity());
- qVariantSetValue(variant, QMatrix4x4().scale(2.0));
- QCOMPARE(QMatrix4x4().scale(2.0), qVariantValue<QMatrix4x4>(variant));
+ QMatrix4x4 m;
+ m.scale(2.0f);
+ qVariantSetValue(variant, m);
+ QCOMPARE(m, qVariantValue<QMatrix4x4>(variant));
void *mmatrix = QMetaType::construct(QVariant::Matrix4x4, 0);
QVERIFY(mmatrix);
@@ -3127,7 +3139,254 @@ void tst_QVariant::numericalConvert()
}
+template<class T> void playWithVariant(const T &orig, bool isNull, const QString &toString, double toDouble, bool toBool)
+{
+ QVariant v = QVariant::fromValue(orig);
+ QVERIFY(v.isValid());
+ QCOMPARE(v.isNull(), isNull);
+ QCOMPARE(v.toString(), toString);
+ QCOMPARE(v.toDouble(), toDouble);
+ QCOMPARE(v.toBool(), toBool);
+ QCOMPARE(qvariant_cast<T>(v), orig);
+
+ {
+ QVariant v2 = v;
+ QCOMPARE(v2, v);
+ QVERIFY(v2.isValid());
+ QCOMPARE(v2.isNull(), isNull);
+ QCOMPARE(v2.toString(), toString);
+ QCOMPARE(v2.toDouble(), toDouble);
+ QCOMPARE(v2.toBool(), toBool);
+ QCOMPARE(qvariant_cast<T>(v2), orig);
+
+ QVariant v3;
+ v = QVariant();
+ QCOMPARE(v3, v);
+ v = v2;
+ QCOMPARE(v, v2);
+ QCOMPARE(qvariant_cast<T>(v2), qvariant_cast<T>(v));
+ QCOMPARE(v2.toString(), toString);
+ v3 = qVariantFromValue(orig);
+
+ QVERIFY(v3.isValid());
+ QCOMPARE(v3.isNull(), isNull);
+ QCOMPARE(v3.toString(), toString);
+ QCOMPARE(v3.toDouble(), toDouble);
+ QCOMPARE(v3.toBool(), toBool);
+ QCOMPARE(qvariant_cast<T>(v3), qvariant_cast<T>(v));
+ }
+
+ QVERIFY(v.isValid());
+ QCOMPARE(v.isNull(), isNull);
+ QCOMPARE(v.toString(), toString);
+ QCOMPARE(v.toDouble(), toDouble);
+ QCOMPARE(v.toBool(), toBool);
+ QCOMPARE(qvariant_cast<T>(v), orig);
+
+ if (qMetaTypeId<T>() != qMetaTypeId<QVariant>()) {
+ QCOMPARE(v.userType(), qMetaTypeId<T>());
+ QCOMPARE(QVariant::typeToName(QVariant::Type(v.userType())), QMetaType::typeName(qMetaTypeId<T>()));
+ }
+}
+
+
+struct MyPrimitive
+{
+ char x, y;
+ bool operator==(const MyPrimitive &o) const
+ {
+ return x == o.x && y == o.y;
+ }
+};
+Q_DECLARE_TYPEINFO(MyPrimitive, Q_PRIMITIVE_TYPE);
+
+struct MyData
+{
+ void *ptr;
+ MyData() : ptr(this) {}
+ ~MyData() { Q_ASSERT(ptr == this); }
+ MyData(const MyData& o) : ptr(this) { Q_ASSERT(o.ptr == &o); }
+ MyData &operator=(const MyData &o)
+ {
+ Q_ASSERT(ptr == this);
+ Q_ASSERT(o.ptr == &o);
+ return *this;
+ }
+ bool operator==(const MyData &o) const
+ {
+ Q_ASSERT(ptr == this);
+ Q_ASSERT(o.ptr == &o);
+ return true;
+ }
+};
+
+struct MyMovable
+{
+ static int count;
+ int v;
+ MyMovable() { v = count++; }
+ ~MyMovable() { count--; }
+ MyMovable(const MyMovable &o) : v(o.v) { count++; }
+
+ bool operator==(const MyMovable &o) const
+ {
+ return v == o.v;
+ }
+};
+
+int MyMovable::count = 0;
+
+
+Q_DECLARE_TYPEINFO(MyMovable, Q_MOVABLE_TYPE);
+
+Q_DECLARE_METATYPE(QList<QSize>)
+Q_DECLARE_METATYPE(MyPrimitive)
+Q_DECLARE_METATYPE(MyData)
+Q_DECLARE_METATYPE(MyMovable)
+Q_DECLARE_METATYPE(QList<MyPrimitive>)
+Q_DECLARE_METATYPE(QList<MyData>)
+Q_DECLARE_METATYPE(QList<MyMovable>)
+Q_DECLARE_METATYPE(MyPrimitive *)
+Q_DECLARE_METATYPE(MyData *)
+Q_DECLARE_METATYPE(MyMovable *)
+void tst_QVariant::moreCustomTypes()
+{
+ {
+ QList<QSize> listSize;
+ playWithVariant(listSize, false, QString(), 0, false);
+ listSize << QSize(4,5) << QSize(89,23) << QSize(5,6);
+ playWithVariant(listSize, false, QString(), 0, false);
+ }
+
+ {
+ QString str;
+ playWithVariant(str, true, QString(), 0, false);
+ str = QString::fromLatin1("123456789.123");
+ playWithVariant(str, false, str, 123456789.123, true);
+ }
+
+ {
+ QSize size;
+ playWithVariant(size, false, QString(), 0, false);
+ playWithVariant(QSize(45,78), false, QString(), 0, false);
+ }
+
+ {
+ MyData d;
+ playWithVariant(d, false, QString(), 0, false);
+ playWithVariant(&d, false, QString(), 0, false);
+ QList<MyData> l;
+ playWithVariant(l, false, QString(), 0, false);
+ l << MyData() << MyData();
+ playWithVariant(l, false, QString(), 0, false);
+ }
+
+ {
+ MyPrimitive d = { 4, 5 };
+ playWithVariant(d, false, QString(), 0, false);
+ playWithVariant(&d, false, QString(), 0, false);
+ QList<MyPrimitive> l;
+ playWithVariant(l, false, QString(), 0, false);
+ l << d;
+ playWithVariant(l, false, QString(), 0, false);
+ }
+
+ {
+ MyMovable d;
+ playWithVariant(d, false, QString(), 0, false);
+ playWithVariant(&d, false, QString(), 0, false);
+ QList<MyMovable> l;
+ playWithVariant(l, false, QString(), 0, false);
+ l << MyMovable() << d;
+ playWithVariant(l, false, QString(), 0, false);
+ }
+ QCOMPARE(MyMovable::count, 0);
+
+ {
+ playWithVariant(12.12, false, "12.12", 12.12, true);
+ playWithVariant(12.12f, false, "12.12", 12.12f, true);
+ playWithVariant('a', false, "a", 'a', true);
+ playWithVariant((unsigned char)('a'), false, "a", 'a', true);
+ playWithVariant( quint8(12), false, "\xc", 12, true);
+ playWithVariant( qint8(13), false, "\xd", 13, true);
+ playWithVariant(quint16(14), false, "14", 14, true);
+ playWithVariant( qint16(15), false, "15", 15, true);
+ playWithVariant(quint32(16), false, "16", 16, true);
+ playWithVariant( qint32(17), false, "17", 17, true);
+ playWithVariant(quint64(18), false, "18", 18, true);
+ playWithVariant( qint64(19), false, "19", 19, true);
+ playWithVariant( qint8(-12), false, "\xf4", -12, true);
+ playWithVariant( qint16(-13), false, "-13", -13, true);
+ playWithVariant( qint32(-14), false, "-14", -14, true);
+ playWithVariant( qint64(-15), false, "-15", -15, true);
+ playWithVariant(quint64(0), false, "0", 0, false);
+ playWithVariant( true, false, "true", 1, true);
+ playWithVariant( false, false, "false", 0, false);
+
+ playWithVariant(QString("hello\n"), false, "hello\n", 0, true);
+ }
+
+ {
+ int i = 5;
+ playWithVariant((void *)(&i), false, QString(), 0, false);
+ playWithVariant((void *)(0), false, QString(), 0, false);
+ }
+
+ {
+ QVariant v1 = QVariant::fromValue(5);
+ QVariant v2 = QVariant::fromValue(5.0);
+ QVariant v3 = QVariant::fromValue(quint16(5));
+ QVariant v4 = 5;
+ QVariant v5 = QVariant::fromValue(MyPrimitive());
+ QVariant v6 = QVariant::fromValue(MyMovable());
+ QVariant v7 = QVariant::fromValue(MyData());
+ playWithVariant(v1, false, "5", 5, true);
+ playWithVariant(v2, false, "5", 5, true);
+ playWithVariant(v3, false, "5", 5, true);
+ playWithVariant(v4, false, "5", 5, true);
+
+ playWithVariant(v5, false, QString(), 0, false);
+ }
+}
+
+
+void tst_QVariant::variantInVariant()
+{
+ QVariant var1 = 5;
+ QCOMPARE(var1.type(), QVariant::Int);
+ QVariant var2 = var1;
+ QCOMPARE(var2, var1);
+ QCOMPARE(var2.type(), QVariant::Int);
+ QVariant var3 = QVariant::fromValue(var1);
+ QCOMPARE(var3, var1);
+ QCOMPARE(var3.type(), QVariant::Int);
+ QVariant var4 = qvariant_cast<QVariant>(var1);
+ QCOMPARE(var4, var1);
+ QCOMPARE(var4.type(), QVariant::Int);
+ QVariant var5;
+ var5 = var1;
+ QCOMPARE(var5, var1);
+ QCOMPARE(var5.type(), QVariant::Int);
+ QVariant var6;
+ var6.setValue(var1);
+ QCOMPARE(var6, var1);
+ QCOMPARE(var6.type(), QVariant::Int);
+
+ QCOMPARE(QVariant::fromValue(var1), QVariant::fromValue(var2));
+ QCOMPARE(qvariant_cast<QVariant>(var3), QVariant::fromValue(var4));
+ QCOMPARE(qvariant_cast<QVariant>(var5), qvariant_cast<QVariant>(var6));
+
+ QString str("hello");
+ QVariant var8 = qvariant_cast<QVariant>(QVariant::fromValue(QVariant::fromValue(str)));
+ QCOMPARE((int)var8.type(), (int)QVariant::String);
+ QCOMPARE(qvariant_cast<QString>(QVariant(qvariant_cast<QVariant>(var8))), str);
+
+ QVariant var9(qMetaTypeId<QVariant>(), &var1);
+ QCOMPARE(var9.userType(), qMetaTypeId<QVariant>());
+ QCOMPARE(qvariant_cast<QVariant>(var9), var1);
+}
+
QTEST_MAIN(tst_QVariant)
#include "tst_qvariant.moc"
diff --git a/tests/auto/qvideoframe/tst_qvideoframe.cpp b/tests/auto/qvideoframe/tst_qvideoframe.cpp
index b231069..432ef5c 100644
--- a/tests/auto/qvideoframe/tst_qvideoframe.cpp
+++ b/tests/auto/qvideoframe/tst_qvideoframe.cpp
@@ -524,7 +524,7 @@ void tst_QVideoFrame::assign()
void tst_QVideoFrame::map_data()
{
QTest::addColumn<QSize>("size");
- QTest::addColumn<int>("numBytes");
+ QTest::addColumn<int>("mappedBytes");
QTest::addColumn<int>("bytesPerLine");
QTest::addColumn<QVideoFrame::PixelFormat>("pixelFormat");
QTest::addColumn<QAbstractVideoBuffer::MapMode>("mode");
@@ -554,29 +554,29 @@ void tst_QVideoFrame::map_data()
void tst_QVideoFrame::map()
{
QFETCH(QSize, size);
- QFETCH(int, numBytes);
+ QFETCH(int, mappedBytes);
QFETCH(int, bytesPerLine);
QFETCH(QVideoFrame::PixelFormat, pixelFormat);
QFETCH(QAbstractVideoBuffer::MapMode, mode);
- QVideoFrame frame(numBytes, size, bytesPerLine, pixelFormat);
+ QVideoFrame frame(mappedBytes, size, bytesPerLine, pixelFormat);
QVERIFY(!frame.bits());
- QCOMPARE(frame.numBytes(), 0);
+ QCOMPARE(frame.mappedBytes(), 0);
QCOMPARE(frame.bytesPerLine(), 0);
QCOMPARE(frame.mapMode(), QAbstractVideoBuffer::NotMapped);
QVERIFY(frame.map(mode));
QVERIFY(frame.bits());
- QCOMPARE(frame.numBytes(), numBytes);
+ QCOMPARE(frame.mappedBytes(), mappedBytes);
QCOMPARE(frame.bytesPerLine(), bytesPerLine);
QCOMPARE(frame.mapMode(), mode);
frame.unmap();
QVERIFY(!frame.bits());
- QCOMPARE(frame.numBytes(), 0);
+ QCOMPARE(frame.mappedBytes(), 0);
QCOMPARE(frame.bytesPerLine(), 0);
QCOMPARE(frame.mapMode(), QAbstractVideoBuffer::NotMapped);
}
@@ -614,21 +614,21 @@ void tst_QVideoFrame::mapImage()
QVideoFrame frame(image);
QVERIFY(!frame.bits());
- QCOMPARE(frame.numBytes(), 0);
+ QCOMPARE(frame.mappedBytes(), 0);
QCOMPARE(frame.bytesPerLine(), 0);
QCOMPARE(frame.mapMode(), QAbstractVideoBuffer::NotMapped);
QVERIFY(frame.map(mode));
QVERIFY(frame.bits());
- QCOMPARE(frame.numBytes(), image.numBytes());
+ QCOMPARE(frame.mappedBytes(), image.numBytes());
QCOMPARE(frame.bytesPerLine(), image.bytesPerLine());
QCOMPARE(frame.mapMode(), mode);
frame.unmap();
QVERIFY(!frame.bits());
- QCOMPARE(frame.numBytes(), 0);
+ QCOMPARE(frame.mappedBytes(), 0);
QCOMPARE(frame.bytesPerLine(), 0);
QCOMPARE(frame.mapMode(), QAbstractVideoBuffer::NotMapped);
}
diff --git a/tests/auto/qvideosurfaceformat/tst_qvideosurfaceformat.cpp b/tests/auto/qvideosurfaceformat/tst_qvideosurfaceformat.cpp
index 9623e80..a47cb48 100644
--- a/tests/auto/qvideosurfaceformat/tst_qvideosurfaceformat.cpp
+++ b/tests/auto/qvideosurfaceformat/tst_qvideosurfaceformat.cpp
@@ -68,8 +68,8 @@ private slots:
void scanLineDirection();
void frameRate_data();
void frameRate();
- void yuvColorSpace_data();
- void yuvColorSpace();
+ void yCbCrColorSpace_data();
+ void yCbCrColorSpace();
void pixelAspectRatio_data();
void pixelAspectRatio();
void sizeHint_data();
@@ -81,9 +81,6 @@ private slots:
void assign();
};
-Q_DECLARE_METATYPE(QVideoSurfaceFormat::ViewportMode)
-
-
tst_QVideoSurfaceFormat::tst_QVideoSurfaceFormat()
{
}
@@ -122,7 +119,7 @@ void tst_QVideoSurfaceFormat::constructNull()
QCOMPARE(format.scanLineDirection(), QVideoSurfaceFormat::TopToBottom);
QCOMPARE(format.frameRate(), 0.0);
QCOMPARE(format.pixelAspectRatio(), QSize(1, 1));
- QCOMPARE(format.yuvColorSpace(), QVideoSurfaceFormat::YCbCr_Undefined);
+ QCOMPARE(format.yCbCrColorSpace(), QVideoSurfaceFormat::YCbCr_Undefined);
}
void tst_QVideoSurfaceFormat::construct_data()
@@ -161,7 +158,7 @@ void tst_QVideoSurfaceFormat::construct()
QCOMPARE(format.scanLineDirection(), QVideoSurfaceFormat::TopToBottom);
QCOMPARE(format.frameRate(), 0.0);
QCOMPARE(format.pixelAspectRatio(), QSize(1, 1));
- QCOMPARE(format.yuvColorSpace(), QVideoSurfaceFormat::YCbCr_Undefined);
+ QCOMPARE(format.yCbCrColorSpace(), QVideoSurfaceFormat::YCbCr_Undefined);
}
void tst_QVideoSurfaceFormat::frameSize_data()
@@ -202,45 +199,23 @@ void tst_QVideoSurfaceFormat::viewport_data()
QTest::addColumn<QSize>("initialSize");
QTest::addColumn<QRect>("viewport");
QTest::addColumn<QSize>("newSize");
- QTest::addColumn<QVideoSurfaceFormat::ViewportMode>("viewportMode");
QTest::addColumn<QRect>("expectedViewport");
QTest::newRow("grow reset")
<< QSize(64, 64)
<< QRect(8, 8, 48, 48)
<< QSize(1024, 1024)
- << QVideoSurfaceFormat::ResetViewport
<< QRect(0, 0, 1024, 1024);
- QTest::newRow("grow keep")
- << QSize(64, 64)
- << QRect(8, 8, 48, 48)
- << QSize(1024, 1024)
- << QVideoSurfaceFormat::KeepViewport
- << QRect(8, 8, 48, 48);
QTest::newRow("shrink reset")
<< QSize(1024, 1024)
<< QRect(8, 8, 1008, 1008)
<< QSize(64, 64)
- << QVideoSurfaceFormat::ResetViewport
<< QRect(0, 0, 64, 64);
- QTest::newRow("shrink keep")
- << QSize(1024, 1024)
- << QRect(8, 8, 1008, 1008)
- << QSize(64, 64)
- << QVideoSurfaceFormat::KeepViewport
- << QRect(8, 8, 56, 56);
QTest::newRow("unchanged reset")
<< QSize(512, 512)
<< QRect(8, 8, 496, 496)
<< QSize(512, 512)
- << QVideoSurfaceFormat::ResetViewport
<< QRect(0, 0, 512, 512);
- QTest::newRow("unchanged keep")
- << QSize(512, 512)
- << QRect(8, 8, 496, 496)
- << QSize(512, 512)
- << QVideoSurfaceFormat::KeepViewport
- << QRect(8, 8, 496, 496);
}
void tst_QVideoSurfaceFormat::viewport()
@@ -248,7 +223,6 @@ void tst_QVideoSurfaceFormat::viewport()
QFETCH(QSize, initialSize);
QFETCH(QRect, viewport);
QFETCH(QSize, newSize);
- QFETCH(QVideoSurfaceFormat::ViewportMode, viewportMode);
QFETCH(QRect, expectedViewport);
{
@@ -261,7 +235,7 @@ void tst_QVideoSurfaceFormat::viewport()
QCOMPARE(format.viewport(), viewport);
QCOMPARE(format.property("viewport").toRect(), viewport);
- format.setFrameSize(newSize, viewportMode);
+ format.setFrameSize(newSize);
QCOMPARE(format.viewport(), expectedViewport);
QCOMPARE(format.property("viewport").toRect(), expectedViewport);
@@ -350,9 +324,9 @@ void tst_QVideoSurfaceFormat::frameRate()
}
}
-void tst_QVideoSurfaceFormat::yuvColorSpace_data()
+void tst_QVideoSurfaceFormat::yCbCrColorSpace_data()
{
- QTest::addColumn<QVideoSurfaceFormat::YuvColorSpace>("colorspace");
+ QTest::addColumn<QVideoSurfaceFormat::YCbCrColorSpace>("colorspace");
QTest::newRow("undefined")
<< QVideoSurfaceFormat::YCbCr_Undefined;
@@ -364,24 +338,24 @@ void tst_QVideoSurfaceFormat::yuvColorSpace_data()
<< QVideoSurfaceFormat::YCbCr_JPEG;
}
-void tst_QVideoSurfaceFormat::yuvColorSpace()
+void tst_QVideoSurfaceFormat::yCbCrColorSpace()
{
- QFETCH(QVideoSurfaceFormat::YuvColorSpace, colorspace);
+ QFETCH(QVideoSurfaceFormat::YCbCrColorSpace, colorspace);
{
QVideoSurfaceFormat format(QSize(64, 64), QVideoFrame::Format_RGB32);
- format.setYuvColorSpace(colorspace);
+ format.setYCbCrColorSpace(colorspace);
- QCOMPARE(format.yuvColorSpace(), colorspace);
- QCOMPARE(qvariant_cast<QVideoSurfaceFormat::YuvColorSpace>(format.property("yuvColorSpace")),
+ QCOMPARE(format.yCbCrColorSpace(), colorspace);
+ QCOMPARE(qvariant_cast<QVideoSurfaceFormat::YCbCrColorSpace>(format.property("yCbCrColorSpace")),
colorspace);
}
{
QVideoSurfaceFormat format(QSize(64, 64), QVideoFrame::Format_RGB32);
- format.setProperty("yuvColorSpace", qVariantFromValue(colorspace));
+ format.setProperty("yCbCrColorSpace", qVariantFromValue(colorspace));
- QCOMPARE(format.yuvColorSpace(), colorspace);
- QCOMPARE(qvariant_cast<QVideoSurfaceFormat::YuvColorSpace>(format.property("yuvColorSpace")),
+ QCOMPARE(format.yCbCrColorSpace(), colorspace);
+ QCOMPARE(qvariant_cast<QVideoSurfaceFormat::YCbCrColorSpace>(format.property("yCbCrColorSpace")),
colorspace);
}
}
@@ -483,7 +457,7 @@ void tst_QVideoSurfaceFormat::staticPropertyNames()
QVERIFY(propertyNames.contains("scanLineDirection"));
QVERIFY(propertyNames.contains("frameRate"));
QVERIFY(propertyNames.contains("pixelAspectRatio"));
- QVERIFY(propertyNames.contains("yuvColorSpace"));
+ QVERIFY(propertyNames.contains("yCbCrColorSpace"));
QVERIFY(propertyNames.contains("sizeHint"));
QCOMPARE(propertyNames.count(), 10);
}
@@ -566,19 +540,26 @@ void tst_QVideoSurfaceFormat::compare()
QCOMPARE(format1 == format4, false);
QCOMPARE(format1 != format4, true);
- format2.setFrameSize(1024, 768, QVideoSurfaceFormat::ResetViewport);
+ format2.setFrameSize(1024, 768);
// Not equal, frame size differs.
QCOMPARE(format1 == format2, false);
QCOMPARE(format1 != format2, true);
- format1.setFrameSize(1024, 768, QVideoSurfaceFormat::KeepViewport);
+ format1.setFrameSize(1024, 768);
+
+ // Equal.
+ QCOMPARE(format1 == format2, true);
+ QCOMPARE(format1 != format2, false);
+
+ format1.setViewport(QRect(0, 0, 800, 600));
+ format2.setViewport(QRect(112, 84, 800, 600));
- // Not equal, viewport differs.
+ // Not equal, viewports differ.
QCOMPARE(format1 == format2, false);
QCOMPARE(format1 != format2, true);
- format1.setViewport(QRect(0, 0, 1024, 768));
+ format1.setViewport(QRect(112, 84, 800, 600));
// Equal.
QCOMPARE(format1 == format2, true);
@@ -620,13 +601,13 @@ void tst_QVideoSurfaceFormat::compare()
QCOMPARE(format1 == format2, true);
QCOMPARE(format1 != format2, false);
- format2.setYuvColorSpace(QVideoSurfaceFormat::YCbCr_xvYCC601);
+ format2.setYCbCrColorSpace(QVideoSurfaceFormat::YCbCr_xvYCC601);
// Not equal yuv color space differs.
QCOMPARE(format1 == format2, false);
QCOMPARE(format1 != format2, true);
- format1.setYuvColorSpace(QVideoSurfaceFormat::YCbCr_xvYCC601);
+ format1.setYCbCrColorSpace(QVideoSurfaceFormat::YCbCr_xvYCC601);
// Equal.
QCOMPARE(format1 == format2, true);
diff --git a/tests/auto/qwidget/tst_qwidget.cpp b/tests/auto/qwidget/tst_qwidget.cpp
index 050d1c5..e027dd1 100644
--- a/tests/auto/qwidget/tst_qwidget.cpp
+++ b/tests/auto/qwidget/tst_qwidget.cpp
@@ -332,6 +332,7 @@ private slots:
void doubleRepaint();
#ifndef Q_WS_MAC
void resizeInPaintEvent();
+ void opaqueChildren();
#endif
void setMaskInResizeEvent();
@@ -2982,7 +2983,7 @@ void tst_QWidget::stackUnder()
qApp->processEvents();
#endif
#ifndef Q_WS_MAC
- QEXPECT_FAIL(0, "Task 153869", Continue);
+ QEXPECT_FAIL(0, "See QTBUG-493", Continue);
#endif
QCOMPARE(child->numPaintEvents, 0);
} else {
@@ -3327,9 +3328,10 @@ void tst_QWidget::widgetAt()
w2->lower();
qApp->processEvents();
QTRY_VERIFY((wr = QApplication::widgetAt(100, 100)));
- QCOMPARE(wr->objectName(), QString("w1"));
-
+ const bool match = (wr->objectName() == QString("w1"));
w2->raise();
+ QVERIFY(match);
+
qApp->processEvents();
QTRY_VERIFY((wr = QApplication::widgetAt(100, 100)));
QCOMPARE(wr->objectName(), QString("w2"));
@@ -6319,6 +6321,7 @@ void tst_QWidget::compatibilityChildInsertedEvents()
widget.show();
expected =
EventRecorder::EventList()
+ << qMakePair(&widget, QEvent::WinIdChange)
<< qMakePair(&widget, QEvent::Polish)
<< qMakePair(&widget, QEvent::Move)
<< qMakePair(&widget, QEvent::Resize)
@@ -6404,6 +6407,7 @@ void tst_QWidget::compatibilityChildInsertedEvents()
widget.show();
expected =
EventRecorder::EventList()
+ << qMakePair(&widget, QEvent::WinIdChange)
<< qMakePair(&widget, QEvent::Polish)
#ifdef QT_HAS_QT3SUPPORT
<< qMakePair(&widget, QEvent::ChildInserted)
@@ -6501,6 +6505,7 @@ void tst_QWidget::compatibilityChildInsertedEvents()
widget.show();
expected =
EventRecorder::EventList()
+ << qMakePair(&widget, QEvent::WinIdChange)
<< qMakePair(&widget, QEvent::Polish)
#ifdef QT_HAS_QT3SUPPORT
<< qMakePair(&widget, QEvent::ChildInserted)
@@ -8272,6 +8277,47 @@ void tst_QWidget::resizeInPaintEvent()
// Make sure the resize triggers another update.
QTRY_COMPARE(widget.numPaintEvents, 1);
}
+
+void tst_QWidget::opaqueChildren()
+{
+ QWidget widget;
+ widget.resize(200, 200);
+
+ QWidget child(&widget);
+ child.setGeometry(-700, -700, 200, 200);
+
+ QWidget grandChild(&child);
+ grandChild.resize(200, 200);
+
+ QWidget greatGrandChild(&grandChild);
+ greatGrandChild.setGeometry(50, 50, 200, 200);
+ greatGrandChild.setPalette(Qt::red);
+ greatGrandChild.setAutoFillBackground(true); // Opaque child widget.
+
+ widget.show();
+#ifdef Q_WS_X11
+ qt_x11_wait_for_window_manager(&widget);
+#endif
+ QTest::qWait(100);
+
+ // Child, grandChild and greatGrandChild are outside the ancestor clip.
+ QRegion expectedOpaqueRegion(50, 50, 150, 150);
+ QCOMPARE(qt_widget_private(&grandChild)->getOpaqueChildren(), expectedOpaqueRegion);
+
+ // Now they are all inside the ancestor clip.
+ child.setGeometry(50, 50, 150, 150);
+ QCOMPARE(qt_widget_private(&grandChild)->getOpaqueChildren(), expectedOpaqueRegion);
+
+ // Set mask on greatGrandChild.
+ const QRegion mask(10, 10, 50, 50);
+ greatGrandChild.setMask(mask);
+ expectedOpaqueRegion &= mask.translated(50, 50);
+ QCOMPARE(qt_widget_private(&grandChild)->getOpaqueChildren(), expectedOpaqueRegion);
+
+ // Make greatGrandChild "transparent".
+ greatGrandChild.setAutoFillBackground(false);
+ QCOMPARE(qt_widget_private(&grandChild)->getOpaqueChildren(), QRegion());
+}
#endif
diff --git a/tests/auto/qxmlnodemodelindex/tst_qxmlnodemodelindex.cpp b/tests/auto/qxmlnodemodelindex/tst_qxmlnodemodelindex.cpp
index cb6bd4d..c19deb6 100644
--- a/tests/auto/qxmlnodemodelindex/tst_qxmlnodemodelindex.cpp
+++ b/tests/auto/qxmlnodemodelindex/tst_qxmlnodemodelindex.cpp
@@ -178,7 +178,7 @@ void tst_QXmlNodeModelIndex::model() const
/* Check default value. */
{
const QXmlNodeModelIndex index;
- QCOMPARE(index.model(), static_cast<void *>(0));
+ QCOMPARE(index.model(), static_cast<const QAbstractXmlNodeModel *>(0));
}
}
diff --git a/tests/auto/qxmlquery/tst_qxmlquery.cpp b/tests/auto/qxmlquery/tst_qxmlquery.cpp
index 8a9d4ef..49f2b08 100644
--- a/tests/auto/qxmlquery/tst_qxmlquery.cpp
+++ b/tests/auto/qxmlquery/tst_qxmlquery.cpp
@@ -345,8 +345,8 @@ void tst_QXmlQuery::copyConstructor() const
query1.setInitialTemplateName(name);
const QXmlQuery query2(query1);
- QCOMPARE(query2.messageHandler(), &silencer);
- QCOMPARE(query2.uriResolver(), &resolver);
+ QCOMPARE(query2.messageHandler(), static_cast<QAbstractMessageHandler *>(&silencer));
+ QCOMPARE(query2.uriResolver(), static_cast<const QAbstractUriResolver *>(&resolver));
QCOMPARE(query2.queryLanguage(), QXmlQuery::XSLT20);
QCOMPARE(query2.initialTemplateName(), name);
QCOMPARE(query2.networkAccessManager(), &networkManager);
@@ -522,7 +522,7 @@ void tst_QXmlQuery::assignmentOperator() const
QVERIFY(copy.isValid());
QCOMPARE(copy.uriResolver(), static_cast<const QAbstractUriResolver *>(&returnURI));
- QCOMPARE(copy.messageHandler(), &silencer);
+ QCOMPARE(copy.messageHandler(), static_cast<QAbstractMessageHandler *>(&silencer));
QCOMPARE(testName.localName(copy.namePool()), QString::fromLatin1("somethingToCheck"));
QXmlResultItems result;
@@ -559,7 +559,7 @@ void tst_QXmlQuery::assignmentOperator() const
/* Check that the copy picked up the new things. */
QVERIFY(copy.isValid());
QCOMPARE(copy.uriResolver(), static_cast<const QAbstractUriResolver *>(&secondUriResolver));
- QCOMPARE(copy.messageHandler(), &secondSilencer);
+ QCOMPARE(copy.messageHandler(), static_cast<QAbstractMessageHandler *>(&secondSilencer));
QXmlResultItems resultCopy;
copy.evaluateTo(&resultCopy);
@@ -577,7 +577,7 @@ void tst_QXmlQuery::assignmentOperator() const
/* Check that the original is unchanged. */
QVERIFY(original.isValid());
QCOMPARE(original.uriResolver(), static_cast<const QAbstractUriResolver *>(&returnURI));
- QCOMPARE(original.messageHandler(), &silencer);
+ QCOMPARE(original.messageHandler(), static_cast<QAbstractMessageHandler *>(&silencer));
QXmlResultItems resultOriginal;
original.evaluateTo(&resultOriginal);
@@ -931,7 +931,7 @@ void tst_QXmlQuery::setMessageHandler() const
QXmlQuery query;
MessageSilencer silencer;
query.setMessageHandler(&silencer);
- QCOMPARE(&silencer, query.messageHandler());
+ QCOMPARE(static_cast<QAbstractMessageHandler *>(&silencer), query.messageHandler());
}
void tst_QXmlQuery::evaluateToReceiver()
@@ -1691,7 +1691,7 @@ void tst_QXmlQuery::setUriResolver() const
TestURIResolver resolver;
QXmlQuery query;
query.setUriResolver(&resolver);
- QCOMPARE(query.uriResolver(), &resolver);
+ QCOMPARE(query.uriResolver(), static_cast<const QAbstractUriResolver *>(&resolver));
}
}
diff --git a/tests/auto/qxmlschema/tst_qxmlschema.cpp b/tests/auto/qxmlschema/tst_qxmlschema.cpp
index 79f5587..ec91f88 100644
--- a/tests/auto/qxmlschema/tst_qxmlschema.cpp
+++ b/tests/auto/qxmlschema/tst_qxmlschema.cpp
@@ -357,7 +357,7 @@ void tst_QXmlSchema::messageHandler() const
QXmlSchema schema;
schema.setMessageHandler(&handler);
- QCOMPARE(schema.messageHandler(), &handler);
+ QCOMPARE(schema.messageHandler(), static_cast<QAbstractMessageHandler *>(&handler));
}
}
@@ -394,7 +394,7 @@ void tst_QXmlSchema::uriResolver() const
QXmlSchema schema;
schema.setUriResolver(&resolver);
- QCOMPARE(schema.uriResolver(), &resolver);
+ QCOMPARE(schema.uriResolver(), static_cast<const QAbstractUriResolver *>(&resolver));
}
}
diff --git a/tests/auto/qxmlschemavalidator/tst_qxmlschemavalidator.cpp b/tests/auto/qxmlschemavalidator/tst_qxmlschemavalidator.cpp
index 519f864..9fc784b 100644
--- a/tests/auto/qxmlschemavalidator/tst_qxmlschemavalidator.cpp
+++ b/tests/auto/qxmlschemavalidator/tst_qxmlschemavalidator.cpp
@@ -149,8 +149,8 @@ void tst_QXmlSchemaValidator::propertyInitialization() const
schema.setNetworkAccessManager(&manager);
QXmlSchemaValidator validator(schema);
- QCOMPARE(validator.messageHandler(), &handler);
- QCOMPARE(validator.uriResolver(), &resolver);
+ QCOMPARE(validator.messageHandler(), static_cast<QAbstractMessageHandler *>(&handler));
+ QCOMPARE(validator.uriResolver(), static_cast<const QAbstractUriResolver *>(&resolver));
QCOMPARE(validator.networkAccessManager(), &manager);
}
}
@@ -384,7 +384,7 @@ void tst_QXmlSchemaValidator::messageHandler() const
QXmlSchemaValidator validator(schema);
validator.setMessageHandler(&handler);
- QCOMPARE(validator.messageHandler(), &handler);
+ QCOMPARE(validator.messageHandler(), static_cast<QAbstractMessageHandler *>(&handler));
}
/* Test that we return the message handler that was set, even if the schema changed in between. */
@@ -399,7 +399,7 @@ void tst_QXmlSchemaValidator::messageHandler() const
const QXmlSchema schema2;
validator.setSchema(schema2);
- QCOMPARE(validator.messageHandler(), &handler);
+ QCOMPARE(validator.messageHandler(), static_cast<QAbstractMessageHandler *>(&handler));
}
}
@@ -452,7 +452,7 @@ void tst_QXmlSchemaValidator::uriResolver() const
QXmlSchemaValidator validator(schema);
validator.setUriResolver(&resolver);
- QCOMPARE(validator.uriResolver(), &resolver);
+ QCOMPARE(validator.uriResolver(), static_cast<const QAbstractUriResolver *>(&resolver));
}
/* Test that we return the uri resolver that was set, even if the schema changed in between. */
@@ -467,7 +467,7 @@ void tst_QXmlSchemaValidator::uriResolver() const
const QXmlSchema schema2;
validator.setSchema(schema2);
- QCOMPARE(validator.uriResolver(), &resolver);
+ QCOMPARE(validator.uriResolver(), static_cast<const QAbstractUriResolver *>(&resolver));
}
}
diff --git a/tests/auto/qxmlserializer/tst_qxmlserializer.cpp b/tests/auto/qxmlserializer/tst_qxmlserializer.cpp
index aeca140..51044ff 100644
--- a/tests/auto/qxmlserializer/tst_qxmlserializer.cpp
+++ b/tests/auto/qxmlserializer/tst_qxmlserializer.cpp
@@ -148,7 +148,7 @@ void tst_QXmlSerializer::outputDevice() const
{
const QXmlQuery query;
const QXmlSerializer serializer(query, &file);
- QCOMPARE(serializer.outputDevice(), &file);
+ QCOMPARE(serializer.outputDevice(), static_cast< QIODevice *>(&file));
}
}
@@ -158,7 +158,7 @@ void tst_QXmlSerializer::serializationError() const
QXmlQuery query;
MessageSilencer silencer;
query.setMessageHandler(&silencer);
-
+
query.setQuery(queryString);
QByteArray output;
diff --git a/tests/auto/xmlpatterns.pri b/tests/auto/xmlpatterns.pri
index 7cdd67f..8c8ccad 100644
--- a/tests/auto/xmlpatterns.pri
+++ b/tests/auto/xmlpatterns.pri
@@ -15,8 +15,9 @@ QT -= gui
XMLPATTERNS_SDK = QtXmlPatternsSDK
if(!debug_and_release|build_pass):CONFIG(debug, debug|release) {
- win32:XMLPATTERNS_SDK = $${XMLPATTERNS_SDK}d
- else: XMLPATTERNS_SDK = $${XMLPATTERNS_SDK}_debug
+ symbian: XMLPATTERNS_SDK = $${XMLPATTERNS_SDK}
+ else:win32: XMLPATTERNS_SDK = $${XMLPATTERNS_SDK}d
+ else: XMLPATTERNS_SDK = $${XMLPATTERNS_SDK}_debug
}
INCLUDEPATH += \
diff --git a/tests/auto/xmlpatterns/tst_xmlpatterns.cpp b/tests/auto/xmlpatterns/tst_xmlpatterns.cpp
index 0dcb070..22f6693 100644
--- a/tests/auto/xmlpatterns/tst_xmlpatterns.cpp
+++ b/tests/auto/xmlpatterns/tst_xmlpatterns.cpp
@@ -48,6 +48,10 @@
#include "../qxmlquery/TestFundament.h"
#include "../network-settings.h"
+#if defined(Q_OS_SYMBIAN)
+#define SRCDIR ""
+#endif
+
/*!
\class tst_XmlPatterns
\internal
@@ -130,6 +134,8 @@ void tst_XmlPatterns::xquerySupport()
#ifdef Q_OS_WINCE
QSKIP("WinCE: This test uses unsupported WinCE functionality", SkipAll);
+#elif defined(Q_OS_SYMBIAN)
+ QSKIP("Symbian: This test uses unsupported Symbian functionality (QProcess with std streams)", SkipAll);
#endif
QFETCH(int, expectedExitCode);
@@ -218,7 +224,7 @@ void tst_XmlPatterns::xquerySupport()
void tst_XmlPatterns::xquerySupport_data() const
{
-#ifdef Q_OS_WINCE
+#if defined(Q_OS_WINCE) || defined(Q_OS_SYMBIAN)
return;
#endif
@@ -849,6 +855,8 @@ void tst_XmlPatterns::xsltSupport_data() const
#ifdef Q_OS_WINCE
QSKIP("WinCE: This test uses unsupported WinCE functionality", SkipAll);
+#elif defined(Q_OS_SYMBIAN)
+ QSKIP("Symbian: This test uses unsupported Symbian functionality (QProcess with std streams)", SkipAll);
#endif
QTest::addColumn<int>("expectedExitCode");
diff --git a/tests/auto/xmlpatterns/xmlpatterns.pro b/tests/auto/xmlpatterns/xmlpatterns.pro
index 01e3b2b..54dd9aa 100644
--- a/tests/auto/xmlpatterns/xmlpatterns.pro
+++ b/tests/auto/xmlpatterns/xmlpatterns.pro
@@ -2,10 +2,10 @@ load(qttest_p4)
SOURCES += tst_xmlpatterns.cpp \
../qxmlquery/TestFundament.cpp
-!wince* {
-DEFINES += SRCDIR=\\\"$$PWD/\\\"
-} else {
+wince* {
DEFINES += SRCDIR=\\\"./\\\"
+} else:!symbian {
+DEFINES += SRCDIR=\\\"$$PWD/\\\"
}
include (../xmlpatterns.pri)
diff --git a/tests/auto/xmlpatternsdiagnosticsts/test/test.pro b/tests/auto/xmlpatternsdiagnosticsts/test/test.pro
index aeff896..acd71e4 100644
--- a/tests/auto/xmlpatternsdiagnosticsts/test/test.pro
+++ b/tests/auto/xmlpatternsdiagnosticsts/test/test.pro
@@ -25,8 +25,8 @@ INCLUDEPATH += $$(QTSRCDIR)/tests/auto/xmlpatternsxqts/lib/ \
../../xmlpatternsxqts/test \
../../xmlpatternsxqts/lib
-wince*: {
- catalog.sources = TestSuite Baseline.xml
+wince*|symbian {
+ catalog.sources = ../TestSuite ../Baseline.xml
catalog.path = .
DEPLOYMENT += catalog
}
diff --git a/tests/auto/xmlpatternsschemats/xmlpatternsschemats.pro b/tests/auto/xmlpatternsschemats/xmlpatternsschemats.pro
index bcc988a..0f55078 100644
--- a/tests/auto/xmlpatternsschemats/xmlpatternsschemats.pro
+++ b/tests/auto/xmlpatternsschemats/xmlpatternsschemats.pro
@@ -11,8 +11,9 @@ SOURCES += ../xmlpatternsxqts/test/tst_suitetest.cpp
PATTERNIST_SDK = QtXmlPatternsSDK
if(!debug_and_release|build_pass):CONFIG(debug, debug|release) {
- win32:PATTERNIST_SDK = $${PATTERNIST_SDK}d
- else: PATTERNIST_SDK = $${PATTERNIST_SDK}_debug
+ symbian: PATTERNIST_SDK = $${PATTERNIST_SDK}
+ else:win32: PATTERNIST_SDK = $${PATTERNIST_SDK}d
+ else: PATTERNIST_SDK = $${PATTERNIST_SDK}_debug
}
LIBS += -l$$PATTERNIST_SDK
diff --git a/tests/auto/xmlpatternsxqts/lib/Global.h b/tests/auto/xmlpatternsxqts/lib/Global.h
index eadb940..a620417 100644
--- a/tests/auto/xmlpatternsxqts/lib/Global.h
+++ b/tests/auto/xmlpatternsxqts/lib/Global.h
@@ -47,7 +47,7 @@
#include "private/qitem_p.h"
#include "private/qnamepool_p.h"
-#ifdef Q_WS_WIN
+#if defined(Q_WS_WIN) || defined(Q_OS_SYMBIAN)
# ifdef Q_PATTERNISTSDK_BUILDING
#define Q_PATTERNISTSDK_EXPORT __declspec(dllexport)
#else
diff --git a/tests/auto/xmlpatternsxqts/lib/lib.pro b/tests/auto/xmlpatternsxqts/lib/lib.pro
index cb9453a..f5b0a06 100644
--- a/tests/auto/xmlpatternsxqts/lib/lib.pro
+++ b/tests/auto/xmlpatternsxqts/lib/lib.pro
@@ -13,6 +13,12 @@ mac {
INSTALLS += target
}
+symbian {
+ TARGET.EPOCALLOWDLLDATA=1
+ TARGET.CAPABILITY = All -Tcb
+ MMP_RULES += EXPORTUNFROZEN
+}
+
# We add gui, because xmlpatterns.pri pull it out.
QT += xmlpatterns xml network testlib gui
diff --git a/tests/auto/xmlpatternsxqts/test/test.pro b/tests/auto/xmlpatternsxqts/test/test.pro
index 603ae65..a69838a 100644
--- a/tests/auto/xmlpatternsxqts/test/test.pro
+++ b/tests/auto/xmlpatternsxqts/test/test.pro
@@ -24,5 +24,3 @@ win32 {
else: DESTDIR = ../release
}
TARGET = tst_xmlpatternsxqts
-
-include (../../xmlpatterns.pri)
diff --git a/tests/auto/xmlpatternsxqts/xmlpatternsxqts.pro b/tests/auto/xmlpatternsxqts/xmlpatternsxqts.pro
index a3b13da..39267c8 100644
--- a/tests/auto/xmlpatternsxqts/xmlpatternsxqts.pro
+++ b/tests/auto/xmlpatternsxqts/xmlpatternsxqts.pro
@@ -1,10 +1,10 @@
TEMPLATE = subdirs
-SUBDIRS = test
contains(QT_CONFIG,xmlpatterns) {
SUBDIRS += lib
!wince*:lib.file = lib/lib.pro
test.depends = lib
}
+SUBDIRS += test
# Needed on the win32-g++ setup and on the test machine arsia.
INCLUDEPATH += $$QT_BUILD_TREE/include/QtXmlPatterns/private \
diff --git a/tests/benchmarks/qapplication/main.cpp b/tests/benchmarks/qapplication/main.cpp
index a299db2..0ec65a8 100644
--- a/tests/benchmarks/qapplication/main.cpp
+++ b/tests/benchmarks/qapplication/main.cpp
@@ -39,7 +39,6 @@
**
****************************************************************************/
#include <QApplication>
-#include <QProcess>
#include <qtest.h>
@@ -54,34 +53,19 @@ private slots:
/*
Test the performance of the QApplication constructor.
- This test creates a new process and thus includes process creation overhead.
- Callgrind results are meaningless since the child process is not traced.
+ Note: results from the second start on can be misleading,
+ since all global statics are already initialized.
*/
void tst_qapplication::ctor()
{
- QProcess proc;
- const QString program = QCoreApplication::applicationFilePath();
- const QStringList arguments = QStringList() << QLatin1String("--exit-now");
-
+ // simulate reasonable argc, argv
+ int argc = 1;
+ char *argv[] = { "tst_qapplication" };
QBENCHMARK {
- proc.start(program, arguments);
- QVERIFY(proc.waitForStarted());
- QVERIFY(proc.waitForFinished());
- QCOMPARE(proc.exitStatus(), QProcess::NormalExit);
- QCOMPARE(proc.exitCode(), 0);
+ QApplication app(argc, argv);
}
}
-int main(int argc, char** argv)
-{
- QApplication app(argc, argv);
-
- if (argc == 2 && QLatin1String("--exit-now") == QLatin1String(argv[1])) {
- return 0;
- }
-
- tst_qapplication test;
- return QTest::qExec(&test, argc, argv);
-}
+QTEST_APPLESS_MAIN(tst_qapplication)
#include "main.moc"
diff --git a/tests/benchmarks/qmatrix4x4/tst_qmatrix4x4.cpp b/tests/benchmarks/qmatrix4x4/tst_qmatrix4x4.cpp
index 71f45ff..f80b579 100644
--- a/tests/benchmarks/qmatrix4x4/tst_qmatrix4x4.cpp
+++ b/tests/benchmarks/qmatrix4x4/tst_qmatrix4x4.cpp
@@ -220,7 +220,7 @@ void tst_QMatrix4x4::mapVector3D()
QVector3D v(10.5f, -2.0f, 3.0f);
QVector3D result;
- m1.inferSpecialType();
+ m1.optimize();
QBENCHMARK {
result = m1 * v;
@@ -244,7 +244,7 @@ void tst_QMatrix4x4::mapVector2D()
QPointF v(10.5f, -2.0f);
QPointF result;
- m1.inferSpecialType();
+ m1.optimize();
QBENCHMARK {
result = m1 * v;
diff --git a/tests/benchmarks/qscriptengine/tst_qscriptengine.cpp b/tests/benchmarks/qscriptengine/tst_qscriptengine.cpp
index 4f011c4..8d5f6e6 100644
--- a/tests/benchmarks/qscriptengine/tst_qscriptengine.cpp
+++ b/tests/benchmarks/qscriptengine/tst_qscriptengine.cpp
@@ -60,6 +60,8 @@ private slots:
void constructor();
void evaluate_data();
void evaluate();
+ void evaluateProgram_data();
+ void evaluateProgram();
void connectAndDisconnect();
void newObject();
void newQObject();
@@ -153,6 +155,22 @@ void tst_QScriptEngine::connectAndDisconnect()
}
}
+void tst_QScriptEngine::evaluateProgram_data()
+{
+ evaluate_data();
+}
+
+void tst_QScriptEngine::evaluateProgram()
+{
+ QFETCH(QString, code);
+ QScriptEngine engine;
+ QScriptProgram program(code);
+
+ QBENCHMARK {
+ (void)engine.evaluate(program);
+ }
+}
+
void tst_QScriptEngine::newObject()
{
QScriptEngine engine;
@@ -241,6 +259,5 @@ void tst_QScriptEngine::nativeCall()
}
}
-
QTEST_MAIN(tst_QScriptEngine)
#include "tst_qscriptengine.moc"
diff --git a/tests/manual/gestures/graphicsview/gestures.cpp b/tests/manual/gestures/graphicsview/gestures.cpp
index 5416457..4c21712 100644
--- a/tests/manual/gestures/graphicsview/gestures.cpp
+++ b/tests/manual/gestures/graphicsview/gestures.cpp
@@ -45,41 +45,41 @@
Qt::GestureType ThreeFingerSlideGesture::Type = Qt::CustomGesture;
-QGesture *ThreeFingerSlideGestureRecognizer::createGesture(QObject *)
+QGesture *ThreeFingerSlideGestureRecognizer::create(QObject *)
{
return new ThreeFingerSlideGesture;
}
-QGestureRecognizer::Result ThreeFingerSlideGestureRecognizer::filterEvent(QGesture *state, QObject *, QEvent *event)
+QGestureRecognizer::Result ThreeFingerSlideGestureRecognizer::recognize(QGesture *state, QObject *, QEvent *event)
{
ThreeFingerSlideGesture *d = static_cast<ThreeFingerSlideGesture *>(state);
QGestureRecognizer::Result result;
switch (event->type()) {
case QEvent::TouchBegin:
- result = QGestureRecognizer::MaybeGesture;
+ result = QGestureRecognizer::MayBeGesture;
case QEvent::TouchEnd:
if (d->gestureFired)
- result = QGestureRecognizer::GestureFinished;
+ result = QGestureRecognizer::FinishGesture;
else
- result = QGestureRecognizer::NotGesture;
+ result = QGestureRecognizer::CancelGesture;
case QEvent::TouchUpdate:
if (d->state() != Qt::NoGesture) {
QTouchEvent *ev = static_cast<QTouchEvent*>(event);
if (ev->touchPoints().size() == 3) {
d->gestureFired = true;
- result = QGestureRecognizer::GestureTriggered;
+ result = QGestureRecognizer::TriggerGesture;
} else {
- result = QGestureRecognizer::MaybeGesture;
+ result = QGestureRecognizer::MayBeGesture;
for (int i = 0; i < ev->touchPoints().size(); ++i) {
const QTouchEvent::TouchPoint &pt = ev->touchPoints().at(i);
const int distance = (pt.pos().toPoint() - pt.startPos().toPoint()).manhattanLength();
if (distance > 20) {
- result = QGestureRecognizer::NotGesture;
+ result = QGestureRecognizer::CancelGesture;
}
}
}
} else {
- result = QGestureRecognizer::NotGesture;
+ result = QGestureRecognizer::CancelGesture;
}
break;
@@ -89,7 +89,7 @@ QGestureRecognizer::Result ThreeFingerSlideGestureRecognizer::filterEvent(QGestu
if (d->state() != Qt::NoGesture)
result = QGestureRecognizer::Ignore;
else
- result = QGestureRecognizer::NotGesture;
+ result = QGestureRecognizer::CancelGesture;
break;
default:
result = QGestureRecognizer::Ignore;
@@ -105,12 +105,12 @@ void ThreeFingerSlideGestureRecognizer::reset(QGesture *state)
}
-QGesture *RotateGestureRecognizer::createGesture(QObject *)
+QGesture *RotateGestureRecognizer::create(QObject *)
{
return new QGesture;
}
-QGestureRecognizer::Result RotateGestureRecognizer::filterEvent(QGesture *, QObject *, QEvent *event)
+QGestureRecognizer::Result RotateGestureRecognizer::recognize(QGesture *, QObject *, QEvent *event)
{
switch (event->type()) {
case QEvent::TouchBegin:
diff --git a/tests/manual/gestures/graphicsview/gestures.h b/tests/manual/gestures/graphicsview/gestures.h
index 6140b12..8a31b71 100644
--- a/tests/manual/gestures/graphicsview/gestures.h
+++ b/tests/manual/gestures/graphicsview/gestures.h
@@ -59,8 +59,8 @@ public:
class ThreeFingerSlideGestureRecognizer : public QGestureRecognizer
{
private:
- QGesture* createGesture(QObject *target);
- QGestureRecognizer::Result filterEvent(QGesture *state, QObject *watched, QEvent *event);
+ QGesture *create(QObject *target);
+ QGestureRecognizer::Result recognize(QGesture *state, QObject *watched, QEvent *event);
void reset(QGesture *state);
};
@@ -70,8 +70,8 @@ public:
RotateGestureRecognizer();
private:
- QGesture* createGesture(QObject *target);
- QGestureRecognizer::Result filterEvent(QGesture *state, QObject *watched, QEvent *event);
+ QGesture *create(QObject *target);
+ QGestureRecognizer::Result recognize(QGesture *state, QObject *watched, QEvent *event);
void reset(QGesture *state);
};
diff --git a/tests/manual/gestures/graphicsview/main.cpp b/tests/manual/gestures/graphicsview/main.cpp
index e9065eb..f8433b5 100644
--- a/tests/manual/gestures/graphicsview/main.cpp
+++ b/tests/manual/gestures/graphicsview/main.cpp
@@ -66,11 +66,11 @@ protected:
default: qDebug("view: Pan: <unknown state>"); break;
}
- const QPointF offset = pan->offset();
+ const QPointF delta = pan->delta();
QScrollBar *vbar = verticalScrollBar();
QScrollBar *hbar = horizontalScrollBar();
- vbar->setValue(vbar->value() - offset.y());
- hbar->setValue(hbar->value() - offset.x());
+ vbar->setValue(vbar->value() - delta.y());
+ hbar->setValue(hbar->value() - delta.x());
ge->accept(pan);
return true;
}
@@ -152,8 +152,8 @@ private:
MainWindow::MainWindow()
{
- (void)qApp->registerGestureRecognizer(new MousePanGestureRecognizer);
- ThreeFingerSlideGesture::Type = qApp->registerGestureRecognizer(new ThreeFingerSlideGestureRecognizer);
+ (void)QGestureRecognizer::registerRecognizer(new MousePanGestureRecognizer);
+ ThreeFingerSlideGesture::Type = QGestureRecognizer::registerRecognizer(new ThreeFingerSlideGestureRecognizer);
tabWidget = new QTabWidget;
diff --git a/tests/manual/gestures/graphicsview/mousepangesturerecognizer.cpp b/tests/manual/gestures/graphicsview/mousepangesturerecognizer.cpp
index 6cdbe12..82adfbd 100644
--- a/tests/manual/gestures/graphicsview/mousepangesturerecognizer.cpp
+++ b/tests/manual/gestures/graphicsview/mousepangesturerecognizer.cpp
@@ -51,12 +51,12 @@ MousePanGestureRecognizer::MousePanGestureRecognizer()
{
}
-QGesture* MousePanGestureRecognizer::createGesture(QObject *)
+QGesture* MousePanGestureRecognizer::create(QObject *)
{
return new QPanGesture;
}
-QGestureRecognizer::Result MousePanGestureRecognizer::filterEvent(QGesture *state, QObject *, QEvent *event)
+QGestureRecognizer::Result MousePanGestureRecognizer::recognize(QGesture *state, QObject *, QEvent *event)
{
QPanGesture *g = static_cast<QPanGesture *>(state);
QPoint globalPos;
@@ -78,23 +78,19 @@ QGestureRecognizer::Result MousePanGestureRecognizer::filterEvent(QGesture *stat
if (event->type() == QEvent::MouseButtonPress || event->type() == QEvent::MouseButtonDblClick
|| event->type() == QEvent::GraphicsSceneMousePress || event->type() == QEvent::GraphicsSceneMouseDoubleClick) {
g->setHotSpot(globalPos);
- g->setProperty("lastPos", globalPos);
+ g->setProperty("startPos", globalPos);
g->setProperty("pressed", QVariant::fromValue<bool>(true));
- return QGestureRecognizer::GestureTriggered | QGestureRecognizer::ConsumeEventHint;
+ return QGestureRecognizer::TriggerGesture | QGestureRecognizer::ConsumeEventHint;
} else if (event->type() == QEvent::MouseMove || event->type() == QEvent::GraphicsSceneMouseMove) {
if (g->property("pressed").toBool()) {
- QPoint pos = globalPos;
- QPoint lastPos = g->property("lastPos").toPoint();
+ QPoint offset = globalPos - g->property("startPos").toPoint();
g->setLastOffset(g->offset());
- lastPos = pos - lastPos;
- g->setOffset(QPointF(lastPos.x(), lastPos.y()));
- g->setTotalOffset(g->totalOffset() + QPointF(lastPos.x(), lastPos.y()));
- g->setProperty("lastPos", pos);
- return QGestureRecognizer::GestureTriggered | QGestureRecognizer::ConsumeEventHint;
+ g->setOffset(QPointF(offset.x(), offset.y()));
+ return QGestureRecognizer::TriggerGesture | QGestureRecognizer::ConsumeEventHint;
}
- return QGestureRecognizer::NotGesture;
+ return QGestureRecognizer::CancelGesture;
} else if (event->type() == QEvent::MouseButtonRelease || event->type() == QEvent::GraphicsSceneMouseRelease) {
- return QGestureRecognizer::GestureFinished | QGestureRecognizer::ConsumeEventHint;
+ return QGestureRecognizer::FinishGesture | QGestureRecognizer::ConsumeEventHint;
}
return QGestureRecognizer::Ignore;
}
@@ -102,11 +98,10 @@ QGestureRecognizer::Result MousePanGestureRecognizer::filterEvent(QGesture *stat
void MousePanGestureRecognizer::reset(QGesture *state)
{
QPanGesture *g = static_cast<QPanGesture *>(state);
- g->setTotalOffset(QPointF());
g->setLastOffset(QPointF());
g->setOffset(QPointF());
g->setAcceleration(0);
- g->setProperty("lastPos", QVariant());
+ g->setProperty("startPos", QVariant());
g->setProperty("pressed", QVariant::fromValue<bool>(false));
QGestureRecognizer::reset(state);
}
diff --git a/tests/manual/gestures/graphicsview/mousepangesturerecognizer.h b/tests/manual/gestures/graphicsview/mousepangesturerecognizer.h
index b062fd0..6e04621 100644
--- a/tests/manual/gestures/graphicsview/mousepangesturerecognizer.h
+++ b/tests/manual/gestures/graphicsview/mousepangesturerecognizer.h
@@ -49,8 +49,8 @@ class MousePanGestureRecognizer : public QGestureRecognizer
public:
MousePanGestureRecognizer();
- QGesture* createGesture(QObject *target);
- QGestureRecognizer::Result filterEvent(QGesture *state, QObject *watched, QEvent *event);
+ QGesture* create(QObject *target);
+ QGestureRecognizer::Result recognize(QGesture *state, QObject *watched, QEvent *event);
void reset(QGesture *state);
};
diff --git a/tests/manual/gestures/scrollarea/main.cpp b/tests/manual/gestures/scrollarea/main.cpp
index f90f6c6..4f33b28 100644
--- a/tests/manual/gestures/scrollarea/main.cpp
+++ b/tests/manual/gestures/scrollarea/main.cpp
@@ -50,7 +50,7 @@ public:
ScrollArea(QWidget *parent = 0)
: QScrollArea(parent), outside(false)
{
- viewport()->grabGesture(Qt::PanGesture);
+ viewport()->grabGesture(Qt::PanGesture, Qt::ReceivePartialGestures);
}
protected:
@@ -73,11 +73,11 @@ protected:
QPanGesture *pan = static_cast<QPanGesture *>(event->gesture(Qt::PanGesture));
if (pan) {
switch(pan->state()) {
- case Qt::GestureStarted: qDebug("area: Pan: started"); break;
- case Qt::GestureFinished: qDebug("area: Pan: finished"); break;
- case Qt::GestureCanceled: qDebug("area: Pan: canceled"); break;
+ case Qt::GestureStarted: qDebug() << this << "Pan: started"; break;
+ case Qt::GestureFinished: qDebug() << this << "Pan: finished"; break;
+ case Qt::GestureCanceled: qDebug() << this << "Pan: canceled"; break;
case Qt::GestureUpdated: break;
- default: qDebug("area: Pan: <unknown state>"); break;
+ default: qDebug() << this << "Pan: <unknown state>"; break;
}
if (pan->state() == Qt::GestureStarted)
@@ -87,8 +87,8 @@ protected:
if (outside)
return;
- const QPointF offset = pan->offset();
- const QPointF totalOffset = pan->totalOffset();
+ const QPointF delta = pan->delta();
+ const QPointF totalOffset = pan->offset();
QScrollBar *vbar = verticalScrollBar();
QScrollBar *hbar = horizontalScrollBar();
@@ -102,8 +102,8 @@ protected:
outside = true;
return;
}
- vbar->setValue(vbar->value() - offset.y());
- hbar->setValue(hbar->value() - offset.x());
+ vbar->setValue(vbar->value() - delta.y());
+ hbar->setValue(hbar->value() - delta.x());
event->accept(pan);
}
}
@@ -134,11 +134,11 @@ protected:
QPanGesture *pan = static_cast<QPanGesture *>(event->gesture(Qt::PanGesture));
if (pan) {
switch (pan->state()) {
- case Qt::GestureStarted: qDebug("slider: Pan: started"); break;
- case Qt::GestureFinished: qDebug("slider: Pan: finished"); break;
- case Qt::GestureCanceled: qDebug("slider: Pan: canceled"); break;
+ case Qt::GestureStarted: qDebug() << this << "Pan: started"; break;
+ case Qt::GestureFinished: qDebug() << this << "Pan: finished"; break;
+ case Qt::GestureCanceled: qDebug() << this << "Pan: canceled"; break;
case Qt::GestureUpdated: break;
- default: qDebug("slider: Pan: <unknown state>"); break;
+ default: qDebug() << this << "Pan: <unknown state>"; break;
}
if (pan->state() == Qt::GestureStarted)
@@ -147,8 +147,8 @@ protected:
event->ignore(pan);
if (outside)
return;
- const QPointF offset = pan->offset();
- const QPointF totalOffset = pan->totalOffset();
+ const QPointF delta = pan->delta();
+ const QPointF totalOffset = pan->offset();
if (orientation() == Qt::Horizontal) {
if ((value() == minimum() && totalOffset.x() < -10) ||
(value() == maximum() && totalOffset.x() > 10)) {
@@ -156,7 +156,7 @@ protected:
return;
}
if (totalOffset.y() < 40 && totalOffset.y() > -40) {
- setValue(value() + offset.x());
+ setValue(value() + delta.x());
event->accept(pan);
} else {
outside = true;
@@ -168,7 +168,7 @@ protected:
return;
}
if (totalOffset.x() < 40 && totalOffset.x() > -40) {
- setValue(value() - offset.y());
+ setValue(value() - delta.y());
event->accept(pan);
} else {
outside = true;
@@ -186,6 +186,7 @@ public:
MainWindow()
{
rootScrollArea = new ScrollArea;
+ rootScrollArea->setObjectName(QLatin1String("rootScrollArea"));
setCentralWidget(rootScrollArea);
QWidget *root = new QWidget;
@@ -193,14 +194,17 @@ public:
rootScrollArea->setWidget(root);
Slider *verticalSlider = new Slider(Qt::Vertical, root);
+ verticalSlider->setObjectName(QLatin1String("verticalSlider"));
verticalSlider ->move(650, 1100);
Slider *horizontalSlider = new Slider(Qt::Horizontal, root);
+ horizontalSlider->setObjectName(QLatin1String("horizontalSlider"));
horizontalSlider ->move(600, 1000);
childScrollArea = new ScrollArea(root);
+ childScrollArea->setObjectName(QLatin1String("childScrollArea"));
childScrollArea->move(500, 500);
QWidget *w = new QWidget;
- w->setMinimumWidth(400);
+ w->setMinimumWidth(700);
QVBoxLayout *l = new QVBoxLayout(w);
l->setMargin(20);
for (int i = 0; i < 100; ++i) {
@@ -211,6 +215,14 @@ public:
l->addWidget(w);
}
childScrollArea->setWidget(w);
+#if defined(Q_OS_WIN)
+ // Windows can force Qt to create a native window handle for an
+ // intermediate widget and that will block gesture to get touch events.
+ // So this hack to make sure gestures get all touch events they need.
+ foreach (QObject *w, children())
+ if (w->isWidgetType())
+ static_cast<QWidget *>(w)->setAttribute(Qt::WA_AcceptTouchEvents);
+#endif
}
private:
ScrollArea *rootScrollArea;
@@ -220,7 +232,7 @@ private:
int main(int argc, char **argv)
{
QApplication app(argc, argv);
- app.registerGestureRecognizer(new MousePanGestureRecognizer);
+ QGestureRecognizer::registerRecognizer(new MousePanGestureRecognizer);
MainWindow w;
w.show();
return app.exec();
diff --git a/tests/manual/gestures/scrollarea/mousepangesturerecognizer.cpp b/tests/manual/gestures/scrollarea/mousepangesturerecognizer.cpp
index 5f94dbc..66fcf18 100644
--- a/tests/manual/gestures/scrollarea/mousepangesturerecognizer.cpp
+++ b/tests/manual/gestures/scrollarea/mousepangesturerecognizer.cpp
@@ -49,34 +49,39 @@ MousePanGestureRecognizer::MousePanGestureRecognizer()
{
}
-QGesture* MousePanGestureRecognizer::createGesture(QObject *) const
+QGesture *MousePanGestureRecognizer::create(QObject *)
{
return new QPanGesture;
}
-QGestureRecognizer::Result MousePanGestureRecognizer::filterEvent(QGesture *state, QObject *, QEvent *event)
+QGestureRecognizer::Result MousePanGestureRecognizer::recognize(QGesture *state, QObject *, QEvent *event)
{
QPanGesture *g = static_cast<QPanGesture *>(state);
+ if (event->type() == QEvent::TouchBegin) {
+ // ignore the following mousepress event
+ g->setProperty("ignoreMousePress", QVariant::fromValue<bool>(true));
+ } else if (event->type() == QEvent::TouchEnd) {
+ g->setProperty("ignoreMousePress", QVariant::fromValue<bool>(false));
+ }
QMouseEvent *me = static_cast<QMouseEvent *>(event);
- if (event->type() == QEvent::MouseButtonPress || event->type() == QEvent::MouseButtonDblClick) {
+ if (event->type() == QEvent::MouseButtonPress) {
+ if (g->property("ignoreMousePress").toBool())
+ return QGestureRecognizer::Ignore;
g->setHotSpot(me->globalPos());
- g->setProperty("lastPos", me->globalPos());
+ g->setProperty("startPos", me->globalPos());
g->setProperty("pressed", QVariant::fromValue<bool>(true));
- return QGestureRecognizer::GestureTriggered | QGestureRecognizer::ConsumeEventHint;
+ return QGestureRecognizer::TriggerGesture | QGestureRecognizer::ConsumeEventHint;
} else if (event->type() == QEvent::MouseMove) {
if (g->property("pressed").toBool()) {
- QPoint pos = me->globalPos();
- QPoint lastPos = g->property("lastPos").toPoint();
+ QPoint offset = me->globalPos() - g->property("startPos").toPoint();
g->setLastOffset(g->offset());
- lastPos = pos - lastPos;
- g->setOffset(QPointF(lastPos.x(), lastPos.y()));
- g->setTotalOffset(g->totalOffset() + QPointF(lastPos.x(), lastPos.y()));
- g->setProperty("lastPos", pos);
- return QGestureRecognizer::GestureTriggered | QGestureRecognizer::ConsumeEventHint;
+ g->setOffset(QPointF(offset.x(), offset.y()));
+ return QGestureRecognizer::TriggerGesture | QGestureRecognizer::ConsumeEventHint;
}
- return QGestureRecognizer::NotGesture;
+ return QGestureRecognizer::CancelGesture;
} else if (event->type() == QEvent::MouseButtonRelease) {
- return QGestureRecognizer::GestureFinished | QGestureRecognizer::ConsumeEventHint;
+ if (g->property("pressed").toBool())
+ return QGestureRecognizer::FinishGesture | QGestureRecognizer::ConsumeEventHint;
}
return QGestureRecognizer::Ignore;
}
@@ -84,11 +89,11 @@ QGestureRecognizer::Result MousePanGestureRecognizer::filterEvent(QGesture *stat
void MousePanGestureRecognizer::reset(QGesture *state)
{
QPanGesture *g = static_cast<QPanGesture *>(state);
- g->setTotalOffset(QPointF());
g->setLastOffset(QPointF());
g->setOffset(QPointF());
g->setAcceleration(0);
- g->setProperty("lastPos", QVariant());
+ g->setProperty("startPos", QVariant());
g->setProperty("pressed", QVariant::fromValue<bool>(false));
+ g->setProperty("ignoreMousePress", QVariant::fromValue<bool>(false));
QGestureRecognizer::reset(state);
}
diff --git a/tests/manual/gestures/scrollarea/mousepangesturerecognizer.h b/tests/manual/gestures/scrollarea/mousepangesturerecognizer.h
index c92d477..6e04621 100644
--- a/tests/manual/gestures/scrollarea/mousepangesturerecognizer.h
+++ b/tests/manual/gestures/scrollarea/mousepangesturerecognizer.h
@@ -49,8 +49,8 @@ class MousePanGestureRecognizer : public QGestureRecognizer
public:
MousePanGestureRecognizer();
- QGesture* createGesture(QObject *target) const;
- QGestureRecognizer::Result filterEvent(QGesture *state, QObject *watched, QEvent *event);
+ QGesture* create(QObject *target);
+ QGestureRecognizer::Result recognize(QGesture *state, QObject *watched, QEvent *event);
void reset(QGesture *state);
};
diff --git a/tests/manual/textrendering/glyphshaping/glyphshaping.pro b/tests/manual/textrendering/glyphshaping/glyphshaping.pro
new file mode 100644
index 0000000..caa9028
--- /dev/null
+++ b/tests/manual/textrendering/glyphshaping/glyphshaping.pro
@@ -0,0 +1,5 @@
+SOURCES = main.cpp
+OTHER_FILES = glyphshaping_data.xml
+glyphshaping_data.path = .
+glyphshaping_data.sources = $$PWD/glyphshaping_data.xml
+DEPLOYMENT += glyphshaping_data
diff --git a/tests/manual/textrendering/glyphshaping/glyphshaping_data.xml b/tests/manual/textrendering/glyphshaping/glyphshaping_data.xml
new file mode 100644
index 0000000..040804e
--- /dev/null
+++ b/tests/manual/textrendering/glyphshaping/glyphshaping_data.xml
@@ -0,0 +1,251 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<shapingtests>
+
+ <language name="Vietnamese">
+ <test
+ name="capital U, combining horn"
+ inpututf16="0x0055, 0x031B"
+ outpututf16="0x01AF"
+ />
+ <test
+ name="capital U, apostrophe"
+ inpututf16="0x0055, 0x0027"
+ outpututf16="0x0055"
+ />
+ <test
+ name="capital U, modifier prime"
+ inpututf16="0x0055, 0x02B9"
+ outpututf16="0x0055"
+ />
+ <test
+ name="capital U, modifier apostrophe"
+ inpututf16="0x0055, 0x02BC"
+ outpututf16="0x0055"
+ />
+ <test
+ name="capital U, combining comma above right"
+ inpututf16="0x0055, 0x0315"
+ outpututf16="0x0055, 0x0315"
+ />
+ <test
+ name="capital U, right single quote mark"
+ inpututf16="0x0055, 0x2019"
+ outpututf16="0x0055"
+ />
+ <test
+ name="capital U with horn, space"
+ inpututf16="0x01AF, 0x0020"
+ outpututf16="0x01AF"
+ />
+ <test
+ name="capital E, combining horn"
+ inpututf16="0x0045, 0x031B"
+ outpututf16="0x0045, 0x031B"
+ />
+ <test
+ name="capital A, combining breve, combining acute"
+ inpututf16="0x0041, 0x0306, 0x0301"
+ outpututf16="0x1EAE"
+ />
+ <test
+ name="capital A with breve, combining acute"
+ inpututf16="0x0102, 0x0301"
+ outpututf16="0x1EAE"
+ />
+ <test
+ name="capital A, combining acute, combining breve"
+ inpututf16="0x0041, 0x0301, 0x0306"
+ outpututf16="0x0041, 0x0301, 0x0306"
+ />
+ <test
+ name="capital A, combining dot below, combining breve"
+ inpututf16="0x0041, 0x0323"
+ outpututf16="0x0306"
+ />
+ <test
+ name="capital A with dot below, combining breve"
+ inpututf16="0x1EA0, 0x0306"
+ outpututf16="0x1EB6"
+ />
+ <test
+ name="capital A with breve, combining dot below"
+ inpututf16="0x0102, 0x0323"
+ outpututf16="0x0102, 0x0323"
+ />
+ <test
+ name="capital E, combining circumflex, combining acute"
+ inpututf16="0x0045, 0x0302, 0x0301"
+ outpututf16="0x1EBE"
+ />
+ <test
+ name="capital E with circumflex, combining acute"
+ inpututf16="0x00CA, 0x0301"
+ outpututf16="0x1EBE"
+ />
+ <test
+ name="capital O, combining horn, combining hook above"
+ inpututf16="0x004F, 0x031B, 0x0309"
+ outpututf16="0x1EDE"
+ />
+ <test
+ name="capital O with horn, combining hook above"
+ inpututf16="0x01A0, 0x0309"
+ outpututf16="0x1EDE"
+ />
+ </language>
+
+ <language name="Tamil">
+ <test
+ name="Tamil Ka"
+ inpututf16="0x0B95"
+ outputglyphids="0x0bf6"
+ />
+ <test
+ name="Tamil e"
+ inpututf16="0x0B8E"
+ outputglyphids="0x0bf0"
+ />
+ <test
+ name="Latin A"
+ inpututf16="0x0061"
+ outpututf16="0x0061"
+ />
+ <test
+ name="Hindi Ka"
+ inpututf16="0x0905"
+ outputglyphids="0x0528"
+ />
+ <test
+ name="03 - 1: Latin 06"
+ inpututf16="0x0036"
+ outputglyphids="0x077A"
+ />
+ <test
+ name="03 - 2: Tamil 06"
+ inpututf16="0x0BEC"
+ outputglyphids="0x0c20"
+ />
+ <test
+ name="10 1.3.6 - 1: Pa, Virama, Ka, Virama, Tta, -e"
+ inpututf16="0x0BAA, 0x0BCD, 0x0B95, 0x0BCD, 0x0B9F, 0x0BC7"
+ outputglyphids="0x0c3a, 0x0c30, 0x0c13, 0x0bfb"
+ />
+ <test
+ name="10 1.3.6 - 2: Pa, Virama, Ka, AU"
+ inpututf16="0x0BAA, 0x0BCD, 0x0B95, 0x0BCC"
+ outputglyphids="0x0c3a, 0x0c12, 0x0bf6, 0x0c19"
+ />
+ <test
+ name="10 1.3.6 - 3: Ka, Virama, Ssa, OO"
+ inpututf16="0x0B95, 0x0BCD, 0x0BB7, 0x0BCB"
+ outputglyphids="0x0c13, 0x0c2f, 0x0c0d"
+ />
+ <test
+ name="11: Ka, -e"
+ inpututf16="0x0B95, 0x0BC7"
+ outputglyphids="0x0c13, 0x0bf6"
+ />
+ <test
+ name="12 1.3.5.2: Ka, O"
+ inpututf16="0x0B95, 0x0BCA"
+ outputglyphids="0x0c12, 0x0bf6, 0x0c0d"
+ />
+ <test
+ name="13 - 1: Ka"
+ inpututf16="0x0B95"
+ outputglyphids="0x0bf6"
+ />
+ <test
+ name="13 - 2: Aythem, A"
+ inpututf16="0x0B83, 0x0B85"
+ />
+ <test
+ name="14 - 1: Ka, Anusvara"
+ inpututf16="0x0B95, 0x0B82"
+ outputglyphids="0x0bf6, 0x0be8"
+ />
+ <test
+ name="14 - 2: Ka"
+ inpututf16="0x0B95"
+ outputglyphids="0x0bf6"
+ />
+ <test
+ name="15 - 1: Ra, Virama"
+ inpututf16="0x0BB0, 0x0BCD"
+ outputglyphids="0x0c03"
+ />
+ <test
+ name="15 - 2: ZWJ"
+ inpututf16="0x8205"
+ />
+ <test
+ name="16: Ka, Anusvara"
+ inpututf16="0x0B95, 0x0B82"
+ outputglyphids="0x0bf6"
+ />
+ <test
+ name="17 1.3.11 - 1: Tta, I"
+ inpututf16="0x0B9F, 0x0BBF"
+ outputglyphids="0x0c51"
+ />
+ <test
+ name="17 1.3.11 - 2: Tta, Ii"
+ inpututf16="0x0B9F, 0x0BC0"
+ outputglyphids="0x0c52"
+ />
+ <test
+ name="18 - 1: Ra, I"
+ inpututf16="0x0BB0, 0x0BBF"
+ outputglyphids="0x0c0d, 0x0c0e"
+ />
+ <test
+ name="18 - 2: Ra, Ii"
+ inpututf16="0x0BB0, 0x0BC0"
+ outputglyphids="0x0c0d, 0x0c0f"
+ />
+ <test
+ name="19 - 1: Nga, I"
+ inpututf16="0x0B99, 0x0BBF"
+ outputglyphids="0x0bf7, 0x0c0e"
+ />
+ <test
+ name="19 - 2: Nga, Ii"
+ inpututf16="0x0B99, 0x0BC0"
+ outputglyphids="0x0c4a"
+ />
+ <test
+ name="20 - 1: Ja, U"
+ inpututf16="0x0B9C, 0x0BC1"
+ outputglyphids="0x0bf9, 0x0c10"
+ />
+ <test
+ name="20 - 2: Ja, Uu"
+ inpututf16="0x0B9C, 0x0BC2"
+ outputglyphids="0x0bf9, 0x0c11"
+ />
+ <test
+ name="21 1.3.15: Ka, Ai"
+ inpututf16="0x0B95, 0x0BC8"
+ outputglyphids="0x0c14, 0x0bf6"
+ />
+ <test
+ name="22: Ka, Virama, Ssa"
+ inpututf16="0x0B95, 0x0BCD, 0x0BB7"
+ outputglyphids="0x0c2f"
+ />
+ <test
+ name="23 1.3.17: Sa, Virama, Ra, Matra I"
+ inpututf16="0x0BB8, 0x0BCD, 0x0BB0, 0x0BC0"
+ outputglyphids="0x0c79"
+ />
+ <test
+ name="24 1.3.18 - 1: Ka"
+ inpututf16="0x0B95"
+ outputglyphids="0x0bf6"
+ />
+ <test
+ name="24 1.3.18 - 2: Virama, ZWJ"
+ inpututf16="0x0BCD, 0x8205"
+ />
+ </language>
+</shapingtests>
diff --git a/tests/manual/textrendering/glyphshaping/main.cpp b/tests/manual/textrendering/glyphshaping/main.cpp
new file mode 100644
index 0000000..d2b53a0
--- /dev/null
+++ b/tests/manual/textrendering/glyphshaping/main.cpp
@@ -0,0 +1,269 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, 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.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <QtGui>
+
+static const int fontPixelSize = 25;
+static const QLatin1String fontFamily("Series 60 Sans");
+
+struct testDataSet
+{
+ QString language;
+ QString name;
+ QString input;
+ QString inputOriginal;
+ QString output;
+ QString outputOriginal;
+ QVector<uint> outputGlyphIDs;
+ QString outputGlyphIDsOriginal;
+};
+
+QString charHexCsv2String(const QString &csv)
+{
+ QString result;
+ foreach (const QString &charString, csv.split(QLatin1Char(','), QString::SkipEmptyParts)) {
+ bool isOk;
+ const uint charUInt = charString.toUInt(&isOk, 16);
+ Q_ASSERT(isOk);
+ const int size = charUInt >= SHRT_MAX ? 2:1;
+ result.append(QString::fromUtf16((const ushort*)&charUInt, size));
+ }
+ return result;
+}
+
+QList<testDataSet> testDataSetList()
+{
+ QList<testDataSet> result;
+ QFile file("glyphshaping_data.xml");
+ const bool success = file.open(QIODevice::ReadOnly);
+ Q_ASSERT(success);
+
+ const QLatin1String language("language");
+ const QLatin1String test("test");
+ const QLatin1String inputUtf16("inpututf16");
+ const QLatin1String outputUtf16("outpututf16");
+ const QLatin1String outputGlyphIDs("outputglyphids");
+ const QLatin1String name("name");
+
+ QString languageName;
+
+ QXmlStreamReader reader(&file);
+ while (!reader.atEnd()) {
+ const QXmlStreamReader::TokenType token = reader.readNext();
+ switch (token) {
+ case QXmlStreamReader::StartElement:
+ if (reader.name() == language) {
+ Q_ASSERT(reader.attributes().hasAttribute(name));
+ languageName = reader.attributes().value(name).toString();
+ } else if (reader.name() == test) {
+ if (!reader.attributes().hasAttribute(outputUtf16)
+ && !reader.attributes().hasAttribute(outputGlyphIDs))
+ continue;
+ Q_ASSERT(!languageName.isEmpty());
+ Q_ASSERT(reader.attributes().hasAttribute(name));
+ Q_ASSERT(reader.attributes().hasAttribute(inputUtf16));
+ testDataSet set;
+ set.language = languageName;
+ set.name = reader.attributes().value(name).toString();
+ set.inputOriginal = reader.attributes().value(inputUtf16).toString();
+ set.input = charHexCsv2String(set.inputOriginal);
+ set.outputOriginal = reader.attributes().value(outputUtf16).toString();
+ set.output = charHexCsv2String(set.outputOriginal);
+ set.outputGlyphIDsOriginal = reader.attributes().value(outputGlyphIDs).toString();
+ result.append(set);
+ }
+ break;
+ default:
+ break;
+ }
+ }
+ return result;
+}
+
+QImage renderedText(const QString &text, const QFont &font)
+{
+ const QFontMetrics metrics(font);
+ const QRect boundingRect = metrics.boundingRect(text);
+ QImage result(boundingRect.size(), QImage::Format_ARGB32);
+ result.fill(0);
+
+ QPainter p(&result);
+ p.setFont(font);
+ p.drawText(boundingRect.translated(-boundingRect.topLeft()), text);
+
+ return result;
+}
+
+QString dumpImageHtml(const QString &text, const QString &pathName)
+{
+ if (text.isEmpty())
+ return QLatin1String("<td/>");
+ QFont font(fontFamily);
+ font.setPixelSize(fontPixelSize);
+ const QImage textImage = renderedText(text, font);
+ const QString imageFileName =
+ (pathName + QDir::separator() + QLatin1String("%1.png"))
+ .arg(textImage.cacheKey());
+ const bool success = textImage.save(imageFileName);
+ Q_ASSERT(success);
+ return
+ QString::fromLatin1("<td title=\"%2\"><img src=\"%1\" alt=\"%2\" width=\"%3\" height=\"%4\"/></td>")
+ .arg(QDir::cleanPath(imageFileName)).arg(text).arg(textImage.width()).arg(textImage.height());
+}
+
+QString dlItem(const QString &dt, const QString &dd)
+{
+ if (!dd.trimmed().isEmpty())
+ return QString::fromLatin1("\t\t\t\t\t\t<dt>%1</dt><dd>%2</dd>\n").arg(dt).arg(dd);
+ return QString();
+}
+
+bool dumpHtml(const QString &pathName)
+{
+ QFile htmlPage(pathName + QDir::separator() + QLatin1String("index.html"));
+ if (!htmlPage.open(QFile::WriteOnly))
+ return false;
+
+ QString platformName = QString::fromLatin1(
+#if defined(Q_OS_WIN)
+ "Win32"
+#elif defined(Q_WS_X11)
+ "X11"
+#elif defined(Q_OS_SYMBIAN)
+ "Symbian"
+#else
+ ""
+#endif
+ );
+
+ QString result = QString::fromLatin1(
+ "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\"\n"
+ " \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">\n\n"
+ "<html xmlns=\"http://www.w3.org/1999/xhtml\" xml:lang=\"en\" lang=\"en\">\n"
+ "\t<head>\n"
+ "\t\t<title>Qt on %1 glyph shaping (%2)</title>\n"
+ "\t\t<meta http-equiv=\"content-type\" content=\"text/html;charset=utf-8\" />\n"
+ "\t\t<style type=\"text/css\" media=\"screen\">\n"
+ "\t\t\ttable { font-family: Arial; background-color: #ccccff; font-size: 12pt; }\n"
+ "\t\t\ttd { font-family:\"%2\"; background-color: #eeeeee; font-size: %3px; }\n"
+ "\t\t\tth { font-weight:normal; }\n"
+ "\t\t\tdl { font-family: Arial; font-size: 8pt; margin: 3px; }\n"
+ "\t\t\tdt { font-weight: bold; float: left; }\n"
+ "\t\t\ttr:hover { background-color: #ddddff; }\n"
+ "\t\t\ttd:hover { background-color: #ddddff; }\n"
+ "\t\t</style>\n"
+ "\t</head>\n"
+ "\t<body>\n"
+ "\t\t<h1>Qt on %1 glyph shaping (%2)</h1>\n"
+ "\t\t<dl>\n"
+ "\t\t\t<dt>I</dt><dd>Input Utf-16 to shaper</dd>\n"
+ "\t\t\t<dt>O-Utf</dt><dd>expected output Utf-16</dd>\n"
+ "\t\t\t<dt>O-ID</dt><dd>expected output Glyph IDs for \"Series 60 Sans\"</dd>\n"
+ "\t\t</dl>\n"
+ "\t\t<table>\n"
+ ).arg(platformName).arg(fontFamily).arg(fontPixelSize);
+
+ QString languageName;
+ foreach (const testDataSet &dataSet, testDataSetList()) {
+ if (languageName != dataSet.language) {
+ result.append(QString::fromLatin1(
+ "\t\t\t<tr>\n"
+ "\t\t\t\t<th rowspan=\"2\"><h2>%1</h2></th>\n"
+ "\t\t\t\t<th colspan=\"2\">Qt/%2</th>\n"
+ "\t\t\t\t<th rowspan=\"2\">Glyphs</th>\n"
+ "\t\t\t\t<th colspan=\"2\">Browser</th>\n"
+ "\t\t\t</tr>\n"
+ "\t\t\t<tr>\n"
+ "\t\t\t\t<th>In</th>\n"
+ "\t\t\t\t<th>Out</th>\n"
+ "\t\t\t\t<th>In</th>\n"
+ "\t\t\t\t<th>Out</th>\n"
+ "\t\t\t</tr>\n"
+ ).arg(dataSet.language).arg(platformName));
+ languageName = dataSet.language;
+ }
+ QString glyphsData;
+ if (!dataSet.inputOriginal.isEmpty())
+ glyphsData.append(dlItem(QLatin1String("I"), dataSet.inputOriginal));
+ if (!dataSet.outputOriginal.isEmpty())
+ glyphsData.append(dlItem(QLatin1String("O-Utf"), dataSet.outputOriginal));
+ if (!dataSet.outputGlyphIDsOriginal.isEmpty())
+ glyphsData.append(dlItem(QLatin1String("O-ID"), dataSet.outputGlyphIDsOriginal));
+ if (!glyphsData.isEmpty()) {
+ glyphsData.prepend(QLatin1String("\t\t\t\t\t<dl>\n"));
+ glyphsData.append(QLatin1String("\t\t\t\t\t</dl>\n"));
+ }
+ result.append(QString::fromLatin1(
+ "\t\t\t<tr>\n"
+ "\t\t\t\t<th>%1</th>\n"
+ "\t\t\t\t%2\n"
+ "\t\t\t\t%3\n"
+ "\t\t\t\t<td>\n"
+ "%4"
+ "\t\t\t\t</td>\n"
+ "\t\t\t\t<td>%5</td>\n"
+ "\t\t\t\t<td>%6</td>\n"
+ "\t\t\t</tr>\n"
+ ).arg(dataSet.name)
+ .arg(dumpImageHtml(dataSet.input, pathName))
+ .arg(dumpImageHtml(dataSet.output, pathName))
+ .arg(glyphsData)
+ .arg(dataSet.input)
+ .arg(dataSet.output)
+ );
+ }
+
+ result.append(QString::fromLatin1(
+ "\t\t</table>\n"
+ "\t</body>\n"
+ "</html>")
+ );
+
+ htmlPage.write(result.toUtf8());
+
+ return true;
+}
+
+int main(int argc, char *argv[])
+{
+ QApplication a(argc, argv);
+ return dumpHtml(QLatin1String(".")) ? 0 : 1;
+}
diff --git a/tests/manual/textrendering/textperformance/main.cpp b/tests/manual/textrendering/textperformance/main.cpp
new file mode 100644
index 0000000..47e0a88
--- /dev/null
+++ b/tests/manual/textrendering/textperformance/main.cpp
@@ -0,0 +1,231 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, 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.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <QtGui>
+
+static const int lastMeasurementsCount = 50;
+
+class FontBlaster: public QWidget
+{
+ Q_OBJECT
+
+public:
+ FontBlaster(QWidget *parent = 0)
+ : QWidget(parent)
+ , m_currentMode(0)
+ {
+ setFocusPolicy(Qt::StrongFocus);
+ }
+
+ void paintEvent(QPaintEvent *event)
+ {
+ Q_UNUSED(event);
+ QPainter p(this);
+
+ if (!m_timer.isNull())
+ m_lastMeasurements.append(m_timer.elapsed());
+ m_timer.start();
+
+ p.save();
+ m_modes[m_currentMode].function(p, size());
+ p.restore();
+
+ const QFontMetrics fm = p.fontMetrics();
+ p.setOpacity(0.7);
+ p.fillRect(0, 0, width(), fm.height(), Qt::gray);
+ p.fillRect(0, height() - fm.height(), width(), height(), Qt::gray);
+ p.setOpacity(1);
+ p.setPen(palette().color(QPalette::Text));
+ p.drawText(2, fm.ascent(), m_modes[m_currentMode].name);
+
+ if (m_lastMeasurements.count() == lastMeasurementsCount) {
+ m_lastMeasurements.removeFirst();
+ int lastMsecsSum = 0;
+ foreach(const int measurement, m_lastMeasurements)
+ lastMsecsSum += measurement;
+
+ p.drawText(2, height() - fm.descent(),
+ QLatin1String("Fps: ") +
+ QString::number(1000 / ((qreal)lastMsecsSum / lastMeasurementsCount), 'f', 1)
+ );
+ }
+
+ QTimer::singleShot(0, this, SLOT(repaint()));
+ }
+
+ /*
+ Creating all kinds of size/weight/italic combinations, stress testing
+ the glyph cache.
+ Also: painting with different opacities, stress testing blitting.
+ */
+ static void paintDifferentFontStyles(QPainter &p, const QSize &size)
+ {
+ static const QString text = QLatin1String("Qt rocks!!!");
+ static const int textsPerPaint = 30;
+ for (int i = 0; i < textsPerPaint; i++) {
+ const int fontSize = 4 + (qrand() % 5);
+ const int fontWeight = (qrand() % 2) == 1 ? QFont::Normal : QFont::Bold;
+ const bool fontItalic = (qrand() % 2) == 1;
+ const QFont font("Default", fontSize, fontWeight, fontItalic);
+ p.setFont(font);
+ p.setPen(QColor::fromHsv(qrand() % 359, 155 + qrand() % 100,
+ 155 + qrand() % 100, 100 + qrand() % 155));
+ const QSize textSize(p.fontMetrics().boundingRect(text).size());
+ const QPoint position(
+ -textSize.width() / 2 + (qrand() % size.width()),
+ textSize.height() / 2 + (qrand() % size.height()));
+ p.drawText(position, text);
+ }
+ }
+
+ /*
+ Drawing a multiline latin text, stress testing the text layout system.
+ */
+ static void paintLongLatinText(QPainter &p, const QSize &size)
+ {
+ static const char* const pieces[] = {
+ "lorem ipsum",
+ "dolor sit amet",
+ "consectetuer",
+ "sed diam nonumy",
+ "eos et accusam",
+ "sea takimata sanctus"
+ };
+ static const int piecesCount = (int)(sizeof pieces / sizeof pieces[0]);
+ static const int piecesPerPaint = 30;
+
+ QString text;
+ for (int i = 0; i < piecesPerPaint; ++i) {
+ QString piece = QLatin1String(pieces[qrand() % piecesCount]);
+ if (i == 0 || qrand() % 2) {
+ // Make this piece the beginning of a new sentence.
+ piece[0] = piece[0].toUpper();
+ if (i > 0)
+ piece.prepend(QLatin1String(". "));
+ } else {
+ piece.prepend(QLatin1String(", "));
+ }
+ text.append(piece);
+ }
+ text.append(QLatin1Char('.'));
+
+ p.drawText(QRectF(QPointF(0, 0), QSizeF(size)),
+ Qt::AlignTop | Qt::AlignAbsolute | Qt::TextWordWrap, text);
+ }
+
+ /*
+ Drawing one text with several snippets of different writingSystems, stress
+ testing the font merging in the font database.
+ */
+ static void paintInternationalText(QPainter &p, const QSize &size)
+ {
+ static QStringList samples;
+ if (samples.isEmpty()) {
+ foreach (const QFontDatabase::WritingSystem system, QFontDatabase().writingSystems())
+ if (system != QFontDatabase::Ogham && system != QFontDatabase::Runic)
+ samples.append(QFontDatabase::writingSystemSample(system));
+ }
+ static const int systemsPerPaint = 65;
+ QString text;
+ for (int i = 0; i < systemsPerPaint; i++) {
+ if (i > 0)
+ text.append(QLatin1Char(' '));
+ text.append(samples.at(qrand() % samples.count()));
+ }
+ p.drawText(QRectF(QPointF(0, 0), QSizeF(size)),
+ Qt::AlignTop | Qt::AlignAbsolute | Qt::TextWordWrap, text);
+ }
+
+protected:
+ void nextMode()
+ {
+ m_currentMode = (m_currentMode + 1) % m_modesCount;
+ m_lastMeasurements.clear();
+ }
+
+ void keyPressEvent(QKeyEvent *event)
+ {
+ Q_UNUSED(event);
+ nextMode();
+ }
+
+ void mousePressEvent(QMouseEvent *event)
+ {
+ Q_UNUSED(event);
+ nextMode();
+ }
+
+private:
+ static const struct mode {
+ QString name;
+ void (*function)(QPainter &, const QSize&);
+ } m_modes[];
+ static const int m_modesCount;
+
+ int m_currentMode;
+ QList<int> m_lastMeasurements;
+ QTime m_timer;
+};
+
+const struct FontBlaster::mode FontBlaster::m_modes[] = {
+ { QLatin1String("Qt rocks!!!"), FontBlaster::paintDifferentFontStyles },
+ { QLatin1String("Latin"), FontBlaster::paintLongLatinText },
+ { QLatin1String("International"), FontBlaster::paintInternationalText }
+};
+
+const int FontBlaster::m_modesCount =
+ (int)(sizeof m_modes / sizeof m_modes[0]);
+
+int main(int argc, char *argv[])
+{
+ QApplication a(argc, argv);
+
+ FontBlaster dlg;
+#ifdef Q_OS_SYMBIAN
+ dlg.showFullScreen();
+#else
+ dlg.show();
+#endif
+
+ return a.exec();
+}
+
+#include "main.moc"
diff --git a/tests/manual/textrendering/textperformance/textperformance.pro b/tests/manual/textrendering/textperformance/textperformance.pro
new file mode 100644
index 0000000..bba41b9
--- /dev/null
+++ b/tests/manual/textrendering/textperformance/textperformance.pro
@@ -0,0 +1 @@
+SOURCES = main.cpp
diff --git a/tools/assistant/tools/assistant/assistant.qch b/tools/assistant/tools/assistant/assistant.qch
index 3e66bd9..78fe9f3 100644
--- a/tools/assistant/tools/assistant/assistant.qch
+++ b/tools/assistant/tools/assistant/assistant.qch
Binary files differ
diff --git a/tools/assistant/tools/assistant/centralwidget.cpp b/tools/assistant/tools/assistant/centralwidget.cpp
index 04739d4..62b4736 100644
--- a/tools/assistant/tools/assistant/centralwidget.cpp
+++ b/tools/assistant/tools/assistant/centralwidget.cpp
@@ -222,14 +222,15 @@ CentralWidget::CentralWidget(QHelpEngine *engine, MainWindow *parent)
QVBoxLayout *vboxLayout = new QVBoxLayout(this);
QString resourcePath = QLatin1String(":/trolltech/assistant/images/");
-#ifndef Q_OS_MAC
vboxLayout->setMargin(0);
+#ifndef Q_OS_MAC
resourcePath.append(QLatin1String("win"));
#else
resourcePath.append(QLatin1String("mac"));
#endif
tabWidget = new QTabWidget(this);
+ tabWidget->setDocumentMode(true);
connect(tabWidget, SIGNAL(currentChanged(int)), this,
SLOT(currentPageChanged(int)));
diff --git a/tools/assistant/translations/translations.pro b/tools/assistant/translations/translations.pro
index 6ff1fc9..95501ab 100644
--- a/tools/assistant/translations/translations.pro
+++ b/tools/assistant/translations/translations.pro
@@ -44,6 +44,7 @@ TR_DIR = $$PWD/../../../translations
TRANSLATIONS = \
$$TR_DIR/assistant_da.ts \
$$TR_DIR/assistant_de.ts \
+ $$TR_DIR/assistant_fr.ts \
$$TR_DIR/assistant_ja.ts \
$$TR_DIR/assistant_pl.ts \
$$TR_DIR/assistant_ru.ts \
diff --git a/tools/configure/configureapp.cpp b/tools/configure/configureapp.cpp
index f57f3a8..d8c2abd 100644
--- a/tools/configure/configureapp.cpp
+++ b/tools/configure/configureapp.cpp
@@ -249,6 +249,7 @@ Configure::Configure( int& argc, char** argv )
dictionary[ "MULTIMEDIA" ] = "yes";
dictionary[ "DIRECTSHOW" ] = "no";
dictionary[ "WEBKIT" ] = "auto";
+ dictionary[ "DECLARATIVE" ] = "auto";
dictionary[ "PLUGIN_MANIFESTS" ] = "yes";
QString version;
@@ -905,6 +906,10 @@ void Configure::parseCmdLine()
dictionary[ "WEBKIT" ] = "no";
} else if( configCmdLine.at(i) == "-webkit" ) {
dictionary[ "WEBKIT" ] = "yes";
+ } else if( configCmdLine.at(i) == "-no-declarative" ) {
+ dictionary[ "DECLARATIVE" ] = "no";
+ } else if( configCmdLine.at(i) == "-declarative" ) {
+ dictionary[ "DECLARATIVE" ] = "yes";
} else if( configCmdLine.at(i) == "-no-plugin-manifests" ) {
dictionary[ "PLUGIN_MANIFESTS" ] = "no";
} else if( configCmdLine.at(i) == "-plugin-manifests" ) {
@@ -1412,7 +1417,6 @@ void Configure::applySpecSpecifics()
dictionary[ "WEBKIT" ] = "no";
dictionary[ "PHONON" ] = "yes";
dictionary[ "DIRECTSHOW" ] = "no";
- dictionary[ "LTCG" ] = "yes";
// We only apply MMX/IWMMXT for mkspecs we know they work
if (dictionary[ "XQMAKESPEC" ].startsWith("wincewm")) {
dictionary[ "MMX" ] = "yes";
@@ -1448,10 +1452,10 @@ void Configure::applySpecSpecifics()
dictionary[ "IWMMXT" ] = "no";
dictionary[ "CE_CRT" ] = "no";
dictionary[ "DIRECT3D" ] = "no";
- dictionary[ "WEBKIT" ] = "no";
+ dictionary[ "WEBKIT" ] = "yes";
dictionary[ "ASSISTANT_WEBKIT" ] = "no";
dictionary[ "PHONON" ] = "yes";
- dictionary[ "XMLPATTERNS" ] = "no";
+ dictionary[ "XMLPATTERNS" ] = "yes";
dictionary[ "QT_GLIB" ] = "no";
dictionary[ "S60" ] = "yes";
// iconv makes makes apps start and run ridiculously slowly in symbian emulator (HW not tested)
@@ -1746,6 +1750,8 @@ bool Configure::displayHelp()
desc("SCRIPT", "yes", "-script", "Build the QtScript module.");
desc("SCRIPTTOOLS", "no", "-no-scripttools", "Do not build the QtScriptTools module.");
desc("SCRIPTTOOLS", "yes", "-scripttools", "Build the QtScriptTools module.");
+ desc("DECLARATIVE", "no", "-no-declarative", "Do not build the declarative module");
+ desc("DECLARATIVE", "yes", "-declarative", "Build the declarative module");
desc( "-arch <arch>", "Specify an architecture.\n"
"Available values for <arch>:");
@@ -2032,6 +2038,8 @@ bool Configure::checkAvailability(const QString &part)
available = true;
} else if (part == "WEBKIT") {
available = (dictionary.value("QMAKESPEC") == "win32-msvc2005") || (dictionary.value("QMAKESPEC") == "win32-msvc2008") || (dictionary.value("QMAKESPEC") == "win32-g++");
+ } else if (part == "DECLARATIVE") {
+ available = QFile::exists(sourcePath + "/src/declarative/qml/qmlcomponent.h");
}
return available;
@@ -2118,6 +2126,8 @@ void Configure::autoDetection()
dictionary["PHONON"] = checkAvailability("PHONON") ? "yes" : "no";
if (dictionary["WEBKIT"] == "auto")
dictionary["WEBKIT"] = checkAvailability("WEBKIT") ? "yes" : "no";
+ if (dictionary["DECLARATIVE"] == "auto")
+ dictionary["DECLARATIVE"] = checkAvailability("DECLARATIVE") ? "yes" : "no";
// Qt/WinCE remote test application
if (dictionary["CETEST"] == "auto")
@@ -2438,14 +2448,17 @@ void Configure::generateOutputVars()
if ( dictionary["OPENGL_ES_CM"] == "yes" ) {
qtConfig += "opengles1";
+ qtConfig += "egl";
}
if ( dictionary["OPENGL_ES_2"] == "yes" ) {
qtConfig += "opengles2";
+ qtConfig += "egl";
}
if ( dictionary["OPENGL_ES_CL"] == "yes" ) {
qtConfig += "opengles1cl";
+ qtConfig += "egl";
}
if ( dictionary["OPENVG"] == "yes" ) {
@@ -2505,6 +2518,9 @@ void Configure::generateOutputVars()
if (dictionary["WEBKIT"] == "yes")
qtConfig += "webkit";
+ if (dictionary["DECLARATIVE"] == "yes")
+ qtConfig += "declarative";
+
// We currently have no switch for QtSvg, so add it unconditionally.
qtConfig += "svg";
@@ -2780,17 +2796,6 @@ QString Configure::addDefine(QString def)
}
#if !defined(EVAL)
-// ### This should be removed once Qt for S60 is out.
-static void applyTemporarySymbianFlags(QStringList &qconfigList)
-{
- qconfigList += "QT_NO_CONCURRENT";
- qconfigList += "QT_NO_QFUTURE";
- // This is removed because it uses UNIX signals which are not implemented yet
- qconfigList += "QT_NO_CRASHHANDLER";
- qconfigList += "QT_NO_PRINTER";
- qconfigList += "QT_NO_SYSTEMTRAYICON";
-}
-
void Configure::generateConfigfiles()
{
QDir(buildPath).mkpath("src/corelib/global");
@@ -2884,6 +2889,7 @@ void Configure::generateConfigfiles()
if(dictionary["DBUS"] == "no") qconfigList += "QT_NO_DBUS";
if(dictionary["IPV6"] == "no") qconfigList += "QT_NO_IPV6";
if(dictionary["WEBKIT"] == "no") qconfigList += "QT_NO_WEBKIT";
+ if(dictionary["DECLARATIVE"] == "no") qconfigList += "QT_NO_DECLARATIVE";
if(dictionary["PHONON"] == "no") qconfigList += "QT_NO_PHONON";
if(dictionary["MULTIMEDIA"] == "no") qconfigList += "QT_NO_MULTIMEDIA";
if(dictionary["XMLPATTERNS"] == "no") qconfigList += "QT_NO_XMLPATTERNS";
@@ -2913,9 +2919,14 @@ void Configure::generateConfigfiles()
if (dictionary["GRAPHICS_SYSTEM"] == "openvg") qconfigList += "QT_GRAPHICSSYSTEM_OPENVG";
if (dictionary["GRAPHICS_SYSTEM"] == "opengl") qconfigList += "QT_GRAPHICSSYSTEM_OPENGL";
if (dictionary["GRAPHICS_SYSTEM"] == "raster") qconfigList += "QT_GRAPHICSSYSTEM_RASTER";
- // ### This block should be removed once Qt for S60 is out.
+
if (dictionary.contains("XQMAKESPEC") && dictionary["XQMAKESPEC"].startsWith("symbian")) {
- applyTemporarySymbianFlags(qconfigList);
+ // These features are not ported to Symbian (yet)
+ qconfigList += "QT_NO_CONCURRENT";
+ qconfigList += "QT_NO_QFUTURE";
+ qconfigList += "QT_NO_CRASHHANDLER";
+ qconfigList += "QT_NO_PRINTER";
+ qconfigList += "QT_NO_SYSTEMTRAYICON";
}
qconfigList.sort();
@@ -3033,7 +3044,11 @@ void Configure::generateConfigfiles()
tmpStream.setDevice(&tmpFile2);
tmpStream << "/* Licensed */" << endl
<< "static const char qt_configure_licensee_str [512 + 12] = \"qt_lcnsuser=" << licenseInfo["LICENSEE"] << "\";" << endl
- << "static const char qt_configure_licensed_products_str [512 + 12] = \"qt_lcnsprod=" << dictionary["EDITION"] << "\";" << endl;
+ << "static const char qt_configure_licensed_products_str [512 + 12] = \"qt_lcnsprod=" << dictionary["EDITION"] << "\";" << endl
+ << endl
+ << "/* Build date */" << endl
+ << "static const char qt_configure_installation [11 + 12] = \"qt_instdate=" << QDate::currentDate().toString(Qt::ISODate) << "\";" << endl
+ << endl;
if(!dictionary[ "QT_HOST_PREFIX" ].isNull())
tmpStream << "#if !defined(QT_BOOTSTRAPPED) && !defined(QT_BUILD_QMAKE)" << endl;
tmpStream << "static const char qt_configure_prefix_path_str [512 + 12] = \"qt_prfxpath=" << QString(dictionary["QT_INSTALL_PREFIX"]).replace( "\\", "\\\\" ) << "\";" << endl
@@ -3087,6 +3102,24 @@ void Configure::generateConfigfiles()
tmpFile2.copy(outName);
tmpFile2.close();
}
+
+ QTemporaryFile tmpFile3;
+ if (tmpFile3.open()) {
+ tmpStream.setDevice(&tmpFile3);
+ tmpStream << "/* Evaluation license key */" << endl
+ << "static const char qt_eval_key_data [512 + 12] = \"qt_qevalkey=" << licenseInfo["LICENSEKEYEXT"] << "\";" << endl;
+
+ tmpStream.flush();
+ tmpFile3.flush();
+
+ outName = buildPath + "/src/corelib/global/qconfig_eval.cpp";
+ ::SetFileAttributes((wchar_t*)outName.utf16(), FILE_ATTRIBUTE_NORMAL );
+ QFile::remove( outName );
+
+ if (dictionary["EDITION"] == "Evaluation" || qmakeDefines.contains("QT_EVAL"))
+ tmpFile3.copy(outName);
+ tmpFile3.close();
+ }
}
#endif
@@ -3155,6 +3188,7 @@ void Configure::displayConfig()
cout << "Phonon support.............." << dictionary[ "PHONON" ] << endl;
cout << "QtMultimedia support........" << dictionary[ "MULTIMEDIA" ] << endl;
cout << "WebKit support.............." << dictionary[ "WEBKIT" ] << endl;
+ cout << "Declarative support........." << dictionary[ "DECLARATIVE" ] << endl;
cout << "QtScript support............" << dictionary[ "SCRIPT" ] << endl;
cout << "QtScriptTools support......." << dictionary[ "SCRIPTTOOLS" ] << endl;
cout << "Graphics System............." << dictionary[ "GRAPHICS_SYSTEM" ] << endl;
diff --git a/tools/designer/src/lib/shared/qdesigner_tabwidget.cpp b/tools/designer/src/lib/shared/qdesigner_tabwidget.cpp
index 2789bd3..f4f3d24 100644
--- a/tools/designer/src/lib/shared/qdesigner_tabwidget.cpp
+++ b/tools/designer/src/lib/shared/qdesigner_tabwidget.cpp
@@ -399,6 +399,7 @@ static const char *currentTabNameKey = "currentTabName";
static const char *currentTabIconKey = "currentTabIcon";
static const char *currentTabToolTipKey = "currentTabToolTip";
static const char *currentTabWhatsThisKey = "currentTabWhatsThis";
+static const char *tabMovableKey = "movable";
QTabWidgetPropertySheet::QTabWidgetPropertySheet(QTabWidget *object, QObject *parent) :
QDesignerPropertySheet(object, parent),
@@ -411,6 +412,8 @@ QTabWidgetPropertySheet::QTabWidgetPropertySheet(QTabWidget *object, QObject *pa
formWindowBase()->addReloadableProperty(this, indexOf(QLatin1String(currentTabIconKey)));
createFakeProperty(QLatin1String(currentTabToolTipKey), qVariantFromValue(qdesigner_internal::PropertySheetStringValue()));
createFakeProperty(QLatin1String(currentTabWhatsThisKey), qVariantFromValue(qdesigner_internal::PropertySheetStringValue()));
+ // Prevent the tab widget's drag and drop handling from interfering with Designer's
+ createFakeProperty(QLatin1String(tabMovableKey), QVariant(false));
}
QTabWidgetPropertySheet::TabWidgetProperty QTabWidgetPropertySheet::tabWidgetPropertyFromName(const QString &name)
diff --git a/tools/linguist/linguist/mainwindow.cpp b/tools/linguist/linguist/mainwindow.cpp
index 9bc6641..7f09a1c 100644
--- a/tools/linguist/linguist/mainwindow.cpp
+++ b/tools/linguist/linguist/mainwindow.cpp
@@ -269,6 +269,7 @@ MainWindow::MainWindow()
m_editActiveModel(-1),
m_statistics(0)
{
+ setUnifiedTitleAndToolBarOnMac(true);
m_ui.setupUi(this);
#ifndef Q_WS_MAC
diff --git a/tools/linguist/lupdate/cpp.cpp b/tools/linguist/lupdate/cpp.cpp
index 7a616e3..4d89156 100644
--- a/tools/linguist/lupdate/cpp.cpp
+++ b/tools/linguist/lupdate/cpp.cpp
@@ -1896,28 +1896,29 @@ void CppParser::parseInternal(ConversionData &cd, QSet<QString> &inclusions)
prospectiveContext.clear();
}
break;
- case Tok_Comment:
+ case Tok_Comment: {
if (!tor)
goto case_default;
- if (yyWord.startsWith(QLatin1Char(':'))) {
- yyWord.remove(0, 1);
+ const QChar *ptr = yyWord.unicode();
+ if (*ptr == QLatin1Char(':') && ptr[1].isSpace()) {
+ yyWord.remove(0, 2);
extracomment += yyWord;
extracomment.detach();
- } else if (yyWord.startsWith(QLatin1Char('='))) {
- yyWord.remove(0, 1);
+ } else if (*ptr == QLatin1Char('=') && ptr[1].isSpace()) {
+ yyWord.remove(0, 2);
msgid = yyWord.simplified();
msgid.detach();
- } else if (yyWord.startsWith(QLatin1Char('~'))) {
- yyWord.remove(0, 1);
+ } else if (*ptr == QLatin1Char('~') && ptr[1].isSpace()) {
+ yyWord.remove(0, 2);
text = yyWord.trimmed();
int k = text.indexOf(QLatin1Char(' '));
if (k > -1)
extra.insert(text.left(k), text.mid(k + 1).trimmed());
text.clear();
- } else if (yyWord.startsWith(QLatin1Char('%'))) {
- sourcetext.reserve(sourcetext.length() + yyWord.length());
+ } else if (*ptr == QLatin1Char('%') && ptr[1].isSpace()) {
+ sourcetext.reserve(sourcetext.length() + yyWord.length() - 2);
ushort *ptr = (ushort *)sourcetext.data() + sourcetext.length();
- int p = 1, c;
+ int p = 2, c;
forever {
if (p >= yyWord.length())
break;
@@ -1977,6 +1978,7 @@ void CppParser::parseInternal(ConversionData &cd, QSet<QString> &inclusions)
}
yyTok = getToken();
break;
+ }
case Tok_Arrow:
yyTok = getToken();
if (yyTok == Tok_tr || yyTok == Tok_trUtf8)
diff --git a/tools/linguist/phrasebooks/french.qph b/tools/linguist/phrasebooks/french.qph
index d38da5a..9440345 100644
--- a/tools/linguist/phrasebooks/french.qph
+++ b/tools/linguist/phrasebooks/french.qph
@@ -1326,4 +1326,24 @@
<source>Close All Except %1</source>
<target>Fermer tout sauf %1</target>
</phrase>
+<phrase>
+ <source>Remove</source>
+ <target>Suppression</target>
+</phrase>
+<phrase>
+ <source>About...</source>
+ <target>À propos…</target>
+</phrase>
+<phrase>
+ <source>Minimize</source>
+ <target>Minimiser</target>
+</phrase>
+<phrase>
+ <source>Remove</source>
+ <target>Supprimer</target>
+</phrase>
+<phrase>
+ <source>Select All</source>
+ <target>Sélectionner tout</target>
+</phrase>
</QPH>
diff --git a/tools/qdoc3/config.h b/tools/qdoc3/config.h
index 07cdb59..725129a 100644
--- a/tools/qdoc3/config.h
+++ b/tools/qdoc3/config.h
@@ -162,6 +162,10 @@ class Config
#define CONFIG_FILEEXTENSIONS "fileextensions"
+#ifdef QDOC_QML
+#define CONFIG_QMLONLY "qmlonly"
+#endif
+
QT_END_NAMESPACE
#endif
diff --git a/tools/qdoc3/cppcodemarker.cpp b/tools/qdoc3/cppcodemarker.cpp
index 36293f8..c07be8b 100644
--- a/tools/qdoc3/cppcodemarker.cpp
+++ b/tools/qdoc3/cppcodemarker.cpp
@@ -353,6 +353,10 @@ QString CppCodeMarker::markedUpQmlItem(const Node* node, bool summary)
QString name = taggedQmlNode(node);
if (summary) {
name = linkTag(node,name);
+ } else if (node->type() == Node::QmlProperty) {
+ const QmlPropertyNode* pn = static_cast<const QmlPropertyNode*>(node);
+ if (pn->isAttached())
+ name.prepend(pn->element() + QLatin1Char('.'));
}
name = "<@name>" + name + "</@name>";
QString synopsis = name;
@@ -1109,21 +1113,29 @@ QList<Section> CppCodeMarker::qmlSections(const QmlClassNode* qmlClassNode,
if (qmlClassNode) {
if (style == Summary) {
FastSection qmlproperties(qmlClassNode,
- "QML Properties",
+ "Properties",
"property",
"properties");
FastSection qmlattachedproperties(qmlClassNode,
- "QML Attached Properties",
+ "Attached Properties",
"property",
"properties");
FastSection qmlsignals(qmlClassNode,
- "QML Signals",
+ "Signals",
"signal",
"signals");
+ FastSection qmlattachedsignals(qmlClassNode,
+ "QML Attached Signals",
+ "signal",
+ "signals");
FastSection qmlmethods(qmlClassNode,
- "QML Methods",
+ "Methods",
"method",
"methods");
+ FastSection qmlattachedmethods(qmlClassNode,
+ "QML Attached Methods",
+ "method",
+ "methods");
NodeList::ConstIterator c = qmlClassNode->childNodes().begin();
while (c != qmlClassNode->childNodes().end()) {
@@ -1142,23 +1154,35 @@ QList<Section> CppCodeMarker::qmlSections(const QmlClassNode* qmlClassNode,
}
}
else if ((*c)->type() == Node::QmlSignal) {
- insert(qmlsignals,*c,style,Okay);
+ const QmlSignalNode* sn = static_cast<const QmlSignalNode*>(*c);
+ if (sn->isAttached())
+ insert(qmlattachedsignals,*c,style,Okay);
+ else
+ insert(qmlsignals,*c,style,Okay);
}
else if ((*c)->type() == Node::QmlMethod) {
- insert(qmlmethods,*c,style,Okay);
+ const QmlMethodNode* mn = static_cast<const QmlMethodNode*>(*c);
+ if (mn->isAttached())
+ insert(qmlattachedmethods,*c,style,Okay);
+ else
+ insert(qmlmethods,*c,style,Okay);
}
++c;
}
append(sections,qmlproperties);
append(sections,qmlattachedproperties);
append(sections,qmlsignals);
+ append(sections,qmlattachedsignals);
append(sections,qmlmethods);
+ append(sections,qmlattachedmethods);
}
else if (style == Detailed) {
- FastSection qmlproperties(qmlClassNode,"QML Property Documentation");
- FastSection qmlattachedproperties(qmlClassNode,"QML Attached Property Documentation");
- FastSection qmlsignals(qmlClassNode,"QML Signal Documentation");
- FastSection qmlmethods(qmlClassNode,"QML Method Documentation");
+ FastSection qmlproperties(qmlClassNode, "Property Documentation");
+ FastSection qmlattachedproperties(qmlClassNode,"Attached Property Documentation");
+ FastSection qmlsignals(qmlClassNode,"Signal Documentation");
+ FastSection qmlattachedsignals(qmlClassNode,"Attached Signal Documentation");
+ FastSection qmlmethods(qmlClassNode,"Method Documentation");
+ FastSection qmlattachedmethods(qmlClassNode,"Attached Method Documentation");
NodeList::ConstIterator c = qmlClassNode->childNodes().begin();
while (c != qmlClassNode->childNodes().end()) {
if ((*c)->subType() == Node::QmlPropertyGroup) {
@@ -1169,17 +1193,27 @@ QList<Section> CppCodeMarker::qmlSections(const QmlClassNode* qmlClassNode,
insert(qmlproperties,*c,style,Okay);
}
else if ((*c)->type() == Node::QmlSignal) {
- insert(qmlsignals,*c,style,Okay);
+ const QmlSignalNode* sn = static_cast<const QmlSignalNode*>(*c);
+ if (sn->isAttached())
+ insert(qmlattachedsignals,*c,style,Okay);
+ else
+ insert(qmlsignals,*c,style,Okay);
}
else if ((*c)->type() == Node::QmlMethod) {
- insert(qmlmethods,*c,style,Okay);
+ const QmlMethodNode* mn = static_cast<const QmlMethodNode*>(*c);
+ if (mn->isAttached())
+ insert(qmlattachedmethods,*c,style,Okay);
+ else
+ insert(qmlmethods,*c,style,Okay);
}
++c;
}
append(sections,qmlproperties);
append(sections,qmlattachedproperties);
append(sections,qmlsignals);
+ append(sections,qmlattachedsignals);
append(sections,qmlmethods);
+ append(sections,qmlattachedmethods);
}
}
diff --git a/tools/qdoc3/cppcodeparser.cpp b/tools/qdoc3/cppcodeparser.cpp
index ad43b2b..cabbe38 100644
--- a/tools/qdoc3/cppcodeparser.cpp
+++ b/tools/qdoc3/cppcodeparser.cpp
@@ -91,7 +91,9 @@ QT_BEGIN_NAMESPACE
#define COMMAND_QMLATTACHEDPROPERTY Doc::alias("qmlattachedproperty")
#define COMMAND_QMLINHERITS Doc::alias("inherits")
#define COMMAND_QMLSIGNAL Doc::alias("qmlsignal")
+#define COMMAND_QMLATTACHEDSIGNAL Doc::alias("qmlattachedsignal")
#define COMMAND_QMLMETHOD Doc::alias("qmlmethod")
+#define COMMAND_QMLATTACHEDMETHOD Doc::alias("qmlattachedmethod")
#define COMMAND_QMLDEFAULT Doc::alias("default")
#endif
@@ -485,7 +487,9 @@ QSet<QString> CppCodeParser::topicCommands()
<< COMMAND_QMLPROPERTY
<< COMMAND_QMLATTACHEDPROPERTY
<< COMMAND_QMLSIGNAL
- << COMMAND_QMLMETHOD;
+ << COMMAND_QMLATTACHEDSIGNAL
+ << COMMAND_QMLMETHOD
+ << COMMAND_QMLATTACHEDMETHOD;
#else
<< COMMAND_VARIABLE;
#endif
@@ -678,7 +682,9 @@ Node *CppCodeParser::processTopicCommand(const Doc& doc,
return new QmlClassNode(tre->root(), names[0], classNode);
}
else if ((command == COMMAND_QMLSIGNAL) ||
- (command == COMMAND_QMLMETHOD)) {
+ (command == COMMAND_QMLMETHOD) ||
+ (command == COMMAND_QMLATTACHEDSIGNAL) ||
+ (command == COMMAND_QMLATTACHEDMETHOD)) {
QString element;
QString name;
QmlClassNode* qmlClass = 0;
@@ -687,9 +693,15 @@ Node *CppCodeParser::processTopicCommand(const Doc& doc,
if (n && n->subType() == Node::QmlClass) {
qmlClass = static_cast<QmlClassNode*>(n);
if (command == COMMAND_QMLSIGNAL)
- return new QmlSignalNode(qmlClass,name);
+ return new QmlSignalNode(qmlClass,name,false);
+ else if (command == COMMAND_QMLATTACHEDSIGNAL)
+ return new QmlSignalNode(qmlClass,name,true);
+ else if (command == COMMAND_QMLMETHOD)
+ return new QmlMethodNode(qmlClass,name,false);
+ else if (command == COMMAND_QMLATTACHEDMETHOD)
+ return new QmlMethodNode(qmlClass,name,true);
else
- return new QmlMethodNode(qmlClass,name);
+ return 0; // never get here.
}
}
}
@@ -787,14 +799,26 @@ Node *CppCodeParser::processTopicCommandGroup(const Doc& doc,
}
}
if (qmlPropGroup) {
- new QmlPropertyNode(qmlPropGroup,property,type,attached);
+ const ClassNode *correspondingClass = static_cast<const QmlClassNode*>(qmlPropGroup->parent())->classNode();
+ PropertyNode *correspondingProperty = 0;
+ if (correspondingClass)
+ correspondingProperty = static_cast<PropertyNode*>((Node*)correspondingClass->findNode(property, Node::Property));
+ QmlPropertyNode *qmlPropNode = new QmlPropertyNode(qmlPropGroup,property,type,attached);
+ if (correspondingProperty) {
+ bool writableList = type.startsWith("list") && correspondingProperty->dataType().endsWith('*');
+ qmlPropNode->setWritable(writableList || correspondingProperty->isWritable());
+ }
++arg;
while (arg != args.end()) {
if (splitQmlPropertyArg(doc,(*arg),type,element,property)) {
- new QmlPropertyNode(qmlPropGroup,
+ QmlPropertyNode * qmlPropNode = new QmlPropertyNode(qmlPropGroup,
property,
type,
attached);
+ if (correspondingProperty) {
+ bool writableList = type.startsWith("list") && correspondingProperty->dataType().endsWith('*');
+ qmlPropNode->setWritable(writableList || correspondingProperty->isWritable());
+ }
}
++arg;
}
@@ -1739,15 +1763,15 @@ bool CppCodeParser::matchProperty(InnerNode *parent)
if (key == "READ")
tre->addPropertyFunction(property, value, PropertyNode::Getter);
- else if (key == "WRITE")
+ else if (key == "WRITE") {
tre->addPropertyFunction(property, value, PropertyNode::Setter);
- else if (key == "STORED")
+ property->setWritable(true);
+ } else if (key == "STORED")
property->setStored(value.toLower() == "true");
else if (key == "DESIGNABLE")
property->setDesignable(value.toLower() == "true");
else if (key == "RESET")
tre->addPropertyFunction(property, value, PropertyNode::Resetter);
-
else if (key == "NOTIFY") {
tre->addPropertyFunction(property, value, PropertyNode::Notifier);
}
diff --git a/tools/qdoc3/doc.cpp b/tools/qdoc3/doc.cpp
index 748390f..f4931b8 100644
--- a/tools/qdoc3/doc.cpp
+++ b/tools/qdoc3/doc.cpp
@@ -2841,6 +2841,10 @@ void Doc::initialize(const Config& config)
DocParser::sourceDirs = config.getStringList(CONFIG_SOURCEDIRS);
DocParser::quoting = config.getBool(CONFIG_QUOTINGINFORMATION);
+#ifdef QDOC_QML
+ QmlClassNode::qmlOnly = config.getBool(CONFIG_QMLONLY);
+#endif
+
QStringMap reverseAliasMap;
QSet<QString> commands = config.subVars(CONFIG_ALIAS);
diff --git a/tools/qdoc3/helpprojectwriter.cpp b/tools/qdoc3/helpprojectwriter.cpp
index 4973387..52f54c0 100644
--- a/tools/qdoc3/helpprojectwriter.cpp
+++ b/tools/qdoc3/helpprojectwriter.cpp
@@ -187,8 +187,16 @@ QStringList HelpProjectWriter::keywordDetails(const Node *node) const
details << node->parent()->name()+"::"+node->name();
} else if (node->type() == Node::Fake) {
const FakeNode *fake = static_cast<const FakeNode *>(node);
- details << fake->fullTitle();
- details << fake->fullTitle();
+#ifdef QDOC_QML
+ if (fake->subType() == Node::QmlClass) {
+ details << (QmlClassNode::qmlOnly ? fake->name() : fake->fullTitle());
+ details << "QML." + fake->name();
+ } else
+#endif
+ {
+ details << fake->fullTitle();
+ details << fake->fullTitle();
+ }
} else {
details << node->name();
details << node->name();
diff --git a/tools/qdoc3/htmlgenerator.cpp b/tools/qdoc3/htmlgenerator.cpp
index 18c7916..afd1e74 100644
--- a/tools/qdoc3/htmlgenerator.cpp
+++ b/tools/qdoc3/htmlgenerator.cpp
@@ -3467,10 +3467,13 @@ QString HtmlGenerator::refForNode(const Node *node)
ref += "-" + QString::number(func->overloadNumber());
}
break;
- case Node::Property:
-#ifdef QDOC_QML
+#ifdef QDOC_QML
+ case Node::Fake:
+ if (node->subType() != Node::QmlPropertyGroup)
+ break;
case Node::QmlProperty:
#endif
+ case Node::Property:
ref = node->name() + "-prop";
break;
#ifdef QDOC_QML
@@ -3512,9 +3515,9 @@ QString HtmlGenerator::linkForNode(const Node *node, const Node *relative)
// ### reintroduce this test, without breaking .dcf files
if (fn != outFileName())
#endif
- link += fn;
+ link += fn;
- if (!node->isInnerNode()) {
+ if (!node->isInnerNode() || node->subType() == Node::QmlPropertyGroup) {
ref = refForNode(node);
if (relative && fn == fileName(relative) && ref == refForNode(relative))
return QString();
@@ -4189,13 +4192,15 @@ void HtmlGenerator::generateDetailedQmlMember(const Node *node,
const QmlPropGroupNode* qpgn = static_cast<const QmlPropGroupNode*>(node);
NodeList::ConstIterator p = qpgn->childNodes().begin();
out() << "<div class=\"qmlproto\">";
- out() << "<table class=\"qmlname\">";
+ out() << "<table width=\"100%\" class=\"qmlname\">";
while (p != qpgn->childNodes().end()) {
if ((*p)->type() == Node::QmlProperty) {
qpn = static_cast<const QmlPropertyNode*>(*p);
out() << "<tr><td>";
out() << "<a name=\"" + refForNode(qpn) + "\"></a>";
+ if (!qpn->isWritable())
+ out() << "<span class=\"qmlreadonly\">read-only</span>";
generateQmlItem(qpn, relative, marker, false);
out() << "</td></tr>";
if (qpgn->isDefault()) {
@@ -4276,7 +4281,7 @@ void HtmlGenerator::generateQmlInherits(const QmlClassNode* cn,
}
/*!
- Output the "[Xxx instantiates the C++ class QFxXxx]"
+ Output the "[Xxx instantiates the C++ class QmlGraphicsXxx]"
line for the QML element, if there should be one.
If there is no class node, or if the class node status
@@ -4306,7 +4311,7 @@ void HtmlGenerator::generateQmlInstantiates(const QmlClassNode* qcn,
}
/*!
- Output the "[QFxXxx is instantiated by QML element Xxx]"
+ Output the "[QmlGraphicsXxx is instantiated by QML element Xxx]"
line for the class, if there should be one.
If there is no QML element, or if the class node status
diff --git a/tools/qdoc3/node.cpp b/tools/qdoc3/node.cpp
index 49f2cc9..ecb4a44 100644
--- a/tools/qdoc3/node.cpp
+++ b/tools/qdoc3/node.cpp
@@ -1127,6 +1127,8 @@ bool TargetNode::isInnerNode() const
}
#ifdef QDOC_QML
+bool QmlClassNode::qmlOnly = false;
+
/*!
Constructor for the Qml class node.
*/
@@ -1135,7 +1137,7 @@ QmlClassNode::QmlClassNode(InnerNode *parent,
const ClassNode* cn)
: FakeNode(parent, name, QmlClass), cnode(cn)
{
- setTitle("QML " + name + " Element Reference");
+ setTitle((qmlOnly ? "" : "QML ") + name + " Element Reference");
}
/*!
@@ -1210,8 +1212,10 @@ bool QmlPropertyNode::fromTrool(Trool troolean, bool defaultValue)
/*!
Constructor for the QML signal node.
*/
-QmlSignalNode::QmlSignalNode(QmlClassNode *parent, const QString& name)
- : LeafNode(QmlSignal, parent, name)
+QmlSignalNode::QmlSignalNode(QmlClassNode *parent,
+ const QString& name,
+ bool attached)
+ : LeafNode(QmlSignal, parent, name), att(attached)
{
// nothing.
}
@@ -1219,8 +1223,10 @@ QmlSignalNode::QmlSignalNode(QmlClassNode *parent, const QString& name)
/*!
Constructor for the QML method node.
*/
-QmlMethodNode::QmlMethodNode(QmlClassNode *parent, const QString& name)
- : LeafNode(QmlMethod, parent, name)
+QmlMethodNode::QmlMethodNode(QmlClassNode *parent,
+ const QString& name,
+ bool attached)
+ : LeafNode(QmlMethod, parent, name), att(attached)
{
// nothing.
}
diff --git a/tools/qdoc3/node.h b/tools/qdoc3/node.h
index fed4ea1..5712879 100644
--- a/tools/qdoc3/node.h
+++ b/tools/qdoc3/node.h
@@ -362,6 +362,8 @@ class QmlClassNode : public FakeNode
const ClassNode* classNode() const { return cnode; }
virtual QString fileBase() const;
+ static bool qmlOnly;
+
private:
const ClassNode* cnode;
};
@@ -374,7 +376,7 @@ class QmlPropGroupNode : public FakeNode
bool attached);
virtual ~QmlPropGroupNode() { }
- const QString& element() const { return name(); }
+ const QString& element() const { return parent()->name(); }
void setDefault() { isdefault = true; }
bool isDefault() const { return isdefault; }
bool isAttached() const { return att; }
@@ -396,14 +398,16 @@ class QmlPropertyNode : public LeafNode
void setDataType(const QString& dataType) { dt = dataType; }
void setStored(bool stored) { sto = toTrool(stored); }
void setDesignable(bool designable) { des = toTrool(designable); }
+ void setWritable(bool writable) { wri = toTrool(writable); }
const QString &dataType() const { return dt; }
QString qualifiedDataType() const { return dt; }
bool isStored() const { return fromTrool(sto,true); }
bool isDesignable() const { return fromTrool(des,false); }
+ bool isWritable() const { return fromTrool(wri,true); }
bool isAttached() const { return att; }
- const QString& element() const { return parent()->name(); }
+ const QString& element() const { return static_cast<QmlPropGroupNode*>(parent())->element(); }
private:
enum Trool { Trool_True, Trool_False, Trool_Default };
@@ -414,25 +418,38 @@ class QmlPropertyNode : public LeafNode
QString dt;
Trool sto;
Trool des;
+ Trool wri;
bool att;
};
class QmlSignalNode : public LeafNode
{
public:
- QmlSignalNode(QmlClassNode* parent, const QString& name);
+ QmlSignalNode(QmlClassNode* parent,
+ const QString& name,
+ bool attached);
virtual ~QmlSignalNode() { }
const QString& element() const { return parent()->name(); }
+ bool isAttached() const { return att; }
+
+ private:
+ bool att;
};
class QmlMethodNode : public LeafNode
{
public:
- QmlMethodNode(QmlClassNode* parent, const QString& name);
+ QmlMethodNode(QmlClassNode* parent,
+ const QString& name,
+ bool attached);
virtual ~QmlMethodNode() { }
const QString& element() const { return parent()->name(); }
+ bool isAttached() const { return att; }
+
+ private:
+ bool att;
};
#endif
@@ -623,6 +640,7 @@ class PropertyNode : public LeafNode
void addSignal(FunctionNode *function, FunctionRole role);
void setStored(bool stored) { sto = toTrool(stored); }
void setDesignable(bool designable) { des = toTrool(designable); }
+ void setWritable(bool writable) { wri = toTrool(writable); }
void setOverriddenFrom(const PropertyNode *baseProperty);
const QString &dataType() const { return dt; }
@@ -635,6 +653,7 @@ class PropertyNode : public LeafNode
NodeList notifiers() const { return functions(Notifier); }
bool isStored() const { return fromTrool(sto, storedDefault()); }
bool isDesignable() const { return fromTrool(des, designableDefault()); }
+ bool isWritable() const { return fromTrool(wri, writableDefault()); }
const PropertyNode *overriddenFrom() const { return overrides; }
private:
@@ -645,11 +664,13 @@ class PropertyNode : public LeafNode
bool storedDefault() const { return true; }
bool designableDefault() const { return !setters().isEmpty(); }
+ bool writableDefault() const { return !setters().isEmpty(); }
QString dt;
NodeList funcs[NumFunctionRoles];
Trool sto;
Trool des;
+ Trool wri;
const PropertyNode *overrides;
};
diff --git a/tools/qdoc3/pagegenerator.cpp b/tools/qdoc3/pagegenerator.cpp
index 83ea561..7d9fbee 100644
--- a/tools/qdoc3/pagegenerator.cpp
+++ b/tools/qdoc3/pagegenerator.cpp
@@ -81,14 +81,13 @@ QString PageGenerator::fileBase(const Node *node)
{
if (node->relates())
node = node->relates();
- else if (!node->isInnerNode()) {
+ else if (!node->isInnerNode())
node = node->parent();
#ifdef QDOC_QML
- if (node->subType() == Node::QmlPropertyGroup) {
- node = node->parent();
- }
-#endif
+ if (node->subType() == Node::QmlPropertyGroup) {
+ node = node->parent();
}
+#endif
QString base = node->doc().baseName();
if (!base.isEmpty())
@@ -97,6 +96,7 @@ QString PageGenerator::fileBase(const Node *node)
const Node *p = node;
forever {
+ const Node *pp = p->parent();
base.prepend(p->name());
#ifdef QDOC_QML
/*
@@ -104,15 +104,10 @@ QString PageGenerator::fileBase(const Node *node)
we prepend "qml-" to the file name of QML element doc
files.
*/
- if ((p->subType() == Node::QmlClass) ||
- (p->subType() == Node::QmlPropertyGroup))
- base.prepend("qml-");
- else if ((p->type() == Node::QmlProperty) ||
- (p->type() == Node::QmlSignal) ||
- (p->type() == Node::QmlMethod))
+ if (p->subType() == Node::QmlClass) {
base.prepend("qml-");
+ }
#endif
- const Node *pp = p->parent();
if (!pp || pp->name().isEmpty() || pp->type() == Node::Fake)
break;
base.prepend(QLatin1Char('-'));
diff --git a/tools/qdoc3/test/classic.css b/tools/qdoc3/test/classic.css
index 320da66..b8cae8e 100644
--- a/tools/qdoc3/test/classic.css
+++ b/tools/qdoc3/test/classic.css
@@ -268,10 +268,15 @@ span.string,span.char
border-style: solid;
border-color: #ddd;
font-weight: bold;
- padding: 6px 0px 6px 10px;
+ padding: 6px 10px 6px 10px;
margin: 42px 0px 0px 0px;
}
+.qmlreadonly {
+ float: right;
+ color: red
+}
+
.qmldoc {
}
diff --git a/tools/qdoc3/test/qt-build-docs.qdocconf b/tools/qdoc3/test/qt-build-docs.qdocconf
index 8da7442..d1733e5 100644
--- a/tools/qdoc3/test/qt-build-docs.qdocconf
+++ b/tools/qdoc3/test/qt-build-docs.qdocconf
@@ -8,7 +8,7 @@ project = Qt
description = Qt Reference Documentation
url = http://qt.nokia.com/doc/4.6
-edition.Desktop.modules = QtCore QtDBus QtGui QtNetwork QtOpenGL QtScript QtSql QtSvg \
+edition.Desktop.modules = QtCore QtDBus QtGui QtNetwork QtOpenGL QtScript QtScriptTools QtSql QtSvg \
QtWebKit QtXml QtXmlPatterns Qt3Support QtHelp \
QtDesigner QtAssistant QAxContainer Phonon \
QAxServer QtUiTools QtTest QtDBus
diff --git a/tools/qdoc3/test/qt-cpp-ignore.qdocconf b/tools/qdoc3/test/qt-cpp-ignore.qdocconf
index 1efc215..dcf33dc 100644
--- a/tools/qdoc3/test/qt-cpp-ignore.qdocconf
+++ b/tools/qdoc3/test/qt-cpp-ignore.qdocconf
@@ -69,6 +69,7 @@ Cpp.ignoretokens = QAXFACTORY_EXPORT \
QT_END_NAMESPACE \
QT_END_INCLUDE_NAMESPACE \
PHONON_EXPORT \
+ Q_DECLARATIVE_EXPORT \
Q_GADGET \
QWEBKIT_EXPORT
Cpp.ignoredirectives = Q_DECLARE_HANDLE \
diff --git a/tools/qdoc3/test/qt-html-templates.qdocconf b/tools/qdoc3/test/qt-html-templates.qdocconf
index 7ceacb2..8c039eb 100644
--- a/tools/qdoc3/test/qt-html-templates.qdocconf
+++ b/tools/qdoc3/test/qt-html-templates.qdocconf
@@ -35,7 +35,7 @@ HTML.footer = "<p /><address><hr /><div align=\"center\">\n" \
\
"<script type=\"text/javascript\" src=\"http://www.google.com/jsapi\"></script>" \
"<script type=\"text/javascript\">google.load(\"elements\", \"1\", {packages: \"transliteration\"});</script>" \
- "<script type=\"text/javascript\" src=\"http://www.google.com/coop/cse/t13n?form=cse-search-box&t13n_langs=en\"></script>" \
+ "<script type=\"text/javascript\" src=\"http://www.google.com/coop/cse/t13n?form=cse-search-box&amp;t13n_langs=en\"></script>" \
\
- "<script type=\"text/javascript\" src=\"http://www.google.com/coop/cse/brand?form=cse-search-box&lang=en\"></script>"\
+ "<script type=\"text/javascript\" src=\"http://www.google.com/coop/cse/brand?form=cse-search-box&amp;lang=en\"></script>"\
"</tr></table></div></address>"
diff --git a/tools/qdoc3/test/qt-inc.qdocconf b/tools/qdoc3/test/qt-inc.qdocconf
deleted file mode 100644
index 2ff5682..0000000
--- a/tools/qdoc3/test/qt-inc.qdocconf
+++ /dev/null
@@ -1,149 +0,0 @@
-include(compat.qdocconf)
-include(macros.qdocconf)
-
-project = Qt
-description = Qt Reference Documentation
-url = http://qt.nokia.com/doc/4.6
-
-edition.Desktop = QtCore QtGui QtNetwork QtOpenGL QtSql QtSvg QtXml QtScript \
- QtDesigner QtAssistant Qt3Support QAxContainer \
- QAxServer QtUiTools QtTest QtDBus
-edition.DesktopLight = QtCore QtGui Qt3SupportLight QtTest
-
-language = Cpp
-
-norecursion = true
-sources.fileextensions = "*.cpp *.qdoc"
-sourcedirs = $QDOC_CURRENT_DIR
-headerdirs = $QDOC_CURRENT_DIR
-exampledirs = $QTDIR/doc/src \
- $QTDIR/examples \
- $QTDIR \
- $QTDIR/qmake/examples \
- $QTDIR/src/3rdparty/webkit/WebKit/qt/docs
-imagedirs = $QTDIR/doc/src/images \
- $QTDIR/examples
-outputdir = $QTDIR/doc/html
-indexdir = $QTDIR/doc/indexes
-indexes = $QDOC_INPUT_INDEXES
-outputindex = $QDOC_OUTPUT_INDEX
-base = file:$QTDIR/doc/html
-versionsym = QT_VERSION_STR
-defines = Q_QDOC \
- QT_.*_SUPPORT \
- QT_.*_LIB \
- QT_COMPAT \
- QT_KEYPAD_NAVIGATION \
- QT3_SUPPORT \
- Q_WS_.* \
- Q_OS_.* \
- Q_BYTE_ORDER \
- __cplusplus
-
-codeindent = 1
-extraimages.HTML = qt-logo \
- trolltech-logo
-
-Cpp.ignoretokens = QAXFACTORY_EXPORT \
- QDESIGNER_COMPONENTS_LIBRARY \
- QDESIGNER_EXTENSION_LIBRARY \
- QDESIGNER_SDK_LIBRARY \
- QDESIGNER_SHARED_LIBRARY \
- QDESIGNER_UILIB_LIBRARY \
- QM_EXPORT_CANVAS \
- QM_EXPORT_DNS \
- QM_EXPORT_DOM \
- QM_EXPORT_FTP \
- QM_EXPORT_HTTP \
- QM_EXPORT_ICONVIEW \
- QM_EXPORT_NETWORK \
- QM_EXPORT_OPENGL \
- QM_EXPORT_SQL \
- QM_EXPORT_TABLE \
- QM_EXPORT_WORKSPACE \
- QM_EXPORT_XML \
- QT_ASCII_CAST_WARN \
- QT_BEGIN_HEADER \
- QT_DESIGNER_STATIC \
- QT_END_HEADER \
- QT_WIDGET_PLUGIN_EXPORT \
- Q_COMPAT_EXPORT \
- Q_CORE_EXPORT \
- Q_EXPLICIT \
- Q_EXPORT \
- Q_EXPORT_CODECS_CN \
- Q_EXPORT_CODECS_JP \
- Q_EXPORT_CODECS_KR \
- Q_EXPORT_PLUGIN \
- Q_GFX_INLINE \
- Q_GUI_EXPORT \
- Q_GUI_EXPORT_INLINE \
- Q_GUI_EXPORT_STYLE_CDE \
- Q_GUI_EXPORT_STYLE_COMPACT \
- Q_GUI_EXPORT_STYLE_MAC \
- Q_GUI_EXPORT_STYLE_MOTIF \
- Q_GUI_EXPORT_STYLE_MOTIFPLUS \
- Q_GUI_EXPORT_STYLE_PLATINUM \
- Q_GUI_EXPORT_STYLE_POCKETPC \
- Q_GUI_EXPORT_STYLE_SGI \
- Q_GUI_EXPORT_STYLE_WINDOWS \
- Q_GUI_EXPORT_STYLE_WINDOWSXP \
- Q_INLINE_TEMPLATE \
- Q_NETWORK_EXPORT \
- Q_OPENGL_EXPORT \
- Q_OUTOFLINE_TEMPLATE \
- Q_SQL_EXPORT \
- Q_SVG_EXPORT \
- Q_SCRIPT_EXPORT \
- Q_TESTLIB_EXPORT \
- Q_TYPENAME \
- Q_XML_EXPORT \
- QDBUS_EXPORT \
- Q_GADGET \
- QWEBKIT_EXPORT
-Cpp.ignoredirectives = Q_DECLARE_HANDLE \
- Q_DECLARE_INTERFACE \
- Q_DECLARE_METATYPE \
- Q_DECLARE_OPERATORS_FOR_FLAGS \
- Q_DECLARE_PRIVATE \
- Q_DECLARE_PUBLIC \
- Q_DECLARE_SHARED \
- Q_DECLARE_TR_FUNCTIONS \
- Q_DECLARE_TYPEINFO \
- Q_DISABLE_COPY \
- Q_DUMMY_COMPARISON_OPERATOR \
- Q_ENUMS \
- Q_FLAGS \
- Q_INTERFACES \
- Q_OS_SYMBIAN \
- __attribute__
-
-HTML.stylesheets = $QTDIR/util/qdoc3/test/classic.css
-HTML.postheader = "<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\">\n" \
- "<tr>\n" \
- "<td align=\"left\" valign=\"top\" width=\"32\">" \
- "<a href=\"http://qt.nokia.com/\"><img src=\"images/qt-logo.png\" align=\"left\" width=\"32\" height=\"32\" border=\"0\" /></a>" \
- "</td>\n" \
- "<td width=\"1\">&nbsp;&nbsp;</td>" \
- "<td class=\"postheader\" valign=\"center\">" \
- "<a href=\"index.html\">" \
- "<font color=\"#004faf\">Home</font></a>&nbsp;&middot;" \
- " <a href=\"classes.html\">" \
- "<font color=\"#004faf\">All&nbsp;Classes</font></a>&nbsp;&middot;" \
- " <a href=\"mainclasses.html\">" \
- "<font color=\"#004faf\">Main&nbsp;Classes</font></a>&nbsp;&middot;" \
- " <a href=\"groups.html\">" \
- "<font color=\"#004faf\">Grouped&nbsp;Classes</font></a>&nbsp;&middot;" \
- " <a href=\"modules.html\">" \
- "<font color=\"#004faf\">Modules</font></a>&nbsp;&middot;" \
- " <a href=\"functions.html\">" \
- "<font color=\"#004faf\">Functions</font></a>" \
- "</td>\n" \
- "<td align=\"right\" valign=\"top\" width=\"230\"><a href=\"http://qt.nokia.com\"><img src=\"images/trolltech-logo.png\" align=\"right\" width=\"203\" height=\"32\" border=\"0\" /></a></td></tr></table>"
-
-HTML.footer = "<p /><address><hr /><div align=\"center\">\n" \
- "<table width=\"100%\" cellspacing=\"0\" border=\"0\"><tr class=\"address\">\n" \
- "<td width=\"30%\" align=\"left\">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>\n" \
- "<td width=\"40%\" align=\"center\"><a href=\"trademarks.html\">Trademarks</a></td>\n" \
- "<td width=\"30%\" align=\"right\"><div align=\"right\">Qt \\version</div></td>\n" \
- "</tr></table></div></address>"
diff --git a/tools/qvfb/config.ui b/tools/qvfb/config.ui
index ad9c39e..b74bef7 100644
--- a/tools/qvfb/config.ui
+++ b/tools/qvfb/config.ui
@@ -47,7 +47,7 @@
<x>0</x>
<y>0</y>
<width>600</width>
- <height>665</height>
+ <height>690</height>
</rect>
</property>
<property name="windowTitle">
@@ -118,6 +118,13 @@
</widget>
</item>
<item>
+ <widget class="QRadioButton" name="size_800_480">
+ <property name="text">
+ <string>800x480</string>
+ </property>
+ </widget>
+ </item>
+ <item>
<widget class="QRadioButton" name="size_800_600">
<property name="text">
<string>800x600</string>
diff --git a/tools/qvfb/qvfb.cpp b/tools/qvfb/qvfb.cpp
index 59e8dae..09692b7 100644
--- a/tools/qvfb/qvfb.cpp
+++ b/tools/qvfb/qvfb.cpp
@@ -669,6 +669,8 @@ void QVFb::configure()
w=320; h=240;
} else if ( config->size_640_480->isChecked() ) {
w=640; h=480;
+ } else if ( config->size_800_480->isChecked() ) {
+ w=800; h=480;
} else if ( config->size_800_600->isChecked() ) {
w=800; h=600;
} else if ( config->size_1024_768->isChecked() ) {
@@ -748,6 +750,7 @@ void QVFb::chooseSize(const QSize& sz)
config->size_240_320->setChecked(sz == QSize(240,320));
config->size_320_240->setChecked(sz == QSize(320,240));
config->size_640_480->setChecked(sz == QSize(640,480));
+ config->size_800_480->setChecked(sz == QSize(800,480));
config->size_800_600->setChecked(sz == QSize(800,600));
config->size_1024_768->setChecked(sz == QSize(1024,768));
}
diff --git a/tools/tools.pro b/tools/tools.pro
index 4b36115..87ba3c9 100644
--- a/tools/tools.pro
+++ b/tools/tools.pro
@@ -26,6 +26,7 @@ mac {
embedded:SUBDIRS += kmap2qmap
+contains(QT_CONFIG, declarative):SUBDIRS += qmlviewer qmldebugger
contains(QT_CONFIG, dbus):SUBDIRS += qdbus
!wince*:contains(QT_CONFIG, xmlpatterns): SUBDIRS += xmlpatterns xmlpatternsvalidator
embedded: SUBDIRS += makeqpf
diff --git a/tools/xmlpatterns/xmlpatterns.pro b/tools/xmlpatterns/xmlpatterns.pro
index 1c5ab2c..47f5a48 100644
--- a/tools/xmlpatterns/xmlpatterns.pro
+++ b/tools/xmlpatterns/xmlpatterns.pro
@@ -27,3 +27,6 @@ HEADERS = main.h \
qapplicationargumentparser.cpp \
qcoloringmessagehandler_p.h \
qcoloroutput_p.h
+
+symbian: TARGET.UID3 = 0xA000D7C9
+
diff --git a/tools/xmlpatternsvalidator/xmlpatternsvalidator.pro b/tools/xmlpatternsvalidator/xmlpatternsvalidator.pro
index 8491129..17fc465 100644
--- a/tools/xmlpatternsvalidator/xmlpatternsvalidator.pro
+++ b/tools/xmlpatternsvalidator/xmlpatternsvalidator.pro
@@ -15,3 +15,5 @@ CONFIG -= app_bundle
SOURCES = main.cpp
HEADERS = main.h
+
+symbian: TARGET.UID3 = 0xA000D7CA
diff --git a/translations/assistant_fr.ts b/translations/assistant_fr.ts
new file mode 100644
index 0000000..91fcc1a
--- /dev/null
+++ b/translations/assistant_fr.ts
@@ -0,0 +1,1080 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0" language="fr_FR">
+<context>
+ <name>AboutDialog</name>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/aboutdialog.cpp" line="110"/>
+ <source>&amp;Close</source>
+ <translation>&amp;Fermer</translation>
+ </message>
+</context>
+<context>
+ <name>AboutLabel</name>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/aboutdialog.cpp" line="96"/>
+ <source>Warning</source>
+ <translation>Avertissement</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/aboutdialog.cpp" line="97"/>
+ <source>Unable to launch external application.
+</source>
+ <translation>Impossible d&apos;ouvrir l&apos;application externe.
+</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/aboutdialog.cpp" line="98"/>
+ <source>OK</source>
+ <translation>OK</translation>
+ </message>
+</context>
+<context>
+ <name>BookmarkDialog</name>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/bookmarkdialog.ui" line="19"/>
+ <source>Add Bookmark</source>
+ <translation>Ajouter un signet</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/bookmarkdialog.ui" line="29"/>
+ <source>Bookmark:</source>
+ <translation>Signet :</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/bookmarkdialog.ui" line="36"/>
+ <source>Add in Folder:</source>
+ <translation>Ajouter dans le dossier :</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/bookmarkdialog.ui" line="65"/>
+ <source>+</source>
+ <translation>+</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/bookmarkdialog.ui" line="93"/>
+ <source>New Folder</source>
+ <translation>Nouveau dossier</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/bookmarkmanager.cpp" line="184"/>
+ <location filename="../tools/assistant/tools/assistant/bookmarkmanager.cpp" line="202"/>
+ <location filename="../tools/assistant/tools/assistant/bookmarkmanager.cpp" line="241"/>
+ <location filename="../tools/assistant/tools/assistant/bookmarkmanager.cpp" line="259"/>
+ <location filename="../tools/assistant/tools/assistant/bookmarkmanager.cpp" line="289"/>
+ <source>Bookmarks</source>
+ <translation>Signets</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/bookmarkmanager.cpp" line="228"/>
+ <source>Delete Folder</source>
+ <translation>Supprimer le dossier</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/bookmarkmanager.cpp" line="229"/>
+ <source>Rename Folder</source>
+ <translation>Renommer le dossier</translation>
+ </message>
+</context>
+<context>
+ <name>BookmarkManager</name>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/bookmarkmanager.cpp" line="663"/>
+ <source>Bookmarks</source>
+ <translation>Signets</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/bookmarkmanager.cpp" line="700"/>
+ <source>Remove</source>
+ <translation>Suppression</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/bookmarkmanager.cpp" line="701"/>
+ <source>You are going to delete a Folder, this will also&lt;br&gt;remove it&apos;s content. Are you sure to continue?</source>
+ <translation>Vous allez supprimer un dossier, ceci va aussi&lt;br&gt;supprimer son contenu. Voulez-vous continuer?</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/bookmarkmanager.cpp" line="844"/>
+ <location filename="../tools/assistant/tools/assistant/bookmarkmanager.cpp" line="853"/>
+ <source>New Folder</source>
+ <translation>Nouveau dossier</translation>
+ </message>
+</context>
+<context>
+ <name>BookmarkWidget</name>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/bookmarkmanager.cpp" line="391"/>
+ <source>Delete Folder</source>
+ <translation>Supprimer le dossier</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/bookmarkmanager.cpp" line="392"/>
+ <source>Rename Folder</source>
+ <translation>Renommer le dossier</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/bookmarkmanager.cpp" line="394"/>
+ <source>Show Bookmark</source>
+ <translation>Afficher le signet</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/bookmarkmanager.cpp" line="395"/>
+ <source>Show Bookmark in New Tab</source>
+ <translation>Afficher le signet dans un nouvel onglet</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/bookmarkmanager.cpp" line="398"/>
+ <source>Delete Bookmark</source>
+ <translation>Supprimer le signet</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/bookmarkmanager.cpp" line="399"/>
+ <source>Rename Bookmark</source>
+ <translation>Renommer le signet</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/bookmarkmanager.cpp" line="437"/>
+ <source>Filter:</source>
+ <translation>Filtre :</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/bookmarkmanager.cpp" line="461"/>
+ <source>Add</source>
+ <translation>Ajouter</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/bookmarkmanager.cpp" line="470"/>
+ <source>Remove</source>
+ <translation>Retirer</translation>
+ </message>
+</context>
+<context>
+ <name>CentralWidget</name>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/centralwidget.cpp" line="238"/>
+ <source>Add new page</source>
+ <translation>Créer une nouvelle page</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/centralwidget.cpp" line="247"/>
+ <source>Close current page</source>
+ <translation>Fermer la page courante</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/centralwidget.cpp" line="559"/>
+ <source>Print Document</source>
+ <translation>Imprimer le document</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/centralwidget.cpp" line="707"/>
+ <location filename="../tools/assistant/tools/assistant/centralwidget.cpp" line="709"/>
+ <source>unknown</source>
+ <translation>inconnu</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/centralwidget.cpp" line="802"/>
+ <source>Add New Page</source>
+ <translation>Créer une nouvelle page</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/centralwidget.cpp" line="805"/>
+ <source>Close This Page</source>
+ <translation>Fermer cette page</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/centralwidget.cpp" line="808"/>
+ <source>Close Other Pages</source>
+ <translation>Fermer les autres pages</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/centralwidget.cpp" line="813"/>
+ <source>Add Bookmark for this Page...</source>
+ <translation>Ajouter un signet pour cette page...</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/centralwidget.cpp" line="1068"/>
+ <source>Search</source>
+ <translation>Recherche</translation>
+ </message>
+</context>
+<context>
+ <name>ContentWindow</name>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/contentwindow.cpp" line="158"/>
+ <source>Open Link</source>
+ <translation>Ouvrir le lien</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/contentwindow.cpp" line="159"/>
+ <source>Open Link in New Tab</source>
+ <translation>Ouvrir le lien dans un nouvel onglet</translation>
+ </message>
+</context>
+<context>
+ <name>FilterNameDialogClass</name>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/filternamedialog.ui" line="13"/>
+ <source>Add Filter Name</source>
+ <translation>Ajouter un filtre</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/filternamedialog.ui" line="25"/>
+ <source>Filter Name:</source>
+ <translation>Nom du filtre :</translation>
+ </message>
+</context>
+<context>
+ <name>FindWidget</name>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/centralwidget.cpp" line="113"/>
+ <source>Previous</source>
+ <translation>Précédent</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/centralwidget.cpp" line="117"/>
+ <source>Next</source>
+ <translation>Suivant</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/centralwidget.cpp" line="121"/>
+ <source>Case Sensitive</source>
+ <translation>Sensible à la casse</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/centralwidget.cpp" line="124"/>
+ <source>Whole words</source>
+ <translation>Mots complets</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/centralwidget.cpp" line="136"/>
+ <source>&lt;img src=&quot;:/trolltech/assistant/images/wrap.png&quot;&gt;&amp;nbsp;Search wrapped</source>
+ <translation>&lt;img src=&quot;:/trolltech/assistant/images/wrap.png&quot;&gt;&amp;nbsp;Recherche à partir du début</translation>
+ </message>
+</context>
+<context>
+ <name>FontPanel</name>
+ <message>
+ <location filename="../tools/shared/fontpanel/fontpanel.cpp" line="63"/>
+ <source>Font</source>
+ <translation>Police</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/fontpanel/fontpanel.cpp" line="74"/>
+ <source>&amp;Writing system</source>
+ <translation>&amp;Système d&apos;écriture</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/fontpanel/fontpanel.cpp" line="77"/>
+ <source>&amp;Family</source>
+ <translation>&amp;Famille</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/fontpanel/fontpanel.cpp" line="81"/>
+ <source>&amp;Style</source>
+ <translation>&amp;Style</translation>
+ </message>
+ <message>
+ <location filename="../tools/shared/fontpanel/fontpanel.cpp" line="85"/>
+ <source>&amp;Point size</source>
+ <translation>&amp;Taille en points</translation>
+ </message>
+</context>
+<context>
+ <name>HelpViewer</name>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/helpviewer.cpp" line="284"/>
+ <source>Open Link in New Tab</source>
+ <translation>Ouvrir le lien dans un nouvel onglet</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/helpviewer.cpp" line="431"/>
+ <source>&lt;title&gt;Error 404...&lt;/title&gt;&lt;div align=&quot;center&quot;&gt;&lt;br&gt;&lt;br&gt;&lt;h1&gt;The page could not be found&lt;/h1&gt;&lt;br&gt;&lt;h3&gt;&apos;%1&apos;&lt;/h3&gt;&lt;/div&gt;</source>
+ <translation>&lt;title&gt;Erreur 404...&lt;/title&gt;&lt;div align=&quot;center&quot;&gt;&lt;br&gt;&lt;br&gt;&lt;h1&gt;La page n&apos;a pas pu être trouvée&lt;/h1&gt;&lt;br&gt;&lt;h3&gt;&apos;%1&apos;&lt;/h3&gt;&lt;/div&gt;</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/helpviewer.cpp" line="492"/>
+ <source>Help</source>
+ <translation>Aide</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/helpviewer.cpp" line="493"/>
+ <source>Unable to launch external application.
+</source>
+ <translation>Impossible de lancer l&apos;application externe.
+</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/helpviewer.cpp" line="493"/>
+ <source>OK</source>
+ <translation>OK</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/helpviewer.cpp" line="556"/>
+ <source>Copy &amp;Link Location</source>
+ <translation>Copier l&apos;&amp;adresse cible</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/helpviewer.cpp" line="559"/>
+ <source>Open Link in New Tab Ctrl+LMB</source>
+ <translatorcomment>LMB? ← ouais exactement pareil...</translatorcomment>
+ <translation>Ouvrir dans un nouvel onglet Ctrl+clic gauche</translation>
+ </message>
+</context>
+<context>
+ <name>IndexWindow</name>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/indexwindow.cpp" line="66"/>
+ <source>&amp;Look for:</source>
+ <translation>&amp;Rechercher :</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/indexwindow.cpp" line="134"/>
+ <source>Open Link</source>
+ <translation>Ouvrir le lien</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/indexwindow.cpp" line="135"/>
+ <source>Open Link in New Tab</source>
+ <translation>Ouvrir le lien dans un nouvel onglet</translation>
+ </message>
+</context>
+<context>
+ <name>InstallDialog</name>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/installdialog.ui" line="13"/>
+ <location filename="../tools/assistant/tools/assistant/installdialog.cpp" line="76"/>
+ <source>Install Documentation</source>
+ <translation>Installer la documentation</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/installdialog.ui" line="19"/>
+ <source>Available Documentation:</source>
+ <translation>Documentation disponible :</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/installdialog.ui" line="29"/>
+ <source>Install</source>
+ <translation>Installer</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/installdialog.ui" line="36"/>
+ <source>Cancel</source>
+ <translation>Annuler</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/installdialog.ui" line="43"/>
+ <source>Close</source>
+ <translation>Fermer</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/installdialog.ui" line="63"/>
+ <source>Installation Path:</source>
+ <translation>Chemin d&apos;installation :</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/installdialog.ui" line="73"/>
+ <source>...</source>
+ <translation>…</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/installdialog.cpp" line="106"/>
+ <source>Downloading documentation info...</source>
+ <translation>Téléchargement des informations de la documentation…</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/installdialog.cpp" line="154"/>
+ <source>Download canceled.</source>
+ <translation>Téléchargement annulé.</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/installdialog.cpp" line="180"/>
+ <location filename="../tools/assistant/tools/assistant/installdialog.cpp" line="258"/>
+ <location filename="../tools/assistant/tools/assistant/installdialog.cpp" line="285"/>
+ <source>Done.</source>
+ <translation>Terminé.</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/installdialog.cpp" line="195"/>
+ <source>The file %1 already exists. Do you want to overwrite it?</source>
+ <translation>Le fichier %1 existe déjà. Voulez-vous l&apos;écraser?</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/installdialog.cpp" line="206"/>
+ <source>Unable to save the file %1: %2.</source>
+ <translation>Impossible de sauver le fichier %1 : %2.</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/installdialog.cpp" line="214"/>
+ <source>Downloading %1...</source>
+ <translation>Téléchargement de %1 en cours…</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/installdialog.cpp" line="233"/>
+ <location filename="../tools/assistant/tools/assistant/installdialog.cpp" line="275"/>
+ <location filename="../tools/assistant/tools/assistant/installdialog.cpp" line="313"/>
+ <source>Download failed: %1.</source>
+ <translation>Échec du téléchargement : %1.</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/installdialog.cpp" line="243"/>
+ <source>Documentation info file is corrupt!</source>
+ <translation>Le fichier d&apos;information de documentation est corrompu!</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/installdialog.cpp" line="280"/>
+ <source>Download failed: Downloaded file is corrupted.</source>
+ <translation>Échec du téléchargement : le fichier téléchargé est corrompu.</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/installdialog.cpp" line="282"/>
+ <source>Installing documentation %1...</source>
+ <translation>Installation de la documentation %1…</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/installdialog.cpp" line="304"/>
+ <source>Error while installing documentation:
+%1</source>
+ <translation>Erreur durant l&apos;installation de la documentation :
+%1</translation>
+ </message>
+</context>
+<context>
+ <name>MainWindow</name>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/mainwindow.cpp" line="110"/>
+ <location filename="../tools/assistant/tools/assistant/mainwindow.cpp" line="501"/>
+ <source>Index</source>
+ <translation>Index</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/mainwindow.cpp" line="116"/>
+ <location filename="../tools/assistant/tools/assistant/mainwindow.cpp" line="499"/>
+ <source>Contents</source>
+ <translation>Sommaire</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/mainwindow.cpp" line="121"/>
+ <location filename="../tools/assistant/tools/assistant/mainwindow.cpp" line="503"/>
+ <source>Bookmarks</source>
+ <translation>Signets</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/mainwindow.cpp" line="133"/>
+ <location filename="../tools/assistant/tools/assistant/mainwindow.cpp" line="348"/>
+ <location filename="../tools/assistant/tools/assistant/mainwindow.cpp" line="860"/>
+ <source>Qt Assistant</source>
+ <translation>Qt Assistant</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/mainwindow.cpp" line="316"/>
+ <location filename="../tools/assistant/tools/assistant/mainwindow.cpp" line="321"/>
+ <source>Unfiltered</source>
+ <translation>Non-filtré</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/mainwindow.cpp" line="342"/>
+ <source>Looking for Qt Documentation...</source>
+ <translation>Recherche la documentation de Qt…</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/mainwindow.cpp" line="426"/>
+ <source>&amp;File</source>
+ <translation>&amp;Fichier</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/mainwindow.cpp" line="428"/>
+ <source>Page Set&amp;up...</source>
+ <translation>&amp;Mise en page…</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/mainwindow.cpp" line="430"/>
+ <source>Print Preview...</source>
+ <translation>Aperçu avant impression…</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/mainwindow.cpp" line="433"/>
+ <source>&amp;Print...</source>
+ <translation>&amp;Imprimer…</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/mainwindow.cpp" line="440"/>
+ <source>New &amp;Tab</source>
+ <translation>Nouvel ongle&amp;t</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/mainwindow.cpp" line="443"/>
+ <source>&amp;Close Tab</source>
+ <translation>&amp;Fermer l&apos;onglet</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/mainwindow.cpp" line="447"/>
+ <source>&amp;Quit</source>
+ <translation>&amp;Quitter</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/mainwindow.cpp" line="451"/>
+ <source>&amp;Edit</source>
+ <translation>&amp;Édition</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/mainwindow.cpp" line="452"/>
+ <source>&amp;Copy selected Text</source>
+ <translation>&amp;Copier le texte selectionné</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/mainwindow.cpp" line="460"/>
+ <source>&amp;Find in Text...</source>
+ <translation>&amp;Trouver dans le texte…</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/mainwindow.cpp" line="466"/>
+ <source>Find &amp;Next</source>
+ <translation>Rechercher le suiva&amp;nt</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/mainwindow.cpp" line="470"/>
+ <source>Find &amp;Previous</source>
+ <translation>Rechercher le &amp;précédent</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/mainwindow.cpp" line="475"/>
+ <source>Preferences...</source>
+ <translation>Préférences…</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/mainwindow.cpp" line="478"/>
+ <source>&amp;View</source>
+ <translation>&amp;Affichage</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/mainwindow.cpp" line="479"/>
+ <source>Zoom &amp;in</source>
+ <translation>Zoom &amp;avant</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/mainwindow.cpp" line="485"/>
+ <source>Zoom &amp;out</source>
+ <translation>Zoom a&amp;rrière</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/mainwindow.cpp" line="491"/>
+ <source>Normal &amp;Size</source>
+ <translation>&amp;Taille normale</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/mainwindow.cpp" line="495"/>
+ <source>Ctrl+0</source>
+ <translation>Ctrl+0</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/mainwindow.cpp" line="500"/>
+ <source>ALT+C</source>
+ <translation>ALT+C</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/mainwindow.cpp" line="502"/>
+ <source>ALT+I</source>
+ <translation>ALT+I</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/mainwindow.cpp" line="504"/>
+ <source>ALT+O</source>
+ <translation>ALT+O</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/mainwindow.cpp" line="505"/>
+ <source>Search</source>
+ <translation>Recherche</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/mainwindow.cpp" line="506"/>
+ <source>ALT+S</source>
+ <translation>ALT+S</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/mainwindow.cpp" line="508"/>
+ <source>&amp;Go</source>
+ <translation>&amp;Aller</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/mainwindow.cpp" line="509"/>
+ <source>&amp;Home</source>
+ <translation>&amp;Accueil</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/mainwindow.cpp" line="510"/>
+ <source>ALT+Home</source>
+ <translation>ALT+Home</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/mainwindow.cpp" line="513"/>
+ <source>&amp;Back</source>
+ <translation>&amp;Précédent</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/mainwindow.cpp" line="518"/>
+ <source>&amp;Forward</source>
+ <translation>&amp;Suivant</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/mainwindow.cpp" line="524"/>
+ <source>Sync with Table of Contents</source>
+ <translation>Synchroniser la table des matières</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/mainwindow.cpp" line="531"/>
+ <source>Next Page</source>
+ <translation>Page suivante</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/mainwindow.cpp" line="532"/>
+ <source>Ctrl+Alt+Right</source>
+ <translation>Ctrl+Alt+Right</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/mainwindow.cpp" line="535"/>
+ <source>Previous Page</source>
+ <translation>Page précédente</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/mainwindow.cpp" line="536"/>
+ <source>Ctrl+Alt+Left</source>
+ <translation>Ctrl+Alt+Left</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/mainwindow.cpp" line="539"/>
+ <source>&amp;Bookmarks</source>
+ <translation>&amp;Signets</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/mainwindow.cpp" line="540"/>
+ <source>Add Bookmark...</source>
+ <translation>Ajouter un signet…</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/mainwindow.cpp" line="542"/>
+ <source>CTRL+D</source>
+ <translation>CTRL+D</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/mainwindow.cpp" line="544"/>
+ <source>&amp;Help</source>
+ <translation>&amp;Aide</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/mainwindow.cpp" line="545"/>
+ <source>About...</source>
+ <translation>À propos…</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/mainwindow.cpp" line="561"/>
+ <source>Navigation Toolbar</source>
+ <translation>Barre d&apos;outils de navigation</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/mainwindow.cpp" line="583"/>
+ <source>&amp;Window</source>
+ <translation>&amp;Fenêtre</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/mainwindow.cpp" line="585"/>
+ <source>Zoom</source>
+ <translation>Zoom</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/mainwindow.cpp" line="586"/>
+ <source>Minimize</source>
+ <translation>Minimiser</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/mainwindow.cpp" line="587"/>
+ <source>Ctrl+M</source>
+ <translation>Ctrl+M</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/mainwindow.cpp" line="637"/>
+ <source>Toolbars</source>
+ <translation>Barres d&apos;outils</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/mainwindow.cpp" line="652"/>
+ <source>Filter Toolbar</source>
+ <translation>Barre d&apos;outils de filtrage</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/mainwindow.cpp" line="654"/>
+ <source>Filtered by:</source>
+ <translation>Filtré par :</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/mainwindow.cpp" line="677"/>
+ <source>Address Toolbar</source>
+ <translation>Barre d&apos;outils d&apos;adresse</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/mainwindow.cpp" line="681"/>
+ <source>Address:</source>
+ <translation>Adresse :</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/mainwindow.cpp" line="795"/>
+ <source>Could not find the associated content item.</source>
+ <translatorcomment>what is item in this context? ← same question here</translatorcomment>
+ <translation>Impossible de trouver l&apos;élément de contenu associé.</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/mainwindow.cpp" line="866"/>
+ <source>About %1</source>
+ <translation>À propos de %1</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/mainwindow.cpp" line="980"/>
+ <source>Updating search index</source>
+ <translation>Mise à jour de l&apos;index de recherche</translation>
+ </message>
+</context>
+<context>
+ <name>PreferencesDialog</name>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/preferencesdialog.cpp" line="259"/>
+ <location filename="../tools/assistant/tools/assistant/preferencesdialog.cpp" line="302"/>
+ <source>Add Documentation</source>
+ <translation>Ajouter de la documentation</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/preferencesdialog.cpp" line="259"/>
+ <source>Qt Compressed Help Files (*.qch)</source>
+ <translation>Fichiers d&apos;aide Qt compressés (*.qch)</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/preferencesdialog.cpp" line="288"/>
+ <source>The namespace %1 is already registered!</source>
+ <translation>L&apos;espace de nom %1 existe déjà!</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/preferencesdialog.cpp" line="296"/>
+ <source>The specified file is not a valid Qt Help File!</source>
+ <translation>Le fichier spécifié n&apos;est pas un fichier d&apos;aide Qt valide!</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/preferencesdialog.cpp" line="319"/>
+ <source>Remove Documentation</source>
+ <translation>Supprimer la documentation</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/preferencesdialog.cpp" line="320"/>
+ <source>Some documents currently opened in Assistant reference the documentation you are attempting to remove. Removing the documentation will close those documents.</source>
+ <translation>Certains documents ouverts dans Assistant ont des références vers la documentation que vous allez supprimer. Supprimer la documentation fermera ces documents.</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/preferencesdialog.cpp" line="322"/>
+ <source>Cancel</source>
+ <translation>Annuler</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/preferencesdialog.cpp" line="323"/>
+ <source>OK</source>
+ <translation>OK</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/preferencesdialog.cpp" line="411"/>
+ <source>Use custom settings</source>
+ <translation>Utiliser des paramètres personnalisés</translation>
+ </message>
+</context>
+<context>
+ <name>PreferencesDialogClass</name>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/preferencesdialog.ui" line="14"/>
+ <source>Preferences</source>
+ <translation>Préférences</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/preferencesdialog.ui" line="24"/>
+ <source>Fonts</source>
+ <translation>Polices</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/preferencesdialog.ui" line="38"/>
+ <source>Font settings:</source>
+ <translation>Configuration des polices :</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/preferencesdialog.ui" line="46"/>
+ <source>Browser</source>
+ <translation>Navigateur</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/preferencesdialog.ui" line="51"/>
+ <source>Application</source>
+ <translation>Application</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/preferencesdialog.ui" line="70"/>
+ <source>Filters</source>
+ <translation>Filtres</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/preferencesdialog.ui" line="76"/>
+ <source>Filter:</source>
+ <translation>Filtre :</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/preferencesdialog.ui" line="86"/>
+ <source>Attributes:</source>
+ <translation>Attributs :</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/preferencesdialog.ui" line="97"/>
+ <source>1</source>
+ <translation>1</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/preferencesdialog.ui" line="105"/>
+ <source>Add</source>
+ <translation>Ajouter</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/preferencesdialog.ui" line="112"/>
+ <location filename="../tools/assistant/tools/assistant/preferencesdialog.ui" line="163"/>
+ <source>Remove</source>
+ <translation>Supprimer</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/preferencesdialog.ui" line="120"/>
+ <source>Documentation</source>
+ <translation>Documentation</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/preferencesdialog.ui" line="126"/>
+ <source>Registered Documentation:</source>
+ <translatorcomment>documentation enregistrée ? ← je préfère référencée pour les deux...</translatorcomment>
+ <translation>Documentation référencée :</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/preferencesdialog.ui" line="156"/>
+ <source>Add...</source>
+ <translation>Ajouter…</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/preferencesdialog.ui" line="188"/>
+ <source>Options</source>
+ <translation>Options</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/preferencesdialog.ui" line="206"/>
+ <source>On help start:</source>
+ <translation>Au démarrage :</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/preferencesdialog.ui" line="220"/>
+ <source>Show my home page</source>
+ <translation>Afficher ma page d&apos;accueil</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/preferencesdialog.ui" line="225"/>
+ <source>Show a blank page</source>
+ <translation>Afficher une page blanche</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/preferencesdialog.ui" line="230"/>
+ <source>Show my tabs from last session</source>
+ <translation>Afficher mes onglets de la dernière session</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/preferencesdialog.ui" line="262"/>
+ <source>Homepage</source>
+ <translation>Page d&apos;accueil</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/preferencesdialog.ui" line="289"/>
+ <source>Current Page</source>
+ <translation>Page courante</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/preferencesdialog.ui" line="296"/>
+ <source>Blank Page</source>
+ <translation>Page blanche</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/preferencesdialog.ui" line="303"/>
+ <source>Restore to default</source>
+ <translation>Restaurer les valeurs par défaut</translation>
+ </message>
+</context>
+<context>
+ <name>QObject</name>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/cmdlineparser.cpp" line="112"/>
+ <source>The specified collection file does not exist!</source>
+ <translation>Le fichier de collection spécifié n&apos;existe pas!</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/cmdlineparser.cpp" line="116"/>
+ <source>Missing collection file!</source>
+ <translation>Fichier de collection manquant!</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/cmdlineparser.cpp" line="125"/>
+ <source>Invalid URL!</source>
+ <translation>URL invalide!</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/cmdlineparser.cpp" line="129"/>
+ <source>Missing URL!</source>
+ <translation>URL manquante!</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/cmdlineparser.cpp" line="146"/>
+ <location filename="../tools/assistant/tools/assistant/cmdlineparser.cpp" line="165"/>
+ <location filename="../tools/assistant/tools/assistant/cmdlineparser.cpp" line="184"/>
+ <source>Unknown widget: %1</source>
+ <translation>Widget inconnu : %1</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/cmdlineparser.cpp" line="150"/>
+ <location filename="../tools/assistant/tools/assistant/cmdlineparser.cpp" line="169"/>
+ <location filename="../tools/assistant/tools/assistant/cmdlineparser.cpp" line="188"/>
+ <source>Missing widget!</source>
+ <translation>Widget manquant!</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/cmdlineparser.cpp" line="195"/>
+ <location filename="../tools/assistant/tools/assistant/cmdlineparser.cpp" line="207"/>
+ <source>The specified Qt help file does not exist!</source>
+ <translation>Le fichier d&apos;aide Qt spécifié n&apos;existe pas!</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/cmdlineparser.cpp" line="200"/>
+ <location filename="../tools/assistant/tools/assistant/cmdlineparser.cpp" line="212"/>
+ <source>Missing help file!</source>
+ <translation>Fichier d&apos;aide manquant!</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/cmdlineparser.cpp" line="219"/>
+ <source>Missing filter argument!</source>
+ <translation>Argument de filtre manquant!</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/cmdlineparser.cpp" line="231"/>
+ <source>Unknown option: %1</source>
+ <translation>Option inconnue : %1</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/cmdlineparser.cpp" line="261"/>
+ <location filename="../tools/assistant/tools/assistant/cmdlineparser.cpp" line="263"/>
+ <source>Qt Assistant</source>
+ <translation>Qt Assistant</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/main.cpp" line="217"/>
+ <source>Could not register documentation file
+%1
+
+Reason:
+%2</source>
+ <translation>Impossible d&apos;enregistrer le fichier de documentation
+%1
+
+Raison :
+%2</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/main.cpp" line="221"/>
+ <source>Documentation successfully registered.</source>
+ <translation>Documentation enregistrée avec succès.</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/main.cpp" line="229"/>
+ <source>Documentation successfully unregistered.</source>
+ <translation>Documentation retirée avec succès.</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/main.cpp" line="232"/>
+ <source>Could not unregister documentation file
+%1
+
+Reason:
+%2</source>
+ <translation>Impossible d&apos;enregistrer le fichier de documentation
+%1
+
+Raison :
+%2</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/main.cpp" line="269"/>
+ <source>Cannot load sqlite database driver!</source>
+ <translation>Impossible de charger le driver de la base de données sqlite!</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/main.cpp" line="278"/>
+ <source>The specified collection file could not be read!</source>
+ <translation>Le fichier de collection spécifié ne peut pas être lu!</translation>
+ </message>
+</context>
+<context>
+ <name>RemoteControl</name>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/remotecontrol.cpp" line="163"/>
+ <source>Debugging Remote Control</source>
+ <translation>Débogage du contrôle à distance</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/remotecontrol.cpp" line="164"/>
+ <source>Received Command: %1 %2</source>
+ <translation>Commande reçue : %1 %2</translation>
+ </message>
+</context>
+<context>
+ <name>SearchWidget</name>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/searchwidget.cpp" line="195"/>
+ <source>&amp;Copy</source>
+ <translation>&amp;Copier</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/searchwidget.cpp" line="199"/>
+ <source>Copy &amp;Link Location</source>
+ <translation>Copier &amp;l&apos;adresse du lien</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/searchwidget.cpp" line="203"/>
+ <source>Open Link in New Tab</source>
+ <translation>Ouvrir le lien dans un nouvel onglet</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/searchwidget.cpp" line="211"/>
+ <source>Select All</source>
+ <translation>Sélectionner tout</translation>
+ </message>
+</context>
+<context>
+ <name>TopicChooser</name>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/topicchooser.ui" line="16"/>
+ <source>Choose Topic</source>
+ <translation>Choisir le domaine</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/topicchooser.ui" line="37"/>
+ <source>&amp;Topics</source>
+ <translation>&amp;Domaines</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/topicchooser.ui" line="88"/>
+ <source>&amp;Display</source>
+ <translation>&amp;Afficher</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/topicchooser.ui" line="104"/>
+ <source>&amp;Close</source>
+ <translation>&amp;Fermer</translation>
+ </message>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/topicchooser.cpp" line="54"/>
+ <source>Choose a topic for &lt;b&gt;%1&lt;/b&gt;:</source>
+ <translation>Choisir le domaine pour &lt;b&gt;%1&lt;/b&gt; :</translation>
+ </message>
+</context>
+</TS>
diff --git a/translations/designer_pl.ts b/translations/designer_pl.ts
index 0c196d8..f9c6dd0 100644
--- a/translations/designer_pl.ts
+++ b/translations/designer_pl.ts
@@ -6103,7 +6103,7 @@ Klasa: %2</translation>
<message>
<location line="+1"/>
<source>Change toolTip...</source>
- <translation>Zmień tekst chmurki...</translation>
+ <translation>Zmień podpowiedź...</translation>
</message>
<message>
<location line="+1"/>
@@ -6909,7 +6909,7 @@ Klasa: %2</translation>
<message>
<location line="+263"/>
<source>Expand all</source>
- <translation>Rozszerz wszystkie</translation>
+ <translation>Rozwiń wszystkie</translation>
</message>
<message>
<location line="+1"/>
diff --git a/translations/linguist_pl.ts b/translations/linguist_pl.ts
index b59ebc3..cdff54b 100644
--- a/translations/linguist_pl.ts
+++ b/translations/linguist_pl.ts
@@ -312,7 +312,7 @@ Przyjmie on uniwersalną formę liczby pojedynczej.</translation>
<context>
<name>LRelease</name>
<message numerus="yes">
- <location filename="../tools/linguist/shared/qm.cpp" line="+747"/>
+ <location filename="../tools/linguist/shared/qm.cpp" line="+748"/>
<source>Dropped %n message(s) which had no ID.</source>
<translation>
<numerusform>Opuszczono %n wyrażenie które nie miało identyfikatora.</numerusform>
diff --git a/translations/qt_help_pl.ts b/translations/qt_help_pl.ts
index 0e6bbbf..220f70c 100644
--- a/translations/qt_help_pl.ts
+++ b/translations/qt_help_pl.ts
@@ -32,33 +32,61 @@
<context>
<name>QHelpCollectionHandler</name>
<message>
- <location filename="../tools/assistant/lib/qhelpcollectionhandler.cpp" line="+79"/>
<source>The collection file is not set up yet!</source>
- <translation>Plik z kolekcją nie jest jeszcze ustawiony!</translation>
+ <translation type="obsolete">Plik z kolekcją nie jest jeszcze ustawiony!</translation>
</message>
<message>
- <location line="+22"/>
+ <location filename="../tools/assistant/lib/qhelpcollectionhandler.cpp" line="+79"/>
+ <source>The collection file &apos;%1&apos; is not set up yet!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+23"/>
<source>Cannot load sqlite database driver!</source>
<translation>Nie można załadować sterownika bazy danych sqlite!</translation>
</message>
<message>
<location line="+11"/>
- <location line="+48"/>
+ <location line="+49"/>
<source>Cannot open collection file: %1</source>
<translation>Nie można otworzyć pliku z kolekcją: %1</translation>
</message>
<message>
- <location line="-39"/>
+ <location line="-40"/>
<source>Cannot create tables in file %1!</source>
<translation>Nie można utworzyć tabel w pliku %1!</translation>
</message>
<message>
<location line="+16"/>
+ <source>The collection file &apos;%1&apos; already exists!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+148"/>
+ <source>Unknown filter &apos;%1&apos;!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+105"/>
+ <source>Invalid documentation file &apos;%1&apos;!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+167"/>
+ <source>Cannot register namespace &apos;%1&apos;!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+24"/>
+ <source>Cannot open database &apos;%1&apos; to optimize!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<source>The specified collection file already exists!</source>
- <translation>Podany plik z kolekcją już istnieje!</translation>
+ <translation type="obsolete">Podany plik z kolekcją już istnieje!</translation>
</message>
<message>
- <location line="+5"/>
+ <location line="-438"/>
<source>Cannot create directory: %1</source>
<translation>Nie można utworzyć katalogu: %1</translation>
</message>
@@ -68,12 +96,11 @@
<translation>Nie można skopiować pliku z kolekcją: %1</translation>
</message>
<message>
- <location line="+119"/>
<source>Unknown filter!</source>
- <translation>Nieznany filtr!</translation>
+ <translation type="obsolete">Nieznany filtr!</translation>
</message>
<message>
- <location line="+55"/>
+ <location line="+174"/>
<source>Cannot register filter %1!</source>
<translation>Nie można zarejestrować pliku %1!</translation>
</message>
@@ -83,12 +110,11 @@
<translation>Nie można otworzyć pliku z dokumentacją %1!</translation>
</message>
<message>
- <location line="+6"/>
<source>Invalid documentation file!</source>
- <translation>Niepoprawny plik z dokumentacją!</translation>
+ <translation type="obsolete">Niepoprawny plik z dokumentacją!</translation>
</message>
<message>
- <location line="+34"/>
+ <location line="+40"/>
<source>The namespace %1 was not registered!</source>
<translation>Przestrzeń nazw %1 nie została zarejestrowana!</translation>
</message>
@@ -98,14 +124,12 @@
<translation>Przestrzeń nazw %1 już istnieje!</translation>
</message>
<message>
- <location line="+13"/>
<source>Cannot register namespace!</source>
- <translation>Nie można zarejestrować przestrzeni nazw!</translation>
+ <translation type="obsolete">Nie można zarejestrować przestrzeni nazw!</translation>
</message>
<message>
- <location line="+24"/>
<source>Cannot open database to optimize!</source>
- <translation>Nie można otworzyć bazy danych do zoptymalizowania!</translation>
+ <translation type="obsolete">Nie można otworzyć bazy danych do zoptymalizowania!</translation>
</message>
</context>
<context>
diff --git a/translations/qt_pl.ts b/translations/qt_pl.ts
index 424fd31..f79ecb0 100644
--- a/translations/qt_pl.ts
+++ b/translations/qt_pl.ts
@@ -12,7 +12,7 @@
<context>
<name>FakeReply</name>
<message>
- <location filename="../src/3rdparty/webkit/WebKit/qt/tests/qwebframe/tst_qwebframe.cpp" line="+2191"/>
+ <location filename="../src/3rdparty/webkit/WebKit/qt/tests/qwebframe/tst_qwebframe.cpp" line="+2193"/>
<source>Fake error !</source>
<translation type="unfinished"></translation>
</message>
@@ -932,7 +932,7 @@ na
<translation>Operacja na gnieździe nieobsługiwana</translation>
</message>
<message>
- <location line="+567"/>
+ <location line="+580"/>
<source>Socket is not connected</source>
<translation>Gniazdo nie jest podłączone</translation>
</message>
@@ -966,6 +966,14 @@ na
</message>
</context>
<context>
+ <name>QAccessibleButton</name>
+ <message>
+ <location filename="../src/plugins/accessible/widgets/simplewidgets.cpp" line="+250"/>
+ <source>Press</source>
+ <translation type="unfinished">Wciśnij</translation>
+ </message>
+</context>
+<context>
<name>QApplication</name>
<message>
<location filename="../src/gui/accessible/qaccessibleobject.cpp" line="+376"/>
@@ -988,7 +996,7 @@ na
<translation>Niekompatybilność biblioteki Qt</translation>
</message>
<message>
- <location filename="../src/gui/kernel/qapplication.cpp" line="+2293"/>
+ <location filename="../src/gui/kernel/qapplication.cpp" line="+2290"/>
<source>QT_LAYOUT_DIRECTION</source>
<comment>Translate this string to the string &apos;LTR&apos; in left-to-right languages or to &apos;RTL&apos; in right-to-left languages (such as Hebrew and Arabic) to get proper widget layout.</comment>
<translation>LTR</translation>
@@ -1020,7 +1028,7 @@ na
<context>
<name>QCheckBox</name>
<message>
- <location filename="../src/plugins/accessible/widgets/simplewidgets.cpp" line="+117"/>
+ <location filename="../src/plugins/accessible/widgets/simplewidgets.cpp" line="-133"/>
<source>Check</source>
<translation>Zaznacz</translation>
</message>
@@ -1276,7 +1284,7 @@ na
<context>
<name>QDialogButtonBox</name>
<message>
- <location filename="../src/gui/widgets/qdialogbuttonbox.cpp" line="+654"/>
+ <location filename="../src/gui/widgets/qdialogbuttonbox.cpp" line="+653"/>
<source>Abort</source>
<translation>Przerwij</translation>
</message>
@@ -1472,7 +1480,7 @@ na
<translation>Błąd krytyczny:</translation>
</message>
<message>
- <location line="+200"/>
+ <location line="+201"/>
<source>&amp;OK</source>
<translation>&amp;OK</translation>
</message>
@@ -1482,7 +1490,7 @@ na
<translation>&amp;Pokaż ten komunikat ponownie</translation>
</message>
<message>
- <location line="-202"/>
+ <location line="-203"/>
<source>Warning:</source>
<translation>Ostrzeżenie:</translation>
</message>
@@ -1851,52 +1859,52 @@ Proszę o sprawdzenie podanej nazwy pliku.</translation>
<name>QFontDatabase</name>
<message>
<location filename="../src/gui/text/qfontdatabase.cpp" line="+102"/>
- <location line="+1334"/>
+ <location line="+1335"/>
<source>Normal</source>
<translation>Normalny</translation>
</message>
<message>
- <location line="-1331"/>
+ <location line="-1332"/>
<location line="+12"/>
- <location line="+1307"/>
+ <location line="+1308"/>
<source>Bold</source>
<translation>Pogrubiony</translation>
</message>
<message>
- <location line="-1316"/>
- <location line="+1318"/>
+ <location line="-1317"/>
+ <location line="+1319"/>
<source>Demi Bold</source>
<translation>Na wpół pogrubiony</translation>
</message>
<message>
- <location line="-1315"/>
+ <location line="-1316"/>
<location line="+18"/>
- <location line="+1293"/>
+ <location line="+1294"/>
<source>Black</source>
<translatorcomment>it&apos;s about font weight</translatorcomment>
<translation>Bardzo gruby</translation>
</message>
<message>
- <location line="-1303"/>
+ <location line="-1304"/>
<source>Demi</source>
<translation>Na wpół</translation>
</message>
<message>
<location line="+6"/>
- <location line="+1303"/>
+ <location line="+1304"/>
<source>Light</source>
<translatorcomment>it&apos;s about font weight</translatorcomment>
<translation>Cienki</translation>
</message>
<message>
- <location line="-1157"/>
- <location line="+1160"/>
+ <location line="-1158"/>
+ <location line="+1161"/>
<source>Italic</source>
<translation>Kursywa</translation>
</message>
<message>
- <location line="-1157"/>
- <location line="+1159"/>
+ <location line="-1158"/>
+ <location line="+1160"/>
<source>Oblique</source>
<translation>Pochyły</translation>
</message>
@@ -2340,7 +2348,7 @@ Proszę o sprawdzenie podanej nazwy pliku.</translation>
<translation>Host %1 znaleziony</translation>
</message>
<message>
- <location filename="../src/network/access/qhttp.cpp" line="+2634"/>
+ <location filename="../src/network/access/qhttp.cpp" line="+2639"/>
<location filename="../src/network/access/qhttpnetworkconnection.cpp" line="-4"/>
<location filename="../src/qt3support/network/q3http.cpp" line="-453"/>
<source>Host %1 not found</source>
@@ -2360,7 +2368,7 @@ Proszę o sprawdzenie podanej nazwy pliku.</translation>
<translation>Komenda HTTP zakończona błędem</translation>
</message>
<message>
- <location line="+198"/>
+ <location line="+219"/>
<location line="+48"/>
<location filename="../src/qt3support/network/q3http.cpp" line="+109"/>
<location line="+47"/>
@@ -2374,7 +2382,7 @@ Proszę o sprawdzenie podanej nazwy pliku.</translation>
<translation>Niepoprawny nagłówek odpowiedzi HTTP</translation>
</message>
<message>
- <location line="-319"/>
+ <location line="-340"/>
<location filename="../src/qt3support/network/q3http.cpp" line="-173"/>
<source>No server set to connect to</source>
<translation>Brak serwera do podłączenia</translation>
@@ -2411,7 +2419,7 @@ Proszę o sprawdzenie podanej nazwy pliku.</translation>
<translation>Błędna długość zawartości</translation>
</message>
<message>
- <location line="+183"/>
+ <location line="+204"/>
<source>Unknown authentication method</source>
<translation>Nieznana metoda autoryzacji</translation>
</message>
@@ -2456,7 +2464,7 @@ Proszę o sprawdzenie podanej nazwy pliku.</translation>
<translation>Nawiązanie sesji SSL nie powiodło się</translation>
</message>
<message>
- <location filename="../src/network/access/qhttp.cpp" line="-307"/>
+ <location filename="../src/network/access/qhttp.cpp" line="-328"/>
<source>Connection refused (or timed out)</source>
<translation>Połączenie odrzucone (przekroczony czas połączenia)</translation>
</message>
@@ -3105,7 +3113,7 @@ Proszę o sprawdzenie podanej nazwy pliku.</translation>
<context>
<name>QMenuBar</name>
<message>
- <location filename="../src/gui/widgets/qmenu_symbian.cpp" line="+404"/>
+ <location filename="../src/gui/widgets/qmenu_symbian.cpp" line="+410"/>
<source>Actions</source>
<translation>Akcje</translation>
</message>
@@ -4361,7 +4369,7 @@ Proszę wybrać inną nazwę pliku.</translation>
<message>
<location/>
<source>Selection</source>
- <translation>Wybór</translation>
+ <translation>Wybrane strony</translation>
</message>
<message>
<location/>
@@ -4449,7 +4457,7 @@ Proszę wybrać inną nazwę pliku.</translation>
<message>
<location/>
<source>Location:</source>
- <translation>Lokalizacja:</translation>
+ <translation>Położenie:</translation>
</message>
<message>
<location/>
@@ -4505,7 +4513,7 @@ Proszę wybrać inną nazwę pliku.</translation>
<translation>Przekroczony czas operacji procesu</translation>
</message>
<message>
- <location filename="../src/corelib/io/qprocess.cpp" line="+851"/>
+ <location filename="../src/corelib/io/qprocess.cpp" line="+855"/>
<location line="+52"/>
<location filename="../src/corelib/io/qprocess_win.cpp" line="-211"/>
<location line="+50"/>
@@ -4726,7 +4734,7 @@ Proszę wybrać inną nazwę pliku.</translation>
<message>
<location line="+2"/>
<source>Location</source>
- <translation>Miejsce</translation>
+ <translation>Położenie</translation>
</message>
<message>
<location line="+2"/>
@@ -4967,7 +4975,7 @@ Proszę wybrać inną nazwę pliku.</translation>
<message>
<location line="+2"/>
<source>Location</source>
- <translation>Miejsce</translation>
+ <translation>Położenie</translation>
</message>
</context>
<context>
@@ -5847,7 +5855,7 @@ Proszę wybrać inną nazwę pliku.</translation>
<translation>Anuluj</translation>
</message>
<message>
- <location line="+152"/>
+ <location line="+151"/>
<source>Exit</source>
<translation>Wyjście</translation>
</message>
@@ -6071,7 +6079,7 @@ Proszę wybrać inną nazwę pliku.</translation>
<context>
<name>QTextControl</name>
<message>
- <location filename="../src/gui/text/qtextcontrol.cpp" line="+2014"/>
+ <location filename="../src/gui/text/qtextcontrol.cpp" line="+2018"/>
<source>&amp;Copy</source>
<translation>S&amp;kopiuj</translation>
</message>
@@ -6114,7 +6122,7 @@ Proszę wybrać inną nazwę pliku.</translation>
<context>
<name>QToolButton</name>
<message>
- <location filename="../src/plugins/accessible/widgets/simplewidgets.cpp" line="+256"/>
+ <location filename="../src/plugins/accessible/widgets/simplewidgets.cpp" line="+312"/>
<location line="+8"/>
<source>Open</source>
<translation>Otwórz</translation>
@@ -6229,7 +6237,7 @@ Proszę wybrać inną nazwę pliku.</translation>
<context>
<name>QWebFrame</name>
<message>
- <location filename="../src/3rdparty/webkit/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp" line="+704"/>
+ <location filename="../src/3rdparty/webkit/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp" line="+711"/>
<source>Request cancelled</source>
<translation>Prośba anulowana</translation>
</message>
@@ -6262,7 +6270,7 @@ Proszę wybrać inną nazwę pliku.</translation>
<context>
<name>QWebPage</name>
<message>
- <location filename="../src/3rdparty/webkit/WebCore/platform/qt/Localizations.cpp" line="+41"/>
+ <location filename="../src/3rdparty/webkit/WebCore/platform/qt/Localizations.cpp" line="+42"/>
<source>Submit</source>
<comment>default label for Submit buttons in forms on web pages</comment>
<translation>Wyślij</translation>
@@ -6280,7 +6288,7 @@ Proszę wybrać inną nazwę pliku.</translation>
<translation>Wyczyść</translation>
</message>
<message>
- <location line="+15"/>
+ <location line="+16"/>
<source>Choose File</source>
<comment>title for file button used in HTML forms</comment>
<translation>Wybierz plik</translation>
@@ -6766,12 +6774,12 @@ Proszę wybrać inną nazwę pliku.</translation>
<translation>Nieznany</translation>
</message>
<message>
- <location filename="../src/3rdparty/webkit/WebKit/qt/WebCoreSupport/InspectorClientQt.cpp" line="+170"/>
+ <location filename="../src/3rdparty/webkit/WebKit/qt/WebCoreSupport/InspectorClientQt.cpp" line="+167"/>
<source>Web Inspector - %2</source>
<translation>Wizytator sieciowy - %2</translation>
</message>
<message>
- <location filename="../src/3rdparty/webkit/WebCore/platform/network/qt/QNetworkReplyHandler.cpp" line="+416"/>
+ <location filename="../src/3rdparty/webkit/WebCore/platform/network/qt/QNetworkReplyHandler.cpp" line="+406"/>
<source>Bad HTTP request</source>
<translation>Niepoprawna komenda HTTP</translation>
</message>
@@ -6875,7 +6883,7 @@ Proszę wybrać inną nazwę pliku.</translation>
</translation>
</message>
<message>
- <location filename="../src/3rdparty/webkit/WebKit/qt/Api/qwebpage.cpp" line="+1727"/>
+ <location filename="../src/3rdparty/webkit/WebKit/qt/Api/qwebpage.cpp" line="+1708"/>
<source>JavaScript Alert - %1</source>
<translation>Ostrzeżenie JavaScript - %1</translation>
</message>
@@ -7121,7 +7129,7 @@ Proszę wybrać inną nazwę pliku.</translation>
<context>
<name>QWidget</name>
<message>
- <location filename="../src/gui/kernel/qwidget.cpp" line="+5652"/>
+ <location filename="../src/gui/kernel/qwidget.cpp" line="+5672"/>
<source>*</source>
<translation>*</translation>
</message>
@@ -9596,32 +9604,32 @@ Proszę wybrać inną nazwę pliku.</translation>
<message>
<location line="+15"/>
<source>Duration content does not match the maxInclusive facet.</source>
- <translation>Wartość czasu trwania koliduje z aspektem &quot;maxInclusive&quot;.</translation>
+ <translation>Wartość długości okresu czasu koliduje z aspektem &quot;maxInclusive&quot;.</translation>
</message>
<message>
<location line="+9"/>
<source>Duration content does not match the maxExclusive facet.</source>
- <translation>Wartość czasu trwania koliduje z aspektem &quot;maxExclusive&quot;.</translation>
+ <translation>Wartość długości okresu czasu koliduje z aspektem &quot;maxExclusive&quot;.</translation>
</message>
<message>
<location line="+9"/>
<source>Duration content does not match the minInclusive facet.</source>
- <translation>Wartość czasu trwania koliduje z aspektem &quot;minInclusive&quot;.</translation>
+ <translation>Wartość długości okresu czasu koliduje z aspektem &quot;minInclusive&quot;.</translation>
</message>
<message>
<location line="+9"/>
<source>Duration content does not match the minExclusive facet.</source>
- <translation>Wartość czasu trwania koliduje z aspektem &quot;minExclusive&quot;.</translation>
+ <translation>Wartość długości okresu czasu koliduje z aspektem &quot;minExclusive&quot;.</translation>
</message>
<message>
<location line="+18"/>
<source>Duration content is not listed in the enumeration facet.</source>
- <translation>Wartość czasu trwania nie widnieje na liście aspektu &quot;enumeration&quot;.</translation>
+ <translation>Wartość długości okresu czasu nie widnieje na liście aspektu &quot;enumeration&quot;.</translation>
</message>
<message>
<location line="+18"/>
<source>Duration content does not match pattern facet.</source>
- <translation>Wartość czasu trwania koliduje z aspektem &quot;pattern&quot;.</translation>
+ <translation>Wartość długości okresu czasu koliduje z aspektem &quot;pattern&quot;.</translation>
</message>
<message>
<location line="+27"/>
diff --git a/translations/qt_sl.ts b/translations/qt_sl.ts
index 517ce71..c7684e3 100644
--- a/translations/qt_sl.ts
+++ b/translations/qt_sl.ts
@@ -12,7 +12,7 @@
<context>
<name>FakeReply</name>
<message>
- <location filename="../src/3rdparty/webkit/WebKit/qt/tests/qwebframe/tst_qwebframe.cpp" line="+2191"/>
+ <location filename="../src/3rdparty/webkit/WebKit/qt/tests/qwebframe/tst_qwebframe.cpp" line="+2193"/>
<source>Fake error !</source>
<translation>Lažna napaka.</translation>
</message>
@@ -23,14 +23,6 @@
</message>
</context>
<context>
- <name>InputPrivate</name>
- <message>
- <location filename="../src/multimedia/audio/qaudioinput_alsa_p.cpp" line="+653"/>
- <source>PUSH: read in bytes = %1 (frames=%2)</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
<name>Phonon::</name>
<message>
<location filename="../src/3rdparty/phonon/phonon/phononnamespace.cpp" line="+55"/>
@@ -117,10 +109,10 @@ da je nameščen paket libgstreamer-plugins-base.</translation>
<translation>Manjka potreben kodek. Za predvajanje te vsebine morate namestiti sledeče kodeke: %0</translation>
</message>
<message>
- <location line="+676"/>
+ <location line="+681"/>
<location line="+8"/>
<location line="+15"/>
- <location line="+9"/>
+ <location line="+22"/>
<location line="+6"/>
<location line="+19"/>
<location line="+339"/>
@@ -129,12 +121,12 @@ da je nameščen paket libgstreamer-plugins-base.</translation>
<translation>Ni moč odpreti večpredstavnostnega vira.</translation>
</message>
<message>
- <location line="-407"/>
+ <location line="-420"/>
<source>Invalid source type.</source>
<translation>Neveljavna vrsta vira.</translation>
</message>
<message>
- <location line="+381"/>
+ <location line="+394"/>
<source>Could not locate media source.</source>
<translation>Ni moč najti večpredstavnostnega vira.</translation>
</message>
@@ -150,11 +142,63 @@ da je nameščen paket libgstreamer-plugins-base.</translation>
</message>
</context>
<context>
+ <name>Phonon::MMF</name>
+ <message>
+ <location filename="../src/3rdparty/phonon/mmf/audiooutput.cpp" line="+108"/>
+ <source>Audio Output</source>
+ <translation>Predvajanje zvoka</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>The audio output device</source>
+ <translation>Naprava za predvajanje zvoka</translation>
+ </message>
+</context>
+<context>
<name>Phonon::MMF::AudioEqualizer</name>
<message>
- <location filename="../src/3rdparty/phonon/mmf/audioequalizer.cpp" line="+70"/>
+ <location filename="../src/3rdparty/phonon/mmf/audioequalizer.cpp" line="+75"/>
<source>Frequency band, %1 Hz</source>
- <translation type="unfinished"></translation>
+ <translation>Frekvenčni pas, %1 Hz</translation>
+ </message>
+</context>
+<context>
+ <name>Phonon::MMF::EffectFactory</name>
+ <message>
+ <location filename="../src/3rdparty/phonon/mmf/effectfactory.cpp" line="+65"/>
+ <source>audio equalizer</source>
+ <translation>izenačevalnik zvoka</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Bass boost</source>
+ <translation>Ojačanje basov</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Distance Attenuation</source>
+ <translation>Utišanje zaradi razdalje</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <location line="+2"/>
+ <source>Environmental Reverb</source>
+ <translation>Okoljsko odmevanje</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Loudness</source>
+ <translation>Glasnost</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Source Orientation</source>
+ <translation>Usmerjenost vira</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Stereo Widening</source>
+ <translation>Razširitev sterea</translation>
</message>
</context>
<context>
@@ -888,7 +932,7 @@ v
<translation>Dejanje na vtičnici ni podprto</translation>
</message>
<message>
- <location line="+187"/>
+ <location line="+200"/>
<source>Socket operation timed out</source>
<translation>Čas za dejanje na vtičnici je potekel</translation>
</message>
@@ -922,6 +966,14 @@ v
</message>
</context>
<context>
+ <name>QAccessibleButton</name>
+ <message>
+ <location filename="../src/plugins/accessible/widgets/simplewidgets.cpp" line="+250"/>
+ <source>Press</source>
+ <translation>Pritisni</translation>
+ </message>
+</context>
+<context>
<name>QApplication</name>
<message>
<location filename="../src/gui/accessible/qaccessibleobject.cpp" line="+376"/>
@@ -939,7 +991,7 @@ v
<translation>Napaka nezdružljivosti knjižnice Qt</translation>
</message>
<message>
- <location filename="../src/gui/kernel/qapplication.cpp" line="+2306"/>
+ <location filename="../src/gui/kernel/qapplication.cpp" line="+2290"/>
<source>QT_LAYOUT_DIRECTION</source>
<comment>Translate this string to the string &apos;LTR&apos; in left-to-right languages or to &apos;RTL&apos; in right-to-left languages (such as Hebrew and Arabic) to get proper widget layout.</comment>
<translation>LTR</translation>
@@ -951,117 +1003,6 @@ v
</message>
</context>
<context>
- <name>QAudioInputPrivate</name>
- <message>
- <location filename="../src/multimedia/audio/qaudioinput_alsa_p.cpp" line="-367"/>
- <source>QAudioInput: snd_pcm_hw_params_any: err = %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="+6"/>
- <source>QAudioInput: snd_pcm_hw_params_set_rate_resample: err = %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="+7"/>
- <source>QAudioInput: snd_pcm_hw_params_set_access: err = %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="+7"/>
- <source>QAudioInput: snd_pcm_hw_params_set_format: err = %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="+7"/>
- <source>QAudioInput: snd_pcm_hw_params_set_channels: err = %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="+7"/>
- <source>QAudioInput: snd_pcm_hw_params_set_rate_near: err = %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="+7"/>
- <source>QAudioInput: snd_pcm_hw_params_set_buffer_time_near: err = %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="+7"/>
- <source>QAudioInput: snd_pcm_hw_params_set_period_time_near: err = %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="+7"/>
- <source>QAudioInput: snd_pcm_hw_params_set_periods_near: err = %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="+7"/>
- <source>QAudioInput: snd_pcm_hw_params: err = %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="+98"/>
- <source>PULL: read in bytes = %1 (frames=%2)</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>QAudioOutputPrivate</name>
- <message>
- <location filename="../src/multimedia/audio/qaudiooutput_alsa_p.cpp" line="+307"/>
- <source>QAudioOutput: snd_pcm_hw_params_any: err = %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="+6"/>
- <source>QAudioOutput: snd_pcm_hw_params_set_rate_resample: err = %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="+7"/>
- <source>QAudioOutput: snd_pcm_hw_params_set_access: err = %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="+7"/>
- <source>QAudioOutput: snd_pcm_hw_params_set_format: err = %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="+7"/>
- <source>QAudioOutput: snd_pcm_hw_params_set_channels: err = %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="+7"/>
- <source>QAudioOutput: snd_pcm_hw_params_set_rate_near: err = %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="+7"/>
- <source>QAudioOutput: snd_pcm_hw_params_set_buffer_time_near: err = %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="+7"/>
- <source>QAudioOutput: snd_pcm_hw_params_set_period_time_near: err = %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="+7"/>
- <source>QAudioOutput: snd_pcm_hw_params_set_periods_near: err = %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="+7"/>
- <source>QAudioOutput: snd_pcm_hw_params: err = %1</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
<name>QAxSelect</name>
<message>
<location filename="../src/activeqt/container/qaxselect.ui"/>
@@ -1087,7 +1028,7 @@ v
<context>
<name>QCheckBox</name>
<message>
- <location filename="../src/plugins/accessible/widgets/simplewidgets.cpp" line="+114"/>
+ <location filename="../src/plugins/accessible/widgets/simplewidgets.cpp" line="-136"/>
<source>Uncheck</source>
<translation>Odznači</translation>
</message>
@@ -1105,7 +1046,7 @@ v
<context>
<name>QColorDialog</name>
<message>
- <location filename="../src/gui/dialogs/qcolordialog.cpp" line="+1348"/>
+ <location filename="../src/gui/dialogs/qcolordialog.cpp" line="+1349"/>
<source>Hu&amp;e:</source>
<translation>&amp;Odtenek:</translation>
</message>
@@ -1145,7 +1086,7 @@ v
<translation>Izberite barvo</translation>
</message>
<message>
- <location line="+178"/>
+ <location line="+180"/>
<source>&amp;Basic colors</source>
<translation>&amp;Osnovne barve</translation>
</message>
@@ -1214,7 +1155,7 @@ v
<location line="+4"/>
<source>%1: does not exist</source>
<comment>QSystemSemaphore</comment>
- <translation type="unfinished">%1: ne obstaja</translation>
+ <translation>%1: ne obstaja</translation>
</message>
<message>
<location line="+5"/>
@@ -1345,7 +1286,7 @@ v
<message>
<location filename="../src/gui/dialogs/qmessagebox.cpp" line="+1872"/>
<location line="+464"/>
- <location filename="../src/gui/widgets/qdialogbuttonbox.cpp" line="+619"/>
+ <location filename="../src/gui/widgets/qdialogbuttonbox.cpp" line="+606"/>
<source>OK</source>
<translation>V redu</translation>
</message>
@@ -1544,7 +1485,7 @@ v
<translation>Usodna napaka:</translation>
</message>
<message>
- <location line="+199"/>
+ <location line="+200"/>
<source>&amp;Show this message again</source>
<translation>&amp;To sporočilo naslednjič spet prikaži</translation>
</message>
@@ -1565,7 +1506,7 @@ v
<message>
<location line="-140"/>
<source>Will not rename sequential file using block copy</source>
- <translation type="unfinished"></translation>
+ <translation>Sekvenčna datoteka ne bo preimenovana z uporabo kopiranja blokov</translation>
</message>
<message>
<location line="+23"/>
@@ -1596,7 +1537,7 @@ v
<context>
<name>QFileDialog</name>
<message>
- <location filename="../src/gui/dialogs/qfiledialog.cpp" line="+556"/>
+ <location filename="../src/gui/dialogs/qfiledialog.cpp" line="+558"/>
<location line="+450"/>
<source>All Files (*)</source>
<translation>Vse datoteke (*)</translation>
@@ -1724,7 +1665,7 @@ Ali jo kljub temu želite izbrisati?</translation>
<translation>Ni bilo moč izbrisati mape.</translation>
</message>
<message>
- <location line="+404"/>
+ <location line="+410"/>
<source>Recent Places</source>
<translation>Nedavna mesta</translation>
</message>
@@ -1734,12 +1675,12 @@ Ali jo kljub temu želite izbrisati?</translation>
<translation>Vse datoteke (*.*)</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qfiledialog.cpp" line="-2540"/>
+ <location filename="../src/gui/dialogs/qfiledialog.cpp" line="-2546"/>
<source>Save As</source>
<translation>Shrani kot</translation>
</message>
<message>
- <location filename="../src/gui/itemviews/qfileiconprovider.cpp" line="+441"/>
+ <location filename="../src/gui/itemviews/qfileiconprovider.cpp" line="+461"/>
<source>Drive</source>
<translation>Pogon</translation>
</message>
@@ -1918,50 +1859,50 @@ Ali jo kljub temu želite izbrisati?</translation>
<name>QFontDatabase</name>
<message>
<location filename="../src/gui/text/qfontdatabase.cpp" line="+102"/>
- <location line="+1330"/>
+ <location line="+1335"/>
<source>Normal</source>
<translation>Normalno</translation>
</message>
<message>
- <location line="-1327"/>
+ <location line="-1332"/>
<location line="+12"/>
- <location line="+1303"/>
+ <location line="+1308"/>
<source>Bold</source>
<translation>Polkrepko</translation>
</message>
<message>
- <location line="-1312"/>
- <location line="+1314"/>
+ <location line="-1317"/>
+ <location line="+1319"/>
<source>Demi Bold</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-1311"/>
+ <location line="-1316"/>
<location line="+18"/>
- <location line="+1289"/>
+ <location line="+1294"/>
<source>Black</source>
<translation type="unfinished">Črni</translation>
</message>
<message>
- <location line="-1299"/>
+ <location line="-1304"/>
<source>Demi</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+6"/>
- <location line="+1299"/>
+ <location line="+1304"/>
<source>Light</source>
<translation>Lahko</translation>
</message>
<message>
- <location line="-1153"/>
- <location line="+1156"/>
+ <location line="-1158"/>
+ <location line="+1161"/>
<source>Italic</source>
<translation>Ležeče</translation>
</message>
<message>
- <location line="-1153"/>
- <location line="+1155"/>
+ <location line="-1158"/>
+ <location line="+1160"/>
<source>Oblique</source>
<translation>Nagnjeno</translation>
</message>
@@ -2063,32 +2004,32 @@ Ali jo kljub temu želite izbrisati?</translation>
<message>
<location line="+3"/>
<source>Thai</source>
- <translation type="unfinished">Tajski</translation>
+ <translation>Tajska</translation>
</message>
<message>
<location line="+3"/>
<source>Lao</source>
- <translation type="unfinished">Laoška</translation>
+ <translation>Laoška</translation>
</message>
<message>
<location line="+3"/>
<source>Tibetan</source>
- <translation type="unfinished">tibetansko</translation>
+ <translation>Tibetanska</translation>
</message>
<message>
<location line="+3"/>
<source>Myanmar</source>
- <translation type="unfinished">Mjanmar</translation>
+ <translation>Mjanmarska</translation>
</message>
<message>
<location line="+3"/>
<source>Georgian</source>
- <translation type="unfinished">gruzijsko</translation>
+ <translation>Gruzijska</translation>
</message>
<message>
<location line="+3"/>
<source>Khmer</source>
- <translation type="unfinished">Kmersko</translation>
+ <translation>Kmerska</translation>
</message>
<message>
<location line="+3"/>
@@ -2118,7 +2059,7 @@ Ali jo kljub temu želite izbrisati?</translation>
<message>
<location line="+3"/>
<source>Symbol</source>
- <translation type="unfinished">Znak</translation>
+ <translation>Simbol</translation>
</message>
<message>
<location line="+3"/>
@@ -2134,7 +2075,7 @@ Ali jo kljub temu želite izbrisati?</translation>
<context>
<name>QFontDialog</name>
<message>
- <location filename="../src/gui/dialogs/qfontdialog.cpp" line="+774"/>
+ <location filename="../src/gui/dialogs/qfontdialog.cpp" line="+776"/>
<source>&amp;Font</source>
<translation>&amp;Pisava</translation>
</message>
@@ -2174,7 +2115,7 @@ Ali jo kljub temu želite izbrisati?</translation>
<translation>S&amp;istem pisanja</translation>
</message>
<message>
- <location line="-607"/>
+ <location line="-609"/>
<location line="+257"/>
<source>Select Font</source>
<translation>Izberite pisavo</translation>
@@ -2337,13 +2278,9 @@ Ali jo kljub temu želite izbrisati?</translation>
<context>
<name>QHostInfoAgent</name>
<message>
- <location filename="../src/network/kernel/qhostinfo_unix.cpp" line="+178"/>
- <location line="+9"/>
- <location line="+80"/>
+ <location filename="../src/network/kernel/qhostinfo_unix.cpp" line="+257"/>
<location line="+32"/>
- <location filename="../src/network/kernel/qhostinfo_win.cpp" line="+165"/>
- <location line="+9"/>
- <location line="+56"/>
+ <location filename="../src/network/kernel/qhostinfo_win.cpp" line="+220"/>
<location line="+27"/>
<source>Host not found</source>
<translation>Ni moč najti gostitelja</translation>
@@ -2364,20 +2301,20 @@ Ali jo kljub temu želite izbrisati?</translation>
<translation>Neznana napaka</translation>
</message>
<message>
- <location filename="../src/network/kernel/qhostinfo_win.cpp" line="-71"/>
+ <location filename="../src/network/kernel/qhostinfo_win.cpp" line="-67"/>
<source>No host name given</source>
- <translation type="unfinished">Podano ni bilo nobeno ime gostitelja</translation>
+ <translation>Podano ni bilo nobeno ime gostitelja</translation>
</message>
<message>
<location line="+0"/>
<source>Invalid hostname</source>
- <translation type="unfinished">Neveljavno ime gostitelja</translation>
+ <translation>Neveljavno ime gostitelja</translation>
</message>
</context>
<context>
<name>QHttp</name>
<message>
- <location filename="../src/network/access/qhttp.cpp" line="+1577"/>
+ <location filename="../src/network/access/qhttp.cpp" line="+1582"/>
<location line="+820"/>
<location filename="../src/qt3support/network/q3http.cpp" line="+1159"/>
<location line="+567"/>
@@ -2409,7 +2346,7 @@ Ali jo kljub temu želite izbrisati?</translation>
<translation>Strežnik je nepričakovano prekinil povezavo</translation>
</message>
<message>
- <location line="+179"/>
+ <location line="+200"/>
<source>Unknown authentication method</source>
<translation>Neznan način overjanja</translation>
</message>
@@ -2419,13 +2356,13 @@ Ali jo kljub temu želite izbrisati?</translation>
<translation>Napaka pri pisanju odziva na napravo</translation>
</message>
<message>
- <location filename="../src/network/access/qhttpnetworkconnection.cpp" line="+560"/>
+ <location filename="../src/network/access/qhttpnetworkconnection.cpp" line="+569"/>
<location filename="../src/qt3support/network/q3http.cpp" line="+38"/>
<source>Connection refused</source>
<translation>Povezava je zavrnjena</translation>
</message>
<message>
- <location filename="../src/network/access/qhttp.cpp" line="-304"/>
+ <location filename="../src/network/access/qhttp.cpp" line="-325"/>
<location filename="../src/network/access/qhttpnetworkconnection.cpp" line="-4"/>
<location filename="../src/qt3support/network/q3http.cpp" line="+3"/>
<source>Host %1 not found</source>
@@ -2440,7 +2377,7 @@ Ali jo kljub temu želite izbrisati?</translation>
<translation>Zahtevek HTTP ni uspel</translation>
</message>
<message>
- <location line="+73"/>
+ <location line="+94"/>
<location filename="../src/qt3support/network/q3http.cpp" line="+69"/>
<source>Invalid HTTP response header</source>
<translation>Neveljavna glava odgovora HTTP</translation>
@@ -2495,7 +2432,7 @@ Ali jo kljub temu želite izbrisati?</translation>
<translation>Potrebna je overitev</translation>
</message>
<message>
- <location line="-138"/>
+ <location line="-159"/>
<source>Connection refused (or timed out)</source>
<translation>Povezava je bila zavrnjena (ali pa je potekel čas)</translation>
</message>
@@ -2694,7 +2631,7 @@ Ali jo kljub temu želite izbrisati?</translation>
<context>
<name>QIODevice</name>
<message>
- <location filename="../src/corelib/global/qglobal.cpp" line="+2046"/>
+ <location filename="../src/corelib/global/qglobal.cpp" line="+2058"/>
<source>Permission denied</source>
<translation>Nimate dovoljenja</translation>
</message>
@@ -3174,7 +3111,7 @@ Ali jo kljub temu želite izbrisati?</translation>
<context>
<name>QMenuBar</name>
<message>
- <location filename="../src/gui/widgets/qmenu_symbian.cpp" line="+401"/>
+ <location filename="../src/gui/widgets/qmenu_symbian.cpp" line="+410"/>
<source>Actions</source>
<translation>Dejanja</translation>
</message>
@@ -3527,7 +3464,7 @@ Ali jo kljub temu želite izbrisati?</translation>
<message>
<location line="+59"/>
<source>Unable to alloc statement</source>
- <translation type="unfinished"></translation>
+ <translation>Ni moč dodeliti izjave</translation>
</message>
<message>
<location line="+15"/>
@@ -3553,7 +3490,7 @@ Ali jo kljub temu želite izbrisati?</translation>
<context>
<name>QODBCDriver</name>
<message>
- <location filename="../src/sql/drivers/odbc/qsql_odbc.cpp" line="+1783"/>
+ <location filename="../src/sql/drivers/odbc/qsql_odbc.cpp" line="+1790"/>
<source>Unable to connect</source>
<translation>Ni moč vzpostaviti povezave</translation>
</message>
@@ -3586,7 +3523,7 @@ Ali jo kljub temu želite izbrisati?</translation>
<context>
<name>QODBCResult</name>
<message>
- <location line="-926"/>
+ <location line="-932"/>
<location line="+346"/>
<source>QODBCResult::reset: Unable to set &apos;SQL_CURSOR_STATIC&apos; as statement attribute. Please check your ODBC driver configuration</source>
<translation>QODBCResult::reset: ni moč nastaviti &apos;SQL_CURSOR_STATIC&apos; kot lastnosti izjave. Preverite nastavitve gonilnika ODBC</translation>
@@ -3638,7 +3575,7 @@ Ali jo kljub temu želite izbrisati?</translation>
<context>
<name>QObject</name>
<message>
- <location filename="../src/network/kernel/qhostinfo_unix.cpp" line="-101"/>
+ <location filename="../src/network/kernel/qhostinfo_unix.cpp" line="-97"/>
<source>Invalid hostname</source>
<translation>Neveljavno ime gostitelja</translation>
</message>
@@ -3668,42 +3605,6 @@ Ali jo kljub temu želite izbrisati?</translation>
<source>No host name given</source>
<translation>Podano ni bilo nobeno ime gostitelja</translation>
</message>
- <message>
- <location filename="../src/3rdparty/phonon/mmf/effectfactory.cpp" line="+60"/>
- <source>audio equalizer</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="+2"/>
- <source>Bass boost</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="+2"/>
- <source>Distance Attenuation</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="+2"/>
- <location line="+2"/>
- <source>Environmental Reverb</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="+2"/>
- <source>Loudness</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="+2"/>
- <source>Source Orientation</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="+2"/>
- <source>Stereo Widening</source>
- <translation type="unfinished"></translation>
- </message>
</context>
<context>
<name>QPPDOptionsModel</name>
@@ -4050,7 +3951,7 @@ Ali jo kljub temu želite izbrisati?</translation>
<translation>US Common #10 Envelope (105 x 241 mm)</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qprintdialog_win.cpp" line="+259"/>
+ <location filename="../src/gui/dialogs/qprintdialog_win.cpp" line="+266"/>
<source>OK</source>
<translation>V redu</translation>
</message>
@@ -4610,7 +4511,7 @@ Izberite drugo ime datoteke.</translation>
<translation>Čas za dejanje procesa je potekel</translation>
</message>
<message>
- <location filename="../src/corelib/io/qprocess.cpp" line="+851"/>
+ <location filename="../src/corelib/io/qprocess.cpp" line="+855"/>
<location line="+52"/>
<location filename="../src/corelib/io/qprocess_win.cpp" line="-211"/>
<location line="+50"/>
@@ -4826,32 +4727,32 @@ Izberite drugo ime datoteke.</translation>
<message>
<location filename="../src/scripttools/debugging/qscriptbreakpointsmodel.cpp" line="+455"/>
<source>ID</source>
- <translation type="unfinished"></translation>
+ <translation>ID</translation>
</message>
<message>
<location line="+2"/>
<source>Location</source>
- <translation type="unfinished"></translation>
+ <translation>Lokacija</translation>
</message>
<message>
<location line="+2"/>
<source>Condition</source>
- <translation type="unfinished"></translation>
+ <translation>Pogoj</translation>
</message>
<message>
<location line="+2"/>
<source>Ignore-count</source>
- <translation type="unfinished"></translation>
+ <translation>Število prezrtij</translation>
</message>
<message>
<location line="+2"/>
<source>Single-shot</source>
- <translation type="unfinished"></translation>
+ <translation>Enojen zadetek</translation>
</message>
<message>
<location line="+2"/>
<source>Hit-count</source>
- <translation type="unfinished"></translation>
+ <translation>Število zadetkov</translation>
</message>
</context>
<context>
@@ -4859,12 +4760,12 @@ Izberite drugo ime datoteke.</translation>
<message>
<location filename="../src/scripttools/debugging/qscriptbreakpointswidget.cpp" line="+298"/>
<source>New</source>
- <translation type="unfinished"></translation>
+ <translation>Nova</translation>
</message>
<message>
<location line="+6"/>
<source>Delete</source>
- <translation type="unfinished">Izbriši</translation>
+ <translation>Izbriši</translation>
</message>
</context>
<context>
@@ -4873,17 +4774,17 @@ Izberite drugo ime datoteke.</translation>
<location filename="../src/scripttools/debugging/qscriptdebugger.cpp" line="+885"/>
<location line="+1013"/>
<source>Go to Line</source>
- <translation type="unfinished"></translation>
+ <translation>Pojdi v vrstico</translation>
</message>
<message>
<location line="-1012"/>
<source>Line:</source>
- <translation type="unfinished"></translation>
+ <translation>Vrstica:</translation>
</message>
<message>
<location line="+791"/>
<source>Interrupt</source>
- <translation type="unfinished"></translation>
+ <translation>Prekini</translation>
</message>
<message>
<location line="+2"/>
@@ -4893,7 +4794,7 @@ Izberite drugo ime datoteke.</translation>
<message>
<location line="+15"/>
<source>Continue</source>
- <translation type="unfinished">Nadaljuj</translation>
+ <translation>Nadaljuj</translation>
</message>
<message>
<location line="+2"/>
@@ -4903,7 +4804,7 @@ Izberite drugo ime datoteke.</translation>
<message>
<location line="+15"/>
<source>Step Into</source>
- <translation type="unfinished"></translation>
+ <translation>Vstopi</translation>
</message>
<message>
<location line="+2"/>
@@ -4913,7 +4814,7 @@ Izberite drugo ime datoteke.</translation>
<message>
<location line="+15"/>
<source>Step Over</source>
- <translation type="unfinished"></translation>
+ <translation>Prestopi</translation>
</message>
<message>
<location line="+2"/>
@@ -4923,7 +4824,7 @@ Izberite drugo ime datoteke.</translation>
<message>
<location line="+15"/>
<source>Step Out</source>
- <translation type="unfinished"></translation>
+ <translation>Izstopi</translation>
</message>
<message>
<location line="+2"/>
@@ -4933,7 +4834,7 @@ Izberite drugo ime datoteke.</translation>
<message>
<location line="+15"/>
<source>Run to Cursor</source>
- <translation type="unfinished"></translation>
+ <translation>Zaženi do kazalca</translation>
</message>
<message>
<location line="+2"/>
@@ -4943,12 +4844,12 @@ Izberite drugo ime datoteke.</translation>
<message>
<location line="+16"/>
<source>Run to New Script</source>
- <translation type="unfinished"></translation>
+ <translation>Zaženi do novega skripta</translation>
</message>
<message>
<location line="+15"/>
<source>Toggle Breakpoint</source>
- <translation type="unfinished"></translation>
+ <translation>Preklopi prekinitveno točko</translation>
</message>
<message>
<location line="+1"/>
@@ -4958,22 +4859,22 @@ Izberite drugo ime datoteke.</translation>
<message>
<location line="+14"/>
<source>Clear Debug Output</source>
- <translation type="unfinished"></translation>
+ <translation>Počisti razhroščevalni izhod</translation>
</message>
<message>
<location line="+13"/>
<source>Clear Error Log</source>
- <translation type="unfinished"></translation>
+ <translation>Počisti dnevnik napak</translation>
</message>
<message>
<location line="+13"/>
<source>Clear Console</source>
- <translation type="unfinished"></translation>
+ <translation>Počisti konzolo</translation>
</message>
<message>
<location line="+14"/>
<source>&amp;Find in Script...</source>
- <translation type="unfinished"></translation>
+ <translation>Najdi v &amp;skriptu ...</translation>
</message>
<message>
<location line="+1"/>
@@ -4983,7 +4884,7 @@ Izberite drugo ime datoteke.</translation>
<message>
<location line="+17"/>
<source>Find &amp;Next</source>
- <translation type="unfinished"></translation>
+ <translation>Najdi &amp;naslednje</translation>
</message>
<message>
<location line="+2"/>
@@ -4993,7 +4894,7 @@ Izberite drugo ime datoteke.</translation>
<message>
<location line="+13"/>
<source>Find &amp;Previous</source>
- <translation type="unfinished"></translation>
+ <translation>Najdi &amp;predhodno</translation>
</message>
<message>
<location line="+2"/>
@@ -5008,7 +4909,7 @@ Izberite drugo ime datoteke.</translation>
<message>
<location line="+11"/>
<source>Debug</source>
- <translation type="unfinished"></translation>
+ <translation>Razhrošči</translation>
</message>
</context>
<context>
@@ -5016,32 +4917,32 @@ Izberite drugo ime datoteke.</translation>
<message>
<location filename="../src/scripttools/debugging/qscriptdebuggercodefinderwidget.cpp" line="+141"/>
<source>Close</source>
- <translation type="unfinished">Zapri</translation>
+ <translation>Zapri</translation>
</message>
<message>
<location line="+13"/>
<source>Previous</source>
- <translation type="unfinished"></translation>
+ <translation>Predhodno</translation>
</message>
<message>
<location line="+7"/>
<source>Next</source>
- <translation type="unfinished"></translation>
+ <translation>Naslednje</translation>
</message>
<message>
<location line="+5"/>
<source>Case Sensitive</source>
- <translation type="unfinished"></translation>
+ <translation>Občutljivo na velikost črk</translation>
</message>
<message>
<location line="+3"/>
<source>Whole words</source>
- <translation type="unfinished"></translation>
+ <translation>Cele besede</translation>
</message>
<message>
<location line="+9"/>
<source>&lt;img src=&quot;:/qt/scripttools/debugging/images/wrap.png&quot;&gt;&amp;nbsp;Search wrapped</source>
- <translation type="unfinished"></translation>
+ <translation>&lt;img src=&quot;:/qt/scripttools/debugging/images/wrap.png&quot;&gt;&amp;nbsp;Iskanje se nadaljuje na drugem koncu</translation>
</message>
</context>
<context>
@@ -5049,12 +4950,12 @@ Izberite drugo ime datoteke.</translation>
<message>
<location filename="../src/scripttools/debugging/qscriptdebuggerlocalsmodel.cpp" line="+872"/>
<source>Name</source>
- <translation type="unfinished">Ime</translation>
+ <translation>Ime</translation>
</message>
<message>
<location line="+2"/>
<source>Value</source>
- <translation type="unfinished">Vrednost</translation>
+ <translation>Vrednost</translation>
</message>
</context>
<context>
@@ -5062,17 +4963,17 @@ Izberite drugo ime datoteke.</translation>
<message>
<location filename="../src/scripttools/debugging/qscriptdebuggerstackmodel.cpp" line="+161"/>
<source>Level</source>
- <translation type="unfinished"></translation>
+ <translation>Stopnja</translation>
</message>
<message>
<location line="+2"/>
<source>Name</source>
- <translation type="unfinished">Ime</translation>
+ <translation>Ime</translation>
</message>
<message>
<location line="+2"/>
<source>Location</source>
- <translation type="unfinished"></translation>
+ <translation>Lokacija</translation>
</message>
</context>
<context>
@@ -5080,22 +4981,22 @@ Izberite drugo ime datoteke.</translation>
<message>
<location filename="../src/scripttools/debugging/qscriptedit.cpp" line="+411"/>
<source>Toggle Breakpoint</source>
- <translation type="unfinished"></translation>
+ <translation>Preklopi prekinitveno točko</translation>
</message>
<message>
<location line="+2"/>
<source>Disable Breakpoint</source>
- <translation type="unfinished"></translation>
+ <translation>Onemogoči prekinitveno točko</translation>
</message>
<message>
<location line="+1"/>
<source>Enable Breakpoint</source>
- <translation type="unfinished"></translation>
+ <translation>Omogoči prekinitveno točko</translation>
</message>
<message>
<location line="+4"/>
<source>Breakpoint Condition:</source>
- <translation type="unfinished"></translation>
+ <translation>Pogoj za prelomno točko:</translation>
</message>
</context>
<context>
@@ -5103,52 +5004,52 @@ Izberite drugo ime datoteke.</translation>
<message>
<location filename="../src/scripttools/debugging/qscriptenginedebugger.cpp" line="+523"/>
<source>Loaded Scripts</source>
- <translation type="unfinished"></translation>
+ <translation>Naloženi skripti</translation>
</message>
<message>
<location line="+6"/>
<source>Breakpoints</source>
- <translation type="unfinished"></translation>
+ <translation>Prelomne točke</translation>
</message>
<message>
<location line="+6"/>
<source>Stack</source>
- <translation type="unfinished"></translation>
+ <translation>Sklad</translation>
</message>
<message>
<location line="+6"/>
<source>Locals</source>
- <translation type="unfinished"></translation>
+ <translation>Krajevno</translation>
</message>
<message>
<location line="+6"/>
<source>Console</source>
- <translation type="unfinished"></translation>
+ <translation>Konzola</translation>
</message>
<message>
<location line="+6"/>
<source>Debug Output</source>
- <translation type="unfinished"></translation>
+ <translation>Razhroščevalni izhod</translation>
</message>
<message>
<location line="+6"/>
<source>Error Log</source>
- <translation type="unfinished"></translation>
+ <translation>Dnevnik napak</translation>
</message>
<message>
<location line="+12"/>
<source>Search</source>
- <translation type="unfinished">Išči</translation>
+ <translation>Išči</translation>
</message>
<message>
<location line="+7"/>
<source>View</source>
- <translation type="unfinished"></translation>
+ <translation>Videz</translation>
</message>
<message>
<location line="+18"/>
<source>Qt Script Debugger</source>
- <translation type="unfinished"></translation>
+ <translation>Razhroščevalnik za Qt Script</translation>
</message>
</context>
<context>
@@ -5156,7 +5057,7 @@ Izberite drugo ime datoteke.</translation>
<message>
<location filename="../src/scripttools/debugging/qscriptbreakpointswidget.cpp" line="-223"/>
<source>Close</source>
- <translation type="unfinished">Zapri</translation>
+ <translation>Zapri</translation>
</message>
</context>
<context>
@@ -5521,7 +5422,7 @@ Izberite drugo ime datoteke.</translation>
<message>
<location line="+1"/>
<source>Bass Boost</source>
- <translation type="unfinished"></translation>
+ <translation>Ojačanje basov</translation>
</message>
<message>
<location line="+1"/>
@@ -5536,12 +5437,12 @@ Izberite drugo ime datoteke.</translation>
<message>
<location line="+1"/>
<source>Treble Up</source>
- <translation type="unfinished"></translation>
+ <translation>Več visokih tonov</translation>
</message>
<message>
<location line="+1"/>
<source>Treble Down</source>
- <translation type="unfinished"></translation>
+ <translation>Manj visokih tonov</translation>
</message>
<message>
<location line="+1"/>
@@ -5736,7 +5637,7 @@ Izberite drugo ime datoteke.</translation>
<message>
<location line="+4"/>
<source>Select</source>
- <translation type="unfinished">Izberi</translation>
+ <translation>Izberi</translation>
</message>
<message>
<location line="+1"/>
@@ -5771,17 +5672,17 @@ Izberite drugo ime datoteke.</translation>
<message>
<location line="+1"/>
<source>Call</source>
- <translation type="unfinished">Pokliči</translation>
+ <translation>Pokliči</translation>
</message>
<message>
<location line="+1"/>
<source>Hangup</source>
- <translation type="unfinished">Odloži</translation>
+ <translation>Odloži</translation>
</message>
<message>
<location line="+1"/>
<source>Flip</source>
- <translation type="unfinished">Obrni</translation>
+ <translation>Obrni</translation>
</message>
<message>
<location line="+561"/>
@@ -5954,7 +5855,7 @@ Izberite drugo ime datoteke.</translation>
<message>
<location line="+151"/>
<source>Exit</source>
- <translation type="unfinished">Končaj</translation>
+ <translation>Končaj</translation>
</message>
</context>
<context>
@@ -6176,7 +6077,7 @@ Izberite drugo ime datoteke.</translation>
<context>
<name>QTextControl</name>
<message>
- <location filename="../src/gui/text/qtextcontrol.cpp" line="+2001"/>
+ <location filename="../src/gui/text/qtextcontrol.cpp" line="+2007"/>
<source>&amp;Undo</source>
<translation>&amp;Razveljavi</translation>
</message>
@@ -6219,7 +6120,7 @@ Izberite drugo ime datoteke.</translation>
<context>
<name>QToolButton</name>
<message>
- <location filename="../src/plugins/accessible/widgets/simplewidgets.cpp" line="+254"/>
+ <location filename="../src/plugins/accessible/widgets/simplewidgets.cpp" line="+310"/>
<location line="+6"/>
<source>Press</source>
<translation>Pritisni</translation>
@@ -6334,12 +6235,12 @@ Izberite drugo ime datoteke.</translation>
<context>
<name>QWebFrame</name>
<message>
- <location filename="../src/3rdparty/webkit/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp" line="+706"/>
+ <location filename="../src/3rdparty/webkit/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp" line="+711"/>
<source>Request cancelled</source>
<translation>Zahtevek je bil preklican</translation>
</message>
<message>
- <location line="+17"/>
+ <location line="+19"/>
<source>Request blocked</source>
<translation>Zahtevek je bil blokiran</translation>
</message>
@@ -6367,12 +6268,12 @@ Izberite drugo ime datoteke.</translation>
<context>
<name>QWebPage</name>
<message>
- <location filename="../src/3rdparty/webkit/WebCore/platform/network/qt/QNetworkReplyHandler.cpp" line="+403"/>
+ <location filename="../src/3rdparty/webkit/WebCore/platform/network/qt/QNetworkReplyHandler.cpp" line="+406"/>
<source>Bad HTTP request</source>
<translation>Napačen zahtevek HTTP</translation>
</message>
<message>
- <location filename="../src/3rdparty/webkit/WebCore/platform/qt/Localizations.cpp" line="+41"/>
+ <location filename="../src/3rdparty/webkit/WebCore/platform/qt/Localizations.cpp" line="+42"/>
<source>Submit</source>
<comment>default label for Submit buttons in forms on web pages</comment>
<translation>Pošlji</translation>
@@ -6390,7 +6291,7 @@ Izberite drugo ime datoteke.</translation>
<translation>Ponastavi</translation>
</message>
<message>
- <location line="+10"/>
+ <location line="+11"/>
<source>This is a searchable index. Enter search keywords: </source>
<comment>text that appears at the start of nearly-obsolete web pages in the form of a &apos;searchable index&apos;</comment>
<translation>To je stvarno kazalo z iskanjem. Vnesite iskane besede: </translation>
@@ -6777,7 +6678,7 @@ Izberite drugo ime datoteke.</translation>
<location line="+2"/>
<source>Movie time scrubber</source>
<comment>Media controller element</comment>
- <translation type="unfinished"></translation>
+ <translation></translation>
</message>
<message>
<location line="+2"/>
@@ -6805,7 +6706,7 @@ Izberite drugo ime datoteke.</translation>
</message>
<message>
<location line="+2"/>
- <source>Remaining move time</source>
+ <source>Remaining movie time</source>
<comment>Media controller element</comment>
<translation>Preostali čas filma</translation>
</message>
@@ -6900,7 +6801,7 @@ Izberite drugo ime datoteke.</translation>
<translation>%1 (%2×%3 pik)</translation>
</message>
<message>
- <location filename="../src/3rdparty/webkit/WebKit/qt/WebCoreSupport/InspectorClientQt.cpp" line="+170"/>
+ <location filename="../src/3rdparty/webkit/WebKit/qt/WebCoreSupport/InspectorClientQt.cpp" line="+167"/>
<source>Web Inspector - %2</source>
<translation>Web Inspector - %2</translation>
</message>
@@ -6974,24 +6875,24 @@ Izberite drugo ime datoteke.</translation>
<source>%n file(s)</source>
<comment>number of chosen file</comment>
<translation>
- <numerusform>%n datotek</numerusform>
- <numerusform>%n datotek</numerusform>
- <numerusform>%n datotek</numerusform>
+ <numerusform>%n datoteka</numerusform>
+ <numerusform>%n datoteki</numerusform>
+ <numerusform>%n datoteke</numerusform>
<numerusform>%n datotek</numerusform>
</translation>
</message>
<message>
- <location filename="../src/3rdparty/webkit/WebKit/qt/Api/qwebpage.cpp" line="+1601"/>
+ <location filename="../src/3rdparty/webkit/WebKit/qt/Api/qwebpage.cpp" line="+1708"/>
<source>JavaScript Alert - %1</source>
<translation>Opozorilo JavaScript - %1</translation>
</message>
<message>
- <location line="+15"/>
+ <location line="+16"/>
<source>JavaScript Confirm - %1</source>
<translation>Potrditev JavaScript - %1</translation>
</message>
<message>
- <location line="+17"/>
+ <location line="+18"/>
<source>JavaScript Prompt - %1</source>
<translation>Poziv JavaScript - %1</translation>
</message>
@@ -7006,7 +6907,7 @@ Izberite drugo ime datoteke.</translation>
<translation>Kot kaže ima skript na tej strani težavo. Ali želite ustaviti skript?</translation>
</message>
<message>
- <location line="+381"/>
+ <location line="+383"/>
<source>Move the cursor to the next character</source>
<translation>Premakni kazalec na naslednji znak</translation>
</message>
@@ -7215,6 +7116,12 @@ Izberite drugo ime datoteke.</translation>
<source>Align Right</source>
<translation>Poravnaj desno</translation>
</message>
+ <message>
+ <location filename="Obsolete_PO_entries"/>
+ <source>Remaining move time</source>
+ <comment>Media controller element</comment>
+ <translation type="obsolete">Preostali čas filma</translation>
+ </message>
</context>
<context>
<name>QWhatsThisAction</name>
@@ -7227,7 +7134,7 @@ Izberite drugo ime datoteke.</translation>
<context>
<name>QWidget</name>
<message>
- <location filename="../src/gui/kernel/qwidget.cpp" line="+5655"/>
+ <location filename="../src/gui/kernel/qwidget.cpp" line="+5672"/>
<source>*</source>
<translation>*</translation>
</message>
@@ -7902,20 +7809,20 @@ Izberite drugo ime datoteke.</translation>
<location filename="../src/xmlpatterns/functions/qabstractfunctionfactory.cpp" line="+77"/>
<source>%1 takes at most %n argument(s). %2 is therefore invalid.</source>
<translation>
+ <numerusform>%1 potrebuje največ %n argument. %2 zato ni veljavno.</numerusform>
+ <numerusform>%1 potrebuje največ %n argumenta. %2 zato ni veljavno.</numerusform>
+ <numerusform>%1 potrebuje največ %n argumente. %2 zato ni veljavno.</numerusform>
<numerusform>%1 potrebuje največ %n argumentov. %2 zato ni veljavno.</numerusform>
- <numerusform></numerusform>
- <numerusform></numerusform>
- <numerusform></numerusform>
</translation>
</message>
<message numerus="yes">
<location line="+11"/>
<source>%1 requires at least %n argument(s). %2 is therefore invalid.</source>
<translation>
+ <numerusform>%1 potrebuje najmanj %n argument. %2 zato ni veljavno.</numerusform>
+ <numerusform>%1 potrebuje najmanj %n argumenta. %2 zato ni veljavno.</numerusform>
+ <numerusform>%1 potrebuje najmanj %n argumente. %2 zato ni veljavno.</numerusform>
<numerusform>%1 potrebuje najmanj %n argumentov. %2 zato ni veljavno.</numerusform>
- <numerusform></numerusform>
- <numerusform></numerusform>
- <numerusform></numerusform>
</translation>
</message>
<message>
@@ -8613,277 +8520,207 @@ Izberite drugo ime datoteke.</translation>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/schema/qxsdparticlechecker.cpp" line="+165"/>
- <source>empty particle cannot be derived from non-empty particle</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="+15"/>
- <source>derived particle is missing element %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="+7"/>
- <source>derived element %1 is missing value constraint as defined in base particle</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="+5"/>
- <source>derived element %1 has weaker value constraint than base particle</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="+7"/>
- <source>fixed value constraint of element %1 differs from value constraint in base particle</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="+7"/>
- <source>derived element %1 cannot be nillable as base element is not nillable</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="+10"/>
- <source>block constraints of derived element %1 must not be more weaker than in the base element</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="+11"/>
- <source>simple type of derived element %1 cannot be validly derived from base element</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="+5"/>
- <source>complex type of derived element %1 cannot be validly derived from base element</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="+24"/>
- <source>element %1 is missing in derived particle</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="+18"/>
- <source>element %1 does not match namespace constraint of wildcard in base particle</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="+11"/>
- <source>wildcard in derived particle is not a valid subset of wildcard in base particle</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="+5"/>
- <source>processContent of wildcard in derived particle is weaker than wildcard in base particle</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="+240"/>
- <source>derived particle allows content that is not allowed in the base particle</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
<location filename="../src/xmlpatterns/schema/qxsdschemachecker.cpp" line="+227"/>
- <source>%1 has inheritance loop in its base type %2</source>
+ <source>%1 has inheritance loop in its base type %2.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+5"/>
<location line="+24"/>
- <source>circular inheritance of base type %1</source>
+ <source>Circular inheritance of base type %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+11"/>
- <source>circular inheritance of union %1</source>
+ <source>Circular inheritance of union %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+25"/>
- <source>%1 is not allowed to derive from %2 by restriction as the latter defines it as final</source>
+ <source>%1 is not allowed to derive from %2 by restriction as the latter defines it as final.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+5"/>
- <source>%1 is not allowed to derive from %2 by extension as the latter defines it as final</source>
+ <source>%1 is not allowed to derive from %2 by extension as the latter defines it as final.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+31"/>
- <source>base type of simple type %1 cannot be complex type %2</source>
+ <source>Base type of simple type %1 cannot be complex type %2.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+9"/>
- <source>simple type %1 cannot have direct base type %2</source>
+ <source>Simple type %1 cannot have direct base type %2.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+33"/>
<location line="+9"/>
- <source>simple type %1 is not allowed to have base type %2</source>
+ <source>Simple type %1 is not allowed to have base type %2.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+12"/>
- <source>simple type %1 can only have simple atomic type as base type</source>
+ <source>Simple type %1 can only have simple atomic type as base type.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+6"/>
- <source>simple type %1 cannot derive from %2 as the latter defines restriction as final</source>
+ <source>Simple type %1 cannot derive from %2 as the latter defines restriction as final.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+13"/>
<location line="+484"/>
- <source>variety of item type of %1 must be either atomic or union</source>
+ <source>Variety of item type of %1 must be either atomic or union.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="-474"/>
<location line="+483"/>
- <source>variety of member types of %1 must be atomic</source>
+ <source>Variety of member types of %1 must be atomic.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="-470"/>
<location line="+451"/>
- <source>%1 is not allowed to derive from %2 by list as the latter defines it as final</source>
+ <source>%1 is not allowed to derive from %2 by list as the latter defines it as final.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="-431"/>
- <source>simple type %1 is only allowed to have %2 facet</source>
+ <source>Simple type %1 is only allowed to have %2 facet.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+10"/>
- <source>base type of simple type %1 must have variety of type list</source>
+ <source>Base type of simple type %1 must have variety of type list.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+6"/>
- <source>base type of simple type %1 has defined derivation by restriction as final</source>
+ <source>Base type of simple type %1 has defined derivation by restriction as final.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+6"/>
- <source>item type of base type does not match item type of %1</source>
+ <source>Item type of base type does not match item type of %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+26"/>
<location line="+93"/>
- <source>simple type %1 contains not allowed facet type %2</source>
+ <source>Simple type %1 contains not allowed facet type %2.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="-72"/>
<location line="+413"/>
- <source>%1 is not allowed to derive from %2 by union as the latter defines it as final</source>
+ <source>%1 is not allowed to derive from %2 by union as the latter defines it as final.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="-404"/>
- <source>%1 is not allowed to have any facets</source>
+ <source>%1 is not allowed to have any facets.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+8"/>
- <source>base type %1 of simple type %2 must have variety of union</source>
+ <source>Base type %1 of simple type %2 must have variety of union.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+9"/>
- <source>base type %1 of simple type %2 is not allowed to have restriction in %3 attribute</source>
+ <source>Base type %1 of simple type %2 is not allowed to have restriction in %3 attribute.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+18"/>
- <source>member type %1 cannot be derived from member type %2 of %3&apos;s base type %4</source>
+ <source>Member type %1 cannot be derived from member type %2 of %3&apos;s base type %4.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+65"/>
- <source>derivation method of %1 must be extension because the base type %2 is a simple type</source>
+ <source>Derivation method of %1 must be extension because the base type %2 is a simple type.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+30"/>
- <source>complex type %1 has duplicated element %2 in its content model</source>
+ <source>Complex type %1 has duplicated element %2 in its content model.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+8"/>
- <source>complex type %1 has non-deterministic content</source>
+ <source>Complex type %1 has non-deterministic content.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+21"/>
- <source>attributes of complex type %1 are not a valid extension of the attributes of base type %2: %3</source>
+ <source>Attributes of complex type %1 are not a valid extension of the attributes of base type %2: %3.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+37"/>
- <source>content model of complex type %1 is not a valid extension of content model of %2</source>
+ <source>Content model of complex type %1 is not a valid extension of content model of %2.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+10"/>
- <source>complex type %1 must have simple content</source>
+ <source>Complex type %1 must have simple content.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+7"/>
- <source>complex type %1 must have the same simple type as its base class %2</source>
+ <source>Complex type %1 must have the same simple type as its base class %2.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+67"/>
- <source>complex type %1 cannot be derived from base type %2%3</source>
+ <source>Complex type %1 cannot be derived from base type %2%3.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+14"/>
- <source>attributes of complex type %1 are not a valid restriction from the attributes of base type %2: %3</source>
+ <source>Attributes of complex type %1 are not a valid restriction from the attributes of base type %2: %3.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+14"/>
- <source>complex type %1 with simple content cannot be derived from complex base type %2</source>
+ <source>Complex type %1 with simple content cannot be derived from complex base type %2.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+35"/>
- <source>item type of simple type %1 cannot be a complex type</source>
+ <source>Item type of simple type %1 cannot be a complex type.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+44"/>
- <source>member type of simple type %1 cannot be a complex type</source>
+ <source>Member type of simple type %1 cannot be a complex type.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+8"/>
- <source>%1 is not allowed to have a member type with the same name as itself</source>
+ <source>%1 is not allowed to have a member type with the same name as itself.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+83"/>
<location line="+29"/>
<location line="+34"/>
- <source>%1 facet collides with %2 facet</source>
+ <source>%1 facet collides with %2 facet.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="-20"/>
- <source>%1 facet must have the same value as %2 facet of base type</source>
+ <source>%1 facet must have the same value as %2 facet of base type.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+37"/>
- <source>%1 facet must be equal or greater than %2 facet of base type</source>
+ <source>%1 facet must be equal or greater than %2 facet of base type.</source>
<translation type="unfinished"></translation>
</message>
<message>
@@ -8895,7 +8732,7 @@ Izberite drugo ime datoteke.</translation>
<location line="+58"/>
<location line="+34"/>
<location line="+35"/>
- <source>%1 facet must be less than or equal to %2 facet of base type</source>
+ <source>%1 facet must be less than or equal to %2 facet of base type.</source>
<translation type="unfinished"></translation>
</message>
<message>
@@ -8905,225 +8742,225 @@ Izberite drugo ime datoteke.</translation>
</message>
<message>
<location line="+15"/>
- <source>unknown notation %1 used in %2 facet</source>
+ <source>Unknown notation %1 used in %2 facet.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+20"/>
- <source>%1 facet contains invalid value %2: %3</source>
+ <source>%1 facet contains invalid value %2: %3.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+22"/>
- <source>%1 facet cannot be %2 or %3 if %4 facet of base type is %5</source>
+ <source>%1 facet cannot be %2 or %3 if %4 facet of base type is %5.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+11"/>
- <source>%1 facet cannot be %2 if %3 facet of base type is %4</source>
+ <source>%1 facet cannot be %2 if %3 facet of base type is %4.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+20"/>
<location line="+55"/>
<location line="+230"/>
- <source>%1 facet must be less than or equal to %2 facet</source>
+ <source>%1 facet must be less than or equal to %2 facet.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="-257"/>
<location line="+134"/>
<location line="+82"/>
- <source>%1 facet must be less than %2 facet of base type</source>
+ <source>%1 facet must be less than %2 facet of base type.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="-201"/>
<location line="+79"/>
- <source>%1 facet and %2 facet cannot appear together</source>
+ <source>%1 facet and %2 facet cannot appear together.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="-27"/>
<location line="+12"/>
<location line="+113"/>
- <source>%1 facet must be greater than %2 facet of base type</source>
+ <source>%1 facet must be greater than %2 facet of base type.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="-86"/>
<location line="+58"/>
- <source>%1 facet must be less than %2 facet</source>
+ <source>%1 facet must be less than %2 facet.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="-42"/>
<location line="+58"/>
- <source>%1 facet must be greater than or equal to %2 facet of base type</source>
+ <source>%1 facet must be greater than or equal to %2 facet of base type.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+113"/>
- <source>simple type contains not allowed facet %1</source>
+ <source>Simple type contains not allowed facet %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+12"/>
- <source>%1, %2, %3, %4, %5 and %6 facets are not allowed when derived by list</source>
+ <source>%1, %2, %3, %4, %5 and %6 facets are not allowed when derived by list.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+16"/>
- <source>only %1 and %2 facets are allowed when derived by union</source>
+ <source>Only %1 and %2 facets are allowed when derived by union.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+23"/>
<location line="+16"/>
- <source>%1 contains %2 facet with invalid data: %3</source>
+ <source>%1 contains %2 facet with invalid data: %3.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+24"/>
- <source>attribute group %1 contains attribute %2 twice</source>
- <translation>skupina lastnosti %1 dvakrat vsebuje lastnost %2</translation>
+ <source>Attribute group %1 contains attribute %2 twice.</source>
+ <translation>Skupina lastnosti %1 dvakrat vsebuje lastnost %2.</translation>
</message>
<message>
<location line="+9"/>
- <source>attribute group %1 contains two different attributes that both have types derived from %2</source>
+ <source>Attribute group %1 contains two different attributes that both have types derived from %2.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+8"/>
- <source>attribute group %1 contains attribute %2 that has value constraint but type that inherits from %3</source>
+ <source>Attribute group %1 contains attribute %2 that has value constraint but type that inherits from %3.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+23"/>
- <source>complex type %1 contains attribute %2 twice</source>
- <translation>kompleksna vrsta %1 dvakrat vsebuje lastnost %2</translation>
+ <source>Complex type %1 contains attribute %2 twice.</source>
+ <translation>Kompleksna vrsta %1 dvakrat vsebuje lastnost %2.</translation>
</message>
<message>
<location line="+9"/>
- <source>complex type %1 contains two different attributes that both have types derived from %2</source>
+ <source>Complex type %1 contains two different attributes that both have types derived from %2.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+8"/>
- <source>complex type %1 contains attribute %2 that has value constraint but type that inherits from %3</source>
+ <source>Complex type %1 contains attribute %2 that has value constraint but type that inherits from %3.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+43"/>
- <source>element %1 is not allowed to have a value constraint if its base type is complex</source>
+ <source>Element %1 is not allowed to have a value constraint if its base type is complex.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+7"/>
- <source>element %1 is not allowed to have a value constraint if its type is derived from %2</source>
+ <source>Element %1 is not allowed to have a value constraint if its type is derived from %2.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+10"/>
<location line="+11"/>
- <source>value constraint of element %1 is not of elements type: %2</source>
+ <source>Value constraint of element %1 is not of elements type: %2.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+13"/>
- <source>element %1 is not allowed to have substitution group affiliation as it is no global element</source>
+ <source>Element %1 is not allowed to have substitution group affiliation as it is no global element.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+28"/>
- <source>type of element %1 cannot be derived from type of substitution group affiliation</source>
+ <source>Type of element %1 cannot be derived from type of substitution group affiliation.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+41"/>
- <source>value constraint of attribute %1 is not of attributes type: %2</source>
+ <source>Value constraint of attribute %1 is not of attributes type: %2.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+9"/>
- <source>attribute %1 has value constraint but has type derived from %2</source>
+ <source>Attribute %1 has value constraint but has type derived from %2.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+56"/>
- <source>%1 attribute in derived complex type must be %2 like in base type</source>
+ <source>%1 attribute in derived complex type must be %2 like in base type.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+11"/>
- <source>attribute %1 in derived complex type must have %2 value constraint like in base type</source>
+ <source>Attribute %1 in derived complex type must have %2 value constraint like in base type.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+9"/>
- <source>attribute %1 in derived complex type must have the same %2 value constraint like in base type</source>
+ <source>Attribute %1 in derived complex type must have the same %2 value constraint like in base type.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+7"/>
- <source>attribute %1 in derived complex type must have %2 value constraint</source>
+ <source>Attribute %1 in derived complex type must have %2 value constraint.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+18"/>
- <source>processContent of base wildcard must be weaker than derived wildcard</source>
+ <source>processContent of base wildcard must be weaker than derived wildcard.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+39"/>
<location line="+15"/>
- <source>element %1 exists twice with different types</source>
- <translation>element %1 obstaja dvakrat, z različnima vrstama</translation>
+ <source>Element %1 exists twice with different types.</source>
+ <translation>Element %1 obstaja dvakrat, z različnima vrstama.</translation>
</message>
<message>
<location line="+28"/>
- <source>particle contains non-deterministic wildcards</source>
+ <source>Particle contains non-deterministic wildcards.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/xmlpatterns/schema/qxsdschemahelper.cpp" line="+691"/>
<location line="+63"/>
- <source>base attribute %1 is required but derived attribute is not</source>
+ <source>Base attribute %1 is required but derived attribute is not.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="-57"/>
- <source>type of derived attribute %1 cannot be validly derived from type of base attribute</source>
+ <source>Type of derived attribute %1 cannot be validly derived from type of base attribute.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+28"/>
- <source>value constraint of derived attribute %1 does not match value constraint of base attribute</source>
+ <source>Value constraint of derived attribute %1 does not match value constraint of base attribute.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+5"/>
- <source>derived attribute %1 does not exists in the base definition</source>
+ <source>Derived attribute %1 does not exists in the base definition.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+11"/>
- <source>derived attribute %1 does not match the wildcard in the base definition</source>
+ <source>Derived attribute %1 does not match the wildcard in the base definition.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+17"/>
- <source>base attribute %1 is required but missing in derived definition</source>
+ <source>Base attribute %1 is required but missing in derived definition.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+9"/>
- <source>derived definition contains an %1 element that does not exists in the base definition</source>
+ <source>Derived definition contains an %1 element that does not exists in the base definition</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+5"/>
- <source>derived wildcard is not a subset of the base wildcard</source>
+ <source>Derived wildcard is not a subset of the base wildcard.</source>
<translation type="unfinished"></translation>
</message>
<message>
@@ -9133,905 +8970,1255 @@ Izberite drugo ime datoteke.</translation>
</message>
<message>
<location line="+23"/>
- <source>attribute %1 from base type is missing in derived type</source>
+ <source>Attribute %1 from base type is missing in derived type.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+5"/>
- <source>type of derived attribute %1 differs from type of base attribute</source>
+ <source>Type of derived attribute %1 differs from type of base attribute.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+8"/>
- <source>base definition contains an %1 element that is missing in the derived definition</source>
+ <source>Base definition contains an %1 element that is missing in the derived definition</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/schema/qxsdschemaparser.cpp" line="+169"/>
- <source>can not process unknown element %1, expected elements are: %2</source>
- <translation>ni moč obdelati neznanega elementa %1, pričakovani elementi so: %2</translation>
+ <location filename="../src/xmlpatterns/schema/qxsdschemaresolver.cpp" line="+354"/>
+ <source>%1 references unknown %2 or %3 element %4.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+13"/>
- <source>element %1 is not allowed in this scope, possible elements are: %2</source>
- <translation>element %1 v tem obsegu ni dovoljen, možni elementi so: %2</translation>
+ <location line="+10"/>
+ <source>%1 references identity constraint %2 that is no %3 or %4 element.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+16"/>
- <source>child element is missing in that scope, possible child elements are: %1</source>
- <translation>v tem obsegu manjka podelement, možni podelementi so: %1</translation>
+ <location line="+10"/>
+ <source>%1 has a different number of fields from the identity constraint %2 that it references.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+127"/>
- <source>document is not a XML schema</source>
- <translation>dokument ni shema XML</translation>
+ <location line="+23"/>
+ <source>Base type %1 of %2 element cannot be resolved.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+22"/>
- <source>%1 attribute of %2 element contains invalid content: {%3} is not a value of type %4</source>
- <translation>lastnost %1 elementa %2 vsebuje neveljavno vsebino: {%3} ni vrednost vrste %4</translation>
+ <location line="+84"/>
+ <source>Item type %1 of %2 element cannot be resolved.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+6"/>
- <source>%1 attribute of %2 element contains invalid content: {%3}</source>
- <translation>lastnost %1 elementa %2 vsebuje neveljavno vsebino: {%3}</translation>
+ <location line="+31"/>
+ <source>Member type %1 of %2 element cannot be resolved.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+26"/>
- <source>target namespace %1 of included schema is different from the target namespace %2 as defined by the including schema</source>
+ <location line="+28"/>
+ <location line="+408"/>
+ <location line="+30"/>
+ <source>Type %1 of %2 element cannot be resolved.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+14"/>
- <location line="+11"/>
- <source>target namespace %1 of imported schema is different from the target namespace %2 as defined by the importing schema</source>
+ <location line="-416"/>
+ <source>Base type %1 of complex type cannot be resolved.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+237"/>
- <source>%1 element is not allowed to have the same %2 attribute value as the target namespace %3</source>
+ <location line="+9"/>
+ <source>%1 cannot have complex base type that has a %2.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+8"/>
- <source>%1 element without %2 attribute is not allowed inside schema without target namespace</source>
+ <location line="+279"/>
+ <source>Content model of complex type %1 contains %2 element so it cannot be derived by extension from a non-empty type.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+833"/>
- <location line="+158"/>
- <source>%1 element is not allowed inside %2 element if %3 attribute is present</source>
- <translation>element %1 znotraj elementa %2 ni dovoljen, če je prisotna lastnost %3</translation>
+ <location line="+6"/>
+ <source>Complex type %1 cannot be derived by extension from %2 as the latter contains %3 element in its content model.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="-97"/>
- <location line="+119"/>
- <location line="+92"/>
- <source>%1 element has neither %2 attribute nor %3 child element</source>
- <translation>element %1 nima niti lastnosti %2 niti podelementa %3</translation>
+ <location line="+101"/>
+ <source>Type of %1 element must be a simple type, %2 is not.</source>
+ <translation>Vrsta elementa %1 mora biti preprosta, %2 to ni.</translation>
</message>
<message>
- <location line="+835"/>
- <location line="+1474"/>
- <location line="+232"/>
- <location line="+7"/>
- <location line="+260"/>
- <location line="+17"/>
- <location line="+258"/>
- <location line="+6"/>
- <location line="+17"/>
- <location line="+6"/>
- <location line="+17"/>
- <location line="+11"/>
- <location line="+11"/>
- <location line="+11"/>
- <source>%1 element with %2 child element must not have a %3 attribute</source>
- <translation>element %1 s podelementom %2 ne sme imeti lastnosti %3</translation>
+ <location line="+62"/>
+ <source>Substitution group %1 of %2 element cannot be resolved.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="-1325"/>
- <source>%1 attribute of %2 element must be %3 or %4</source>
- <translation>lastnost %1 elementa %2 mora biti %3 ali %4</translation>
+ <location line="+9"/>
+ <source>Substitution group %1 has circular definition.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+36"/>
- <source>%1 attribute of %2 element must have a value of %3</source>
- <translation>lastnost %1 elementa %2 mora imeti vrednost %3</translation>
+ <location line="+120"/>
+ <location line="+7"/>
+ <source>Duplicated element names %1 in %2 element.</source>
+ <translation>Podvojeni imeni elementov %1 v elementu %2.</translation>
</message>
<message>
- <location line="+7"/>
- <location line="+34"/>
- <source>%1 attribute of %2 element must have a value of %3 or %4</source>
- <translation>lastnost %1 elementa %2 mora imeti vrednost %3 ali %4</translation>
+ <location line="+29"/>
+ <location line="+52"/>
+ <location line="+71"/>
+ <location line="+28"/>
+ <source>Reference %1 of %2 element cannot be resolved.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+319"/>
- <location line="+129"/>
- <location line="+9"/>
- <location line="+7"/>
- <location line="+7"/>
- <location line="+327"/>
- <location line="+203"/>
- <location line="+6"/>
- <location line="+6"/>
- <location line="+6"/>
- <location line="+6"/>
- <location line="+6"/>
- <location line="+6"/>
- <location line="+77"/>
- <source>%1 element must not have %2 and %3 attribute together</source>
- <translation>element %1 hkrati ne sme imeti lastnosti %2 in %3</translation>
+ <location line="-138"/>
+ <source>Circular group reference for %1.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="-768"/>
- <location line="+222"/>
- <source>content of %1 attribute of %2 element must not be from namespace %3</source>
- <translation>vsebina lastnosti %1 elementa %2 ne sme biti iz imenskega prostora %3</translation>
+ <location line="+16"/>
+ <source>%1 element is not allowed in this scope</source>
+ <translation>Element %1 v tem obsegu ni dovoljen</translation>
</message>
<message>
- <location line="-215"/>
- <location line="+222"/>
- <source>%1 attribute of %2 element must not be %3</source>
- <translation>lastnost %1 elementa %2 ne sme biti %3</translation>
+ <location line="+5"/>
+ <source>%1 element cannot have %2 attribute with value other than %3.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="-64"/>
- <source>%1 attribute of %2 element must have the value %3 because the %4 attribute is set</source>
+ <location line="+8"/>
+ <source>%1 element cannot have %2 attribute with value other than %3 or %4.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+187"/>
- <source>specifying use=&apos;prohibited&apos; inside an attribute group has no effect</source>
+ <location line="+91"/>
+ <source>%1 or %2 attribute of reference %3 does not match with the attribute declaration %4.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+353"/>
- <source>%1 element must have either %2 or %3 attribute</source>
- <translation>element %1 mora imeti lastnost %2 ali %3</translation>
+ <location line="+25"/>
+ <source>Attribute group %1 has circular reference.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+554"/>
- <source>%1 element must have either %2 attribute or %3 or %4 as child element</source>
+ <location line="+131"/>
+ <source>%1 attribute in %2 must have %3 use like in base type %4.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+55"/>
- <source>%1 element requires either %2 or %3 attribute</source>
- <translation>element %1 potrebuje vsaj lastnost %2 ali %3</translation>
+ <location line="+52"/>
+ <source>Attribute wildcard of %1 is not a valid restriction of attribute wildcard of base type %2.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+19"/>
- <source>text or entity references not allowed inside %1 element</source>
+ <location line="+7"/>
+ <source>%1 has attribute wildcard but its base type %2 has not.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+41"/>
- <location line="+112"/>
- <source>%1 attribute of %2 element must contain %3, %4 or a list of URIs</source>
+ <location line="+26"/>
+ <source>Union of attribute wildcard of type %1 and attribute wildcard of its base type %2 is not expressible.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+126"/>
- <source>%1 element is not allowed in this context</source>
- <translation>element %1 v tem kontekstu ni dovoljen</translation>
+ <location line="+48"/>
+ <source>Enumeration facet contains invalid content: {%1} is not a value of type %2.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+53"/>
- <source>%1 attribute of %2 element has larger value than %3 attribute</source>
+ <location line="+10"/>
+ <source>Namespace prefix of qualified name %1 is not defined.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+25"/>
- <source>prefix of qualified name %1 is not defined</source>
+ <location line="+51"/>
+ <location line="+18"/>
+ <source>%1 element %2 is not a valid restriction of the %3 element it redefines: %4.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+65"/>
- <location line="+61"/>
- <source>%1 attribute of %2 element must either contain %3 or the other values</source>
+ <location filename="../src/xmlpatterns/schema/qxsdparticlechecker.cpp" line="+165"/>
+ <source>Empty particle cannot be derived from non-empty particle.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+131"/>
- <source>component with id %1 has been defined previously</source>
- <translation>komponenta z ID-jem %1 je že bila definirana</translation>
+ <location line="+15"/>
+ <source>Derived particle is missing element %1.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+17"/>
- <source>element %1 already defined</source>
- <translation>element %1 je že definiran</translation>
+ <location line="+7"/>
+ <source>Derived element %1 is missing value constraint as defined in base particle.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+11"/>
- <source>attribute %1 already defined</source>
- <translation>lastnost %1 je že definirana</translation>
+ <location line="+5"/>
+ <source>Derived element %1 has weaker value constraint than base particle.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+15"/>
- <source>type %1 already defined</source>
- <translation>vrsta %1 je že definirana</translation>
+ <location line="+7"/>
+ <source>Fixed value constraint of element %1 differs from value constraint in base particle.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+23"/>
- <source>attribute group %1 already defined</source>
- <translation>skupina lastnosti %1 je že definirana</translation>
+ <location line="+7"/>
+ <source>Derived element %1 cannot be nillable as base element is not nillable.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+11"/>
- <source>element group %1 already defined</source>
- <translation>skupina elementov %1 je že definirana</translation>
+ <location line="+10"/>
+ <source>Block constraints of derived element %1 must not be more weaker than in the base element.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+11"/>
- <source>notation %1 already defined</source>
- <translation>zapis %1 je že definiran</translation>
+ <source>Simple type of derived element %1 cannot be validly derived from base element.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+11"/>
- <source>identity constraint %1 already defined</source>
+ <location line="+5"/>
+ <source>Complex type of derived element %1 cannot be validly derived from base element.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+11"/>
- <source>duplicated facets in simple type %1</source>
+ <location line="+24"/>
+ <source>Element %1 is missing in derived particle.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/schema/qxsdschemaresolver.cpp" line="+354"/>
- <source>%1 references unknown %2 or %3 element %4</source>
+ <location line="+18"/>
+ <source>Element %1 does not match namespace constraint of wildcard in base particle.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+10"/>
- <source>%1 references identity constraint %2 that is no %3 or %4 element</source>
+ <location line="+11"/>
+ <source>Wildcard in derived particle is not a valid subset of wildcard in base particle.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+10"/>
- <source>%1 has a different number of fields from the identity constraint %2 that it references</source>
+ <location line="+5"/>
+ <source>processContent of wildcard in derived particle is weaker than wildcard in base particle.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+23"/>
- <source>base type %1 of %2 element cannot be resolved</source>
+ <location line="+240"/>
+ <source>Derived particle allows content that is not allowed in the base particle.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+84"/>
- <source>item type %1 of %2 element cannot be resolved</source>
+ <location filename="../src/xmlpatterns/schema/qxsdschemaparser.cpp" line="+170"/>
+ <source>Can not process unknown element %1, expected elements are: %2.</source>
+ <translation>Ni moč obdelati neznanega elementa %1, pričakovani elementi so: %2.</translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>Element %1 is not allowed in this scope, possible elements are: %2.</source>
+ <translation>Element %1 v tem obsegu ni dovoljen, možni elementi so: %2.</translation>
+ </message>
+ <message>
+ <location line="+16"/>
+ <source>Child element is missing in that scope, possible child elements are: %1.</source>
+ <translation>V tem obsegu manjka podelement, možni podelementi so: %1.</translation>
+ </message>
+ <message>
+ <location line="+127"/>
+ <source>Document is not a XML schema.</source>
+ <translation>Dokument ni shema XML.</translation>
+ </message>
+ <message>
+ <location line="+22"/>
+ <source>%1 attribute of %2 element contains invalid content: {%3} is not a value of type %4.</source>
+ <translation>Lastnost %1 elementa %2 vsebuje neveljavno vsebino: {%3} ni vrednost vrste %4.</translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>%1 attribute of %2 element contains invalid content: {%3}.</source>
+ <translation>Lastnost %1 elementa %2 vsebuje neveljavno vsebino: {%3}.</translation>
+ </message>
+ <message>
+ <location line="+26"/>
+ <source>Target namespace %1 of included schema is different from the target namespace %2 as defined by the including schema.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+31"/>
- <source>member type %1 of %2 element cannot be resolved</source>
+ <location line="+14"/>
+ <location line="+11"/>
+ <source>Target namespace %1 of imported schema is different from the target namespace %2 as defined by the importing schema.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+28"/>
- <location line="+408"/>
- <location line="+30"/>
- <source>type %1 of %2 element cannot be resolved</source>
+ <location line="+237"/>
+ <source>%1 element is not allowed to have the same %2 attribute value as the target namespace %3.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-416"/>
- <source>base type %1 of complex type cannot be resolved</source>
+ <location line="+8"/>
+ <source>%1 element without %2 attribute is not allowed inside schema without target namespace.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+9"/>
- <source>%1 cannot have complex base type that has a %2</source>
- <translation></translation>
+ <location line="+833"/>
+ <location line="+158"/>
+ <source>%1 element is not allowed inside %2 element if %3 attribute is present.</source>
+ <translation>Element %1 znotraj elementa %2 ni dovoljen, če je prisotna lastnost %3.</translation>
</message>
<message>
- <location line="+279"/>
- <source>content model of complex type %1 contains %2 element so it cannot be derived by extension from a non-empty type</source>
- <translation type="unfinished"></translation>
+ <location line="-97"/>
+ <location line="+119"/>
+ <location line="+92"/>
+ <source>%1 element has neither %2 attribute nor %3 child element.</source>
+ <translation>Element %1 nima niti lastnosti %2 niti podelementa %3.</translation>
</message>
<message>
+ <location line="+835"/>
+ <location line="+1474"/>
+ <location line="+232"/>
+ <location line="+7"/>
+ <location line="+260"/>
+ <location line="+17"/>
+ <location line="+258"/>
<location line="+6"/>
- <source>complex type %1 cannot be derived by extension from %2 as the latter contains %3 element in its content model</source>
- <translation type="unfinished"></translation>
+ <location line="+17"/>
+ <location line="+6"/>
+ <location line="+17"/>
+ <location line="+11"/>
+ <location line="+11"/>
+ <location line="+11"/>
+ <source>%1 element with %2 child element must not have a %3 attribute.</source>
+ <translation>Element %1 s podelementom %2 ne sme imeti lastnosti %3.</translation>
</message>
<message>
- <location line="+101"/>
- <source>type of %1 element must be a simple type, %2 is not</source>
- <translation>vrsta elementa %1 mora biti preprosta, %2 to ni</translation>
+ <location line="-1325"/>
+ <source>%1 attribute of %2 element must be %3 or %4.</source>
+ <translation>Lastnost %1 elementa %2 mora biti %3 ali %4.</translation>
</message>
<message>
- <location line="+62"/>
- <source>substitution group %1 of %2 element cannot be resolved</source>
- <translation type="unfinished"></translation>
+ <location line="+36"/>
+ <source>%1 attribute of %2 element must have a value of %3.</source>
+ <translation>Lastnost %1 elementa %2 mora imeti vrednost %3.</translation>
</message>
<message>
- <location line="+9"/>
- <source>substitution group %1 has circular definition</source>
- <translation type="unfinished"></translation>
+ <location line="+7"/>
+ <location line="+34"/>
+ <source>%1 attribute of %2 element must have a value of %3 or %4.</source>
+ <translation>Lastnost %1 elementa %2 mora imeti vrednost %3 ali %4.</translation>
</message>
<message>
- <location line="+120"/>
+ <location line="+319"/>
+ <location line="+129"/>
+ <location line="+9"/>
<location line="+7"/>
- <source>duplicated element names %1 in %2 element</source>
- <translation>podvojeni imeni elementov %1 v elementu %2</translation>
+ <location line="+7"/>
+ <location line="+327"/>
+ <location line="+203"/>
+ <location line="+6"/>
+ <location line="+6"/>
+ <location line="+6"/>
+ <location line="+6"/>
+ <location line="+6"/>
+ <location line="+6"/>
+ <location line="+77"/>
+ <source>%1 element must not have %2 and %3 attribute together.</source>
+ <translation>Element %1 hkrati ne sme imeti lastnosti %2 in %3.</translation>
</message>
<message>
- <location line="+29"/>
- <location line="+52"/>
- <location line="+71"/>
- <location line="+28"/>
- <source>reference %1 of %2 element cannot be resolved</source>
+ <location line="-768"/>
+ <location line="+222"/>
+ <source>Content of %1 attribute of %2 element must not be from namespace %3.</source>
+ <translation>Vsebina lastnosti %1 elementa %2 ne sme biti iz imenskega prostora %3.</translation>
+ </message>
+ <message>
+ <location line="-215"/>
+ <location line="+222"/>
+ <source>%1 attribute of %2 element must not be %3.</source>
+ <translation>Lastnost %1 elementa %2 ne sme biti %3.</translation>
+ </message>
+ <message>
+ <location line="-64"/>
+ <source>%1 attribute of %2 element must have the value %3 because the %4 attribute is set.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-138"/>
- <source>circular group reference for %1</source>
+ <location line="+187"/>
+ <source>Specifying use=&apos;prohibited&apos; inside an attribute group has no effect.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+16"/>
- <source>%1 element is not allowed in this scope</source>
- <translation>element %1 v tem obsegu ni dovoljen</translation>
+ <location line="+353"/>
+ <source>%1 element must have either %2 or %3 attribute.</source>
+ <translation>Element %1 mora imeti lastnost %2 ali %3.</translation>
</message>
<message>
- <location line="+5"/>
- <source>%1 element cannot have %2 attribute with value other than %3</source>
+ <location line="+554"/>
+ <source>%1 element must have either %2 attribute or %3 or %4 as child element.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+8"/>
- <source>%1 element cannot have %2 attribute with value other than %3 or %4</source>
- <translation type="unfinished"></translation>
+ <location line="+55"/>
+ <source>%1 element requires either %2 or %3 attribute.</source>
+ <translation>Element %1 potrebuje vsaj lastnost %2 ali %3.</translation>
</message>
<message>
- <location line="+91"/>
- <source>%1 or %2 attribute of reference %3 does not match with the attribute declaration %4</source>
+ <location line="+19"/>
+ <source>Text or entity references not allowed inside %1 element</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+25"/>
- <source>attribute group %1 has circular reference</source>
+ <location line="+41"/>
+ <location line="+112"/>
+ <source>%1 attribute of %2 element must contain %3, %4 or a list of URIs.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+131"/>
- <source>%1 attribute in %2 must have %3 use like in base type %4</source>
- <translation type="unfinished"></translation>
+ <location line="+126"/>
+ <source>%1 element is not allowed in this context.</source>
+ <translation>Element %1 v tem kontekstu ni dovoljen.</translation>
</message>
<message>
- <location line="+52"/>
- <source>attribute wildcard of %1 is not a valid restriction of attribute wildcard of base type %2</source>
+ <location line="+53"/>
+ <source>%1 attribute of %2 element has larger value than %3 attribute.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+7"/>
- <source>%1 has attribute wildcard but its base type %2 has not</source>
+ <location line="+25"/>
+ <source>Prefix of qualified name %1 is not defined.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+26"/>
- <source>union of attribute wildcard of type %1 and attribute wildcard of its base type %2 is not expressible</source>
+ <location line="+65"/>
+ <location line="+61"/>
+ <source>%1 attribute of %2 element must either contain %3 or the other values.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+48"/>
- <source>enumeration facet contains invalid content: {%1} is not a value of type %2</source>
- <translation type="unfinished"></translation>
+ <location line="+131"/>
+ <source>Component with id %1 has been defined previously.</source>
+ <translation>Komponenta z ID-jem %1 je že bila definirana.</translation>
</message>
<message>
- <location line="+10"/>
- <source>namespace prefix of qualified name %1 is not defined</source>
+ <location line="+17"/>
+ <source>Element %1 already defined.</source>
+ <translation>Element %1 je že definiran.</translation>
+ </message>
+ <message>
+ <location line="+11"/>
+ <source>Attribute %1 already defined.</source>
+ <translation>Lastnost %1 je že definirana.</translation>
+ </message>
+ <message>
+ <location line="+15"/>
+ <source>Type %1 already defined.</source>
+ <translation>Vrsta %1 je že definirana.</translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>Attribute group %1 already defined.</source>
+ <translation>Skupina lastnosti %1 je že definirana.</translation>
+ </message>
+ <message>
+ <location line="+11"/>
+ <source>Element group %1 already defined.</source>
+ <translation>Skupina elementov %1 je že definirana.</translation>
+ </message>
+ <message>
+ <location line="+11"/>
+ <source>Notation %1 already defined.</source>
+ <translation>Zapis %1 je že definiran.</translation>
+ </message>
+ <message>
+ <location line="+11"/>
+ <source>Identity constraint %1 already defined.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+51"/>
- <location line="+18"/>
- <source>%1 element %2 is not a valid restriction of the %3 element it redefines: %4</source>
+ <location line="+11"/>
+ <source>Duplicated facets in simple type %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/xmlpatterns/schema/qxsdtypechecker.cpp" line="+233"/>
<location line="+7"/>
<location line="+21"/>
- <source>%1 is not valid according to %2</source>
- <translation>%1 glede na %2 ni veljaven</translation>
+ <source>%1 is not valid according to %2.</source>
+ <translation>%1 glede na %2 ni veljaven.</translation>
</message>
<message>
<location line="+167"/>
- <source>string content does not match the length facet</source>
+ <source>String content does not match the length facet.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+8"/>
- <source>string content does not match the minLength facet</source>
+ <source>String content does not match the minLength facet.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+8"/>
- <source>string content does not match the maxLength facet</source>
+ <source>String content does not match the maxLength facet.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+18"/>
- <source>string content does not match pattern facet</source>
+ <source>String content does not match pattern facet.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+18"/>
- <source>string content is not listed in the enumeration facet</source>
+ <source>String content is not listed in the enumeration facet.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+17"/>
- <source>signed integer content does not match the maxInclusive facet</source>
+ <source>Signed integer content does not match the maxInclusive facet.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+8"/>
- <source>signed integer content does not match the maxExclusive facet</source>
+ <source>Signed integer content does not match the maxExclusive facet.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+8"/>
- <source>signed integer content does not match the minInclusive facet</source>
+ <source>Signed integer content does not match the minInclusive facet.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+8"/>
- <source>signed integer content does not match the minExclusive facet</source>
+ <source>Signed integer content does not match the minExclusive facet.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+18"/>
- <source>signed integer content is not listed in the enumeration facet</source>
+ <source>Signed integer content is not listed in the enumeration facet.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+18"/>
- <source>signed integer content does not match pattern facet</source>
+ <source>Signed integer content does not match pattern facet.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+9"/>
- <source>signed integer content does not match in the totalDigits facet</source>
+ <source>Signed integer content does not match in the totalDigits facet.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+17"/>
- <source>unsigned integer content does not match the maxInclusive facet</source>
+ <source>Unsigned integer content does not match the maxInclusive facet.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+8"/>
- <source>unsigned integer content does not match the maxExclusive facet</source>
+ <source>Unsigned integer content does not match the maxExclusive facet.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+8"/>
- <source>unsigned integer content does not match the minInclusive facet</source>
+ <source>Unsigned integer content does not match the minInclusive facet.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+8"/>
- <source>unsigned integer content does not match the minExclusive facet</source>
+ <source>Unsigned integer content does not match the minExclusive facet.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+18"/>
- <source>unsigned integer content is not listed in the enumeration facet</source>
+ <source>Unsigned integer content is not listed in the enumeration facet.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+18"/>
- <source>unsigned integer content does not match pattern facet</source>
+ <source>Unsigned integer content does not match pattern facet.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+9"/>
- <source>unsigned integer content does not match in the totalDigits facet</source>
+ <source>Unsigned integer content does not match in the totalDigits facet.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+17"/>
- <source>double content does not match the maxInclusive facet</source>
+ <source>Double content does not match the maxInclusive facet.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+8"/>
- <source>double content does not match the maxExclusive facet</source>
+ <source>Double content does not match the maxExclusive facet.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+8"/>
- <source>double content does not match the minInclusive facet</source>
+ <source>Double content does not match the minInclusive facet.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+8"/>
- <source>double content does not match the minExclusive facet</source>
+ <source>Double content does not match the minExclusive facet.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+18"/>
- <source>double content is not listed in the enumeration facet</source>
+ <source>Double content is not listed in the enumeration facet.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+18"/>
- <source>double content does not match pattern facet</source>
+ <source>Double content does not match pattern facet.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+18"/>
- <source>decimal content does not match in the fractionDigits facet</source>
+ <source>Decimal content does not match in the fractionDigits facet.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+9"/>
- <source>decimal content does not match in the totalDigits facet</source>
+ <source>Decimal content does not match in the totalDigits facet.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+14"/>
- <source>date time content does not match the maxInclusive facet</source>
+ <source>Date time content does not match the maxInclusive facet.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+8"/>
- <source>date time content does not match the maxExclusive facet</source>
+ <source>Date time content does not match the maxExclusive facet.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+8"/>
- <source>date time content does not match the minInclusive facet</source>
+ <source>Date time content does not match the minInclusive facet.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+8"/>
- <source>date time content does not match the minExclusive facet</source>
+ <source>Date time content does not match the minExclusive facet.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+18"/>
- <source>date time content is not listed in the enumeration facet</source>
+ <source>Date time content is not listed in the enumeration facet.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+18"/>
- <source>date time content does not match pattern facet</source>
+ <source>Date time content does not match pattern facet.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+15"/>
- <source>duration content does not match the maxInclusive facet</source>
+ <source>Duration content does not match the maxInclusive facet.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+9"/>
- <source>duration content does not match the maxExclusive facet</source>
+ <source>Duration content does not match the maxExclusive facet.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+9"/>
- <source>duration content does not match the minInclusive facet</source>
+ <source>Duration content does not match the minInclusive facet.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+9"/>
- <source>duration content does not match the minExclusive facet</source>
+ <source>Duration content does not match the minExclusive facet.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+18"/>
- <source>duration content is not listed in the enumeration facet</source>
+ <source>Duration content is not listed in the enumeration facet.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+18"/>
- <source>duration content does not match pattern facet</source>
+ <source>Duration content does not match pattern facet.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+27"/>
- <source>boolean content does not match pattern facet</source>
+ <source>Boolean content does not match pattern facet.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+17"/>
- <source>binary content does not match the length facet</source>
+ <source>Binary content does not match the length facet.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+8"/>
- <source>binary content does not match the minLength facet</source>
+ <source>Binary content does not match the minLength facet.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+8"/>
- <source>binary content does not match the maxLength facet</source>
+ <source>Binary content does not match the maxLength facet.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+18"/>
- <source>binary content is not listed in the enumeration facet</source>
+ <source>Binary content is not listed in the enumeration facet.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+27"/>
- <source>invalid QName content: %1</source>
- <translation>neveljavna vsebina QName: %1</translation>
+ <source>Invalid QName content: %1.</source>
+ <translation>Neveljavna vsebina QName: %1.</translation>
</message>
<message>
<location line="+17"/>
- <source>QName content is not listed in the enumeration facet</source>
+ <source>QName content is not listed in the enumeration facet.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+18"/>
- <source>QName content does not match pattern facet</source>
+ <source>QName content does not match pattern facet.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+36"/>
- <source>notation content is not listed in the enumeration facet</source>
+ <source>Notation content is not listed in the enumeration facet.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+19"/>
- <source>list content does not match length facet</source>
+ <source>List content does not match length facet.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+7"/>
- <source>list content does not match minLength facet</source>
+ <source>List content does not match minLength facet.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+7"/>
- <source>list content does not match maxLength facet</source>
+ <source>List content does not match maxLength facet.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+90"/>
- <source>list content is not listed in the enumeration facet</source>
+ <source>List content is not listed in the enumeration facet.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+18"/>
- <source>list content does not match pattern facet</source>
+ <source>List content does not match pattern facet.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+39"/>
- <source>union content is not listed in the enumeration facet</source>
+ <source>Union content is not listed in the enumeration facet.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+18"/>
- <source>union content does not match pattern facet</source>
+ <source>Union content does not match pattern facet.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+15"/>
- <source>data of type %1 are not allowed to be empty</source>
- <translation>podatki vrste %1 ne smejo biti prazni</translation>
+ <source>Data of type %1 are not allowed to be empty.</source>
+ <translation>Podatki vrste %1 ne smejo biti prazni.</translation>
</message>
<message>
<location filename="../src/xmlpatterns/schema/qxsdvalidatinginstancereader.cpp" line="+160"/>
- <source>element %1 is missing child element</source>
- <translation>elementu %1 manjka podelement</translation>
+ <source>Element %1 is missing child element.</source>
+ <translation>Elementu %1 manjka podelement.</translation>
</message>
<message>
<location line="+16"/>
- <source>there is one IDREF value with no corresponding ID: %1</source>
+ <source>There is one IDREF value with no corresponding ID: %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+27"/>
- <source>loaded schema file is invalid</source>
+ <source>Loaded schema file is invalid.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+16"/>
- <source>%1 contains invalid data</source>
- <translation>%1 vsebuje neveljavne podatke</translation>
+ <source>%1 contains invalid data.</source>
+ <translation>%1 vsebuje neveljavne podatke.</translation>
</message>
<message>
<location line="+13"/>
- <source>xsi:schemaLocation namespace %1 has already appeared earlier in the instance document</source>
+ <source>xsi:schemaLocation namespace %1 has already appeared earlier in the instance document.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+22"/>
- <source>xsi:noNamespaceSchemaLocation cannot appear after the first no-namespace element or attribute</source>
+ <source>xsi:noNamespaceSchemaLocation cannot appear after the first no-namespace element or attribute.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+18"/>
- <source>no schema defined for validation</source>
+ <source>No schema defined for validation.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+10"/>
- <source>no definition for element %1 available</source>
- <translation>definicija za element %1 ni na voljo</translation>
+ <source>No definition for element %1 available.</source>
+ <translation>Definicija za element %1 ni na voljo.</translation>
</message>
<message>
<location line="+18"/>
<location line="+49"/>
<location line="+142"/>
- <source>specified type %1 is not known to the schema</source>
+ <source>Specified type %1 is not known to the schema.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="-176"/>
- <source>element %1 is not defined in this scope</source>
- <translation>element %1 v tem obsegu ni definiran</translation>
+ <source>Element %1 is not defined in this scope.</source>
+ <translation>Element %1 v tem obsegu ni definiran.</translation>
</message>
<message>
<location line="+43"/>
- <source>declaration for element %1 does not exist</source>
- <translation>deklaracija elementa %1 ne obstaja</translation>
+ <source>Declaration for element %1 does not exist.</source>
+ <translation>Deklaracija elementa %1 ne obstaja.</translation>
</message>
<message>
<location line="+12"/>
- <source>element %1 contains invalid content</source>
- <translation>element %1 vsebuje neveljavno vsebino</translation>
+ <source>Element %1 contains invalid content.</source>
+ <translation>Element %1 vsebuje neveljavno vsebino.</translation>
</message>
<message>
<location line="+73"/>
- <source>element %1 is declared as abstract</source>
- <translation>element %1 je deklariran kot abstrakten</translation>
+ <source>Element %1 is declared as abstract.</source>
+ <translation>Element %1 je deklariran kot abstrakten.</translation>
</message>
<message>
<location line="+7"/>
- <source>element %1 is not nillable</source>
+ <source>Element %1 is not nillable.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+8"/>
- <source>attribute %1 contains invalid data: %2</source>
- <translation type="unfinished"></translation>
+ <source>Attribute %1 contains invalid data: %2</source>
+ <translation>Lastnost %1 vsebuje neveljavne podatke: %2</translation>
</message>
<message>
<location line="+8"/>
- <source>element contains content although it is nillable</source>
+ <source>Element contains content although it is nillable.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+6"/>
- <source>fixed value constrained not allowed if element is nillable</source>
+ <source>Fixed value constrained not allowed if element is nillable.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+32"/>
- <source>specified type %1 is not validly substitutable with element type %2</source>
+ <source>Specified type %1 is not validly substitutable with element type %2.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+23"/>
- <source>complex type %1 is not allowed to be abstract</source>
- <translation>kompleksna vrsta %1 ne sme biti abstraktna</translation>
+ <source>Complex type %1 is not allowed to be abstract.</source>
+ <translation>Kompleksna vrsta %1 ne sme biti abstraktna.</translation>
</message>
<message>
<location line="+21"/>
- <source>element %1 contains not allowed attributes</source>
- <translation>element %1 vsebuje nedovoljene lastnosti</translation>
+ <source>Element %1 contains not allowed attributes.</source>
+ <translation>Element %1 vsebuje nedovoljene lastnosti.</translation>
</message>
<message>
<location line="+6"/>
<location line="+97"/>
- <source>element %1 contains not allowed child element</source>
- <translation>element %1 vsebuje nedovoljen podelement</translation>
+ <source>Element %1 contains not allowed child element.</source>
+ <translation>Element %1 vsebuje nedovoljen podelement.</translation>
</message>
<message>
<location line="-76"/>
<location line="+93"/>
- <source>content of element %1 does not match its type definition: %2</source>
- <translation>vsebina elementa %1 ne ustreza zanj določeni vrsti: %2</translation>
+ <source>Content of element %1 does not match its type definition: %2.</source>
+ <translation>Vsebina elementa %1 ne ustreza zanj določeni vrsti: %2.</translation>
</message>
<message>
<location line="-85"/>
<location line="+92"/>
<location line="+41"/>
- <source>content of element %1 does not match defined value constraint</source>
+ <source>Content of element %1 does not match defined value constraint.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="-73"/>
- <source>element %1 contains not allowed child content</source>
- <translation>element %1 vsebuje nedovoljeno vsebino v podelementih</translation>
+ <source>Element %1 contains not allowed child content.</source>
+ <translation>Element %1 vsebuje nedovoljeno vsebino v podelementih.</translation>
</message>
<message>
<location line="+41"/>
- <source>element %1 contains not allowed text content</source>
- <translation>element %1 vsebuje nedovoljeno besedilno vsebino</translation>
+ <source>Element %1 contains not allowed text content.</source>
+ <translation>Element %1 vsebuje nedovoljeno besedilno vsebino.</translation>
</message>
<message>
<location line="+18"/>
- <source>element %1 can not contain other elements, as it has a fixed content</source>
- <translation>element %1 ne more vsebovati drugih elementov, ker ima fiksno vsebino</translation>
+ <source>Element %1 can not contain other elements, as it has a fixed content.</source>
+ <translation>Element %1 ne more vsebovati drugih elementov, ker ima fiksno vsebino.</translation>
</message>
<message>
<location line="+43"/>
- <source>element %1 is missing required attribute %2</source>
- <translation>elementu %1 manjka obvezna lastnost %2</translation>
+ <source>Element %1 is missing required attribute %2.</source>
+ <translation>Elementu %1 manjka obvezna lastnost %2.</translation>
</message>
<message>
<location line="+29"/>
- <source>attribute %1 does not match the attribute wildcard</source>
+ <source>Attribute %1 does not match the attribute wildcard.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+9"/>
- <source>declaration for attribute %1 does not exist</source>
- <translation>deklaracija lastnosti %1 ne obstaja</translation>
+ <source>Declaration for attribute %1 does not exist.</source>
+ <translation>Deklaracija lastnosti %1 ne obstaja.</translation>
</message>
<message>
<location line="+6"/>
- <source>element %1 contains two attributes of type %2</source>
- <translation>element %1 vsebuje dve lastnosti vrste %2</translation>
+ <source>Element %1 contains two attributes of type %2.</source>
+ <translation>Element %1 vsebuje dve lastnosti vrste %2.</translation>
</message>
<message>
<location line="+11"/>
- <source>attribute %1 contains invalid content</source>
- <translation>lastnost %1 vsebuje neveljavno vsebino</translation>
+ <source>Attribute %1 contains invalid content.</source>
+ <translation>Lastnost %1 vsebuje neveljavno vsebino.</translation>
</message>
<message>
<location line="+7"/>
- <source>element %1 contains unknown attribute %2</source>
- <translation>element %1 vsebuje neznano lastnost %2</translation>
+ <source>Element %1 contains unknown attribute %2.</source>
+ <translation>Element %1 vsebuje neznano lastnost %2.</translation>
</message>
<message>
<location line="+40"/>
<location line="+46"/>
- <source>content of attribute %1 does not match its type definition: %2</source>
+ <source>Content of attribute %1 does not match its type definition: %2.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="-38"/>
<location line="+46"/>
- <source>content of attribute %1 does not match defined value constraint</source>
+ <source>Content of attribute %1 does not match defined value constraint.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+88"/>
- <source>non-unique value found for constraint %1</source>
+ <source>Non-unique value found for constraint %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+20"/>
- <source>key constraint %1 contains absent fields</source>
+ <source>Key constraint %1 contains absent fields.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+18"/>
- <source>key constraint %1 contains references nillable element %2</source>
+ <source>Key constraint %1 contains references nillable element %2.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+40"/>
- <source>no referenced value found for key reference %1</source>
+ <source>No referenced value found for key reference %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+64"/>
- <source>more than one value found for field %1</source>
- <translation>za polje %1 je bila najdena več kot ena vrednost</translation>
+ <source>More than one value found for field %1.</source>
+ <translation>Za polje %1 je bila najdena več kot ena vrednost.</translation>
</message>
<message>
<location line="+20"/>
- <source>field %1 has no simple type</source>
- <translation>polje %1 nima preproste vrste</translation>
+ <source>Field %1 has no simple type.</source>
+ <translation>Polje %1 nima preproste vrste.</translation>
</message>
<message>
<location line="+73"/>
- <source>ID value &apos;%1&apos; is not unique</source>
- <translation>Vrednost ID »%1« ni edinstvena</translation>
+ <source>ID value &apos;%1&apos; is not unique.</source>
+ <translation>Vrednost ID »%1« ni edinstvena.</translation>
</message>
<message>
<location line="+11"/>
+ <source>&apos;%1&apos; attribute contains invalid QName content: %2.</source>
+ <translation>Lastnost »%1« vsebuje neveljavno vsebino QName: %2.</translation>
+ </message>
+ <message>
+ <location filename="Obsolete_PO_entries"/>
+ <source>attribute group %1 contains attribute %2 twice</source>
+ <translation type="obsolete">skupina lastnosti %1 dvakrat vsebuje lastnost %2</translation>
+ </message>
+ <message>
+ <location/>
+ <source>complex type %1 contains attribute %2 twice</source>
+ <translation type="obsolete">kompleksna vrsta %1 dvakrat vsebuje lastnost %2</translation>
+ </message>
+ <message>
+ <location/>
+ <source>element %1 exists twice with different types</source>
+ <translation type="obsolete">element %1 obstaja dvakrat, z različnima vrstama</translation>
+ </message>
+ <message>
+ <location/>
+ <source>can not process unknown element %1, expected elements are: %2</source>
+ <translation type="obsolete">ni moč obdelati neznanega elementa %1, pričakovani elementi so: %2</translation>
+ </message>
+ <message>
+ <location/>
+ <source>element %1 is not allowed in this scope, possible elements are: %2</source>
+ <translation type="obsolete">element %1 v tem obsegu ni dovoljen, možni elementi so: %2</translation>
+ </message>
+ <message>
+ <location/>
+ <source>child element is missing in that scope, possible child elements are: %1</source>
+ <translation type="obsolete">v tem obsegu manjka podelement, možni podelementi so: %1</translation>
+ </message>
+ <message>
+ <location/>
+ <source>document is not a XML schema</source>
+ <translation type="obsolete">dokument ni shema XML</translation>
+ </message>
+ <message>
+ <location/>
+ <source>%1 attribute of %2 element contains invalid content: {%3} is not a value of type %4</source>
+ <translation type="obsolete">lastnost %1 elementa %2 vsebuje neveljavno vsebino: {%3} ni vrednost vrste %4</translation>
+ </message>
+ <message>
+ <location/>
+ <source>%1 attribute of %2 element contains invalid content: {%3}</source>
+ <translation type="obsolete">lastnost %1 elementa %2 vsebuje neveljavno vsebino: {%3}</translation>
+ </message>
+ <message>
+ <location/>
+ <source>%1 element is not allowed inside %2 element if %3 attribute is present</source>
+ <translation type="obsolete">element %1 znotraj elementa %2 ni dovoljen, če je prisotna lastnost %3</translation>
+ </message>
+ <message>
+ <location/>
+ <source>%1 element has neither %2 attribute nor %3 child element</source>
+ <translation type="obsolete">element %1 nima niti lastnosti %2 niti podelementa %3</translation>
+ </message>
+ <message>
+ <location/>
+ <source>%1 element with %2 child element must not have a %3 attribute</source>
+ <translation type="obsolete">element %1 s podelementom %2 ne sme imeti lastnosti %3</translation>
+ </message>
+ <message>
+ <location/>
+ <source>%1 attribute of %2 element must be %3 or %4</source>
+ <translation type="obsolete">lastnost %1 elementa %2 mora biti %3 ali %4</translation>
+ </message>
+ <message>
+ <location/>
+ <source>%1 attribute of %2 element must have a value of %3</source>
+ <translation type="obsolete">lastnost %1 elementa %2 mora imeti vrednost %3</translation>
+ </message>
+ <message>
+ <location/>
+ <source>%1 attribute of %2 element must have a value of %3 or %4</source>
+ <translation type="obsolete">lastnost %1 elementa %2 mora imeti vrednost %3 ali %4</translation>
+ </message>
+ <message>
+ <location/>
+ <source>%1 element must not have %2 and %3 attribute together</source>
+ <translation type="obsolete">element %1 hkrati ne sme imeti lastnosti %2 in %3</translation>
+ </message>
+ <message>
+ <location/>
+ <source>content of %1 attribute of %2 element must not be from namespace %3</source>
+ <translation type="obsolete">vsebina lastnosti %1 elementa %2 ne sme biti iz imenskega prostora %3</translation>
+ </message>
+ <message>
+ <location/>
+ <source>%1 attribute of %2 element must not be %3</source>
+ <translation type="obsolete">lastnost %1 elementa %2 ne sme biti %3</translation>
+ </message>
+ <message>
+ <location/>
+ <source>%1 element must have either %2 or %3 attribute</source>
+ <translation type="obsolete">element %1 mora imeti lastnost %2 ali %3</translation>
+ </message>
+ <message>
+ <location/>
+ <source>%1 element requires either %2 or %3 attribute</source>
+ <translation type="obsolete">element %1 potrebuje vsaj lastnost %2 ali %3</translation>
+ </message>
+ <message>
+ <location/>
+ <source>%1 element is not allowed in this context</source>
+ <translation type="obsolete">element %1 v tem kontekstu ni dovoljen</translation>
+ </message>
+ <message>
+ <location/>
+ <source>component with id %1 has been defined previously</source>
+ <translation type="obsolete">komponenta z ID-jem %1 je že bila definirana</translation>
+ </message>
+ <message>
+ <location/>
+ <source>element %1 already defined</source>
+ <translation type="obsolete">element %1 je že definiran</translation>
+ </message>
+ <message>
+ <location/>
+ <source>attribute %1 already defined</source>
+ <translation type="obsolete">lastnost %1 je že definirana</translation>
+ </message>
+ <message>
+ <location/>
+ <source>type %1 already defined</source>
+ <translation type="obsolete">vrsta %1 je že definirana</translation>
+ </message>
+ <message>
+ <location/>
+ <source>attribute group %1 already defined</source>
+ <translation type="obsolete">skupina lastnosti %1 je že definirana</translation>
+ </message>
+ <message>
+ <location/>
+ <source>element group %1 already defined</source>
+ <translation type="obsolete">skupina elementov %1 je že definirana</translation>
+ </message>
+ <message>
+ <location/>
+ <source>notation %1 already defined</source>
+ <translation type="obsolete">zapis %1 je že definiran</translation>
+ </message>
+ <message>
+ <location/>
+ <source>type of %1 element must be a simple type, %2 is not</source>
+ <translation type="obsolete">vrsta elementa %1 mora biti preprosta, %2 to ni</translation>
+ </message>
+ <message>
+ <location/>
+ <source>duplicated element names %1 in %2 element</source>
+ <translation type="obsolete">podvojeni imeni elementov %1 v elementu %2</translation>
+ </message>
+ <message>
+ <location/>
+ <source>%1 is not valid according to %2</source>
+ <translation type="obsolete">%1 glede na %2 ni veljaven</translation>
+ </message>
+ <message>
+ <location/>
+ <source>invalid QName content: %1</source>
+ <translation type="obsolete">neveljavna vsebina QName: %1</translation>
+ </message>
+ <message>
+ <location/>
+ <source>data of type %1 are not allowed to be empty</source>
+ <translation type="obsolete">podatki vrste %1 ne smejo biti prazni</translation>
+ </message>
+ <message>
+ <location/>
+ <source>element %1 is missing child element</source>
+ <translation type="obsolete">elementu %1 manjka podelement</translation>
+ </message>
+ <message>
+ <location/>
+ <source>%1 contains invalid data</source>
+ <translation type="obsolete">%1 vsebuje neveljavne podatke</translation>
+ </message>
+ <message>
+ <location/>
+ <source>no definition for element %1 available</source>
+ <translation type="obsolete">definicija za element %1 ni na voljo</translation>
+ </message>
+ <message>
+ <location/>
+ <source>element %1 is not defined in this scope</source>
+ <translation type="obsolete">element %1 v tem obsegu ni definiran</translation>
+ </message>
+ <message>
+ <location/>
+ <source>declaration for element %1 does not exist</source>
+ <translation type="obsolete">deklaracija elementa %1 ne obstaja</translation>
+ </message>
+ <message>
+ <location/>
+ <source>element %1 contains invalid content</source>
+ <translation type="obsolete">element %1 vsebuje neveljavno vsebino</translation>
+ </message>
+ <message>
+ <location/>
+ <source>element %1 is declared as abstract</source>
+ <translation type="obsolete">element %1 je deklariran kot abstrakten</translation>
+ </message>
+ <message>
+ <location/>
+ <source>complex type %1 is not allowed to be abstract</source>
+ <translation type="obsolete">kompleksna vrsta %1 ne sme biti abstraktna</translation>
+ </message>
+ <message>
+ <location/>
+ <source>element %1 contains not allowed attributes</source>
+ <translation type="obsolete">element %1 vsebuje nedovoljene lastnosti</translation>
+ </message>
+ <message>
+ <location/>
+ <source>element %1 contains not allowed child element</source>
+ <translation type="obsolete">element %1 vsebuje nedovoljen podelement</translation>
+ </message>
+ <message>
+ <location/>
+ <source>content of element %1 does not match its type definition: %2</source>
+ <translation type="obsolete">vsebina elementa %1 ne ustreza zanj določeni vrsti: %2</translation>
+ </message>
+ <message>
+ <location/>
+ <source>element %1 contains not allowed child content</source>
+ <translation type="obsolete">element %1 vsebuje nedovoljeno vsebino v podelementih</translation>
+ </message>
+ <message>
+ <location/>
+ <source>element %1 contains not allowed text content</source>
+ <translation type="obsolete">element %1 vsebuje nedovoljeno besedilno vsebino</translation>
+ </message>
+ <message>
+ <location/>
+ <source>element %1 can not contain other elements, as it has a fixed content</source>
+ <translation type="obsolete">element %1 ne more vsebovati drugih elementov, ker ima fiksno vsebino</translation>
+ </message>
+ <message>
+ <location/>
+ <source>element %1 is missing required attribute %2</source>
+ <translation type="obsolete">elementu %1 manjka obvezna lastnost %2</translation>
+ </message>
+ <message>
+ <location/>
+ <source>declaration for attribute %1 does not exist</source>
+ <translation type="obsolete">deklaracija lastnosti %1 ne obstaja</translation>
+ </message>
+ <message>
+ <location/>
+ <source>element %1 contains two attributes of type %2</source>
+ <translation type="obsolete">element %1 vsebuje dve lastnosti vrste %2</translation>
+ </message>
+ <message>
+ <location/>
+ <source>attribute %1 contains invalid content</source>
+ <translation type="obsolete">lastnost %1 vsebuje neveljavno vsebino</translation>
+ </message>
+ <message>
+ <location/>
+ <source>element %1 contains unknown attribute %2</source>
+ <translation type="obsolete">element %1 vsebuje neznano lastnost %2</translation>
+ </message>
+ <message>
+ <location/>
+ <source>more than one value found for field %1</source>
+ <translation type="obsolete">za polje %1 je bila najdena več kot ena vrednost</translation>
+ </message>
+ <message>
+ <location/>
+ <source>field %1 has no simple type</source>
+ <translation type="obsolete">polje %1 nima preproste vrste</translation>
+ </message>
+ <message>
+ <location/>
+ <source>ID value &apos;%1&apos; is not unique</source>
+ <translation type="obsolete">Vrednost ID »%1« ni edinstvena</translation>
+ </message>
+ <message>
+ <location/>
<source>&apos;%1&apos; attribute contains invalid QName content: %2</source>
- <translation>Lastnost »%1« vsebuje neveljavno vsebino QName: %2</translation>
+ <translation type="obsolete">Lastnost »%1« vsebuje neveljavno vsebino QName: %2</translation>
</message>
</context>
</TS>
diff --git a/util/s60pixelmetrics/pixel_metrics.cpp b/util/s60pixelmetrics/pixel_metrics.cpp
index 939a718..9507c67 100644
--- a/util/s60pixelmetrics/pixel_metrics.cpp
+++ b/util/s60pixelmetrics/pixel_metrics.cpp
@@ -50,7 +50,7 @@
// so that we can keep dynamic and static values inline.
// Please adjust version data if correcting dynamic PM calculations.
const TInt KPMMajorVersion = 1;
-const TInt KPMMinorVersion = 14;
+const TInt KPMMinorVersion = 15;
TPixelMetricsVersion PixelMetrics::Version()
{
@@ -726,6 +726,7 @@ TInt PixelMetrics::PixelMetricValue(QStyle::PixelMetric metric)
value = -1; //disable - not in S60
}
break;
+ case QStyle::PM_SplitterWidth:
case QStyle::PM_ScrollBarExtent:
{
TAknLayoutRect miscGraphicsRect;
@@ -1000,7 +1001,7 @@ TInt PixelMetrics::PixelMetricValue(QStyle::PixelMetric metric)
case QStyle::PM_ButtonShiftVertical:
value = 0;
break;
-
+
case QStyle::PM_ToolBarExtensionExtent:
value = PixelMetricTabValue(QStyle::PM_TabBarScrollButtonWidth, appWindow.Rect(), landscape);
break;
@@ -1016,7 +1017,6 @@ TInt PixelMetrics::PixelMetricValue(QStyle::PixelMetric metric)
case QStyle::PM_DockWidgetSeparatorExtent: // not in S60
case QStyle::PM_MdiSubWindowMinimizedWidth: //no such thing in S60
case QStyle::PM_HeaderGripMargin: // not in S60
- case QStyle::PM_SplitterWidth: // not in S60
case QStyle::PM_ToolBarSeparatorExtent: // not in S60
case QStyle::PM_ToolBarHandleExtent: // not in s60
case QStyle::PM_MenuButtonIndicator: // none???
diff --git a/util/s60pixelmetrics/pm_mapper.mmp b/util/s60pixelmetrics/pm_mapper.mmp
index 7777a3d..a2e2571 100644
--- a/util/s60pixelmetrics/pm_mapper.mmp
+++ b/util/s60pixelmetrics/pm_mapper.mmp
@@ -40,7 +40,7 @@
****************************************************************************/
#include <data_caging_paths.hrh>
-#include <domain\osextensions\platform_paths.hrh>
+#include <platform_paths.hrh>
TARGET pm_mapper.exe
TARGETTYPE exe
diff --git a/util/s60pixelmetrics/pm_mapperapp.cpp b/util/s60pixelmetrics/pm_mapperapp.cpp
index e24ed29..de6af0d 100644
--- a/util/s60pixelmetrics/pm_mapperapp.cpp
+++ b/util/s60pixelmetrics/pm_mapperapp.cpp
@@ -138,7 +138,7 @@ void CPixelMetricsMapperAppUi::ConstructL()
//
TKeyResponse CPixelMetricsMapperAppUi::HandleKeyEventL(
const TKeyEvent& /*aKeyEvent*/,
- TEventCode aType )
+ TEventCode /*aType*/ )
{
return EKeyWasNotConsumed;
}
diff --git a/util/scripts/make_qfeatures_dot_h b/util/scripts/make_qfeatures_dot_h
index bdd68a3..23d88a3 100755
--- a/util/scripts/make_qfeatures_dot_h
+++ b/util/scripts/make_qfeatures_dot_h
@@ -175,6 +175,7 @@ print OUT
* All features and their dependencies.
*
* This list is generated from $QTDIR/src/corelib/global/qfeatures.txt
+ * by $QTSRCDIR/util/scripts/make_qfeatures_dot_h
*/
';
diff --git a/util/webkit/mkdist-webkit b/util/webkit/mkdist-webkit
index f88f10e..ddf74bb 100755
--- a/util/webkit/mkdist-webkit
+++ b/util/webkit/mkdist-webkit
@@ -5,7 +5,7 @@ die() {
exit 1
}
-default_tag="qtwebkit-4.6-snapshot-22102009"
+default_tag="qtwebkit-4.6-snapshot-20091003"
if [ $# -eq 0 ]; then
tag="$default_tag"
@@ -155,7 +155,7 @@ excluded_directories="$excluded_directories WebKit/chromium"
excluded_directories="$excluded_directories WebKit/English.lproj WebKit/WebKit.xcodeproj"
excluded_directories="$excluded_directories WebCore/English.lproj"
-exclude_with_exceptions_list="WebCore/platform/win/:WebCore/platform/win/SystemTimeWin.cpp"
+exclude_with_exceptions_list="WebCore/platform/win/:WebCore/platform/win/SystemTimeWin.cpp\\|WebCore/platform/win/BitmapInfo.*"
excluded_directories="$excluded_directories WebKit/mac/Carbon"
excluded_directories="$excluded_directories WebKit/mac/ChangeLog"